:root{--bg:#fff;--fg:#1a1a1b;--muted:#5c5f62;--border:#c9ccd0;--field-border:#767a7e;--focus:#1a5fd0;--link:#1b5e20;--accent:#2e7d32;--on-accent:#fff;--danger:#b3261e;--on-danger:#fff;--correct:#2e7d32;--present:#9a6b00;--absent:#5f6368;--on-tile:#fff;--tile-empty-border:#d3d6da;--tile-typed-border:#878a8c;--key-bg:#d3d6da;--key-fg:#1a1a1b;--toast-bg:#1a1a1b;--toast-fg:#fff}:root[data-theme=dark]{--bg:#121213;--fg:#f2f2f3;--muted:#a9adb1;--border:#3a3a3c;--field-border:#8a8f94;--focus:#8ab4f8;--link:#81c784;--accent:#5cb860;--on-accent:#08210b;--danger:#f2b8b5;--on-danger:#601410;--correct:#2e7d32;--present:#9a6b00;--absent:#3a3a3c;--on-tile:#fff;--tile-empty-border:#3a3a3c;--tile-typed-border:#818384;--key-bg:#565758;--key-fg:#fff;--toast-bg:#f2f2f3;--toast-fg:#121213}:root[data-palette=colorblind],:root[data-theme=dark][data-palette=colorblind]{--correct:#c25100;--present:#1565c0}:root{--flip-step:.25s;--flip-duration:.5s;--tile-size:clamp(2.75rem, min(14vw, 7dvh), 3.75rem);--key-height:3.25rem;--key-gap:.4rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2{line-height:1.2}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.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}.muted{color:var(--muted)}.app-header{padding:.25rem max(.75rem, env(safe-area-inset-right)) .25rem max(.75rem, env(safe-area-inset-left));border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.brand{min-height:2.75rem;color:var(--fg);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:0;padding:0 .5rem;font-size:1.5rem;font-weight:800}.header-actions{gap:.25rem;display:flex}.icon-button{width:2.75rem;height:2.75rem;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-button[aria-pressed=true]{background:var(--key-bg);color:var(--key-fg)}.page{width:100%;max-width:40rem;padding:1rem max(1rem, env(safe-area-inset-right)) 2rem max(1rem, env(safe-area-inset-left));margin:0 auto}.page.narrow{max-width:26rem}.page.game-page{padding-top:.25rem;flex:1;max-width:34rem;padding-inline:.5rem}.notice{text-align:center;padding:2rem 1rem}.notice-box{border:1px solid var(--field-border);border-radius:8px;padding:.75rem 1rem}section+section{margin-top:1.75rem}.links{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.credit-links{padding-left:1.25rem}.credit-links li{margin:.4rem 0}a,.link{color:var(--link)}.link{min-height:2.75rem;font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem 0;text-decoration:underline}.form{gap:1rem;display:grid}.field{gap:.35rem;font-weight:600;display:grid}.field small,.field .muted{font-weight:400}.field.inline{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}input[type=text],input:not([type]),select{border:1px solid var(--field-border);background:var(--bg);min-height:2.75rem;color:var(--fg);font:inherit;border-radius:8px;padding:.5rem .7rem;font-weight:400}.mono,.code{letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code{border:1px dashed var(--field-border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;padding:.75rem;font-size:1.25rem;font-weight:700;display:block}.button{border:1px solid var(--field-border);min-height:2.75rem;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1.1rem;font-weight:600}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.button:disabled{opacity:.55;cursor:not-allowed}.check{align-items:center;gap:.6rem;min-height:2.75rem;display:flex}.check input{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.hint{margin:-.4rem 0 0 1.85rem;font-size:.9rem}fieldset.choice{border:0;margin:0 0 .5rem;padding:0}fieldset.choice legend{padding:0;font-weight:600}.row-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.error{color:var(--danger);margin:0;font-weight:600}:root[data-theme=dark] .error{color:var(--danger)}.danger-zone{border-top:1px solid var(--border);padding-top:1rem}.game{flex-direction:column;align-items:center;gap:.75rem;display:flex}.toast-region{justify-content:center;align-items:center;width:100%;height:2.75rem;display:flex}.toast{background:var(--toast-bg);color:var(--toast-fg);opacity:0;border-radius:8px;padding:.5rem 1rem;font-weight:600;transition:opacity .12s}.toast[data-visible=true]{opacity:1}.grid{gap:5px;display:grid}.row{grid-template-columns:repeat(var(--columns), var(--tile-size));gap:5px;display:grid}.row[data-shake=true]{animation:.4s ease-in-out shake}.tile{width:var(--tile-size);height:var(--tile-size);border:2px solid var(--tile-empty-border);font-size:calc(var(--tile-size) * .55);text-transform:uppercase;-webkit-user-select:none;user-select:none;place-items:center;font-weight:700;line-height:1;display:grid}.tile[data-state=typed]{border-color:var(--tile-typed-border)}.tile[data-state=correct]{--final:var(--correct)}.tile[data-state=present]{--final:var(--present)}.tile[data-state=absent]{--final:var(--absent)}.tile[data-state=correct],.tile[data-state=present],.tile[data-state=absent]{background:var(--final);border-color:var(--final);color:var(--on-tile)}.tile[data-reveal=true]{animation:flip var(--flip-duration) ease-in-out calc(var(--column) * var(--flip-step)) both, settle var(--flip-duration) linear calc(var(--column) * var(--flip-step)) both}@keyframes flip{0%,to{transform:rotateX(0)}50%{transform:rotateX(90deg)}}@keyframes settle{0%,49.99%{background:var(--bg);border-color:var(--tile-typed-border);color:var(--fg)}50%,to{background:var(--final);border-color:var(--final);color:var(--on-tile)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.tile[data-reveal=true],.row[data-shake=true]{animation:none}.toast{transition:none}}.controls{width:100%;min-height:calc(4 * var(--key-height) + 3 * var(--key-gap));justify-content:center;align-items:flex-start;display:flex}.keyboard{gap:var(--key-gap);flex-direction:column;width:100%;display:flex}.key-row{justify-content:center;gap:.3rem;display:flex}.key{min-width:0;height:var(--key-height);background:var(--key-bg);color:var(--key-fg);font:inherit;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:6px;flex:1 1 0;padding:0;font-weight:700}.key-wide{flex:1.7 1 0;font-size:.8rem}.key[data-state=correct]{background:var(--correct);color:var(--on-tile)}.key[data-state=present]{background:var(--present);color:var(--on-tile)}.key[data-state=absent]{background:var(--absent);color:var(--on-tile)}.key:disabled{opacity:.6;cursor:default}.result{text-align:center;width:100%}.result h2{margin:.25rem 0}.answer-line{font-weight:600}.share-status{min-height:1.5rem;color:var(--muted);margin:.5rem 0 0}.next{margin:.75rem 0 0}.countdown{font-variant-numeric:tabular-nums;font-weight:700}.overlay{z-index:10;background:#00000080;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--border);background:var(--bg);width:100%;max-width:26rem;max-height:100%;color:var(--fg);border-radius:12px;padding:1rem 1.25rem 1.25rem;overflow-y:auto}.dialog-head{justify-content:space-between;align-items:center;display:flex}.dialog-head h2{margin:0}.dialog h3{margin:1.25rem 0 .5rem;font-size:1rem}.figures{text-align:center;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0 0;display:grid}.figure{flex-direction:column-reverse;display:flex}.figure dt{color:var(--muted);font-size:.8rem}.figure dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.75rem;font-weight:700}.distribution{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.distribution li{font-variant-numeric:tabular-nums;grid-template-columns:1.25rem 1fr;align-items:center;gap:.4rem;display:grid}.bar{width:calc(1.75rem + (100% - 1.75rem) * var(--share));background:var(--absent);color:var(--on-tile);text-align:end;padding:.1rem .4rem;font-weight:700}.distribution li[data-today=true] .bar{background:var(--correct)}.small{font-size:.85rem}.join-first{max-width:26rem;margin:1rem auto 0}.group-list,.roster,.member-list{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.group-card{border:1px solid var(--field-border);width:100%;color:var(--fg);font:inherit;text-align:start;cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;padding:.75rem 1rem;display:flex}.group-name{font-weight:700}.roster-entry,.member-list li{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;min-height:2.75rem;display:flex}.roster-name,.member-list li>span{flex:1}.roster-check{text-align:center;width:1.75rem;color:var(--muted);font-weight:700}.roster-check[data-finished=true]{color:var(--accent)}.roster-count{text-align:end;font-variant-numeric:tabular-nums;width:1.5rem;font-weight:700}.mini-grid{gap:2px;padding:.25rem 0;display:grid}.mini-row{gap:2px;display:flex}.mini-tile{background:var(--absent);width:.7rem;height:.7rem}.mini-tile[data-state=correct]{background:var(--correct)}.mini-tile[data-state=present]{background:var(--present)}.segmented{gap:.5rem;margin-bottom:.75rem;display:flex}.segmented .button[aria-pressed=true]{background:var(--key-bg);color:var(--key-fg)}.standings{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.standings th,.standings td{border-bottom:1px solid var(--border);text-align:end;padding:.4rem .3rem}.standings th:nth-child(2),.standings td:nth-child(2){text-align:start}.standings thead th{color:var(--muted);font-size:.8rem}.standings tr[aria-current=true] th[scope=row]{font-weight:800}
