@property --p{syntax: "<percentage>"; inherits: false; initial-value: 0%;}:root{--ground: oklch(.94 .008 85);--tray: oklch(.902 .012 85);--tile-face: oklch(.985 .004 85);--page: var(--tile-face);--ink: oklch(.22 .01 60);--ink-soft: oklch(.52 .008 70);--ink-mute: oklch(.7 .008 70);--hairline: oklch(.86 .01 85);--shellbar: 76px;--selink: oklch(.55 .01 70);--shadow-1: 0 1px 1px oklch(.3 .02 70 / .1);--shadow-2: 0 2px 5px oklch(.3 .02 70 / .1);--shadow-lift: 0 4px 9px oklch(.3 .02 70 / .14);--edge: inset 0 0 0 1px oklch(.3 .02 70 / .2);--r-ctl: 7px;--r-ctl-lg: 9px;--track-tile: .05em;--track-label: .08em;--font-tile: "Archivo", system-ui, sans-serif;--font-label: "Archivo", system-ui, sans-serif;--font-prose: "Archivo", system-ui, sans-serif;--tile-scale: 1;--w-tile: 700;--w-label: 650;--w-label-strong: 800;--pad-frame: clamp(16px, .9vw + 11px, 30px);--go: oklch(.55 .12 148);--warn: oklch(.58 .17 28);--disc: oklch(.885 .008 75);--disc-lip: oklch(1 0 0 / .7);font-family:var(--font-label);color-scheme:light}:root[data-theme=dark]{--ground: oklch(.215 .006 70);--tray: oklch(.165 .006 70);--tile-face: oklch(.3 .008 75);--page: oklch(.2 .006 70);--ink: oklch(.93 .01 85);--ink-soft: oklch(.72 .01 80);--ink-mute: oklch(.52 .01 75);--hairline: oklch(.33 .008 75);--selink: oklch(.72 .01 80);--shadow-1: 0 1px 1px oklch(0 0 0 / .35);--shadow-2: 0 2px 5px oklch(0 0 0 / .3);--shadow-lift: 0 4px 9px oklch(0 0 0 / .4);--edge: inset 0 0 0 1px oklch(1 0 0 / .13);--go: oklch(.6 .12 148);--warn: oklch(.7 .16 28);--disc: oklch(.21 .006 70);--disc-lip: oklch(1 0 0 / .07);color-scheme:dark}.c0{--hue: 250;--cf: .085;--lf: .87;--ci: .16}.c1{--hue: 25;--cf: .105;--lf: .855;--ci: .165}.c2{--hue: 148;--cf: .12;--lf: .845;--ci: .14}.c3{--hue: 300;--cf: .095;--lf: .875;--ci: .17}.c4{--hue: 95;--cf: .14;--lf: .895;--ci: .13}.c5{--hue: 195;--cf: .095;--lf: .86;--ci: .12}.c6{--hue: 342;--cf: .105;--lf: .865;--ci: .17}.c7{--hue: 55;--cf: .13;--lf: .87;--ci: .145}.c8{--hue: 122;--cf: .13;--lf: .88;--ci: .14}.c9{--hue: 222;--cf: .08;--lf: .86;--ci: .12}.c0,.c1,.c2,.c3,.c4,.c5,.c6,.c7,.c8,.c9{--pf: oklch(var(--lf) var(--cf) var(--hue));--pc: oklch(.55 var(--ci) var(--hue))}:root[data-theme=dark] :is(.c0,.c1,.c2,.c3,.c4,.c5,.c6,.c7,.c8,.c9){--pf: oklch(calc(var(--lf) - .44) calc(var(--cf) * .9) var(--hue));--pc: oklch(.72 var(--ci) var(--hue))}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100%;display:flex;flex-direction:column}h1{font-size:1.5rem;font-family:var(--font-tile);font-weight:var(--w-tile);margin:0;text-transform:uppercase;letter-spacing:var(--track-tile)}h2{font-size:.72rem;font-weight:var(--w-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px}a{color:var(--ink-soft);text-underline-offset:2px}a:hover{color:var(--ink)}kbd{font:700 .82em system-ui;padding:1px 5px;border-radius:4px;background:var(--tray);color:var(--ink-soft)}code{font:600 .82em ui-monospace,SFMono-Regular,Menlo,monospace}button{font:inherit;cursor:pointer;border:0;border-radius:var(--r-ctl);transition:transform 90ms ease,box-shadow 90ms ease}button:disabled{cursor:default;opacity:.4}button:not(:disabled):active{transform:translateY(1px)}.primary{background:var(--ink);color:var(--ground);font-weight:var(--w-label-strong);padding:9px 20px;font-size:.9rem;text-transform:uppercase;letter-spacing:var(--track-label);box-shadow:var(--shadow-1),var(--shadow-2)}.primary.big{padding:13px 28px;font-size:1rem;border-radius:var(--r-ctl-lg)}.primary.on{background:var(--go)}.primary:hover:not(:disabled){box-shadow:var(--shadow-1),var(--shadow-lift);transform:translateY(-1px)}.primary:not(:disabled):active{box-shadow:var(--shadow-1)}.ghost{background:var(--tile-face);color:var(--ink-soft);font-weight:var(--w-label);padding:8px 16px;font-size:.85rem;text-transform:uppercase;letter-spacing:var(--track-label);box-shadow:var(--edge),var(--shadow-1),var(--shadow-2)}.ghost:hover:not(:disabled){color:var(--ink);box-shadow:var(--edge),var(--shadow-1),var(--shadow-lift);transform:translateY(-1px)}.ghost:not(:disabled):active{box-shadow:var(--edge),var(--shadow-1)}input{font:inherit;font-weight:var(--w-label-strong);color:var(--ink);background:var(--tile-face);border:0;border-radius:var(--r-ctl);padding:8px 16px;box-shadow:var(--edge),var(--shadow-1),var(--shadow-2);outline:none;width:10ch}input:focus{box-shadow:inset 0 0 0 2px var(--ink-mute),var(--shadow-1),var(--shadow-2)}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented button{background:var(--tile-face);color:var(--ink-soft);font-size:.82rem;font-weight:var(--w-label);padding:6px 13px;text-transform:uppercase;letter-spacing:var(--track-label);box-shadow:var(--edge),var(--shadow-1),var(--shadow-2)}.segmented button.on{background:var(--ink);color:var(--ground);box-shadow:none}.primary.filling{--ring: inset 0 0 0 3px var(--pc);color:var(--ink);background:linear-gradient(to top,var(--pf) 0 var(--p),transparent calc(var(--p) + 1.5%) 100%),var(--tile-face);box-shadow:var(--ring),var(--shadow-1),var(--shadow-2)}.primary.filling:hover:not(:disabled){transform:none;box-shadow:var(--ring),var(--shadow-1),var(--shadow-2)}.dot{width:11px;height:11px;border-radius:50%;background:var(--pc);display:inline-block}.splash{margin:auto;text-align:center;padding:40px}.splash p{color:var(--ink-soft);font-family:var(--font-prose)}.lobby{width:min(760px,100%);margin:0 auto;padding:40px 24px 80px}.lobbyhead{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:40px}.namefield{display:flex;align-items:flex-start}.namefield input{width:15ch;max-width:100%}@supports (field-sizing: content){.namefield input,.setupwho input.name{field-sizing:content;width:auto;min-width:15ch}}.namefield input::placeholder{color:var(--ink-mute);font-weight:var(--w-label)}.namefield.big input{font-size:1.25rem;padding:12px 20px;border-radius:var(--r-ctl-lg);box-shadow:var(--edge),var(--shadow-1),var(--shadow-2)}.namefield.big input:focus{box-shadow:inset 0 0 0 2px var(--ink-mute),var(--shadow-1),var(--shadow-2)}.tablehead{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--hairline);margin-bottom:16px}.tablehead h2{margin:0}.howto{margin-top:56px}.howto h2{margin:0 0 20px;padding-bottom:10px;border-bottom:1px solid var(--hairline)}.howto.folded h2{margin-bottom:0}.howtotoggle{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.howtotoggle svg{color:var(--ink-mute);transition:transform .16s}.howtotoggle:hover svg{color:var(--ink)}.howto.folded .howtotoggle svg{transform:rotate(-90deg)}.howtotoggle:focus-visible{outline:2px solid var(--ink-mute);outline-offset:4px;border-radius:2px}.howto ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:32px 28px}.howto li{--n: 4;--cell: 46px;--gap: calc(var(--cell) * .1);width:calc(var(--cell) * 4.5);display:flex;flex-direction:column;align-items:center;gap:12px}.howto p{margin:0;min-height:2.6em;display:flex;align-items:flex-end;justify-content:center;font-family:var(--font-prose);font-size:1rem;font-weight:var(--w-label);line-height:1.3;text-align:center;text-wrap:balance}.howto strong{font-weight:var(--w-label-strong);letter-spacing:var(--track-label)}.demo{position:relative;height:calc(var(--cell) * 4.5);width:100%}.demo.scored{height:calc(var(--cell) * 6.1)}.demo .tile{cursor:default}.demoflyer,.demoscore,.demopointer{position:absolute;pointer-events:none}.demoflyer{width:calc(var(--cell) * .8);height:calc(var(--cell) * .8);transform:translate(-50%,-50%);border-radius:13%;display:grid;place-items:center;z-index:3;font-family:var(--font-tile);font-weight:var(--w-tile);font-size:calc(var(--cell) * .42);color:var(--ink);background:var(--pf);box-shadow:0 3px 10px #342c2333}.demoscore{transform:translate(-50%,-50%);font-family:var(--font-tile);font-weight:var(--w-tile);font-size:calc(var(--cell) * .7);line-height:1;color:var(--pc);font-variant-numeric:tabular-nums}.demopointer{z-index:4}.demopointer.touch{width:calc(var(--cell) * .72);height:calc(var(--cell) * .72);transform:translate(-50%,-50%);border-radius:50%;background:#342c2329;box-shadow:inset 0 0 0 1.5px #342c2359;transition:transform .12s}.demopointer.touch.down{transform:translate(-50%,-50%) scale(.82);background:#342c2342}:root[data-theme=dark] .demopointer.touch{background:#ffffff29;box-shadow:inset 0 0 0 1.5px #fff6}:root[data-theme=dark] .demopointer.touch.down{background:#ffffff42}.demopointer svg{display:block;transition:transform .12s;transform-origin:0 0}.demopointer.down svg{transform:scale(.9)}.tablelist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.tablerow{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:var(--tile-face);border-radius:12px;padding:13px 18px;box-shadow:var(--shadow-1),var(--shadow-2);color:var(--ink)}.tablerow:hover{box-shadow:var(--shadow-1),0 4px 12px #342c2324}.tname{font-weight:var(--w-label);flex:1;text-transform:uppercase;letter-spacing:var(--track-label)}.dots{display:flex;gap:4px}.meta{font-size:.78rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:var(--track-label)}.phase{font-size:.66rem;font-weight:var(--w-label);letter-spacing:var(--track-label);text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--tray);color:var(--ink-soft)}.phase.on{background:var(--ink);color:var(--ground)}.card{background:var(--tile-face);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-1),var(--shadow-2);margin-bottom:16px}.badge{font-size:.64rem;font-weight:var(--w-label);letter-spacing:var(--track-label);text-transform:uppercase;padding:3px 8px;border-radius:var(--r-ctl);background:var(--tile-face);color:var(--ink-soft);box-shadow:var(--shadow-1),var(--shadow-2)}.setupwho .name.mine{background:none;padding:0;font-weight:var(--w-label);cursor:text;border-radius:0}.setupwho .name.mine:active{transform:none}.setupwho .name.mine:hover{background:var(--tray);box-shadow:0 0 0 4px var(--tray);border-radius:2px}.setupwho input.name{width:15ch;font-weight:var(--w-label);padding:2px 8px;margin:-3px 0 -3px -9px}.dotpick{position:relative;display:inline-flex}.dot.mine{width:14px;height:14px;padding:0;border-radius:50%;background:var(--pc);transition:transform 90ms ease,box-shadow 90ms ease}.dot.mine:hover,.dot.mine[aria-expanded=true]{transform:scale(1.2);box-shadow:0 0 0 3px var(--pf)}.swatchpop{position:absolute;top:calc(100% + 8px);left:-10px;z-index:20;display:flex;gap:7px;padding:10px;background:var(--tile-face);border-radius:var(--r-ctl-lg);box-shadow:var(--shadow-1),var(--shadow-lift)}.sw{width:24px;height:24px;border-radius:50%;background:var(--pf);box-shadow:inset 0 0 0 2px var(--pc)}.sw.on{box-shadow:inset 0 0 0 3px var(--pc),0 0 0 3px var(--ink)}.setting{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.setting label{font-size:.72rem;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft);width:82px}.linkrow{display:flex;align-items:center;gap:12px}.linkrow code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--tray);padding:8px 13px;border-radius:var(--r-ctl);color:var(--ink-soft)}.play{flex:1;--board: min( calc(100vw - 14px) , 56vh, 560px);height:100dvh;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 8px calc(var(--shellbar) + env(safe-area-inset-bottom,0px) + 12px)}.playstatus{width:min(100%,var(--board));display:flex;align-items:center;justify-content:space-between;gap:12px}.leave,.back{background:var(--tile-face);color:var(--ink-soft);font-size:.78rem;font-weight:var(--w-label);padding:6px 13px;text-transform:uppercase;letter-spacing:var(--track-label);box-shadow:var(--edge),var(--shadow-1);flex:none}:is(.leave,.back):hover{color:var(--ink)}.boardwrap{flex:none;display:flex;flex-direction:column;align-items:center;--cell: calc(var(--board) / (1.1 * var(--n) + .1));--gap: calc(var(--cell) * .1)}@media (min-aspect-ratio: 1/1) and (min-width: 700px){.play{--board: min( calc(100vh - 270px) , calc(100vw - 40px) , 620px)}}.board{position:relative;display:grid;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(var(--n),var(--cell));gap:var(--gap);padding:var(--gap);border-radius:14px;background:var(--tray);box-shadow:inset 0 1px 3px #342c2321,inset 0 0 0 1px #342c230d}.trail{position:absolute;inset:var(--gap);pointer-events:none;overflow:visible}.trail polyline{fill:none;stroke-width:.035;stroke-linecap:round;stroke-linejoin:round;opacity:.45}.trail g{opacity:.45}.trail g polyline{opacity:1}.trail path.dir{fill:none;stroke-width:.03;stroke-linecap:round;stroke-linejoin:round}.trail polyline.sel{stroke:var(--selink);stroke-width:.062;opacity:.75;stroke-dasharray:.17 .13;animation:ants 1.1s linear infinite}@keyframes ants{to{stroke-dashoffset:-.6}}.tile{position:relative;aspect-ratio:1;border-radius:13%;display:grid;place-items:center;font-size:calc(var(--cell) * .52 * var(--tile-scale));font-family:var(--font-tile);font-weight:var(--w-tile);letter-spacing:.01em;color:var(--ink);background:var(--tile-face);cursor:pointer;box-shadow:var(--shadow-1),var(--shadow-2)}.tile>span{position:relative;z-index:1;pointer-events:none;line-height:1;text-box:trim-both cap alphabetic}.tile.claimed{background:linear-gradient(to top,color-mix(in oklab,var(--pf) 70%,var(--tile-face)) 0 var(--p),color-mix(in oklab,var(--pf) 22%,var(--tile-face)) calc(var(--p) + 1.5%) 100%),var(--tile-face)}.tile.sel:before{content:"";position:absolute;z-index:0;top:17%;right:17%;bottom:17%;left:17%;border-radius:50%;background:var(--disc);box-shadow:inset 0 1.5px 3px #342c2342,inset 0 -1px 0 var(--disc-lip)}.tile.reseed{animation:reseed .64s ease-out}@keyframes reseed{0%,52%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:none}}.tile.broke{animation:broke .4s ease-out}@keyframes broke{0%{transform:translate(0)}18%{transform:translate(-4px)}38%{transform:translate(4px)}58%{transform:translate(-3px)}78%{transform:translate(2px)}to{transform:translate(0)}}.flyer{position:fixed;z-index:50;pointer-events:none;border-radius:13%;display:grid;place-items:center;font-size:calc(var(--fly) * .52 * var(--tile-scale));font-family:var(--font-tile);font-weight:var(--w-tile);line-height:1;text-box:trim-both cap alphabetic;color:var(--ink);background:var(--pf);box-shadow:0 3px 10px #342c2333}.readout{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;align-self:stretch;min-height:max(52px,calc(var(--cell) * .46 * var(--tile-scale)));margin:0 0 8px}.readout .word{grid-column:2;position:relative;font-family:var(--font-tile);font-weight:var(--w-tile);font-size:calc(var(--cell) * .46 * var(--tile-scale));letter-spacing:var(--track-tile);color:var(--ink-mute);line-height:1;white-space:nowrap}.readout .word.real{color:var(--ink)}.readout .word.rejected{color:var(--ink-mute);animation:reject .9s ease-out forwards}@keyframes reject{0%{transform:translate(0)}8%{transform:translate(-9px)}18%{transform:translate(8px)}28%{transform:translate(-6px)}38%{transform:translate(4px)}48%{transform:translate(0);opacity:1}70%{opacity:1}to{opacity:0}}.readout .needs{position:absolute;left:50%;top:100%;transform:translate(-50%);margin-top:4px;font-family:var(--font-label);font-size:.74rem;font-weight:var(--w-label);color:var(--ink-mute);text-transform:uppercase;letter-spacing:var(--track-label)}.readout .claim{grid-column:3;justify-self:end;background:var(--ink);color:var(--ground);font-size:1.05rem;font-weight:var(--w-label-strong);height:52px;padding:0 26px;text-transform:uppercase;letter-spacing:var(--track-label);border-radius:var(--r-ctl-lg)}.readout .claim:disabled{background:var(--tray);color:var(--ink-mute);opacity:1}.readout .x{grid-column:1;justify-self:start;background:var(--tray);color:var(--ink-soft);width:52px;height:52px;flex:none;border-radius:50%;font-size:1.5rem;line-height:1;display:grid;place-items:center;padding:0}.readout .x:hover{background:color-mix(in oklch,var(--tray),var(--ink) 7%);color:var(--ink)}.readout .x:active{transform:scale(.94)}:root:not([data-input=tap]) .readout :is(.x,.claim){display:none}.scores{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-wrap:wrap;gap:16px 30px;justify-content:center;align-content:flex-start;align-items:flex-start;width:min(100%,760px)}.player{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.playerhead{display:flex;align-items:baseline;gap:8px}.latest{font-size:.78rem;font-family:var(--font-tile);font-weight:var(--w-tile);line-height:1.35;text-transform:uppercase;letter-spacing:var(--track-tile);color:var(--pc)}.player .name{font-weight:var(--w-label);color:var(--pc)}.player .pts{font-family:var(--font-tile);font-weight:var(--w-tile);font-size:1.2rem;color:var(--pc);font-variant-numeric:tabular-nums}.player.gone{opacity:.4}.clock{font-size:.9rem;font-family:var(--font-tile);font-weight:var(--w-tile);letter-spacing:var(--track-tile);color:var(--ink-mute);font-variant-numeric:tabular-nums}.clock.low{color:var(--warn)}.clock.target{color:var(--ink-soft);font-size:.76rem;font-family:var(--font-label);font-weight:var(--w-label);letter-spacing:var(--track-label);text-transform:uppercase}.shell{height:100dvh;width:min(100%,1080px);margin:0 auto;padding:12px 16px calc(var(--shellbar) + 16px);display:grid;grid-template-columns:1fr 300px;grid-template-rows:minmax(0,1fr);gap:16px}.shellmain{min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding:2px 6px 8px;margin:-2px -6px 0}.shellbar{position:fixed;left:0;right:0;bottom:0;z-index:10;height:calc(var(--shellbar) + env(safe-area-inset-bottom,0px));padding:0 16px env(safe-area-inset-bottom,0px);display:flex;justify-content:space-between;align-items:center;background:var(--ground);border-top:1px solid var(--hairline)}.shellbar :is(.leave,.back){font-size:1rem;padding:13px 28px;border-radius:var(--r-ctl-lg);box-shadow:var(--edge),var(--shadow-1),var(--shadow-2)}.shellgo{display:flex;align-items:center;gap:12px}@media (max-width: 480px){.shellbar{gap:8px}.shellgo{gap:8px;min-width:0}.shellbar :is(.leave,.back),.shellbar .primary.big{padding:12px 15px;font-size:.9rem}.shellbar .primary.big{line-height:1.15}}.shell>.chat{min-width:0}@media (max-width: 760px){.shell{height:auto;grid-template-columns:1fr;grid-template-rows:auto}.shellmain{overflow:visible}.shell .chatlog{flex:none;height:220px}}.recap,.setup{flex:1;background:var(--tile-face);border-radius:14px;box-shadow:var(--shadow-1),var(--shadow-2);overflow:hidden;display:flex;flex-direction:column;min-height:0}.recaphead,.setuphead{display:flex;gap:12px}.recaphead,.setuphead{padding:var(--pad-frame) var(--pad-frame) calc(var(--pad-frame) * .8);border-bottom:1px solid var(--hairline)}.setuphead{display:grid;gap:10px 12px;align-items:center;grid-template-columns:minmax(0,max-content) max-content max-content max-content 1fr}.setuphead .setupwho{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;column-gap:12px}.setupwho .who{display:flex;align-items:center;gap:9px;min-width:0}.setupwho .who>:not(.name){flex:none}.setupwho .who .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setupwho .tags{display:flex;gap:6px}.recapwho,.setupwho{flex:1;min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px}.setupwho{flex:0 1 auto;align-items:center;gap:0 9px;font-weight:var(--w-label)}.setupwho.gone{opacity:.45}.recapwho .name,.setupwho .name{font-weight:var(--w-label);color:var(--pc)}.recapwho .pts{font-family:var(--font-tile);font-weight:var(--w-tile);font-size:1.2rem;color:var(--pc);font-variant-numeric:tabular-nums}.setgo>.name:after,.setgo>.who>.name:after{content:"✓";margin-left:6px;font-size:.8em;color:var(--go)}.recapscroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}.setupbody{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--pad-frame);display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,.6vw + 7px,18px)}.setupbody .setting{margin-bottom:0}.setupbody .linkrow{margin-top:auto;padding-top:var(--pad-frame)}.stands{flex:1 0 auto;display:flex;flex-direction:column;justify-content:flex-end;gap:calc(var(--pad-frame) * 1.2);padding:var(--pad-frame) var(--pad-frame) 0}.shelf{display:grid;grid-template-rows:1fr auto;grid-auto-flow:column;grid-auto-columns:calc(100% / var(--per-shelf));justify-content:center}.stand{grid-row:span 2;display:grid;grid-template-rows:subgrid;min-width:0}.tower{min-width:0;padding:0 6px;container-type:inline-size;display:flex;flex-direction:column-reverse;align-items:center;gap:3px}.wallrow{position:relative;display:flex;gap:2px;cursor:default}.wt{--s: min(18px, calc(100cqi / var(--len) - 2px));width:var(--s);height:var(--s);border-radius:13%;display:grid;place-items:center;font-family:var(--font-tile);font-weight:var(--w-tile);font-size:calc(var(--s) * .56);text-transform:uppercase;color:var(--ink);background:color-mix(in oklab,var(--pf) 70%,var(--tile-face));box-shadow:var(--shadow-1)}.wt>span{line-height:1;text-box:trim-both cap alphabetic}.wallrow.broken .wt{background:none;box-shadow:inset 0 0 0 1px var(--hairline);color:var(--ink-mute)}.wallrow .strike{position:absolute;left:-3px;right:-3px;top:calc(50% - 1px);height:2px;border-radius:1px;background:var(--pc)}.wallrow .strike.gone{background:var(--ink-mute)}.recapwho.plinth{margin-top:8px;padding:6px 6px 0;border-top:2px solid var(--ink);justify-content:flex-start;container-type:inline-size}.recapwho.plinth .pts{font-size:clamp(1.8rem,30cqi,3.8rem)}.recapwho.plinth .name{font-size:clamp(.72rem,11cqi,1.6rem);line-height:1.15;overflow-wrap:anywhere}.recapwho.plinth .trophies{margin-top:4px;flex-wrap:wrap}.missed{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;padding:var(--pad-frame);border-top:1px solid var(--hairline)}.missed figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:5px}.missword{margin-top:4px;font-family:var(--font-tile);font-weight:var(--w-tile);font-size:1.15rem;text-transform:uppercase;letter-spacing:var(--track-tile)}.misskind{font-size:.7rem;font-weight:var(--w-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-mute)}.missbreaks{display:flex;gap:6px}.missbreaks>span{font-family:var(--font-tile);font-weight:var(--w-tile);font-size:.72rem;text-transform:uppercase;letter-spacing:var(--track-tile);color:var(--pc)}.missbreaks>.gone{color:var(--ink-mute)}.miniboard{--cell: 30px;--gap: calc(var(--cell) * .1);position:relative;display:grid;grid-template-columns:repeat(var(--n),var(--cell));gap:var(--gap);padding:var(--gap);border-radius:calc(var(--cell) * .24);background:var(--tray);box-shadow:inset 0 1px 3px #342c2321}.miniboard .mt{position:relative;aspect-ratio:1;border-radius:13%;display:grid;place-items:center;font-family:var(--font-tile);font-weight:var(--w-tile);font-size:calc(var(--cell) * .52 * var(--tile-scale));color:var(--ink);background:var(--tile-face);box-shadow:var(--shadow-1)}.miniboard .mt>span{position:relative;z-index:2;line-height:1;text-box:trim-both cap alphabetic}.miniboard .mt.claimed{background:linear-gradient(to top,color-mix(in oklab,var(--pf) 70%,var(--tile-face)) 0 var(--p),color-mix(in oklab,var(--pf) 22%,var(--tile-face)) calc(var(--p) + 1.5%) 100%),var(--tile-face)}.miniboard .mt.gone{background:var(--tray)}.miniboard svg{position:absolute;inset:var(--gap);width:calc(100% - 2 * var(--gap));height:calc(100% - 2 * var(--gap));pointer-events:none;overflow:visible;z-index:1}.miniboard polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.miniboard .link{stroke:var(--pc);stroke-width:.035;opacity:.45}.miniboard .link path.dir{fill:none;stroke-width:.03}.miniboard .path{stroke:var(--ink);stroke-width:.08;opacity:.55;stroke-dasharray:.14 .12}.miniboard .start{fill:var(--ink);opacity:.55}.recapwho{flex-direction:column;align-items:center;text-align:center;gap:2px}.recapwho .name{font-size:clamp(1.1rem,.9vw + .85rem,1.6rem)}.recapwho .pts{font-size:clamp(2.4rem,2.6vw + 1.4rem,3.8rem);line-height:1.05}.recapwho .trophies{margin:6px 0 0;gap:6px;justify-content:center}.recapwho .trophy i{width:24px;height:24px}.recapwho .trophies .more{font-size:.9rem}.deftip{position:fixed;z-index:50;max-width:280px;pointer-events:none;background:var(--ink);color:var(--ground);border-radius:var(--r-ctl);padding:7px 11px;font-size:.78rem;line-height:1.35;box-shadow:var(--shadow-2);font-family:var(--font-prose)}.deftip.above{transform:translateY(-100%)}@media (max-width: 760px){.recap{flex:none;height:70dvh}.recapscroll,.setupbody{overflow:visible}.miniboard{--cell: 19px}.missed{gap:10px;padding-left:8px;padding-right:8px}.missword{font-size:.95rem}.misskind{font-size:.6rem;letter-spacing:.05em}.missbreaks{flex-wrap:wrap;justify-content:center;gap:2px 6px;max-width:100px}.shell .chatlog{overscroll-behavior:auto}}.chat{background:var(--tile-face);border-radius:14px;box-shadow:var(--shadow-1),var(--shadow-2);overflow:hidden;display:flex;flex-direction:column;min-height:0}.chatlog{padding:14px 16px;overflow-y:auto;overscroll-behavior:contain;flex:1;display:flex;flex-direction:column;gap:5px}.chatline{margin:0;font-family:var(--font-prose);font-size:.86rem;line-height:1.45;color:var(--ink)}.chatline b{font-family:var(--font-label);color:var(--pc);font-weight:var(--w-label);margin-right:8px}.chatbox{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--hairline)}.chatbox button{flex:none}.chatbox input{flex:1;width:auto;min-width:0;font-family:var(--font-prose);font-weight:400;box-shadow:var(--edge);background:var(--ground)}.trophies{display:inline-flex;align-items:center;gap:3px;margin-left:4px;flex-wrap:wrap}.trophy{display:inline-flex;align-items:center;gap:2px}.trophy i{width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 34% 28%,var(--t-hi),var(--t-lo) 74%);box-shadow:inset 0 -1px 1px #2b1f1159,inset 0 1px 1px #ffffff8c,0 1px 1.5px #342c234d}.trophies .more{font-size:.66rem;font-family:var(--font-tile);font-weight:var(--w-tile);color:var(--ink-soft);font-variant-numeric:tabular-nums}.trophy.gold{--t-hi: oklch(.93 .1 95);--t-lo: oklch(.7 .14 78)}.trophy.silver{--t-hi: oklch(.95 .008 250);--t-lo: oklch(.7 .02 250)}.trophy.bronze{--t-hi: oklch(.83 .08 62);--t-lo: oklch(.55 .1 45)}.confetti{position:fixed;z-index:70;pointer-events:none;will-change:transform,opacity}.setupwho .name,.player .name,.recapwho .name,.chatline b,.namefield input,.setupwho input.name{text-transform:uppercase;letter-spacing:var(--track-label)}.netbar{position:fixed;top:0;left:0;right:0;text-align:center;background:#f1944f;color:#341a07;font-size:.72rem;font-weight:var(--w-label);padding:5px;z-index:60;text-transform:uppercase;letter-spacing:var(--track-label)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--ground);font-size:.85rem;font-family:var(--font-prose);padding:9px 18px;border-radius:999px;z-index:60}@media (prefers-reduced-motion: reduce){.trail polyline.sel{animation:none}.tile.reseed,.tile.broke{animation:none}button{transition:none}button:hover,button:active{transform:none}}.shell.flush{width:100%;gap:0;padding:0 0 calc(var(--shellbar) + env(safe-area-inset-bottom,0px));background:var(--page)}.shell.flush>.shellmain{padding:0;margin:0}.shellbar.flush{background:var(--page)}:root.flush body{background:var(--page)}:root.flush .tablelist{gap:0}:root.flush .tablerow{background:none;box-shadow:none;border-radius:0;border-bottom:1px solid var(--hairline)}:root.flush .tablerow:hover{background:var(--ground);box-shadow:none}.shell.flush .recap,.shell.flush .setup,.shell.flush>.chat{border-radius:0;box-shadow:none;background:none}.shell.flush>.chat{border-left:1px solid var(--hairline)}.shell.flush .chatlog{padding:var(--pad-frame) var(--pad-frame) 12px}.shell.flush .chatbox{padding:0 var(--pad-frame)}.shell.flush .setupbody{padding-bottom:0}.shell.flush .setupbody .linkrow{margin:auto calc(var(--pad-frame) * -1) 0;padding:0 var(--pad-frame);border-top:1px solid var(--hairline)}.shell.flush .chatbox,.shell.flush .setupbody .linkrow{flex:none;height:64px;align-items:center}.shell.flush .linkrow code{background:none;padding:0;border-radius:0;text-transform:uppercase}@media (max-width: 760px){.shell.flush>.chat{border-left:0;border-top:1px solid var(--hairline)}.shell.flush{min-height:100dvh;grid-template-rows:auto 1fr}.shell.flush .chatlog{flex:1;height:auto;min-height:160px}.shell.flush .recap{height:auto}}.botlevel{position:relative;display:inline-flex}.levelbtn{position:relative;font-size:.68rem;font-weight:var(--w-label);text-transform:uppercase;letter-spacing:var(--track-label);padding:4px 24px 4px 9px;background:var(--tile-face);color:var(--ink-soft);box-shadow:var(--edge),var(--shadow-1),var(--shadow-2)}.levelbtn:hover:not(:disabled),.levelbtn[aria-expanded=true]{color:var(--ink)}.levelbtn:after{content:"";position:absolute;right:9px;top:calc(50% - 2px);border:4px solid transparent;border-bottom:0;border-top-color:currentColor}.levelnames{display:grid;text-align:left}.levelnames>span{grid-area:1 / 1;visibility:hidden}.levelnames>span.on{visibility:visible}.levelpop{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:100%;display:flex;flex-direction:column;gap:2px;padding:5px;background:var(--tile-face);border-radius:var(--r-ctl-lg);box-shadow:var(--shadow-1),var(--shadow-lift)}.levelpop button{text-align:left;background:none;color:var(--ink-soft);white-space:nowrap;font-size:.68rem;font-weight:var(--w-label);text-transform:uppercase;letter-spacing:var(--track-label);padding:6px 10px;border-radius:var(--r-ctl)}.levelpop button:hover{background:var(--tray);color:var(--ink)}.levelpop button.on{background:var(--ink);color:var(--ground)}.botout{background:none;color:var(--ink-mute);font-size:1.1rem;line-height:1;padding:0 2px}.botout:hover{color:var(--ink)}.setuphead .setupwho.isbot{order:1}.setuphead .addbotrow{grid-column:1 / -1;order:2}.setuphead .addbot{padding:4px 12px;font-size:.72rem}.prefs{position:fixed;top:8px;right:8px;z-index:30;display:flex;gap:2px}.prefsbtn{width:32px;height:32px;padding:0;display:grid;place-items:center;background:none;color:var(--ink-mute)}.prefsbtn:hover,.prefsbtn[aria-expanded=true]{color:var(--ink)}.prefsbtn:not(:disabled):active{transform:none}.prefspop{position:absolute;top:calc(100% + 4px);right:0;width:max-content;display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--tile-face);border-radius:var(--r-ctl-lg);box-shadow:var(--shadow-1),var(--shadow-lift)}.prefspop .setting,.prefspop .segmented{margin:0;flex-wrap:nowrap}.prefspop .setting label{width:52px}.prefsbtn[aria-pressed=true]{color:var(--ink)}.prefspop .volume{flex:1;min-width:0;margin:0;padding:0;height:20px;accent-color:var(--ink);background:none;border:0;box-shadow:none}
