:root{--blue: #2a5bb8;--blue-dark: #1b3f86;--orange: #e0701e;--orange-dark: #a94b0c;--ink: #3a2614;--parch: #f3e2bd;--wood: #6b4423;--ui-font: "Trebuchet MS", "Segoe UI", system-ui, sans-serif;--head-font: Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:#2b1d12;color:var(--ink);font-family:var(--ui-font);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}button{font-family:inherit;touch-action:manipulation;cursor:pointer}button:disabled{cursor:default}.game{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;background:#2b1d12}@media(orientation:landscape)and (max-height:500px){.game{padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}.board-area{position:relative;flex:0 0 70%;height:100%;background:linear-gradient(#4f5c3b,#43603f);overflow:hidden}.board-svg{position:relative;overflow:visible;width:100%;height:100%;display:block}.panel{position:relative;flex:0 0 30%;min-width:0;height:100%;background:#4a2f19}.tile-g{cursor:pointer}.tile{fill:transparent;stroke:none}.mark{pointer-events:none;stroke-width:1.5}.mark-zone-blue{fill:#326ee640;stroke:#285ac880}.mark-zone-orange{fill:#f0821e47;stroke:#c864148c}.mark-place{fill:#28d2be66;stroke:#0a968ccc}.mark-place-sel{fill:#0ac8b4bf;stroke:#078a7e;stroke-width:2.5}.mark-move{fill:#28d2be6b;stroke:#0a968ccc}.mark-move-sel{fill:#00c3afcc;stroke:#067a70;stroke-width:2.5}.mark-effect{fill:#ff7d0fad;stroke:#c95300;stroke-width:2.5}.mark-cat-range{fill:#ffaa3c29;stroke:#d2781e59}.mark-cat-cand{fill:#ff912366;stroke:#c85f0ab3}.mark-cat-area{fill:#ff69009e;stroke:#b54600}.mark-remove{fill:#dc3c2861;stroke:#a02a1a}.area-outline{fill:none;stroke:#8f2f00;stroke-width:5;stroke-linejoin:round}.cat-anchor polygon{fill:#ffffff8c;stroke:#7a2500;stroke-width:2.5}.unit{cursor:pointer}.unit.activated .unit-img{filter:saturate(.6) brightness(.88);opacity:.75}.unit.activated .unit-shadow{opacity:.5}.hp-bg{fill:#19120ad1;stroke:#fff5dcd9;stroke-width:1.2}.hp-fill.high{fill:#3fc34a}.hp-fill.mid{fill:#f2c418}.hp-fill.low{fill:#e0321f}.unit-shadow{fill:#00000038}.ring ellipse{fill:none;stroke-width:6.3}.ring-selected ellipse{stroke:#ffe46b;stroke-width:7;filter:drop-shadow(0 0 3px rgba(255,240,150,.9))}.ring-activated ellipse{stroke:#8b8b8b;stroke-width:5.6}.ring-activated .check circle{fill:#7c7c7c;stroke:#fff;stroke-width:2.1}.ring-activated .check path{stroke:#fff;stroke-width:3.4;fill:none;stroke-linecap:round}.ring-target ellipse{stroke:#ff8a1c;stroke-width:7}.ring-target-sel ellipse{stroke:#e0201a;stroke-width:8.4}.crosshair line{stroke:#e0201a;stroke-width:4;stroke-linecap:round}.ring-heal ellipse{stroke:#22c7a9;stroke-width:6.3}.ring-heal-sel ellipse{stroke:#00e8bd;stroke-width:9.8;filter:drop-shadow(0 0 3px rgba(0,255,210,.8))}.plus circle{fill:#14b496;stroke:#fff;stroke-width:1.2}.plus path{stroke:#fff;stroke-width:2.4;stroke-linecap:round}.ring-move-sel ellipse,.ring-place-sel ellipse{stroke:#00d4c0;stroke-width:7}.fab{cursor:pointer}.fab rect{stroke-width:2.5;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.fab-confirm rect{fill:#2f9a3a;stroke:#e9ffd9}.fab-swap rect{fill:#6b4a2a;stroke:#f3dcb0}.fab:active rect{filter:brightness(.85)}.fab text{fill:#fff;font-weight:800;pointer-events:none;-webkit-user-select:none;user-select:none}.toast{position:absolute;top:3%;left:50%;transform:translate(-50%);max-width:80%;padding:.6em 1.2em;background:#2b1d12e0;color:#fbe9c4;border:2px solid #c79b5a;border-radius:999px;font-weight:700;font-size:clamp(13px,1.4vw,20px);text-align:center;pointer-events:none;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}.p-title,.p-banner,.p-box{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center}.p-title{font-family:var(--ui-font);font-weight:800;font-size:calc(var(--k) * 60px);color:var(--ink)}.p-banner{font-weight:800;color:#fff;font-size:calc(var(--k) * 36px);letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.5);border-radius:calc(var(--k) * 8px)}.p-banner.orange{background:linear-gradient(#f08a32,#c75a10);box-shadow:0 0 0 calc(var(--k) * 5px) #8d8f96,inset 0 2px 3px #ffffff4d}.p-banner.neutral{background:linear-gradient(#8a6a46,#5e4428);box-shadow:0 0 0 calc(var(--k) * 5px) #8d8f96,inset 0 2px 3px #fff3}.p-box{flex-direction:column;padding:calc(var(--k) * 10px)}.p-box-label{font-weight:700;font-size:calc(var(--k) * 34px)}.p-box-value{font-weight:800;font-size:calc(var(--k) * 58px);line-height:1.15}.p-box-caption{font-size:calc(var(--k) * 24px);opacity:.8}.p-box.blue .p-box-label{color:var(--blue-dark)}.p-box.orange .p-box-label{color:var(--orange-dark)}.p-content{position:absolute;display:flex;flex-direction:column;gap:.5em;font-size:clamp(12px,calc(var(--k) * 34px),22px)}.p-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:.3em .2em}.p-footer{flex:0 0 auto;display:flex;flex-direction:column;gap:.45em}.hint{background:#fffaeb8c;border:1px solid rgba(140,100,50,.35);border-radius:.5em;padding:.6em .75em;line-height:1.35;margin-top:.5em}.hint.small{font-size:.88em;margin:0;padding:.45em .6em}.hint b.blue,.sr-text .blue,.handoff .blue{color:var(--blue)}.hint b.orange,.sr-text .orange,.handoff .orange{color:var(--orange)}.stat-icons{display:grid;grid-template-columns:repeat(5,1fr);background:#fff8e6b3;border:1px solid rgba(140,100,50,.35);border-radius:.45em;padding:.2em .1em}.stat{display:flex;flex-direction:column;align-items:center;font-weight:800;font-size:.92em}.stat img{width:1.7em;height:1.7em}.unit-card{display:grid;grid-template-columns:44% 1fr;gap:.55em}.uc-portrait{aspect-ratio:1 / 1.1;border-radius:.5em;border:3px solid #8c6a3f;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.uc-portrait.blue{background:radial-gradient(circle at 50% 40%,#4f86de,#1d4590)}.uc-portrait.orange{background:radial-gradient(circle at 50% 40%,#f5a35a,#b0520f)}.uc-portrait img{width:92%;height:92%;object-fit:contain;object-position:bottom}.uc-info{display:flex;flex-direction:column;gap:.3em;justify-content:center}.uc-name{font-weight:800;font-size:1.15em}.uc-team{font-size:.9em;opacity:.8}.uc-status{border-radius:.35em;padding:.25em .4em;color:#fff;font-weight:800;text-align:center;font-size:.9em}.uc-status.ready{background:var(--blue)}.uc-status.done{background:#7a7a7a}.uc-status.enemy{background:#8a5a2b}.uc-hp{font-weight:800;font-size:1.1em}.heart{color:#c0201a}.unit-card .stat-icons{grid-column:1 / -1}.uc-note{grid-column:1 / -1;font-size:.82em;opacity:.8}.atk-pattern{display:block;flex:0 0 auto}.ap-own{fill:#5a3d22;stroke:#2e1c0c;stroke-width:1.5}.ap-own-dot{fill:#ffe46b}.ap-hit{fill:#ff7d0fd9;stroke:#a43f00;stroke-width:1.5}.ap-anchor{fill:#fff;stroke:#7a2500;stroke-width:1.5}.uc-special{grid-column:1 / -1;display:flex;align-items:center;gap:.55em;background:#fff8e6b3;border:1px solid rgba(140,100,50,.35);border-radius:.45em;padding:.3em .5em}.uc-special .atk-pattern{width:3.4em;height:2em}.ucs-text{display:flex;flex-direction:column;gap:.1em;line-height:1.2;min-width:0}.ucs-text b{font-size:.92em;white-space:nowrap}.ucs-text span{font-size:.8em}.rr-name{display:inline-flex;align-items:center;gap:.35em}.rr-pattern{width:2.4em;height:1.4em}.action-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.4em}.act{min-height:max(44px,3.6em);border-radius:.45em;border:2px solid rgba(0,0,0,.35);color:#fff;font-weight:800;font-size:.95em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15em;box-shadow:inset 0 2px 3px #ffffff40,0 2px 3px #0000004d}.act-ico{font-size:1.25em;line-height:1}.act-move{background:linear-gradient(#3a72d0,#1f4c9c)}.act-attack{background:linear-gradient(#c8423a,#932520)}.act-heal{background:linear-gradient(#25b08f,#127a62)}.act-wait{background:linear-gradient(#7d7d7d,#555)}.act:disabled{filter:grayscale(.9) brightness(.85);opacity:.55}.btn-row{display:flex;gap:.4em}.btn-row>*{flex:1}.btn-green,.btn-grey,.btn-red,.btn-finish{min-height:max(44px,3em);border-radius:.45em;border:2px solid rgba(0,0,0,.35);color:#fff;font-weight:800;font-size:.95em;padding:.3em .5em;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:inset 0 2px 3px #ffffff40,0 2px 3px #0000004d}.btn-green,.btn-finish{background:linear-gradient(#3f9a4e,#23693a)}.btn-grey{background:linear-gradient(#8a8a8a,#5d5d5d)}.btn-red{background:linear-gradient(#c8423a,#932520)}.btn-finish{font-size:1.05em;min-height:max(48px,3.2em)}.btn-green:disabled,.btn-finish:disabled{filter:grayscale(1);opacity:.55}.confirm-bar{background:#fffaebb3;border:2px solid #1fae9a;border-radius:.5em;padding:.45em;display:flex;flex-direction:column;gap:.4em}.cb-text{font-weight:700;font-size:.92em}.recruit-list{display:flex;flex-direction:column;gap:.4em}.recruit-row{display:flex;gap:.5em;align-items:center;width:100%;text-align:left;color:var(--ink);background:#ecd6a6;border:2px solid #a87c4a;border-radius:.55em;padding:.3em;min-height:44px;font-size:13.3333px;cursor:pointer}.recruit-row.sel.blue{border-color:var(--blue);box-shadow:0 0 0 3px #2a5bb88c,0 0 10px #2a5bb899;background:#f3e4bf}.recruit-row.sel.orange{border-color:var(--orange);box-shadow:0 0 0 3px #e0701e8c,0 0 10px #e0701e99;background:#f3e4bf}.recruit-row.disabled{filter:grayscale(1);opacity:.5;cursor:default}.recruit-row:focus-visible{outline:3px solid #ffe46b;outline-offset:1px}.info-tip{display:inline-flex;align-items:center;justify-content:center;cursor:help;border-radius:.3em;outline:none;-webkit-tap-highlight-color:transparent}.info-tip:focus-visible{box-shadow:0 0 0 2px #ffe46b,0 0 0 4px #6b4423}.info-tip.open{box-shadow:0 0 0 2px #ffe46be6}.tip-bubble{position:fixed;z-index:200;max-width:min(260px,calc(100vw - 16px));padding:7px 10px;background:linear-gradient(#fbefd3,#f0dcb0);color:var(--ink);border:2px solid var(--wood);border-radius:8px;box-shadow:0 4px 14px #00000073;font-family:var(--ui-font);font-size:13px;font-weight:600;line-height:1.35;text-align:left;pointer-events:none}.tip-bubble:after{content:"";position:absolute;left:calc(var(--arrow, 50%) - 6px);width:10px;height:10px;background:#f3e2bd;border:2px solid var(--wood);transform:rotate(45deg)}.tip-bubble.above:after{bottom:-7px;border-top:0;border-left:0}.tip-bubble.below:after{top:-7px;border-bottom:0;border-right:0;background:#fbefd3}.compact-only{display:none}.panel.compact{display:flex;flex-direction:column;gap:4px;padding:6px;border:5px solid var(--wood);border-radius:10px;box-shadow:inset 0 0 0 2px #b98a50,0 0 0 2px #3b2412;background:radial-gradient(ellipse at 50% 30%,#fbefd3,#ecd3a2);font-size:12px}.panel.compact .compact-only{display:inline}.panel.compact .info-tip.compact-only{display:inline-flex}.panel.compact .long-only{display:none}.pc-head{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 6px;min-width:0}.pc-title{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pc-banner{flex:0 0 auto;padding:2px 8px;border-radius:5px;color:#fff;font-weight:800;font-size:11px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5);background:linear-gradient(#3a72d0,#1f4c9c);box-shadow:0 0 0 2px #8d8f96}.pc-banner.orange{background:linear-gradient(#f08a32,#c75a10)}.pc-banner.neutral{background:linear-gradient(#8a6a46,#5e4428)}.pc-boxes{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}.pc-box>*{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-box{display:flex;flex-direction:column;align-items:center;padding:2px 4px;background:#fff8e6bf;border:1px solid rgba(140,100,50,.45);border-radius:5px;line-height:1.15;min-width:0}.pc-label{font-size:10px;font-weight:700}.pc-value{font-size:13px}.pc-caption{font-size:9.5px;opacity:.8;white-space:nowrap}.pc-box.blue .pc-label{color:var(--blue-dark)}.pc-box.orange .pc-label{color:var(--orange-dark)}.panel.compact .p-content{position:static;flex:1 1 auto;min-height:0;gap:5px;font-size:12px}.panel.compact .p-scroll{padding:2px 1px;overflow-x:hidden}.panel.compact .recruit-list{gap:4px}.panel.compact .recruit-row{font-size:12px;gap:4px;padding:2px 3px}.panel.compact .rr-portrait{flex:0 0 2.7em;height:2.7em;border-width:1px}.panel.compact .rr-main{gap:1px}.panel.compact .rr-head{gap:4px;min-width:0}.panel.compact .rr-name{min-width:0;flex:1 1 auto;gap:3px}.panel.compact .rr-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel.compact .rr-cost{flex:0 0 auto;font-size:1em}.panel.compact .rr-pattern{width:2em;height:1.15em}.panel.compact .stat-icons{padding:1px 0;grid-template-columns:repeat(5,minmax(0,1fr))}.panel.compact .recruit-row .stat{font-size:.8em}.panel.compact .recruit-row .stat img{width:1.25em;height:1.25em}.panel.compact .hint.small{padding:4px 6px;font-size:11px;line-height:1.25}.panel.compact .confirm-bar{padding:4px 6px;gap:4px}.panel.compact .cb-text{font-size:11px}.panel.compact .btn-row>button{min-height:44px;font-size:11.5px;padding:2px 4px}.panel.compact .btn-finish{min-height:44px;font-size:13px;padding:2px 6px}.deploy-hint{display:flex;align-items:center;gap:6px}.panel.compact .deploy-hint .hint-short{flex:1;min-width:0}.help-tip{flex:0 0 auto;min-width:30px;min-height:30px}.help-ico{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--wood);color:#fbefd3;font-weight:900;font-size:13px}.rr-portrait{flex:0 0 3.6em;height:3.6em;background:#fffdf7;border:2px solid #b48d5a;border-radius:.35em;display:flex;align-items:center;justify-content:center}.rr-portrait img{max-width:90%;max-height:90%}.rr-main{flex:1;display:flex;flex-direction:column;gap:.2em;min-width:0}.rr-head{display:flex;justify-content:space-between;align-items:center}.rr-name{font-weight:800}.rr-cost{font-weight:800;font-size:1.1em;display:flex;align-items:center;gap:.25em}.coin-ico{display:inline-block;width:1em;height:1em;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffe680,#e0a91c 60%,#a8750c);border:1px solid #8a6008}.recruit-row .stat img{width:1.35em;height:1.35em}.recruit-row .stat{font-size:.85em}.compass{width:100%;max-height:9em;margin-top:.4em}.cp-center{fill:#ffe46b;stroke:#8a6a20;stroke-width:1.5}.cp-dir{cursor:pointer}.cp-dir polygon{fill:#e8d4a8;stroke:#8c6a3f;stroke-width:1.5}.cp-dir.valid polygon{fill:#ffc98a}.cp-dir.sel polygon{fill:#ff7d0f;stroke:#a43f00;stroke-width:2.5}.cp-dir text{font-size:13px;font-weight:800;fill:#3a2614;pointer-events:none}.cp-dir.sel text{fill:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:50;display:flex;align-items:center;justify-content:center}.board-modal{padding-right:30vw}.continue-btn{border:0;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat;color:#fff;font-weight:800;text-shadow:0 2px 2px rgba(0,0,0,.55);min-height:44px;min-width:10em;padding:.4em 1.5em;font-size:1.25em}.continue-btn:disabled{color:#ddd}.die{display:inline-block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.die.rolling{animation:dice-shake .14s linear infinite}@keyframes dice-shake{0%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(10deg) translateY(-6%)}to{transform:rotate(-12deg) translateY(0)}}.combat-dialog{position:relative;width:min(68vw,140vh);aspect-ratio:1536 / 1024;background-size:100% 100%;container-type:inline-size;font-size:2.2cqw}.combat-dialog>div,.combat-dialog>button{position:absolute}.cd-title{left:32%;width:36%;top:4.4%;height:9%;display:flex;align-items:center;justify-content:center;color:#f8e8c8;font-weight:800;font-size:3.5cqw;letter-spacing:.04em;text-shadow:0 2px 2px rgba(0,0,0,.6)}.cd-ribbon,.cd-role,.cd-die,.cd-roll{width:28%;display:flex;align-items:center;justify-content:center;text-align:center}.cd-ribbon.blue,.cd-role.blue,.cd-die.blue,.cd-roll.blue{left:18.5%}.cd-ribbon.orange,.cd-role.orange,.cd-die.orange,.cd-roll.orange{left:53.8%}.cd-ribbon{top:19.8%;height:6.6%;color:#fff;font-weight:800;font-size:2.4cqw;text-shadow:0 1px 2px rgba(0,0,0,.6)}.cd-role{top:27.6%;height:4.4%;font-size:1.9cqw}.cd-die{top:31.5%;height:10%;font-size:7.2cqw}.cd-roll{top:41.6%;height:4.4%;font-size:1.9cqw}.cd-sum{top:47%;height:6.8%;width:25.2%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:2.8cqw}.cd-sum.blue{left:19.9%}.cd-sum.orange{left:54.9%}.cd-result{left:17.3%;width:65.4%;top:57.5%;height:20%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2em}.cd-result-label{font-weight:800;font-size:2.4cqw}.cd-result-value{font-weight:800;font-size:4.4cqw;color:#a3241c}.cd-result-rest{font-size:2cqw}.res-killed{color:#a3241c;font-weight:800}.res-none{color:#6b5a40;font-weight:800}.cd-continue{left:31.9%;width:36.1%;top:80.1%;height:11.2%;font-size:3.2cqw;min-width:0;padding:0}.cd-cover{left:16.3%;width:67.6%;top:17.6%;height:60.6%;background:radial-gradient(ellipse at 50% 40%,#f8e9c9,#efd9ad);border-radius:.6cqw;display:flex;flex-direction:column;gap:.5em;padding:1.2cqw 1.6cqw}.cd-multi-head{display:flex;align-items:center;gap:.6em;flex-wrap:wrap;justify-content:center}.cd-multi-info{font-weight:800}.pill{display:inline-block;color:#fff;font-weight:800;padding:.25em .8em;border-radius:.3em;text-shadow:0 1px 2px rgba(0,0,0,.5)}.pill.blue{background:linear-gradient(#3a72d0,#1f4c9c)}.pill.orange{background:linear-gradient(#f08a32,#c75a10)}.pill.small{font-size:.9em;padding:.15em .6em}.cd-cover.multi{font-size:1.8cqw;overflow:hidden}.cd-cover.multi.n3,.cd-cover.multi.n4{font-size:1.65cqw}.cd-grid{flex:1;min-height:0;display:grid;gap:.5em;grid-auto-rows:1fr}.n1 .cd-grid{grid-template-columns:minmax(0,.6fr);justify-content:center}.n2 .cd-grid,.n4 .cd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.n3 .cd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cd-card{position:relative;min-height:0;display:flex;flex-direction:column;justify-content:space-evenly;gap:.2em;border:1px solid rgba(140,100,50,.45);background:#fffaeb8c;border-radius:.5em;padding:.3em .6em}.cd-card .pill.small{align-self:flex-start;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-card.killed{border:2px solid #a3241c;background:#f0cdbe99}.cd-stamp{position:absolute;top:.25em;right:.35em;background:#a3241c;color:#fff;font-weight:800;text-transform:uppercase;font-size:.8em;padding:.1em .5em;border-radius:.3em;transform:rotate(4deg)}.cd-line{display:flex;align-items:center;gap:.45em;white-space:nowrap}.cd-line .lbl{min-width:4.2em}.cd-res{white-space:nowrap;font-size:.95em}.red{color:#a3241c}.cd-cover.heal{font-size:1.95cqw;justify-content:space-evenly;align-items:center;gap:.3em;overflow:hidden;text-align:center}.hb-head{display:flex;align-items:center;justify-content:center;gap:.5em;white-space:nowrap;max-width:100%}.hb-head .pill{font-size:1em;padding:.2em .7em}.hb-arrow{font-weight:800;color:#0f8f73}.hb-roll{display:flex;align-items:center;justify-content:center;gap:.6em;font-size:1.25em;white-space:nowrap}.hb-roll-text{display:flex;align-items:baseline;gap:.35em}.hb-roll-text b{font-size:1.15em}.hb-lbl{color:#6b5a40;font-weight:700}.hb-sep{margin:0 .2em;font-weight:800}.hb-result{display:flex;flex-direction:column;align-items:center;line-height:1.15}.hb-big{font-size:2.1em;font-weight:800;color:#0f8f73;white-space:nowrap}.hb-note{font-size:.85em;color:#6b5a40;font-weight:700}.hb-hp{font-size:1.25em;white-space:nowrap}.hb-after{color:#0f8f73}.hb-table{font-size:.8em;color:#6b5a40;white-space:nowrap}.wood-dialog{background:radial-gradient(ellipse at 50% 35%,#fbefd3,#ecd3a2);border:.7em solid var(--wood);border-radius:1em;box-shadow:inset 0 0 0 3px #b98a50,0 0 0 3px #3b2412,0 12px 40px #0009;padding:1.2em 1.6em;text-align:center;font-size:clamp(13px,1.5vw,22px)}.wood-dialog h2,.wood-dialog h1{font-family:var(--head-font);margin:.1em 0 .4em}.startroll{width:min(58vw,720px)}.sr-row{display:flex;align-items:center;justify-content:space-between;gap:1em}.sr-dice{display:flex;gap:1em}.shield-col{display:flex;flex-direction:column;align-items:center;width:5.5em}.shield{width:4.8em}.shield.blue .shield-body{fill:var(--blue)}.shield.orange .shield-body{fill:var(--orange)}.shield-rim{fill:none;stroke:#c9a14e;stroke-width:5}.shield-sign{fill:#f3d27a;font-size:44px}.shield-name{font-family:var(--head-font);font-weight:700;font-size:1.15em}.shield-val{font-family:var(--head-font);font-weight:800;font-size:2em}.sr-text{font-family:var(--head-font);font-weight:700;font-size:1.25em;margin:.6em 0 .7em;min-height:1.4em}.handoff{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:radial-gradient(ellipse at 50% 60%,#3a2a20,#120c09 75%);color:#f6e7c8;font-size:clamp(14px,1.6vw,24px)}.hf-banner{width:12vw;height:64vh;clip-path:polygon(0 0,100% 0,100% 100%,50% 88%,0 100%);display:flex;align-items:center;justify-content:center;font-size:6vw;color:#f3d27a;box-shadow:inset 0 0 30px #00000080}.hf-banner.blue{background:linear-gradient(90deg,#173a7a,#2a5bb8 40%,#173a7a)}.hf-banner.orange{background:linear-gradient(90deg,#8c3d08,#e0701e 40%,#8c3d08)}.hf-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.8em}.hf-medal{width:6em;height:6em;border-radius:50%;background:radial-gradient(circle,#4a3324,#2a1c12);border:.3em solid #b98a50;display:flex;align-items:center;justify-content:center;font-size:1.6em;color:#f0b54a}.hf-center h1{font-family:var(--head-font);font-size:2.4em;margin:0}.hf-center p{margin:0;line-height:1.5;font-size:1.15em}.continue-btn.wide{min-width:14em;min-height:52px}.gameend-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding-right:30vw;background:#00000059;pointer-events:none}.combat-dialog.gameend{pointer-events:auto;width:min(50vw,100vh)}.ge-cover{align-items:center;justify-content:center;text-align:center;gap:.6em}.ge-emblem{width:22cqw;display:block}.laurel{fill:none;stroke:#5b7a2a;stroke-width:3}.leaf-l{fill:#7ea33a}.ge-disc{fill:#8a5a2b;stroke:#c9a14e;stroke-width:3}.sword{stroke:#d8dde3;stroke-width:6;stroke-linecap:round}.hilt{stroke:#c9a14e;stroke-width:5;stroke-linecap:round}.ge-sign{fill:#f3d27a;font-size:30px}.ge-ribbon{font-family:var(--head-font);font-weight:800;font-size:5.2cqw;color:#fff;padding:.15em 1.2em;text-shadow:0 2px 2px rgba(0,0,0,.5);clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%)}.gameend.blue .ge-ribbon{background:linear-gradient(#3a72d0,#1f4c9c)}.gameend.orange .ge-ribbon{background:linear-gradient(#f08a32,#c75a10)}.gameend.draw .ge-ribbon{background:linear-gradient(#9a8566,#6b5a40)}.ge-reason{font-weight:700;font-size:2.8cqw;margin:0;max-width:85%;line-height:1.35}.budget-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#6a4a2c,#24170d 80%)}.budget-screen{overflow:hidden;background:#24170d}.start-stage{position:absolute;left:50%;top:50%;width:min(max(100vw,100vh * 1774 / 887),100vw * 1774 / 920,100vh * 1774 / 750);aspect-ratio:1774 / 887;transform:translate(-50.03%,-50.73%);container-type:inline-size}.start-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.start-card,.start-go{position:absolute;padding:0;border:0;background:transparent;cursor:pointer;min-width:44px;min-height:44px}.start-card{border-radius:2.2%/1.6%}.start-card:hover:not(.sel){box-shadow:0 0 0 .15cqw #ffecaabf}.start-card.sel{box-shadow:inset 0 0 0 .45cqw #2f7df0,inset 0 0 0 .62cqw #9fd0ff,0 0 0 .25cqw #2f7df0,0 0 1.3cqw .35cqw #4696ffe6}.start-check{position:absolute;top:0;left:50%;width:1.75cqw;height:1.75cqw;transform:translate(-50%,-60%) rotate(45deg);background:linear-gradient(135deg,#2a64c8,#173c86);border:.2cqw solid #cfe6ff;box-shadow:0 0 .6cqw #4696ffe6;display:flex;align-items:center;justify-content:center}.start-check i{transform:rotate(-45deg);color:#fff;font-style:normal;font-weight:900;font-size:1.15cqw;line-height:1}.start-go:disabled{cursor:default;-webkit-backdrop-filter:grayscale(.85) brightness(.8);backdrop-filter:grayscale(.85) brightness(.8)}.start-go:not(:disabled):active{-webkit-backdrop-filter:brightness(.85);backdrop-filter:brightness(.85)}.start-card:focus-visible,.start-go:focus-visible{outline:3px solid #ffe46b;outline-offset:2px}.rotate-hint{display:none}@media(orientation:portrait){.rotate-hint{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;flex-direction:column;align-items:center;justify-content:center;gap:.6em;background:#24170d;color:#f6e7c8;font-size:22px;font-weight:700;text-align:center;padding:2em}.rotate-icon{font-size:64px}}
