@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-400-normal-FfmJh7DR.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-400-normal-DPp7N0cD.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-700-normal-Dpiyiu63.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-700-normal-C2qZD_Q9.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-BalHKn7d.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-qxMiU51n.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-CBw-mJf_.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-292QVhS1.woff)format("woff")}.fc{--fc-table:#1f5a3d;--fc-table-dark:#174630;--fc-slot:#ffffff57;--fc-focus:#ffd23f;--fc-target:#7fe0ff;--fc-hint:#ffd23f;--fc-red:#c8001e;--fc-black:#111;--fc-blue:#1650c8;--fc-green:#137a35;background:radial-gradient(ellipse at 50% 20%, var(--fc-table) 0%, var(--fc-table-dark) 100%);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;width:100%;height:100%;position:relative;overflow:hidden auto}.fc.fc-contrast{--fc-table:#0f3d26;--fc-table-dark:#0a2c1b;--fc-slot:#ffffffb3;--fc-red:#b0001a;--fc-black:#000}.fc-table{width:100%;position:relative}.fc-slot,.fc-card,.fc-zone{box-sizing:border-box;will-change:transform;position:absolute;top:0;left:0}.fc-slot{border:2px solid var(--fc-slot);border-radius:calc(var(--cw) * .08)}.fc-slot-freecell{background:#0000001f}.fc-slot-foundation{background:#ffffff0f;justify-content:center;align-items:center;display:flex}.fc-slot-column{border-style:dashed;border-color:#fff3}.fc-slot-suit{color:#ffffff52;width:46%;height:46%}.fc-card{width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .08);color:var(--fc-black);background:#fff;border:1px solid #00000052;overflow:hidden;box-shadow:0 1px 2px #00000059}.fc-contrast .fc-card{border:2px solid #000}.fc-card[data-colour=red]{color:var(--fc-red)}.fc-card[data-colour=blue]{color:var(--fc-blue)}.fc-card[data-colour=green]{color:var(--fc-green)}.fc-face{position:absolute;inset:0}.fc-rank{left:calc(var(--cw) * .06);top:calc(var(--cw) * .01);font-family:var(--fc-font,"Atkinson Hyperlegible Next", system-ui, sans-serif);font-weight:700;font-size:calc(var(--cw) * .38);letter-spacing:-.04em;line-height:1.05;position:absolute}.fc-suit{right:calc(var(--cw) * .06);top:calc(var(--cw) * .07);width:calc(var(--cw) * .3);height:calc(var(--cw) * .3);position:absolute}.fc-art{left:8%;right:8%;top:calc(var(--cw) * .5);width:84%;height:calc(97% - var(--cw) * .5);object-fit:contain;pointer-events:none;position:absolute;bottom:3%}.fc-art-face{border-radius:calc(var(--cw) * .03)}.fc-back{opacity:0;background-size:cover;position:absolute;inset:0}.fc-card.is-back .fc-back{opacity:1}.fc-card.is-dragging{box-shadow:0 8px 20px #00000073}.fc-card.is-selected{outline:calc(var(--cw) * .06) solid var(--fc-target);outline-offset:-1px}.fc-card.is-hint{outline:calc(var(--cw) * .06) solid var(--fc-hint);outline-offset:-1px}.fc-card.is-refused{animation:.32s fc-shake}.fc-still .fc-card.is-refused{outline:calc(var(--cw) * .05) solid #e0a800;outline-offset:-1px;animation:none}@keyframes fc-shake{0%,to{translate:0}25%{translate:calc(var(--cw) * -.06) 0}75%{translate:calc(var(--cw) * .06) 0}}.fc-zones{pointer-events:none;z-index:3000;position:absolute;inset:0}.fc-zone{border-radius:calc(var(--cw) * .1);outline:none}.fc-zone.is-target{box-shadow:0 0 0 calc(var(--cw) * .05) var(--fc-target)}.fc-zone.is-hint{box-shadow:0 0 0 calc(var(--cw) * .06) var(--fc-hint)}.fc-zone:focus-visible{box-shadow:0 0 0 calc(var(--cw) * .05) #000, 0 0 0 calc(var(--cw) * .09) var(--fc-focus)}.fc-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.fc-card{transition:none!important}.fc-card.is-refused{outline:calc(var(--cw) * .05) solid #e0a800;outline-offset:-1px;animation:none}}:root{--bg:#f4f1ea;--panel:#fff;--ink:#1b1b1b;--muted:#4d4d4d;--line:#c9c3b6;--green:#1f5a3d;--green-dark:#174630;--green-ink:#fff;--accent:#b3541e;--danger:#a3201b;--focus:#1650c8;--radius:14px;--tap:52px;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:Atkinson Hyperlegible Next,system-ui,-apple-system,Segoe UI,sans-serif;font-size:18px;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg)}h1,h2{margin:0 0 .4em;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.2rem}p{margin:0 0 .8em}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.3em;height:1.3em}.muted{color:var(--muted)}.small{font-size:.85rem}.note{border-left:4px solid var(--accent);background:#fbf3dc;border-radius:6px;padding:.5em .8em}.error{color:var(--danger);margin:.4em 0 0;font-weight:700}.button,.icon-button,.pill,.menu-item{font:inherit;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:none}.button{min-height:var(--tap);border:2px solid var(--green);background:var(--panel);border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.5em 1.1em;font-weight:700;display:inline-flex}.button:hover{background:#eef4f0}.button:disabled{opacity:.45;cursor:default}.button-primary{background:var(--green);color:var(--green-ink)}.button-primary:hover{background:var(--green-dark)}.button-danger{border-color:var(--danger);background:var(--danger);color:#fff}.button-big{flex:1;min-height:64px;font-size:1.15rem}.button-small{min-height:44px;padding:.3em .9em}.button-quiet{background:0 0;border-color:#0000}.icon-button{min-width:var(--tap);min-height:var(--tap);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:1.6rem;line-height:1;display:inline-flex}.icon-button:hover{background:#00000012}.page{min-height:100vh;min-height:100dvh}.page-header{padding:.5rem .75rem;padding-top:max(.5rem, env(safe-area-inset-top));background:var(--green);color:var(--green-ink);align-items:center;gap:.4rem;display:flex}.page-header h1{margin:0;font-size:1.3rem}.page-header .icon-button{color:var(--green-ink)}.page-header .icon-button:hover{background:#ffffff26}.page-main{max-width:40rem;padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1.1rem}.loading{background:var(--green-dark)}.home-header{padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));background:var(--green);color:var(--green-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.brand{letter-spacing:.02em;margin:0;font-size:2rem}.tagline{opacity:.92;margin:0}.home-nav{flex-wrap:wrap;gap:.5rem;display:flex}.pill{min-height:48px;color:var(--green-ink);border:2px solid #ffffffd9;border-radius:999px;align-items:center;gap:.4em;padding:.3em .9em;font-weight:700;display:inline-flex}.pill:hover{background:#ffffff24}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.tile{border:2px solid var(--green);text-align:center;background:#f2f7f3;border-radius:12px;flex-direction:column;justify-content:center;gap:.2rem;min-height:96px;padding:.7rem;text-decoration:none;display:flex}.tile:hover{background:#e3efe6}.tile-level{font-size:1.2rem;font-weight:700}.tile-status{color:var(--muted);font-size:.9rem}.tile-won{background:var(--green);color:var(--green-ink)}.tile-won .tile-status{color:var(--green-ink)}.tile-dnf .tile-status{color:var(--danger);font-weight:700}.tile-inProgress{border-style:dashed}@media (max-width:380px){.tiles{grid-template-columns:1fr}.tile{flex-direction:row;justify-content:space-between;min-height:64px}}.install-hint,.update-note{border-radius:var(--radius);background:#e6efe9;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .9rem;display:flex}.install-hint span{flex:12rem}.update-note{left:1rem;right:1rem;bottom:max(1rem, env(safe-area-inset-bottom));background:var(--ink);color:#fff;z-index:50;max-width:32rem;margin:0 auto;position:fixed}.level-buttons{flex-wrap:wrap;gap:.6rem;display:flex}.number-form{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.number-form label{width:100%;font-weight:700}.number-form input,.select-row select{font:inherit;min-height:var(--tap);border:2px solid var(--muted);color:var(--ink);background:#fff;border-radius:10px;padding:.3em .7em}.number-form input{flex:10rem}.settings{flex-direction:column;gap:1rem;display:flex}.select-row{flex-direction:column;gap:.3rem;font-weight:700;display:flex}.choice{border:0;margin:0;padding:0}.choice legend{margin-bottom:.3rem;font-weight:700}.choice-option,.toggle{min-height:var(--tap);cursor:pointer;align-items:center;gap:.7rem;padding:.2rem 0;display:flex}.choice-option input,.toggle input{width:1.5rem;height:1.5rem;accent-color:var(--green);flex:none}.toggle{border-top:1px solid var(--line);justify-content:space-between;padding-top:.6rem;font-weight:700}.toggle-note{font-size:.9rem;font-weight:400;display:block}.markdown h2{margin-top:.8rem}.markdown ul{margin:0 0 .6rem;padding-left:1.3rem}.markdown li{margin-bottom:.35rem}.backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:var(--panel);border-radius:var(--radius);width:min(26rem,100%);max-height:calc(100dvh - 2rem);overflow:auto;box-shadow:0 12px 40px #00000059}.dialog-wide{width:min(40rem,100%)}.dialog-header{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.4rem .5rem .4rem 1.1rem;display:flex;position:sticky;top:0}.dialog-header h2{margin:0}.dialog-body{padding:1rem 1.1rem 1.2rem}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.menu{flex-direction:column;gap:.3rem;display:flex}.menu-item{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:.8rem;min-height:56px;padding:.4rem .8rem;font-weight:700;display:flex}.menu-item:hover{background:#eef4f0}.menu-item:disabled{opacity:.45}.menu-note{color:var(--muted);font-size:.85rem;font-weight:400;display:block}.game{height:100vh;background:var(--green-dark);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.game-bar{padding:.25rem .6rem;padding-top:max(.25rem, env(safe-area-inset-top));background:var(--green-dark);color:var(--green-ink);flex:none;align-items:center;gap:.4rem;display:flex}.game-bar .icon-button{color:var(--green-ink)}.game-bar .icon-button:hover{background:#ffffff26}.game-title{flex:1;min-width:0}.game-title h1{margin:0;font-size:1.05rem}.game-note{color:#ffe08a;margin:0;font-size:.85rem}.game-moves{white-space:nowrap;margin:0;font-size:1.15rem;font-weight:700}.game-area{flex:1;min-height:0;position:relative}.game-actions{padding:.45rem .6rem;padding-bottom:max(.45rem, env(safe-area-inset-bottom));background:var(--green-dark);flex-wrap:wrap;flex:none;align-items:center;gap:.5rem;display:flex}.game-left .game-actions{flex-direction:row-reverse}.game-actions .button{border-color:#fff;min-height:50px}.game-hint{color:#fff;flex:10rem;min-height:1.4em;margin:0;font-weight:700}.thinking:after{content:"";vertical-align:-.05em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.7em;height:.7em;margin-left:.4em;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:480px){:root{--tap:48px}.game-actions .button{padding:.4em .8em}}@media (max-height:480px) and (orientation:landscape){.game-bar{padding-top:0;padding-bottom:0}.game-actions{padding-top:.2rem;padding-bottom:.2rem}.game-actions .button{min-height:44px}}.result{background:var(--green-dark)}.result-main{align-items:center;min-height:100dvh;display:flex}.result-panel{text-align:center;width:100%}.result-panel h1{font-size:2rem}.result-moves{font-size:1.3rem;font-weight:700}.result-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1rem;display:flex}.share{border:2px solid var(--green);background:#f2f7f3;border-radius:12px;margin:1rem 0;padding:1rem}.share-text{font-size:1.05rem;font-weight:700}.share-url{color:var(--muted);word-break:break-all;font-weight:400}.share-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
