@font-face{font-family:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(./russo-one-cyrillic-DMmgNeda.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(./russo-one-latin-ext-T-hmcwzj.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:Russo One;font-style:normal;font-weight:400;font-display:swap;src:url(./russo-one-latin-DIqih8p-.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}:root{--bg:#ece6d3;--surface:#f8f4e8;--surface-2:#e1d9c2;--text:#22251a;--muted:#62654f;--accent:#56692a;--accent-2:#6d8436;--accent-contrast:#fff;--blue:#2f6fd6;--red:#d6453b;--green:#1c9c58;--yellow:#b8830a;--danger:#c43d2f;--border:#22251a24;--shadow:0 6px 18px #1e201424;--toast-bg:#181c10e6;--radius:14px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-display:"Russo One", var(--font);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141910;--surface:#1e2518;--surface-2:#2a3321;--text:#edf0e2;--muted:#a3a88e;--accent:#9bb35a;--accent-2:#b2c86f;--accent-contrast:#141910;--blue:#5b92f0;--red:#f06a5f;--green:#46c47f;--yellow:#f0c23c;--danger:#ff6b5c;--border:#edf0e21f;--shadow:0 6px 22px #00000073;--toast-bg:#080a06e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141910;--surface:#1e2518;--surface-2:#2a3321;--text:#edf0e2;--muted:#a3a88e;--accent:#9bb35a;--accent-2:#b2c86f;--accent-contrast:#141910;--blue:#5b92f0;--red:#f06a5f;--green:#46c47f;--yellow:#f0c23c;--danger:#ff6b5c;--border:#edf0e21f;--shadow:0 6px 22px #00000073;--toast-bg:#080a06e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;touch-action:manipulation;margin:0}#app{max-width:max(560px,50vh);height:100%;margin:0 auto;position:relative;overflow:hidden}.screen{flex-direction:column;display:flex;position:absolute;inset:0}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}.menu{padding:calc(12px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));justify-content:center;align-items:stretch;gap:6px;overflow-y:auto}.logo{font-family:var(--font-display);text-transform:uppercase;text-align:center;letter-spacing:.03em;margin:12px 0 0;font-size:clamp(44px,16vw,68px);font-weight:400;line-height:1}.logo-sub{font-family:var(--font);letter-spacing:.34em;color:var(--accent);margin-top:10px;font-size:14px;font-weight:700;display:block}.tagline{text-align:center;color:var(--muted);margin:4px 0 10px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:10px;padding:14px;display:flex}.label{color:var(--muted);font-size:13px}.rules-summary{color:var(--muted);text-align:center;margin:-2px 0 0;font-size:12.5px}.row{gap:10px;display:flex}.row>.btn{flex:1}.btn{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;min-height:46px;padding:0 14px;font-size:15px;font-weight:600}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:#0000}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn.big{min-height:56px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:20px;font-weight:400}.btn.ghost{color:var(--muted);background:0 0;border-style:dashed;font-weight:500}.btn.wide{width:100%}.btn:disabled{cursor:default}.segmented{background:var(--surface-2);border-radius:12px;gap:3px;padding:3px;display:flex}.segmented button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;padding:0 4px;font-size:14px;font-weight:600}.segmented button.on,.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000026}.note-small{margin:0;font-size:12px}.game{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.bar{align-items:center;gap:8px;min-height:48px;padding:6px 16px;font-size:13px;transition:background .2s;display:flex}.bar.enemy{padding-left:6px;padding-right:6px}.bar.turn{background:color-mix(in srgb, var(--surface) 70%, transparent)}.dot{width:12px;height:12px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none}.dot.red{background:var(--red)}.dot.blue{background:var(--blue)}.bar.turn .dot{animation:1.1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.35)}}.who{flex-direction:column;min-width:0;line-height:1.15;display:flex}.who b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.who small{color:var(--muted);font-size:12px}.side{flex-direction:column;flex:none;align-items:flex-end;min-width:0;margin-left:auto;line-height:1.2;display:flex}.status{white-space:nowrap;min-height:1.2em;font-weight:700}.bar.turn .status:not(:empty){color:var(--accent)}.bar.hurry .status{color:var(--danger)!important}.stats{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.icon-btn{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}.icon-btn svg{width:22px;height:22px}.icon-btn:active{background:var(--surface-2)}.bar-title{font-size:16px}.board-wrap{flex:none;margin:0 16px;position:relative}.board-wrap canvas{touch-action:none;width:100%;display:block}.toast{background:var(--toast-bg);color:#fff;text-align:center;opacity:0;pointer-events:none;z-index:3;border-radius:999px;width:max-content;max-width:calc(100% - 24px);padding:8px 14px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;top:6px;left:50%;transform:translate(-50%,-8px)}.toast.show{opacity:1;transform:translate(-50%)}.hint{text-align:center;min-height:22px;color:var(--muted);padding:0 16px 4px;font-size:12.5px}.actions{grid-template-columns:repeat(3,1fr);gap:8px;padding:2px 16px 12px;display:grid}.actions.four{grid-template-columns:repeat(4,1fr);gap:6px}.actions.four .act{font-size:12px}.act .lbl{white-space:nowrap}.act{border:1px solid var(--border);background:var(--surface);min-height:60px;box-shadow:0 1px 0 var(--border);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:600;transition:background .15s,transform .1s,opacity .15s;display:flex;position:relative}.act:active:not(:disabled){transform:scale(.97)}.act:disabled{opacity:.45;cursor:default}.act.active,.act[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast);border-color:#0000}.act .ico{width:24px;height:24px}.act .ico svg{width:24px;height:24px;display:block}.act .badge{background:var(--surface-2);min-width:20px;height:20px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:10px;padding:0 6px;font-size:12px;line-height:20px;position:absolute;top:6px;right:8px}.actions.four .act .badge{min-width:18px;height:18px;padding:0 4px;font-size:11px;line-height:18px;top:4px;right:4px}.act.active .badge,.act[aria-pressed=true] .badge{color:inherit;background:#ffffff40}.modal{z-index:10;background:#0a0c0680;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--surface);width:100%;max-height:88%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow);-webkit-user-select:text;user-select:text;border-radius:20px 20px 0 0;animation:.2s ease-out rise;overflow-y:auto}@keyframes rise{0%{transform:translateY(30px)}}.sheet h2{font-family:var(--font-display);margin:0 0 8px;font-size:24px;font-weight:400}.sheet p{margin:0 0 10px;font-size:15px;line-height:1.45}.muted{color:var(--muted)}.t-blue{color:var(--blue)}.t-red{color:var(--red)}.rules{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.rules li{align-items:flex-start;gap:12px;font-size:15px;line-height:1.4;display:flex}.ri{background:var(--surface-2);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;font-weight:700;display:grid}.ri svg{width:22px;height:22px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field.inline{flex-direction:row;justify-content:space-between;align-items:center}.field label{font-size:14px;font-weight:600}.field input[type=text],.field select{border:1px solid var(--border);background:var(--surface-2);min-height:44px;color:var(--text);font:inherit;-webkit-user-select:text;user-select:text;border-radius:10px;padding:0 12px}.stepper{background:var(--surface-2);border-radius:12px;align-items:center;display:flex}.stepper button{background:0 0;border:0;width:44px;height:40px;font-size:20px;font-weight:700}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-weight:700}.toggle{align-items:center;gap:10px;min-height:40px;font-size:15px;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--accent)}.sheet .row{margin-top:8px}.join-code .row input{min-width:0;font:18px var(--font-display);letter-spacing:.1em;text-transform:uppercase;flex:1}.board-title{margin:6px 0 4px;font-size:15px}.result{text-align:center}.result .medal{margin-bottom:6px;font-size:48px;line-height:1}.result.win h2{color:var(--accent)}.result.lose h2{color:var(--danger)}.result .btn.wide{margin-top:8px}table.stats{border-collapse:collapse;width:100%;color:var(--text);margin:8px 0 12px;font-size:15px}table.stats th,table.stats td{border-bottom:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;padding:7px 6px}table.stats td:first-child,table.stats th:first-child{text-align:left;color:var(--muted);font-weight:500}.note{min-height:1.2em;color:var(--accent);font-weight:600}@media (min-width:561px){#app{border-left:1px solid var(--border);border-right:1px solid var(--border)}}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.bar.turn .dot,.modal,.sheet{animation:none}.toast,.act{transition:none}}.lobby{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.lobby-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:12px;padding:0 16px 24px;display:flex}.lobby-body h2{font-family:var(--font-display);text-wrap:balance;margin:8px 0 0;font-size:26px;font-weight:400}.lobby-body p{color:var(--muted);margin:0;line-height:1.45}.invite{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.invite input{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);-webkit-user-select:text;user-select:text;border-radius:10px;padding:0 10px;font:14px ui-monospace,SF Mono,Menlo,monospace}.invite input.code{min-height:56px;font:26px var(--font-display);letter-spacing:.14em;text-align:center}.lobby-status{min-height:1.4em;font-weight:600;color:var(--accent)!important}.lobby-body .lobby-rules{color:var(--text);background:var(--surface);border:1px solid var(--border);text-wrap:balance;border-radius:12px;padding:8px 12px;font-size:13px}.app-toast{top:calc(56px + env(safe-area-inset-top));z-index:20}.radar{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);border-radius:50%;width:112px;height:112px;margin:0 auto;position:relative}.radar span{border:2px solid var(--accent);opacity:0;border-radius:50%;animation:2.4s ease-out infinite radar;position:absolute;inset:0}.radar span:nth-child(2){animation-delay:.8s}.radar span:nth-child(3){animation-delay:1.6s}.radar i{background:var(--accent);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%}@keyframes radar{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.radar span{opacity:.5;animation:none}}.me-row{flex-wrap:wrap;justify-content:center;gap:8px;margin:-4px 0 10px;display:flex}.rank-badge{border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 14px var(--font);box-shadow:var(--shadow);border-radius:999px;padding:6px 14px}.rating-line{font-size:16px!important}.rating-line .delta{color:var(--muted);font-weight:700}.rating-line .delta.up{color:var(--accent)}.rating-line .delta.down{color:var(--danger)}.promo{color:var(--accent);font-weight:700}.unrated{font-size:13px!important}.series{font-weight:600}.me-card{background:var(--surface-2);border-radius:14px;margin-bottom:12px;padding:10px 14px}.me-card .me-rank{margin-bottom:4px;font-size:17px}.me-card p{margin:0!important;font-size:13px!important}.leaders{margin:0 0 12px;padding:0;list-style:none}.leaders li{border-bottom:1px solid var(--border);grid-template-columns:2em minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 4px;display:grid}.leaders li.me{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:10px}.leaders .place{color:var(--muted);text-align:center;font-weight:700}.leaders .who{flex-direction:column;min-width:0;line-height:1.2;display:flex}.leaders .who b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaders .who small{color:var(--muted);font-size:12px}.leaders .rt{font-variant-numeric:tabular-nums;font-weight:700}.ranks{margin-bottom:10px}.ranks summary{cursor:pointer;padding:4px 0;font-weight:600}.ranks-table{font-size:14px!important}.tally{font-weight:600}.me-card .tally{margin-bottom:2px!important}.history{margin:0 0 12px;padding:0;list-style:none}.game-row{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:2em minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;padding:9px 4px;display:grid}.game-row:active{background:var(--surface-2)}.game-row .res{text-align:center;font-size:20px}.game-row .who{flex-direction:column;min-width:0;line-height:1.25;display:flex}.game-row .who b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-row .who small{color:var(--muted);font-size:12px}.game-row .rt{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700}.game-row .rt.up{color:var(--accent)}.game-row .rt.down{color:var(--danger)}.game-row .go{color:var(--muted);font-size:22px}.replay-players{text-align:center;min-height:1.4em;padding:0 16px 2px;font-size:14px;font-weight:600}.replay-caption{text-align:center;text-wrap:balance;min-height:2.7em;margin:6px 16px 0;font-size:14px;font-weight:600;line-height:1.35}.replay-seek{align-items:center;gap:10px;padding:2px 16px;display:flex}.replay-seek input{min-width:0;accent-color:var(--accent);flex:1}.replay-seek span{text-align:right;min-width:4.5em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.replay-controls{grid-template-columns:repeat(5,1fr);gap:8px;padding:4px 16px 12px;display:grid}.replay-controls .act{min-height:52px}.replay-controls .act svg{width:24px;height:24px}.replay-controls .act.primary{background:var(--accent);color:var(--accent-contrast);border-color:#0000}.coach{z-index:2;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);border-radius:14px;padding:10px 12px;animation:.2s ease-out coach-in;position:absolute;top:50px;left:8px;right:8px}.coach.below{top:auto;bottom:8px}@keyframes coach-in{0%{opacity:0;transform:translateY(-6px)}}.coach-title{align-items:center;gap:7px;font-size:15px;display:flex}.coach-text{margin:4px 0 8px;font-size:13.5px;line-height:1.4}.coach-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.coach-actions .btn{min-height:36px;padding:0 16px;font-size:14px}.coach-off{color:var(--muted);text-underline-offset:2px;background:0 0;border:0;font-size:13px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.coach{animation:none}}.log{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;flex:1;min-height:0;margin:4px 16px 6px;padding:8px 10px 6px 12px;display:flex}.log h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px 8px;font-size:12px;font-weight:700}.log ol{min-height:0;color:var(--muted);flex:1;margin:0;padding:0 4px 0 28px;font-size:13px;line-height:1.4;overflow-y:auto}.log li{padding:1px 4px}.log li.me{color:var(--text)}@media (min-aspect-ratio:4/3) and (min-width:1100px) and (min-height:540px){#screen-game{--pad:24px;--gap:32px;--board-w:min(calc((100dvh - var(--pad) * 2) / var(--board-aspect,.873)), 46vw);--panel-w:clamp(460px, calc(75vw - var(--board-w) - var(--gap)), 760px);z-index:1;background:var(--bg);grid-template-columns:var(--board-w) var(--panel-w);place-content:stretch center;column-gap:var(--gap);padding:var(--pad);grid-template-rows:auto auto minmax(0,1fr) auto auto auto;grid-template-areas:"board enemy""board left""board log""board me""board hint""board actions";display:grid;position:fixed;inset:0}#screen-game .board-wrap{grid-area:board;align-self:center;margin:0}#screen-game .bar{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:14px 16px;font-size:15px}#screen-game .bar.enemy{grid-area:enemy;padding:10px 10px 10px 6px}#screen-game .bar.turn{border-color:var(--accent)}#screen-game .who b{font-size:18px}#screen-game .who small,#screen-game .stats{font-size:14px}#screen-game .log{border-radius:18px;grid-area:log;margin:16px 0;padding:16px 10px 8px 12px}.log h2{margin:0 0 8px 8px;font-size:13px}.log ol{padding-left:30px;font-size:15px;line-height:1.45}.log li{padding:2px 4px}#bar-me{grid-area:me}#screen-game .hint{text-align:left;grid-area:hint;min-height:40px;padding:10px 4px;font-size:14px}#screen-game .actions{grid-area:actions;gap:12px;padding:0}#screen-game .act,#screen-game .actions.four .act{min-height:96px;font-size:15px}.modal{position:fixed}.sheet{max-width:max(560px,50vh);margin:0 auto}}.menu .logo{margin-top:max(12vh,48px)}.enemy-left{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;padding:0 12px 6px;font-size:12px;display:flex}.left-label{margin-right:2px}.left-chip{background:var(--surface);border:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;border-radius:8px;align-items:baseline;gap:2px;padding:1px 6px;display:inline-flex}.left-chip b{font-weight:700}.left-chip.out{opacity:.4;text-decoration:line-through}.setup-panel{flex-direction:column;gap:8px;padding:2px 16px 12px;display:flex}.setup-schemes,.setup-row{gap:6px;display:flex}.setup-schemes .chip,.setup-row .chip{flex:1}.setup-row .btn{flex:1.4;min-height:48px}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:12px;min-height:40px;padding:0 10px;font-size:13px;font-weight:600}.chip:active:not(:disabled){transform:scale(.97)}.chip:disabled{opacity:.45}.actions.one{grid-template-columns:1fr}.actions.one .act{flex-direction:row;gap:8px;min-height:48px}.rules.plain{gap:6px;padding-left:20px;list-style:outside}.rules.plain li{font-size:14.5px;display:list-item}.stats tr.sub td:first-child{color:var(--muted);padding-left:18px}.setup-grid{grid-template-columns:repeat(8,1fr);gap:2px;max-width:320px;margin:0 auto 12px;display:grid}.sg-cell{aspect-ratio:1;background:var(--surface-2);font-family:var(--font-display);border-radius:6px;place-items:center;font-size:13px;display:grid}.sg-cell.t-blue,.sg-cell.t-red{color:#fff}.sg-cell.t-blue{background:var(--blue)}.sg-cell.t-red{background:var(--red)}.sg-cell.mine{background:#3f4331}.sg-cell.hq{outline-offset:-2px;outline:2px solid #f0c23c}@media (min-aspect-ratio:4/3) and (min-width:1100px) and (min-height:540px){#screen-game .enemy-left{grid-area:left;padding:8px 4px 0;font-size:14px}#screen-game .setup-panel{grid-area:actions;padding:0}#screen-game .chip{min-height:52px;font-size:15px}#screen-game .actions.one .act{min-height:64px}}
