:root{color-scheme:dark;--bg: #070912;--surface: #0f1420;--surface-2: #151b2a;--surface-3: #1e2637;--text: #f8fafc;--muted: #9aa4b2;--border: rgba(255, 255, 255, .12);--accent: #8b5cf6;--accent-2: #a78bfa;--danger: #fb7185;--success: #34d399;--chat-width: 340px;--topbar-height: 64px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root[data-theme=light]{color-scheme:light;--bg: #f6f7fb;--surface: #ffffff;--surface-2: #eef1f6;--surface-3: #e5e9f0;--text: #101827;--muted: #667085;--border: rgba(16, 24, 39, .13);--accent: #2563eb;--accent-2: #1d4ed8;--danger: #e11d48;--success: #059669}:root[data-theme=pink]{color-scheme:light;--bg: #fff9fb;--surface: #ffffff;--surface-2: #fff1f4;--surface-3: #ffe4ea;--text: #401225;--muted: #9a5268;--border: rgba(255, 182, 193, .72);--accent: #FFB6C1;--accent-2: #ff8fa3;--danger: #e11d48;--success: #059669}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--bg);color:var(--text);overflow-x:hidden}button,input,textarea{font:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 88%,transparent);color:var(--text);border-radius:12px;min-height:40px;padding:.58rem .86rem;cursor:pointer;line-height:1;font-weight:700;transition:background .14s ease,border-color .14s ease,transform .14s ease,opacity .14s ease}button:hover:not(:disabled){background:var(--surface-3);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--accent);border-color:var(--accent);color:#1f1020}:root[data-theme=dark] button.primary{color:#fff}button.big{min-height:48px;padding-inline:1.15rem}button.ghost{background:transparent}input,textarea{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:.82rem .95rem;outline:none}input:focus,textarea:focus{border-color:color-mix(in srgb,var(--accent) 75%,var(--border))}textarea{min-height:170px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.45}label{display:block;margin-bottom:.55rem;color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}svg{display:block}.app-shell{min-height:100dvh;background:var(--bg)}.glass-card,.resume-card,.room-badge,.error-box,.notice-box,.episode-panel{background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);box-shadow:0 18px 55px #00000038}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(560px,100%);border-radius:24px;padding:1.25rem}.auth-title{margin-bottom:1.1rem}.auth-title strong{display:block;font-size:clamp(2rem,7vw,3.1rem);letter-spacing:-.06em;line-height:.95}.auth-actions,.join-form,.resume-card,.button-row,.episode-nav,.topbar,.theme-switcher,.chat-header,.chat-form,.control-row{display:flex;align-items:center}.auth-actions{gap:.7rem;align-items:stretch}.join-form{flex:1;gap:.55rem}.profile-form{display:grid;gap:.85rem}.resume-card,.room-badge,.error-box,.notice-box{margin-top:.85rem;border-radius:16px;padding:.88rem}.resume-card{justify-content:space-between;gap:.85rem}.resume-card div:first-child{display:grid;gap:.25rem}.resume-card span,.hint,.muted,.episode-nav span{color:var(--muted)}.button-row{gap:.55rem;flex-wrap:wrap}.room-badge{text-align:center;font-size:1.15rem;letter-spacing:.16em}.auth-theme-row{display:flex;justify-content:center;margin-top:1rem}.theme-switcher{gap:.2rem;padding:.25rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 86%,transparent);border-radius:999px}.theme-switcher button{width:42px;min-height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:transparent}.theme-switcher button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-switcher button:first-child svg path,.theme-switcher button svg circle{fill:currentColor;stroke:none}.theme-switcher button.active{background:var(--accent);color:#fff}:root[data-theme=pink] .theme-switcher button.active{color:#421426}.theme-switcher .flower-icon{fill:#ffb6c1!important;stroke:#ff7f96!important;stroke-width:1.45!important}.theme-switcher .flower-icon circle{fill:#fff3a3!important;stroke:#ff9cad!important}.theme-switcher .pink-theme-button.active{background:color-mix(in srgb,#FFB6C1 82%,white)}.error-box{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.notice-box{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.topbar{position:sticky;z-index:30;top:0;min-height:var(--topbar-height);gap:.72rem;padding:.55rem clamp(.75rem,2vw,1.4rem);background:color-mix(in srgb,var(--bg) 96%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow-x:auto}.room-code{min-width:112px;letter-spacing:.14em;font-size:.98rem;background:var(--surface-2)}.topbar-spacer{flex:1;min-width:.5rem}.chat-toggle{min-width:76px}.page-wrap{width:min(1360px,100%);margin:0 auto;padding:clamp(.7rem,1.4vw,1.15rem)}.watch-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--chat-width);gap:.85rem;align-items:stretch;width:100%;margin:0 auto}.watch-stage.chat-closed{display:flex;justify-content:center}.watch-stage.chat-closed .player-card{width:min(1120px,100%)}.player-card{min-width:0;overflow:hidden;background:#000;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 60px #0000003d}.video-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;overflow:hidden}.video-frame video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:contain;background:#000}.video-shade{pointer-events:none;position:absolute;inset:auto 0 0;height:36%;background:linear-gradient(to top,rgba(0,0,0,.78),transparent);opacity:0;transition:opacity .15s ease}.video-frame:hover .video-shade,.video-frame:focus-within .video-shade{opacity:1}.player-controls{position:absolute;left:0;right:0;bottom:0;padding:0 .85rem .65rem;z-index:3;opacity:1}.seek-slider{accent-color:var(--accent)}.main-seek{display:block;width:100%;height:16px;padding:0;margin:0 0 .25rem;border:0;background:transparent}.control-row{gap:.22rem;color:#fff;min-width:0}.icon-control{width:38px;min-height:38px;flex:0 0 38px;display:grid;place-items:center;padding:0;color:#fff;border:0;background:transparent;border-radius:999px}.icon-control:hover:not(:disabled){background:#ffffff21;border-color:transparent}.icon-control svg{width:22px;height:22px;fill:currentColor}.time-label{color:#fff;font-size:.84rem;font-weight:700;min-width:fit-content;padding-left:.22rem;white-space:nowrap}.control-spacer{flex:1;min-width:.3rem}.volume-slider{width:82px;padding:0;border:0;background:transparent;accent-color:white}.empty-player{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#fff;background:radial-gradient(circle at center,rgba(139,92,246,.18),transparent 42%),#050505}.empty-player div{display:grid;gap:.35rem}.empty-player strong{font-size:clamp(1.3rem,4vw,2rem)}.empty-player span{color:#ffffffab}.player-toast{position:absolute;left:1rem;bottom:4.5rem;max-width:min(640px,calc(100% - 2rem));padding:.65rem .8rem;border-radius:12px;background:#0e121de6;color:#fff;z-index:4}.error-toast{color:#ffd6de;border:1px solid rgba(251,113,133,.55)}.chat-panel{min-width:0;height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border);border-radius:18px;overflow:hidden}.chat-header{min-height:58px;padding:.75rem .85rem;justify-content:space-between;gap:.7rem;border-bottom:1px solid var(--border)}.chat-header div:first-child{display:grid;gap:.16rem}.chat-header span{color:var(--muted);font-size:.84rem}.icon-button{width:36px;min-height:36px;display:grid;place-items:center;padding:0;border-radius:999px;font-size:1.3rem}.participants{display:flex;gap:.38rem;padding:.65rem .85rem;overflow-x:auto;border-bottom:1px solid var(--border)}.participants span{white-space:nowrap;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.26rem .55rem;font-size:.78rem;font-weight:700}.participants span.me{color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.messages{min-height:0;overflow-y:auto;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.58rem}.message{display:block;line-height:1.35;overflow-wrap:anywhere}.message strong{color:var(--accent-2);margin-right:.4rem}.message.own strong{color:var(--success)}.message.system{color:var(--muted);font-style:italic;font-size:.86rem}.center{text-align:center}.chat-form{gap:.5rem;padding:.75rem;border-top:1px solid var(--border)}.chat-form input{min-height:40px;border-radius:12px}.chat-float{display:none;position:fixed;right:1rem;top:1rem;z-index:80;width:44px;min-height:44px;place-items:center;padding:0;border-radius:10px;background:#121216b8;border-color:#ffffff2e;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chat-float svg{width:22px;height:22px;fill:currentColor}.episode-panel{margin:.9rem auto 0;border-radius:16px;padding:clamp(.75rem,1.4vw,1rem);width:100%}.episode-nav{justify-content:space-between;gap:1rem;margin-bottom:1rem;text-align:center}.episode-nav div{display:grid;gap:.25rem}.playlist-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:1rem;align-items:start}.playlist-editor{min-width:0}.episode-list{min-width:0;display:grid;gap:.55rem}.episode-item{width:100%;display:grid;gap:.28rem;text-align:left;border-radius:14px;padding:.78rem .9rem}.episode-item.active{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=pink] .episode-item.active{color:#421426}.episode-item small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,currentColor 70%,transparent)}.watch-stage:fullscreen{width:100vw;height:100dvh;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) var(--chat-width);gap:0;padding:0;background:#000}.watch-stage:fullscreen.chat-closed{display:block}.watch-stage:fullscreen.chat-closed .player-card{width:100vw}.watch-stage:fullscreen .player-card{height:100dvh;border:0;border-radius:0;box-shadow:none}.watch-stage:fullscreen .video-frame{height:100dvh;aspect-ratio:auto;border-radius:0}.watch-stage:fullscreen .chat-panel{height:100dvh;border-radius:0;border-top:0;border-right:0;border-bottom:0;background:#0c0e14f5}.watch-stage:fullscreen .chat-float{display:grid}.watch-stage:fullscreen .player-controls{padding-inline:1rem;padding-bottom:.75rem}@media(max-width:900px){:root{--chat-width: min(360px, 92vw);--topbar-height: 64px}.auth-actions,.join-form,.resume-card{flex-direction:column;align-items:stretch}.topbar{gap:.48rem;padding:.55rem .65rem}.room-code{min-width:auto;font-size:.9rem}.theme-switcher button{width:36px;min-height:34px}.chat-toggle{min-width:auto}.page-wrap{padding:.65rem}.watch-stage,.watch-stage.chat-closed{display:block}.watch-stage.chat-closed .player-card{width:100%}.watch-stage .chat-panel{position:fixed;z-index:60;top:var(--topbar-height);right:.55rem;bottom:.55rem;width:var(--chat-width);height:auto;box-shadow:0 18px 60px #00000061}.watch-stage:fullscreen .chat-float{right:.7rem;top:.7rem}.playlist-grid{grid-template-columns:1fr}.episode-nav{gap:.55rem}.episode-nav button{padding-inline:.7rem}.player-controls{padding:0 .55rem .55rem}.icon-control{width:36px;min-height:36px}.time-label{font-size:.76rem;max-width:140px;white-space:nowrap;overflow:hidden}textarea{min-height:140px}.watch-stage:fullscreen{display:block}.watch-stage:fullscreen .chat-panel{top:0;right:0;bottom:0;height:100dvh;border-radius:0}}@media(max-width:640px){.volume-slider{display:none}.time-label{max-width:118px;overflow:hidden;text-overflow:ellipsis}}@media(max-width:430px){button{min-height:38px;padding:.52rem .66rem;border-radius:11px}.topbar{min-height:58px}.theme-switcher{gap:.08rem}.theme-switcher button{width:32px;min-height:32px}.theme-switcher button svg{width:16px;height:16px}.chat-toggle,.topbar .ghost{font-size:.9rem}.control-row{gap:.08rem}.icon-control{width:32px;min-height:32px}.icon-control svg{width:19px;height:19px}.episode-panel{padding:.72rem}}.quality-select{min-height:34px;height:34px;max-width:96px;padding:0 1.65rem 0 .7rem;border:0;border-radius:999px;background-color:#ffffff21;color:#fff;font-weight:800;font-size:.78rem;outline:none;cursor:pointer}.quality-select:hover,.quality-select:focus-visible{background-color:#fff3}.quality-select option{background:#111827;color:#fff}@media(max-width:640px){.quality-select{max-width:76px;padding-inline:.48rem;font-size:.72rem}}.dismissible-box,.player-toast{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dismissible-box>span,.player-toast>span{min-width:0;flex:1}.toast-close{width:28px;min-height:28px;flex:0 0 28px;display:grid;place-items:center;padding:0;border-radius:999px;border:0;background:color-mix(in srgb,currentColor 12%,transparent);color:currentColor;font-size:1.1rem;line-height:1}.toast-close:hover:not(:disabled){background:color-mix(in srgb,currentColor 20%,transparent);border-color:transparent}:root[data-theme=pink] .message.own strong{color:#ffb6c1}:root[data-theme=pink] .message:not(.own):not(.system) strong{color:#9b5de5}:root[data-theme=pink] .participants span.me{color:#ffb6c1}
