:root{--wall:#b47a42;--wall-rail:#50321f;--font-display:Cinzel, "Trajan Pro", "Book Antiqua", Palatino, Georgia, serif;--font-body:Alegreya, "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono:ui-monospace, Consolas, "Courier New", monospace;--type-mark:11px;--type-label:12px;--type-plate:13px;--type-crest-name:15px;--type-tile:15px;--type-card-title:16px;--type-caption:14px;--type-aside:16px;--type-body:17px;--type-hint:18px;--type-seal:19px;--type-peg-count:20px;--type-tick:30px;--type-wordmark:34px;--type-result-detail:21px;--type-banner:36px;--type-dial:40px;--type-fog-glyph:34px;--type-badge:10px;--type-card-text:14px;--type-lane-label:11px;--type-stud:12px;--leading-body:1.4;--leading-tight:1.1;--tracking-display:.06em;--tracking-plate:.12em;--tracking-label:.2em;--space-3xs:3px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:22px;--space-xl:28px;--space-2xl:44px;--page-max:1232px;--page-gutter:24px;--cell:148px;--row:116px;--gap:14px;--board-pad:26px;--lane-cell:30px;--lane-length:12;--lane-build-height:92px;--ornament-rule-width:26px;--ornament-rule-height:10px;--ornament-width:220px;--ornament-height:18px;--crest-size:68px;--stud-size:24px;--unit-size:32px;--tower-width:38px;--tower-height:44px;--seal-size:164px;--card-width:128px;--card-height:200px;--card-overlap:-18px;--card-art-size:92px;--dev-log-height:240px;--card-art-glyph:56px;--scroll-pad:36px 80px 30px;--scroll-roller-width:36px;--scroll-roller-offset:-20px;--radius-mark:3px;--radius-plate:4px;--radius-button:6px;--radius-lane:6px;--radius-plaque:6px;--radius-cell:8px;--radius-card:10px;--radius-board:14px;--radius-round:50%;--radius-scroll:2px;--radius-roller:18px;--radius-pill:40px;--ink:#2a1c10;--ink-muted:#6b5440;--ink-carved:#f4dfb8;--ink-carved-strong:#f1d39b;--ink-on-maple:#4f2e15;--ink-on-seal:#fde9d4;--ink-on-coin:#eed9a8;--ink-on-coin-chosen:#f7e3a6;--ink-on-unit:#fff;--ink-unbuilt:#9e3524;--ink-wordmark:#ecc98c;--ink-on-stud:#4a3108;--ink-on-badge:#fff8e6;--ink-on-storm:#eaf2f7;--tribe-you:#2d6a6e;--tribe-rival:#9e3524;--unit-you:linear-gradient(#3b878b, #1f4d50);--unit-rival:linear-gradient(#bf4a35, #7d2617);--hp-full:#f2c46b;--hp-edge:#5a3410;--hp-empty-edge:#f2c46b80;--brass:#b98a2e;--brass-halo:#f6e2ad;--brass-peg:radial-gradient(circle at 35% 30%, #e9c46a, #a2741e);--brass-stud:radial-gradient(circle at 35% 30%, #fbe7a8, #c99a35 55%, #8a6418);--brass-rivet:radial-gradient(circle at 35% 30%, #f3d98a, #9a7220);--peg-empty:#d8c3a0;--peg-past:#b99a6a;--walnut:#4f2e15;--walnut-deep:#3a2210;--maple:#e4c48f;--maple-deep:#c99d5e;--surface-table:#efe5d3;--texture-table:repeating-linear-gradient(0deg, transparent 0 3px, #785a320d 3px 4px), repeating-linear-gradient(90deg, transparent 0 3px, #785a320a 3px 4px);--surface-plaque:radial-gradient(ellipse at 20% 0, #fff9, transparent 60%), linear-gradient(#f7efe0, #ecdcbf);--surface-plank:repeating-linear-gradient(97deg, #ffdcaa0f 0 2px, transparent 2px 9px, #280f001f 9px 10px, transparent 10px 19px), linear-gradient(#8a5730, #5f361a);--surface-board:repeating-linear-gradient(95deg, #ffdcaa0d 0 2px, transparent 2px 9px, #280f001a 9px 11px, transparent 11px 23px), radial-gradient(ellipse 40% 6% at 30% 34%, #280f0038, transparent 70%), radial-gradient(ellipse 34% 5% at 72% 76%, #280f0033, transparent 70%), linear-gradient(135deg, #8a5730, #6b3d1d 60%, #7c4a25);--board-rivets:radial-gradient(circle at 14px 14px, #f3d98a 0 3px, #8a6418 4px, transparent 5px), radial-gradient(circle at calc(100% - 14px) 14px, #f3d98a 0 3px, #8a6418 4px, transparent 5px), radial-gradient(circle at 14px calc(100% - 14px), #f3d98a 0 3px, #8a6418 4px, transparent 5px), radial-gradient(circle at calc(100% - 14px) calc(100% - 14px), #f3d98a 0 3px, #8a6418 4px, transparent 5px);--groove:linear-gradient(90deg, #1e0e0347, #1e0e031f 50%, #1e0e0347);--cell-well:#28140566;--tile-face:repeating-linear-gradient(100deg, transparent 0 5px, #7846141f 5px 6px, transparent 6px 13px), radial-gradient(ellipse 26% 10% at 72% 26%, #78461438, transparent), linear-gradient(160deg, #ecd09d, var(--maple) 40%, var(--maple-deep));--fog-hatch-a:#55533f;--fog-hatch-b:#4a483a;--fog-highlight:#ffffff14;--fog:radial-gradient(ellipse at 50% 40%, var(--fog-highlight), transparent 70%), repeating-linear-gradient(45deg, var(--fog-hatch-a) 0 7px, var(--fog-hatch-b) 7px 14px);--fog-edge:#3b3a2e;--fog-glyph:#f4ead0;--lane-bed:linear-gradient(90deg, #3e230f, #5a341a 22%, #5a341a 78%, #3e230f);--lane-current:repeating-linear-gradient(0deg, #f4dfb847 0 8px, transparent 8px 16px);--lane-step-line:#ffdcaa21;--lane-label-surface:linear-gradient(#f0d184, #b38a2e);--lane-label-ink:#3a2210;--lane-label-column-ink:#5a3a10;--lane-label-edge:#6b4a14;--storm:radial-gradient(ellipse at 50% 30%, #7896af99, #50647847 70%);--storm-rain:repeating-linear-gradient(-60deg, #c8e1f066 0 3px, transparent 3px 14px);--surface-card:radial-gradient(ellipse at 50% 0, #fff, transparent 70%), linear-gradient(#fbf5e8, #efdfbf);--card-edge:#c9ad7d;--card-art:radial-gradient(circle, #efdcb6, #d9bc89);--coin:radial-gradient(circle at 35% 30%, #8a6a45, #4f3418);--coin-chosen:radial-gradient(circle at 35% 30%, #4a9095, #173f42);--surface-seal:radial-gradient(circle at 40% 35%, #c24a34, #8d2a1b 70%);--surface-button:linear-gradient(#f3e3c3, #dcc192);--surface-button-pressed:linear-gradient(#5c3a1c, #3f2410);--button-edge:#9a7444;--button-edge-pressed:#2c180a;--surface-scroll:radial-gradient(ellipse at 30% 20%, #ffffff8c, transparent 50%), radial-gradient(ellipse at 80% 90%, #aa783c2e, transparent 60%), linear-gradient(#f9eed4, #ead2a0);--scroll-roller:linear-gradient(90deg, #b48a4e, #f6e7c4 40%, #d9b878 70%, #9a7240);--scroll-roller-display:block;--scroll-edge:none;--surface-field:#fbf5e8;--surface-plate-recessed:linear-gradient(#4a2a12, #3a200c);--rule-line:linear-gradient(90deg, #6b544073, transparent);--card-art-ring:#f6e9cc;--shadow-card-art:inset 0 0 0 3px var(--card-art-ring), inset 0 0 0 4px var(--card-edge);--seal-glint:#fff0dc59;--seal-edge:#6e2014;--storm-flash:#eef6ff;--surface-unbuilt:#fffaf0d9;--plaque-edge:#cdb48a;--ornament-display:block;--board-edge:0 0 0 2px var(--walnut);--board-inlay:1px solid #ffdcaa40;--groove-inlay:inset 1px 0 0 #ffdcaa24, inset -1px 0 0 #ffdcaa24;--tile-tribe-edge:6px;--open-cell-outline:2px dashed #f4dfb899;--unbuilt-outline:1.5px dashed var(--ink-unbuilt);--shadow-plaque:inset 0 1px 0 #fff, 0 3px 8px #46280a1f;--shadow-plank:0 0 0 2px var(--walnut-deep), inset 0 2px 0 #ffdcaa4d, 0 8px 14px #3c1e054d;--shadow-board:var(--board-edge), 0 18px 30px #3c1e0559, inset 0 2px 0 #ffdcaa40;--shadow-well:inset 0 3px 6px #00000073, 0 1px 0 #ffdcaa33;--shadow-fog:inset 0 0 0 2px var(--fog-edge), inset 0 6px 10px #00000059;--shadow-tile:0 6px 0 #8f6633, 0 8px 0 #6b4a22, 0 18px 18px #00000080, inset 0 1px 0 #fff3d6, inset 0 -3px 0 #78461440;--shadow-lane:inset 0 3px 8px #0009;--shadow-stud:0 0 0 2px var(--walnut-deep), 0 3px 3px #00000073;--shadow-plate-recessed:inset 0 2px 5px #000000b3, 0 1px 0 #ffdcaa4d;--shadow-lifted:0 2px 3px #0006;--shadow-card:0 6px 14px #3c1e0540;--shadow-card-chosen:0 0 0 4px var(--brass-halo), 0 16px 24px #3c1e0559;--shadow-card-glow:0 0 0 4px var(--brass-halo), 0 0 26px 8px #e9c46abf, 0 16px 24px #3c1e0559;--shadow-coin:inset 0 0 0 3px #c9a24a, inset 0 0 0 5px #3d2612, inset 0 4px 8px #00000080, 0 0 0 3px #e3cfa5, 0 3px 6px #0000004d;--shadow-coin-chosen:inset 0 0 0 3px #e2bf5e, inset 0 0 0 5px #123335, inset 0 4px 8px #00000073, 0 0 0 3px var(--brass), 0 0 0 7px #f4e3b8, 0 5px 10px #0000004d;--shadow-seal:0 0 0 5px #a83a26, 0 0 0 9px #8d2a1b40, 0 10px 16px #50140a66, inset 0 -8px 12px #0000004d, inset 0 6px 10px #ffbea04d;--shadow-button:0 3px 0 var(--button-edge);--shadow-button-pressed:0 1px 0 var(--button-edge-pressed);--shadow-peg-empty:inset 0 2px 3px #0000004d;--shadow-peg:0 2px 3px #0000004d;--shadow-peg-pulse:0 0 0 5px #e9c46a59, 0 2px 4px #00000059;--shadow-piece:0 3px 0 #00000059;--shadow-tower:0 4px 0 #0006;--shadow-scroll:inset 0 0 0 1px #966e3259, inset 0 0 40px #aa783c40, 0 16px 28px #3c1e054d;--shadow-roller:0 8px 12px #3c1e054d;--carve-wordmark:-1px -1px 0 #ffecc873, 1px 2px 0 #2a1406, 2px 4px 6px #00000073;--carve-plate:0 -1px 0 #000, 0 1px 0 #ffdcaa40;--carve-paper:0 1px 0 #fff;--carve-tile:0 1px 0 #fff0d2b3;--carve-banner:0 1px 0 #fff, 0 2px 0 #2d6a6e40;--carve-seal:0 -1px 0 #00000080;--focus-on-paper:#1f4d50;--focus-on-wood:#fbe7a8;--focus-width:3px;--focus-offset:2px;--select-ring:0 0 0 3px var(--brass), 0 0 0 6px var(--brass-halo);--motion-press:80ms;--motion-hover:.16s;--motion-card-glow:card-glow 2.6s ease-in-out infinite;--motion-seal-glint:seal-glint 4.5s ease-in-out infinite;--motion-unit-step:unit-step .9s ease-in-out infinite alternate;--motion-peg-pulse:peg-pulse 1.6s ease-in-out infinite;--motion-storm-rain:storm-rain .7s linear infinite;--motion-storm-flash:storm-flash 6s infinite}[hidden]{display:none!important}[data-intensity=quiet]{--surface-plaque:linear-gradient(#f7efe0, #efe2c9);--surface-plank:var(--surface-plaque);--shadow-plank:var(--shadow-plaque);--carve-wordmark:none;--ink-wordmark:var(--ink);--surface-plate-recessed:none;--ink-carved-strong:var(--ink-carved);--carve-plate:none;--carve-paper:none;--carve-tile:none;--carve-banner:none;--surface-board:linear-gradient(135deg, #8a5730, #6b3d1d 60%, #7c4a25);--board-rivets:none;--tile-face:linear-gradient(160deg, var(--maple), var(--maple-deep));--shadow-tile:0 6px 0 #8f6633, 0 9px 12px #00000059, inset 0 1px 0 #fff3d6;--fog:repeating-linear-gradient(45deg, var(--fog-hatch-a) 0 7px, var(--fog-hatch-b) 7px 14px);--lane-label-surface:var(--walnut-deep);--lane-label-ink:var(--ink-carved);--lane-label-column-ink:#d9b77a;--lane-label-edge:#f4dfb859;--brass-stud:radial-gradient(circle at 35% 30%, #f0d184, #b38a2e);--shadow-stud:0 2px 2px #0006;--shadow-plate-recessed:none;--surface-card:linear-gradient(#fbf5e8, #f1e4c8);--coin:radial-gradient(circle at 35% 30%, #a58660, #6a4a2a);--coin-chosen:radial-gradient(circle at 35% 30%, #4a9095, #1f4d50);--shadow-coin:0 0 0 3px #d9c29a, 0 3px 5px #00000040;--shadow-coin-chosen:0 0 0 3px var(--brass), 0 0 0 6px #f4e3b8, 0 4px 8px #0000004d;--shadow-seal:0 0 0 6px #8d2a1b40, 0 8px 14px #50140a59, inset 0 -6px 10px #00000040;--storm:repeating-linear-gradient(-60deg, #bed7e659 0 3px, transparent 3px 14px), radial-gradient(ellipse at 50% 40%, #7896af8c, #50647840 70%);--storm-rain:none;--surface-scroll:linear-gradient(#fbf3e2, #efdcb6);--scroll-roller-display:none;--scroll-edge:2px solid var(--brass);--shadow-scroll:0 0 0 6px #f6e7c4, 0 14px 26px #3c1e054d;--ornament-display:none;--shadow-card-art:none;--carve-seal:none;--seal-glint:transparent;--rule-line:none;--motion-press:0s;--motion-hover:0s;--motion-card-glow:none;--motion-seal-glint:none;--motion-unit-step:none;--motion-peg-pulse:none;--motion-storm-rain:none;--motion-storm-flash:none}@media (prefers-reduced-motion:reduce){:root,[data-intensity]{--motion-press:0s;--motion-hover:0s;--motion-card-glow:none;--motion-seal-glint:none;--motion-unit-step:none;--motion-peg-pulse:none;--motion-storm-rain:none;--motion-storm-flash:none}}@media (width<=640px){:root{--page-gutter:14px;--board-pad:12px;--gap:8px;--cell:calc((100vw - 2 * var(--page-gutter) - 2 * var(--board-pad) - 2 * var(--gap)) / 3);--row:calc(var(--cell) * .8);--lane-cell:26px;--lane-build-height:64px;--crest-size:46px;--stud-size:20px;--unit-size:26px;--tower-width:30px;--tower-height:36px;--card-width:112px;--card-height:170px;--card-overlap:-18px;--card-art-size:54px;--card-art-glyph:34px;--ornament-width:160px;--scroll-pad:26px 34px 22px;--scroll-roller-width:24px;--scroll-roller-offset:-8px;--type-fog-glyph:24px;--type-card-text:11.5px;--type-lane-label:9.5px;--type-stud:10px;--type-body:16px;--type-tile:10px;--type-wordmark:26px;--type-dial:28px;--type-banner:26px}}.app,.app *,.app :before,.app :after{box-sizing:border-box}.app{color:var(--ink);font:var(--type-body) / var(--leading-body) var(--font-body);background:var(--texture-table), var(--surface-table);margin:0}.app :is(h1,h2,h3,h4,legend){font-family:var(--font-display);letter-spacing:var(--tracking-display);font-variant-caps:small-caps}.app :focus-visible{outline:var(--focus-width) solid var(--focus-on-paper);outline-offset:var(--focus-offset)}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.page-column{max-width:var(--page-max);padding:0 var(--page-gutter) var(--space-2xl);margin:0 auto}.section-rule{align-items:center;gap:var(--space-sm);margin:var(--space-xl) 0 var(--space-sm);color:var(--ink-muted);font:700 var(--type-label) / 1 var(--font-display);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.section-rule:before{content:"";display:var(--ornament-display);width:var(--ornament-rule-width);height:var(--ornament-rule-height);background:radial-gradient(circle, var(--brass) 0 3px, transparent 4px), linear-gradient(var(--brass), var(--brass)) center / 100% 1px no-repeat}.section-rule:after{content:"";background:var(--rule-line);flex:1;height:1px}.mark-unbuilt{padding:var(--space-3xs) 6px;border:var(--unbuilt-outline);border-radius:var(--radius-mark);background:var(--surface-unbuilt);color:var(--ink-unbuilt);font:700 var(--type-mark) / 1 var(--font-body);letter-spacing:.04em;text-transform:none;white-space:nowrap;font-variant-caps:normal;display:inline-block}.match-table{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;display:grid}.match-table>.rail{min-width:0}.match-table>.rail--left{grid-area:1/1}.match-table>.board{grid-area:1/2}.match-table>.rail--right{grid-area:1/3}.rail{gap:var(--space-lg);flex-direction:column;display:flex}.plaque{padding:var(--space-md) 18px;border:1px solid var(--plaque-edge);border-radius:var(--radius-plaque);background:var(--surface-plaque);box-shadow:var(--shadow-plaque);margin:0}.plaque__title{justify-content:space-between;align-items:center;gap:var(--space-xs);margin:0 0 var(--space-sm);font-size:var(--type-plate);text-shadow:var(--carve-paper);flex-wrap:wrap;padding:0;display:flex}.plank{padding:20px var(--space-lg);border-radius:var(--radius-plaque);background:var(--surface-plank);box-shadow:var(--shadow-plank);position:relative}.plank:before,.plank:after{content:"";display:var(--ornament-display);border-radius:var(--radius-round);background:var(--brass-rivet);width:9px;height:9px;box-shadow:var(--shadow-lifted);position:absolute;top:10px}.plank:before{left:10px}.plank:after{right:10px}.wordmark{color:var(--ink-wordmark);font:800 var(--type-wordmark) / 1 var(--font-display);letter-spacing:.04em;text-shadow:var(--carve-wordmark);margin:0;font-variant-caps:small-caps}.wordmark small{text-shadow:none;margin-top:10px;display:block}.faction-picker{min-width:0;max-width:360px}.faction-picker>legend{float:left;width:100%}.faction-picker__crests{clear:both;gap:var(--space-md) var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.faction-card{color:var(--ink-muted);font-size:var(--type-crest-name);line-height:var(--leading-tight);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:7px;display:flex}.faction-card__input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.crest{width:var(--crest-size);height:var(--crest-size);border-radius:var(--radius-round);background:var(--coin);box-shadow:var(--shadow-coin);place-items:center;display:grid}.crest svg{width:56%;height:56%;fill:var(--ink-on-coin)}.faction-card:has(:checked){color:var(--ink);font-weight:700}.faction-card:has(:checked) .crest{background:var(--coin-chosen);box-shadow:var(--shadow-coin-chosen)}.faction-card:has(:checked) .crest svg{fill:var(--ink-on-coin-chosen)}.faction-card:has(:focus-visible) .crest{outline:var(--focus-width) solid var(--focus-on-paper);outline-offset:6px}.faction-card:has(:disabled){cursor:not-allowed;opacity:.55}.rail__status{gap:var(--space-lg);flex-direction:column;display:flex}.round-pegs{align-items:center;gap:10px;display:flex}.peg{border-radius:var(--radius-round);background:var(--peg-empty);width:24px;height:24px;box-shadow:var(--shadow-peg-empty)}.peg--played{background:var(--brass-peg);box-shadow:var(--shadow-peg)}.round-pegs__count{font:700 var(--type-peg-count) var(--font-display);margin-left:auto}.scores{grid-template-columns:1fr 1fr;gap:10px;display:grid}.score{color:var(--ink-muted);font-size:var(--type-caption);text-align:center}.score__value{color:var(--tribe-you);font:800 var(--type-dial) / var(--leading-tight) var(--font-display);display:block}.score[data-tribe=rival] .score__value{color:var(--tribe-rival)}.board{gap:var(--space-sm);width:max-content;max-width:100%;padding:18px var(--board-pad);border-radius:var(--radius-board);background:var(--surface-board);box-shadow:var(--shadow-board);flex-direction:column;display:flex;position:relative}.board:before{content:"";inset:var(--space-xs);border:var(--board-inlay);pointer-events:none;border-radius:9px;position:absolute}.board:after{content:"";border-radius:var(--radius-board);background:var(--board-rivets);pointer-events:none;position:absolute;inset:0}.board :focus-visible{outline-color:var(--focus-on-wood)}.board__grooves{top:48px;bottom:48px;left:var(--board-pad);right:var(--board-pad);grid-template-columns:repeat(3, var(--cell));gap:var(--gap);pointer-events:none;display:grid;position:absolute}.board__groove{border-radius:var(--radius-card);background:var(--groove);box-shadow:var(--groove-inlay)}.board__side{justify-content:space-between;align-items:center;gap:var(--space-xs);min-height:22px;display:flex;position:relative}.board__plate{padding:6px var(--space-md);border-radius:var(--radius-plate);background:var(--surface-plate-recessed);box-shadow:var(--shadow-plate-recessed);color:var(--ink-carved-strong);font:700 var(--type-crest-name) var(--font-display);letter-spacing:var(--tracking-plate);text-shadow:var(--carve-plate);font-variant-caps:small-caps}.board__studs{grid-template-columns:repeat(3, var(--cell));gap:var(--gap);justify-items:center;display:grid;position:relative}.stud{width:var(--stud-size);height:var(--stud-size);border-radius:var(--radius-round);background:var(--brass-stud);box-shadow:var(--shadow-stud);color:var(--ink-on-stud);font:800 var(--type-stud) var(--font-display);place-items:center;display:grid}.base-hp{padding:var(--space-2xs) 10px;border-radius:var(--radius-plate);background:var(--walnut-deep);color:var(--ink-carved);font:700 var(--type-plate) var(--font-display);letter-spacing:var(--tracking-plate)}.base-hp strong{color:var(--hp-full)}.base-grid{grid-template-columns:repeat(3, var(--cell));grid-template-rows:repeat(3, var(--row));gap:var(--gap);display:grid;position:relative}.base-grid__canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.base-grid__canvas~.base-cell{box-shadow:none;background:0 0}.base-cell{border-radius:var(--radius-cell);background:var(--cell-well);box-shadow:var(--shadow-well);color:inherit;font:inherit;border:0;place-items:center;margin:0;padding:0;display:grid;position:relative}.base-cell[data-cell=open]{outline:var(--open-cell-outline);outline-offset:-10px;cursor:pointer;transition:outline-offset var(--motion-hover)}.base-cell[data-cell=open]:hover{outline-offset:-6px}.base-cell[data-cell=fog]{background:var(--fog);box-shadow:var(--shadow-fog)}.base-cell[data-cell=fog]:after{content:"?";color:var(--fog-glyph);font:800 var(--type-fog-glyph) var(--font-display)}.base-cell[aria-current=true]{box-shadow:var(--shadow-well), var(--select-ring);outline:none}.board .base-cell:focus-visible{outline:var(--focus-width) solid var(--focus-on-wood);outline-offset:-4px}.tile{justify-content:center;align-items:center;gap:var(--space-xs);border-top:var(--tile-tribe-edge) solid var(--tribe-you);border-radius:var(--radius-cell);background:var(--tile-face);box-shadow:var(--shadow-tile);color:var(--ink-on-maple);font:700 var(--type-tile) var(--font-display);letter-spacing:var(--tracking-display);text-shadow:var(--carve-tile);flex-direction:column;font-variant-caps:small-caps;display:flex;position:absolute;inset:6px;transform:translateY(-4px)}.tile[data-tribe=rival]{border-top-color:var(--tribe-rival)}.tile__art{aspect-ratio:1;width:44%;height:auto;fill:var(--ink-on-maple)}.seen-mark{top:var(--space-2xs);right:var(--space-2xs);border-radius:var(--radius-mark);background:var(--walnut-deep);color:var(--ink-carved);font:italic 700 var(--type-mark) / 1.2 var(--font-body);letter-spacing:0;text-shadow:none;padding:1px 5px;font-variant-caps:normal;position:absolute}.lane-labels{z-index:3;grid-template-columns:repeat(3, var(--cell));gap:var(--gap);margin:2px 0 -8px;display:grid;position:relative}.lane-label{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--lane-label-edge);border-radius:var(--radius-plate);background:var(--lane-label-surface);box-shadow:var(--shadow-lifted);color:var(--lane-label-ink);font:700 var(--type-lane-label) var(--font-display);letter-spacing:.1em;text-shadow:var(--carve-tile);white-space:nowrap;justify-self:center;font-variant-caps:small-caps}.lane-label__column{color:var(--lane-label-column-ink)}.lanes{grid-template-columns:repeat(3, var(--cell));gap:var(--gap);display:grid;position:relative}.lane{height:var(--lane-build-height);border-radius:var(--radius-lane);background:var(--lane-bed);box-shadow:var(--shadow-lane);position:relative}.lane:before{content:"";background:var(--lane-current);position:absolute;inset:0 calc(50% - 1px)}.lanes[data-phase=battle] .lane{height:calc(var(--lane-length) * var(--lane-cell));background:repeating-linear-gradient(0deg, var(--lane-step-line) 0 1px, transparent 1px var(--lane-cell)), var(--lane-bed)}.lanes[data-phase=battle] .lane:before{display:none}.lane__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.lanes__note{bottom:var(--space-sm);z-index:4;position:absolute;left:50%;transform:translate(-50%)}.lane-piece{bottom:calc((var(--step,0) + .5) / var(--lane-length) * 100%);z-index:2;position:absolute;left:50%;transform:translate(-50%,50%)}.lane-piece[data-file=left]{left:32%}.lane-piece[data-file=right]{left:68%}.unit{width:var(--unit-size);height:var(--unit-size);border-radius:50% 50% var(--radius-cell) var(--radius-cell);background:var(--unit-you);box-shadow:var(--shadow-piece);color:var(--ink-on-unit);font:700 var(--type-mark) var(--font-body);animation:var(--motion-unit-step);place-items:center;display:grid}.unit[data-tribe=rival]{background:var(--unit-rival)}.lane-piece:nth-child(2n) .unit{animation-delay:-.45s}.hp-pips{gap:3px;display:flex;position:absolute;top:50%;left:calc(100% + 5px);transform:translateY(-50%)}.hp-pip{border-radius:var(--radius-round);background:var(--hp-full);width:7px;height:7px;box-shadow:0 0 0 1px var(--hp-edge)}.hp-pip--lost{box-shadow:0 0 0 1px var(--hp-empty-edge);background:0 0}.tower{width:var(--tower-width);height:var(--tower-height);background:var(--unit-you);box-shadow:var(--shadow-tower);border-radius:5px 5px 3px 3px;place-items:center;display:grid}.tower[data-tribe=rival]{background:var(--unit-rival)}.tower svg{width:24px;height:24px;fill:var(--ink-on-unit)}.lane-effect{z-index:3;border-radius:var(--radius-lane);background:var(--storm);pointer-events:none;position:absolute;inset:0;overflow:hidden}.lane-effect:before{content:"";background:var(--storm-rain);animation:var(--motion-storm-rain);position:absolute;inset:-28px 0 0}.lane-effect:after{content:"";background:var(--storm-flash);opacity:0;animation:var(--motion-storm-flash);position:absolute;inset:0}.lane-effect__tag{top:var(--space-2xl);z-index:4;align-items:center;gap:var(--space-2xs);color:var(--ink-on-storm);font:700 var(--type-plate) var(--font-display);letter-spacing:.1em;flex-direction:column;font-variant-caps:small-caps;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hand{padding:var(--space-xl) 0 var(--space-md);justify-content:center;display:flex}.card{width:var(--card-width);height:var(--card-height);margin:0 var(--card-overlap);padding:var(--space-md) var(--space-sm);border:1px solid var(--card-edge);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-card);color:var(--ink);font:inherit;text-align:center;cursor:pointer;transform-origin:50% 100%;transition:translate var(--motion-hover);flex-direction:column;flex:none;align-items:center;gap:10px;display:flex;position:relative}.card:not([hidden]):not(.card:not([hidden])~.card){rotate:-12deg}.card:not([hidden]):not(:has(~.card:not([hidden]))){rotate:12deg}.card:hover,.card:focus-visible{z-index:1;translate:0 -8px}.card[aria-pressed=true]{z-index:2;border:2px solid var(--brass);box-shadow:var(--shadow-card-chosen);animation:var(--motion-card-glow);translate:0 -26px}.card[aria-pressed=true]:before{content:"Selected";padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-mark);background:var(--brass);color:var(--ink-on-badge);font:700 var(--type-badge) var(--font-display);letter-spacing:.14em;text-transform:uppercase;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.card:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.6}.card__title{font:800 var(--type-card-title) var(--font-display);letter-spacing:var(--tracking-display);margin:0;font-variant-caps:small-caps}.card__art{width:var(--card-art-size);height:var(--card-art-size);border-radius:var(--radius-round);background:var(--card-art);box-shadow:var(--shadow-card-art);place-items:center;display:grid}.card__art svg{width:var(--card-art-glyph);height:var(--card-art-glyph);fill:var(--ink-on-maple)}.card__text{color:var(--ink-muted);font-size:var(--type-card-text);margin:0;line-height:1.25}.status-line{color:var(--ink-muted);font-size:var(--type-hint);text-align:center;margin:0;font-style:italic}.status-line[data-tone=error]{color:var(--tribe-rival);font-style:normal;font-weight:700}.seal{width:var(--seal-size);height:var(--seal-size);border-radius:var(--radius-round);background:var(--surface-seal);box-shadow:var(--shadow-seal);color:var(--ink-on-seal);font:800 var(--type-seal) / 1.15 var(--font-display);letter-spacing:.08em;text-shadow:var(--carve-seal);cursor:pointer;border:0;align-self:center;font-variant-caps:small-caps;position:relative;overflow:hidden}.seal:after{content:"";background:linear-gradient(115deg, transparent 42%, var(--seal-glint) 50%, transparent 58%);animation:var(--motion-seal-glint);position:absolute;inset:-30%;transform:translate(-70%)}.seal:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.55}.seal:disabled:after{animation:none}.btn{border:1px solid var(--button-edge);border-radius:var(--radius-button);background:var(--surface-button);box-shadow:var(--shadow-button);color:var(--walnut);font:700 var(--type-plate) var(--font-display);letter-spacing:var(--tracking-display);cursor:pointer;transition:translate var(--motion-press), box-shadow var(--motion-press);padding:10px 13px;font-variant-caps:small-caps}.btn:active,.btn[aria-pressed=true]{box-shadow:var(--shadow-button-pressed);translate:0 2px}.btn[aria-pressed=true]{border-color:var(--button-edge-pressed);background:var(--surface-button-pressed);color:var(--ink-carved)}.btn--primary{border-color:var(--seal-edge);background:var(--surface-seal);box-shadow:0 3px 0 var(--seal-edge);color:var(--ink-on-seal)}.btn:disabled{background:var(--surface-field);box-shadow:none;color:var(--ink-muted);cursor:not-allowed;opacity:.7;border-style:dashed;translate:none}.tick-readout{margin:6px 0 var(--space-sm);font:800 var(--type-tick) var(--font-display);text-shadow:var(--carve-banner);font-variant-caps:small-caps}.tick-readout small{color:var(--ink-muted);font:400 var(--type-aside) var(--font-body)}.controls{align-items:center;gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.control-label{align-items:center;gap:var(--space-xs);max-width:100%;color:var(--ink-muted);font:700 var(--type-plate) var(--font-display);letter-spacing:var(--tracking-display);font-variant-caps:small-caps;display:inline-flex}.control-label .field{min-width:0}.control-label--wide{display:flex}.control-label--wide .scrubber{flex:1}.scrubber{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0}.scrubber::-webkit-slider-runnable-track{border-radius:var(--radius-button);background:radial-gradient(circle, var(--peg-past) 0 3px, transparent 4px) 0 0 / 14px 10px repeat-x, var(--peg-empty);height:10px;box-shadow:var(--shadow-peg-empty)}.scrubber::-moz-range-track{border-radius:var(--radius-button);background:var(--peg-empty);height:10px;box-shadow:var(--shadow-peg-empty)}.scrubber::-webkit-slider-thumb{border-radius:var(--radius-round);background:var(--brass-peg);width:24px;height:24px;box-shadow:var(--shadow-peg);appearance:none;animation:var(--motion-peg-pulse);border:0;margin-top:-7px}.scrubber::-moz-range-thumb{border-radius:var(--radius-round);background:var(--brass-peg);width:24px;height:24px;box-shadow:var(--shadow-peg);border:0}.scrubber:disabled{cursor:not-allowed;opacity:.5}.speed-select,.field{border:1px solid var(--button-edge);border-radius:var(--radius-button);background:var(--surface-field);box-shadow:var(--shadow-peg-empty);color:var(--ink);font:400 var(--type-body) var(--font-body);padding:9px 12px}.speed-select{background:linear-gradient(45deg, transparent 50%, var(--walnut) 50%) calc(100% - 15px) 50% / 6px 6px no-repeat, linear-gradient(-45deg, transparent 50%, var(--walnut) 50%) calc(100% - 9px) 50% / 6px 6px no-repeat, var(--surface-button);box-shadow:var(--shadow-button);color:var(--walnut);font:700 var(--type-plate) var(--font-display);appearance:none;cursor:pointer;padding-right:30px}.speed-select:disabled,.field:disabled{cursor:not-allowed;opacity:.6}.result-scroll{max-width:700px;padding:var(--scroll-pad);border:var(--scroll-edge);border-radius:var(--radius-scroll);background:var(--surface-scroll);box-shadow:var(--shadow-scroll);text-align:center;margin:0 auto;position:relative}.result-scroll:before,.result-scroll:after{content:"";display:var(--scroll-roller-display);width:var(--scroll-roller-width);border-radius:var(--radius-roller);background:var(--scroll-roller);box-shadow:var(--shadow-roller);position:absolute;top:-12px;bottom:-12px}.result-scroll:before{left:var(--scroll-roller-offset)}.result-scroll:after{right:var(--scroll-roller-offset)}.result-scroll__title{color:var(--tribe-you);font-size:var(--type-banner);text-shadow:var(--carve-banner);margin:0}.result-scroll[data-outcome=loss] .result-scroll__title{color:var(--tribe-rival)}.result-scroll[data-outcome=draw] .result-scroll__title{color:var(--ink)}.result-scroll__detail{color:var(--ink);font:700 var(--type-result-detail) var(--font-body);letter-spacing:0;margin-top:6px;display:block}.ornament{display:var(--ornament-display);width:var(--ornament-width);height:var(--ornament-height);margin:var(--space-sm) auto 0;color:var(--brass);fill:var(--brass)}.page-column>.result-scroll{margin:var(--space-xl) auto}.page-column>.survey-panel{margin-bottom:var(--space-xl)}.result-scroll+.result-scroll{margin-top:var(--space-2xl)}.result-scroll .btn{margin-top:var(--space-md)}.survey-panel,.survey-form{gap:var(--space-sm);flex-direction:column;display:flex}.survey-panel__disclosure{color:var(--ink-muted);font-size:var(--type-caption);margin:0}.survey-form label{color:var(--ink);font-size:var(--type-crest-name)}.survey-row{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 2ch;display:grid}.survey-row output{font:700 var(--type-peg-count) var(--font-display);text-align:right}.survey-wide,.survey-field{gap:var(--space-2xs);flex-direction:column;display:flex}.survey-form :is(textarea,input[type=text]){border:1px solid var(--button-edge);border-radius:var(--radius-button);background:var(--surface-field);width:100%;box-shadow:var(--shadow-peg-empty);color:var(--ink);font:400 var(--type-body) var(--font-body);padding:9px 12px}.survey-form textarea{resize:vertical}.survey-panel__actions{gap:var(--space-xs);justify-content:flex-end;display:flex}.dev-log{align-items:center;gap:var(--space-sm);margin-top:var(--space-2xl);color:var(--ink-muted);font-size:var(--type-caption);flex-wrap:wrap;display:flex}.dev-log p{margin:0}.dev-log details{flex-basis:100%}.dev-log summary{cursor:pointer;font:700 var(--type-plate) var(--font-display);letter-spacing:var(--tracking-display);font-variant-caps:small-caps}.dev-log ol{max-height:var(--dev-log-height);margin:var(--space-xs) 0 0;padding:var(--space-xs) var(--space-md) var(--space-xs) var(--space-2xl);border:1px solid var(--plaque-edge);border-radius:var(--radius-plaque);background:var(--surface-field);font:var(--type-label) / var(--leading-body) var(--font-mono);overflow-wrap:anywhere;overflow:auto}@keyframes card-glow{50%{box-shadow:var(--shadow-card-glow)}}@keyframes seal-glint{0%,55%{transform:translate(-70%)}85%,to{transform:translate(70%)}}@keyframes unit-step{to{transform:translateY(-3px)}}@keyframes peg-pulse{50%{box-shadow:var(--shadow-peg-pulse)}}@keyframes storm-rain{to{transform:translateY(28px)}}@keyframes storm-flash{0%,90%,94%,to{opacity:0}91%{opacity:.45}93%{opacity:.25}}@media (width<=1100px){.match-table{gap:var(--space-md);grid-template-columns:1fr}.match-table>.rail--left,.match-table>.board,.match-table>.rail--right{grid-area:auto}}@media (width<=640px){.rail{gap:14px}.board{gap:var(--space-xs);padding:var(--space-sm) var(--board-pad);order:2}.rail--left{order:1}.rail--right{order:3}.board__grooves{top:38px;bottom:38px}.board__plate{padding:var(--space-2xs) 10px;font-size:var(--type-label)}.faction-picker__crests{gap:var(--space-2xs);grid-template-columns:repeat(4,1fr)}.faction-card{font-size:var(--type-label)}.rail__status{grid-template-columns:1fr 1.3fr;gap:10px;display:grid}.rail__status .plaque{padding:10px var(--space-sm)}.tile{inset:var(--space-3xs);gap:var(--space-3xs)}.lane-labels{margin:0 0 -4px}.lane-label{padding:var(--space-3xs) var(--space-2xs);letter-spacing:var(--tracking-display);text-align:center}.lane-label__sep{display:none}.lane-label__column{display:block}.lanes__note{bottom:var(--space-xs)}.hand{padding-top:var(--space-lg)}.card{padding:10px var(--space-xs);gap:5px}.card:not([hidden]):not(.card:not([hidden])~.card){rotate:-10deg}.card:not([hidden]):not(:has(~.card:not([hidden]))){rotate:10deg}.card[aria-pressed=true]{translate:0 -14px}.card__title{font-size:var(--type-label)}.seal{width:auto;height:auto;padding:var(--space-md);border-radius:var(--radius-pill);align-self:stretch}.lane-effect__tag{font-size:var(--type-mark);top:50px}.lane-piece[data-file=left]{left:28%}.hp-pips{flex-direction:column;left:calc(100% + 3px)}.hp-pip{width:6px;height:6px}.survey-row{grid-template-columns:minmax(0,1fr) 2ch}.survey-row input[type=range]{grid-area:2/1/auto/-1}}
