.app{width:100%;max-width:calc(640px + 2 * var(--site-gutter));padding:clamp(32px, 6vw, 72px) var(--site-gutter) clamp(48px, 7vw, 96px);gap:var(--raf-space-4);flex-direction:column;margin-inline:auto;display:flex}.app--wide{max-width:calc(1180px + 2 * var(--site-gutter))}.app .hero{gap:var(--raf-space-3);margin-bottom:var(--raf-space-4);flex-direction:column;display:flex}.app .hero>*{margin:0}.app h1{font-size:clamp(2rem,1.35rem + 2.8vw,3.5rem);line-height:1}.app .hero .muted{max-width:60ch;font-size:var(--site-text-lead);line-height:1.5}.app h2{margin:0 0 var(--raf-space-2);font-size:var(--site-text-h3);letter-spacing:var(--site-track-heading);line-height:1.2}.app h3{margin:0 0 var(--raf-space-2);font-size:1.125rem}.app h4{margin:var(--raf-space-3) 0 var(--raf-space-2);font-size:var(--site-text-small)}.app p{margin:0 0 var(--raf-space-3)}.app .card{padding:var(--raf-space-5);background:var(--raf-card);border-radius:var(--raf-radius-md)}.app .card>:last-child{margin-bottom:0}.app .card.error{outline:1px solid var(--raf-line);outline-offset:-1px;background:0 0}.app .card.status p{margin:0}.app .card.status h2+p{margin-top:var(--raf-space-1)}.app .muted,.app small.muted{color:var(--raf-muted)}.app .hint{font-size:var(--site-text-small)}.app .error-text{gap:var(--raf-space-2);color:var(--raf-text);align-items:baseline;font-weight:600;display:flex}.app .error-text:empty{display:none}.app .error-text:before{content:"!";border-radius:var(--raf-radius-pill);background:var(--raf-raised);width:20px;height:20px;font-family:var(--raf-font-display);flex:none;place-items:center;font-size:13px;font-weight:800;line-height:1;display:inline-grid;transform:translateY(3px)}.app code{margin:0 0 var(--raf-space-3);padding:10px var(--raf-space-3);background:var(--raf-bg);border-radius:var(--raf-radius-sm);outline:1px solid var(--raf-line);outline-offset:-1px;font-size:var(--site-text-small);overflow-wrap:anywhere;display:block}.app .steps{margin:0 0 var(--raf-space-3);padding-left:var(--raf-space-5)}.app .steps li{margin-bottom:var(--raf-space-2)}.app .steps li::marker{color:var(--raf-muted)}.app .button,.app button{justify-content:center;align-items:center;gap:var(--raf-space-2);border-radius:var(--raf-radius-pill);background:var(--raf-raised);min-height:40px;color:var(--raf-text);font-family:var(--raf-font-body);cursor:pointer;transition:transform var(--raf-duration-1) var(--raf-ease-enter);border:0;padding:0 18px;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.app .button{background:var(--raf-accent);color:var(--raf-on-accent);font-weight:700}.app .button.secondary{background:var(--raf-raised);color:var(--raf-text);font-weight:600}.app .button:after,.app button:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--raf-duration-1) var(--raf-ease-enter);background:currentColor;position:absolute;inset:0}.app .button:hover:after,.app button:hover:not(:disabled):after{opacity:.1}.app .button:active,.app button:active:not(:disabled){transform:scale(.96)}.app button:disabled{opacity:.45;cursor:not-allowed}.app .card>.button,.app .card>button{margin-top:var(--raf-space-1)}.app form{align-items:flex-start;gap:var(--raf-space-2);margin-bottom:var(--raf-space-3);flex-direction:column;display:flex}.app label{font-size:var(--site-text-small);font-weight:600}.app input:not([type=checkbox],[type=radio]),.app select,.app textarea{width:100%;min-height:44px;padding:0 var(--raf-space-4);border:1px solid color-mix(in srgb, var(--raf-text) 16%, transparent);border-radius:var(--raf-radius-pill);background:var(--raf-bg);color:var(--raf-text);font-size:.9375rem}.app textarea{padding:var(--raf-space-3) var(--raf-space-4);border-radius:var(--raf-radius-md)}.app select{margin-bottom:var(--raf-space-3)}.app input[type=checkbox],.app input[type=radio]{width:18px;height:18px;margin:0 var(--raf-space-2) 0 0;accent-color:var(--raf-accent);vertical-align:-3px}.app fieldset{padding:var(--raf-space-3) var(--raf-space-4);border:1px solid var(--raf-line);border-radius:var(--raf-radius-md);margin:0}.app legend{padding:0 var(--raf-space-1);font-size:var(--site-text-small);font-weight:600}.app .account-name{margin:0 0 var(--raf-space-3);font-family:var(--raf-font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.5rem;font-weight:800}.app .test-room{gap:var(--raf-space-4);padding-top:var(--raf-space-3);flex-direction:column;display:flex}.app .test-room-life{align-items:center;gap:var(--raf-space-2) var(--raf-space-4);flex-wrap:wrap;display:flex}.app .test-room-life p{margin:0}.app .time-left [data-view=time-left]{font-family:var(--raf-font-display);font-variant-numeric:tabular-nums;font-weight:800}.app .test-room-actions{gap:var(--raf-space-2);flex-wrap:wrap;display:flex}.app .seat-count{align-items:center;gap:var(--raf-space-2) var(--raf-space-3);flex-wrap:wrap;display:flex}.app .seat-count h3,.app .seat-count p{margin:0}.app .seats{gap:var(--raf-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));display:grid}.app .card.seat{padding:var(--raf-space-4)}.app .seat-status{font-size:var(--site-text-small)}.app .seat-settings h4{margin-top:0}.app .seat-setting{justify-content:space-between;gap:var(--raf-space-3);margin:0 0 var(--raf-space-1);font-size:var(--site-text-small);display:flex}.app .seat-failure{margin:var(--raf-space-3) 0}.app .lobby-form{gap:var(--raf-space-3);width:100%}.app .lobby-group,.app .lobby-setting{gap:var(--raf-space-1);flex-direction:column;width:100%;display:flex}.app .event-log-seats{gap:var(--raf-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));display:grid}.app .event-log-entries{max-height:360px;margin:0;padding:0;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,monospace;font-size:12px;list-style:none;overflow-y:auto}.app .event-log-entries:empty:before{content:attr(data-empty);color:var(--raf-muted)}.app .event-log-entry{gap:var(--raf-space-2);padding:var(--raf-space-1) 0;border-bottom:1px solid var(--raf-line);overflow-wrap:anywhere;display:flex}.app .event-log-label{min-width:72px;color:var(--raf-muted);flex:none;font-weight:600}.app .event-log-entry.refused .event-log-label,.app .event-log-entry.failure .event-log-label{color:var(--raf-text);text-decoration:underline;text-decoration-color:var(--raf-danger);text-underline-offset:.2em}
