/* ===== 层级二次元 · 鉴番神器 样式（独立作用域 aj-） =====
   站点整体是深色底（body #121212），所以本组件必须自带一块浅色面板 .aj-panel：
   所有文字与控件都落在浅底上，不依赖页面背景，避免"浅字压深底"看不清。
   配色对比底线：正文 #241d38 / 次级 #6a6188 压在 #ffffff 或 #f4f1fb 上。 */
#aj-anime-app { --aj-bg:#f4f1fb; --aj-ink:#241d38; --aj-muted:#6a6188; --aj-line:#e2dbf5; --aj-accent:#7c3aed; --aj-accent2:#c026d3; --aj-soft:#ece5ff; --aj-card:#ffffff; --aj-r:16px; margin:18px 0 8px; color:var(--aj-ink); font-size:15px; line-height:1.6; font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; }
#aj-anime-app * { box-sizing:border-box; }
/* hidden 属性必须真的隐藏：下面很多控件自带 display:inline-flex，会把 [hidden] 顶掉 */
#aj-anime-app [hidden] { display:none !important; }
#aj-anime-app .aj-panel { background:var(--aj-bg); border-radius:20px; padding:16px; box-shadow:0 18px 44px rgba(0,0,0,.35); }
#aj-anime-app .aj-head { padding:22px 20px; border-radius:var(--aj-r); color:#fff; background:linear-gradient(135deg,rgba(53,18,98,.95),rgba(139,92,246,.82) 50%,rgba(219,39,119,.88)); box-shadow:0 10px 26px rgba(139,92,246,.28); position:relative; overflow:hidden; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
#aj-anime-app .aj-head::after { content:""; position:absolute; right:-46px; top:-60px; width:190px; height:190px; border-radius:50%; background:rgba(255,255,255,.14); }
#aj-anime-app .aj-head-l { position:relative; z-index:1; min-width:0; flex:1 1 320px; }
#aj-anime-app .aj-title { font-size:21px; font-weight:800; letter-spacing:.5px; }
#aj-anime-app .aj-subtitle { font-size:13px; color:#fff; opacity:.95; margin-top:6px; max-width:640px; }
#aj-anime-app .aj-count { display:inline-block; margin-top:14px; padding:4px 12px; border-radius:999px; font-size:12px; font-weight:700; background:#fff; color:var(--aj-accent); }

/* 可被引用的事实句：浅底深字，别再用低对比度的虚线灰条 */
#aj-anime-app .aj-stat { font-size:13px; line-height:1.8; color:#4a4262; background:#fff; border:1px solid var(--aj-line); border-radius:12px; padding:11px 14px; margin:14px 0 0; }
#aj-anime-app .aj-stat b { color:var(--aj-accent); }

/* ===== 主工具条：搜索（主角）+ 排序 + 更多筛选 ===== */
#aj-anime-app .aj-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:14px; }
#aj-anime-app .aj-search { position:relative; flex:1 1 320px; min-width:0; display:flex; align-items:center; }
#aj-anime-app .aj-search-ico { position:absolute; left:16px; font-size:18px; pointer-events:none; }
#aj-anime-app input.aj-search-input { width:100%; height:52px; padding:0 46px 0 46px; border:2px solid var(--aj-accent); border-radius:14px; font-size:16px; font-weight:600; background:#fff; color:var(--aj-ink); outline:none; box-shadow:0 6px 18px rgba(124,58,237,.22); transition:box-shadow .18s, border-color .18s; }
#aj-anime-app input.aj-search-input::placeholder { color:#8b82a8; font-weight:500; }
#aj-anime-app input.aj-search-input:focus { border-color:var(--aj-accent2); box-shadow:0 0 0 4px rgba(192,38,211,.18),0 6px 18px rgba(124,58,237,.22); }
#aj-anime-app .aj-search-clear { position:absolute; right:10px; width:30px; height:30px; border:none; border-radius:50%; background:var(--aj-soft); color:var(--aj-ink); font-size:13px; font-weight:800; cursor:pointer; }
#aj-anime-app .aj-search-clear:hover { background:var(--aj-accent); color:#fff; }
#aj-anime-app .aj-sortbox { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:var(--aj-ink); background:#fff; border:1px solid var(--aj-line); border-radius:12px; padding:0 10px 0 13px; height:52px; }
#aj-anime-app select.aj-sort { height:38px; padding:0 8px; border-radius:9px; border:1px solid var(--aj-line); font-size:14px; font-weight:700; background:#fff; color:var(--aj-ink); outline:none; cursor:pointer; }
#aj-anime-app .aj-toggle, #aj-anime-app .aj-clearall { height:52px; padding:0 16px; border-radius:12px; border:1px solid var(--aj-line); background:#fff; color:var(--aj-ink); font-size:14px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:all .16s; }
#aj-anime-app .aj-toggle:hover, #aj-anime-app .aj-clearall:hover { border-color:var(--aj-accent); color:var(--aj-accent); }
#aj-anime-app .aj-toggle[aria-expanded="true"] { background:var(--aj-accent); border-color:var(--aj-accent); color:#fff; }
#aj-anime-app .aj-badge { min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:var(--aj-accent2); color:#fff; font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
#aj-anime-app .aj-toggle[aria-expanded="true"] .aj-badge { background:#fff; color:var(--aj-accent); }
#aj-anime-app .aj-clearall { color:#b91c1c; border-color:#f3d1d1; }
/* 主 CTA：帮我挑一部（随机开一部详情，手机上只留短文字） */
#aj-anime-app .aj-pick { height:52px; padding:0 18px; border:none; border-radius:12px; background:linear-gradient(135deg,var(--aj-accent),var(--aj-accent2)); color:#fff; font-size:14px; font-weight:800; cursor:pointer; display:inline-flex; align-items:center; gap:7px; box-shadow:0 6px 16px rgba(124,58,237,.28); transition:transform .16s,box-shadow .16s; }
#aj-anime-app .aj-pick:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(124,58,237,.34); }
#aj-anime-app .aj-pick:active { transform:scale(.97); }
/* 「我的」：收藏 / 最近看过 / 口味画像，数据只存本机 */
#aj-anime-app .aj-me { position:relative; height:52px; padding:0 14px; border:1px solid var(--aj-line); border-radius:12px; background:#fff; color:var(--aj-ink); font-size:14px; font-weight:800; cursor:pointer; display:inline-flex; align-items:center; gap:6px; transition:all .16s; }
#aj-anime-app .aj-me:hover { border-color:var(--aj-accent); color:var(--aj-accent); }
#aj-anime-app .aj-me-n { min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#fb7185; color:#fff; font-size:10px; font-weight:900; display:inline-flex; align-items:center; justify-content:center; }

/* 「我要鉴番」放在标题条右侧，不再单独占一行 */
#aj-anime-app .aj-suggest { position:relative; z-index:1; flex-shrink:0; cursor:pointer; padding:11px 18px; border-radius:12px; border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.16); color:#fff; font-size:14px; font-weight:800; backdrop-filter:blur(4px); transition:transform .18s, background .18s; }
#aj-anime-app .aj-suggest:hover { transform:translateY(-2px); background:#fff; color:var(--aj-accent); }

