:root{color-scheme:dark;--ink:#eaf2ee;--muted:#b4c9ca;--gold:#d9b57c;--red:#de3028;--panel:rgba(2,18,24,.94);--line:#5a7d87;--scene:none;font-family:'Jumbie UI','Noto Sans',system-ui,sans-serif;font-size:14px;background:#031117;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at top,#14353c,#020b10 70%)}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,#13272f,#04141b);padding:11px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-align:center;transition:border-color .14s,background .14s,transform .14s;line-height:1.35}button:hover:not(:disabled){border-color:#c2dedd;background:linear-gradient(150deg,#254650,#102830)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffe6a1;outline-offset:3px}.primary{background:linear-gradient(160deg,#b72b24,#841e1c);border:1px solid #fa6756;box-shadow:inset 0 1px 0 #ffffff30;color:#fff;letter-spacing:.07em;font-weight:600}.primary:hover:not(:disabled){background:linear-gradient(160deg,#d83b30,#ad2722);border-color:#ff9988}.danger{border-color:#ef5a4e;color:#ffa095}.full{width:100%}.stack{display:flex;flex-direction:column;gap:12px}.icon{width:24px;height:24px;object-fit:contain;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:12px;top:-60px;background:#fff;color:#000;padding:12px;z-index:100}.skip:focus{top:12px}.game{position:relative;isolation:isolate;max-width:560px;min-height:100svh;margin:auto;border-inline:1px solid #405b6544;box-shadow:0 0 100px #0009;background:#03161d}.game:before{content:'';position:fixed;inset:0;max-width:560px;margin:auto;z-index:-2;background-image:linear-gradient(180deg,#04192130,#00101650 35%,#001016ec 84%),var(--scene);background-size:cover;background-position:center;pointer-events:none}.game:after{content:'';position:fixed;inset:0;max-width:560px;margin:auto;z-index:-1;box-shadow:inset 0 0 75px 25px #00111770;pointer-events:none}main{padding:12px 20px calc(24px + env(safe-area-inset-bottom));min-height:100svh;outline:none}.topbar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:14px}.topbar>button{width:44px;padding:9px;border-color:transparent;background:transparent}.topbar>button:hover{border-color:var(--line)}.brand{display:block;width:160px;height:62px;text-decoration:none}.brand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 7px #0009)}.page-header{text-align:center;margin-bottom:20px}.page-header h1{font-family:Georgia,serif;font-size:27px;letter-spacing:.045em;font-weight:500;margin:16px 0 7px}.subtitle{font-size:14px;color:var(--muted);line-height:1.5;margin:0 auto;max-width:35ch}h2{font-family:Georgia,serif;font-size:20px;font-weight:500;letter-spacing:.015em;margin:18px 0 12px}h3{font-size:15px;margin:14px 0 7px}p{line-height:1.65;margin:10px 0}small{font-size:12px;line-height:1.4;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:600;color:#e0cfa9}.panel{border:1px solid var(--line);border-radius:13px;background:linear-gradient(135deg,rgba(5,23,29,.96),rgba(0,12,18,.95));padding:16px;margin:14px 0;box-shadow:0 8px 24px #0004}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel button+button{margin-top:8px}.panel>button{width:100%}.compact{padding:10px}.compact p{margin:0 0 6px}.scene-spacer{height:28svh;min-height:150px;max-height:310px}.scene-spacer.small{height:14svh;min-height:75px;max-height:145px}.home-spacer{min-height:calc(100svh - 435px);display:flex;align-items:flex-start;justify-content:center;padding-top:12px}.screen-home .brand{width:230px;height:90px}.screen-home .topbar{height:110px}.home-actions{display:flex;flex-direction:column;gap:13px}.home-actions>button{min-height:56px;font-size:15px;letter-spacing:.14em;border-radius:30px}.home-actions>button span{margin-left:auto;font-size:26px;line-height:1}.home-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px}.home-nav button{flex-direction:column;border-radius:11px;padding:13px 3px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;gap:10px}.home-nav .icon{width:30px;height:30px}.tagline{text-align:center;font-size:12px;letter-spacing:.2em;margin:4px 0}.save-status{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;line-height:1.5;color:#aac4ca;text-align:center;margin:0 20px}.save-status .icon{width:15px;height:15px}.route-footer,.build-stats{display:flex;justify-content:space-between;gap:10px;padding:14px 3px;margin-top:14px;border-top:1px solid #8ba9ab66}.route-footer span,.build-stats span{display:flex;align-items:center;gap:5px}.route-footer small,.build-stats small{font-size:10px}.island-art{height:390px;max-height:48svh;position:relative}.map-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 15px #41d49b30)}.road-options{display:grid;gap:10px}.road-options button{justify-content:flex-start;min-height:84px;text-align:left;padding:9px}.road-options button>span{flex:1}.road-options small,.road-options strong{display:block}.road-portrait{width:64px;height:64px;object-fit:cover;border-radius:8px}.road-trail{position:relative;padding:10px 0 20px;display:flex;flex-direction:column;gap:20px}.road-step{position:relative;z-index:1;max-width:86%}.road-step:nth-child(3n+2){align-self:flex-end}.road-step:before{content:'';position:absolute;left:32px;top:-22px;bottom:-22px;width:2px;background:#9fb7b566;z-index:-1}.road-step:first-child:before{top:50%}.road-step:last-child:before{bottom:50%}.road-step button{width:100%;justify-content:flex-start;text-align:left;padding:8px 10px;background:#061a21e8}.road-step button>span{display:flex;flex:1;flex-direction:column;gap:3px}.road-step .node-icon{height:44px;width:44px}.road-step.available button{border-color:#86e5bc;box-shadow:0 0 20px #3fe3a333}.road-step.completed button{opacity:.65}.detour{display:block;margin-left:70px}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.gift-grid button{flex-direction:column;justify-content:flex-start;padding:10px 7px;min-height:220px}.gift-art{height:95px;width:100%;object-fit:contain}.gift-grid strong{font-size:13px}.gift-grid span{font-size:12px;line-height:1.5;color:var(--muted)}.shop-hero{height:210px;display:flex;align-items:flex-start;justify-content:center}.favour{font-size:20px;display:flex;align-items:center;gap:10px}.shop-grid,.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-item{margin:0;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center}.shop-item h2{font-family:inherit;font-size:15px}.shop-item p{font-size:12px;flex:1}.shop-item button{font-size:12px;padding:9px}.shop-art{height:105px;width:100%;object-fit:contain}.card-grid>button{flex-direction:column;justify-content:flex-start;padding:8px;overflow:hidden}.card-art{height:145px;width:100%;object-fit:contain;border-radius:8px}.library-grid .card-art{object-fit:cover}.card-grid strong{font-size:14px}.card-grid small{padding-bottom:5px}.banner-art{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:9px}.search{display:flex;align-items:center;gap:10px;margin:20px 0;background:#04161eee;padding:9px 15px;border:1px solid var(--line);border-radius:28px}.search input{background:none;border:none;width:100%;min-height:30px;padding:0}.search input:focus{outline:none}.memory-list{display:flex;flex-direction:column;gap:12px}.memory-card{display:flex;gap:12px;margin:0}.memory-art{width:105px;min-width:80px;object-fit:cover;border-radius:8px}.memory-card h2{font-size:17px}.memory-card p{font-size:12px}.undiscovered{opacity:.75}.undiscovered .memory-art{object-fit:contain;width:60px}.setting-row{display:flex;align-items:center;gap:14px;justify-content:space-between;border-bottom:1px solid #66838d45;padding:13px 0;min-height:55px}.setting-row:last-child{border-bottom:0}.setting-row>span{flex:1}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:14px;font-weight:500}.setting-row input[type=checkbox]{appearance:none;width:44px;height:26px;border-radius:20px;background:#354a50;position:relative;flex:none;border:1px solid #75939a;min-height:0;padding:0}.setting-row input[type=checkbox]:before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#c6d7d8;transition:transform .14s}.setting-row input[type=checkbox]:checked{background:#c52f28;border-color:#f77969}.setting-row input[type=checkbox]:checked:before{transform:translateX(18px);background:white}input[type=range]{accent-color:var(--red);width:46%;padding:0;min-height:26px}input,textarea,select{background:#081c23;border:1px solid var(--line);border-radius:8px;padding:10px;min-height:44px;max-width:100%}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea{width:100%}label{display:block;line-height:1.5;margin:7px 0}textarea{resize:vertical}input[type=color]{padding:5px;width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form-grid select{width:100%}.option{display:flex;gap:12px;align-items:center;padding:12px 0}.option small,.option strong{display:block}.option input{accent-color:var(--red)}.version{font-size:11px;color:var(--muted);text-align:center;margin:24px 0}.creator-art{height:300px;position:relative;overflow:hidden}.portrait{height:100%;width:100%;object-fit:contain}.creator-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.story-stage{height:270px}.story-portrait{width:100%;height:100%;object-fit:contain}.prose p{line-height:1.8}.reward-art{height:240px;display:flex;justify-content:center}.reward-art img{max-width:100%;height:100%;object-fit:contain}.notice{border:1px solid #e78a64;padding:12px;background:#2e1715;border-radius:8px;color:#ffddc5}.modal-backdrop{position:fixed;inset:0;background:#000b;backdrop-filter:blur(7px);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:linear-gradient(145deg,#0b242d,#021219);border:1px solid #91aeb6;border-radius:18px;padding:22px;width:100%;max-width:440px;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 18px 80px #000c}.modal>h2{font-size:26px;text-align:center;margin:0 0 14px}.modal>p{text-align:center}.modal>button{width:100%;margin-top:14px}.dialog-actions{display:flex;gap:12px;margin-top:20px}.dialog-actions button{flex:1}.dialog-art{height:160px;width:100%;object-fit:contain;display:block}.bomb-resources{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.bomb-resources button{display:flex;flex-direction:column;padding:10px 5px}.bomb-icon{width:65px;height:65px;object-fit:contain}.bomb-resources small{font-size:10px}.file-input{border:1px dashed var(--line);padding:15px;border-radius:8px}.file-input input{margin-top:8px;font-size:12px}.boot{text-align:center;padding-top:30svh}.boot h1{color:#ed4034;font-size:54px;font-style:italic;letter-spacing:-4px}
/* Combat: board touch targets remain >=44px; the footer never overlays the grid. */
.screen-combat{max-width:470px}.screen-combat:before,.screen-combat:after{max-width:470px}.screen-combat main{padding:6px 12px calc(118px + env(safe-area-inset-bottom))}.combat-top .topbar{height:45px}.combat-top .brand{width:135px;height:45px}.enemy-stage{height:133px;position:relative;overflow:hidden}.enemy-art{position:absolute;width:65%;height:180px;object-fit:contain;right:-4%;top:-16px;filter:drop-shadow(0 8px 12px #0009)}.enemy-summary{position:absolute;bottom:7px;left:0;right:0;background:linear-gradient(90deg,#021017c9,transparent);padding:6px 0}.enemy-summary h1{font-size:18px;text-transform:uppercase;letter-spacing:.07em;margin:0 0 3px}.enemy-summary>span{font-size:12px}.enemy-summary meter{display:block;width:60%;height:9px;margin-top:5px;appearance:none;border-radius:9px;background:#26363d;border:1px solid #43555c}.enemy-summary meter::-webkit-meter-bar{background:#243840;border:none;height:7px}.enemy-summary meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#fb5950,#bb231d)}.intent{display:flex;gap:9px;align-items:center;min-height:47px;background:#02161ded;border:1px solid #4a6c76;border-radius:8px;padding:7px 10px}.intent>div{display:flex;flex-direction:column;gap:2px}.intent strong{font-size:13px}.intent span,.intent small{font-size:11px}.intent .icon{width:28px;height:28px}.resources{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin:7px 0;background:#03161feb;border:1px solid #4a6c76;border-radius:8px;padding:4px}.resources>span{display:flex;align-items:center;justify-content:center;gap:4px;position:relative}.resource-icon{width:27px;height:27px;object-fit:contain}.resources b{font-size:13px}.resources small{display:none}.board{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:3px;padding:4px;border:1px solid #657780;background:#031018;border-radius:10px;aspect-ratio:1/1;touch-action:pan-y}.cell{min-width:0;min-height:44px;padding:0;border:1px solid #41505c;border-radius:8px;background:radial-gradient(ellipse at 40% 25%,#30464b,#111f29 65%,#031017);position:relative;overflow:hidden;aspect-ratio:1/1;touch-action:none}.cell:hover:not(:disabled){background:radial-gradient(ellipse at 40% 25%,#415962,#172c37);border-color:#bfd1cf}.cell .jewel{width:95%;height:95%;position:absolute;inset:2.5%;object-fit:contain}.cell.selected{border:2px solid #ffe6a1;box-shadow:0 0 12px #ffec9a88;overflow:visible;z-index:2}.cell:focus-visible{outline-offset:-3px}.cell-marker{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.line-mark{position:absolute;background:#fff8bfdd;box-shadow:0 0 8px white;z-index:2}.line-mark.line-h{height:3px;top:50%;left:7%;right:7%}.line-mark.line-v{width:3px;left:50%;top:7%;bottom:7%}.hand-panel{border:1px solid #6d8c91;border-left:3px solid #edc780;background:#102a32f2;border-radius:7px;min-height:45px;padding:9px 10px;font-size:12px;line-height:1.55;margin:7px 0;color:#f3e5c5;overflow-wrap:anywhere}.hand-panel.error{border-color:#e38768;background:#38211d;color:#ffddc5}.power-hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.power{padding:6px;min-height:54px;gap:6px;justify-content:flex-start;text-align:left;position:relative}.power-icon{width:35px;height:35px;object-fit:contain}.power>span:last-child{display:flex;flex-direction:column;gap:3px}.power strong{font-size:11px;line-height:1.2}.power small{font-size:10px}.power.ready{border-color:#e3b176;box-shadow:inset 0 0 11px #d5a86822}.power.not-ready{border-color:#53717d}.abilities{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.abilities button{min-height:44px;padding:6px;font-size:10px;gap:4px}.abilities .icon{height:23px;width:23px}.combat-footer{position:fixed;bottom:0;width:calc(100% - 24px);max-width:444px;padding:8px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#02151bf7,#001017);z-index:9;border-top:1px solid #597780;box-shadow:0 -4px 12px #00131bdd}.combat-stats{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:1px 2px 7px}.combat-stats>span{display:grid;grid-template-columns:auto auto;gap:1px 4px;align-items:center}.combat-stats .icon{width:22px;height:22px;grid-row:span 2}.combat-stats b{font-size:12px}.combat-stats small{font-size:9px}.combat-stats>span:nth-child(3){display:none}.combat-stats .swap-counter{display:flex;flex-direction:column;align-items:flex-end}.combat-stats .swap-counter b{font-size:11px}.combat-footer>button{width:100%;min-height:44px;padding:8px;text-transform:uppercase;letter-spacing:.12em;border-radius:8px}.practice-label{padding:10px;font-size:11px;text-align:center;color:#ebd398}.inspecting .cell{border-style:dashed}.screen-combat main>button{width:100%;margin-top:7px}
[data-labels=show] .resources>span{padding-bottom:12px}[data-labels=show] .resources small{display:block;position:absolute;bottom:0;font-size:8px}[data-contrast=high]{--line:#b0c8cc;--muted:#d4e3e5;--panel:#00141a}[data-contrast=high] .panel{background:#001117}[data-contrast=high] .game:before{background-image:linear-gradient(#00111770,#001117e0),var(--scene)}[data-text=large]{font-size:17px}[data-text=large] .power strong{font-size:14px}[data-text=large] .power small,[data-text=large] .hand-panel{font-size:13px}[data-text=large] .power{min-height:70px}[data-text=large] .abilities button{font-size:12px;min-height:58px}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:650px){.game{margin:24px auto;min-height:calc(100svh - 48px);border:1px solid #405b65;border-radius:28px;overflow:hidden}.game:before,.game:after{inset:24px 0;border-radius:28px}.game main{min-height:calc(100svh - 48px)}.combat-footer{bottom:24px;max-width:444px;border-radius:0 0 17px 17px}.home-spacer{min-height:calc(100svh - 490px)}}@media(max-width:370px){main{padding-inline:12px}.screen-combat main{padding-inline:6px}.board{gap:2px;padding:2px}.combat-footer{width:calc(100% - 12px)}.power-icon{width:29px;height:29px}.power{gap:4px}.resources{padding:3px}.resource-icon{width:24px;height:24px}.gift-grid{gap:6px}.gift-grid button{padding:8px 4px}.route-footer small{display:none}.combat-stats b{font-size:11px}}@media(max-height:760px){.enemy-stage{height:90px}.enemy-art{height:140px;top:-20px}.combat-top .topbar{height:36px}.combat-top .brand{height:36px}.combat-top .topbar>button{min-height:36px;height:36px;padding:6px}.intent{min-height:43px;padding:5px 8px}.hand-panel{padding:7px 8px}.home-spacer{min-height:calc(100svh - 440px)}.scene-spacer{min-height:130px}}
.choice-grid{display:flex;flex-wrap:wrap;gap:6px}.choice-grid button{flex:1;min-width:75px}.composition-art{display:inline-block;position:relative;overflow:hidden;vertical-align:middle}.composition-art img{position:absolute;inset:0;width:100%;height:100%}details summary{cursor:pointer;line-height:1.5;padding:9px 0;color:#e9d5ac}a{color:#b8dece}.relationship-nodes article{padding:8px 0;border-bottom:1px solid #48667466}.relationship-nodes p{font-size:13px}
.discovery-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#e1c593;border:1px solid #9c805966;padding:3px 7px;border-radius:20px}
/* Mobile UX: one bounded combat scrollport, with controls in normal grid flow. */
html{font-size:calc(14px * var(--text-scale,1))}body{min-width:0}button,article,section,nav,main{min-width:0}button{overflow-wrap:anywhere}main{padding-top:calc(8px + env(safe-area-inset-top));padding-inline:16px}h2{overflow-wrap:anywhere}.game{width:100%}.screen-combat{margin:0 auto;border-radius:0;max-width:560px}.screen-combat:before,.screen-combat:after{inset:0;max-width:560px;border-radius:0}.screen-combat main,.screen-combat.game main{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 10px;padding-top:env(safe-area-inset-top)}.combat-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:0 2px 12px;scroll-padding-block:8px}.screen-combat .combat-footer{position:static;width:100%;max-width:none;flex:none;bottom:auto;border-radius:0;margin:0;padding:8px 2px calc(8px + env(safe-area-inset-bottom));box-shadow:none}.practice-label{flex:none;padding:3px;font-size:10px;background:#041820}.screen-combat .combat-top .topbar{height:44px}.screen-combat .combat-top .topbar>button{height:44px;min-height:44px}.screen-combat .combat-top .brand{height:40px}.screen-combat .enemy-stage{height:128px;display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:8px;overflow:visible}.screen-combat .enemy-art{position:static;grid-column:2;grid-row:1;width:100%;height:126px;max-width:100%;object-fit:contain;transform:none;filter:drop-shadow(0 4px 9px #000a)}.screen-combat .enemy-summary{position:static;grid-column:1;grid-row:1;display:block;padding:5px;background:none}.screen-combat .enemy-summary h1{font-size:calc(17px * var(--text-scale,1));line-height:1.25;margin:0 0 7px;text-transform:none;letter-spacing:0}.screen-combat .enemy-summary>span{font-size:calc(12px * var(--text-scale,1))}.screen-combat .enemy-summary meter{width:100%;height:9px;margin-top:8px}.screen-combat .intent{padding:8px;min-height:52px}.screen-combat .intent>div{display:flex;flex-direction:column;gap:3px}.screen-combat .intent strong{font-size:calc(13px * var(--text-scale,1))}.screen-combat .intent span,.screen-combat .intent small{font-size:calc(11px * var(--text-scale,1));line-height:1.4}.screen-combat .resources{margin:7px 0;padding:5px 2px}.screen-combat .resource-icon{width:25px;height:25px}.resources>span{gap:2px}.resources b{font-size:calc(12px * var(--text-scale,1))}.resources small{font-size:calc(9px * var(--text-scale,1))!important}.screen-combat .board,.rival-board{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:auto;gap:3px;padding:3px;aspect-ratio:1}.screen-combat .cell,.rival-board .cell{height:auto;min-height:0;aspect-ratio:1;min-width:0}.screen-combat .hand-panel{font-size:calc(12px * var(--text-scale,1));padding:10px;min-height:44px;line-height:1.6;white-space:normal}.screen-combat .power{min-height:58px;padding:7px;gap:7px}.screen-combat .power strong{font-size:calc(12px * var(--text-scale,1));line-height:1.3}.screen-combat .power small{font-size:calc(11px * var(--text-scale,1))}.screen-combat .abilities button{font-size:calc(11px * var(--text-scale,1));min-height:52px;line-height:1.4}.screen-combat .abilities .icon{width:24px;height:24px}.combat-scroll>button{width:100%;margin-block:6px}.combat-stats b{font-size:calc(12px * var(--text-scale,1))}.combat-stats small{font-size:calc(10px * var(--text-scale,1))}.combat-stats .swap-counter b{font-size:calc(11px * var(--text-scale,1))}.combat-footer>button{font-size:1rem}.screen-combat .board{margin:auto;max-width:430px}.library-sections,.secondary-nav{display:grid;gap:10px;margin:18px 0}.library-sections button{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;text-align:left;min-height:74px;padding:12px}.library-sections strong,.library-sections small{display:block}.library-sections strong{font-size:1.05rem;margin-bottom:3px}.secondary-nav{grid-template-columns:1fr}.secondary-nav button{justify-content:flex-start;min-height:48px}.filter-row{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap}.filter-row button{flex:1;padding:8px;font-size:.85rem}.filter-row [aria-pressed=true]{border-color:#efd39a;background:#23423e;color:#fff2cc}.locked-entry{margin:0;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:185px;padding:14px}.locked-entry h2{font:600 1rem/1.4 inherit;font-size:1rem;margin:12px 0 2px}.locked-entry p{font-size:.85rem;line-height:1.5;color:var(--muted)}.knowledge-grid .card-art{height:180px;object-fit:contain;padding:10px}.knowledge-grid>button{gap:8px;padding:12px}.knowledge-grid small{font-size:.85rem}.detail-frame{height:240px;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(ellipse at center,#21423f,#03171b 74%);border:1px solid #446762;border-radius:14px;margin:16px 0}.detail-frame.creature-frame{height:300px}.detail-art{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;object-position:center}.detail-art.composition-art img{object-fit:contain!important;transform:none!important}.journey-choices{display:grid;gap:12px}.journey-choices>.panel{margin:0}.journey-choices .card-art{height:145px}.journey-art{display:block;width:100%;height:auto;max-height:360px;object-fit:contain}.journey-choices h3{font-size:1.15rem}.shop-grid{grid-template-columns:1fr}.shop-item{display:grid;grid-template-columns:76px minmax(0,1fr);text-align:left;gap:8px 12px;padding:14px}.shop-item .shop-art{width:76px;height:92px;grid-row:span 2}.shop-item h2{margin:0;font-size:1.1rem}.shop-item p{margin:0;font-size:.95rem}.shop-item p~p,.shop-item button{grid-column:1/-1;width:100%;font-size:.95rem}.node-icon{width:44px;height:44px;object-fit:contain}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-row strong{font-size:1rem}p{font-size:1rem}small{font-size:.86rem}.subtitle{font-size:1rem}.modal{padding:18px;max-height:calc(100dvh - 24px)}.modal-backdrop{padding:12px}.modal p{overflow-wrap:anywhere}.dialog-actions{flex-wrap:wrap}.dialog-actions button{min-width:100px}.memory-art,.banner-art{object-fit:contain}.rival-board [data-intent=true],.rival-board .intent-cell{border:2px dashed #f6c778;box-shadow:inset 0 0 8px #f6c77877}.rival-board .selected{border:2px solid #a7ffe8}.rival-banks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rival-banks .panel{padding:10px}.rival-resources{display:flex;flex-wrap:wrap;gap:8px}.rival-resources img{width:20px;height:20px}.rival-resources span{display:flex;gap:4px;align-items:center}.screen-rival .board{margin-block:12px}.screen-rival main{padding-bottom:30px}
[data-text=larger],[data-text=large]{font-size:calc(14px * var(--text-scale,1))}[data-contrast=high] .hand-panel,[data-contrast=high] .intent{background:#001117;border-color:#d2e6e3}[data-contrast=high] .cell{border-color:#9bbabc}
@media(max-width:370px){main{padding-inline:12px}.screen-combat main,.screen-combat.game main{padding-inline:2px}.screen-combat .board{gap:1px;padding:1px;border-radius:5px}.screen-combat .combat-scroll{padding-inline:0}.screen-combat .enemy-stage{height:112px;grid-template-columns:minmax(0,1fr) 112px}.screen-combat .enemy-art{height:110px}.screen-combat .resources>span{flex-wrap:wrap}.resource-icon{width:22px!important;height:22px!important}.form-grid{grid-template-columns:1fr}.home-nav{gap:6px}.knowledge-grid{gap:8px}.knowledge-grid .card-art{height:140px}.knowledge-grid>button{padding:8px}.power-hand,.abilities{gap:5px}.power-icon{width:28px;height:28px}.combat-stats{gap:4px}.combat-stats .icon{width:18px;height:18px}}
@media(min-width:650px){.screen-combat.game{margin:0 auto;border-radius:0}.screen-combat.game main{height:100dvh;min-height:0}.screen-combat .combat-footer{bottom:auto}.game:not(.screen-combat){margin:12px auto}.screen-combat .board{max-width:430px}}
@media(max-height:500px) and (min-width:600px){.screen-combat{max-width:960px}.screen-combat:before,.screen-combat:after{max-width:960px}.screen-combat .combat-scroll{display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,1fr);gap:8px 16px;align-items:start}.combat-top{grid-column:2}.screen-combat .resources{grid-column:1;grid-row:1;margin:0}.screen-combat .board{grid-column:1;grid-row:2/7;width:100%;max-width:390px}.screen-combat .combat-top{grid-row:2/4}.screen-combat .hand-panel,.screen-combat .power-hand,.screen-combat .abilities{grid-column:2}.screen-combat .enemy-stage{height:100px}.screen-combat .enemy-art{height:96px}.screen-combat .combat-footer{display:flex;gap:16px;align-items:center}.combat-footer .combat-stats{flex:1}.combat-footer>button{width:40%}}
@media(max-width:335px){.screen-combat .board{gap:0;padding:0;border:0}.screen-combat .cell{border-radius:4px}}
/* Compact 2×2 combat: the page never scrolls. Short viewports use explicit panels. */
.library-sections .library-nav-icon{grid-column:1;grid-row:1;width:28px;display:flex;align-items:center;justify-content:center}.library-sections .library-nav-copy{grid-column:2;grid-row:1;min-width:0;overflow-wrap:normal;word-break:normal}.library-sections .library-nav-chevron{grid-column:3;grid-row:1;display:flex;align-items:center}.library-sections .library-nav-icon img{width:26px;height:26px;object-fit:contain}
.screen-combat main,.screen-combat.game main{padding:4px 10px 0;height:100dvh;min-height:0;overflow:hidden}.screen-combat .combat-scroll{position:relative;display:flex;flex-direction:column;gap:4px;padding:0;overflow:hidden;flex:1;min-height:0}.screen-combat .combat-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;flex:none}.screen-combat .combat-top .topbar{grid-column:1/-1;height:44px}.screen-combat .combat-top .brand{height:38px;width:116px}.screen-combat .enemy-stage{height:76px;grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr) 52px;gap:3px}.screen-combat .enemy-art{height:74px}.screen-combat .enemy-summary{padding:0}.screen-combat .enemy-summary h1{font-size:calc(14px * var(--text-scale,1));margin-bottom:3px;line-height:1.15}.screen-combat .enemy-summary>span{font-size:calc(10px * var(--text-scale,1))}.screen-combat .enemy-summary meter{height:6px;margin-top:4px}.screen-combat .intent{grid-column:2;grid-row:2;min-height:0;padding:5px;gap:4px;align-items:start;position:relative}.screen-combat .intent>.icon{width:18px;height:18px}.screen-combat .intent>div{gap:1px;padding-right:0}.screen-combat .intent strong{font-size:calc(11px * var(--text-scale,1));line-height:1.2}.screen-combat .intent span,.screen-combat .intent small{font-size:calc(10px * var(--text-scale,1));line-height:1.25}.screen-combat .intent>button{font-size:10px;min-height:44px;min-width:44px;padding:3px;margin-left:auto;align-self:center;border:0;background:transparent}.screen-combat .intent>.icon{display:none}.screen-combat .resources{flex:none;margin:0;padding:3px 2px;min-height:32px}.screen-combat .resource-icon{width:22px;height:22px}.screen-combat .board{flex:none;width:var(--board-size,340px);height:var(--board-size,340px);max-width:100%;max-height:none;aspect-ratio:1;margin:0 auto;grid-auto-rows:minmax(0,1fr);gap:2px;padding:2px}.screen-combat .cell{height:auto;min-height:0;aspect-ratio:auto}.screen-combat .combat-actions{flex:none;display:flex;flex-direction:column;gap:4px;min-width:0}.screen-combat .hand-panel{margin:0;padding:6px 8px;min-height:36px;font-size:calc(11px * var(--text-scale,1));line-height:1.35}.screen-combat .hand-dismiss{display:none}.screen-combat .power-hand{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.screen-combat .power{min-height:48px;padding:5px;gap:5px}.screen-combat .power-icon{width:28px;height:28px}.screen-combat .power>span:last-child{min-width:0;gap:2px}.screen-combat .power strong{font-size:calc(11px * var(--text-scale,1));line-height:1.2;overflow-wrap:normal}.screen-combat .power small{font-size:calc(10px * var(--text-scale,1));line-height:1.2}.screen-combat .abilities{margin:0;gap:4px}.screen-combat .abilities button{min-height:44px;font-size:calc(10px * var(--text-scale,1));padding:4px;gap:4px}.screen-combat .abilities .icon{width:20px;height:20px}.screen-combat .combat-extras{display:flex;flex-wrap:wrap;gap:4px}.screen-combat .combat-extras:empty{display:none}.screen-combat .combat-extras>button{flex:1;min-height:44px;padding:4px;font-size:11px}.screen-combat .combat-extras>.panel{flex-basis:100%;margin:0;padding:5px}.screen-combat .combat-footer{display:grid;grid-template-columns:minmax(0,1fr) 124px;align-items:center;gap:8px;padding:5px 0 calc(5px + env(safe-area-inset-bottom));min-height:58px}.screen-combat .combat-stats{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:3px 10px;padding:0}.screen-combat .combat-stats .icon{width:18px;height:18px}.screen-combat .combat-stats b{font-size:calc(11px * var(--text-scale,1))}.screen-combat .combat-stats small{font-size:calc(9px * var(--text-scale,1))}.screen-combat .combat-stats .swap-counter{display:flex;flex-basis:100%;flex-direction:row;gap:5px;align-items:center}.screen-combat .swap-counter b{font-size:calc(10px * var(--text-scale,1))}.screen-combat .swap-counter small{font-size:calc(8px * var(--text-scale,1))}.screen-combat .combat-footer>button{width:100%;min-height:46px;font-size:12px;padding:6px;letter-spacing:.04em}.screen-combat .practice-label{padding:1px;font-size:9px;line-height:1.25}.combat-tabs{display:none}
.screen-combat[data-compact-panels=true] .combat-top{height:74px;display:block;position:relative}.screen-combat[data-compact-panels=true] .combat-top .topbar{height:44px;position:absolute;inset:0 0 auto;pointer-events:none}.screen-combat[data-compact-panels=true] .topbar>button{pointer-events:auto}.screen-combat[data-compact-panels=true] .combat-top .brand{display:none}.screen-combat[data-compact-panels=true] .enemy-stage{height:44px;margin:0 48px;display:block;text-align:center}.screen-combat[data-compact-panels=true] .enemy-art{display:none}.screen-combat[data-compact-panels=true] .enemy-summary{display:grid;grid-template-columns:1fr auto;gap:2px;align-items:center;height:44px}.screen-combat[data-compact-panels=true] .enemy-summary h1{font-size:12px;margin:0}.screen-combat[data-compact-panels=true] .enemy-summary>span{font-size:9px}.screen-combat[data-compact-panels=true] .enemy-summary meter{grid-column:1/-1;margin:0;width:100%}.screen-combat[data-compact-panels=true] .intent{height:30px;padding:3px 48px 3px 5px}.screen-combat[data-compact-panels=true] .intent>div{display:flex;flex-direction:row;align-items:center;gap:5px;flex-wrap:wrap}.screen-combat[data-compact-panels=true] .intent small{font-size:9px}.screen-combat[data-compact-panels=true] .intent>button{position:absolute;right:0;top:-7px;height:44px}.screen-combat[data-compact-panels=true] .combat-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:none;margin-top:3px}.combat-tabs button{min-height:44px;padding:5px;font-size:12px}.combat-tabs [aria-pressed=true]{border-color:#e8c585;background:#25423f;color:#ffedc4}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=board] .combat-actions{display:contents}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=board] .combat-actions>*{display:none}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=board] .hand-panel[data-message=true]{display:block;position:absolute;bottom:0;left:0;right:0;z-index:5;box-shadow:0 -4px 20px #001018dd;background:#102a32}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=board] .hand-dismiss{display:block;min-height:44px;width:100%;margin-top:5px;padding:5px}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=powers] .board{display:none}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=powers] .combat-actions{flex:1;justify-content:center}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=powers] .power{min-height:54px}.screen-combat[data-compact-panels=true] .combat-scroll[data-pane=powers] .hand-dismiss{display:none}
@media(max-width:370px){.screen-combat main,.screen-combat.game main{padding-inline:2px}.screen-combat .combat-footer{grid-template-columns:minmax(0,1fr) 110px;gap:4px}.screen-combat .resources>span{flex-wrap:nowrap}.screen-combat .board{gap:0;padding:0;border:0}.screen-combat .cell{border-radius:4px}}
@media(max-height:500px) and (min-width:600px){.screen-combat.game,.screen-combat.game:before,.screen-combat.game:after{max-width:100%}.screen-combat main{padding-inline:8px}.screen-combat .combat-scroll{display:block;position:relative}.screen-combat .resources{width:calc(50% - 6px)}.screen-combat .board{position:absolute;left:calc(25% - 3px);transform:translateX(-50%);top:calc(var(--resource-height,32px) + 4px)}.screen-combat .combat-top{position:absolute;right:0;top:0;width:calc(50% - 6px);grid-template-rows:44px 56px;gap:2px}.screen-combat .enemy-stage{height:56px;grid-template-columns:1fr 38px}.screen-combat .enemy-art{height:54px;width:38px}.screen-combat .intent{min-height:56px}.screen-combat .combat-actions{position:absolute;right:0;top:106px;width:calc(50% - 6px)}.screen-combat .combat-footer{grid-template-columns:minmax(0,1fr) 170px}.screen-combat .combat-stats{flex-wrap:nowrap}.screen-combat .combat-stats .swap-counter{flex-basis:auto}.screen-combat .combat-tabs{display:none!important}}
.screen-combat .power strong{font-size:calc(13px * var(--text-scale,1))}.screen-combat .power small{font-size:calc(11px * var(--text-scale,1))}
.screen-combat.game{border-block:0}

/* Approved combat tray: fixed geometry, no Board/Powers switch or notice overlays.
   Only viewport/font settings affect the board budget; message content never does. */
.screen-combat.game{min-height:100dvh;border:0}
.screen-combat main.combat-layout{display:flex;flex-direction:column;gap:6px;height:100dvh;min-height:0;padding:calc(8px + env(safe-area-inset-top)) 12px 0;overflow:hidden}
.screen-combat .combat-top{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:44px 68px;gap:4px;width:100%;height:116px;flex:none}
.screen-combat .combat-top .topbar{grid-column:1/-1;grid-row:1;height:44px}
.screen-combat .combat-top .brand{width:112px;height:38px}
.screen-combat .enemy-stage{grid-column:1;grid-row:2;height:68px;margin:0;grid-template-columns:minmax(0,1fr) 52px}
.screen-combat .enemy-art{height:66px;width:52px}
.screen-combat .enemy-summary h1{font-size:calc(14px * var(--text-scale,1));line-height:1.15}
.screen-combat .intent{grid-column:2;grid-row:2;height:68px;min-height:0;align-items:center;padding:4px;gap:3px}
.screen-combat .intent>div{min-width:0}
.screen-combat .intent>button{flex:0 0 44px;width:44px;min-width:44px;height:44px;font-size:10px}
.screen-combat .resources{position:static;flex:none;width:100%;height:32px;min-height:32px;margin:0;padding:3px 2px}
html[data-labels=show] .screen-combat .resources{height:43px;min-height:43px}
.screen-combat .combat-board-zone{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;position:relative}
.screen-combat .combat-board-zone .board{position:relative;top:auto;left:auto;transform:none;flex:none;width:var(--board-size,0px);height:var(--board-size,0px);max-width:100%;max-height:100%;margin:0;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:3px;padding:4px;overflow:visible}
.screen-combat .combat-board-zone .cell{min-height:0;min-width:0;height:auto;aspect-ratio:auto}
.screen-combat .power-hand.combat-tray{display:grid;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,61px);gap:6px;margin:0}
.screen-combat .combat-action{min-width:0;height:61px;display:grid;grid-template-columns:minmax(44px,1fr) 44px;border:1px solid #807653;border-radius:9px;background:linear-gradient(#20363d,#0b2029);overflow:visible}
.screen-combat .combat-action:has(.ready){border-color:#e4c27b;box-shadow:inset 0 0 12px #d7b57622,0 0 6px #e9c37230}
.screen-combat .combat-action.ability{border-color:#6996a5}
.screen-combat .combat-action.ability:has(.ready){border-color:#91dce5;box-shadow:inset 0 0 12px #75cbd422,0 0 6px #75cbd430}
.screen-combat .combat-action .power{min-width:0;width:100%;height:100%;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:0;border-radius:8px 0 0 8px;padding:2px;background:transparent;box-shadow:none;text-align:center}
.screen-combat .combat-action .power-icon{height:32px;width:36px;object-fit:contain;flex:none}
.screen-combat .combat-action .power-cost{display:block;min-width:0;font-size:calc(10px * var(--text-scale,1));line-height:1.2;color:#f1dcae;white-space:nowrap}
.screen-combat .combat-action .power.not-ready .power-icon{filter:grayscale(.8);opacity:.5}
.screen-combat .combat-action .power.not-ready .power-cost{color:#a9bdc3}
.screen-combat .combat-action .power-eye{min-width:44px;min-height:44px;width:44px;height:100%;padding:0;border:0;border-left:1px solid #60717555;border-radius:0 8px 8px 0;background:#06182077;color:#c2d8dd;display:flex;align-items:center;justify-content:center}
.screen-combat .power-eye svg{width:19px;height:19px;flex:none}
.screen-combat .power-eye .icon{width:21px;height:21px}
.screen-combat .combat-info-slot{position:relative;display:flex;align-items:stretch;gap:5px;flex:0 0 57px;height:57px;min-height:57px;max-height:57px;min-width:0}
.screen-combat .combat-info-slot .combat-message{flex:1;min-width:0;min-height:0;height:57px;margin:0;padding:6px 9px;display:flex;align-items:center;font-size:calc(12px * var(--text-scale,1));line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.screen-combat .combat-info-slot .combat-message:empty{visibility:hidden}
.screen-combat .combat-info-slot .combat-message[hidden],.screen-combat .combat-context-row[hidden]{display:none}
.screen-combat .combat-context-row{display:flex;align-items:stretch;gap:5px;min-width:0;flex:1;height:57px}
.screen-combat .combat-context-row>button{flex:1;min-width:44px;min-height:44px;padding:5px 9px;font-size:calc(11px * var(--text-scale,1));line-height:1.3;gap:6px}
.screen-combat .combat-context-row .power-eye,.screen-combat .combat-info-slot>.power-eye{flex:0 0 44px;min-width:44px;padding:0}
.screen-combat .combat-context-row .icon{width:28px;height:28px;flex:none}
.screen-combat .combat-info-slot .hand-dismiss,.screen-combat .combat-tabs{display:none}
.screen-combat .combat-footer{position:static;display:grid;grid-template-columns:1fr;flex:none;width:100%;max-width:none;gap:6px;margin:0;padding:0 0 calc(5px + env(safe-area-inset-bottom));min-height:0;border:0;box-shadow:none;background:transparent}
.screen-combat .combat-footer .combat-stats{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-height:29px;padding:0;gap:5px}
.screen-combat .combat-footer .combat-stats .swap-counter{flex-basis:auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.screen-combat .combat-footer .combat-stats b{font-size:calc(12px * var(--text-scale,1))}
.screen-combat .combat-footer .combat-stats small{font-size:calc(9px * var(--text-scale,1))}
.screen-combat .combat-footer>button{width:100%;height:48px;min-height:48px;padding:6px;font-size:13px;letter-spacing:.12em}
.screen-combat .practice-label{padding:0;min-height:11px;font-size:9px;line-height:11px}
@media(max-height:740px){
 .screen-combat main.combat-layout{padding-top:calc(4px + env(safe-area-inset-top));padding-inline:8px;gap:4px}
 .screen-combat .combat-top{height:96px;grid-template-rows:44px 48px}
 .screen-combat .enemy-stage,.screen-combat .intent{height:48px}
 .screen-combat .enemy-stage{grid-template-columns:minmax(0,1fr) 34px}
 .screen-combat .enemy-art{height:46px;width:34px}
 .screen-combat .enemy-summary h1{font-size:calc(12px * var(--text-scale,1))}
 .screen-combat .enemy-summary>span{font-size:calc(9px * var(--text-scale,1))}
 .screen-combat .resources{height:28px;min-height:28px;padding:1px 2px}
 .screen-combat .power-hand.combat-tray{grid-template-rows:repeat(2,54px);gap:4px}
 .screen-combat .combat-action{height:54px}
 .screen-combat .combat-action .power-icon{width:30px;height:28px}
 .screen-combat .combat-footer{gap:4px}
 .screen-combat .combat-footer>button{height:44px;min-height:44px}
 .screen-combat .combat-info-slot .combat-message{font-size:calc(11px * var(--text-scale,1))}
 .screen-combat .combat-board-zone .board{gap:2px;padding:3px}
}
@media(max-width:345px){
 .screen-combat main.combat-layout{padding-inline:6px}
 .screen-combat .combat-action .power-cost{font-size:calc(9px * var(--text-scale,1))}
 .screen-combat .combat-board-zone .board{gap:1px;padding:2px}
}
@media(max-height:500px) and (min-width:600px){
 .screen-combat.game,.screen-combat.game:before,.screen-combat.game:after{max-width:100%;border-radius:0}
 .screen-combat main.combat-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(292px,1fr);grid-template-rows:96px 112px 57px minmax(0,1fr) auto;gap:4px 10px;padding:calc(4px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(8px + env(safe-area-inset-left))}
 .screen-combat .combat-top{grid-column:2;grid-row:1;position:static;width:100%;height:96px}
 .screen-combat .resources{grid-column:1;grid-row:1;align-self:start;width:100%}
 .screen-combat .combat-board-zone{grid-column:1;grid-row:1/5;align-self:stretch;margin-top:36px}
 html[data-labels=show] .screen-combat .combat-board-zone{margin-top:47px}
 .screen-combat .combat-tray{grid-column:2;grid-row:2}
 .screen-combat .combat-info-slot{grid-column:2;grid-row:3}
 .screen-combat .combat-footer{grid-column:2;grid-row:4;align-self:end;padding-bottom:0}
 .screen-combat .practice-label{grid-column:1/-1;grid-row:5}
}
/* Information affordances keep a fixed touch target without stealing text width. */
.screen-combat .intent>button svg,.screen-combat .combat-info-slot button svg{width:19px;height:19px;flex:none}
.screen-combat .combat-info-slot>button,.screen-combat .combat-context-row>button:last-child{flex:0 0 44px;width:44px;min-width:44px;max-width:44px;padding:0}
.screen-combat .practice-label{flex:none;height:14px;min-height:14px;line-height:12px;border:0}
/* Larger text reserves its extra room once, never in response to a message. */
.screen-combat .combat-info-slot{--info-height:calc(57px * var(--text-scale,1));flex-basis:var(--info-height);height:var(--info-height);min-height:var(--info-height);max-height:var(--info-height)}
.screen-combat .combat-info-slot .combat-message,.screen-combat .combat-context-row{height:100%}
@media(max-height:500px) and (min-width:600px){.screen-combat main.combat-layout{grid-template-rows:96px 112px calc(57px * var(--text-scale,1)) minmax(0,1fr) auto}}
