.music-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:6px 12px;border:1px solid #42576c;border-radius:9px;background:#253448;color:#d5e4ef;font:inherit}.music-trigger>span:first-child{font-size:19px;line-height:1}.music-trigger.is-playing{color:#bfe9ca}.music-playing-dot{position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#bfe9ca}.game-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.game-header .music-trigger{width:44px;letter-spacing:normal}.game-header .music-trigger-label{display:none}.music-lobby-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}.music-panel{display:flex;flex-direction:column;gap:16px;min-width:0}.play-dialog:has(.music-panel) .dialog-content>header>button{min-width:44px;min-height:44px;border-radius:9px;background:#253448;font-size:22px}.music-panel .music-caption{color:#bfe9ca;font-size:12px}.music-panel label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#b6c9d7}.music-panel select{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #4c6578;border-radius:8px;background:#111f2d;color:#edf4f7;font:inherit;font-size:14px}.music-panel input[type=range]{display:block;width:100%;min-width:0;height:26px;accent-color:#bfe9ca;cursor:pointer}.music-panel button{min-height:44px;padding:8px 12px;border:1px solid #42576c;border-radius:9px;color:#e8edf5;background:#253448;font-size:13px}.music-panel .music-play{background:#bfe9ca;color:#153525;font-weight:700}.music-transport{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}.music-time{display:flex;justify-content:space-between;margin-top:-15px;color:#a1b7c6;font-size:11px;font-variant-numeric:tabular-nums}.music-volume{display:flex;align-items:center;gap:14px}.music-volume label{flex:1}.music-repeat{display:flex;gap:8px}.music-repeat button{flex:1}.music-panel button[aria-pressed=true]{border-color:#bfe9ca;color:#bfe9ca;background:#243e3c}.music-panel .music-help{font-size:12px;line-height:1.5;color:#99aebf}.music-panel input:focus-visible,.music-panel select:focus-visible{outline:2px solid #67e8f9;outline-offset:2px}@media(max-width:380px){.game-header .music-trigger-label{display:none}.game-header .music-trigger{width:40px}.music-transport{gap:5px}.music-panel button{padding-inline:7px}}@media(min-width:960px)and (min-height:601px)and (orientation:landscape){.game-shell .game-header{grid-template-columns:minmax(0,1fr) auto}}.room-history{position:fixed;z-index:60;inset:0 0 0 auto;width:min(390px,94vw);height:100dvh;display:flex;flex-direction:column;background:#142230;color:#e8edf5;border-left:1px solid #456070;box-shadow:-12px 0 40px #06111c66;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) 16px}.room-history>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-history h2{font-size:19px;font-weight:700}.room-history header p{color:#9eb4c4;font-size:12px;margin-top:3px}.room-history button{border:1px solid #456070;border-radius:7px;background:#22394a;color:#e8edf5;padding:7px 10px;font-size:12px;min-height:36px}.room-history header button{font-size:25px;width:40px;height:40px;line-height:1}.room-history nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}.room-history nav span{color:#9eb4c4;font-size:11px}.history-update{min-height:26px;font-size:11px;color:#9eb4c4;padding-top:6px}.history-error,.history-start{font-size:12px;line-height:1.6;padding:10px 0;color:#c8d8e2}.history-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px}.history-turn{margin:8px 0 18px}.history-turn h3{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;border-bottom:1px solid #39505f;padding:8px 0}.history-turn h3 span{margin-left:auto;color:#9eb4c4;font-size:11px;font-weight:400;overflow-wrap:anywhere}.history-turn ol,.history-turn ul{list-style:none;padding:0;margin:0}.history-event{padding:10px 0;border-bottom:1px solid #263c4b}.history-event code{display:block;font-size:14px;font-family:ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.history-event>a{display:block;color:inherit;text-decoration:none}.history-event>a:hover{text-decoration:underline;text-underline-offset:3px}.history-analysis-link{color:#b5e5e4;font-size:12px;padding:6px 0 10px}.history-event>p{color:#b4c6d2;font-size:11px;margin-top:4px;line-height:1.6}.history-event details{font-size:11px;color:#9eb4c4;margin-top:6px}.room-history summary{cursor:pointer;padding:4px 0}.history-event details p{line-height:1.8;overflow-wrap:anywhere}.history-event details li{padding:5px 0 5px 10px;color:#c6d8e2}.history-event small{display:block;color:#9eb4c4;padding-top:2px}.history-mining code{color:#b8ddce}.history-result code{color:#f0d287;font-weight:700}.room-history>footer{border-top:1px solid #39505f;padding-top:8px;font-size:11px;color:#b4c6d2;max-height:35%;overflow-y:auto}.room-history footer p{line-height:1.6;margin:6px 0}.game-shell .reference-bar{flex-wrap:wrap}.active-games-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.active-games-count{margin-left:8px;padding:2px 8px;border-radius:20px;background:#1e3a5f;font-size:.8rem}.active-games-list{display:grid;gap:12px;padding:0;margin:16px 0 0;list-style:none}.active-game{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #334155;border-radius:10px;background:#172033}.active-game-info{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere;font-size:.85rem;color:#cbd5e1}.active-game-info strong{color:#f1f5f9;font-size:1rem}.active-game-versus,.active-game-info small{color:#94a3b8}.active-game-status{font-size:.75rem;color:#cbd5e1}.active-game-playing{color:#67e8f9}.active-game button{flex:none;min-height:44px}.active-games-heading button{min-height:44px}@media(max-width:440px){.active-game{align-items:stretch;flex-direction:column;gap:12px;padding:12px}}.map-painter{width:min(100%,708px);margin:0 auto;padding:28px 24px 36px;color:#e8edf5}.painter-header{position:relative;margin-bottom:24px}.painter-header>a{color:#a3bac9;font-size:13px;text-decoration:none}.painter-header>a:hover{color:#b5e5e4}.painter-secret{float:right;color:#8fbabf;font-size:10px;letter-spacing:.12em;text-transform:uppercase;line-height:20px}.painter-header h1{margin:24px 0 6px;font-size:clamp(27px,5vw,34px);letter-spacing:-.04em;font-weight:650}.painter-header p{margin:0;color:#a3bac9;font-size:14px}.map-painter button{cursor:pointer}.map-painter button:disabled{cursor:default}.painter-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.painter-history,.painter-export{display:flex;gap:8px}.painter-history button,.painter-export button,.painter-copy-fallback button{border:1px solid #39515f;border-radius:7px;padding:9px 13px;background:#1b2b38;color:#e8edf5;font-size:13px;line-height:20px}.painter-history button:hover:enabled,.painter-export button:hover,.painter-copy-fallback button:hover{border-color:#8fbabf}.painter-history button[aria-pressed=true]{background:#334e63;border-color:#a2d5e5}.painter-total{color:#a3bac9;font-size:12px;white-space:nowrap}.painter-total strong{color:#d1eeee;font-size:19px;font-variant-numeric:tabular-nums}.painter-instructions{margin:16px 0 12px;font-size:12px;color:#a3bac9;text-align:center}.painter-instructions b{color:#e8edf5;font-weight:600}.painter-instructions>span{margin:0 7px}.painter-symmetry{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 12px;color:#c1d4df;font-size:12px;cursor:pointer}.painter-symmetry input{width:16px;height:16px;margin:0;accent-color:#b5e5e4}.painter-board-frame{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:18px auto;padding-right:18px}.painter-column-labels{grid-column:2;display:grid;grid-template-columns:repeat(10,1fr);padding:0 4px;text-align:center}.painter-row-labels{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(10,1fr);padding:4px 0;align-items:center}.painter-column-labels,.painter-row-labels{color:#829da9;font-size:10px;font-variant-numeric:tabular-nums}.battle-board.painter-board{grid-column:2;grid-row:2;width:100%;max-width:none}.painter-cell{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.painter-cell:hover{box-shadow:inset 0 0 0 2px #fff;z-index:9}.painter-cell:focus-visible{z-index:9}.painter-count{position:relative;z-index:1;display:inline-flex;justify-content:center;align-items:center;min-width:23px;height:23px;border-radius:5px;background:#102330ed;color:#eefafa;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;pointer-events:none}.painter-count{opacity:0}.painter-cell:is(:hover,:focus-visible) .painter-count{opacity:1}.painter-map-actions{display:flex;align-items:center;gap:18px;min-height:42px;font-size:12px}.painter-map-actions button{background:none;border:none;color:#a3bac9;padding:10px 0}.painter-map-actions button:hover{color:#eefafa}.painter-map-actions>span{margin-left:auto;color:#829da9;white-space:nowrap}.painter-footer{padding-top:14px;border-top:1px solid #2d4351}.painter-export .painter-primary{background:#b5e5e4;border-color:#b5e5e4;color:#122d38;font-weight:650}.painter-footer p{color:#829da9;font-size:11px;line-height:1.6;margin:8px 0 0}.painter-footer .painter-save-status{min-height:20px;color:#b5d9d9;font-size:12px}.painter-copy-fallback{margin-top:12px}.painter-copy-fallback label{display:block;font-size:12px;margin-bottom:6px}.painter-copy-fallback textarea{width:100%;padding:10px;background:#152b37;border:1px solid #39515f;border-radius:7px;color:#e8edf5;font-family:monospace;font-size:12px}@media(max-width:480px){.map-painter{padding:20px 12px 24px}.painter-header{margin-bottom:18px}.painter-history button{padding-inline:8px}.painter-instructions{font-size:11px}.painter-instructions>span{margin:0 4px}.painter-count{min-width:18px;height:18px;font-size:10px;border-radius:4px}.painter-map-actions{gap:12px;font-size:11px}}.analysis-controls{border:1px solid #3b5366;background:#192d3d;border-radius:9px;padding:9px;font-size:12px;margin:6px 0}.analysis-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.analysis-heading a{color:#b5e5e4;font-size:11px}.analysis-position{min-height:32px;line-height:1.5;padding-top:5px;overflow-wrap:anywhere}.analysis-navigation{display:grid;grid-template-columns:.7fr 1.4fr 1fr 1fr 1.4fr .7fr;gap:4px}.game-shell.game-shell-analysis .analysis-navigation button{min-width:0;padding:5px 3px;font-size:12px;min-height:36px}.analysis-position-picker{display:flex;align-items:center;gap:7px;margin-top:7px}.analysis-position-picker select{min-width:0;flex:1;background:#223b4e;border:1px solid #466078;border-radius:5px;padding:5px;font-size:11px}.analysis-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:7px}.game-shell .analysis-actions button{min-height:32px;padding:5px 7px;font-size:11px}.analysis-actions>span,.analysis-actions>small{color:#b0c8d4;font-size:11px}.analysis-controls details{margin-top:5px;font-size:11px}.analysis-controls summary{cursor:pointer}.analysis-controls form{display:flex;gap:6px;margin-top:5px}.analysis-controls input{width:0;flex:1;min-width:0;background:#223b4e;padding:6px;border-radius:5px}.game-shell-analysis .income-recap-slot,.game-shell-analysis .income-status,.game-shell-analysis .context-status,.game-shell-analysis.is-reviewing .decision-panel{display:none}.game-shell-analysis .decision-panel{overflow-y:auto}.game-shell-analysis.is-reviewing .play-area{grid-template-rows:minmax(0,1fr) 26px}@media(min-width:960px)and (min-height:601px)and (orientation:landscape){.game-shell.game-shell-analysis{--sidebar-width: clamp(190px, calc((100vw - 100dvh - 40px)/2) , 280px)}.game-shell-analysis .analysis-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.game-shell-analysis .game-overview{grid-row:1 / -1;height:calc(100% - 130px);align-self:start}.game-shell-analysis.is-reviewing .play-footer{grid-row:1 / -1;justify-content:center}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:oklch(45% .085 224.283);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-md:.375rem;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-4{top:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.z-50{z-index:50}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.max-h-32{max-height:calc(var(--spacing) * 32)}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-full{width:100%}.w-px{width:1px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-blue-500{border-color:var(--color-blue-500)}.border-cyan-700{border-color:var(--color-cyan-700)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-500{border-color:var(--color-green-500)}.border-purple-500{border-color:var(--color-purple-500)}.border-red-600\/50{border-color:#e4001480}@supports (color:color-mix(in lab,red,red)){.border-red-600\/50{border-color:color-mix(in oklab,var(--color-red-600) 50%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-700{background-color:var(--color-cyan-700)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/80{background-color:#1e2939cc}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\/80{background-color:color-mix(in oklab,var(--color-gray-800) 80%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-900\/70{background-color:#101828b3}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/70{background-color:color-mix(in oklab,var(--color-gray-900) 70%,transparent)}}.bg-gray-900\/95{background-color:#101828f2}@supports (color:color-mix(in lab,red,red)){.bg-gray-900\/95{background-color:color-mix(in oklab,var(--color-gray-900) 95%,transparent)}}.bg-green-300{background-color:var(--color-green-300)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500) 20%,transparent)}}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-500{background-color:var(--color-red-500)}.bg-yellow-300{background-color:var(--color-yellow-300)}.bg-yellow-500{background-color:var(--color-yellow-500)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-cyan-200{color:var(--color-cyan-200)}.text-cyan-300{color:var(--color-cyan-300)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-purple-500{color:var(--color-purple-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.uppercase{text-transform:uppercase}.accent-blue-500{accent-color:var(--color-blue-500)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-blue-300:focus-within{--tw-ring-color:var(--color-blue-300)}@media(hover:hover){.hover\:border-cyan-400:hover{border-color:var(--color-cyan-400)}.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-cyan-800:hover{background-color:var(--color-cyan-800)}.hover\:text-white:hover{color:var(--color-white)}}.disabled\:text-gray-500:disabled{color:var(--color-gray-500)}}:root{color:#e8edf5;color-scheme:dark;background:#101925;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline-offset:-3px;outline:3px solid #67e8f9}.game-shell{max-width:900px;height:100dvh;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));flex-direction:column;gap:4px;margin:auto;font-size:13px;display:flex}.game-shell button:not(.board-cell){color:#e8edf5;background:#253448;border-radius:9px;min-height:40px;padding:5px 10px;font-weight:650}.game-shell button.primary{color:#153525;background:#bfe9ca}.game-shell button[aria-pressed=true]:not(.board-cell){background:#334e63;box-shadow:inset 0 0 0 2px #a2d5e5}.game-header{flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:42px;display:flex}.game-header a{color:#a9bccf;padding:12px 0;font-size:12px}.game-header h1{letter-spacing:-.5px;font-size:16px;font-weight:750}.game-header button{letter-spacing:2px;width:44px}.game-overview{display:contents}.turn-strip{flex:none;justify-content:space-between;align-items:center;gap:4px;min-height:30px;display:flex}.turn-strip strong{font-size:12px}.turn-strip strong span{color:#a9bacb;font-weight:400}.phase-steps{color:#8fa0b3;align-items:center;gap:4px;font-size:11px;display:flex}.phase-steps span{border-radius:5px;padding:4px 5px}.phase-steps [aria-current=step]{color:#c5f0dd;background:#294c4c;font-weight:750}.score-strip{flex:none;grid-template-columns:1.1fr 1fr;gap:6px;display:grid}.score-strip>div{background:#1a2737;border-radius:8px;min-width:0;padding:6px 8px}.score-strip strong{align-items:center;gap:5px;font-size:12px;display:flex}.score-strip b{color:#f0cd7e;font-variant-numeric:tabular-nums;margin-left:auto}.score-strip small{color:#abc;white-space:nowrap;margin-top:3px;font-size:10px;display:block}.player-dot{border:1px solid #bdcbd9;border-radius:50%;flex:none;width:9px;height:9px}.player-dot.white{background:#fff}.player-dot.black{background:#101722}.play-area{grid-template-rows:minmax(0,1fr) 26px var(--decision-height,116px);flex:1;gap:3px;min-height:0;display:grid}.board-stage{justify-content:center;align-items:center;min-width:0;min-height:0;padding:2px;display:flex;container-type:size}.battle-board{aspect-ratio:1;background:#152b37;border-radius:10px;width:min(100cqw,100cqh,650px);padding:4px;box-shadow:0 4px 16px #0004}.battle-grid{border-radius:6px;grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:1px;width:100%;height:100%;display:grid;overflow:hidden}.battle-board.coordinate-board{box-shadow:none;background:0 0;padding:22px 4px 4px 22px;position:relative}.coordinate-board:before{content:"";background:#152b37;border-radius:10px;position:absolute;inset:18px 0 0 18px;box-shadow:0 4px 16px #0004}.coordinate-board .battle-grid{position:relative}.board-column-labels,.board-row-labels{color:#829da9;font-variant-numeric:tabular-nums;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;gap:1px;font-size:10px;display:grid;position:absolute}.board-column-labels{grid-template-columns:repeat(10,minmax(0,1fr));align-items:center;height:18px;top:0;left:22px;right:4px}.board-row-labels{grid-template-rows:repeat(10,minmax(0,1fr));align-items:center;width:18px;top:22px;bottom:4px;left:0}.board-square{min-width:0;min-height:0;position:relative}.board-square:after{content:"";pointer-events:none;z-index:8;border:1px solid #b5e5e4;position:absolute;inset:0}.board-cell{color:#243c44;touch-action:manipulation;border:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.board-key{color:#acbfcd;justify-content:space-between;align-items:center;gap:4px;font-size:10px;display:flex}.game-shell .board-key button{background:0 0;min-height:26px;padding:2px 8px;font-size:10px}.decision-panel{background:#1b2939;border:1px solid #3b4b5b;border-radius:11px;min-width:0;min-height:0}.unit-detail,.action-preview,.selection-hint{flex-direction:column;justify-content:space-between;height:100%;padding:6px 10px;display:flex}.unit-heading{justify-content:space-between;align-items:center;min-height:28px;display:flex}.unit-heading strong{font-size:14px}.unit-heading small{color:#b1c0d0;text-transform:capitalize;margin-left:5px;font-size:11px;font-weight:400}.game-shell .unit-heading button{background:0 0;width:30px;height:28px;min-height:28px;padding:0;font-size:20px}.unit-stats{color:#afbdce;grid-template-columns:repeat(4,1fr);gap:8px;font-size:11px;display:grid}.unit-stats b{color:#eef3f9;font-variant-numeric:tabular-nums;margin-left:3px;font-size:13px}.cleave-status{color:#bfe9ca;margin:0;font-size:10px;line-height:1.25;display:block}.unit-action-row{align-items:center;gap:8px;display:flex}.unit-action-row p{color:#becddb;flex:1;font-size:11px;line-height:1.35}.unit-action-row button{white-space:nowrap;flex:none;font-size:12px}.preview-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.preview-heading strong{font-size:15px}.preview-heading span{color:#b5e2d0;font-size:12px}.action-preview p{color:#bfcedb;font-size:11px}.preview-buttons{grid-template-columns:1fr 1.6fr;gap:8px;display:grid}.selection-hint{justify-content:center;gap:6px}.selection-hint strong{font-size:15px}.selection-hint p{color:#c0ced9;font-size:12px}.selection-hint small{color:#91a5b7;font-size:11px}.play-footer{flex:none}.context-status{color:#aebfcd;text-align:center;min-height:18px;font-size:10px}.action-bar{align-items:center;gap:6px;display:flex}.action-budget{min-width:85px;margin-right:auto}.action-budget strong{font-size:12px}.action-budget>span{gap:4px;margin-top:3px;display:flex}.action-budget i{background:#405266;border-radius:50%;width:8px;height:8px}.action-budget i.available{background:#a9dfc4}.game-shell .action-bar button{min-height:44px;font-size:12px}.reference-bar{justify-content:center;gap:14px;display:flex}.game-shell .reference-bar button{color:#b1c1d1;background:0 0;min-height:32px;padding:4px;font-size:11px}.unit-shop{flex-direction:column;justify-content:space-between;gap:4px;height:100%;padding:6px 8px;display:flex}.element-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.game-shell .element-picker button{text-transform:capitalize;min-height:42px;padding:3px 0;font-size:9px;font-weight:500}.element-picker span{font-size:17px;line-height:20px;display:block}.tier-picker{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.game-shell .tier-picker button{min-height:30px;padding:2px;font-size:11px}.shop-detail strong{justify-content:space-between;margin-bottom:2px;font-size:14px;display:flex}.shop-detail small{color:#ebd29e;font-size:11px;font-weight:500}.shop-action{justify-content:space-between;align-items:center;gap:8px;display:flex}.shop-action p{color:#c0cedb;flex:1;font-size:10px}.shop-action button{white-space:nowrap;font-size:12px}.play-dialog{color:#e8edf5;background:#192636;border:1px solid #546478;border-radius:16px;width:min(94vw,500px);max-height:90dvh;margin:auto;padding:0}.play-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06111dcc}.dialog-content{flex-direction:column;gap:12px;padding:16px;display:flex}.dialog-content header{justify-content:space-between;align-items:center;display:flex}.dialog-content h2{font-size:18px;font-weight:700}.dialog-content p{color:#bbcad9;font-size:13px}.dialog-content a{color:#acdaef;padding:12px}.dialog-content .unit-shop{min-height:220px}.mode-select{min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}@media(min-width:700px){.game-shell{gap:6px;max-width:760px}.score-strip small{font-size:12px}.game-header h1{font-size:20px}.board-key{font-size:12px}.unit-stats{font-size:13px}.unit-detail,.action-preview{padding-inline:16px}}@media(max-height:620px)and (orientation:portrait){.game-header{min-height:36px}.game-header h1{font-size:14px}.turn-strip{min-height:25px}.game-shell{gap:2px}.score-strip>div{padding-block:4px}.play-area{grid-template-rows:minmax(0,1fr) 24px 106px}.context-status{display:none}.unit-heading strong{font-size:12px}}@media(orientation:landscape)and (max-height:600px){.game-shell{grid-template-rows:38px 28px 45px minmax(0,1fr) auto;grid-template-columns:minmax(230px,1fr) minmax(280px,.9fr);column-gap:12px;max-width:1100px;display:grid}.game-header,.turn-strip,.score-strip,.play-footer{grid-column:2}.game-header{grid-row:1}.turn-strip{grid-row:2}.score-strip{grid-row:3}.play-area{display:contents}.board-stage{grid-area:1/1/-1;padding-bottom:28px}.board-key{z-index:1;grid-area:5/1;align-self:end}.decision-panel{height:var(--decision-height,116px);grid-area:4/2;align-self:end}.play-footer{grid-row:5}.context-status{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.help-navigation{justify-content:space-between;align-items:center;gap:8px;display:flex}.help-navigation span{color:#aebdd0;font-size:12px}.help-body{overscroll-behavior:contain;max-height:60dvh;overflow-y:auto}.help-body h3{color:#b7e8e8;margin-bottom:14px;font-size:17px;font-weight:700}@media(orientation:portrait),(min-height:601px){.game-shell{gap:3px}.game-header{min-height:36px}.game-header a{padding-block:8px}.game-shell .game-header button{min-height:36px}.turn-strip{min-height:24px}.score-strip>div{padding-block:4px}.play-area{grid-template-rows:minmax(0,1fr) 24px 104px;gap:2px}.context-status{display:none}}.game-shell .reference-bar .counter-key{letter-spacing:-.3px;font-size:12px}.counter-key span{color:#b8ddce;font-size:10px}.home-marker{pointer-events:none;font-size:12px;font-weight:900;line-height:1;position:absolute;top:1px;left:2px}.home-white{color:#fff;text-shadow:0 1px 2px #000}.reserve-0{--seam-color:#192a38}.reserve-1{--seam-color:#263b4b}.reserve-2{--seam-color:#334d5d}.reserve-3{--seam-color:#405f6f}.reserve-4{--seam-color:#4e7181}.reserve-5{--seam-color:#5d8393}.reserve-6{--seam-color:#6d96a4}.reserve-7{--seam-color:#7eabb6}.reserve-8{--seam-color:#90bec7}.reserve-9{--seam-color:#a2d1d6}.reserve-10{--seam-color:#b5e5e4}.reserve-11{--seam-color:#c1e9e9}.reserve-12{--seam-color:#ceeeed}.reserve-13{--seam-color:#daf2f2}.reserve-14{--seam-color:#e6f6f6}.reserve-15{--seam-color:#f3fbfb}.reserve-16{--seam-color:#fff}.board-cell{background:var(--seam-color);color:#fff;isolation:isolate}.board-cell:after{content:"";pointer-events:none;z-index:4;position:absolute;inset:0}.board-cell.selected:after{box-shadow:inset 0 0 0 2px #f9db86}.board-cell.path-cell:after{background:#ffee9d22}.board-cell.preview-cell:after{background:#ffeca322;box-shadow:inset 0 0 0 2px #f5d780}.board-cell.attack-target:after{border:2px solid #ff7b82;border-radius:35%}.board-cell.attack-target.preview-cell:after{background:#ff575733;border-color:#ffbeac}.range-marker{pointer-events:none;z-index:2;border-radius:50%;width:6px;height:6px;margin-right:8%}.range-marker.near{background:#fff5cd;box-shadow:0 0 0 1px #183549}.range-marker.far{opacity:.7;border:1px solid #fff5cd;width:6px;height:6px;box-shadow:0 0 0 .5px #183549aa}.attack-frontier-marker{pointer-events:none;z-index:7;background:#ff4659;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:46%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #211321,0 0 0 2px #ffd1d666}.attack-frontier-marker.on-unit{top:14%;left:86%}.reserve-bricks{pointer-events:none;z-index:0;background:#192a38;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 2px;padding:2px;display:grid;position:absolute;inset:0}.reserve-brick{background:#b5e5e4;min-width:0;min-height:0;box-shadow:inset 0 0 0 .5px #658c95}.spawn-marker{color:#fff2b4;text-shadow:0 1px 2px #092035;z-index:2;font-size:20px;font-weight:650}.destination-marker{color:#fff1b4;text-shadow:0 1px 2px #092035;z-index:2;margin-right:8%;font-size:24px;line-height:1}.invalid-marker{color:#ffb7b2;text-shadow:0 1px 2px #092035;z-index:5;font-size:24px;position:absolute}.home-marker{z-index:6}.home-black{color:#07131c;text-shadow:0 0 2px #fff,0 0 1px #fff}.board-key>span{margin-right:auto}.game-shell .board-key .visual-key-trigger{text-underline-offset:3px;text-decoration:underline}.unit-wrap{pointer-events:none;justify-content:center;align-items:center;width:86%;height:89%;display:flex;transform:translate(-4%,-1%)}.unit-token{pointer-events:none;filter:drop-shadow(0 1px 1px #0007);width:100%;max-width:56px;height:100%;max-height:58px;position:relative}.unit-token.tier-1{width:89%;height:89%}.unit-token.tier-2{width:93%;height:93%}.unit-token.tier-3{width:97%;height:97%}.unit-art{width:100%;height:100%;display:block;overflow:visible}.piece-glyph{fill:var(--glyph);--glyph-vein:var(--vein);stroke:var(--glyph-outline);stroke-width:.7px;stroke-linejoin:round}.army-white{--vein:#f6ebcd;--glyph-outline:#132a3e44}.army-black{--vein:#172334;--glyph-outline:#f4ffff44}.element-fire{--glyph:#bd4029}.element-lightning{--glyph:#946000}.element-water{--glyph:#1763a9}.element-shadow{--glyph:#7947aa}.element-plant{--glyph:#2b713a}.element-metal{--glyph:#445665}.army-black.element-fire{--glyph:#ff9b75}.army-black.element-lightning{--glyph:#ffe174}.army-black.element-water{--glyph:#7bbfff}.army-black.element-shadow{--glyph:#cfabff}.army-black.element-plant{--glyph:#9ddd8a}.army-black.element-metal{--glyph:#d0e5ef}.rank-pips{fill:#63502d}.army-black .rank-pips{fill:#e2eafa}.elite-crest{stroke:#b4822e}.army-black .elite-crest{stroke:#f2d9a0}.piece-selected{filter:drop-shadow(0 0 2px #ffe6a7)}.piece-resting{filter:saturate(.5)drop-shadow(0 1px 1px #0007)}.piece-damage{color:#fff;background:#a72440;border:1px solid #ffbdc3;border-radius:4px;padding:0 2px;font:800 9px/12px system-ui;position:absolute;top:-2px;right:-1px}.element-icon{width:24px;height:24px;fill:var(--glyph);--glyph-vein:#1b2939;vertical-align:middle;display:inline-block}.element-icon.element-fire{--glyph:#ff9b75}.element-icon.element-lightning{--glyph:#ffe174}.element-icon.element-water{--glyph:#7bbfff}.element-icon.element-shadow{--glyph:#cfabff}.element-icon.element-plant{--glyph:#9ddd8a}.element-icon.element-metal{--glyph:#d0e5ef}.element-picker .element-icon{height:22px;margin:auto;display:block}.unit-heading strong{align-items:center;gap:3px;min-width:0;display:flex}.unit-heading .unit-art{flex:none;width:25px;height:27px}.shop-piece-name{align-items:center;gap:5px;display:flex}.shop-piece-name .unit-art{width:24px;height:26px}.shop-detail strong{align-items:center}.visual-key{flex-direction:column;gap:20px;display:flex}.visual-key h3{color:#d6eee8;margin-bottom:8px;font-size:16px;font-weight:750}.visual-key p{font-size:12px;line-height:1.55}.reserve-examples{grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;display:grid}.reserve-example{border:1px solid #274252;width:64px;height:64px;margin:auto}.reserve-examples figcaption{text-align:center;margin-top:5px;font-size:11px}.reserve-examples figcaption small{color:#a3bac9;font-size:10px;display:block}.army-examples{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.army-examples figure>div{justify-content:center;display:flex}.army-examples .unit-art{width:40px;height:44px}.army-examples figcaption{text-align:center;text-transform:capitalize;font-size:11px}.army-examples .element-icon{width:16px;height:16px}.rank-examples{text-align:center;grid-template-columns:repeat(4,1fr);gap:10px;margin-block:12px;font-size:11px;display:grid}.rank-examples .unit-art{width:45px;height:50px;margin:auto}.rent-warning{color:#f59e0b!important}.score-strip .rent-warning{color:#f87171!important}.progress-clock{color:#94a3b8;justify-content:space-between;gap:.5rem;padding:2px 8px;font-size:.7rem;display:flex}.upkeep-list{gap:.35rem;max-height:48dvh;display:grid;overflow-y:auto}.upkeep-list label{background:#172033;border-radius:.4rem;align-items:center;gap:.7rem;padding:.65rem;display:flex}.upkeep-list label span{flex:1}.upkeep-list small{color:#94a3b8;display:block}.upkeep-list input{width:1.2rem;height:1.2rem}.score-strip small{white-space:normal}@media(orientation:landscape)and (max-height:600px){.game-shell{grid-template-rows:38px 28px 62px 18px minmax(0,1fr) auto}.progress-clock{grid-area:4/2}.decision-panel{grid-row:5}.play-footer,.board-key{grid-row:6}}.income-status{color:#bfe9ca;text-align:center;padding:2px;font-size:11px}.income-recap{color:#afc1d2;text-align:center;font-size:10px}.income-recap summary{cursor:pointer}.income-recap[open]{z-index:20;background:#192636;border:1px solid #546478;border-radius:8px;width:90%;max-height:35dvh;padding:12px;position:absolute;bottom:100px;left:5%;overflow:auto}.play-area.is-placing{grid-template-rows:minmax(0,1fr) 24px var(--decision-height,116px)}.is-placing .decision-panel{flex-direction:column;display:flex}.purchase-shop{flex:none;height:100%}.purchase-shop p{color:#becddb;font-size:10px}.purchase-shop small{display:block}.is-placing .unit-detail,.is-placing .selection-hint{flex:1;min-height:0}.unit-action-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;display:grid}.unit-action-row p{font-size:10px;line-height:1.2}.game-shell-observer{--decision-height:140px}.unit-action-row .unit-income,.unit-action-row .unit-upgrade{grid-column:1/-1}.unit-income{color:#bfe9ca!important;font-size:10px!important}@media(orientation:landscape)and (max-height:600px){.is-placing .decision-panel{height:var(--decision-height,116px)}}.score-strip small{display:inline-block}.score-strip small+small{margin-left:8px}.tutorial-copy{flex-direction:column;gap:14px;line-height:1.55;display:flex}@media(min-width:960px)and (min-height:601px)and (orientation:landscape){.game-shell{--sidebar-width:clamp(144px, calc((100vw - 100dvh - 40px)/2) , 224px);max-width:calc(100dvh + 480px);padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));grid-template-columns:var(--sidebar-width) minmax(0,1fr) var(--sidebar-width);grid-template-rows:minmax(0,1fr) auto;gap:12px 8px;display:grid}.game-overview{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;grid-area:1/1;gap:16px;min-height:0;display:flex;overflow-y:auto}.game-header{grid-template-columns:minmax(0,1fr) 44px;gap:12px 4px;display:grid}.game-header h1{text-wrap:balance;grid-area:2/1/auto/-1;font-size:21px;line-height:1.15}.game-header a{padding-block:12px;font-size:12px}.game-shell .game-header button{min-height:44px}.turn-strip{flex-direction:column;align-items:flex-start;gap:8px}.turn-strip strong{font-size:13px}.phase-steps{gap:6px;width:100%}.phase-steps span{text-align:center;flex:1;padding:8px}.score-strip{grid-template-columns:minmax(0,1fr);gap:8px}.score-strip>div{border:1px solid #2d3f50;padding:12px 10px}.score-strip strong{font-size:13px}.score-strip b{font-size:16px}.score-strip small{font-size:11px;display:block}.score-strip small+small{margin-left:0}.progress-clock{flex-direction:column;gap:4px;padding:0 4px;font-size:11px}.play-area{display:contents}.board-stage{grid-area:1/2/-1;padding:0}.battle-board{border-radius:12px;width:min(100cqw,100cqh);padding:5px}.board-key{grid-area:2/1;grid-template-columns:1fr 1fr;align-self:end;gap:8px;font-size:11px;line-height:1.5;display:grid}.board-key>span{grid-column:1/-1;margin:0 0 4px}.game-shell .board-key button{background:#1a2737;min-height:44px;padding:6px 4px;font-size:11px}.decision-panel,.is-placing .decision-panel{overscroll-behavior:contain;scrollbar-width:thin;grid-area:1/3;height:auto;overflow-y:auto}.decision-panel .unit-shop,.decision-panel .unit-detail,.decision-panel .action-preview,.decision-panel .selection-hint{justify-content:flex-start;gap:16px;height:auto;min-height:100%;padding:12px}.decision-panel .selection-hint{justify-content:center}.decision-panel .purchase-shop{flex:1}.decision-panel .element-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.game-shell .decision-panel .element-picker button{min-height:66px;font-size:11px}.decision-panel .purchase-shop p,.decision-panel .unit-action-row p,.decision-panel .action-preview p{font-size:12px;line-height:1.5}.decision-panel .unit-heading{align-items:flex-start;gap:4px}.decision-panel .unit-heading strong{flex-wrap:wrap;font-size:16px}.decision-panel .unit-heading small{flex-basis:100%;margin:4px 0 0;line-height:1.5}.game-shell .decision-panel .unit-heading button{min-width:36px;min-height:44px}.decision-panel .unit-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:11px}.decision-panel .unit-stats span{background:#152332;border-radius:6px;padding:8px}.decision-panel .unit-stats b{margin:2px 0 0;font-size:17px;display:block}.decision-panel .unit-action-row{flex-direction:column;align-items:stretch;gap:12px;display:flex}.game-shell .decision-panel .unit-action-row button{white-space:normal;min-height:44px}.decision-panel .unit-income{font-size:11px!important}.decision-panel .cleave-status{font-size:11px;line-height:1.5}.preview-heading{flex-direction:column;align-items:flex-start;gap:6px}.preview-heading span{font-size:11px}.preview-buttons{grid-template-columns:minmax(0,1fr);margin-top:auto}.game-shell .preview-buttons button{min-height:44px}.play-footer{flex-direction:column;grid-area:2/3;gap:10px;min-width:0;display:flex;position:relative}.income-status,.income-recap{text-align:left;font-size:11px}.income-recap[open]{width:100%;max-height:55dvh;bottom:0;left:auto;right:0}.action-bar{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.action-budget{margin:0 0 4px}.action-budget strong{font-size:13px}.action-budget>span{gap:6px;margin-top:6px}.game-shell .action-bar button{width:100%;font-size:13px}.reference-bar{grid-template-columns:1fr 1fr;gap:4px;display:grid}.game-shell .reference-bar button{min-height:44px;padding:4px 0;font-size:11px}.game-shell .reference-bar .counter-key{letter-spacing:-.5px;grid-area:2/1/auto/-1;font-size:11px}.game-overview>[role=alert],.game-overview>[role=status]{background:#253448;border-radius:8px;flex:none;padding:8px}}.online-lobby{color:#e2e8f0;max-width:640px;margin:0 auto;padding:32px 20px 64px}.online-lobby h1{margin-top:24px;font-size:1.8rem;font-weight:700}.online-lobby h2{margin:8px 0;font-size:1.4rem}.online-lobby h3{font-size:1.15rem;font-weight:650}.online-lobby p{margin:12px 0;line-height:1.6}.online-lobby section{background:#0f172a;border:1px solid #334155;border-radius:12px;margin-top:24px;padding:20px}.online-lobby label,.online-banner label{flex-direction:column;gap:6px;margin:14px 0;display:flex}.online-lobby input,.online-lobby select,.online-lobby textarea,.online-banner input,.online-banner textarea{color:#f1f5f9;background:#172033;border:1px solid #475569;border-radius:6px;width:100%;min-width:0;padding:10px}.online-lobby textarea{resize:vertical;min-height:170px;font-family:monospace;font-size:16px}.online-lobby button,.online-banner button{cursor:pointer;background:#1e3a5f;border:1px solid #475569;border-radius:6px;padding:9px 14px}.online-lobby button.primary{background:#0e7490}.online-lobby button:disabled{opacity:.5;cursor:default}.online-help,.online-banner details{color:#94a3b8;font-size:.82rem}.online-banner{overflow-wrap:anywhere;background:#0d2230;border:1px solid #28576c;border-radius:10px;margin-bottom:10px;padding:12px}.online-banner>strong,.online-banner>span{display:block}.online-banner>span{color:#a5d9e9;margin:4px 0;font-size:.85rem}.online-banner details{margin-top:10px}.online-banner textarea{min-height:150px;font-size:.7rem}.clock-summary{color:#cbd5e1;margin:8px 0;font-size:.82rem}.clock-seats,.clock-custom{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.clock-seat{background:#102131;border:1px solid #3c5062;border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.clock-seat strong{font-variant-numeric:tabular-nums;font-size:1.8rem;line-height:1.2}.clock-seat span{color:#b8c5d5;font-size:.72rem}.clock-seat .clock-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.clock-active{background:#123d4b;border-color:#67e8f9}.clock-low{border-color:#fbbf24}.clock-low strong{color:#fcd34d}.clock-help{color:#94a3b8;margin-top:8px;font-size:.72rem;line-height:1.4}@media(orientation:portrait),(max-width:959px){.game-shell-online:has(.room-clocks){height:auto;min-height:100dvh}.game-shell-online:has(.room-clocks) .play-area,.game-shell-online:has(.room-clocks) .play-area.is-placing{grid-template-rows:min(calc(100vw - 20px),650px) 24px var(--decision-height,116px);flex:none}.clock-seat{gap:2px;padding:6px 8px}.clock-seat strong{font-size:1.5rem}.clock-seats{gap:8px}}.game-shell-online .income-status{display:none}.online-banner [role=alert],.online-lobby [role=alert]{color:#fda4af}@media(min-width:960px)and (min-height:601px)and (orientation:landscape){.game-shell-online .game-overview{grid-row:1/-1;align-self:start;gap:10px;height:calc(100% - 90px)}.game-shell-online .online-banner{flex:none;margin-bottom:0}.game-shell-online .game-header{gap:4px}.game-shell-online .score-strip>div{padding:8px}}.unit-wrap.preview-origin{opacity:.35}.unit-wrap.preview-ghost{opacity:.75;filter:drop-shadow(0 0 3px #f5d780)}.game-shell,.play-footer,.board-key{min-width:0}.turn-strip strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.phase-steps{flex:none}.context-status,.income-status,.income-recap summary{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.income-recap-slot{flex:none;min-width:0;height:16px}.board-key>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.play-area,.play-area.is-placing{grid-template-rows:minmax(0,1fr) 24px var(--decision-height,116px)}.instant-replay-launcher{flex:none;grid-template-columns:minmax(0,1fr) 62px;height:40px;margin-top:8px;display:grid}.game-shell .instant-replay-button{border-radius:9px 0 0 9px;width:100%;height:40px;padding:4px 6px;font-size:12px;line-height:14px}.replay-mode{background:#253448;border-left:1px solid #546478;border-radius:0 9px 9px 0;justify-content:center;align-items:center;font-size:12px;font-weight:650;display:flex;position:relative;overflow:hidden}.replay-mode select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.replay-mode:focus-within{outline-offset:-3px;outline:3px solid #67e8f9}.turn-replay{grid-template-rows:18px minmax(28px,1fr) 36px;gap:4px;min-width:0;height:100%;padding:6px 10px;display:grid}.replay-heading{align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.replay-heading strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.replay-heading span{font-variant-numeric:tabular-nums;color:#bdd8dd;flex:none;margin-left:auto}.replay-caption{-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:center;min-width:0;margin:0;font-size:12px;line-height:14px;display:-webkit-box;overflow:hidden}.replay-controls{grid-template-columns:28px minmax(0,1fr) 28px minmax(0,1fr);gap:4px;display:grid}.replay-controls.is-manual{grid-template-columns:repeat(3,minmax(0,1fr))}.game-shell .replay-controls button{min-height:36px;padding:3px;font-size:12px}@media(min-width:960px)and (min-height:601px)and (orientation:landscape){.board-key>span{white-space:normal;height:3em;margin-bottom:4px}.turn-replay{grid-template-rows:20px 56px auto;gap:12px;height:auto;padding:12px}.replay-caption{-webkit-line-clamp:3;line-height:18px}.replay-controls{grid-template-columns:28px minmax(0,1fr) 28px}.replay-controls.is-manual{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-controls .primary{grid-column:1/-1}.game-shell .replay-controls button{min-height:40px}}@media(max-height:620px)and (orientation:portrait){.game-shell{height:auto;min-height:100dvh}.play-area,.play-area.is-placing{grid-template-rows:min(calc(100vw - 20px),280px) 24px var(--decision-height,116px);flex:none}.turn-replay{grid-template-rows:16px minmax(24px,1fr) 36px;gap:3px;padding-block:4px}}@media(max-height:600px)and (orientation:landscape){.game-shell{grid-template-rows:38px 28px 62px 18px var(--decision-height,116px) auto;height:auto;min-height:100dvh}.board-stage{align-items:flex-start}.battle-board{width:min(100cqw,100cqh,100dvh - 32px)}}.action-budget>span[data-active=false]{visibility:hidden}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
