.skans{--bg:#14110e;--ink:#f4efe6;--muted:#b7aa9a;--cream:#f6f1e6;--tile-ink:#1c1712;--gold:#e4b15a;--line:#f4efe624;--surface:#ffffff0a;--sheet:#221c17;--chip:#ffffff0d;--ground:#2a241c;--road:#8a6840;--rock:#100e0c;--fort:#e4b15a;--arrow:#e4b15a;--mortar:#e07a5f;--ice:#8ecae6;--warn:#e07a5f;height:100dvh;color:var(--ink);background:radial-gradient(circle at 50% -10%, #e4b15a29, transparent 36%), radial-gradient(circle at 100% 100%, #8ecae614, transparent 32%), var(--bg)}.skans[data-theme=light]{--bg:#f4efe4;--ink:#1c1712;--muted:#6b5e52;--cream:#fffaf2;--tile-ink:#1c1712;--gold:#b8862f;--line:#1c171224;--surface:#1c17120a;--sheet:#fffdf8;--chip:#1c17120d;--ground:#fffaf2;--road:#c9a56a;--rock:#d5cdc2;--fort:#b8862f;--arrow:#9a6b12;--mortar:#b84d38;--ice:#2f6f8f;--warn:#9d342c;background:radial-gradient(circle at 50% -10%, #b8862f2e, transparent 36%), var(--bg)}.skans-column{width:min(48rem,100%);height:100%;padding:max(.45rem, env(safe-area-inset-top)) max(.55rem, env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-left));flex-direction:column;gap:.4rem;margin:0 auto;display:flex}.skans-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.skans-top h1{font-family:var(--font-tile);letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,5vw,2.3rem);font-weight:560;line-height:1}.skans-top .back-link{background:0 0;border:0;align-items:center;min-height:44px;margin:0;padding:0;display:inline-flex}.skans-stats,.skans-note,.skans-preview,.skans-card,.skans-weapons,.skans-send{width:min(100%,28rem);margin-left:auto;margin-right:auto}.skans-stats{grid-template-columns:1.15fr 1.2fr .9fr 1.15fr;gap:.35rem;display:grid}.skans-stats span{background:var(--chip);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.25rem;min-height:2.1rem;padding:.25rem .35rem;font-size:.86rem;display:flex}.skans-stats strong{font-size:1rem}.skans-stats em{color:var(--muted);font-size:.72rem;font-style:normal}.skans-stage{flex:1;min-height:0;position:relative}.skans-board{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.skans-board .hex{stroke:var(--line);stroke-width:.035px;cursor:pointer}.skans-board .hex.ground{fill:var(--ground)}.skans-board .hex.path{fill:var(--road)}.skans-board .hex.entrance{stroke:var(--gold);stroke-width:.06px}.skans-board .hex.rock{fill:var(--rock)}.skans-board .hex.keep{fill:var(--fort);stroke:var(--tile-ink);stroke-width:.05px}.keep-mark{fill:var(--tile-ink)}.skans-board .hex.in-range{fill:color-mix(in srgb, var(--gold) 38%, var(--ground));stroke:var(--gold);stroke-width:.055px}.skans-board .hex.path.in-range{fill:color-mix(in srgb, var(--gold) 24%, var(--road))}.skans-board .hex.picked{stroke:var(--ink);stroke-width:.07px}.skans-board .hex:focus{outline:none}.skans-board .hex:focus-visible{stroke:var(--ink);stroke-width:.08px}.glyph.arrow{fill:var(--arrow)}.glyph.mortar{fill:var(--mortar)}.glyph.mortar path{fill:none;stroke:var(--mortar);stroke-width:.06px}.glyph.ice{fill:var(--ice)}.pip.arrow{fill:var(--arrow)}.pip.mortar{fill:var(--mortar)}.pip.ice{fill:var(--ice)}.creep.walker{fill:var(--ink)}.creep.runner{fill:var(--gold)}.creep.shield{fill:var(--ink);stroke:var(--gold);stroke-width:.04px}.creep.swarm{fill:var(--mortar)}.creep.slow{stroke:var(--ice);stroke-width:.045px}.hp-track{fill:#00000059}.hp-fill{fill:var(--gold)}.shot{stroke-width:.045px;stroke-linecap:round;opacity:.85}.shot.arrow{stroke:var(--arrow)}.shot.mortar{stroke:var(--mortar)}.shot.ice{stroke:var(--ice)}.skans-note,.skans-preview{text-align:center;min-height:1.3rem;color:var(--muted);margin:0;font-size:.92rem}.skans-card{gap:.35rem;display:grid}.skans-card p{text-align:center;font-family:var(--font-tile);margin:0;font-size:1.15rem}.skans-row,.skans-weapons{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.skans-row{grid-template-columns:1.4fr 1fr}.skans-weapons button,.skans-row button,.skans-send,.skans-sheet button.wide{border:1px solid var(--line);background:var(--surface);border-radius:.9rem;min-height:48px}.skans-weapons button{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;padding:.35rem .7rem;display:flex}.skans-weapons button strong{font-family:var(--font-tile);letter-spacing:-.03em;font-size:1.15rem;font-weight:560}.skans-weapons button[data-kind=arrow] strong{color:var(--arrow)}.skans-weapons button[data-kind=mortar] strong{color:var(--mortar)}.skans-weapons button[data-kind=ice] strong{color:var(--ice)}.skans-weapons button small{color:var(--muted);font-variant-numeric:tabular-nums}.skans-weapons button small.poor{opacity:.55}.skans-weapons button.on{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, transparent)}.skans-send{background:var(--gold);color:#241c10;border:0;border-radius:999px;width:min(100%,28rem);margin-left:auto;margin-right:auto;font-weight:700;display:block}.skans-send:disabled{background:var(--surface);color:var(--muted);border:1px solid var(--line)}.skans-banner{border:1px solid var(--line);background:color-mix(in srgb, var(--sheet) 94%, transparent);text-align:center;border-radius:1.2rem;padding:.9rem 1rem 1rem;position:absolute;bottom:.4rem;left:.4rem;right:.4rem}.skans-banner h2{font-family:var(--font-tile);letter-spacing:-.03em;margin:0;font-size:1.8rem;font-weight:560}.skans-banner p{color:var(--muted);margin:.3rem 0 0}.skans-banner button{background:var(--gold);color:#241c10;border:0;border-radius:999px;width:100%;min-height:48px;margin-top:.7rem;font-weight:700}.skans-sheet{z-index:6;background:#0c09069e;place-items:end center;padding:1rem;display:grid;position:fixed;inset:0}.skans-sheet>div{border:1px solid var(--line);background:var(--sheet);border-radius:1.4rem;gap:.85rem;width:min(28rem,100%);max-height:min(36rem,100dvh - 2rem);padding:1rem 1rem 1.15rem;display:grid;overflow:auto}.skans-sheet h2{font-family:var(--font-tile);margin:0;font-size:1.8rem;font-weight:560}.skans-sheet button.wide{width:100%}.skans-sheet button.quiet{color:var(--muted)}.skans-sheet button.danger{background:var(--warn);color:#fffaf2;border-color:#0000}.skans-reset{gap:.45rem;display:grid}.skans-reset p{margin:0}.skans button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (min-width:800px){.skans-sheet{align-items:center}.skans-column{padding-top:max(.8rem, env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){.shot{display:none}}
