:root{color-scheme:dark;--bg:#111315;--surface:#1a1d20;--raised:#22262a;--line:#353a40;--text:#f2f3f4;--muted:#afb6bf;--accent:#ed474b;--focus:#ffb5b7;--green:#9ed7b3;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.55}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:4px}button,a,input,select{touch-action:manipulation}button{border:1px solid var(--line);border-radius:8px;padding:9px 14px;min-height:44px;background:var(--raised);color:var(--text);cursor:pointer;font-weight:600}button:hover{background:#30363c}button:disabled{opacity:.55;cursor:wait}button.primary{background:#cf3039;border-color:#cf3039;color:#fff}button.primary:hover{background:#b82932}button.danger{color:#ffb0b0}button.quiet{background:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,main:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0 0 12px}h1{font-size:clamp(24px,3vw,30px);line-height:1.2;letter-spacing:-.6px}h2{font-size:20px;line-height:1.3}h3{font-size:16px}p:last-child{margin-bottom:0}.muted{color:var(--muted)}.fine{font-size:13px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin-bottom:8px}.app-shell{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:100dvh}.sidebar{border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:34px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;letter-spacing:2px;font-weight:750;font-size:18px}.brand small{display:block;font-size:11px;color:var(--muted);letter-spacing:.6px;font-weight:400}.brand-mark{display:grid;place-items:center;width:34px;height:38px;border-radius:8px;background:#cf3039;color:white;font-size:24px;flex:none}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:block;border-radius:7px;text-decoration:none;color:var(--muted);padding:10px 12px;min-height:44px;font-size:14px}.sidebar nav a:hover{background:var(--surface);color:var(--text)}.sidebar nav a[aria-current=page]{background:#392024;color:#ffc4c5;box-shadow:inset 3px 0 var(--accent)}.sidebar-foot{margin-top:auto;color:var(--muted);font-size:13px}.sidebar-foot button{margin-top:16px;width:100%}.workspace{min-width:0}.topbar{min-height:78px;border-bottom:1px solid var(--line);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}.profile-select{display:flex;align-items:center;gap:12px;margin:0}main{max-width:1100px;margin:auto;padding:32px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px}.page-heading p{max-width:650px}.page-heading button{flex:none}.card{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid>.card{margin:0}.stack{display:grid;gap:16px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.search-form{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:12px;align-items:end}.search-form label{margin:0}.search-help{padding-top:14px;font-size:13px;color:var(--muted)}label{display:grid;gap:6px;font-size:13px;font-weight:600;margin-bottom:16px;min-width:0}input,select,textarea{background:#111416;color:var(--text);border:1px solid #515961;border-radius:7px;min-height:44px;padding:10px 12px;max-width:100%;min-width:0;width:100%}textarea{resize:vertical;min-height:88px}input[type=checkbox]{width:20px;height:20px;min-height:20px}.check{display:flex;align-items:center;gap:10px}.search-form input{font-size:16px}.list{display:grid;gap:12px}.row{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:16px;display:flex;gap:16px;align-items:center;min-width:0}.row-main{flex:1;min-width:0;overflow-wrap:anywhere}.row-main h3{margin-bottom:4px}.row-main p{font-size:13px;color:var(--muted);margin-bottom:6px}.poster{width:64px;height:96px;border-radius:6px;object-fit:cover;background:var(--raised);flex:none}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--raised)}.row .actions{justify-content:flex-end;max-width:320px}.badge{display:inline-block;border:1px solid var(--line);color:var(--muted);border-radius:99px;font-size:11px;padding:2px 8px;white-space:nowrap}.badge.online{color:var(--green);border-color:#41604a}.notice{padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--raised);margin-bottom:16px;font-size:14px;overflow-wrap:anywhere}.notice.error{background:#332023;border-color:#7a3d44;color:#ffccce}.empty{border:1px dashed #454b53;border-radius:12px;text-align:center;padding:38px 24px}.empty p{color:var(--muted);font-size:14px;max-width:460px;margin:0 auto 12px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tabs button[aria-pressed=true]{background:#392024;color:#ffc4c5;border-color:#99545b}.pair-code{text-transform:uppercase;letter-spacing:.28em;font-size:22px;max-width:240px}dialog{width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid #505760;background:var(--surface);color:var(--text);border-radius:14px;padding:24px;overflow:auto}dialog::backdrop{background:#000a}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.dialog-heading h2{margin:0;overflow-wrap:anywhere}.dialog-heading button{flex:none}.dialog-actions{justify-content:flex-end;margin-top:20px}.detail-head{display:flex;gap:20px;margin-bottom:20px}.detail-head .poster{width:96px;height:144px}.progress{height:4px;accent-color:var(--accent);width:100%;margin-top:6px}.code-display{font-size:24px;letter-spacing:3px;display:block;padding:12px 0}.stream-select{width:100%;margin-bottom:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 20px;background:#e8f1eb;color:#183825;border-radius:10px;box-shadow:0 6px 30px #0008;z-index:10;overflow-wrap:anywhere}footer{padding:20px 32px;color:var(--muted);font-size:12px;text-align:center}.skip{position:absolute;top:-80px;left:12px;background:var(--raised);padding:12px;z-index:20}.skip:focus{top:12px}.login-page{display:grid;place-items:center;min-height:100dvh;padding:24px;background:radial-gradient(ellipse at top,#322024 0,transparent 60%),var(--bg)}.login-card{margin:0;width:100%;max-width:420px;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.login-card .brand{margin-bottom:38px}.login-card h1{font-size:27px}.login-card form{margin:28px 0 22px}.login-card form button{width:100%}.link-list{display:grid;gap:10px}.inline-form{display:flex;gap:10px;align-items:end}.inline-form label{flex:1;margin:0}summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}details+details{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
@media(min-width:1400px){.workspace{padding:0 32px}.topbar{margin:0 -32px;padding-left:64px;padding-right:64px}}
@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{padding:16px 20px;gap:18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{display:flex;overflow:auto;gap:6px;padding-bottom:3px}.sidebar nav a{white-space:nowrap}.sidebar-foot{display:none}.topbar{padding:12px 20px;min-height:66px}.profile-select{max-width:70%}.profile-select select{max-width:160px}main{padding:24px 20px}.row{flex-wrap:wrap}.row .actions{width:100%;max-width:none;justify-content:flex-start;padding-left:80px}.row.no-poster .actions{padding-left:0}.grid{gap:14px}.card{padding:18px}.page-heading{margin-bottom:20px}footer{padding:20px}}
@media(max-width:520px){.grid{grid-template-columns:1fr}.search-form{grid-template-columns:minmax(0,1fr) auto}.search-form label:first-child{grid-column:1/-1}.topbar{font-size:12px;gap:8px}.profile-select{gap:6px}.page-heading h1{font-size:26px}.page-heading .eyebrow{display:none}.page-heading>button{padding:8px 10px}.row{padding:12px;gap:12px}.row .actions{padding-left:0}.row .actions button{flex:1;padding:8px;font-size:13px}.inline-form{flex-wrap:wrap}.inline-form label{flex-basis:100%}.login-card{padding:24px}.detail-head{gap:14px}.detail-head .poster{width:72px;height:108px}dialog{padding:20px}.sidebar nav a{padding:9px 10px}.topbar #identity{max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.diagnostics-list{display:grid;gap:14px;margin-top:20px}.diagnostic-report{min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--surface)}.diagnostic-report summary{cursor:pointer;overflow-wrap:anywhere;min-height:44px}.diagnostic-report summary span{display:block;font-size:13px;margin:4px 0 12px}.diagnostic-report summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.diagnostic-facts{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:8px 16px;font-size:14px}.diagnostic-facts dt{color:var(--muted)}.diagnostic-facts dd{margin:0;overflow-wrap:anywhere}.diagnostic-trace{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;background:var(--bg);padding:12px;border-radius:8px;max-height:320px;overflow:auto}
.sidebar{min-width:0}.profile-select{white-space:nowrap}.profile-select select{width:auto;min-width:100px;max-width:240px}
@media(max-width:850px){.app-shell{grid-template-columns:minmax(0,1fr)}.profile-select select{max-width:160px}}
@media(max-width:520px){.profile-select select{max-width:140px}.row-main{min-width:120px}}

.scrob-choice { display: flex; align-items: center; gap: 10px; margin: 10px 0; }
.scrob-choice input { width: 18px; height: 18px; min-height: 0; flex: 0 0 18px; }

.profile-card{border:1px solid var(--border,#343a40);border-radius:12px;overflow:hidden;background:var(--surface,#181c1e)}.profile-card>.row{border:0;border-radius:0}.profile-trackers{border-top:1px solid #343a40;padding:16px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.tracker-badges{display:flex;flex:1;flex-wrap:wrap;gap:8px}.tracker-badge{border:1px solid #414a50;border-radius:6px;padding:6px 9px;font-size:12px}.tracker-badge.active{background:#302127;border-color:#bd5360}.tracker-choices{border:0;padding:0;margin:20px 0;display:grid;gap:10px}.tracker-choices legend{font-weight:700;margin-bottom:10px}.tracker-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #414a50;border-radius:8px;padding:14px;cursor:pointer}.tracker-choice:has(input:checked){border-color:#e55765;background:#302127}.tracker-choice input{width:18px;min-width:18px;height:18px;margin:3px 0;accent-color:#e55765}.tracker-choice>span{display:grid;grid-template-columns:1fr auto;gap:7px;flex:1;min-width:0}.tracker-choice .fine{grid-column:1/-1}.tracker-connection{font-size:12px;color:#abc7b6}.tracker-choice:has(input:disabled){opacity:.6}.tracker-choices~.card{margin-top:22px}.tabs{flex-wrap:wrap}

.scrob-frame { width:100%; height:max(640px,80vh); border:1px solid var(--border,#39414a); border-radius:12px; background:#101014; margin-top:16px; }
[data-page="scrob"] { white-space:nowrap; }
#page-content details { margin:16px 0; }
#page-content details li { margin:8px 0; }

.discovery-toggle{display:flex;align-items:center;gap:12px;padding:10px 0}.discovery-toggle input{width:18px;height:18px;margin:0;flex:none}.discovery-toggle span{line-height:1.5}

/* TV-style search: persistent preview, compact results, no page reloads. */
.search-page { min-width: 0; }
.search-controls { margin-bottom: 14px; }
.search-page .search-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.search-page .search-form label { font-size: 13px; }
.search-filters { margin: 12px 0 0; gap: 8px; }
.search-filters button { padding: 8px 14px; font-size: 13px; }
.search-count { min-height: 20px; margin-bottom: 12px; }
.search-layout { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(0,1.35fr); align-items: start; gap: 22px; }
.search-preview { position: sticky; top: 18px; min-width: 0; padding: 0; }
.search-preview h2 { font-size: 20px; line-height: 1.25; overflow-wrap: anywhere; margin: 12px 0 8px; }
.search-preview-art { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; background: #0b0d0f; border-radius: 8px; }
.search-overview { font-size: 14px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.search-preview .actions { gap: 8px; margin-top: 16px; }
.search-preview .actions button { font-size: 13px; padding: 8px 10px; }
.search-results { min-width: 0; }
.search-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.search-result { display: flex; align-items: center; gap: 10px; padding: 8px; min-height: 78px; width: 100%; text-align: left; font-weight: 400; background: var(--surface); }
.search-result[aria-pressed=true] { border-color: var(--focus); background: #33262b; }
.search-result .poster { width: 40px; height: 60px; border-radius: 4px; flex: none; margin: 0; }
.search-result-copy { min-width: 0; display: grid; gap: 5px; }
.search-result-copy strong { font-size: 14px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.search-result-copy .fine { font-size: 12px; }
@media(max-width:1050px) { .search-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:600px) {
  .search-layout { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .search-preview { position: static; }
  .search-preview-art { max-height: 150px; }
  .search-preview h2 { font-size: 18px; }
  .search-overview { -webkit-line-clamp: 3; }
  .search-page .search-form { grid-template-columns: minmax(0,1fr) auto; }
  .search-preview .actions { margin-top: 10px; }
}
@media(max-width:600px) {
  .search-page .search-form button { grid-column: auto; }
  .search-preview:has(.search-preview-art) { display: grid; grid-template-columns: 78px minmax(0,1fr); column-gap: 12px; }
  .search-preview-art { grid-column: 1; grid-row: 1 / 4; width: 78px; height: 117px; aspect-ratio: 2/3; object-fit: cover; }
  .search-preview:has(.search-preview-art) h2 { margin: 0 0 5px; }
  .search-preview:has(.search-preview-art) p { margin: 0 0 5px; }
  .search-preview:has(.search-preview-art) .search-overview { font-size: 13px; -webkit-line-clamp: 2; }
  .search-preview .actions { grid-column: 1 / -1; }
}
@media(max-width:600px) {
  .search-page .search-form label:first-child { grid-column: auto; }
}

.similar-section { margin-top: 24px; }
.similar-shelf { display: flex; gap: 12px; overflow-x: auto; padding: 4px 3px 10px; }
.similar-card { flex: 0 0 126px; display: grid; gap: 6px; padding: 0 0 8px; overflow: hidden; text-align: left; }
.similar-card .poster { width: 100%; height: 150px; border-radius: 6px 6px 0 0; }
.similar-card span,.similar-card small { padding: 0 8px; }
.similar-card small { color: var(--muted); }

.announcement { border-left: 3px solid var(--primary, #d62d3e); margin-bottom: 16px; }
.announcement p { white-space: pre-wrap; overflow-wrap: anywhere; }
textarea { min-height: 100px; resize: vertical; width: 100%; font: inherit; }

.announcement-photo { display:block; width:100%; max-height:540px; object-fit:contain; margin:12px 0; border-radius:8px; }
.public-ratings {display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;}
.public-ratings>small {flex-basis:100%;}
.rating-badge {font-size:13px;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;}
.similar-card,.search-result,.search-result[aria-pressed=true] {background:transparent;}
.avatar-picker{border:1px solid var(--line);border-radius:8px;margin-bottom:16px;padding:10px}
.avatar-picker summary{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:48px;list-style:none;font-size:14px;font-weight:600}
.avatar-picker summary::after{content:'⌄';margin-left:auto}.avatar-picker summary::-webkit-details-marker{display:none}
.avatar-picker summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.avatar-preview{width:48px;height:48px}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:10px;margin-top:14px}
.avatar-choice{display:grid;place-items:center;padding:3px;min-height:54px;border:2px solid transparent;background:transparent;border-radius:50%;aspect-ratio:1}
.avatar-choice img{display:block;width:100%;height:auto;border-radius:50%;aspect-ratio:1;object-fit:cover}
.avatar-choice[aria-pressed=true]{border-color:var(--accent);background:var(--raised)}
.avatar-crop{display:grid;justify-items:center;gap:12px;margin-bottom:16px}.avatar-crop p{text-align:center;margin:0}
.avatar-crop-canvas{display:block;width:min(256px,100%);height:auto;aspect-ratio:1;border-radius:50%;background:var(--raised);outline:2px solid var(--line);cursor:grab;touch-action:none}
.avatar-crop-canvas:active{cursor:grabbing}.avatar-crop-canvas:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.avatar-crop label{width:min(320px,100%);margin:0}.avatar-crop input[type=range]{padding:0;accent-color:var(--accent)}
