:root{--bg:#0f1115;--card:#181b22;--line:#262b35;--text:#e8eaed;--muted:#9aa3b2;--accent:#4f8cff;--danger:#ff5c5c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.wrap{max-width:760px;margin:0 auto;padding:32px 20px 80px}h1{font-size:26px;margin:0 0 4px}.sub{color:var(--muted);margin:0 0 28px;font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}input,select,textarea{width:100%;background:#0d0f14;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit}textarea{resize:vertical;min-height:38px}.row{display:flex;gap:12px}.row>div{flex:1 1}button{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;margin-top:14px}button:hover{filter:brightness(1.08)}button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}button.link{background:none;padding:0;margin:0;color:var(--accent);font-weight:500}button.link.danger{color:var(--danger)}.show{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.show:last-child{border-bottom:none}.show .title{font-weight:600}.show .meta{color:var(--muted);font-size:13px}.show .actions{display:flex;gap:14px;white-space:nowrap}.next{font-size:13px;margin-top:4px;font-weight:500}.next.returning{color:#7ee787}.next.ended{color:#ff9a76}.next.none,.next.unchecked{color:var(--muted)}.next.unchecked{font-style:italic;font-weight:400}.pill{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);margin-left:8px}.pill.watching{color:#7ee787;border-color:#2ea04326}.pill.done{color:#6b7280}.empty{color:var(--muted);padding:20px 0}.err{color:var(--danger)}.err,.saved{font-size:13px;margin-top:8px}.saved{color:#7ee787}.topbar{justify-content:space-between;align-items:baseline}.topbar,.who{display:flex;gap:12px}.who{color:var(--muted);font-size:13px;align-items:center}.confirm-q{font-weight:600;margin-bottom:12px}.confirm-actions{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}button.small{margin-top:0;padding:7px 12px;font-size:13px}.candidate{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.candidate:last-of-type{border-bottom:none}.candidate .poster{width:46px;height:66px;border-radius:6px;object-fit:cover;flex:none}.candidate .poster.placeholder{background:#0d0f14;border:1px solid var(--line)}.candidate .cand-body{flex:1 1;min-width:0}.candidate .years{color:var(--muted);font-weight:400;font-size:13px}.typeahead{position:relative}.matched{color:#7ee787;font-size:12px;margin-top:6px}.suggest{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);background:#0d0f14;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.5)}.suggest-item{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:8px 10px;background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;text-align:left;cursor:pointer;font-weight:400}.suggest-item:last-child{border-bottom:none}.suggest-item:hover{background:#161a22}.suggest-img{width:30px;height:44px;object-fit:cover;border-radius:4px;flex:none}.suggest-img.placeholder{background:#1a1e27}.suggest-text{display:flex;flex-direction:column;min-width:0}.suggest-title{color:var(--text);font-weight:600;font-size:14px}.suggest-meta{color:var(--muted);font-size:12px}@media (max-width:560px){.wrap{padding:20px 14px 64px}h1{font-size:22px}.row{gap:0}.row,.topbar{flex-direction:column}.topbar{align-items:flex-start;gap:2px}.who{max-width:100%}.who>:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70vw}.show{flex-direction:column;gap:6px}.show .actions{gap:18px}input,select,textarea{font-size:16px;padding:11px 12px}.confirm-actions button.link,.show .actions button.link{padding:4px 0}}