:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0e1015;--color-surface:#171a21;--color-surface-raised:#2a303b;--color-border:#2b303b;--color-border-strong:#4b5262;--color-text:#ecebe8;--color-text-muted:#b7bcc5;--color-accent:#d4a84b;--color-accent-hover:#e2bb63;--color-on-accent:#1b1405;--color-danger:#e5534b;--color-danger-hover:#ef6d65;--color-good:#5b9cf0;--color-evil:#e5534b;--font-sans:"Noto Sans SC", system-ui, -apple-system, sans-serif;--text-sm:1rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius:12px;--shadow-raised:0 2px 0 #00000073;--control-height:48px}*,:before,:after{box-sizing:border-box}body{-webkit-tap-highlight-color:transparent;min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-md);color:var(--color-text);background:radial-gradient(ellipse 80% 50% at 50% -10%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent), var(--color-bg);background-attachment:fixed;flex-direction:column;margin:0;line-height:1.6;display:flex}h1,h2,p{margin:0}h2{font-size:var(--text-lg)}.top-bar{z-index:5;justify-content:space-between;gap:var(--space-2);width:100%;max-width:28rem;padding:max(var(--space-3), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) var(--space-3) max(var(--space-4), env(safe-area-inset-left));border-bottom:1px solid var(--color-border);background:inherit;margin:0 auto;display:flex;position:sticky;top:0}.page{justify-content:center;gap:var(--space-5);width:100%;max-width:28rem;padding:var(--space-5) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));flex-direction:column;flex:1;margin:0 auto;display:flex}.page-header{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.emblem{width:48px;height:48px;color:var(--color-accent)}.page-title{font-size:var(--text-xl);letter-spacing:.2em;padding-left:.2em;font-weight:700}.page-main{gap:var(--space-5);flex-direction:column;display:flex}button{min-height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius);font:inherit;font-size:var(--text-lg);color:var(--color-on-accent);background:var(--color-accent);cursor:pointer;border:1px solid #0000;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,transform .1s,filter .1s}button.secondary{color:var(--color-text);background:var(--color-surface-raised);border-color:var(--color-border-strong);box-shadow:var(--shadow-raised)}button.danger{color:var(--color-text);background:var(--color-danger)}button.danger.outline{color:var(--color-danger);border-color:var(--color-danger);background:0 0}button.small{min-height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}button:disabled,button.danger.outline:disabled{color:var(--color-text-muted);border-color:var(--color-border);box-shadow:none;cursor:not-allowed;pointer-events:none;background:0 0}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}label{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;display:flex}input{height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;font-size:var(--text-md);color:var(--color-text);background:var(--color-surface)}input::placeholder{color:var(--color-text-muted);opacity:.6}input:focus{border-color:var(--color-accent)}.stack{gap:var(--space-5);flex-direction:column;display:flex}form{gap:var(--space-4);flex-direction:column;display:flex}.notice{padding:var(--space-6) 0;font-size:var(--text-lg);text-align:center;color:var(--color-text)}.notice strong{margin-top:var(--space-2);font-size:var(--text-lg);color:var(--color-text);display:block}.error{min-height:1.6em;font-size:var(--text-sm);color:var(--color-danger)}.status{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.status:empty{display:none}.pin-block{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.pin-label{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.1em}.pin-actions{gap:var(--space-2);display:flex}.pin{font-variant-numeric:tabular-nums;letter-spacing:.25em;color:var(--color-accent);padding-left:.25em;font-size:2.5rem;font-weight:700}.status-list{gap:var(--space-1) var(--space-4);grid-template-columns:auto 1fr;margin:0;display:grid}.status-list dt{color:var(--color-text-muted)}.status-list dd{overflow-wrap:anywhere;margin:0}.status-list dd.playing{color:var(--color-accent)}.player-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.player-list li,.info-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.player-list li>span:first-child,.info-row>span:first-child{flex:1;align-items:center;min-height:36px;display:flex}.player-list li:has(.player-identity){flex-wrap:wrap}.player-identity{gap:var(--space-1);padding-bottom:var(--space-2);flex-direction:column;flex-basis:100%;display:flex}.button-row{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.testing-banner{text-align:center;color:var(--color-accent);margin:0}.testing-banner[hidden]{display:none}.tag{padding:0 var(--space-2);font-size:var(--text-sm);color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 16%, transparent);border-radius:999px;font-weight:400}.field{gap:var(--space-2);flex-direction:column;display:flex}.field:empty{display:none}.field-label,.muted{font-size:var(--text-sm);color:var(--color-text-muted)}.segmented{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.seat-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}button.seat{align-items:stretch;gap:var(--space-1);padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-md);flex-direction:column;display:flex}button.seat.readonly{border-style:dashed;border-color:var(--color-border-strong);box-shadow:none;background:0 0}.seat-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.seat-number{white-space:nowrap;font-size:var(--text-sm);color:var(--color-text-muted);flex:1;font-weight:400}.seat-name{overflow-wrap:anywhere}.seat-name.empty{color:var(--color-text-muted);font-weight:400}.dialog-form{gap:var(--space-2)}.player-list:empty:after{content:attr(data-empty);color:var(--color-text-muted);font-size:var(--text-sm)}.corner-actions{gap:var(--space-2);display:flex}.corner-link{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:color .15s,border-color .15s,background-color .15s}.corner-link[aria-current=true]{color:var(--color-accent);border-color:var(--color-accent)}button.identity-card{align-items:stretch;gap:var(--space-3);min-height:160px;padding:var(--space-4);text-align:left;font-size:var(--text-md);flex-direction:column;font-weight:400;display:flex}button.identity-card .hint{font-size:var(--text-sm);color:var(--color-text-muted)}button.identity-card>.hint{text-align:center}.identity-cover{font-size:var(--text-lg);flex:1;justify-content:center;align-items:center;font-weight:700;display:flex}.identity-head{align-items:center;gap:var(--space-2);display:flex}.identity-role{font-size:var(--text-xl);color:var(--color-accent);font-weight:700}.vision{gap:var(--space-1);overflow-wrap:anywhere;flex-direction:column;display:flex}.vision-item{margin-left:1.25em;list-style:outside;display:list-item}.identity-vision{padding-top:var(--space-3);border-top:1px solid var(--color-border-strong)}.team-good{color:var(--color-good)}.team-evil{color:var(--color-evil)}.tag.team-good{background:color-mix(in srgb, var(--color-good) 16%, transparent)}.tag.team-evil{background:color-mix(in srgb, var(--color-evil) 16%, transparent)}.dialog{width:min(28rem, calc(100vw - 2 * var(--space-4)));border:1px solid var(--color-border);border-radius:var(--radius);max-width:none;color:var(--color-text);background:var(--color-surface);padding:0}.dialog[open]{animation:.15s ease-out pop-in}.dialog.closing{animation:.12s ease-in forwards pop-out}.dialog::backdrop{background:color-mix(in srgb, var(--color-bg) 75%, transparent);animation:.15s ease-out fade-in}.dialog-body{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.dialog-message{color:var(--color-text-muted)}.dialog-choices{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dialog-actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.dialog-actions button{flex:1}.toasts{top:max(var(--space-4), env(safe-area-inset-top));z-index:10;gap:var(--space-2);width:min(28rem, calc(100vw - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);background:var(--color-surface-raised);animation:.2s ease-out slide-in;box-shadow:0 8px 24px #0006}.toast.error{border-left:4px solid var(--color-danger)}.toast.leaving{animation:.2s ease-in forwards fade-out}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}}@keyframes pop-out{to{opacity:0;transform:scale(.96)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.dialog,.dialog::backdrop,.toast{animation:none!important}}@media (hover:hover){button:hover{background:var(--color-accent-hover)}button.secondary:hover{background:var(--color-surface-raised);border-color:var(--color-text-muted)}button.danger:hover{background:var(--color-danger-hover)}button.danger.outline:hover{color:var(--color-danger-hover);background:color-mix(in srgb, var(--color-danger) 15%, transparent);border-color:var(--color-danger-hover)}input:hover:not(:focus){border-color:var(--color-text-muted)}.corner-link:hover{color:var(--color-text);border-color:var(--color-text-muted)}}button:active{filter:brightness(.85);transform:scale(.97)}.corner-link:active{color:var(--color-text);background:var(--color-surface-raised)}.corner-link[aria-current=true],button.seat.readonly{pointer-events:none}
