.k-hud{pointer-events:none;position:absolute;inset:0}.k-hud>*{pointer-events:auto}.k-scrim{padding:var(--gutter);z-index:15;background:radial-gradient(#0e0a0659,#080604b3);place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.k-home{width:min(600px,100%);max-height:calc(100dvh - 2 * var(--gutter));padding:24px 26px 20px;overflow:auto}.k-home h1{font-family:var(--font-display);letter-spacing:.04em;margin:6px 0 0;font-size:clamp(36px,7vw,54px);font-weight:400}.k-lede{color:var(--parchment);margin:12px 0 0;line-height:1.55}.k-modes{gap:10px;margin-top:18px;display:grid}.k-mode{text-align:left;color:var(--parchment);cursor:pointer;font:inherit;background:linear-gradient(#3a2c1c,#241a10);border:1px solid #c39a5b73;border-radius:10px;align-items:center;gap:14px;min-height:64px;padding:12px 14px;display:flex}.k-mode:hover:not(:disabled){border-color:var(--sun);background:linear-gradient(#4a3822,#2c2014)}.k-mode:focus-visible{outline:2px solid var(--sun);outline-offset:2px}.k-mode:disabled{opacity:.55;cursor:not-allowed;border-style:dashed}.k-mode b{font-family:var(--font-cond);letter-spacing:.02em;font-size:18px;display:block}.k-mode small{color:var(--parchment-dim);margin-top:2px;font-size:13.5px;display:block}.k-mode-glyph{color:var(--sun);text-align:center;flex:none;width:40px;font-size:34px}.k-home-foot{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.k-home-foot a.btn{align-items:center;text-decoration:none;display:inline-flex}.k-setup{width:min(520px,100%);max-height:calc(100dvh - 2 * var(--gutter));padding:18px 20px;overflow:auto}.k-setup-head{align-items:center;gap:10px;display:flex}.k-setup-head h2{font-family:var(--font-display);margin:0;font-size:24px;font-weight:400}.k-choices{border:0;gap:6px;margin:16px 0 0;padding:0;display:grid}.k-choices.row{flex-wrap:wrap;gap:6px;display:flex}.k-choices legend{font-family:var(--font-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:6px;font-size:12px;font-weight:700}.k-pill{min-height:40px}.k-setup .setting input{width:22px;height:22px;accent-color:var(--sun)}.k-bar{width:min(560px, calc(100vw - 2 * var(--gutter)));z-index:4;border-left:4px solid #0000;align-items:center;gap:10px;padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.k-bar.top{top:var(--gutter)}.k-bar.bottom{bottom:var(--gutter)}.k-bar.side-w{border-left-color:var(--sun)}.k-bar.side-b{border-left-color:var(--moon)}.k-bar.to-move{box-shadow:0 0 0 2px #e8b33a8c, var(--shadow)}.k-bar.side-b.to-move{box-shadow:0 0 0 2px #5b9bf099, var(--shadow)}.k-avatar{background:radial-gradient(circle at 50% 35%,#4a3822,#1f1810);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:26px;display:grid}.k-avatar.side-w{color:var(--sun)}.k-avatar.side-b{color:var(--moon)}.k-who{flex:1;min-width:0}.k-name{font-family:var(--font-cond);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.k-taken{flex-wrap:wrap;align-items:center;gap:0 1px;min-height:18px;font-size:16px;line-height:1;display:flex}.k-taken-p.side-w{color:#f3d27a}.k-taken-p.side-b{color:#8fb6f0}.k-adv{font-family:var(--font-cond);color:var(--parchment-dim);margin-left:4px;font-size:13px}.k-thinking{font-family:var(--font-cond);color:var(--parchment-dim);font-size:13px;animation:1.2s ease-in-out infinite k-pulse}@keyframes k-pulse{50%{opacity:.45}}.k-clock{font-family:var(--font-cond);font-variant-numeric:tabular-nums;color:var(--parchment-dim);text-align:center;background:#00000059;border-radius:7px;min-width:72px;padding:4px 10px;font-size:22px;font-weight:700}.k-clock.running{color:#1f170e;background:#f4ead3}.k-clock.running.low{color:#fff;background:#d9483b}.k-actions{gap:6px;display:flex}.k-actions .btn{min-width:42px;font-size:18px}.k-toast{z-index:6;border:1px solid var(--bronze-400);font-family:var(--font-cond);max-width:calc(100vw - 2 * var(--gutter));text-align:center;background:#16110ceb;border-radius:999px;padding:8px 16px;font-size:16px;font-weight:600;animation:.2s ease-out k-in;position:absolute;top:40%;left:50%;transform:translate(-50%)}.k-toast.tone-warn{border-color:var(--bad);color:#ffd7d2}.k-toast.tone-good{border-color:var(--sun);color:#ffe7a3}@keyframes k-in{0%{opacity:0;transform:translate(-50%,-6px)}}.k-toast{pointer-events:none}.k-card{left:50%;top:calc(var(--gutter) + 68px);width:min(560px, calc(100vw - 2 * var(--gutter)));z-index:4;border-top:3px solid var(--bronze-400);gap:12px;padding:10px 14px;display:flex;position:absolute;transform:translate(-50%)}.k-card.side-w{border-top-color:var(--sun)}.k-card.side-b{border-top-color:var(--moon)}.k-card p{margin:4px 0 0;font-size:14px;line-height:1.45}.k-card-name{font-family:var(--font-display);font-size:20px}.k-card-name small{font-family:var(--font-cond);color:var(--parchment-dim);text-transform:uppercase;letter-spacing:.06em;margin-left:4px;font-size:13px}.k-card-glyph{font-size:34px;line-height:1}.k-card-glyph.side-w{color:var(--sun)}.k-card-glyph.side-b{color:var(--moon)}.k-card-hint{color:var(--parchment-dim)}.k-promo{width:min(480px,100%);padding:18px 20px}.k-promo h2{font-family:var(--font-display);margin:0;font-weight:400}.k-promo-row{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.k-promo-btn{color:var(--parchment);cursor:pointer;font:inherit;background:linear-gradient(#3a2c1c,#241a10);border:1px solid #c39a5b73;border-radius:10px;justify-items:center;gap:4px;padding:12px 4px;display:grid}.k-promo-btn:hover,.k-promo-btn:focus-visible{border-color:var(--sun);outline:none}.k-promo-btn b{font-family:var(--font-cond);font-size:14px}.k-promo-btn small{color:var(--parchment-dim);font-size:12px}.k-moves{right:var(--gutter);z-index:5;flex-direction:column;width:220px;max-height:calc(100dvh - 190px);padding:10px 12px;display:flex;position:absolute;top:84px}.k-moves header{justify-content:space-between;align-items:center;display:flex}.k-moves h2{font-family:var(--font-display);margin:0;font-size:20px;font-weight:400}.k-moves ol{font-variant-numeric:tabular-nums;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.k-moves li{grid-template-columns:34px 1fr 1fr;gap:6px;padding:3px 4px;font-size:14.5px;display:grid}.k-moves li:nth-child(odd){background:#ffffff08}.k-mn{color:var(--parchment-dim)}.k-menu{width:min(420px,100%)}.k-rules{z-index:31;width:min(560px,100%)}.k-rules .k-lede{font-size:14.5px}.k-rule-glyph{color:var(--sun);margin-right:4px;font-size:20px}.k-rules dt small{color:var(--parchment-dim);font-weight:500}.kingdom .perf.k-perf{top:84px;left:var(--gutter);right:auto}@media (max-width:600px){.k-bar{gap:8px;padding:6px 8px}.k-avatar{width:34px;height:34px;font-size:22px}.k-name{font-size:15px}.k-clock{min-width:62px;padding:3px 8px;font-size:19px}.k-card{top:calc(var(--gutter) + 60px)}.k-card p{font-size:13.5px}.k-moves{left:var(--gutter);right:var(--gutter);width:auto;max-height:40dvh;top:76px}.k-toast{font-size:15px}}@media (max-height:500px) and (min-width:600px){.k-bar{width:min(300px,38vw);left:var(--gutter);transform:none}.k-bar.top{top:var(--gutter)}.k-bar.bottom{bottom:var(--gutter)}.k-card{left:auto;right:var(--gutter);width:min(340px,42vw);top:auto;bottom:var(--gutter);transform:none}.k-moves{top:var(--gutter);max-height:calc(100dvh - 2 * var(--gutter))}.k-home,.k-setup{padding:12px 16px}.k-lede{display:none}}@media (prefers-reduced-motion:reduce){.k-thinking,.k-toast{animation:none}}:root{--walnut-950:#0f0b07;--walnut-900:#16110c;--walnut-800:#1f1810;--walnut-700:#2b2116;--bronze-500:#a07a44;--bronze-400:#c39a5b;--bronze-300:#dcbd86;--parchment:#eadfc8;--parchment-dim:#b7a98e;--sun:#e8b33a;--sun-deep:#d9a235;--moon:#9cc4ff;--moon-deep:#4e86d6;--good:#8cf08c;--bad:#ef6b5b;--panel-bg:linear-gradient(180deg, #2b2116f0, #16110cf0);--panel-border:#c39a5b8c;--shadow:0 10px 28px #00000073, inset 0 1px 0 #ffebc814;--font-body:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--font-cond:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-display:"Marcellus", Georgia, serif;--gutter:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--walnut-900);color:var(--parchment);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overflow:hidden}button{font:inherit;color:inherit}.app{position:fixed;inset:0}.stage{inset:0;position:absolute!important}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px}.btn{appearance:none;color:var(--parchment);font-family:var(--font-cond);letter-spacing:.03em;cursor:pointer;white-space:nowrap;background:linear-gradient(#3a2c1c,#241a10);border:1px solid #c39a5b73;border-radius:7px;padding:6px 11px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,transform 50ms}.btn:hover:not(:disabled){border-color:var(--bronze-300);background:linear-gradient(#4a3822,#2c2014)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--sun);outline-offset:2px}.btn.on{border-color:var(--sun);color:#fff6df;background:linear-gradient(#8a6a2c,#5a4218)}.btn .short{display:none}.btn.icon{place-items:center;width:34px;height:34px;padding:0;font-size:18px;line-height:1;display:grid}.btn-locked,.btn:disabled{opacity:.55;cursor:not-allowed;border-style:dashed}.btn small{color:var(--parchment-dim);background:#00000059;border-radius:4px;margin-left:4px;padding:1px 4px;font-size:10px}.chip{font-family:var(--font-cond);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700}.chip-proto{color:var(--sun);background:#e8b33a24;border:1px solid #e8b33a80}.hud{inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);pointer-events:none;position:absolute}.hud>*,.hud .bottom-left>*{pointer-events:auto}.hud .bottom-left{pointer-events:none}.brand{top:var(--gutter);left:var(--gutter);align-items:center;gap:10px;padding:8px 12px 8px 10px;display:flex;position:absolute}.brand-mark{color:var(--sun);text-shadow:0 2px #5a4218;font-size:26px}.brand-name{font-family:var(--font-display);letter-spacing:.04em;font-size:19px}.brand-sub{color:var(--parchment-dim);font-size:12px}.resources{top:var(--gutter);right:var(--gutter);align-items:center;gap:16px;padding:8px 14px;display:flex;position:absolute}.res{align-items:baseline;gap:6px;display:flex}.res-dot{border-radius:3px;align-self:center;width:10px;height:10px;box-shadow:inset 0 -2px #00000040}.res-label{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);font-size:12px}.res-val{font-family:var(--font-cond);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.res-note{color:var(--parchment-dim);border-left:1px solid #c39a5b59;max-width:120px;padding-left:12px;font-size:11px;line-height:1.2}.toolbar{top:70px;right:var(--gutter);max-width:calc(100vw - 2 * var(--gutter));flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;padding:6px;display:flex;position:absolute}.seg{display:flex}.seg .btn{border-radius:0;margin-left:-1px}.seg .btn:first-child{border-radius:7px 0 0 7px;margin-left:0}.seg .btn:last-child{border-radius:0 7px 7px 0}.bottom-left{left:var(--gutter);bottom:var(--gutter);align-items:flex-end;gap:8px;display:flex;position:absolute}.minimap{padding:6px;position:relative}.minimap canvas{cursor:crosshair;touch-action:none;border-radius:6px;display:block}.compass{border:1px solid var(--panel-border);cursor:pointer;width:34px;height:34px;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 35%,#4a3822,#1f1810);border-radius:50%;place-items:center;display:grid;position:absolute;top:-12px;right:-12px}.compass span{transform:rotate(var(--yaw,0deg));font-family:var(--font-display);color:var(--sun);font-size:14px;display:block}.compass span:before{content:"";border:4px solid #0000;border-bottom:6px solid var(--bad);width:0;height:0;margin:-6px auto 1px;display:block}.cam-buttons{grid-template-columns:1fr 1fr;gap:6px;padding:6px;display:grid}.selection{left:50%;bottom:var(--gutter);width:min(420px, calc(100vw - 2 * var(--gutter)));border-top:3px solid var(--bronze-400);padding:12px 14px 10px;position:absolute;transform:translate(-50%)}.selection.side-sun{border-top-color:var(--sun)}.selection.side-moon{border-top-color:var(--moon-deep)}.selection header{justify-content:space-between;gap:10px;display:flex}.selection h2{font-family:var(--font-display);margin:2px 0 0;font-size:22px;font-weight:400}.sel-kicker{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--bronze-300);font-size:12px}.side-moon .sel-kicker{color:var(--moon)}.sel-where{color:var(--parchment-dim);font-size:13px}.sel-text{margin:10px 0 0;font-size:14px;line-height:1.45}.sel-foot{color:var(--parchment-dim);margin:10px 0 0;font-size:11.5px;line-height:1.4}.sel-actions{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.hp{gap:4px;margin-top:10px;display:grid}.hp-row{font-family:var(--font-cond);color:var(--parchment-dim);justify-content:space-between;font-size:13px;display:flex}.hp-row span:last-child{color:var(--parchment);font-variant-numeric:tabular-nums}.log{right:var(--gutter);bottom:var(--gutter);flex-direction:column;width:300px;max-height:40vh;display:flex;position:absolute;overflow:hidden}.log-head{cursor:pointer;font-family:var(--font-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--bronze-300);background:0 0;border:0;justify-content:space-between;align-items:center;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.log-count{color:var(--parchment-dim);background:#00000059;border-radius:999px;padding:1px 8px;font-size:11px}.log-note{color:var(--parchment-dim);margin:0 12px 6px;font-size:11.5px;line-height:1.35}.log ol{margin:0;padding:0 8px 10px;list-style:none;overflow-y:auto}.log li{border-radius:6px;gap:8px;padding:5px 6px;font-size:13px;line-height:1.35;display:flex}.log li:nth-child(odd){background:#ffffff06}.log time{font-family:var(--font-cond);color:var(--parchment-dim);font-variant-numeric:tabular-nums}.log .tone-sun{color:#f7d98c}.log .tone-moon{color:var(--moon)}.log .tone-system{color:var(--parchment-dim)}.log-empty{color:var(--parchment-dim);font-style:italic}.modal-scrim{z-index:30;padding:var(--gutter);background:#0806048c;place-items:center;display:grid;position:absolute;inset:0}.help{width:min(520px,100%);max-height:90vh;padding:16px 18px;overflow:auto}.help header{justify-content:space-between;align-items:center;display:flex}.help h2{font-family:var(--font-display);margin:0;font-size:22px;font-weight:400}.help dl{gap:2px;margin:12px 0 0;display:grid}.help dl>div{border-bottom:1px solid #c39a5b2e;grid-template-columns:minmax(150px,42%) 1fr;gap:12px;padding:7px 0;display:grid}.help dt{font-family:var(--font-cond);color:var(--bronze-300);font-weight:700}.help dd{margin:0;font-size:14px}.help-settings{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.perf{top:76px;left:var(--gutter);padding:8px 10px;position:absolute}.perf pre{color:#cfe8c0;margin:0;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.overlay>*{visibility:hidden;will-change:transform;position:absolute;top:0;left:0}.tag{font-family:var(--font-cond);letter-spacing:.06em;text-transform:uppercase;color:#fff8e6;text-shadow:0 1px 2px #000000e6,0 0 6px #00000080;white-space:nowrap;font-size:13px;font-weight:700}.tag-capital{font-family:var(--font-display);text-transform:none;letter-spacing:.04em;border:1px solid var(--panel-border);background:#16110cb8;border-radius:6px;padding:2px 10px;font-size:18px}.tag-region{font-family:var(--font-display);text-transform:none;letter-spacing:.12em;color:#fff8e6d9;font-size:17px;font-style:italic;font-weight:400}.tag-crossing{font-size:12px}.tag-capture{border:1px solid var(--panel-border);text-transform:none;letter-spacing:.02em;background:#16110cc7;border-radius:6px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:14px;display:flex}.tag-capture small{font-family:var(--font-body);color:var(--parchment-dim);letter-spacing:0;font-size:11px;font-weight:500}.tag-flag{background:var(--parchment-dim);border-radius:1px;width:8px;height:12px}.side-sun .tag-flag{background:var(--sun)}.side-moon .tag-flag{background:var(--moon-deep)}.bar{justify-items:center;gap:3px;display:grid}.bar-name{font-family:var(--font-cond);color:#fff8e6;text-shadow:0 1px 2px #000;white-space:nowrap;font-size:13px;font-weight:700}.bar-note{font-family:var(--font-cond);color:var(--parchment-dim);text-shadow:0 1px 2px #000;font-size:11px}.bar-track{background:#0a0806cc;border:1px solid #0009;border-radius:3px;width:56px;height:6px;position:relative;overflow:hidden}.bar-focus .bar-track{width:72px}.bar-track.big{width:100%;height:8px}.bar-fill{background:linear-gradient(#a6f08c,#4fb04a);position:absolute;inset:0 auto 0 0}.side-moon .bar-fill{background:linear-gradient(#ff9c8a,#d24a3a)}.bar-build{opacity:.9;background:repeating-linear-gradient(135deg,#e8b33a 0 6px,#b98a22 6px 12px);position:absolute;inset:0 auto 0 0}.hp .bar-track.big+.hp-row{margin-top:4px}.loading{text-align:center;background:radial-gradient(at 50% 40%,#2b2116,#0f0b07 70%);place-content:center;justify-items:center;gap:8px;transition:opacity .7s .2s,visibility 0s linear .9s;display:grid;position:absolute;inset:0}.loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{color:var(--sun);text-shadow:0 3px #5a4218;font-size:54px;animation:1.6s ease-in-out infinite bob}.loading-title{font-family:var(--font-display);letter-spacing:.06em;font-size:30px}.loading-sub{color:var(--parchment-dim)}.loading-bar{background:#ffffff14;border-radius:2px;width:200px;height:4px;margin-top:8px;overflow:hidden}.loading-bar span{background:var(--sun);width:40%;height:100%;animation:1.1s ease-in-out infinite slide;display:block}@keyframes bob{50%{transform:translateY(-6px)}}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}@media (prefers-reduced-motion:reduce){.loading-mark,.loading-bar span{animation:none}}@media (max-width:1100px){.res-note{display:none}}@media (max-width:900px){:root{--gutter:10px}.brand{display:none}.toolbar{top:var(--gutter);left:var(--gutter);right:var(--gutter);flex-wrap:nowrap;justify-content:flex-end;max-width:none}.toolbar .desk-only,.btn .long{display:none}.btn .short{display:inline}.toolbar .btn.nudge small{vertical-align:1px;border-radius:50%;width:9px;height:9px;margin-left:6px;padding:0;font-size:0;display:inline-block}.roster{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.roster-chip{flex:none}.resources{top:62px;left:var(--gutter);right:var(--gutter);justify-content:space-between;gap:6px;padding:6px 10px;transform:none}.res-label{display:none}.res-val{font-size:16px}.minimap canvas{width:150px!important;height:auto!important}.cam-buttons{grid-template-columns:1fr 1fr}.log{width:auto;max-width:46vw;max-height:34vh;top:108px;bottom:auto;left:auto}.log.closed{max-width:140px}.selection{bottom:calc(var(--gutter) + 118px)}.perf{top:108px}}.box-select{pointer-events:none;background:#e8b33a1f;border:1.5px solid #ffe7a3;border-radius:3px;position:absolute;box-shadow:0 0 0 1px #00000059}.army{top:76px;left:var(--gutter);align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute}.army-label{font-family:var(--font-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-300);padding:0 4px;font-size:12px;font-weight:700}.army .btn span{color:var(--sun);margin-right:2px}.army .btn.on span{color:#fff6df}.roster{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.roster-chip{cursor:pointer;background:linear-gradient(#3a2c1c,#241a10);border:1px solid #c39a5b73;border-radius:6px;width:34px;height:38px;padding:0;position:relative;overflow:hidden}.roster-chip:hover{border-color:var(--bronze-300)}.roster-chip:focus-visible{outline:2px solid var(--sun);outline-offset:1px}.roster-glyph{color:var(--sun);font-size:20px;line-height:32px}.side-moon .roster-glyph{color:var(--moon)}.roster-chip.moving:after{content:"";background:var(--good);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.roster-hp{background:var(--good);height:3px;position:absolute;bottom:0;left:0}.perf{top:128px}@media (max-width:900px){.army{top:108px;left:var(--gutter);gap:4px;padding:4px 6px}.army-label{display:none}.army .btn{padding:5px 8px}.perf{top:108px}}.roster-chip.fighting:after{content:"";background:var(--bad);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.btn-primary{border-color:var(--sun);color:#fff8e2;background:linear-gradient(#b8892e,#7a5716);padding:9px 18px;font-size:16px}.btn-primary:hover:not(:disabled){background:linear-gradient(#caa04a,#8a661e)}.btn.nudge{border-color:var(--sun);animation:1.8s ease-out infinite nudge;box-shadow:0 0 #e8b33a99}.btn.nudge small{background:var(--sun);color:#2b2116}@keyframes nudge{70%{box-shadow:0 0 0 8px #e8b33a00}to{box-shadow:0 0 #e8b33a00}}@media (prefers-reduced-motion:reduce){.btn.nudge{animation:none}}.menu-scrim{padding:var(--gutter);z-index:20;background:#0806048c;place-items:center;display:grid;position:absolute;inset:0}.title-scrim{background:radial-gradient(at 50% 55%,#08060426,#080604b3)}.menu{width:min(460px,100%);max-height:calc(100vh - 2 * var(--gutter));max-height:calc(100dvh - 2 * var(--gutter));padding:22px 24px;overflow:auto}.menu h2{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:26px;font-weight:400}.menu-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.menu-sub{color:var(--parchment-dim);margin:6px 0 0;font-size:14px}.menu-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.menu-actions.col{flex-direction:column}.menu-actions.col .btn{text-align:left;width:100%;padding:9px 12px;font-size:15px}.menu-foot{color:var(--parchment-dim);margin:14px 0 0;font-size:12px}.title-card{text-align:left;width:min(560px,100%)}.title-mark{color:var(--sun);text-shadow:0 3px #5a4218;font-size:46px;line-height:1}.title-card h1{font-family:var(--font-display);letter-spacing:.04em;margin:6px 0 0;font-size:clamp(34px,6vw,48px);font-weight:400}.title-sub{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.14em;color:var(--bronze-300);margin:4px 0 0;font-size:14px}.title-text{max-width:60ch;margin:14px 0 0;line-height:1.55}.difficulty{border:0;gap:6px;margin:18px 0 0;padding:0;display:grid}.difficulty legend{font-family:var(--font-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-300);margin-bottom:6px;font-size:12px;font-weight:700}.diff{cursor:pointer;border:1px solid #c39a5b4d;border-radius:8px;grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px;padding:9px 12px;display:grid}.diff.on{border-color:var(--sun);background:#e8b33a1a}.diff input{accent-color:var(--sun);grid-row:span 2}.diff-name{font-family:var(--font-cond);font-size:16px;font-weight:700}.diff-note{color:var(--parchment-dim);grid-column:2;font-size:13px}.diff:focus-within{outline:2px solid var(--sun);outline-offset:2px}.setting{border-bottom:1px solid #c39a5b2e;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.setting-note{color:var(--parchment-dim);margin:6px 0 4px;font-size:12.5px}.summary-kicker{font-family:var(--font-cond);letter-spacing:.16em;text-transform:uppercase;font-size:15px;font-weight:700}.summary.won .summary-kicker{color:var(--sun)}.summary.lost .summary-kicker{color:var(--bad)}.summary.won{border-top:3px solid var(--sun)}.summary.lost{border-top:3px solid var(--bad)}.stats{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:14px}.stats th,.stats td{text-align:right;border-bottom:1px solid #c39a5b2e;padding:7px 6px}.stats th[scope=row]{text-align:left;color:var(--parchment-dim);font-weight:500}.stats thead th{font-family:var(--font-cond);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.stats .sun{color:var(--sun)}.stats .moon{color:var(--moon)}.summary-reopen{z-index:20;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.wartable{top:128px;left:var(--gutter);width:min(640px, calc(100vw - 2 * var(--gutter)));z-index:5;padding:12px 14px;position:absolute}.wt-head{justify-content:space-between;gap:10px;display:flex}.wt-head h2{font-family:var(--font-display);margin:2px 0 0;font-size:20px;font-weight:400}.wt-body{grid-template-columns:auto minmax(0,1fr);gap:14px;margin-top:10px;display:grid}.wt-board{border:2px solid #5a4218;border-radius:4px;grid-template-rows:repeat(8,36px);grid-template-columns:repeat(8,36px);display:grid;overflow:hidden}.sq{cursor:pointer;border:0;place-items:center;padding:0;display:grid;position:relative}.sq.light{background:#d9c08f}.sq.dark{background:#8a6a3e}.sq.sel{box-shadow:inset 0 0 0 3px #fff2c4}.sq.target:after{content:"";background:#1e3c1473;border-radius:50%;width:12px;height:12px;position:absolute}.sq.check{background:radial-gradient(circle,#f0604f 20%,#0000 75%),#8a6a3e}.sq:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #fff}.pc{text-shadow:0 1px #0009;font-size:28px;line-height:1}.pc.sun{color:#ffd45e;-webkit-text-stroke:1px #5a3c08}.pc.moon{color:#2c5fae;-webkit-text-stroke:1px #0f2346}.pc.faded{opacity:.38}.rank,.file{font-size:9px;font-family:var(--font-cond);color:#1e140ab3;position:absolute}.rank{top:1px;left:2px}.file{bottom:0;right:2px}.wt-side{flex-direction:column;gap:6px;min-width:0;font-size:13px;display:flex}.wt-side h3{font-family:var(--font-cond);letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-300);margin:4px 0 0;font-size:12px;font-weight:700}.wt-hover{min-height:2.6em;color:var(--parchment-dim);margin:0;line-height:1.3}.wt-log{gap:4px;max-height:150px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.wt-log li{background:#ffffff08;border-radius:5px;gap:1px;padding:4px 6px;display:grid}.wt-log li span{color:var(--parchment-dim);font-size:12px}.wt-log .tone-sun b{color:#f7d98c}.wt-log .tone-moon b{color:var(--moon)}.wt-legend summary{cursor:pointer;font-family:var(--font-cond);color:var(--bronze-300);letter-spacing:.06em;font-weight:700}.wt-legend dl{gap:4px;margin:6px 0 0;display:grid}.wt-legend dl>div{grid-template-columns:74px 1fr;gap:8px;display:grid}.wt-legend dt{font-weight:600}.wt-legend dd{color:var(--parchment-dim);margin:0;font-size:12px}@media (max-width:900px){.wartable{padding:10px;top:150px}.wt-body{grid-template-columns:1fr}.wt-board{grid-template-rows:none;grid-template-columns:repeat(8,minmax(0,1fr));width:100%}.sq{aspect-ratio:1}.wt-log{max-height:90px}}@media (pointer:coarse){.btn{min-height:40px}.btn.icon{width:42px;height:42px}.toolbar .btn{min-width:42px}.compass{width:40px;height:40px}}@media (max-width:900px) and (min-height:501px){.selection{bottom:var(--gutter)}body:has(.selection) .bottom-left{display:none}.selection .sel-foot{display:none}.sel-actions{flex-wrap:nowrap;overflow-x:auto}.sel-actions .btn{flex:none}}@media (pointer:coarse){.army .btn{min-width:44px}.roster-chip{width:40px;height:42px}.log-head{min-height:40px}.wt-legend summary{padding:10px 0}}@media (max-width:900px) and (min-height:501px){.perf{top:160px}}@media (max-width:480px){.toolbar{justify-content:space-between;gap:4px}.toolbar .btn{padding-left:9px;padding-right:9px}}@media (max-height:500px) and (min-width:600px){.resources{top:var(--gutter);left:var(--gutter);gap:12px;padding:6px 10px;right:auto}.toolbar{left:auto;right:var(--gutter);top:var(--gutter)}.army{top:64px}.log{max-height:calc(100dvh - 74px);top:64px}.perf{top:116px}.minimap canvas{width:112px!important}.selection{left:var(--gutter);right:auto;bottom:var(--gutter);width:min(360px,46vw);padding:8px 12px;transform:none}body:has(.selection) .bottom-left{display:none}.log{width:min(280px,34vw)}.selection .sel-foot,.selection .sel-text{display:none}.selection h2{font-size:19px}.roster,.sel-actions{margin-top:6px}.wartable{top:var(--gutter);max-height:calc(100dvh - 2 * var(--gutter));padding:8px 12px;overflow:auto}.wt-body{grid-template-columns:auto minmax(0,1fr);margin-top:6px}.wt-board{--sq:min(40px, calc((100dvh - 2 * var(--gutter) - 84px) / 8));grid-template-columns:repeat(8, var(--sq));grid-template-rows:repeat(8, var(--sq));width:auto}.sq{aspect-ratio:auto}.menu{padding:12px 16px}.menu h2{font-size:21px}.stats{margin-top:6px}.stats th,.stats td{padding:3px 6px}.menu-actions{margin-top:10px}.title-text{display:none}}@media (min-width:901px) and (max-width:1180px) and (min-height:501px){.selection{left:var(--gutter);bottom:calc(var(--gutter) + 200px);transform:none}}.no-webgl{padding:var(--gutter,16px);background:radial-gradient(#2a1f14,#0e0a06);place-items:center;display:grid;position:fixed;inset:0}.no-webgl .panel{text-align:center;width:min(480px,100%);padding:24px}.no-webgl h1{font-family:var(--font-display);margin:4px 0 0;font-size:40px;font-weight:400}.no-webgl p{color:var(--parchment);line-height:1.55}.no-webgl .btn{margin-top:8px}
