:root{--bg: #100e0c;--surface: #1a1613;--surface-2: #221c18;--surface-3: #2c241e;--line: #352c25;--line-soft: #271f1b;--text: #f4ede3;--muted: #a99c8d;--faint: #6f6459;--amber: #f3a14c;--amber-bright: #ffb663;--ember: #e4624a;--green: #6cc08a;--radius: 14px;--radius-sm: 10px;--font-display: "Unbounded", system-ui, sans-serif;--font: "Golos Text", system-ui, -apple-system, sans-serif;--shadow: 0 18px 50px -12px rgba(0, 0, 0, .7);--glow-amber: 0 6px 24px -6px rgba(243, 161, 76, .5)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(900px 600px at 18% -10%,rgba(243,161,76,.12),transparent 60%),radial-gradient(700px 500px at 110% 120%,rgba(228,98,74,.1),transparent 55%),radial-gradient(120% 120% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9000;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}::selection{background:#f3a14c4d}a{color:var(--amber);text-decoration:none}.wordmark{font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;color:var(--text)}.wordmark .dot{color:var(--amber)}.brand{display:inline-flex;align-items:center;gap:9px}.brand-center{display:flex;justify-content:center}.btn{font-family:var(--font);font-weight:600;font-size:15px;border:0;border-radius:var(--radius-sm);padding:12px 18px;background:var(--amber);color:#2a1a08;cursor:pointer;transition:transform .08s,box-shadow .2s,background .2s,opacity .2s}.btn:hover{background:var(--amber-bright);box-shadow:var(--glow-amber)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--surface-3);box-shadow:none}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.field{font-family:var(--font);font-size:15px;width:100%;padding:13px 15px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,background .15s}.field:focus{border-color:var(--amber);background:var(--surface-2)}.field::placeholder{color:var(--faint)}.top-right{position:absolute;top:18px;right:18px;z-index:20}.landing-wrap{min-height:100%;display:flex;flex-direction:column}.landing{flex:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;width:100%;max-width:1100px;margin:0 auto;padding:24px 32px 64px}.landing-left,.landing .panel{min-width:0}.brand-hero{gap:13px;margin-bottom:28px}.brand-hero .wordmark{font-size:40px;line-height:1}.landing-left h1{font-family:var(--font-display);font-weight:700;font-size:clamp(34px,5.4vw,56px);line-height:1.05;margin:0 0 20px;max-width:16ch;letter-spacing:-.035em}.landing-left p.lead{color:var(--muted);margin:0;max-width:38ch;font-size:16.5px;line-height:1.6}.landing-left>*{animation:hero-rise .55s cubic-bezier(.2,.7,.2,1) both}.landing-left>*:nth-child(1){animation-delay:.04s}.landing-left>*:nth-child(2){animation-delay:.13s}.landing-left>*:nth-child(3){animation-delay:.22s}@keyframes hero-rise{0%{opacity:0;transform:translateY(12px)}}.panel{position:relative;background:linear-gradient(180deg,var(--surface),var(--surface) 60%,#18130f);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.panel-lang{position:absolute;top:12px;right:12px;z-index:5}.panel h2{margin:0 0 4px;font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.02em}.panel .hint{color:var(--muted);font-size:13.5px;margin:0 0 20px}.form-grid{display:grid;gap:13px}.form-grid label{display:grid;gap:7px;font-size:13px;color:var(--muted)}.err{color:var(--ember);font-size:13.5px;margin:2px 0 0}.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12.5px;margin:20px 0}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line-soft)}.join-row{display:flex;gap:9px}.join-row .field{text-align:center;letter-spacing:.18em;text-transform:lowercase}.join-row .btn-ghost{white-space:nowrap;padding-left:20px;padding-right:20px}.supports{margin-top:22px;color:var(--faint);font-size:12.5px;line-height:1.6}.supports b{color:var(--muted);font-weight:600}.gate{position:relative;min-height:100%;display:grid;place-items:center;padding:24px}.splash{min-height:100%;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted)}.splash .spinner{position:static}.splash .spinner i{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.16);border-top-color:var(--amber);animation:spin .8s linear infinite}.gate .panel{width:100%;max-width:380px;text-align:center}.gate .wordmark{font-size:40px;display:block;margin-bottom:8px}.gate p{color:var(--muted);margin:0 0 18px}.gate .field{margin-bottom:12px;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0a0704b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modal-fade .2s ease}.modal-card{width:100%;max-width:360px;text-align:center;display:grid;gap:12px;padding:26px 24px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px #00000080;animation:modal-pop .22s ease}.modal-card .wordmark{display:block;margin-bottom:2px}.modal-card p{color:var(--muted);margin:0 0 4px}.modal-card .field{text-align:center}.modal-card .btn{width:100%}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;z-index:30;display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line-soft);background:#14110eb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar .wordmark{font-size:22px}.code-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.code-chip:hover{border-color:var(--amber)}.code-chip .code{font-weight:600;letter-spacing:.08em}.code-chip svg{color:var(--muted)}.source-row{display:flex;flex:1;gap:9px;max-width:640px}.source-row .field,.spacer{flex:1}.ticker{position:absolute;top:0;left:0;right:0;z-index:4;height:52px;pointer-events:none;overflow:hidden;background:linear-gradient(rgba(0,0,0,.5),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.ticker-msg{position:absolute;top:0;left:0;display:inline-flex;align-items:center;height:52px;white-space:nowrap;will-change:transform;color:#fff;font-size:16px;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.75)}.ticker-name{color:var(--amber);font-weight:600;margin-right:6px}.stage{flex:1;display:grid;grid-template-columns:1fr 360px;min-height:0}.player-wrap{position:relative;background:#000;overflow:hidden}.player-surface{position:absolute;top:0;right:0;bottom:0;left:0}.player-surface :is(iframe,video,div){width:100%;height:100%;border:0;display:block}.guard{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;z-index:1}.tap-play{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;border:0;padding:0;background:transparent;cursor:pointer}.tap-ring{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;color:#fff;padding-left:4px;background:#14100c9e;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 30px #0006;transition:transform .12s ease,background .15s ease}.tap-play:hover .tap-ring{background:#f3a14ceb;color:#1a120a;transform:scale(1.05)}.center-pulse{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:2}.center-pulse .ring{width:76px;height:76px;border-radius:50%;background:#14100c99;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;color:#fff;animation:pop .35s ease}@keyframes pop{0%{transform:scale(.7);opacity:0}}.player-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:24px;z-index:2}.player-empty .badge{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--amber);margin-bottom:8px}.player-empty h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:18px}.player-empty p{margin:0;color:var(--muted);max-width:30ch}.spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:2;pointer-events:none}.spinner i{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:var(--amber);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.controls{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:8px;padding:28px 16px 14px;background:linear-gradient(transparent,#000000e0);transition:opacity .25s,transform .25s}.player-wrap.idle .controls{opacity:0;transform:translateY(8px);pointer-events:none}.player-wrap.idle{cursor:none}.controls-row{display:flex;align-items:center;gap:12px}.ctrl{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:#fff;cursor:pointer;transition:background .15s,color .15s}.ctrl:hover{background:#ffffff24}.ctrl.primary{background:var(--amber);color:#2a1a08}.ctrl.primary:hover{background:var(--amber-bright)}.ctrl:disabled{opacity:.4;cursor:default}.ctrl.is-active{color:var(--amber)}.time{font-variant-numeric:tabular-nums;font-size:13px;color:#e9e2d8;white-space:nowrap}.time .sep{color:#fff6;margin:0 4px}.vol{display:flex;align-items:center;gap:6px}.vol .range{width:0;opacity:0;transition:width .2s,opacity .2s}.vol:hover .range,.vol:focus-within .range{width:84px;opacity:1}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:5px;border-radius:999px;cursor:pointer;padding:0;background:linear-gradient(to right,var(--amber) 0%,var(--amber) var(--pct, 0%),rgba(255,255,255,.2) var(--pct, 0%),rgba(255,255,255,.2) 100%)}.range::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006;transition:transform .1s}.range:hover::-webkit-slider-thumb{transform:scale(1.12)}.range::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006}.range:disabled{opacity:.5;cursor:default}.range.seek{flex:1;height:4px;transition:height .12s ease}.range.seek:hover,.range.seek:active,.range.seek:focus-visible{height:7px}.range.seek::-webkit-slider-thumb{width:0;height:0;opacity:0;box-shadow:none}.range.seek::-moz-range-thumb{width:0;height:0;border:0;opacity:0;background:transparent}.range.seek:disabled{height:4px}@media (hover: none),(pointer: coarse){.tap-play{display:none}.guard{pointer-events:none}.range.seek{height:6px}.range.seek::-webkit-slider-thumb{width:16px;height:16px;opacity:1;background:var(--amber);box-shadow:0 0 0 5px #f3a14c33,0 1px 4px #00000073}.range.seek::-moz-range-thumb{width:16px;height:16px;border:0;opacity:1;background:var(--amber)}.player-wrap.idle .controls{opacity:1;transform:none;pointer-events:auto}}.menu-wrap{position:relative}.menu{position:absolute;bottom:calc(100% + 10px);right:0;min-width:150px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--shadow);z-index:5;animation:menu-in .14s ease}@keyframes menu-in{0%{opacity:0;transform:translateY(6px)}}.menu .menu-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:6px 10px 4px}.menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:14px;font-family:var(--font);cursor:pointer}.menu button:hover{background:var(--surface-3)}.menu button.active{color:var(--amber)}.menu button svg{color:var(--amber)}.menu.down{bottom:auto;top:calc(100% + 10px)}.menu.down{animation:menu-down .14s ease}@keyframes menu-down{0%{opacity:0;transform:translateY(-6px)}}.lang-menu{display:inline-flex}.side{border-left:1px solid var(--line-soft);background:var(--surface);display:grid;grid-template-rows:auto auto 1fr;min-height:0}.side-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.side-head h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:8px}.side-head .close{display:none}.members{display:flex;flex-wrap:wrap;gap:7px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.member{display:flex;align-items:center;gap:8px;padding:5px 11px 5px 6px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;font-size:13px}.avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#2a1a08}.chat{display:grid;grid-template-rows:1fr auto;min-height:0}.chat-log{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-empty{margin:auto;color:var(--faint);font-size:13.5px;text-align:center}.bubble{max-width:78%;display:flex;flex-direction:column;gap:3px}.bubble .who{font-size:11.5px;color:var(--muted);padding:0 4px}.bubble .body{padding:9px 13px;border-radius:16px;font-size:14px;line-height:1.4;word-break:break-word}.bubble.them{align-self:flex-start;align-items:flex-start}.bubble.them .body{background:var(--surface-3);color:var(--text);border-bottom-left-radius:5px}.bubble.me{align-self:flex-end;align-items:flex-end}.bubble.me .body{background:linear-gradient(135deg,var(--amber),#e6913f);color:#2a1a08;border-bottom-right-radius:5px;font-weight:500}.sys{align-self:center;color:var(--faint);font-size:12px;font-style:italic}.chat-row{display:flex;gap:9px;padding:12px;border-top:1px solid var(--line-soft)}.chat-row .field{flex:1}.chat-row .btn{padding:0;width:46px;display:grid;place-items:center}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;background:var(--surface-2);border:1px solid var(--line);padding:12px 18px;border-radius:12px;font-size:14px;box-shadow:var(--shadow);z-index:200;animation:toast-in .22s cubic-bezier(.2,.9,.3,1)}.toast.err{border-color:var(--ember);color:#ffb3a6}.toast .ok-ic{color:var(--green)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (max-width: 860px){.landing{grid-template-columns:1fr;gap:26px;padding:10px 20px 40px;align-items:start}.landing-left{text-align:center}.landing-left h1,.landing-left p.lead{margin-left:auto;margin-right:auto}.top-right{top:14px;right:14px}.topbar{gap:10px;padding:10px 14px;flex-wrap:wrap}.topbar .wordmark{font-size:20px}.source-row{order:3;flex-basis:100%;max-width:none}.stage{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.player-wrap{width:100%;aspect-ratio:16 / 9}.side{border-left:0;border-top:1px solid var(--line)}}@media (max-width: 420px){.vol:hover .range,.vol:focus-within .range{width:60px}.controls-row{gap:8px}.ctrl{width:36px;height:36px}}
