/* play.css */
*{box-sizing:border-box}[hidden]{display:none!important}:root{font-family:"Pretendard","Malgun Gothic",system-ui,sans-serif;font-synthesis:none;background:#f4f3e9;color:#253e35}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ba872c;outline-offset:3px}main{max-width:1420px;margin:auto;padding:0 42px 24px}.page-header{height:91px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dadfd0;gap:28px}.brand{display:flex;gap:11px;align-items:center;font-size:17px;font-weight:800;letter-spacing:-.6px}.brand-mark{display:grid;place-items:center;background:#314f3e;color:#f6de9d;width:38px;height:42px;border-radius:10px;font-size:31px}.brand-sub{display:block;font-size:10px;font-weight:400;color:#7a8575;margin-top:4px}nav{display:flex;align-self:stretch;gap:29px;font-size:12px;align-items:center}nav a{color:#7a8475}nav a:hover{color:#263e35}.active-tab{height:100%;display:flex;align-items:center;border-bottom:3px solid #345640;font-weight:750;padding:3px 10px 0}.build-label{font-size:10px;color:#8b9382;border:1px solid #d6ddcb;border-radius:5px;padding:7px 10px}.heading{display:flex;justify-content:space-between;align-items:center;padding:31px 0 25px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#78856b}h1{font-size:29px;line-height:1.3;letter-spacing:-1.3px;margin:8px 0}h1>span{color:#cf9d3a}p{line-height:1.7;margin:0}.heading p{font-size:12px;color:#7d8877}.chapter-chip{font-size:11px;border:1px solid #d9ddcc;padding:9px 12px;border-radius:20px;background:#fafbf4;display:flex;gap:8px;align-items:center}.chapter-chip i{width:6px;height:6px;background:#7caa70;border-radius:50%}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}.arena-card,.companion-card,.traits-card{border:1px solid #d3dbc9;border-radius:13px;background:#fcfcf7;overflow:hidden}.arena-top{height:51px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;border-bottom:1px solid #e8ebde;font-size:11px}.arena-top>div{display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;background:#6b9c64;border-radius:50%}.stage-label{font-size:10px;color:#9a9f91;margin-left:6px}.arena-actions{gap:13px!important}.arena-actions>span{font-size:9px;color:#8d9888;font-variant-numeric:tabular-nums}.arena-actions button{background:transparent;border:1px solid #dfe4d7;color:#61725b;border-radius:5px;font-size:11px;padding:6px 8px}.arena-actions button:hover{background:#eef2e6}.hud{display:flex;align-items:center;gap:20px;padding:15px 18px;background:#f8faf1}.health-block{width:21%;min-width:95px}.experience-block{flex:1}.meter-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;gap:7px;margin-bottom:7px}.meter-label strong{font-size:9px;color:#8c9885;font-weight:500;font-variant-numeric:tabular-nums}.heart{color:#cf8275;margin-right:3px}.xp-label{font-size:9px;color:#82917a;margin-left:6px}.meter{height:6px;background:#e7ebde;border-radius:5px;overflow:hidden}.meter>div{height:100%;transition:width .12s linear;border-radius:5px}.health>div{width:100%;background:#cf8d7d}.experience>div{width:0;background:#7fafa0}.hud-count{min-width:54px}.hud-count>span{font-size:9px;color:#84927c;display:block;margin-bottom:3px}.hud-count strong{font-size:19px;letter-spacing:.5px;font-variant-numeric:tabular-nums;font-weight:650}.hud-count.kills{min-width:30px}.arena-wrap{position:relative;line-height:0;isolation:isolate;background:#dce6c9}#arena{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:pixelated;touch-action:none;outline-offset:-3px;cursor:crosshair}.field-label{position:absolute;bottom:15px;left:16px;color:#617455;background:#f9fcf0d9;line-height:1.5;padding:7px 10px;font-size:10px;border-radius:5px;pointer-events:none}.gem-dot{color:#5aa7ae;margin-right:5px}.arena-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;font-size:10px;color:#839078;gap:12px;line-height:1.8}.arena-footer>span{display:flex;align-items:center;gap:3px;flex-wrap:wrap}kbd{font:9px "Malgun Gothic",sans-serif;min-width:16px;text-align:center;padding:1px 3px;border:1px solid #dce2d2;border-bottom-width:2px;background:white;border-radius:3px;color:#5e7357}.control-divider{margin:0 5px}.mobile-tip{display:none}.companion-card{padding:18px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{font-size:11px;margin:0;font-weight:750}.type-pill{font-size:9px;color:#947a37;border:1px solid #e7dbb7;border-radius:4px;padding:3px 7px;background:#f8f0dc}.portrait{height:135px;position:relative;display:flex;align-items:center;justify-content:center;margin:5px 0 2px;background:radial-gradient(ellipse,#f2eed8 0%,transparent 65%)}.portrait canvas{width:160px;height:150px;image-rendering:pixelated;position:relative;z-index:1}.portrait-ring{position:absolute;width:101px;height:27px;border:1px solid #e3e4cd;border-radius:50%;bottom:16px}.character-title{display:flex;align-items:center;justify-content:space-between}.character-title h3{font-size:19px;margin:0;letter-spacing:-.6px}.character-title>span{font-size:11px;font-weight:700;color:#879c69}.character-description{font-size:11px;color:#8a947e;margin-top:9px}.weapon{display:flex;align-items:center;gap:9px;border-top:1px solid #e6eadc;margin-top:17px;padding-top:15px}.weapon-icon{height:33px;width:32px;border-radius:7px;display:grid;place-items:center;background:#eee8d1;color:#8c7336;font-size:27px}.weapon strong{display:block;font-size:12px}.weapon div>span{display:block;font-size:9px;color:#8c9980;margin-top:4px}.auto-badge{font-size:9px;margin-left:auto;color:#709067}.stats{font-size:11px;margin:15px 0 0;display:grid;gap:10px}.stats>div{display:flex;justify-content:space-between}.stats dt{color:#87937d}.stats dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}.traits-card{padding:18px;margin-top:15px}.section-heading>#trait-count{font-size:10px;color:#819773;background:#edf1e4;padding:3px 7px;border-radius:4px}.empty-traits{font-size:11px;color:#a0a994;padding:17px 0 4px}.trait-row{display:flex;align-items:center;gap:8px;margin-top:13px;font-size:10px}.trait-symbol{width:24px;height:24px;display:grid;place-items:center;background:#f1eddc;color:#a48947;border-radius:5px;font-size:14px}.trait-row strong{font-weight:500;flex:1}.trait-row small{font-size:10px;color:#7e9570}.note{display:flex;gap:10px;padding:17px 7px 0;color:#7b8c71}.note>span{color:#b59850;font-size:25px}.note p{font-size:10px}.page-footer{display:flex;justify-content:space-between;border-top:1px solid #dce1d1;margin-top:24px;padding-top:16px;font-size:10px;color:#959e8b;gap:15px}.screen-overlay{position:absolute;inset:0;background:#203c2b55;display:flex;align-items:center;justify-content:center;padding:22px;line-height:1.5;z-index:3}.dialog{text-align:center;background:#fcfcf5;border:1px solid #d9dfcb;border-radius:14px;padding:27px 30px;width:min(610px,100%);box-shadow:0 10px 35px #263c2a20;max-height:100%;overflow:auto;overscroll-behavior:contain}.dialog-kicker{font-size:10px;letter-spacing:1px;font-weight:700;color:#9c8240}.dialog h2{font-size:25px;letter-spacing:-1px;margin:8px 0 9px}.dialog>p{font-size:12px;color:#869179}.dialog-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.action{border:1px solid #cad6bd;background:#f7f9ef;border-radius:7px;color:#456039;font-size:12px;padding:12px 23px;font-weight:700}.action:hover{background:#e9efdd}.action.primary{background:#35543f;color:#fff;border-color:#35543f}.action.primary:hover{background:#46694e}.intro-steps{display:flex;justify-content:center;gap:20px;margin-top:20px;font-size:10px;color:#7b8b6d}.intro-steps>span{display:flex;flex-direction:column;gap:5px}.intro-steps b{font-size:22px;color:#809566;font-weight:500}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;text-align:left}.choice{background:#f5f6e9;border:1px solid #dbe1ca;border-radius:9px;padding:14px 12px;display:flex;flex-direction:column;color:#314a37;min-height:188px;position:relative}.choice:hover{background:#edf2dc;border-color:#93ab75;transform:translateY(-2px)}.choice-key{position:absolute;right:10px;top:11px;color:#a7af9a;font-size:10px}.choice-icon{width:30px;height:30px;background:#e8dfbc;color:#917132;display:grid;place-items:center;border-radius:7px;font-size:23px;margin-bottom:12px}.choice-tag{font-size:9px;color:#8f9b7d;margin-bottom:4px}.choice strong{font-size:13px;letter-spacing:-.5px}.choice p{font-size:10px;color:#849075;margin:8px 0 13px;flex:1}.choice-change{font-size:10px;color:#547144;border-top:1px solid #dfe5d1;padding-top:9px;font-weight:650;line-height:1.5}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:22px;background:#f1f4e7;border-radius:8px;padding:17px}.result-grid span{display:block;font-size:10px;color:#89977a}.result-grid strong{display:block;font-size:25px;margin-top:5px}#joystick{position:absolute;border:2px solid #fff9;border-radius:50%;width:94px;height:94px;background:#3d604b33;pointer-events:none;z-index:2}#joystick span{position:absolute;left:29px;top:29px;width:32px;height:32px;background:#f7f8ebaa;border:1px solid #fff;border-radius:50%}.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}
@media(max-width:1100px){main{padding:0 24px 20px}.play-layout{grid-template-columns:minmax(0,1fr) 208px;gap:15px}.companion-card,.traits-card{padding:15px}.hud{gap:12px;padding:12px}.stage-label{display:none}.arena-footer{font-size:9px;padding:12px}.dialog{padding:20px}.choice{padding:11px;min-height:170px}.dialog h2{font-size:22px}.choices{margin-top:15px}}
@media(max-width:860px){.play-layout{grid-template-columns:1fr}.heading{padding:22px 0}.heading h1{font-size:26px}.page-header{height:76px}.build-label{display:none}aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.traits-card{margin:0}.note{display:none}.portrait{height:110px}.portrait canvas{height:130px;width:139px}.character-description{display:none}.stats{grid-template-columns:1fr 1fr;column-gap:15px}.mobile-tip{display:inline}.arena-footer{font-size:10px}.dialog{padding:24px}.choice{min-height:180px}.screen-overlay{padding:18px}}
@media(max-width:540px){main{padding:0 12px 18px}.page-header{gap:12px}.brand{font-size:14px;gap:8px}.brand-mark{width:31px;height:35px;font-size:26px}.brand-sub{font-size:8px}nav{gap:14px;font-size:10px}.active-tab{padding-left:3px;padding-right:3px}.heading h1{font-size:22px}.heading p{font-size:10px}.chapter-chip{padding:6px 8px;font-size:9px}.hud{gap:10px;padding:10px}.hud-count{min-width:45px}.hud-count strong{font-size:16px}.health-block{min-width:76px}.meter-label{font-size:9px}.xp-label{display:none}.arena-top{height:43px;padding:0 12px}.arena-top strong{font-size:10px}.arena-actions>span{display:none}.arena-actions button{font-size:10px}.screen-overlay{padding:9px}.dialog{padding:17px 13px}.dialog h2{font-size:20px}.dialog>p{font-size:10px}.dialog-kicker{font-size:9px}.intro-steps{margin-top:14px;gap:22px}.dialog-actions{margin-top:15px}.action{padding:10px 16px;font-size:11px}.choices{gap:6px;margin-top:15px}.choice{padding:10px 8px;min-height:178px}.choice-icon{width:26px;height:26px;font-size:19px;margin-bottom:9px}.choice strong{font-size:11px}.choice p{font-size:9px}.choice-change{font-size:9px}.choice-tag{font-size:8px}.field-label{font-size:9px;left:9px;bottom:9px;padding:5px 7px}.arena-footer{display:block;line-height:2;font-size:9px}.arena-footer>span+span{margin-top:5px}.page-footer{font-size:9px;flex-direction:column;gap:6px}aside{gap:10px}.companion-card,.traits-card{padding:13px}.character-title h3{font-size:17px}.stats{grid-template-columns:1fr;font-size:10px;gap:7px}.section-heading h2{font-size:10px}.empty-traits{font-size:10px}.trait-row{font-size:9px;gap:5px}.trait-symbol{width:20px;height:20px}.trait-row small{font-size:8px}.weapon{gap:6px}.weapon div>span{font-size:8px}.auto-badge{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.choice:hover{transform:none}}

/* The input/label canvas stays transparent above the WebGL terrain. */
#difficulty-status{display:inline-flex;font-size:10px;color:#718269;background:#eef2e5;padding:2px 7px;border-radius:4px;margin-left:9px;white-space:nowrap}
#world3d{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;image-rendering:auto}#arena{position:relative;z-index:1}.camera-reset{font-size:10px;border:1px solid #d7decc;background:#f4f7ea;border-radius:5px;color:#58734d;padding:5px 8px;white-space:nowrap}.camera-reset:hover{background:#e8efdc}.arena-footer{flex-wrap:wrap}#camera-help{font-size:9px}

/* field-learning.css */
.field-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 15px;background:#e9eddd;border:1px solid #d4dcc6;border-radius:10px;font-size:11px;color:#617453}.field-tools label{display:flex;align-items:center;gap:8px;white-space:nowrap}.field-tools select{font:inherit;padding:7px 10px;border:1px solid #c1cdb5;border-radius:6px;background:#fbfcf2;color:#3b5946;max-width:180px}.field-tools p{flex:1;min-width:200px;font-size:11px}.field-tools button{font-size:11px;border:1px solid #c1cdb5;border-radius:6px;padding:7px 10px;background:#fbfcf2;color:#3b5946}#field-weapons{width:100%;font-size:10px;color:#8a8055}@media(max-width:700px){.field-tools{padding:10px;gap:8px}.field-tools p{order:3;min-width:100%}#field-weapons{order:4}}
.field-tools select:disabled{opacity:.65}.field-tools button:disabled{opacity:.45;cursor:default}.map-card{background:#fcfcf4;border:1px solid #dce2ce;border-radius:10px;padding:13px;margin-bottom:15px}.map-card .section-heading>span{font-size:9px;color:#7b8c67}#world-map{width:100%;height:auto;display:block;margin:10px 0;border:1px solid #c4d1b1;border-radius:6px}#encounter-count{font-size:11px;font-weight:bold;color:#526c43}.map-legend{font-size:9px;color:#879775;margin-top:5px}.encounter-toast{position:absolute;left:50%;top:14px;transform:translateX(-50%);padding:9px 16px;background:#fff9e8ee;border:1px solid #bfad71;border-radius:8px;color:#53643c;font-size:12px;z-index:2;pointer-events:none;white-space:nowrap}.encounter-toast[hidden]{display:none}@media(max-width:860px){.map-card{grid-column:1/-1;display:grid;grid-template-columns:160px 1fr;column-gap:18px;align-items:center;margin-bottom:0}.map-card .section-heading{grid-column:2;grid-row:1}.map-card canvas{grid-column:1;grid-row:1/4;max-height:120px;object-fit:contain;margin:0}#encounter-count{grid-column:2;grid-row:2}.map-legend{grid-column:2;grid-row:3}.companion-card{margin-top:0}}@media(max-width:540px){.encounter-toast{font-size:10px;padding:7px 10px}.map-card{grid-template-columns:130px 1fr}}

/* math-text.css */
.math-fraction{display:inline-flex;flex-direction:column;align-items:stretch;vertical-align:middle;text-align:center;font-size:.85em;line-height:1.12;margin:0 .12em;white-space:nowrap}
.math-fraction__numerator{padding:0 .15em .12em}
.math-fraction__denominator{border-top:.075em solid currentColor;padding:.12em .15em 0}

/* alpha.css */
.alpha-card{padding:14px;background:#f8f5e8;border:1px solid #d9cba5;border-radius:10px;margin-bottom:15px}.alpha-card[hidden],.alpha-hud[hidden]{display:none}.alpha-card .section-heading>span{font-size:11px;color:#98783c}#alpha-status{font-size:11px;line-height:1.7;color:#7d693e;margin:10px 0}.collection-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;border-top:1px solid #e4ddc8;gap:6px;min-height:50px;color:#8d907e}.collection-row canvas{width:46px;height:46px;image-rendering:pixelated}.collection-row strong{font-size:12px}.collection-row span{font-size:10px}.collection-row.owned{color:#346d5a}#collection-save{font-size:10px;line-height:1.6;color:#77846d;margin-top:10px}#collection-retry{border:1px solid #a98247;background:#fff8e5;border-radius:5px;font-size:11px;padding:6px 10px;color:#72532c;margin-top:6px}.alpha-hud{position:absolute;top:58px;left:50%;transform:translateX(-50%);width:min(340px,78%);background:#253c32ec;border:1px solid #b89451;border-radius:9px;padding:9px 14px;pointer-events:none;z-index:1;color:#fff2c9}.alpha-hud strong{font-size:12px;letter-spacing:.07em}.alpha-hud p{font-size:11px;text-align:center;margin:6px 0 0;color:#e3ecd7}.alpha-meter{height:5px;background:#162a22;border-radius:3px;margin-top:7px;overflow:hidden}.alpha-meter>div{height:100%;background:#e9b85e}.encounter-toast{max-width:90%;white-space:normal;text-align:center}.alpha-card button[hidden]{display:none}@media(max-width:860px){.alpha-card{margin-bottom:0}}@media(max-width:540px){.alpha-hud{top:62px;padding:6px 10px}.alpha-hud p{font-size:10px}}
.alpha-state-icons{display:inline-flex;align-items:center;justify-content:center;gap:6px;vertical-align:middle}.alpha-state-icons img{display:block;image-rendering:pixelated;image-rendering:crisp-edges}

/* weapons.css */
.armory-card{padding:16px;margin-bottom:15px;background:#fcfcf5;border:1px solid #d9dfcb;border-radius:12px;line-height:1.55}.armory-card label{display:block;font-size:11px;margin:10px 0 5px;color:#617455}.armory-card select{display:block;width:100%;max-width:100%;font-size:11px;padding:9px 6px;color:#314a37;background:#f3f5e9;border:1px solid #d7deca;border-radius:6px}.armory-card select:disabled{opacity:.65}.armory-card p{font-size:10px;color:#79876e}.armory-card details{margin-top:14px;font-size:11px}.armory-card summary{cursor:pointer;color:#4c6744;padding:5px 0}.armory-card small{font-size:9px;color:#829077}.owned-weapon{display:flex;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #e4e7da}.owned-weapon strong,.owned-weapon span{display:block;font-size:11px}.owned-weapon span{font-size:10px;color:#829077;margin-top:3px}.owned-weapon :is(svg,.item-sprite){flex-shrink:0}.fusion-recipe{background:#f3f4e8;border-radius:6px;padding:8px;margin:7px 0}.fusion-recipe strong,.fusion-recipe span{display:block;font-size:10px}.fusion-recipe span{font-size:9px;color:#859275;margin-top:3px}.fusion-recipe.available{background:#f8edc9;border:1px solid #d4b253}.fusion-choice{border-color:#c5a557;background:#fcf2cf}.fusion-choice:hover{background:#f8e7b2}.choice-icon :is(svg,.item-sprite){width:32px;height:32px;flex-shrink:0}.character-description{line-height:1.65}.hero-rule{font-size:10px;color:#60794c;background:#f0f4e4;padding:8px;border-radius:5px}.weapon-book{max-height:320px;overflow-y:auto}.weapon-book-row{display:flex;gap:7px;border-top:1px solid #dfe5d4;padding:10px 0}.weapon-book-row :is(svg,.item-sprite){flex-shrink:0}.weapon-book-row strong{font-size:11px}.weapon-book-row p{margin:5px 0}.practice-controls{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.practice-controls button{padding:7px 9px;border:1px solid #c8d4b8;border-radius:5px;background:#eff4e7;font-size:10px;color:#516b43}.practice-badge{display:block;font-size:10px;color:#946e24}.stats{display:none}.dialog-actions{flex-wrap:wrap}.armory-card #weapon-practice{vertical-align:middle}#fusion-list{font-size:10px;color:#6b7c5c}#weapon-slots{font-size:10px;color:#718365}#weapon-summary-icon{background:none}.weapon div>span{font-size:9px}.armory-card select:focus-visible{outline:2px solid #698953;outline-offset:2px}
@media(max-width:860px){.armory-card{grid-column:1/-1;margin-bottom:0}.armory-card .weapon-list{display:flex;gap:15px}.armory-card #fusion-list{display:flex;flex-wrap:wrap;gap:6px}.armory-card .fusion-recipe{flex:1 0 160px}.weapon-book{max-height:220px}}

.skill-teacher{width:32px;height:32px;vertical-align:middle;margin-left:6px;image-rendering:auto}.skill-list-item{border-width:2px}.choice[data-kind="fusion"]{border-width:3px}

/* game-shell.css */
:root{--ink:#243d32;--paper:#fff9e8;--line:#385441;--green:#d7ed7b;--shadow:0 5px 0 #253d32;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:var(--ink);font-size:16px}
.hero-tile canvas,.portrait canvas,#hero-evolutions canvas,#title-hero{transform:scale(var(--effect-scale,1))}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#b5d7ad}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid #de901e;outline-offset:4px}button{color:var(--ink)}[hidden]{display:none!important}#game-shell{max-width:none;padding:0;margin:0;width:100%;height:100dvh;isolation:isolate}.arena-wrap{position:fixed;inset:0;border:0;border-radius:0;overflow:hidden;background:#b5d7ad}#arena,#world3d{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;display:block}#arena{z-index:1;touch-action:none;outline:0}#world3d{z-index:0;pointer-events:none}body:not([data-scene=running]):not([data-scene=choice]) #arena{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.action{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:3px solid var(--line);background:var(--paper);padding:12px 22px;min-height:48px;border-radius:14px;font-weight:800;font-size:16px;box-shadow:0 3px 0 var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,background .15s}.action.primary{background:var(--green);color:var(--ink);border-color:var(--line);min-height:56px}.action:hover:not(:disabled){background:#f1e6c9;transform:translateY(-2px)}.action.primary:hover:not(:disabled){background:#e6f6a0}.action:active:not(:disabled){transform:translateY(2px);box-shadow:none}.action.subtle{background:#fff9e8a8;box-shadow:none}.eyebrow{font-size:13px;letter-spacing:.12em;font-weight:800;color:#4b6343}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}h1{font-size:32px;margin-bottom:0}p{line-height:1.6}.section-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:800;margin:0 0 14px}.section-label span{font-weight:400;color:#63725b;font-size:12px}
.menu-scene{position:fixed;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:max(24px,var(--safe-top)) max(28px,env(safe-area-inset-right)) max(24px,var(--safe-bottom)) max(28px,env(safe-area-inset-left));background:#243d3238;backdrop-filter:blur(6px)}.menu-panel{width:min(1120px,100%);max-height:100%;border:3px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:0 8px 0 #263e32,0 24px 80px #1b382c40;padding:28px;overflow:auto}.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:2px solid #d9dfc3;margin-bottom:20px}.scene-heading .eyebrow{display:block;margin-bottom:5px}.title-scene{background:linear-gradient(90deg,#f7f5dded 0%,#f5f2d7c4 40%,#b0d7b000 80%),linear-gradient(0deg,#41694c66,transparent 40%);backdrop-filter:none;justify-content:space-between;padding-left:9vw;padding-right:10vw}.title-copy{max-width:550px}.title-copy h1{font-size:clamp(58px,6.4vw,112px);font-weight:1000;line-height:1.12;margin:18px 0 24px;letter-spacing:-.085em;text-shadow:2px 3px #fffdf0}.title-copy h1 span{display:block;color:#55783b}.title-copy>p{font-size:17px;color:#46634c;margin-bottom:24px}.title-actions{max-width:320px;display:grid;gap:14px}.title-actions>.primary{justify-content:space-between;font-size:21px;min-height:64px;padding:16px 24px}.title-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}#loading-status{font-size:12px;margin:20px 0 0;min-height:20px}.title-friends{position:relative;width:31vw;max-width:440px;aspect-ratio:1;border:3px solid #faffd6a0;border-radius:50%;background:radial-gradient(ellipse at 50% 70%,#ddec9e,#faffd61a 64%);display:flex;align-items:center;justify-content:center}.title-friends canvas{width:80%;height:80%;image-rendering:pixelated;filter:drop-shadow(0 15px 0 #2b54321a)}.adventure-seal{position:absolute;right:-6px;top:0;transform:rotate(8deg);width:118px;height:118px;border-radius:50%;border:3px dashed #526b3c;background:#fff6c9;box-shadow:0 0 0 6px #fff6c9;display:grid;align-content:center;text-align:center;font-size:13px;line-height:1.8}.adventure-seal b{font-size:18px}.title-caption{position:absolute;bottom:0;font-size:13px;font-weight:700;color:#183b29;background:#eff5d6e0;padding:8px 18px;border-radius:30px}.title-foot{position:absolute;bottom:24px;left:9vw;font-size:11px;letter-spacing:.15em;color:#eaf4d5}
.selection-panel{display:flex;flex-direction:column;overflow:hidden;height:min(800px,100%)}.selection-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;min-height:0;flex:1}.roster{display:flex;flex-direction:column;min-height:0}#hero-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;overflow:auto;padding:5px 5px 10px;align-content:start;scrollbar-color:#9dae75 #edf0d8}.hero-tile{border:2px solid #c5cdb0;background:#f0efd9;border-radius:13px;padding:4px 2px 7px;min-width:0;min-height:86px;position:relative;transition:background .15s,transform .15s}.hero-tile:hover{background:#e4ebc5;transform:translateY(-2px)}.hero-tile[aria-pressed=true]{border:3px solid var(--line);background:#d8ec91;box-shadow:0 3px 0 #385441}.hero-tile[aria-pressed=true]:after{content:'✓';position:absolute;right:3px;top:0;color:#315330;font-weight:bold}.hero-tile canvas{display:block;width:100%;max-width:80px;aspect-ratio:1;margin:auto;image-rendering:pixelated}.hero-tile span{display:block;font-size:11px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.selection-detail{border-left:2px solid #d9dfc3;padding-left:26px;overflow:auto;min-height:0;display:flex;flex-direction:column}.companion-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}.companion-card .section-heading h2{display:none}.companion-card .section-heading{justify-content:center;margin:0}.type-pill{padding:4px 14px;border:1px solid #bfcaa7;border-radius:20px;background:#e9efd7;font-size:12px}.portrait{height:130px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#dcebb2,transparent 68%);margin:6px 0 0}.portrait canvas{width:144px;height:135px;image-rendering:pixelated;z-index:1}.portrait-ring{display:none}.character-title{display:flex;justify-content:center;align-items:center;margin:0 0 6px}.character-title h3{font-size:26px;margin:0}.character-description{font-size:13px;line-height:1.6;text-align:center;margin:6px 0}.hero-rule{font-size:12px;color:#557144;text-align:center;margin:6px 0 12px}.weapon{display:flex;align-items:center;gap:8px;padding:10px;background:#e9edd8;border-radius:10px;font-size:13px;margin:0}.weapon>div>span{display:block;font-size:11px;margin-top:4px;color:#697962}.auto-badge{display:none}#hero-evolutions{display:flex;justify-content:center;gap:8px;margin:8px 0 16px;min-height:66px}#hero-evolutions figure{margin:0;text-align:center;flex:1;font-size:10px}#hero-evolutions canvas{width:52px;height:52px;image-rendering:pixelated}#hero-evolutions figcaption{color:#65755b}#hero-evolutions b{display:block;color:var(--ink);font-weight:600}.topic-label{font-weight:bold;font-size:12px;margin-top:auto;margin-bottom:8px}#field-device{font:inherit;font-size:14px;background:#fffdf3;border:2px solid #b8c3a4;border-radius:10px;padding:10px;width:100%;min-height:44px;margin-bottom:12px}.selection-detail>.primary{width:100%;font-size:15px;padding:10px}
#game-hud{position:fixed;inset:0;pointer-events:none;z-index:2;color:#fffbea;text-shadow:0 2px 3px #18362c}#game-hud button{pointer-events:auto}.experience-block{position:absolute;left:0;right:0;top:0;width:auto}.experience-block .meter{height:12px;border:0;border-radius:0;background:#20382de0;box-shadow:0 2px 0 #f7f1c344}.experience-block #xp-fill{height:100%;background:linear-gradient(#85e2dd,#36a7b4);transition:width .2s;box-shadow:0 0 12px #75f3f1}.hud-left{position:absolute;left:max(24px,env(safe-area-inset-left));top:calc(28px + var(--safe-top));width:218px}.health-block{width:auto;background:#203c32e8;border:2px solid #f6f1d589;border-radius:12px;padding:10px 13px;box-shadow:0 3px 8px #18372b22}.meter-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin:0 0 7px}.heart{color:#ff8086}.health{height:11px;background:#10271d;border:0;border-radius:5px;overflow:hidden}#hp-fill{height:100%;background:#e5484d;transition:width .15s}.region{display:flex;flex-wrap:wrap;gap:4px 10px;margin:9px 0 14px}.region strong{font-size:14px}.region span{font-size:11px;color:#e3edd5}.hud-center{position:absolute;top:calc(25px + var(--safe-top));left:50%;transform:translateX(-50%);text-align:center}.hud-center #timer{display:block;font-size:40px;line-height:1.2;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 3px 0 #263d2c,2px 0 #263d2c,-2px 0 #263d2c}.hud-center>span{font-size:13px}.hud-center #timer.urgent{color:#ff8d87}.hud-right{position:absolute;right:max(24px,env(safe-area-inset-right));top:calc(26px + var(--safe-top));display:flex;align-items:flex-end;flex-direction:column;gap:12px}#pause{width:46px;height:46px;border:2px solid #fff8dc;border-radius:12px;background:#244336e6;color:#fff8e4;font-size:24px;font-weight:bold;box-shadow:0 3px #17372980}#world-map{width:120px;height:90px;border:3px solid #e8eace;border-radius:12px;background:#31553c;box-shadow:0 3px 8px #18372b44}.map-caption{font-size:10px;margin-top:-9px}#hud-weapons{display:grid;grid-template-columns:repeat(3,max-content);gap:7px}#hud-weapons .hud-slot{width:56px;height:62px;background:#233d30df;border:2px solid #efeed28a;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:#fff0b4;text-shadow:none}#hud-weapons .hud-slot.empty{color:#e8e7c377;background:#233d3070;font-size:22px;border-style:dashed}#hud-weapons .hud-slot.maxed{border-color:#f5b800;box-shadow:0 0 10px #e4c84455}.tier-dots{font-size:9px;letter-spacing:1px}#hud-traits{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}#hud-traits span{min-width:28px;padding:4px;background:#203c32df;border-radius:7px;font-size:13px;text-align:center}.alpha-hud{top:calc(108px + var(--safe-top));width:min(340px,40vw);padding:10px 16px;border:2px solid #d5b866;border-radius:12px;background:#243c32e8}.alpha-hud strong{font-size:14px}.alpha-hud p{font-size:12px}.alpha-meter{height:9px}.field-label{position:absolute;left:50%;bottom:max(28px,var(--safe-bottom));top:auto;transform:translateX(-50%);background:#233d30df;border:1px solid #f3eed07a;border-radius:30px;color:#fff7dd;padding:12px 22px;font-size:13px;white-space:nowrap}.encounter-toast{position:absolute;left:50%;top:auto;bottom:70px;transform:translateX(-50%);font-size:14px;background:#fff9e8;color:var(--ink);border:2px solid var(--line);border-radius:14px;padding:12px 20px;text-shadow:none}#nearby-device{position:absolute;bottom:max(22px,var(--safe-bottom));right:max(24px,env(safe-area-inset-right));width:280px;padding:12px;background:#233d30e8;border:2px solid #e2ebc2;border-radius:12px;font-size:13px}#nearby-device p{margin:0 0 6px}#field-device-hint{background:#dceda3;border:0;border-radius:8px;padding:8px 12px;min-height:44px;font-weight:bold}#hurt-vignette{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0;box-shadow:inset 0 0 100px #c8243c99;transition:opacity .2s}body.low-health[data-scene=running] #hurt-vignette{opacity:1}#joystick{position:fixed;z-index:3;width:94px;height:94px;border:3px solid #fff5ca80;background:#213e3255;border-radius:50%;pointer-events:none}#joystick span{position:absolute;inset:27px;background:#fff6d6bb;border:2px solid #fff;border-radius:50%}
.screen-overlay{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#17382b9e;backdrop-filter:blur(6px);padding:max(20px,var(--safe-top)) max(24px,env(safe-area-inset-right)) max(20px,var(--safe-bottom)) max(24px,env(safe-area-inset-left))}.dialog{width:min(920px,100%);max-height:100%;padding:28px;border:3px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 7px #233d30;text-align:center;overflow:auto}.dialog-kicker{font-size:13px;letter-spacing:.1em;font-weight:800;color:#637c43}.dialog h2{font-size:32px;margin:8px 0 10px}.dialog>p{font-size:14px;color:#667359;margin-bottom:20px}.dialog-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}.dialog-actions .action{min-width:140px}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;pointer-events:auto}.choice{position:relative;text-align:left;padding:24px 20px;min-height:280px;border:3px solid #6b8b4a;border-radius:17px;background:#edf4db;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--ink);box-shadow:0 4px #39583a;animation:card-in .3s both;transition:transform .15s,border-color .15s}.choice:nth-child(2){animation-delay:.08s}.choice:nth-child(3){animation-delay:.16s}.choice:hover,.choice:focus-visible{transform:translateY(-6px);outline:4px solid #f1bf42;outline-offset:2px}.choice[data-kind=new]{background:#e3f2f5;border-color:#5192a6}.choice[data-kind=trait]{background:#eee6f4;border-color:#9676ad}.choice.fusion-choice{background:#fff0b8;border-color:#c4931d}.choice-key{position:absolute;right:14px;top:12px;font-size:13px;background:#fff9;border-radius:6px;min-width:24px;text-align:center;padding:3px}.choice-icon{height:76px;display:flex;align-items:center;font-size:54px;margin-bottom:8px}.choice-icon :is(svg,.item-sprite){width:72px;height:72px}.choice-tag{font-size:12px;font-weight:800;letter-spacing:.04em}.choice strong{font-size:23px;line-height:1.3}.choice p{font-size:14px;line-height:1.6;flex:1;margin:0}.choice-change{font-size:13px;font-weight:bold;border-top:1px solid #91a07866;padding-top:12px;margin-top:8px;width:100%;line-height:1.6}.choices.locked{pointer-events:none}.choices.locked .choice{cursor:wait}body[data-scene=choice] .dialog{background:transparent;border:0;box-shadow:none;overflow:visible;padding:0;width:min(850px,100%)}body[data-scene=choice] .dialog h2,body[data-scene=choice] .dialog-kicker,body[data-scene=choice] .dialog>p{color:#fff8df;text-shadow:0 2px 3px #173427}body[data-scene=choice] .dialog h2{font-size:36px}
#pause-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:left}.pause-map canvas{width:100%;height:auto;border:3px solid #aab58a;border-radius:14px}.pause-map p{font-size:12px;margin:7px 0;color:#637352}.pause-inventory{min-height:0;overflow:auto;max-height:340px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.section-heading h2,.section-heading h3{font-size:17px;margin:0}.section-heading>span{font-size:12px}.owned-weapon{display:flex;gap:12px;align-items:center;border-bottom:1px solid #d6ddbd;padding:9px 0;font-size:14px}.owned-weapon span{display:block;font-size:12px;color:#6d785c}.pause-inventory details{margin:12px 0;font-size:13px}.pause-inventory summary{cursor:pointer;min-height:36px;padding:8px 0;font-weight:bold}.pause-inventory details p{font-size:12px}.fusion-recipe span{font-size:12px}.traits-card{border:0!important;padding:10px 0!important;margin:0!important;background:transparent!important}.trait-row{display:flex;gap:10px;padding:7px 0;align-items:center;font-size:13px}.trait-row small{margin-left:auto}.empty-traits{font-size:12px;color:#68775e}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;font-size:12px}.stats>div{display:flex;justify-content:space-between;padding:6px;background:#e9edd8;border-radius:6px}.stats dd{font-weight:bold;margin:0}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.result-grid>div{border:2px solid #d3dcba;border-radius:12px;padding:16px 8px;background:#eef1db}.result-grid span{display:block;font-size:12px;color:#627452}.result-grid strong{display:block;font-size:26px;margin-top:6px}.damage-breakdown{text-align:left;display:grid;gap:8px}.damage-row{display:grid;grid-template-columns:120px 1fr 70px;gap:12px;align-items:center;font-size:13px}.damage-row i{display:block;height:10px;background:#a4c56e;border-radius:9px}.damage-row b{text-align:right}.result-captures{font-size:14px;margin:18px 0 0}.book-panel,.settings-panel{width:min(620px,100%)}.alpha-card{background:transparent;border:0;padding:0;margin:0}.alpha-card .section-heading h2{display:none}.alpha-card .collection-row{grid-template-columns:90px 1fr auto;min-height:92px}.alpha-card .collection-row canvas{width:80px;height:80px}.alpha-card .collection-row strong{font-size:19px}.alpha-card .collection-row span{font-size:14px}#alpha-status,#collection-save,.book-note{font-size:13px;line-height:1.7}.book-note{border-top:2px solid #d9dfc3;margin:20px 0 0;padding-top:18px}.setting-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #d9dfc3}.setting-row strong,.setting-row small{display:block}.setting-row small{font-size:13px;color:#6b795c;margin-top:8px}.setting-row input{width:24px;height:24px;accent-color:#527d43}.controls-guide{margin-top:22px}.controls-guide h2{font-size:18px}.controls-guide p{font-size:14px;color:#637356}.controls-guide button{font-size:14px;min-height:44px}#orientation-guard{position:fixed;inset:0;z-index:20;background:#243d32f5;color:#fff5d9;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}#orientation-guard>span{font-size:80px;margin-bottom:24px}#orientation-guard p{color:#d9e6c4}#debug-panel{position:fixed;z-index:12;left:20px;bottom:16px;width:330px;max-height:55vh;overflow:auto;background:#fff9e8f5;border:2px solid #385441;border-radius:10px;padding:12px;font-size:12px}#debug-panel summary{cursor:pointer}#debug-panel select{max-width:100%}.practice-controls{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.practice-controls button{min-height:36px}.weapon-book-row{font-size:12px}body.menu-open #game-hud{visibility:hidden}
@keyframes card-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition:none!important}
@media(min-width:1600px){.menu-panel{width:min(1320px,100%);padding:36px}.selection-body{grid-template-columns:minmax(0,1fr) 330px;gap:32px}.hero-tile{min-height:104px}.hero-tile canvas{max-width:88px}.hero-tile span{font-size:13px}.selection-detail{padding-left:32px}.portrait{height:175px}.portrait canvas{width:192px;height:180px}.character-description,.hero-rule{font-size:14px}.dialog{width:1000px}.book-panel,.settings-panel{width:660px}}
@media(max-width:1000px){.menu-scene{padding:20px}.menu-panel{padding:20px}.selection-body{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.selection-detail{padding-left:18px}#hero-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.hero-tile{min-height:72px}.hero-tile canvas{max-width:64px}.hero-tile span{font-size:10px}.title-copy h1{font-size:64px}.title-friends{width:32vw}.adventure-seal{width:95px;height:95px;font-size:11px}.adventure-seal b{font-size:15px}}
@media(max-height:560px) and (orientation:landscape){.menu-scene{padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left))}.menu-panel{padding:14px 20px;border-radius:18px}.scene-heading{padding-bottom:10px;margin-bottom:10px;gap:12px}.scene-heading h1{font-size:23px}.scene-heading .eyebrow{font-size:10px;margin-bottom:2px}.scene-heading .action{font-size:12px;min-height:44px;padding:8px 14px}.selection-body{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.section-label{font-size:12px;margin-bottom:5px}.section-label span{font-size:10px}#hero-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.hero-tile{min-height:65px;padding-bottom:4px}.hero-tile canvas{max-width:52px}.hero-tile span{font-size:9px}.selection-detail{display:grid;grid-template-columns:1fr;align-content:start;padding-left:16px;gap:0}.portrait{height:70px;margin:0}.portrait canvas{width:90px;height:84px}.companion-card .section-heading{float:right}.character-title h3{font-size:20px}.character-description{font-size:11px;margin:4px 0}.hero-rule{font-size:10px;margin:2px 0 5px}.weapon{padding:5px;font-size:11px}.weapon>div>span{font-size:9px}#hero-evolutions{min-height:44px;margin:4px 0 7px;gap:4px}#hero-evolutions canvas{width:36px;height:36px}#hero-evolutions figure{font-size:8px}.topic-label{font-size:10px;margin:0 0 4px}#field-device{min-height:38px;font-size:12px;padding:6px;margin-bottom:8px}.selection-detail>.primary{min-height:44px;font-size:13px}.title-scene{padding-left:8vw;padding-right:10vw}.title-copy h1{font-size:52px;margin:8px 0 12px}.title-copy>.eyebrow{font-size:11px}.title-copy>p{font-size:12px;margin-bottom:12px}.title-actions{max-width:270px;gap:8px}.title-actions>.primary{min-height:48px;padding:8px 16px;font-size:17px}.title-actions .action{min-height:44px;padding:8px 16px;font-size:14px}#loading-status{margin:10px 0 0;font-size:10px}.title-friends{width:31vw;max-width:270px}.title-caption{font-size:10px}.title-foot{display:none}.hud-left{top:22px;left:max(16px,env(safe-area-inset-left));width:180px}.health-block{padding:6px 10px}.meter-label{font-size:11px;margin-bottom:4px}.health{height:8px}.region{margin:6px 0;font-size:10px}.region strong{font-size:12px}.region span{font-size:10px}#hud-weapons .hud-slot{width:44px;height:47px}#hud-weapons :is(svg,.item-sprite){width:27px;height:27px}.tier-dots{font-size:7px}.hud-center{top:18px}.hud-center #timer{font-size:30px}.hud-center>span{font-size:10px}.hud-right{right:max(16px,env(safe-area-inset-right));top:20px;gap:8px;flex-direction:row;align-items:flex-start}#world-map{width:100px;height:75px}.map-caption{display:none}#pause{order:2}.alpha-hud{top:78px;width:280px;padding:6px 12px}.alpha-hud strong{font-size:12px}.alpha-hud p{font-size:10px;margin-top:4px}.field-label{font-size:11px;bottom:14px;padding:8px 16px}.encounter-toast{bottom:48px;padding:8px 14px;font-size:12px}#nearby-device{bottom:14px;width:240px;font-size:11px;padding:8px}.screen-overlay{padding:12px 20px}.dialog{padding:16px 20px;border-radius:16px}.dialog h2{font-size:25px;margin:3px 0 5px}.dialog>p{font-size:12px;margin-bottom:10px}.dialog-kicker{font-size:10px}.dialog-actions{margin-top:12px;gap:8px}.dialog-actions .action{min-height:44px;padding:7px 14px;min-width:110px;font-size:13px}.choices{gap:12px}.choice{min-height:220px;padding:12px 14px;gap:4px;border-radius:13px}.choice-icon{height:43px;margin:0;font-size:36px}.choice-icon :is(svg,.item-sprite){width:44px;height:44px}.choice-tag{font-size:10px}.choice strong{font-size:18px}.choice p{font-size:11px;line-height:1.5}.choice-change{font-size:11px;padding-top:6px;margin-top:4px}body[data-scene=choice] .dialog h2{font-size:27px}body[data-scene=choice] .dialog>p{margin-bottom:12px}#pause-details{gap:18px;grid-template-columns:240px 1fr}.pause-map canvas{max-height:160px;object-fit:contain;background:#dbe5c1}.pause-map p{font-size:10px;margin:3px 0}.pause-inventory{max-height:190px}.result-grid{margin:10px 0;gap:8px}.result-grid>div{padding:8px}.result-grid strong{font-size:22px}.result-grid span{font-size:10px}.damage-breakdown{max-height:85px;overflow:auto}.result-captures{margin:8px 0 0;font-size:12px}.setting-row{padding:10px 0}.setting-row small{font-size:11px;margin-top:3px}.controls-guide{margin-top:14px}.controls-guide p{font-size:12px;margin-bottom:5px}}

/* Keep sprite labels and detail panels at their intrinsic height. */
#hero-grid{grid-auto-rows:max-content}.hero-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.hero-tile canvas{width:64px;height:64px;flex:none}.hero-tile span{width:100%;line-height:16px;flex:none}.companion-card{flex-shrink:0;overflow:visible}.selection-detail>select,.selection-detail>button,.selection-detail>label,#hero-evolutions{flex-shrink:0}.selection-detail .portrait{height:100px}.selection-detail .portrait canvas{width:112px;height:105px}.selection-detail .hero-rule{padding:4px;font-size:11px;margin:4px 0 8px}.selection-detail .character-description{font-size:12px;color:#4d6147}.selection-detail .weapon{padding:7px;border:0}.choice-icon{width:76px;background:transparent}.choice p{color:#4d6347}.choice-tag{color:#4b6542}.meter-label #hp-text{color:#fff5de}.region #difficulty-status{background:none;color:#fff5de;padding:0}.selection-detail .type-pill{color:#506a3d}
@media(min-width:1600px){.hero-tile canvas{width:80px;height:80px}.selection-detail .portrait{height:150px}.selection-detail .portrait canvas{width:160px;height:150px}}
@media(max-height:560px) and (orientation:landscape){.hero-tile canvas{width:44px;height:44px}.hero-tile span{line-height:13px}.selection-detail .portrait{height:60px}.selection-detail .portrait canvas{width:72px;height:68px}.selection-detail .character-description{font-size:10px}.selection-detail .hero-rule{font-size:9px;padding:3px;margin:2px 0 4px}.selection-detail .weapon{padding:4px}.choice-icon{width:44px}}

@media(min-height:561px) and (max-width:1599px){.hero-tile canvas{width:60px;height:60px}.selection-detail .portrait{height:85px}.selection-detail .portrait canvas{width:96px;height:90px}#hero-evolutions{margin:6px 0 10px}#hero-evolutions canvas{width:46px;height:46px}}
@media(max-height:560px) and (orientation:landscape){.selection-detail .character-description,.selection-detail .hero-rule{display:none}.selection-detail .portrait{height:45px}.selection-detail .portrait canvas{width:56px;height:53px}.selection-detail .character-title{margin-bottom:2px}.selection-detail .character-title h3{font-size:18px}.selection-detail .weapon{padding:3px}.selection-detail .weapon>div>span{display:none}.selection-detail .weapon-icon{height:24px}.selection-detail #weapon-summary-icon :is(svg,.item-sprite){width:24px;height:24px}#hero-evolutions{min-height:38px;margin:2px 0 5px}#hero-evolutions canvas{width:28px;height:28px}#hero-evolutions b{display:none}}

.hud-center #timer{font-family:system-ui,"Malgun Gothic",sans-serif}
.selection-detail .portrait canvas{height:auto}

/* Second UI review: stable question HUD and readable reward cards. */
.map-caption{display:none!important}


.choice{position:relative;align-items:center;text-align:center;padding:0 22px 16px;gap:9px;min-height:365px;overflow:visible;letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere;color:#203c32;transition:transform .15s,box-shadow .15s}
.choice p{font-size:16px;font-weight:500;line-height:1.6;color:#304b3e;margin:0;letter-spacing:0}.choice strong{font-size:23px}.choice .choice-tag{align-self:stretch;display:block;background:#34724c;color:#fff;padding:10px 8px;margin:0 -22px 4px;border-radius:15px 15px 0 0;font-size:14px;font-weight:800;letter-spacing:0}.choice[data-kind=new] .choice-tag{background:#2464a0}.choice[data-kind=trait] .choice-tag{background:#754892}.choice[data-kind=fusion] .choice-tag{background:#926416}.choice-tag b{font-size:10px;border:1px solid #ffffffa0;border-radius:4px;padding:2px 4px;margin-left:6px}.choice .choice-icon{display:flex;align-items:center;justify-content:center;width:104px;height:104px;flex:none;margin:0;background:#dce7cd;border-radius:50%;font-size:60px}.choice-icon :is(svg,.item-sprite){width:96px;height:96px;image-rendering:pixelated}.choice .choice-change{margin-top:auto;padding-top:10px;font-size:14px;line-height:1.6;color:#284437;width:100%;border-top:1px solid #9cae89}.choice-rank{color:#386c45;letter-spacing:4px;font-size:16px}.fusion-choice .choice-rank{color:#8b600a;letter-spacing:1px}.choice .choice-key{position:static;display:block;width:auto;height:auto;background:none;border:0;box-shadow:none;color:#345340;font:700 13px system-ui;margin-top:3px}.choice:focus-visible,.choice:focus{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #547765,0 0 24px #fff9;transform:scale(1.04);border-color:#547765}.choice.fusion-choice:focus{border-color:#b78b2b}.dialog-kicker:empty{display:none}
@media(pointer:coarse){.choice .choice-key{display:none}}
@media(max-height:560px) and (orientation:landscape){.choice{min-height:250px;padding:0 12px 9px;gap:4px}.choice .choice-tag{margin:0 -12px 2px;padding:6px;font-size:12px;border-radius:10px 10px 0 0}.choice .choice-icon{width:60px;height:60px;font-size:40px}.choice-icon :is(svg,.item-sprite){width:56px;height:56px}.choice strong{font-size:18px}.choice p{font-size:16px;line-height:1.35}.choice .choice-change{font-size:12px;padding-top:4px}.choice-rank{font-size:12px}.choice .choice-key{font-size:11px;margin:0}.screen-overlay .dialog{max-height:calc(100dvh - 24px);overflow:auto}.dialog>p{margin-bottom:8px}}

@media(max-height:560px) and (orientation:landscape){.choice .choice-icon{width:48px;height:48px}.choice-icon :is(svg,.item-sprite){width:44px;height:44px}}

@media(max-height:560px) and (orientation:landscape){.choice{min-height:0;padding:0 10px 6px;gap:3px}.choice .choice-tag{margin:0 -10px 2px;padding:5px}.choice p{line-height:1.25}.choice .choice-change{font-size:11px;line-height:1.35;padding-top:4px}.choice strong{font-size:17px}.choice-rank{line-height:16px}.choice .choice-key{line-height:13px}}

/* Result records scroll independently; the next actions always stay in view. */
body:is([data-scene=over],[data-scene=complete]) #dialog{display:flex;flex-direction:column;overflow:hidden}
body:is([data-scene=over],[data-scene=complete]) #dialog>h2,
body:is([data-scene=over],[data-scene=complete]) #dialog>.dialog-kicker,
body:is([data-scene=over],[data-scene=complete]) #dialog-copy{flex-shrink:0}
body:is([data-scene=over],[data-scene=complete]) #dialog-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:12px;padding:0 6px 10px}
body:is([data-scene=over],[data-scene=complete]) #dialog-actions{flex:0 0 auto;margin-top:12px;padding-top:12px;border-top:2px solid #b8c3a4;gap:10px}
@media(max-height:560px) and (orientation:landscape){
 body:is([data-scene=over],[data-scene=complete]) #dialog-actions{margin-top:6px;padding-top:8px;gap:8px}
}

.music-volume-control{display:flex;align-items:center;gap:12px}.setting-row .music-volume-control input{width:150px;height:44px;max-width:35vw}.music-volume-control output{min-width:3.5em;text-align:right;font-variant-numeric:tabular-nums;font-size:14px}

/* school-ui.css */
@font-face{font-family:Jua;src:url('/cached/381f9d8689a6168c60ea/assets/fonts/Jua-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Gowun Dodum';src:url('/cached/381f9d8689a6168c60ea/assets/fonts/GowunDodum-Regular.ttf') format('truetype');font-display:swap}
:root{--ink:#23324a;--paper:#fffaf0;--rule:#cfe3f5;--margin:#ff9aa8;--board:#2f4a3a;--wood:#b9783e;--wood-dark:#7a4a22;--hl:#ffe66d;--sky:#7cc6fe;--pink:#ff8fab;--mint:#7fdcb0;--gold:#f5b800;--grape:#b69cff;--line:var(--ink);--outline:4px;--drop:0 5px 0 var(--ink);--r:18px;--title:Jua,'Malgun Gothic',sans-serif;--body:'Gowun Dodum','Malgun Gothic',sans-serif;--muted:#49566b;--notebook:linear-gradient(90deg,transparent 25px,var(--margin) 25px 27px,transparent 27px),repeating-linear-gradient(var(--paper) 0 31px,var(--rule) 31px 32px);font-family:var(--body);color:var(--ink)}
html[lang=ko] *{letter-spacing:0!important;word-break:keep-all}h1,h2,h3,h4,h5,button,.eyebrow,.type-pill,.choice-tag,.choice-rank,.skill-tag,.recipe-dots{font-family:var(--title);font-weight:400}p,small,input,select{font-family:var(--body)}button,summary,input,select{color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:4px solid #a3215b;outline-offset:3px}
.menu-scene,.screen-overlay{backdrop-filter:none;background:radial-gradient(ellipse at center,#43664dd9,#172d29f2)}
.menu-panel,.dialog{background:var(--notebook);border:var(--outline) solid var(--ink);border-radius:var(--r);box-shadow:var(--drop)}
.scene-heading{background:var(--board);border:7px solid var(--wood);outline:3px solid var(--ink);border-radius:10px;padding:14px 18px;margin:0 0 24px;box-shadow:inset 0 0 0 2px var(--wood-dark);color:#fffaf0}
.scene-heading .eyebrow{color:var(--hl);font-size:14px}.scene-heading h1{color:#fffaf0;font-weight:400}.scene-heading .action{background:var(--pink)}
.action,.primary,.subtle,.setting-row input,#camera-reset,#field-device-hint{border:3px solid var(--ink);border-radius:12px;box-shadow:0 4px 0 var(--ink);background:var(--paper);font-family:var(--title);font-weight:400}.action.primary{background:var(--hl)}.action:active,.hero-tile:active{transform:translateY(4px);box-shadow:none}.action:hover{background:var(--mint)}
.title-scene{background:radial-gradient(ellipse at 70% 50%,#74a26e55,#1f3a2bc9);padding-top:22px;padding-bottom:22px}.title-copy{background:var(--notebook);border:4px solid var(--ink);box-shadow:var(--drop);border-radius:18px;padding:28px 32px;transform:rotate(-1deg);max-width:550px}.title-copy h1{font-family:var(--title);font-weight:400;font-size:clamp(58px,6vw,94px);text-shadow:none;line-height:1.05}.title-copy h1 span{color:#395c3c}.title-copy>p{color:var(--ink)}.title-copy>.eyebrow{color:var(--muted);font-size:16px}.title-foot{font-size:14px}.title-caption{border:3px solid var(--ink);background:var(--hl);color:var(--ink);font-family:var(--title);font-size:16px}.adventure-seal{background:var(--gold);border:3px solid var(--ink);box-shadow:var(--drop);font-family:var(--title);color:var(--ink)}
.hero-tile{background:#fffaf0;border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:12px}.hero-tile[aria-pressed=true]{background:var(--hl);border-color:var(--ink);transform:rotate(-1.5deg)}.hero-tile span{font-family:var(--title);font-size:15px}.hero-tile:hover{background:#fdf0a6}.selection-detail{border-color:var(--ink)}.type-pill{background:var(--sky);border:2px solid var(--ink);color:var(--ink)}.character-title h3{font-weight:400}.character-description,.hero-rule{font-size:16px;color:var(--ink)}.hero-rule{background:#e1f0d8;border:2px dashed var(--ink)}#field-device{border:3px solid var(--ink);background:#fffdf5;font-size:15px}.section-label,.section-label span,.topic-label,#loading-status{font-size:14px;color:var(--muted)}
#dialog>h2{background:var(--board);color:#fffaf0;border:6px solid var(--wood);outline:3px solid var(--ink);border-radius:10px;padding:12px;margin:8px 2px 16px;font-family:var(--title);font-weight:400}#dialog-kicker{font-size:16px;color:var(--ink)}#dialog-copy{font-size:16px;color:var(--muted)}.pause-map canvas{border:3px solid var(--ink)}.pause-map p{font-size:14px;color:var(--muted)}.pause-inventory details,.pause-inventory details p,.owned-weapon span,.trait-row,.empty-traits,.stats{font-size:14px;color:var(--muted)}.pause-inventory summary{font-family:var(--title);font-size:17px}.owned-weapon{background:#fffaf0}.section-heading h2,.section-heading h3{font-weight:400}
.choice,.choice[data-kind=new],.choice[data-kind=trait],.choice.fusion-choice{background:var(--notebook);border:4px solid var(--ink);box-shadow:var(--drop);border-radius:16px}.choice-tag{background:var(--mint);color:var(--ink);border:2px solid var(--ink);padding:4px 10px;border-radius:8px;font-size:16px}.choice[data-kind=new] .choice-tag{background:var(--sky)}.choice[data-kind=trait] .choice-tag{background:var(--grape)}.choice.fusion-choice .choice-tag{background:var(--gold)}.choice strong{font-family:var(--title);font-weight:400;font-size:28px}.choice p{font-size:17px;line-height:1.65}.choice-change{font-size:16px;color:var(--ink);border-color:var(--ink)}.choice-rank{font-size:16px}.choice:focus-visible,.choice:hover{outline:4px solid #fff8dc;outline-offset:5px;transform:rotate(-1deg) translateY(-3px)}.choice-key{background:var(--paper);border:2px solid var(--ink);color:var(--ink)}
.result-grid>div{background:var(--hl);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);transform:rotate(-1deg)}.result-grid>div:nth-child(2){background:var(--sky);transform:rotate(1deg)}.result-grid>div:nth-child(3){background:var(--mint)}.result-grid>div:nth-child(4){background:var(--pink);transform:rotate(1deg)}.result-grid span,.damage-row,.result-captures{font-size:16px;color:var(--ink)}.result-grid strong{font-family:var(--title);font-weight:400}.damage-row i{background:var(--grape);border:2px solid var(--ink);height:14px}.setting-row{border-bottom:2px dashed #76846c}.setting-row small,.controls-guide p,.book-note,#alpha-status,#collection-save{font-size:15px;color:var(--muted)}.setting-row input{accent-color:#427556}.alpha-card .collection-row{background:#fffaf0;border:3px solid var(--ink);border-radius:14px;margin:10px 0;padding:8px;box-shadow:0 3px 0 var(--ink)}
#game-hud button{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink)}#pause{background:var(--hl);color:var(--ink);border-color:var(--ink);text-shadow:none}.health-block{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink)}#hud-weapons .hud-slot{border:3px solid var(--ink);background:#fffaf0;color:var(--ink)}#hud-weapons .hud-slot.maxed{background:var(--hl);border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}#world-map{border-color:var(--ink)}
*{scrollbar-width:thin;scrollbar-color:#60775b #e9e9d4}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#60775b;border:2px solid #e9e9d4;border-radius:12px}::-webkit-scrollbar-track{background:#e9e9d4;border-radius:12px}
@media(max-height:560px) and (orientation:landscape){.menu-panel{padding:12px 16px}.scene-heading{padding:8px 12px;border-width:5px;margin-bottom:12px}.scene-heading h1{font-size:24px}.scene-heading .eyebrow{display:none}.title-copy{padding:14px 22px;max-width:390px}.title-copy h1{font-size:50px;margin:10px 0}.title-copy>p{font-size:14px;margin:8px 0}.title-copy>.eyebrow{font-size:14px}.title-actions{gap:8px}.title-actions>.primary{min-height:44px;font-size:18px}.hero-tile span{font-size:12px}.section-label,.section-label span,.topic-label{font-size:14px}#field-device{font-size:14px}.choice{padding:16px 12px;gap:6px}.choice strong{font-size:23px}.choice p{font-size:15px;line-height:1.5}.choice-tag,.choice-change{font-size:14px}.choice-icon{height:40px}.choice-icon :is(svg,.item-sprite){height:42px;width:42px}#dialog>h2{padding:6px;margin:3px 2px 12px;font-size:24px}#dialog-copy{font-size:14px}.pause-map p{font-size:14px}.result-grid span,.damage-row,.result-captures{font-size:14px}}
.choice .choice-tag{color:var(--ink);font-size:16px}.choice-tag b{border-color:var(--ink);font-size:14px}.choice .choice-key{font:14px var(--title);color:var(--ink)}body[data-scene=choice] #dialog-copy{color:var(--paper)}
.selection-detail .character-description,.selection-detail .hero-rule{font-size:14px;color:var(--muted)}.selection-detail .type-pill{color:var(--ink)}.selection-detail .weapon>div>span,#hero-evolutions figcaption{font-size:14px;color:var(--muted)}#select-start{position:sticky;bottom:3px;z-index:2;margin-top:6px}.selection-detail{padding-bottom:6px}
@media(min-height:561px) and (max-height:850px){.selection-panel .scene-heading{padding:8px 14px;margin-bottom:16px}.selection-panel .scene-heading h1{font-size:28px}.selection-detail .portrait{height:64px}.selection-detail .portrait canvas{width:80px}.selection-detail .character-title h3{font-size:23px}#hero-evolutions{margin:4px 0 8px}#hero-evolutions canvas{width:38px;height:38px}}
@media(max-height:560px) and (orientation:landscape){body[data-scene=choice] #dialog>h2{padding:4px;margin-bottom:8px}body[data-scene=choice] #dialog-copy{margin-bottom:8px}.choice{padding:0 10px 6px;gap:3px}.choice .choice-tag{font-size:14px;padding:4px;margin:0 -10px 2px}.choice .choice-icon{width:40px;height:40px;font-size:30px}.choice-icon :is(svg,.item-sprite){width:40px;height:40px}.choice strong{font-size:22px}.choice p{font-size:14px;line-height:1.35}.choice .choice-change{font-size:14px;line-height:1.25;padding-top:4px}.choice-rank{font-size:14px}.choice .choice-key{line-height:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;transition:none!important}

/* skill-guide.css */
#skill-guide{position:fixed;inset:0;z-index:15;background:radial-gradient(ellipse at 50% 40%,#406649ed,#172e27fa);display:grid;grid-template-rows:minmax(0,1fr);place-items:center;padding:22px;color:var(--ink)}
.choice-option{display:flex;flex-direction:column;min-width:0;gap:6px}.choice-option>.choice{flex:1;min-height:0}.choice-role{font-size:12px;color:#48634f}.choice-info,.choice-recipe{border:1px solid #69836d;border-radius:8px;background:#f4f3df;color:#264735;min-height:36px;padding:5px 8px;font-size:12px;font-weight:700}.choice-info:hover,.choice-recipe:hover{background:#fff9cf}.choice-recipe{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.choice-recipe>span:last-child{font-size:11px}.choice-recipe .item-sprite{flex-shrink:0;image-rendering:auto}.fusion-equation{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:155px}.fusion-equation>span{display:flex;flex-direction:column;align-items:center}.fusion-equation small{font-size:10px}.fusion-state{display:block;font-size:12px;color:#335d43}.skill-related-item.paired{border-color:#55856a;background:#e3f0dc}
@media(max-height:640px){.choice-option{gap:3px}.choice-info{min-height:30px}.choice-recipe{gap:4px;padding:3px}.choice-recipe>span:last-child{font-size:10px}.choice-option .choice-icon{height:48px;width:48px}.choice-option .choice-icon :is(svg,.item-sprite){height:44px;width:44px}}
#skill-guide::before{content:'';position:absolute;inset:0;opacity:.12;pointer-events:none;background-image:url("data:image/:is(svg,.item-sprite)+xml,%3Csvg xmlns='http://www.w3.org/2000/:is(svg,.item-sprite)' width='160' height='160'%3E%3Cg fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M20 30l6 12 13 2-9 9 2 13-12-6-12 6 2-13-9-9 13-2zM90 40q10-15 20 0t20 0M30 120l25-10M40 135l25-10'/%3E%3Ccircle cx='120' cy='120' r='10'/%3E%3C/g%3E%3C/:is(svg,.item-sprite)%3E")}
.skill-guide-panel{position:relative;width:min(1140px,100%);height:min(860px,100%);min-height:0;background:var(--paper);border:4px solid var(--ink);border-radius:20px;box-shadow:var(--drop);display:flex;flex-direction:column;text-align:left;animation:notebook-open .45s cubic-bezier(.3,1.5,.5,1)}
@keyframes notebook-open{from{transform:translateY(-28px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.skill-guide-panel::before,.skill-guide-panel::after{content:'';position:absolute;top:-12px;left:32px;width:95px;height:25px;background:repeating-linear-gradient(45deg,#ff8fabdb 0 10px,#ffb4c3e3 10px 20px);border:2px solid #23324a55;transform:rotate(-6deg);z-index:1;pointer-events:none}.skill-guide-panel::after{left:auto;right:140px;transform:rotate(5deg);background:repeating-linear-gradient(45deg,#7cc6fedb 0 10px,#aadcf5e3 10px 20px)}
.skill-guide-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;margin:14px 14px 0;border:7px solid var(--wood);outline:3px solid var(--ink);border-radius:10px;flex-shrink:0;background:var(--board);box-shadow:inset 0 0 0 2px var(--wood-dark);color:#fffaf0}.skill-guide-heading h2{margin:3px 0 0;font-size:32px;font-weight:400}.skill-guide-heading .eyebrow{font-size:15px;color:var(--hl)}.skill-guide-heading button{min-height:44px;white-space:nowrap;background:var(--pink);font-size:19px;padding:8px 14px}
.skill-guide-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0;flex:1;margin-top:5px}.skill-guide-nav{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:var(--notebook);border-right:3px dashed #667482;padding:20px 14px 8px 34px;gap:10px}.skill-filters{display:flex;gap:6px}.skill-filters button{flex:1;border:3px solid var(--ink);border-bottom-width:4px;border-radius:10px 10px 0 0;padding:8px 4px;min-height:44px;background:#fffaf0;font-size:19px;box-shadow:0 3px 0 var(--ink)}.skill-filters button[aria-pressed=true]{background:var(--gold);transform:translateY(-3px)}.skill-search-label{font-size:14px;color:var(--muted)}.skill-search-label input{display:block;width:100%;margin-top:5px;padding:9px;border:3px solid var(--ink);border-radius:12px;background:#fff;font-size:16px;min-height:44px}.skill-owned-filter{font-size:15px;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.skill-owned-filter input{accent-color:#345739;width:18px;height:18px}.skill-owned-filter small{font-size:14px;color:var(--muted)}#skill-count{margin:0;font-size:14px;color:var(--muted)}
#skill-list{overflow:auto;overscroll-behavior:contain;padding:7px 7px 16px;display:flex;flex-direction:column;gap:11px;flex:1;min-height:0}#skill-list.more-below{mask-image:linear-gradient(#000 0 calc(100% - 15px),transparent)}.skill-list-item{display:flex;gap:10px;align-items:center;padding:9px 8px;border:3px solid var(--ink);border-radius:12px;background:#fffaf0;text-align:left;min-height:85px;flex-shrink:0;box-shadow:0 4px 0 var(--ink);transition:transform .12s}.skill-list-item :is(svg,.item-sprite){flex-shrink:0}.skill-row-copy{flex:1;min-width:0}.skill-list-item strong{font-family:var(--title);font-weight:400;font-size:19px;display:block}.skill-list-item small{font-size:14px;color:var(--muted)}.skill-row-meta{display:flex;gap:5px;justify-content:space-between;align-items:center;font-size:14px;margin:3px 0}.skill-mini{display:flex;align-items:center;gap:4px}.skill-mini :is(svg,.item-sprite){width:18px;height:18px}.ingredient-count{font-size:14px;color:#304c34;background:#dcf0d8;border-radius:6px;padding:2px}.skill-record{display:block}.skill-record.done{color:#275336}.skill-list-item[aria-pressed=true]{background:var(--hl);transform:rotate(-1deg) scale(1.015)}.skill-list-item:hover{transform:rotate(-1deg) translateY(-1px)}.skill-list-item.relevant{border-left:6px solid #287b56}#skill-save-status{font-size:14px;color:#912b4e;margin:0}#skill-save-retry{border:3px solid var(--ink);background:var(--pink);min-height:44px;border-radius:10px}
.skill-detail{padding:22px 26px;overflow:auto;overscroll-behavior:contain}.skill-detail-heading{display:flex;gap:18px;align-items:center}.skill-detail-heading h3{font-size:37px;font-weight:400;margin:0 0 8px;line-height:1.1;background:linear-gradient(transparent 60%,var(--hl) 60% 94%,transparent 94%);display:inline-block}.skill-detail-heading h3:focus{outline:none}#skill-icon{flex-shrink:0;display:flex;padding:6px;border:3px solid var(--ink);border-radius:16px;box-shadow:0 4px 0 var(--ink);background:#fff4cc}.skill-tags{display:flex;gap:6px;flex-wrap:wrap}.skill-tag{display:inline-block;border:2px solid var(--ink);border-radius:20px;padding:3px 10px;font-size:15px;background:var(--sky)}.skill-tag.fusion{background:var(--gold);transform:rotate(5deg)}#skill-record{font-size:14px;margin:8px 0 0;color:#3a5740}#skill-description{font-size:19px;line-height:1.65;margin:18px 0}
.skill-showcase{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(210px,1fr);gap:20px;align-items:start}.skill-preview-frame{position:relative;margin:0;background:#e4f3d9;border:3px solid var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 4px 0 var(--ink)}#skill-preview{display:block;width:100%;height:auto;image-rendering:pixelated}.skill-preview-frame figcaption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 8px;background:#fffaf0;border-top:3px solid var(--ink);font-family:var(--title);font-size:15px}.skill-preview-frame button{min-height:44px;border:2px solid var(--ink);border-radius:8px;padding:4px 8px;background:var(--mint);font-size:14px}.skill-ratings{display:flex;flex-direction:column;gap:12px;padding:8px 0}.skill-rating{display:grid;grid-template-columns:38px 1fr 56px;gap:8px;align-items:center}.skill-rating>b{font:18px var(--title)}.skill-rating>span:last-child{font-size:14px;text-align:right;color:var(--muted)}.skill-bar{display:flex;gap:3px}.skill-bar i{height:19px;flex:1;min-width:10px;border:2px solid var(--ink);border-radius:5px;background:#fff}.skill-bar i.filled{background:var(--pink);box-shadow:inset 0 -4px 0 #0002}#skill-speed-bar i.filled{background:var(--sky)}#skill-comparison{margin:0;color:#3c572f;font:17px var(--title)}.skill-help{font-size:14px;color:var(--muted);line-height:1.7}.skill-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px;font-size:14px}.skill-help p{margin:4px 0 10px}#skill-weakness{background:#eef1da;border-left:4px solid #546947;padding:9px 12px;font-size:14px;line-height:1.6}.skill-detail h4{font:19px var(--title);margin:20px 0 12px}.skill-detail h4 small{font-size:14px;color:var(--muted);margin-left:8px}
.skill-equation{display:flex;gap:10px;align-items:center;padding:14px 10px;background:repeating-linear-gradient(0deg,transparent 0 23px,var(--rule) 23px 24px),repeating-linear-gradient(90deg,#fff 0 23px,var(--rule) 23px 24px);border:3px dashed var(--ink);border-radius:14px}#skill-ingredients{display:flex;align-items:stretch;gap:28px;flex:2;min-width:0}.skill-ingredient,#skill-result{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fffaf0;border:3px solid var(--ink);border-radius:12px;padding:8px 5px;box-shadow:0 4px 0 var(--ink);text-align:center}.skill-ingredient+.skill-ingredient:before{content:'+';position:absolute;left:-25px;top:35%;font:32px var(--title)}.skill-ingredient strong,#skill-result strong{font:16px var(--title)}.recipe-dots{font-size:15px;color:#8a5c00}.recipe-equals{font:32px var(--title)}#skill-result{background:var(--hl);align-self:stretch}#skill-result>span{font:15px var(--title)}.skill-ingredient.ready{background:#ddf0cc}#skill-fusion-status{font:19px var(--title);margin:15px 0 0;color:#355130}
.skill-related-item{display:flex;gap:12px;width:100%;padding:12px;margin:10px 0;border:3px solid var(--ink);border-radius:12px;background:#fff4cd;box-shadow:0 3px 0 var(--ink);text-align:left}.skill-related-item :is(svg,.item-sprite){flex-shrink:0}.skill-related-item strong,.skill-related-item small,.skill-related-item span>span{display:block}.skill-related-item strong{font:21px var(--title)}.skill-related-item small{font-size:14px;color:var(--muted);margin:5px 0}.skill-related-item span>span{font:15px/1.6 var(--body)}.skill-empty{font-size:15px;line-height:1.6}.skill-guide-footer{position:relative;border-top:2px dashed #70806c;padding:8px 20px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;color:var(--muted);flex-shrink:0}.skill-guide-footer summary{cursor:pointer;min-height:30px;display:flex;align-items:center}.skill-guide-footer details[open] p{position:absolute;right:12px;bottom:32px;width:min(340px,85vw);background:var(--paper);border:3px solid var(--ink);border-radius:10px;padding:12px;box-shadow:var(--drop);font-size:15px;line-height:1.7}
#select-skills,#pause-skills{width:100%;min-height:44px;border:3px solid var(--ink);border-radius:10px;background:var(--hl);font-size:15px;box-shadow:0 3px 0 var(--ink)}#select-skills{text-align:left;margin:0}#pause-skills{margin:12px 0}#select-skills .auto-badge{display:block;flex-shrink:0;font-size:14px;margin-left:auto;color:var(--ink)}#hud-weapons button.hud-slot{padding:0;cursor:pointer}#hud-weapons button.hud-slot:hover{background:var(--hl)}button.owned-weapon{width:100%;text-align:left;border:0;border-bottom:2px dashed #748269;background:transparent}.owned-weapon p{font-size:14px;line-height:1.6;margin:5px 0;color:var(--muted)}.owned-weapon strong{font:18px var(--title)}button.fusion-recipe{width:100%;text-align:left;border:3px solid var(--ink);background:#fff3cc;border-radius:10px}button.fusion-recipe strong{font:18px var(--title)}button.fusion-recipe p,button.fusion-recipe span{font-size:14px;line-height:1.6;color:var(--muted)}.title-actions>div{grid-template-columns:1fr 1.4fr 1fr;gap:8px}.title-actions>div .action{padding:10px 4px;font-size:16px}
.skill-guide-heading .action{background:var(--pink);box-shadow:0 4px 0 var(--ink)}
@media(min-width:1051px) and (max-height:850px){.skill-guide-heading{padding:8px 18px}.skill-guide-heading h2{font-size:28px}.skill-detail{padding:16px 24px}.skill-detail-heading h3{font-size:32px}#skill-icon :is(svg,.item-sprite){width:56px;height:56px}#skill-description{margin:12px 0;font-size:18px}.skill-showcase{grid-template-columns:260px minmax(210px,1fr)}.skill-ratings{gap:9px}.skill-detail h4{margin:15px 0 9px}.skill-equation{padding:10px}.skill-ingredient,#skill-result{padding:5px}.skill-ingredient :is(svg,.item-sprite),#skill-result :is(svg,.item-sprite){width:30px;height:30px}}
@media(max-width:1050px){.skill-guide-body{grid-template-columns:260px minmax(0,1fr)}.skill-guide-nav{padding-left:20px}.skill-showcase{grid-template-columns:1fr}.skill-preview-frame{max-width:320px}.skill-ratings{max-width:400px}.skill-detail{padding:20px}.skill-detail-heading h3{font-size:32px}}
@media(max-height:560px) and (orientation:landscape){#skill-guide{padding:10px 14px}.skill-guide-panel::before,.skill-guide-panel::after{display:none}.skill-guide-heading{padding:6px 14px;margin:8px 8px 0;border-width:5px}.skill-guide-heading h2{font-size:24px}.skill-guide-heading .eyebrow{display:none}.skill-guide-heading button{font-size:16px}.skill-guide-body{grid-template-columns:235px minmax(0,1fr)}.skill-guide-nav{padding:10px 8px 5px 16px;gap:6px}.skill-filters button{font-size:18px}.skill-search-label{font-size:0}.skill-search-label input{margin:0;font-size:14px}.skill-list-item{min-height:80px}.skill-list-item strong{font-size:18px}.skill-detail{padding:16px 20px}.skill-detail-heading h3{font-size:28px}#skill-icon :is(svg,.item-sprite){width:48px;height:48px}#skill-description{font-size:17px}.skill-guide-footer{padding:4px 14px}.skill-preview-frame{max-width:320px}.skill-detail h4{margin-top:16px}.selection-detail .portrait{height:30px}#hero-evolutions{min-height:27px;margin:2px 0 4px}.selection-detail #select-skills{min-height:44px;font-size:14px}.skill-guide-footer>span{font-size:14px}}
@media(min-width:760px) and (max-height:560px) and (orientation:landscape){.skill-showcase{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:12px}.skill-rating{grid-template-columns:30px 1fr 43px;gap:5px}.skill-rating>b{font-size:16px}.skill-bar{gap:2px}.skill-bar i{min-width:6px;height:16px}.skill-ratings{gap:6px;padding-top:0}}
@media(max-width:600px) and (orientation:portrait){#skill-guide{padding:8px}.skill-guide-panel::before,.skill-guide-panel::after{display:none}.skill-guide-heading{padding:8px}.skill-guide-heading h2{font-size:21px}.skill-guide-heading .eyebrow{display:none}.skill-guide-body{display:block;overflow:auto}.skill-guide-nav{border-right:0;border-bottom:3px dashed var(--ink)}#skill-list{max-height:220px;flex:none}.skill-detail{overflow:visible;padding:18px}.skill-detail-heading h3{font-size:28px}.skill-equation{flex-wrap:wrap}.skill-guide-footer{font-size:14px;padding:6px 10px}.skill-guide-footer>span{display:none}}
.skill-growth{border-top:2px dashed #9dac83;margin-top:18px;padding-top:2px}.skill-growth h4 small{font-size:14px;font-weight:400;margin-left:10px}.skill-growth ol{list-style:none;padding:0;display:grid;gap:7px}.skill-growth li{display:grid;grid-template-columns:105px 1fr;gap:10px;padding:9px 12px;border:1px solid #b2bd9b;border-radius:7px;background:#f8f7de;font-size:15px;line-height:1.5}.skill-growth li.reached{background:#e2efc7;border-color:#7a965b}.skill-growth li.signature{border-color:#b39a50}.skill-growth li.signature b{color:#846021}#skill-preview-ranks{display:flex;gap:6px;flex-wrap:wrap}.preview-rank{border:1px solid #899b72;border-radius:5px;padding:7px 12px;background:#fffbe7;color:#344e3f;font:inherit;cursor:pointer}.preview-rank[aria-pressed=true]{background:#375344;color:#fff7d3}.preview-rank:disabled{opacity:.5;cursor:default}#hero-fusion-paths{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:12px;margin:5px 0}#hero-fusion-paths>span{color:#536c4c}#hero-fusion-paths button{font:inherit;background:#f6f1cc;border:1px solid #8ba174;border-radius:5px;padding:5px;color:#375344;cursor:pointer}.choice.complete-choice{border-color:#c49c39}.ingredient-badge{display:block;background:#e3edba;color:#456236;border-radius:6px;padding:4px 7px;font-size:13px}.choice-tag b{color:#377238}.complete-choice .choice-tag b{color:#946723}
.choice[data-kind=upgrade] .choice-tag{background:#a5dfbc;color:#243c32}.choice.complete-choice .choice-tag{background:#ffe293;color:#513f18}.choice .choice-tag b{background:#dbf0cb;color:#315b35;border-color:#5b7950}.choice.complete-choice .choice-tag b{background:#fff3c5;color:#745412;border-color:#ad8733}

.skill-rating.skill-fact{grid-template-columns:76px minmax(0,1fr);align-items:start}.skill-fact>span:last-child{text-align:left;color:var(--ink);font-size:16px;line-height:1.5;overflow-wrap:anywhere}.skill-fact>b{line-height:1.5;white-space:nowrap}#skill-coverage{color:#315e4c}#skill-stat-note{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}.skill-rating[hidden]{display:none}

/* companions.css */
#hud-companions{display:flex;align-items:center;gap:6px;margin-top:8px;pointer-events:none}
.support-caption{font-size:12px;color:#fff7db;text-shadow:0 1px 3px #203a2f;white-space:nowrap}
.support-slot{display:flex;align-items:center;background:#244638e8;border:2px solid #7ce4ce;border-radius:9px;color:#fff7df;font-size:11px;padding:0 5px 0 0;height:42px;box-sizing:border-box;white-space:nowrap}
.support-slot canvas{width:38px;height:38px;image-rendering:pixelated}.support-slot.empty{width:38px;padding:0;justify-content:center;border:1px dashed #fff7df88;color:#fff7df88;font-size:20px;background:#24463870}
#pause-companions{border-top:1px solid #74846c;padding-top:12px;margin-top:16px}#pause-companions p,.support-records p{font-size:13px;line-height:1.6;margin:6px 0}.support-records{margin-top:14px}.support-records h3,#pause-companions h3{font-size:16px}
.support-choices canvas{width:96px;height:96px;image-rendering:pixelated}.support-choices .choice-tag{background:#24675a;color:#fff8df}.support-choices strong{font-size:20px}.support-choices .choice{min-height:310px}
@media(max-height:560px){#hud-companions{gap:4px;margin-top:4px;flex-wrap:wrap;max-width:200px}.support-caption{font-size:10px}.support-slot{font-size:9px;height:30px}.support-slot canvas{width:28px;height:28px}.support-slot.empty{width:28px}.support-choices .choice{min-height:0}.support-choices canvas{width:48px;height:48px}.support-choices strong{font-size:16px}.support-choices .choice p{font-size:14px}}

.companion-lab{margin:12px 0;padding:12px;border:1px solid #b9cbb8;border-radius:12px;background:#f6f8eb}.companion-lab summary{cursor:pointer;font-weight:700}.companion-lab label{display:block;margin:10px 0;font-size:13px}.companion-lab select{display:block;width:100%;margin-top:5px;padding:8px}.lab-description{white-space:pre-line;font-size:12px;line-height:1.6}.companion-lab .action{width:100%}#companion-lab-controls{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);max-width:90%;display:flex;flex-wrap:wrap;justify-content:center;gap:5px;pointer-events:auto}#companion-lab-controls[hidden]{display:none}#companion-lab-controls button{padding:6px 9px;font-size:12px;background:#fff8e9ed;border:1px solid #b0bda1;border-radius:7px;cursor:pointer}.choices:has(> :nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}

.support-slot{position:relative}.support-timer{position:absolute;top:-10px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#263f3b;background:#fff9e3e8;border:1px solid #c9d2b6;border-radius:4px;padding:1px 4px;font-size:9px}
.encounter-toast.capture-skill-toast{display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);box-sizing:border-box;padding:10px 16px;border-color:#45816a;pointer-events:none;text-align:left;white-space:normal}
.capture-skill-toast canvas{width:48px;height:48px;flex:none;image-rendering:pixelated}
.capture-skill-toast strong{display:block;font-size:15px;margin-bottom:4px;color:#24533f}
.capture-skill-toast span{display:block;font-size:13px;line-height:1.5;word-break:keep-all}

/* item-sprites.css */
.item-sprite{display:inline-block;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;flex-shrink:0;vertical-align:middle;user-select:none;-webkit-user-drag:none}
.choice .choice-icon{background:transparent;border-radius:0}
.choice .choice-icon .item-sprite{image-rendering:pixelated}
.hud-slot .item-sprite{width:32px;height:32px}
#hud-traits .item-sprite{display:block;width:20px;height:20px}
.trait-symbol .item-sprite{display:block;margin:auto}
#weapon-summary-icon .item-sprite{width:32px;height:32px}

/* map-worlds.css */
.map-picker{flex:none;margin:0 0 14px;border-bottom:1px solid #b2be9c;padding-bottom:10px}
.map-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#345044;font-size:13px}.map-picker-heading span{font-size:12px;color:#637567}
#map-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.map-option{display:flex;align-items:center;gap:8px;min-width:0;padding:6px;text-align:left;border:2px solid #b7c4ab;border-radius:9px;background:#fffaf0;cursor:pointer;color:#344d42}
.map-option canvas{width:60px;height:45px;flex:none;border-radius:5px}.map-option strong{font-size:13px;display:block}.map-option small{display:block;font-size:10px;margin-top:3px;color:#657567}
.map-option[aria-pressed=true]{border-color:#3e735e;background:#e2edcb;box-shadow:0 2px 0 #3e735e}.map-option:focus-visible{outline:3px solid #d8a04f;outline-offset:2px}
#map-description{font-size:12px;margin:7px 0 0;color:#5c705f}
@media(max-width:1050px){.map-option{display:block;text-align:center}.map-option canvas{width:54px;height:36px}.map-option small{display:none}.map-option strong{font-size:11px}}
@media(max-height:620px){.map-picker{margin-bottom:8px;padding-bottom:6px}.map-option canvas{display:none}.map-option{padding:6px;text-align:center}.map-picker-heading{margin-bottom:5px}#map-description{display:none}.map-picker-heading span{font-size:10px}}

/* stages.css */
.selection-panel{overflow-y:auto}.selection-body{flex:none;min-height:320px}.selection-body #hero-grid{max-height:360px}.selection-detail{max-height:440px}
.stage-picker{flex:none;padding:12px 0 16px;margin-bottom:15px;border-bottom:2px solid #c4ceb0}
.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#365447}.stage-heading>div{display:flex;align-items:center;gap:10px}.stage-heading small{font-size:11px;color:#61705e}
.stage-stars{display:flex;gap:4px}.stage-stars button{border:1px solid #9eaf8a;border-radius:6px;background:#fff8e7;padding:5px 12px;font:inherit;font-size:12px;cursor:pointer}.stage-stars button[aria-pressed=true]{background:#365c4c;color:#fff2c9}
#stage-options{display:flex;gap:6px;flex-wrap:wrap}.stage-option{padding:9px 12px;border:2px solid #bdc9ab;background:#f8f8e9;color:#3b5145;border-radius:7px;font:inherit;font-weight:700;font-size:12px;cursor:pointer}.stage-option[aria-pressed=true]{border-color:#40664e;background:#d8e8ad;box-shadow:0 2px 0 #40664e}.stage-option:disabled{cursor:default;opacity:.58}.stage-option[hidden]{display:none}
#stage-description{font-size:12px;color:#566c5a;margin:10px 0}#stage-route{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}#stage-route>span{border-left:3px solid #a3b87b;background:#ecefdc;padding:7px 11px}#stage-route small{display:block;color:#69745d;font-size:11px}#stage-route strong{display:block;font-size:13px;color:#354e42;margin-top:4px}#stage-route>span:last-child{border-color:#bf965c;background:#f1ead3}
#stage-access{font-size:11px;margin:8px 0 0;color:#617654}#stage-access.locked{color:#8b634a}#stage-save-status{font-size:12px;color:#9d5335}#stage-save-retry{font:inherit;font-size:12px}
#stage-hud{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(620px,70vw);padding:8px 18px;background:#173c38e6;color:#fff6d5;border:1px solid #d1dca080;border-radius:12px;pointer-events:none;text-align:center;z-index:2}#stage-hud strong{display:block;font-size:13px}#stage-objective{margin:4px 0 0;font-size:12px;color:#c4e2be}.stage-steps{display:inline-flex;gap:5px;margin-top:6px}.stage-steps i{width:36px;height:3px;background:#6d8273}.stage-steps i.current{background:#f0d787}.stage-steps i.done{background:#9ce2b2}.stage-result{padding:16px;background:#e7edcc;border:2px solid #a4b985;border-radius:10px;margin-top:14px}.stage-result p{font-size:13px;line-height:1.6;margin:7px 0 0}
@media(max-height:620px){.stage-picker{padding:4px 0 10px}.stage-heading{margin-bottom:5px}.stage-option{padding:5px 8px}#stage-description{margin:7px 0}#stage-route>span{padding:5px 8px}#stage-hud{bottom:8px;padding:5px 12px}#stage-hud strong{font-size:11px}#stage-objective{font-size:11px}.selection-body{min-height:290px}}
@media(max-width:700px){.stage-heading{align-items:flex-start}.stage-heading>div{flex-wrap:wrap;gap:5px}.stage-stars button{padding:5px 7px}.stage-option{font-size:11px}#stage-route strong{font-size:11px}#stage-route small{font-size:10px}#stage-hud{max-width:80vw;width:max-content}}

#stage-launch{background:#d9e99e;border:2px solid #45634a;font-weight:700;color:#2b4d38;margin-left:8px}#stage-launch:disabled{opacity:.5;cursor:default}

/* research.css */
.research-panel{max-width:980px;width:min(94vw,980px);max-height:92vh;overflow:auto;background:#f6f4e8;color:#24483b;padding:28px;border:2px solid #c4cba9;border-radius:22px;box-shadow:0 18px 60px #172d3640}.research-wallet{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#e5edcf;border:1px solid #c4d1a5;border-radius:14px;margin:20px 0}.research-wallet strong{font-size:32px;margin-left:10px;color:#32694c}.research-wallet span{font-size:14px}.research-wallet small{display:block;margin-top:5px}.research-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.research-card{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:18px;background:#fffdf3;border:1px solid #d3d6be;border-radius:15px}.research-card h2{font-size:19px;margin:2px 0 6px}.research-card p{font-size:13px;line-height:1.8;min-height:42px;margin:8px 0}.research-card span{font-size:12px;color:#687e68}.research-icon{display:flex;align-items:center;justify-content:center;align-self:start;background:#eceddb;border-radius:12px;width:64px;height:64px}.research-card .action{grid-column:1/-1;min-height:43px;background:#356c50;color:#fff8df}.research-card .action:disabled{background:#e4e8da;color:#75806e;opacity:1}.research-footer{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.research-status{min-height:40px;font-size:14px;line-height:1.8}.research-summary{font-size:12px;line-height:1.8;color:#466b55;margin:12px 0;padding:10px 12px;background:#eff1dd;border-radius:9px}.research-result{padding:18px;margin:18px 0;background:#ecf0d7;border:1px solid #ced8b3;border-radius:12px}.research-result strong{display:block;font-size:20px;margin-bottom:7px}.research-result small{display:block;line-height:1.7}.research-result p{margin:8px 0}.research-hud{position:absolute;bottom:14px;right:20px;font-size:12px;color:#fff8df;background:#224b39d9;border-radius:8px;padding:7px 10px;pointer-events:none}.demo-banner{position:absolute;bottom:16px;left:22px;font-size:12px;background:#2e5849dc;color:#fff4bd;border:1px solid #bbcb83;padding:8px 13px;border-radius:8px;pointer-events:none}.demo-link{display:inline-block;margin-top:14px;color:#477650;font-size:14px;font-weight:700}.demo-mode #select-boss-practice,.demo-mode #select-mirror-practice,.demo-mode #select-alpha-practice,.demo-mode .companion-lab,.demo-mode #debug-panel{display:none!important}@media(max-width:700px){.research-panel{padding:18px}.research-cards{grid-template-columns:1fr 1fr;gap:8px}.research-card{padding:10px;grid-template-columns:42px 1fr;gap:8px}.research-icon{width:42px;height:42px}.research-icon img{width:40px!important;height:40px!important}.research-card h2{font-size:15px}.research-wallet{margin:12px 0;padding:12px}.research-hud{bottom:8px;right:8px}}

.demo-lock{display:block;font-size:10px;color:#647263;margin-top:3px}.hero-tile[data-demo-locked="true"]{opacity:.5;cursor:not-allowed}

/* Icon tree: only the board scrolls; details live in a viewport-clamped popover. */
#research-screen .research-panel{width:min(1320px,96vw);max-width:1320px;height:min(850px,94dvh);max-height:94dvh;display:flex;flex-direction:column;overflow:hidden;padding:20px 24px;background:#fff9ec;border:3px solid #26374e;border-radius:22px}
#research-screen .scene-heading{flex:none;margin:0;padding:0 0 12px;align-items:center}
#research-screen .scene-heading h1{font-size:30px}
#research-screen .research-wallet{flex:none;margin:0;padding:10px 16px;border:2px solid #a5b793;background:#edf3d9}
#research-screen .research-wallet strong{font-size:27px}
#research-unlock{flex:none;margin:8px 2px;font-size:12px;color:#526458}
.research-tree-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 6px 8px 0}
#research-screen .research-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.research-branch{--branch:#bd765e;min-width:0}
.research-branch[data-branch=movement]{--branch:#448b8f}.research-branch[data-branch=survival]{--branch:#759249}.research-branch[data-branch=exploration]{--branch:#9475ab}
.research-branch-heading{padding:12px 0 10px;text-align:center;border-bottom:3px solid var(--branch);margin-bottom:10px}.research-branch-heading h2{font-size:21px;margin:0;color:#304e41}
.research-node-board{position:relative;height:508px;border-radius:14px;background:radial-gradient(#c5c6ae66 1px,transparent 1px) 0 0/16px 16px}
.research-connectors{position:absolute;inset:0;pointer-events:none}.research-connectors svg{width:100%;height:508px;overflow:visible}.research-connectors path{stroke:var(--branch);stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;fill:none;opacity:.65}
#research-screen .research-icon-node{position:absolute;transform:translate(-50%,-50%);width:64px;height:64px;display:flex;justify-content:center;align-items:center;padding:5px;border:3px solid #bac1af;border-radius:16px;background:#efefdf;box-shadow:0 4px 0 #48564629;opacity:1;cursor:pointer;transition:background .12s,border-color .12s}
.research-node-icon{display:flex;align-items:center;justify-content:center;pointer-events:none}.research-node-icon .item-sprite{width:44px!important;height:44px!important;image-rendering:pixelated}
#research-screen .research-node-rank{position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);border-radius:7px;padding:1px 7px;border:2px solid #acb59d;background:#fffbed;color:#52604c;font-size:11px;line-height:1.3;white-space:nowrap;pointer-events:none}
#research-screen .research-icon-node[data-state=locked]{border-style:dashed;background:#ecece1}
#research-screen .research-icon-node[data-state=locked] .research-node-icon{opacity:.5;filter:grayscale(.8)}
#research-screen .research-icon-node[data-state=learned],#research-screen .research-icon-node[data-state=complete]{border-color:var(--branch);background:#e7efce}
#research-screen .research-icon-node[data-state=learned] .research-node-rank,#research-screen .research-icon-node[data-state=complete] .research-node-rank{border-color:var(--branch);background:#eff5d9;color:#264736}
#research-screen .research-icon-node[data-affordable=true]{border-color:var(--branch);background:#fff6cf}
#research-screen .research-icon-node:hover,#research-screen .research-icon-node:focus-visible{border-color:#294b3e;background:#fff3bf;outline:3px solid #d2b96a;outline-offset:3px}
#research-screen .research-footer{flex:none;margin:0;padding:12px 0 0;border-top:2px solid #c4cbaa}
#research-screen .research-footer .action{font-size:13px;min-height:44px;padding:8px 14px}
#research-screen .research-status{flex:none;min-height:0;margin:5px 0;font-size:12px}
#research-tooltip{position:fixed;z-index:1000;width:min(310px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#fff9eb;color:#2b4236;border:3px solid #2e4b40;border-radius:16px;box-shadow:0 9px 28px #162c3950;padding:16px;pointer-events:auto}
.research-tip-heading{display:grid;grid-template-columns:48px 1fr;gap:3px 12px;align-items:center;border-bottom:1px solid #c8cdb5;padding-bottom:12px}
.research-tip-icon{grid-row:1/3;display:flex}.research-tip-heading h2{font-size:20px;line-height:1.3;margin:0}.research-tip-heading>span{font-size:12px;color:#72836a}
#research-tooltip p{margin:12px 0;font-size:13px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
#research-tooltip .research-tip-effect{font-weight:bold;color:#345d40;background:#eef2d9;border-radius:8px;padding:9px}
#research-tooltip .research-tip-condition{color:#85623b;font-size:12px}
#research-tooltip .research-buy{width:100%;min-height:44px;font-size:13px;padding:8px;border:2px solid #355342;border-radius:9px;background:#356c50;color:#fff8df;box-shadow:none}
#research-tooltip .research-buy:disabled{background:#e3e6d8;color:#66725f;border-color:#a9b296;opacity:1;cursor:default}
#research-tooltip .research-buy:not(:disabled):hover,#research-tooltip .research-buy:not(:disabled):focus-visible{background:#dbe9c3;color:#213e32}
@media(max-width:1050px){#research-screen .research-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}#research-screen .research-panel{padding:14px 18px}}
@media(max-width:480px){#research-screen .research-cards{grid-template-columns:minmax(0,1fr)}#research-screen .research-panel{padding:12px}.research-branch-heading{padding-top:4px}}
@media(max-height:560px){#research-screen .research-panel{height:96dvh;max-height:96dvh;padding:10px 16px}#research-screen .scene-heading{padding-bottom:6px}#research-screen .scene-heading h1{font-size:23px}#research-screen .research-wallet{padding:6px 12px}#research-unlock{margin:5px 2px}#research-screen .research-footer{padding-top:6px}}

/* Additional chest choices can scroll without hiding the reroll action. */
body[data-scene=choice] #dialog{display:flex;flex-direction:column;max-height:100%;overflow:hidden}
body[data-scene=choice] #dialog-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 8px 12px;flex:1 1 auto}
body[data-scene=choice] #dialog-actions{flex:none;padding:0 8px 8px}
body[data-scene=choice] #dialog>h2,body[data-scene=choice] #dialog-copy,body[data-scene=choice] #dialog-kicker{flex:none}
@media(min-width:1100px){body[data-scene=choice] #dialog:has(.choices[data-count="4"]){width:min(1160px,100%)}.choices[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1099px){.choices[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* recruitment.css */
.recruitment-overlay{position:fixed;inset:0;z-index:100;background:#1c2d36b8;display:grid;place-items:center;padding:18px}.recruitment-overlay[hidden]{display:none}.recruitment-panel{background:#fff9ed;color:#24334b;border:3px solid #24334b;border-radius:22px;width:min(600px,100%);max-height:88dvh;overflow:auto;padding:22px;box-shadow:0 7px #24334b}.recruitment-panel header{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:-22px;background:#fff9ed;padding:10px 0}.recruitment-panel h2{font-size:26px}.recruitment-panel li{margin:12px 0}.recruitment-panel p{line-height:1.7}.recruitment-panel .action{font-size:16px;display:inline-block;margin:6px}.recruitment-stage{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:12px 0}.recruitment-stage .action,.recruitment-summary .action,.recruitment-result .action{font-size:14px;padding:7px 12px;min-height:38px}.recruitment-stage small{width:100%}.recruitment-summary{margin:10px 0 20px}.recruitment-summary .action{margin:5px}.recruitment-error{color:#a22f46}.recruitment-diagram{width:min(480px,100%);height:auto;background:#294437;border-radius:12px}.recruitment-prompt{font-size:24px}.recruitment-answers{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.recruitment-answers button{min-width:100px;min-height:60px}.hero-tile[data-recruit-locked="true"] canvas{filter:grayscale(1);opacity:.6}.recruitment-lock{display:block;font-size:11px;color:#665b6a}.recruitment-result{border-top:2px dashed #a5b594;padding:12px 0}

/* combat-hud.css */
/* Keep combat information outside the player's movement area. */
#world-map{width:240px;height:180px;border-width:3px;border-radius:10px}
#combat-question{position:fixed;top:calc(100px + var(--safe-top,0px));left:50%;transform:translateX(-50%);width:max-content;max-width:min(460px,calc(100vw - 36px));min-width:min(290px,calc(100vw - 36px));padding:10px 16px 12px;color:#fff9e8;background:rgba(18,43,36,.62);border:2px solid #efda9699;border-radius:12px;pointer-events:none;z-index:3;text-shadow:0 2px 3px #10251f;box-shadow:0 3px 12px #10251f30;overflow:hidden}
.combat-question-heading{display:flex;align-items:center;justify-content:center;gap:18px;line-height:1.25}
#combat-question-prompt{min-width:0;font-size:clamp(21px,2.4vw,27px);font-weight:800;text-wrap:balance;text-align:center}
#combat-question-time{flex:none;min-width:48px;padding:5px 8px;background:#132c2899;border-radius:7px;text-align:center;font-size:20px;font-weight:800;color:#ffe49a;font-variant-numeric:tabular-nums}
#combat-question-meter{position:absolute;bottom:0;left:0;right:0;height:4px;background:#092c2966}
#combat-question-fill{display:block;width:100%;height:100%;background:#f4d986;transform-origin:left center}
#combat-question.question-arriving{border-color:#ffe7a3;box-shadow:0 0 0 5px #ffe7a352,0 4px 20px #10251f55}
#combat-question.question-arriving:not(.question-still){animation:question-arrive .4s ease-out both}
#combat-question.question-urgent{border-color:#ffa276}
#combat-question.question-urgent #combat-question-time{color:#ffe6d7;background:#8b3a2bcc}
#combat-question.question-urgent #combat-question-fill{background:#ffa276}
@keyframes question-arrive{from{transform:translate(-50%,12px) scale(1.06)}to{transform:translate(-50%,0) scale(1)}}
#combat-question-diagram{display:block;width:100%;height:auto;max-height:80px;object-fit:contain;margin-top:3px;image-rendering:auto}
@media(max-width:960px),(max-height:560px){#world-map{width:180px;height:135px}}
@media(max-height:560px){#combat-question{top:70px;max-width:min(420px,calc(100vw - 36px));padding:7px 12px 10px}#combat-question-prompt{font-size:21px}#combat-question-time{font-size:18px;padding:3px 6px}#combat-question-diagram{max-height:64px}}
@media(prefers-reduced-motion:reduce){#combat-question.question-arriving:not(.question-still){animation:none}}
@media(max-width:760px){body.combat-question-active #world-map{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:18px;width:160px;height:120px}}

#hp-bar{position:relative}
#shield-fill{position:absolute;left:0;top:0;height:100%;background:#fff;border-right:1px solid #b9d8dd;z-index:1}

/* menu-layout.css */
/* Keep the primary action visible; only the roster and optional details scroll. */
.selection-panel{overflow:hidden}
.selection-panel .scene-heading{flex:none;padding:8px 14px;margin-bottom:14px;gap:12px}
.selection-panel .scene-heading h1{font-size:28px;margin:0;white-space:nowrap}
.selection-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.selection-actions .action{min-height:44px;padding:8px 14px;font-size:14px}
.selection-actions .action.primary{background:var(--hl);color:var(--ink)}
#select-start{position:static;margin:0}
.selection-panel .map-picker{padding-bottom:8px;margin-bottom:8px}
.selection-panel .stage-picker{padding:4px 0 10px;margin-bottom:10px}
.selection-panel .selection-body{flex:1;min-height:0;gap:20px}
.selection-panel .selection-body #hero-grid{max-height:none;min-height:0;overflow:auto}
.selection-panel .selection-detail{display:flex;flex-direction:column;max-height:none;min-height:0;overflow:auto;padding-left:20px}
.selection-panel .section-label{margin:0 0 8px;font-size:13px}
.selection-panel .portrait{height:64px;margin:4px 0 0}
.selection-panel .portrait canvas{width:80px;height:auto}
.selection-panel .character-title h3{font-size:23px}
.hero-details{margin:4px 0 8px}
.hero-details summary{cursor:pointer;text-align:center;font-size:13px;min-height:28px;line-height:28px}
.selection-panel .hero-details .character-description,.selection-panel .hero-details .hero-rule{display:block;font-size:13px;line-height:1.5;margin:4px 0}
.selection-panel .weapon{padding:6px;font-size:13px}
.selection-panel #hero-evolutions{flex:none;min-height:0;margin:6px 0;gap:6px}
.selection-panel #hero-evolutions canvas{width:38px;height:38px}
.selection-panel #hero-evolutions figcaption{font-size:12px}
.selection-panel [hidden]{display:none!important}
@media(max-height:620px){
  .selection-panel .scene-heading{padding:5px 10px;margin-bottom:9px;border-width:5px}
  .selection-panel .scene-heading h1{font-size:23px}
  .selection-panel .map-picker{padding-bottom:5px;margin-bottom:5px}
  .selection-panel .stage-picker{padding:2px 0 6px;margin-bottom:6px}
  .selection-panel .stage-heading{margin-bottom:5px}
  .selection-panel .portrait{height:48px}
  .selection-panel .portrait canvas{width:60px}
  .selection-panel .character-title h3{font-size:20px}
  .selection-panel #hero-evolutions canvas{width:32px;height:32px}
}
@media(max-width:760px){
  .selection-panel .scene-heading h1{font-size:20px}
  .selection-actions{gap:5px}
  .selection-actions .action{font-size:12px;padding:6px 9px}
  .selection-panel .selection-body{grid-template-columns:minmax(0,1fr) 190px;gap:12px}
  .selection-panel .selection-detail{padding-left:12px}
}

#title-heading{font-size:clamp(30px,4vw,58px);white-space:nowrap;line-height:1.2}
.title-actions .action{white-space:nowrap}
.support-empty-slots{display:flex;gap:8px}.support-empty-slots span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #9eac98;border-radius:8px;color:#607360}

/* Laptop choices include the information/recipe buttons, not just the main card. */
@media(min-width:900px) and (min-height:561px){
  body[data-scene=choice] #dialog{width:min(1100px,100%)}
  body[data-scene=choice] #dialog>h2{font-size:30px;line-height:1.2;padding:10px 12px;margin:0 0 10px;border-width:5px}
  body[data-scene=choice] #dialog-kicker:empty,body[data-scene=choice] #dialog-actions:empty{display:none}
  body[data-scene=choice] #dialog-kicker{color:var(--paper);font-size:12px;line-height:18px;margin:0 0 6px}
  body[data-scene=choice] #dialog-copy{font-size:14px;line-height:1.3;margin:0 0 10px}
  body[data-scene=choice] #dialog-content{flex:0 1 auto}
  body[data-scene=choice] .choices{align-items:stretch;gap:14px}
  body[data-scene=choice] .choice-option{gap:5px}
  body[data-scene=choice] .choice{min-height:0;padding:0 14px 8px;gap:5px}
  body[data-scene=choice] .choice:is(:hover,:focus,:focus-visible){transform:translateY(-2px)}
  body[data-scene=choice] .choice .choice-tag{font-size:14px;line-height:20px;padding:5px 8px;margin:0 -14px 2px}
  body[data-scene=choice] .choice .choice-icon{width:56px;height:56px;min-height:56px;margin:4px 0}
  body[data-scene=choice] .choice .choice-icon :is(svg,.item-sprite){width:56px;height:56px}
  body[data-scene=choice] .choice strong{font-size:24px;line-height:1.2}
  body[data-scene=choice] .choice p{flex:0 0 auto;font-size:15px;line-height:1.45;margin:2px 0 6px}
  body[data-scene=choice] .choice-role{font-size:12px;line-height:1.3;margin-top:auto}
  body[data-scene=choice] .choice-rank{font-size:14px;line-height:18px}
  body[data-scene=choice] .choice .choice-change{font-size:13px;line-height:1.4;padding-top:6px;margin-top:2px}
  body[data-scene=choice] .choice .choice-key{line-height:18px}
  body[data-scene=choice] .choice-info,body[data-scene=choice] .choice-recipe{min-height:34px;line-height:18px;padding:4px 6px}
}
@media(min-width:900px) and (min-height:561px) and (max-height:700px){
  body[data-scene=choice] #dialog>h2{font-size:26px;padding:6px 10px;margin-bottom:6px}
  body[data-scene=choice] .choice{gap:3px}
  body[data-scene=choice] .choice .choice-icon{width:44px;height:44px;min-height:44px;margin:2px 0}
  body[data-scene=choice] .choice .choice-icon :is(svg,.item-sprite){width:44px;height:44px}
  body[data-scene=choice] .choice p{font-size:14px;line-height:1.4}
}

/* run-review.css */
.run-review {
  box-sizing: border-box;
  width: 100%;
  max-width: 640px;
  margin: 16px auto 0;
  padding: 16px;
  background: #f3f0d4;
  color: #24483c;
  border: 2px solid #47846b;
  border-radius: 14px;
  text-align: left;
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.run-review *,
.run-review *::before,
.run-review *::after {
  box-sizing: border-box;
}

.run-review__title {
  margin: 0 0 8px;
  font-size: 1.15rem;
}

.run-review__badge {
  display: inline-block;
  margin: 0 0 8px;
  padding: 2px 10px;
  border: 1px dashed #47846b;
  border-radius: 999px;
  font-size: 0.85rem;
}

.run-review__lead {
  margin: 0 0 8px;
  font-weight: 700;
}

.run-review__empty {
  margin: 0;
}

.run-review__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0;
  list-style: none;
}

.run-review__stat {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 10px;
  border: 2px solid #47846b;
  border-radius: 10px;
  background: #fffdf0;
}

/* 색 외에 테두리 모양으로도 구분한다. 글자 라벨이 기본. */
.run-review__stat--correct {
  background: #e3efe6;
}

.run-review__stat--wrong {
  border-style: dashed;
  background: #f6e7dc;
}

.run-review__stat--timeout {
  border-style: dotted;
  background: #eeeadb;
}

.run-review__stat-label {
  font-size: 0.9rem;
}

.run-review__stat-value {
  font-size: 1rem;
}

.run-review__units {
  display: grid;
  gap: 12px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.run-review__unit {
  padding: 12px;
  background: #fffdf0;
  border: 1px solid rgba(71, 132, 107, 0.45);
  border-radius: 12px;
}

.run-review__unit-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.run-review__unit-name {
  margin: 0;
  font-size: 1rem;
}

.run-review__practice {
  display: inline-block;
  min-height: 36px;
  padding: 6px 14px;
  line-height: 24px;
  border: 2px solid #47846b;
  border-radius: 999px;
  background: #24483c;
  color: #f3f0d4;
  font-weight: 700;
  text-decoration: none;
}

.run-review__practice:hover {
  background: #47846b;
  color: #ffffff;
}

.run-review__practice:focus-visible,
.run-review__details summary:focus-visible {
  outline: 3px solid #24483c;
  outline-offset: 2px;
}

.run-review__hint {
  margin: 0;
}

.run-review__muted {
  margin: 4px 0 0;
  font-size: 0.85rem;
  color: #4d6a5f;
}

.run-review__details {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed rgba(71, 132, 107, 0.5);
}

.run-review__details summary {
  min-height: 32px;
  cursor: pointer;
  font-weight: 700;
}

.run-review__prompt,
.run-review__explain {
  margin: 6px 0 0;
  white-space: pre-line;
}

.run-review__tag {
  display: inline-block;
  margin-right: 6px;
  padding: 0 6px;
  border-radius: 6px;
  background: #24483c;
  color: #f3f0d4;
  font-size: 0.8rem;
}

@media (max-width: 400px) {
  .run-review {
    padding: 12px;
    border-radius: 12px;
  }

  .run-review__stat {
    padding: 3px 8px;
  }
}

/* result-layout.css */
/* The default result fits a 1366 × 768 laptop; only detailed records scroll. */
body:is([data-scene=over],[data-scene=complete]) #dialog{width:min(1180px,100%);height:min(680px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:18px 24px;box-sizing:border-box}
body:is([data-scene=over],[data-scene=complete]) #dialog>h2{font-size:30px;line-height:1.25;margin:0 0 8px;padding:6px 12px;border-width:3px;box-shadow:none}
body:is([data-scene=over],[data-scene=complete]) #dialog>.dialog-kicker:empty,
body:is([data-scene=over],[data-scene=complete]) #dialog-copy:empty{display:none}
body:is([data-scene=over],[data-scene=complete]) #dialog-content{overflow:hidden;padding:0;scrollbar-gutter:auto;display:flex}
.result-dashboard{display:flex;flex-direction:column;gap:12px;width:100%;min-height:0;text-align:left}
.result-route{margin:0;text-align:center;font-size:14px;color:#546747}
.result-notice{flex:none;margin:0;padding:4px 10px;border-radius:6px;background:#e1efc2;color:#2e543b;font-size:13px;font-weight:bold;line-height:20px}.result-notice[hidden]{display:none}.result-notice--error{background:#ffe2d6;color:#8e2938}
.result-dashboard .result-grid{flex:none;margin:0;padding:0;background:none;gap:12px;text-align:center;grid-template-columns:repeat(4,minmax(0,1fr))}
.result-dashboard .result-grid>div{padding:9px 8px;border-color:#b8c5a2;background:#eef2dc}
.result-dashboard .result-grid span{font-size:13px}.result-dashboard .result-grid strong{font-size:26px;line-height:1.1;margin-top:4px}
.result-tabs{display:flex;gap:8px;flex:none;border-bottom:2px solid #b8c5a2;padding-bottom:8px}
.result-tab,.result-more{font:inherit;cursor:pointer;color:#344d41;background:transparent;border:0;box-shadow:none}
.result-tab{border-radius:8px;padding:8px 16px;min-height:38px;font-size:15px;font-weight:700}
.result-tab[aria-selected=true]{background:#294f42;color:#fff9df}.result-tab:hover{background:#dfe8cc}.result-tab[aria-selected=true]:hover{background:#385e4e}
.result-pages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:1px 2px 3px}
.result-page[hidden]{display:none}.result-page--summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:100%;align-items:stretch}
.result-card{border:2px solid #bac7ac;border-radius:13px;background:#f5f5e8;padding:14px;min-width:0;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5}
.result-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;height:auto;min-height:0;padding:0;border:0}.result-card h3{font-size:18px;margin:0;color:#263e36}
.result-more{padding:4px 0;font-size:13px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.result-more:hover{color:#176b55}
.result-card p{margin:0}.result-card .result-highlight{font-size:17px;font-weight:bold;color:#2d5745}
.result-skill{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:14px}.result-skill i{grid-column:1/-1;height:6px;border-radius:4px;background:#72b998}.result-skill b{font-variant-numeric:tabular-nums}.result-footnote{font-size:13px;color:#53644e;line-height:1.6}.result-card>.result-footnote{margin-top:auto;padding-top:5px}
.result-card .research-result{border:0;background:none;border-radius:0;margin:0;padding:0;font-size:14px}.result-card .research-result strong{font-size:17px;line-height:1.5;margin:0 0 7px;color:#2d5745}.result-card .research-result small{font-size:12px;line-height:1.5;color:#53644e}.result-card .research-result p{margin:8px 0 0}.result-recruit-summary{border-top:1px solid #bbc6a7;padding-top:8px;font-size:13px}.result-save-error{font-size:13px;color:#9a2f41;font-weight:bold}.result-muted{color:#53644e}
.result-learning-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0}.result-learning-counts>div{text-align:center;border-radius:7px;padding:10px 4px;background:#e0edda}.result-learning-counts dt{font-size:13px}.result-learning-counts dd{margin:4px 0 0;font-size:24px;font-weight:bold}.result-count--wrong{background:#f6e5d5!important}.result-count--timeout{background:#e6e7ef!important}
.result-page--combat .damage-breakdown{max-height:none;overflow:visible;gap:12px;padding:12px 6px}.result-page--combat .damage-row{grid-template-columns:180px 1fr 100px;font-size:15px}.result-page .support-records{margin:12px 0;padding:12px}.result-page .result-captures{margin:12px 6px}.result-page .run-review{margin:0;max-width:none;padding:12px}.result-page .run-review__units{grid-template-columns:repeat(2,minmax(0,1fr))}.result-page .stage-result{margin-top:0}.result-page .recruitment-result{font-size:14px}
body:is([data-scene=over],[data-scene=complete]) #dialog-actions{gap:12px;margin-top:12px;padding-top:12px;flex-wrap:wrap}
body:is([data-scene=over],[data-scene=complete]) #dialog-actions .action{min-height:44px;padding:8px 24px;font-size:16px}
@media(max-height:680px){body:is([data-scene=over],[data-scene=complete]) #dialog{padding:12px 18px}.result-dashboard{gap:8px}.result-card{padding:10px;gap:7px}.result-card h3{font-size:17px}.result-learning-counts>div{padding:4px 10px}.result-dashboard .result-grid>div{padding:6px}.result-dashboard .result-grid strong{font-size:23px}body:is([data-scene=over],[data-scene=complete]) #dialog>h2{font-size:26px;margin-bottom:4px}}
@media(max-width:1000px){.result-page--summary{gap:8px}.result-card{padding:10px}.result-card h3{font-size:16px}.result-more{font-size:12px}.result-tab{padding:7px 12px}.result-card .result-highlight,.result-card .research-result strong{font-size:15px}}
@media(max-height:620px) and (min-width:701px){.result-dashboard{gap:6px}.result-dashboard .result-grid>div{display:flex;align-items:center;justify-content:center;gap:14px;padding:5px 8px;height:44px;box-sizing:border-box}.result-dashboard .result-grid strong{margin:0;font-size:24px}.result-tabs{padding-bottom:5px}.result-card{gap:6px}.result-card>.result-skill--extra{display:none}.result-card .research-result small{display:none}.result-card .result-highlight{font-size:15px}.result-card .research-result strong{font-size:15px}.result-card .research-result p{margin-top:6px}.result-card>.result-footnote{font-size:12px}.result-learning-counts>div{padding:5px}.result-learning-counts dd{font-size:22px}body:is([data-scene=over],[data-scene=complete]) #dialog-actions{margin-top:8px;padding-top:8px}}
@media(max-width:700px){.result-page--summary{grid-template-columns:1fr;min-height:0}.result-tabs{gap:2px}.result-tab{font-size:13px;padding:6px 8px}.result-page .run-review__units{grid-template-columns:1fr}.result-page--combat .damage-row{grid-template-columns:120px 1fr 70px;font-size:13px}}

/* mobile-controls.css */
/* These controls sit over gameplay only; menus keep their native touch scroll. */
#touch-controls{position:fixed;inset:0;z-index:3;pointer-events:none;user-select:none;-webkit-user-select:none}
.touch-move-guide{position:absolute;left:max(28px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:96px;height:96px;border:2px solid #fff4bd80;border-radius:50%;background:#203c322c;display:grid;place-items:center;color:#fffbe5;font-size:13px;text-shadow:0 1px 3px #203c32}
.touch-move-guide::before{content:'';position:absolute;inset:29px;border:2px solid #fff4bd60;border-radius:50%}
.touch-move-guide span{align-self:end;margin-bottom:10px}
.touch-camera{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;gap:6px;text-align:center;color:#fffbe5;text-shadow:0 1px 3px #203c32}
.touch-camera>span{font-size:12px}.touch-camera>div{display:flex;gap:8px}
.touch-camera button{pointer-events:auto;touch-action:manipulation;width:46px;height:46px;padding:0;display:grid;place-items:center;border:2px solid #fff2bf99;border-radius:14px;background:#203c329c;color:#fffbe5;font-size:26px;box-shadow:0 2px 0 #203c3240;text-shadow:none}
.touch-camera button:active{background:#385c43}.touch-mode #joystick{width:96px;height:96px}
.touch-mode #joystick span{width:36px;height:36px;inset:27px;left:27px;top:27px}
.touch-mode #arena{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.touch-mode .touch-control-help{display:block}.touch-control-help{display:none}
.touch-mode .desktop-control-help{display:none}
.touch-mode #field-hint{font-size:12px;padding:7px 12px;bottom:calc(92px + env(safe-area-inset-bottom));max-width:calc(100% - 350px);white-space:normal;text-align:center}
.touch-mode #stage-hud{right:auto;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));width:min(310px,calc(100% - 350px));padding:6px 10px;font-size:12px}
.touch-mode #stage-hud p{font-size:11px;margin:3px 0}.touch-mode #stage-hud .stage-steps{display:none}
.touch-mode #nearby-device{right:calc(18px + env(safe-area-inset-right));bottom:100px;width:230px}
.choice .choice-icon>.item-sprite{max-width:100%;max-height:100%}
@media(min-width:640px) and (orientation:landscape){.choices[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-height:560px) and (orientation:landscape){
  .menu-scene{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  .screen-overlay{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  .screen-overlay .dialog{max-height:100%;padding:12px 16px;overscroll-behavior:contain}
  .dialog h2,body[data-scene=choice] .dialog h2{font-size:22px;margin:4px 0 6px}
  #dialog>h2{font-size:22px;padding:5px 8px;border-width:3px;margin:4px 2px 8px}
  #dialog-kicker,#dialog-copy{font-size:12px;margin:0 0 6px}
  body[data-scene=choice] #dialog-kicker,body[data-scene=choice] #dialog-copy{display:none}
  #dialog-actions:empty{display:none}
  .dialog-kicker{font-size:12px}.dialog>p{font-size:12px;margin:0 0 8px}
  .dialog-actions{margin-top:10px;gap:8px}.dialog-actions .action{min-height:44px;padding:7px 14px;font-size:14px}
  .choices{gap:8px}.choice,.choice-option .choice{min-height:0;gap:2px;padding:0 8px 6px}
  .choice:focus,.choice:focus-visible,.choice:hover{transform:none}
  .choice .choice-tag{font-size:11px;margin:0 -8px 2px;padding:4px}
  .choice .choice-icon,.choice-option .choice-icon{width:32px;height:32px}.choice .choice-icon :is(svg,.item-sprite){width:30px;height:30px}
  .choice strong{font-size:16px}.choice p{font-size:12px;line-height:1.35;margin:3px 0}
  .choice .choice-change{font-size:11px}.choice-rank{font-size:11px;line-height:14px}
  .choice-info,.choice-recipe{min-height:44px;font-size:12px}.choice-recipe{font-size:11px}
  .selection-panel .scene-heading{padding:4px 8px;margin-bottom:6px;gap:8px}
  .selection-panel{display:block;overflow:auto;overscroll-behavior:contain}
  .selection-panel>.scene-heading{position:sticky;top:0;z-index:2}
  .selection-panel .map-picker{padding-bottom:4px;margin-bottom:4px}
  .selection-panel .stage-picker{padding-bottom:4px;margin-bottom:4px}
  .selection-panel .selection-body{gap:10px;grid-template-columns:minmax(0,1fr) 190px;min-height:250px}
  .selection-panel .selection-detail{padding-left:10px}
  .selection-panel #hero-grid{grid-template-columns:repeat(7,minmax(52px,1fr));gap:5px;max-height:300px}
  .map-option,.stage-option,.stage-stars button{min-height:44px}
  .hero-tile{min-height:70px}.hero-tile canvas{width:38px;height:38px}
  .selection-actions .action{min-height:44px}
}
@media(max-height:560px) and (orientation:landscape){
  .touch-mode .hud-left{left:max(12px,env(safe-area-inset-left));top:calc(16px + env(safe-area-inset-top));width:164px}
  .touch-mode .health-block{padding:5px 8px}.touch-mode .meter-label{font-size:11px;margin-bottom:4px}
  .touch-mode .region{margin:4px 0}.touch-mode .region strong{font-size:11px}
  .touch-mode #hud-weapons{gap:5px}.touch-mode #hud-weapons .hud-slot{width:44px;height:44px}
  .touch-mode #hud-weapons :is(svg,.item-sprite){width:28px;height:28px}.touch-mode .tier-dots{font-size:8px;line-height:8px}
  .touch-mode #hud-traits{margin-top:4px;gap:4px}.touch-mode #hud-traits span{font-size:10px;min-width:20px;padding:2px}
  .touch-mode .hud-center{top:calc(15px + env(safe-area-inset-top))}.touch-mode .hud-center #timer{font-size:28px}.touch-mode .hud-center>span{font-size:11px}
  .touch-mode .hud-right{right:max(12px,env(safe-area-inset-right));top:calc(14px + env(safe-area-inset-top));gap:6px}
  .touch-mode #pause{width:44px;height:44px;min-height:44px}.touch-mode #world-map{width:96px;height:72px;border-width:2px}.touch-mode .map-caption{display:none}
  body.combat-question-active .touch-mode #world-map{position:static;width:96px;height:72px}
  .touch-mode #combat-question{min-width:0;max-width:min(360px,calc(100vw - 360px));top:70px;padding:6px 8px 9px}
  .touch-mode #combat-question-prompt{font-size:18px}.touch-mode .combat-question-heading{gap:8px}
  .touch-mode #hud-companions{margin-top:4px;gap:4px}.touch-mode #hud-companions button{min-width:44px;min-height:44px}
  .touch-mode .encounter-toast{bottom:100px;max-width:calc(100% - 260px);padding:7px 12px;font-size:12px}
}
@media(max-width:740px) and (orientation:landscape){
  .choice,.choice-option .choice{gap:1px}
  .choice .choice-tag{font-size:10px;line-height:14px;padding:2px}
  .choice .choice-icon,.choice-option .choice-icon{width:24px;height:24px}
  .choice .choice-icon :is(svg,.item-sprite){width:24px;height:24px}
  .choice strong{font-size:15px;line-height:18px}.choice p{margin:0;line-height:1.3}
  .choice-role{font-size:11px;line-height:14px}.choice-rank{line-height:12px}
  .choice .choice-change{font-size:10.5px;line-height:13px}
}
@media(max-height:560px) and (orientation:landscape){
  body[data-scene=choice] #dialog>h2{font-size:20px;line-height:24px;padding:3px 6px;margin:2px 2px 5px}
  body[data-scene=choice] #dialog-content{padding:4px 8px 6px}
  .choice-role{display:none}
  .choice p{flex:0 0 auto}
  .choice .choice-tag{line-height:14px;padding:2px 4px}
  .choice .choice-icon,.choice-option .choice-icon{width:24px;height:24px}
  .choice .choice-icon :is(svg,.item-sprite){width:24px;height:24px}
  .choice .choice-key{padding:0;line-height:12px;font-size:10px}
  .choice-option{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr) 44px;gap:3px}
  .choice-option>.choice{grid-column:1/-1}
  .choice-option>.choice-info{grid-column:1/-1;grid-row:2}
  .choice-option>.choice-recipe{grid-column:1;grid-row:2;gap:2px;flex-wrap:nowrap;padding:2px}
  .choice-option:has(.choice-recipe)>.choice-info{grid-column:2;font-size:0;padding:0}
  .choice-option:has(.choice-recipe)>.choice-info::after{content:'ⓘ';font-size:20px}
  .choice-recipe>span:last-child{display:none}
  .choice-recipe :is(.item-sprite,svg){width:20px!important;height:20px!important}
  body[data-scene=choice] #dialog-actions{margin-top:5px}
  body[data-scene=choice] #research-reroll{min-height:44px;padding:5px 10px;font-size:14px}
}

/* field-quest.css */
.quest-launch{position:absolute;right:18px;top:270px;z-index:20;border:2px solid #345446;border-radius:12px;background:#fff5d6;color:#254639;padding:10px 16px;font-weight:800;min-height:44px;cursor:pointer}
.quest-modal{position:fixed;inset:0;z-index:250;display:grid;place-items:center;background:#163c31b8;padding:20px;color:#244437;overscroll-behavior:contain}.quest-modal[hidden],.quest-launch[hidden]{display:none}
.quest-panel{width:min(1120px,100%);height:min(680px,100%);min-height:0;display:flex;flex-direction:column;background:#fcf8e9;border:3px solid #345446;border-radius:18px;box-shadow:0 8px 0 #193e36;overflow:hidden}
.quest-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#dce9cb;flex:none}.quest-panel h2{font-size:23px;margin:0}.quest-panel button{border:2px solid #456451;border-radius:9px;background:#ecf1d9;color:#244437;min-height:44px;padding:7px 12px;font:inherit;font-weight:700;cursor:pointer}.quest-panel button:disabled{opacity:.5;cursor:default}.quest-panel button[aria-pressed=true]{background:#f8d883}.quest-panel button:focus-visible,.quest-panel input:focus-visible{outline:3px solid #cc9f35;outline-offset:2px}
.quest-goal{margin:0;padding:10px 20px;font-size:18px;border-bottom:1px solid #c1cdb6;flex:none}.quest-body{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;padding:12px 20px;min-height:0;flex:1;overflow:hidden}.quest-map-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.quest-map-panel canvas{display:block;min-height:0;width:100%;flex:1;object-fit:contain;cursor:crosshair;touch-action:manipulation}.quest-map-hint{font-size:13px;margin:5px 0}.quest-clues{overflow:auto;overscroll-behavior:contain;padding-right:8px}.quest-count{margin:0 0 8px;font-size:13px}.quest-clue{border:1px solid #b4c5a3;border-radius:10px;padding:10px 13px;margin-bottom:8px;background:#f0f2df}.quest-clue h3{font-size:16px;margin:0 0 7px}.quest-clue p{font-size:15px;margin:0 0 8px;line-height:1.5}.quest-clue button{font-size:13px;min-height:36px}.quest-chart{display:block;width:100%;max-width:320px;height:auto}
.quest-panel footer{flex:none;padding:8px 20px 12px;border-top:2px solid #b4c5a3;background:#e9eed9}.quest-panel footer p{margin:0 0 7px;font-size:14px;min-height:20px}.quest-panel form{display:flex;gap:12px;align-items:center;justify-content:space-between}.quest-panel form[hidden]{display:none}.quest-answer-fields{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.quest-answer-fields label{display:flex;align-items:center;gap:7px}.quest-answer-fields input{font:inherit;width:140px;min-height:42px;box-sizing:border-box;border:2px solid #456451;border-radius:8px;padding:5px 8px}.quest-panel #quest-submit{background:#75c9a2;white-space:nowrap;flex:none}.quest-answer-fields button{font-size:14px}
@media(max-height:600px){.quest-launch{top:65px;right:72px;font-size:12px;padding:6px 10px}.quest-modal{padding:8px}.quest-panel{height:100%;border-radius:12px}.quest-panel header{padding:5px 12px}.quest-panel h2{font-size:18px}.quest-goal{font-size:14px;padding:5px 12px}.quest-body{padding:6px 12px;gap:10px;grid-template-columns:1fr 1fr}.quest-panel footer{padding:5px 12px}.quest-panel footer p{font-size:12px;margin:0 0 3px}.quest-map-hint{font-size:11px}.quest-clue h3{font-size:14px}.quest-clue p{font-size:13px}.quest-answer-fields input{width:100px}.quest-answer-fields{gap:4px;font-size:12px}.quest-answer-fields button{font-size:12px;padding:4px 7px}.quest-map-panel canvas{max-height:100%}}
@media(max-width:600px) and (orientation:portrait){.quest-body{grid-template-columns:1fr;overflow:auto}.quest-map-panel canvas{min-height:220px}.quest-clues{overflow:visible}.quest-panel form{align-items:flex-end}.quest-launch{top:140px;right:12px}.quest-answer-fields input{width:100px}}

.quest-launch,.quest-panel button,.quest-map-panel canvas{-webkit-tap-highlight-color:transparent}
.quest-map-panel>[hidden]{display:none}.quest-map-panel>button{align-self:flex-start;margin-bottom:5px;min-height:36px;font-size:13px}.quest-options{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:5px;flex:1}.quest-panel .quest-visual-choice{display:flex;align-items:center;justify-content:center;gap:6px;padding:3px 8px;flex:none}.quest-visual-choice>span{font-size:14px;flex:none}.quest-map-panel .quest-visual-choice canvas{width:calc(100% - 70px);max-width:250px;height:auto;min-height:0;flex:none;cursor:pointer}.quest-digit-slots{font-weight:800;letter-spacing:3px;white-space:nowrap}
.quest-options{display:grid;grid-template-columns:1fr 1fr;align-content:start}.quest-panel .quest-visual-choice{flex-direction:column;min-width:0}.quest-map-panel .quest-visual-choice canvas{width:100%;max-width:250px}.quest-visual-choice>span{font-size:15px}
@media(max-width:900px){.quest-options{grid-template-columns:1fr}.quest-panel .quest-visual-choice{flex-direction:row}.quest-map-panel .quest-visual-choice canvas{width:calc(100% - 62px)}}
.quest-map-panel .quest-visual-choice canvas{max-height:none;aspect-ratio:320/145}
@media(max-width:900px){.quest-panel .quest-visual-choice{min-height:116px}.quest-map-panel .quest-visual-choice canvas{height:100px}}

/* browser-controls.css */
html,body{overscroll-behavior:none}
#game-shell,#game-shell *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#game-shell img,#game-shell a,#game-shell canvas{-webkit-user-drag:none}
#arena,#world3d,#joystick,.arena-wrap{touch-action:none;overscroll-behavior:none}
#game-shell button{touch-action:manipulation}
#game-shell input,#game-shell textarea,#game-shell [contenteditable="true"]{user-select:text;-webkit-user-select:text}
#fullscreen-toggle{position:fixed;top:14px;right:72px;z-index:110;min-height:44px;padding:7px 13px;border:2px solid #ddcda5;border-radius:9px;background:#23443ef0;color:#fff9de;font:700 15px "Malgun Gothic",sans-serif;cursor:pointer;box-shadow:0 2px 5px #182c4033;touch-action:manipulation}
#fullscreen-toggle:hover{background:#315d50}
#fullscreen-toggle:focus-visible{outline:3px solid #ffce60;outline-offset:3px}
body[data-scene=select] #fullscreen-toggle{position:static;flex:none;align-self:center;min-height:44px;padding:6px 9px;font-size:13px;box-shadow:none}
#fullscreen-status{position:fixed;top:63px;right:72px;z-index:111;border-radius:6px;background:#18383eee;color:#fff4cc;font-size:13px;pointer-events:none}
#fullscreen-status:not(:empty){padding:7px 11px}
@media(max-width:600px){#fullscreen-toggle{top:10px;right:62px;font-size:13px;padding:6px 9px}#fullscreen-status{right:62px}}

@media(max-height:560px) and (orientation:landscape){body:is([data-scene=running],[data-scene=paused],[data-scene=choice]) #fullscreen-toggle{top:calc(104px + env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}body:is([data-scene=running],[data-scene=paused],[data-scene=choice]) #fullscreen-status{top:calc(152px + env(safe-area-inset-top));right:18px}}
@media(max-height:560px) and (orientation:landscape){body[data-scene=choice] :is(#fullscreen-toggle,#fullscreen-status){display:none}}

/* hud-portrait.css */
/* The face sits in front of the left end of the health frame. */
.hud-left{width:264px}
.hud-left .health-block{position:relative;display:flex;align-items:center;min-height:66px;margin-left:26px;padding:10px 12px 10px 38px;border-radius:32px 12px 12px 32px;overflow:visible}
.health-meters{flex:1;min-width:0}
#hud-portrait-frame{position:absolute;z-index:2;left:-32px;top:50%;transform:translateY(-50%);width:84px;height:84px;overflow:hidden;border:4px solid #ebc66f;border-radius:50%;background:#f6eddb;box-shadow:0 0 0 3px var(--ink,#203c32),0 5px 0 #172d294d}
#hud-portrait{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transform-origin:center;image-rendering:auto}
.health-meters .meter-label{padding-left:16px;margin:0 0 6px;font-size:13px;line-height:19px;white-space:nowrap}
.health-meters #hp-text{font-size:12px;font-weight:700}
.health-meters #hp-bar{height:14px}
.hud-left .region{margin-top:18px}
@media(max-height:560px) and (orientation:landscape){
  .hud-left,.touch-mode .hud-left{width:220px;top:calc(16px + env(safe-area-inset-top))}
  .hud-left .health-block{min-height:50px;margin-left:18px;padding:6px 8px 6px 30px;border-radius:25px 10px 10px 25px}
  #hud-portrait-frame{width:60px;height:60px;left:-22px;border-width:3px;box-shadow:0 0 0 2px var(--ink,#203c32),0 3px 0 #172d294d}
  .health-meters .meter-label{padding-left:10px;margin-bottom:4px;font-size:11px;line-height:14px}
  .health-meters #hp-text{font-size:11px}
  .health-meters #hp-bar{height:12px}
  .hud-left .region{margin-top:11px}
}

/* /cached/844fc47de0e256ad4ea2/assets/ui-icons/portraits/framing.css */
/* Fit the original artwork inside the HUD circle; source images stay intact. */
#hud-portrait[data-sprite="001"]{transform:translate(0.00%,0.00%) scale(1.100)}
#hud-portrait[data-sprite="002"]{transform:translate(2.10%,2.10%) scale(1.074)}
#hud-portrait[data-sprite="003"]{transform:translate(1.23%,0.00%) scale(1.050)}
#hud-portrait[data-sprite="004"]{transform:translate(2.20%,-0.44%) scale(1.128)}
#hud-portrait[data-sprite="005"]{transform:translate(-2.13%,1.28%) scale(1.091)}
#hud-portrait[data-sprite="006"]{transform:translate(-1.72%,0.00%) scale(1.100)}
#hud-portrait[data-sprite="007"]{transform:translate(2.60%,-5.50%) scale(1.500)}
#hud-portrait[data-sprite="008"]{transform:translate(0.00%,-0.46%) scale(1.178)}
#hud-portrait[data-sprite="009"]{transform:translate(0.92%,0.46%) scale(1.178)}
#hud-portrait[data-sprite="010"]{transform:translate(-0.41%,-0.41%) scale(1.057)}
#hud-portrait[data-sprite="011"]{transform:translate(0.00%,2.76%) scale(1.178)}
#hud-portrait[data-sprite="012"]{transform:translate(0.00%,-0.89%) scale(1.138)}
#hud-portrait[data-sprite="013"]{transform:translate(-1.16%,1.73%) scale(1.479)}
#hud-portrait[data-sprite="014"]{transform:translate(0.55%,4.43%) scale(1.416)}
#hud-portrait[data-sprite="015"]{transform:translate(0.00%,0.56%) scale(1.431)}
#hud-portrait[data-sprite="016"]{transform:translate(1.49%,-0.99%) scale(1.268)}
#hud-portrait[data-sprite="017"]{transform:translate(0.46%,-0.46%) scale(1.189)}
#hud-portrait[data-sprite="018"]{transform:translate(-3.50%,0.44%) scale(1.119)}
#hud-portrait[data-sprite="019"]{transform:translate(1.82%,0.46%) scale(1.168)}
#hud-portrait[data-sprite="020"]{transform:translate(2.84%,-0.47%) scale(1.210)}
#hud-portrait[data-sprite="021"]{transform:translate(1.02%,-1.53%) scale(1.305)}
#hud-portrait[data-sprite="022"]{transform:translate(0.00%,2.41%) scale(1.233)}
#hud-portrait[data-sprite="023"]{transform:translate(0.49%,0.49%) scale(1.256)}
#hud-portrait[data-sprite="024"]{transform:translate(0.00%,0.51%) scale(1.318)}
#hud-portrait[data-sprite="025"]{transform:translate(0.00%,0.00%) scale(1.292)}
#hud-portrait[data-sprite="026"]{transform:translate(1.39%,-0.46%) scale(1.189)}
#hud-portrait[data-sprite="027"]{transform:translate(0.89%,-0.44%) scale(1.138)}
#hud-portrait[data-sprite="028"]{transform:translate(1.37%,0.46%) scale(1.168)}
#hud-portrait[data-sprite="029"]{transform:translate(1.81%,0.45%) scale(1.158)}
#hud-portrait[data-sprite="030"]{transform:translate(0.00%,0.44%) scale(1.119)}
#hud-portrait[data-sprite="031"]{transform:translate(0.94%,0.00%) scale(1.199)}
#hud-portrait[data-sprite="032"]{transform:translate(0.00%,0.00%) scale(1.158)}
#hud-portrait[data-sprite="033"]{transform:translate(0.00%,0.00%) scale(1.199)}
#hud-portrait[data-sprite="034"]{transform:translate(1.81%,0.00%) scale(1.158)}
#hud-portrait[data-sprite="035"]{transform:translate(0.46%,0.00%) scale(1.168)}
#hud-portrait[data-sprite="036"]{transform:translate(1.37%,0.00%) scale(1.168)}
#hud-portrait[data-sprite="037"]{transform:translate(0.51%,1.03%) scale(1.318)}
#hud-portrait[data-sprite="038"]{transform:translate(0.49%,2.45%) scale(1.256)}
#hud-portrait[data-sprite="039"]{transform:translate(0.50%,0.50%) scale(1.280)}
#hud-portrait[data-sprite="040"]{transform:translate(0.50%,0.50%) scale(1.280)}
#hud-portrait[data-sprite="041"]{transform:translate(-1.01%,0.00%) scale(1.292)}
#hud-portrait[data-sprite="042"]{transform:translate(-0.90%,-0.90%) scale(1.158)}
#hud-portrait[data-sprite="043"]{transform:translate(0.48%,-0.48%) scale(1.233)}
#hud-portrait[data-sprite="044"]{transform:translate(1.42%,-0.95%) scale(1.210)}
#hud-portrait[data-sprite="045"]{transform:translate(1.42%,0.00%) scale(1.210)}
#hud-portrait[data-sprite="046"]{transform:translate(1.47%,-0.49%) scale(1.256)}
#hud-portrait[data-sprite="047"]{transform:translate(-2.13%,0.00%) scale(1.091)}
#hud-portrait[data-sprite="048"]{transform:translate(0.99%,-0.50%) scale(1.268)}
#hud-portrait[data-sprite="049"]{transform:translate(1.01%,1.01%) scale(1.292)}
#hud-portrait[data-sprite="050"]{transform:translate(0.49%,0.98%) scale(1.256)}
#hud-portrait[data-sprite="051"]{transform:translate(0.45%,0.45%) scale(1.148)}
#hud-portrait[data-sprite="052"]{transform:translate(0.00%,-0.95%) scale(1.221)}
#hud-portrait[data-sprite="053"]{transform:translate(-1.87%,0.94%) scale(1.199)}
#hud-portrait[data-sprite="054"]{transform:translate(0.47%,0.00%) scale(1.199)}
#hud-portrait[data-sprite="055"]{transform:translate(-1.08%,1.63%) scale(1.387)}
#hud-portrait[data-sprite="056"]{transform:translate(0.47%,0.47%) scale(1.210)}
#hud-portrait[data-sprite="057"]{transform:translate(0.00%,0.00%) scale(1.268)}
#hud-portrait[data-sprite="058"]{transform:translate(0.52%,0.52%) scale(1.331)}
#hud-portrait[data-sprite="059"]{transform:translate(0.50%,0.50%) scale(1.280)}
#hud-portrait[data-sprite="060"]{transform:translate(-1.49%,-0.99%) scale(1.268)}
#hud-portrait[data-sprite="061"]{transform:translate(2.10%,0.00%) scale(1.345)}
#hud-portrait[data-sprite="062"]{transform:translate(-2.76%,0.00%) scale(1.178)}
#hud-portrait[data-sprite="063"]{transform:translate(0.52%,2.08%) scale(1.331)}
#hud-portrait[data-sprite="064"]{transform:translate(0.00%,-1.64%) scale(1.401)}
#hud-portrait[data-sprite="065"]{transform:translate(0.48%,2.89%) scale(1.233)}
#hud-portrait[data-sprite="066"]{transform:translate(-0.49%,0.49%) scale(1.256)}
#hud-portrait[data-sprite="067"]{transform:translate(-0.47%,0.00%) scale(1.199)}
#hud-portrait[data-sprite="068"]{transform:translate(-0.46%,0.00%) scale(1.168)}
#hud-portrait[data-sprite="069"]{transform:translate(-0.48%,0.48%) scale(1.233)}
#hud-portrait[data-sprite="070"]{transform:translate(0.50%,-1.50%) scale(1.280)}
#hud-portrait[data-sprite="071"]{transform:translate(0.00%,0.50%) scale(1.268)}
#hud-portrait[data-sprite="072"]{transform:translate(0.46%,0.93%) scale(1.189)}
#hud-portrait[data-sprite="073"]{transform:translate(0.96%,0.48%) scale(1.233)}
#hud-portrait[data-sprite="074"]{transform:translate(1.81%,1.36%) scale(1.158)}
#hud-portrait[data-sprite="075"]{transform:translate(1.91%,0.48%) scale(1.221)}
#hud-portrait[data-sprite="076"]{transform:translate(0.00%,-1.23%) scale(1.050)}
#hud-portrait[data-sprite="077"]{transform:translate(1.46%,-0.97%) scale(1.244)}
#hud-portrait[data-sprite="078"]{transform:translate(-0.95%,-0.47%) scale(1.210)}
#hud-portrait[data-sprite="079"]{transform:translate(0.00%,1.91%) scale(1.221)}
#hud-portrait[data-sprite="080"]{transform:translate(2.06%,1.03%) scale(1.318)}
#hud-portrait[data-sprite="081"]{transform:translate(0.00%,0.50%) scale(1.280)}
#hud-portrait[data-sprite="082"]{transform:translate(0.47%,-0.47%) scale(1.210)}
#hud-portrait[data-sprite="083"]{transform:translate(0.52%,0.52%) scale(1.331)}
#hud-portrait[data-sprite="084"]{transform:translate(0.00%,-1.43%) scale(1.221)}
#hud-portrait[data-sprite="085"]{transform:translate(0.49%,0.49%) scale(1.256)}
#hud-portrait[data-sprite="086"]{transform:translate(1.47%,-0.49%) scale(1.256)}
#hud-portrait[data-sprite="087"]{transform:translate(1.53%,-1.02%) scale(1.305)}
#hud-portrait[data-sprite="088"]{transform:translate(1.53%,-0.51%) scale(1.305)}
#hud-portrait[data-sprite="089"]{transform:translate(1.00%,1.50%) scale(1.280)}
#hud-portrait[data-sprite="090"]{transform:translate(0.00%,0.50%) scale(1.280)}
#hud-portrait[data-sprite="091"]{transform:translate(-2.10%,0.00%) scale(1.345)}
#hud-portrait[data-sprite="092"]{transform:translate(0.00%,0.00%) scale(1.318)}
#hud-portrait[data-sprite="093"]{transform:translate(1.02%,1.53%) scale(1.305)}
#hud-portrait[data-sprite="094"]{transform:translate(0.49%,4.91%) scale(1.256)}
#hud-portrait[data-sprite="095"]{transform:translate(0.49%,2.45%) scale(1.256)}
#hud-portrait[data-sprite="096"]{transform:translate(-0.50%,1.98%) scale(1.268)}
#hud-portrait[data-sprite="097"]{transform:translate(0.46%,0.46%) scale(1.168)}
#hud-portrait[data-sprite="098"]{transform:translate(-0.95%,0.00%) scale(1.221)}
#hud-portrait[data-sprite="099"]{transform:translate(0.00%,0.00%) scale(1.372)}
#hud-portrait[data-sprite="100"]{transform:translate(0.51%,-1.53%) scale(1.305)}
