:root{--bg: #0b0f17;--bg-soft: #131a26;--bg-card: #182231;--border: #24303f;--text: #e8eef7;--muted: #8a99ad;--accent: #4f8cff;--accent-soft: #1d3a6b;--danger: #ff5d6c;--radius: 12px;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background-color:var(--bg);background-image:radial-gradient(ellipse 900px 480px at 12% -12%,rgba(79,140,255,.12),transparent 60%),radial-gradient(ellipse 760px 420px at 92% -6%,rgba(79,140,255,.07),transparent 55%),radial-gradient(ellipse 1100px 700px at 50% 115%,rgba(79,140,255,.05),transparent 60%);background-repeat:no-repeat;background-attachment:fixed;color:var(--text);min-height:100vh;min-height:100dvh}a{color:var(--accent)}button{font:inherit;cursor:pointer}input,select{font:inherit}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;padding-top:max(12px,env(safe-area-inset-top));padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right));background:#0b0f17eb;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-weight:800;font-size:1.15rem;letter-spacing:.3px;display:flex;align-items:center;gap:8px}.brand span{color:var(--accent)}.nav{display:flex;gap:6px;flex:1}.nav button{background:transparent;border:1px solid transparent;color:var(--muted);padding:8px 14px;border-radius:999px}.nav button.active{color:var(--text);background:var(--bg-card);border-color:var(--border)}.nav.kid-hidden{display:none}.user-box{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}.switch-icon{display:none}.kid-badge{background:#2a3d1f;color:#b6e08a;border:1px solid #3f5a2d;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.btn{background:var(--accent);color:#fff;border:none;padding:9px 16px;border-radius:8px;font-weight:600}.btn:hover{filter:brightness(1.1)}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.page{padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right));max-width:1400px;margin:0 auto}.auth-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.chooser-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px}.chooser-title{margin:0 0 28px;font-size:1.8rem}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,150px);justify-content:center;gap:16px;width:100%;max-width:760px}.account-tile{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px 12px;color:var(--text);transition:border-color .15s ease,transform .15s ease}.account-tile:hover{border-color:var(--accent);transform:translateY(-2px)}.account-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:700;background:var(--accent-soft);color:var(--accent);border:1px solid #2c4b82}.account-tile.kid .account-avatar{background:#2a3d1f;color:#b6e08a;border-color:#3f5a2d}.account-tile.add{border-style:dashed}.account-tile.add .account-avatar{background:transparent;color:var(--muted);border-color:var(--border)}.account-name{font-weight:600}.account-role{color:var(--muted);font-size:.76rem}.auth-card{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px}.auth-card h1{margin:0 0 4px}.auth-card p.sub{color:var(--muted);margin-top:0;font-size:.9rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.85rem;color:var(--muted)}.field input,.field select{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text)}.error{color:var(--danger);font-size:.88rem;margin-bottom:10px}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.provider-head h1{margin-bottom:4px}.provider-card{display:flex;gap:12px;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:left;color:var(--text)}.provider-card:hover{border-color:var(--accent)}.provider-card.disabled{opacity:.55;cursor:not-allowed}.provider-card img{width:36px;height:36px;border-radius:8px;background:var(--bg-soft)}.provider-card .name{font-weight:700}.provider-card .desc{font-size:.78rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-block;font-size:.7rem;padding:2px 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted);margin-right:4px}.badge.ok{color:#8fd6a4;border-color:#2f5a3d}.badge.warn{color:#e6c46a;border-color:#5a4a24}.row-section{margin-bottom:28px}.row-section h2{font-size:1.05rem;margin:0 0 12px}.row{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.card{display:flex;flex-direction:column;align-items:stretch;width:160px;min-width:0;flex:0 0 auto;background:transparent;border:none;padding:0;color:var(--text);text-align:left;overflow:hidden}.card .poster-wrap{position:relative;display:block}.card img,.card .poster-fallback{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);display:block}.progress-bar{position:absolute;left:0;right:0;bottom:0;height:6px;background:#000000a6;border-radius:0 0 10px 10px;overflow:hidden}.progress-bar-fill{display:block;height:100%;background:var(--accent)}.live-badge{display:inline-flex;align-items:center;gap:5px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;line-height:1.4;padding:2px 7px;border-radius:6px}.live-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:live-pulse 1.4s ease-in-out infinite}.live-badge.on-poster{position:absolute;top:6px;left:6px;z-index:1;box-shadow:0 1px 4px #00000073}.details h1 .live-badge{vertical-align:middle;margin-right:8px}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.live-badge:before{animation:none}}.episode-progress{height:4px;background:var(--border);border-radius:999px;margin-top:8px;overflow:hidden}.episode-progress span{display:block;height:100%;background:var(--accent)}.watched{color:#8fd6a4}.card:hover img{border-color:var(--accent)}.card .title{font-size:.86rem;margin-top:8px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .subtitle{display:block;color:var(--muted);font-size:.76rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .meta{display:block;color:var(--muted);font-size:.74rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.details{display:grid;grid-template-columns:260px 1fr;gap:28px}.details .poster{width:100%;border-radius:12px;border:1px solid var(--border);background:var(--bg-card)}.details h1{margin-top:0}.meta-line{color:var(--muted);font-size:.9rem;margin:8px 0}.plot{line-height:1.6;color:#c7d3e3}.actions{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.episodes{margin-top:24px}.episode{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:10px;color:var(--text);margin-bottom:10px;transition:border-color .15s ease,background .15s ease,transform .15s ease}.episode:hover{border-color:var(--accent);background:#1c2838;transform:translateY(-1px)}.ep-thumb{position:relative;flex:0 0 128px;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:var(--bg-soft);border:1px solid var(--border)}.ep-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ep-thumb-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:.5}.ep-thumb-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#0006;opacity:0;transition:opacity .15s ease;font-size:.85rem}.episode:hover .ep-thumb-play{opacity:1}.ep-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.ep-head{display:flex;align-items:center;gap:8px;min-width:0}.ep-num{flex:0 0 auto;font-size:.68rem;font-weight:700;letter-spacing:.4px;color:var(--accent);background:var(--accent-soft);border:1px solid #2c4b82;border-radius:6px;padding:2px 6px}.ep-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ep-desc{color:var(--muted);font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ep-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:var(--muted);font-size:.78rem;padding-right:6px;text-align:right}.ep-badge{color:var(--accent);font-weight:600}.ep-badge.watched{color:#8fd6a4}.ep-duration{white-space:nowrap}.player-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:100;display:flex;flex-direction:column}.player-topbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:linear-gradient(rgba(0,0,0,.7),transparent);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.player-topbar button{pointer-events:auto}.player-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.player-stage video{width:100%;height:100%;max-height:100%;object-fit:contain;background:#000}.stream-picker{position:absolute;top:calc(52px + env(safe-area-inset-top));left:0;right:0;z-index:2;display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;background:#000000bf;transition:opacity .25s ease,transform .25s ease}.player-overlay.chrome-hidden{cursor:none}.player-overlay.chrome-hidden .player-topbar,.player-overlay.chrome-hidden .stream-picker{opacity:0;pointer-events:none}.player-overlay.chrome-hidden .player-topbar,.player-overlay.chrome-hidden .stream-picker{transform:translateY(-8px)}.stream-picker button{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 12px}.stream-picker button.active{border-color:var(--accent);color:var(--accent)}.notice{background:var(--accent-soft);border:1px solid #2c4b82;border-radius:10px;padding:12px 14px;color:#cddffb;margin-bottom:16px}.empty{color:var(--muted);padding:40px 0;text-align:center}.kids-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.panel h2{margin-top:0}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.kid-add{position:relative}.kid-add-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:230px;max-width:min(320px,90vw);max-height:60vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:8px;box-shadow:0 12px 30px #00000073}.kid-add-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:transparent;border:none;color:var(--text);padding:9px 10px;border-radius:8px;text-align:left}.kid-add-row:hover{background:var(--bg-soft)}.kid-add-row:disabled{opacity:.5}.kid-add-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kid-add-state{flex:0 0 auto;color:var(--muted);font-size:.8rem}.kid-add-state.on{color:#8fd6a4}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pref-option{display:flex;gap:12px;align-items:flex-start;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;cursor:pointer}.pref-option:hover{border-color:var(--accent)}.pref-option input{margin-top:3px}.pref-title{display:block;font-weight:600}.pref-desc{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.pref-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.pref-option:has(input:checked):after{content:"✓";margin-left:auto;align-self:center;color:var(--accent);font-weight:700}.settings{max-width:720px}.settings-head{margin-bottom:20px}.settings-head h1{margin:0 0 2px}.settings-sub{margin:0;color:var(--muted)}.settings .panel{margin-bottom:16px}.settings-profile{display:flex;align-items:center;gap:14px}.settings-avatar{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;background:var(--accent-soft);color:var(--accent);border:1px solid #2c4b82}.settings-profile-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.settings-profile-name{font-weight:700}.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-section-head h2{margin:0}.settings-group-title{margin:28px 0 12px;font-size:.82rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.checkbox-grid label{display:flex;align-items:center;gap:8px;font-size:.85rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.kid-item{border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:12px}.spinner{padding:40px;text-align:center;color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar input,.toolbar select{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text)}.toolbar input{min-width:260px;flex:1}@media (max-width: 860px){.kids-layout{grid-template-columns:1fr}}@media (max-width: 720px){.details{grid-template-columns:1fr;gap:18px}.details .poster{max-width:200px}}@media (max-width: 640px){.app-header{flex-wrap:wrap;gap:10px;padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));padding-top:max(10px,env(safe-area-inset-top))}.brand{font-size:1.05rem}.nav{order:3;flex:1 0 100%;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav button{white-space:nowrap;padding:7px 12px}.user-name,.switch-label{display:none}.switch-icon{display:inline}.user-box{gap:6px}.user-box .btn.ghost{padding:7px 10px}.page{padding:16px;padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.page h1{font-size:1.5rem}.provider-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}.grid .card{width:100%}.row .card{width:132px}.row{scrollbar-width:none}.row::-webkit-scrollbar{display:none}.episode{gap:10px;padding:8px}.ep-thumb{flex-basis:96px}.ep-title{font-size:.9rem}.ep-desc{font-size:.78rem}.ep-side{font-size:.72rem;padding-right:2px}.search-toolbar{flex-direction:column;align-items:stretch}.search-toolbar input{min-width:0}.chooser-screen{padding:24px 16px max(24px,env(safe-area-inset-bottom))}.account-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.auth-screen{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.auth-card{padding:20px}.player-topbar{flex-wrap:wrap;gap:8px;padding:8px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));padding-top:max(8px,env(safe-area-inset-top))}.player-topbar strong{flex:1;min-width:0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-topbar-actions{flex-wrap:wrap;justify-content:flex-end}.player-topbar .btn{padding:6px 10px;font-size:.78rem}.stream-picker{gap:6px;padding:8px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))}.stream-picker button{padding:6px 10px;font-size:.8rem}}@media (max-width: 380px){.grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.row .card{width:118px}.ep-thumb{flex-basis:80px}}
