:root{--ink:#10201b;--muted:#62716c;--paper:#f3f0e8;--surface:#fbfaf6;--line:#d9ddd5;--accent:#bbf24a;--accent-dark:#233b15;--live:#e44a35;--danger:#9f3025;--focus:#2764d7;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100svh}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 72%, transparent);outline-offset:3px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}h1,h2,p{margin-top:0}.site-shell{flex-direction:column;width:min(1180px,100% - 48px);min-height:100svh;margin:0 auto;display:flex}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:88px;display:flex}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:12px;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--ink);letter-spacing:-.04em;border-radius:50%;place-items:center;width:35px;height:35px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:grid}.status-pill{border:1px solid var(--line);min-height:34px;color:var(--muted);background:color-mix(in srgb, var(--surface) 65%, transparent);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;align-items:center;gap:8px;padding:0 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:650;display:inline-flex}.status-dot{background:#9da8a3;border-radius:50%;width:7px;height:7px}.status-pill.is-live{border-color:color-mix(in srgb, var(--live) 40%, var(--line));color:#813024;background:#fff3ed}.status-pill.is-live .status-dot{background:var(--live);box-shadow:0 0 0 4px color-mix(in srgb, var(--live) 15%, transparent)}.lobby{flex:1;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:center;gap:clamp(48px,8vw,120px);padding:clamp(72px,11vh,132px) 0 clamp(64px,10vh,112px);display:grid}.lobby-copy{max-width:690px}.eyebrow,.panel-kicker{color:#3f554c;letter-spacing:.11em;text-transform:uppercase;margin-bottom:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:700;line-height:1.4}.lobby-copy h1,.meeting-fallback h1{letter-spacing:-.065em;max-width:740px;margin-bottom:28px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.8rem,7.3vw,7rem);font-weight:400;line-height:.91}.lede{max-width:590px;color:var(--muted);margin-bottom:0;font-size:clamp(1.02rem,1.55vw,1.24rem);line-height:1.63}.lobby-panel{border:1px solid var(--line);background:var(--surface);border-radius:3px;min-height:430px;display:flex;box-shadow:10px 10px #dfe4da}.join-form,.panel-state{flex-direction:column;justify-content:center;width:100%;padding:clamp(30px,4vw,48px);display:flex}.join-form h2,.panel-state h2,.host-console h2,.host-login h2{letter-spacing:-.04em;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:400;line-height:1.04}.join-form>div>p:last-child,.panel-state>p:last-child{color:var(--muted);margin-bottom:32px;font-size:.92rem;line-height:1.6}label{color:#44534e;letter-spacing:.025em;margin-bottom:8px;font-size:.76rem;font-weight:700;display:block}input{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #cbd2ca;border-radius:2px;padding:0 14px;font-size:.94rem;transition:border-color .14s,box-shadow .14s}input::placeholder{color:#8b9792}input:hover{border-color:#8f9e97}input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 13%, transparent);outline:none}.join-form input{margin-bottom:14px}.button{letter-spacing:.01em;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;min-height:50px;padding:0 20px;font-size:.82rem;font-weight:750;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.button-primary{border-color:var(--accent-dark);color:#14210e;background:var(--accent)}.button-primary:hover:not(:disabled){background:#cafa65}.button-secondary{color:var(--ink);background:#fff;border-color:#a9b3ad}.button-secondary:hover:not(:disabled){border-color:var(--ink);background:#f4f6f1}.button-danger{color:var(--danger);background:#fff7f5;border-color:#dcaaa4}.button-danger:hover:not(:disabled){border-color:var(--danger);background:#ffebe7}.privacy-note{color:#7c8883;text-align:center;margin:14px 0 0;font-size:.72rem;line-height:1.5}.waiting-state{text-align:center}.waiting-orbit{border:1px solid #c9d1c9;border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto 32px;display:grid}.waiting-orbit:before,.waiting-orbit span{content:"";border-radius:50%;display:block}.waiting-orbit:before{border:1px solid #a8b5aa;width:56px;height:56px}.waiting-orbit span{background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 24%, transparent);position:absolute}.spinner{border:2px solid #bdc7c0;border-top-color:var(--ink);border-radius:50%;width:28px;height:28px;margin:0 auto 18px;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.8s}}.notice,.error-banner{border:1px solid;margin:-36px 0 40px;padding:13px 16px;font-size:.84rem;line-height:1.5}.notice{color:#2b5624;background:#eff8e9;border-color:#b9ceb1}.error-banner{color:#842b22;background:#fff0ed;border-color:#e4bbb5}.host-area{padding:0 0 44px}.host-entry{color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:.78rem}.host-entry span,.text-button{color:var(--ink);text-underline-offset:4px;-webkit-text-decoration:underline #9ba9a2;text-decoration:underline #9ba9a2}.host-console,.host-login{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 75%, transparent);padding:28px}.host-console-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.host-console-heading .panel-kicker,.host-login .panel-kicker{margin-bottom:8px}.host-console h2,.host-login h2{margin-bottom:0;font-size:1.7rem}.text-button{background:0 0;border:0;padding:7px 0;font-size:.76rem}.host-start-form,.host-actions,.host-login{flex-direction:column;gap:16px;display:flex}.host-start-form .button{align-self:flex-start;min-width:180px}.field-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.button-row{flex-wrap:wrap;gap:10px;display:flex}.host-login{max-width:520px}footer{border-top:1px solid var(--line);color:#74817c;letter-spacing:.035em;justify-content:space-between;gap:24px;min-height:76px;padding:20px 0;font-size:.68rem;display:flex}.meeting-shell,.meeting-fallback{width:100vw;min-width:320px;min-height:100svh}.meeting-shell{background:#111816;position:relative;overflow:hidden}.realtimekit-meeting{width:100%;height:100svh;display:block}.end-meeting-button{z-index:10000;top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));color:#fff;background:#8c2d25;border:1px solid #d7867d;border-radius:4px;min-height:38px;padding:0 14px;font-size:.72rem;font-weight:750;position:fixed;box-shadow:0 6px 20px #00000047}.end-meeting-button:hover:not(:disabled){background:#a7372d}.meeting-fallback{color:var(--ink);background:var(--paper);text-align:center;align-content:center;justify-items:center;padding:32px;display:grid}.meeting-fallback h1{margin-bottom:20px;font-size:clamp(2.8rem,7vw,5.5rem)}.meeting-fallback>p:not(.eyebrow){max-width:540px;color:var(--muted);margin-bottom:26px;line-height:1.6}@media (width<=820px){.site-shell{width:min(100% - 32px,620px)}.site-header{min-height:74px}.lobby{grid-template-columns:1fr;gap:46px;padding:62px 0 54px}.lobby-copy h1{font-size:clamp(3.3rem,15vw,5.6rem)}.lobby-panel{min-height:390px;box-shadow:7px 7px #dfe4da}.notice,.error-banner{margin-top:0}.field-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:7px}}@media (width<=460px){.site-shell{width:calc(100% - 24px)}.brand>span:last-child{display:none}.lobby{padding-top:48px}.lobby-copy h1{font-size:clamp(3rem,17vw,4.5rem);line-height:.94}.lobby-panel{min-height:370px}.join-form,.panel-state{padding:28px 22px}.host-console,.host-login{padding:22px 18px}.button-row .button{width:100%}.end-meeting-button{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right))}}
