:root{--bg0: #0b1220;--bg1: #121a2b;--bg2: #1a2438;--ink: #e8eef8;--muted: #93a0b8;--accent: #3ecf8e;--accent-2: #2bb8ff;--danger: #ff6b6b;--warn: #f0c14a;--line: rgba(232, 238, 248, .12);--radius: 14px;--font: "DM Sans", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(46,184,255,.18),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(62,207,142,.14),transparent 50%),linear-gradient(160deg,var(--bg0),var(--bg1) 45%,#0e1626)}button,input,select{font:inherit}a{color:var(--accent-2)}.app-shell{width:min(1100px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 3rem}.app-header{display:flex;justify-content:flex-end;margin-bottom:.75rem}.lang-switch{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted)}.lang-switch select{width:auto;min-width:7.5rem;padding:.35rem 1.75rem .35rem .65rem;font-size:.85rem;background-position:calc(100% - .85rem) calc(50% - .15rem),calc(100% - .55rem) calc(50% - .15rem)}.brand{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;letter-spacing:-.03em;margin:0 0 .35rem}.lede{color:var(--muted);margin:0 0 1.75rem;max-width:36rem}.panel{background:color-mix(in srgb,var(--bg2) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden;max-width:100%}.stack{display:grid;gap:.9rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}label.field{display:grid;gap:.35rem;font-size:.92rem;color:var(--muted);min-width:0;max-width:100%}label.field-inline{display:flex;flex-direction:row;align-items:center;gap:.55rem}input:not([type=checkbox]):not([type=radio]),select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;background:var(--bg0);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:.65rem .8rem}input[type=checkbox],input[type=radio]{width:1.05rem;height:1.05rem;min-width:1.05rem;margin:0;accent-color:var(--accent);flex-shrink:0}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.1rem) calc(50% - .15rem),calc(100% - .75rem) calc(50% - .15rem);background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;padding-right:2rem}button{border:0;border-radius:999px;padding:.7rem 1.15rem;background:linear-gradient(120deg,var(--accent),#2bbf7a);color:#062116;font-weight:700;cursor:pointer}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button.danger{background:color-mix(in srgb,var(--danger) 85%,#000);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--danger);margin:0}.mono{font-family:var(--mono);letter-spacing:.04em}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.tile{position:relative;aspect-ratio:16 / 10;background:#05080f;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.tile video{width:100%;height:100%;object-fit:cover;background:#05080f}.tile-label{position:absolute;left:.6rem;bottom:.55rem;padding:.2rem .5rem;border-radius:999px;background:#0000008c;font-size:.8rem;z-index:2}.tile-camera-off-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0d1524,#151f33 55%,#0b101a);color:color-mix(in srgb,var(--muted) 88%,white);z-index:1;pointer-events:none}.tile-status-svg,.tile-status-icon{width:3rem;height:3rem;opacity:.92}.tile-status-icon-sm{width:1.15rem;height:1.15rem}.tile-mirrored video{transform:scaleX(-1)}.tile-mic-badge{position:absolute;left:.55rem;top:.55rem;z-index:2;width:2rem;height:2rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#0000009e;border:1px solid color-mix(in srgb,var(--danger) 55%,var(--line));color:#ff8f8f;pointer-events:none}.tile-mic-badge .tile-status-svg,.tile-mic-badge .tile-status-icon-sm{width:1.15rem;height:1.15rem}.tile-camera-off video{opacity:0}.tile-screen{border-color:color-mix(in srgb,var(--accent-2) 45%,var(--line))}.tile-maximize-btn{position:absolute;top:.55rem;right:.55rem;padding:.35rem .65rem;font-size:.75rem;border-radius:999px;background:#0000009e;color:var(--ink);border:1px solid var(--line);font-weight:600}.tile-maximize-btn:hover{background:#000000d1}.tile-focus-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#05080fe0;display:flex;align-items:center;justify-content:center;padding:1.25rem}.tile-focus-stage{width:min(1200px,100%);max-height:calc(100vh - 2.5rem);display:flex;flex-direction:column;gap:.75rem}.tile-focus-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.tile-focus-stage .tile,.tile-maximized{aspect-ratio:16 / 9;width:100%;max-height:calc(100vh - 6.5rem)}.tile-focus-stage .tile video,.tile-maximized video{object-fit:contain}.tile-audio{aspect-ratio:auto;min-height:3rem;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg2) 70%,transparent)}.sr-only-audio{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.tile-audio audio{display:none}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.pending-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.pending-list li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px}.countdown{color:var(--warn);font-family:var(--mono);font-size:.9rem}.toast{position:fixed;left:50%;bottom:1.35rem;z-index:60;transform:translate(-50%);padding:.65rem 1.1rem;border-radius:999px;background:color-mix(in srgb,var(--bg2) 92%,#000);border:1px solid var(--line);color:var(--ink);font-size:.9rem;box-shadow:0 10px 30px #00000059;animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:640px){.lede{margin-bottom:1.1rem}.panel{padding:1rem}.stack{gap:.75rem}}.share-box{display:grid;gap:.4rem;padding:.8rem;border-radius:10px;background:#00000040;border:1px dashed var(--line)}
