:root{color-scheme:dark;font-family:var(--font-ui)}*{box-sizing:border-box}html,body{background:var(--color-bg);height:100%;color:var(--color-text);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}.load-error{inset:auto 0 var(--space-xl);z-index:20;margin:0 var(--space-lg);color:var(--color-text-muted);text-align:center;position:fixed}.load-error .button{margin:var(--space-md) auto 0;display:block}.load-error:not([hidden])~#app{visibility:hidden}#app{position:fixed;inset:0}#globe{touch-action:none;width:100%;height:100%;display:block}[hidden]{display:none!important}:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--border-focus)}.panel{pointer-events:auto;backdrop-filter:blur(var(--blur-glass))}.button{pointer-events:auto;min-height:var(--size-touch);padding:0 var(--space-lg);border:var(--border-hairline) solid var(--color-border);color:var(--color-text);font:var(--weight-medium) var(--text-md) var(--font-ui);cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out), transform var(--dur-quick) var(--ease-out)}.button:active{background:var(--color-selected)}.button:disabled{cursor:default}.button.big{width:100%;min-height:calc(var(--size-touch) + var(--space-xxs))}.segmented{gap:var(--space-xs);padding:var(--space-xs);background:var(--color-surface-inset);grid-template-columns:repeat(3,1fr);display:grid}.segmented.five{grid-template-columns:repeat(5,1fr)}.segmented.tabs{grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column}.segmented.tabs[hidden]{display:none}.segmented[style*=--options]{grid-template-columns:repeat(var(--options), 1fr)}.segmented.two{grid-template-columns:repeat(2,1fr)}.field-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);display:flex}.field-value{color:var(--color-text);font:var(--weight-medium) var(--text-sm) var(--font-ui);font-variant-numeric:tabular-nums}.slider{width:100%;min-height:var(--size-touch);accent-color:var(--color-accent);cursor:pointer;margin:0}.slider-marks{min-height:var(--size-control);margin:0 var(--space-sm);position:relative}.slider-mark{top:0;left:calc(var(--at) * 100%);transform:translateX(calc(var(--at) * -100%));padding:var(--space-xxs) var(--space-xs);color:var(--color-text-muted);font:var(--weight-regular) var(--text-xs) var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer;transition:color var(--dur-quick) var(--ease-out), background-color var(--dur-quick) var(--ease-out);background:0 0;border:0;justify-items:center;display:grid;position:absolute}.slider-mark b{font-weight:var(--weight-bold)}.slider-mark[aria-pressed=true]{color:var(--color-text);background:var(--color-surface-inset)}.segmented button{min-height:var(--size-control);color:var(--color-text);font:var(--weight-medium) var(--text-md) var(--font-ui);cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out);background:0 0}.pill{padding:var(--space-xxs) var(--space-sm);background:var(--color-surface-inset);font-size:var(--text-xs)}.sym{font-size:var(--text-sm);line-height:1}.sheet{z-index:10;background:var(--color-scrim);transition:opacity var(--dur-standard) var(--ease-out), display var(--dur-standard) allow-discrete;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet[hidden]{opacity:0;pointer-events:none}.sheet[hidden] .sheet-panel{translate:0 var(--space-lg)}@starting-style{.sheet:not([hidden]){opacity:0}}.sheet-panel{width:100%;max-width:var(--size-sheet-max);overscroll-behavior:contain;gap:var(--space-md);max-height:100%;padding:var(--space-lg);padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom));animation:rise var(--dur-standard) var(--ease-out);transition:translate var(--dur-standard) var(--ease-out);flex-direction:column;display:flex;overflow-y:auto}@media (width>=600px) and (height>=500px){.sheet{align-items:center}}@keyframes rise{0%{transform:translateY(var(--space-lg));opacity:0}}.sheet-title{font-size:var(--text-lg);margin:0}.field{gap:var(--space-xs);flex-direction:column;display:flex}.label{font-size:var(--text-sm);color:var(--color-text-muted)}.actions{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.code{pointer-events:auto;min-height:var(--size-touch);padding:0 var(--space-xs);color:var(--color-text-muted);font:var(--text-sm) var(--font-mono);cursor:copy;background:0 0;border:0}#app{--me:var(--player-0);--on-me:var(--player-0-on);--color-accent:var(--me);--color-on-accent:var(--on-me);--color-focus:var(--me);--color-selected:color-mix(in srgb, var(--me) 40%, var(--color-surface-strong))}.button.primary.mine,.turn-button.primary{background:var(--me);color:var(--on-me)}.sheet-panel.settings{max-height:100%;overflow:hidden}.settings-head{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.settings-head .sheet-title{flex:1}#app[data-dock]{bottom:50%}#app[data-dock] #settings-sheet{background:0 0;align-items:stretch;position:fixed;inset:50% 0 0}#app[data-dock] #settings-sheet .sheet-panel{max-width:none;max-height:100%;animation:none}@media (width>=900px){#app[data-dock]{right:var(--size-sheet-max);bottom:0}#app[data-dock] #settings-sheet{width:var(--size-sheet-max);inset:0 0 0 auto}}.settings-rows:empty{display:none}.sheet-panel:has(.profile-stats:not([hidden])){max-height:100%;overflow-y:auto}.profile-stats{gap:var(--space-xs);display:grid}.profile-stats[hidden]{display:none}.sheet-panel:has(.profile-stats:not([hidden])) #profile-go{position:sticky;bottom:0}.settings-rows{gap:var(--space-xs);flex:auto;min-height:0;display:grid;overflow-y:auto}.settings-row{align-items:center;gap:0 var(--space-sm);grid-template-columns:1fr auto;display:grid}.settings-row .slider{min-height:var(--size-control);grid-column:1/-1}.settings-row .slider:disabled{opacity:.35}.settings-row .slider:focus-visible{outline-offset:calc(var(--border-focus) * -1)}.settings-group{margin:var(--space-sm) 0 0;color:var(--color-text-muted);font:var(--weight-medium) var(--text-sm) var(--font-ui)}#app[data-mode=draw] .top,#app[data-mode=draw] .hud-bottom,#app[data-mode=draw] #labels,#app[data-mode=draw] #alert{display:none}.draw-panel{z-index:20;gap:var(--space-sm);max-width:var(--size-sheet-max);padding:var(--space-md) var(--space-lg) calc(var(--space-md) + env(safe-area-inset-bottom));background:var(--color-surface);backdrop-filter:blur(var(--blur-glass));box-shadow:var(--elevation-raised);margin:0 auto;display:grid;position:fixed;inset:auto 0 0}.draw-panel[hidden]{display:none}.draw-row{gap:var(--space-sm);grid-template-columns:1fr auto;align-items:center;display:grid}.import-only[hidden],.prebuilt-only[hidden],.copy-only[hidden]{display:none}.dev-tools{gap:var(--space-sm);grid-template-columns:1fr auto;align-items:center;display:grid}.dev-tools[hidden]{display:none}.dev-group{gap:var(--space-xs);display:grid}.dev-group>summary{cursor:pointer;padding:var(--space-xs) 0;list-style:none}.dev-group>summary::-webkit-details-marker{display:none}.dev-group>summary:before{content:"▸ "}.dev-group[open]>summary:before{content:"▾ "}.dev-count{color:var(--color-accent)}.dev-row{grid-template-columns:1fr auto auto}.dev-reset{min-width:var(--size-control);min-height:var(--size-control);border:var(--border-hairline) solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0}.settings-toggle:disabled{cursor:default;border-color:#0000;padding-inline:0}.settings-toggle{padding:var(--space-xxs) var(--space-md);border:var(--border-hairline) solid var(--color-border);color:var(--color-text-muted);font:var(--weight-medium) var(--text-sm) var(--font-ui);cursor:pointer;background:0 0;justify-self:start}.swatches{gap:var(--space-sm);grid-template-columns:repeat(6,1fr);display:grid}.swatch-btn{min-height:var(--size-touch);border:var(--border-hairline) solid var(--color-border);font:var(--weight-bold) var(--text-lg) var(--font-ui);cursor:pointer;transition:transform var(--dur-quick) var(--ease-out)}.swatch-btn[aria-pressed=true]{outline:var(--border-ring) solid var(--color-highlight);outline-offset:var(--border-focus)}.profile-preview{align-items:center;gap:var(--space-md);display:flex}.troop.inline{display:inline-block;position:relative;transform:none}.top{align-items:center;gap:var(--space-sm);padding-top:max(var(--space-sm), env(safe-area-inset-top));padding-left:max(var(--space-md), env(safe-area-inset-left));padding-right:max(var(--space-md), env(safe-area-inset-right));pointer-events:none;display:flex;position:absolute;top:0;left:0;right:0}.topline{align-items:center;gap:var(--space-md);flex:none;display:flex}.hud{gap:var(--space-md);pointer-events:none;padding-left:max(var(--space-lg), env(safe-area-inset-left));padding-right:max(var(--space-lg), env(safe-area-inset-right));display:flex;position:absolute;left:0;right:0}.hud-bottom{padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;bottom:0}@media (width>=900px){.hud-bottom{max-width:var(--size-panel-max);margin:0 auto}}#app.menu-open .top,#app.menu-open .hud-bottom,#app.menu-open .labels,#app.menu-open .alert{visibility:hidden}.logo{pointer-events:auto;align-items:center;gap:var(--space-xs);min-height:var(--size-touch);padding:0 var(--space-sm) 0 var(--space-xxs);color:var(--color-text);font:var(--weight-heavy) var(--text-lg) var(--font-ui);letter-spacing:var(--tracking-logo);text-transform:uppercase;text-shadow:var(--elevation-text);cursor:pointer;background:0 0;border:0;display:inline-flex}.logo:active{opacity:.7}.logo-caret{font-size:var(--text-xs);opacity:.7;letter-spacing:0}.players{gap:var(--space-xs);min-width:0;padding-block:var(--space-xs);margin-block:calc(var(--space-xs) * -1);scrollbar-width:none;pointer-events:auto;flex:1;display:flex;overflow-x:auto}.player{align-items:center;gap:var(--space-xs);min-height:var(--size-chip);padding:var(--space-xs) var(--space-sm);background:var(--color-surface);color:var(--color-text-muted);font:var(--text-sm) var(--font-ui);cursor:pointer;transition:border-color var(--dur-standard) var(--ease-out), opacity var(--dur-standard) var(--ease-out);flex:none;display:flex}.player:active{filter:brightness(1.3)}.player[data-react=lift]{animation:chip-lift var(--dur-react-strong) var(--ease-out)}.player[data-react=pulse]{animation:chip-pulse var(--dur-react-medium) var(--ease-out)}@keyframes chip-lift{35%{translate:0 calc(var(--space-xs) * -1 * var(--ui-react-turn));filter:brightness(calc(1 + .35 * var(--ui-react-turn)))}}@keyframes chip-pulse{40%{filter:brightness(calc(1 + .25 * var(--ui-react-turn)))}}.player.current{color:var(--color-text)}.player.out{opacity:.4;text-decoration:line-through}.player .name{color:var(--color-text)}.player .stats{font-variant-numeric:tabular-nums}.kind{padding:0 var(--space-xs);background:var(--color-surface-inset);font-size:var(--text-xxs)}.card-title{align-items:center;gap:var(--space-sm);display:flex}.card-title .sym{font-size:var(--text-lg)}.card-stats{gap:var(--space-sm) var(--space-lg);font-size:var(--text-md);grid-template-columns:auto 1fr;margin:0;display:grid}.sheet-panel.rules{max-height:92dvh;max-width:var(--size-panel-max)}.rules-body{overscroll-behavior:contain;gap:var(--space-lg);font-size:var(--text-md);line-height:var(--leading-body);color:var(--color-text);display:grid;overflow-y:auto}.rules-body h3{margin:0 0 var(--space-xs);font-size:var(--text-md)}.rules-body p,.rules-body ul,.rules-body ol{margin:0 0 var(--space-sm)}.rules-body ul,.rules-body ol{padding-left:var(--space-lg)}.rules-body li{margin-bottom:var(--space-xxs)}.rules-body p,.rules-body li{color:var(--color-text-muted)}.rules-body b{color:var(--color-text)}.rules-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.rules-table th,.rules-table td{padding:var(--space-xs) var(--space-sm);border-bottom:var(--border-hairline) solid var(--color-border);text-align:left;vertical-align:top}.rules-table th{color:var(--color-text-muted);font-weight:var(--weight-medium)}.actions.single{grid-template-columns:1fr}.actions.three{grid-template-columns:1fr 1fr 1fr}.menu-row{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.sheet-note{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.card-stats dt{color:var(--color-text-muted)}.card-stats dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.sheet-panel.recap{max-height:94dvh;max-width:var(--size-panel-max);overflow:hidden}.recap-body{overscroll-behavior:contain;gap:var(--space-xl);margin:calc(var(--space-lg) * -1) calc(var(--space-lg) * -1) 0;padding:0 var(--space-lg) var(--space-xs);display:grid;overflow-y:auto}.recap-hero{--recap-tone:var(--color-alert-epic);gap:var(--space-xs);margin:0 calc(var(--space-lg) * -1);padding:var(--space-xl) var(--space-lg) var(--space-lg);border-bottom:var(--border-hairline) solid color-mix(in srgb, var(--recap-tone) 40%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--recap-tone) 22%, transparent), transparent);text-align:center;display:grid}.recap-hero.lose{--recap-tone:var(--color-alert-danger)}.recap-hero.over{--recap-tone:var(--color-text-muted);gap:var(--space-md);padding:var(--space-xxl) var(--space-xl) var(--space-xl)}.recap-hero p{margin:0}.recap-kicker:empty{display:none}.recap-kicker{color:var(--recap-tone);font:var(--weight-bold) var(--text-label) var(--font-ui);letter-spacing:var(--tracking-logo);text-transform:uppercase}.recap-title{font:var(--weight-heavy) var(--text-xl) / var(--leading-tight) var(--font-ui);text-shadow:var(--elevation-text-display);margin:0}.recap-sub{color:var(--color-text-muted);font-size:var(--text-sm)}.recap-fate{font-size:var(--text-md)}.recap-hero.over .recap-sub{font-size:var(--text-md);line-height:var(--leading-body);text-wrap:balance}.recap-hero.over .recap-fate{margin-top:var(--space-sm);font:var(--weight-heavy) var(--text-xl) / var(--leading-tight) var(--font-ui)}.recap-section{gap:var(--space-sm);display:grid}.recap-h{font:var(--weight-bold) var(--text-xs) var(--font-ui);margin:0}.recap-stats{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=600px){.recap-stats{grid-template-columns:repeat(3,1fr)}}.recap-stat{align-content:start;gap:var(--space-xxs);padding:var(--space-sm);border:var(--border-hairline) solid var(--color-border);background:var(--color-surface-inset);display:grid}.recap-num{font:var(--weight-heavy) var(--text-xl) / var(--leading-tight) var(--font-ui);font-variant-numeric:tabular-nums}.recap-num small{font-size:var(--text-md);color:var(--color-text-muted)}.recap-label{color:var(--color-text-muted);font-size:var(--text-xs)}.recap-cards{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.recap-chart-head{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.segmented.recap-metric{grid-template-columns:repeat(4,auto)}.segmented.recap-metric button{min-height:var(--size-chip);padding:0 var(--space-sm);font-size:var(--text-sm)}.recap-readout{min-height:var(--leading-label);color:var(--color-text);font:var(--weight-medium) var(--text-sm) / var(--leading-label) var(--font-ui);font-variant-numeric:tabular-nums;margin:0}.recap-chart{touch-action:pan-y;cursor:crosshair}.recap-svg{width:100%;height:auto;display:block;overflow:visible}.recap-svg .grid{stroke:var(--color-border);stroke-width:var(--border-hairline)}.recap-svg .axis{fill:var(--color-text-muted);font:var(--text-xxs) var(--font-ui)}.recap-svg .line{fill:none;stroke-width:var(--border-focus);stroke-linejoin:round;stroke-linecap:round}.recap-svg .line.me{stroke-width:var(--border-accent)}.recap-svg .end{font:var(--weight-heavy) var(--text-sm) var(--font-ui);paint-order:stroke;stroke:var(--color-surface-strong);stroke-width:var(--border-accent)}.recap-svg .end.out{opacity:.6}.recap-svg .cross{stroke:var(--color-text-muted);stroke-width:var(--border-hairline);stroke-dasharray:var(--space-xs) var(--space-xs)}.recap-legend{gap:var(--space-xs) var(--space-md);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.recap-key,.recap-who{align-items:center;gap:var(--space-xs);display:inline-flex}.recap-swatch{width:var(--size-counter);height:var(--size-counter);font-size:var(--text-xs);place-items:center;line-height:1;display:inline-grid}.recap-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.recap-table th,.recap-table td{padding:var(--space-sm) var(--space-xs);border-bottom:var(--border-hairline) solid var(--color-border);text-align:left;vertical-align:middle}.recap-table th{color:var(--color-text-muted);font-weight:var(--weight-medium);font-size:var(--text-xs)}.recap-table .num{text-align:right;font-variant-numeric:tabular-nums}.recap-table small{color:var(--color-text-muted);font-size:var(--text-xs);display:block}.recap-who{flex-wrap:wrap}.recap-who small{padding-left:calc(var(--size-counter) + var(--space-xs));flex-basis:100%}.recap-table tr.me td{background:var(--color-surface-inset);font-weight:var(--weight-bold)}.recap-actions{grid-template-columns:1fr 1fr}.recap-actions:has(#recap-watch:not([hidden])){grid-template-columns:1fr 1fr 1fr}.select{min-height:var(--size-touch);padding:0 var(--space-md);border:var(--border-hairline) solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:var(--weight-medium) var(--text-lg) var(--font-ui);cursor:pointer}.seed-row{gap:var(--space-sm);display:flex}.seed-row input,.text-input{min-width:0;min-height:var(--size-touch);padding:0 var(--space-md);border:var(--border-hairline) solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:var(--text-lg) var(--font-mono);-webkit-user-select:text;user-select:text;flex:1}.text-input{width:100%;font-family:var(--font-ui)}.code-preview{min-height:1.4em;color:var(--color-text-muted);font:var(--text-sm) var(--font-mono)}.menu{z-index:9;padding:max(var(--space-xl), env(safe-area-inset-top)) var(--space-lg) max(var(--space-lg), env(safe-area-inset-bottom));background:linear-gradient(to bottom, var(--color-scrim), transparent 22%, transparent 55%, var(--color-scrim));overscroll-behavior:contain;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.menu-head{text-align:center;pointer-events:none}.menu-logo{font:var(--weight-heavy) var(--text-display) var(--font-ui);letter-spacing:var(--tracking-logo);text-transform:uppercase;text-shadow:var(--elevation-text-display);margin:0}.menu-tag{margin:var(--space-xxs) 0 0;color:var(--color-text-muted);font-size:var(--text-sm);text-shadow:var(--elevation-text-soft)}.menu-panel{width:100%;max-width:var(--size-menu-max);gap:var(--space-sm);padding:var(--space-md);box-shadow:var(--elevation-overlay);backdrop-filter:blur(var(--blur-glass-strong));flex-direction:column;display:flex}.menu-game{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:0 var(--space-xs);display:flex}.menu-info{color:var(--color-text-muted);font-size:var(--text-sm)}@media (width>=900px){.menu{justify-content:center;align-items:flex-start;gap:var(--space-xxl);padding-left:calc(var(--space-xxl) * 1.75);background:linear-gradient(to right, var(--color-scrim), transparent 45%)}.menu-head{text-align:left}}@media (height<=500px) and (orientation:landscape){.menu{justify-content:center;align-items:safe center;gap:var(--space-xl);padding-top:var(--space-md);padding-left:max(var(--space-lg), env(safe-area-inset-left));padding-right:max(var(--space-lg), env(safe-area-inset-right));flex-direction:row}.menu-head{text-align:left}}.battle{gap:var(--space-xxs);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);flex-direction:column;display:flex}.battle-toggle{align-items:center;gap:var(--space-sm);min-height:var(--size-touch);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.battle-caret{color:var(--color-text-muted);margin-left:auto}.battle-caret:before{content:"▴ Details"}.battle-toggle[aria-expanded=true] .battle-caret:before{content:"▾ Hide"}.factor.atk{color:var(--color-positive)}.factor.def{color:var(--color-negative)}.battle-chance{font-weight:var(--weight-bold);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.factors{gap:var(--space-xs);flex-wrap:wrap;display:flex}.factor{padding:var(--space-xxs) var(--space-sm);background:var(--color-surface-inset);font-size:var(--text-label)}.draft{pointer-events:auto}.draft-cards{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.common{--tier:var(--color-tier-common)}.uncommon{--tier:var(--color-tier-uncommon)}.rare{--tier:var(--color-tier-rare)}.epic{--tier:var(--color-tier-epic)}.legendary{--tier:var(--color-tier-legendary)}.tier{color:var(--tier);font-weight:var(--weight-bold)}.tcard{aspect-ratio:5/7;gap:var(--space-xxs);min-width:0;padding:calc(var(--space-xs) * 1.5);border:var(--border-ring) solid var(--tier);background:var(--color-surface-strong);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:transform var(--dur-quick) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (hover:hover){button.tcard:hover{transform:translateY(calc(var(--space-xxs) * -1))}}.draft-cards .tcard{transition:transform var(--dur-quick) var(--ease-out), translate var(--dur-quick) var(--ease-out), rotate var(--dur-quick) var(--ease-out);animation:card-deal var(--dur-card-deal) var(--ease-out) backwards}.draft-cards .tcard:nth-child(2){animation-delay:var(--dur-card-gap)}.draft-cards .tcard:nth-child(3){animation-delay:calc(var(--dur-card-gap) * 2)}.draft-cards .tcard:active{translate:0 calc(var(--space-xs) * -1 * var(--ui-react-build));rotate:calc(-1.5deg * var(--ui-react-build))}@keyframes card-deal{0%{translate:0 calc(var(--space-xl) * var(--ui-react-build));rotate:calc(3deg * var(--ui-react-build));opacity:0}}.card-flight,.card-fall{z-index:4;pointer-events:none;margin:0;position:absolute}.card-flight{animation:card-keep var(--dur-card-keep) var(--ease-in-out) forwards}.card-fall{animation:card-fall var(--dur-card-deal) var(--ease-out) forwards}.card-gold:after{content:"";background:linear-gradient(100deg, transparent 30%, var(--color-tier-legendary) 50%, transparent 70%);animation:card-gold var(--dur-card-keep) var(--ease-out) forwards;position:absolute;inset:0}@keyframes card-keep{18%{filter:brightness(1.8);scale:.04 1}36%{opacity:1;filter:brightness(1.2);translate:0;scale:1.06}to{scale:.1;translate:var(--fly-x) var(--fly-y);opacity:.2;filter:brightness()}}@keyframes card-fall{to{translate:0 var(--space-xl);opacity:0}}@keyframes card-gold{0%{translate:-100%}60%,to{translate:100%}}div.tcard{cursor:default}.cards-grid{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tcard:focus-visible{outline:var(--border-ring) solid var(--color-focus);outline-offset:var(--border-hairline)}.tcard-name{white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-xs);line-height:var(--leading-tight);overflow:hidden}.tcard-art{aspect-ratio:11/8;border:var(--border-hairline) solid var(--color-border);background:var(--color-surface-inset);font-size:var(--text-xl);flex:none;place-items:center;display:grid;position:relative}.tcard-serial{left:var(--space-xxs);bottom:var(--space-xxs);font-size:var(--text-xxs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;line-height:1;position:absolute}.tcard-type{text-transform:uppercase;letter-spacing:var(--tracking-caps)}.tcard-text{min-height:0;font-size:var(--text-xxs);line-height:var(--leading-tight);flex:1 1 0}.tcard-held{right:calc(var(--space-xs) * 1.5);bottom:calc(var(--space-md) + var(--space-xs));padding:0 var(--space-xs);border:var(--border-hairline) solid var(--color-border);background:var(--color-selected);font-size:var(--text-xxs);font-weight:var(--weight-bold);position:absolute}.tcard-foot{justify-content:space-between;gap:var(--space-xs);font-size:var(--text-xxs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;line-height:1;display:flex}.cards{gap:var(--space-xs) var(--space-sm);grid-template-rows:auto auto;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.card-col{grid-row:span 2;grid-template-rows:subgrid;display:grid}.card-col>.info{grid-row:2}.factor-stack{align-self:end;align-items:flex-start;gap:var(--space-xxs);flex-direction:column;grid-row:1;display:flex}.card-col.to .factor-stack{align-items:flex-end}.factor-stack:empty{display:none}.factor-stack .factor{background:var(--color-surface);backdrop-filter:blur(var(--blur-glass))}.factor-stack .factor.total{background:var(--color-surface-strong);font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.info{gap:var(--space-xs);padding:var(--space-md);font-size:var(--text-sm);flex-direction:column;display:flex}.info-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.info-name{font-size:var(--text-lg);font-weight:var(--weight-bold)}.info-owner{color:var(--color-text-muted);text-align:right}.battle-losses{color:var(--color-text-muted);font-size:var(--text-sm)}.turnbar-main #btn-attack{min-width:0;width:var(--size-turn-button);flex-shrink:1;margin-left:auto}.segmented.amount{grid-template-columns:repeat(4, var(--size-touch));padding:var(--space-xxs);flex:none;display:inline-grid}.segmented.mode{padding:var(--space-xxs);grid-template-columns:1fr 1fr;margin-left:auto;display:inline-grid}.segmented.mode button{padding:0 var(--space-md)}.segmented button:disabled{color:var(--color-text-muted);cursor:default}.build{padding:var(--space-sm)}.build-list{gap:var(--space-xs);flex-direction:column;display:flex}.build-item{align-items:center;gap:var(--space-sm);min-height:var(--size-touch);padding:var(--space-sm);border:var(--border-hairline) solid var(--color-border-strong);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;display:flex}@media (hover:hover){.build-item.ready:hover{border-color:var(--color-accent)}}.build-item:focus-visible{outline:var(--border-ring) solid var(--color-focus)}.build-item:disabled{cursor:default}.build-item:disabled .build-icon,.build-item:disabled b{color:var(--color-text-muted)}.build-icon{width:var(--size-touch);text-align:center;font-size:var(--text-xl);flex:none}.build-body{flex-direction:column;flex:1;min-width:0;display:flex}.build-text{font-size:var(--text-sm);color:var(--color-text-muted)}.build-cost{font-size:var(--text-sm);font-weight:var(--weight-bold);flex:none}.build-item.ready .build-cost{color:var(--color-negative)}.build-item.armed .build-cost{color:var(--color-text)}.build-item.armed{position:relative;overflow:hidden}.build-item.armed:before{content:"";background:var(--me);opacity:0;transform-origin:0;pointer-events:none;animation:build-fill var(--dur-react-strong) var(--ease-out);position:absolute;inset:0}.build-item.armed:after{content:"";height:var(--border-accent);background:var(--me);transform-origin:0;pointer-events:none;animation:build-countdown var(--dur-build-confirm) linear forwards;position:absolute;bottom:0;left:0;right:0}@keyframes build-fill{0%{opacity:calc(.5 * var(--ui-react-build));transform:scaleX(0)}to{opacity:0;transform:scaleX(1)}}@keyframes build-countdown{to{transform:scaleX(0)}}.build-cost[data-react=refuse]{animation:react-refuse var(--dur-react-refuse) linear;display:inline-block}.build-item.blocked .build-cost{color:var(--color-text-muted);font-weight:var(--weight-regular)}.turnbar{gap:var(--space-sm);padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);border-top:var(--border-accent) solid var(--player);box-shadow:var(--elevation-raised);transition:border-color var(--dur-standard) var(--ease-out);flex-direction:column;display:flex;position:relative}.turn-sweep{pointer-events:none;position:absolute;inset:0;overflow:hidden}.turn-sweep[data-react=sweep]:before{content:"";background:linear-gradient(100deg, transparent 20%, var(--me) 50%, transparent 80%);opacity:calc(.45 * var(--ui-react-turn));animation:turn-sweep var(--dur-turn-sweep) var(--ease-out);position:absolute;inset:0}@keyframes turn-sweep{0%{translate:-100%}to{translate:100%}}.turnbar-head{align-items:center;gap:var(--space-sm);display:flex}.round{color:var(--color-text-muted);font:var(--weight-bold) var(--text-label) var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;font-variant-numeric:tabular-nums}.steps{font:var(--weight-bold) var(--text-xs) var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;align-items:center;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.steps li{padding:var(--space-xxs) var(--space-sm);color:var(--color-text-muted);transition:background-color var(--dur-standard) var(--ease-out), color var(--dur-standard) var(--ease-out);position:relative}.steps li+li:before{content:"›";color:var(--color-text-muted);position:absolute}.turnbar[data-phase=reinforce] [data-step=reinforce],.turnbar[data-phase=attack] [data-step=attack],.turnbar[data-phase=move] [data-step=move]{background:var(--player);color:var(--on-player)}.turnbar[data-phase=over] .steps,.turnbar[data-phase=capital] .steps{display:none}.turnbar-main{align-items:center;gap:var(--space-sm);display:flex}.instruction{min-width:0;font:var(--weight-medium) var(--text-lg) / var(--leading-tight) var(--font-ui);flex:1}.turn-button{min-width:var(--size-turn-button);flex:none;align-self:flex-end}.turn-button.speed{font-variant-numeric:tabular-nums}.turnbar-tools{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.status{flex:1 1 var(--size-status-min);min-width:0;color:var(--color-text-muted);font-size:var(--text-sm)}.status:empty{display:none}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.troop{white-space:nowrap;will-change:transform;opacity:var(--fade,1);font:var(--weight-bold) var(--text-label) / var(--leading-label) var(--font-ui);font-variant-numeric:tabular-nums;position:absolute;top:0;left:0}.troop.pole{width:var(--size-pole);height:var(--size-pole);background:var(--color-surface-strong);color:var(--color-text);font:var(--weight-heavy) var(--text-xxs) / 1 var(--font-ui);letter-spacing:0;box-shadow:var(--elevation-text);pointer-events:none;place-items:center;display:grid}.troop.neutral{--plate:var(--size-neutral);min-width:var(--plate);height:var(--plate);padding:0 var(--space-xxs);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface-strong) calc(var(--ui-neutral-plate) * 100%), transparent);color:var(--color-text);font-size:calc(var(--text-label) * var(--ui-neutral-text));text-align:center;line-height:var(--plate)}.troop.counter{--box:var(--size-counter);min-width:var(--box);height:var(--box);padding:0 var(--space-xs);font-size:calc(var(--text-label) * var(--ui-counter-text));text-align:center;line-height:calc(var(--box) - 2 * var(--border-hairline))}.troop.acted{opacity:calc(var(--fade,1) * .5)}.troop.dim{opacity:calc(var(--fade,1) * .45)}.troop.port{--mark-port:url(icons/port.svg);--has-port:1}.troop.fort{--mark-fort:url(icons/fort.svg);--has-fort:1}.troop.camp{--mark-camp:url(icons/camp.svg);--has-camp:1}.troop.port:after,.troop.fort:after,.troop.camp:after{content:"";margin-left:var(--space-xxs);width:calc(var(--text-sm) * (var(--has-port,0) + var(--has-fort,0) + var(--has-camp,0)));height:var(--text-sm);background-image:var(--mark-port,none), var(--mark-fort,none), var(--mark-camp,none);background-size:var(--text-sm) var(--text-sm);background-repeat:no-repeat;background-position:0 0, calc(var(--text-sm) * var(--has-port,0)) 0, calc(var(--text-sm) * (var(--has-port,0) + var(--has-fort,0))) 0;filter:brightness(0)invert();position:absolute;top:50%;left:100%;translate:0 -50%}.troop.counter.capital{font-size:calc(var(--text-sm) * var(--ui-counter-text))}.troop.ready{outline:var(--border-hairline) solid var(--color-highlight);outline-offset:var(--border-hairline)}.troop.target{outline:var(--border-ring) dashed var(--color-highlight);outline-offset:var(--border-hairline)}.troop.target.preview{outline-style:solid}.arrows{pointer-events:none;width:100%;height:100%;filter:drop-shadow(var(--elevation-arrow));position:absolute;inset:0;overflow:visible}.arrows path{fill:none;stroke:currentColor;stroke-width:var(--size-arrow-stroke);stroke-linecap:round;stroke-linejoin:round}.arrows polygon{fill:currentColor}.arrows path.wake{stroke-width:var(--border-focus);stroke-dasharray:var(--space-xs) var(--space-xs)}.arrows .boat path{fill:currentColor;stroke:var(--color-line-ink);stroke-width:var(--border-hairline);stroke-linejoin:round}.arrows .boat .boat-sail{fill:var(--color-highlight)}.arrows .cross path{stroke:var(--color-loss-cross);stroke-width:var(--size-arrow-stroke);stroke-linecap:butt}.arrows .push circle{fill:currentColor;stroke:var(--color-line-ink);stroke-width:var(--border-focus)}.alert{--alert-tone:var(--color-alert-info);top:calc(max(var(--space-sm), env(safe-area-inset-top)) + var(--size-touch) + var(--space-sm));z-index:5;width:min(calc(100% - var(--space-xl)), var(--size-sheet-max));align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-lg);border:var(--border-hairline) solid var(--color-border);background:var(--color-surface-strong);color:var(--color-text);box-shadow:var(--elevation-alert);opacity:0;pointer-events:none;cursor:pointer;display:flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%,-100%)}.alert:before{content:"";width:var(--border-accent);background:var(--alert-tone);position:absolute;top:0;bottom:0;left:0}.alert.show{pointer-events:auto;animation:alert-life var(--alert-life,var(--dur-alert-info)) var(--ease-out) forwards}.alert-icon{width:var(--size-chip);height:var(--size-chip);background:color-mix(in srgb, var(--alert-tone) 18%, transparent);box-shadow:inset 0 0 0 var(--border-hairline) color-mix(in srgb, var(--alert-tone) 45%, transparent);color:var(--alert-tone);font-size:var(--text-lg);flex:none;place-items:center;line-height:1;display:grid}.alert-body{gap:var(--space-xxs);flex-direction:column;flex:1;min-width:0;display:flex}.alert-kicker{color:var(--alert-tone);font:var(--weight-bold) var(--text-xxs) var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase}.alert-text{font:var(--weight-heavy) var(--text-md) var(--font-ui);line-height:var(--leading-tight)}.alert-more{padding:var(--space-xxs) var(--space-sm);background:var(--color-surface-inset);color:var(--color-text-muted);font:var(--weight-bold) var(--text-xs) var(--font-ui);flex:none}.alert-timer{height:var(--border-focus);background:var(--alert-tone);opacity:.55;transform-origin:0;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.alert.show .alert-timer{animation:alert-timer var(--alert-life,var(--dur-alert-info)) linear forwards}.alert.alert-good{--alert-tone:var(--color-alert-good)}.alert.alert-warn{--alert-tone:var(--color-alert-warn)}.alert.alert-danger{--alert-tone:var(--color-alert-danger)}.alert.alert-epic{--alert-tone:var(--color-alert-epic)}.alert.alert-good.show .alert-icon{animation:alert-pop var(--dur-move) var(--ease-emphasis) var(--dur-standard) both}.alert.alert-warn{border-color:color-mix(in srgb, var(--alert-tone) 45%, transparent)}.alert.alert-warn.show .alert-icon{animation:alert-shake var(--dur-battle) var(--ease-out) var(--dur-standard) 2 both}.alert.alert-danger,.alert.alert-epic{border-color:color-mix(in srgb, var(--alert-tone) 60%, transparent);background:color-mix(in srgb, var(--alert-tone) 16%, var(--color-surface-strong))}.alert.alert-danger.show{animation:alert-life var(--alert-life,var(--dur-alert-danger)) var(--ease-out) forwards, alert-ring var(--dur-alert-pulse) var(--ease-out) var(--dur-standard) 3}.alert.alert-danger.show .alert-icon{animation:alert-shake var(--dur-battle) var(--ease-out) var(--dur-standard) 3 both}.alert.alert-epic:after{content:"";background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--alert-tone) 35%, transparent) 50%, transparent 70%);pointer-events:none;position:absolute;inset:0;transform:translate(-100%)}.alert.alert-epic.show:after{animation:alert-shimmer var(--dur-alert-shimmer) var(--ease-in-out) var(--dur-standard) 2}.alert.alert-epic.show .alert-icon{animation:alert-pop var(--dur-move) var(--ease-emphasis) var(--dur-standard) both}@keyframes alert-life{0%{opacity:0;transform:translate(-50%,-100%)scale(.96)}9%{opacity:1;transform:translate(-50%)scale(1)}92%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-40%)scale(.98)}}@keyframes alert-timer{0%,9%{transform:scaleX(1)}92%,to{transform:scaleX(0)}}@keyframes alert-pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes alert-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(4deg)}}@keyframes alert-ring{0%{box-shadow:var(--elevation-alert), 0 0 0 0 color-mix(in srgb, var(--alert-tone) 60%, transparent)}to{box-shadow:var(--elevation-alert), 0 0 0 var(--space-md) transparent}}@keyframes alert-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}:root[data-motion=reduced] .alert.show,:root[data-motion=reduced] .alert.alert-danger.show{animation:alert-fade var(--alert-life,var(--dur-alert-info)) linear forwards}:root[data-motion=reduced] .alert.show .alert-icon,:root[data-motion=reduced] .alert.alert-epic.show:after{animation:none}@keyframes alert-fade{0%{opacity:0;transform:translate(-50%)}5%,92%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@font-face{font-family:Rajdhani;src:url(fonts/Rajdhani-Medium.woff2)format("woff2");font-weight:400 500;font-display:swap;size-adjust:112%}@font-face{font-family:Rajdhani;src:url(fonts/Rajdhani-SemiBold.woff2)format("woff2");font-weight:600;font-display:swap;size-adjust:112%}@font-face{font-family:Rajdhani;src:url(fonts/Rajdhani-Bold.woff2)format("woff2");font-weight:700 800;font-display:swap;size-adjust:112%}#app{--edge-colour:color-mix(in srgb, var(--me) calc(var(--ui-edge) * 100%), var(--color-text));--color-border:color-mix(in srgb, var(--edge-colour) 26%, transparent);--color-border-strong:color-mix(in srgb, var(--edge-colour) 85%, transparent);--color-surface-inset:color-mix(in srgb, var(--edge-colour) 6%, transparent);--color-selected:color-mix(in srgb, var(--me) calc(var(--ui-selected) * 100%), var(--color-surface-strong));--chosen-corners:0 0 var(--size-smooth) 0;--action:color-mix(in srgb, var(--me) calc(var(--ui-action) * 100%), var(--color-surface-strong));--hatch:repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-negative) 16%, transparent) 0 var(--border-accent), transparent var(--border-accent) calc(var(--border-accent) * 2))}.panel,.sheet-panel,.menu-panel,.button,.build-item{--mark:color-mix(in srgb, var(--color-border-strong) calc(var(--ui-marks) * 100%), transparent);--ink:linear-gradient(var(--mark), var(--mark));--long:var(--space-md);--thick:calc(var(--border-hairline) * 1.5);--top-marks:var(--ink) left top / var(--long) var(--thick) no-repeat, var(--ink) left top / var(--thick) var(--long) no-repeat, var(--ink) right top / var(--long) var(--thick) no-repeat, var(--ink) right top / var(--thick) var(--long) no-repeat;--bottom-left-mark:var(--ink) left bottom / var(--long) var(--thick) no-repeat, var(--ink) left bottom / var(--thick) var(--long) no-repeat;--bottom-marks:var(--bottom-left-mark), var(--ink) right bottom / var(--long) var(--thick) no-repeat, var(--ink) right bottom / var(--thick) var(--long) no-repeat;--three-marks:var(--top-marks), var(--bottom-left-mark);--four-marks:var(--top-marks), var(--bottom-marks);background-origin:border-box}.panel,.sheet-panel,.menu-panel,.tcard,.recap-stat,.build-item,.text-input,.seed-row input,.select,.pill,.factor,.kind,.swatch-btn,.steps li,.segmented{border-radius:0}.panel,.sheet-panel,.menu-panel{border:var(--border-hairline) solid var(--color-border);background:var(--four-marks), var(--color-surface-strong)}.panel{background:var(--four-marks), var(--color-surface)}.turnbar{border-top-width:var(--border-hairline)}.hud-bottom .panel:not(.turnbar){background:var(--top-marks), var(--color-surface)}.hud-bottom:has(.card-col:not([hidden])) #build,.hud-bottom:has(.card-col:not([hidden])) #battle{background:var(--color-surface)}.hud-bottom:has(.card-col:not([hidden]),#build:not([hidden]),#battle:not([hidden])) .turnbar{background:var(--bottom-marks), var(--color-surface)}.sheet-title{padding-bottom:var(--space-sm);border-bottom:var(--border-hairline) solid var(--color-border);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.rules-body h3,.recap-h{padding:var(--space-xs) var(--space-sm);border:var(--border-hairline) solid var(--color-border);background:repeating-linear-gradient(135deg, var(--color-surface-inset) 0 var(--border-accent), transparent var(--border-accent) calc(var(--border-accent) * 2));color:var(--color-text);letter-spacing:var(--tracking-caps);text-transform:uppercase}.label{font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase}.button{border-color:var(--color-border);background:var(--four-marks), var(--color-surface);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);border-radius:0}.button:disabled{background:var(--hatch);color:var(--color-text-muted);opacity:1;border-color:#0000}.button.primary,.button.primary.mine,.turn-button.primary{--mark:color-mix(in srgb, color-mix(in srgb, var(--me) 60%, var(--color-text)) calc(var(--ui-marks-mine) * 100%), transparent);border-color:color-mix(in srgb, var(--me) 70%, transparent);border-radius:var(--chosen-corners);background:var(--three-marks), var(--action);color:var(--color-text)}.segmented button{border:var(--border-hairline) solid transparent;font-weight:var(--weight-bold);border-radius:0}.segmented button[aria-pressed=true],.settings-toggle[aria-pressed=true],.build-item.armed{border-color:var(--me);border-radius:var(--chosen-corners);background:var(--color-selected);box-shadow:none;color:var(--color-text)}.settings-toggle{font-weight:var(--weight-bold);border-radius:0}.steps{gap:var(--space-lg)}.steps li{letter-spacing:var(--tracking-caps)}.steps li+li:before{left:calc(var(--space-lg) * -.7)}.turnbar[data-phase=reinforce] [data-step=reinforce],.turnbar[data-phase=attack] [data-step=attack],.turnbar[data-phase=move] [data-step=move]{border-radius:var(--chosen-corners);background:color-mix(in srgb, var(--player) calc(var(--ui-action) * 100%), var(--color-surface-strong));color:var(--color-text)}.swatch-btn[aria-pressed=true]{border-radius:var(--chosen-corners);transform:none}.player{border:var(--border-hairline) solid var(--color-border);font-weight:var(--weight-medium);border-radius:0}.player .name{font-weight:var(--weight-bold)}.player.current{border-color:var(--color-border-strong);border-radius:var(--chosen-corners)}.logo,.menu-logo{font-family:var(--font-ui);font-weight:var(--weight-bold)}@property --pop{syntax:"<number>";inherits:false;initial-value:1}.troop{transition:--pop var(--dur-quick) var(--ease-out)}.troop.source{--pop:1.12}.troop[data-react=light]{animation:react-light var(--dur-react-light) var(--ease-out)}.troop[data-react=medium]{animation:react-medium var(--dur-react-medium) var(--ease-out)}.troop[data-react=strong]{animation:react-strong var(--dur-react-strong) var(--ease-out)}.troop[data-react=bump]{animation:react-bump var(--dur-react-light) var(--ease-out)}.troop[data-react=ripple]{animation:react-light var(--dur-react-medium) var(--ease-out) var(--delay)}.troop[data-react=refuse],button[data-react=refuse]{animation:react-refuse var(--dur-react-refuse) linear}.steps li[data-react=slide]{animation:step-slide var(--dur-react-medium) var(--ease-out)}@keyframes step-slide{0%{translate:calc(var(--space-lg) * -1 * var(--ui-react-turn)) 0;opacity:calc(1 - .6 * var(--ui-react-turn))}}.steps li[data-react=strong]{scale:var(--pop);animation:react-strong var(--dur-react-strong) var(--ease-out)}@keyframes react-light{50%{--pop:calc(1 + .14 * var(--ui-react-tap))}}@keyframes react-medium{0%{--pop:calc(1 - .1 * var(--ui-react-tap))}50%{--pop:calc(1 + .26 * var(--ui-react-tap))}}@keyframes react-strong{0%{--pop:calc(1 - .15 * var(--ui-react-tap))}45%{--pop:calc(1 + .42 * var(--ui-react-tap));filter:brightness(1.4)}}@keyframes react-bump{40%{translate:0 calc((var(--space-xs) * -1 - var(--space-xxs) * .25 * var(--taps,0)) * var(--ui-react-tap));filter:brightness(1.15)}}.troop[data-react=capture]{animation:react-capture var(--dur-react-strong) var(--ease-out)}.troop[data-react=overwhelm]{animation:react-overwhelm var(--dur-react-strong) var(--ease-out)}.troop[data-react=drop]{animation:react-drop var(--dur-react-medium) var(--ease-out)}.troop[data-react=hold]{animation:react-hold var(--dur-react-shake) linear}.troop[data-react=stamp]{animation:react-stamp var(--dur-react-strong) var(--ease-out)}.troop[data-react=flare]{animation:react-flare var(--dur-react-strong) var(--ease-out)}@keyframes react-stamp{25%{--pop:calc(1 - .18 * var(--ui-react-build))}55%{--pop:calc(1 + .2 * var(--ui-react-build))}}@keyframes react-flare{40%{filter:brightness(calc(1 + .6 * var(--ui-react-build)))}}@keyframes react-capture{0%{--pop:calc(1 - .45 * var(--ui-react-battle))}45%{--pop:calc(1 + (.32 + .05 * var(--taps,0)) * var(--ui-react-battle));filter:brightness(1.4)}}@keyframes react-overwhelm{0%{--pop:calc(1 - .6 * var(--ui-react-battle))}40%{--pop:calc(1 + (.55 + .06 * var(--taps,0)) * var(--ui-react-battle));filter:brightness(1.6)}}@keyframes react-drop{35%{translate:0 calc(var(--space-xs) * var(--ui-react-battle));filter:brightness(.7)}}@keyframes react-hold{15%{translate:calc(var(--space-xxs) * -1 * var(--ui-react-battle)) 0}35%{translate:calc(var(--space-xxs) * var(--ui-react-battle)) 0}55%{translate:calc(var(--space-xxs) * -1 * var(--ui-react-battle)) 0}75%{translate:calc(var(--space-xxs) * var(--ui-react-battle)) 0}}#globe[data-react=kick],#labels[data-react=kick],#arrows[data-react=kick]{animation:globe-kick var(--dur-react-kick) var(--ease-out)}#globe[data-react=shake],#labels[data-react=shake],#arrows[data-react=shake]{animation:globe-shake var(--dur-react-shake) linear}@keyframes globe-kick{30%{translate:var(--kick-x) var(--kick-y)}65%{translate:calc(var(--kick-x) * -.3) calc(var(--kick-y) * -.3)}}@keyframes globe-shake{12%{translate:var(--kick-x) var(--kick-y)}28%{translate:calc(var(--kick-x) * -.8) calc(var(--kick-y) * -.8)}44%{translate:calc(var(--kick-y) * .6) calc(var(--kick-x) * .6)}60%{translate:calc(var(--kick-y) * -.4) calc(var(--kick-x) * -.4)}76%{translate:calc(var(--kick-x) * .2) calc(var(--kick-y) * .2)}}@keyframes react-refuse{20%{translate:calc(var(--space-xs) * -1) 0}45%{translate:var(--space-xs) 0}70%{translate:calc(var(--space-xxs) * -1) 0}85%{translate:var(--space-xxs) 0}}.float-number{z-index:3;pointer-events:none;color:var(--color-text);font:var(--weight-bold) var(--text-md) var(--font-ui);text-shadow:var(--elevation-text);animation:float-up var(--dur-float-number) var(--ease-out) forwards;position:absolute}.float-number.big{font-size:var(--text-xl)}.build-moment{z-index:3;pointer-events:none;color:var(--color-text);font-size:var(--text-xl);animation:build-flare var(--dur-build-moment) var(--ease-out) forwards;position:absolute;translate:-50%}.build-moment.port{animation-name:build-drop}.build-moment.fort{animation-name:build-stamp}.build-moment.port:after{content:"";border:var(--border-ring) solid var(--me);animation:build-ripple var(--dur-build-moment) var(--ease-out) forwards;border-radius:50%;position:absolute;inset:0}@keyframes build-drop{0%{translate:-50% calc(var(--space-xl) * -1.5 * var(--ui-react-build));opacity:0}45%{opacity:1;translate:-50%}to{opacity:0;translate:-50%}}@keyframes build-ripple{0%,45%{opacity:0;scale:.6}50%{opacity:1}to{scale:calc(1 + 2.4 * var(--ui-react-build));opacity:0}}@keyframes build-stamp{0%{scale:calc(1 + 1.2 * var(--ui-react-build));opacity:0}30%{opacity:1;scale:1}to{opacity:0;scale:1}}@keyframes build-flare{0%{opacity:0;scale:.4}35%{scale:calc(1 + .35 * var(--ui-react-build));opacity:1;filter:brightness(1.6)}to{scale:1;translate:-50% calc(var(--space-md) * -1);opacity:0}}.field-value[data-react=tick],.settings-toggle[data-react=snap]{animation:react-tick var(--dur-react-light) var(--ease-out)}@keyframes react-tick{50%{scale:calc(1 + .12 * var(--ui-react-tap))}}#globe[data-react=stop-in],#labels[data-react=stop-in],#arrows[data-react=stop-in]{animation:globe-stop-in var(--dur-react-medium) var(--ease-out)}#globe[data-react=stop-out],#labels[data-react=stop-out],#arrows[data-react=stop-out]{animation:globe-stop-out var(--dur-react-medium) var(--ease-out)}@keyframes globe-stop-in{40%{scale:calc(1 + .02 * var(--ui-react-tap))}}@keyframes globe-stop-out{40%{scale:calc(1 - .02 * var(--ui-react-tap))}}.float-number.down{animation-name:float-down}@keyframes float-up{0%{opacity:1;translate:-50%}to{translate:-50% calc(var(--space-xl) * -1.5);opacity:0}}@keyframes float-down{0%{translate:-50% calc(var(--space-xl) * -1);opacity:1}to{opacity:0;translate:-50%}}:root[data-motion=reduced] .troop[data-react],:root[data-motion=reduced] button[data-react],:root[data-motion=reduced] #globe[data-react],:root[data-motion=reduced] #labels[data-react],:root[data-motion=reduced] #arrows[data-react],:root[data-motion=reduced] .player[data-react],:root[data-motion=reduced] .steps li[data-react],:root[data-motion=reduced] .build-cost[data-react],:root[data-motion=reduced] .field-value[data-react],:root[data-motion=reduced] .settings-toggle[data-react],:root[data-motion=reduced] .draft-cards .tcard,:root[data-motion=reduced] .build-item.armed:before,:root[data-motion=reduced] .build-item.armed:after{animation:none}:root[data-motion=reduced] .sheet,:root[data-motion=reduced] .sheet-panel{transition:none}:root[data-motion=reduced] .turn-sweep[data-react]:before{display:none}button[data-feel=back]:not(:disabled):active{filter:brightness(.92);transform:scale(.985)}button[data-feel=forward]:not(:disabled):active{filter:brightness(.85);transform:scale(.965)}button[data-feel=big]:not(:disabled):active{filter:brightness(.75);transform:scale(.93)}.feel-back{animation:feel-back var(--dur-feel-back) var(--ease-out)}.feel-forward{animation:feel-forward var(--dur-feel-forward) var(--ease-out)}.feel-big{animation:feel-big var(--dur-feel-big) var(--ease-out)}@keyframes feel-back{0%{opacity:.7;transform:scale(.985)}}@keyframes feel-forward{0%{transform:scale(.965)}60%{filter:brightness(1.15);transform:scale(1.012)}}@keyframes feel-big{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--edge-colour) 80%, transparent);transform:scale(.93)}35%{filter:brightness(1.5);transform:scale(1.04)}to{box-shadow:0 0 0 var(--space-lg) transparent}}.icon{vertical-align:-.18em;width:1.1em;height:1.1em;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;display:inline-block}.icon-attack{--icon:url(icons/attack.svg)}.icon-build{--icon:url(icons/build.svg)}.icon-port{--icon:url(icons/port.svg)}.icon-fort{--icon:url(icons/fort.svg)}.icon-camp{--icon:url(icons/camp.svg)}.icon-capital{--icon:url(icons/capital.svg)}.icon-card{--icon:url(icons/card.svg)}.icon-trophy{--icon:url(icons/trophy.svg)}.icon-economy{--icon:url(icons/economy.svg)}.icon-undo{--icon:url(icons/undo.svg)}.icon-recap{--icon:url(icons/recap.svg)}.icon-play{--icon:url(icons/play.svg)}.icon-fast{--icon:url(icons/fast.svg)}.icon-skip{--icon:url(icons/skip.svg)}.troop.p0{--owner:var(--player-0)}.troop.p1{--owner:var(--player-1)}.troop.p2{--owner:var(--player-2)}.troop.p3{--owner:var(--player-3)}.troop.p4{--owner:var(--player-4)}.troop.p5{--owner:var(--player-5)}.troop.counter{border:var(--border-hairline) solid var(--owner);background:color-mix(in srgb, color-mix(in srgb, var(--owner) calc(var(--ui-counter-colour) * 100%), var(--color-surface-strong)) calc(var(--ui-counter-fill) * 100%), transparent);color:var(--color-text);box-shadow:none;border-radius:0}.troop.counter.source,.troop.counter.inspect{border-radius:0 0 var(--size-smooth-small) 0}.troop.counter.source,.troop.counter.inspect,.troop.neutral.inspect{background:var(--color-highlight);color:var(--color-surface-strong)}.troop.counter.capital{border-color:var(--color-crown);box-shadow:0 0 0 var(--border-hairline) var(--color-line-ink), inset 0 0 0 var(--border-hairline) var(--color-line-ink)}.troop.pole{border-radius:0}.build-item{background:var(--four-marks)}.build-item:disabled{background:var(--hatch);border-color:#0000}