/* ===== 折叠起来的高级筛选 ===== */
#aj-anime-app .aj-filters { margin-top:12px; background:#fff; border:1px solid var(--aj-line); border-radius:var(--aj-r); padding:6px 16px 16px; }
#aj-anime-app .aj-filters[hidden] { display:none; }
#aj-anime-app .aj-ftitle { font-size:12px; font-weight:800; color:var(--aj-muted); letter-spacing:1px; margin:14px 0 0; display:flex; justify-content:space-between; }
#aj-anime-app .aj-reset { cursor:pointer; color:var(--aj-accent); font-weight:700; letter-spacing:0; }
#aj-anime-app .aj-reset:hover { text-decoration:underline; }
#aj-anime-app .aj-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
#aj-anime-app .aj-chip { cursor:pointer; padding:6px 13px; border-radius:999px; font-size:13px; font-weight:600; border:1px solid var(--aj-line); background:#fff; color:#4a4262; transition:all .18s; user-select:none; }
#aj-anime-app .aj-chip:hover { border-color:var(--aj-accent); color:var(--aj-accent); }
#aj-anime-app .aj-chip.active { background:var(--aj-accent); border-color:var(--aj-accent); color:#fff; font-weight:700; box-shadow:0 4px 10px rgba(124,58,237,.32); }
#aj-anime-app .aj-chip.active::before { content:"✓ "; }
#aj-anime-app .aj-chip .aj-num { margin-left:5px; font-size:11px; font-weight:700; opacity:.62; }

/* ===== 状态行：结果数 + 当前筛选 + 分享（原来三条横条合成一条） ===== */
#aj-anime-app .aj-status { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px; padding:10px 14px; background:#fff; border:1px solid var(--aj-line); border-radius:12px; }
#aj-anime-app .aj-resnum { font-size:13px; font-weight:700; color:var(--aj-ink); }
#aj-anime-app .aj-resnum b { font-size:19px; font-weight:900; color:var(--aj-accent); margin:0 3px; }
#aj-anime-app .aj-curlabel { font-size:12.5px; color:var(--aj-muted); flex:1 1 220px; min-width:0; }
#aj-anime-app .aj-curlabel em { font-style:normal; font-weight:800; color:var(--aj-ink); }
#aj-anime-app .aj-copy { border:1px solid var(--aj-accent); background:#fff; color:var(--aj-accent); font-size:12.5px; font-weight:700; padding:6px 12px; border-radius:999px; cursor:pointer; flex-shrink:0; }
#aj-anime-app .aj-copy:hover { background:var(--aj-accent); color:#fff; }
#aj-anime-app .aj-backall { font-size:12.5px; font-weight:700; color:var(--aj-muted); text-decoration:none; flex-shrink:0; }
#aj-anime-app .aj-backall:hover { color:var(--aj-accent); }

#aj-anime-app .aj-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:14px; }

