@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&family=Caveat:wght@500;600;700&display=swap";.admin-page{max-width:780px;margin:0 auto;padding:16px}.admin-head{margin-bottom:6px}.admin-sub{color:var(--text2);font-size:12px;margin-top:2px;line-height:1.45}.admin-note{font-size:12px;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin-top:10px}.admin-hint{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--text2);line-height:1.45;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px;margin-bottom:12px}.admin-hint .hint-ic{flex:0 0 auto}.admin-hint b{color:var(--text);font-weight:600}.guide-banner{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.guide-head{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--text2);line-height:1.45;padding:9px 11px}.guide-ic{flex:0 0 auto}.guide-summary b{color:var(--text);font-weight:600}.guide-info{flex:0 0 auto;margin-left:auto;align-self:center;height:24px;border-radius:999px;padding:0 11px;gap:5px;border:1px solid var(--border2);background:var(--surface);color:var(--text2);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.guide-info .guide-info-txt{font-weight:600}.guide-info:hover{color:var(--text);border-color:var(--accent)}.guide-info.on{background:var(--accent);color:#fff;border-color:var(--accent)}.guide-detail{border-top:1px dashed var(--border2);padding:11px}.guide-h{margin:0 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);font-weight:700}.guide-p{margin:0 0 12px;font-size:12px;color:var(--text2);line-height:1.5}.guide-checks{list-style:none;margin:0 0 12px;padding:0}.guide-checks li{font-size:12px;color:var(--text2);line-height:1.5;padding-left:20px;position:relative;margin-bottom:3px}.guide-checks li:before{content:"✓";position:absolute;left:2px;color:var(--accent);font-weight:700}.guide-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.guide-card{border:1px solid var(--border2);border-radius:8px;padding:8px 10px;background:var(--surface)}.guide-card .verb{font-size:12px;font-weight:700;margin-bottom:3px}.guide-card .blurb{font-size:11px;color:var(--text2);line-height:1.4}.guide-card.publish{border-color:#bbf7d0}.guide-card.publish .verb{color:#166534}.guide-card.neutral .verb{color:var(--text)}.guide-card.danger{border-color:#fecaca}.guide-card.danger .verb{color:#991b1b}.admin-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}.filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border2);background:var(--surface);color:var(--text2);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500}.filter-chip:hover{background:var(--surface2);color:var(--text)}.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.chip-count{background:#0000001f;border-radius:999px;padding:0 6px;font-size:11px;line-height:16px}.filter-chip.active .chip-count{background:#ffffff40}.admin-search{flex:1;min-width:160px}.admin-search input{width:100%;padding:7px 10px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:13px}.admin-search input:focus{outline:none;border-color:var(--accent)}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border2);margin:14px 0 4px}.admin-tab{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:var(--text2);font-size:14px;font-weight:600;padding:8px 14px;border-bottom:2px solid transparent;margin-bottom:-1px}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-subtoolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px}.admin-ctl{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2)}.admin-ctl .form-input{width:auto;padding:5px 8px}.fb-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.fb-filters .form-input{width:auto;min-width:150px}.admin-list{display:flex;flex-direction:column;gap:10px}.tile{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.country-bar{flex:0 0 5px}.tile-main{flex:1;min-width:0;padding:10px 12px}.tile-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tile-title{font-weight:600;font-size:14px;color:var(--text)}.tile-native{color:var(--text3);font-size:12px}.tile-meta{color:var(--text2);font-size:12px;margin-top:5px}.tile-note{margin-top:7px;font-size:12px;color:var(--text2);background:var(--surface2);border-radius:6px;padding:6px 8px;line-height:1.45}.tile-note .lbl{color:var(--text3);font-weight:600;margin-right:6px}.tile-cast{margin-top:5px;font-size:12px;color:var(--text2)}.tile-incomplete{margin-top:7px;font-size:12px;line-height:1.4;color:var(--text2);background:var(--surface2);border:1px solid var(--border2);border-radius:6px;padding:5px 8px}.changed-by{margin-top:7px;font-size:11px;color:var(--text3)}.tile-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mini-btn{font-size:11px;padding:4px 10px;border-radius:6px;border:1px solid var(--border2);background:var(--surface);color:var(--text2)}.mini-btn:hover{background:var(--surface2);color:var(--text)}.mini-btn.publish{background:#16a34a;color:#fff;border-color:#16a34a}.mini-btn.publish:hover{background:#15803d}.mini-btn.mini-btn-subtle{opacity:.7;font-size:10px}.mini-btn.mini-btn-subtle:hover{opacity:1}.admin-refresh-status{font-size:11px;color:var(--text2);align-self:center}.proposed-panel{margin:10px 0 14px;padding:10px 12px;border-radius:8px;background:#16a34a14;border:1px solid rgba(22,163,74,.35)}.proposed-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.proposed-title{font-size:12px;font-weight:600;color:#16a34a}.proposed-actions{display:inline-flex;gap:6px;align-items:center}.ev-dismiss{font-size:11px;padding:2px 8px;border-radius:6px;cursor:pointer;border:1px solid #fecaca;background:var(--surface);color:#b91c1c}.ev-dismiss:hover{background:#fef2f2}.ev-dismiss:disabled{opacity:.5;cursor:default}.proposed-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;padding:3px 0}.proposed-chip{font-size:11px;font-weight:600;color:#16a34a;background:#16a34a1f;border:1px solid rgba(22,163,74,.4);border-radius:999px;padding:1px 8px}.proposed-field{font-weight:600;color:var(--text);min-width:96px}.proposed-arrow{color:var(--text2)}.proposed-val{color:#16a34a;font-weight:500}.proposed-row.is-conflict .proposed-val{color:#d97706}.field-proposed{border-left:3px solid #16a34a;padding-left:8px;border-radius:4px;background:#16a34a12}.airs-in-chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface2);color:var(--text2);border:1px solid var(--border2);cursor:help}.pill{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;white-space:nowrap}.pill-review{background:#fef3c7;color:#92400e}.pill-incomplete{background:#e5e7eb;color:#374151}.pill-confirmed{background:#dcfce7;color:#166534}.pill-pub{background:transparent;color:#16a34a;padding-left:0}.pill-nopub{background:transparent;color:var(--text3);padding-left:0}.pill-find{background:#ede9fe;color:#5b21b6}.scope-chip{font-size:10px;font-weight:600;padding:2px 7px;border-radius:6px;white-space:nowrap}.scope-bl{background:#eef2ff;color:#4338ca}.scope-adj{background:#fef3c7;color:#92400e}.scope-gl{background:#fee2e2;color:#991b1b}.scope-unknown{background:var(--surface3);color:var(--text2)}.empty-state{text-align:center;color:var(--text2);padding:44px 16px}.empty-state .ic{font-size:30px;margin-bottom:8px}.empty-state .empty-title{font-weight:600;color:var(--text);margin-bottom:4px}.modal.admin-edit{display:flex;flex-direction:column;max-height:90vh;max-height:90dvh;overflow:hidden;width:100%;max-width:640px}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:14px}.field-grid>.span-2{grid-column:1 / -1}.admin-edit .modal-body{overflow-y:auto;flex:1}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border);padding-bottom:max(14px,env(safe-area-inset-bottom))}.action-glossary{margin:0 20px;padding:9px 11px;background:var(--surface2);border:1px solid var(--border2);border-radius:8px}.action-glossary .ag-title{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin-bottom:6px}.action-glossary .ag-row{display:flex;gap:8px;font-size:11px;line-height:1.4;margin-bottom:4px}.action-glossary .ag-row:last-child{margin-bottom:0}.action-glossary .ag-verb{flex:0 0 64px;font-weight:700}.action-glossary .ag-verb.publish{color:#166534}.action-glossary .ag-verb.danger{color:#991b1b}.action-glossary .ag-blurb{color:var(--text2)}.action-glossary .ag-blurb b{color:var(--text);font-weight:600}.field-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:14px}.field-card-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text2);margin:0 0 12px}.section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin:16px 0 8px}.section-label:first-child{margin-top:0}.form-check{display:flex;align-items:center;gap:8px;margin-bottom:14px}.conseq-intro{font-size:13px;color:var(--text2);line-height:1.5;margin-bottom:4px}.conseq-changes{display:flex;flex-direction:column;gap:6px}.change-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;background:var(--surface2);border-radius:6px;padding:6px 8px}.change-field{font-weight:600;color:var(--text);min-width:110px}.change-from{color:var(--text3);text-decoration:line-through}.change-arrow{color:var(--text3)}.change-to{color:var(--text);font-weight:500}.conseq-list{margin:4px 0 0 18px;font-size:12px;color:var(--text2);line-height:1.5}.conseq-list li{margin-bottom:4px}.conseq-warn{color:#b45309}.ai-note-box{background:#7c3aed0f;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:16px}.control-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-top:18px}.control-box .form-group:last-child,.control-box .form-check:last-child{margin-bottom:0}.ev-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 14px}.ev-conf{font-size:9px;font-weight:700;letter-spacing:.03em;padding:1px 5px;border-radius:4px}.ev-high{background:#dcfce7;color:#166534}.ev-medium{background:#fef3c7;color:#92400e}.ev-low{background:#fee2e2;color:#991b1b}.ev-src{font-size:11px;color:var(--text3)}.ev-src.trusted{color:#16a34a;font-weight:500}.ev-conflict{font-size:11px;color:#b45309;display:inline-flex;align-items:center;gap:4px}.ev-proposed{font-size:11px;color:var(--accent);display:inline-flex;align-items:center;gap:4px}.req-star{color:#dc2626;font-weight:700;margin-left:2px}.field-legend{font-size:11px;color:var(--text2);line-height:1.7;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin-bottom:16px}.plat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.plat-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text);background:var(--surface2);border:1px solid var(--border2);border-radius:999px;padding:3px 6px 3px 10px}.plat-remove{background:none;border:none;color:var(--text3);font-size:15px;line-height:1;padding:0 2px;cursor:pointer}.plat-remove:hover{color:#dc2626}.plat-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.plat-add .form-input{flex:1;min-width:120px}.ev-use{font-size:10px;padding:1px 6px;border-radius:4px;border:1px solid var(--border2);background:var(--surface);color:var(--text2)}.ev-use:hover{background:var(--surface3);color:var(--text)}.day-row{display:flex;gap:6px;flex-wrap:wrap}.day-chip{font-size:11px;padding:5px 9px;border-radius:6px;border:1px solid var(--border2);background:var(--surface);color:var(--text2)}.day-chip:hover{background:var(--surface2);color:var(--text)}.day-chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.modal.admin-sources{width:100%;max-width:460px}.ts-list{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.ts-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.ts-name{font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px}.ts-tier{font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:4px}.ts-tier.official{background:#dbeafe;color:#1e40af}.ts-tier.trusted{background:#dcfce7;color:#166534}.ts-remove{background:none;border:none;color:var(--text3);font-size:18px;line-height:1}.ts-remove:hover{color:#dc2626}.ts-add{display:flex;gap:8px;margin-top:12px}.ts-add .form-input:first-child{flex:1}.modal.admin-platforms{width:100%;max-width:640px}.plat-mlist{display:flex;flex-direction:column;gap:6px;max-height:48vh;overflow-y:auto;margin-bottom:4px}.plat-mrow{display:grid;grid-template-columns:84px 1fr 1.4fr auto auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.plat-mcode{font-size:11px;font-weight:700;color:var(--text2);background:var(--bg);padding:2px 6px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plat-mrow .form-input{font-size:12px;padding:5px 8px}.plat-mactive{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text2);white-space:nowrap}.plat-mrowerr{grid-column:1 / -1}.plat-madd{margin-top:14px}.plat-maddgrid{display:grid;grid-template-columns:120px 1fr 1.4fr auto;gap:8px;align-items:center}.plat-maddgrid .form-input{font-size:12px;padding:6px 8px}.modal.admin-instr{width:100%;max-width:520px}.instr-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px;margin-bottom:8px}.instr-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.instr-type{font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:4px;background:var(--surface3);color:var(--text2)}.instr-type.t-scope_ruling{background:#ede9fe;color:#5b21b6}.instr-type.t-watch{background:#dbeafe;color:#1e40af}.instr-type.t-recheck{background:#fef3c7;color:#92400e}.instr-scope{font-size:12px;font-weight:600;color:var(--text)}.instr-status{font-size:9px;text-transform:uppercase;color:var(--text3);border:1px solid var(--border2);border-radius:4px;padding:1px 5px}.instr-status.s-open{color:#1e40af;border-color:#93c5fd}.instr-body{font-size:12px;color:var(--text2);margin-top:6px;line-height:1.45}.instr-meta{font-size:11px;color:var(--text3);margin-top:5px}.instr-actions{display:flex;gap:6px;margin-top:8px}.instr-add{display:flex;gap:8px}.instr-add textarea,.instr-add input{flex:1}.modal-error{padding:10px 20px;border-top:1px solid var(--border);background:#fef2f2}html.dark .modal-error{background:#2a1414}.tile-instr{margin-left:4px;font-size:.95em;cursor:default}.verdict-box{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;background:var(--surface2)}.verdict-head{display:flex;align-items:center;gap:8px}.verdict-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3)}.verdict-rec{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px}.verdict-auto-confirm .verdict-rec{background:#dcfce7;color:#166534}.verdict-review .verdict-rec{background:#fef3c7;color:#92400e}.verdict-discard .verdict-rec{background:#fee2e2;color:#991b1b}.verdict-reason{font-size:13px;color:var(--text);line-height:1.5;margin:6px 0 0}.verdict-fields{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:11px;color:#b45309}.scope-banner{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px}.scope-banner.scope-bl{background:var(--surface2)}.scope-banner.scope-adj{background:#fffbeb;border-color:#fde68a}.scope-banner.scope-gl,.scope-banner.scope-unknown{background:#fef2f2;border-color:#fecaca}html.dark .scope-banner.scope-adj{background:#2a2410}html.dark .scope-banner.scope-gl,html.dark .scope-banner.scope-unknown{background:#2a1414}.scope-banner-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scope-chip-inline{font-size:11px;font-weight:700}.scope-cast{font-size:11px;color:var(--text2)}.scope-reason{font-size:12px;color:var(--text2);line-height:1.45;margin:6px 0 0}.dup-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:var(--radius);padding:9px 11px;margin-bottom:12px;font-size:12px;line-height:1.45}html.dark .dup-banner{background:#2a1414}.stable-links{display:flex;gap:8px;flex-wrap:wrap}.stable-link{font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--border2);background:var(--surface);color:var(--accent);text-decoration:none}.stable-link:hover{background:var(--surface2)}.find-fields{margin-top:2px}.find-field{padding:7px 0;border-top:1px solid var(--border)}.find-field:first-child{border-top:none}.find-field-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.find-field-label{font-size:11px;font-weight:600;color:var(--text3);min-width:90px}.find-field-value{font-size:13px;color:var(--text);font-weight:500}.find-field-ev{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.btn-danger{background:#dc2626;color:#fff;border:1px solid #dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.55;cursor:default}.owner-page{max-width:780px;margin:0 auto;padding:16px}.owner-head{margin-bottom:8px}.owner-title{font-size:18px;font-weight:700;margin:0}.owner-sub{color:var(--text2);font-size:12px;margin-top:2px;line-height:1.45}.owner-stats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text2);margin:10px 0}.owner-search{width:100%;box-sizing:border-box;margin-bottom:12px}.owner-msg{font-size:12px;border-radius:var(--radius);padding:8px 10px;margin-bottom:12px;border:1px solid var(--border)}.owner-msg-ok{background:var(--surface2);color:var(--text)}.owner-msg-err{background:#fdecec;color:#a11;border-color:#f3b9b9}.owner-list{list-style:none;margin:0;padding:0}.owner-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px 12px;margin-bottom:8px}.owner-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.owner-name{font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px}.owner-you{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px}.owner-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.owner-joined{font-size:11px;color:var(--text3)}.owner-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:1px 8px;border:1px solid var(--border2);color:var(--text2);background:var(--surface2)}.owner-badge.role-admin{color:var(--accent);border-color:var(--accent)}.owner-badge.role-owner{color:#fff;background:var(--accent);border-color:var(--accent)}.owner-badge.status-suspended{color:#a11;background:#fdecec;border-color:#f3b9b9}.owner-badge.status-deleted{color:var(--text3)}.owner-actions{display:flex;flex-wrap:wrap;gap:6px}.owner-actions .btn{font-size:11px}.owner-danger{color:#a11}.owner-locknote{font-size:11px;color:var(--text3);font-style:italic}.roadmap{max-width:1400px;margin:0 auto;padding:28px 24px 60px;background-image:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:28px 28px}.roadmap{--rm-calendar-bg: #fce7f3;--rm-calendar-ink: #9d174d;--rm-ratings-bg: #fef3c7;--rm-ratings-ink: #92400e;--rm-rankings-bg: #ecfccb;--rm-rankings-ink: #4d7c0f;--rm-stats-bg: #e0f2fe;--rm-stats-ink: #075985;--rm-profile-bg: #ede9fe;--rm-profile-ink: #5b21b6;--rm-other-bg: #f5f5f4;--rm-other-ink: #44403c;--rm-card-ink: #1c1917;--rm-z-shipped: #86c99a;--rm-z-progress: #d9b84a;--rm-z-coming: #6fc7d4;--rm-z-parking: var(--border2)}html.dark .roadmap{--rm-calendar-bg: #3b1526;--rm-calendar-ink: #f9a8d4;--rm-ratings-bg: #3a2a0c;--rm-ratings-ink: #fcd34d;--rm-rankings-bg: #25340f;--rm-rankings-ink: #bef264;--rm-stats-bg: #0c2a3a;--rm-stats-ink: #7dd3fc;--rm-profile-bg: #271643;--rm-profile-ink: #c4b5fd;--rm-other-bg: #26262b;--rm-other-ink: #d6d3d1;--rm-card-ink: #f0f0f5}.roadmap-masthead{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-bottom:18px;margin-bottom:26px;border-bottom:2px dashed var(--border2)}.roadmap-title{font-family:Caveat,cursive;font-size:52px;font-weight:700;line-height:1;letter-spacing:-1px;color:var(--text)}.roadmap-sub{font-size:13px;color:var(--text2);margin-top:6px}.roadmap-meta{font-size:12px;color:var(--text2);text-align:right}.roadmap-meta strong{color:var(--text)}.roadmap-legend{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;font-size:12px;color:var(--text2);margin-bottom:26px}.roadmap-legend-label{font-weight:600;color:var(--text)}.roadmap-legend-item{display:inline-flex;align-items:center;gap:6px}.roadmap-legend-dot{width:14px;height:14px;border-radius:3px;border:1px solid var(--border2)}.roadmap-board{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.roadmap-zone{border:1.5px solid var(--border2);border-top-width:4px;border-radius:12px;padding:18px 16px 22px;background:var(--surface);min-height:280px}.roadmap-zone.shipped{border-top-color:var(--rm-z-shipped)}.roadmap-zone.progress{border-top-color:var(--rm-z-progress)}.roadmap-zone.coming{border-top-color:var(--rm-z-coming)}.roadmap-zone.parking{border-top-color:var(--rm-z-parking)}.roadmap-zone-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--border)}.roadmap-zone-title{font-family:Caveat,cursive;font-size:30px;font-weight:700;line-height:1;color:var(--text)}.roadmap-zone-count{font-size:12px;color:var(--text2);white-space:nowrap}.roadmap-zone-blurb{font-size:11px;color:var(--text3);font-style:italic;margin-bottom:14px}.roadmap-zone-empty{font-size:12px;color:var(--text3);padding:8px 2px}.roadmap-notes{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.roadmap-note{width:200px;min-height:92px;padding:12px 13px 13px;border-radius:3px;display:flex;flex-direction:column;font-size:12.5px;line-height:1.35;background:var(--rm-other-bg);color:var(--rm-card-ink);box-shadow:0 1px 1px #0000000f,0 3px 6px #00000014,0 8px 14px #0000000a;transition:transform .18s ease,box-shadow .18s ease}.roadmap-note:nth-child(3n+1){transform:rotate(-1.2deg)}.roadmap-note:nth-child(3n+2){transform:rotate(.8deg)}.roadmap-note:nth-child(3n+3){transform:rotate(-.4deg)}.roadmap-note:nth-child(5n){transform:rotate(1.4deg)}.roadmap-note:hover{transform:translateY(-3px) rotate(0)!important;box-shadow:0 2px 2px #0000001a,0 6px 12px #0000001f,0 14px 22px #00000012;z-index:5}.roadmap-note.calendar{background:var(--rm-calendar-bg)}.roadmap-note.ratings{background:var(--rm-ratings-bg)}.roadmap-note.rankings{background:var(--rm-rankings-bg)}.roadmap-note.stats{background:var(--rm-stats-bg)}.roadmap-note.profile{background:var(--rm-profile-bg)}.roadmap-note.other{background:var(--rm-other-bg)}.roadmap-note-tag{font-size:9.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-bottom:6px;opacity:.85}.roadmap-note.calendar .roadmap-note-tag{color:var(--rm-calendar-ink)}.roadmap-note.ratings .roadmap-note-tag{color:var(--rm-ratings-ink)}.roadmap-note.rankings .roadmap-note-tag{color:var(--rm-rankings-ink)}.roadmap-note.stats .roadmap-note-tag{color:var(--rm-stats-ink)}.roadmap-note.profile .roadmap-note-tag{color:var(--rm-profile-ink)}.roadmap-note.other .roadmap-note-tag{color:var(--rm-other-ink)}.roadmap-note-body{flex:1;font-weight:500}.roadmap-note-date{font-family:Caveat,cursive;font-size:17px;font-weight:600;margin-top:8px;color:var(--rm-card-ink);opacity:.7}.roadmap-note.milestone{background:var(--surface);border:2px solid var(--text)}.roadmap-note.milestone .roadmap-note-tag{color:var(--text);letter-spacing:1px}.roadmap-note.milestone .roadmap-note-body{font-family:Caveat,cursive;font-size:22px;line-height:1.1;font-weight:700;color:var(--text)}@media (max-width: 1024px){.roadmap-board{grid-template-columns:1fr}}@media (max-width: 600px){.roadmap{padding:20px 14px 40px}.roadmap-title{font-size:40px}.roadmap-meta{text-align:left}.roadmap-note,.roadmap-note.editing{width:100%}}.roadmap-edit-toggle{font-size:12px;padding:5px 12px;border-radius:8px;border:1px solid var(--border2);background:var(--surface);color:var(--text);cursor:pointer;margin-bottom:8px}.roadmap-edit-toggle.on{background:#2f8f5f;border-color:#2f6f4f;color:#fff}.roadmap-msg{font-size:13px;padding:8px 12px;border-radius:8px;margin-bottom:12px}.roadmap-msg.ok{background:var(--bg2, #eef6f0);color:var(--text2)}.roadmap-msg.err{background:#fdecec;color:#a11}.roadmap-edit-hint{font-size:12px;color:var(--text2);margin-bottom:18px}.roadmap-note.editing{transform:none!important;width:220px;min-height:0}.roadmap-note.editing:hover{transform:none!important}.roadmap-edit-top{display:flex;align-items:center;gap:6px;margin-bottom:6px}.roadmap-edit-top .roadmap-note-tag{margin-bottom:0}.roadmap-rank{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.roadmap-edit-actions{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.roadmap-reorder{display:inline-flex;gap:4px}.roadmap-del{font-size:12px}.roadmap-del:hover{border-color:#d99;background:#fdecec}.roadmap-iconbtn{width:26px;height:24px;line-height:1;border-radius:6px;border:1px solid var(--border2);background:var(--surface);color:var(--text);cursor:pointer;font-size:11px}.roadmap-edit-bodyview{cursor:text}.roadmap-edit-label{width:100%;font:inherit;border:1px solid #b9883b;border-radius:6px;padding:5px;resize:vertical;background:var(--surface);color:var(--text)}.roadmap-edit-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.roadmap-zone-select{font-size:11px;padding:2px 4px;border-radius:6px;border:1px solid var(--border2);background:var(--surface);color:var(--text);max-width:104px}.roadmap-vis{margin-left:auto;font-size:10.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--border2);background:transparent;color:var(--text2);cursor:pointer;white-space:nowrap}.roadmap-vis.admin{background:#37304a;color:#fff;border-color:#37304a}.roadmap-add-card{width:200px;min-height:60px;border:1.5px dashed var(--border2);border-radius:8px;background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}.roadmap-add-card:hover{border-color:var(--text2);color:var(--text);background:var(--bg2, rgba(0,0,0,.02))}@media (max-width: 600px){.roadmap-add-card{width:100%}}.roadmap-vote{margin-top:8px;align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid var(--border2);background:var(--surface);color:var(--text2);font-size:12px;font-weight:600;line-height:1;cursor:pointer}.roadmap-vote:hover{border-color:var(--text2);color:var(--text)}.roadmap-vote .roadmap-vote-icon{font-size:10px}.roadmap-vote.voted{background:#2f8f5f;border-color:#2f6f4f;color:#fff}.roadmap-vote.voted:hover{color:#fff}:root{--bg: #f4f4f8;--surface: #ffffff;--surface2: #f0f0f5;--surface3: #e4e4ec;--border: rgba(0,0,0,.08);--border2: rgba(0,0,0,.14);--text: #1a1a2e;--text2: #5a5a7a;--text3: #9898b0;--accent: #7c3aed;--accent2: #9d5cf0;--nav-h: 52px;--cal-head-h: 48px;--shadow: 0 2px 8px rgba(0,0,0,.08);--radius: 8px}html.dark{--bg: #0f0f13;--surface: #18181f;--surface2: #22222c;--surface3: #2c2c38;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.13);--text: #f0f0f5;--text2: #9898b0;--text3: #5a5a72;--shadow: 0 2px 12px rgba(0,0,0,.3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{margin:0;padding:0;height:100%}#root{padding:0!important;max-width:none!important}body{font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:13px;min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.main-content{flex:1;overflow-x:clip;background:var(--bg)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text2);font-size:13px}.loading-spinner{width:28px;height:28px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nav{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);height:var(--nav-h);display:flex;align-items:center;padding:0 14px;gap:2px;box-shadow:var(--shadow)}.nav-brand{font-size:15px;font-weight:600;letter-spacing:-.4px;margin-right:12px;color:var(--text);white-space:nowrap}.nav-brand span{color:var(--accent2)}.nav-btn{background:none;border:none;color:var(--text3);font-size:12px;font-weight:500;padding:6px 10px;border-radius:6px;transition:all .15s;display:flex;align-items:center;gap:4px;white-space:nowrap}.nav-btn:hover{background:var(--surface2);color:var(--text)}.nav-btn.active{background:var(--surface2);color:var(--accent)}.nav-btn.locked{color:var(--text3);opacity:.5;cursor:not-allowed}.nav-btn.locked:hover{background:none;color:var(--text3)}.nav-spacer{flex:1}.nav-auth{display:flex;align-items:center;gap:6px;margin-left:8px}.nav-desktop{display:contents}.nav-hamburger,.nav-menu{display:none}.nav-user{font-size:12px;color:var(--text2);padding:4px 8px;background:var(--surface2);border-radius:6px;border:1px solid var(--border)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent2)}.btn-ghost{background:none;color:var(--text2);border:1px solid var(--border2)}.btn-ghost:hover:not(:disabled){background:var(--surface2);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.status-pill{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;letter-spacing:.2px;white-space:nowrap}.status-plan{background:#e0e7ff;color:#3730a3}.status-watching{background:#dcfce7;color:#15803d}.status-completed{background:#f0fdf4;color:#166534;border:1px solid #86efac}.status-hold{background:#fef9c3;color:#854d0e}.status-dropped{background:#fee2e2;color:#991b1b}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease}.modal{background:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:0 20px 60px #00000026;width:100%;max-width:480px;max-height:90vh;max-height:90dvh;overflow-y:auto;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.modal-title{font-size:15px;font-weight:600;color:var(--text)}.modal-close{background:none;border:none;color:var(--text3);font-size:18px;line-height:1;padding:4px;border-radius:4px;cursor:pointer}.modal-close:hover{color:var(--text);background:var(--surface2)}.modal-body{padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-label{font-size:12px;font-weight:500;color:var(--text2)}.form-input{padding:9px 12px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:13px;transition:border-color .15s;width:100%}.form-input:focus{outline:none;border-color:var(--accent)}.form-error{font-size:11px;color:#dc2626;margin-top:2px}.pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:2px 4px;cursor:pointer;font-size:11px;color:var(--accent)}.form-hint{font-size:11px;color:var(--text3);margin-top:2px}.calendar-header{display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--border);height:48px;overflow:hidden;flex-wrap:nowrap}.month-nav-btn{background:none;border:1px solid var(--border2);color:var(--text2);width:28px;height:28px;border-radius:6px;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.month-nav-btn:hover{background:var(--surface2);color:var(--text)}.month-nav-btn:disabled{opacity:.4;cursor:default}.month-nav-btn:disabled:hover{background:none;color:var(--text2)}.month-label{font-size:15px;font-weight:600;color:var(--text);min-width:140px;text-align:center}.field-ctl{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2)}.field-ctl .form-input{width:auto;padding:5px 8px}.cal-month-select{display:none}.today-btn{padding:6px 12px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:12px;white-space:nowrap}.today-btn:hover{background:var(--surface2)}.cal-legend{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text2)}.legend-dot{width:9px;height:9px;border-radius:50%}.cal-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:0}.cal-agenda{display:none}.cal-table{width:100%;min-width:700px;border-collapse:collapse;table-layout:fixed}.cal-day-header{text-align:left;font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.5px;padding:6px 8px;border-bottom:2px solid var(--border2);background:var(--surface);text-transform:uppercase;width:calc(100% / 7)}.cal-notices{margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.beta-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;border:1px solid #fca5a5;background:#fef2f2;color:#b91c1c;border-radius:8px;font-size:13px}.dark .beta-banner{border-color:#7f1d1d;background:#dc26261f;color:#fca5a5}.suspended-banner{margin-bottom:12px;padding:10px 12px;border:1px solid #fca5a5;background:#fef2f2;color:#b91c1c;border-radius:8px;font-size:13px;line-height:1.45}.dark .suspended-banner{border-color:#7f1d1d;background:#dc26261f;color:#fca5a5}.beta-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.beta-feedback-btn{flex-shrink:0;padding:5px 12px;border-radius:6px;border:1px solid currentColor;background:transparent;color:inherit;font-size:12px;font-weight:700;cursor:pointer}.beta-feedback-btn:hover{background:#dc26261f}.cal-refresh-line{font-size:11px;color:var(--text3);padding:0 2px}.upnext{margin:2px 0 12px}.upnext-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:5px}.upnext-title{font-size:12px;font-weight:700;color:var(--text)}.upnext-sub{font-size:10px;color:var(--text3)}.upnext-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.upnext-card{flex:0 0 auto;min-width:0;max-width:190px;display:flex;align-items:center;gap:6px;padding:3px 8px 3px 7px;border:1px solid var(--border);border-left:3px solid #888;border-radius:5px;background:var(--surface);cursor:pointer}.upnext-card:hover{background:var(--surface2)}.upnext-check{flex:0 0 auto;width:14px;height:14px;border:1.5px solid currentColor;border-radius:3px;background:transparent;cursor:pointer;padding:0}.upnext-check:hover{background:currentColor}.upnext-body{min-width:0}.upnext-name{font-size:11px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upnext-meta{font-size:10px;color:var(--text3);margin-top:1px}.fb-board{display:flex;flex-direction:column;gap:10px}.fb-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px 14px}.fb-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.fb-id{font-family:ui-monospace,monospace;font-size:11px;color:var(--text3)}.fb-cat{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--surface2);color:var(--text2);border:1px solid var(--border)}.fb-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.fb-status-review{background:#fef3c7;color:#92400e}.fb-status-actioned{background:#dbeafe;color:#1e40af}.fb-status-resolved{background:#dcfce7;color:#166534}.dark .fb-status-review{background:#f59e0b2e;color:#fcd34d}.dark .fb-status-actioned{background:#3b82f62e;color:#93c5fd}.dark .fb-status-resolved{background:#22c55e2e;color:#86efac}.fb-date{font-size:11px;color:var(--text3);margin-left:auto}.fb-text{font-size:14px;color:var(--text);line-height:1.5;white-space:pre-wrap}.fb-response{margin-top:10px;padding:8px 10px;border-left:3px solid var(--accent);background:var(--surface2);border-radius:0 6px 6px 0;font-size:13px;color:var(--text2);line-height:1.5;white-space:pre-wrap}.fb-response-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:3px}.fb-original{font-size:13px;color:var(--text2);line-height:1.5;white-space:pre-wrap;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:6px 0 10px}.fb-original-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin-bottom:3px}.fb-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 560px){.fb-edit-grid{grid-template-columns:1fr}}.cal-cell{border:1px solid var(--border);vertical-align:top;padding:5px 4px 6px;background:var(--surface)}.cal-cell.other-month{background:var(--surface2)}.dark .cal-cell.other-month{background:var(--surface3)}.cal-cell.today{background:#ede9fe;box-shadow:inset 0 0 0 2px var(--accent)}.dark .cal-cell.today{background:#8b5cf62e}.cal-date-num{font-size:11px;font-weight:600;color:var(--text3);display:block;margin-bottom:4px;padding:0 2px}.cal-cell.today .cal-date-num{color:var(--accent)}.ep-chip{display:flex;align-items:center;gap:5px;padding:3px 6px;border-radius:4px;margin-bottom:3px;cursor:pointer;transition:opacity .15s}.ep-chip:hover{opacity:.85}.ep-chip.watched{opacity:.45}.ep-chip-check{width:13px;height:13px;border:1.5px solid;border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:8px;color:#fff}.ep-chip-name{flex:1;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:#1a1a2e}.ep-chip-meta{font-size:10px;font-weight:400;white-space:nowrap;flex-shrink:0;color:#3a3a5a;opacity:.8}.listing-note{font-size:12px;color:var(--text2);line-height:1.5;background:var(--surface2);border-radius:8px;padding:10px 12px}.listing-note-label{display:block;color:var(--text3);font-weight:600;font-size:11px;margin-bottom:4px}.ep-chip-flag,.ep-chip-info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:10px;font-weight:700;line-height:1;vertical-align:middle;flex-shrink:0;background:#fff;box-shadow:0 0 0 1px #0000004d}.ep-chip-flag{margin-right:3px}.ep-chip-info{margin-left:4px;color:#1d4ed8}.ep-chip-flag.flag-new{color:#15803d}.ep-chip-flag.flag-updated{color:#b45309}html.dark .ep-chip-flag,html.dark .ep-chip-info{background:#12121ceb;box-shadow:0 0 0 1px #fff9}html.dark .ep-chip-info{color:#93c5fd}html.dark .ep-chip-flag.flag-new{color:#4ade80}html.dark .ep-chip-flag.flag-updated{color:#fbbf24}html.dark .ep-chip-name{color:#fff}html.dark .ep-chip-meta{color:#fffc;opacity:1}html.dark .ep-chip-check{border-color:#fff9!important}.page-wrap{max-width:860px;margin:0 auto;padding:20px 14px}.page-title{font-size:18px;font-weight:600;color:var(--text);margin-bottom:4px}.page-subtitle{font-size:12px;color:var(--text3);margin-bottom:20px}.rating-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:box-shadow .15s}.rating-card:hover{box-shadow:var(--shadow)}.rating-card-top{display:flex;align-items:flex-start;gap:12px}.country-bar{width:4px;min-height:36px;border-radius:2px;flex-shrink:0;align-self:stretch}.rating-card-info{flex:1;min-width:0}.rating-title{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rating-meta{font-size:11px;color:var(--text3);margin-top:2px}.pairing-chip{font-size:11px;color:var(--text2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rating-score-display{font-size:20px;font-weight:700;color:var(--accent);white-space:nowrap}.rating-score-display span{font-size:11px;color:var(--text3);font-weight:400}.rating-notes-preview{font-size:11px;color:var(--text2);margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.rating-notes-preview.spoiler-hidden{filter:blur(4px);cursor:pointer;-webkit-user-select:none;user-select:none;transition:filter .2s}.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0}.score-btn{padding:8px 4px;border:1px solid var(--border2);border-radius:7px;background:var(--surface2);color:var(--text2);font-size:12px;font-weight:500;text-align:center;cursor:pointer;transition:all .12s}.score-btn:hover{border-color:var(--accent);color:var(--accent)}.score-btn.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.status-select{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.status-opt{padding:5px 10px;border-radius:20px;font-size:11px;font-weight:500;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;transition:all .12s}.status-opt.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.toggle-field{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none}.switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:var(--border2);border-radius:20px;transition:background .15s}.switch .slider:before{content:"";position:absolute;height:14px;width:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s}.switch input:checked+.slider{background:var(--accent)}.switch input:checked+.slider:before{transform:translate(16px)}.rankings-year-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px}.rankings-tabs{display:flex;gap:4px;margin-bottom:16px}.rank-tab{padding:6px 14px;border-radius:7px;font-size:12px;font-weight:500;border:1px solid var(--border2);background:none;color:var(--text2);cursor:pointer;transition:all .15s}.rank-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.rank-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;cursor:grab;transition:box-shadow .15s}.rank-row:hover{box-shadow:var(--shadow)}.rank-num{font-size:14px;font-weight:700;color:var(--text3);min-width:24px;text-align:center}.rank-title{flex:1;font-size:13px;font-weight:500;color:var(--text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-remove{background:none;border:none;color:var(--text3);font-size:16px;padding:4px;cursor:pointer;border-radius:4px;line-height:1}.rank-remove:hover{color:#dc2626;background:#fee2e2}.rating-title-row{display:flex;align-items:center;gap:6px;min-width:0}.rating-title-row .rating-title{min-width:0;flex:0 1 auto}.rank-badge{flex-shrink:0;font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;white-space:nowrap}.rank-badge.rank-top{background:#fef3c7;color:#92400e}.rank-badge.rank-worst{background:#ede9fe;color:#5b21b6}.dark .rank-badge.rank-top{background:#f59e0b33;color:#fcd34d}.dark .rank-badge.rank-worst{background:#8b5cf638;color:#c4b5fd}.qr-group{display:inline-flex;gap:4px;flex-shrink:0}.qr-btn{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:3px 7px;font-size:12px;cursor:pointer;color:var(--text2);line-height:1;white-space:nowrap}.qr-btn:hover{background:var(--surface3)}.qr-btn.qr-active{font-weight:700;color:var(--accent);border-color:var(--accent)}.quick-rate{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.quick-rate-label{font-size:11px;color:var(--text3);flex-shrink:0}.quick-rate-scale{display:flex;gap:4px;flex:1}.qr-cell{flex:1;min-width:0;min-height:32px;border:1px solid var(--border2);border-radius:6px;background:var(--surface2);color:var(--text2);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s}.qr-cell:hover{border-color:var(--accent);color:var(--accent)}.qr-cell.selected{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}.qr-cell:disabled{opacity:.4;cursor:default}.qr-cell:disabled:hover{border-color:var(--border2);color:var(--text2)}.qr-cell.qr-half{flex:0 0 auto;min-width:26px;font-style:italic}.tile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tile-action-btn{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer;color:var(--text2);line-height:1.4;white-space:nowrap}.tile-action-btn:hover{background:var(--surface3)}.tile-action-btn.done{color:var(--accent);border-color:var(--accent);font-weight:600}.rank-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--text);color:var(--surface);padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;box-shadow:var(--shadow);z-index:1000}.modal-rank-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.modal-rank-label{font-size:12px;font-weight:600;color:var(--text2)}.rank-card{cursor:default}.rank-controls{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.rank-grip{font-size:12px;color:var(--text3);cursor:grab}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-bottom:14px}.profile-section-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.gdpr-link{font-size:11px;color:var(--accent);cursor:pointer;text-decoration:underline;background:none;border:none;padding:0}.empty-state{text-align:center;padding:48px 20px;color:var(--text3)}.empty-state-icon{font-size:36px;margin-bottom:12px}.empty-state-title{font-size:14px;font-weight:500;color:var(--text2);margin-bottom:6px}.empty-state-sub{font-size:12px}.ep-list{display:flex;flex-direction:column;gap:4px}.ep-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;border:1px solid var(--border);cursor:pointer;transition:all .12s}.ep-row:hover{background:var(--surface2)}.ep-row.watched{background:var(--surface2);opacity:.7}.ep-check{width:18px;height:18px;border-radius:4px;border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;color:#fff;transition:all .12s}.ep-row.watched .ep-check{border-color:transparent}.ep-label{flex:1;font-size:12px;color:var(--text)}.ep-date{font-size:11px;color:var(--text3)}@media (max-width: 600px){.nav-brand{font-size:13px}.cal-legend{display:none}.page-wrap{padding:14px 10px}.ep-chip-meta,.nav-desktop{display:none}.nav-hamburger{display:flex;align-items:center;justify-content:center;margin-left:auto;background:none;border:none;color:var(--text);font-size:20px;line-height:1;padding:6px 8px;border-radius:6px;cursor:pointer}.nav-hamburger:hover{background:var(--surface2)}.nav-menu{display:flex;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);padding:6px;gap:2px;z-index:99}.nav-menu .nav-btn{width:100%;justify-content:flex-start;font-size:14px;padding:10px 12px}.nav-menu-divider{height:1px;background:var(--border);margin:6px 4px}.nav-menu-auth{display:flex;flex-direction:column;gap:6px;padding:4px}.nav-menu-auth .nav-user{text-align:center}.nav-menu-auth .btn{justify-content:center;font-size:13px}.cal-scroll-wrap{display:none}.cal-agenda{display:block}.cal-sticky-top{position:sticky;top:var(--nav-h);z-index:90;background:var(--bg);margin:0 -10px;padding:8px 10px;box-shadow:0 2px 6px #0000001f}.cal-sticky-top .cal-notices{margin-bottom:8px}.cal-sticky-top .calendar-header{margin:0;flex-wrap:wrap;height:auto;overflow:visible;padding:6px 14px;row-gap:8px}.beta-roadmap-btn,.month-label{display:none}.cal-month-select{display:inline-block;font-size:15px;font-weight:600;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:4px 8px}.cal-agenda-day{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.cal-agenda-day.empty{opacity:.55}.cal-agenda-day.today{border-top:2px solid var(--accent)}.cal-agenda-date{flex:0 0 44px;text-align:center;padding-top:2px}.cal-agenda-daynum{display:block;font-size:22px;font-weight:700;color:var(--text);line-height:1}.cal-agenda-day.today .cal-agenda-daynum{color:var(--accent)}.cal-agenda-dow{display:block;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text3);letter-spacing:.5px;margin-top:3px}.cal-agenda-cards{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.cal-agenda-none{font-size:12px;color:var(--text3);padding:6px 2px}.cal-agenda-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer}.cal-agenda-card.watched{opacity:.6}.cal-agenda-check{flex:0 0 auto;width:22px;height:22px;margin-top:1px;border:2px solid;border-radius:6px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer}.cal-agenda-body{flex:1;min-width:0}.cal-agenda-title{font-size:15px;font-weight:700;line-height:1.25;word-break:break-word}.cal-agenda-meta{font-size:12px;margin-top:3px}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:8px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center}.stat-value{font-size:22px;font-weight:600;color:var(--accent)}.stat-label{font-size:11px;color:var(--text2);margin-top:4px}.upcoming-empty{font-size:13px;color:var(--text3);padding:8px 2px}.upcoming-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.upcoming-header .page-title{margin-bottom:0}.upcoming-report-btn{margin-left:auto;white-space:nowrap}.upcoming-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.upcoming-search-row,.upcoming-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.upcoming-ctl{display:grid;gap:2px;font-size:11px;color:var(--text3)}.upcoming-ctl .form-input{width:100%}.upcoming-toggle{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 12px;border-radius:999px;border:1.5px solid var(--border2);background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.upcoming-toggle.on{background:var(--accent);border-color:var(--accent);color:#fff}.upcoming-toggle-track{width:30px;height:16px;border-radius:999px;flex-shrink:0;background:var(--border2);position:relative;transition:background .12s}.upcoming-toggle.on .upcoming-toggle-track{background:#ffffff73}.upcoming-toggle-thumb{position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .12s}.upcoming-toggle.on .upcoming-toggle-thumb{left:15px}@media (max-width: 600px){.upcoming-search-row{grid-template-columns:1fr}}.upcoming-list{display:flex;flex-direction:column;gap:10px}.upcoming-card{margin-bottom:0}.upcoming-tag{font-size:10px;font-weight:700;letter-spacing:.02em;padding:1px 6px;border-radius:999px;background:var(--surface2);color:var(--text3);flex-shrink:0}.upcoming-date{flex:0 0 auto;align-self:flex-start;font-size:12px;font-weight:700;padding:4px 10px;border:2px solid;border-radius:999px;white-space:nowrap}.upcoming-date.tbc{font-style:italic}
