:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{color-scheme:dark;--bg: #0d3b5e;--ink: #eaf4fb;--ink-dim: #dcebf5;--ink-faint: rgba(255, 255, 255, .07);--grid-major: rgba(255, 255, 255, .09);--red: #ff6b5e;--red-text: #ff8a7e;--yellow: #f5d76e;--cyan-pale: #8fd0ff;--epic: #c792ea;--sec-mid: #d9a441;--sec-low: #d95252;--line: rgba(234, 244, 251, .5);--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px}*{box-sizing:border-box}html,body{height:100%;color:var(--ink)}body{margin:0;font-family:var(--font-mono);background-color:var(--bg);background-image:linear-gradient(to right,var(--grid-major) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-major) 1px,transparent 1px),linear-gradient(to right,var(--ink-faint) 1px,transparent 1px),linear-gradient(to bottom,var(--ink-faint) 1px,transparent 1px);background-size:60px 60px,60px 60px,12px 12px,12px 12px}#root{width:100%;max-width:none;min-height:100svh;text-align:left;border-inline:none;margin:0;padding:0;display:block}.phase-fieldset{margin:0;border:0;padding:0;min-width:0;width:100%}button{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:2px;padding:var(--space-2) var(--space-3);cursor:pointer;text-transform:uppercase;letter-spacing:.06em}button:hover:not(:disabled){background:#ffffff14}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.btn-confirm{border-color:var(--yellow);color:var(--yellow)}.btn-danger{border-color:var(--red);color:var(--red-text)}.partner-warning{color:var(--red-text);border-left:2px solid var(--red);padding-left:var(--space-2);font-size:.8rem;margin:0}h1,h2,h3{color:var(--ink);margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.08em}p{margin:0 0 var(--space-2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0009;padding:var(--space-4)}.modal{text-transform:none;letter-spacing:normal;background:var(--bg);border:2px solid var(--ink);border-radius:0;box-shadow:inset 0 0 0 4px var(--bg),inset 0 0 0 5px var(--line);padding:var(--space-4);width:90%;max-width:640px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3);width:100%}.card-list>li{display:flex}.card-list .card-tile{height:auto;min-height:380px}.run-over-stats{list-style:none;margin:0;padding:0}.combat-screen{position:relative;display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.9fr);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"player enemies" "hint   hint" "rail   rail";column-gap:var(--space-5);row-gap:var(--space-3);padding:var(--space-4) var(--space-5);min-height:calc(100dvh - 190px);overflow:hidden}.combat-scene{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;background-size:cover;background-position:center;filter:blur(2px) brightness(.55) saturate(.85);opacity:.5;pointer-events:none;z-index:0}.combat-screen>*:not(.combat-scene){position:relative;z-index:1}.combat-enemies{grid-area:enemies;align-self:start;justify-content:center;padding-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-3)}.enemy-slot,.you-slot{position:relative}.you-slot{grid-area:player;align-self:end;justify-self:start;width:100%;max-width:320px;padding:var(--space-3);border:1px solid var(--line);border-radius:0;background:var(--bg)}.enemy-panel{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start;min-width:220px;text-align:left;position:relative;border:1px solid var(--line);border-radius:0;padding:var(--space-2) var(--space-3)}.enemy-panel-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent;border:none;border-radius:0;padding:0}.enemy-panel-hit:disabled{cursor:default}.enemy-panel-hit:focus-visible{outline:2px solid var(--yellow);outline-offset:-2px}.enemy-panel .status-chips{position:relative;z-index:2}.enemy-panel-portrait{display:block;width:100%;max-width:220px;aspect-ratio:1;object-fit:cover;border:1px solid var(--line)}.enemy-panel:before,.enemy-panel:after{content:"";position:absolute;width:8px;height:8px;pointer-events:none}.enemy-panel:before{top:-1px;left:-1px;border-top:2px solid var(--ink);border-left:2px solid var(--ink)}.enemy-panel:after{bottom:-1px;right:-1px;border-bottom:2px solid var(--ink);border-right:2px solid var(--ink)}.enemy-panel-title,.you-panel-title{font-weight:600;color:var(--ink)}.enemy-panel-intent{color:var(--yellow)}.enemy-panel-dead{opacity:.4;transition:opacity .45s ease-out}.enemy-panel-targetable{border-color:var(--yellow);animation:target-pulse 1.2s ease-in-out infinite}.enemy-panel[data-impact=hit],.you-slot[data-impact=hit]{border-color:var(--red)}@keyframes target-pulse{0%,to{box-shadow:0 0 #f5d76e99}50%{box-shadow:0 0 0 6px #f5d76e00}}.status-chips{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.chip{display:inline-flex;align-items:center;padding:2px var(--space-2);border:1px solid var(--line);border-radius:2px;font-size:.72em;text-transform:uppercase;letter-spacing:.05em}.chip-count{transition:border-color .18s ease-out,color .18s ease-out}.chip-count[data-changed=true]{border-color:var(--ink);color:var(--ink)}.chip-block{border-color:var(--cyan-pale);color:var(--cyan-pale);transition:border-color .12s ease-out,color .12s ease-out}.chip-block[data-absorbing=true]{border-color:var(--red);color:var(--red)}.combat-rail{grid-area:rail;display:flex;align-items:center;gap:var(--space-5)}.combat-status{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);flex-shrink:0}.combat-piles{display:flex;flex-wrap:wrap;gap:var(--space-1);max-width:200px}.combat-rail .end-turn-button{flex-shrink:0;align-self:center}.energy-pips{display:inline-flex;align-items:center;gap:var(--space-2)}.energy-pips-row{display:inline-flex;gap:var(--space-1)}.energy-pip{width:13px;height:15px;border:none;border-radius:0;clip-path:polygon(50% 0,100% 27%,100% 73%,50% 100%,0 73%,0 27%);background:#f5d76e40}.energy-pip-full{background:var(--yellow)}.energy-pip{transition:background-color .22s ease-out}.energy-pip[data-spent=true]{background:var(--yellow);opacity:.55}.combat-hand{flex:1;display:flex;flex-wrap:nowrap;justify-content:center;gap:var(--space-3);min-width:0;overflow-x:auto}.combat-hand .hand-card{flex:0 1 auto;min-width:0}.hand-card{position:relative;padding:0;border:none;background:none;border-radius:0;text-align:left;text-transform:none;letter-spacing:normal}.hand-card-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent;border:none;border-radius:0;padding:0}.hand-card:has(>.hand-card-hit:disabled) .card-tile{opacity:.5}.glossary-term{position:relative;z-index:2;display:inline;background:transparent;border:none;border-radius:0;padding:0;color:inherit;font-size:inherit;text-transform:inherit;letter-spacing:inherit;cursor:help;text-decoration:underline dotted currentColor;text-underline-offset:2px}.hand-card .card-tile{transition:transform .16s ease-out,box-shadow .16s ease-out}.hand-card-selected{z-index:5}.hand-card-payable{outline:2px solid var(--yellow);outline-offset:2px}.hand-card-selected .card-tile,.hand-card-selected .selection-ants,.pick-item-checked .card-tile,.pick-item-checked .selection-ants{transform:translateY(-8px) scale(1.05) rotate(-1.5deg)}.selection-ants{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;width:calc(100% + 14px);height:calc(100% + 14px);pointer-events:none;overflow:visible}.selection-ants rect{x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:var(--yellow);stroke-width:2;stroke-dasharray:8 6;animation:ants-crawl .6s linear infinite}@keyframes ants-crawl{to{stroke-dashoffset:-14}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.pick-item{position:relative;width:fit-content}.pick-item .card-tile{transition:transform .16s ease-out,box-shadow .16s ease-out}.pick-item-checked{z-index:5}.pick-select:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer}.pick-item .card-tile:has(input:disabled){opacity:.6}.pick-item .card-tile:has(.pick-select input:disabled):after,.pick-item .card-tile:has(input:disabled) .pick-select:after{cursor:not-allowed}.pick-item .card-tile:has(input:focus-visible){outline:3px solid var(--yellow);outline-offset:2px}.card-tile{position:relative;display:flex;flex-direction:column;gap:var(--space-1);min-width:160px;max-width:240px;width:100%;height:380px;padding:var(--space-4) var(--space-2) var(--space-2);border:1.5px solid var(--ink);background-color:var(--bg);background-image:linear-gradient(to right,var(--ink-faint) 1px,transparent 1px),linear-gradient(to bottom,var(--ink-faint) 1px,transparent 1px);background-size:12px 12px}.card-tile-top{display:contents}.card-tile-name{order:2;flex-shrink:0;align-self:center;transform:rotate(-3deg);border:2px solid var(--ink);padding:var(--space-1) var(--space-2);margin:var(--space-1) 0;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-align:center}.card-tile-cost{position:absolute;top:var(--space-1);right:var(--space-1);width:28px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--yellow);font-weight:700}.cost-hex{position:absolute;top:0;right:0;bottom:0;left:0;fill:none;stroke:var(--yellow)}.cost-hex path{stroke-width:1.8}.cost-hex circle{stroke-width:.6}.card-tile-cost-num{position:relative}.card-tile-tags{order:3;flex-shrink:0;display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:.72em;text-transform:uppercase;letter-spacing:.06em}.card-tile-attack .card-tile-type{color:var(--red-text);font-weight:700}.card-tile-skill .card-tile-type{color:var(--cyan-pale);font-weight:700}.card-tile-built.card-tile-grade-common .card-tile-rarity{color:var(--ink-dim)}.card-tile-built.card-tile-grade-rare{border-color:var(--cyan-pale);box-shadow:0 0 10px #8fd0ff38}.card-tile-built.card-tile-grade-rare .card-tile-rarity{color:var(--cyan-pale)}.card-tile-built.card-tile-grade-epic{border-color:var(--epic);box-shadow:0 0 10px #c792ea47}.card-tile-built.card-tile-grade-epic .card-tile-rarity{color:var(--epic)}.card-tile-built.card-tile-grade-legendary{border-color:var(--yellow);box-shadow:0 0 12px #f5d76e52}.card-tile-built.card-tile-grade-legendary .card-tile-rarity{color:var(--yellow)}.hand-card-selected .card-tile,.pick-item-checked .card-tile{box-shadow:0 14px 28px #00000080,0 0 0 2px var(--yellow)}.card-tile-blueprint{color:var(--yellow);border:1px solid var(--yellow);padding:0 var(--space-1)}.card-tile-qty{border:1px solid currentColor;padding:0 var(--space-1);font-weight:700}.card-tile-counters{display:inline-flex;gap:var(--space-1)}.card-tile-counter-chip{border:1px solid currentColor;border-radius:2px;padding:0 var(--space-1);opacity:.85}.card-tile-costs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0}.cost-chip{position:relative;z-index:2;border:1px solid var(--ink-faint);border-radius:0;background:transparent;padding:0 var(--space-1);font-size:.7rem;text-transform:uppercase;letter-spacing:.02em;color:inherit;cursor:help}.cost-chip-hp{border-color:var(--red);color:var(--red-text)}.cost-chip-res{border-color:var(--yellow);color:var(--yellow)}.cost-chip-pair{border-color:var(--ink);color:var(--ink);font-weight:600}.hand-card-blocked{display:block;text-align:center;font-size:.7rem;opacity:.8}.chip-debt{border-color:var(--yellow);color:var(--yellow)}.card-tile-uses{border:1px solid currentColor;border-radius:2px;padding:0 var(--space-1);opacity:.85}.card-tile-fuel{order:2;flex-shrink:0;margin:0;font-size:.72em;color:var(--yellow);letter-spacing:.05em}.card-tile-text{order:4;flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ink-faint) transparent;margin:0;color:var(--ink-dim);line-height:1.45;background-image:repeating-linear-gradient(to bottom,transparent 0 calc(1.45em - 1px),var(--ink-faint) calc(1.45em - 1px) 1.45em)}.card-tile-dwg{order:5;flex-shrink:0;margin:0;font-size:.6em;opacity:.7;letter-spacing:.06em}.card-tile-actions{order:6;flex-shrink:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}.card-tile-corners{position:absolute;top:3px;right:3px;bottom:3px;left:3px;fill:none;stroke:var(--yellow);pointer-events:none}.card-tile-draft{border-style:dashed}.card-tile-draft:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent calc(50% - .5px),rgba(255,255,255,.16) 50%,transparent calc(50% + .5px)),linear-gradient(28deg,transparent calc(50% - .5px),rgba(255,255,255,.12) 50%,transparent calc(50% + .5px))}.card-tile-draft .card-tile-text,.card-tile-draft .card-tile-type,.card-tile-draft .card-tile-rarity{opacity:.6}.card-tile-draft .card-tile-cost{opacity:.5}.card-tile-draft .card-tile-name{border-color:transparent;transform:none;color:#eaf4fb8c}@supports (-webkit-text-stroke: 1px white){.card-tile-draft .card-tile-name{color:transparent;-webkit-text-stroke:.6px rgba(234,244,251,.85)}}.card-tile-draft-stamp{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);border:2px solid var(--red);color:var(--red);padding:2px 14px;font-weight:700;font-size:1.1em;letter-spacing:.25em;pointer-events:none}.card-tile-art{position:relative;order:1;flex-shrink:0}.card-art{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;height:100%;aspect-ratio:1;object-fit:cover;background:var(--bg);border:1px solid var(--ink);box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--line)}.card-tile-art-pending{position:absolute;bottom:4px;right:6px;font-size:.65em;letter-spacing:.08em;text-transform:uppercase;opacity:.6;animation:art-pending-pulse 1.6s ease-in-out infinite}@keyframes art-pending-pulse{50%{opacity:.25}}.floater,.combat-banner{pointer-events:none}.floater{position:absolute;top:0;left:50%;font-weight:700;white-space:nowrap}.floater-damage{color:var(--red-text)}.floater-heal,.floater-block{color:var(--cyan-pale)}.floater-status{color:var(--yellow)}.combat-banner{position:absolute;top:var(--space-3);left:0;right:0;z-index:10;text-align:center;font-size:1.6em;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.12em}.combat-over{grid-area:1 / 1 / 2 / 3;place-self:center;font-size:1.6em;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.12em}.targeting-hint{grid-area:hint;justify-self:center;color:var(--yellow)}.opp-piles{display:flex;flex-direction:column;gap:var(--space-1);justify-content:center}.opp-turn-hint{grid-area:hint;justify-self:center;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.enemy-panel-intent:before{content:"▶ ";color:var(--yellow)}@media(max-width:860px){.combat-screen{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:"enemies" "player" "hint" "rail";min-height:0}.you-slot{align-self:start}.combat-over{grid-area:auto;justify-self:center}.combat-rail{flex-wrap:wrap}}.hp-bar{display:flex;align-items:center;gap:var(--space-2)}.hp-bar-track{position:relative;width:120px;height:10px;border:1px solid var(--ink)}.hp-bar-trail{position:absolute;inset:0 auto 0 0;height:100%;background:var(--red);transition:width .35s ease-out}.hp-bar-fill{position:relative;height:100%;background:var(--cyan-pale)}.enemy-panel .hp-bar-fill{background:var(--red);opacity:.85}.enemy-panel .hp-bar-trail{opacity:.4}.hp-bar-label{font-size:.85em}@media(prefers-reduced-motion:reduce){.enemy-panel-targetable{animation:none}.selection-ants rect{animation:none}.hand-card .card-tile,.pick-item .card-tile,.hp-bar-trail,.enemy-panel-dead,.chip-block,.energy-pip,.chip-count{transition:none}.card-tile-cost-discounted{animation:none;filter:drop-shadow(0 0 4px rgba(245,215,110,.5))}}.motif{width:100%;height:auto;color:var(--ink);fill:none;stroke:currentColor;stroke-width:1.1}.motif text{fill:currentColor;stroke:none;font-size:7px;letter-spacing:.05em}.motif .motif-dim{opacity:.8}.motif .motif-teeth{stroke-width:5;stroke-dasharray:5 4}.motif .motif-section{stroke-width:.8;stroke-dasharray:8 3 2 3}.motif .motif-red{color:var(--red);stroke-width:1.2;fill:var(--red)}.motif-draft{opacity:.55;stroke-dasharray:4 3}.sheet-frame{position:fixed;top:8px;right:8px;bottom:8px;left:8px;border:1.5px solid var(--line);pointer-events:none;z-index:50}.sheet-frame:before,.sheet-frame:after{content:"";position:absolute;left:50%;width:1px;height:6px;background:var(--line)}.sheet-frame:before{top:0}.sheet-frame:after{bottom:0}.sheet-title-block{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:var(--space-1) var(--space-2);border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--bg);font-size:10px;letter-spacing:.08em;color:#eaf4fbb3}.chrome{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--ink-faint)}.chrome-purse{margin:0;color:var(--yellow);text-transform:uppercase;letter-spacing:.06em;font-size:.85em}.chrome-gens[data-exhausted=true],.license-note{color:var(--red-text)}.chrome-buttons{display:flex;gap:var(--space-2);margin-left:auto}.chrome-link{display:inline-block;border:1px solid var(--ink);border-radius:2px;padding:var(--space-2) var(--space-3);color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.06em}.chrome-link:hover{background:#ffffff14}.page{padding:var(--space-4) var(--space-5)}.page-back{display:inline-block;margin-top:var(--space-2);color:var(--ink-dim);text-decoration:none;text-transform:uppercase;letter-spacing:.06em}.page-back:hover,.page-back:focus-visible{color:var(--ink);text-decoration:underline}.map-screen,.loot-screen,.rest-screen,.event-screen,.forge-screen,.upgrade-screen,.pick-screen,.run-over-screen{max-width:1040px;margin-inline:auto;padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.sheet-screen{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;column-gap:var(--space-5);row-gap:var(--space-4);max-width:1400px}.sheet-margin{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.loot-salvage-note{margin:var(--space-1) 0 0;color:var(--yellow);font-size:.8rem}.upgrade-plain-note{margin:calc(-1 * var(--space-3)) 0 0;max-width:26ch;font-size:.8rem;color:var(--ink-dim)}.sheet-margin h2{margin:0;border-top:1px solid currentColor;padding-top:var(--space-1)}.sheet-field{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}@media(max-width:860px){.sheet-screen{grid-template-columns:minmax(0,1fr)}}textarea,input[type=text]{font:inherit;color:var(--ink);background:#ffffff0a;border:1px solid var(--line);border-radius:2px;padding:var(--space-2) var(--space-3)}textarea:focus-visible,input[type=text]:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.hexmap-viewport{display:flex;width:100%;max-height:72dvh;overflow:auto}.hexmap{display:block;margin:auto;overflow:visible}.hex-shape{fill:transparent;stroke:currentColor;stroke-width:2}.hex-node{color:var(--ink)}.hex-label{fill:currentColor;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.hex-ghost .hex-label{font-size:14px}.hex-label,.hex-sec,.hex-stamp{paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}.hex-art{opacity:.85}.hex-open:hover .hex-art,.hex-open:focus .hex-art{opacity:1}.hex-open{cursor:pointer}.hex-open .hex-shape{stroke-width:3}.hex-open:hover .hex-shape,.hex-open:focus .hex-shape{fill:var(--ink-faint)}.phase-fieldset:disabled .hex-open{cursor:default;pointer-events:none}.hex-visited{opacity:.45}.hex-ghost{opacity:.3}.hex-ghost .hex-shape{stroke-dasharray:5 5}.hex-current .hex-shape{stroke-dasharray:8 6;animation:hex-ants 1.2s linear infinite}@keyframes hex-ants{to{stroke-dashoffset:-28}}.hex-stamp{fill:currentColor;font-size:14px}.hex-sec{fill:currentColor;font-size:10px;letter-spacing:.08em;opacity:.85}.hex-sec-mid .hex-sec{fill:var(--sec-mid)}.hex-sec-mid .hex-shape{stroke:var(--sec-mid)}.hex-sec-low .hex-sec{fill:var(--red-text)}.hex-sec-low .hex-shape{stroke:var(--sec-low)}.hex-edge{stroke:currentColor;stroke-width:1.5;opacity:.6}.hex-edge-ghost{stroke-dasharray:4 6}.hex-edge-dim{opacity:.25}.map-title-block{text-align:right;font-size:.75em;letter-spacing:.12em;text-transform:uppercase;opacity:.6;border-top:1px solid currentColor;display:inline-block;padding-top:4px}.sec-legend{display:block;font-size:.7em;opacity:.7}.forge-describe textarea{width:min(560px,100%);min-height:110px;resize:vertical}.forge-saved-recipes{width:100%}.forge-saved-recipes .card-list{display:flex;flex-direction:column}.forge-saved-recipes .card-list>li{border:1px solid var(--line);padding:var(--space-3);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);max-width:640px}.forge-price{margin:0;color:var(--yellow);font-weight:700}.forge-power,.forge-note{margin:0;color:var(--ink-dim);font-size:.85em;max-width:68ch}.forge-describe-prompt{margin:0;max-width:60ch}.forge-describe-examples{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.forge-example{max-width:68ch;border:1px dashed var(--line);border-radius:0;background:transparent;padding:var(--space-1) var(--space-2);color:var(--ink-dim);font-size:.85em;text-align:left;text-transform:none;letter-spacing:0}.forge-example:hover{border-style:solid;color:var(--ink)}.forge-power{color:var(--cyan-pale);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.forge-power-delta{margin:0;color:var(--ink-dim);font-size:.8em}.forge-offer-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-offer{align-items:flex-start}.recipe-statement{margin:0;max-width:640px;padding-left:var(--space-2);border-left:2px solid var(--line);color:var(--ink-dim);font-style:normal}.recipe-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.forge-consumes{margin-top:var(--space-1)}.component-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px solid var(--line);border-radius:2px;font-size:.75em;text-transform:uppercase;letter-spacing:.04em}.component-chip:before{font-size:1.1em}.component-chip.kind-effect:before{content:"◆"}.component-chip.kind-status:before{content:"☼"}.component-chip.kind-target:before{content:"◎"}.component-chip.kind-trigger:before{content:"⚡"}.component-chip.kind-condition:before{content:"?"}.component-chip.kind-fuel:before{content:"▲"}.component-chip-name{background:transparent;border:none;border-radius:0;padding:0;color:inherit;font-size:inherit;text-transform:inherit;letter-spacing:inherit;cursor:help;text-decoration:underline dotted transparent;text-underline-offset:2px}.component-chip-name:hover,.component-chip-name:focus-visible{text-decoration-color:currentColor}.component-info p{margin:0 0 var(--space-2)}.component-info .component-card{margin:0 auto var(--space-3)}.component-info-compound{font-size:.85em;color:var(--ink-dim)}.component-info-kind{font-size:.85em;color:var(--ink-dim);border-top:1px dashed var(--line);padding-top:var(--space-2);margin-bottom:0}.component-chip-count{opacity:.85}.component-chip-minted{color:var(--yellow)}.component-chip-scrap{padding:0 var(--space-1);font-size:.9em;border-color:var(--line);color:var(--ink-dim)}.component-chip-confirm .component-chip-scrap{border-color:var(--red);color:var(--red-text)}.component-chip-confirm{display:inline-flex;align-items:center;gap:var(--space-1)}.component-chip-quote{font-size:.9em;color:var(--yellow)}.component-chip-last{font-size:.9em;color:var(--red-text);letter-spacing:.04em;text-transform:uppercase}.component-chip-cancel{padding:0 var(--space-1);font-size:.9em}.component-chip.rarity-common{color:var(--ink-dim)}.component-chip.rarity-rare{border-color:var(--cyan-pale);color:var(--cyan-pale)}.component-chip.rarity-epic{border-color:var(--epic);color:var(--epic)}.component-chip.rarity-legendary{border-color:var(--yellow);color:var(--yellow)}.component-chip[data-missing=true]{border-style:dashed;background:transparent;opacity:.75}.component-chip[data-unowned=true]{opacity:.45}.component-chip-stock{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:0 4px;border:1px solid var(--ink-dim);border-radius:2px;color:var(--ink-dim)}.component-card{position:relative;display:flex;flex-direction:column;gap:var(--space-1);min-width:160px;max-width:240px;width:100%;min-height:320px;padding:var(--space-4) var(--space-2) var(--space-2);border:1.5px solid var(--ink);background-color:var(--bg);background-image:linear-gradient(to right,var(--ink-faint) 1px,transparent 1px),linear-gradient(to bottom,var(--ink-faint) 1px,transparent 1px);background-size:12px 12px}.component-card-top{display:contents}.component-card-name{order:2;flex-shrink:0;align-self:center;transform:rotate(-3deg);border:2px solid var(--ink);padding:var(--space-1) var(--space-2);margin:var(--space-1) 0;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-align:center}.component-card-mark{position:absolute;top:var(--space-1);right:var(--space-1);z-index:1;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:.85em}.component-card-mark svg{position:absolute;top:0;right:0;bottom:0;left:0;fill:none;stroke:var(--ink);stroke-width:1.5}.component-card-mark-glyph{position:relative}.component-card-art{position:relative;order:1;flex-shrink:0;aspect-ratio:1;width:100%}.part-emblem{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke:var(--ink);stroke-width:.8}.part-emblem-hatch{stroke:var(--ink-faint);stroke-width:1}.part-emblem pattern line{stroke:#eaf4fb38;stroke-width:.6}.part-emblem text{fill:var(--ink);stroke:none;font-size:22px;font-family:var(--font-mono)}.component-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:var(--bg);border:1px solid var(--ink);box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--line)}.component-card-tags{order:3;flex-shrink:0;display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:.72em;text-transform:uppercase;letter-spacing:.06em}.component-card-minted{color:var(--yellow)}.component-card-band,.component-card-count{opacity:.85}.component-card-text{order:4;flex:1 1 auto;margin:0;color:var(--ink-dim);font-size:.85em;line-height:1.45;background-image:repeating-linear-gradient(to bottom,transparent 0 calc(1.45em - 1px),var(--ink-faint) calc(1.45em - 1px) 1.45em)}.component-card-part{order:5;flex-shrink:0;margin:0;font-size:.6em;opacity:.7;letter-spacing:.06em}.component-card-actions{order:6;flex-shrink:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}.component-card.rarity-common .component-card-rarity{color:var(--ink-dim)}.component-card.rarity-rare{border-color:var(--cyan-pale)}.component-card.rarity-rare .component-card-rarity{color:var(--cyan-pale)}.component-card.rarity-epic{border-color:var(--epic)}.component-card.rarity-epic .component-card-rarity{color:var(--epic)}.component-card.rarity-legendary{border-color:var(--yellow)}.component-card.rarity-legendary .component-card-rarity{color:var(--yellow)}.component-card[data-missing=true],.component-card[data-unowned=true]{border-style:dashed;opacity:.55}.component-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3);width:100%}.components-group{margin-bottom:var(--space-3)}.components-group h3{font-size:.85em}.components-stock-blurb{color:var(--ink-dim);font-size:.85rem}.components-stock-kind h4{margin:.6rem 0 .25rem}.flip{perspective:1200px;display:flex;width:100%}.flip-inner{position:relative;width:100%;display:flex;transform-style:preserve-3d}.flip-front,.flip-back{width:100%;display:flex;backface-visibility:hidden}.flip-back{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotateY(180deg)}.sealed-back{position:relative;display:flex;flex-direction:column;justify-content:flex-end;width:100%;min-height:320px;padding:var(--space-2);border:1.5px dashed var(--ink);background-color:var(--bg);background-image:linear-gradient(to right,var(--ink-faint) 1px,transparent 1px),linear-gradient(to bottom,var(--ink-faint) 1px,transparent 1px);background-size:12px 12px}.sealed-back-fold{position:absolute;left:0;right:0;top:33%;border-top:1px dashed var(--line)}.sealed-back-fold:before,.sealed-back-fold:after{content:"";position:absolute;top:0;width:50%;height:0;border-top:1px solid var(--line);transform-origin:left top}.sealed-back-fold:before{left:0;transform:rotate(28deg)}.sealed-back-fold:after{right:0;transform-origin:right top;transform:rotate(-28deg)}.sealed-back-title{border-top:1px solid currentColor;padding-top:var(--space-1);font-size:.7em;text-transform:uppercase;letter-spacing:.12em}.loot-parts{width:100%;margin-top:var(--space-4)}.loot-parts h3{margin:0;font-size:.85em}.loot-parts-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3);width:100%}.loot-parts-list>li,.card-list>li .flip{display:flex}.loot-screen[data-sealed=true]{cursor:pointer}.card-list .flip,.card-list .sealed-back{min-height:380px}.rest-panel{width:100%;max-width:640px;border:1px solid var(--line);padding:var(--space-3)}@media(min-width:860px){.rest-screen{display:grid;grid-template-columns:minmax(180px,220px) 1fr;align-items:start;max-width:1320px}}.rest-panel-upgrade{max-width:none}.event-options{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.card-tile-cost-discounted .cost-hex path{stroke:var(--yellow);fill:#f5d76e29}.card-tile-cost-discounted .cost-hex circle{stroke:var(--yellow)}.card-tile-cost-discounted .card-tile-cost-num{color:var(--yellow)}.card-tile-cost-discounted{animation:cost-pulse 1.4s ease-in-out infinite}@keyframes cost-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(245,215,110,.35))}50%{filter:drop-shadow(0 0 9px rgba(245,215,110,.9))}}.playground-screen{display:flex;flex-direction:column;gap:var(--space-2)}.playground-controls{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--line)}.playground-title{font-size:11px;letter-spacing:.2em;color:var(--ink-dim);margin-right:auto}.arena-page{display:flex;flex-direction:column;gap:1.25rem;max-width:48rem}.arena-page .arena-join label{display:inline-flex;gap:.5rem;align-items:baseline;margin-right:.5rem}.arena-page .arena-join input{width:7ch;text-transform:uppercase;letter-spacing:.15em}.forge-offer .card-tile,.arena-offer .card-tile{height:auto;min-height:380px}.arena-draft .sheet-field{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:var(--space-5)}.arena-draft .sheet-field>[role=status]{flex-basis:100%}.arena-rows{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.arena-draft .arena-describe{flex:1 1 420px;display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.arena-draft .arena-describe textarea{width:100%;min-height:5rem}.arena-row .arena-count{opacity:.7;font-weight:400}.arena-row .arena-passed{text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-weight:400}.arena-share{display:flex;gap:.5rem;align-items:baseline}.arena-share label{display:inline-flex;gap:.5rem;align-items:baseline}.arena-share input{width:min(28rem,60vw)}.arena-verdict{font-size:1.6rem;letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--ink);display:inline-block;padding:.4rem 1rem;margin:1rem 0 .5rem}.bench{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.bench-title{margin:0;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.bench-row{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line)}.bench-slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,240px));gap:var(--space-3)}.bench-slot{min-height:320px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center}.bench-slot[data-filled]{border-style:solid}.bench-slot-empty{color:var(--ink-dim);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.bench-slot-card,.bench-tray-card{position:relative;display:block;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;width:100%;text-align:left}.bench-slot-card .component-card{transition:transform .12s ease-out}.bench-slot-remove{position:absolute;top:var(--space-1);right:var(--space-1);font-size:1rem;line-height:1}.bench-count{position:absolute;top:var(--space-2);right:var(--space-3);font-size:.8rem;letter-spacing:.1em}.bench-shelf{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;font-size:.85rem}.bench-shelf-label{color:var(--ink-dim)}.bench-warning{margin:0;min-height:1.2em;color:var(--red-text);font-size:.85rem}.bench-tray-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%}.bench-tray{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3);width:100%}.bench-tray li[data-unowned] .component-card{opacity:.45}.bench-tray li[draggable=true]{cursor:grab}.bench-tray-card:disabled{cursor:default}@media(prefers-reduced-motion:reduce){.bench-slot-card .component-card{transition:none}}@media(max-width:700px){.bench-slots{grid-template-columns:1fr}}.forge-mode-caption{margin:0;font-size:.85rem;color:var(--ink-dim)}.forge-mode-tabs{display:flex;gap:0;border-bottom:1px solid var(--line)}.forge-mode-tabs [role=tab]{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-dim);padding:var(--space-1) var(--space-3);font:inherit;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;cursor:pointer}.forge-mode-tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:currentColor}.bench-note-fallback{font-weight:600}.pick-map-screen{max-width:1180px;margin-inline:auto;padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.pick-map-hint{font-family:var(--font-mono);color:var(--ink-dim);margin:0}.map-offer-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:var(--space-4)}@media(max-width:700px){.map-offer-list{grid-template-columns:1fr}}.map-offer-item:nth-child(2){transform:translateY(var(--space-3)) rotate(.4deg)}.map-offer-item:nth-child(3){transform:rotate(-.3deg)}.map-offer{width:100%;text-align:left;background:var(--ink-faint);border:1px solid var(--line);color:var(--ink);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer;font-family:var(--font-mono)}.map-offer:hover,.map-offer:focus-visible{border-color:var(--ink);outline:none}.map-offer-no{font-size:11px;letter-spacing:.12em;color:var(--ink-dim)}.map-offer-name{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:var(--space-2)}.map-offer-blurb{color:var(--ink-dim);font-style:italic;min-height:2.6em}.map-offer-metrics{border-collapse:collapse;width:100%;margin-top:var(--space-2)}.map-offer-metrics th,.map-offer-metrics td{border-top:1px solid var(--grid-major);padding:var(--space-1) 0;font-size:12px}.map-offer-metrics th{text-align:left;font-weight:400;letter-spacing:.1em;color:var(--ink-dim)}.map-offer-metrics td{text-align:right;font-variant-numeric:tabular-nums}.combat-stats-compact{display:none;position:relative}.combat-stats-badge{font-variant-numeric:tabular-nums;letter-spacing:.08em}@media(max-width:700px){*{-webkit-tap-highlight-color:transparent}button:active:not(:disabled),.chrome-link:active{background:#ffffff24}.hex-open:active .hex-shape{fill:#ffffff24}button:not(.glossary-term):not(.hand-card-hit),.chrome-link,.page-back,input[type=text],input:not([type]){min-height:44px}.page-back,.chrome-link,.chip,.chip-count{display:inline-flex;align-items:center}.hex-label{font-size:12px}.sheet-frame{top:4px;right:4px;bottom:4px;left:4px;border-width:1px}.sheet-frame:before,.sheet-frame:after,.sheet-title-block{display:none}.chrome{position:sticky;top:0;z-index:20;background:var(--bg)}body:has(.combat-screen) .chrome-buttons{display:none}.chrome{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.chrome>.hp-bar{flex:1 1 auto;min-width:0}.chrome>.hp-bar .hp-bar-track{flex:1 1 auto;min-width:60px}.chrome-purse{flex:0 0 auto;font-size:12px}.chrome-buttons{flex-basis:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--space-1)}.chrome-buttons>*{flex:0 0 auto;white-space:nowrap}.map-screen,.loot-screen,.rest-screen,.event-screen,.forge-screen,.upgrade-screen,.pick-screen,.run-over-screen,.pick-map-screen,.page{padding:var(--space-3) var(--space-2)}.combat-screen{padding:var(--space-2);padding-bottom:380px;min-height:calc(100dvh - 120px)}.combat-enemies{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;padding-top:0;gap:var(--space-2)}.enemy-slot{flex:0 0 auto;scroll-snap-align:center}.enemy-panel{min-width:200px;max-width:240px}.enemy-panel-portrait{width:auto;max-height:120px;align-self:center}.you-slot{max-width:none;padding:var(--space-2);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.you-slot .you-panel-title{margin:0}.you-slot .hp-bar{flex:1 1 140px}.combat-screen>.combat-rail{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-areas:"status end" "hand   hand";grid-template-columns:1fr auto;align-items:end;gap:var(--space-2);padding:0 0 env(safe-area-inset-bottom);background:transparent;border-top:none}.combat-status{grid-area:status;justify-self:start;flex-direction:row;align-items:center;gap:var(--space-2);margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--line);background:var(--bg)}.combat-piles{display:none}.combat-stats-compact{display:block}.combat-stats-panel{position:absolute;bottom:calc(100% + var(--space-2));left:0;white-space:nowrap;padding:var(--space-2);border:1px solid var(--line);background:var(--bg);font-size:12px}.combat-hand{grid-area:hand;background:var(--bg);border-top:1px solid var(--line);justify-content:flex-start;width:100%;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;gap:var(--space-2);padding:var(--space-2) var(--space-1)}.combat-hand .hand-card{flex:0 0 auto;scroll-snap-align:center;width:150px}.combat-hand .card-tile{width:150px;min-width:0;height:auto;min-height:150px}.combat-hand .card-tile-art,.combat-hand .card-tile-dwg{display:none}.combat-rail .end-turn-button{grid-area:end;position:static;margin-right:var(--space-2);min-height:48px}.floater{max-width:calc(100vw - 32px)}.combat-screen>.targeting-hint,.combat-screen>.opp-turn-hint{position:relative;z-index:11}.hexmap-viewport{max-height:none;height:calc(100dvh - 220px);touch-action:pan-x pan-y}.map-title-block{font-size:12px}.abandon-run-button{align-self:flex-start;border:none;text-decoration:underline;padding:var(--space-2) 0;min-height:44px}.bench-slot{min-height:200px}.bench-tray{display:flex;width:100%;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;gap:var(--space-2);padding-bottom:var(--space-1)}.bench-tray>li{flex:0 0 170px;scroll-snap-align:start}.bench-shelf{flex-wrap:nowrap;width:100%;max-width:100%;overflow-x:auto;padding-bottom:var(--space-1)}.bench-shelf>*{flex:0 0 auto}.forge-mode-tabs [role=tab]{min-height:44px}.card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.card-list .card-tile,.card-list .flip,.card-list .sealed-back{min-height:300px}.loot-parts-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-offer-item:nth-child(2),.map-offer-item:nth-child(3){transform:none}.sheet-margin{gap:var(--space-2)}.arena-share input{width:100%;min-width:0}.arena-draft .sheet-field{flex-direction:column}.arena-rows{flex-basis:auto;width:100%}}@media(hover:hover){.bench-slot-empty-tap{display:none}}@media(hover:none){.bench-slot-empty-drag{display:none}.bench-tray li[draggable=true]{cursor:default}}.landing{min-height:100vh;max-width:1400px;margin-inline:auto;padding:var(--space-5) var(--space-4);display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);align-items:center;column-gap:var(--space-5)}.landing-field{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.landing-kicker{margin:0;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.landing-title{margin:0;font-size:clamp(3rem,9vw,6rem);line-height:1;text-transform:uppercase;letter-spacing:.04em;border-top:3px double var(--ink);border-bottom:1px solid var(--ink);padding:var(--space-2) 0}.landing-tagline{margin:0;max-width:44ch;color:var(--ink-dim)}.landing-play{font-size:1.2rem;padding:var(--space-3) var(--space-5)}.landing-titleblock{border:1px solid var(--line);align-self:end;font-size:.8rem}.landing-titleblock div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-2)}.landing-titleblock div+div{border-top:1px solid var(--line)}.landing-titleblock span{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em}@media(max-width:860px){.landing{grid-template-columns:minmax(0,1fr);align-items:start;row-gap:var(--space-4)}}.create-profile{min-height:100vh;padding:var(--space-5) var(--space-4);margin-inline:auto}.create-profile-form{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.create-name{display:flex;flex-direction:column;gap:var(--space-1);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}.create-name input{font:inherit;color:var(--ink);background:#ffffff0a;border:1px solid var(--line);border-radius:2px;padding:var(--space-2) var(--space-3);min-width:min(28ch,70vw);text-transform:none;letter-spacing:normal}.create-name input:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.emblem-picker{border:1px solid var(--line);padding:var(--space-3);display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3);max-width:640px}.emblem-picker legend{text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;padding-inline:var(--space-1)}.emblem-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid transparent;cursor:pointer;font-size:.8rem;text-align:center}.emblem-option:hover{border-color:var(--line)}.emblem-option:has(input:checked){border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:2px}.emblem-option input{position:absolute;top:var(--space-1);left:var(--space-1);margin:0}.emblem-option img{width:96px;height:96px;border-radius:50%}