/* ===== 卡片：一屏信息量收敛到「封面 + 番名 + 一行元信息 + 五维量表 + 3 个题材」 ===== */
#aj-anime-app .aj-card { background:var(--aj-card); border:1px solid var(--aj-line); border-radius:var(--aj-r); overflow:hidden; transition:transform .18s, box-shadow .18s, border-color .18s; display:flex; flex-direction:column; cursor:pointer; }
#aj-anime-app .aj-card:hover { transform:translateY(-3px); border-color:#c9b8f5; box-shadow:0 14px 30px rgba(80,60,140,.18); }
#aj-anime-app .aj-card-img { position:relative; height:126px; overflow:hidden; background:linear-gradient(135deg,#8b5cf6,#d946ef); flex-shrink:0; }
#aj-anime-app .aj-img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s; }
#aj-anime-app .aj-card:hover .aj-img { transform:scale(1.05); }
#aj-anime-app .aj-ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:52px; font-weight:800; color:rgba(255,255,255,.95); text-shadow:0 5px 20px rgba(0,0,0,.26); }
#aj-anime-app .aj-img-rate { position:absolute; right:8px; top:8px; font-size:11px; font-weight:800; padding:2px 8px; border-radius:999px; box-shadow:0 2px 8px rgba(0,0,0,.18); }
#aj-anime-app .aj-rate { background:#ffe9ec; color:#e11d48; }
#aj-anime-app .aj-rate.r15 { background:#fff1e6; color:#ea580c; }
#aj-anime-app .aj-rate.r18 { background:#fde8e8; color:#dc2626; }
#aj-anime-app .aj-card-body { padding:11px 13px 12px; display:flex; flex-direction:column; flex:1; }
#aj-anime-app .aj-name { font-size:15px; font-weight:800; color:var(--aj-ink); line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#aj-anime-app .aj-meta { font-size:11.5px; color:var(--aj-muted); margin-top:4px; }
#aj-anime-app .aj-themes { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
#aj-anime-app .aj-tchip { font-size:11px; font-weight:600; padding:2px 8px; border-radius:6px; background:#f2eefc; color:#5b5374; }
#aj-anime-app .aj-more { font-size:11px; color:var(--aj-muted); align-self:center; }
/* 五维：整行 5 个迷你量表（原来 5 行进度条最占地方，也最吵） */
#aj-anime-app .aj-dims { display:flex; gap:6px; margin-top:10px; padding-top:10px; border-top:1px dashed var(--aj-line); }
#aj-anime-app .aj-dim { flex:1; min-width:0; }
#aj-anime-app .aj-dim-h { display:flex; align-items:baseline; justify-content:space-between; gap:3px; }
#aj-anime-app .aj-dim i { font-style:normal; font-size:10.5px; font-weight:700; color:var(--aj-muted); }
#aj-anime-app .aj-dim em { font-style:normal; font-size:11px; font-weight:800; color:var(--aj-ink); }
#aj-anime-app .aj-dim-track { display:block; height:5px; border-radius:5px; background:#ece7f7; overflow:hidden; margin-top:4px; }
#aj-anime-app .aj-dim-fill { display:block; height:100%; border-radius:5px; }
#aj-anime-app .aj-foot { margin-top:auto; padding-top:10px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
#aj-anime-app .aj-read { font-size:12.5px; font-weight:800; color:#fff; text-decoration:none; background:linear-gradient(135deg,#6366f1,#8b5cf6); padding:6px 11px; border-radius:9px; box-shadow:0 5px 12px rgba(99,102,241,.24); }
#aj-anime-app .aj-read:hover { transform:translateY(-1px); box-shadow:0 9px 18px rgba(99,102,241,.32); }
#aj-anime-app .aj-hint { font-size:11.5px; font-weight:700; color:var(--aj-muted); margin-left:auto; }
#aj-anime-app .aj-card:hover .aj-hint { color:var(--aj-accent); }
/* 卡片底部的赞 / 踩：放在单独一行，避免和「深度解析」按钮挤在一起 */
#aj-anime-app .aj-react { display:flex; gap:6px; margin-top:9px; padding-top:8px; border-top:1px dashed var(--aj-line); }
#aj-anime-app .aj-vote { display:inline-flex; align-items:center; gap:4px; padding:4px 9px; border:1px solid var(--aj-line); border-radius:999px; background:#fff; color:#4a4262; font-size:12px; font-weight:700; cursor:pointer; transition:all .18s; }
#aj-anime-app .aj-vote:hover { border-color:var(--aj-accent); color:var(--aj-accent); }
#aj-anime-app .aj-vote b { font-weight:800; }
#aj-anime-app .aj-vote-like.on { background:#fff1f2; border-color:#fb7185; color:#e11d48; }
#aj-anime-app .aj-vote-bad.on { background:#f1f5f9; border-color:#94a3b8; color:#475569; }
#aj-anime-app .aj-vote:disabled { opacity:.55; cursor:default; }
/* ===== 追番态度：SVG 表情版（覆盖上面的旧按钮样式） ===== */
#aj-anime-app .aj-react { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:10px; padding-top:9px; border-top:1px dashed var(--aj-line); }
#aj-anime-app .aj-vote { position:relative; display:flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:5px 8px; border:1px solid var(--aj-line); border-radius:12px; background:linear-gradient(180deg,#fff,#fbf9ff); color:#4a4262; font-family:inherit; cursor:pointer; transition:transform .16s,border-color .2s,background .2s,box-shadow .2s; }
#aj-anime-app .aj-vote:hover { transform:translateY(-1px); border-color:#c4b5fd; box-shadow:0 7px 15px rgba(124,58,237,.13); }
#aj-anime-app .aj-vote:active { transform:scale(.96); }
#aj-anime-app .aj-vote:focus-visible { outline:2px solid #7c3aed; outline-offset:2px; }
#aj-anime-app .aj-vote:disabled { opacity:1; cursor:default; }
#aj-anime-app .aj-face { width:24px; height:24px; flex:none; display:block; }
#aj-anime-app .aj-vote-stack { display:flex; flex-direction:column; align-items:flex-start; line-height:1; }
#aj-anime-app .aj-vote-stack b { font-size:13px; font-weight:900; letter-spacing:.01em; }
#aj-anime-app .aj-vote-stack i { font-style:normal; font-size:9.5px; font-weight:800; opacity:.62; margin-top:3px; white-space:nowrap; }
#aj-anime-app .aj-vote-like:hover .aj-face-like { animation:jfWink .55s ease; }
#aj-anime-app .aj-vote-like.on { background:linear-gradient(180deg,#fff1f6,#ffe2ee); border-color:#fb7185; color:#be123c; box-shadow:0 4px 15px rgba(251,113,133,.26); }
#aj-anime-app .aj-vote-like.on .aj-face-like { animation:jfHeartbeat 1.3s ease infinite; }
#aj-anime-app .aj-vote-bad:hover .aj-face-bad { animation:jfSigh .55s ease; }
#aj-anime-app .aj-vote-bad.on { background:linear-gradient(180deg,#f1f5f9,#e2e8f0); border-color:#94a3b8; color:#334155; box-shadow:0 4px 14px rgba(100,116,139,.18); }
#aj-anime-app .aj-vote-bad.on .aj-face-bad { animation:jfShake .7s ease infinite; }
@keyframes jfWink { 0%,100% { transform:scale(1) } 45% { transform:scale(1.2) rotate(-6deg) } }
@keyframes jfHeartbeat { 0%,100% { transform:scale(1) } 18% { transform:scale(1.16) } 36% { transform:scale(1) } 54% { transform:scale(1.1) } }
@keyframes jfSigh { 0%,100% { transform:translateY(0) } 50% { transform:translateY(2px) rotate(3deg) } }
@keyframes jfShake { 0%,100% { transform:rotate(0) } 25% { transform:rotate(-3deg) } 75% { transform:rotate(3deg) } }
#aj-anime-app .aj-burst { position:absolute; inset:0; pointer-events:none; }
#aj-anime-app .aj-burst i { position:absolute; left:50%; top:50%; width:9px; height:9px; background:#fb7185; clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); animation:jfBurst .8s ease-out var(--d) forwards; }
#aj-anime-app .aj-burst i:nth-child(2n) { background:#fbbf24; width:7px; height:7px; }
#aj-anime-app .aj-burst-bad i { background:#94a3b8; width:8px; height:8px; clip-path:none; border-radius:50%; }
@keyframes jfBurst { 0% { opacity:1; transform:translate(-50%,-50%) scale(.35) rotate(0) } 100% { opacity:0; transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.05) rotate(70deg) } }
body .aj-react-lg { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:4px; padding-top:0; border-top:0; }
body .aj-react-lg .aj-vote { min-height:56px; border-radius:14px; gap:9px; }
body .aj-react-lg .aj-face { width:36px; height:36px; }
body .aj-react-lg .aj-vote-stack b { font-size:17px; }
body .aj-react-lg .aj-vote-stack i { font-size:11.5px; opacity:.72; margin-top:4px; }
body .aj-dlg-reacthint { margin:2px 0 8px; font-size:12px; line-height:1.65; color:#8b82a8; }
/* 弹层里的按钮不在 #aj-anime-app 里，基础样式要单独再给一份 */
body .aj-react-lg .aj-vote { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; min-height:56px; padding:7px 12px; border:1px solid #e2dbf5; border-radius:14px; background:linear-gradient(180deg,#fff,#fbf9ff); color:#4a4262; font-family:inherit; cursor:pointer; transition:transform .16s,border-color .2s,background .2s,box-shadow .2s; }
body .aj-react-lg .aj-vote:hover { transform:translateY(-1px); border-color:#c4b5fd; box-shadow:0 7px 15px rgba(124,58,237,.13); }
body .aj-react-lg .aj-vote:active { transform:scale(.96); }
body .aj-react-lg .aj-vote:disabled { cursor:default; }
body .aj-react-lg .aj-vote:focus-visible { outline:2px solid #7c3aed; outline-offset:2px; }
body .aj-react-lg .aj-vote-stack { display:flex; flex-direction:column; align-items:flex-start; line-height:1; }
body .aj-react-lg .aj-vote-stack b { font-size:17px; font-weight:900; }
body .aj-react-lg .aj-vote-stack i { font-style:normal; font-size:11.5px; font-weight:800; opacity:.72; margin-top:4px; white-space:nowrap; }
body .aj-react-lg .aj-vote-like.on { background:linear-gradient(180deg,#fff1f6,#ffe2ee); border-color:#fb7185; color:#be123c; box-shadow:0 4px 15px rgba(251,113,133,.26); }
body .aj-react-lg .aj-vote-bad.on { background:linear-gradient(180deg,#f1f5f9,#e2e8f0); border-color:#94a3b8; color:#334155; box-shadow:0 4px 14px rgba(100,116,139,.18); }
body .aj-react-lg .aj-vote-like.on .aj-face-like { animation:jfHeartbeat 1.3s ease infinite; }
body .aj-react-lg .aj-vote-bad.on .aj-face-bad { animation:jfShake .7s ease infinite; }
body .aj-burst { position:absolute; inset:0; pointer-events:none; }
body .aj-burst i { position:absolute; left:50%; top:50%; width:11px; height:11px; background:#fb7185; clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); animation:jfBurst .8s ease-out var(--d) forwards; }
body .aj-burst i:nth-child(2n) { background:#fbbf24; width:8px; height:8px; }
body .aj-burst i:nth-child(3n) { background:#a78bfa; width:9px; height:9px; }
body .aj-burst-bad i { background:#94a3b8; width:9px; height:9px; clip-path:none; border-radius:50%; }
/* 大彩蛋：撒花范围更大，再加一圈扩散光环 */
body .aj-burst-lg i { width:15px; height:15px; animation-duration:1s; }
body .aj-burst-lg i:nth-child(2n) { width:11px; height:11px; }
body .aj-burst-lg i:nth-child(3n) { width:13px; height:13px; }
body .aj-burst-lg:before { content:""; position:absolute; left:50%; top:50%; width:20px; height:20px; margin:-10px 0 0 -10px; border-radius:50%; border:3px solid #fb7185; animation:jfRing .75s ease-out forwards; }
@keyframes jfRing { 0% { opacity:.9; transform:scale(.4) } 100% { opacity:0; transform:scale(2.8) } }
/* 详情里的搜番：B站 / 百度 */
body .aj-dlg-search { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:11px 0 4px; }
body .aj-search-link { display:flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:7px 10px; border:1px solid #e2dbf5; border-radius:11px; background:#fff; color:#4a4262; text-decoration:none; font-size:12px; font-weight:800; transition:transform .16s,border-color .2s,box-shadow .2s; }
body .aj-search-link:hover { transform:translateY(-1px); border-color:#c4b5fd; box-shadow:0 6px 14px rgba(124,58,237,.12); }
body .aj-sl-ico { width:22px; height:22px; border-radius:7px; display:grid; place-items:center; color:#fff; font-size:10px; font-weight:900; }
body .aj-sl-bili { background:#fb7299; }
body .aj-sl-baidu { background:#2932e1; }
/* 网盘推荐：样式跟内容变量里的 .jf-drive 结构配套 */
body .jf-drive { padding:12px; border:1px solid #e6defa; border-radius:14px; background:linear-gradient(135deg,#fbf8ff,#f3edff); }
body .jf-drive-cap { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:900; color:#4a4262; }
body .jf-drive-tag { padding:2px 8px; border-radius:999px; background:#7c3aed; color:#fff; font-size:10px; font-weight:800; }
body .jf-drive-sub { margin-left:auto; font-size:11px; font-weight:600; color:#9a91b5; }
body .jf-drive-note { margin:8px 0 10px; font-size:11.5px; line-height:1.7; color:#8b82a8; }
body .jf-drive-btns { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
body .jf-drive-btn { display:flex; align-items:center; gap:7px; padding:8px 9px; border:1px solid #e5def5; border-radius:10px; background:#fff; color:#4a4262; text-decoration:none; transition:transform .16s,border-color .2s,box-shadow .2s; }
body .jf-drive-btn:hover { transform:translateY(-1px); border-color:#c4b5fd; box-shadow:0 6px 14px rgba(124,58,237,.12); }
body .jf-drive-ic { width:26px; height:26px; flex:none; border-radius:8px; display:grid; place-items:center; color:#fff; font-size:11px; font-weight:900; background:#7c3aed; }
body .jf-drive-q .jf-drive-ic { background:linear-gradient(135deg,#6366f1,#8b5cf6); }
body .jf-drive-b .jf-drive-ic { background:linear-gradient(135deg,#2563eb,#3b82f6); }
body .jf-drive-txt { display:flex; flex-direction:column; min-width:0; line-height:1.1; }
body .jf-drive-txt b { font-size:12px; font-weight:800; }
body .jf-drive-txt i { display:inline-block; align-self:flex-start; margin-top:3px; padding:1px 6px; border-radius:4px; background:#fef3c7; color:#b45309; font-style:normal; font-size:10px; font-weight:800; }
body .jf-drive-btn em { margin-left:auto; font-style:normal; font-size:10px; font-weight:700; color:#8b5cf6; white-space:nowrap; }
/* ===== 详情弹层重排：PC 左侧做「封面 + 速览 + 态度」，不再空一大截 =====
   注意：弹层的基础尺寸写在文件后半段（.aj-dialog / .aj-dlg-col 等），这里只补新增结构，
   尺寸统一改在那边，避免两处规则互相覆盖。 */
body .aj-dlg-facts { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
body .aj-dlg-fact { display:flex; flex-direction:column; gap:2px; padding:7px 9px; background:#fff; border:1px solid #ece5fa; border-radius:9px; }
body .aj-dlg-fact-k { font-size:10px; font-weight:800; letter-spacing:.08em; color:#9a91b5; }
body .aj-dlg-fact-v { font-size:13px; font-weight:900; color:#3f3657; }
body .aj-dlg-fact-v.r15 { color:#ea580c; }
body .aj-dlg-fact-v.r18 { color:#dc2626; }
body .aj-dlg-side-k { margin-top:3px; font-size:12px; font-weight:900; letter-spacing:1px; color:#6a6188; }
body .aj-dlg-side-hint { margin:-3px 0 5px; font-size:11px; line-height:1.5; color:#9a91b5; }
body .aj-dlg-col .aj-react { margin-top:0; padding-top:0; border-top:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
/* 弹层里的态度按钮不在 #aj-anime-app 里，外观必须在这里整套写全，否则就是浏览器默认的灰按钮 */
body .aj-dlg-col .aj-vote { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-height:64px; padding:9px 7px; border:1px solid #e9e1fb; border-radius:14px; background:linear-gradient(180deg,#fff,#fbf7ff); color:#4a4262; font-family:inherit; font-size:13px; font-weight:800; cursor:pointer; box-shadow:0 2px 6px rgba(60,30,120,.06); transition:transform .16s,border-color .2s,box-shadow .2s,background .2s; }
body .aj-dlg-col .aj-vote:hover { transform:translateY(-1px); border-color:#c4b5fd; box-shadow:0 8px 18px rgba(124,58,237,.16); }
body .aj-dlg-col .aj-vote:active { transform:scale(.97); }
body .aj-dlg-col .aj-vote:focus-visible { outline:2px solid #7c3aed; outline-offset:2px; }
body .aj-dlg-col .aj-vote .aj-face { width:36px; height:36px; flex:none; display:block; }
body .aj-dlg-col .aj-vote .aj-vote-stack { display:flex; flex-direction:column; align-items:flex-start; line-height:1; }
body .aj-dlg-col .aj-vote .aj-vote-stack b { font-size:20px; font-weight:900; }
body .aj-dlg-col .aj-vote .aj-vote-stack i { font-style:normal; font-size:12px; font-weight:800; opacity:.7; margin-top:4px; white-space:nowrap; }
body .aj-dlg-col .aj-vote-like.on { background:linear-gradient(180deg,#fff1f6,#ffe2ee); border-color:#fb7185; color:#be123c; box-shadow:0 5px 16px rgba(251,113,133,.28); }
body .aj-dlg-col .aj-vote-bad.on { background:linear-gradient(180deg,#f1f5f9,#e2e8f0); border-color:#94a3b8; color:#334155; box-shadow:0 5px 15px rgba(100,116,139,.2); }
body .aj-dlg-col .aj-vote-like:hover .aj-face-like { animation:jfWink .55s ease; }
body .aj-dlg-col .aj-vote-like.on .aj-face-like { animation:jfHeartbeat 1.3s ease infinite; }
body .aj-dlg-col .aj-vote-bad:hover .aj-face-bad { animation:jfSigh .55s ease; }
body .aj-dlg-col .aj-vote-bad.on .aj-face-bad { animation:jfShake .7s ease infinite; }
body .aj-dlg-report { margin-top:2px; }
/* 搜番按钮：换成 TV / 狗爪图标，品牌色边框，不再是字母小方块 */
body .aj-dlg-search { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0 4px; }
/* 网盘卡紧跟在搜番按钮下面，合成一块资源区 */
body .aj-dlg-drive { margin-top:8px; }
body .aj-search-link { display:flex; align-items:center; justify-content:flex-start; gap:9px; min-height:44px; padding:8px 12px; border-radius:11px; border:1px solid #e2dbf5; background:#fff; color:#3f3657; text-decoration:none; transition:transform .16s,border-color .2s,box-shadow .2s,background .2s; }
body .aj-search-link:hover { transform:translateY(-1px); box-shadow:0 7px 16px rgba(60,30,120,.10); }
body .aj-search-bili { border-color:#ffd6e3; background:linear-gradient(135deg,#fff,#fff7fa); }
body .aj-search-bili:hover { border-color:#fb7299; background:#fff0f5; }
body .aj-search-baidu { border-color:#d9e1ff; background:linear-gradient(135deg,#fff,#f6f8ff); }
body .aj-search-baidu:hover { border-color:#2932e1; background:#f0f3ff; }
body .aj-sl-glyph { width:26px; height:26px; flex:none; display:block; }
body .aj-sl-txt { font-size:13px; font-weight:800; letter-spacing:.02em; }
body .aj-sl-out { width:15px; height:15px; flex:none; margin-left:auto; opacity:.5; color:#6a6188; transition:opacity .16s,color .16s; }
body .aj-search-link:hover .aj-sl-out { opacity:1; color:#7c3aed; }
@media (max-width:760px) { body .aj-dlg-col { position:static; flex:0 0 auto; width:100%; max-width:100%; padding:10px; } body .aj-dlg-body { padding-left:0; } body .aj-dlg-img { height:220px; } body .aj-dlg-facts { grid-template-columns:repeat(4,1fr); } body .aj-dlg-fact { padding:6px 7px; } }
#aj-anime-app .aj-empty { grid-column:1/-1; text-align:center; color:#4a4262; background:#fff; border:1px dashed var(--aj-line); border-radius:var(--aj-r); padding:40px 10px; font-size:14px; }
#aj-anime-app .aj-empty b { color:var(--aj-ink); display:block; font-size:16px; margin-bottom:6px; }

/* ===== 口味配方导航与配方说明卡 ===== */
#aj-anime-app .aj-recipenav { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
#aj-anime-app .aj-rchip { display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border:1px solid var(--aj-line); border-radius:999px; background:var(--aj-card); color:var(--aj-ink); font-size:13px; font-weight:700; text-decoration:none; transition:all .16s; }
#aj-anime-app .aj-rchip b { font-size:11px; font-weight:800; color:var(--aj-muted); background:var(--aj-soft); border-radius:999px; padding:1px 7px; }
#aj-anime-app .aj-rchip:hover { border-color:var(--aj-accent); color:var(--aj-accent); }
#aj-anime-app .aj-rchip.on { background:linear-gradient(135deg,var(--aj-accent),var(--aj-accent2)); border-color:transparent; color:#fff; }
#aj-anime-app .aj-rchip.on b { background:rgba(255,255,255,.25); color:#fff; }
#aj-anime-app .aj-rchip.hot { border-color:#ff5c8a; }
#aj-anime-app .aj-rchip.hot:not(.on) { color:#e0356b; font-weight:900; }
#aj-anime-app .aj-recipecard { margin-top:14px; padding:14px 16px; background:#fff; border:1px solid var(--aj-line); border-left:4px solid var(--aj-accent); border-radius:var(--aj-r); }
#aj-anime-app .aj-recipecard h1 { margin:0 0 8px; font-size:18px; font-weight:900; color:var(--aj-ink); line-height:1.45; }
#aj-anime-app .aj-cond { margin:0 0 8px; font-size:12.5px; color:#4a4262; }
#aj-anime-app .aj-cond b { color:var(--aj-accent); }
#aj-anime-app .aj-blurb { margin:0; font-size:14px; line-height:1.7; color:var(--aj-ink); }
#aj-anime-app .aj-note { margin:10px 0 0; font-size:12.5px; color:var(--aj-muted); background:var(--aj-bg); border-radius:10px; padding:9px 12px; }

/* ===== 分类页头部：标题 + 画像（年代/均分/产地/挑法），全部由片库实时算 ===== */
#aj-anime-app .aj-h1n { display:inline-block; margin-left:10px; padding:2px 10px; border-radius:999px; font-size:13px; font-weight:800; background:rgba(255,255,255,.9); color:var(--aj-accent); vertical-align:middle; }
#aj-anime-app .aj-clamp { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
#aj-anime-app .aj-fstat { display:flex; flex-wrap:wrap; gap:6px 18px; margin:12px 0 0; padding:10px 14px; font-size:12.5px; line-height:1.6; color:#4a4262; background:#fff; border:1px solid var(--aj-line); border-radius:12px; }
#aj-anime-app .aj-fstat i { font-style:normal; font-weight:800; color:var(--aj-muted); margin-right:6px; }
#aj-anime-app .aj-fstat span { white-space:nowrap; }
#aj-anime-app .aj-fhint { color:var(--aj-accent); }

/* ===== 题材分类导航（每个 chip 都是一个可收录的实体页） ===== */
#aj-anime-app .aj-catnav { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; padding-top:10px; border-top:1px dashed var(--aj-line); }
#aj-anime-app .aj-catchip { display:inline-flex; align-items:center; gap:5px; padding:5px 11px; border-radius:8px; background:#fff; border:1px solid var(--aj-line); color:#4a4262; font-size:12.5px; font-weight:700; text-decoration:none; transition:all .15s; }
#aj-anime-app .aj-catchip b { font-size:10.5px; font-weight:800; color:#8b82a8; }
#aj-anime-app .aj-catlab { flex:0 0 auto; align-self:center; font-size:11px; font-weight:800; color:var(--aj-muted); margin-right:2px; }
#aj-anime-app .aj-catchip:hover { background:var(--aj-accent); border-color:var(--aj-accent); color:#fff; }
#aj-anime-app .aj-catchip:hover b { color:rgba(255,255,255,.8); }
#aj-anime-app .aj-axisnav { display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:8px; font-size:12px; line-height:1.9; color:var(--aj-muted); }
#aj-anime-app .aj-axis i { font-style:normal; font-weight:800; color:#8b82a8; margin-right:6px; }
#aj-anime-app .aj-axis a { color:#5b5374; text-decoration:none; margin-right:8px; }
#aj-anime-app .aj-axis a:hover { color:var(--aj-accent); text-decoration:underline; }

/* ===== 题材二级分类（在折叠面板内） ===== */
#aj-anime-app .aj-bigrow { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
#aj-anime-app .aj-bigchip { cursor:pointer; padding:7px 15px; border-radius:999px; font-size:13px; font-weight:600; border:1px solid var(--aj-line); background:#fff; color:#4a4262; transition:all .18s; user-select:none; }
#aj-anime-app .aj-bigchip:hover { border-color:var(--aj-accent); color:var(--aj-accent); }
#aj-anime-app .aj-bigchip.active { background:var(--aj-accent); border-color:var(--aj-accent); color:#fff; box-shadow:0 4px 10px rgba(124,58,237,.32); }
#aj-anime-app .aj-bigchip .aj-num { font-size:11px; opacity:.85; margin-left:4px; font-weight:700; }
#aj-anime-app .aj-subs { display:none; margin-top:12px; padding:12px 14px; border-left:2px solid var(--aj-soft); border-radius:0 12px 12px 0; background:#faf8ff; }
#aj-anime-app .aj-subs.open { display:block; }
#aj-anime-app .aj-sublabel { font-size:11px; font-weight:800; color:var(--aj-muted); margin:8px 0 5px; }
#aj-anime-app .aj-subrow { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }

/* ===== 详情弹层 / 反馈表单（挂在 body，白底，保持浅底深字） ===== */
body .aj-mask { --aj-ink:#241d38; --aj-muted:#6a6188; --aj-line:#e2dbf5; --aj-accent:#7c3aed; --aj-soft:#ece5ff; --aj-card:#fff; position:fixed; inset:0; z-index:99999; background:rgba(20,16,40,.68); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:20px; }
body .aj-dialog { position:relative; box-sizing:border-box; background:#fff; border-radius:20px; max-width:900px; width:100%; max-height:88vh; overflow:auto; display:flex; gap:0; flex-wrap:wrap; padding:20px; box-shadow:0 24px 60px rgba(0,0,0,.3); animation:ajPop .22s ease; }
@keyframes ajPop { from { opacity:0; transform:translateY(14px) scale(.98); } to { opacity:1; transform:none; } }
body .aj-dlg-close { position:absolute; right:12px; top:12px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.96); border:1px solid var(--aj-line); color:#5b5374; font-size:17px; line-height:1; cursor:pointer; z-index:6; box-shadow:0 4px 14px rgba(36,29,56,.14); -webkit-tap-highlight-color:transparent; }
body .aj-dlg-close:hover { background:var(--aj-accent); border-color:var(--aj-accent); color:#fff; }
/* 底部关闭按钮：桌面藏起来，移动端才出现（拇指够得到） */
body .aj-dlg-closebtn { display:none; }
body .aj-dlg-col { flex:0 0 270px; max-width:270px; box-sizing:border-box; display:flex; flex-direction:column; gap:9px; padding:12px; background:linear-gradient(180deg,#fbf9ff,#f6f1ff); border:1px solid #ece5fa; border-radius:16px; align-self:flex-start; }
body .aj-dlg-img { position:relative; height:340px; border-radius:14px; overflow:hidden; background:linear-gradient(135deg,#8b5cf6,#f472b6); }
body .aj-dlg-imgx { width:100%; height:100%; object-fit:cover; display:block; }
body .aj-dlg-ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:92px; font-weight:800; color:rgba(255,255,255,.95); text-shadow:0 6px 24px rgba(0,0,0,.28); }
body .aj-dlg-body { flex:1; min-width:0; padding-left:24px; }
body .aj-dlg-name { font-size:21px; font-weight:800; color:#241d38; padding-right:52px; line-height:1.35; }
/* 又名：日文原名 / 英文名 / 各站不同译法 */
body .aj-dlg-alias { display:flex; gap:7px; align-items:flex-start; margin-top:7px; font-size:12.5px; line-height:1.65; }
body .aj-dlg-alias-k { flex:0 0 auto; font-weight:800; color:#fff; background:#8b7bb8; border-radius:5px; padding:1px 7px; font-size:11px; letter-spacing:1px; }
body .aj-dlg-alias-v { color:#5b5374; word-break:break-word; }
/* 名称分区：日文原名 / 韩文原名 / 英文名 / 又译名，一行一项 */
body .aj-dlg-names { margin-top:9px; display:flex; flex-direction:column; gap:4px; }
body .aj-dlg-nrow { display:flex; gap:7px; align-items:flex-start; font-size:12.5px; line-height:1.6; }
body .aj-dlg-nk { flex:0 0 auto; font-weight:800; color:#7c3aed; background:#f2eefc; border-radius:5px; padding:1px 7px; font-size:11px; letter-spacing:.5px; }
body .aj-dlg-nv { color:#5b5374; word-break:break-word; }
/* 小溢说：层级小溢口吻的一句话介绍 */
body .aj-dlg-intro { margin-top:14px; padding:12px 14px; background:linear-gradient(135deg,#faf7ff,#f2ebff); border-left:3px solid #a855f7; border-radius:0 12px 12px 0; }
body .aj-dlg-intro-k { font-size:11px; font-weight:800; letter-spacing:1.5px; color:#8b5cf6; margin-bottom:6px; }
body .aj-dlg-intro-k::before { content:'✎ '; }
body .aj-dlg-intro-v { font-size:13.5px; line-height:1.88; color:#453c62; }
/* 又译名说明：默认收起成一行，悬浮（桌面）/点击（移动端）才展开，避免移动端被大段文字占屏 */
#aj-anime-app .aj-aliasnote { margin:10px 0 0; border:1px dashed var(--aj-line); background:#fbf9ff; border-radius:10px; overflow:hidden; }
#aj-anime-app .aj-aliasnote-t { display:flex; align-items:center; gap:7px; width:100%; border:none; background:none; text-align:left; cursor:pointer; padding:7px 11px; font-family:inherit; font-size:12.5px; font-weight:700; color:var(--aj-accent); line-height:1.5; }
#aj-anime-app .aj-aliasnote-t::after { content:"展开"; margin-left:auto; flex-shrink:0; font-size:11px; font-weight:700; color:var(--aj-muted); background:#fff; border:1px solid var(--aj-line); border-radius:999px; padding:1px 9px; }
#aj-anime-app .aj-aliasnote.is-open .aj-aliasnote-t::after { content:"收起"; }
#aj-anime-app .aj-aliasnote-body { display:none; margin:0; padding:0 12px 10px; font-size:12.5px; line-height:1.75; color:#5b5374; }
#aj-anime-app .aj-aliasnote.is-open .aj-aliasnote-body { display:block; }
#aj-anime-app .aj-aliasnote-body b { color:var(--aj-accent); }
@media (hover:hover) and (min-width:761px) {
  #aj-anime-app .aj-aliasnote:hover .aj-aliasnote-body { display:block; }
}
body .aj-dlg-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
body .aj-dlg-chip { font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; background:var(--aj-soft); color:var(--aj-accent); }
body .aj-dlg-chip.r15 { background:#fff1e6; color:#ea580c; }
body .aj-dlg-chip.r18 { background:#fde8e8; color:#dc2626; }
body .aj-dlg-label { font-size:12px; font-weight:800; color:var(--aj-muted); letter-spacing:1px; margin:14px 0 7px; }
body .aj-dlg-themes, body .aj-dlg-vibe { display:flex; flex-wrap:wrap; gap:6px; }
body .aj-vchip { font-size:12px; padding:3px 10px; border-radius:999px; background:#fff1e6; color:#c2410c; border:1px solid #fed7aa; }
body .aj-dlg-aud { font-size:14px; color:#4a4262; background:#faf8ff; border:1px dashed var(--aj-line); border-radius:10px; padding:10px 12px; }
body .aj-dlg-bars { margin-top:12px; display:flex; flex-direction:column; gap:7px; }
body .aj-dlg-bars .aj-bar { display:flex; align-items:center; gap:8px; }
body .aj-dlg-bars .aj-bar-key { width:58px; font-size:12px; font-weight:700; color:var(--aj-muted); flex-shrink:0; }
body .aj-dlg-bars .aj-bar-track { flex:1; height:7px; border-radius:6px; background:#ece7f7; overflow:hidden; }
body .aj-dlg-bars .aj-bar-fill { height:100%; border-radius:6px; }
body .aj-dlg-bars .aj-bar-val { width:40px; font-size:12px; font-weight:700; color:#241d38; text-align:right; flex-shrink:0; }
body .aj-dlg-themes .aj-tchip { font-size:11px; padding:2px 8px; border-radius:6px; background:#f2eefc; color:#5b5374; }
body .aj-dlg-read { display:inline-block; margin-top:16px; padding:10px 18px; border-radius:10px; text-decoration:none; font-size:13px; font-weight:700; color:#fff; background:linear-gradient(135deg,#38bdf8,#6366f1); }
/* 详情弹层底部的「相似番」和「暂无长文」提示 */
body .aj-dlg-sim { display:flex; flex-wrap:wrap; gap:6px; }
body .aj-simchip { border:1px solid #e2dbf5; background:#faf8ff; color:#4a4262; border-radius:999px; padding:5px 11px; font-size:12px; font-weight:700; cursor:pointer; font-family:inherit; transition:all .18s; }
body .aj-simchip em { font-style:normal; font-weight:600; opacity:.55; margin-left:4px; font-size:11px; }
body .aj-simchip:hover { border-color:#7c3aed; color:#7c3aed; }
body .aj-simchip:focus-visible { outline:2px solid #7c3aed; outline-offset:2px; }
body .aj-dlg-nolink { margin-top:12px; font-size:12.5px; line-height:1.75; color:#6a6188; background:#faf8ff; border:1px dashed #e2dbf5; border-radius:10px; padding:10px 12px; }
body .aj-dlg-want { display:inline-block; margin-top:10px; padding:9px 16px; border:1px dashed #c4b5fd; border-radius:10px; background:#faf8ff; color:#6d28d9; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; transition:all .18s; }
body .aj-dlg-want:hover { background:#efebff; border-color:#8b5cf6; }
body .aj-dlg-want:focus-visible { outline:2px solid #7c3aed; outline-offset:2px; }
/* 键盘聚焦时给卡片和筛选标签一个明显的框 */
#aj-anime-app .aj-card:focus-visible,#aj-anime-app .aj-chip:focus-visible,#aj-anime-app .aj-bigchip:focus-visible,#aj-anime-app .aj-catchip:focus-visible { outline:2px solid #7c3aed; outline-offset:2px; }
body .aj-dlg-report { display:inline-flex; align-items:center; justify-content:center; gap:6px; margin-top:12px; width:100%; padding:11px 0; border-radius:10px; border:1px dashed #c4b5fd; background:#faf8ff; color:#6d28d9; font-size:13px; font-weight:700; cursor:pointer; transition:all .18s; }
body .aj-dlg-report:hover { background:#efebff; border-color:#8b5cf6; }

/* 反馈/报错表单（复用弹层容器） */
body .aj-form { padding:4px 2px 2px; }
body .aj-dialog.aj-formwrap { max-width:480px; }
body .aj-form h3 { padding-right:40px; }
body .aj-form h3 { margin:0 0 2px; font-size:19px; font-weight:800; color:#241d38; }
body .aj-form .aj-fsub { font-size:12px; color:#6a6188; margin:2px 0 4px; }
body .aj-form label { display:block; font-size:12px; font-weight:700; color:#4a4262; margin:13px 0 5px; }
body .aj-form textarea, body .aj-form input[type="text"] { width:100%; padding:11px 12px; border:1px solid #e2dbf5; border-radius:10px; font-size:14px; color:#241d38; background:#fff; box-sizing:border-box; outline:none; font-family:inherit; }
body .aj-form textarea:focus, body .aj-form input[type="text"]:focus { border-color:#7c3aed; box-shadow:0 0 0 3px rgba(124,58,237,.12); }
body .aj-form textarea { min-height:96px; resize:vertical; }
body .aj-submit { width:100%; margin-top:16px; padding:12px 0; border:none; border-radius:12px; background:linear-gradient(135deg,#7c3aed,#c026d3); color:#fff; font-size:15px; font-weight:800; cursor:pointer; }
body .aj-submit:disabled { opacity:.55; cursor:default; }
body .aj-form-done { text-align:center; color:#4a4262; font-size:14px; padding:16px 4px; }
body .aj-form-done b { display:block; font-size:26px; font-weight:900; color:#16a34a; margin-bottom:6px; }
body .aj-list-warn { font-size:12px; color:#b45309; background:#fffbeb; border:1px solid #fde68a; border-radius:8px; padding:9px 11px; margin-top:12px; }
body .aj-form .aj-err { font-size:12px; color:#dc2626; margin-top:8px; }

@media (max-width:760px) { #aj-anime-app .aj-panel { padding:10px; } #aj-anime-app .aj-title { font-size:18px; } #aj-anime-app .aj-grid { grid-template-columns:repeat(2,1fr); gap:10px; } #aj-anime-app .aj-filters { padding:4px 12px 12px; } #aj-anime-app .aj-search { flex:1 1 100%; } #aj-anime-app input.aj-search-input { height:48px; } #aj-anime-app .aj-toggle, #aj-anime-app .aj-clearall, #aj-anime-app .aj-sortbox { height:48px; } #aj-anime-app .aj-card-body { padding:10px 11px; } #aj-anime-app .aj-dim i { font-size:10px; } body .aj-mask { padding:12px; } body .aj-dialog { flex-direction:column; flex-wrap:nowrap; padding:16px; max-height:92vh; } body .aj-dlg-col { flex:0 0 auto; width:100%; max-width:100%; } body .aj-dlg-img { width:100%; height:220px; } body .aj-dlg-body { flex:0 0 auto; width:100%; min-width:0; padding-left:0; margin-top:16px; } body .aj-dlg-close { position:fixed; width:44px; height:44px; right:10px; top:10px; font-size:19px; } body .aj-dlg-name { font-size:19px; padding-right:56px; } body .aj-dlg-closebtn { display:block; width:100%; height:48px; margin:18px 0 2px; border:none; border-radius:12px; background:#6d28d9; color:#fff; font-size:15px; font-weight:800; letter-spacing:2px; cursor:pointer; } body .aj-dlg-intro { margin-top:12px; padding:11px 12px; } body .aj-dlg-intro-v { font-size:14px; line-height:1.9; } }
@media (max-width:760px) {
  /* 移动端：这段「片库有多少部、五维怎么打」的说明纯占屏，整块不给 */
  #aj-anime-app .aj-stat { display:none; }
  #aj-anime-app .aj-subtitle.aj-clamp { -webkit-line-clamp:2; font-size:12.5px; }
  #aj-anime-app .aj-h1n { font-size:11.5px; padding:1px 8px; margin-left:8px; }
  #aj-anime-app .aj-fstat { gap:2px 12px; padding:8px 10px; font-size:11.5px; }
  #aj-anime-app .aj-fstat span { white-space:normal; }
  #aj-anime-app .aj-recipenav { flex-wrap:nowrap; overflow-x:auto; gap:6px; margin-top:10px; padding-bottom:2px; scrollbar-width:none; }
  #aj-anime-app .aj-recipenav::-webkit-scrollbar { display:none; }
  #aj-anime-app .aj-rchip { flex:0 0 auto; padding:6px 11px; font-size:12.5px; }
  #aj-anime-app .aj-catnav { flex-wrap:nowrap; overflow-x:auto; margin-top:8px; padding-top:8px; scrollbar-width:none; }
  #aj-anime-app .aj-catnav::-webkit-scrollbar { display:none; }
  #aj-anime-app .aj-catchip { flex:0 0 auto; font-size:12px; padding:4px 9px; }
  #aj-anime-app .aj-axisnav { font-size:11.5px; flex-wrap:nowrap; overflow-x:auto; gap:6px 12px; padding-bottom:2px; scrollbar-width:none; }
  #aj-anime-app .aj-axisnav::-webkit-scrollbar { display:none; }
  #aj-anime-app .aj-axis { flex:0 0 auto; white-space:nowrap; }
  /* 手机上把头部压紧一点，让第一排番剧卡尽量在首屏露出来 */
  #aj-anime-app .aj-head { padding:15px 13px; gap:10px; }
  #aj-anime-app .aj-title { font-size:17px; }
  #aj-anime-app .aj-suggest { padding:8px 12px; font-size:12px; }
  #aj-anime-app .aj-recipecard { padding:12px 13px; }
  #aj-anime-app .aj-blurb { font-size:13px; }
}
@media (max-width:440px) {
  /* 手机上也保持双列：单列一屏只能看 2 部，翻起来太慢 */
  #aj-anime-app .aj-grid { gap:8px; }
  #aj-anime-app .aj-card-img { height:112px; }
  #aj-anime-app .aj-card-body { padding:9px 9px 10px; }
  #aj-anime-app .aj-name { font-size:13px; line-height:1.32; }
  #aj-anime-app .aj-meta { font-size:10px; margin-top:3px; }
  #aj-anime-app .aj-themes { gap:4px; margin-top:7px; }
  #aj-anime-app .aj-tchip { font-size:10px; padding:1px 6px; }
  #aj-anime-app .aj-dims { gap:3px; margin-top:8px; padding-top:8px; }
  #aj-anime-app .aj-dim i { font-size:9px; }
  #aj-anime-app .aj-dim em { font-size:9.5px; }
  #aj-anime-app .aj-dim-track { height:4px; margin-top:3px; }
  #aj-anime-app .aj-read { font-size:11.5px; padding:5px 8px; }
  #aj-anime-app .aj-hint { font-size:10px; }
  #aj-anime-app .aj-aliasnote-body { font-size:12px; }
}
@media (max-width:340px) { #aj-anime-app .aj-grid { grid-template-columns:1fr; } }

/* ===== 小溢反馈气泡：每投一票都用小溢的口吻回一句，比冷冰冰的提示有人味 ===== */
body .jf-say { position:fixed; left:50%; bottom:22px; z-index:100002; display:flex; align-items:flex-start; gap:10px; width:min(370px,92vw); padding:11px 13px; border-radius:16px; border:1px solid #f1e7fb; background:rgba(255,255,255,.98); box-shadow:0 14px 36px rgba(36,29,56,.26); transform:translate(-50%,18px); opacity:0; pointer-events:none; transition:opacity .22s,transform .22s; }
body .jf-say.on { opacity:1; transform:translate(-50%,0); }
body .jf-say-av { width:46px; height:46px; flex:none; border-radius:50%; object-fit:cover; border:2px solid #f5d0fe; background:#fff; }
body .jf-say-b { min-width:0; flex:1; }
body .jf-say-n { font-size:11px; font-weight:900; letter-spacing:.1em; color:#a21caf; }
body .jf-say-t { margin-top:2px; font-size:13px; line-height:1.65; font-weight:600; color:#3f3657; }
body .jf-say-prog { display:flex; align-items:center; gap:8px; margin-top:7px; font-size:11px; color:#8b82a8; }
body .jf-say-bar { flex:1; height:6px; border-radius:999px; background:#efe8fb; overflow:hidden; }
body .jf-say-bar i { display:block; height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,#fb7185,#a78bfa); transition:width .18s; }
body .jf-say-prog em { font-style:normal; white-space:nowrap; font-weight:700; }

/* ===== 详情标题行 + 收藏 ===== */
body .aj-dlg-namebar { display:flex; align-items:flex-start; gap:10px; padding-right:52px; }
body .aj-dlg-namebar .aj-dlg-name { flex:1; min-width:0; padding-right:0; }
body .aj-dlg-fav { flex:none; margin-top:1px; height:32px; padding:0 11px; border-radius:999px; border:1px solid #e2dbf5; background:#fff; color:#6a6188; font-family:inherit; font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; transition:all .16s; }
body .aj-dlg-fav:hover { border-color:#fb7185; color:#be123c; }
body .aj-dlg-fav.on { border-color:#fb7185; background:#fff1f6; color:#be123c; }

/* ===== 我的鉴番：收藏 / 最近看过 / 口味画像 ===== */
body .aj-me-dialog { max-width:620px; display:block; padding:18px; }
body .aj-me-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-right:44px; }
body .aj-me-title { font-size:18px; font-weight:900; color:#241d38; }
body .aj-me-tabs { display:flex; gap:6px; flex-wrap:wrap; margin:12px 0; }
body .aj-me-tab { height:34px; padding:0 13px; border-radius:999px; border:1px solid #e2dbf5; background:#fff; color:#6a6188; font-family:inherit; font-size:12px; font-weight:800; cursor:pointer; }
body .aj-me-tab.on { border-color:transparent; background:linear-gradient(135deg,#7c3aed,#c026d3); color:#fff; }
body .aj-me-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; max-height:52vh; overflow:auto; }
body .aj-me-row { display:flex; align-items:center; gap:9px; padding:8px; border:1px solid #efe8fb; border-radius:11px; background:#fbf9ff; cursor:pointer; min-width:0; }
body .aj-me-row:hover { border-color:#c4b5fd; background:#f6f1ff; }
body .aj-me-row img, body .aj-me-ph { width:38px; height:50px; flex:none; border-radius:7px; object-fit:cover; display:grid; place-items:center; color:#fff; font-weight:900; font-size:15px; }
body .aj-me-row-t { min-width:0; }
body .aj-me-row-t b { display:block; font-size:13px; font-weight:800; color:#3f3657; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body .aj-me-row-t i { display:block; margin-top:2px; font-style:normal; font-size:11px; color:#9a91b5; }
body .aj-me-del { margin-left:auto; width:26px; height:26px; flex:none; border:none; border-radius:50%; background:#fff; color:#b91c1c; font-size:14px; cursor:pointer; }
body .aj-me-empty { grid-column:1/-1; padding:28px 10px; text-align:center; color:#8b82a8; font-size:13px; line-height:1.8; }
body .aj-me-prof { padding:4px 2px; }
body .aj-me-prof-k { margin:14px 0 7px; font-size:11px; font-weight:900; letter-spacing:.1em; color:#9a91b5; }
body .aj-me-chips { display:flex; flex-wrap:wrap; gap:6px; }
body .aj-me-chip { padding:4px 10px; border-radius:999px; background:#f1e9ff; color:#6d28d9; font-size:12px; font-weight:800; }
body .aj-me-dims { display:grid; grid-template-columns:64px 1fr 38px; gap:6px 8px; align-items:center; font-size:12px; color:#4a4262; }
body .aj-me-dims span:nth-child(2) { height:6px; border-radius:99px; background:#efe8fb; overflow:hidden; }
body .aj-me-dims span:nth-child(2) i { display:block; height:100%; border-radius:99px; }
body .aj-me-tip { margin-top:14px; font-size:11.5px; color:#9a91b5; line-height:1.7; }
@media (max-width:760px) {
  #aj-anime-app .aj-pick { flex:1 1 auto; height:48px; padding:0 12px; font-size:13px; }
  #aj-anime-app .aj-me { height:48px; padding:0 10px; }
  #aj-anime-app .aj-sortbox { height:48px; }
  body .jf-say { bottom:14px; }
  body .aj-me-dialog { padding:15px; max-width:100%; }
  body .aj-me-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; max-height:55vh; }
  /* 手机上也保持双列：行内元素整体收小一号，避免两列挤爆 */
  body .aj-me-row { padding:7px; gap:7px; }
  body .aj-me-row img, body .aj-me-ph { width:32px; height:44px; }
  body .aj-me-row-t b { font-size:12px; }
  body .aj-me-row-t i { font-size:10px; }
  body .aj-me-tag { font-size:9px; padding:1px 5px; }
  body .aj-me-del { width:22px; height:22px; font-size:12px; }
  body .aj-dlg-namebar { padding-right:46px; flex-wrap:wrap; }
}

/* ===== 页面底部固定互动入口：我互动的番 ===== */
#aj-anime-app .aj-dock { position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:60; }
#aj-anime-app .aj-dock-btn { display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 18px; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:linear-gradient(135deg,rgba(124,58,237,.96),rgba(192,38,211,.96)); color:#fff; font-family:inherit; font-size:13px; font-weight:800; cursor:pointer; box-shadow:0 10px 26px rgba(76,29,149,.42); backdrop-filter:blur(6px); transition:transform .18s,box-shadow .18s; }
#aj-anime-app .aj-dock-btn:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(76,29,149,.5); }
#aj-anime-app .aj-dock-btn:active { transform:translateY(0) scale(.98); }
#aj-anime-app .aj-dock-n { min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:#fff; color:#7c3aed; font-size:11px; font-weight:900; display:inline-flex; align-items:center; justify-content:center; }
/* 全部互动里的状态标签 */
body .aj-me-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; }
body .aj-me-tag { padding:1px 6px; border-radius:999px; font-size:10px; font-weight:800; }
body .aj-me-tag.fav { background:rgba(251,113,133,.15); color:#be123c; }
body .aj-me-tag.like { background:rgba(124,58,237,.13); color:#6d28d9; }
body .aj-me-tag.bad { background:rgba(100,116,139,.16); color:#475569; }
body .aj-me-tag.seen { background:rgba(56,189,248,.15); color:#0284c7; }
@media (max-width:760px) {
  #aj-anime-app .aj-dock { bottom:calc(10px + env(safe-area-inset-bottom)); }
  #aj-anime-app .aj-dock-btn { height:42px; padding:0 15px; font-size:12.5px; }
}
