:root{--bg: #f5f1e8;--fg: #2b2620;--muted: #6b6256;--accent: #7a4f2b;--card: #fffdf7;--border: #ddd4c2;--ghost: #b3a892;--error: #9b2c1f;--highlight: #efe2c4}@media (prefers-color-scheme: dark){:root{--bg: #1a1814;--fg: #ece4d4;--muted: #a89e8c;--accent: #d6a878;--card: #242019;--border: #3a342a;--ghost: #6b6253;--error: #e8856f;--highlight: #3a2f1d}}*{box-sizing:border-box}body{font-family:Times New Roman,Georgia,serif;background:var(--bg);color:var(--fg);margin:0;line-height:1.5}#app{max-width:620px;margin:0 auto;padding:1.5rem 1.25rem 4rem}h1,h2,h3{font-weight:400;letter-spacing:.01em}.muted{color:var(--muted);font-size:.95rem}.error{color:var(--error)}button{font-family:inherit;font-size:1rem;background:var(--accent);color:var(--bg);border:none;border-radius:6px;padding:.6rem 1rem;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.5rem}.auth-tabs{display:flex;gap:.5rem;margin-top:1rem}.tab{background:transparent;color:var(--muted);border:1px solid var(--border);padding:.4rem .8rem;font-size:.9rem}.tab.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}#password-fields,#apikey-fields{display:flex;flex-direction:column;gap:.75rem}#login-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}#login-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--muted)}#login-form input{font-family:inherit;font-size:1.1rem;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg)}.now-playing{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1.5rem}.series{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}#title{margin:.1rem 0 0;font-size:1.4rem}#subtitle-area{min-height:9rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem;text-align:center;margin:1rem 0 2rem}.cue{margin:0}.cue.current{font-size:1.9rem;line-height:1.35}.cue.ghost{color:var(--ghost);font-size:1.1rem}.token{cursor:pointer;border-radius:4px;padding:0 1px;transition:background .1s}.token:hover,.token.tapped{background:var(--highlight)}.define{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;position:relative;margin-bottom:1.5rem}.define h3{margin:0 0 .5rem;font-size:1.6rem}.close{position:absolute;top:.5rem;right:.5rem;background:transparent;color:var(--muted);font-size:1.4rem;padding:.2rem .5rem}#define-links{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}#define-links a{color:var(--accent)}.diag{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:.75rem;font-size:.85rem;color:var(--muted)}.subtitle-picker{display:flex;align-items:center;gap:.5rem}.diag select{font-family:inherit;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:.25rem}#app-wide{max-width:1100px;margin:0 auto;padding:1.5rem 1.5rem 4rem}.login-narrow{max-width:620px;margin:0 auto}.browse-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem}.user-picker{color:var(--muted);font-size:.9rem}.user-picker select{font-family:inherit;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:.25rem}.row-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.25rem 0 .5rem}.item-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;margin-bottom:.5rem}.item-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:0;overflow:hidden;cursor:pointer;text-align:left;color:var(--fg);display:flex;flex-direction:row;align-items:stretch}.item-card:hover{border-color:var(--accent)}.item-thumb{flex:0 0 40%;aspect-ratio:16 / 9;object-fit:cover;background:var(--highlight);display:block}.item-thumb.placeholder{display:flex;align-items:center;justify-content:center;color:var(--ghost);font-size:1.5rem}.item-meta{padding:.5rem .6rem;flex:1 1 auto;min-width:0;align-self:center}.item-name{font-size:.95rem;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.item-sub{font-size:.78rem;color:var(--muted);margin-top:.15rem}.item-progress{height:3px;background:var(--accent);margin-top:.4rem;border-radius:2px}.now-playing{align-items:center}#back-to-browse{white-space:nowrap}.stage{position:relative;margin-bottom:1rem}.video-wrap{position:relative;border-radius:10px;overflow:hidden}#video{width:100%;max-height:62vh;display:block;background:#000}.controls-bar{position:absolute;left:0;right:0;bottom:0;z-index:12;display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;background:linear-gradient(transparent,#000c);opacity:1;transition:opacity .2s}.stage.idle .controls-bar{opacity:0;pointer-events:none}.stage.idle{cursor:none}.ctl{background:transparent;color:#fff;padding:.2rem .45rem;font-size:1.15rem;line-height:1}.time{color:#fff;font-size:.8rem;font-variant-numeric:tabular-nums;min-width:3.2rem;text-align:center}.seek{flex:1;accent-color:var(--accent);cursor:pointer}.volume{width:5rem;accent-color:var(--accent);cursor:pointer}.player-body #subtitle-area{min-height:8rem;margin:.5rem auto 1.5rem;max-width:900px}.player-body .cue.current{font-size:2.2rem}.player-body .cue.ghost{font-size:1.15rem}.stage.is-fullscreen{display:flex;flex-direction:column;background:#000;margin:0}.stage.is-fullscreen .video-wrap{flex:1 1 auto;min-height:0;width:100%;border-radius:0}.stage.is-fullscreen #video{width:100%;height:100%;max-height:none;object-fit:contain}.stage.is-fullscreen .controls-bar{position:static;flex:0 0 auto;width:100%;padding:.4rem 1.5rem .9rem;background:transparent;opacity:.5;font-size:.9em}.stage.is-fullscreen .controls-bar:hover,.stage.is-fullscreen .controls-bar:focus-within{opacity:1}.stage.is-fullscreen.idle .controls-bar{opacity:0;pointer-events:none}.stage.is-fullscreen #subtitle-area{flex:0 0 auto;position:static;width:100%;max-width:none;height:8rem;min-height:0;margin:0;padding:0 1.5rem;gap:.25rem;overflow:hidden;background:#000}.stage.is-fullscreen .cue.current{font-size:2rem;line-height:1.25;color:#fff}.stage.is-fullscreen .cue.ghost{display:none}.stage.is-fullscreen #define{position:absolute;left:50%;bottom:22vh;transform:translate(-50%);width:min(90%,420px);z-index:13}
