:root{--bg:#1d272b;--bg-raised:#263238;--ink:#ece6d6;--ink-muted:#a9b1ad;--tile-top:#66717a;--tile-face:#59646c;--tile-side:#2f373c;--tile-shadow:#00000059;--select:#e3c27a;--hint:#a9d2ca;--focus:#f3e3b8;--radius:6px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background-color:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0}[hidden]{display:none!important}body{background:var(--table-bg-landscape,var(--table-bg-portrait,none)) center / cover no-repeat var(--bg)}@media (orientation:portrait){body{background-image:var(--table-bg-portrait,var(--table-bg-landscape,none))}}.app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-rows:auto 1fr auto auto;display:grid}.topbar{justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 1rem .2rem;display:flex}.title{letter-spacing:.02em;margin:0;font-size:1rem;font-weight:600}.remaining{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.9rem}.viewport{touch-action:none;-webkit-user-select:none;user-select:none;min-height:0;position:relative;overflow:hidden}.board{transform-origin:0 0;position:absolute;top:0;left:0}.tile{border:1px solid var(--tile-top);border-radius:var(--radius);--z:0;background:linear-gradient(rgb(255 255 255/calc(var(--z) * .11)), rgb(255 255 255/calc(var(--z) * .11))), linear-gradient(160deg, #ffffff14, transparent 55%), var(--tile-material,linear-gradient(160deg, var(--tile-top), var(--tile-face) 55%));width:59px;height:59px;box-shadow:1px 1px 0 #8a959c, 4px 5px 0 #2b3337, calc(2px + var(--z) * 4px) calc(3px + var(--z) * 5px) 6px #00000052;cursor:pointer;background-position:50%;background-size:cover;padding:0;transition:opacity .22s,transform .12s,visibility;position:absolute}.tile img{pointer-events:none;width:100%;height:100%;display:block}.tile:focus{outline:none}.tile:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.tile.is-selected{border-color:var(--select);outline:3px solid var(--select);outline-offset:0;transform:translate(-2px,-3px)}.tile.is-selected:after{content:"";border-left:10px solid #0000;border-bottom:10px solid var(--select);border-bottom-right-radius:3px;width:0;height:0;position:absolute;bottom:3px;right:3px}.tile.is-hinted{outline:3px dashed var(--hint);outline-offset:1px;animation:1.6s ease-in-out infinite breathe}.tile.is-removed{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,visibility 0s linear .22s}.tile.is-nudged{animation:.24s nudge}.dim-blocked .tile[aria-disabled=true]:not(.is-removed){filter:brightness(.72)saturate(.8)}.field input[type=checkbox]{width:24px;height:24px;accent-color:var(--select)}.field select{text-overflow:ellipsis;width:13rem;max-width:62%;min-height:44px}@keyframes breathe{50%{outline-offset:4px}}@keyframes nudge{25%{transform:translate(-2px)}75%{transform:translate(2px)}}.fit-button{background:var(--bg-raised);width:44px;height:44px;color:var(--ink);z-index:1000000;border:1px solid #3a474e;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:.5rem;right:.75rem}.fit-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.notice{background:var(--bg-raised);text-align:center;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;margin:0 .75rem;padding:.6rem .9rem;display:flex}.notice p{color:var(--ink);margin:0}.toolbar{grid-template-columns:repeat(4,1fr);gap:.5rem;padding:.6rem .75rem .75rem;display:grid}button{font:inherit;color:inherit}.toolbar button,.notice button,.sheet button{background:var(--bg-raised);min-height:48px;color:var(--ink);cursor:pointer;border:1px solid #3a474e;border-radius:10px;padding:.5rem .9rem;font-size:1rem}.toolbar button:disabled{opacity:.4;cursor:default}.toolbar button:focus-visible,.notice button:focus-visible,.sheet button:focus-visible,.sheet select:focus-visible,.fit-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sheet{background:var(--bg);width:min(24rem,100vw - 2rem);color:var(--ink);border:1px solid #3a474e;border-radius:14px;padding:1.25rem}.sheet::backdrop{background:#0a0f1199}.sheet h2{margin:0 0 1rem;font-size:1.2rem;font-weight:600}.sheet p{line-height:1.45}.sheet>button{width:100%;margin-top:.6rem;display:block}.sheet button.quiet{background:0 0}.sheet button.layout-button{text-align:left;align-items:center;gap:.6rem;width:13rem;max-width:62%;margin:0;padding:.35rem .7rem;display:flex}.layout-button .layout-thumb{flex:none;width:30px;height:30px}.layout-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.layout-chevron{color:var(--ink-muted);line-height:.6}.layout-sheet{width:min(30rem,100vw - 2rem)}.layout-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.6rem;margin-bottom:.4rem;display:grid}.sheet button.layout-option{justify-items:center;gap:.3rem;width:100%;margin:0;padding:.7rem .4rem .6rem;display:grid}.layout-option .layout-thumb{width:100%;height:76px}.layout-option-name{font-weight:600}.layout-option-count{color:var(--ink-muted);font-size:.8rem}.sheet button.layout-option[aria-pressed=true]{border-color:var(--select);box-shadow:inset 0 0 0 1px var(--select)}.win-sheet{text-align:center}.win-mascot{width:96px;height:96px;box-shadow:0 0 0 3px var(--bg-raised);border-radius:50%;margin:-.2rem auto .6rem;display:block}.win-sheet h2{margin-bottom:.4rem}.win-head p{margin:0 0 .2rem}.win-sheet .field{text-align:left;margin:0 0 .8rem}.win-sheet .win-choices>.field:last-of-type{margin-bottom:1.3rem}.win-sheet .win-choices>button{width:100%;display:block}.win-sheet #win-new-deal{margin-top:0}.win-sheet .install-offer{margin-top:1.1rem}.win-sheet #win-close{margin-top:1rem}.next-label{color:var(--ink-muted);margin:1.4rem 0 .7rem}@media (orientation:landscape) and (max-height:540px){.layout-sheet{width:min(44rem,100vw - 2rem);padding:.8rem 1.1rem}.layout-sheet h2{margin-bottom:.5rem;font-size:1.05rem}.layout-grid{grid-template-columns:repeat(3,1fr);gap:.45rem}.sheet button.layout-option{gap:.15rem;min-height:0;padding:.4rem .3rem}.layout-option .layout-thumb{height:44px}.layout-sheet #layout-picker-close{min-height:40px;margin-top:.3rem}.win-sheet[open]{grid-template-columns:.9fr 1.1fr;align-items:center;gap:1.6rem;width:min(46rem,100vw - 2rem);padding:1rem 1.25rem;display:grid}.win-sheet .next-label{margin-top:0}.win-sheet .field{margin-bottom:.6rem}.win-sheet .install-offer,.win-sheet #win-close{margin-top:.4rem}}.sheet .field{margin-top:.4rem;margin-bottom:.6rem}.install-offer{flex-wrap:wrap;justify-content:center;gap:.25rem 1.2rem;margin-top:.8rem;display:flex}.sheet button.link{width:auto;min-height:44px;color:var(--ink);text-underline-offset:3px;background:0 0;border:none;margin:0;padding:.2rem .3rem;font-size:.95rem;text-decoration:underline;display:inline}.sheet button.quiet-link{color:var(--ink-muted)}.install-tip{color:var(--ink-muted);text-align:center;margin:.4rem 0 0;font-size:.9rem}.field{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.field select{background:var(--bg-raised);min-height:44px;color:var(--ink);font:inherit;border:1px solid #3a474e;border-radius:8px;padding:0 .6rem}.about{color:var(--ink-muted);margin:1.25rem 0 .25rem;font-size:.9rem}.about strong{color:var(--ink);font-weight:600}.version{color:var(--ink-muted);letter-spacing:.04em;margin:.2rem 0 0;font-size:.8rem}.badge{vertical-align:.15em;border:1px solid var(--ink-muted);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-left:.35rem;padding:.05rem .4rem;font-size:.65rem;font-weight:600;display:inline-block}.label-link{color:var(--ink-muted);margin:.8rem 0 0;font-size:.9rem}.label-link a{color:var(--ink);text-underline-offset:3px}.label-link a:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.splash{z-index:2000000;text-align:center;cursor:pointer;background:#202d34;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1.5rem;transition:opacity .4s;display:flex;position:fixed;inset:0}.splash.is-leaving{opacity:0;pointer-events:none}.splash p{margin:0}.splash-art{-webkit-mask-composite:source-in;width:auto;height:min(52vh,440px);margin-bottom:.4rem;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000),linear-gradient(#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000),linear-gradient(#0000,#000 7% 93%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.splash-name{letter-spacing:.02em;font-size:1.7rem;font-weight:600}.splash-tagline{color:var(--ink-muted)}.splash-label{bottom:calc(1.5rem + env(safe-area-inset-bottom));color:var(--ink-muted);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;position:absolute}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (orientation:landscape) and (max-height:540px){.app{grid-template:"board top""board tools"1fr"notice tools"/1fr auto}.topbar{flex-direction:column;grid-area:top;align-items:flex-start;gap:.1rem;width:7.5rem;padding:.5rem .6rem 0 0}.title{font-size:.85rem;line-height:1.2}.title .badge{margin-left:0}.remaining{font-size:.8rem}.viewport{grid-area:board}.notice{grid-area:notice;margin-bottom:.4rem;padding:.4rem .8rem}.toolbar{grid-area:tools;grid-template-columns:1fr;grid-auto-rows:1fr;align-content:center;width:7.5rem;padding:.5rem .6rem .5rem 0}}
