@font-face{font-family:GameSerif;src:local('Noto Serif CJK KR'),local('Batang')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101d20;color:#efe5cf;font-family:'Malgun Gothic','Segoe UI',sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #88714c;background:#182628;transition:background .16s,border-color .16s,transform .16s}button:hover{border-color:#f0c886;background:#34403a}button:active{transform:translateY(1px)}button:disabled{opacity:.38;cursor:default}button:focus-visible{outline:2px solid #ffdb93;outline-offset:3px}svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}kbd{font:10px 'Segoe UI',sans-serif;color:#f6e4c2}small{font-size:11px}.hidden{display:none!important}#world,#overlay,#vignette,#damage-flash{position:fixed;inset:0;width:100%;height:100%}#world{outline:none;touch-action:none}#overlay,#vignette,#damage-flash{pointer-events:none}#vignette{background:radial-gradient(ellipse at 50% 45%,transparent 45%,#06131980 100%)}#damage-flash{opacity:0;box-shadow:inset 0 0 100px 40px #c53034}#game-ui{position:fixed;inset:0;pointer-events:none}#game-ui button,#hud,#quest,#map-wrap{pointer-events:auto}#brand{position:absolute;top:24px;left:28px;display:flex;gap:12px;align-items:center;text-shadow:0 2px 8px #000}#brand .crest{width:33px;height:40px;color:#e1b77b}#brand small{font-size:9px;letter-spacing:3px;color:#d8c7a2}#brand em{color:#ecb96f;margin-left:4px;font-style:normal}#brand h1{font-family:GameSerif,serif;font-size:19px;font-weight:400;margin:5px 0}#top-buttons{position:absolute;right:24px;bottom:158px;display:flex;gap:6px}#top-buttons button{background:#142425c9;width:30px;height:29px;color:#d1c0a2}#target-panel{position:absolute;top:26px;left:50%;transform:translateX(-50%);text-align:center;width:270px;filter:drop-shadow(0 2px 4px #061016)}#target-panel strong{display:block;font-size:16px;margin:4px}#target-role{color:#d3b986;letter-spacing:2px;font-size:9px}.target-track,.break-track{height:7px;background:#121c22;border:1px solid #604f48;overflow:hidden}.target-track i{display:block;background:linear-gradient(90deg,#713938,#db7660);height:100%;transition:width .12s}.break-track{height:3px;margin:3px 35px;border:0}.break-track i{display:block;background:#e8c684;height:100%}#target-state{font-size:10px;color:#f0b799}#quest{position:absolute;top:25px;right:25px;width:230px;padding:0 0 0 17px;border-left:2px solid #ad8650;background:linear-gradient(90deg,#101e2470,transparent)}.eyebrow{font-size:10px;letter-spacing:2px;color:#d2b783}#quest h2{font-size:17px;font-family:GameSerif,serif;font-weight:400;margin:9px 0 7px}#quest p{font-size:11px;line-height:1.8;color:#cecfc0;margin:0 0 10px}#event-list button{display:flex;text-align:left;align-items:center;gap:7px;width:100%;background:transparent;border:0;padding:5px 0;color:#afc0b7;font-size:11px}#event-list button:hover{color:#ffdb99}#event-list button.complete{color:#dabb7c}#event-list i{display:inline-block;border:1px solid currentColor;width:6px;height:6px;transform:rotate(45deg)}#event-list .complete i{background:#dabb7c}#event-list small{margin-left:auto;font-size:9px;opacity:.7}#map-toggle{border:0;border-top:1px solid #b8975130;background:transparent;margin-top:8px;padding:8px 0 0;font-size:10px;color:#b1baa8}#map-toggle span{margin-left:8px}#map-wrap{position:absolute;right:24px;bottom:197px;width:160px;height:105px;border:1px solid #ad8b4945;background:#09151bd9;clip-path:polygon(0 9px,9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}#minimap{width:100%;height:100%}#encounter{position:absolute;top:113px;left:50%;transform:translateX(-50%);width:270px;text-align:center;color:#f1cd87;text-shadow:0 1px 5px #000}#encounter>span{font-size:13px}#encounter>div{height:3px;background:#192426;margin:7px 20px}#encounter i{display:block;background:#d7b377;height:100%}#encounter small{color:#d7ddd2;font-size:10px}#hud{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:1360px;display:flex;align-items:flex-end;gap:17px;filter:drop-shadow(0 4px 10px #061317);background:linear-gradient(0deg,#0a181adb,transparent);padding:8px 10px 2px}#vitals{display:flex;align-items:center;width:250px;min-width:210px;padding-bottom:16px;gap:10px}.portrait{width:50px;height:63px;color:#d7b880;background:linear-gradient(#304447,#0d1b1d);border:1px solid #aa8953;position:relative;padding:5px}.portrait strong{position:absolute;bottom:-9px;left:14px;background:#1b2a2c;color:#ead0a2;border:1px solid #aa8953;border-radius:50%;width:23px;height:23px;text-align:center;line-height:21px;font:14px Georgia}.vital-body{flex:1;min-width:140px}.vital-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:6px}.vital-label b{font-weight:400;color:#e2dec9}.vital-label span{color:#ebc981;font-size:10px}.bar{height:16px;background:#192121;position:relative;overflow:hidden;border:1px solid #93806070;margin:3px 0}.bar i{display:block;height:100%;transition:width .13s}.bar.hp i{background:linear-gradient(90deg,#692b2d,#be6751)}.bar.mp{height:9px}.bar.mp i{background:linear-gradient(90deg,#264b63,#6f9dac)}.bar span{position:absolute;inset:0;text-align:center;font-size:10px;line-height:14px;letter-spacing:.2px;text-shadow:0 1px 2px #000}.bar.mp span{font-size:8px;line-height:8px}.xp{height:2px;background:#102c30;margin:4px 0}.xp i{display:block;background:#d0ae6c;height:100%}#stats-mini{font-size:9px;color:#adb8ac}#action-deck{flex:1;min-width:420px;max-width:650px}#combat-resource{height:26px;display:flex;align-items:center;gap:18px;padding:0 5px;color:#c6c6b4;font-size:9px}#combo-pips,#dodge-pips{display:flex;align-items:center;gap:6px}#combo-pips i,#dodge-pips i{display:inline-block;width:7px;height:7px;background:#1a3138;border:1px solid #7d826b;transform:rotate(45deg)}#combo-pips i.on{background:#e9b974;box-shadow:0 0 9px #e49d50}#dodge-pips i.on{background:#9eccd4;border-color:#b3e6e8}#ult-label{margin-left:auto;color:#d1ad65}#ult-label b{font-weight:400;color:#f4d898}#skills{display:flex;gap:5px}.skill{position:relative;background:linear-gradient(155deg,#31423e,#101d23);height:69px;min-width:45px;flex:1;border:1px solid #95805288;border-bottom:2px solid #a28a59;overflow:hidden;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:5px 2px 3px}.skill>span{width:28px;height:28px;color:#e7d9b6}.skill kbd{position:absolute;left:5px;top:4px;font-size:9px;color:#e9dbbb;z-index:2}.skill b{font-weight:400;font-size:10px;z-index:1;white-space:nowrap}.skill small{font-size:9px;color:#95a8a6;min-height:10px;z-index:1}.skill .cd{position:absolute;bottom:0;left:0;width:100%;background:#041117b3;pointer-events:none}.skill em{font:17px Georgia;position:absolute;top:21px;left:0;right:0;text-align:center;z-index:2;color:#fff2cb;pointer-events:none}.skill.ready{border-color:#eccc7b;box-shadow:inset 0 0 15px #ad6d3538,0 0 14px #db9b2740}.skill.ultimate>span{color:#d7ae57}.skill.potion>span{color:#e8a88d}.skill.mana>span{color:#9bc7d3}#help{font-size:9px;color:#acb3a7;display:flex;justify-content:space-between;margin-top:8px;white-space:nowrap}#help span{color:#d1caba}#utility{width:112px;display:flex;gap:6px;flex-wrap:wrap;padding-bottom:16px}#utility button{position:relative;width:50px;height:57px;background:#16262bbf;border-color:#9a855a77;display:flex;flex-direction:column;align-items:center;padding:5px}#utility button span{width:25px;height:25px;color:#d4c29b}#utility button kbd{position:absolute;left:4px;top:3px}#utility b{font-size:9px;font-weight:400;margin-top:5px}#utility .available{border-color:#f1c673;box-shadow:0 0 12px #d5a84b6e}#elapsed{width:100%;text-align:right;color:#909e91;letter-spacing:2px;font:10px Georgia;margin-top:3px}#context-prompt{position:absolute;left:50%;bottom:176px;transform:translateX(-50%);background:#111f25e6;border:1px solid #c7a363;padding:9px 19px;font-size:12px;pointer-events:auto;cursor:pointer;text-align:center}#context-prompt kbd{border:1px solid #968158;padding:2px 5px;margin-right:8px}#combo-hint{position:absolute;left:50%;bottom:151px;transform:translateX(-50%);color:#f0d5a2;font-size:11px;text-shadow:0 2px 5px #000}#toast-stack{position:absolute;left:26px;bottom:165px;width:285px;display:flex;flex-direction:column;gap:7px;pointer-events:none}.toast{font-size:11px;line-height:1.6;background:linear-gradient(90deg,#14272bef,#14272b8c);border-left:2px solid #9a9879;padding:9px 12px;animation:toast-in .25s ease}.toast.rare{border-color:#8dddec}.toast.gold{border-color:#f1c879}.toast.danger{border-color:#e48070}.toast button{pointer-events:auto;margin-left:6px;font-size:10px;padding:2px 6px;background:#3f4940}.toast b{display:block;font-weight:400;font-size:12px;color:#e6d4a8}#announcement{position:absolute;top:28%;left:50%;transform:translateX(-50%);text-align:center;min-width:350px;text-shadow:0 3px 15px #000}#announcement small{display:block;font-size:10px;letter-spacing:4px;color:#d8b773;margin-bottom:12px}#announcement strong{font-family:GameSerif,serif;font-size:34px;font-weight:400;color:#fff1d1}#announcement strong:after{content:'';display:block;margin:17px auto;width:100px;height:1px;background:linear-gradient(90deg,transparent,#e0bf82,transparent)}.screen{position:fixed;inset:0;z-index:10;display:flex;align-items:center}.title #game-ui{display:none}#title-screen{background:linear-gradient(90deg,#07141bf0 0%,#0b1c20cf 35%,#0b202536 72%,#0a1b2030);padding:5vw}.title-art{width:430px;max-width:55vw}.title-art>.eyebrow{letter-spacing:3px;font-size:10px;color:#ddc18c}.title-art h2{font:400 58px GameSerif,serif;letter-spacing:5px;margin:24px 0 12px;color:#ffefd1}.title-sub{display:flex;align-items:center;gap:16px;font-size:14px;letter-spacing:8px;color:#d9ad6b}.title-sub span{height:1px;width:42px;background:#b88a51}.title-desc{font-size:12px;line-height:2;color:#bfcabf;margin:22px 0}.class-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#102429ac;border:1px solid #586b606e;padding:12px 14px;margin:8px 0}.class-card.selected{border-color:#d4ad6b;background:linear-gradient(90deg,#654f328f,#193036aa)}.class-card>span{width:34px;height:34px;color:#ddc28d}.class-card b{display:block;font-size:14px;font-weight:400;margin-bottom:5px}.class-card small{font-size:10px;color:#aebfb7}.primary{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(100deg,#d9bb80,#a7834e);color:#142025;font-weight:bold;letter-spacing:2px;border:1px solid #f2d8a0;padding:17px 24px;min-width:220px;margin-top:19px}.primary:hover{background:linear-gradient(100deg,#f1d599,#cfa567);border-color:#ffe8bc;box-shadow:0 0 24px #c5993729}#start{width:100%}.primary span{font-size:23px}.title-note{font-size:10px;line-height:1.9;color:#9cab9f;margin-top:18px}.title-caption{position:absolute;right:7%;bottom:10%;text-align:right;text-shadow:0 3px 7px #000}.title-caption>span{font-size:9px;letter-spacing:3px;color:#d3bd87}.title-caption b{font:24px/1.6 GameSerif,serif;display:block;margin:12px 0;color:#e9dbbf}.title-caption>small{font-size:9px;color:#9faaa0;letter-spacing:2px}#modal{background:#06131bb8;backdrop-filter:blur(7px);justify-content:center;padding:30px}.modal-card{position:relative;width:760px;max-height:calc(100vh - 60px);overflow-y:auto;background:linear-gradient(150deg,#243738,#101f26);border:1px solid #b99a609e;box-shadow:0 20px 90px #0009;padding:35px 38px}.close{position:absolute;top:10px;right:11px;width:28px;height:28px;border:0;background:transparent;font:24px Georgia;color:#cfc4a7}.modal-card h2{font:30px GameSerif,serif;font-weight:400;margin:12px 0 20px}.modal-card h3{font-size:14px;font-weight:400}.modal-card p{font-size:12px;line-height:1.9;color:#c4cfc4}.inventory-layout{display:grid;grid-template-columns:200px 1fr;gap:24px}.equip-slot{border:1px solid #8a7d554a;padding:10px;margin-bottom:7px;display:flex;gap:10px;align-items:center;background:#101e2455}.equip-slot .item-icon{width:35px;height:35px;color:#beab7c}.equip-slot small{display:block;color:#92a59f;font-size:9px;margin-bottom:4px}.equip-slot b{display:block;font-size:11px;font-weight:400}.stat-table{font-size:11px;line-height:2;color:#b6c4b9;margin-top:16px}.stat-table div{display:flex;justify-content:space-between}.stat-table span{color:#e6d6b4}.item-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;padding-right:4px}.item-card{display:flex;gap:11px;text-align:left;border:1px solid #7a816446;background:#0e20277f;padding:12px}.item-card .item-icon{width:38px;height:38px;min-width:38px;color:#c8b789;padding:3px;border:1px solid #8a97714d}.item-card b{font-size:12px;font-weight:400;display:block;margin-bottom:5px}.item-card small{display:block;font-size:10px;color:#9eafa9;line-height:1.7}.item-card .compare{font-size:10px;color:#b6d0a2;margin:4px 0}.item-card .effect{font-size:10px;color:#dfbe7e}.rarity-common{color:#d4d9c6}.rarity-uncommon{color:#acd1a6}.rarity-rare{color:#93d0e1}.rarity-epic{color:#dfb5e7}.gold{color:#ebc783}.empty{font-size:12px;padding:25px 10px;color:#99aca4}.tutorial-note{font-size:11px;line-height:1.8;border-top:1px solid #84745357;margin-top:19px;padding-top:15px;color:#adbcaf}.shop-grid,.talent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shop-card,.talent-card{padding:17px 14px;background:#17282c;border:1px solid #8c774c7d}.shop-card p,.talent-card p{font-size:11px}.shop-card button{padding:8px;font-size:11px;width:100%}.shop-icon{width:42px;height:42px;color:#cfb887;margin:0 auto}.shop-card h3{text-align:center}.talent-card{cursor:pointer;text-align:left;display:block}.talent-card span{display:block;width:36px;height:36px;color:#d5b875;margin-bottom:12px}.talent-card.selected{border-color:#e4bd7b}.talent-card small{color:#d3b574}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.modal-actions button{padding:12px 20px;min-width:160px}.modal-actions .primary{margin:0}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.results div{font-size:11px;color:#b2bfae;background:#15282c;padding:17px;text-align:center}.results strong{display:block;font:28px Georgia;color:#eac783;margin-top:10px}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;font-size:11px;color:#bac8ba}.key-grid kbd{display:inline-block;min-width:55px;color:#eacb87}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.route-card{text-align:left;padding:18px;background:#152a2d}.route-card h3{color:#ecd29b}.route-card p{font-size:11px}.route-card small{color:#b1c9be}.warning-copy{color:#edb293!important}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#66766a;border-radius:4px}@keyframes toast-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@media(min-width:1600px){#hud{max-width:1400px;bottom:36px}#brand{top:35px;left:40px}#quest{top:35px;right:40px;width:260px}.skill{height:80px}.skill>span{width:32px;height:32px}.skill b{font-size:11px}#action-deck{max-width:760px}#vitals{width:300px}}
@media(max-width:1100px){#hud{gap:10px;width:calc(100% - 26px)}#vitals{width:205px;min-width:175px}.portrait{width:38px;height:54px}.portrait strong{left:8px}#utility{width:47px}#utility button{height:36px;min-width:43px;width:43px;padding:3px;flex-direction:row;gap:4px}#utility button span{width:20px;height:20px}#utility button kbd{display:none}#utility b{font-size:8px;margin:0}#utility small{display:none}#quest{width:200px;right:17px}#brand{left:18px}#target-panel{width:230px}#map-wrap{width:128px;height:85px}#toast-stack{width:230px;font-size:10px}#help{font-size:8px}}
@media(max-width:760px){#brand{left:15px;top:15px}#brand small{font-size:7px;letter-spacing:2px}#brand h1{font-size:15px}#brand .crest{width:22px;height:30px}#quest{top:76px;right:12px;width:150px;border-left-width:1px;padding-left:10px}#quest .eyebrow{display:none}#quest h2{font-size:13px;margin:3px 0}#quest p{font-size:9px;line-height:1.6}#event-list button{font-size:9px;padding:4px 0}#event-list small{display:none}#target-panel{top:18px;right:14px;left:auto;transform:none;width:180px}#target-panel strong{font-size:12px}#target-panel small{font-size:8px}#target-state{font-size:9px}#encounter{top:70px;left:19px;transform:none;width:180px}#encounter>span{font-size:11px}#encounter small{font-size:9px}#hud{bottom:13px;flex-wrap:wrap;gap:6px;padding:0;width:calc(100% - 22px)}#vitals{position:absolute;bottom:110px;left:2px;width:200px;padding:0;gap:8px}.portrait{width:34px;height:47px}.vital-label{font-size:9px}.vital-label span{font-size:9px}.bar{height:13px}.bar span{font-size:9px;line-height:11px}#stats-mini{display:none}#action-deck{width:100%;min-width:0;flex-basis:100%;max-width:none}.skill{height:64px;min-width:0;padding-top:11px}.skill b{font-size:9px}.skill>span{width:25px;height:25px}.skill small{font-size:8px}.skill kbd{font-size:8px;top:3px;left:4px}#skills{gap:4px}#utility{position:absolute;right:0;bottom:112px;width:auto;gap:5px;padding:0}#utility button{height:32px;width:45px}#help{font-size:8px;justify-content:center;gap:12px}#help span{display:none}#combat-resource{height:22px;gap:12px}#map-wrap{display:none}#top-buttons{right:14px;bottom:168px}#toast-stack{left:14px;bottom:188px;width:205px;gap:4px}.toast{font-size:9px;padding:6px 8px}.toast b{font-size:10px}#context-prompt{bottom:193px;max-width:90%;font-size:10px;padding:7px 10px}#combo-hint{bottom:177px;font-size:9px}#announcement{top:38%;min-width:260px}#announcement strong{font-size:26px}.title-art{width:360px;max-width:83vw}.title-art h2{font-size:43px;letter-spacing:3px;margin-top:20px}.title-art>.eyebrow{font-size:9px;letter-spacing:2px}.title-desc{font-size:11px;margin:17px 0}.title-caption{display:none}#title-screen{padding:7vw;background:linear-gradient(90deg,#07141bf0,#0b1c20a0 85%)}.class-card{padding:10px}.class-card b{font-size:12px}.class-card small{font-size:9px}.primary{padding:14px 18px}.title-note{font-size:9px}#modal{padding:13px}.modal-card{padding:28px 20px;max-height:calc(100vh - 26px)}.modal-card h2{font-size:24px}.inventory-layout{grid-template-columns:1fr;gap:17px}.equipment-list{display:grid;grid-template-columns:1fr 1fr;gap:5px}.equip-slot{margin:0;padding:7px}.equip-slot b{font-size:10px}.equip-slot .item-icon{width:25px;height:25px}.stat-table{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;font-size:10px}.item-list{max-height:250px}.shop-grid,.talent-grid,.route-grid{grid-template-columns:1fr}.shop-card{display:grid;grid-template-columns:40px 1fr 1fr;gap:6px;align-items:center}.shop-card h3{font-size:12px}.shop-card p{grid-column:1/3;margin:0}.shop-card button{grid-column:3;grid-row:1/3;font-size:10px}.shop-icon{width:28px;height:28px}.talent-card{padding:12px}.talent-card span{float:left;margin:0 15px 8px 0}.talent-card h3{margin:2px}.talent-card p{margin:6px 0}.results{gap:5px}.results div{padding:12px 4px;font-size:9px}.results strong{font-size:22px}.key-grid{grid-template-columns:1fr;font-size:10px}.modal-actions button{min-width:120px;font-size:11px}.route-card{padding:12px}.route-card h3{margin:0}.route-card p{margin:6px 0}}
@media(max-height:600px){#title-screen{padding-top:23px;padding-bottom:23px}.title-art h2{font-size:39px;margin:12px 0}.title-desc{margin:12px 0}.class-card{padding:8px 12px}.title-note{margin:10px 0}.title-art .primary{margin-top:12px}.modal-card{padding-top:25px;padding-bottom:25px}}

/* Cycle 02: readable two-choice talents and brighter field labels. */
.talent-grid{grid-template-columns:repeat(2,1fr)}.talent-card{padding:16px}.talent-card>span{float:left;width:30px;height:30px;margin:0 12px 8px 0}.talent-card h3{margin:3px 0 10px}.talent-card p{clear:both;margin:10px 0;min-height:38px}#quest{background:linear-gradient(90deg,#102029c9,#0c222278)}#target-role{font-weight:600;letter-spacing:1px}#target-state{color:#ffd8bd}#encounter-info{display:block;line-height:1.6}
@media(max-width:760px){.talent-grid{grid-template-columns:1fr}.talent-card p{min-height:0}.talent-card>span{margin-bottom:0}}

/* Content pass 03: let the route reward explain the choice. */
.route-reward{border-top:1px solid #a88b484d;padding-top:12px;margin-top:12px;color:#e7ca91;display:grid;grid-template-columns:25px 1fr;gap:5px 8px}.route-reward svg{width:25px;height:25px;grid-row:span 2}.route-reward b{font-size:11px}.route-reward small{font-size:10px;color:#c0d0c5;line-height:1.6}.route-card .route-boon{color:#a9d2cf;font-size:10px;line-height:1.7;border-left:2px solid #819d8d;padding-left:8px}.equipped-effect{display:block!important;color:#b7cfc6!important;font-size:9px!important;line-height:1.6;margin-top:4px}.equip-slot{align-items:flex-start}.equip-slot>div{min-width:0}.route-grid{align-items:stretch}

/* v3 frontier: a readable route and a compact battle view. */
.journey-strip{display:flex;gap:6px;margin:16px 0;overflow-x:auto}.journey-step{flex:1;min-width:90px;padding:12px 9px;background:#213b3c;border-top:2px solid #d6b97a}.journey-step small{display:block;color:#dfc68d}.journey-step strong{font-size:12px}.journey-step.danger{border-color:#b7756d;opacity:.65}.outpost-list{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.outpost-list button{font-size:11px;padding:9px}#quest-text{white-space:pre-line}#quest{background:linear-gradient(90deg,#102323db,#10232355);border:0;border-left:2px solid #b39962}#brand{opacity:.85}#combo-hint{font-size:15px;text-shadow:0 2px 5px #000}.route-card h3 small{display:block;color:#d9ba7c;margin-top:5px}

.skill.queued{outline:2px solid #ffe2a0;box-shadow:0 0 18px #ecb55f70}.skill.queued em{font-size:12px;background:#172c28eb;color:#ffe6aa;top:30px;padding:4px}#start:disabled{opacity:.6;cursor:wait}

/* v3.1 generated art is presentation only; all labels/values/click targets remain live HTML. */
.game-icon{display:inline-block;position:relative;width:100%;height:100%;pointer-events:none;vertical-align:middle;flex-shrink:0}.game-icon>svg,.game-icon>.asset-icon{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.asset-icon{object-fit:contain;user-select:none}.asset-icon[hidden]{display:none}
.skill{height:88px;padding:3px 2px 4px;background:#0d2028}.skill>span{width:46px;height:46px;margin-top:3px}.skill kbd{background:#08171de8;padding:1px 3px;border-radius:2px;z-index:4}.skill em{top:23px;text-shadow:0 1px 4px #000,0 0 8px #000}.skill b,.skill small{position:relative;text-shadow:0 1px 3px #000}.skill .cd{z-index:1}.skill b,.skill small{z-index:2}.skill.queued em{top:28px;z-index:4}.skill.ready .asset-icon{filter:brightness(1.18)}
#utility button{height:69px;width:50px;padding:3px}#utility button span{width:38px;height:38px}#utility button kbd{z-index:2;background:#0b1d23c9;padding:1px 2px}#utility b{margin-top:3px}.class-card>span{width:46px;height:46px}
.modal-card{background:linear-gradient(#0b202514,#0b202514),url('../assets/ui-menu-panel.png') center/100% 100% no-repeat;background-color:#08212b;border:1px solid #b49458;padding:48px 44px;box-shadow:0 20px 100px #0008}.modal-card>.close{z-index:5;top:16px;right:18px;width:28px;height:28px;border-radius:50%;background:#081b24e8;line-height:22px}
.item-card .item-icon{width:54px;height:54px;min-width:54px;padding:0;border-color:#bc965b88;background:#08191f}.equip-slot .item-icon{width:46px;height:46px;min-width:46px}.shop-icon{width:62px;height:62px}.talent-card>span{width:46px;height:46px}.route-reward>.game-icon{width:42px;height:42px;grid-row:span 2}.route-reward{grid-template-columns:42px 1fr}
@media(max-width:760px){.skill{height:79px;padding-top:7px}.skill>span{width:37px;height:37px}#utility button{height:45px;width:45px}#utility button span{width:27px;height:27px}#utility b{display:none}.modal-card{padding:38px 27px}.equip-slot .item-icon{width:36px;height:36px;min-width:36px}.item-card .item-icon{width:44px;height:44px;min-width:44px}.shop-icon{width:38px;height:38px}#vitals{bottom:125px}#utility{bottom:126px}#toast-stack{bottom:204px}#top-buttons{bottom:186px}}

.menu-heading{display:flex;align-items:center;gap:12px}.menu-heading>.game-icon{width:34px;height:34px}

/* Nine-slice keeps decorative corners outside the readable scrolling surface. */
.modal-card{border:44px solid transparent;border-image:url('../assets/ui-menu-panel.png') 180 fill stretch;padding:10px 12px;background:#0b2028;overflow:hidden;max-height:calc(100vh - 60px)}
#modal-content{max-height:calc(100vh - 180px);overflow-y:auto;overscroll-behavior:contain;padding:0 8px 4px 0}
.modal-card>.close{top:2px;right:0;background:#081b24f2}
@media(max-width:760px){.modal-card{border-width:27px;padding:12px 8px;max-height:calc(100vh - 26px)}#modal-content{max-height:calc(100vh - 110px);padding-right:5px}.modal-card>.close{top:0;right:0}}
