@font-face{font-family:DM;src:url(dm-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url(dm-sans-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Barlow;src:url(barlow-condensed-latin-800-normal.woff2) format('woff2');font-weight:800;font-display:swap}
:root{color-scheme:dark;--bg:#101111;--surface:#181a1a;--line:#303333;--muted:#a3a9a7;--ink:#f3f3eb;--accent:#e4ff49;--purple:#b9a0f9;--danger:#ffb19c;--font:DM,system-ui,sans-serif;--heading:Barlow,Impact,'Arial Narrow',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font);min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}p{margin:0 0 1em}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{color:inherit}h1,h2,h3{margin:0;line-height:1.05}h1,h2{font-family:var(--heading);font-weight:800}h1{font-size:clamp(3rem,6vw,5.1rem);letter-spacing:-.015em;text-transform:uppercase}h2{font-size:2rem}h3{font-size:1.05rem;line-height:1.4}em{font-style:normal;color:var(--accent)}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:.875rem;letter-spacing:.14em;font-weight:700;margin-bottom:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:10px;background:var(--accent);color:var(--bg)}.skip-link:focus{top:10px}
.topbar{border-bottom:1px solid var(--line);background:var(--bg)}.top-inner{max-width:1440px;padding:22px 48px;margin:auto;display:flex;align-items:center;gap:56px;min-height:88px}.brand{display:flex;align-items:center;gap:12px;font:800 1.9rem/1 var(--heading);letter-spacing:.01em;flex-shrink:0}.brand-light{color:var(--accent)}.brand-symbol{background:var(--accent);color:var(--bg);width:37px;height:39px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;letter-spacing:-.16em;padding-right:5px;transform:skew(-7deg)}.brand-symbol span{margin-left:2px}.top-inner>nav{display:flex;gap:28px;flex:1}.top-inner>nav a{font-size:.875rem;color:var(--muted);font-weight:700}.top-inner>nav a[aria-current]{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:14px}.button{border:1px solid transparent;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;min-height:48px;font-weight:700;font-size:.9375rem;line-height:1.3;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--accent);color:#14160d}.button.primary:hover{background:#efff93}.button.white{background:var(--ink);color:var(--bg)}.button.ghost{border-color:var(--line);background:transparent}.button.ghost:hover{background:#252828}.button.danger{background:#382820;color:#ffbeac;border-color:#704838}.button.compact{padding:9px 15px;min-height:40px;font-size:.875rem}.button.large{min-height:54px;padding:15px 22px}.button.full{width:100%}.icon-button{border:0;background:transparent;font-size:1.4rem;width:40px;height:44px;color:var(--muted)}.profile-link{display:flex;gap:9px;align-items:center;font-size:.875rem;font-weight:700}.avatar{width:54px;height:54px;display:grid;place-items:center;background:var(--purple);color:var(--bg);font-size:1.7rem;font-weight:700;text-transform:uppercase;border-radius:50%;flex-shrink:0}.avatar.small{width:33px;height:33px;font-size:.9375rem}
.page{max-width:1440px;padding:58px 48px 68px;margin:auto;min-height:calc(100vh - 196px)}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:38px}.intro-text{font-size:1rem;color:var(--muted);margin:16px 0 0}.lobby-strip{border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;padding:24px 32px;position:relative;overflow:hidden;margin-bottom:50px;background:linear-gradient(110deg,#1d2115 0%,#171a17 42%,#1b1b1b 100%)}.lobby-strip>div{display:flex;gap:25px;align-items:center}.outline-number{font-family:var(--heading);font-size:4.1rem;line-height:1;color:var(--accent)}.lobby-strip p{font-size:.875rem;margin:0;color:var(--muted)}.lobby-strip strong{color:var(--ink)}.lobby-strip>div>span:last-child{font-size:.9375rem;color:var(--muted)}.strip-mark{font:800 2.6rem var(--heading);color:#929c61;letter-spacing:.015em;transform:rotate(-8deg);white-space:nowrap;opacity:.7}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.list-heading h2{display:flex;align-items:center;gap:10px;font-size:1.8rem;text-transform:uppercase}.list-heading .muted{font-size:.8125rem;display:block;margin-top:8px}.count{font:700 .8125rem/1 var(--font);background:#2b2e29;color:var(--ink);border-radius:4px;min-width:26px;min-height:26px;display:inline-flex;align-items:center;justify-content:center;padding:5px 7px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;padding:8px 18px;min-height:40px;border-radius:30px;font-size:.875rem;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:700}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.room-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden;transition:transform .18s,border-color .18s}.room-card:hover{transform:translateY(-4px);border-color:#778346}.room-card a{height:100%;display:block}.card-stage{height:158px;background:#20251b;display:flex;position:relative;align-items:center;justify-content:center;gap:15px;overflow:hidden;border-bottom:1px solid var(--line)}.card-stage.humour{background:#292238}.card-stage.libre{background:#1c2931}.card-stage:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 12px,#ffffff03 12px,#ffffff03 14px)}.card-slot{width:61px;height:67px;border:1px solid #e4ff4944;background:#10111155;display:flex;align-items:center;justify-content:center;font:800 2.5rem var(--heading);color:var(--accent);transform:skew(-5deg)}.card-slot.available{color:#91977e;border-style:dashed}.card-vs{font:800 1.4rem var(--heading);font-style:italic}.card-category{position:absolute;top:13px;left:13px;font-size:.75rem;font-weight:700;letter-spacing:.09em;background:#111d;padding:4px 8px;border-radius:3px}.card-viewers{position:absolute;top:14px;right:13px;font-size:.75rem;color:#cbd0c0}.card-content{padding:21px}.card-content h3{font-size:1.05rem;line-height:1.4;overflow-wrap:anywhere;margin-bottom:6px}.card-content p{font-size:.8125rem;color:var(--muted);margin-bottom:21px}.card-foot{display:flex;gap:12px;align-items:center;justify-content:space-between}.card-foot span:first-child{font-size:.8125rem;color:var(--muted)}.card-foot .card-cta{color:var(--accent);font-size:.875rem;font-weight:700}.empty-state{grid-column:1/-1;min-height:285px;padding:50px 28px;border:1px dashed #3f4540;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:14px;background:#151716}.empty-state h2{font-size:2.4rem}.empty-state p{max-width:490px;color:var(--muted);margin:0}.empty-state .button{margin-top:8px}.empty-mark{font:800 4rem/1 var(--heading);color:#667245}.lobby-footnote{display:flex;justify-content:space-between;gap:16px;margin-top:32px;color:var(--muted);font-size:.75rem;letter-spacing:.05em}.lobby-footnote a{letter-spacing:0;font-size:.8125rem}.loading-ring{height:26px;width:26px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.room-page{padding-top:26px}.back-link{font-size:.875rem;color:var(--muted);display:inline-block;margin-bottom:25px}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.room-heading h1{font-size:clamp(2rem,3.5vw,3rem);margin:10px 0 8px;overflow-wrap:anywhere}.room-heading p{margin:0;font-size:.875rem}.room-tags{display:flex;align-items:center;gap:14px;font-size:.8125rem}.tag{font-size:.75rem;letter-spacing:.08em;background:#292e1d;color:var(--accent);border:1px solid #4c5830;padding:3px 9px;border-radius:3px;font-weight:700}.room-heading-actions{display:flex;gap:8px}.arena-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.stage{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}.video-tile{height:370px;background:#171a16;position:relative;overflow:hidden;border:1px solid #414c32;border-radius:7px;isolation:isolate}.video-tile.second{background:#1c1920;border-color:#453953}.video-tile.speaking{box-shadow:inset 0 0 0 2px var(--accent)}.video-tile.second.speaking{box-shadow:inset 0 0 0 2px var(--purple)}.tile-top{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(#0009,transparent);font-size:.75rem;letter-spacing:.09em;font-weight:700;color:var(--accent)}.second .tile-top{color:var(--purple)}.tile-state{color:var(--muted);font-size:.75rem}.tile-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:-1}.seat-number{font:800 6.7rem/1 var(--heading);color:#323d28}.second .seat-number{color:#40344a}.tile-empty p{font-size:.875rem;color:var(--muted);margin:10px 0}.tile-bottom{position:absolute;z-index:3;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:28px 16px 17px;background:linear-gradient(transparent,#000b);font-size:.875rem}.seat-name{overflow-wrap:anywhere}.audio-state{font-size:.75rem;color:var(--muted)}.video-mount{position:absolute;inset:0;z-index:0}.video-mount video{width:100%;height:100%;object-fit:cover}.video-mount.local video{transform:scaleX(-1)}.versus{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-7deg);width:47px;height:50px;display:grid;place-items:center;background:var(--accent);color:#111;font:800 1.6rem var(--heading);border:4px solid var(--bg)}.stage-control-panel{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0 18px;border-bottom:1px solid var(--line)}.role-indicator>span{font-weight:700;font-size:.875rem}.role-indicator p{font-size:.8125rem;color:var(--muted);margin:5px 0 0;max-width:300px}.stage-actions{display:flex;gap:8px;flex-wrap:wrap}.stage-actions .button{font-size:.875rem;padding:11px 14px}.media-controls{display:flex;gap:10px;flex-wrap:wrap;padding:17px 0}.media-controls .button{font-size:.8125rem;min-height:40px}.device-settings{display:flex;gap:16px;margin-top:10px}.device-settings label{min-width:0;flex:1;font-size:.8125rem;color:var(--muted)}.device-settings select{font-size:.875rem;margin-top:6px}.stage-note{font-size:.8125rem;color:var(--muted);margin:16px 0 0}.host-controls{border:1px solid var(--line);padding:16px;border-radius:5px;margin-top:22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.host-controls>span{font-size:.75rem;color:var(--muted);width:100%;letter-spacing:.08em}.host-controls #kick-buttons{display:flex;flex-wrap:wrap;gap:8px}.chat-panel{border:1px solid var(--line);border-radius:7px;background:#141616;display:flex;flex-direction:column;height:530px}.chat-heading{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;border-bottom:1px solid var(--line)}.chat-heading h2{font-family:var(--font);font-size:1rem;font-weight:700}.chat-stream{flex:1;min-height:120px;overflow-y:auto;padding:18px;scrollbar-width:thin;scrollbar-color:#454b3c transparent}.chat-empty{font-size:.875rem;color:var(--muted);text-align:center;max-width:220px;margin:60px auto}.chat-message{font-size:.875rem;margin-bottom:17px;overflow-wrap:anywhere}.chat-message strong{color:var(--accent);font-size:.8125rem}.chat-message p{margin:4px 0 0;white-space:pre-wrap}.chat-message time{font-size:.75rem;margin-left:8px;color:#818981}.delete-message{border:0;background:transparent;color:var(--muted);font-size:.75rem;float:right;padding:0 5px}.chat-form{padding:16px;border-top:1px solid var(--line)}.chat-form>div{position:relative}.chat-form input{padding:12px 40px 12px 12px;font-size:.875rem}.send-button{position:absolute;right:6px;top:6px;width:34px;height:34px;background:var(--accent);color:#111;border:0;border-radius:4px;font-weight:700;font-size:1.2rem}.chat-form small{display:block;color:var(--muted);font-size:.75rem;margin-top:10px}.chat-login{padding:18px;border-top:1px solid var(--line)}.chat-login p{font-size:.8125rem;color:var(--muted);margin-bottom:12px}.chat-login .button{width:100%;font-size:.8125rem}.notice{border:1px solid #736640;background:#2b281c;padding:15px 18px;border-radius:4px;font-size:.875rem;margin-bottom:20px;color:#f0e4bb}
.modal{position:fixed;color:var(--ink);width:min(480px,calc(100% - 28px));padding:35px;border:1px solid #4b5145;border-radius:9px;background:#181b18;max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 30px 100px #0008}.modal::backdrop{background:#050707ce;backdrop-filter:blur(5px)}.modal h2{font-size:2.65rem;text-transform:uppercase;margin-bottom:24px}.modal>.eyebrow{font-size:.75rem;color:var(--muted)}.close-modal{position:absolute;right:15px;top:13px;background:transparent;border:0;font-size:1.7rem;color:var(--muted);width:36px;height:36px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px;gap:24px}.auth-tabs button{background:none;border:0;padding:0 0 12px;font-size:.875rem;color:var(--muted)}.auth-tabs button[aria-pressed=true]{color:var(--accent);border-bottom:2px solid var(--accent)}.stack-form{display:flex;flex-direction:column;gap:18px}.stack-form label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:700}input,select,textarea{width:100%;min-width:0;background:#101310;color:var(--ink);border:1px solid #3c4439;border-radius:5px;padding:12px 14px;min-height:47px;outline-offset:3px}input::placeholder,textarea::placeholder{color:#90988e}textarea{resize:vertical}.stack-form label small{font-weight:400;font-size:.8125rem;color:var(--muted)}.stack-form .checkbox-label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-weight:400;font-size:.8125rem;color:var(--muted)}input[type=checkbox]{width:18px;height:18px;min-height:0;flex-shrink:0;margin-top:3px;accent-color:var(--accent)}.checkbox-label a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.form-status{font-size:.875rem;margin:0;color:var(--danger)}.form-status:empty{display:none}.form-status.success{color:var(--accent)}.form-note{background:#222820;border-left:2px solid var(--accent);padding:13px 15px;color:#b8c3b0;font-size:.8125rem}.text-button{background:transparent;border:0;font-size:.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px;min-height:35px}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px}.narrow{max-width:600px;margin:20px auto}.narrow h1{margin-bottom:30px;font-size:3.7rem}.panel{background:var(--surface);border:1px solid var(--line);padding:30px;border-radius:7px;margin-bottom:22px}.account-id{display:flex;gap:18px;align-items:center;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--line)}.account-id p{margin:6px 0 0;font-size:.875rem;overflow-wrap:anywhere}.panel h3{margin-bottom:22px}.prose{max-width:760px;margin:10px auto}.prose h1{font-size:3.5rem;margin-bottom:30px}.prose h2{font-size:1.9rem;margin:35px 0 16px}.prose p{color:#c1c7be}.prose .lead{font-size:1.2rem;color:var(--ink)}.prose a,.narrow>.muted a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.table-wrap{overflow-x:auto}.admin-section{margin-bottom:38px}.admin-section h2{margin-bottom:18px;text-transform:uppercase}.admin-section>p{color:var(--muted)}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:.75rem;letter-spacing:.05em;color:var(--muted)}td .button{white-space:nowrap}td:first-child{max-width:360px;overflow-wrap:anywhere}.report-card{background:var(--surface);padding:20px;border:1px solid var(--line);border-radius:6px;margin-bottom:12px}.report-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.report-card small{color:var(--muted)}.report-actions{display:flex;gap:10px;margin-top:14px}.footer{max-width:1440px;padding:30px 48px;margin:auto;border-top:1px solid var(--line);display:flex;align-items:center;gap:28px;font-size:.8125rem;color:var(--muted)}.footer-brand{font:800 1.25rem var(--heading);color:var(--ink)}.footer-brand span{font-family:var(--font);font-size:.75rem;vertical-align:top;margin-left:3px}.footer nav{margin-left:auto;display:flex;gap:22px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100% - 30px);padding:15px 22px;background:var(--accent);color:#101111;border-radius:6px;box-shadow:0 10px 40px #0008;font-size:.875rem;font-weight:700}.toast.error{background:#ffceb3}.install-page{max-width:780px}.install-page h1{font-size:3.6rem;margin:20px 0}.install-page .stack-form{gap:24px}.install-page fieldset{border:1px solid var(--line);padding:24px;border-radius:7px;display:grid;gap:18px;margin:0}.install-page legend{font-weight:700;color:var(--accent);padding:0 10px}.install-page .two-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checks{list-style:none;padding:0;margin:0 0 25px;display:grid;gap:8px;color:var(--muted);font-size:.875rem}.checks .ok{color:var(--accent)}.checks .bad{color:var(--danger)}
@media(min-width:1440px){.video-tile{height:410px}.chat-panel{height:570px}}@media(max-width:1150px){.top-inner{gap:30px;padding:20px 30px}.page{padding:40px 30px 55px}.footer{padding:26px 30px}.strip-mark{display:none}.arena-layout{grid-template-columns:minmax(0,1fr) 285px}.video-tile{height:310px}.stage-control-panel{flex-direction:column;align-items:flex-start}.stage-actions{width:100%}.chat-panel{height:510px}}@media(max-width:900px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-inner>nav{gap:18px}.header-actions{gap:8px}.top-inner{gap:20px}.username{display:none}.arena-layout{grid-template-columns:1fr}.video-tile{height:360px}.chat-panel{height:400px}.stage-control-panel{flex-direction:row;align-items:center}.stage-actions{width:auto}.room-heading{align-items:flex-start}.room-heading-actions{flex-wrap:wrap;justify-content:flex-end}.footer{gap:18px;flex-wrap:wrap}.footer nav{gap:18px}.lobby-footnote>span{max-width:45%}}
@media(max-width:620px){.top-inner{padding:17px 18px;gap:12px;min-height:76px;flex-wrap:wrap}.brand{font-size:1.65rem;gap:8px}.brand-symbol{width:30px;height:33px;font-size:1.45rem}.top-inner>nav{order:3;width:100%;flex:auto;gap:24px;margin-top:9px}.header-actions{margin-left:auto}.header-actions .button{font-size:.8125rem;padding:8px 10px;min-height:37px}.header-actions .profile-link{display:none}.page{padding:32px 20px 45px}.section-intro{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:28px}.section-intro h1{font-size:3.5rem}.section-intro .eyebrow{font-size:.75rem}.section-intro>.button{width:100%}.intro-text{font-size:.9375rem}.lobby-strip{padding:18px 20px;gap:18px;margin-bottom:30px;align-items:flex-start;flex-direction:column}.lobby-strip>div{gap:20px}.lobby-strip p{padding-top:14px;border-top:1px solid var(--line);width:100%}.outline-number{font-size:3.4rem}.list-heading{align-items:flex-start;flex-direction:column;gap:19px}.filters{width:100%}.filters button{flex:1;padding:8px 12px}.room-grid{grid-template-columns:1fr;gap:18px}.card-stage{height:170px}.empty-state{min-height:285px;padding:32px 20px}.empty-state h2{font-size:2.1rem}.lobby-footnote{flex-direction:column;gap:12px}.lobby-footnote>span{max-width:none}.footer{padding:25px 20px;gap:16px}.footer nav{margin-left:0;width:100%;flex-wrap:wrap;gap:16px;font-size:.75rem}.room-page{padding-top:23px}.room-heading{flex-direction:column;gap:14px;margin-bottom:18px}.room-heading h1{font-size:2.3rem}.room-heading-actions{justify-content:flex-start}.video-tile{height:255px}.stage{gap:8px}.tile-top{padding:12px 10px;font-size:.75rem;letter-spacing:.03em;flex-wrap:wrap;gap:8px}.tile-state{font-size:.75rem}.tile-bottom{padding:24px 10px 13px;flex-direction:column;align-items:flex-start;gap:3px;font-size:.8125rem}.seat-number{font-size:5rem}.tile-empty p{font-size:.75rem;text-align:center;padding:0 8px}.versus{width:37px;height:43px;font-size:1.3rem;border-width:3px}.stage-control-panel{flex-direction:column;align-items:flex-start;gap:17px}.stage-actions{width:100%;display:grid;grid-template-columns:1fr}.stage-actions .button{width:100%}.role-indicator p{max-width:none}.media-controls{gap:8px}.media-controls .button{flex:1}.device-settings{flex-direction:column;gap:12px}.chat-panel{height:410px}.modal{padding:30px 24px}.modal h2{font-size:2.35rem;padding-right:10px}.panel{padding:24px}.narrow h1,.prose h1{font-size:3rem}.prose{margin-top:0}.install-page .two-fields{grid-template-columns:1fr}.install-page fieldset{padding:20px}.install-page h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
