:root{--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius:16px;--radius-sm:10px;--gap:12px}.app{flex-direction:column;min-height:100vh;display:flex}.app.dark{--bg:#0f1115;--surface:#1a1d24;--surface-2:#232833;--text:#f2f4f8;--text-dim:#9aa3b2;--border:#2c333f;--accent:#5b8cff;--accent-soft:#5b8cff24;--neg:#ff453a;color:var(--text);background:var(--bg)}.app.light{--bg:#f4f6fa;--surface:#fff;--surface-2:#eef1f7;--text:#15181f;--text-dim:#68707e;--border:#e3e8f0;--accent:#2f6bff;--accent-soft:#2f6bff1a;--neg:#d70015;color:var(--text);background:var(--bg)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:var(--font);margin:0;font-size:16px;line-height:1.5}.header{justify-content:space-between;align-items:center;padding:16px 20px 8px;display:flex}.home-link{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:fit-content;color:var(--accent);align-self:flex-start;margin:12px 20px 0;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.home-link:hover{filter:brightness(1.08)}.brand{align-items:baseline;gap:10px;display:flex}.brand-mark{font-size:26px;line-height:1}.brand h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.brand-tag{color:var(--text-dim);font-size:12px}.icon-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:42px;height:42px;font-size:18px}.icon-btn:hover{filter:brightness(1.08)}.main{flex-direction:column;flex:1;width:100%;max-width:860px;margin:0 auto;padding:8px 20px 24px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 8px 30px #00000014}.card-flat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px 14px}.section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700}.hint{text-align:center;color:var(--text-dim);margin-top:4px;font-size:13px}.footer{text-align:center;color:var(--text-dim);padding:16px;font-size:12px}.api-error{color:var(--neg);text-align:center;margin:6px 0;font-size:13px}.cached-note{color:var(--text-dim);text-align:right;margin:0;font-size:12px}.setup-card{width:100%;max-width:560px;margin:24px auto}.setup-text{color:var(--text-dim);font-size:14px}.setup-text code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-size:12px}.new-row{gap:10px;margin-top:8px;display:flex}.name-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);outline:none;padding:12px 14px;font-size:15px}.name-input:focus{border-color:var(--accent)}.primary-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:12px 18px;font-size:14px;font-weight:600}.primary-btn:disabled{opacity:.5}.primary-btn:hover:not(:disabled){filter:brightness(1.08)}.chips{gap:8px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:99px;flex:none;padding:7px 15px;font-size:13px;font-weight:600}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip.static-chip{cursor:default;padding:4px 10px;font-size:11px}.result-count{color:var(--text-dim);margin:4px 2px 10px;font-size:12px}.recent-title{margin:8px 2px 10px}.grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;display:grid}.poster-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;padding:10px;transition:transform .12s,border-color .12s;display:flex}.poster-card:hover{border-color:var(--accent);transform:translateY(-2px)}.poster{aspect-ratio:2/3;object-fit:cover;background:var(--surface-2);border-radius:8px;width:100%}.poster.fallback{justify-content:center;align-items:center;font-size:34px;display:flex}.pc-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.item-sub{color:var(--text-dim);font-size:11px}.back-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-bottom:10px;padding:0;font-size:14px;font-weight:600}.detail-card{flex-direction:column;gap:16px;display:flex}.detail-top{align-items:flex-start;gap:18px;display:flex}.detail-top .poster{flex:none;width:130px}@media (width<=520px){.detail-top{text-align:center;flex-direction:column;align-items:center}.genre-chips,.detail-head{align-items:center}}.detail-title{letter-spacing:-.02em;margin:0;font-size:24px}.detail-meta{color:var(--text-dim);margin:4px 0 10px;font-size:13px}.genre-chips{flex-wrap:wrap;gap:6px;display:flex}.imdb-link{color:var(--accent);margin-top:12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.imdb-link:hover{text-decoration:underline}.ratings-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.rating-card{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);flex-direction:column;align-items:center;gap:2px;padding:14px 8px 10px;display:flex}.rc-icon{font-size:22px;line-height:1}.src-imdb .rc-icon{color:#f5c518;font-weight:800}.rc-value{letter-spacing:-.02em;font-size:22px;font-weight:800}.src-imdb .rc-value{color:#f5c518}.band-good .rc-value{color:#21d07a}.band-mid .rc-value{color:#ffd167}.band-bad .rc-value{color:var(--neg)}.rc-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;text-align:center;font-size:11px}.plot{margin:0;font-size:15px;line-height:1.65}.facts{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.facts dt{color:var(--text-dim);white-space:nowrap}.facts dd{margin:0}.place-group-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:13px;font-weight:700}.cast-row{flex-wrap:wrap;gap:8px;display:flex}.cast-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;padding:6px 12px;font-size:13px}.empty-card{margin-top:8px}
