:root{--bg:#070812;--bg-soft:#111320;--text:#f8f5ef;--muted:#b9b1c3;--gold:#ffd666;--rose:#ff4f7b;--border:#ffffff1f;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:radial-gradient(circle at 18% 12%,#ff4f7b47,#0000 26rem),radial-gradient(circle at 92% 0,#ffd66629,#0000 20rem),linear-gradient(#080814 0%,#11101b 55%,#070812 100%);min-width:320px;min-height:100svh;margin:0}body:before{content:"";pointer-events:none;opacity:.16;background-image:linear-gradient(#ffffff14 1px,#0000 1px);background-size:100% 9px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 80%,#0000);mask-image:linear-gradient(#0000,#000 18% 80%,#0000)}#root{min-height:100svh}h1,h2,p{overflow-wrap:anywhere}p{margin:0}a{color:var(--gold)}::selection{color:#18070d;background:var(--gold)}.app-shell{box-sizing:border-box;flex-direction:column;gap:14px;width:min(100%,460px);min-height:100svh;margin:0 auto;padding:18px 14px 28px;display:flex}.landing{justify-content:center}.hero-card,.panel,.countdown-card,.alert-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffff14,#ffffff08);border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 18px 54px #00000047}.hero-card{padding:28px 20px}.panel{padding:18px}.stack{flex-direction:column;gap:12px;display:flex}.room-header,.alert-card,.time-form,.readiness-row,.mode-choice-row,.chat-heading,.chat-form{align-items:center;gap:10px;display:flex}.room-header{justify-content:space-between;padding:4px 2px}.alert-card{color:#fff;background:linear-gradient(135deg,#ff4e6938,#ffd6661a);align-items:flex-start;padding:16px}.alert-card span{flex:1}.hero-card h1,.room-header h1,.panel h2{margin:0}.hero-card h1{letter-spacing:-.08em;max-width:9em;font-size:clamp(2.6rem,13vw,4.5rem);line-height:.9}.room-header h1{color:#fff7dc;letter-spacing:.16em;font-size:1.8rem;font-weight:900}.panel h2{font-size:1.25rem;line-height:1.1}.lede,.helper,.status-text,.countdown-card p,.footer-note{color:var(--muted)}.lede{font-size:1.05rem;line-height:1.45}.eyebrow,.step-label{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:850}.step-label{margin:0}.start-form{margin-top:24px}.countdown-card{text-align:center;background:radial-gradient(circle at 50% 20%,#ffd66633,#0000 38%),linear-gradient(160deg,#7a1f3f8f,#151622eb);place-items:center;min-height:230px;padding:24px;display:grid}.countdown-text{letter-spacing:-.08em;color:#fff7dc;text-shadow:0 0 36px #ffd66659;font-size:clamp(4.7rem,26vw,8rem);font-weight:950;line-height:.9}label{color:var(--text);font-weight:750}input{box-sizing:border-box;width:100%;min-height:54px;color:var(--text);font:inherit;background:#04060eb3;border:1px solid #ffffff21;border-radius:18px;padding:15px 16px}button{min-height:54px;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:#ffffff14;border:1px solid #ffffff21;border-radius:18px;padding:14px 18px;font-weight:850}button:hover,button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:2px;border-color:#ffd666d9;outline:3px solid #ffd66638}.primary{color:#16070c;background:linear-gradient(135deg,#ffd666,#ff7aa2);border-color:#0000}.action{min-height:66px;font-size:1.1rem}.small-button{white-space:nowrap;min-height:42px;padding:10px 14px}.time-form input,.chat-form input{min-width:0}.time-form button,.chat-form button{flex:none}.join-details{margin-top:18px;padding-top:4px}.join-details summary{cursor:pointer;font-weight:850}.join-details form{margin-top:12px}.readiness-row,.mode-choice-row{flex-wrap:wrap}.mode-choice{flex:150px}.mode-choice.selected{color:#16070c;background:linear-gradient(135deg,#ffd666,#ff7aa2);border-color:#0000}.solo-preview{width:min(100%,300px);margin:0 auto}.solo-preview .helper{margin:0;font-size:.88rem}.ready-chip{color:var(--muted);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;padding:8px 10px;font-size:.84rem}.chat-box{gap:12px;display:grid}.chat-heading{justify-content:space-between}.chat-heading .step-label{margin:0}.chat-heading span{color:var(--muted);font-size:.78rem;font-weight:800}.chat-list{background:#04060e57;border:1px solid #ffffff14;border-radius:16px;gap:8px;max-height:172px;padding:10px;display:grid;overflow-y:auto}.chat-message{background:#ffffff0f;border-radius:14px;gap:2px;padding:8px 10px;display:grid}.chat-message strong{color:#fff7dc;font-size:.78rem}.chat-message span{color:var(--text);overflow-wrap:anywhere;line-height:1.35}.empty-chat{margin:0}.chat-form input{min-height:44px;padding:11px 13px}.chat-form .small-button{min-height:44px}.auto-sync-panel{background:#04060e5c;border:1px solid #ffd66629;border-radius:18px;padding:12px}.auto-sync-panel code{color:#fff7dc}.pairing-grid{gap:8px;margin:0;display:grid}.pairing-grid div{gap:2px;display:grid}.pairing-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800}.pairing-grid dd{overflow-wrap:anywhere;color:#fff7dc;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem}.status-text{margin:0;line-height:1.4}.footer-note{text-align:center;padding:4px 2px 0;font-size:.82rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=760px){.app-shell{padding-block:34px}}
