@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-accent-500:#00baa7;--color-accent-600:#009588;--color-accent-700:#00776e;--color-ink-50:#f9fafb;--color-ink-100:#f3f4f6;--color-ink-200:#e5e7eb;--color-ink-400:#99a1af;--color-ink-600:#4a5565;--color-ink-800:#1e2939;--color-ink-900:#101828;--color-ink-950:#030712;--radius-control:.5rem}@supports (color:lab(0% 0 0)){:root,:host{--color-accent-500:lab(67.3859% -49.0983 -2.63511);--color-accent-600:lab(55.0223% -41.0774 -3.90277);--color-accent-700:lab(44.4134% -33.1436 -4.22149);--color-ink-50:lab(98.2596% -.247031 -.706708);--color-ink-100:lab(96.1596% -.0823438 -1.13575);--color-ink-200:lab(91.6229% -.159115 -2.26791);--color-ink-400:lab(65.9269% -.832707 -8.17473);--color-ink-600:lab(35.6337% -1.58697 -10.8425);--color-ink-800:lab(16.1051% -1.18239 -11.7533);--color-ink-900:lab(8.11897% .811279 -12.254);--color-ink-950:lab(1.90334% .278696 -5.48866)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.block{display:block}.inline{display:inline}.inline-flex{display:inline-flex}.min-h-11{min-height:calc(var(--spacing) * 11)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-control{border-radius:var(--radius-control)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.bg-accent-600{background-color:var(--color-accent-600)}.bg-surface-raised{background-color:var(--surface-raised)}.px-4{padding-inline:calc(var(--spacing) * 4)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-text{color:var(--text)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-accent-700:hover{background-color:var(--color-accent-700)}.hover\:bg-ink-100:hover{background-color:var(--color-ink-100)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-accent-500:focus-visible{outline-color:var(--color-accent-500)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}}:root{--surface:var(--color-ink-50);--surface-raised:#fff;--text:var(--color-ink-900);--text-muted:var(--color-ink-600);--border:var(--color-ink-200)}@media (prefers-color-scheme:dark){:root{--surface:var(--color-ink-950);--surface-raised:var(--color-ink-900);--text:var(--color-ink-100);--text-muted:var(--color-ink-400);--border:var(--color-ink-800)}}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#0b0f16;--surface-raised:#121925;--surface-sunken:#0d131c;--text:#e6ebf2;--text-muted:#8f9bad;--border:#212c3d;--accent:#2dd4bf;--accent-ink:#032a26;--danger:#f87171;--arrange:#f5b841;--board-frame:#05080d;--cell:#131b27;--cell-inset:#172131;--cell-line:#0a0f16;--wall:#5eead4;--wall-glow:#2dd4bf8c;--center:#0a0f16;--target-dim:.2;--tile-fill:.17;--symbol-outline:#00000059;--chip-face:#eef1f5;--dot-ring:#f8fafc;--robot-rim:#0000008c;--black-rim:#d4dce8;--c-red:#ff5a5f;--c-green:#34d17a;--c-yellow:#ffc933;--c-blue:#5b8dff;--c-black:#262b35;--sand:#f5b841}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#efeae1;--surface-raised:#fbf9f4;--surface-sunken:#e8e2d7;--text:#1d232c;--text-muted:#5d6675;--border:#d9d0c1;--accent:#0f9488;--accent-ink:#fff;--danger:#dc2626;--arrange:#d97706;--board-frame:#343a43;--cell:#f7f3eb;--cell-inset:#ede6d8;--cell-line:#d6cdbd;--wall:#262b33;--wall-glow:transparent;--center:#343a43;--target-dim:.2;--tile-fill:.16;--symbol-outline:#00000047;--chip-face:#fff;--dot-ring:#fff;--robot-rim:#00000073;--black-rim:#0009;--c-red:#e5383b;--c-green:#1f9d55;--c-yellow:#e6a700;--c-blue:#2f6fe4;--c-black:#1c2028;--sand:#d99a1e}html{font-size:clamp(13px,.55vw + .75vh,24px)}html,body{height:100%}body{background:var(--surface);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0}.app-loading{background:var(--surface);height:100dvh}.app{grid-template-columns:auto minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.app.is-idle,.app.is-idle *{cursor:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{aspect-ratio:1;box-sizing:border-box;place-items:center;max-width:calc(100vw - 22rem);height:100dvh;padding:1.1vh;display:grid;position:relative}.board-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.board-frame{fill:var(--board-frame);transition:fill .2s}.is-arranging .board-frame{fill:var(--arrange)}.cell-bg{fill:var(--cell)}.cell-inset{fill:var(--cell-inset)}.cell-line{stroke:var(--cell-line);stroke-width:3px;fill:none}.board-center{fill:var(--center)}.walls{fill:none;stroke:var(--wall);stroke-width:14px;stroke-linecap:square;filter:drop-shadow(0 0 5px var(--wall-glow))}.board-edge{fill:none;stroke:var(--wall);stroke-width:16px;filter:drop-shadow(0 0 5px var(--wall-glow))}.target{opacity:var(--target-dim)}.board-preview .target{opacity:1}.target-tile{fill-opacity:var(--tile-fill);stroke-opacity:.6;stroke-width:3px}.target-tile--vortex{fill:var(--text);stroke:var(--text-muted)}.symbol{stroke:var(--symbol-outline);stroke-width:2px}.vortex-eye{fill:var(--chip-face);stroke:none}.diagonal{stroke-width:15px;stroke-linecap:round}.diagonal-outline{stroke:var(--board-frame);stroke-width:23px;stroke-linecap:round;opacity:.55}.target-current-glow{fill:none;stroke:var(--text);stroke-width:6px;animation:1.4s ease-in-out infinite alternate target-glow}.target-current.is-solved .target-current-glow{stroke:var(--accent);stroke-width:10px;animation:.7s ease-in-out infinite alternate target-solved}@keyframes target-glow{0%{opacity:.25}to{opacity:.95}}@keyframes target-solved{0%{opacity:.5}to{opacity:1}}.chip-face{fill:var(--chip-face);stroke:var(--text-muted);stroke-width:5px}.center-chip .chip-face{stroke:var(--wall);stroke-width:6px}.marker{fill-opacity:.13;stroke-width:6px;stroke-dasharray:16 10;stroke-opacity:.85}.trail-line{fill:none;stroke-width:9px;stroke-opacity:.33;stroke-dasharray:.01 18;stroke-linecap:round;stroke-linejoin:round}.trail-label{opacity:.6}.trail-badge{stroke:var(--board-frame);stroke-width:4px}.trail-number{fill:#fff;stroke:none;font:700 21px var(--font-sans);text-anchor:middle;dominant-baseline:central}.trail-number--yellow{fill:#2b2100}.option{pointer-events:none}.option-path{fill:none;stroke-width:10px;stroke-opacity:.3;stroke-linecap:round;stroke-linejoin:round}.option-dot{stroke:var(--dot-ring);stroke-width:6px;transform-box:fill-box;transform-origin:50%;animation:.18s ease-out dot-in}@keyframes dot-in{0%{opacity:0;transform:scale(.2)}}.robot{cursor:grab}.robot.is-dragging{cursor:grabbing;pointer-events:none}.robot.is-lifted{opacity:.3}.robot-ring{fill:none;stroke-width:7px;opacity:0;transform-box:fill-box;transform-origin:50%}.robot.is-selected .robot-ring{opacity:1;animation:1.1s ease-in-out infinite alternate ring-pulse}@keyframes ring-pulse{0%{stroke-opacity:.55;transform:scale(.94)}to{stroke-opacity:1;transform:scale(1.04)}}.robot-shadow{fill:#000;opacity:.35}.robot.is-dragging .robot-body,.robot.is-dragging .robot-shadow{transform-box:fill-box;transform-origin:50%;transform:scale(1.12)}.robot-rim{fill:none;stroke:var(--robot-rim);stroke-width:3.5px}.robot--black .robot-rim{stroke:var(--black-rim);stroke-width:4px}.robot-art{fill:none;stroke:#0000006b;stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:round}.robot-visor{fill:#0000006b}.robot--black .robot-art{stroke:#ffffffc7}.robot--black .robot-visor{fill:#ffffffc7}.board-preview{pointer-events:none}.toast{background:var(--text);max-width:80%;color:var(--surface);text-align:center;pointer-events:none;border-radius:.9rem;padding:.7rem 1.2rem;font-weight:600;animation:.18s ease-out toast-in;position:absolute;bottom:3vh;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,.6rem)}}.panel{box-sizing:border-box;flex-direction:column;gap:.8rem;min-width:0;height:100dvh;padding:1.1vh 1.2rem 1.1vh .4rem;display:flex;container-type:inline-size}.panel-head{justify-content:space-between;align-items:center;gap:1rem;padding:.3rem .2rem 0;display:flex}.panel-head h1{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:1.05rem;font-weight:700}.toolbar{gap:.35rem;display:flex}.panel-cols{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;min-height:0;display:grid}.panel-col{flex-direction:column;gap:.8rem;min-height:0;display:flex}@container (max-width:40rem){.panel-cols{grid-template-columns:minmax(0,1fr);overflow-y:auto}.panel-col{min-height:auto}.log-card{max-height:24rem}}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:1rem;min-width:0;padding:.9rem 1rem}.card-head{justify-content:space-between;align-items:baseline;gap:.8rem;margin-bottom:.6rem;display:flex}.card-head h2{margin:0;font-size:1.1rem;font-weight:700}.muted{color:var(--text-muted);font-size:.85rem}.hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.85rem}.btn{border:1px solid var(--border);background:var(--surface-sunken);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .9rem;font-weight:600;line-height:1.1;transition:background-color .12s,border-color .12s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn:focus-visible,.icon-btn:focus-visible,.player-name:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn--primary:hover:not(:disabled){border-color:var(--text)}.btn--danger{background:var(--danger);color:#fff;border-color:#0000}.btn--ghost{background:0 0}.btn--small{border-radius:.55rem;padding:.35rem .6rem;font-size:.85rem}.btn--wide{width:100%;padding-block:.75rem;font-size:1.05rem}.btn[aria-pressed=true],.btn[aria-checked=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn--toggle[aria-pressed=true]{background:var(--arrange);color:#1b1300}kbd{font:600 .72em var(--font-mono);opacity:.6;border:1px solid;border-radius:.3rem;padding:.1rem .35rem}.btn kbd{margin-left:.2rem}.icon{flex:none;width:1.2em;height:1.2em}.icon-btn{border:1px solid var(--border);background:var(--surface-raised);width:2.4rem;height:2.4rem;color:var(--text);cursor:pointer;border-radius:.7rem;place-items:center;display:inline-grid}.icon-btn:hover{border-color:var(--accent)}.icon-btn--small{width:1.9rem;height:1.9rem;color:var(--text-muted);background:0 0;border-radius:.55rem}.icon-btn[aria-pressed=true]{color:var(--accent)}.round-card{transition:border-color .15s,box-shadow .15s}.round-card.is-solved{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.round-card.is-drop-target,.player.is-drop-target{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}.round-main{align-items:center;gap:1rem;display:flex}.round-chip{cursor:grab;touch-action:none;filter:drop-shadow(0 4px 10px #0000004d);flex:none;width:6.5rem;height:6.5rem}.round-chip .chip-token{width:100%;height:100%;display:block}.round-chip.is-awarded{cursor:default;opacity:.35;filter:none}.round-info{min-width:0}.round-target-name{font-size:1.55rem;font-weight:800;line-height:1.1}.move-count{align-items:baseline;gap:.4rem;margin-top:.3rem;display:flex}.move-count-number{font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:800;line-height:1}.move-count-label{color:var(--text-muted);font-weight:600}.round-empty{padding:1rem 0;font-size:1.4rem;font-weight:700}.round-status{color:var(--text-muted);margin:.7rem 0 0;font-size:.92rem;line-height:1.35}.round-status.is-good{color:var(--accent);font-weight:700}.round-warning{color:var(--arrange);margin:.35rem 0 0;font-size:.88rem;font-weight:600}.round-actions{margin-top:.8rem}.arrange-note{background:var(--arrange);color:#1b1300;border-radius:.6rem;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.6rem;margin:0;padding:.5rem .5rem .5rem .8rem;font-size:.88rem;font-weight:700;display:flex}.arrange-note .btn{color:inherit;background:#fff6;border-color:#0000}.controls-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.7rem;display:grid}.hourglass-body{align-items:center;gap:1rem;display:flex}.hourglass-glass{cursor:pointer;background:0 0;border:0;flex:none;width:4.6rem;padding:0}.hourglass-glass svg{width:100%;height:auto;display:block}.is-running .hourglass-glass svg{animation:none}.is-done .hourglass-glass svg{animation:.6s ease-in-out flip}@keyframes flip{50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.glass{fill:none;stroke:var(--text-muted);stroke-width:3px}.glass-cap{fill:var(--text-muted)}.sand{fill:var(--sand)}.sand-stream{stroke:var(--sand);stroke-width:3px}.hourglass-readout{flex:1;min-width:0}.timer-digits{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:3.2rem;font-weight:800;line-height:1}.timer-digits.is-low{color:var(--danger)}.is-done .timer-digits{color:var(--danger);animation:.5s ease-in-out 4 alternate time-up}@keyframes time-up{to{opacity:.35}}.timer-buttons{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.timer-presets{grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem;margin-top:.8rem;display:grid}.timer-presets .btn{padding-inline:.2rem}.players-card{flex-direction:column;flex:0 auto;min-height:0;max-height:64%;display:flex}.player-list{flex-direction:column;gap:.45rem;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.player{border:1px solid var(--border);background:var(--surface-sunken);border-radius:.8rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.55rem .6rem .55rem .8rem;transition:border-color .12s,box-shadow .12s;display:grid}.player.is-round-winner{border-color:var(--accent)}.player-main{min-width:0}.player-name{max-width:100%;color:var(--text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:0;padding:0;font-size:1.2rem;font-weight:700;display:block;overflow:hidden}.player.is-leader .player-name:after{content:" ★";color:var(--sand)}.player-name-input{box-sizing:border-box;border:2px solid var(--accent);background:var(--surface-raised);width:100%;color:var(--text);font:inherit;border-radius:.45rem;padding:.2rem .4rem;font-size:1.1rem;font-weight:700}.player-chips{flex-wrap:wrap;gap:.2rem;min-height:.2rem;margin-top:.25rem;display:flex}.mini-chip{cursor:grab;touch-action:none;width:1.55rem;height:1.55rem}.mini-chip .chip-token{width:100%;height:100%;display:block}.player-score{font-variant-numeric:tabular-nums;text-align:right;min-width:1.5ch;font-size:2rem;font-weight:800}.player-actions{align-items:center;gap:.3rem;display:flex}.btn--give{background:var(--accent);color:var(--accent-ink);border-color:#0000}.add-player{align-self:flex-start;margin-top:.6rem}.players-empty{margin:.2rem 0}.chip-ghost{pointer-events:none;z-index:50;filter:drop-shadow(0 8px 18px #00000073);width:4rem;height:4rem;margin:-2rem 0 0 -2rem;position:fixed;top:0;left:0}.chip-ghost .chip-token{width:100%;height:100%}.log-card{flex-direction:column;flex:1 1 0;min-height:9rem;display:flex}.log-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.log-entry button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.45rem;align-items:center;gap:.55rem;padding:.32rem .45rem;font-size:.85rem;display:flex}.log-entry button:hover:not(:disabled){background:var(--surface-sunken)}.log-entry button:disabled{cursor:default}.log-entry.is-current button{background:var(--surface-sunken);font-weight:700}.log-entry.is-undone button{color:var(--text-muted);-webkit-text-decoration:line-through #7f7f7f80;text-decoration:line-through #7f7f7f80}.log-dot{background:var(--text-muted);border-radius:999px;flex:none;width:.6rem;height:.6rem}.log-dot--award,.log-dot--chip{background:var(--sand)}.log-dot--round{background:var(--accent)}.log-dot--player{background:var(--text)}.log-dot--arrange{outline:2px solid var(--arrange)}.log-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.log-time{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.78rem;text-decoration:none}.modal{border:1px solid var(--border);background:var(--surface-raised);width:min(40rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);overscroll-behavior:contain;border-radius:1.1rem;margin:auto;padding:0}.modal--wide{width:min(58rem,100vw - 2rem)}.modal::backdrop{background:#0000008c}.modal-inner{flex-direction:column;max-height:calc(100dvh - 2rem);display:flex}.modal-head{justify-content:space-between;align-items:center;padding:1rem 1.2rem .6rem;display:flex}.modal-head h2{margin:0;font-size:1.35rem}.modal-body{padding:0 1.2rem 1.2rem;overflow-y:auto}.settings-section{border-top:1px solid var(--border);padding:.9rem 0}.settings-section:first-child{border-top:0;padding-top:.2rem}.settings-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .6rem;font-size:.85rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.check{cursor:pointer;align-items:center;gap:.55rem;margin-top:.4rem;display:flex}.check input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.segmented{background:var(--surface-sunken);border-radius:.75rem;gap:.3rem;padding:.25rem;display:inline-flex}.board-picker{grid-template-columns:minmax(12rem,20rem) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.board-picker-preview{aspect-ratio:1}.quarters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.quarter{border:1px solid var(--border);border-radius:.7rem;min-width:0;margin:0;padding:.5rem .6rem .6rem}.quarter legend{color:var(--text-muted);padding:0 .3rem;font-size:.8rem;font-weight:700}.swatches,.side-numbers{gap:.35rem;display:flex}.side-numbers{margin-top:.45rem}.swatch{cursor:pointer;opacity:.45;border:3px solid #0000;border-radius:999px;width:1.7rem;height:1.7rem;padding:0}.swatch[aria-pressed=true]{opacity:1;border-color:var(--text)}.diag-icon{stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:.8em;height:.8em}.help ul{margin:0;padding-left:1.2rem;line-height:1.45}.help li+li{margin-top:.35rem}.keys{gap:.35rem;margin:0;display:grid}.keys-row{grid-template-columns:11rem 1fr;align-items:baseline;gap:.8rem;display:grid}.keys dt,.keys dd{margin:0}.keys kbd{opacity:.85;white-space:nowrap}@media (max-aspect-ratio:5/4){.app{grid-template-columns:minmax(0,1fr);height:auto;min-height:100dvh;overflow:visible}.stage{width:100%;max-width:none;height:auto;max-height:none}.panel{height:auto;padding:0 .8rem 1rem}.panel-cols,.panel-col{min-height:auto;overflow:visible}.players-card{max-height:none}.log-card{max-height:22rem}.board-picker{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}
