/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--ink:#17150f;--paper:#f1eadc;--paper-deep:#e6dcc9;--cream:#faf5ea;--oxide:#b44c2e;--oxide-dark:#87331f;--sage:#506756;--board-light:#d9cdb7;--board-dark:#687867;--line:#17150f29}*{box-sizing:border-box}.piece-theme-root{display:contents}html{scroll-behavior:smooth;font-size:16px}body{background:radial-gradient(circle at 12% 2%, #ffffffb8, transparent 28rem), linear-gradient(135deg, #634f3009 25%, transparent 25%) 0 0 / 4px 4px, var(--paper);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #d67a56}.app-shell{min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;max-width:1460px;height:76px;margin:0 auto;padding:0 38px;display:grid}.brand{color:inherit;align-items:center;gap:12px;width:fit-content;text-decoration:none;display:flex}.brand-mark{width:38px;height:38px;color:var(--cream);background:var(--ink);font:700 25px/1 var(--font-display);border-radius:4px 14px 4px 4px;place-items:center;display:grid;transform:rotate(-2deg)}.brand>span:last-child{flex-direction:column;line-height:1;display:flex}.brand strong{letter-spacing:.17em;font-size:15px}.brand small{font:600 8px/1 var(--font-mono);letter-spacing:.26em;color:#796f60;margin-top:5px}.phase-pill{border:1px solid var(--line);color:#6f6759;font:600 9px/1 var(--font-mono);letter-spacing:.13em;background:#ffffff40;border-radius:999px;padding:8px 13px}.phase-pill span{background:var(--oxide);border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block;box-shadow:0 0 0 3px #b44c2e1f}.top-actions{justify-content:flex-end;gap:9px;display:flex}.icon-button,.new-game-button{cursor:pointer;border:0}.icon-button{border:1px solid var(--line);background:0 0;border-radius:4px;width:38px;height:38px;font-size:19px}.new-game-button{min-height:38px;color:var(--cream);background:var(--ink);letter-spacing:.02em;border-radius:4px;padding:0 15px;font-size:12px;font-weight:650}.new-game-button span{color:#d7815f;margin-left:8px;font-size:16px}.icon-button:hover{background:#ffffff73}.new-game-button:hover{background:var(--oxide-dark)}.hero{max-width:1280px;margin:0 auto;padding:44px 38px 26px}.intro-copy{margin-bottom:36px;padding-left:clamp(0px,7vw,94px);position:relative}.intro-copy:before{content:"";background:var(--oxide);width:clamp(0px,5vw,66px);height:1px;position:absolute;top:11px;left:0}.kicker,.modal-kicker{color:var(--oxide-dark);font:700 9px/1 var(--font-mono);letter-spacing:.24em;margin:0 0 9px}.intro-copy h1{max-width:760px;font:600 clamp(39px, 5vw, 68px)/.88 var(--font-display);letter-spacing:-.035em;margin:0}.intro-copy h1 em{color:var(--oxide);font-weight:500}.intro-copy>p:last-child{color:#675e51;max-width:345px;margin:0;font-size:13px;line-height:1.65;position:absolute;bottom:2px;right:5%}.game-layout{grid-template-columns:minmax(520px,760px) minmax(280px,340px);justify-content:center;align-items:start;gap:clamp(26px,5vw,64px);display:grid}.board-column{min-width:0}.player-strip{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:55px;padding:7px 1px;display:grid}.opponent-strip{border-bottom:1px solid var(--line)}.user-strip{border-top:1px solid var(--line)}.player-identity{align-items:center;gap:10px;display:flex}.player-identity>span:last-child{flex-direction:column;display:flex}.player-identity strong{letter-spacing:.02em;font-size:12px}.player-identity small{color:#817767;font:500 9px/1.4 var(--font-mono);margin-top:2px}.avatar{border-radius:50%;place-items:center;width:34px;height:34px;font-weight:750;display:grid}.ai-avatar{color:var(--cream);background:var(--oxide-dark);font:700 18px/1 var(--font-display)}.user-avatar{color:var(--paper);background:var(--ink);font-size:9px}.captured-pieces{text-align:right;letter-spacing:-2px;color:#454037;min-height:22px;font-size:18px}.no-captures{color:#9a907f;font:500 8px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.turn-light{background:#b4aa99;border-radius:50%;width:8px;height:8px}.turn-light.active{background:#63a778;box-shadow:0 0 0 4px #63a77824}.board-frame{background:#25241f;border:5px solid #24231f;border-radius:2px;padding-left:23px;position:relative;box-shadow:0 18px 48px #2d231433,0 2px 3px #0003}.chessboard{aspect-ratio:1;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.square{cursor:pointer;border:0;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative}.square.light{background:var(--board-light)}.square.dark{background:var(--board-dark)}.square.last-move:after{content:"";background:#dda83652;position:absolute;inset:0}.square.selected:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 5px #f5cc66bf}.square.checked:after{content:"";background:radial-gradient(circle,#be2c1cb3,#b02f1c24 64%,#0000 68%);position:absolute;inset:0}.piece{z-index:2;-webkit-user-select:none;user-select:none;font-family:Segoe UI Symbol,Arial Unicode MS,serif;font-size:clamp(32px,6.1vw,66px);line-height:1;transition:transform .12s;display:block;position:relative;transform:translateY(-1%)}.piece-w{color:#fbf5e7;text-shadow:0 1px #615b51,0 2px 3px #00000080}.piece-b{color:#1d201c;text-shadow:0 1px #ffffff40,0 2px 2px #00000047}.square:hover .piece{transform:translateY(-3%)scale(1.03)}.move-dot{z-index:3;aspect-ratio:1;pointer-events:none;background:#181a1459;border-radius:50%;width:18%;position:absolute}.square.capture .move-dot{background:0 0;border:clamp(3px,.45vw,6px) solid #261e1861;width:76%}.rank-label,.file-label{z-index:4;font:700 clamp(7px, .8vw, 10px)/1 var(--font-mono);pointer-events:none;position:absolute}.rank-label{top:4px;left:4px}.file-label{bottom:3px;right:4px}.light .rank-label,.light .file-label{color:var(--sage)}.dark .rank-label,.dark .file-label{color:var(--board-light)}.evaluation-track{z-index:5;background:#161713;width:13px;position:absolute;top:5px;bottom:5px;left:5px;overflow:hidden}.evaluation-fill{background:#efe6d5;width:100%;min-height:5%;transition:height .3s;position:absolute;bottom:0;left:0}.evaluation-track b{writing-mode:vertical-rl;color:#bfb5a4;mix-blend-mode:difference;font:700 7px/1 var(--font-mono);position:absolute;top:6px;left:50%;transform:translate(-50%)}.game-panel{border:1px solid var(--line);background:#faf5ea70;margin-top:55px;box-shadow:0 12px 42px #45341f17}.status-card{background:var(--ink);min-height:132px;color:var(--cream);border-bottom:4px solid var(--oxide);padding:23px 23px 20px}.status-card>p{color:#c57959;font:700 8px/1 var(--font-mono);letter-spacing:.2em;margin:0 0 9px}.status-card h2{font:600 26px/1.05 var(--font-display);margin:0 0 8px}.status-card>span{color:#bcb4a6;font-size:11px;line-height:1.5}.status-card.is-check{background:#6e281c;border-color:#e39a72}.status-card.is-check>p{color:#f0b89b}.status-card.is-finished{background:#343228}.thinking-dots{gap:3px;margin-left:8px;display:inline-flex}.thinking-dots i{background:#ce805e;border-radius:50%;width:4px;height:4px;animation:1s infinite alternate think}.thinking-dots i:nth-child(2){animation-delay:.18s}.thinking-dots i:nth-child(3){animation-delay:.36s}@keyframes think{to{opacity:.25;transform:translateY(-3px)}}.panel-section{border-bottom:1px solid var(--line);padding:19px 22px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.section-heading>span{color:#6d6457;font:700 8px/1 var(--font-mono);letter-spacing:.2em}.section-heading button{color:#62584b;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #918675;padding:0;font-size:9px}.match-settings dl{gap:8px;margin:0;display:grid}.match-settings dl div{justify-content:space-between;display:flex}.match-settings dt{color:#807665;font-size:10px}.match-settings dd{font:650 9px/1.4 var(--font-mono);margin:0}.move-log{min-height:188px}.move-log ol{scrollbar-width:thin;max-height:205px;margin:0;padding:0;list-style:none;overflow:auto}.move-log li{min-height:28px;font:500 11px/1 var(--font-mono);border-bottom:1px solid #17150f12;grid-template-columns:28px 1fr 1fr;align-items:center;display:grid}.move-log li span{color:#9a907f}.move-log li b{font-weight:600}.empty-log{color:#9a907f;height:118px;font:500 10px/1.5 var(--font-mono);grid-template-columns:28px 1fr;align-items:start;padding-top:4px;display:grid}.empty-log p{max-width:175px;margin:0}.game-controls{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));display:grid}.game-controls button{cursor:pointer;color:#514a40;background:0 0;border:0;min-height:50px;font-size:16px}.game-controls button:first-child{border-right:1px solid var(--line)}.game-controls button span{text-transform:uppercase;letter-spacing:.08em;margin-left:5px;font-size:9px}.game-controls button:hover:not(:disabled){background:#ffffff70}.game-controls button:disabled{opacity:.32;cursor:not-allowed}footer{border-top:1px solid var(--line);color:#827768;justify-content:space-between;align-items:center;max-width:1280px;min-height:110px;margin:12px auto 0;padding:26px 38px 32px;display:flex}footer span{font:700 8px/1 var(--font-mono);letter-spacing:.18em}footer p{font:italic 500 18px/1 var(--font-display);margin:0}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14120ec2;place-items:center;padding:18px;animation:.18s fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.setup-modal,.promotion-modal{background:var(--paper);border-top:5px solid var(--oxide);width:min(100%,530px);max-height:calc(100vh - 36px);padding:35px 39px 29px;position:relative;overflow:auto;box-shadow:0 28px 90px #00000057}.setup-modal:before{content:"";pointer-events:none;background:linear-gradient(135deg,#634f3009 25%,#0000 25%) 0 0/4px 4px;position:absolute;inset:0}.setup-modal>*,.promotion-modal>*{position:relative}.modal-close{z-index:2;color:#746a5d;cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:24px;position:absolute;top:13px;right:15px}.modal-close:disabled{display:none}.setup-modal h2,.promotion-modal h2{font:600 42px/.95 var(--font-display);margin:0}.modal-intro{color:#665e51;max-width:390px;margin:11px 0 25px;font-size:12px;line-height:1.55}fieldset{border:0;margin:0 0 22px;padding:0}legend{color:#6d6457;font:700 8px/1 var(--font-mono);letter-spacing:.17em;text-transform:uppercase;margin-bottom:10px}.color-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.color-options button{border:1px solid var(--line);cursor:pointer;background:#ffffff47;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:83px;display:flex;position:relative}.color-options button>span{font:31px/1 Segoe UI Symbol,serif}.color-options button b{font-size:10px}.color-options button i{background:var(--oxide);color:#fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-style:normal;display:grid;position:absolute;top:7px;right:7px}.color-options button.active{border:2px solid var(--oxide);background:#b44c2e12}.difficulty-options{gap:7px;display:grid}.difficulty-options button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff47;grid-template-columns:40px 1fr 20px;align-items:center;gap:11px;min-height:58px;padding:7px 13px;display:grid}.difficulty-options button.active{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide);background:#b44c2e0f}.difficulty-options button>span:nth-child(2){flex-direction:column;display:flex}.difficulty-options b{font-size:11px}.difficulty-options small{color:#817767;margin-top:2px;font-size:9px;line-height:1.35}.difficulty-options em{color:var(--oxide);font-style:normal;font-weight:800}.level-bars{justify-content:center;align-items:end;gap:3px;height:25px;display:flex}.level-bars i{background:#c7bdab;width:5px}.level-bars i:first-child{height:8px}.level-bars i:nth-child(2){height:15px}.level-bars i:nth-child(3){height:22px}.level-bars i.filled{background:var(--oxide)}.start-button{background:var(--ink);width:100%;min-height:50px;color:var(--cream);cursor:pointer;border:0;font-size:12px;font-weight:650}.start-button span{color:#d7815f;margin-left:9px}.start-button:hover{background:var(--oxide-dark)}.setup-note{color:#8d8373;text-align:center;margin-top:10px;font-size:8px;display:block}.promotion-modal{text-align:center;width:min(100%,510px)}.promotion-modal>p{color:var(--oxide);font:700 8px/1 var(--font-mono);letter-spacing:.2em;margin:0 0 8px}.promotion-modal>div{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:25px;display:grid}.promotion-modal>div button{border:1px solid var(--line);cursor:pointer;background:#ffffff4d;flex-direction:column;justify-content:center;align-items:center;min-height:105px;display:flex}.promotion-modal>div button:hover{border-color:var(--oxide);background:#b44c2e12}.promotion-modal>div span{font:48px/1 Segoe UI Symbol,serif}.promotion-modal>div b{margin-top:5px;font-size:9px}.cancel-promotion{color:#6d6457;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #857a6b;margin-top:17px;font-size:10px}@media (width<=980px){.intro-copy>p:last-child{max-width:540px;margin-top:17px;position:static}.game-layout{grid-template-columns:minmax(0,680px)}.game-panel{grid-template-columns:1fr 1fr;margin-top:0;display:grid}.status-card{grid-row:span 2}.move-log{grid-area:span 2/2}.game-controls{grid-column:1}}@media (width<=660px){.topbar{grid-template-columns:1fr auto;height:66px;padding:0 16px}.phase-pill{display:none}.brand-mark{width:34px;height:34px}.new-game-button{width:38px;padding:0;font-size:0}.new-game-button span{margin:0;font-size:18px}.hero{padding:30px 12px 18px}.intro-copy{margin:0 5px 25px;padding-left:0}.intro-copy:before{display:none}.intro-copy h1{font-size:clamp(39px,13vw,58px)}.intro-copy>p:last-child{font-size:12px}.game-layout{display:block}.player-strip{margin:0 5px}.board-frame{border-width:3px;padding-left:16px}.evaluation-track{width:10px;top:3px;bottom:3px;left:3px}.piece{font-size:clamp(31px,12vw,54px)}.game-panel{margin-top:24px;display:block}.status-card{min-height:116px}footer{min-height:90px;margin-top:0;padding:24px 17px}footer p{display:none}.setup-modal{padding:31px 20px 24px}.setup-modal h2{font-size:37px}.color-options button{min-height:74px}.promotion-modal{padding:30px 15px 24px}.promotion-modal>div{gap:4px}.promotion-modal>div button{min-height:88px}.promotion-modal>div span{font-size:38px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.variant-intro h1{max-width:840px}.variant-game-layout{grid-template-columns:minmax(520px,760px) minmax(310px,360px)}.piece-visual{color:currentColor;-webkit-user-select:none;user-select:none;flex:none;place-items:center;width:1em;height:1em;line-height:1;display:inline-grid;position:relative}.piece-skin-image{object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;transform:scale(var(--piece-art-scale,1));display:block}.piece-visual.align-art-bottom .piece-skin-image{transform-origin:50% 92%}.color-w{color:#fff8e9;text-shadow:0 1px #5c554a,0 2px 3px #00000080}.color-b{color:#1b1f1a;text-shadow:0 1px #ffffff47,0 2px 2px #00000040}.board-piece-wrap{z-index:3;place-items:center;width:82%;height:82%;transition:transform .13s,filter .13s;display:grid;position:relative}.board-piece-wrap .piece-visual{font-size:10.4cqi}.square:hover .board-piece-wrap{transform:translateY(-2%)scale(1.035)}.board-piece-wrap.is-petrified{filter:grayscale()contrast(.72);opacity:.82}.board-piece-wrap.is-shielded:before{content:"";z-index:-1;pointer-events:none;background:url(/pieces/v3/shield_overlay.webp) 50%/contain no-repeat;animation:1.8s ease-in-out infinite shield-breathe;position:absolute;inset:-18%}.board-piece-wrap.has-rebirth:after{content:"";z-index:7;pointer-events:none;background:url(/pieces/v3/rebirth.webp) 50%/contain no-repeat;animation:.85s ease-out both phoenix-rebirth;position:absolute;inset:-25%}.stone-badge,.forms-badge,.shield-badge{z-index:5;color:#f4ecdd;background:#716f69;border:2px solid #ffffffb8;border-radius:50%;place-items:center;width:20px;height:20px;font-size:8px;display:grid;position:absolute;top:-2%;right:-2%}.forms-badge{color:#fff;background:var(--oxide);font:800 9px/1 var(--font-mono)}.shield-badge{color:#fff;font:800 9px/1 var(--font-mono);background:#3d718d;border-color:#d9f4ff;left:-3%;right:auto;box-shadow:0 0 0 2px #3d718d40}.egg-progress-badge,.ascendant-range-badge{z-index:7;color:#fff;min-width:20px;height:20px;font:800 8px/1 var(--font-mono);background:#8b632b;border:2px solid #ffffffc7;border-radius:50%;place-items:center;padding:0 3px;display:grid;position:absolute;bottom:-3%;right:-4%;box-shadow:0 2px 6px #0000004d}.ascendant-range-badge{background:#704a89}.vampire-mark{z-index:8;color:#ffdce6;width:23px;height:13px;font:800 8px/1 var(--font-mono);background:#7b1834;border:1px solid #f0a7ba;border-radius:50%;place-items:center;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 8px #971a42ad}.piece-state-tooltip{z-index:15;opacity:0;pointer-events:none;color:#fff8e9;width:max-content;max-width:150px;text-shadow:none;font:700 clamp(6px,.62vw,9px)/1.25 var(--font-mono);background:#181612f0;border:1px solid #ffffff38;border-radius:3px;padding:5px 7px;transition:opacity .14s,transform .14s;position:absolute;bottom:104%;left:50%;transform:translate(-50%,4px)}.board-piece-wrap:hover>.piece-state-tooltip,.square:focus-within .piece-state-tooltip,.display-role-show-state-tooltip>.piece-state-tooltip{opacity:1;transform:translate(-50%)}.board-piece-wrap.egg-about-to-hatch:after{content:"";z-index:-1;background:radial-gradient(circle,#ffc4586b,#dc691e26 54%,#0000 72%);border-radius:50%;animation:1.05s ease-in-out infinite alternate egg-hatch-aura;position:absolute;inset:-18%;box-shadow:0 0 18px #eb812aad}.vampire-mark.mark-w.orientation-w,.vampire-mark.mark-b.orientation-b{bottom:-12%}.vampire-mark.mark-w.orientation-b,.vampire-mark.mark-b.orientation-w{top:-12%}.compact-icons{justify-content:flex-end;align-items:center;gap:0;display:flex}.compact-icons .piece-visual{width:18px;height:18px;margin-left:-4px;font-size:18px}.compact-icons .special-piece{width:18px;height:18px;font-size:18px}.deployment-wash{z-index:0;pointer-events:none;background:#d38b5814;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #c9694052}.board-indicator{z-index:6;pointer-events:none;place-items:center;display:grid;position:absolute}.indicator-move{aspect-ratio:1;background:#191d1661;border-radius:50%;width:18%;font-size:0}.indicator-capture{border:clamp(3px,.42vw,6px) solid #2a1f1875;border-radius:50%;font-size:0;inset:9%}.indicator-ability,.indicator-forced,.indicator-resurrection,.indicator-ammunition{aspect-ratio:1;color:#4b2f60;width:39%;font:800 clamp(10px,1.5vw,17px)/1 var(--font-mono);background:#704a8929;border:3px solid #704a89;border-radius:8px;transform:rotate(45deg)}.indicator-ability{bottom:7%;right:7%}.indicator-ability>*{transform:rotate(-45deg)}.indicator-forced{color:#8a3b19;background:#c365312e;border-color:#c36531;border-radius:50%;bottom:7%;right:7%;transform:none}.indicator-forced small{color:#fff;background:#8a3b19;border-radius:2px;padding:2px 3px;font-size:6px;position:absolute;top:100%}.indicator-resurrection{color:#315b44;background:#4a806133;border-color:#4a8061;border-radius:50%;bottom:7%;right:7%;transform:none}.indicator-ammunition{color:#244f66;background:#3d6f8a38;border-color:#3d6f8a;border-radius:50%;top:6%;left:6%;transform:none}.indicator-shield-range{z-index:2;background:#85d3f11a;border:2px solid #71bee170;border-radius:12%;inset:5%;box-shadow:inset 0 0 16px #97dcf529}.indicator-shield-range:after{content:"";clip-path:polygon(50% 0,100% 18%,88% 72%,50% 100%,12% 72%,0 18%);background:#d7f6ffb8;border:2px solid #4b99c0ad;border-radius:45% 45% 58% 58%;width:18%;height:22%;position:absolute;bottom:7%;right:7%}.indicator-shield-range.is-target{background:#82d3f43b;border-color:#77c9ec;box-shadow:inset 0 0 0 2px #e1f9ff61,0 0 12px #6abee259}.indicator-shield-range.is-target:after{background:#c9f1ff;border-color:#2f86b2;width:24%;height:29%}.indicator-hook-ray,.indicator-gorgon-ray,.indicator-catapult-ray{z-index:2;--guide-angle:0deg;--guide-span:100%;--guide-shift:0%;inset:0}.indicator-hook-ray:before,.indicator-gorgon-ray:before,.indicator-catapult-ray:before{content:"";width:var(--guide-span);height:2px;transform:translate(-50%,-50%) rotate(var(--guide-angle)) translateX(var(--guide-shift));transform-origin:50%;opacity:.58;border-radius:99px;position:absolute;top:50%;left:50%}.axis-vertical{--guide-angle:90deg}.axis-diagonal-up{--guide-angle:-45deg;--guide-span:141.5%}.axis-diagonal-down{--guide-angle:45deg;--guide-span:141.5%}.direction-right{--guide-angle:0deg}.direction-left{--guide-angle:180deg}.direction-up{--guide-angle:-90deg}.direction-down{--guide-angle:90deg}.direction-up-right{--guide-angle:-45deg;--guide-span:141.5%}.direction-up-left{--guide-angle:-135deg;--guide-span:141.5%}.direction-down-right{--guide-angle:45deg;--guide-span:141.5%}.direction-down-left{--guide-angle:135deg;--guide-span:141.5%}.indicator-hook-ray.is-target,.indicator-gorgon-ray.is-target,.indicator-catapult-ray.is-target{--guide-span:50%;--guide-shift:-50%}.indicator-hook-ray.is-target:before,.indicator-gorgon-ray.is-target:before,.indicator-catapult-ray.is-target:before{display:none}.indicator-hook-ray.is-target.axis-diagonal-up,.indicator-hook-ray.is-target.axis-diagonal-down,.indicator-gorgon-ray.is-target.axis-diagonal-up,.indicator-gorgon-ray.is-target.axis-diagonal-down,.indicator-catapult-ray.is-target.axis-diagonal-up,.indicator-catapult-ray.is-target.axis-diagonal-down{--guide-span:70.75%}.indicator-hook-ray:before{background:repeating-linear-gradient(90deg,#b13d36 0 7px,#b13d3640 7px 10px);height:1.5px;box-shadow:0 0 4px #bc4b4261}.indicator-gorgon-ray:before{background:linear-gradient(90deg,#28533347,#315d3d 35%,#6ea278 55%,#315d3d 78%,#28533347) 0 0/180% 100%;animation:1.35s ease-in-out infinite alternate gorgon-ray-flow;box-shadow:0 0 5px #2758356b}.indicator-catapult-ray:before{background:linear-gradient(90deg,#d980292e,#d98029 44%,#ffd09a 54%,#d98029 68%,#d980292e);height:3px;box-shadow:0 0 5px #d980296b}.indicator-hook-ray.is-target:after,.indicator-gorgon-ray.is-target:after,.indicator-catapult-ray.is-target:after{content:"";z-index:7;aspect-ratio:1;border-radius:50%;width:31%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.indicator-hook-ray.is-target,.indicator-gorgon-ray.is-target,.indicator-catapult-ray.is-target{z-index:6}.indicator-hook-ray.is-target:after{background:#ffe8e4d1;border:3px solid #a83931;border-color:#0000 #a83931 #a83931 #0000;border-radius:50% 50% 64%;width:28%;transform:translate(-50%,-50%)rotate(25deg)}.indicator-gorgon-ray.is-target:after{background:radial-gradient(circle,#173b24 0 22%,#b8d6b9 25% 51%,#315d3d 54%);border:3px solid #254f32;animation:1.2s ease-in-out infinite alternate gorgon-eye;box-shadow:0 0 0 2px #ddefdba8,0 0 14px #2d643b94}.indicator-catapult-ray.is-target:after{background:radial-gradient(circle,#fff0c8 0 12%,#ffd5a1 18% 36%,#e18a34 46% 62%,#0000 68%),conic-gradient(from 20deg,#c76920,#0000 13%,#f0a149 18%,#0000 27%,#c76920 35%,#0000 52%,#f0a149 60%,#0000 76%,#c76920);border:3px solid #be671d;animation:1.05s ease-in-out infinite alternate catapult-target;box-shadow:0 0 0 2px #ffebcbb3,0 0 13px #de75208c}.indicator-hook-ray small{display:none}.indicator-lich-flame{z-index:2;background:#85e0971c;border:2px solid #5eaf756b;border-radius:13%;inset:10%;box-shadow:inset 0 0 18px #77d58b36}.indicator-lich-flame:after{content:"";background:#93e9a7;border-radius:72% 8% 72% 72%;width:20%;height:27%;animation:1s ease-in-out infinite alternate lich-flame;position:absolute;bottom:10%;right:10%;transform:rotate(45deg);box-shadow:0 0 8px #73d68b,0 0 15px #6cd585a3}.indicator-corrupt-target{z-index:4;background:#7e4b9d12;border:2px solid #784c9961;border-radius:50%;inset:12%;box-shadow:inset 0 0 0 4px #d9bee717}.indicator-dragon-breath{z-index:3;background:radial-gradient(circle,#ffd36429,#e04b1c14 55%,#0000 68%);border:2px solid #e5662a6b;border-radius:50%;inset:7%}.indicator-dragon-breath:after{content:"";aspect-ratio:1;background:#ef8a37;border-radius:70% 10% 70% 70%;width:25%;animation:.9s ease-in-out infinite alternate mine-ember;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 9px #e55728}.indicator-dragon-breath.is-target{background:#ee6f2933;border-color:#e36b2f}.indicator-corrupt-target:after{content:"";border:2px solid #5f357c7a;border-left-color:#0000;border-radius:50%;position:absolute;inset:30%;transform:rotate(-24deg)}.indicator-corrupt-target.is-target{z-index:6;background:#7e4b9d26;border-width:3px;border-color:#784c99;animation:1.1s ease-in-out infinite alternate corrupt-target-pulse;inset:8%;box-shadow:inset 0 0 0 5px #d9bee72e,0 0 13px #67348b66}.indicator-ram-push{z-index:5;background:linear-gradient(var(--guide-angle,0deg),#be5c240a,#df8f473d);border:2px solid #ae5b2775;inset:8%;box-shadow:inset 0 0 15px #c05b2333}.indicator-ram-push:before{content:"";width:42%;height:2px;transform:translate(-50%,-50%) rotate(var(--guide-angle));background:#b7592f;position:absolute;top:50%;left:50%;box-shadow:0 0 5px #b7592f94}.indicator-ram-push:after{content:"";aspect-ratio:1;border-top:3px solid #8d3c22;border-right:3px solid #8d3c22;width:21%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.indicator-ram-push.is-target{background:#cd642d33;border-color:#a54427;animation:1s ease-in-out infinite alternate ram-push-pulse}.board-trajectory,.board-action-path{z-index:7;left:var(--path-x);top:var(--path-y);width:var(--path-length);pointer-events:none;height:2px;transform:translateY(-50%) rotate(var(--path-angle));transform-origin:0;border-radius:999px;position:absolute}.board-trajectory.guide-hook-ray{background:repeating-linear-gradient(90deg,#b13d36 0 7px,#b13d3642 7px 10px);height:1.5px;box-shadow:0 0 4px #bc4b426b}.board-trajectory.guide-gorgon-ray{background:linear-gradient(90deg,#2853332e,#315d3d 35%,#86b28c 55%,#315d3d 78%,#28533338) 0 0/180% 100%;animation:1.25s ease-in-out infinite alternate gorgon-ray-flow;box-shadow:0 0 6px #27583580}.board-trajectory.guide-catapult-ray{background:linear-gradient(90deg,#d9802929,#d98029 45%,#ffd09a 55%,#d98029 72%,#d9802933);height:2px;box-shadow:0 0 5px #d980297a}.board-action-path{z-index:12;opacity:0;height:4px}.board-action-path.path-hook{background:linear-gradient(90deg,#7f2e29,#d56c5e);height:2px;animation:1.35s cubic-bezier(.2,.72,.18,1) both hook-extension}.board-action-path.path-hook i{background:#ffe8e4eb;border:3px solid #a83931;border-color:#0000 #a83931 #a83931 #0000;border-radius:50% 50% 66%;width:14px;height:14px;position:absolute;top:50%;right:-7px;transform:translateY(-50%)rotate(38deg)}.board-action-path.path-gorgon{filter:drop-shadow(0 0 4px #315d3d);background:linear-gradient(90deg,#0000,#315d3d 18%,#b4d6b9 53%,#315d3d 82%,#0000);height:5px;animation:1.15s ease-out both gorgon-strike}.board-action-path.path-catapult{opacity:1;height:0}.board-action-path.path-catapult i{background:radial-gradient(circle at 35% 30%,#fff1b7,#e88b2d 48%,#8c3b20 75%);border-radius:50%;width:13px;height:13px;animation:1.18s cubic-bezier(.18,.66,.22,1) both catapult-projectile;position:absolute;top:0;left:0;box-shadow:0 0 10px #e7802d}.board-action-path.path-dragon{opacity:0;filter:drop-shadow(0 0 7px #ed591ecc);clip-path:polygon(0 42%,82% 5%,100% 50%,82% 95%,0 58%);background:linear-gradient(90deg,#ffd55beb,#f37425d1 42%,#cc341b38);height:14px;animation:1.25s ease-out both dragon-flame}@keyframes ram-push-pulse{to{box-shadow:inset 0 0 20px #dd74385c,0 0 12px #ae4b2359}}@keyframes egg-hatch-aura{to{filter:brightness(1.18);transform:scale(1.1)}}@keyframes hook-extension{0%{opacity:0;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(0)}32%,68%{opacity:1;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(1)}to{opacity:0;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(.12)}}@keyframes gorgon-strike{0%{opacity:0;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(.08);background-position:0 0}30%,72%{opacity:1;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(1)}to{opacity:0;background-position:100% 0}}@keyframes catapult-projectile{0%{opacity:0;left:0;transform:translate(-50%,-15px)scale(.7)}18%{opacity:1}50%{transform:translate(-50%,-28px)scale(1.08)}88%{opacity:1}to{opacity:0;left:100%;transform:translate(-50%)scale(.72)}}@keyframes dragon-flame{0%{opacity:0;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(.05)}25%,72%{opacity:1;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(1)}to{opacity:0;transform:translateY(-50%) rotate(var(--path-angle)) scaleX(1.08)}}@keyframes lich-flame{to{filter:brightness(1.12);transform:rotate(45deg)translate(-6%,-8%)scale(.88,1.12)}}.ash-stack{z-index:5;pointer-events:none;width:29%;height:29%;display:flex;position:absolute;bottom:3%;left:3%}.ash-stack i{color:#0000;background:url(/pieces/v3/ashes.webp) 50%/contain no-repeat;width:100%;height:100%;margin-right:-45%;font-size:0;overflow:hidden}.ash-stack .ash-w{filter:brightness(1.3)saturate(.65)}.ash-stack .ash-b{filter:brightness(.78)saturate(1.15)}.mine-explosion{z-index:9;pointer-events:none;background:url(/pieces/v3/mine_explosion.webp) 50%/contain no-repeat;animation:1.15s cubic-bezier(.16,.82,.32,1) both mine-blast;position:absolute;inset:-18%}.board-action-effect{z-index:9;pointer-events:none;position:absolute;inset:5%}.effect-catapult-impact{background:radial-gradient(circle,#fff3c8 0 10%,#ffba5b 16% 32%,#d35b1cdb 42% 52%,transparent 66%),conic-gradient(from 12deg,transparent 0 7%,#f5a143 9% 13%,transparent 16% 26%,#d65b25 28% 33%,transparent 36% 48%,#f5a143 51% 56%,transparent 59% 74%,#d65b25 77% 82%,transparent 85%);border-radius:50%;animation:1.18s cubic-bezier(.14,.72,.22,1) both catapult-impact}.effect-lich-rise{filter:drop-shadow(0 0 8px #72ce8a);background:radial-gradient(at 50% 80%,#96eba9ad,#0000 62%);border-radius:50% 50% 18% 18%;animation:1.2s ease-out both lich-rise;inset:12%}.effect-dragon-breath{background:radial-gradient(circle,#fff0a5 0 9%,#ffb43f 15% 30%,#da411be0 38% 54%,transparent 68%),conic-gradient(transparent 0 8%,#f39137 10% 17%,transparent 20% 42%,#d54d27 45% 53%,transparent 57% 75%,#f3a03c 78% 85%,transparent 88%);border-radius:50%;animation:1.25s cubic-bezier(.14,.72,.22,1) both catapult-impact}.effect-mine-explosion{z-index:14;background:url(/pieces/v3/mine_explosion.webp) 50%/contain no-repeat;animation:2.35s cubic-bezier(.16,.82,.32,1) both mine-blast-delayed;inset:-18%}.board-piece-wrap.effect-move .piece-visual{animation:.68s cubic-bezier(.16,.74,.25,1) both piece-arrival}.board-piece-wrap.effect-hook-drag .piece-visual{animation:1.12s cubic-bezier(.12,.72,.18,1) both hook-drag}.board-piece-wrap.effect-hook-drag:after{content:"";z-index:8;aspect-ratio:1;filter:drop-shadow(0 0 5px #a8393194);border:clamp(2px,.22vw,4px) solid #a83931;border-color:#0000 #a83931 #a83931 #0000;border-radius:50% 50% 64%;width:29%;animation:1.12s both hook-catch;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(24deg)}.board-piece-wrap.effect-ram-shove .piece-visual{animation:1.05s cubic-bezier(.12,.74,.2,1) both ram-shove}.board-piece-wrap.effect-ram-shove:after{content:"";z-index:8;border:clamp(2px,.22vw,4px) solid #b44b22bd;border-radius:50%;animation:1.05s both ram-impact;position:absolute;inset:-4%;box-shadow:0 0 16px #cd602a8a}.board-piece-wrap.effect-corrupt:after{content:"";z-index:8;border:clamp(2px,.24vw,4px) solid #8050a4;border-left-color:#0000;border-radius:50%;animation:1.25s both corrupt-change;position:absolute;inset:-18%;box-shadow:0 0 18px #713b97b8,inset 0 0 16px #d6b1eb85}.board-piece-wrap.effect-corrupt .piece-visual{animation:1.25s both corrupt-piece}.board-piece-wrap.effect-petrify:after{content:"";z-index:8;background:radial-gradient(circle,#aed9b58c,#275a3440 55%,#0000 72%);border-radius:50%;animation:1.15s both petrify-hit;position:absolute;inset:-12%;box-shadow:0 0 17px #2f673dad}.board-piece-wrap.effect-shield:before{animation:1.2s both shield-arrival}.board-ghost-piece{pointer-events:none}.board-ghost-piece.effect-mine-victim{z-index:10}.board-ghost-piece.effect-mine-capturer{z-index:11}.board-ghost-piece.effect-mine-victim .piece-visual{animation:2.35s both mine-victim-hold}.board-ghost-piece.effect-mine-capturer .piece-visual{animation:2.35s cubic-bezier(.16,.72,.22,1) both mine-capture-arrival}.ammo-choice{color:#315e76;font:700 8px/1.2 var(--font-mono)}.variant-panel{margin-top:55px}.selected-rules li+li{margin-top:4px}.forms-list>span{color:#7d7364;width:100%;font:700 7px/1 var(--font-mono);letter-spacing:.12em}.forms-list i{color:var(--oxide-dark);font:650 7px/1 var(--font-mono);background:#b44c2e0f;border:1px solid #b44c2e47;padding:4px 6px;font-style:normal}.forms-list small{color:#999080;font-size:8px}.battlefield-state{padding-block:15px}.battlefield-state .section-heading{margin-bottom:9px}.battlefield-state .section-heading small{color:#958a7a;font:600 7px/1 var(--font-mono)}.cemetery-row{grid-template-columns:1fr 1fr;gap:7px;display:grid}.cemetery-row div{background:#fff3;border:1px solid #17150f17;padding:7px}.cemetery-row b,.cemetery-row span{display:block}.cemetery-row b{font-size:8px}.cemetery-row span{color:#7d7364;margin-top:3px;font-size:8px}.ash-list{margin:8px 0 0;padding:0;list-style:none}.ash-list li{border-top:1px solid #17150f0f;grid-template-columns:18px 1fr auto;align-items:center;gap:4px;min-height:23px;font-size:8px;display:grid}.ash-list li i{color:var(--oxide);font-style:normal}.ash-list li b{font:650 7px/1 var(--font-mono)}.no-field-state{color:#9a907f;margin:8px 0 0;font-size:8px}.variant-log{min-height:164px}.variant-log .history-score-head{color:#817767;min-height:26px;font:700 7px/1 var(--font-mono);letter-spacing:.12em;background:#e1d8c657;border-block:1px solid #17150f17;flex:none;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.variant-log .history-score-head>*{min-width:0;padding:0 9px}.variant-log .history-score-head>*+*{border-left:1px solid #17150f17}.variant-log ol{max-height:185px}.variant-log .history-score li{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);align-items:stretch;min-height:38px;font-size:9px}.variant-log .history-turn-number{color:#8d8271;background:#e1d8c633;justify-content:center;align-items:flex-start;padding-top:10px;display:flex}.variant-log .history-ply{background:#ffffff1a;border-left:1px solid #17150f17;min-width:0;padding:9px}.variant-log .history-ply-black{background:#312d2506}.variant-log .history-ply b{overflow-wrap:anywhere;color:#211e19;font:650 9px/1.35 var(--font-mono);white-space:normal;display:block}.variant-log .history-ply b+b{border-top:1px dotted #17150f1f;margin-top:6px;padding-top:6px}.variant-log .history-ply i{color:#b0a695;font-style:normal}.variant-log .history-empty{grid-template-columns:34px 1fr;padding-top:10px}.variant-log .history-empty span{text-align:center}.promotion-rule{color:#756b5d;margin-top:9px;font-size:9px;display:block}.promotion-modal .piece-visual{font-size:54px}@keyframes shield-breathe{0%,to{opacity:.64;transform:scale(.96)}50%{opacity:.96;transform:scale(1.04)}}@keyframes phoenix-rebirth{0%{opacity:0;transform:scale(.45)rotate(-8deg)}38%{opacity:1}to{opacity:0;transform:scale(1.2)rotate(4deg)}}@keyframes mine-blast{0%{opacity:0;transform:scale(.18)}24%{opacity:1}to{opacity:0;transform:scale(1.12)}}@keyframes mine-blast-delayed{0%,48%{opacity:0;transform:scale(.18)}58%{opacity:1;transform:scale(.5)}78%{opacity:.96;transform:scale(1.06)}to{opacity:0;transform:scale(1.25)}}@keyframes mine-capture-arrival{0%{opacity:1;transform:translate(var(--piece-shift-x,0),var(--piece-shift-y,0)) scale(.94)}38%,58%{opacity:1;transform:translate(0)scale(1)}70%{opacity:1;filter:brightness(1.7);transform:scale(1.04)}83%,to{opacity:0;filter:brightness(2.2);transform:scale(.72)}}@keyframes mine-victim-hold{0%,58%{opacity:1;transform:scale(1)}72%{opacity:1;filter:brightness(1.8);transform:scale(1.06)}84%,to{opacity:0;filter:brightness(2);transform:scale(.62)}}@keyframes mine-ember{to{filter:brightness(1.2);box-shadow:0 0 .09em #ffd069,0 0 .2em #eb5426e0}}@keyframes gorgon-ray-flow{to{opacity:.78;filter:blur(.15px);background-position:100% 0}}@keyframes gorgon-eye{to{filter:brightness(1.12);transform:translate(-50%,-50%)scale(1.12)rotate(5deg)}}@keyframes catapult-target{to{transform:translate(-50%,-50%)scale(1.15)rotate(8deg)}}@keyframes corrupt-target-pulse{to{filter:brightness(1.14);transform:scale(.92)rotate(5deg)}}@keyframes catapult-impact{0%{opacity:0;transform:scale(.12)rotate(-16deg)}28%{opacity:1}72%{opacity:.92;transform:scale(1.06)rotate(8deg)}to{opacity:0;transform:scale(1.34)rotate(16deg)}}@keyframes lich-rise{0%{opacity:0;transform:translateY(28%)scale(.55)}42%{opacity:1}to{opacity:0;transform:translateY(-16%)scale(1.08)}}@keyframes piece-arrival{0%{transform:translate(var(--piece-shift-x,0),var(--piece-shift-y,0)) scale(.94);filter:blur(1px)}72%{transform:translate(0)scale(1.035)}to{filter:none;transform:none}}@keyframes hook-drag{0%{transform:translate(var(--piece-shift-x,0),var(--piece-shift-y,0)) scale(.94)}58%{transform:translate(4%,2%)scale(1.04)}78%{transform:translate(-2%,-1%)scale(.99)}to{transform:none}}@keyframes ram-shove{0%{transform:translate(var(--piece-shift-x,0),var(--piece-shift-y,0)) scale(.9);filter:brightness(1.28)}64%{transform:translate(6%)scale(1.07)}82%{transform:translate(-2%)scale(.99)}to{transform:none}}@keyframes ram-impact{0%{opacity:0;transform:scale(.2)}28%{opacity:1;transform:scale(.7)}72%{opacity:.7;transform:scale(1.15)}to{opacity:0;transform:scale(1.45)}}@keyframes hook-catch{0%,18%{opacity:0;transform:translate(calc(-50% + var(--piece-shift-x,0)),calc(-50% + var(--piece-shift-y,0))) rotate(24deg) scale(.7)}35%,72%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(24deg)scale(1.08)}}@keyframes corrupt-change{0%{opacity:0;transform:rotate(-75deg)scale(.4)}30%,72%{opacity:1}to{opacity:0;transform:rotate(155deg)scale(1.25)}}@keyframes corrupt-piece{0%,to{filter:none}38%{filter:brightness(1.7)sepia(.3)hue-rotate(225deg)saturate(2.1);transform:scale(.9)}68%{filter:brightness(1.25)drop-shadow(0 0 8px #8a55aa);transform:scale(1.06)}}@keyframes petrify-hit{0%{opacity:0;transform:scale(.45)}38%,72%{opacity:1}to{opacity:0;transform:scale(1.18)}}@keyframes shield-arrival{0%{opacity:0;transform:scale(.35)rotate(-18deg)}45%{opacity:1;transform:scale(1.13)rotate(3deg)}to{opacity:.68;transform:scale(.96)}}.forge-flow-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#13120ed6;place-items:center;padding:18px;animation:.18s fade-in;display:grid;position:fixed;inset:0}.forge-flow{background:var(--paper);border-top:5px solid var(--oxide);grid-template-rows:66px minmax(0,1fr);width:min(1260px,100%);max-height:calc(100vh - 36px);display:grid;overflow:hidden;box-shadow:0 30px 100px #0000006b}.flow-header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;padding:0 25px;display:grid;position:relative}.flow-brand{align-items:center;gap:9px;display:flex}.flow-brand>span{color:#fff;background:var(--ink);width:31px;height:31px;font:700 19px/1 var(--font-display);border-radius:3px 11px 3px 3px;place-items:center;display:grid}.flow-brand>div{flex-direction:column;display:flex}.flow-brand b{letter-spacing:.16em;font-size:11px}.flow-brand small{color:#877c6c;font:600 6px/1 var(--font-mono);letter-spacing:.16em;margin-top:3px}.flow-header nav{align-items:center;gap:24px;display:flex}.flow-header nav span{color:#9a8f7f;font:650 8px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;display:flex;position:relative}.flow-header nav span:not(:last-child):after{content:"";background:#c8bead;width:10px;height:1px;position:absolute;left:calc(100% + 7px)}.flow-header nav i{border:1px solid #bdb2a1;border-radius:50%;place-items:center;width:20px;height:20px;font-size:7px;font-style:normal;display:grid}.flow-header nav span.active{color:var(--oxide-dark)}.flow-header nav span.active i{color:#fff;border-color:var(--oxide);background:var(--oxide)}.flow-header nav span.done i{color:#fff;border-color:var(--sage);background:var(--sage)}.flow-close{color:#776d5f;cursor:pointer;background:0 0;border:0;justify-self:end;width:34px;height:34px;font-size:24px}.flow-body{scrollbar-width:thin;min-height:0;padding:34px clamp(24px,4vw,56px) 25px;overflow:auto}.flow-title-block>p{color:var(--oxide);font:700 8px/1 var(--font-mono);letter-spacing:.2em;margin:0 0 7px}.flow-title-block h2{font:600 clamp(35px,4vw,54px)/.95 var(--font-display);margin:0}.flow-title-block>span{color:#695f52;max-width:590px;margin-top:9px;font-size:11px;line-height:1.55;display:block}.flow-title-row{justify-content:space-between;align-items:start;gap:22px;margin-bottom:23px;display:flex}.flow-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:17px;display:flex}.flow-primary,.flow-secondary{cursor:pointer;border:0;min-height:43px;padding:0 18px;font-size:10px;font-weight:700}.flow-primary{min-width:205px;color:var(--cream);background:var(--ink)}.flow-primary b{color:#dd8261;margin-left:10px}.flow-primary:hover:not(:disabled){background:var(--oxide-dark)}.flow-primary:disabled{opacity:.3;cursor:not-allowed}.flow-secondary{color:#62594c;background:0 0;border-bottom:1px solid #8d8272;padding-inline:0}.flow-match{flex-direction:column;justify-content:center;display:flex}.flow-match .flow-title-block{text-align:center}.flow-match .flow-title-block>span{margin-inline:auto}.flow-match-grid{grid-template-columns:1fr 1fr;gap:28px;width:min(850px,100%);margin:28px auto 0;display:grid}.flow-match fieldset{margin:0}.flow-match legend,.catalog-section h3{color:#706758;font:700 8px/1 var(--font-mono);letter-spacing:.16em;margin-bottom:10px}.flow-color-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.flow-color-options button{border:1px solid var(--line);cursor:pointer;background:#ffffff47;flex-direction:column;justify-content:center;align-items:center;min-height:118px;display:flex;position:relative}.flow-color-options button>span{font:37px/1 Segoe UI Symbol,serif}.flow-color-options button b{margin-top:7px;font-size:10px}.flow-color-options button small{color:#857a6b;margin-top:3px;font-size:7px}.flow-color-options button>i{color:#fff;background:var(--oxide);width:18px;height:18px;font:800 8px/1 var(--font-mono);border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;top:7px;right:7px}.flow-color-options button.active{border:2px solid var(--oxide);background:#b44c2e0f}.flow-difficulty-options{gap:7px;display:grid}.flow-difficulty-options button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff47;grid-template-columns:42px 1fr 18px;align-items:center;gap:10px;min-height:58px;padding:7px 12px;display:grid}.flow-difficulty-options button.active{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide);background:#b44c2e0d}.flow-difficulty-options button>span:nth-child(2){flex-direction:column;display:flex}.flow-difficulty-options b{font-size:10px}.flow-difficulty-options small{color:#807667;margin-top:2px;font-size:8px}.flow-difficulty-options em{color:var(--oxide);font-style:normal}.flow-match .flow-footer{width:min(850px,100%);margin-inline:auto}.budget-dial,.deployment-counter{color:#675f53;text-align:center;border:4px solid #c8bdab;border-radius:50%;grid-template-columns:auto auto;place-content:center;width:94px;height:94px;display:grid}.budget-dial strong,.deployment-counter strong{font:700 28px/.9 var(--font-display)}.budget-dial>span,.deployment-counter>span{font:600 10px/1 var(--font-mono);align-self:end}.budget-dial small,.deployment-counter small{font:700 7px/1 var(--font-mono);letter-spacing:.12em;grid-column:1/3;margin-top:4px}.budget-dial.complete{color:#365c43;border-color:#5e8b6c}.budget-dial.over{color:#8d3824;border-color:var(--oxide)}.composition-toolbar{border-left:3px solid var(--sage);background:#17150f0b;justify-content:space-between;align-items:center;min-height:42px;margin-bottom:20px;padding:0 12px;font-size:9px;display:flex}.composition-toolbar button{border:1px solid var(--line);background:var(--cream);cursor:pointer;color:#4f493f;min-height:29px;padding:0 10px;font-size:8px}.catalog-section{margin-top:21px}.piece-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.catalog-card{border:1px solid var(--line);background:#fff3;grid-template-rows:1fr auto;grid-template-columns:62px 1fr;gap:7px 9px;min-height:138px;padding:12px;display:grid}.catalog-card.selected{background:#b44c2e0b;border-color:#b44c2e7a}.catalog-card.royal{background:#5067560e;border-color:#50675680}.catalog-icon{place-items:center;min-height:62px;display:grid;position:relative}.catalog-icon .piece-visual{font-size:57px}.catalog-icon>span{color:#fff;background:var(--oxide-dark);font:700 6px/1 var(--font-mono);padding:3px 4px;position:absolute;top:0;left:0}.catalog-copy h4{font:650 18px/1 var(--font-display);margin:2px 0 4px}.catalog-copy p{color:#746a5d;margin:0;font-size:8px;line-height:1.4}.catalog-copy details{color:#62594d;margin-top:6px;font-size:7px}.catalog-copy summary{cursor:pointer;text-decoration:underline}.catalog-copy details span{margin-top:4px;line-height:1.4;display:block}.quantity-control{border-top:1px solid #17150f14;grid-column:1/3;grid-template-columns:31px 1fr 31px;min-height:28px;padding-top:7px;display:grid}.quantity-control button{border:1px solid var(--line);cursor:pointer;background:#fff6}.quantity-control button:disabled{opacity:.25;cursor:not-allowed}.quantity-control b{font:700 11px/1 var(--font-mono);place-items:center;display:grid}.locked-quantity{border-top:1px solid #17150f14;grid-column:1/3;justify-content:space-between;align-items:center;min-height:29px;padding-top:7px;display:flex}.locked-quantity span{font:700 11px/1 var(--font-mono)}.locked-quantity small{color:var(--sage);font:700 6px/1 var(--font-mono);letter-spacing:.1em}.validation-strip{color:#7b4534;border-left:3px solid var(--oxide);background:#b44c2e14;align-items:center;min-height:36px;margin-top:17px;padding:7px 11px;font-size:9px;display:flex}.validation-strip .valid{color:#3f654c}.validation-strip:has(.valid){border-color:var(--sage);background:#50675614}.validation-strip .error{color:#8c3420}.deployment-workbench{grid-template-columns:minmax(450px,660px) minmax(220px,1fr);align-items:start;gap:25px;display:grid}.deployment-board-wrap{min-width:0}.deployment-side-label{color:#6d6457;font:700 7px/1 var(--font-mono);letter-spacing:.14em;margin-bottom:7px}.setup-board-frame{width:min(100%,650px);margin-inline:auto;padding-left:0}.army-reserve{border:1px solid var(--line);background:#faf5ea85;min-height:420px;padding:16px}.reserve-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:9px;display:flex}.reserve-heading span{font:700 8px/1 var(--font-mono);letter-spacing:.15em}.reserve-heading b{color:#fff;background:var(--ink);border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;display:grid}.army-reserve>p{color:#7c7263;margin:9px 0 12px;font-size:8px;line-height:1.45}.reserve-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.reserve-grid>button{border:1px solid var(--line);cursor:grab;background:#ffffff4d;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:75px;display:flex}.reserve-grid>button.selected{border:2px solid var(--oxide);background:#b44c2e12}.reserve-grid .piece-visual{font-size:38px}.reserve-grid button>span:last-child{text-overflow:ellipsis;white-space:nowrap;color:#6c6356;max-width:70px;font-size:7px;overflow:hidden}.reserve-empty{color:#4d7559;text-align:center;background:#50675612;grid-column:1/4;place-items:center;min-height:80px;font-size:9px;display:grid}.return-reserve{border:1px solid var(--line);cursor:pointer;color:#665d51;background:0 0;width:100%;min-height:31px;margin-top:10px;font-size:8px}.deployment-help{border-left:3px solid var(--sage);background:#50675612;margin-top:15px;padding:10px}.deployment-help b,.deployment-help span{display:block}.deployment-help b{font-size:8px}.deployment-help span{color:#766c5e;margin-top:3px;font-size:7px}.start-battle{background:var(--oxide-dark)}.forge-flow-evolved{width:min(1420px,100%);height:calc(100dvh - 36px);max-height:calc(100dvh - 36px)}.flow-forge{grid-template-rows:minmax(0,1fr) auto auto;gap:7px;padding:12px clamp(18px,2.5vw,34px) 10px;display:grid;overflow:hidden}.forge-workbench{grid-template-columns:minmax(500px,700px) minmax(350px,430px);justify-content:center;align-items:stretch;gap:24px;height:100%;min-height:0;display:grid}.forge-board-side{grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;min-width:0;min-height:0;display:grid}.forge-board-side .deployment-side-label{width:min(100%,100dvh - 260px)}.evolved-board-frame{align-self:center;width:min(100%,100dvh - 260px)}.forge-board-help{color:#776d5f;flex-wrap:wrap;gap:8px 15px;margin-top:9px;font-size:7px;display:flex}.forge-board-help span{align-items:center;gap:5px;display:inline-flex}.help-swatch{background:var(--sage);border-radius:50%;width:8px;height:8px}.help-swatch.move{background:#3d6f8a}.help-swatch.remove{background:var(--oxide)}.forge-army-sidebar{overscroll-behavior:contain;border:1px solid var(--line);scrollbar-width:thin;background:#f8f2e5eb;height:100%;min-height:0;position:relative;overflow-y:auto}.forge-budget-sticky{z-index:8;border-bottom:1px solid var(--line);background:#f7f1e3fa;padding:14px;position:sticky;top:0;box-shadow:0 8px 18px #231e1612}.forge-budget{color:var(--cream);background:var(--ink);padding:11px 12px 9px}.forge-budget>div:first-child{align-items:baseline;display:flex}.forge-budget small{font:700 7px/1 var(--font-mono);letter-spacing:.15em;margin-right:auto}.forge-budget strong{font:700 31px/.8 var(--font-display)}.forge-budget>div>span{color:#bdb4a5;font:600 10px/1 var(--font-mono);margin-left:3px}.forge-budget p{color:#cfc6b7;margin:7px 0 0;font-size:7px}.forge-budget.complete p{color:#b9d8c2}.budget-bar{background:#ffffff21;height:4px;margin-top:9px;overflow:hidden}.budget-bar i{background:#d97851;height:100%;transition:width .2s;display:block}.forge-budget.complete .budget-bar i{background:#73a681}.forge-count{color:#756b5e;justify-content:space-between;gap:10px;margin-top:8px;font-size:7px;display:flex}.forge-count b{color:var(--ink);font-size:9px}.forge-setup-tools{border-bottom:1px solid var(--line);background:#f7f1e3c7;padding:0 14px 12px}.forge-presets{grid-template-columns:1fr 1fr auto;gap:6px;margin-top:9px;display:grid}.forge-presets button{background:var(--cream);color:#554d42;cursor:pointer;border:1px solid #c9bdab;min-height:29px;padding:0 9px;font-size:7px;font-weight:700}.forge-presets button:hover{border-color:var(--oxide);color:var(--oxide-dark)}.formation-actions{grid-template-columns:1fr 1fr auto;gap:6px;margin-top:6px;display:grid}.formation-actions button{color:#4e6454;cursor:pointer;background:#5067560e;border:1px solid #b8aa95;min-height:29px;padding:0 9px;font-size:7px;font-weight:700}.formation-actions button:hover{border-color:var(--sage);background:#5067561a}.formation-actions button:disabled{opacity:.38;cursor:not-allowed}.formation-actions input{display:none}.catalog-drop-hint{color:#81503d;text-align:center;background:#b44c2e0e;border:1px dashed #b44c2e80;margin-top:8px;padding:7px 8px;font-size:7px}.forge-catalog{padding:13px}.forge-catalog h3{color:#776d60;font:700 7px/1 var(--font-mono);letter-spacing:.16em;margin:5px 0 8px}.forge-catalog h3:not(:first-child){margin-top:15px}.forge-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.forge-catalog-card{border:1px solid var(--line);background:#ffffff6b;min-width:0;transition:border-color .13s,background .13s,transform .13s;position:relative}.forge-catalog-card[draggable=true]{cursor:grab}.forge-catalog-card[draggable=true]:active{cursor:grabbing}.forge-catalog-card:hover{border-color:#ad9f8c;transform:translateY(-1px)}.forge-catalog-card.selected{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide);background:#b44c2e0f}.forge-catalog-card.at-limit:not(.selected){background:#e1dbcf73}.catalog-card-main{text-align:left;cursor:pointer;width:100%;min-height:72px;color:inherit;background:0 0;border:0;grid-template-columns:51px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 7px;display:grid}.catalog-piece-image{place-items:center;width:49px;height:58px;display:grid}.catalog-piece-image .piece-visual{font-size:49px}.catalog-card-copy{flex-direction:column;min-width:0;display:flex}.catalog-card-copy b{text-overflow:ellipsis;white-space:nowrap;font:650 13px/1.05 var(--font-display);overflow:hidden}.catalog-card-copy small{color:var(--oxide-dark);font:700 6px/1 var(--font-mono);letter-spacing:.05em;margin-top:4px}.catalog-quantity{min-width:24px;color:var(--cream);background:var(--ink);text-align:center;font:700 7px/1 var(--font-mono);border-radius:10px;align-self:start;padding:4px;font-style:normal}.catalog-remove-one{z-index:3;border:1px solid var(--line);background:var(--cream);width:22px;height:22px;color:var(--oxide-dark);cursor:pointer;font-size:15px;line-height:1;position:absolute;bottom:5px;right:5px}.special-catalog-grid .forge-catalog-card{min-height:91px}.special-catalog-grid .catalog-card-main{grid-template-columns:61px minmax(0,1fr) auto;min-height:89px}.special-catalog-grid .catalog-piece-image{width:58px;height:76px}.special-catalog-grid .catalog-piece-image .piece-visual{font-size:67px}.evolved-validation{min-height:30px;margin-top:0;padding-block:5px}.evolved-flow-footer{min-height:43px;margin-top:0;padding-top:7px}@media (width<=1050px){.forge-workbench{grid-template-columns:minmax(430px,620px) minmax(320px,370px);gap:16px}.forge-flow-evolved .flow-body{padding-inline:23px}}@media (width<=820px){.flow-forge{display:block;overflow-y:auto}.forge-workbench{grid-template-columns:1fr}.forge-army-sidebar{height:auto;max-height:none;position:static;overflow:visible}.forge-budget-sticky{top:-1px}.forge-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forge-board-help{justify-content:center}}@media (width<=520px){.flow-forge{padding-inline:9px}.forge-catalog{padding:9px}.forge-catalog-grid{grid-template-columns:1fr 1fr;gap:4px}.catalog-card-main{grid-template-columns:42px minmax(0,1fr) auto;min-height:66px;padding:4px}.catalog-piece-image{width:40px;height:52px}.catalog-piece-image .piece-visual{font-size:41px}.special-catalog-grid .catalog-card-main{grid-template-columns:48px minmax(0,1fr) auto}.special-catalog-grid .catalog-piece-image{width:47px;height:65px}.special-catalog-grid .catalog-piece-image .piece-visual{font-size:57px}.catalog-card-copy b{font-size:11px}.evolved-flow-footer{flex-wrap:wrap}.evolved-flow-footer>span{text-align:center;order:3;width:100%}}@media (width<=1080px){.piece-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.deployment-workbench{grid-template-columns:minmax(400px,1fr) 235px}.variant-game-layout{grid-template-columns:minmax(0,680px)}}@media (width<=760px){.forge-flow-backdrop{padding:0}.forge-flow{border-top-width:4px;width:100%;height:100vh;max-height:100vh}.flow-header{grid-template-columns:1fr auto;padding:0 14px}.flow-header nav{display:none}.flow-body{padding:25px 14px 18px}.flow-match-grid{grid-template-columns:1fr;gap:20px}.flow-color-options button{min-height:95px}.flow-title-row{align-items:center}.budget-dial,.deployment-counter{flex:none;width:72px;height:72px}.budget-dial strong,.deployment-counter strong{font-size:23px}.piece-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card{grid-template-columns:51px 1fr;padding:9px}.catalog-icon .piece-visual{font-size:47px}.deployment-workbench{grid-template-columns:1fr}.army-reserve{min-height:auto}.reserve-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reserve-empty{grid-column:1/5}.variant-panel{margin-top:20px}}@media (width<=460px){.flow-title-block h2{font-size:34px}.flow-title-block>span{font-size:9px}.piece-catalog-grid{grid-template-columns:1fr}.catalog-card{grid-template-columns:58px 1fr;min-height:123px}.reserve-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reserve-empty{grid-column:1/4}.flow-footer{z-index:20;background:var(--paper);padding-bottom:8px;position:sticky;bottom:-18px}.flow-primary{min-width:175px;padding-inline:10px}.board-piece-wrap .piece-visual{font-size:10.4cqi}.stone-badge,.forms-badge{width:15px;height:15px;font-size:6px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (width>=861px){html,body{width:100%;height:100%;overflow:hidden}.app-shell{background:radial-gradient(circle at 8% 0%, #ffffffb8, transparent 24rem), linear-gradient(135deg, #634f3007 25%, transparent 25%) 0 0 / 4px 4px, var(--paper);grid-template-rows:56px minmax(0,1fr);height:100dvh;min-height:0;display:grid}.topbar{z-index:20;border-top:3px solid var(--oxide);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f3e8e6;width:100%;max-width:none;height:56px;margin:0;padding:3px clamp(18px,2.4vw,34px) 0;position:relative}.brand{gap:9px}.brand-mark{border-radius:3px 11px 3px 3px;width:32px;height:32px;font-size:21px}.brand strong{font-size:13px}.brand small{margin-top:3px;font-size:6px}.phase-pill{background:#ffffff61;padding:7px 11px;font-size:7px}.icon-button{width:33px;height:33px;font-size:16px}.new-game-button{min-height:33px;padding-inline:13px;font-size:10px}.hero{width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:10px clamp(16px,2vw,28px) 12px;overflow:hidden}.game-layout.variant-game-layout{grid-template-columns:minmax(0,min(100dvh - 135px,100vw - 410px)) minmax(310px,370px);justify-content:center;align-items:stretch;gap:clamp(14px,1.5vw,22px);width:fit-content;max-width:100%;height:100%;min-height:0;margin:0 auto;display:grid}.game-layout.variant-game-layout.no-evaluation-layout{grid-template-columns:minmax(0,min(100dvh - 154px,100vw - 410px)) minmax(310px,370px)}.board-column{grid-template-rows:38px auto 38px;align-content:center;min-width:0;min-height:0;display:grid;position:relative}.board-column>.player-strip,.board-column>.board-frame{justify-self:center;width:100%}.player-strip{gap:9px;height:38px;min-height:38px;padding:3px 1px}.player-identity{gap:8px}.player-identity strong{font-size:10px}.player-identity small{margin-top:1px;font-size:7px}.avatar{width:27px;height:27px}.ai-avatar{font-size:15px}.user-avatar{font-size:7px}.no-captures{font-size:6px}.turn-light{width:7px;height:7px}.board-frame{border-width:4px;border-radius:3px;padding-left:19px;box-shadow:0 14px 34px #2d23142e,0 2px 3px #0003}.board-piece-wrap .piece-visual{font-size:10.4cqi}.stone-badge,.forms-badge,.shield-badge{border-width:clamp(1px,.25cqi,2px);width:clamp(14px,2.7cqi,20px);height:clamp(14px,2.7cqi,20px);font-size:clamp(6px,1.15cqi,9px)}.evaluation-track{width:11px;top:4px;bottom:4px;left:4px}.game-panel.variant-panel{background:#faf5eac7;border-radius:4px;flex-direction:column;min-width:0;height:100%;min-height:0;margin:0;display:flex;overflow:hidden;box-shadow:0 12px 38px #45341f1a}.status-card{border-bottom-width:3px;flex:none;min-height:94px;padding:16px 18px 14px}.status-card>p{margin-bottom:6px;font-size:7px}.status-card h2{font:650 23px/1 var(--font-display);margin-bottom:5px}.status-card>span{text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.panel-section{padding:11px 15px}.section-heading{margin-bottom:8px}.section-heading>span{font-size:7px}.match-settings{flex:none}.match-settings dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.match-settings dl div{min-width:0;display:block}.match-settings dt{font-size:7px}.match-settings dd{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;overflow:hidden}.battlefield-state{flex:none;max-height:116px;padding-block:10px;overflow:auto}.cemetery-row{gap:5px}.cemetery-row div{padding:5px 6px}.cemetery-row b,.cemetery-row span{font-size:7px}.ash-list{margin-top:5px}.ash-list li{min-height:20px;font-size:7px}.no-field-state{margin-top:5px;font-size:7px}.move-log.variant-log{flex-direction:column;flex:auto;min-height:82px;display:flex;overflow:hidden}.variant-log .section-heading{flex:none}.variant-log ol{flex:auto;min-height:0;max-height:none;overflow:auto}.variant-log .history-score-head{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);min-height:24px;font-size:6px}.variant-log .history-score-head>*{padding-inline:7px}.variant-log .history-score li{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);min-height:34px;font-size:8px}.variant-log .history-turn-number{padding-top:8px}.variant-log .history-ply{padding:7px}.variant-log .history-ply b{font-size:8px}.empty-log{height:auto;min-height:36px;padding-top:2px;font-size:8px}.game-controls{flex:0 0 42px;min-height:42px}.game-controls button{min-height:42px;font-size:14px}.game-controls button span{font-size:7px}}@media (width<=860px){html,body{height:auto;overflow:auto}.app-shell{height:auto;min-height:100dvh;display:block;overflow:visible}.topbar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f3e8f5;height:56px;padding:0 14px;position:sticky;top:0}.hero{max-width:760px;height:auto;min-height:calc(100dvh - 56px);padding:12px;overflow:visible}.game-layout.variant-game-layout{height:auto;display:block}.board-column{display:block}.board-column>.player-strip,.board-column>.board-frame{width:100%}.player-strip{min-height:42px}.game-panel.variant-panel{flex-direction:column;height:auto;min-height:0;margin-top:14px;display:flex}.move-log.variant-log{min-height:165px}.variant-log .history-score-head{grid-template-columns:38px minmax(0,1fr) minmax(0,1fr);min-height:34px;font-size:8px}.variant-log .history-score-head>*{padding-inline:10px}.variant-log .history-score li{grid-template-columns:38px minmax(0,1fr) minmax(0,1fr);min-height:46px}.variant-log .history-turn-number{padding-top:12px}.variant-log .history-ply{padding:11px 10px}.variant-log .history-ply b{font-size:10px;line-height:1.4}}.brand-button{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.local-avatar{color:var(--cream);background:var(--sage);font:750 10px/1 var(--font-mono)}.board-frame.no-evaluation{padding-left:0}.seed-copy{max-width:100%;color:var(--oxide-dark);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px dotted #8f826f;padding:0;overflow:hidden}.animations-off *,.animations-off :before,.animations-off :after{transition:none!important;animation:none!important}.home-menu-backdrop,.library-backdrop,.turn-curtain{z-index:120;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12110de6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.home-menu{width:min(900px,100%);height:min(820px,100dvh - 24px);min-height:0;color:var(--ink);background:var(--paper);border-top:5px solid var(--oxide);grid-template-rows:58px auto auto minmax(0,1fr) 32px;gap:12px;padding:0 36px 20px;display:grid;overflow:hidden;box-shadow:0 32px 110px #00000075}.home-menu-brand{border-bottom:1px solid var(--line);align-items:center;gap:9px;display:flex}.home-menu-brand>span{width:34px;height:34px;color:var(--cream);background:var(--ink);font:700 21px/1 var(--font-display);border-radius:3px 12px 3px 3px;place-items:center;display:grid}.home-menu-brand>div{flex-direction:column;display:flex}.home-menu-brand b{letter-spacing:.18em;font-size:12px}.home-menu-brand small{color:#857a6a;font:700 6px/1 var(--font-mono);letter-spacing:.2em;margin-top:3px}.home-menu-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.home-menu-heading p{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.2em;margin:0 0 5px}.home-menu-heading h1{font:650 clamp(36px,4.2vw,55px)/.95 var(--font-display);margin:0}.resume-game-card{min-height:57px;color:inherit;text-align:left;cursor:pointer;background:#50675614;border:1px solid #50675666;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:8px 14px;display:grid}.resume-game-card>span{color:#fff;background:var(--sage);border-radius:50%;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.resume-game-card div{flex-direction:column;display:flex}.resume-game-card b{font-size:11px}.resume-game-card small{color:#746b5e;margin-top:2px;font-size:8px}.resume-game-card i{color:var(--sage);font-size:17px;font-style:normal}.home-menu-grid{scrollbar-width:thin;grid-template-columns:1fr;grid-auto-rows:minmax(58px,1fr);gap:7px;min-width:0;min-height:0;padding:0 4px;display:grid;overflow:clip auto}.menu-mode-card,.menu-mode-card.compact{min-height:0;color:inherit;text-align:left;cursor:pointer;background:#ffffff4d;border:1px solid #cbbfac;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;padding:10px 18px;display:grid;position:relative;overflow:hidden}.menu-mode-card.primary{color:var(--cream);border-color:var(--ink);background:var(--ink)}.menu-mode-card:hover{border-color:var(--oxide);box-shadow:inset 4px 0 var(--oxide)}.menu-mode-card.online{background:#50675613;border-color:#50675694}.menu-card-number{color:#9b8f7f;font:700 7px/1 var(--font-mono);position:absolute;top:10px;left:11px}.primary .menu-card-number{color:#b98b78}.menu-mode-card>i,.menu-mode-card.compact>i{width:48px;height:48px;color:var(--oxide-dark);background:#b44c2e14;border-radius:50%;place-items:center;font:27px/1 Segoe UI Symbol,serif;display:grid}.menu-mode-card.primary>i{color:#e0b6a6;background:#ffffff12}.menu-mode-card>div{flex-direction:column;display:flex}.menu-mode-card b,.menu-mode-card.compact b{font:650 20px/1 var(--font-display)}.menu-mode-card small,.menu-mode-card.compact small{color:#746a5d;max-width:430px;margin-top:4px;font-size:8px;line-height:1.35}.menu-mode-card.primary small{color:#bdb4a7}.menu-mode-card>em{color:var(--oxide);font-size:21px;font-style:normal}.home-menu-footer{color:#8a7f70;font:700 6px/1 var(--font-mono);letter-spacing:.15em;justify-content:space-between;align-items:end;display:flex}.flow-match-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(1100px,100%)}.flow-match .flow-footer{width:min(1100px,100%)}.flow-army-options{gap:7px;display:grid}.flow-army-options button{text-align:left;border:1px solid var(--line);min-height:88px;color:inherit;cursor:pointer;background:#ffffff47;grid-template-columns:42px 1fr 18px;align-items:center;gap:10px;padding:10px 12px;display:grid}.flow-army-options button.active{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide);background:#b44c2e0d}.flow-army-options button>span:first-child{text-align:center;font:28px/1 Segoe UI Symbol,serif}.flow-army-options button>span:nth-child(2){flex-direction:column;display:flex}.flow-army-options b{font-size:10px}.flow-army-options small{color:#807667;margin-top:3px;font-size:8px;line-height:1.35}.flow-army-options em{color:var(--oxide);font-style:normal}.flow-seed-input{margin-top:8px;display:block}.flow-seed-input>span{color:#7a7061;font:700 6px/1 var(--font-mono);letter-spacing:.1em;margin-bottom:5px;display:block}.flow-seed-input input{background:var(--cream);width:100%;min-height:34px;color:var(--ink);font:700 8px/1 var(--font-mono);text-transform:uppercase;border:1px solid #c9bdab;padding:0 9px}.library-backdrop{z-index:140}.piece-library,.settings-panel{background:var(--paper);border-top:5px solid var(--oxide);grid-template-rows:74px minmax(0,1fr);width:min(1220px,100%);height:min(780px,100dvh - 36px);display:grid;overflow:hidden;box-shadow:0 32px 110px #00000075}.library-header,.settings-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 25px;display:flex}.library-header p,.settings-panel header p{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.18em;margin:0 0 5px}.library-header h2,.settings-panel header h2{font:650 28px/1 var(--font-display);margin:0}.library-header>button,.settings-panel header>button{color:#746a5d;cursor:pointer;background:0 0;border:0;width:34px;height:34px;font-size:25px}.library-body{grid-template-columns:290px minmax(0,1fr);min-height:0;display:grid}.library-index{border-right:1px solid var(--line);background:#e6dcc96b;flex-direction:column;min-height:0;padding:15px;display:flex}.library-index>input{background:var(--cream);min-height:38px;color:inherit;border:1px solid #c9bdab;padding:0 11px;font-size:10px}.library-filters{grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0;display:grid}.library-filters button{border:1px solid var(--line);color:#706658;cursor:pointer;background:0 0;min-height:29px;font-size:7px;font-weight:700}.library-filters button.active{color:#fff;border-color:var(--sage);background:var(--sage)}.library-piece-list{scrollbar-width:thin;flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:5px;min-height:0;display:grid;overflow-y:auto}.library-piece-list button{border:1px solid var(--line);min-width:0;min-height:66px;color:inherit;text-align:left;cursor:pointer;background:#ffffff4d;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:5px;padding:5px;display:grid}.library-piece-list button.active{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide);background:#b44c2e12}.library-piece-list .piece-visual{place-self:center;font-size:40px;display:grid}.library-piece-list button>span{flex-direction:column;min-width:0;display:flex}.library-piece-list b{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.library-piece-list small{color:#817665;margin-top:3px;font-size:6px}.library-detail{scrollbar-width:thin;min-height:0;padding:clamp(18px,3vw,34px);overflow-y:auto}.library-piece-hero{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;align-items:center;gap:22px;padding-bottom:22px;display:grid}.library-piece-pair{justify-content:center;align-items:center;width:100%;min-height:150px;display:flex}.library-piece-pair .piece-visual{place-items:center;margin-inline:-2px;font-size:112px;display:grid}.library-piece-hero small{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.17em}.library-piece-hero h3{font:650 42px/.95 var(--font-display);margin:5px 0 7px}.library-piece-hero p{color:#685f52;max-width:520px;margin:0;font-size:11px;line-height:1.5}.library-piece-hero div:last-child>span{color:var(--oxide-dark);font:700 7px/1 var(--font-mono);background:#b44c2e14;margin-top:10px;padding:5px 7px;display:inline-block}.library-reference-grid{grid-template-columns:minmax(270px,350px) 1fr;gap:28px;margin-top:22px;display:grid}.encyclopedia-board{border:5px solid #25241f;box-shadow:0 12px 28px #2d23142e}.encyclopedia-board .board-piece-wrap{place-items:center;width:100%;height:100%;display:grid;transform:none!important}.encyclopedia-board .board-piece-wrap .piece-visual{width:38px;height:38px;font-size:38px!important}.encyclopedia-board .special-piece{transform:translateY(-6%)}.encyclopedia-board .special-piece>.special-sprite{background-size:116% 116%}.encyclopedia-board .type-aegis>.special-sprite,.encyclopedia-board .type-specter>.special-sprite{background-size:110% 110%}.encyclopedia-board .classic-piece>span{line-height:.78;display:block;transform:translateY(-7%)}.library-preview>small{color:#7a7062;margin-top:8px;font-size:7px;line-height:1.4;display:block}.open-example-lab{color:#465e4e;cursor:pointer;background:#50675612;border:1px solid #50675675;width:100%;min-height:34px;margin-top:10px;font-size:8px;font-weight:700}.open-example-lab:hover{border-color:var(--sage);background:#50675621}.library-rules{align-content:start;gap:10px;display:grid}.library-rules section{border-left:3px solid var(--sage);background:#5067560f;padding:13px 15px}.library-rules section.ability{background:#704a890f;border-color:#704a89}.library-rules section.practical{background:#b27a350f;border-color:#b27a35}.library-rules section.limits{background:#a448360e;border-color:#a44836}.library-rules section>span{color:#716859;font:700 7px/1 var(--font-mono);letter-spacing:.16em}.library-rules p{color:#5f574c;margin:7px 0 0;font-size:10px;line-height:1.5}.library-rules ul{color:#62594d;margin:8px 0 0;padding-left:16px;font-size:8px;line-height:1.45}.library-rules li+li{margin-top:4px}.settings-panel{grid-template-rows:74px minmax(0,1fr) auto 62px;width:min(650px,100%);height:min(760px,100dvh - 36px);max-height:calc(100dvh - 36px)}.settings-list{scrollbar-width:thin;min-height:0;padding:12px 24px;overflow-y:auto}.setting-row,.settings-save-row,.settings-audio-theme,.settings-volume-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:65px;display:flex}.setting-row>span,.settings-save-row>span,.settings-audio-theme>span,.settings-volume-row>span{flex-direction:column;display:flex}.setting-row b,.settings-save-row b,.settings-audio-theme b,.settings-volume-row b{font-size:11px}.setting-row small,.settings-save-row small,.settings-audio-theme small,.settings-volume-row small{color:#7b7163;max-width:430px;margin-top:3px;font-size:8px;line-height:1.35}.setting-row>button{cursor:pointer;background:#b7ad9d;border:0;border-radius:20px;flex:none;width:39px;height:22px;padding:2px}.setting-row>button i{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;display:block}.setting-row>button.active{background:var(--sage)}.setting-row>button.active i{transform:translate(17px)}.settings-audio-theme>div{gap:5px;display:flex}.settings-audio-theme button{border:1px solid var(--line);min-width:110px;min-height:31px;color:inherit;cursor:pointer;background:0 0;padding:0 8px;font-size:8px}.settings-audio-theme button.active{border-color:var(--sage);background:var(--sage);color:#fff}.settings-volume-row>div{grid-template-columns:minmax(105px,150px) 34px auto;align-items:center;gap:8px;display:grid}.settings-volume-row input{width:100%;accent-color:var(--sage)}.settings-volume-row input:disabled{opacity:.35}.settings-volume-row output{color:#6e6558;font:700 8px/1 var(--font-mono);text-align:right}.settings-volume-row button{border:1px solid var(--line);color:#6c6256;cursor:pointer;background:0 0;min-width:64px;min-height:31px;font-size:8px}.settings-volume-row button.active{border-color:var(--oxide);color:var(--oxide-dark);background:#b44c2e0f}.settings-save-row{border-bottom:0;margin:0 24px;padding:12px 0}.settings-save-row>button{min-height:31px;color:var(--oxide-dark);cursor:pointer;background:#b44c2e0f;border:1px solid #b44c2e61;padding:0 10px;font-size:8px}.settings-save-row>button:disabled{opacity:.35;cursor:not-allowed}.settings-panel>footer{border-top:1px solid var(--line);justify-content:flex-end;min-height:0;margin:0;padding:8px 24px}.settings-panel>footer .flow-primary{min-width:150px;min-height:40px}.turn-curtain{z-index:150}.turn-curtain>section{text-align:center;background:var(--paper);border-top:5px solid var(--oxide);width:min(480px,100%);padding:34px;box-shadow:0 28px 90px #0006}.curtain-mark{color:#fff;background:var(--ink);width:61px;height:61px;font:700 22px/1 var(--font-display);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.turn-curtain p{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.18em;margin:0 0 7px}.turn-curtain h2{font:650 34px/1 var(--font-display);margin:0}.turn-curtain small{color:#71685b;margin:10px 0 22px;font-size:9px;display:block}.turn-curtain .flow-primary{width:100%}.curtain-back{color:#6e6558;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #8d8272;margin-top:13px;font-size:8px}.ready-status{grid-template-columns:1fr 1fr;gap:7px;margin-top:20px;display:grid}.ready-status>span{color:#7e7466;border:1px solid var(--line);background:#ffffff47;flex-direction:column;gap:4px;padding:12px;font-size:8px;display:flex}.ready-status>span b{color:#6d6356;font-size:9px}.ready-status>span.done{color:var(--sage);background:#50675612;border-color:#5067566b}.ready-status>span.done b{color:var(--sage)}.online-backdrop{z-index:150;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12110de6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.online-lobby{width:min(900px,100%);max-height:calc(100dvh - 36px);color:var(--ink);background:var(--paper);border-top:5px solid var(--oxide);overflow:hidden;box-shadow:0 32px 110px #00000075}.online-lobby>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:78px;padding:0 28px;display:flex}.online-lobby>header p{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.18em;margin:0 0 5px}.online-lobby>header h2{font:650 31px/1 var(--font-display);margin:0}.online-lobby>header button{color:#746a5d;cursor:pointer;background:0 0;border:0;width:35px;height:35px;font-size:25px}.online-options{grid-template-columns:1fr 1fr;gap:0;display:grid;position:relative}.online-options>section{flex-direction:column;min-height:365px;padding:32px;display:flex}.online-options>section+section{border-left:1px solid var(--line);background:#ffffff40}.online-options section>span,.online-waiting>span{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.16em}.online-options h3{font:650 30px/1 var(--font-display);margin:9px 0 8px}.online-options p{color:#706658;min-height:48px;margin:0 0 22px;font-size:10px;line-height:1.5}.online-options input{width:100%;height:66px;color:var(--ink);background:var(--cream);font:700 28px/1 var(--font-mono);letter-spacing:.22em;text-align:center;text-transform:uppercase;border:1px solid #bfb29e;padding:0 16px}.online-options .flow-primary{width:100%;min-height:48px;margin-top:auto}.online-options .flow-primary.secondary{color:var(--ink);border:1px solid var(--ink);background:0 0}.online-options .flow-primary:disabled{opacity:.45;cursor:wait}.online-color-choice{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:22px;display:grid}.online-color-choice button{border:1px solid var(--line);min-height:66px;color:inherit;cursor:pointer;background:#ffffff40;justify-content:center;align-items:center;gap:8px;font-size:28px;display:flex}.online-color-choice button b{font-size:10px}.online-color-choice button.active{border-color:var(--sage);box-shadow:inset 0 -4px var(--sage);background:#50675614}.online-error{color:#963a27;text-align:center;font-size:8px;position:absolute;bottom:8px;left:32px;right:32px}.online-waiting{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:34px;display:flex}.online-waiting strong{font:700 clamp(42px,8vw,68px)/1 var(--font-mono);letter-spacing:.19em;margin:12px 0 8px}.online-waiting p{color:#706658;max-width:490px;margin:0;font-size:10px;line-height:1.5}.online-waiting .flow-primary{min-width:250px;margin-top:28px}.online-waiting>small{color:var(--oxide-dark);margin-top:12px;font-size:8px}.online-pulse{color:var(--sage);align-items:center;gap:8px;margin-top:20px;display:flex}.online-pulse i{background:var(--sage);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite online-pulse}.online-pulse b{font-size:9px}@keyframes online-pulse{50%{opacity:.35;transform:scale(.72)}}@media (width<=900px){.home-menu{height:calc(100dvh - 20px);min-height:0;padding-inline:18px;overflow-y:auto}.home-menu-grid{grid-template-rows:repeat(5,minmax(68px,1fr));grid-template-columns:1fr}.home-menu-heading h1{font-size:36px}.home-menu-footer{display:none}.flow-match-grid{grid-template-columns:1fr}.library-body{grid-template-columns:1fr;overflow-y:auto}.library-index{border-right:0;border-bottom:1px solid var(--line);min-height:265px}.library-piece-list{grid-template-columns:repeat(3,minmax(0,1fr))}.library-detail{overflow:visible}.library-reference-grid{grid-template-columns:1fr}.library-preview{max-width:420px}}@media (width<=560px){.home-menu-backdrop,.library-backdrop,.turn-curtain{padding:0}.home-menu,.piece-library{border-top-width:4px;width:100%;height:100dvh;max-height:none}.home-menu{padding-inline:12px}.menu-mode-card{grid-template-columns:49px 1fr auto;padding:14px 12px}.menu-mode-card>i{width:45px;height:45px;font-size:25px}.menu-mode-card b{font-size:20px}.library-header,.settings-panel>header{padding-inline:15px}.library-header h2{font-size:22px}.library-piece-list{grid-template-columns:1fr 1fr}.library-piece-hero{text-align:center;grid-template-columns:1fr}.library-piece-hero p{margin-inline:auto}.library-reference-grid{gap:18px}.library-detail{padding:16px}.settings-panel{width:100%;max-height:100dvh}.settings-list{padding-inline:15px}.settings-save-row{margin-inline:15px}.setting-row small{max-width:240px}.settings-audio-theme,.settings-volume-row{flex-direction:column;align-items:flex-start;gap:8px;padding-block:10px}.settings-audio-theme>div,.settings-volume-row>div{width:100%}.settings-audio-theme button{flex:1;min-width:0}.online-backdrop{padding:0}.online-lobby{width:100%;min-height:100dvh;max-height:100dvh;overflow-y:auto}.online-options{grid-template-columns:1fr}.online-options>section{min-height:300px;padding:24px}.online-options>section+section{border-left:0;border-top:1px solid var(--line)}.online-waiting strong{font-size:39px}}.library-backdrop{overflow:hidden}.piece-library.encyclopedia-v2{grid-template-rows:clamp(64px,9dvh,82px) minmax(0,1fr);width:min(1420px,100vw - 28px);height:calc(100dvh - 28px);max-height:none;overflow:hidden}.encyclopedia-v2 .library-header{grid-template-columns:1fr auto 44px;gap:22px;padding-inline:30px;display:grid}.encyclopedia-v2 .library-header nav{align-self:stretch;align-items:end;gap:3px;display:flex}.encyclopedia-v2 .library-header nav button{color:#746a5d;cursor:pointer;min-width:112px;height:45px;font:800 8px/1 var(--font-mono);letter-spacing:.14em;background:0 0;border:0;border-bottom:3px solid #0000}.encyclopedia-v2 .library-header nav button:hover{color:var(--oxide-dark)}.encyclopedia-v2 .library-header nav button.active{color:var(--oxide-dark);border-bottom-color:var(--oxide);background:linear-gradient(#0000,#b44c2e0f)}.encyclopedia-v2 .library-body{grid-template-columns:clamp(250px,22vw,320px) minmax(0,1fr);min-height:0;overflow:hidden}.encyclopedia-v2 .library-index{min-height:0;padding:clamp(10px,1.7dvh,18px);overflow:hidden}.encyclopedia-index-label{color:#817665;font:800 7px/1 var(--font-mono);letter-spacing:.18em;margin:13px 0 8px}.encyclopedia-v2 .library-piece-list{grid-template-columns:1fr 1fr;gap:6px}.encyclopedia-v2 .library-piece-list button{grid-template-columns:48px minmax(0,1fr);min-height:70px;transition:border-color .15s,background .15s,transform .15s}.encyclopedia-v2 .library-piece-list button:hover{background:#ffffff8f;border-color:#ae9f89;transform:translateY(-1px)}.encyclopedia-v2 .library-piece-list .piece-visual{width:44px;height:44px;font-size:44px}.encyclopedia-v2 .library-piece-list .doctrine-index-card{grid-template-columns:34px minmax(0,1fr)}.doctrine-index-card>i{color:#74695a;width:28px;height:28px;font:800 8px/1 var(--font-mono);border:1px solid #a89b88;border-radius:50%;place-items:center;font-style:normal;display:grid}.doctrine-index-card.active>i{color:#fff;border-color:var(--oxide);background:var(--oxide)}.encyclopedia-v2 .library-detail{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:clamp(12px,2.2dvh,24px) clamp(18px,3vw,44px);display:grid;overflow:hidden}.encyclopedia-v2 .library-piece-hero{grid-template-columns:clamp(128px,14vw,190px) minmax(0,1fr);height:clamp(104px,18dvh,154px);min-height:0;padding-bottom:clamp(10px,1.7dvh,18px);overflow:hidden}.encyclopedia-v2 .library-piece-pair{height:100%;min-height:0}.encyclopedia-v2 .library-piece-pair .piece-visual{width:clamp(68px,10dvh,96px);height:clamp(68px,10dvh,96px);font-size:clamp(68px,10dvh,96px)}.encyclopedia-v2 .library-piece-hero h3{font-size:clamp(30px,4.5dvh,48px)}.encyclopedia-v2 .library-piece-hero p{margin-block:clamp(5px,1dvh,10px);font-size:clamp(9px,1.25dvh,12px)}.encyclopedia-meta{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.encyclopedia-v2 .library-piece-hero .encyclopedia-meta>span{background:#b44c2e12;border:1px solid #b44c2e21;margin:0;padding:6px 8px}.doctrine-hero{grid-template-columns:150px minmax(0,1fr)!important}.doctrine-hero-mark{width:104px;height:104px;color:var(--oxide);font:600 47px/1 var(--font-display);background:radial-gradient(circle,#b44c2e14,#0000 67%);border:1px solid #b44c2e52;border-radius:50%;place-items:center;margin:auto;display:grid}.encyclopedia-v2 .library-reference-grid{grid-template-columns:minmax(300px,1fr) minmax(260px,.92fr);align-items:stretch;gap:clamp(14px,2.2vw,32px);height:100%;min-height:0;margin-top:clamp(8px,1.5dvh,16px);overflow:hidden}.encyclopedia-demo-shell{grid-template-rows:auto minmax(0,1fr) auto auto;align-items:stretch;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.demo-board-frame{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;container-type:size}.demo-stage-heading{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:clamp(28px,4.5dvh,42px);padding:0 4px;display:grid}.demo-stage-heading>b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.demo-stage-heading>small{color:#817665;font:700 6px/1 var(--font-mono);letter-spacing:.08em}.demo-live-dot{background:#6f9a72;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite demo-live;box-shadow:0 0 0 4px #57895e21}.encyclopedia-v2 .encyclopedia-board{aspect-ratio:1;place-self:center;width:min(100cqw,100cqh);min-width:0;max-width:100%;height:min(100cqw,100cqh);min-height:0;max-height:100%;container-type:inline-size}.encyclopedia-v2 .encyclopedia-board .chessboard{width:100%;height:100%}.encyclopedia-v2 .encyclopedia-board .board-piece-wrap{width:82%;height:82%}.encyclopedia-v2 .encyclopedia-board .board-piece-wrap .piece-visual{width:1em;height:1em;transform:none;font-size:10.1cqi!important}.encyclopedia-v2 .encyclopedia-board .special-piece{transform:none}.encyclopedia-v2 .encyclopedia-board .special-piece>.special-sprite{background-size:100% 100%}.encyclopedia-v2 .encyclopedia-board .classic-piece>span{line-height:1;transform:none}.demo-captured-strip{background:#5067560f;border:1px solid #46664d40;border-top:0;align-items:center;gap:4px;min-height:34px;padding:5px 8px;display:flex}.demo-captured-strip>span{color:#677566;font:800 6px/1 var(--font-mono);letter-spacing:.13em;margin-right:5px}.demo-captured-strip>i{place-items:center;width:28px;height:28px;font-style:normal;display:grid;position:relative}.demo-captured-strip .piece-visual{width:26px;height:26px;font-size:26px}.demo-captured-strip i>b{color:#69a777;font-size:9px;position:absolute;top:-1px;right:-2px}.demo-doctrine-status{background:#50675611;border-left:3px solid #899184;grid-template-columns:1fr auto auto;align-items:center;gap:8px;min-height:36px;margin-top:5px;padding:6px 9px;display:grid}.demo-doctrine-status>b{font-size:9px}.demo-doctrine-status>span{color:#756b5d;font:700 7px/1 var(--font-mono)}.demo-doctrine-status>em{color:#fff;background:var(--sage);font:800 7px/1 var(--font-mono);border-radius:2px;padding:4px 6px;font-style:normal}.demo-doctrine-status.armed{border-left-color:var(--oxide);background:#b44c2e11}.demo-composition{background:linear-gradient(135deg,#ece3d3,#dcd0ba);border:5px solid #25241f;grid-template-columns:1fr 1fr;align-content:center;gap:12px;height:100%;min-height:0;padding:clamp(16px,3dvh,34px);display:grid}.demo-composition>span{color:#786c5d;font:800 7px/1 var(--font-mono);letter-spacing:.16em;grid-column:1/-1}.demo-composition>strong{color:var(--ink);font:650 76px/.8 var(--font-display);grid-column:1/-1}.demo-composition>strong small{font-size:15px}.demo-composition>div{background:#ffffff57;border:1px solid #c8bba6;padding:14px}.demo-composition>div b{font-size:25px;display:block}.demo-composition>div span{color:#746a5b;font-size:8px}.demo-composition.active{box-shadow:inset 0 0 0 4px #b44c2e29}.encyclopedia-rule-copy{align-content:start;gap:clamp(5px,1dvh,9px);height:100%;min-height:0;display:grid;overflow:hidden}.encyclopedia-rule-copy section{border-left:3px solid var(--sage);background:#5067560e;padding:clamp(8px,1.35dvh,14px) clamp(10px,1.4vw,16px)}.encyclopedia-rule-copy section:nth-child(2n){background:#704a890d;border-left-color:#76528f}.encyclopedia-rule-copy section:nth-child(3n){background:#b27a350d;border-left-color:#b27a35}.encyclopedia-rule-copy span{color:#746b5d;font:800 7px/1 var(--font-mono);letter-spacing:.15em}.encyclopedia-rule-copy p{color:#5f574c;margin:clamp(4px,.7dvh,8px) 0 0;font-size:clamp(8.5px,1.25dvh,10px);line-height:1.42}.open-example-lab{letter-spacing:.04em;min-height:30px}.board-piece-wrap.effect-specter-shift .piece-visual{animation:1.18s ease-in-out both specter-shift}.board-piece-wrap.effect-succession .piece-visual{animation:1.45s cubic-bezier(.18,.72,.2,1) both heir-succession}@keyframes demo-live{50%{opacity:.4;transform:scale(.72)}}@keyframes specter-shift{0%{opacity:0;filter:blur(5px);transform:scale(.68)}45%{opacity:.78;filter:blur(1px);transform:scale(1.12)}to{opacity:1;filter:none;transform:none}}@keyframes heir-succession{0%{filter:brightness();transform:scale(.82)}42%{filter:brightness(2.2)drop-shadow(0 0 13px #e2b84f);transform:scale(1.16)}to{filter:none;transform:none}}@media (width<=1050px){.piece-library.encyclopedia-v2{border-top-width:4px;width:100%;height:calc(100dvh - 36px);max-height:none}.encyclopedia-v2 .library-body{grid-template-columns:230px minmax(0,1fr)}.encyclopedia-v2 .library-piece-list{grid-template-columns:1fr}.encyclopedia-v2 .library-reference-grid{grid-template-columns:minmax(270px,1fr) minmax(230px,.9fr)}}@media (width<=780px){.encyclopedia-v2 .library-header{grid-template-columns:1fr auto 36px;padding-inline:12px}.encyclopedia-v2 .library-header nav{align-items:end;height:100%}.encyclopedia-v2 .library-header nav button{min-width:80px;height:40px}.piece-library.encyclopedia-v2{grid-template-rows:74px minmax(0,1fr)}.encyclopedia-v2 .library-body{grid-template-columns:160px minmax(0,1fr);overflow:hidden}.encyclopedia-v2 .library-index{border-right:1px solid var(--line);border-bottom:0;min-height:0;padding:8px}.encyclopedia-v2 .library-piece-list{grid-template-columns:1fr}.encyclopedia-v2 .library-detail{padding:10px;overflow:hidden}.encyclopedia-v2 .library-piece-hero{grid-template-columns:88px minmax(0,1fr);height:90px}.encyclopedia-v2 .library-piece-pair .piece-visual{width:54px;height:54px;font-size:54px}.encyclopedia-v2 .library-piece-hero h3{font-size:28px}.encyclopedia-v2 .library-reference-grid{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:7px}.encyclopedia-rule-copy{grid-template-columns:1fr 1fr;height:auto}.encyclopedia-rule-copy section{padding:6px 8px}.encyclopedia-rule-copy p{font-size:8px;line-height:1.28}}@media (width<=560px){.encyclopedia-v2 .library-header h2{font-size:18px}.encyclopedia-v2 .library-header p{display:none}.encyclopedia-v2 .library-header nav button{min-width:62px;font-size:6px}.encyclopedia-v2 .library-body{grid-template-columns:128px minmax(0,1fr)}.encyclopedia-v2 .library-index{padding:6px}.encyclopedia-v2 .library-index>input{min-height:31px;font-size:8px}.encyclopedia-v2 .library-piece-list button{grid-template-columns:34px minmax(0,1fr);min-height:54px}.encyclopedia-v2 .library-piece-list .piece-visual{width:32px;height:32px;font-size:32px}.encyclopedia-v2 .library-piece-hero{grid-template-columns:60px minmax(0,1fr);height:76px;padding-bottom:6px}.encyclopedia-v2 .library-piece-pair .piece-visual{width:42px;height:42px;font-size:42px}.encyclopedia-v2 .library-piece-hero h3{font-size:23px}.encyclopedia-v2 .library-piece-hero p,.encyclopedia-meta{display:none}.demo-stage-heading{grid-template-columns:8px minmax(0,1fr)}.demo-stage-heading>small{display:none}.encyclopedia-v2 .library-detail{padding:7px}.encyclopedia-rule-copy{gap:4px}.encyclopedia-rule-copy section{padding:4px 6px}.encyclopedia-rule-copy span{font-size:5.5px}.encyclopedia-rule-copy p{margin-top:2px;font-size:7px;line-height:1.18}.open-example-lab{min-height:25px;font-size:7px}}@media (height<=760px){.piece-library.encyclopedia-v2{grid-template-rows:66px minmax(0,1fr)}.encyclopedia-v2 .library-piece-hero{height:108px}.encyclopedia-v2 .library-piece-pair .piece-visual{width:70px;height:70px;font-size:70px}.encyclopedia-v2 .library-piece-hero h3{font-size:34px}.encyclopedia-v2 .library-detail{padding-block:10px}.encyclopedia-v2 .library-reference-grid{margin-top:7px}.demo-stage-heading{min-height:29px}.encyclopedia-meta{margin-top:6px}.encyclopedia-v2 .library-piece-hero .encyclopedia-meta>span{padding:4px 6px}.demo-captured-strip,.demo-doctrine-status{min-height:30px}.open-example-lab{min-height:27px}}@media (height<=620px){.piece-library.encyclopedia-v2{grid-template-rows:58px minmax(0,1fr)}.encyclopedia-v2 .library-header p{display:none}.encyclopedia-v2 .library-header h2{font-size:21px}.encyclopedia-v2 .library-piece-hero{height:78px;padding-bottom:6px}.encyclopedia-v2 .library-piece-pair .piece-visual{width:48px;height:48px;font-size:48px}.encyclopedia-v2 .library-piece-hero h3{font-size:27px}.encyclopedia-v2 .library-piece-hero p{margin:3px 0;font-size:8.5px}.encyclopedia-meta{display:none}.encyclopedia-v2 .library-detail{padding-block:6px}.encyclopedia-v2 .library-reference-grid{margin-top:4px}.demo-stage-heading{min-height:24px}.encyclopedia-rule-copy section{padding-block:5px}.encyclopedia-rule-copy p{font-size:8px;line-height:1.25}.open-example-lab{min-height:23px}}.settings-piece-set{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:65px;display:flex}.settings-piece-set>span{flex-direction:column;display:flex}.settings-piece-set b{font-size:11px}.settings-piece-set small{color:#7b7163;max-width:390px;margin-top:3px;font-size:8px;line-height:1.35}.settings-piece-set select{border:1px solid var(--line);min-width:180px;min-height:34px;color:inherit;background:#fbf7ed;padding:0 10px;font-size:9px}@media (width<=560px){.settings-piece-set{flex-direction:column;align-items:flex-start;gap:8px;padding-block:10px}.settings-piece-set select{width:100%}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.export-game-button:disabled{opacity:.35;cursor:not-allowed}.return-to-lab{border:0;border-top:1px solid var(--line);min-height:34px;color:var(--sage);cursor:pointer;font:700 7px/1 var(--font-mono);letter-spacing:.06em;background:#50675617;flex:none}.settings-save-actions{gap:6px;flex-direction:row!important;display:flex!important}.settings-save-actions button{min-height:31px;color:var(--oxide-dark);cursor:pointer;background:#b44c2e0f;border:1px solid #b44c2e61;padding:0 10px;font-size:8px}.save-library-backdrop{z-index:120}.save-library{border-top:5px solid var(--oxide);background:var(--paper);grid-template-rows:78px minmax(0,1fr);width:min(1180px,100vw - 28px);height:min(760px,100dvh - 24px);display:grid;overflow:hidden;box-shadow:0 26px 70px #1b181357}.save-library>header,.lab-header,.draft-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:15px 24px;display:flex}.save-library>header p,.lab-header p,.draft-header p,.lab-source-backdrop p{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.2em;margin:0 0 5px}.save-library>header h2,.lab-header h2,.draft-header h2,.lab-source-backdrop h2{font:650 29px/1 var(--font-display);margin:0}.save-library>header>button,.lab-close,.draft-header>div:last-child>button:last-child{color:#776d5e;cursor:pointer;background:0 0;border:0;width:34px;height:34px;font-size:24px}.save-library-body{grid-template-columns:330px minmax(0,1fr);min-height:0;display:grid}.save-list-panel{border-right:1px solid var(--line);background:#e2d8c63d;flex-direction:column;min-height:0;padding:14px;display:flex}.save-import-row button,.save-current-form button{border:1px solid var(--sage);background:var(--sage);color:#fff;cursor:pointer;width:100%;min-height:38px;font-size:9px;font-weight:700}.save-current-form{grid-template-columns:1fr 92px;gap:5px;margin-top:7px;display:grid}.save-current-form input{border:1px solid var(--line);background:var(--cream);min-width:0;padding:0 9px;font-size:9px}.save-current-form button{border-color:var(--oxide);background:var(--oxide);min-height:34px}.save-list{scrollbar-width:thin;flex:1;min-height:0;margin-top:10px;overflow-y:auto}.save-list>button{border:1px solid #0000;border-bottom-color:var(--line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:62px;padding:9px 10px;display:flex}.save-list>button.active{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide);background:#b44c2e12}.save-list>button span{flex-direction:column;min-width:0;display:flex}.save-list b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.save-list small{color:#7f7464;margin-top:4px;font-size:7px}.save-list i{color:#776d5e;flex:none;font-size:7px;font-style:normal}.save-empty{color:#817666;padding:18px 8px;font-size:9px;line-height:1.5}.save-detail{min-height:0;padding:22px 26px;overflow-y:auto}.save-detail-empty{text-align:center;place-content:center;min-height:100%;display:grid}.save-detail-empty>span{color:var(--oxide);font-size:44px}.save-detail-empty h3{margin:8px 0;font-size:23px}.save-detail-empty p{color:#776d60;font-size:10px}.save-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:15px;padding-bottom:15px;display:flex}.save-detail-heading small{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.15em}.save-detail-heading h3{font:650 31px/1 var(--font-display);margin:5px 0}.save-detail-heading p{color:#786e60;margin:0;font-size:9px}.save-detail-heading button{color:var(--oxide-dark);cursor:pointer;background:0 0;border:0}.save-summary-grid{grid-template-columns:240px 1fr;gap:22px;margin-top:18px;display:grid}.save-preview{border:4px solid #25241f;overflow:hidden}.save-preview .board-piece-wrap .piece-visual{font-size:10.4cqi}.save-summary-grid dl{grid-template-columns:1fr 1fr;align-content:start;gap:1px;margin:0;display:grid}.save-summary-grid dl div{background:#5067560e;padding:11px}.save-summary-grid dt{color:#817665;font:700 6px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.save-summary-grid dd{margin:5px 0 0;font-size:10px;font-weight:700}.save-privacy-warning{background:#b9773117;border-left:3px solid #b97731;flex-direction:column;gap:4px;margin-top:14px;padding:10px 12px;display:flex}.save-privacy-warning b{font-size:9px}.save-privacy-warning span{font-size:8px;line-height:1.4}.save-primary-actions,.save-secondary-actions{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.save-primary-actions button,.save-secondary-actions>button,.save-secondary-actions span button,.save-branch-row button{border:1px solid var(--line);background:var(--cream);min-height:35px;color:inherit;cursor:pointer;padding:0 11px;font-size:8px}.save-primary-actions button:first-child{color:#fff;border-color:var(--sage);background:var(--sage)}.save-primary-actions button:disabled{opacity:.35;cursor:not-allowed}.save-secondary-actions .danger{color:#983d2a}.save-secondary-actions span{color:#8f3d2b;align-items:center;gap:5px;font-size:8px;display:flex}.save-branch-row{background:#704a890e;align-items:end;gap:7px;margin-top:12px;padding:11px;display:flex}.save-branch-row label{flex-direction:column;flex:1;gap:5px;display:flex}.save-branch-row label span{color:#715b7d;font:700 6px/1 var(--font-mono);letter-spacing:.15em}.save-branch-row select{border:1px solid var(--line);background:var(--cream);min-height:34px;padding:0 8px}.lab-source-backdrop{z-index:125;background:#181713d6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.lab-source-backdrop section{border-top:5px solid var(--oxide);background:var(--paper);width:min(660px,100%);padding:28px;box-shadow:0 25px 80px #00000059}.lab-source-backdrop section>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff47;flex-direction:column;justify-content:center;gap:4px;width:100%;min-height:62px;margin-top:7px;padding:10px 14px;display:flex}.lab-source-backdrop section>button:hover{border-color:var(--oxide)}.lab-source-backdrop section>button:disabled{opacity:.35}.lab-source-backdrop button b{font-size:12px}.lab-source-backdrop button small{color:#776d5e;font-size:8px}.lab-source-backdrop .curtain-back{text-align:center;align-items:center;min-height:36px;margin-top:14px}.lab-backdrop,.draft-backdrop{z-index:130;padding:8px}.forge-laboratory,.draft-flow{border-top:5px solid var(--oxide);background:var(--paper);grid-template-rows:68px minmax(0,1fr) 52px;width:min(1480px,100vw - 16px);height:calc(100dvh - 16px);display:grid;position:relative;overflow:hidden;box-shadow:0 26px 80px #0000005c}.lab-header{padding-block:9px}.lab-header-actions,.draft-header>div:last-child{align-items:center;gap:5px;display:flex}.lab-header-actions button,.draft-header>div:last-child button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:32px;padding:0 9px;font-size:8px}.lab-header-actions button:disabled{opacity:.3}.lab-header-actions .lab-close{border:0;font-size:22px}.lab-workspace{grid-template-columns:minmax(210px,270px) minmax(430px,1fr) minmax(260px,330px);min-height:0;display:grid}.lab-palette,.lab-inspector{border-right:1px solid var(--line);background:#e2d8c633;min-height:0;padding:12px;overflow:hidden}.lab-inspector{border-right:0;border-left:1px solid var(--line);overflow-y:auto}.lab-search{flex-direction:column;gap:6px;display:flex}.lab-search span{color:#776d5e;font:700 7px/1 var(--font-mono);letter-spacing:.16em}.lab-search input,.piece-inspector-form input,.piece-inspector-form select,.global-inspector-form input,.global-inspector-form select,.lab-start-overlay select{border:1px solid var(--line);background:var(--cream);width:100%;min-height:32px;color:inherit;padding:0 8px;font-size:8px}.lab-color-tabs,.lab-inspector-tabs{grid-template-columns:1fr 1fr;gap:4px;margin:8px 0;display:grid}.lab-color-tabs button,.lab-inspector-tabs button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:29px;font-size:8px}.lab-color-tabs button.active,.lab-inspector-tabs button.active{color:#fff;border-color:var(--sage);background:var(--sage)}.lab-piece-palette{scrollbar-width:thin;align-content:start;gap:4px;height:calc(100% - 74px);display:grid;overflow-y:auto}.lab-piece-palette button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff42;grid-template-columns:40px 1fr;align-items:center;gap:8px;min-height:52px;padding:5px 7px;display:grid}.lab-piece-palette button.active{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide)}.lab-piece-palette .piece-visual{font-size:38px}.lab-piece-palette span{flex-direction:column;min-width:0;display:flex}.lab-piece-palette b{font-size:9px}.lab-piece-palette small{color:#817666;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:6px;overflow:hidden}.lab-board-column{grid-template-rows:32px minmax(0,1fr) 38px;justify-items:center;min-width:0;min-height:0;padding:8px 14px;display:grid}.lab-turn-row{justify-content:space-between;align-items:center;width:min(100%,100dvh - 170px);font-size:8px;display:flex}.lab-turn-row button{color:var(--oxide-dark);cursor:pointer;background:0 0;border:0;font-size:8px}.lab-board-frame{border-width:4px;align-self:center;width:min(100%,100dvh - 170px);padding-left:0}.lab-board-frame .board-piece-wrap .piece-visual{font-size:10.4cqi}.lab-validation-summary{background:#a5402f12;border-left:3px solid #a5402f;justify-content:space-between;align-items:center;gap:8px;width:min(100%,100dvh - 170px);padding:7px 9px;display:flex}.lab-validation-summary.valid{border-color:var(--sage);background:#50675614}.lab-validation-summary span{font-size:8px;font-weight:700}.lab-validation-summary small{color:#776d5e;text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.lab-selected-title{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:9px;display:flex}.lab-selected-title .piece-visual{font-size:54px}.lab-selected-title span{min-width:0}.lab-selected-title small{color:#7b7163;text-overflow:ellipsis;white-space:nowrap;font-size:6px;display:block;overflow:hidden}.lab-selected-title h3,.global-inspector-form h3,.lab-no-selection h3{margin:4px 0 0;font-size:19px}.piece-inspector-form>label,.global-inspector-form>label,.lab-start-overlay label{color:#716758;flex-direction:column;gap:4px;margin-top:8px;font-size:7px;font-weight:700;display:flex}.lab-check-grid{grid-template-columns:1fr 1fr;gap:5px;margin-top:8px;display:grid}.lab-check-grid label,.lab-form-grid label{align-items:center;gap:4px;min-width:0;font-size:7px;display:flex}.lab-check-grid input,.lab-form-grid input{width:auto;min-height:0}.piece-inspector-form fieldset,.global-inspector-form fieldset{border:1px solid var(--line);margin:9px 0 0;padding:8px}.piece-inspector-form legend,.global-inspector-form legend{color:#776d5e;font:700 6px/1 var(--font-mono);letter-spacing:.12em;padding:0 4px}.lab-form-grid{grid-template-columns:1fr 1fr;gap:4px;max-height:108px;display:grid;overflow-y:auto}.lab-inline-fields{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lab-inline-fields label{color:#716758;flex-direction:column;gap:4px;min-width:0;margin-top:8px;font-size:7px;font-weight:700;display:flex}.lab-piece-actions{gap:6px;margin-top:11px;display:flex}.lab-piece-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;flex:1;min-height:32px;font-size:8px}.lab-piece-actions .danger{color:#9e3e2a}.lab-no-selection{text-align:center;place-content:center;justify-items:center;min-height:100%;display:grid}.lab-no-selection .piece-visual{font-size:70px}.lab-no-selection p{color:#766c5e;max-width:190px;font-size:8px;line-height:1.5}.lab-ash-editor{grid-template-columns:38px 1fr 42px 60px;gap:4px;display:grid}.lab-ash-editor button{border:1px solid var(--line);background:var(--cream);cursor:pointer;font-size:7px}.global-inspector-form fieldset ul{max-height:76px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.global-inspector-form fieldset li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:23px;font-size:7px;display:flex}.global-inspector-form fieldset li button{cursor:pointer;background:0 0;border:0}.lab-issues{background:#5067560d;margin-top:10px;padding:8px}.lab-issues>b{font-size:8px}.lab-issues p{margin:5px 0 0;font-size:7px;line-height:1.35}.lab-issues .error{color:#9c3e2a}.lab-issues .warning{color:#8a642b}.lab-issues .valid{color:var(--sage)}.lab-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:7px;min-height:0;padding:7px 18px;display:flex}.lab-footer button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:36px;padding:0 13px;font-size:8px}.lab-footer button span{background:var(--oxide);color:#fff;border-radius:50%;place-items:center;min-width:16px;height:16px;margin-left:4px;display:inline-grid}.lab-footer .flow-primary{border-color:var(--ink);background:var(--ink);color:#fff}.lab-footer .flow-primary:disabled{opacity:.35}.lab-start-overlay{z-index:8;background:#1b1914bf;place-items:center;display:grid;position:absolute;inset:0}.lab-start-overlay section{border-top:4px solid var(--oxide);background:var(--paper);width:min(520px,100% - 24px);padding:24px}.lab-start-overlay section>p{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.15em;margin:0}.lab-start-overlay h3{margin:6px 0 16px;font-size:27px}.lab-start-modes{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.lab-start-modes button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:42px;font-size:8px}.lab-start-modes button.active{color:#fff;border-color:var(--sage);background:var(--sage)}.lab-start-overlay section>div:last-child{justify-content:flex-end;gap:6px;margin-top:16px;display:flex}.lab-start-overlay section>div:last-child button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:36px;padding:0 12px}.lab-start-overlay section>div:last-child .flow-primary{background:var(--ink);color:#fff}.draft-flow{grid-template-rows:68px minmax(0,1fr)}.draft-header{padding-block:9px}.draft-stage{grid-template-rows:94px 35px minmax(230px,1fr) 125px;min-height:0;padding:12px 24px;display:grid;overflow:hidden}.draft-scoreboards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.draft-scoreboards section{border:1px solid var(--line);background:#ffffff40;grid-template-rows:auto auto 32px;grid-template-columns:1fr auto;min-width:0;padding:10px 13px;display:grid}.draft-scoreboards section.active{border-color:var(--oxide);box-shadow:inset 4px 0 var(--oxide)}.draft-scoreboards section>div:first-child{align-items:center;gap:6px;font-size:10px;display:flex}.draft-scoreboards section>div:first-child small{background:var(--ink);color:#fff;padding:3px 5px;font-size:6px}.draft-color-dot{border:1px solid #817665;border-radius:50%;width:10px;height:10px}.draft-color-dot.w{background:#fffaf0}.draft-color-dot.b{background:#1c1f1b}.draft-scoreboards strong{grid-area:1/2/3;font-size:31px}.draft-scoreboards strong i{font-size:9px;font-style:normal}.draft-scoreboards p{color:#776d5f;margin:4px 0 0;font-size:7px}.draft-army-icons{grid-column:1/-1;align-items:center;gap:1px;display:flex;overflow:hidden}.draft-army-icons>span{width:27px;height:27px;position:relative}.draft-army-icons .piece-visual{font-size:27px}.draft-army-icons span b{background:var(--ink);color:#fff;border-radius:8px;padding:2px;font-size:5px;position:absolute;bottom:-1px;right:-2px}.draft-order{color:#776d5e;justify-content:center;align-items:center;gap:28px;font-size:8px;display:flex}.draft-order b{color:var(--ink)}.draft-cards{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px;min-height:0;display:grid}.draft-card{text-align:center;background:#ffffff4f;border:1px solid #c9bdab;grid-template-rows:18px minmax(70px,1fr) auto auto minmax(30px,auto) 35px;justify-items:center;min-width:0;padding:12px;display:grid;position:relative;overflow:hidden}.draft-card.permanent{background:#50675612;border-color:#506756bf}.draft-card.picked{animation:.28s both draft-pick}.draft-card.disabled{opacity:.58}.draft-card>small{color:var(--oxide);font:700 6px/1 var(--font-mono);letter-spacing:.13em}.draft-card .piece-visual{align-self:center;font-size:clamp(60px,7vw,100px)}.draft-card h3{margin:0;font-size:clamp(16px,1.6vw,23px)}.draft-card strong{color:var(--oxide-dark);font-size:25px}.draft-card strong i{font-size:7px;font-style:normal}.draft-card p{color:#71685b;margin:4px 0;font-size:8px;line-height:1.35}.draft-card>button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;align-self:end;width:100%;min-height:31px;font-size:8px;font-weight:700}.draft-card>button:disabled{cursor:not-allowed}.draft-card>em{color:#8a412e;background:#f8f3e8f2;padding:4px;font-size:6px;font-style:normal;line-height:1.25;position:absolute;inset:auto 7px 7px}.draft-pick-log{border-top:1px solid var(--line);min-height:0;margin-top:8px;padding-top:7px}.draft-pick-log>span{color:#776d5e;font:700 6px/1 var(--font-mono);letter-spacing:.14em}.draft-pick-log ol{grid-template-rows:repeat(5,1fr);grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:0 18px;max-height:91px;margin:6px 0 0;padding:0;list-style:none;display:grid}.draft-pick-log li{border-bottom:1px solid #c7bcaa99;grid-template-columns:27px 1fr auto;align-items:center;min-width:0;font-size:7px;display:grid}.draft-pick-log li b{color:#8a7e6e}.draft-pick-log li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.draft-pick-log li i{color:var(--oxide);font-style:normal}.draft-config{width:min(900px,100%);min-height:0;margin:auto;padding:24px;overflow-y:auto}.draft-config fieldset{border:1px solid var(--line);gap:6px;margin:0 0 12px;padding:10px;display:flex}.draft-config legend{color:#776d5e;font:700 7px/1 var(--font-mono);letter-spacing:.12em;padding:0 5px}.draft-config fieldset button{border:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;flex:1;justify-content:center;gap:3px;min-height:51px;padding:7px 10px;display:flex}.draft-config fieldset button.active{color:#fff;border-color:var(--sage);background:var(--sage)}.draft-config fieldset button b{font-size:9px}.draft-config fieldset button small{font-size:7px}.draft-config>label{color:#716758;flex-direction:column;gap:4px;margin-top:9px;font-size:7px;font-weight:700;display:flex}.draft-config input,.draft-config select{border:1px solid var(--line);background:var(--cream);min-height:35px;padding:0 9px}.draft-config>.flow-primary{background:var(--ink);color:#fff;cursor:pointer;border:0;width:100%;min-height:43px;margin-top:17px}.draft-deployment{grid-template-columns:minmax(430px,760px) minmax(260px,360px);justify-content:center;gap:20px;min-height:0;padding:12px 20px;display:grid}.draft-deploy-board{flex-direction:column;justify-content:center;min-width:0;min-height:0;display:flex}.draft-deploy-board .board-frame{border-width:4px;width:min(100%,100dvh - 125px);padding-left:0}.draft-deploy-board .board-piece-wrap .piece-visual{font-size:10.4cqi}.draft-deployment>aside{border:1px solid var(--line);background:#ffffff3d;align-self:stretch;min-height:0;padding:18px;overflow-y:auto}.draft-deployment>aside h3{margin:0;font-size:24px}.draft-deployment>aside>p{color:#71685b;font-size:9px;line-height:1.5}.draft-reserve-summary{grid-template-columns:1fr 1fr;gap:4px;display:grid}.draft-reserve-summary>span{border:1px solid var(--line);grid-template-columns:31px 1fr auto;align-items:center;gap:4px;min-width:0;padding:4px;display:grid}.draft-reserve-summary .piece-visual{font-size:31px}.draft-reserve-summary b{text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.draft-reserve-summary i{font-size:7px;font-style:normal}.draft-deploy-validation{background:#a8453012;border-left:3px solid #a84530;margin-top:12px;padding:9px;font-size:8px}.draft-deploy-validation.valid{border-color:var(--sage);background:#50675614}.draft-deployment>aside>.flow-primary{background:var(--ink);color:#fff;cursor:pointer;border:0;width:100%;min-height:40px;margin-top:12px}.draft-deployment>aside>.flow-primary:disabled{opacity:.35}.draft-handoff{text-align:center;place-content:center;justify-items:center;min-height:0;display:grid}.draft-handoff>span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:62px;height:62px;font-size:25px;display:grid}.draft-handoff p{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.17em;margin:16px 0 6px}.draft-handoff h3{margin:0;font-size:30px}.draft-handoff small{color:#746b5e;max-width:430px;margin-top:7px;font-size:9px}.draft-handoff button{background:var(--ink);color:#fff;cursor:pointer;border:0;min-height:42px;margin-top:18px;padding:0 16px}.draft-message{z-index:5;color:#fff;background:#8e3e29;max-width:calc(100% - 30px);padding:8px 12px;font-size:8px;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 5px 18px #0003}@keyframes draft-pick{50%{transform:translateY(-8px)scale(1.02);box-shadow:0 15px 30px #b44c2e33}to{opacity:.25;transform:scale(.96)}}@media (width>=861px){.home-menu-grid{grid-template-rows:repeat(8,minmax(46px,1fr));gap:5px}.menu-mode-card,.menu-mode-card.compact{grid-template-columns:43px minmax(0,1fr) auto;gap:9px;padding:6px 13px}.menu-mode-card>i,.menu-mode-card.compact>i{width:36px;height:36px;font-size:20px}.menu-mode-card b,.menu-mode-card.compact b{font-size:16px}.menu-mode-card small,.menu-mode-card.compact small{margin-top:2px;font-size:7px}}@media (width<=860px){.save-library{grid-template-rows:64px minmax(0,1fr);width:100%;height:100dvh}.save-library-body{display:block;overflow-y:auto}.save-list-panel{border-right:0;border-bottom:1px solid var(--line);max-height:310px}.save-list{max-height:190px}.save-detail{padding:15px;overflow:visible}.save-summary-grid{grid-template-columns:120px 1fr;gap:12px}.forge-laboratory,.draft-flow{width:100%;height:100dvh}.lab-header,.draft-header{padding:8px 10px}.lab-header h2,.draft-header h2{font-size:19px}.lab-header-actions button:not(.lab-close){display:none}.lab-workspace{flex-direction:column;display:flex;overflow-y:auto}.lab-palette{border-right:0;border-bottom:1px solid var(--line);flex:0 0 174px}.lab-piece-palette{grid-template-columns:repeat(3,minmax(0,1fr));height:96px}.lab-piece-palette button{min-width:0}.lab-piece-palette small{display:none}.lab-board-column{flex:none;padding:8px}.lab-board-frame,.lab-turn-row,.lab-validation-summary{width:min(100%,100vw - 20px)}.lab-inspector{border-left:0;border-top:1px solid var(--line);flex:none;max-height:none;overflow:visible}.lab-footer{justify-content:stretch;padding:6px}.lab-footer button{flex:1;min-width:0;padding:0 5px}.draft-stage{grid-template-rows:auto auto auto 120px;padding:9px;overflow-y:auto}.draft-scoreboards{grid-template-columns:1fr}.draft-order{flex-wrap:wrap;gap:7px 15px;padding:7px 0}.draft-cards{grid-template-columns:1fr 1fr}.draft-card{min-height:230px}.draft-card .piece-visual{font-size:66px}.draft-pick-log ol{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}.draft-deployment{padding:8px;display:block;overflow-y:auto}.draft-deploy-board .board-frame{width:100%}.draft-deployment>aside{margin-top:10px;overflow:visible}}.roguelite-backdrop{z-index:125;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 110%,#be49263d,#0000 46%),#161410db;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.roguelite-intermission{border:1px solid #dec19957;border-top:5px solid var(--oxide);color:#f4ecde;background:linear-gradient(145deg,#171611 0%,#252117 68%,#321b13 100%);flex-direction:column;width:min(880px,100vw - 28px);min-height:min(610px,100dvh - 28px);padding:32px 42px;display:flex;position:relative;overflow:hidden;box-shadow:0 36px 100px #00000094}.roguelite-intermission>header{border-bottom:1px solid #ebdabb29;align-items:center;gap:12px;padding-bottom:20px;display:flex}.roguelite-sigil{width:48px;height:48px;font:700 27px/1 var(--font-display);background:#b44c2e2e;border:1px solid #f1b78173;border-radius:50% 50% 46% 12%;place-items:center;display:grid}.roguelite-intermission header div{flex-direction:column;gap:5px;display:flex}.roguelite-intermission header p{color:#e47b55;font:800 8px/1 var(--font-mono);letter-spacing:.24em;margin:0}.roguelite-intermission header small{color:#a99b88;font:700 6px/1 var(--font-mono);letter-spacing:.2em}.roguelite-hero{max-width:680px;margin:auto 0;padding:34px 0 26px}.roguelite-hero>span{color:#e47b55;font:800 8px/1 var(--font-mono);letter-spacing:.2em}.roguelite-hero h2{font:650 clamp(40px,6vw,72px)/.9 var(--font-display);letter-spacing:-.035em;margin:10px 0 12px}.roguelite-hero p{color:#c8bbaa;max-width:590px;margin:0;font-size:11px;line-height:1.6}.roguelite-progress{grid-template-columns:repeat(10,1fr);gap:7px;margin-bottom:24px;display:grid}.roguelite-progress span{background:#ffffff1f;height:5px;position:relative}.roguelite-progress span i{color:#71695e;font:700 6px/1 var(--font-mono);font-style:normal;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.roguelite-progress span.won{background:#cf6240;box-shadow:0 0 13px #cf624061}.roguelite-progress span.won i,.roguelite-progress span.next i{color:#f1c1a7}.roguelite-progress span.next{background:linear-gradient(90deg,#cf6240 16%,#ffffff1f 16%)}.roguelite-next{background:#ffffff1f;grid-template-columns:1.5fr 1fr 1fr;gap:1px;margin-bottom:22px;display:grid}.roguelite-next>div{background:#12110df0;flex-direction:column;justify-content:center;min-height:92px;padding:16px 20px;display:flex}.roguelite-next small{color:#8e8273;font:700 6px/1 var(--font-mono);letter-spacing:.18em}.roguelite-next b{font:650 20px/1 var(--font-display);margin-top:9px}.roguelite-next strong{color:#f2b08b;font:650 32px/1 var(--font-display);margin-top:4px}.roguelite-next span{color:#918678;margin-top:2px;font-size:7px}.roguelite-actions{align-items:center;gap:10px;margin-top:auto;display:flex}.roguelite-actions button{color:#d7c9b7;cursor:pointer;background:0 0;border:1px solid #efddbf38;min-height:45px;padding:0 18px;font-size:9px}.roguelite-actions .flow-primary{border-color:var(--oxide);background:var(--oxide);color:#fff;min-width:245px}.roguelite-embers{pointer-events:none;position:absolute;inset:0}.roguelite-embers i{background:#f08b55;border-radius:50%;width:3px;height:3px;animation:5.4s linear infinite roguelite-ember;position:absolute;bottom:-10px;box-shadow:0 0 12px #f08b55}.roguelite-embers i:first-child{animation-delay:-1s;left:12%}.roguelite-embers i:nth-child(2){animation-delay:-4s;left:31%}.roguelite-embers i:nth-child(3){animation-delay:-2.4s;left:55%}.roguelite-embers i:nth-child(4){animation-delay:-.5s;left:76%}.roguelite-embers i:nth-child(5){animation-delay:-3.2s;left:89%}@keyframes roguelite-ember{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:.85}to{opacity:0;transform:translateY(-640px)translate(36px)scale(1.5)}}.menu-mode-card.roguelite{background:linear-gradient(90deg,#b44c2e1c,#ffffff3d);border-color:#b44c2eb8}.menu-mode-card.roguelite>i{color:#a43f29;background:#b44c2e24}@media (width>=861px){.home-menu-grid{grid-template-rows:repeat(9,minmax(43px,1fr))}}@media (width<=640px){.roguelite-backdrop{padding:0}.roguelite-intermission{border-top-width:4px;width:100%;min-height:100dvh;padding:24px 18px}.roguelite-hero h2{font-size:43px}.roguelite-next{grid-template-columns:1fr 1fr}.roguelite-next>div:first-child{grid-column:1/-1}.roguelite-actions{flex-direction:column;align-items:stretch}.roguelite-actions button,.roguelite-actions .flow-primary{width:100%;min-width:0}.roguelite-progress{gap:3px}}:root{--forge-coal:#12110e;--forge-iron:#24231d;--forge-steel:#37362e;--forge-copper:#c45a35;--forge-gold:#d4ae6a;--forge-stone:#eee5d4;--forge-smoke:#958b7c}body{background-color:#0000;background-image:radial-gradient(circle at 50% -18%,#c45a3529,#0000 36rem),linear-gradient(115deg,#171611,#28261f 48%,#12110e);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.app-shell{background:radial-gradient(circle at 25% 0,#ffffff6b,transparent 34rem),linear-gradient(135deg,#5145300a 25%,transparent 25%) 0 0/5px 5px,var(--paper)}.topbar{border-top:4px solid var(--forge-copper);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#efe7d7db;border-bottom-color:#1d1a1438;max-width:none;height:66px;padding-inline:clamp(18px,3vw,52px);box-shadow:0 8px 30px #18140d14}.brand-mark,.flow-brand>span,.home-menu-brand>span{background:linear-gradient(145deg,#0f0f0c,#2e2b23);border-radius:3px 16px 3px 3px;box-shadow:inset 0 0 0 1px #ffffff14,0 7px 18px #0003}.phase-pill{background:#fffaed9e;border-color:#8b58323d;box-shadow:inset 0 0 14px #956d3c0f}.new-game-button{background:linear-gradient(135deg,#171612,#2d2920);box-shadow:0 6px 17px #0000002e}.hero{max-width:1360px;padding-top:24px}.variant-game-layout{gap:clamp(22px,3vw,45px)}.game-panel{border:1px solid #3e362938;border-top:4px solid var(--forge-copper);background:linear-gradient(#f9f4eaf7,#e5dbc8f5);box-shadow:0 24px 55px #231c112e}.status-card{background:linear-gradient(145deg,#11110e,#29261f);box-shadow:inset 0 0 0 1px #ffffff0b}.panel-section{border-color:#3e362929}.home-menu-backdrop,.forge-flow-backdrop,.new-game-backdrop,.save-library-backdrop,.library-backdrop,.settings-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:radial-gradient(circle at 50% 105%,#c45a352e,#0000 40%),#0f0e0be0}.home-menu,.forge-flow,.new-game-config,.save-library,.piece-library,.settings-panel{border-top-color:var(--forge-copper);background:linear-gradient(135deg,#f4ecdc 0%,#e7dcc7 100%);box-shadow:0 35px 100px #00000085}.home-menu:before,.forge-flow:before,.new-game-config:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 49.8%,#6e553309 50%,#0000 50.2%),radial-gradient(circle at 85% 8%,#c45a3512,#0000 24rem);position:absolute;inset:0}.home-menu-heading h1,.flow-title-block h2,.new-game-config h2{letter-spacing:-.045em;text-shadow:0 1px #fff}.menu-mode-card{background:#fffbf15c;border-color:#40352533;box-shadow:inset 0 1px #ffffffb3}.menu-mode-card:hover{z-index:2;border-color:var(--forge-copper);box-shadow:inset 5px 0 var(--forge-copper),0 12px 28px #412b191f;background:#f9f1e2}.menu-mode-card.primary{color:#f5ead8;background:linear-gradient(120deg,#171612,#302a21);box-shadow:inset 0 0 0 1px #ffffff0d,0 15px 34px #00000038}.menu-mode-card.primary:hover{background:linear-gradient(120deg,#201c16,#3a2c21)}.home-menu-footer{color:#766b5c;border-top-color:#4338292e}.new-game-backdrop{z-index:112;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.new-game-config{border-top:5px solid var(--forge-copper);flex-direction:column;width:min(980px,100vw - 24px);max-height:calc(100dvh - 24px);display:flex;position:relative;overflow:auto}.new-game-config>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 28px 18px;display:flex;position:relative}.new-game-config header p{color:var(--forge-copper);font:800 7px/1 var(--font-mono);letter-spacing:.24em;margin:0 0 6px}.new-game-config header h2{font:650 40px/.9 var(--font-display);margin:0}.new-game-config header span{color:#776d5f;margin-top:9px;font-size:9px;display:block}.new-game-config header>button{color:#756a5b;cursor:pointer;background:0 0;border:0;width:38px;height:38px;font-size:26px}.controller-choice{grid-template-columns:repeat(3,1fr);gap:7px;padding:18px 28px 10px;display:grid;position:relative}.controller-choice button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff42;grid-template-columns:46px 1fr 18px;align-items:center;gap:10px;min-height:90px;padding:13px;display:grid}.controller-choice button.active{border-color:var(--forge-copper);box-shadow:inset 4px 0 var(--forge-copper);background:#c45a3514}.controller-choice i{background:#1f1d1714;border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;font-style:normal;display:grid}.controller-choice span{flex-direction:column;gap:5px;display:flex}.controller-choice b{font-size:14px}.controller-choice small{color:#746a5c;font-size:8px;line-height:1.35}.controller-choice em{color:var(--forge-copper);font-style:normal}.ruleset-modifiers{padding:10px 28px;position:relative}.modifier-heading{justify-content:space-between;align-items:end;margin-bottom:7px;display:flex}.modifier-heading span,.doctrine-preselection label>span{color:#756b5e;font:800 7px/1 var(--font-mono);letter-spacing:.16em}.modifier-heading small{color:#8b8070;font-size:7px}.ruleset-modifiers>label{border:1px solid var(--line);cursor:pointer;background:#ffffff38;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-height:64px;margin-top:6px;padding:10px 14px;display:grid}.ruleset-modifiers>label.active{background:#704a8913;border-color:#8762a1;box-shadow:inset 4px 0 #76508f}.ruleset-modifiers input{opacity:0;position:absolute}.ruleset-modifiers label>i{font-size:25px;font-style:normal}.ruleset-modifiers label>span{flex-direction:column;gap:4px;display:flex}.ruleset-modifiers b{font-size:12px}.ruleset-modifiers small{color:#766c5e;font-size:8px}.ruleset-modifiers em{color:#796d5e;font:800 6px/1 var(--font-mono);letter-spacing:.1em;font-style:normal}.doctrine-preselection{grid-template-columns:1fr 1fr;gap:8px;padding:8px 28px 18px;display:grid;position:relative}.doctrine-preselection label{background:#704a890e;border-left:3px solid #76508f;flex-direction:column;gap:6px;padding:12px;display:flex}.doctrine-preselection select{border:1px solid var(--line);background:var(--cream);min-height:36px;padding:0 9px;font-weight:700}.doctrine-preselection small{color:#71675a;min-height:28px;font-size:8px;line-height:1.4}.new-game-config>footer{justify-content:space-between;align-items:center;padding:11px 28px 18px;display:flex;position:relative}.new-game-config>footer button{min-height:40px;padding:0 15px}.setup-doctrine-banner{background:#704a8912;border-left:3px solid #76508f;grid-template-columns:auto 1fr;gap:4px 8px;margin:7px 0;padding:9px 10px;display:grid}.setup-doctrine-banner small{color:#76508f;font:800 6px/1 var(--font-mono);letter-spacing:.12em;writing-mode:vertical-rl;grid-row:1/3}.setup-doctrine-banner b{font-size:9px}.setup-doctrine-banner span{color:#716759;font-size:7px;line-height:1.35}.doctrine-runtime{border-bottom:1px solid var(--line);background:#704a8911;border-left:4px solid #76508f;grid-template-columns:1fr auto;gap:7px;padding:11px 15px;display:grid;position:relative}.doctrine-runtime.armed,.doctrine-runtime.pending{background:linear-gradient(90deg,#704a8926,#704a890a);box-shadow:inset 0 0 22px #704a8914}.doctrine-runtime>div{flex-direction:column;gap:3px;display:flex}.doctrine-runtime small{color:#76508f;font:800 6px/1 var(--font-mono);letter-spacing:.13em}.doctrine-runtime b{font-size:11px}.doctrine-runtime span{color:#6e6558;font-size:7px;line-height:1.3}.doctrine-runtime button{color:#fff;cursor:pointer;background:#76508f;border:1px solid #76508f;grid-area:1/2/3;min-width:66px;font-size:7px;font-weight:800}.doctrine-runtime button:disabled{opacity:.38}.doctrine-runtime em{color:#76508f;font:800 6px/1 var(--font-mono);font-style:normal;position:absolute;top:11px;right:82px}.doctrine-runtime progress{accent-color:#76508f;grid-column:1/-1;width:100%;height:3px}.captured-pieces .captured-token{background:0 0;border:0;place-items:center;width:24px;height:28px;padding:0;display:inline-grid;position:relative}.captured-pieces .captured-token .piece-visual{font-size:25px}.captured-pieces button.soul-token{cursor:pointer}.captured-pieces button.soul-token:disabled{cursor:default}.soul-token>i{color:#d7f3c2;background:#3e765a;border-radius:50%;place-items:center;width:10px;height:10px;font-size:6px;font-style:normal;display:grid;position:absolute;bottom:0;right:-1px;box-shadow:0 0 7px #4b9d6880}.soul-token.consumed{opacity:.35;filter:grayscale()}.soul-token.consumed>i{color:#ddd;background:#4a443b}.soul-token.selected{outline-offset:1px;outline:2px solid #67b47c}.fog-hidden{position:relative}.fog-veil{z-index:4;pointer-events:none;background:radial-gradient(circle at 45% 40%,#2a2c27ad,#0d0e0ceb);position:absolute;inset:0;box-shadow:inset 0 0 18px #00000075}.fog-veil:after{content:"";filter:blur(4px);border:1px solid #dbcdab14;border-radius:50%;position:absolute;inset:22%}@media (width<=860px){.new-game-backdrop{padding:0}.new-game-config{width:100%;min-height:100dvh;max-height:100dvh}.controller-choice{grid-template-columns:1fr;padding:12px 15px 6px}.controller-choice button{min-height:68px}.ruleset-modifiers,.doctrine-preselection{padding-inline:15px}.doctrine-preselection{grid-template-columns:1fr}.modifier-heading small{display:none}.new-game-config>header,.new-game-config>footer{padding-inline:15px}.new-game-config header h2{font-size:32px}.topbar{height:58px;padding-inline:12px}.phase-pill{display:none}}.roguelite-intermission{scrollbar-width:thin;width:min(1040px,100vw - 28px);height:min(900px,100dvh - 28px);min-height:0;overflow-y:auto}.roguelite-intermission .roguelite-hero{margin:0;padding:22px 0 18px}.roguelite-intermission .roguelite-hero h2{font-size:clamp(35px,5vw,60px)}.roguelite-identity-brief{color:#eee1cf;background:linear-gradient(115deg,#ffffff0b,#c45a3514);border:1px solid #e7cfad2b;border-left:4px solid #c45a35;grid-template-columns:minmax(220px,1.3fr) minmax(220px,1fr);gap:16px;padding:16px 18px;display:grid;position:relative}.roguelite-identity-brief:has(>.roguelite-brief-doctrines){grid-template-columns:minmax(220px,1.3fr) minmax(220px,1fr) minmax(180px,.9fr)}.roguelite-identity-copy small,.roguelite-opponent-doctrines small{color:#df7955;font:800 6px/1 var(--font-mono);letter-spacing:.16em}.roguelite-identity-copy h3{font:650 26px/1 var(--font-display);margin:5px 0 6px}.roguelite-identity-copy p{color:#bcae9b;margin:0;font-size:8px;line-height:1.45}.roguelite-signatures{justify-content:center;align-items:center;gap:7px;display:flex}.roguelite-signatures>span{color:#bfb09d;text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:58px;font-size:6px;display:flex}.roguelite-signatures .piece-visual{width:49px;height:49px;font-size:49px}.roguelite-brief-doctrines{align-content:center;gap:7px;display:grid}.roguelite-opponent-doctrines{flex-direction:column;justify-content:center;gap:5px;display:flex}.roguelite-opponent-doctrines>span{background:#704a891f;border-left:2px solid #8763a0;padding:5px 7px;font-size:7px;font-weight:750}.roguelite-opponent-doctrines.earned>span{background:#50675624;border-left-color:#5f826a}.roguelite-identity-brief.boss{background:radial-gradient(circle at 86% 20%,#d4ae6a26,#0000 35%),#ffffff09;border-color:#d4ae6a6e #d4ae6a6e #d4ae6a6e #d4ae6a}.roguelite-elite-choice{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;display:grid}.roguelite-elite-choice>button{color:#eee2d1;text-align:left;cursor:pointer;background:#0a0a0842;border:1px solid #eddabc33;grid-template-columns:1fr auto;align-content:center;gap:3px 12px;min-height:102px;padding:13px 16px;display:grid}.roguelite-elite-choice>button:hover:not(:disabled),.roguelite-elite-choice>button.selected{background:#c45a3524;border-color:#d77b55}.roguelite-elite-choice>button.elite{background:#d4ae6a12;border-color:#d4ae6a66}.roguelite-elite-choice>button:disabled:not(.selected){opacity:.45}.roguelite-elite-choice button small{color:#d87852;font:800 7px/1 var(--font-mono);letter-spacing:.15em}.roguelite-elite-choice button strong{font:650 37px/.8 var(--font-display);grid-area:1/2/3}.roguelite-elite-choice button span{color:#8f8374;font-size:7px}.roguelite-elite-choice button p{color:#bcae9d;grid-column:1/-1;margin:8px 0 0;font-size:8px;line-height:1.4}.roguelite-elite-choice button p b{color:#e4bd88}.elite-risk{color:#c9baa5;background:#d4ae6a14;border-left:3px solid #d4ae6a;grid-column:1/-1;margin:2px 0 0;padding:8px 10px;font-size:8px;line-height:1.4}.roguelite-earned-doctrines{margin:0 0 15px}.roguelite-earned-doctrines>small{color:#8e8273;font:800 6px/1 var(--font-mono);letter-spacing:.16em}.roguelite-earned-doctrines>div{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px;display:grid}.roguelite-earned-doctrines span{background:#704a8921;border-left:3px solid #76508f;flex-direction:column;justify-content:center;min-height:50px;padding:8px 10px;display:flex}.roguelite-earned-doctrines b{font-size:8px}.roguelite-earned-doctrines em{color:#aa9daf;margin-top:3px;font-size:6.5px;font-style:normal;line-height:1.35}.roguelite-earned-doctrines p{color:#827669;grid-column:1/-1;margin:0;font-size:8px}.roguelite-actions button:disabled{opacity:.35;cursor:not-allowed}.doctrine-runtime-stack{scrollbar-width:thin;border-bottom:1px solid var(--line);max-height:205px;overflow-y:auto}.doctrine-runtime-stack .doctrine-runtime:last-child{border-bottom:0}.roguelite-battle-identity{border-left:4px solid #c45a35;border-bottom:1px solid var(--line);background:#c45a3512;flex-direction:column;gap:3px;padding:10px 14px;display:flex}.roguelite-battle-identity small{color:#b34c2e;font:800 6px/1 var(--font-mono);letter-spacing:.15em}.roguelite-battle-identity b{font:650 17px/1 var(--font-display)}.roguelite-battle-identity>span{color:#73695b;font-size:7px;line-height:1.35}.roguelite-battle-identity>div{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.roguelite-battle-identity em{color:#70527f;font:800 6px/1 var(--font-mono);background:#704a891a;padding:4px 6px;font-style:normal}.roguelite-battle-identity.boss{background:#d4ae6a17;border-left-color:#d1a85d}.forge-flow:has(>.roguelite-identity-brief.compact){grid-template-rows:66px auto minmax(0,1fr)}.forge-flow>.roguelite-identity-brief.compact{color:#eee1cf;background:linear-gradient(90deg,#1b1914,#302219);border-width:0 0 1px 4px;grid-template-columns:minmax(180px,1fr) auto;min-height:72px;padding:8px 24px}.forge-flow>.roguelite-identity-brief.compact:has(>.roguelite-brief-doctrines){grid-template-columns:minmax(180px,1fr) auto minmax(150px,auto)}.roguelite-identity-brief.compact .roguelite-identity-copy h3{font-size:18px}.roguelite-identity-brief.compact .roguelite-identity-copy p{font-size:7px}.roguelite-identity-brief.compact .roguelite-signatures .piece-visual{width:36px;height:36px;font-size:36px}.roguelite-identity-brief.compact .roguelite-signatures>span{min-width:44px}.roguelite-identity-brief.compact .roguelite-brief-doctrines{grid-template-columns:repeat(2,minmax(0,1fr));min-width:160px}.forge-flow:has(>.roguelite-identity-brief.compact) .evolved-board-frame{width:min(100%,100dvh - 345px)}.forge-flow:has(>.roguelite-identity-brief.compact) .forge-board-side .deployment-side-label{width:min(100%,100dvh - 345px)}@media (width<=760px){.roguelite-intermission{width:100%;height:100dvh;padding:18px 14px}.roguelite-identity-brief,.roguelite-identity-brief.compact{grid-template-columns:1fr;padding:12px}.roguelite-signatures{justify-content:flex-start}.roguelite-brief-doctrines{min-width:0!important}.roguelite-elite-choice,.roguelite-earned-doctrines>div{grid-template-columns:1fr}.forge-flow:has(>.roguelite-identity-brief.compact){grid-template-rows:58px auto minmax(0,1fr)}.forge-flow:has(>.roguelite-identity-brief.compact) .roguelite-signatures{display:none}.forge-flow:has(>.roguelite-identity-brief.compact) .roguelite-brief-doctrines{gap:6px;display:flex;overflow-x:auto}.forge-flow:has(>.roguelite-identity-brief.compact) .roguelite-opponent-doctrines{flex-direction:row;align-items:center;min-width:max-content}.forge-flow:has(>.roguelite-identity-brief.compact) .roguelite-opponent-doctrines>span{white-space:nowrap}.forge-flow:has(>.roguelite-identity-brief.compact) .evolved-board-frame{width:min(100%,100dvh - 305px)}.forge-flow:has(>.roguelite-identity-brief.compact) .forge-board-side .deployment-side-label{width:min(100%,100dvh - 305px)}}.draft-reserve-summary>button{border:1px solid var(--line);min-width:0;color:inherit;text-align:left;cursor:pointer;background:#fff3;grid-template-columns:31px 1fr auto;align-items:center;gap:4px;padding:4px;display:grid}.draft-reserve-summary>button:hover,.draft-reserve-summary>button:focus-visible{border-color:var(--sage)}.roguelite-intermission{scrollbar-gutter:stable}.roguelite-embers{contain:paint;overflow:hidden}.doctrine-info{min-width:0;color:inherit;background:#704a8921;border-left:3px solid #8763a0;position:relative}.doctrine-info>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:8px 10px;list-style:none;display:flex}.doctrine-info>summary::-webkit-details-marker{display:none}.doctrine-info>summary span{font-size:8px;font-weight:800}.doctrine-info>summary i{width:18px;height:18px;font:800 8px/1 var(--font-mono);opacity:.72;border:1px solid;border-radius:50%;flex:0 0 18px;place-items:center;font-style:normal;display:grid}.doctrine-info>div{padding:0 10px 10px}.doctrine-info p{color:#b9aabd;margin:0;font-size:7px;line-height:1.45}.doctrine-info small{color:#a99bae;margin-top:4px;font-size:6.5px;line-height:1.4;display:block}.doctrine-info.compact>summary{min-height:28px;padding:5px 7px}.doctrine-info.compact>summary span{font-size:7px}.doctrine-info.compact>summary i{flex-basis:16px;width:16px;height:16px}.roguelite-opponent-doctrines.earned .doctrine-info{background:#50675624;border-left-color:#5f826a}.roguelite-earned-doctrines .doctrine-info{min-height:50px}.elite-doctrine-info{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.elite-doctrine-info>small{color:#d4ae6a;font:800 6px/1 var(--font-mono);letter-spacing:.14em;padding-top:10px}.soul-token>i{display:none!important}.draft-reserve-summary>button.selected{border-color:var(--oxide);box-shadow:inset 3px 0 var(--oxide);background:#b44c2e14}.draft-stage{position:relative}.draft-card.picked{z-index:4;animation:.9s cubic-bezier(.2,.78,.25,1) both draft-pick-readable}.draft-config>label>small{font-size:7px;font-weight:400;line-height:1.35}.draft-pick-notice{z-index:9;border:1px solid #b44c2ea6;border-left:5px solid var(--oxide);pointer-events:none;background:#f8f3e8f7;align-items:center;gap:14px;min-width:260px;padding:14px 20px;animation:1.8s both draft-notice-readable;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 60px #1b181347}.draft-pick-notice.ai{border-left-color:var(--sage)}.draft-pick-notice .piece-visual{font-size:58px}.draft-army-icons>span,.draft-reserve-summary>span .piece-visual{isolation:isolate}.draft-army-icons>span:before{z-index:-1;content:"";background:#f8f2e594;border:1px solid #1e1d1933;border-radius:4px;position:absolute;inset:2px}.draft-pick-notice span{flex-direction:column;gap:5px;display:flex}.draft-pick-notice small{color:var(--oxide);font:700 7px/1 var(--font-mono);letter-spacing:.14em}.draft-pick-notice.ai small{color:var(--sage)}.draft-pick-notice b{font-size:20px}@keyframes draft-pick-readable{0%{transform:translateY(0)scale(1)}35%,72%{border-color:var(--oxide);transform:translateY(-10px)scale(1.035);box-shadow:0 18px 38px #b44c2e40}to{opacity:.32;transform:scale(.96)}}@keyframes draft-notice-readable{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))scale(.96)}15%,76%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 8px))scale(.98)}}@media (width<=700px){.draft-pick-notice{min-width:min(280px,100% - 24px);top:43%}}@media (prefers-reduced-motion:reduce){.draft-card.picked,.draft-pick-notice{animation-duration:.01ms}}.mobile-catalog-toggle,.mobile-catalog-heading,.mobile-catalog-scrim,.library-mobile-index-toggle,.library-mobile-index-scrim{display:none}.ai-doctrine-choice article{background:#704a8911;border-left:3px solid #76508f;padding:12px}.ai-doctrine-choice article>span,.setup-doctrine-picker>summary{color:#76508f;font:800 7px/1 var(--font-mono);letter-spacing:.14em}.ai-doctrine-choice article b,.ai-doctrine-choice article p,.ai-doctrine-choice article ul{display:block}.ai-doctrine-choice article b{margin-top:7px;font-size:15px}.ai-doctrine-choice article p{color:#665d51;margin:6px 0;font-size:9px;line-height:1.45}.ai-doctrine-choice article ul{color:#756a5c;margin:0;padding-left:16px;font-size:8px;line-height:1.45}.ai-doctrine-select{gap:6px;margin-bottom:8px;display:grid}.ai-doctrine-select>span{color:#76508f;font:800 7px/1 var(--font-mono);letter-spacing:.14em}.ai-doctrine-select select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);cursor:pointer;font:700 9px/1 var(--font-sans);background:#ffffff94;padding:0 10px}.ai-doctrine-select select:focus-visible{outline-offset:2px;outline:2px solid #76508f}.setup-doctrine-picker{background:#704a8909;border:1px solid #704a8933;margin-top:9px}.setup-doctrine-picker>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;min-height:43px;padding:7px 9px;list-style-position:outside;display:grid}.setup-doctrine-picker>summary span{color:#76508f;font:800 6px/1 var(--font-mono);letter-spacing:.14em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.setup-doctrine-picker>summary b{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.setup-doctrine-picker>summary small{color:#76508f;font:800 6px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;grid-area:1/2/3}.setup-doctrine-picker[open]>summary{border-bottom:1px solid #704a892e}.setup-doctrine-picker[open]>summary small{color:#74695c}.setup-doctrine-options{scrollbar-width:thin;grid-template-columns:1fr 1fr;gap:5px;max-height:180px;padding:7px;display:grid;overflow-y:auto}.setup-doctrine-options button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffff57;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:52px;padding:7px;display:flex}.setup-doctrine-options button.active{background:#704a8914;border-color:#76508f;box-shadow:inset 3px 0 #76508f}.setup-doctrine-options button b{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.setup-doctrine-options button small{color:#74695c;font-size:6.5px;line-height:1.35}.setup-doctrine-banner{margin-inline:7px}.setup-doctrine-banner em{color:#716759;grid-column:2;font-size:7px;font-style:normal;line-height:1.35}@media (width>=821px) and (height<=820px){.forge-flow-evolved{height:calc(100dvh - 36px);max-height:calc(100dvh - 36px)}.flow-header{min-height:56px}.flow-match{overflow-y:auto}.flow-match .flow-title-block{margin-bottom:12px}.flow-match-grid{gap:12px}.evolved-board-frame,.forge-board-side .deployment-side-label{width:min(100%,100dvh - 205px)}.forge-budget-sticky{padding:9px}.forge-setup-tools{padding:0 9px 9px}.forge-budget{padding:8px 10px}.forge-budget strong{font-size:26px}.forge-catalog{padding:9px}.catalog-card-main{min-height:61px}.special-catalog-grid .catalog-card-main{min-height:72px}}@media (width<=820px){.topbar .brand-button{min-height:44px}.hero{min-height:calc(100dvh - 58px)}.topbar .icon-button,.topbar .new-game-button{width:44px;height:44px;min-height:44px}:is(html:has(.forge-flow-backdrop),html:has(.new-game-backdrop),html:has(.home-menu-backdrop),html:has(.library-backdrop),html:has(.lab-backdrop),html:has(.draft-backdrop),html:has(.settings-backdrop),html:has(.save-library-backdrop),html:has(.roguelite-backdrop),body:has(.forge-flow-backdrop),body:has(.new-game-backdrop),body:has(.home-menu-backdrop),body:has(.library-backdrop),body:has(.lab-backdrop),body:has(.draft-backdrop),body:has(.settings-backdrop),body:has(.save-library-backdrop),body:has(.roguelite-backdrop)){overflow:hidden}.forge-flow-backdrop,.library-backdrop,.settings-backdrop,.save-library-backdrop{padding:0}.piece-library.encyclopedia-v2{height:100dvh}.forge-flow-evolved{border-top-width:3px;width:100%;height:100dvh;max-height:100dvh}.forge-flow-evolved .flow-forge{padding:7px 8px max(7px, env(safe-area-inset-bottom));grid-template-rows:minmax(0,1fr) auto auto;display:grid;overflow:hidden}.forge-workbench{height:100%;min-height:0;display:block}.forge-board-side{grid-template-rows:auto minmax(0,1fr) auto auto;height:100%}.evolved-board-frame{width:min(100vw - 18px,100dvh - 205px);max-width:100%}.forge-board-side .deployment-side-label{width:min(100vw - 18px,100dvh - 205px)}.forge-board-help{display:none}.mobile-catalog-toggle{border:1px solid #b9ab96;border-left:4px solid var(--oxide);width:min(100vw - 18px,620px);min-height:47px;color:var(--ink);text-align:left;cursor:pointer;background:#faf5eaf5;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin-top:7px;padding:7px 11px;display:grid}.mobile-catalog-toggle span{font-size:10px;font-weight:800}.mobile-catalog-toggle b{color:var(--oxide-dark);font:800 13px/1 var(--font-mono);grid-area:1/2/3}.mobile-catalog-toggle i{color:#766b5d;font-size:7px;font-style:normal}.mobile-catalog-scrim{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#12100c85;border:0;display:block;position:fixed;inset:0}.forge-army-sidebar{z-index:81;overscroll-behavior:contain;border:0;border-top:4px solid var(--oxide);visibility:hidden;border-radius:18px 18px 0 0;height:min(82dvh,720px);max-height:none;transition:transform .22s cubic-bezier(.2,.75,.25,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(calc(100% + 8px));box-shadow:0 -20px 58px #00000052}.forge-army-sidebar.mobile-open{visibility:visible;transform:translateY(0)}.mobile-catalog-heading{z-index:12;border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;min-height:48px;padding:7px 12px;display:flex;position:sticky;top:0}.mobile-catalog-heading span{font-size:11px;font-weight:800}.mobile-catalog-heading button{border:1px solid var(--line);background:var(--cream);cursor:pointer;min-height:36px;padding:0 12px;font-size:9px}.forge-budget-sticky{box-shadow:none;padding:10px;position:static}.forge-setup-tools{padding:0 10px 10px}.forge-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card-main,.special-catalog-grid .catalog-card-main{min-height:74px}.flow-footer.evolved-flow-footer{z-index:20;background:var(--paper);flex-wrap:nowrap;min-height:48px;padding:5px 0 0;position:relative}.evolved-validation{min-height:31px;max-height:46px;overflow:hidden}.new-game-config{overflow:hidden}.new-game-config>header{flex:none}.new-game-config>form,.new-game-config>.new-game-body{min-height:0;overflow-y:auto}.new-game-config>footer{padding-bottom:max(12px, env(safe-area-inset-bottom));flex:none}.game-layout.variant-game-layout{overscroll-behavior:contain;height:calc(100dvh - 94px);min-height:0;padding-bottom:max(8px,env(safe-area-inset-bottom));scrollbar-width:thin;overflow-y:auto}.variant-board-column{width:100%}.variant-board-column .board-frame{width:min(100%,100dvh - 170px);margin-inline:auto}.variant-panel{overscroll-behavior:contain;max-height:48dvh;overflow-y:auto}.roguelite-backdrop{padding:0}.roguelite-intermission{width:100%;height:100dvh;min-height:100dvh;padding:clamp(18px,5vw,32px);padding-bottom:max(18px,env(safe-area-inset-bottom));border-top-width:4px;overflow-y:auto}.roguelite-next{grid-template-columns:1fr}.settings-panel,.save-library,.forge-laboratory,.draft-flow{height:100dvh;max-height:100dvh}}@media (width<=540px){.flow-header{min-height:52px}.forge-flow-evolved .flow-forge{padding-inline:5px}.evolved-board-frame{width:min(100vw - 10px,100dvh - 194px)}.forge-board-side .deployment-side-label{width:min(100vw - 10px,100dvh - 194px);font-size:6px}.mobile-catalog-toggle{width:min(100vw - 10px,100dvh - 194px);min-height:44px}.forge-army-sidebar{height:88dvh}.forge-catalog{padding:8px}.forge-catalog-grid{gap:5px}.catalog-card-copy b{font-size:12px}.catalog-card-copy small{font-size:6px}.setup-doctrine-options{grid-template-columns:1fr;max-height:260px}.flow-match{padding:15px 10px max(12px,env(safe-area-inset-bottom));overflow-y:auto}.flow-match-grid{grid-template-columns:1fr;gap:12px}.flow-color-options button{min-height:74px}.flow-match .flow-footer{padding:8px 0 max(8px,env(safe-area-inset-bottom));background:var(--paper);position:sticky;bottom:0}.draft-stage{grid-template-rows:auto auto auto 118px}.draft-cards{grid-template-columns:1fr 1fr}.draft-card{min-height:205px;padding:8px}.draft-card .piece-visual{font-size:clamp(54px,18vw,72px)}.draft-scoreboards strong{font-size:24px}.draft-deployment{overflow-y:auto}.lab-workspace{overscroll-behavior:contain;overflow-y:auto}.lab-board-column{min-width:0;overflow-x:clip}.lab-board-frame{width:min(100vw - 14px,58dvh);max-width:100%}.lab-piece-palette{overflow-x:hidden}.lab-piece-palette button span,.lab-piece-palette button b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lab-footer{padding-bottom:max(6px,env(safe-area-inset-bottom))}.settings-row,.setting-row,.settings-save-row{min-height:58px}.settings-panel>footer{padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media (orientation:landscape) and (height<=540px) and (width<=940px){.game-layout.variant-game-layout{overscroll-behavior:contain;height:calc(100dvh - 94px);min-height:0;overflow-y:auto}.flow-header{min-height:44px}.forge-board-side{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 180px;column-gap:8px}.forge-board-side .deployment-side-label,.evolved-board-frame{grid-column:1;width:min(100%,100dvh - 104px)}.mobile-catalog-toggle{grid-area:1/2/3;align-self:center;width:100%;min-height:70px}.evolved-validation{display:none}.forge-flow-evolved .flow-forge{grid-template-rows:minmax(0,1fr) auto}.variant-board-column .board-frame{width:min(100vw - 280px,100dvh - 70px)}}.game-over-backdrop{z-index:180;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f0d0aad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.game-over-dialog{border:1px solid #eddabc57;border-top:5px solid var(--oxide);color:#f4ecde;text-align:center;background:radial-gradient(circle at 50% 0,#c45a3529,#0000 52%),linear-gradient(145deg,#171611,#29231a);flex-direction:column;justify-content:center;align-items:center;width:min(560px,100vw - 28px);min-height:350px;padding:40px 42px 34px;display:flex;position:relative;box-shadow:0 34px 110px #00000094}.game-over-dialog.victory{border-top-color:#79a17f}.game-over-dialog.draw{border-top-color:#c8a966}.game-over-dialog.defeat{border-top-color:#9e4c3e}.game-over-close{color:#c9baa5;cursor:pointer;background:0 0;border:0;width:42px;height:42px;font-size:26px;position:absolute;top:10px;right:10px}.game-over-mark{background:#ffffff09;border:1px solid #ecdaba47;border-radius:50%;place-items:center;width:72px;height:72px;margin-bottom:17px;font-size:38px;display:grid}.game-over-dialog>p{color:#d87955;font:800 8px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;margin:0}.game-over-dialog>h2{font:650 clamp(44px,7vw,72px)/.9 var(--font-display);letter-spacing:.02em;margin:10px 0 8px}.game-over-dialog>span#game-over-detail{color:#bfb19f;max-width:400px;font-size:11px;line-height:1.55}.game-over-dialog>div{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:27px;display:flex}.game-over-dialog>div button{color:#ddcfbd;cursor:pointer;background:0 0;border:1px solid #eedbbb3d;min-height:44px;padding:0 17px;font-size:9px}.game-over-dialog>div .game-over-primary{border-color:var(--oxide);background:var(--oxide);color:#fff}@media (width<=860px){.app-shell:has(.variant-game-layout) .game-controls{z-index:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eee6d6b8;flex:none;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));position:static}.app-shell:has(.variant-game-layout) .game-controls button{touch-action:manipulation;min-height:48px}.app-shell:has(.variant-game-layout) .move-log.variant-log{flex:none;min-height:170px}.game-over-backdrop{padding:0}.game-over-dialog{width:100%;min-height:min(430px,100dvh);padding:36px 20px max(28px,env(safe-area-inset-bottom));border-inline:0}.game-over-dialog>div{flex-direction:column;width:100%}.game-over-dialog>div button{width:100%}}@media (width<=600px){.library-backdrop{padding:0}.piece-library.encyclopedia-v2{grid-template-rows:66px minmax(0,1fr);height:100dvh;position:relative}.encyclopedia-v2 .library-header{grid-template-columns:minmax(0,1fr) auto auto auto;gap:3px;padding-inline:9px}.encyclopedia-v2 .library-header h2{font-size:20px}.encyclopedia-v2 .library-header nav button{min-width:54px;height:38px;font-size:6.5px}.library-mobile-index-toggle{border:1px solid var(--line);background:var(--cream);min-width:48px;height:34px;color:var(--ink);cursor:pointer;align-self:center;place-items:center;padding:0 7px;font-size:8px;font-weight:800;display:inline-grid}.encyclopedia-v2 .library-header>.library-mobile-index-toggle{width:52px;font-size:8px}.encyclopedia-v2 .library-body{grid-template-columns:minmax(0,1fr);position:relative;overflow:hidden}.encyclopedia-v2 .library-index{z-index:42;border:0;border-right:1px solid var(--line);background:var(--paper);visibility:hidden;width:min(86vw,330px);min-height:0;padding:10px;transition:transform .2s,visibility 0s linear .2s;position:absolute;inset:0 auto 0 0;overflow:hidden;transform:translate(calc(-100% - 20px));box-shadow:18px 0 42px #12100c42}.encyclopedia-v2 .library-body.index-open .library-index{visibility:visible;transition-delay:0s;transform:translate(0)}.encyclopedia-v2 .library-piece-list{overscroll-behavior:contain;grid-template-columns:1fr 1fr;gap:6px;overflow-y:auto}.encyclopedia-v2 .library-piece-list button{grid-template-columns:42px minmax(0,1fr);min-height:64px}.encyclopedia-v2 .library-piece-list .piece-visual{width:40px;height:40px;font-size:40px}.library-mobile-index-scrim{z-index:41;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);cursor:pointer;background:#12100c6b;border:0;position:absolute;inset:0}.encyclopedia-v2 .library-body.index-open .library-mobile-index-scrim{display:block}.encyclopedia-v2 .library-detail{min-width:0;padding:8px 10px 10px}.encyclopedia-v2 .library-piece-hero{grid-template-columns:82px minmax(0,1fr);height:100px;padding-bottom:7px}.encyclopedia-v2 .library-piece-pair .piece-visual{width:58px;height:58px;font-size:58px}.encyclopedia-v2 .library-piece-hero h3{font-size:clamp(27px,8.2vw,34px)}.encyclopedia-v2 .library-piece-hero p{margin:3px 0;font-size:9px;line-height:1.25;display:block}.encyclopedia-v2 .encyclopedia-meta{gap:3px;margin-top:3px;display:flex}.encyclopedia-v2 .library-piece-hero .encyclopedia-meta>span{padding:3px 4px;font-size:5.5px}.encyclopedia-v2 .library-reference-grid{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:7px;margin-top:5px}.encyclopedia-v2 .encyclopedia-board{max-width:min(100%,42dvh);max-height:min(100%,42dvh)}.encyclopedia-rule-copy{grid-template-columns:1fr 1fr;gap:5px;height:auto}.encyclopedia-rule-copy section{padding:6px 7px}.encyclopedia-rule-copy span{font-size:6.5px}.encyclopedia-rule-copy p{margin-top:3px;font-size:9px;line-height:1.32}.open-example-lab{min-height:31px;font-size:8px}}.roguelite-start-backdrop,.replay-backdrop{z-index:150;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12110de0;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.roguelite-start{border-top:5px solid var(--oxide);background:var(--paper);width:min(520px,100%);padding:clamp(24px,5vw,42px);box-shadow:0 30px 100px #00000075}.roguelite-start>p,.replay-header p{color:var(--oxide);font:800 9px/1 var(--font-mono);letter-spacing:.18em;margin:0 0 8px}.roguelite-start h2{font:700 clamp(31px,6vw,48px)/.95 var(--font-display);margin:0 0 9px}.roguelite-start>span{color:#6f6558;font-size:13px;line-height:1.5;display:block}.roguelite-start label{gap:8px;margin:28px 0 20px;display:grid}.roguelite-start label b{font:800 8px/1 var(--font-mono);letter-spacing:.15em}.roguelite-start input{border:1px solid var(--line);background:var(--cream);min-height:48px;font:650 13px/1 var(--font-mono);padding:0 14px}.roguelite-start label small{color:#807566;font-size:10px;line-height:1.45}.roguelite-start .flow-primary{width:100%;min-height:48px}.roguelite-start .curtain-back{width:100%;margin-top:10px}.game-layout.variant-game-layout.sidebar-collapsed,.game-layout.variant-game-layout.sidebar-collapsed.no-evaluation-layout{grid-template-columns:minmax(0,min(100dvh - 135px,100vw - 64px))}@media (width>=861px){.app-shell:has(.variant-game-layout) .hero{width:100%;max-width:none;margin-inline:0;padding:10px clamp(16px,2vw,28px) 12px}.game-layout.variant-game-layout,.game-layout.variant-game-layout.no-evaluation-layout{justify-content:center;width:100%;max-width:none;margin-inline:auto}}.sidebar-collapse{z-index:5;border:1px solid var(--line);background:var(--paper);width:28px;height:42px;color:var(--oxide-dark);cursor:pointer;border-radius:15px 0 0 15px;font-size:18px;position:absolute;top:8px;left:-13px;box-shadow:-5px 5px 14px #1e19121f}.game-panel.variant-panel{position:relative}.sidebar-reopen{z-index:35;border:1px solid var(--line);background:var(--paper);min-height:54px;color:var(--oxide-dark);cursor:pointer;writing-mode:vertical-rl;font:800 8px/1 var(--font-mono);letter-spacing:.09em;border-right:0;align-items:center;gap:5px;padding:0 9px;display:flex;position:fixed;top:50%;right:0;box-shadow:-8px 8px 22px #1e191226}.match-replay{border-top:5px solid var(--oxide);background:var(--paper);grid-template-rows:66px minmax(0,1fr);width:min(1180px,100vw - 28px);height:min(850px,100dvh - 28px);min-height:0;display:grid;overflow:hidden;box-shadow:0 34px 110px #00000080}.replay-header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:8px 16px;display:grid}.replay-header p{margin-bottom:4px}.replay-header h2{font:700 27px/1 var(--font-display);margin:0}.replay-header>span{font:700 10px/1 var(--font-mono)}.replay-header>button{cursor:pointer;background:0 0;border:0;width:38px;height:38px;font-size:24px}.replay-workspace{grid-template-columns:minmax(0,1fr) minmax(260px,330px);min-height:0;display:grid}.replay-board-wrap{grid-template-rows:minmax(0,1fr) 56px;place-items:center;min-width:0;min-height:0;padding:12px;display:grid}.replay-board-frame{aspect-ratio:1;align-self:center;width:min(100%,100dvh - 190px);padding-left:0}.replay-controls{justify-content:center;align-items:center;gap:5px;width:min(100%,620px);display:flex}.replay-controls button,.replay-controls select{border:1px solid var(--line);background:var(--cream);cursor:pointer;min-width:38px;height:36px}.replay-controls button:disabled{opacity:.35;cursor:default}.replay-controls .replay-play{min-width:76px;color:var(--cream);background:var(--ink)}.replay-controls label{align-items:center;gap:5px;margin-left:8px;font-size:9px;display:flex}.replay-fan-list{border-left:1px solid var(--line);background:#e6dcc959;grid-template-rows:50px minmax(0,1fr);min-height:0;display:grid}.replay-fan-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 13px;display:flex}.replay-fan-list small{font:800 7px/1 var(--font-mono);letter-spacing:.1em}.replay-fan-list>div b{font:800 12px/1 var(--font-mono)}.replay-fan-list ol{min-height:0;margin:0;padding:6px;list-style:none;overflow-y:auto}.replay-fan-list li button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #5046371f;grid-template-columns:37px 1fr;align-items:center;gap:7px;width:100%;min-height:36px;padding:3px 8px;display:grid}.replay-fan-list li button span{color:#817666;font:700 8px/1 var(--font-mono)}.replay-fan-list li button b{overflow-wrap:anywhere;font:650 9px/1.3 var(--font-mono)}.replay-fan-list li.active button{box-shadow:inset 3px 0 var(--oxide);background:#b44a2a1c}@media (width<=860px){:is(html:has(.variant-game-layout),body:has(.variant-game-layout)){height:100%;overflow:hidden}.app-shell:has(.variant-game-layout){grid-template-rows:52px minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.app-shell:has(.variant-game-layout)>.topbar{height:52px;min-height:52px;padding-inline:8px}.app-shell:has(.variant-game-layout) .hero{width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:4px;overflow:hidden}.app-shell:has(.variant-game-layout) .game-layout.variant-game-layout{--mobile-panel-height:clamp(116px,20dvh,172px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(var(--mobile-panel-height),1fr);gap:4px;width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.game-layout.variant-game-layout.sidebar-collapsed,.game-layout.variant-game-layout.sidebar-collapsed.no-evaluation-layout{grid-template-rows:minmax(0,1fr);display:grid}.app-shell:has(.variant-game-layout) .board-column{grid-template-rows:32px minmax(0,1fr) 32px;align-content:stretch;width:100%;height:auto;min-height:0;display:grid}.app-shell:has(.variant-game-layout) .sidebar-collapsed .board-column{height:100%}.app-shell:has(.variant-game-layout) .player-strip{height:32px;min-height:32px;padding-block:2px}.app-shell:has(.variant-game-layout) .player-strip .avatar{width:24px;height:24px}.app-shell:has(.variant-game-layout) .player-identity strong{font-size:9px}.app-shell:has(.variant-game-layout) .player-identity small{font-size:6px}.app-shell:has(.variant-game-layout) .board-column>.board-frame{width:min(100%,calc(100dvh - 128px - var(--mobile-panel-height)));border-width:3px;place-self:center;padding-left:9px}.app-shell:has(.variant-game-layout) .sidebar-collapsed .board-column>.board-frame{width:min(100%,100dvh - 120px)}.app-shell:has(.variant-game-layout) .board-frame.no-evaluation{padding-left:0}.app-shell:has(.variant-game-layout) .evaluation-track{width:6px;top:3px;bottom:3px;left:2px}.app-shell:has(.variant-game-layout) .game-panel.variant-panel{z-index:4;overscroll-behavior:contain;background:var(--paper);border-radius:8px 8px 0 0;width:100%;height:100%;min-height:0;max-height:none;margin:0;position:relative;inset:auto;overflow-y:auto;box-shadow:0 -18px 55px #12100c47}.sidebar-collapse{border-radius:8px 8px 0 0;width:100%;height:32px;position:sticky;top:0;left:0}.app-shell:has(.variant-game-layout) .game-panel.variant-panel .status-card{min-height:76px;padding:10px 14px 9px}.app-shell:has(.variant-game-layout) .game-panel.variant-panel .status-card h2{font-size:20px}.sidebar-reopen{top:auto;right:10px;bottom:max(12px,env(safe-area-inset-bottom));writing-mode:horizontal-tb;border-right:1px solid var(--line);border-radius:22px;min-height:44px}.replay-backdrop,.roguelite-start-backdrop{padding:0}.match-replay{grid-template-rows:58px minmax(0,1fr);width:100%;height:100dvh}.replay-workspace{grid-template-rows:minmax(0,1fr) minmax(120px,31dvh);grid-template-columns:1fr;overflow:hidden}.replay-board-wrap{grid-template-rows:minmax(0,1fr) 48px;padding:6px}.replay-board-frame{width:min(100vw - 12px,69dvh - 72px)}.replay-fan-list{border-left:0;border-top:1px solid var(--line)}.roguelite-start{width:100%;min-height:100dvh;padding-bottom:max(24px,env(safe-area-inset-bottom));flex-direction:column;justify-content:center;display:flex}}@media (width<=440px){.replay-header{grid-template-columns:1fr auto;gap:8px}.replay-header>span{display:none}.replay-header h2{font-size:21px}.replay-controls label{margin-left:2px;font-size:0}.replay-controls select{font-size:9px}}@media (orientation:landscape) and (height<=540px) and (width<=940px){.app-shell:has(.variant-game-layout) .game-layout.variant-game-layout{--landscape-panel-width:clamp(280px,40vw,360px);grid-template-columns:minmax(0,1fr) var(--landscape-panel-width);grid-template-rows:minmax(0,1fr)}.app-shell:has(.variant-game-layout) .game-layout.variant-game-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell:has(.variant-game-layout) .board-column>.board-frame{width:min(100%,100dvh - 120px)}.app-shell:has(.variant-game-layout) .sidebar-collapsed .board-column>.board-frame{width:min(100%,100dvh - 120px)}.app-shell:has(.variant-game-layout) .game-panel.variant-panel{border-radius:8px 0 0 8px;grid-area:1/2}.piece-library.encyclopedia-v2{grid-template-rows:54px minmax(0,1fr)}.encyclopedia-v2 .library-header h2{font-size:18px}.encyclopedia-v2 .library-detail{grid-template-rows:72px minmax(0,1fr);padding:6px 10px}.encyclopedia-v2 .library-piece-hero{grid-template-columns:72px minmax(0,1fr);height:72px}.encyclopedia-v2 .library-piece-pair .piece-visual{width:46px;height:46px;font-size:46px}.encyclopedia-v2 .library-reference-grid{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(230px,.82fr) minmax(280px,1.18fr)}.encyclopedia-v2 .encyclopedia-board{max-width:100%;max-height:100%}.encyclopedia-rule-copy{align-content:center}.encyclopedia-rule-copy p{font-size:8px;line-height:1.2}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}.chessboard{aspect-ratio:1;width:100%;height:auto}.chessboard>.square{aspect-ratio:1;min-width:0;min-height:0}.evolved-board-frame,.encyclopedia-v2 .encyclopedia-board,.lab-board-frame,.draft-deploy-board .board-frame,.replay-board-frame{min-width:0;min-height:0}.encyclopedia-v2 .demo-stage-heading{grid-template-columns:10px minmax(0,1fr) auto auto}.encyclopedia-v2 .demo-stage-heading .open-example-lab{white-space:nowrap;width:auto;min-height:30px;margin:0;padding-inline:10px}@media (width<=30rem){.encyclopedia-v2 .library-piece-list{grid-template-columns:1fr}.encyclopedia-v2 .library-piece-list button{min-height:3.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}:root{--forge-bg:#0d0c0a;--forge-bg-soft:#15120f;--forge-panel:#1b1814;--forge-panel-raised:#24201b;--forge-panel-hot:#2b2019;--forge-ink:#f4eadc;--forge-ink-soft:#c8baa8;--forge-ink-dim:#958878;--forge-copper:#dc6c3e;--forge-copper-bright:#f08a57;--forge-brass:#c99a5c;--forge-green:#6f9a79;--forge-red:#bd4938;--forge-violet:#9d78bb;--forge-line:#f4eadc21;--forge-line-strong:#f4eadc40;--forge-shadow:0 24px 80px #00000075;--forge-radius-sm:.5rem;--forge-radius:.8rem;--forge-radius-lg:1.2rem;--forge-control:2.75rem;--forge-topbar:4.25rem;--forge-gap-1:.5rem;--forge-gap-2:.75rem;--forge-gap-3:1rem;--forge-gap-4:1.5rem;--forge-gap-5:2rem;--forge-copy-sm:.875rem;--forge-copy:1rem;--forge-copy-lg:1.125rem;--forge-title-sm:clamp(1.35rem, 1.1rem + .55vw, 1.75rem);--forge-title:clamp(1.9rem, 1.4rem + 1.4vw, 3.25rem);--forge-title-lg:clamp(2.5rem, 1.6rem + 2.7vw, 5.25rem)}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--forge-bg);font-size:16px}body{min-width:20rem;min-height:100dvh;color:var(--forge-ink);background:radial-gradient(circle at 13% -8%, #dc6c3e1f, transparent 32rem), radial-gradient(circle at 90% 110%, #c99a5c12, transparent 34rem), var(--forge-bg);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--forge-copy);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.45;overflow-x:hidden}.app-shell.ui-v4,.app-shell.ui-v4 *{box-sizing:border-box}.app-shell.ui-v4{width:100%;min-height:100dvh;color:var(--forge-ink);background:linear-gradient(120deg, transparent 0 72%, #dc6c3e06 72% 100%), var(--forge-bg);isolation:isolate;overflow:hidden}.app-shell.ui-v4 :where(button,input,select,textarea){font:inherit}.app-shell.ui-v4 :where(input,textarea)::placeholder{color:var(--forge-ink-dim);letter-spacing:0;text-transform:none;opacity:.78;font-size:.875rem;font-weight:520}.app-shell.ui-v4 :where(button,summary,select,input,textarea):focus-visible{outline:.18rem solid var(--forge-copper-bright);outline-offset:.18rem}.app-shell.ui-v4 :where(button,summary){-webkit-tap-highlight-color:transparent;word-break:normal}.app-shell.ui-v4 :where(.rank-label,.file-label){font:800 clamp(.75rem, 2.2cqi, .875rem)/1 var(--font-sans), system-ui, sans-serif;letter-spacing:0}.app-shell.ui-v4 :where(button:not(:disabled),summary,select){cursor:pointer}.app-shell.ui-v4 :where(button:disabled,input:disabled){cursor:not-allowed;opacity:.42}.app-shell.ui-v4 .topbar{z-index:20;width:100%;max-width:none;height:var(--forge-topbar);border:0;border-bottom:1px solid var(--forge-line);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#0d0c0aeb;grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);align-items:center;margin:0;padding:0 clamp(.75rem,2vw,2rem);display:grid;position:relative;box-shadow:0 .5rem 2rem #0003}.app-shell.ui-v4 .brand,.app-shell.ui-v4 .brand-button{width:fit-content;color:var(--forge-ink);background:0 0;border:0;align-items:center;gap:.75rem;padding:0;text-decoration:none;display:inline-flex}.app-shell.ui-v4 .brand-mark,.app-shell.ui-v4 .home-menu-brand>span,.app-shell.ui-v4 .flow-brand>span{color:#fff6ea;width:2.75rem;height:2.75rem;font:750 1.55rem/1 var(--font-sans);background:linear-gradient(145deg,#ffffff14,#0000 45%),#251811;border:1px solid #f08a5780;border-radius:.45rem 1rem .45rem .45rem;place-items:center;display:grid;transform:rotate(-1.5deg);box-shadow:inset 0 0 0 1px #00000073,0 .45rem 1.2rem #00000042}.app-shell.ui-v4 .brand strong,.app-shell.ui-v4 .home-menu-brand b,.app-shell.ui-v4 .flow-brand b{letter-spacing:.18em;font-size:1.05rem;font-weight:760}.app-shell.ui-v4 .brand small,.app-shell.ui-v4 .home-menu-brand small,.app-shell.ui-v4 .flow-brand small{display:none}.app-shell.ui-v4 .phase-pill{border:1px solid var(--forge-line);min-height:2.25rem;color:var(--forge-ink-soft);font-size:var(--forge-copy-sm);letter-spacing:.04em;background:#ffffff06;border-radius:999px;justify-content:center;align-items:center;padding:0 .85rem;font-weight:650;display:inline-flex}.app-shell.ui-v4 .phase-pill span{background:var(--forge-copper);border-radius:50%;width:.45rem;height:.45rem;margin-right:.55rem;box-shadow:0 0 0 .22rem #dc6c3e1f}.app-shell.ui-v4 .top-actions{justify-content:flex-end;gap:.45rem;display:flex}.app-shell.ui-v4 .icon-button,.app-shell.ui-v4 .new-game-button{min-height:var(--forge-control);border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);color:var(--forge-ink);background:#ffffff09;transition:border-color .15s,background .15s,transform .15s}.app-shell.ui-v4 .icon-button{width:var(--forge-control);font-size:1.1rem}.app-shell.ui-v4 .new-game-button{font-size:var(--forge-copy-sm);background:#2c1b13;border-color:#dc6c3e73;padding-inline:1rem;font-weight:720}.app-shell.ui-v4 .new-game-button span{color:var(--forge-copper-bright)}.app-shell.ui-v4 :where(.icon-button,.new-game-button):hover:not(:disabled){border-color:var(--forge-copper);background:#dc6c3e1f;transform:translateY(-1px)}.app-shell.ui-v4 .home-menu-backdrop{z-index:200;color:var(--forge-ink);background:radial-gradient(circle at 82% 10%,#dc6c3e1f,#0000 28rem),radial-gradient(circle at 5% 95%,#c99a5c14,#0000 30rem),#090806;place-items:center;padding:clamp(.75rem,2vw,1.5rem);display:grid;position:fixed;inset:0;overflow:hidden}.app-shell.ui-v4 .home-menu-backdrop:before{content:"";pointer-events:none;opacity:.2;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:3rem 3rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.app-shell.ui-v4 .home-menu{gap:var(--forge-gap-3);border:1px solid var(--forge-line-strong);border-radius:var(--forge-radius-lg);width:min(70rem,100%);height:min(46rem,100dvh - clamp(1.5rem,4vw,3rem));min-height:31rem;box-shadow:var(--forge-shadow);background:linear-gradient(145deg,#ffffff06,#0000 42%),#181511f5;grid-template-rows:auto auto minmax(0,1fr);padding:clamp(1rem,2.7vw,2.25rem);display:grid;position:relative;overflow:hidden}.app-shell.ui-v4 .home-menu:before{content:"";background:linear-gradient(90deg, var(--forge-copper), var(--forge-brass) 55%, transparent);height:.2rem;position:absolute;top:0;left:clamp(1rem,2.7vw,2.25rem);right:clamp(1rem,2.7vw,2.25rem)}.app-shell.ui-v4 .home-menu-brand{border:0;border-bottom:1px solid var(--forge-line);align-items:center;gap:.85rem;min-height:3.75rem;padding-bottom:1rem;display:flex}.app-shell.ui-v4 .home-menu-brand b{color:var(--forge-ink)}.app-shell.ui-v4 .home-menu-brand>span{width:3.25rem;height:3.25rem;font-size:1.8rem}.app-shell.ui-v4 .resume-game-card{border-radius:var(--forge-radius);min-height:4.15rem;color:var(--forge-ink);text-align:left;background:linear-gradient(100deg,#6f9a792e,#6f9a790b);border:1px solid #6f9a7975;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.65rem 1rem .65rem .7rem;transition:border-color .16s,transform .16s,background .16s;display:grid;position:relative;overflow:hidden;box-shadow:inset .22rem 0 #7db089}.app-shell.ui-v4 .resume-game-card:hover{background:linear-gradient(100deg,#6f9a7940,#6f9a7912);border-color:#7db089c7;transform:translateY(-.08rem)}.app-shell.ui-v4 .resume-game-card>span{color:#b9e0c1;background:#0003;border:1px solid #9bc8a552;border-radius:50%;place-items:center;width:2.55rem;height:2.55rem;font-size:.95rem;display:grid}.app-shell.ui-v4 .resume-game-card b{font-size:1.05rem;font-weight:780}.app-shell.ui-v4 .resume-game-card i{color:#9bc8a5;font-size:1.25rem;font-style:normal}.app-shell.ui-v4 .home-menu-grid{scrollbar-width:thin;scrollbar-color:var(--forge-copper) transparent;grid-template-rows:repeat(4,minmax(3.8rem,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;min-height:0;padding:0;display:grid;overflow:auto}.app-shell.ui-v4 .menu-mode-card,.app-shell.ui-v4 .menu-mode-card.compact,.app-shell.ui-v4 .menu-mode-card.primary{border:1px solid var(--forge-line);border-radius:var(--forge-radius);min-width:0;min-height:0;color:var(--forge-ink);text-align:left;background:#ffffff06;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.65rem 1rem;transition:border-color .16s,background .16s,transform .16s;display:grid;position:relative;overflow:hidden}.app-shell.ui-v4 .menu-mode-card.primary{background:linear-gradient(110deg,#dc6c3e2b,#0000 58%),#ffffff06;border-color:#dc6c3e6b;grid-column:1/-1}.app-shell.ui-v4 .menu-mode-card:hover{border-color:var(--forge-copper);background-color:#dc6c3e1a;transform:translateY(-1px)}.app-shell.ui-v4 .menu-mode-card>.menu-card-number{display:none}.app-shell.ui-v4 .menu-mode-card>i{border:1px solid var(--forge-line);width:3rem;height:3rem;color:var(--forge-copper-bright);background:#00000026;border-radius:50%;place-items:center;font-size:1.4rem;font-style:normal;display:grid}.app-shell.ui-v4 .menu-mode-card b{color:var(--forge-ink);text-overflow:clip;white-space:normal;font-size:clamp(.95rem,.88rem + .2vw,1.1rem);font-weight:680;line-height:1.2;display:block;overflow:visible}.app-shell.ui-v4 .menu-mode-card em{color:var(--forge-copper-bright);font-size:1.35rem;font-style:normal}.app-shell.ui-v4 :where(.library-backdrop,.new-game-backdrop,.forge-flow-backdrop,.online-backdrop,.roguelite-start-backdrop,.roguelite-backdrop,.replay-backdrop,.lab-source-backdrop,.turn-curtain,.modal-backdrop,.game-over-backdrop){color:var(--forge-ink);-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem);background:#070605e0}.app-shell.ui-v4 :where(.piece-library,.settings-panel,.new-game-config,.forge-flow,.online-lobby,.roguelite-start,.roguelite-intermission,.match-replay,.lab-source-backdrop>section,.turn-curtain>section,.promotion-modal,.game-over-dialog){border:1px solid var(--forge-line-strong);border-top:.2rem solid var(--forge-copper);border-radius:var(--forge-radius-lg);color:var(--forge-ink);background:linear-gradient(145deg, #ffffff06, transparent 42%), var(--forge-panel);box-shadow:var(--forge-shadow)}.app-shell.ui-v4 .lab-source-backdrop{z-index:200;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.app-shell.ui-v4 .lab-source-backdrop>section{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:min(100%,38rem);padding:1.25rem;display:grid}.app-shell.ui-v4 .lab-source-backdrop h2{color:var(--forge-ink);font-size:var(--forge-title-sm);grid-column:1/-1;margin:0 0 .35rem}.app-shell.ui-v4 .lab-source-backdrop section>button{border:1px solid var(--forge-line);min-height:5rem;color:var(--forge-ink);text-align:left;background:#ffffff05;border-radius:.55rem;margin:0;padding:.8rem 1rem}.app-shell.ui-v4 .lab-source-backdrop section>button:hover:not(:disabled){border-color:var(--forge-copper);background:#dc6c3e1a}.app-shell.ui-v4 .lab-source-backdrop section>button b{font-size:1rem}.app-shell.ui-v4 .lab-source-backdrop .curtain-back{text-align:center;grid-column:1/-1;min-height:2.75rem;margin-top:.2rem}.app-shell.ui-v4 :where(.flow-primary,.start-button){min-height:var(--forge-control);border:1px solid var(--forge-copper);border-radius:var(--forge-radius-sm);color:#fff8ee;font-size:var(--forge-copy-sm);background:linear-gradient(135deg,#b94d2a,#7e2e1d);padding:0 1.2rem;font-weight:720}.app-shell.ui-v4 :where(.flow-primary,.start-button):hover:not(:disabled){background:linear-gradient(135deg,#d05d34,#963822)}@media (width<=700px){:root{--forge-topbar:3.6rem;--forge-control:2.75rem}.app-shell.ui-v4 .topbar{grid-template-columns:1fr auto;padding-inline:.65rem}.app-shell.ui-v4 .brand-mark{width:2.35rem;height:2.35rem;font-size:1.3rem}.app-shell.ui-v4 .brand strong{font-size:.95rem}.app-shell.ui-v4 .phase-pill,.app-shell.ui-v4 .icon-button{display:none}.app-shell.ui-v4 .new-game-button{min-width:4.5rem;padding-inline:.7rem}.app-shell.ui-v4 .home-menu-backdrop{place-items:stretch stretch;padding:0}.app-shell.ui-v4 .home-menu{width:100%;height:100dvh;min-height:0;padding:max(.9rem, env(safe-area-inset-top)) .75rem max(.75rem, env(safe-area-inset-bottom));border:0;border-radius:0}.app-shell.ui-v4 .home-menu:before{left:.75rem;right:.75rem}.app-shell.ui-v4 .home-menu-brand{min-height:3.25rem;padding-bottom:.7rem}.app-shell.ui-v4 .home-menu-brand>span{width:2.75rem;height:2.75rem;font-size:1.5rem}.app-shell.ui-v4 .home-menu-grid{grid-template-rows:repeat(7,minmax(3.65rem,1fr));grid-template-columns:1fr;gap:.45rem}.app-shell.ui-v4 .menu-mode-card.primary{grid-column:auto}.app-shell.ui-v4 .menu-mode-card,.app-shell.ui-v4 .menu-mode-card.compact,.app-shell.ui-v4 .menu-mode-card.primary{grid-template-columns:2.6rem minmax(0,1fr) auto;padding:.45rem .75rem}.app-shell.ui-v4 .menu-mode-card>i{width:2.45rem;height:2.45rem;font-size:1.15rem}}@media (height<=650px) and (width>=701px){.app-shell.ui-v4 .home-menu{height:calc(100dvh - 1.25rem);padding:.85rem 1.2rem}.app-shell.ui-v4 .home-menu-brand{min-height:2.85rem;padding-bottom:.55rem}.app-shell.ui-v4 .home-menu-brand>span{width:2.5rem;height:2.5rem}.app-shell.ui-v4 .home-menu-grid{gap:.4rem}.app-shell.ui-v4 .menu-mode-card>i{width:2.4rem;height:2.4rem}}@media (prefers-reduced-motion:reduce){.app-shell.ui-v4 *,.app-shell.ui-v4 :before,.app-shell.ui-v4 :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell.ui-v4 .new-game-backdrop,.app-shell.ui-v4 .forge-flow-backdrop{z-index:210;place-items:center;padding:clamp(.6rem,1.6vw,1.25rem);display:grid;position:fixed;inset:0;overflow:hidden}.app-shell.ui-v4 .new-game-config{grid-template-rows:auto minmax(0,1fr) auto auto;width:min(54rem,100%);max-height:calc(100dvh - 2rem);padding:clamp(1rem,2.5vw,2rem);display:grid;overflow:auto}.app-shell.ui-v4 :where(.new-game-config,.online-lobby,.settings-panel)>header,.app-shell.ui-v4 .library-header,.app-shell.ui-v4 .flow-header{border:0;border-bottom:1px solid var(--forge-line);justify-content:space-between;align-items:center;gap:1rem;min-height:3.75rem;padding:0 0 1rem;display:flex}.app-shell.ui-v4 :where(.new-game-config,.online-lobby,.settings-panel)>header h2,.app-shell.ui-v4 .library-header h2,.app-shell.ui-v4 .lab-header h2{color:var(--forge-ink);font:720 var(--forge-title-sm)/1.08 var(--font-sans);letter-spacing:-.025em;margin:0}.app-shell.ui-v4 :where(.new-game-config,.online-lobby,.settings-panel)>header button,.app-shell.ui-v4 .library-header>button,.app-shell.ui-v4 .flow-close,.app-shell.ui-v4 .lab-close{width:var(--forge-control);height:var(--forge-control);border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);color:var(--forge-ink-soft);background:#ffffff06;flex:none;font-size:1.35rem}.app-shell.ui-v4 .controller-choice{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:1.25rem 0;display:grid}.app-shell.ui-v4 .controller-choice button{border:1px solid var(--forge-line);border-radius:var(--forge-radius);min-width:0;min-height:7.25rem;color:var(--forge-ink);text-align:left;background:#ffffff06;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.9rem 1rem;display:grid;position:relative}.app-shell.ui-v4 .controller-choice button>i{width:3rem;height:3rem;color:var(--forge-copper-bright);background:#dc6c3e1a;border-radius:50%;place-items:center;font-size:1.5rem;font-style:normal;display:grid}.app-shell.ui-v4 .controller-choice button b{font-size:var(--forge-copy-lg)}.app-shell.ui-v4 .controller-choice button>em{color:var(--forge-copper-bright);font-size:1.2rem;font-style:normal}.app-shell.ui-v4 .controller-choice button.active{border-color:var(--forge-copper);box-shadow:inset 0 -.18rem var(--forge-copper);background:linear-gradient(145deg,#dc6c3e29,#dc6c3e0a)}.app-shell.ui-v4 .ruleset-modifiers{border-top:1px solid var(--forge-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1.1rem 0;display:grid}.app-shell.ui-v4 .modifier-heading{display:none}.app-shell.ui-v4 .modifier-heading span,.app-shell.ui-v4 :where(legend,.encyclopedia-index-label,.forge-catalog h3){color:var(--forge-ink-dim);font-size:var(--forge-copy-sm);letter-spacing:.09em;text-transform:uppercase;font-weight:740}.app-shell.ui-v4 .ruleset-modifiers label{border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);background:#ffffff05;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-height:4.25rem;padding:.65rem .85rem;display:grid}.app-shell.ui-v4 .ruleset-modifiers label input{opacity:0;position:absolute}.app-shell.ui-v4 .ruleset-modifiers label>i{color:var(--forge-ink-dim);font-size:1.25rem;font-style:normal}.app-shell.ui-v4 .ruleset-modifiers label b{font-size:var(--forge-copy)}.app-shell.ui-v4 .ruleset-modifiers label>em{color:var(--forge-copper-bright);font-style:normal}.app-shell.ui-v4 .ruleset-modifiers label.active{border-color:var(--forge-copper);background:#dc6c3e1a}.app-shell.ui-v4 .ruleset-modifiers label.active>i{color:var(--forge-copper-bright)}.app-shell.ui-v4 .new-game-config>footer{border:0;border-top:1px solid var(--forge-line);justify-content:space-between;align-items:center;min-height:0;margin:0;padding:1rem 0 0;display:flex}.app-shell.ui-v4 .curtain-back,.app-shell.ui-v4 .flow-secondary{min-height:var(--forge-control);border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);color:var(--forge-ink-soft);font-size:var(--forge-copy-sm);background:0 0;padding:0 .85rem}.app-shell.ui-v4 .forge-flow{grid-template-rows:4rem minmax(0,1fr);width:min(100%,116rem);height:calc(100dvh - clamp(1.2rem,3vw,2.5rem));min-height:0;max-height:none;padding:0;display:grid;overflow:hidden}.app-shell.ui-v4 .flow-header{background:#00000021;min-height:0;padding:0 1rem}.app-shell.ui-v4 .flow-brand{align-items:center;gap:.65rem;display:flex}.app-shell.ui-v4 .flow-brand>span{width:2.45rem;height:2.45rem;font-size:1.3rem}.app-shell.ui-v4 .flow-header nav{align-items:center;gap:.7rem;display:flex}.app-shell.ui-v4 .flow-header nav span{color:var(--forge-ink-dim);font-size:var(--forge-copy-sm);align-items:center;gap:.45rem;font-weight:680;display:inline-flex}.app-shell.ui-v4 .flow-header nav i{border:1px solid var(--forge-line);border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.875rem;font-style:normal;display:grid}.app-shell.ui-v4 .flow-match-grid button>i:last-child{font-size:.875rem!important}.app-shell.ui-v4 .flow-header nav span.active{color:var(--forge-ink)}.app-shell.ui-v4 .flow-header nav span.active i{border-color:var(--forge-copper);color:#fff;background:var(--forge-copper)}.app-shell.ui-v4 .flow-header nav span.done i{border-color:var(--forge-green);color:#fff;background:var(--forge-green)}.app-shell.ui-v4 .flow-body{min-width:0;min-height:0}.app-shell.ui-v4 .flow-match{grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(1rem,2.5vw,2rem);display:grid;overflow:hidden}.app-shell.ui-v4 .flow-title-block{margin-bottom:1rem}.app-shell.ui-v4 .flow-title-block h2{font-size:var(--forge-title);margin:0;line-height:1}.app-shell.ui-v4 .flow-title-block>span{display:none}.app-shell.ui-v4 .flow-match-grid{scrollbar-width:thin;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:1rem;min-height:0;display:grid;overflow:auto}.app-shell.ui-v4 .flow-match-grid fieldset{border:1px solid var(--forge-line);border-radius:var(--forge-radius);background:#ffffff05;min-width:0;margin:0;padding:1rem}.app-shell.ui-v4 .flow-match-grid legend{padding:0 .35rem}.app-shell.ui-v4 :where(.flow-color-options,.flow-difficulty-options,.flow-army-options){gap:.55rem;display:grid}.app-shell.ui-v4 .flow-color-options{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.ui-v4 :where(.flow-color-options,.flow-difficulty-options,.flow-army-options) button{border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);min-width:0;min-height:4.4rem;color:var(--forge-ink);text-align:left;background:#ffffff06;align-items:center;gap:.55rem;padding:.7rem;display:grid;position:relative}.app-shell.ui-v4 .flow-color-options button{text-align:center;grid-template-columns:1fr;place-items:center}.app-shell.ui-v4 .flow-color-options button>span:first-child{font-size:1.65rem}.app-shell.ui-v4 .flow-difficulty-options button{grid-template-columns:2.5rem minmax(0,1fr) auto}.app-shell.ui-v4 .flow-army-options button{grid-template-columns:2.4rem minmax(0,1fr) auto}.app-shell.ui-v4 .flow-army-options button>span:first-child{color:var(--forge-copper-bright);text-align:center;font-size:1.4rem}.app-shell.ui-v4 :where(.flow-color-options,.flow-difficulty-options,.flow-army-options) button b{font-size:var(--forge-copy)}.app-shell.ui-v4 :where(.flow-color-options,.flow-difficulty-options,.flow-army-options) button small{display:none}.app-shell.ui-v4 :where(.flow-color-options,.flow-difficulty-options,.flow-army-options) button :where(i,em){color:var(--forge-copper-bright);font-style:normal}.app-shell.ui-v4 :where(.flow-color-options,.flow-difficulty-options,.flow-army-options) button.active{border-color:var(--forge-copper);background:#dc6c3e1c}.app-shell.ui-v4 .level-bars{justify-content:center;align-items:end;gap:.2rem;height:1.65rem;display:flex}.app-shell.ui-v4 .level-bars i{background:#524a40;width:.3rem}.app-shell.ui-v4 .level-bars i:first-child{height:.55rem}.app-shell.ui-v4 .level-bars i:nth-child(2){height:1rem}.app-shell.ui-v4 .level-bars i:nth-child(3){height:1.45rem}.app-shell.ui-v4 .level-bars i.filled{background:var(--forge-copper)}.app-shell.ui-v4 .flow-seed-input{gap:.35rem;margin-top:.7rem;display:grid}.app-shell.ui-v4 .flow-seed-input>span{color:var(--forge-ink-dim);font-size:var(--forge-copy-sm);font-weight:700}.app-shell.ui-v4 .flow-seed-input input,.app-shell.ui-v4 :where(select,input[type=text],input[type=number]){min-height:var(--forge-control);border:1px solid var(--forge-line-strong);border-radius:var(--forge-radius-sm);color:var(--forge-ink);background:#100f0c;padding:0 .75rem}.app-shell.ui-v4 .flow-seed-input small{color:var(--forge-ink-dim);font-size:var(--forge-copy-sm)}.app-shell.ui-v4 .ai-doctrine-choice{grid-column:1/-1;grid-template-columns:18rem 1fr;gap:1rem;display:grid}.app-shell.ui-v4 .ai-doctrine-choice legend{grid-column:1/-1}.app-shell.ui-v4 .ai-doctrine-select{align-content:start;gap:.4rem;display:grid}.app-shell.ui-v4 .ai-doctrine-select>span,.app-shell.ui-v4 .ai-doctrine-choice article>span{color:var(--forge-ink-dim);font-size:var(--forge-copy-sm);font-weight:700}.app-shell.ui-v4 .ai-doctrine-choice article{border-left:.2rem solid var(--forge-violet);background:#9d78bb14;padding:.85rem 1rem}.app-shell.ui-v4 .ai-doctrine-choice article b{font-size:var(--forge-copy-lg);margin-bottom:.25rem;display:block}.app-shell.ui-v4 .ai-doctrine-choice article p{color:var(--forge-ink-soft);font-size:var(--forge-copy-sm);margin:0}.app-shell.ui-v4 .ai-doctrine-choice article ul{color:var(--forge-ink-soft);font-size:var(--forge-copy-sm);margin:.5rem 0 0;padding-left:1.2rem}.app-shell.ui-v4 .flow-footer{border:0;border-top:1px solid var(--forge-line);justify-content:space-between;align-items:center;gap:.75rem;min-height:4rem;margin:0;padding:1rem 0 0;display:flex;background:0 0!important}.app-shell.ui-v4 .flow-forge{grid-template-rows:minmax(0,1fr) auto auto;display:grid;overflow:hidden}.app-shell.ui-v4 .forge-workbench{grid-template-columns:minmax(0,1fr) clamp(30rem,35vw,39rem);gap:0;min-width:0;min-height:0;display:grid;overflow:hidden}.app-shell.ui-v4 .forge-board-side{background:radial-gradient(circle,#dc6c3e0e,#0000 60%),#0000001f;place-items:center;min-width:0;min-height:0;padding:clamp(.75rem,1.8vw,1.5rem);display:grid;overflow:hidden}.app-shell.ui-v4 .setup-board-frame,.app-shell.ui-v4 .evolved-board-frame{aspect-ratio:1;background:#090806;border:.35rem solid #090806;border-radius:.3rem;width:min(100%,100dvh - 16rem);max-width:none;height:auto;max-height:none;margin:0;padding-left:0;box-shadow:0 1.4rem 4rem #00000075;container-type:inline-size}.app-shell.ui-v4 .setup-board-frame .chessboard{aspect-ratio:1;width:100%;height:100%}.app-shell.ui-v4 .setup-board-frame .board-piece-wrap .piece-visual{font-size:10.6cqi}.app-shell.ui-v4 .mobile-catalog-toggle,.app-shell.ui-v4 .mobile-catalog-heading,.app-shell.ui-v4 .mobile-catalog-scrim{display:none}.app-shell.ui-v4 .forge-army-sidebar{border-left:1px solid var(--forge-line);min-width:0;min-height:0;color:var(--forge-ink);background:var(--forge-panel);flex-direction:column;display:flex;overflow:hidden}.app-shell.ui-v4 .forge-budget-sticky{z-index:2;border-bottom:1px solid var(--forge-line);background:#171410;flex:none;padding:.85rem 1rem;position:relative}.app-shell.ui-v4 .forge-budget{border-radius:var(--forge-radius-sm);background:linear-gradient(120deg,#dc6c3e1f,#0000001f);border:1px solid #dc6c3e4d;min-height:4.75rem;padding:.75rem .9rem}.app-shell.ui-v4 .forge-budget>div:first-child{align-items:baseline;gap:.3rem;display:flex}.app-shell.ui-v4 .forge-budget small{color:var(--forge-ink-soft);font-size:var(--forge-copy-sm);margin-right:auto;font-weight:750}.app-shell.ui-v4 .forge-budget strong{color:#fff7ec;font-size:2rem;line-height:1}.app-shell.ui-v4 .forge-budget>div:first-child>span{color:var(--forge-ink-dim);font-size:var(--forge-copy-sm)}.app-shell.ui-v4 .budget-bar{background:#ffffff17;border-radius:99px;height:.25rem;margin-top:.55rem;overflow:hidden}.app-shell.ui-v4 .budget-bar i{background:linear-gradient(90deg,var(--forge-copper),var(--forge-brass));height:100%;display:block}.app-shell.ui-v4 .forge-budget p{color:var(--forge-ink-soft);font-size:var(--forge-copy-sm);margin:.35rem 0 0}.app-shell.ui-v4 .forge-budget.complete{border-color:#6f9a798c}.app-shell.ui-v4 .forge-budget.complete .budget-bar i{background:var(--forge-green)}.app-shell.ui-v4 .forge-count{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.4rem;margin-top:.6rem;display:grid}.app-shell.ui-v4 .forge-count span{border:1px solid var(--forge-line);min-width:0;color:var(--forge-ink-dim);text-align:center;border-radius:.35rem;padding:.35rem .45rem;font-size:.8rem;line-height:1.2}.app-shell.ui-v4 .forge-count b{color:var(--forge-ink);font-size:.9rem}.app-shell.ui-v4 .forge-context-banner{margin-top:.6rem}.app-shell.ui-v4 .forge-context-banner .roguelite-identity-brief.compact{border:1px solid var(--forge-line);background:#ffffff05;border-radius:.4rem;align-items:center;gap:.6rem;min-height:3rem;padding:.45rem .55rem;display:flex}.app-shell.ui-v4 .forge-context-banner .roguelite-identity-copy small,.app-shell.ui-v4 .forge-context-banner .roguelite-identity-copy p,.app-shell.ui-v4 .forge-context-banner .roguelite-signatures b,.app-shell.ui-v4 .forge-context-banner .roguelite-brief-doctrines{display:none}.app-shell.ui-v4 .forge-context-banner .roguelite-identity-copy h3{margin:0;font-size:.95rem}.app-shell.ui-v4 .forge-context-banner .roguelite-signatures{gap:.15rem;display:flex}.app-shell.ui-v4 .forge-context-banner .roguelite-signatures>span{width:2.1rem;height:2.1rem}.app-shell.ui-v4 .forge-context-banner .roguelite-signatures .piece-visual{font-size:2rem}.app-shell.ui-v4 .forge-setup-tools{border-bottom:1px solid var(--forge-line);background:var(--forge-panel);flex:none;padding:.65rem 1rem}.app-shell.ui-v4 .forge-presets,.app-shell.ui-v4 .formation-actions{background:0 0}.app-shell.ui-v4 :where(.forge-presets,.formation-actions){grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.app-shell.ui-v4 .formation-actions{margin-top:.4rem}.app-shell.ui-v4 :where(.forge-presets,.formation-actions) button{border:1px solid var(--forge-line);min-width:0;min-height:2.45rem;color:var(--forge-ink-soft);background:#ffffff06;border-radius:.35rem;padding:.35rem .45rem;font-size:.8rem;line-height:1.15}.app-shell.ui-v4 :where(.forge-presets,.formation-actions) button:hover:not(:disabled){border-color:var(--forge-copper);color:var(--forge-ink)}.app-shell.ui-v4 .formation-actions input{display:none}.app-shell.ui-v4 .setup-doctrine-picker{background:#9d78bb0f;border:1px solid #9d78bb5c;border-radius:.4rem;margin:0 0 .5rem}.app-shell.ui-v4 .setup-doctrine-picker>summary{grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;min-height:2.8rem;padding:.5rem .65rem;list-style:none;display:grid}.app-shell.ui-v4 .setup-doctrine-picker>summary::-webkit-details-marker{display:none}.app-shell.ui-v4 .setup-doctrine-picker>summary span,.app-shell.ui-v4 .setup-doctrine-picker>summary small{color:var(--forge-ink-dim);font-size:.78rem}.app-shell.ui-v4 .setup-doctrine-picker>summary b{font-size:.92rem}.app-shell.ui-v4 .setup-doctrine-options{border-top:1px solid var(--forge-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;max-height:14rem;padding:.5rem;display:grid;overflow:auto}.app-shell.ui-v4 .setup-doctrine-options button{border:1px solid var(--forge-line);min-height:3.5rem;color:var(--forge-ink);text-align:left;background:#00000024;border-radius:.35rem;padding:.5rem}.app-shell.ui-v4 .setup-doctrine-options button b{font-size:.88rem;display:block}.app-shell.ui-v4 .setup-doctrine-options button small{color:var(--forge-ink-dim);margin-top:.2rem;font-size:.76rem;line-height:1.3;display:block}.app-shell.ui-v4 .setup-doctrine-options button.active{border-color:var(--forge-violet);background:#9d78bb24}.app-shell.ui-v4 .setup-doctrine-banner{border-top:1px solid var(--forge-line);padding:.65rem}.app-shell.ui-v4 .setup-doctrine-banner>*{display:block}.app-shell.ui-v4 .setup-doctrine-banner small{color:var(--forge-ink-dim);font-size:.75rem}.app-shell.ui-v4 .setup-doctrine-banner b{font-size:.95rem}.app-shell.ui-v4 .setup-doctrine-banner span,.app-shell.ui-v4 .setup-doctrine-banner em{color:var(--forge-ink-soft);margin-top:.2rem;font-size:.78rem;font-style:normal}.app-shell.ui-v4 .forge-catalog{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--forge-copper) transparent;flex:auto;min-height:0;padding:.8rem 1rem 1rem;overflow-y:auto}.app-shell.ui-v4 .forge-catalog h3{margin:0 0 .55rem}.app-shell.ui-v4 .forge-catalog h3:not(:first-child){margin-top:1rem}.app-shell.ui-v4 .forge-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.app-shell.ui-v4 .forge-catalog-card{border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);background:#ffffff06;min-width:0;min-height:6rem;transition:border-color .15s,background .15s;position:relative;overflow:hidden}.app-shell.ui-v4 .forge-catalog-card:hover{background:#dc6c3e0f;border-color:#dc6c3ea6}.app-shell.ui-v4 .forge-catalog-card.selected{border-color:var(--forge-copper);box-shadow:inset .2rem 0 var(--forge-copper);background:#dc6c3e1a}.app-shell.ui-v4 .forge-catalog-card.at-limit:not(.selected){opacity:.66}.app-shell.ui-v4 .catalog-card-main{width:100%;min-width:0;height:100%;min-height:6.75rem;color:var(--forge-ink);text-align:left;background:0 0;border:0;grid-template-rows:1.35rem minmax(1.7rem,auto) minmax(1.7rem,auto);grid-template-columns:4.25rem minmax(0,1fr);align-items:center;gap:.15rem .65rem;padding:.45rem .55rem .55rem;display:grid}.app-shell.ui-v4 .catalog-piece-image{grid-area:2/1/4;place-items:center;width:4.1rem;height:4.1rem;display:grid}.app-shell.ui-v4 .catalog-piece-image .piece-visual{width:1em;height:1em;font-size:4rem}.app-shell.ui-v4 .catalog-card-copy{grid-area:2/2;align-self:end;min-width:0;padding-right:2rem}.app-shell.ui-v4 .catalog-card-copy b{color:var(--forge-ink);text-overflow:clip;white-space:normal;font-size:1rem;font-weight:750;line-height:1.22;display:block;overflow:visible}.app-shell.ui-v4 .catalog-card-copy small{display:none}.app-shell.ui-v4 .catalog-card-cost{min-width:0;min-height:1.5rem;color:var(--forge-brass);text-align:center;background:#c99a5c1a;border:1px solid #c99a5c57;border-radius:999px;grid-area:3/2;justify-self:start;align-items:center;gap:.28rem;padding:.15rem .48rem;display:inline-flex}.app-shell.ui-v4 .catalog-card-cost b{color:inherit;font-size:.9rem;line-height:1}.app-shell.ui-v4 .catalog-card-cost small{color:var(--forge-ink-dim);letter-spacing:.04em;font-weight:760;line-height:1;display:inline;font-size:.75rem!important}.app-shell.ui-v4 .catalog-quantity{z-index:2;color:var(--forge-ink-soft);pointer-events:none;background:0 0;justify-content:space-between;align-items:center;gap:.5rem;padding:0;font-size:.78rem;font-style:normal;font-weight:740;display:flex;position:absolute;top:.42rem;left:.5rem;right:.5rem}.app-shell.ui-v4 .catalog-quantity-count,.app-shell.ui-v4 .catalog-quantity-limit{border:1px solid var(--forge-line);background:#0000009e;border-radius:999px;align-items:center;min-height:1.35rem;padding:0 .42rem;display:inline-flex}.app-shell.ui-v4 .catalog-quantity-limit{color:var(--forge-ink);background:#ffffff0f;margin-left:auto}.app-shell.ui-v4 .catalog-remove-one{z-index:3;width:1.7rem;height:1.7rem;color:var(--forge-copper-bright);background:#1a1410;border:1px solid #dc6c3e73;border-radius:.3rem;place-items:center;padding:0;display:grid;position:absolute;bottom:.35rem;right:.35rem}.app-shell.ui-v4 .forge-catalog-card:has(.catalog-remove-one) .catalog-card-cost{transform:none}.app-shell.ui-v4 .validation-strip{border-top:1px solid var(--forge-line);min-height:2.6rem;color:var(--forge-ink-soft);font-size:var(--forge-copy-sm);background:#15120f;align-items:center;padding:.45rem 1rem;display:flex}.app-shell.ui-v4 .validation-strip.is-ready{color:#a7d4b0;border-left:.22rem solid var(--forge-green)}.app-shell.ui-v4 .validation-strip .error{color:#efa18d}.app-shell.ui-v4 .evolved-flow-footer{border-top:1px solid var(--forge-line);background:#11100d;min-height:4.25rem;padding:.55rem 1rem;position:static;inset:auto}.app-shell.ui-v4 .start-battle{min-width:13rem}.app-shell.ui-v4 .hero{width:100%;max-width:none;height:calc(100dvh - var(--forge-topbar));margin:0;padding:.5rem clamp(.5rem,1.3vw,1.25rem);overflow:hidden}.app-shell.ui-v4 .game-layout.variant-game-layout{--match-board:min(calc(100dvh - var(--forge-topbar) - 6.4rem), calc(100vw - 27rem));grid-template-columns:var(--match-board) minmax(20rem,24rem);justify-content:center;align-items:center;gap:.75rem;width:fit-content;max-width:100%;height:100%;margin:0 auto;display:grid}.app-shell.ui-v4 .game-layout.variant-game-layout.sidebar-collapsed{--match-board:min(calc(100dvh - var(--forge-topbar) - 6.4rem), calc(100vw - 1rem));grid-template-columns:var(--match-board)}.app-shell.ui-v4 .board-column{width:var(--match-board);grid-template-rows:2.7rem var(--match-board) 2.7rem;align-content:center;min-width:0;min-height:0;display:grid}.app-shell.ui-v4 .player-strip{height:2.7rem;min-height:0;color:var(--forge-ink);border:0;grid-template-columns:minmax(0,auto) 1fr auto;align-items:center;gap:.55rem;margin:0;padding:.2rem .15rem;display:grid}.app-shell.ui-v4 .opponent-strip{align-self:end}.app-shell.ui-v4 .user-strip{align-self:start}.app-shell.ui-v4 .player-identity{align-items:center;gap:.55rem;min-width:0;display:flex}.app-shell.ui-v4 .player-identity .avatar{border:1px solid var(--forge-line);width:2rem;height:2rem;color:var(--forge-ink);background:#26211b;border-radius:50%;place-items:center;font-size:.75rem;font-weight:780;display:grid}.app-shell.ui-v4 .player-identity .ai-avatar{color:#fff;background:#652a1a;border-color:#dc6c3e73}.app-shell.ui-v4 .player-identity strong{max-width:18rem;color:var(--forge-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.15;display:block;overflow:hidden}.app-shell.ui-v4 .captured-pieces{justify-content:flex-end;align-items:center;min-width:0;display:flex;overflow:hidden}.app-shell.ui-v4 .compact-icons .piece-visual{font-size:1.55rem}.app-shell.ui-v4 .no-captures{color:var(--forge-ink-dim);font-size:.75rem}.app-shell.ui-v4 .turn-light{background:#514a40;border-radius:50%;width:.55rem;height:.55rem}.app-shell.ui-v4 .turn-light.active{background:#78b486;box-shadow:0 0 0 .25rem #78b48621}.app-shell.ui-v4 .board-column>.board-frame{width:var(--match-board);height:var(--match-board);background:#090806;border:.3rem solid #090806;border-radius:.25rem;margin:0;padding-left:0;box-shadow:0 1.2rem 3.5rem #00000080;container-type:inline-size}.app-shell.ui-v4 .board-column>.board-frame.no-evaluation{padding-left:0}.app-shell.ui-v4 .board-column>.board-frame .chessboard{aspect-ratio:1;width:100%;height:100%}.app-shell.ui-v4 .board-column>.board-frame .board-piece-wrap .piece-visual{font-size:10.65cqi}.app-shell.ui-v4 .evaluation-track{z-index:12;width:.22rem;box-shadow:none;pointer-events:none;background:#070705;border-radius:.08rem 0 0 .08rem;top:0;bottom:0;left:-.27rem;overflow:hidden}.app-shell.ui-v4 .evaluation-fill{background:#f4eadc}.app-shell.ui-v4 .evaluation-track b{display:none}.app-shell.ui-v4 .game-panel.variant-panel{width:100%;height:min(calc(100dvh - var(--forge-topbar) - 1rem), calc(var(--match-board) + 5.4rem));border:1px solid var(--forge-line-strong);border-radius:var(--forge-radius);min-height:0;color:var(--forge-ink);background:var(--forge-panel);flex-direction:column;margin:0;display:flex;position:relative;overflow:hidden;box-shadow:0 1rem 3rem #00000052}.app-shell.ui-v4 .sidebar-collapse{z-index:4;border:1px solid var(--forge-line-strong);width:1.7rem;height:2.6rem;color:var(--forge-ink-soft);background:#15120f;border-radius:.45rem;position:absolute;top:1rem;left:-.85rem}.app-shell.ui-v4 .sidebar-reopen{right:0;top:calc(var(--forge-topbar) + 1rem);z-index:30;border:1px solid var(--forge-line);min-height:2.8rem;color:var(--forge-ink);background:#211c17;border-right:0;border-radius:.5rem 0 0 .5rem;padding:0 .65rem;position:fixed}.app-shell.ui-v4 .sidebar-reopen span{font-size:.8rem}.app-shell.ui-v4 .status-card{border:0;border-bottom:.2rem solid var(--forge-copper);min-height:6.5rem;color:var(--forge-ink);background:linear-gradient(115deg,#dc6c3e24,#0000 65%),#100e0c;flex:none;padding:1rem 1.15rem}.app-shell.ui-v4 .status-card>p,.app-shell.ui-v4 .status-card .eyebrow{color:var(--forge-copper-bright);letter-spacing:.1em;margin:0 0 .3rem;font-size:.78rem;font-weight:780}.app-shell.ui-v4 .status-card h2,.app-shell.ui-v4 .status-card .status-headline{color:var(--forge-ink);font:720 1.45rem/1.08 var(--font-sans);letter-spacing:-.025em;margin:0}.app-shell.ui-v4 .status-card>span{color:var(--forge-ink-soft);margin-top:.35rem;font-size:.82rem;line-height:1.35;display:block}.app-shell.ui-v4 .status-card.is-check{background:linear-gradient(120deg,#bd493852,#0000 68%),#160d0b;border-color:#ef765c}.app-shell.ui-v4 .status-card.is-finished{background:linear-gradient(120deg,#c99a5c24,#0000 70%),#12100d}.app-shell.ui-v4 .roguelite-battle-identity,.app-shell.ui-v4 .match-settings{border:0;border-bottom:1px solid var(--forge-line);background:#ffffff03;flex:none;margin:0}.app-shell.ui-v4 :where(.roguelite-battle-identity,.match-settings)>summary{min-height:2.8rem;color:var(--forge-ink-soft);grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:.55rem 1rem;list-style:none;display:grid}.app-shell.ui-v4 :where(.roguelite-battle-identity,.match-settings)>summary::-webkit-details-marker{display:none}.app-shell.ui-v4 :where(.roguelite-battle-identity,.match-settings)>summary:after{content:"+";color:var(--forge-copper-bright);font-size:1.1rem}.app-shell.ui-v4 :where(.roguelite-battle-identity,.match-settings)[open]>summary:after{content:"−"}.app-shell.ui-v4 .roguelite-battle-identity>summary small{color:var(--forge-copper-bright);font-size:.72rem;font-weight:750}.app-shell.ui-v4 .roguelite-battle-identity>summary b{color:var(--forge-ink);font-size:.9rem;display:block}.app-shell.ui-v4 .roguelite-battle-identity>span{color:var(--forge-ink-soft);padding:0 1rem .7rem;font-size:.8rem;display:block}.app-shell.ui-v4 .roguelite-battle-identity>div{padding:0 1rem .8rem}.app-shell.ui-v4 .match-settings>summary{font-size:.85rem;font-weight:680}.app-shell.ui-v4 .match-settings dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;padding:0 1rem .85rem;display:grid}.app-shell.ui-v4 .match-settings dl div{min-width:0;display:block}.app-shell.ui-v4 .match-settings dt{color:var(--forge-ink-dim);font-size:.75rem}.app-shell.ui-v4 .match-settings dd{overflow-wrap:anywhere;color:var(--forge-ink);margin:.1rem 0 0;font-size:.8rem;font-weight:670}.app-shell.ui-v4 .seed-copy{max-width:100%;color:var(--forge-copper-bright);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:.76rem}.app-shell.ui-v4 .doctrine-runtime-stack{border-bottom:1px solid var(--forge-line);flex:none;gap:.4rem;padding:.6rem 1rem;display:grid}.app-shell.ui-v4 .doctrine-runtime{border-left:.2rem solid var(--forge-violet);background:#9d78bb12;padding:.5rem .6rem}.app-shell.ui-v4 .doctrine-runtime b{font-size:.85rem}.app-shell.ui-v4 .doctrine-runtime span{color:var(--forge-ink-soft);font-size:.78rem}.app-shell.ui-v4 .panel-section{border:0;border-bottom:1px solid var(--forge-line);padding:.8rem 1rem}.app-shell.ui-v4 .ammo-choice{color:var(--forge-ink-soft);font-size:.78rem}.app-shell.ui-v4 .selected-piece-card{flex:none;gap:.65rem;padding:.8rem 1rem;display:grid;overflow:visible}.app-shell.ui-v4 .selected-piece-heading{grid-template-columns:3.65rem minmax(0,1fr) 2.4rem;align-items:center;gap:.75rem;min-width:0;display:grid}.app-shell.ui-v4 .selected-piece-heading>.piece-visual{font-size:3.65rem}.app-shell.ui-v4 .selected-piece-heading>b{min-width:0;color:var(--forge-ink);overflow-wrap:anywhere;font-size:1.125rem;line-height:1.2}.app-shell.ui-v4 .selected-piece-heading>.clear-action{border:1px solid var(--forge-line);width:2.4rem;height:2.4rem;color:var(--forge-ink-soft);cursor:pointer;background:0 0;border-radius:.4rem;place-items:center;padding:0;font-size:1.1rem;display:grid}.app-shell.ui-v4 .selected-piece-heading>.clear-action:hover{color:var(--forge-ink);background:#ffffff0a}.app-shell.ui-v4 .selected-piece-card:not(.has-actions) .selected-piece-heading{grid-template-columns:3.65rem minmax(0,1fr)}.app-shell.ui-v4 .selected-piece-actions{align-items:stretch;gap:.45rem;min-width:0;display:flex}.app-shell.ui-v4 .selected-piece-actions>button{border:1px solid var(--forge-line);min-width:0;min-height:2.55rem;color:var(--forge-ink-soft);white-space:nowrap;cursor:pointer;background:#ffffff06;border-radius:.4rem;padding:0 .75rem;font-size:.875rem}.app-shell.ui-v4 .selected-piece-actions>button:hover:not(:disabled){color:var(--forge-ink);background:#ffffff0a}.app-shell.ui-v4 .selected-piece-actions>button.active{border-color:var(--forge-green);color:#fff;background:#6f9a7940}.app-shell.ui-v4 .selected-piece-actions>button.ability.active{border-color:var(--forge-violet);background:#9d78bb40}.app-shell.ui-v4 .selected-piece-actions>button:disabled{opacity:.35;cursor:not-allowed}.app-shell.ui-v4 .selected-rulebook{flex:auto;justify-content:space-between;align-items:center;gap:1rem;margin-left:auto;display:flex;color:var(--forge-ink)!important}.app-shell.ui-v4 .selected-rulebook span{color:var(--forge-copper-bright);font-size:1rem}.app-shell.ui-v4 .selected-piece-card>.ammo-choice{font-size:.875rem}.app-shell.ui-v4 .state-chip{color:var(--forge-ink-soft);background:#ffffff0a;border-radius:.35rem;margin-top:.4rem;padding:.4rem .55rem;font-size:.78rem}.app-shell.ui-v4 .state-chip.shield{background:#5697c11f}.app-shell.ui-v4 .state-chip.stone{background:#67796924}.app-shell.ui-v4 .state-chip.crown{background:#c99a5c24}.app-shell.ui-v4 .game-controls{border-bottom:1px solid var(--forge-line);background:var(--forge-panel);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-shell.ui-v4 .game-controls button{border:0;border-right:1px solid var(--forge-line);min-height:2.85rem;color:var(--forge-ink-soft);background:0 0;padding:.4rem .5rem;font-size:.8rem}.app-shell.ui-v4 .game-controls button:nth-child(2n){border-right:0}.app-shell.ui-v4 .game-controls button:hover:not(:disabled){color:var(--forge-ink);background:#ffffff09}.app-shell.ui-v4 .return-to-lab{border:0;border-bottom:1px solid var(--forge-line);min-height:2.8rem;color:var(--forge-ink);background:#6f9a7914;flex:none;font-size:.8rem}.app-shell.ui-v4 .move-log{flex-direction:column;flex:auto;min-height:8rem;padding:.75rem 1rem 0;display:flex;overflow:hidden}.app-shell.ui-v4 .section-heading{justify-content:space-between;align-items:center;min-height:2rem;margin:0;display:flex}.app-shell.ui-v4 .section-heading>span{color:var(--forge-ink-soft);letter-spacing:.08em;font-size:.82rem;font-weight:750}.app-shell.ui-v4 .section-heading button{color:var(--forge-ink-soft);background:0 0;border:0;padding:.25rem 0;font-size:.78rem}.app-shell.ui-v4 .history-score-head,.app-shell.ui-v4 .history-score li{grid-template-columns:2.4rem minmax(0,1fr) minmax(0,1fr);display:grid}.app-shell.ui-v4 .history-score-head{border-top:1px solid var(--forge-line);border-bottom:1px solid var(--forge-line);min-height:2rem;color:var(--forge-ink-dim);background:#ffffff09;align-items:center;font-size:.75rem}.app-shell.ui-v4 .history-score-head>*{padding:.35rem .45rem}.app-shell.ui-v4 .history-score{scrollbar-width:thin;flex:auto;min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.app-shell.ui-v4 .history-score li{border-bottom:1px solid var(--forge-line);background:#ffffff03;min-height:2.8rem}.app-shell.ui-v4 .history-score li:nth-child(2n){background:#ffffff07}.app-shell.ui-v4 .history-turn-number{color:var(--forge-ink-dim);align-items:center;padding:.45rem;font-size:.78rem;display:flex}.app-shell.ui-v4 .history-ply{border-left:1px solid var(--forge-line);min-width:0;font-family:var(--font-sans),system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow-wrap:anywhere;background:#0000001c;align-items:center;padding:.5rem .65rem;font-size:.95rem;font-weight:750;display:flex;color:#fff6e9!important}.app-shell.ui-v4 .history-ply:nth-child(3){background:#ffffff06}.app-shell.ui-v4 .history-ply :where(b,span,i){font:inherit;color:inherit!important}.app-shell.ui-v4 .history-empty{color:var(--forge-ink-dim);font-size:.82rem}.app-shell.ui-v4 .library-backdrop,.app-shell.ui-v4 .forge-flow-backdrop,.app-shell.ui-v4 .roguelite-backdrop,.app-shell.ui-v4 .roguelite-start-backdrop,.app-shell.ui-v4 .replay-backdrop{z-index:60;-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem);background:#050403d1;place-items:center;padding:clamp(.5rem,1.5vw,1.25rem);display:grid;position:fixed;inset:0;overflow:hidden}.app-shell.ui-v4 .piece-library{border:1px solid var(--forge-line-strong);border-radius:var(--forge-radius-lg);width:min(100%,112rem);height:min(100%,72rem);min-height:0;color:var(--forge-ink);background:var(--forge-bg-soft);box-shadow:var(--forge-shadow);grid-template-rows:4.5rem minmax(0,1fr);display:grid;overflow:hidden}.app-shell.ui-v4 .library-header{border-bottom:1px solid var(--forge-line);background:#ffffff05;grid-template-columns:minmax(13rem,1fr) auto 3rem;align-items:center;gap:1rem;min-width:0;padding:0 clamp(1rem,2vw,2rem);display:grid}.app-shell.ui-v4 .library-header h2{font-size:var(--forge-title-sm);letter-spacing:-.025em;margin:0;line-height:1}.app-shell.ui-v4 .library-header nav{align-items:stretch;height:100%;display:flex}.app-shell.ui-v4 .library-header nav button{min-width:8rem;color:var(--forge-ink-dim);letter-spacing:.08em;background:0 0;border:0;border-bottom:.22rem solid #0000;padding:0 1rem;font-size:.9rem;font-weight:760}.app-shell.ui-v4 .library-header nav button.active{border-bottom-color:var(--forge-copper);color:var(--forge-ink)}.app-shell.ui-v4 .library-header>button:last-child,.app-shell.ui-v4 .library-mobile-index-toggle{border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);width:2.75rem;height:2.75rem;color:var(--forge-ink-soft);background:0 0;font-size:1.35rem}.app-shell.ui-v4 .library-mobile-index-toggle{width:auto;padding:0 .8rem;font-size:.875rem;display:none}.app-shell.ui-v4 .library-body{grid-template-columns:clamp(28rem,34vw,34rem) minmax(0,1fr);min-height:0;display:grid}.app-shell.ui-v4 .library-mobile-index-scrim{display:none}.app-shell.ui-v4 .library-index{border-right:1px solid var(--forge-line);background:#ffffff03;flex-direction:column;gap:.85rem;min-height:0;padding:1rem;display:flex}.app-shell.ui-v4 .library-index>input{border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);width:100%;min-height:3rem;color:var(--forge-ink);background:#0000002e;flex:none;padding:0 .9rem;font-size:.95rem}.app-shell.ui-v4 .encyclopedia-index-label{color:var(--forge-ink-dim);letter-spacing:.1em;font-size:.875rem;font-weight:760}.app-shell.ui-v4 .library-piece-list{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(4.65rem,auto);gap:.55rem;min-height:0;display:grid;overflow:auto}.app-shell.ui-v4 .library-piece-list>button{border:1px solid var(--forge-line);min-width:0;min-height:4.65rem;color:var(--forge-ink);text-align:left;background:#ffffff05;border-radius:.55rem;grid-template-columns:3.35rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.45rem 2.65rem .45rem .5rem;display:grid;position:relative;overflow:hidden}.app-shell.ui-v4 .library-piece-list>button:after{content:attr(data-cost);color:#1a100a;background:var(--forge-brass);border-radius:999px;place-items:center;min-width:1.75rem;height:1.75rem;padding:0 .35rem;font-size:.875rem;font-weight:820;display:grid;position:absolute;top:.55rem;right:.55rem}.app-shell.ui-v4 .library-piece-list>button:hover,.app-shell.ui-v4 .library-piece-list>button.active{background:#dc6c3e1c;border-color:#f08a57b8}.app-shell.ui-v4 .library-piece-list .piece-visual{width:3rem;height:3rem;font-size:2.9rem}.app-shell.ui-v4 .library-piece-list button>span{min-width:0}.app-shell.ui-v4 .library-piece-list button b{color:var(--forge-ink);overflow-wrap:normal;word-break:normal;white-space:normal;font-size:.95rem;line-height:1.2;display:block}.app-shell.ui-v4 .library-piece-list button small{display:none}.app-shell.ui-v4 .library-piece-list .doctrine-index-card{grid-template-columns:2rem minmax(0,1fr);padding-right:.65rem}.app-shell.ui-v4 .library-piece-list .doctrine-index-card:after{display:none}.app-shell.ui-v4 .doctrine-index-card>i{border:1px solid var(--forge-line);width:2rem;height:2rem;color:var(--forge-copper-bright);border-radius:50%;place-items:center;font-style:normal;display:grid}.app-shell.ui-v4 .library-detail{flex-direction:column;min-width:0;min-height:0;padding:clamp(1rem,2vw,2rem);display:flex;overflow:hidden}.app-shell.ui-v4 .library-piece-hero{border-bottom:1px solid var(--forge-line);flex:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1rem,2vw,2rem);min-width:0;height:auto;padding-bottom:1rem;display:grid;overflow:visible}.app-shell.ui-v4 .library-piece-pair{align-items:flex-end;gap:.5rem;display:flex}.app-shell.ui-v4 .library-piece-pair .piece-visual{width:clamp(4.3rem,6vw,7rem);height:clamp(4.3rem,6vw,7rem);font-size:clamp(4rem,5.7vw,6.8rem)}.app-shell.ui-v4 .library-piece-hero>div:last-child{min-width:0}.app-shell.ui-v4 .library-piece-hero small{color:var(--forge-copper-bright);letter-spacing:.09em;font-size:.875rem;font-weight:780;display:block}.app-shell.ui-v4 .library-piece-hero h3{letter-spacing:-.035em;margin:.15rem 0 0;font-size:clamp(2rem,2.5vw,3.5rem);line-height:1}.app-shell.ui-v4 .library-piece-hero p{max-width:52rem;color:var(--forge-ink-soft);margin:.55rem 0 0;font-size:1rem}.app-shell.ui-v4 .encyclopedia-meta{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.app-shell.ui-v4 .encyclopedia-meta span{border:1px solid var(--forge-line);min-height:2rem;color:var(--forge-ink);background:#ffffff06;border-radius:999px;align-items:center;padding:0 .7rem;font-size:.875rem;font-weight:720;display:inline-flex}.app-shell.ui-v4 .encyclopedia-meta span:first-child{color:#1a100a;background:var(--forge-brass);border-color:#c99a5c7a;font-weight:830}.app-shell.ui-v4 .doctrine-hero{grid-template-columns:auto minmax(0,1fr)}.app-shell.ui-v4 .doctrine-hero-mark{width:5rem;height:5rem;color:var(--forge-ink);background:#9d78bb1a;border:1px solid #9d78bb80;border-radius:50%;place-items:center;font-size:2rem;font-weight:800;display:grid}.app-shell.ui-v4 .library-reference-grid{flex:auto;grid-template-columns:minmax(22rem,1fr) minmax(18rem,.78fr);gap:1rem;min-height:0;padding-top:1rem;display:grid;overflow:hidden}.app-shell.ui-v4 .encyclopedia-demo-shell{flex-direction:column;min-width:0;min-height:0;display:flex}.app-shell.ui-v4 .demo-stage-heading{min-height:2.5rem;color:var(--forge-ink);flex:none;align-items:center;gap:.55rem;font-size:.9rem;font-weight:680;display:flex}.app-shell.ui-v4 .demo-live-dot{background:var(--forge-green);border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 .3rem #6f9a7926}.app-shell.ui-v4 .open-example-lab{border:1px solid var(--forge-line);color:var(--forge-ink-soft);background:0 0;border-radius:.35rem;margin-left:auto;padding:.4rem .65rem;font-size:.875rem}.app-shell.ui-v4 .demo-board-frame{flex:auto;place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.app-shell.ui-v4 .encyclopedia-board{aspect-ratio:1;contain:layout;width:min(100%,100dvh - 19.5rem);max-width:38rem;height:auto;max-height:none}.app-shell.ui-v4 .encyclopedia-board :where(.board,.chessboard){aspect-ratio:1;width:100%;height:auto}.app-shell.ui-v4 .encyclopedia-board .piece-visual{font-size:78%}.app-shell.ui-v4 .demo-captured-strip,.app-shell.ui-v4 .demo-doctrine-status{border:1px solid var(--forge-line);min-height:2.5rem;color:var(--forge-ink-soft);background:#ffffff06;border-radius:.4rem;flex:none;align-items:center;gap:.6rem;margin-top:.45rem;padding:.35rem .65rem;font-size:.875rem;display:flex}.app-shell.ui-v4 .encyclopedia-rule-copy{overscroll-behavior:contain;scrollbar-width:thin;align-content:start;gap:.7rem;min-height:0;display:grid;overflow:auto}.app-shell.ui-v4 .encyclopedia-rule-copy section{border-left:.22rem solid var(--forge-green);background:#ffffff07;border-radius:0 .55rem .55rem 0;padding:1rem}.app-shell.ui-v4 .encyclopedia-rule-copy section:nth-child(2n){border-left-color:var(--forge-violet)}.app-shell.ui-v4 .encyclopedia-rule-copy span{color:var(--forge-copper-bright);letter-spacing:.09em;font-size:.875rem;font-weight:780}.app-shell.ui-v4 .encyclopedia-rule-copy p{color:var(--forge-ink-soft);margin:.45rem 0 0;font-size:.95rem;line-height:1.5}.app-shell.ui-v4 .settings-panel{border:1px solid var(--forge-line-strong);border-radius:var(--forge-radius-lg);width:min(100%,54rem);max-height:min(100%,60rem);color:var(--forge-ink);background:var(--forge-bg-soft);box-shadow:var(--forge-shadow);grid-template-rows:4.5rem minmax(0,1fr) auto;display:grid;overflow:hidden}.app-shell.ui-v4 .settings-panel>header{border-bottom:1px solid var(--forge-line);justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex}.app-shell.ui-v4 .settings-panel>header h2{font-size:var(--forge-title-sm);margin:0;line-height:1}.app-shell.ui-v4 .settings-panel>header button{border:1px solid var(--forge-line);width:2.75rem;height:2.75rem;color:var(--forge-ink-soft);background:0 0;border-radius:.45rem;font-size:1.25rem}.app-shell.ui-v4 .settings-list{scrollbar-width:thin;min-height:0;padding:.75rem 1rem;overflow:auto}.app-shell.ui-v4 .setting-row,.app-shell.ui-v4 .settings-volume-row,.app-shell.ui-v4 .settings-audio-theme,.app-shell.ui-v4 .settings-piece-set,.app-shell.ui-v4 .settings-save-row{border-bottom:1px solid var(--forge-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:4.25rem;padding:.7rem .8rem;display:grid}.app-shell.ui-v4 :where(.setting-row,.settings-volume-row,.settings-audio-theme,.settings-piece-set,.settings-save-row)>span:first-child b{color:var(--forge-ink);font-size:1rem;line-height:1.25;display:block}.app-shell.ui-v4 .setting-switch{border:1px solid var(--forge-line-strong);color:#0000;background:#38322b;border-radius:999px;flex:0 0 3.25rem;font-size:0;width:3.25rem!important;min-width:3.25rem!important;max-width:3.25rem!important;height:1.9rem!important;min-height:1.9rem!important;max-height:1.9rem!important;padding:.2rem!important}.app-shell.ui-v4 .setting-switch i{background:var(--forge-ink-dim);border-radius:50%;width:1.35rem;height:1.35rem;transition:transform .18s,background .18s;display:block}.app-shell.ui-v4 .setting-switch.active{background:#dc6c3e40;border-color:#dc6c3ebf}.app-shell.ui-v4 .setting-switch.active i{background:var(--forge-copper-bright);transform:translate(1.3rem)}.app-shell.ui-v4 .settings-volume-row>div{grid-template-columns:minmax(8rem,14rem) 3rem 3.25rem;justify-content:end;align-items:center;gap:.65rem;display:grid}.app-shell.ui-v4 .settings-volume-row input{accent-color:var(--forge-copper)}.app-shell.ui-v4 .settings-volume-row output{color:var(--forge-ink-soft);font-size:.875rem;font-weight:700}.app-shell.ui-v4 .settings-audio-theme{align-items:center}.app-shell.ui-v4 .settings-audio-theme>div{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;max-width:30rem;display:flex}.app-shell.ui-v4 .settings-audio-theme button,.app-shell.ui-v4 .settings-save-actions button{border:1px solid var(--forge-line);min-height:2.5rem;color:var(--forge-ink-soft);background:#ffffff05;border-radius:.4rem;padding:0 .8rem;font-size:.875rem}.app-shell.ui-v4 .settings-audio-theme button.active{border-color:var(--forge-copper);color:var(--forge-ink);background:#dc6c3e21}.app-shell.ui-v4 .settings-piece-set select{border:1px solid var(--forge-line);min-width:12rem;min-height:2.75rem;color:var(--forge-ink);background:var(--forge-panel);border-radius:.4rem;padding:0 .7rem;font-size:.95rem}.app-shell.ui-v4 .settings-save-row{border-bottom:0;margin:0}.app-shell.ui-v4 .settings-save-actions{gap:.45rem;display:flex}.app-shell.ui-v4 .settings-panel>footer{justify-content:flex-end;padding:.75rem 1rem 1rem;display:flex}.app-shell.ui-v4 .settings-panel>footer .flow-primary{width:auto;min-width:9rem}.app-shell.ui-v4 .roguelite-start,.app-shell.ui-v4 .roguelite-intermission{border:1px solid var(--forge-line-strong);border-radius:var(--forge-radius-lg);width:min(100%,72rem);max-height:100%;color:var(--forge-ink);background:linear-gradient(135deg,#dc6c3e17,transparent 28rem), var(--forge-bg-soft);box-shadow:var(--forge-shadow);scrollbar-width:thin;padding:clamp(1.25rem,3vw,3rem);position:relative;overflow:auto}.app-shell.ui-v4 .roguelite-start{grid-template-rows:repeat(4,auto);align-content:center;gap:1rem;width:min(100%,34rem);display:grid}.app-shell.ui-v4 .roguelite-start h2{font-size:var(--forge-title);letter-spacing:-.035em;margin:0;line-height:1.05}.app-shell.ui-v4 .roguelite-start>span{display:none}.app-shell.ui-v4 .roguelite-start label{color:var(--forge-ink-soft);gap:.45rem;font-size:.875rem;display:grid}.app-shell.ui-v4 .roguelite-start label b{letter-spacing:0;text-transform:none;font-size:inherit!important}.app-shell.ui-v4 .roguelite-start input{border:1px solid var(--forge-line);min-height:3rem;color:var(--forge-ink);background:#00000038;border-radius:.45rem;padding:0 .85rem;font-size:1rem}.app-shell.ui-v4 .roguelite-start .curtain-back{min-height:2.75rem;color:var(--forge-ink-soft);background:0 0;border:0;font-size:.9rem}.app-shell.ui-v4 .roguelite-embers{pointer-events:none;opacity:.35;position:absolute;inset:0;overflow:hidden}.app-shell.ui-v4 .roguelite-intermission>header{border-bottom:1px solid var(--forge-line);align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.app-shell.ui-v4 .roguelite-sigil{width:3.5rem;height:3.5rem;color:var(--forge-ink);background:#2a1911;border:1px solid #dc6c3e8c;border-radius:.4rem 1.2rem .4rem .4rem;place-items:center;font-size:1.8rem;font-weight:800;display:grid}.app-shell.ui-v4 .roguelite-intermission>header b{color:var(--forge-copper-bright);letter-spacing:.1em;font-size:.9rem}.app-shell.ui-v4 .roguelite-hero{padding:clamp(1rem,2vw,2rem) 0}.app-shell.ui-v4 .roguelite-hero>span{color:var(--forge-copper-bright);letter-spacing:.1em;font-size:.875rem;font-weight:800}.app-shell.ui-v4 .roguelite-hero h2{max-width:56rem;font-size:var(--forge-title);letter-spacing:-.04em;margin:.35rem 0 0;line-height:1.02}.app-shell.ui-v4 .roguelite-hero p{max-width:48rem;color:var(--forge-ink-soft);margin:.65rem 0 0;font-size:1rem}.app-shell.ui-v4 .roguelite-progress{grid-template-columns:repeat(10,minmax(0,1fr));gap:.45rem;margin:.2rem 0 1.25rem;display:grid}.app-shell.ui-v4 .roguelite-progress span{background:#ffffff17;border-radius:999px;height:.48rem;position:relative}.app-shell.ui-v4 .roguelite-progress span.won{background:var(--forge-copper)}.app-shell.ui-v4 .roguelite-progress span.next{background:var(--forge-brass);box-shadow:0 0 0 .22rem #c99a5c26}.app-shell.ui-v4 .roguelite-progress i{color:var(--forge-ink-dim);font-size:.875rem;font-style:normal;position:absolute;top:-1.55rem;left:50%;transform:translate(-50%)}.app-shell.ui-v4 .roguelite-next{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:1rem;margin-top:1rem;display:grid}.app-shell.ui-v4 .roguelite-next>*{min-width:0}.app-shell.ui-v4 .roguelite-identity-brief{border:1px solid var(--forge-line);border-left:.25rem solid var(--forge-copper);background:#ffffff06;border-radius:.6rem;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem;display:grid}.app-shell.ui-v4 .roguelite-identity-brief.boss{background:#c99a5c12;border-color:#c99a5c8c}.app-shell.ui-v4 .roguelite-identity-copy>span{color:var(--forge-copper-bright);letter-spacing:.08em;font-size:.875rem;font-weight:800}.app-shell.ui-v4 .roguelite-identity-copy h3{margin:.2rem 0 0;font-size:1.45rem;line-height:1.1}.app-shell.ui-v4 .roguelite-identity-copy p{color:var(--forge-ink-soft);margin:.35rem 0 0;font-size:.95rem}.app-shell.ui-v4 .roguelite-signatures{align-items:center;gap:.5rem;display:flex}.app-shell.ui-v4 .roguelite-signatures>span{border:1px solid var(--forge-line);background:#00000029;border-radius:.45rem;place-items:center;width:3.25rem;height:3.25rem;display:grid}.app-shell.ui-v4 .roguelite-signatures .piece-visual{font-size:2.8rem}.app-shell.ui-v4 .roguelite-brief-doctrines{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;display:flex}.app-shell.ui-v4 .roguelite-opponent-doctrines{flex-wrap:wrap;gap:.4rem;display:flex}.app-shell.ui-v4 .roguelite-opponent-doctrines>*{min-height:2rem;color:var(--forge-ink);background:#9d78bb14;border:1px solid #9d78bb59;border-radius:999px;padding:.35rem .6rem;font-size:.875rem}.app-shell.ui-v4 .roguelite-earned-doctrines{flex-wrap:wrap;gap:.55rem;margin:.85rem 0;display:flex}.app-shell.ui-v4 .roguelite-earned-doctrines>*{flex:0 auto;min-width:12rem}.app-shell.ui-v4 .roguelite-elite-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.app-shell.ui-v4 .roguelite-elite-choice>button{border:1px solid var(--forge-line);min-height:7rem;color:var(--forge-ink);text-align:left;background:#ffffff05;border-radius:.6rem;align-content:center;justify-items:start;gap:.2rem;padding:1rem;display:grid}.app-shell.ui-v4 .roguelite-elite-choice>button:hover,.app-shell.ui-v4 .roguelite-elite-choice>button.selected{border-color:var(--forge-green);background:#6f9a7914}.app-shell.ui-v4 .roguelite-elite-choice>button.elite{border-color:#dc6c3e8c}.app-shell.ui-v4 .roguelite-elite-choice>button.elite:hover,.app-shell.ui-v4 .roguelite-elite-choice>button.elite.selected{border-color:var(--forge-copper-bright);background:#dc6c3e1a}.app-shell.ui-v4 .roguelite-elite-choice button b{font-size:1.2rem}.app-shell.ui-v4 .roguelite-elite-choice button span{color:var(--forge-ink-soft);font-size:.9rem}.app-shell.ui-v4 .elite-doctrine-info,.app-shell.ui-v4 .elite-risk{border-left:.2rem solid var(--forge-violet);color:var(--forge-ink-soft);background:#9d78bb12;grid-column:1/-1;margin:0;padding:.8rem 1rem;font-size:.95rem}.app-shell.ui-v4 .elite-risk{border-left-color:var(--forge-copper);background:#dc6c3e12}.app-shell.ui-v4 .roguelite-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.app-shell.ui-v4 .roguelite-actions>button{border:1px solid var(--forge-line);min-height:3rem;color:var(--forge-ink-soft);background:0 0;border-radius:.45rem;padding:0 1.1rem;font-size:.95rem}.app-shell.ui-v4 .roguelite-actions>.flow-primary{color:#1a100a;background:var(--forge-copper-bright)}.app-shell.ui-v4 .draft-flow,.app-shell.ui-v4 .forge-laboratory,.app-shell.ui-v4 .save-library,.app-shell.ui-v4 .match-replay,.app-shell.ui-v4 .online-lobby{border:1px solid var(--forge-line-strong);border-radius:var(--forge-radius-lg);width:min(100%,112rem);height:min(100%,72rem);min-height:0;color:var(--forge-ink);background:var(--forge-bg-soft);box-shadow:var(--forge-shadow);overflow:hidden}.app-shell.ui-v4 .draft-flow{grid-template-rows:4.5rem minmax(0,1fr) auto;display:grid}.app-shell.ui-v4 .draft-header{border-bottom:1px solid var(--forge-line);justify-content:space-between;align-items:center;gap:1rem;padding:0 1.25rem;display:flex}.app-shell.ui-v4 .draft-header h2{font-size:var(--forge-title-sm);margin:0}.app-shell.ui-v4 .draft-header>div:last-child{gap:.45rem;display:flex}.app-shell.ui-v4 .draft-header button{border:1px solid var(--forge-line);min-height:2.6rem;color:var(--forge-ink-soft);background:0 0;border-radius:.4rem;padding:0 .75rem;font-size:.875rem}.app-shell.ui-v4 .draft-flow.draft-flow-config{grid-template-rows:4rem minmax(0,1fr);width:min(100rem,100vw - 2rem);height:min(82rem,100dvh - 2rem);max-height:none;padding:0}.app-shell.ui-v4 .draft-flow-config .draft-config-header{background:#00000021;min-width:0;min-height:0;padding:0 1rem;overflow:hidden}.app-shell.ui-v4 .draft-flow-config .flow-brand>div{align-items:center;display:flex}.app-shell.ui-v4 .draft-config{grid-template-rows:auto minmax(0,1fr) auto;gap:0;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;padding:clamp(.75rem,2vw,1.5rem);display:grid;overflow:hidden}.app-shell.ui-v4 .draft-config .flow-title-block{margin-bottom:.65rem}.app-shell.ui-v4 .draft-config .draft-setup-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;align-content:center;gap:.85rem;width:100%;overflow:auto}.app-shell.ui-v4 .draft-config .draft-setup-grid>fieldset{flex-direction:column;justify-content:center;min-height:0;display:flex}.app-shell.ui-v4 .draft-config :where(.draft-mode-field,.draft-color-field,.draft-first-field){grid-column:span 4}.app-shell.ui-v4 .draft-config :where(.draft-difficulty-field,.draft-seed-field){grid-column:span 6}.app-shell.ui-v4 .draft-config .draft-seed-field.wide{grid-column:1/-1}.app-shell.ui-v4 .draft-config .draft-mode-options{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.ui-v4 .draft-config .draft-mode-options button{min-height:4.5rem}.app-shell.ui-v4 .draft-config .draft-color-options,.app-shell.ui-v4 .draft-config .draft-first-options,.app-shell.ui-v4 .draft-config .draft-difficulty-field .flow-difficulty-options{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.ui-v4 .draft-config .draft-difficulty-field button{min-height:4.5rem}.app-shell.ui-v4 .draft-config .draft-seed-field input{width:100%;min-height:4.5rem}.app-shell.ui-v4 .draft-config .draft-local-colors{border:1px solid var(--forge-line);border-radius:var(--forge-radius-sm);background:#dc6c3e12;justify-content:center;align-items:center;gap:.55rem;min-height:4.5rem;display:flex}.app-shell.ui-v4 .draft-config .draft-local-colors span{color:var(--forge-copper-bright);font-size:1.65rem}.app-shell.ui-v4 .draft-config .draft-local-colors b{font-size:var(--forge-copy)}.app-shell.ui-v4 .draft-config :where(input,select){border:1px solid var(--forge-line);width:100%;min-height:3rem;color:var(--forge-ink);background:#0003;border-radius:.4rem;padding:0 .8rem;font-size:1rem}.app-shell.ui-v4 .draft-config-footer{border-top:1px solid var(--forge-line);justify-content:space-between;align-items:center;gap:.75rem;padding-top:1rem;display:flex}.app-shell.ui-v4 .draft-config-footer .flow-primary{min-width:15rem}.app-shell.ui-v4 .draft-stage{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:.65rem;min-height:0;padding:1rem;display:grid;position:relative;overflow:hidden}.app-shell.ui-v4 .draft-scoreboards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.app-shell.ui-v4 .draft-scoreboards>section{border:1px solid var(--forge-line);background:#ffffff05;border-radius:.55rem;grid-template-rows:auto minmax(2rem,auto);grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;min-width:0;min-height:5.35rem;padding:.65rem .9rem;display:grid}.app-shell.ui-v4 .draft-scoreboards>section.active{border-color:var(--forge-copper);box-shadow:inset .22rem 0 var(--forge-copper)}.app-shell.ui-v4 .draft-scoreboards>section>div:first-child{align-items:center;gap:.4rem;min-width:0;display:flex}.app-shell.ui-v4 .draft-scoreboards>section>div:first-child b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell.ui-v4 .draft-scoreboards>section>div:first-child small{color:var(--forge-ink-dim);background:#ffffff0e;border-radius:.25rem;padding:.12rem .35rem;font-size:.75rem;font-weight:800}.app-shell.ui-v4 .draft-scoreboards>section>div:first-child em{color:var(--forge-copper-bright);letter-spacing:.04em;white-space:nowrap;border:1px solid #f08a5773;border-radius:999px;padding:.12rem .42rem;font-size:.75rem;font-style:normal;font-weight:800}.app-shell.ui-v4 .draft-scoreboards strong{color:var(--forge-brass);font-size:1.7rem}.app-shell.ui-v4 .draft-scoreboards strong i{color:var(--forge-ink-dim);font-size:.9rem;font-style:normal}.app-shell.ui-v4 .draft-army-icons{grid-column:1/-1;gap:.25rem;display:flex;overflow:hidden}.app-shell.ui-v4 .draft-army-icons>span{flex:0 0 2rem;width:2rem;height:2rem;position:relative}.app-shell.ui-v4 .draft-army-icons .piece-visual{font-size:1.9rem}.app-shell.ui-v4 .draft-cards{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.65rem;min-width:0;min-height:0;display:grid}.app-shell.ui-v4 .draft-card{border:1px solid var(--forge-line);text-align:center;background:linear-gradient(160deg,#ffffff0a,#ffffff03);border-radius:.65rem;grid-template-rows:auto minmax(6rem,1fr) auto auto 2.8rem;justify-items:center;gap:.45rem;min-width:0;padding:.85rem .75rem;display:grid;position:relative;overflow:hidden}.app-shell.ui-v4 .draft-card.permanent{border-color:#6f9a7973}.app-shell.ui-v4 .draft-card>small{color:var(--forge-ink-dim);font-size:.875rem;font-weight:740}.app-shell.ui-v4 .draft-card .piece-visual{align-self:center;font-size:clamp(5rem,11vh,9rem)}.app-shell.ui-v4 .draft-card h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(1.05rem,.95rem + .35vw,1.35rem);line-height:1.15;overflow:hidden}.app-shell.ui-v4 .draft-card strong{color:var(--forge-brass);font-size:clamp(1.55rem,1.2rem + .8vw,2.2rem)}.app-shell.ui-v4 .draft-card strong i{font-size:.875rem;font-style:normal}.app-shell.ui-v4 .draft-card p{display:none}.app-shell.ui-v4 .draft-card button{color:#1a100a;background:var(--forge-copper-bright);border:0;border-radius:.4rem;width:100%;min-height:2.7rem;font-weight:760}.app-shell.ui-v4 .draft-card em{color:var(--forge-red);font-size:.875rem;font-style:normal}.app-shell.ui-v4 .draft-pick-log{border:1px solid var(--forge-line);border-radius:.55rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;padding:.42rem .7rem;display:grid;overflow:hidden}.app-shell.ui-v4 .draft-pick-log>span{color:var(--forge-ink-dim);letter-spacing:.06em;white-space:nowrap;font-size:.75rem;font-weight:800}.app-shell.ui-v4 .draft-pick-log ol{justify-content:flex-end;gap:.35rem;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.app-shell.ui-v4 .draft-pick-log li{background:#ffffff05;border:1px solid #f4eadc14;border-radius:.35rem;grid-template-columns:auto minmax(0,1fr) auto;gap:.35rem;min-width:0;padding:.3rem .48rem;font-size:.75rem;display:grid}.app-shell.ui-v4 .draft-pick-log li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell.ui-v4 .draft-pick-log li i{color:var(--forge-copper-bright);font-style:normal}.app-shell.ui-v4 .draft-pick-notice{z-index:12;border:1px solid var(--forge-copper);min-width:min(22rem,100% - 2rem);box-shadow:0 1.2rem 4rem #000000a6,inset .22rem 0 var(--forge-copper-bright);pointer-events:none;background:#14110ef7;border-radius:.7rem;grid-template-columns:5.5rem minmax(0,1fr);align-items:center;gap:1rem;padding:1rem 1.2rem;animation:.2s both draft-notice-in;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-shell.ui-v4 .draft-pick-notice .piece-visual{font-size:5.5rem}.app-shell.ui-v4 .draft-pick-notice span{gap:.25rem;min-width:0;display:grid}.app-shell.ui-v4 .draft-pick-notice small{color:var(--forge-copper-bright);letter-spacing:.08em;font-weight:800;font-size:.78rem!important}.app-shell.ui-v4 .draft-pick-notice b{color:var(--forge-ink);text-overflow:ellipsis;white-space:nowrap;font-size:1.45rem;overflow:hidden}@keyframes draft-notice-in{0%{opacity:0;transform:translate(-50%,calc(.8rem - 50%))scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.app-shell.ui-v4 .draft-deployment{grid-template-columns:minmax(20rem,1fr) clamp(18rem,30vw,27rem);gap:1rem;min-height:0;padding:1rem;display:grid;overflow:hidden}.app-shell.ui-v4 .draft-deploy-board{flex-direction:column;align-items:center;min-width:0;min-height:0;display:flex}.app-shell.ui-v4 .draft-deploy-board .deployment-side-label{display:none}.app-shell.ui-v4 .draft-deploy-board .board-frame{aspect-ratio:1;flex:none;width:min(100%,100dvh - 9rem);height:auto;max-height:none}.app-shell.ui-v4 .draft-deploy-board .board-frame .chessboard{aspect-ratio:1;width:100%;height:auto}.app-shell.ui-v4 .draft-deployment>aside{border:1px solid var(--forge-line);border-radius:.6rem;min-height:0;padding:1rem;overflow:auto}.app-shell.ui-v4 .draft-deployment aside h3{margin:0;font-size:1.35rem}.app-shell.ui-v4 .draft-deployment aside>p{display:none}.app-shell.ui-v4 .draft-reserve-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1rem 0;display:grid}.app-shell.ui-v4 .draft-reserve-summary button{border:1px solid var(--forge-line);min-height:3.75rem;color:var(--forge-ink);text-align:left;background:#ffffff05;border-radius:.45rem;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.app-shell.ui-v4 .draft-reserve-summary .piece-visual{font-size:2.8rem}.app-shell.ui-v4 .draft-deploy-validation{border-left:.2rem solid var(--forge-red);color:var(--forge-ink-soft);margin:.75rem 0;padding:.7rem;font-size:.875rem}.app-shell.ui-v4 .draft-deploy-validation.valid{border-left-color:var(--forge-green)}.app-shell.ui-v4 .draft-handoff{text-align:center;place-content:center;justify-items:center;gap:.7rem;min-height:0;display:grid}.app-shell.ui-v4 .draft-handoff>span{background:var(--forge-panel-raised);border-radius:50%;place-items:center;width:4rem;height:4rem;font-size:2rem;display:grid}.app-shell.ui-v4 .draft-handoff h3{font-size:var(--forge-title-sm);margin:0}.app-shell.ui-v4 .draft-handoff small{color:var(--forge-ink-soft)}.app-shell.ui-v4 .forge-laboratory{grid-template-rows:4.5rem minmax(0,1fr) 4.5rem;display:grid}.app-shell.ui-v4 .lab-header{border-bottom:1px solid var(--forge-line);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex}.app-shell.ui-v4 .lab-header h2{font-size:var(--forge-title-sm);margin:0}.app-shell.ui-v4 .lab-header-actions{gap:.45rem;display:flex}.app-shell.ui-v4 .lab-header button,.app-shell.ui-v4 .lab-footer button,.app-shell.ui-v4 .lab-turn-row button{border:1px solid var(--forge-line);min-height:2.6rem;color:var(--forge-ink-soft);background:0 0;border-radius:.4rem;padding:0 .75rem;font-size:.875rem}.app-shell.ui-v4 .lab-close{width:2.6rem;padding:0!important;font-size:1.25rem!important}.app-shell.ui-v4 .lab-workspace{grid-template-columns:clamp(17rem,19vw,21rem) minmax(24rem,1fr) clamp(18rem,22vw,25rem);min-height:0;display:grid;overflow:hidden}.app-shell.ui-v4 .lab-palette,.app-shell.ui-v4 .lab-inspector{scrollbar-width:thin;min-height:0;padding:1rem;overflow:auto}.app-shell.ui-v4 .lab-palette{border-right:1px solid var(--forge-line)}.app-shell.ui-v4 .lab-inspector{border-left:1px solid var(--forge-line)}.app-shell.ui-v4 .lab-search{color:var(--forge-ink-dim);gap:.35rem;font-size:.875rem;font-weight:740;display:grid}.app-shell.ui-v4 .lab-search input{border:1px solid var(--forge-line);min-height:2.75rem;color:var(--forge-ink);background:#0000002e;border-radius:.4rem;padding:0 .7rem}.app-shell.ui-v4 .lab-color-tabs,.app-shell.ui-v4 .lab-inspector-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:.7rem 0;display:grid}.app-shell.ui-v4 .lab-color-tabs button,.app-shell.ui-v4 .lab-inspector-tabs button{border:1px solid var(--forge-line);min-height:2.5rem;color:var(--forge-ink-soft);background:0 0;border-radius:.4rem}.app-shell.ui-v4 :where(.lab-color-tabs,.lab-inspector-tabs) button.active{border-color:var(--forge-copper);color:var(--forge-ink);background:#dc6c3e1a}.app-shell.ui-v4 .lab-piece-palette{grid-template-columns:1fr;gap:.45rem;display:grid}.app-shell.ui-v4 .lab-piece-palette button{border:1px solid var(--forge-line);min-width:0;min-height:4.1rem;color:var(--forge-ink);text-align:left;background:#ffffff05;border-radius:.45rem;grid-template-columns:3.35rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.4rem .65rem;display:grid}.app-shell.ui-v4 .lab-piece-palette button.active{border-color:var(--forge-copper);background:#dc6c3e1a}.app-shell.ui-v4 .lab-piece-palette .piece-visual{font-size:2.8rem}.app-shell.ui-v4 .lab-piece-palette button>span{min-width:0}.app-shell.ui-v4 .lab-piece-palette b{color:var(--forge-ink);text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;white-space:nowrap;font-size:.95rem;line-height:1.2;display:block;overflow:hidden}.app-shell.ui-v4 .lab-board-column{flex-direction:column;align-items:center;min-width:0;min-height:0;padding:.75rem;display:flex;overflow:hidden}.app-shell.ui-v4 .lab-turn-row{flex:none;justify-content:space-between;align-items:center;width:min(100%,100dvh - 12rem);max-width:52rem;padding-bottom:.55rem;font-size:.9rem;display:flex}.app-shell.ui-v4 .lab-board-frame{aspect-ratio:1;flex:none;width:min(100%,100dvh - 16.75rem);max-width:52rem;height:auto;max-height:none}.app-shell.ui-v4 .lab-board-frame .chessboard{aspect-ratio:1;width:100%;height:auto}.app-shell.ui-v4 .lab-validation-summary{border-left:.22rem solid var(--forge-red);width:min(100%,52rem);color:var(--forge-ink-soft);background:#bd493812;flex:none;margin-top:.55rem;padding:.55rem .7rem;font-size:.875rem}.app-shell.ui-v4 .lab-validation-summary.valid{border-left-color:var(--forge-green);background:#6f9a7912}.app-shell.ui-v4 .piece-inspector-form,.app-shell.ui-v4 .global-inspector-form{gap:.7rem;display:grid}.app-shell.ui-v4 .lab-selected-title{border:1px solid var(--forge-line);border-radius:.5rem;align-items:center;gap:.75rem;padding:.65rem;display:flex}.app-shell.ui-v4 .lab-selected-title .piece-visual{font-size:3.8rem}.app-shell.ui-v4 .lab-selected-title h3{margin:.15rem 0 0;font-size:1.2rem}.app-shell.ui-v4 .lab-selected-title small{color:var(--forge-ink-dim)}.app-shell.ui-v4 :where(.piece-inspector-form,.global-inspector-form) label{color:var(--forge-ink-soft);gap:.3rem;font-size:.875rem;display:grid}.app-shell.ui-v4 :where(.piece-inspector-form,.global-inspector-form) :where(input,select){border:1px solid var(--forge-line);min-width:0;min-height:2.55rem;color:var(--forge-ink);background:var(--forge-panel);border-radius:.35rem;padding:0 .55rem}.app-shell.ui-v4 :where(.piece-inspector-form,.global-inspector-form) fieldset{border:1px solid var(--forge-line);border-radius:.45rem;min-width:0;margin:0;padding:.75rem}.app-shell.ui-v4 :where(.piece-inspector-form,.global-inspector-form) legend{color:var(--forge-copper-bright);padding:0 .35rem;font-size:.875rem}.app-shell.ui-v4 .lab-inline-fields,.app-shell.ui-v4 .lab-check-grid,.app-shell.ui-v4 .lab-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.app-shell.ui-v4 .lab-check-grid label,.app-shell.ui-v4 .lab-form-grid label{align-items:center;gap:.4rem;display:flex}.app-shell.ui-v4 .lab-check-grid input,.app-shell.ui-v4 .lab-form-grid input{min-height:auto}.app-shell.ui-v4 .lab-piece-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.app-shell.ui-v4 .lab-piece-actions button{border:1px solid var(--forge-line);min-height:2.65rem;color:var(--forge-ink);background:0 0;border-radius:.4rem}.app-shell.ui-v4 .lab-piece-actions .danger{color:#ef9b8f;border-color:#bd493880}.app-shell.ui-v4 .lab-no-selection{text-align:center;justify-items:center;gap:.4rem;padding:1.25rem;display:grid}.app-shell.ui-v4 .lab-no-selection .piece-visual{font-size:5rem}.app-shell.ui-v4 .lab-no-selection h3{margin:0;font-size:1.25rem}.app-shell.ui-v4 .lab-no-selection p{color:var(--forge-ink-soft);margin:0;font-size:.9rem}.app-shell.ui-v4 .lab-footer{border-top:1px solid var(--forge-line);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1.25rem;display:flex}.app-shell.ui-v4 .lab-footer .flow-primary{color:#1a100a;background:var(--forge-copper-bright);width:auto;min-width:14rem}.app-shell.ui-v4 .lab-start-overlay{z-index:5;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:#050403c7;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.app-shell.ui-v4 .lab-start-overlay>section{border:1px solid var(--forge-line-strong);background:var(--forge-panel);border-radius:.7rem;gap:.8rem;width:min(100%,34rem);padding:1.25rem;display:grid}.app-shell.ui-v4 .lab-start-overlay h3{margin:0;font-size:1.5rem}.app-shell.ui-v4 .lab-start-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.app-shell.ui-v4 .lab-start-modes button{border:1px solid var(--forge-line);min-height:3.5rem;color:var(--forge-ink);background:0 0;border-radius:.4rem}.app-shell.ui-v4 .lab-start-modes button.active{border-color:var(--forge-copper);background:#dc6c3e1a}.app-shell.ui-v4 .save-library{grid-template-rows:4.5rem minmax(0,1fr);display:grid}.app-shell.ui-v4 .save-empty{font-size:.875rem!important}.app-shell.ui-v4 .save-library>header{border-bottom:1px solid var(--forge-line);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex}.app-shell.ui-v4 .save-library>header h2{font-size:var(--forge-title-sm);margin:0}.app-shell.ui-v4 .save-library-body{grid-template-columns:clamp(18rem,27vw,28rem) minmax(0,1fr);min-height:0;display:grid}.app-shell.ui-v4 .save-list-panel{border-right:1px solid var(--forge-line);flex-direction:column;gap:.7rem;min-height:0;padding:1rem;display:flex;overflow:hidden}.app-shell.ui-v4 .save-import-row,.app-shell.ui-v4 .save-current-form{gap:.45rem;display:flex}.app-shell.ui-v4 :where(.save-import-row,.save-current-form) :where(input,button,label){min-width:0;min-height:2.75rem}.app-shell.ui-v4 .save-current-form input{border:1px solid var(--forge-line);color:var(--forge-ink);background:#0000002e;border-radius:.4rem;flex:1;padding:0 .7rem}.app-shell.ui-v4 :where(.save-import-row,.save-current-form) button,.app-shell.ui-v4 .save-primary-actions button,.app-shell.ui-v4 .save-branch-row button,.app-shell.ui-v4 .save-secondary-actions button{border:1px solid var(--forge-line);color:var(--forge-ink-soft);background:0 0;border-radius:.4rem;padding:0 .75rem;font-size:.875rem}.app-shell.ui-v4 .save-list{scrollbar-width:thin;align-content:start;gap:.45rem;min-height:0;display:grid;overflow:auto}.app-shell.ui-v4 .save-list>button{border:1px solid var(--forge-line);min-width:0;color:var(--forge-ink);text-align:left;background:#ffffff05;border-radius:.45rem;gap:.2rem;padding:.8rem;display:grid}.app-shell.ui-v4 .save-list>button.active{border-color:var(--forge-copper);background:#dc6c3e1a}.app-shell.ui-v4 .save-list button b{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.app-shell.ui-v4 .save-list button span{color:var(--forge-ink-soft);font-size:.875rem}.app-shell.ui-v4 .save-detail{scrollbar-width:thin;min-width:0;min-height:0;padding:clamp(1rem,2vw,2rem);overflow:auto}.app-shell.ui-v4 .save-detail-empty{height:100%;color:var(--forge-ink-soft);text-align:center;place-content:center;justify-items:center;display:grid}.app-shell.ui-v4 .save-detail-empty>span{color:var(--forge-copper);font-size:3rem}.app-shell.ui-v4 .save-detail-heading h3{font-size:var(--forge-title-sm);margin:0}.app-shell.ui-v4 .save-summary-grid{grid-template-columns:minmax(18rem,32rem) minmax(14rem,1fr);gap:1rem;margin-top:1rem;display:grid}.app-shell.ui-v4 .save-preview{aspect-ratio:1;width:100%}.app-shell.ui-v4 .save-summary-grid dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.app-shell.ui-v4 .save-summary-grid dl div{border:1px solid var(--forge-line);border-radius:.4rem;padding:.7rem}.app-shell.ui-v4 .save-summary-grid dt{color:var(--forge-ink-dim);font-size:.875rem}.app-shell.ui-v4 .save-summary-grid dd{color:var(--forge-ink);margin:.15rem 0 0;font-size:1rem;font-weight:680}.app-shell.ui-v4 .save-privacy-warning{border-left:.22rem solid var(--forge-brass);color:var(--forge-ink-soft);background:#c99a5c12;gap:.2rem;margin-top:1rem;padding:.8rem;display:grid}.app-shell.ui-v4 .save-primary-actions,.app-shell.ui-v4 .save-branch-row,.app-shell.ui-v4 .save-secondary-actions{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.app-shell.ui-v4 .save-primary-actions button{color:#1a100a;background:var(--forge-copper-bright);min-height:3rem}.app-shell.ui-v4 .save-secondary-actions .danger{color:#ef9b8f;border-color:#bd493880}.app-shell.ui-v4 .online-lobby{grid-template-rows:4.5rem minmax(0,1fr);width:min(100%,54rem);height:auto;max-height:100%;display:grid}.app-shell.ui-v4 .online-lobby>header{border-bottom:1px solid var(--forge-line);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex}.app-shell.ui-v4 .online-lobby>header h2{font-size:var(--forge-title-sm);margin:0}.app-shell.ui-v4 .online-lobby>div{min-height:0;padding:1.25rem;overflow:auto}.app-shell.ui-v4 .online-lobby :where(input,select){border:1px solid var(--forge-line);min-height:2.8rem;color:var(--forge-ink);background:var(--forge-panel);border-radius:.4rem;padding:0 .7rem}.app-shell.ui-v4 .online-options{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.75rem;display:grid}.app-shell.ui-v4 .online-options>section{border:1px solid var(--forge-line);background:#ffffff05;border-radius:.65rem;grid-template-rows:auto auto 3.1rem;align-content:start;gap:1rem;min-width:0;height:auto;padding:1.25rem;display:grid;min-height:0!important}.app-shell.ui-v4 .online-options h3{margin:0;font-size:1.45rem;line-height:1.1}.app-shell.ui-v4 .online-color-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.app-shell.ui-v4 .online-color-choice button{border:1px solid var(--forge-line);min-height:4rem;color:var(--forge-ink);background:#ffffff06;border-radius:.45rem;font-size:1rem}.app-shell.ui-v4 .online-color-choice button.active{border-color:var(--forge-copper);background:#dc6c3e1f}.app-shell.ui-v4 .online-color-choice button b{font-size:inherit!important}.app-shell.ui-v4 .online-options input{letter-spacing:.22em;text-align:center;text-transform:uppercase;width:100%;min-height:4rem;font-size:1.35rem;font-weight:760}.app-shell.ui-v4 .online-options .flow-primary{min-height:3.1rem}.app-shell.ui-v4 .online-waiting{text-align:center;align-content:center;justify-items:center;gap:.85rem;min-height:22rem;display:grid}.app-shell.ui-v4 .online-waiting>span{color:var(--forge-copper-bright);font-size:.875rem;font-weight:760}.app-shell.ui-v4 .online-waiting>strong{letter-spacing:.16em;font-size:clamp(2.4rem,8vw,4rem)}.app-shell.ui-v4 .online-waiting p{max-width:32rem;color:var(--forge-ink-soft);margin:0;font-size:1rem}.app-shell.ui-v4 .online-pulse{align-items:center;gap:.55rem;display:flex}.app-shell.ui-v4 .online-pulse i{background:var(--forge-green);border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 .3rem #6f9a7921}.app-shell.ui-v4 .online-error{border-left:.22rem solid var(--forge-red);color:#ef9b8f;background:#bd493814;margin-top:.75rem;padding:.75rem}.app-shell.ui-v4 .match-replay{grid-template-rows:4.5rem minmax(0,1fr);display:grid}.app-shell.ui-v4 .replay-header{border-bottom:1px solid var(--forge-line);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex}.app-shell.ui-v4 .replay-header h2{font-size:var(--forge-title-sm);margin:0}.app-shell.ui-v4 .replay-workspace{grid-template-columns:minmax(22rem,1fr) clamp(18rem,24vw,26rem);min-height:0;display:grid;overflow:hidden}.app-shell.ui-v4 .replay-board-wrap{flex-direction:column;align-items:center;min-width:0;min-height:0;padding:1rem;display:flex;overflow:hidden}.app-shell.ui-v4 .replay-board-frame{aspect-ratio:1;flex:none;width:min(100%,100dvh - 12rem);height:auto;max-height:none}.app-shell.ui-v4 .replay-board-frame .chessboard{aspect-ratio:1;width:100%;height:auto}.app-shell.ui-v4 .replay-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;width:min(100%,100dvh - 12rem);margin-top:.6rem;display:grid}.app-shell.ui-v4 .replay-controls button{border:1px solid var(--forge-line);min-height:2.65rem;color:var(--forge-ink-soft);background:0 0;border-radius:.4rem}.app-shell.ui-v4 .replay-controls .replay-play{color:#1a100a;background:var(--forge-copper-bright)}.app-shell.ui-v4 .replay-fan-list{border-left:1px solid var(--forge-line);scrollbar-width:thin;min-height:0;padding:1rem;overflow:auto}.app-shell.ui-v4 .replay-fan-list button{border:0;border-bottom:1px solid var(--forge-line);width:100%;min-height:2.7rem;color:var(--forge-ink-soft);text-align:left;background:0 0}.app-shell.ui-v4 .replay-fan-list button.active{color:var(--forge-ink);background:#dc6c3e14}.app-shell.ui-v4 .game-over-backdrop,.app-shell.ui-v4 .promotion-overlay,.app-shell.ui-v4 .turn-curtain{z-index:90;-webkit-backdrop-filter:blur(.7rem);backdrop-filter:blur(.7rem);background:#050403c7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.app-shell.ui-v4 .game-over-dialog{border:1px solid var(--forge-line-strong);border-top:.25rem solid var(--forge-copper);border-radius:var(--forge-radius-lg);width:min(100%,34rem);color:var(--forge-ink);background:var(--forge-panel);box-shadow:var(--forge-shadow);text-align:center;justify-items:center;gap:.7rem;padding:clamp(1.5rem,4vw,3rem);display:grid;position:relative}.app-shell.ui-v4 .game-over-dialog.victory{border-top-color:var(--forge-green)}.app-shell.ui-v4 .game-over-dialog.defeat{border-top-color:var(--forge-red)}.app-shell.ui-v4 .game-over-close{border:1px solid var(--forge-line);width:2.5rem;height:2.5rem;color:var(--forge-ink-soft);background:0 0;border-radius:.4rem;font-size:1.2rem;position:absolute;top:.7rem;right:.7rem}.app-shell.ui-v4 .game-over-mark{width:4rem;height:4rem;color:var(--forge-copper-bright);background:#dc6c3e17;border-radius:50%;place-items:center;font-size:2.4rem;display:grid}.app-shell.ui-v4 .game-over-dialog h2{font-size:var(--forge-title);margin:0}.app-shell.ui-v4 .game-over-dialog p{color:var(--forge-ink-soft);margin:0;font-size:1rem}.app-shell.ui-v4 .game-over-dialog>div{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.app-shell.ui-v4 .game-over-dialog button:not(.game-over-close){border:1px solid var(--forge-line);min-height:3rem;color:var(--forge-ink);background:0 0;border-radius:.4rem;padding:0 1rem}.app-shell.ui-v4 .game-over-dialog .game-over-primary{color:#1a100a!important;background:var(--forge-copper-bright)!important;border:0!important}.app-shell.ui-v4 :where(small),.app-shell.ui-v4 :where(.forge-count span,.forge-presets button,.formation-actions button,.catalog-card-cost small,.catalog-quantity,.player-identity .avatar,.captured-piece-row,.no-captures,.sidebar-reopen span,.status-card .eyebrow,.status-card>span,.roguelite-battle-identity>summary small,.roguelite-battle-identity>span,.match-settings dt,.match-settings dd,.seed-copy,.doctrine-runtime span,.ammo-choice,.ability-copy,.selected-rulebook,.state-chip,.game-controls button,.return-to-lab,.section-heading>span,.section-heading button,.history-score-head,.history-turn-number,.history-ply,.history-empty){font-size:.875rem!important}.app-shell.ui-v4 .game-controls button :where(span,b),.app-shell.ui-v4 .demo-stage-heading :where(span,b,small),.app-shell.ui-v4 .history-score-head :where(span,b),.app-shell.ui-v4 .match-settings :where(dt,dd){font-size:inherit!important}@media (width>=120rem) and (height>=65rem){:root{font-size:17px}.app-shell.ui-v4 .game-layout.variant-game-layout{grid-template-columns:var(--match-board) minmax(22rem,26rem)}}@media (width<=78rem){.app-shell.ui-v4 .home-menu{width:min(100%,68rem)}.app-shell.ui-v4 .home-menu-links{grid-template-columns:1fr}.app-shell.ui-v4 .home-menu-link{min-height:4.7rem}.app-shell.ui-v4 .home-menu-link strong{font-size:1.12rem}.app-shell.ui-v4 .forge-workbench{grid-template-columns:minmax(0,1fr) clamp(26rem,39vw,32rem)}.app-shell.ui-v4 .library-body{grid-template-columns:19rem minmax(0,1fr)}.app-shell.ui-v4 .library-reference-grid{grid-template-columns:minmax(20rem,1fr) minmax(16rem,.8fr)}.app-shell.ui-v4 .lab-workspace{grid-template-columns:14rem minmax(22rem,1fr) 19rem}}@media (width<=68rem){.app-shell.ui-v4 .topbar{grid-template-columns:1fr auto}.app-shell.ui-v4 .topbar .phase-pill{display:none}.app-shell.ui-v4 .top-actions{justify-self:end}.app-shell.ui-v4 .forge-flow{border-radius:0;width:100%;height:100dvh}.app-shell.ui-v4 .flow-match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.ui-v4 .draft-config .draft-setup-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-content:start}.app-shell.ui-v4 .draft-config :where(.draft-mode-field,.draft-color-field){grid-column:span 6}.app-shell.ui-v4 .draft-config .draft-first-field{grid-column:1/-1}.app-shell.ui-v4 .draft-config :where(.draft-difficulty-field,.draft-seed-field){grid-column:span 6}.app-shell.ui-v4 .draft-config .draft-seed-field.wide,.app-shell.ui-v4 .ai-doctrine-choice{grid-column:1/-1}.app-shell.ui-v4 .forge-workbench{grid-template-columns:minmax(0,1fr);position:relative}.app-shell.ui-v4 .forge-board-side{flex-direction:column;justify-content:flex-start;align-items:center;padding:.5rem;display:flex;position:relative}.app-shell.ui-v4 .setup-board-frame{width:min(100%,100dvh - 11rem)}.app-shell.ui-v4 .mobile-catalog-toggle{z-index:8;width:min(100% - 1rem,32rem);min-height:3.25rem;color:var(--forge-ink);-webkit-backdrop-filter:blur(.6rem);backdrop-filter:blur(.6rem);text-align:left;background:#1f1812f5;border:1px solid #f08a57ad;border-radius:.6rem;grid-template-columns:1fr auto;align-items:center;gap:.2rem .75rem;margin-top:.55rem;padding:.45rem .8rem;display:grid;position:relative;bottom:auto;left:auto;transform:none;box-shadow:0 .8rem 2.5rem #0000006b}.app-shell.ui-v4 .mobile-catalog-toggle span{font-weight:760;font-size:1rem!important}.app-shell.ui-v4 .mobile-catalog-toggle b{color:var(--forge-brass);font-size:1.1rem}.app-shell.ui-v4 .mobile-catalog-toggle i{color:var(--forge-ink-soft);grid-column:1/-1;font-size:.875rem;font-style:normal}.app-shell.ui-v4 .mobile-catalog-scrim{z-index:70;background:#04030299;border:0;display:block;position:fixed;inset:0}.app-shell.ui-v4 .forge-army-sidebar{z-index:71;border:1px solid var(--forge-line-strong);border-bottom:0;border-radius:1rem 1rem 0 0;width:100%;height:min(78dvh,48rem);transition:transform .2s;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -1rem 3rem #00000080}.app-shell.ui-v4 .forge-army-sidebar.mobile-open{transform:translateY(0)}.app-shell.ui-v4 .mobile-catalog-heading{border-bottom:1px solid var(--forge-line);min-height:3.5rem;color:var(--forge-ink);background:var(--forge-panel);flex:none;justify-content:space-between;align-items:center;padding:.55rem 1rem;display:flex}.app-shell.ui-v4 .mobile-catalog-heading span{font-size:1rem;font-weight:760}.app-shell.ui-v4 .mobile-catalog-heading button{border:1px solid var(--forge-line);min-height:2.5rem;color:var(--forge-ink);background:0 0;border-radius:.4rem;padding:0 .7rem}.app-shell.ui-v4 .game-layout.variant-game-layout,.app-shell.ui-v4 .game-layout.variant-game-layout.sidebar-collapsed{--match-board:min(calc(100dvh - var(--forge-topbar) - 6.4rem),calc(100vw - 1rem));grid-template-columns:var(--match-board);width:100%}.app-shell.ui-v4 .game-panel.variant-panel{z-index:55;border:1px solid var(--forge-line-strong);border-bottom:0;border-radius:1rem 1rem 0 0;width:min(100%,42rem);height:min(48dvh,33rem);position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -1rem 3rem #00000085}.app-shell.ui-v4 .sidebar-collapse{top:.6rem;left:auto;right:.6rem;transform:none}.app-shell.ui-v4 .sidebar-reopen{z-index:54;border-radius:999px;min-width:9rem;min-height:3rem;position:fixed;bottom:.6rem;left:50%;right:auto;transform:translate(-50%)}.app-shell.ui-v4 .selected-piece-card{max-height:10rem}.app-shell.ui-v4 .library-body{grid-template-columns:17rem minmax(0,1fr)}.app-shell.ui-v4 .library-piece-list{grid-template-columns:1fr}.app-shell.ui-v4 .library-reference-grid{grid-template-columns:minmax(0,1fr);overflow:auto}.app-shell.ui-v4 .encyclopedia-demo-shell{min-height:30rem}.app-shell.ui-v4 .encyclopedia-board{width:min(100%,100dvh - 19rem,34rem);height:auto;max-height:none}.app-shell.ui-v4 .encyclopedia-rule-copy{overflow:visible}.app-shell.ui-v4 .lab-workspace{grid-template-columns:14rem minmax(22rem,1fr)}.app-shell.ui-v4 .lab-inspector{z-index:4;background:var(--forge-panel);width:min(24rem,80vw);position:absolute;top:4.5rem;bottom:4.5rem;right:0;box-shadow:-1rem 0 3rem #0006}.app-shell.ui-v4 .draft-stage{grid-template-columns:minmax(0,1fr)}.app-shell.ui-v4 .draft-pick-log li:not(:nth-last-child(-n+4)){display:none}.app-shell.ui-v4 .draft-cards{grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto}}@media (width<=48rem){:root{--forge-topbar:3.55rem}.app-shell.ui-v4 .topbar{padding:0 .55rem}.app-shell.ui-v4 .brand-mark{width:2.35rem;height:2.35rem;font-size:1.25rem}.app-shell.ui-v4 .brand strong{display:none}.app-shell.ui-v4 .top-actions{gap:.3rem}.app-shell.ui-v4 .icon-button{width:2.55rem;height:2.55rem}.app-shell.ui-v4 .new-game-button{min-height:2.55rem;padding:0 .7rem}.app-shell.ui-v4 .home-menu-backdrop{padding:0}.app-shell.ui-v4 .home-menu{border:0;border-radius:0;width:100%;height:100dvh;max-height:none;padding:.9rem}.app-shell.ui-v4 .home-menu-brand{min-height:3.5rem}.app-shell.ui-v4 .home-menu-title{font-size:clamp(2rem,11vw,3.2rem)}.app-shell.ui-v4 .home-menu-grid{grid-template-rows:repeat(7,minmax(3.65rem,4.65rem));align-content:start;gap:.45rem}.app-shell.ui-v4 .menu-mode-card,.app-shell.ui-v4 .menu-mode-card.compact,.app-shell.ui-v4 .menu-mode-card.primary{min-height:3.65rem}.app-shell.ui-v4 .new-game-config{grid-template-rows:auto auto auto auto;align-content:center;width:100%;height:100dvh;max-height:none;padding:1rem .75rem}.app-shell.ui-v4 .controller-choice{gap:.5rem;padding:.85rem 0}.app-shell.ui-v4 .controller-choice button{text-align:center;grid-template-rows:auto auto;grid-template-columns:1fr;justify-items:center;gap:.35rem;min-height:6rem;padding:.65rem .35rem}.app-shell.ui-v4 .controller-choice button>i{width:2.65rem;height:2.65rem;font-size:1.25rem}.app-shell.ui-v4 .controller-choice button>em{position:absolute;top:.35rem;right:.45rem}.app-shell.ui-v4 .controller-choice button b{font-size:1rem}.app-shell.ui-v4 .ruleset-modifiers{padding:.85rem 0}.app-shell.ui-v4 .forge-flow{grid-template-rows:3.5rem minmax(0,1fr)}.app-shell.ui-v4 .flow-header{padding:0 .55rem}.app-shell.ui-v4 .flow-brand b{display:none}.app-shell.ui-v4 .flow-header nav span{font-size:.875rem}.app-shell.ui-v4 .flow-header nav span:not(.active){font-size:0}.app-shell.ui-v4 .flow-match{padding:.75rem}.app-shell.ui-v4 .flow-title-block{margin-bottom:.65rem}.app-shell.ui-v4 .flow-title-block h2{font-size:1.75rem}.app-shell.ui-v4 .flow-match-grid{grid-template-columns:1fr;gap:.65rem}.app-shell.ui-v4 .flow-match-grid fieldset{padding:.75rem}.app-shell.ui-v4 .flow-color-options{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.ui-v4 .ai-doctrine-choice{grid-template-columns:1fr}.app-shell.ui-v4 .flow-footer{min-height:3.5rem;padding-top:.55rem}.app-shell.ui-v4 .flow-forge{grid-template-rows:minmax(0,1fr) auto auto;gap:0;padding:0}.app-shell.ui-v4 .forge-board-side{place-items:start center;padding:0}.app-shell.ui-v4 .setup-board-frame{width:min(100vw - .7rem,100dvh - 10.1rem);box-shadow:none;border-width:.2rem;border-radius:0}.app-shell.ui-v4 .mobile-catalog-toggle{width:calc(100% - .7rem);margin-top:.45rem}.app-shell.ui-v4 .validation-strip{min-height:2.5rem;padding:.4rem .6rem}.app-shell.ui-v4 .evolved-flow-footer{min-height:3.6rem;padding:.4rem .6rem}.app-shell.ui-v4 .start-battle{min-width:10rem;min-height:2.75rem}.app-shell.ui-v4 .forge-army-sidebar{height:min(84dvh,49rem)}.app-shell.ui-v4 .forge-budget-sticky{padding:.6rem}.app-shell.ui-v4 .forge-budget{min-height:4rem;padding:.6rem}.app-shell.ui-v4 .forge-setup-tools{padding:.55rem .6rem}.app-shell.ui-v4 .forge-catalog{padding:.65rem}.app-shell.ui-v4 .forge-catalog-grid{gap:.4rem}.app-shell.ui-v4 .forge-catalog-card,.app-shell.ui-v4 .catalog-card-main{min-height:5.8rem}.app-shell.ui-v4 .catalog-card-main{grid-template-rows:1.25rem minmax(1.45rem,auto) minmax(1.45rem,auto);grid-template-columns:3.5rem minmax(0,1fr);gap:.1rem .4rem;padding:.35rem .4rem .45rem}.app-shell.ui-v4 .catalog-piece-image{width:3.4rem;height:3.4rem}.app-shell.ui-v4 .catalog-piece-image .piece-visual{font-size:3.3rem}.app-shell.ui-v4 .catalog-card-copy b{font-size:.9rem}.app-shell.ui-v4 .catalog-card-copy{padding-top:0;padding-right:1.7rem}.app-shell.ui-v4 .catalog-card-cost{min-width:0;min-height:1.4rem;color:var(--forge-brass);background:#c99a5c1a;border-radius:999px;padding:.12rem .4rem;display:inline-flex;position:static}.app-shell.ui-v4 .catalog-card-cost b{font-size:.82rem}.app-shell.ui-v4 .catalog-card-cost small{display:inline}.app-shell.ui-v4 .forge-catalog-card:has(.catalog-remove-one) .catalog-card-cost{padding-bottom:.12rem;transform:none}.app-shell.ui-v4 .hero{height:calc(100dvh - var(--forge-topbar));padding:0}.app-shell.ui-v4 .game-layout.variant-game-layout,.app-shell.ui-v4 .game-layout.variant-game-layout.sidebar-collapsed{--match-board:min(calc(100dvh - var(--forge-topbar) - 5rem),100vw)}.app-shell.ui-v4 .board-column{grid-template-rows:2.5rem var(--match-board) 2.5rem}.app-shell.ui-v4 .player-strip{height:2.5rem;padding:.15rem .35rem}.app-shell.ui-v4 .game-layout .board-frame{border-left:.291667rem solid #24231f;border-right:.291667rem solid #24231f}.app-shell.ui-v4 .game-panel.variant-panel{width:100%;height:min(46dvh,calc(100dvh - var(--forge-topbar) - 5rem - var(--match-board)));border-radius:.85rem .85rem 0 0;min-height:13rem}.app-shell.ui-v4 .status-card{min-height:4.6rem;padding:.7rem 2.8rem .7rem .8rem}.app-shell.ui-v4 .status-card h2{font-size:1.2rem}.app-shell.ui-v4 .match-settings dl{grid-template-columns:1fr 1fr}.app-shell.ui-v4 .piece-library{border:0;border-radius:0;grid-template-rows:6.4rem minmax(0,1fr);width:100%;height:100dvh}.app-shell.ui-v4 .library-header{grid-template-rows:3.2rem 3.2rem;grid-template-columns:minmax(0,1fr) auto;gap:0 .45rem;padding:0 .65rem}.app-shell.ui-v4 .library-header>div:first-child{grid-area:1/1}.app-shell.ui-v4 .library-header nav{grid-area:2/1;justify-self:start}.app-shell.ui-v4 .library-mobile-index-toggle{grid-area:2/2}.app-shell.ui-v4 .library-header>button:last-child{grid-area:1/2}.app-shell.ui-v4 .library-header h2{font-size:1.35rem}.app-shell.ui-v4 .library-header nav button{min-width:6rem;padding:0 .55rem;font-size:.875rem}.app-shell.ui-v4 .library-mobile-index-toggle{display:block}.app-shell.ui-v4 .library-body{display:block;position:relative}.app-shell.ui-v4 .library-index{z-index:6;border-right:1px solid var(--forge-line-strong);background:var(--forge-panel);width:min(22rem,88vw);transition:transform .2s;position:absolute;inset:0 auto 0 0;transform:translate(-105%);box-shadow:1rem 0 3rem #00000073}.app-shell.ui-v4 .library-body.index-open .library-index{transform:translate(0)}.app-shell.ui-v4 .library-mobile-index-scrim{z-index:5;background:#0403029e;border:0;width:100%;height:100%;position:absolute;inset:0}.app-shell.ui-v4 .library-body.index-open .library-mobile-index-scrim{display:block}.app-shell.ui-v4 .library-detail{height:100%;padding:.75rem;overflow:auto}.app-shell.ui-v4 .library-piece-hero{grid-template-columns:auto minmax(0,1fr);gap:.65rem}.app-shell.ui-v4 .library-piece-pair .piece-visual{width:3.2rem;height:3.2rem;font-size:3rem}.app-shell.ui-v4 .library-piece-pair .piece-visual:nth-child(2){display:none}.app-shell.ui-v4 .library-piece-hero h3{font-size:1.8rem}.app-shell.ui-v4 .library-piece-hero p{font-size:.9rem}.app-shell.ui-v4 .encyclopedia-meta span{min-height:1.9rem}.app-shell.ui-v4 .library-reference-grid{padding-top:.7rem;display:block;overflow:visible}.app-shell.ui-v4 .encyclopedia-demo-shell{min-height:auto}.app-shell.ui-v4 .encyclopedia-board{width:100%;max-width:none}.app-shell.ui-v4 .encyclopedia-rule-copy{margin-top:.8rem}.app-shell.ui-v4 .settings-panel{border:0;border-radius:0;grid-template-rows:3.75rem minmax(0,1fr) auto;width:100%;max-height:100dvh}.app-shell.ui-v4 .setting-row,.app-shell.ui-v4 .settings-volume-row,.app-shell.ui-v4 .settings-audio-theme,.app-shell.ui-v4 .settings-piece-set,.app-shell.ui-v4 .settings-save-row{grid-template-columns:minmax(0,1fr) auto;gap:.65rem;padding:.7rem .35rem}.app-shell.ui-v4 .settings-volume-row>div{grid-template-columns:minmax(6rem,1fr) 2.6rem 3.25rem}.app-shell.ui-v4 .settings-audio-theme{grid-template-columns:1fr}.app-shell.ui-v4 .settings-audio-theme>div{justify-content:flex-start}.app-shell.ui-v4 .settings-save-row{align-items:start}.app-shell.ui-v4 .settings-save-actions{flex-direction:column}.app-shell.ui-v4 .lab-source-backdrop{padding:0}.app-shell.ui-v4 .lab-source-backdrop>section{border:0;border-radius:0;grid-template-columns:1fr;align-content:center;width:100%;min-height:100dvh}.app-shell.ui-v4 .lab-source-backdrop h2,.app-shell.ui-v4 .lab-source-backdrop .curtain-back{grid-column:1}.app-shell.ui-v4 .roguelite-backdrop,.app-shell.ui-v4 .roguelite-start-backdrop,.app-shell.ui-v4 .forge-flow-backdrop,.app-shell.ui-v4 .replay-backdrop,.app-shell.ui-v4 .library-backdrop{padding:0}.app-shell.ui-v4 .roguelite-intermission,.app-shell.ui-v4 .roguelite-start{border:0;border-radius:0;width:100%;height:100dvh;max-height:none;padding:1rem}.app-shell.ui-v4 .roguelite-next{grid-template-columns:1fr}.app-shell.ui-v4 .roguelite-signatures{align-self:start}.app-shell.ui-v4 .roguelite-elite-choice{grid-template-columns:1fr}.app-shell.ui-v4 .elite-doctrine-info,.app-shell.ui-v4 .elite-risk{grid-column:1}.app-shell.ui-v4 .draft-flow,.app-shell.ui-v4 .forge-laboratory,.app-shell.ui-v4 .save-library,.app-shell.ui-v4 .match-replay,.app-shell.ui-v4 .online-lobby{border:0;border-radius:0;width:100%;height:100dvh}.app-shell.ui-v4 .online-lobby{grid-template-rows:3.75rem minmax(0,1fr)}.app-shell.ui-v4 .online-lobby>div{padding:.75rem}.app-shell.ui-v4 .online-options{grid-template-columns:1fr}.app-shell.ui-v4 .online-options>section{padding:1rem}.app-shell.ui-v4 .draft-flow{grid-template-rows:3.75rem minmax(0,1fr) auto}.app-shell.ui-v4 .draft-header{padding:0 .65rem}.app-shell.ui-v4 .draft-header>div:last-child button:not(:last-child){display:none}.app-shell.ui-v4 .draft-flow.draft-flow-config{width:100%;height:100dvh;max-height:none;padding:0}.app-shell.ui-v4 .draft-flow-config .draft-config-header{padding:0 .65rem}.app-shell.ui-v4 .draft-config{padding:.75rem}.app-shell.ui-v4 .draft-config .draft-setup-grid{grid-template-columns:1fr;align-content:start}.app-shell.ui-v4 .draft-config :where(.draft-mode-field,.draft-color-field,.draft-first-field,.draft-difficulty-field,.draft-seed-field,.draft-seed-field.wide){grid-column:auto}.app-shell.ui-v4 .draft-config .draft-difficulty-field .flow-difficulty-options{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.ui-v4 .draft-config .draft-difficulty-field button{min-height:3.25rem}.app-shell.ui-v4 .draft-config .draft-local-colors{min-height:4.4rem}.app-shell.ui-v4 .draft-config-footer{z-index:2;background:linear-gradient(180deg,#120f0c00,var(--forge-panel) 25%);padding-top:.75rem;position:sticky;bottom:0}.app-shell.ui-v4 .draft-stage{flex-direction:column;padding:.65rem;display:flex;overflow:auto}.app-shell.ui-v4 .draft-scoreboards{flex:none;gap:.4rem}.app-shell.ui-v4 .draft-scoreboards>section{min-height:4.7rem;padding:.55rem .65rem}.app-shell.ui-v4 .draft-scoreboards>section>div:first-child em{display:none}.app-shell.ui-v4 .draft-scoreboards strong{font-size:1.35rem}.app-shell.ui-v4 .draft-pick-log{flex:none;grid-template-columns:1fr;gap:.25rem}.app-shell.ui-v4 .draft-pick-log>span,.app-shell.ui-v4 .draft-pick-log li:not(:nth-last-child(-n+2)){display:none}.app-shell.ui-v4 .draft-pick-log ol{justify-content:stretch}.app-shell.ui-v4 .draft-pick-log li{flex:1 1 0}.app-shell.ui-v4 .draft-cards{flex:none;min-height:28rem;overflow:visible}.app-shell.ui-v4 .draft-card{min-height:13rem;padding:.65rem .45rem}.app-shell.ui-v4 .draft-card .piece-visual{font-size:3.8rem}.app-shell.ui-v4 .draft-deployment{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;padding:0;overflow:auto}.app-shell.ui-v4 .draft-deploy-board .board-frame{width:100vw}.app-shell.ui-v4 .draft-deployment>aside{border-radius:0}.app-shell.ui-v4 .selected-piece-card{gap:.55rem;padding:.7rem .8rem}.app-shell.ui-v4 .selected-piece-heading{grid-template-columns:3.25rem minmax(0,1fr) 2.4rem;gap:.6rem}.app-shell.ui-v4 .selected-piece-card:not(.has-actions) .selected-piece-heading{grid-template-columns:3.25rem minmax(0,1fr)}.app-shell.ui-v4 .selected-piece-heading>.piece-visual{font-size:3.25rem}.app-shell.ui-v4 .selected-piece-actions{flex-wrap:wrap}.app-shell.ui-v4 .selected-piece-actions>button{flex:auto}.app-shell.ui-v4 .selected-rulebook{width:100%;margin-left:0;flex-basis:100%!important}.app-shell.ui-v4 .lab-workspace{display:block;overflow:auto}.app-shell.ui-v4 .lab-palette{border:0;border-bottom:1px solid var(--forge-line)}.app-shell.ui-v4 .lab-piece-palette{grid-template-columns:repeat(2,minmax(0,1fr));max-height:12rem;overflow:auto}.app-shell.ui-v4 .lab-board-column{padding:0}.app-shell.ui-v4 .lab-board-frame{width:100vw}.app-shell.ui-v4 .lab-inspector{border:0;border-top:1px solid var(--forge-line);width:100%;box-shadow:none;position:static}.app-shell.ui-v4 .lab-footer{padding:.45rem .65rem}.app-shell.ui-v4 .lab-footer>:not(.flow-primary){display:none}.app-shell.ui-v4 .save-library{grid-template-rows:3.75rem minmax(0,1fr)}.app-shell.ui-v4 .save-library-body{display:block;overflow:auto}.app-shell.ui-v4 .save-list-panel{border:0;border-bottom:1px solid var(--forge-line);min-height:18rem}.app-shell.ui-v4 .save-detail{min-height:28rem}.app-shell.ui-v4 .save-summary-grid{grid-template-columns:1fr}.app-shell.ui-v4 .replay-workspace{display:block;overflow:auto}.app-shell.ui-v4 .replay-board-wrap{padding:0}.app-shell.ui-v4 .replay-board-frame{width:100vw}.app-shell.ui-v4 .replay-controls{width:calc(100% - 1rem)}.app-shell.ui-v4 .replay-fan-list{border:0;border-top:1px solid var(--forge-line);max-height:18rem}}@media (width<=24rem){.app-shell.ui-v4 .forge-catalog-grid{grid-template-columns:1fr}.app-shell.ui-v4 .draft-cards{grid-template-columns:1fr 1fr}.app-shell.ui-v4 .lab-piece-palette{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (height<=42rem) and (orientation:landscape){:root{--forge-topbar:3rem}.app-shell.ui-v4 .home-menu-backdrop{padding:0}.app-shell.ui-v4 .home-menu{border:0;border-radius:0;gap:.4rem;width:100%;height:100dvh;min-height:0;padding:.4rem .75rem}.app-shell.ui-v4 .home-menu-brand{min-height:2.5rem;padding-bottom:.35rem}.app-shell.ui-v4 .home-menu-brand>span{width:2.2rem;height:2.2rem;font-size:1.2rem}.app-shell.ui-v4 .resume-game-card{min-height:2.8rem;padding:.3rem .8rem}.app-shell.ui-v4 .home-menu-grid{grid-template-rows:repeat(4,minmax(2.85rem,1fr));gap:.35rem;overflow:hidden}.app-shell.ui-v4 .menu-mode-card,.app-shell.ui-v4 .menu-mode-card.compact,.app-shell.ui-v4 .menu-mode-card.primary{grid-template-columns:2.3rem minmax(0,1fr) auto;gap:.55rem;padding:.3rem .7rem}.app-shell.ui-v4 .menu-mode-card>i{width:2.2rem;height:2.2rem;font-size:1rem}.app-shell.ui-v4 .topbar{height:var(--forge-topbar)}.app-shell.ui-v4 .brand-mark{width:2.1rem;height:2.1rem}.app-shell.ui-v4 .game-layout.variant-game-layout,.app-shell.ui-v4 .game-layout.variant-game-layout.sidebar-collapsed{--match-board:min(calc(100dvh - var(--forge-topbar) - .5rem),calc(100vw - 23rem));grid-template-columns:var(--match-board) minmax(18rem,22rem)}.app-shell.ui-v4 .game-panel.variant-panel{width:auto;height:var(--match-board);border-radius:.55rem;position:relative;bottom:auto;left:auto;transform:none}.app-shell.ui-v4 .board-column{grid-template-rows:0 var(--match-board) 0}.app-shell.ui-v4 .player-strip{opacity:0;pointer-events:none;position:absolute}.app-shell.ui-v4 .setup-board-frame{width:min(100dvh - 7.5rem,100vw - .5rem)}.app-shell.ui-v4 .forge-army-sidebar{border-radius:0;width:min(30rem,58vw);height:100dvh;left:auto;transform:translate(105%)}.app-shell.ui-v4 .forge-army-sidebar.mobile-open{transform:translate(0)}.app-shell.ui-v4 .mobile-catalog-toggle{width:13rem;bottom:.4rem;left:auto;right:.4rem;transform:none}}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed){grid-template-rows:auto auto auto auto auto auto;align-content:start;gap:.75rem;width:min(100%,68rem);height:min(51rem,100dvh - 1rem);max-height:calc(100dvh - 1rem);padding:clamp(1rem,2.2vw,1.75rem);display:grid;overflow:hidden}.app-shell.ui-v4 .roguelite-reforge-header{align-items:center;gap:.85rem;min-height:3.5rem;display:flex;padding:0 0 .75rem!important}.app-shell.ui-v4 .roguelite-reforge-header .roguelite-sigil{flex:0 0 3rem;width:3rem;height:3rem;font-size:1.5rem}.app-shell.ui-v4 .roguelite-reforge-header h1{margin:0;font-size:clamp(1.35rem,1.05rem + .8vw,1.9rem);line-height:1}.app-shell.ui-v4 .roguelite-reforge-header span:not(.roguelite-sigil){color:var(--forge-ink-dim);margin-top:.3rem;font-size:.875rem;font-weight:700;display:block}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-hero{padding:0}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-hero h2{margin:0;font-size:clamp(1.55rem,1.2rem + 1vw,2.35rem);line-height:1.05}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-progress{margin:1rem 0 .2rem}.app-shell.ui-v4 .roguelite-encounter-overview{grid-template-columns:minmax(0,1fr) 17rem;gap:.75rem;min-height:0;display:grid}.app-shell.ui-v4 .roguelite-encounter-overview .roguelite-identity-brief{align-content:center;min-height:7rem}.app-shell.ui-v4 .roguelite-identity-copy>span{color:var(--forge-brass);margin-bottom:.25rem;font-size:.8rem;font-weight:800;display:inline-block}.app-shell.ui-v4 .roguelite-identity-copy h3{margin:0}.app-shell.ui-v4 .roguelite-signatures>span b{display:none}.app-shell.ui-v4 .roguelite-budgets{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.app-shell.ui-v4 .roguelite-budgets>div{border:1px solid var(--forge-line);text-align:center;background:#ffffff06;border-radius:.6rem;align-content:center;justify-items:center;min-width:0;padding:.75rem;display:grid}.app-shell.ui-v4 .roguelite-budgets small{color:var(--forge-ink-soft);letter-spacing:.04em;font-size:.8rem;font-weight:780}.app-shell.ui-v4 .roguelite-budgets strong{color:var(--forge-copper-bright);margin-top:.2rem;font-size:clamp(2rem,3.4vw,3rem);line-height:1}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-elite-choice{gap:.6rem;margin:0}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-elite-choice>button{grid-template-columns:minmax(0,1fr) auto;min-height:5.6rem;padding:.75rem .9rem}.app-shell.ui-v4 .roguelite-elite-choice>.doctrine-info-link{grid-column:1/-1}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .elite-risk{padding:.55rem .75rem;font-size:.875rem}.app-shell.ui-v4 .roguelite-earned-doctrines{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;margin:0;display:grid}.app-shell.ui-v4 .roguelite-earned-doctrines>small{color:var(--forge-ink-soft);font-size:.8rem;font-weight:780}.app-shell.ui-v4 .roguelite-earned-doctrines>div{flex-wrap:wrap;gap:.45rem;min-width:0;display:flex}.app-shell.ui-v4 .roguelite-earned-doctrines>div>*{min-width:0}.app-shell.ui-v4 .doctrine-info-link{min-height:2.65rem;color:var(--forge-ink);text-align:left;background:#9d78bb17;border:1px solid #9d78bb66;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.8rem;padding:.45rem .75rem;font-size:.9rem;font-weight:750;display:inline-flex}.app-shell.ui-v4 .doctrine-info-link:hover{border-color:var(--forge-violet);background:#9d78bb29}.app-shell.ui-v4 .doctrine-info-link i{color:var(--forge-copper-bright);font-size:1rem;font-style:normal}.app-shell.ui-v4 .roguelite-actions{justify-content:center;margin-top:0}.app-shell.ui-v4 .roguelite-actions>.flow-primary{text-align:center;justify-content:center;align-items:center;gap:.75rem;min-width:15rem;display:inline-flex}.app-shell.ui-v4 .doctrine-runtime{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.45rem;display:grid}.app-shell.ui-v4 .doctrine-runtime-rules{min-width:0;min-height:2.35rem;color:var(--forge-ink);text-align:left;background:#9d78bb0f;border:1px solid #9d78bb4d;border-radius:.35rem;justify-content:space-between;align-items:center;gap:.6rem;padding:0 .65rem;display:flex}.app-shell.ui-v4 .doctrine-runtime-rules b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell.ui-v4 .doctrine-runtime-rules span{color:var(--forge-copper-bright);font-size:1rem}.app-shell.ui-v4 .doctrine-runtime>button:not(.doctrine-runtime-rules){border:1px solid var(--forge-violet);min-height:2.35rem;color:var(--forge-ink);background:#9d78bb2e;border-radius:.35rem;grid-area:auto;padding:0 .65rem;font-size:.8rem;position:static}.app-shell.ui-v4 .doctrine-runtime>em{color:var(--forge-ink-dim);white-space:nowrap;grid-area:auto;font-size:.75rem;position:static}.app-shell.ui-v4 .doctrine-runtime>progress{grid-column:1/-1;width:100%}@media (width<=48rem){.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed){border:0;border-radius:0;gap:.55rem;width:100%;height:100dvh;max-height:100dvh;padding:.75rem}.app-shell.ui-v4 .roguelite-reforge-header{min-height:3rem;padding-bottom:.55rem!important}.app-shell.ui-v4 .roguelite-reforge-header .roguelite-sigil{flex-basis:2.5rem;width:2.5rem;height:2.5rem;font-size:1.25rem}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-progress{margin:.9rem 0 .1rem}.app-shell.ui-v4 .roguelite-progress i{font-size:.75rem;top:-1.2rem}.app-shell.ui-v4 .roguelite-encounter-overview{grid-template-columns:1fr;gap:.5rem}.app-shell.ui-v4 .roguelite-encounter-overview .roguelite-identity-brief{min-height:0;padding:.7rem}.app-shell.ui-v4 .roguelite-identity-copy p{font-size:.84rem}.app-shell.ui-v4 .roguelite-signatures .piece-visual{font-size:2.35rem}.app-shell.ui-v4 .roguelite-signatures>span{width:2.7rem;height:2.7rem}.app-shell.ui-v4 .roguelite-budgets>div{min-height:4rem;padding:.45rem}.app-shell.ui-v4 .roguelite-budgets strong{font-size:2rem}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-elite-choice{grid-template-columns:1fr 1fr}.app-shell.ui-v4 .roguelite-intermission:not(.completed):not(.failed) .roguelite-elite-choice>button{min-height:4.8rem;padding:.55rem .65rem}.app-shell.ui-v4 .roguelite-elite-choice button p{display:none}.app-shell.ui-v4 .roguelite-earned-doctrines{grid-template-columns:1fr;gap:.35rem}.app-shell.ui-v4 .roguelite-earned-doctrines>small{display:none}.app-shell.ui-v4 .roguelite-actions{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.45rem;display:grid}.app-shell.ui-v4 .roguelite-actions>button,.app-shell.ui-v4 .roguelite-actions>.flow-primary{width:100%;min-width:0;min-height:2.75rem;margin:0;padding:0 .55rem}.app-shell.ui-v4 .doctrine-runtime{grid-template-columns:minmax(0,1fr) auto}.app-shell.ui-v4 .doctrine-runtime>em{display:none}}
