:root{color-scheme:dark;--ink:#071a1e;--glass:rgba(7,23,27,.86);--line:rgba(183,202,185,.22);--gold:#dfc18a;--text:#f2efe4;--muted:#a8bbb7;--cyan:#75dbc9;--serif:'Noto Serif KR',Georgia,serif;--sans:'Noto Sans KR',system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:#061518;color:var(--text);font-family:var(--sans);font-size:16px}button{font:inherit;color:inherit;border:0;cursor:pointer}button:focus-visible,canvas:focus-visible{outline:2px solid #f3d498;outline-offset:3px}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}#game-shell{height:100dvh;display:flex;flex-direction:column}.topbar{height:76px;flex-shrink:0;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#0a1c20;border-bottom:1px solid #b79b5845;position:relative;z-index:5}.wordmark{display:flex;align-items:center;gap:12px;white-space:nowrap}.emblem{color:var(--gold);font-size:42px;font-weight:200}.wordmark strong{font-family:var(--serif);font-size:29px;font-weight:500;letter-spacing:.15em}.wordmark-sub{margin-left:14px;font-size:14px;letter-spacing:.08em;color:#c8cec0}.regions{align-self:stretch;display:flex;gap:32px}.regions button{position:relative;background:none;color:#b8c3bc;font-size:14px;white-space:nowrap;padding:0 3px}.regions button.active{color:#edcf94}.regions button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);box-shadow:0 -3px 16px #e6c58055}.top-actions{display:flex;align-items:center;gap:12px}.mode-label{color:#9cafa8;font-size:12px;margin-right:8px}.icon-button{height:32px;width:32px;background:transparent;border:1px solid #8ba79b40;border-radius:50%;font-size:16px}.icon-button:hover{background:#224037}#viewport{flex:1;min-height:0;position:relative;overflow:hidden;background:#172f2c}#game{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -110px 110px -25px #04181a,inset 0 50px 60px -40px #06151e}.glass{background:linear-gradient(135deg,rgba(14,34,36,.92),rgba(6,23,26,.82));border:1px solid var(--line);box-shadow:0 8px 28px #0003;backdrop-filter:blur(12px)}.player-panel{position:absolute;left:26px;top:26px;display:flex;align-items:center;gap:15px;padding:12px 16px 12px 12px;width:307px;border-left:2px solid #ccb47b;border-radius:3px}.portrait{position:relative;flex-shrink:0;width:58px;height:64px;border:1px solid #bbab7d66;background:radial-gradient(ellipse,#678d8355,transparent);overflow:visible}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 28%;transform:scale(1.1)}.portrait span{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);min-width:25px;max-width:62px;height:22px;padding:0 4px;text-align:center;font-size:11px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#cfb174;color:#162e2a;border:1px solid #f6dbac}.player-info{flex:1;min-width:0}.player-name{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.player-name strong{font-family:var(--serif);font-size:17px;font-weight:600}.player-name>span{color:#b4c5b9;font-size:12px}.resource{height:16px;position:relative;background:#030e1499;overflow:hidden;border:1px solid #a2bfb422}.resource i{position:absolute;inset:0 auto 0 0;width:100%;transition:width .16s}.resource span{position:absolute;inset:0;text-align:center;line-height:14px;font-size:11px;text-shadow:0 1px 3px #000}.hp i{background:linear-gradient(90deg,#387769,#73bb92)}.mp{margin-top:4px;height:12px}.mp i{background:linear-gradient(90deg,#376890,#7db1d0)}.mp span{font-size:10px;line-height:10px}.exp-track{height:2px;background:#233c3d;margin-top:7px}.exp-track i{display:block;height:100%;width:0;background:#e1c480}.location{position:absolute;top:27px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 12px #071818,0 2px 4px #071818}.eyebrow{font-size:11px;letter-spacing:.24em;color:#c6b58b}.location h1{margin:4px 0 3px;font-size:26px;font-family:var(--serif);font-weight:500;letter-spacing:.12em}.location p{font-size:12px;color:#e0e5d6;margin:0}.right-hud{position:absolute;right:26px;top:26px;width:246px}.minimap{padding:7px;border-radius:3px}.minimap canvas{display:block;width:100%;height:126px;opacity:.85}.minimap>div{display:flex;justify-content:space-between;font-size:11px;color:#abc4b6;padding:5px 3px 0}.quest{margin-top:16px;padding:15px;border-radius:3px;border-top-color:#d1b16c77}.quest>button{background:none;display:flex;align-items:center;gap:8px;width:100%;padding:0;text-align:left}.quest-symbol{color:var(--gold);font-size:21px}.quest strong{font-family:var(--serif);font-weight:500;font-size:16px}.chevron{margin-left:auto;color:#a7b4ab}#quest-description{color:var(--muted);font-size:12px;line-height:1.7;margin:10px 0}.objective{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:9px 0;color:#d5ddcd}.objective span:first-child:before{content:'·';margin-right:7px;color:#aecaaf}.objective b{font-size:13px;font-weight:500;color:#e8c984}.objective.done{color:#8dd1af}.objective.done b{color:#8dd1af}.quest-reward{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:#8fa39c;display:flex;gap:7px;flex-wrap:wrap}.quest-reward b{color:#dbbf7e;font-weight:400}.quest-reward>span{color:#98c8bd}.gold-button{background:linear-gradient(110deg,#e6d1a0,#b9985b);color:#182723;border:1px solid #f7dfae;padding:13px 22px;font-size:15px;font-weight:600;min-height:48px;box-shadow:0 4px 24px #d3b57114;transition:filter .15s,transform .15s}.gold-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.quest .gold-button{width:100%;margin-top:14px;padding:9px 8px;font-size:13px;min-height:38px}.target-panel{position:absolute;left:50%;top:125px;transform:translateX(-50%);width:280px;text-align:center;padding:10px 18px}.target-panel>span{font-size:14px}.target-panel .resource{margin-top:6px}.enemy i{background:linear-gradient(90deg,#842f49,#d47279)}#toast-stack{position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:85%;z-index:7}.toast{background:#071d21e8;border:1px solid #c7ad6877;box-shadow:0 4px 20px #0004;padding:10px 23px;font-size:14px;color:#f2ddac;animation:toastIn .2s ease-out;text-align:center}.toast.warn{color:#fac2b2;border-color:#a9564e}.toast.success{color:#a7e5c9}.bottom-left{position:absolute;bottom:29px;left:26px;pointer-events:none;width:260px}.currency{display:flex;align-items:center;gap:8px;padding:11px 15px;width:max-content;border-radius:3px}.currency>span{font-size:12px;color:#a7bdb2}.currency b{font-size:14px;font-weight:500}.currency .coin{color:#e7c980;font-size:20px}.currency .aether{margin-left:12px;color:#8ce4d6;font-size:23px}.save-label{margin:7px 0 0 4px;font-size:10px;color:#93b2a5}.save-label.error{color:#efbcb1}#combat-log{position:absolute;bottom:84px;left:0;display:flex;flex-direction:column;gap:5px;max-width:230px;mask-image:linear-gradient(transparent,#000 25%);min-height:60px;justify-content:end}#combat-log div{font-size:11px;line-height:1.5;color:#cbd7c7;text-shadow:0 2px 6px #000;background:linear-gradient(90deg,#092c28a8,transparent);padding:2px 7px}.skills-wrap{position:absolute;bottom:26px;left:50%;transform:translateX(-50%)}#context-hint{text-align:center;font-size:11px;color:#d9e6d1;margin-bottom:12px;text-shadow:0 2px 5px #000;white-space:nowrap}#context-hint span{padding:0 7px;color:#79998a}.skillbar{display:flex;gap:5px;padding:22px 8px 8px;border:1px solid #c9b68160;border-radius:4px;box-shadow:0 4px 40px #0007}.skill{position:relative;width:69px;height:72px;padding:0;overflow:visible;border:1px solid #a9c5b142;background:#132d2a;isolation:isolate;touch-action:manipulation}.skill:hover{border-color:#efd08a;filter:brightness(1.15)}.skill kbd{position:absolute;top:3px;left:5px;font:10px var(--sans);color:#e6ddbf;z-index:3}.skill-art{display:flex;align-items:center;justify-content:center;font:42px var(--serif);height:100%;padding-bottom:12px;text-shadow:0 0 14px currentColor}.staff{color:#f2d3a0;background:radial-gradient(ellipse at 50% 30%,#b2945366,#19282a)}.strike{color:#ffcf85;background:radial-gradient(ellipse at 50% 30%,#b4594266,#212329)}.dash{color:#a1dcfc;background:radial-gradient(ellipse at 50% 30%,#499baa55,#122b31)}.heal{color:#aff2c2;background:radial-gradient(ellipse at 50% 30%,#6baa7655,#162e2b)}.dodge{color:#a5e8d7;background:radial-gradient(ellipse at 50% 30%,#579d8455,#162e2b)}.potion-art{color:#f5b2b6;background:radial-gradient(ellipse at 50% 30%,#c15a6d55,#321e25)}.skill-name{position:absolute;bottom:0;left:0;right:0;padding:4px 0;background:#06191bc9;font-size:10px;z-index:3;white-space:nowrap}.cooldown{position:absolute;inset:0;background:#031619bb;display:none;align-items:center;justify-content:center;z-index:2;color:white;font-size:23px;font-weight:500}.skill.on-cooldown .cooldown{display:flex}.skill.no-mana{filter:saturate(.25);opacity:.65}.bottom-right{position:absolute;right:26px;bottom:30px}.bag-button{display:flex;gap:10px;align-items:center;padding:12px 17px;border-color:#9fac8655;border-radius:3px;position:relative}.bag-button>span{font-size:30px;color:#d9c087}.bag-button>div{font-size:13px}.bag-button small{display:block;font-size:10px;color:#9dad9e;text-align:left;margin-top:3px}.bag-button>b{position:absolute;top:-5px;right:-5px;border-radius:50%;font-size:12px;width:20px;height:20px;line-height:20px;background:#d5b575;color:#172925}.interact-wrap{position:absolute;left:50%;bottom:159px;transform:translateX(-50%);pointer-events:none}.interact-button{pointer-events:auto;padding:10px 18px;background:#0b2829ee;color:#f2dcac;border:1px solid #dac1828c;font-size:13px;white-space:nowrap;box-shadow:0 5px 24px #0004}.interact-button kbd{font:12px var(--sans);display:inline-block;background:#dccb9a;color:#153230;padding:2px 6px;margin-right:10px}.screen-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#061b21ce,#08242050,#061b219c);display:flex;align-items:center;justify-content:center;z-index:20;backdrop-filter:blur(3px)}.start-card{text-align:center;width:380px;max-width:90vw;padding:30px 35px;background:linear-gradient(180deg,#091f27df,#081e22e8);border:1px solid #d5bb7255;box-shadow:0 24px 90px #011717aa;position:relative}.start-card:before,.start-card:after{content:'';position:absolute;left:10px;right:10px;height:6px;border-left:1px solid #d8c18a;border-right:1px solid #d8c18a;pointer-events:none}.start-card:before{top:10px;border-top:1px solid #d8c18a}.start-card:after{bottom:10px;border-bottom:1px solid #d8c18a}.start-ornament{display:block;font-family:var(--serif);color:var(--gold);font-size:36px}.start-card .eyebrow{font-size:10px;margin-top:8px}.start-card h2{font-family:var(--serif);font-size:76px;letter-spacing:.18em;padding-left:.18em;font-weight:500;line-height:1.3;margin:12px 0 5px;background:linear-gradient(#fff3ce,#c6a56d);background-clip:text;-webkit-background-clip:text;color:transparent}.start-subtitle{font-family:var(--serif);font-size:20px;letter-spacing:.18em;margin:4px 0 25px;color:#ede3c3}.fine-line{height:1px;width:85%;margin:auto;background:linear-gradient(90deg,transparent,#baa571,transparent)}.start-story{font-family:var(--serif);color:#c4d0c2;font-size:14px;line-height:2;margin:21px 0}.class-chip{display:flex;align-items:center;justify-content:center;gap:13px;margin:16px 0 23px}.class-chip>span{font-size:14px;color:#ddc68d}.class-chip small{font-size:12px;color:#9cb7af}.start-card .gold-button{width:100%}.start-card .gold-button span{float:right}.start-note{font-size:10px;color:#8fa89e;line-height:1.8;margin-top:18px;margin-bottom:0}#asset-status{font-size:11px;margin:8px 0 0;color:#b6d0c4}.result-card{text-align:center;padding:38px;background:#081e23ed;border:1px solid #d5bb7255;max-width:440px;width:88vw;box-shadow:0 24px 90px #011717aa}.result-card h2{font-family:var(--serif);font-size:25px;color:#efddb4;font-weight:500;margin:16px 0}.result-card p{font-size:14px;line-height:1.9;color:#b6c8be}.result-card .gold-button{width:100%;margin-top:12px}.victory-loot{margin:23px 0;padding:20px;background:linear-gradient(130deg,#6c466122,#95745422);border:1px solid #d3ba7855;display:flex;flex-direction:column;gap:8px}.victory-loot span{color:#c6a1f3;font-size:12px}.victory-loot strong{font-family:var(--serif);font-size:20px;color:#dcb6ff}.victory-loot small{color:#b8cdbd}dialog{border:1px solid #c2aa745c;border-radius:5px;background:#0a2025;color:var(--text);padding:28px;width:780px;max-width:calc(100vw - 28px);max-height:90dvh;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#061319b9;backdrop-filter:blur(6px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.dialog-heading h2{font-family:var(--serif);font-size:26px;font-weight:500;margin:5px 0 0}.close-dialog{width:36px;height:36px;background:transparent;border:1px solid var(--line);font-size:24px;color:#cfceba}.inventory-layout{display:grid;grid-template-columns:230px 1fr;gap:24px;margin-top:20px}.character-art{height:200px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#41645555,transparent 70%)}.character-art img{height:100%;max-width:100%;object-fit:contain}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:#b1c7bb}.stats-grid b{color:#e4dcc0;font-weight:500}#equipment-slots{display:flex;flex-direction:column;gap:7px}.equip-row{border:1px solid var(--line);padding:9px 12px;display:flex;gap:10px;align-items:center;font-size:12px;background:#ffffff03}.equip-row>span{color:#869f98;font-size:11px}.rarity-common{color:#d2dac8}.rarity-uncommon{color:#83d1ad}.rarity-rare{color:#83c2f0}.rarity-epic{color:#d4a5f4}.items-heading{display:flex;justify-content:space-between;align-items:center}.items-heading h3{font-size:15px;font-weight:500;margin:0 0 14px}.items-heading>span{font-size:12px;color:#9bb1a6}.item-row{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:8px;border:1px solid var(--line);background:#ffffff03}.item-symbol{font-size:25px;width:32px;text-align:center}.item-detail{flex:1}.item-detail strong{font-size:13px;font-weight:500}.item-detail small{display:block;margin-top:5px;font-size:11px;color:#9fb8ac}.item-row button{font-size:12px;background:#244238;border:1px solid #6d8c6866;padding:7px 10px;color:#d5d9b9;min-height:34px}.item-row button:disabled{opacity:.65;cursor:default;background:#162d2c}.upgrade{color:#b5dd93;margin-left:6px}.shop{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}.shop p{font-size:13px}.shop small{display:block;font-size:11px;color:#8fa89c;margin-top:5px}.shop button{width:100%;display:flex;justify-content:space-between;padding:11px 13px;background:#253c32;border:1px solid #8c9c6655;font-size:13px}.shop button span{color:#d9c285}.dialog-footer{border-top:1px solid var(--line);padding-top:17px;margin:20px 0 0;font-size:11px;color:#8fa89e}.help-content{font-size:14px;line-height:1.9}.help-grid{display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:20px 0;border-block:1px solid var(--line)}.help-grid>span{color:#a9bfb3}.help-grid b{font-size:13px;font-weight:500;color:#e1d3ad}.tip{color:#e5cea0;background:#b9a06a0c;padding:14px}.muted{color:#89a59a;font-size:12px}#joystick{display:none;position:absolute;bottom:105px;left:24px;width:100px;height:100px;border-radius:50%;border:1px solid #d1d9bc55;background:#143b3255;touch-action:none}#joystick-knob{position:absolute;width:43px;height:43px;border-radius:50%;left:28px;top:28px;background:#b8c4a34d;border:1px solid #c7d7b955;pointer-events:none}@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1700px){.skill{width:78px;height:80px}.skill-name{font-size:12px}.right-hud{width:265px}.player-panel{width:330px}.quest strong{font-size:17px}.objective{font-size:14px}}
@media(max-width:1100px){.topbar{height:64px;padding:0 18px;gap:14px}.wordmark-sub{display:none}.regions{gap:22px}.mode-label{display:none}.right-hud{right:18px;top:18px;width:205px}.player-panel{left:18px;top:18px;width:263px;padding:10px;gap:10px}.location{top:20px}.location h1{font-size:22px}.minimap canvas{height:100px}.quest{padding:11px}.quest strong{font-size:14px}.quest-reward{font-size:10px}.bottom-left{left:18px;bottom:24px;width:200px}.currency{gap:6px;padding:8px 11px}.bottom-right{right:18px;bottom:24px}.bag-button{padding:10px}.bag-button>span{font-size:24px}.skills-wrap{bottom:22px}.skill{width:60px;height:66px}.skillbar{gap:4px;padding:6px}.bag-button>div{font-size:11px}}
@media(max-width:800px){.topbar{height:56px;gap:8px;padding:0 12px}.wordmark strong{font-size:23px}.emblem{font-size:29px}.wordmark{gap:6px}.regions{gap:14px;margin-left:auto}.regions button{font-size:12px}.top-actions{gap:6px}.icon-button{width:27px;height:27px;font-size:13px}#sound-button{display:none}.player-panel{top:12px;left:12px;width:220px;padding:8px;gap:9px}.portrait{width:43px;height:50px}.portrait span{left:10px;bottom:-5px;font-size:10px;height:17px;line-height:17px;min-width:22px}.player-name strong{font-size:14px}.player-name>span{font-size:10px}.player-name{margin-bottom:6px}.location{display:none}.right-hud{right:12px;top:12px;width:186px}.minimap{display:none}.quest{margin-top:0;padding:10px}.quest strong{font-size:13px}#quest-description{font-size:11px;line-height:1.6}.objective{font-size:11px}.objective b{font-size:11px}.quest-reward{font-size:10px;gap:5px}.quest .gold-button{font-size:11px;min-height:32px;margin-top:10px}.target-panel{top:102px;left:12px;transform:none;width:210px;padding:8px 12px}.target-panel>span{font-size:12px}.bottom-left{bottom:104px;left:12px;width:auto}.currency{padding:5px 10px;gap:6px}.currency b{font-size:12px}.currency>span{font-size:10px}.currency .coin{font-size:17px}.currency .aether{font-size:19px;margin-left:6px}.save-label{font-size:9px}#combat-log{display:none}.skills-wrap{bottom:13px;left:50%;width:auto}.skillbar{padding:5px;gap:4px}.skill{width:59px;height:61px}.skill-name{font-size:9px}.skill-art{font-size:33px}.skill kbd{font-size:9px}.bottom-right{bottom:108px;right:12px}.bag-button{padding:8px 11px}.bag-button small{display:none}#context-hint{font-size:10px;margin-bottom:8px}.interact-wrap{bottom:170px}.interact-button{font-size:12px}#joystick{width:92px;height:92px;bottom:172px;left:20px}#joystick-knob{left:24px;top:24px}.vignette{box-shadow:inset 0 -80px 100px -15px #04181a}.start-card{padding:22px 29px}.start-card h2{font-size:64px}.start-subtitle{font-size:18px;margin-bottom:18px}.start-story{margin:16px 0}.start-ornament{font-size:28px}.start-note{font-size:10px}.start-card .gold-button{min-height:44px;padding:10px}.inventory-layout{grid-template-columns:180px 1fr;gap:18px}dialog{padding:20px}.help-grid{grid-template-columns:1fr;gap:5px}.help-grid b{margin-bottom:9px}}
@media(pointer:coarse){#joystick{display:block}#context-hint{visibility:hidden}.skill kbd{display:none}.skill-name{font-size:10px}.skills-wrap{bottom:13px}.skill-art{padding-bottom:9px}.save-label{display:none}.bottom-left{bottom:101px}.bottom-right{bottom:101px}.interact-wrap{bottom:120px}.portrait img{object-fit:contain}}
@media(max-width:480px){.regions{gap:10px}.regions button{font-size:10px}.top-actions{gap:4px}#help-button{display:none}.player-panel{width:187px;left:10px;top:10px;gap:7px;padding:7px}.player-name>span{font-size:9px}.player-name strong{font-size:13px}.portrait{width:34px;height:45px}.portrait span{left:5px}.right-hud{width:166px;right:10px;top:10px}.quest strong{font-size:12px}.quest-symbol{font-size:17px}.quest{padding:9px}.quest-reward{display:none}#quest-description{font-size:10px;margin:6px 0}.objective{font-size:10px;margin:7px 0}.objective b{font-size:10px}.skill{width:52px;height:59px}.skill-name{font-size:9px}.skillbar{gap:3px;padding:4px}.target-panel{width:186px;top:93px;left:10px}.target-panel .resource span{font-size:10px}.target-panel>span{font-size:11px}.inventory-layout{grid-template-columns:1fr}.equipment-panel{display:grid;grid-template-columns:100px 1fr;gap:12px}.character-art{height:125px;grid-row:span 2}#equipment-slots{grid-column:2}.stats-grid{border:0;padding:0;font-size:11px}.equip-row{padding:6px 8px;font-size:10px}.dialog-heading h2{font-size:22px}.item-row{padding:9px}.start-card{width:326px;max-width:86vw}.start-card h2{font-size:61px}.start-story{font-size:13px}.start-subtitle{font-size:17px}.start-note{font-size:9px}.class-chip{margin:14px 0 19px}.start-card .eyebrow{font-size:9px}.toast{font-size:12px;padding:9px 14px}.currency{padding:5px 8px}.bag-button>div{font-size:11px}}
@media(max-height:650px) and (min-width:650px){.topbar{height:48px}.player-panel{top:12px}.right-hud{top:12px}.minimap{display:none}.quest{margin:0}.location{top:15px}.location h1{font-size:18px}.location p{display:none}.start-card{padding:15px 28px;width:350px}.start-card h2{font-size:45px;margin:4px}.start-subtitle{font-size:16px;margin-bottom:12px}.start-story{font-size:12px;margin:10px 0}.start-ornament{display:none}.start-note{margin-top:9px;font-size:9px}.class-chip{margin:10px 0}.start-card .gold-button{min-height:38px;padding:8px}.skills-wrap{bottom:10px}.skill{height:56px;width:55px}#context-hint{display:none}.bottom-left{bottom:16px}.bottom-right{bottom:15px}#joystick{bottom:90px}.interact-wrap{bottom:94px}.target-panel{top:102px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Keep active game labels legible at every viewport. */
.skill-name{font-size:12px}.skill kbd{font-size:11px}.quest strong{font-size:16px}#quest-description{font-size:14px}.objective,.objective b{font-size:14px}.quest-reward{font-size:12px}.player-name>span{font-size:12px}.save-label,#context-hint{font-size:12px}.resource span{font-size:12px}.mp{height:15px}.mp span{font-size:11px;line-height:13px}.start-note{font-size:12px}.start-card .eyebrow{font-size:11px}.currency>span{font-size:12px}.bag-button>div{font-size:14px}
@media(max-width:1100px){.quest strong{font-size:14px}#quest-description,.objective,.objective b{font-size:12px}.skill-name{font-size:11px}.save-label,#context-hint{font-size:11px}}
@media(max-width:800px){.quest strong{font-size:14px}#quest-description{font-size:12px}.skill-name{font-size:12px}.quest .gold-button{font-size:12px}.start-note{font-size:11px}.player-name>span{font-size:10px}.resource span{font-size:11px}.mp span{font-size:10px}.bag-button>div{font-size:12px}.skill kbd{font-size:10px}}
@media(max-width:480px){.quest strong{font-size:13px}.quest>button{gap:5px}.objective,.objective b{font-size:12px}.objective{align-items:start;gap:4px}.objective b{white-space:nowrap}.objective>span{max-width:115px}#quest-description{font-size:11px}.skill-name{font-size:11px}.start-note{font-size:11px}.start-card .eyebrow{font-size:10px}.player-name>span{font-size:10px}.player-name{gap:4px}.player-name strong{font-size:12px}.mp{height:13px}.mp span{line-height:11px}.currency>span{font-size:11px}}
/* Chanter skill equipment and combat HUD */
.class-name{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.class-icon{width:25px;height:25px;object-fit:contain;flex-shrink:0}.dialog-class-icon{width:33px;height:33px;vertical-align:middle;margin-right:10px;object-fit:contain}
.skill-icon{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;border-radius:inherit;clip-path:inset(0 round 8px)}.slot-art{position:absolute;inset:0}.skill-name{background:linear-gradient(transparent,rgba(2,15,22,.95) 35%);padding-top:8px;font-size:12px;text-shadow:0 1px 4px #000}.skill kbd{background:#041520b8;border-radius:2px;padding:0 3px;left:3px;top:3px;line-height:16px}.skillbar{gap:5px}.skill{width:66px;height:73px;border-color:#d0b87677}.utility-skill{border-color:#829d8c55}.empty-slot{background:#0b2328;border-style:dashed}.empty-skill{display:flex;align-items:center;justify-content:center;height:100%;font-size:30px;color:#bdd1c28c;font-weight:400;padding-bottom:9px}.empty-slot .skill-name{font-size:11px;color:#b4c2b4}.skill.just-cast{animation:castPulse .3s ease-out}.cooldown{background:rgba(2,13,19,.72);text-shadow:0 2px 4px #000}.skill.no-mana{filter:saturate(.2)}
.bottom-right{display:flex;flex-direction:column;gap:9px;bottom:26px}.bag-button{min-height:53px;padding:8px 14px}.bag-button>img{width:29px;height:32px;object-fit:contain}.bag-button>div{font-size:13px}.bag-button small{font-size:11px}.bag-button:hover{border-color:#dec78b}.skillbar:has(.just-cast){border-color:#dfd2a4}
#skills-dialog{width:880px;overflow:auto}.loadout-guide{font-size:14px;color:#c1d3c7;margin:18px 0 14px}#loadout-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.loadout-slot{position:relative;display:flex;align-items:center;gap:10px;min-height:73px;background:#112e33;border:1px solid #66817475;text-align:left;padding:10px}.loadout-slot>img{width:46px;height:46px;object-fit:cover;border:1px solid #c7b0735e}.loadout-slot>span{font-size:13px;color:#d5dfcd;word-break:keep-all}.loadout-slot>kbd{position:absolute;top:3px;left:3px;z-index:1;background:#091d26d9;color:#fff0c2;font:11px var(--sans);padding:1px 4px}.loadout-slot.selected{border-color:#eed092;background:#33493a;box-shadow:inset 0 0 0 1px #d8bd7b44}.loadout-slot.selected>span{color:#ffe5ae}.loadout-slot .empty-skill{width:46px;height:46px;flex-shrink:0}.selection-status{font-size:13px;color:#e7cf9f;margin:13px 0 17px}#skill-collection{display:grid;grid-template-columns:1fr 1fr;gap:11px}.skill-card{display:flex;align-items:flex-start;gap:13px;background:#0c282c;border:1px solid #6883724d;padding:14px}.skill-card.selected{border-color:#d3b47577}.collection-icon{width:53px;height:53px;object-fit:cover;border:1px solid #b49c6d66;flex-shrink:0}.skill-card-content{flex:1;min-width:0}.skill-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.skill-card h3{font-size:15px;font-weight:600;margin:0;color:#f0e2bb}.skill-card-title>span{font-size:11px;color:#accdaf;white-space:nowrap}.skill-card p{font-size:13px;line-height:1.7;color:#c5d1c6;margin:8px 0}.skill-meta{font-size:12px;color:#a7c6cb}.skill-source{font-size:12px;color:#cdbb96;line-height:1.65;margin-top:8px}.skill-card button{font-size:13px;padding:8px 12px;width:100%;margin-top:12px;border:1px solid #9cac6c55;background:#294639;color:#e3ddbd;min-height:36px}.skill-card button:not(:disabled):hover{background:#415c42;border-color:#d4bf80}.skill-card button:disabled{cursor:default;background:#162f2e;color:#9aaa9e;opacity:.9}.skill-card.locked{background:#0a2025}.skill-card.locked .collection-icon{filter:grayscale(.8);opacity:.48}.skill-card.locked h3,.skill-card.locked p{color:#9caea7}.skill-card.locked .skill-source{color:#aaa386}.inventory-skill-footer{margin-top:16px;padding:13px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.inventory-skill-footer>p{font-size:12px;color:#c9d9b7;margin:0;line-height:1.65}.inventory-skill-footer>button{padding:10px 13px;background:#29463a;border:1px solid #8a9c6355;font-size:12px;white-space:nowrap}.item-granted-skills{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:8px}.item-granted-skills>span{font-size:11px;color:#b4cbd1;display:inline-flex;align-items:center;gap:4px}.item-granted-skills img{width:21px;height:21px;border:1px solid #8b9b7b44}.item-row{gap:9px}.item-row .item-detail{min-width:0}.player-panel{width:326px}.player-name{gap:10px}
@keyframes castPulse{0%{box-shadow:0 0 0 2px #fff4bd,0 0 24px #aee8df;filter:brightness(1.65)}100%{box-shadow:0 0 0 transparent;filter:brightness(1)}}
@media(min-width:1700px){.skill{width:74px;height:81px}.skill-name{font-size:13px}}
@media(max-width:1100px){.skill{width:58px;height:68px}.skillbar{gap:4px}.player-panel{width:280px}.player-name{gap:7px}.class-icon{width:23px;height:23px}.bottom-right{right:18px}.bag-button{padding:8px 11px;min-height:47px}.bag-button>div{font-size:12px}}
@media(max-width:800px){.skill{width:clamp(42px,12.6vw,57px);height:64px}.skill-name{font-size:12px}.skillbar{gap:3px;padding:5px}.player-panel{width:226px}.class-icon{width:21px;height:21px}.player-name{gap:5px}.class-name{gap:3px}.player-name>span{font-size:10px}.bottom-right{bottom:101px;gap:6px}.bag-button{min-height:40px;padding:6px 9px}.bag-button>div{font-size:12px}.bag-button>img{width:24px;height:26px}.bag-button>span{font-size:24px}#skill-collection{grid-template-columns:1fr}.loadout-slot{padding:9px 6px;flex-direction:column;gap:5px;text-align:center;min-height:92px}.loadout-slot>span{font-size:12px}.loadout-slot>img{width:42px;height:42px}#loadout-slots{gap:7px}.skill-card h3{font-size:16px}.skill-card p{font-size:14px}.skill-card-title>span{font-size:12px}.skill-card{padding:13px}.inventory-skill-footer{flex-direction:column;align-items:stretch}.inventory-skill-footer>button{min-height:40px}#sound-button{display:inline-block}.top-actions{gap:5px}.regions{gap:10px}.topbar{gap:8px}.bottom-left{bottom:104px}}
@media(max-width:480px){.player-panel{width:192px;padding:7px;gap:5px}.portrait{width:31px;height:43px}.class-icon{width:19px;height:19px}.class-name{gap:2px}.player-name{gap:3px;flex-wrap:wrap;row-gap:1px}.player-name strong{font-size:13px}.player-name>span{font-size:10px;white-space:nowrap}.resource span{font-size:10px}.right-hud{width:159px}.skill{height:60px}.skill-name{font-size:11px}.empty-slot .skill-name{font-size:10px}.topbar{padding:0 8px;gap:6px}.regions{gap:8px}.regions button{font-size:10px}.wordmark{gap:4px}.wordmark strong{font-size:21px}.emblem{font-size:24px}.top-actions{gap:4px}.icon-button{width:26px;height:26px}.skill-card{gap:10px}.collection-icon{width:45px;height:45px}.loadout-slot>span{font-size:11px}.loadout-guide{font-size:13px}.dialog-class-icon{width:27px;height:27px;margin-right:6px}}
@media(max-height:650px) and (min-width:650px){.bottom-right{bottom:14px;flex-direction:row}.bag-button{min-height:39px}.bag-button>div{font-size:11px}.bag-button>img{width:22px;height:23px}.skill{height:55px;width:50px}.skill-name{font-size:11px}.player-panel{width:240px}}
@media(max-width:480px){.target-panel{top:110px}}
@media(max-height:650px) and (min-width:650px){.bottom-right{bottom:84px;right:12px}.bottom-left{bottom:85px}.skills-wrap{bottom:10px}#joystick{bottom:136px}}

/* Expedition, equipment rolls and level-gated specializations. */
.rarity-common{color:#fff}.rarity-uncommon{color:#65da77}.rarity-rare{color:#58a9ff}.rarity-unique{color:#ffdc59}.rarity-heroic{color:#ff963f}
.secondary-button,.small-button{border:1px solid #8b9d8660;background:#18353a;color:#d6e4d5;padding:9px 13px;font:inherit;min-height:38px;border-radius:3px}.secondary-button:hover,.small-button:hover{background:#28474b}.secondary-button:disabled,.small-button:disabled,.gold-button:disabled{opacity:.4;cursor:not-allowed}.result-card .secondary-button{width:100%;margin-top:9px;font-size:14px}.victory-card{max-height:88dvh;overflow:auto;padding:26px}.victory-card h2{font-size:24px;line-height:1.4}.victory-loot{gap:10px;text-align:left;padding:15px;margin:15px 0}.victory-loot strong{font-family:var(--sans);font-size:16px;color:inherit}.victory-loot small{display:block;font-size:13px;line-height:1.6;margin-top:3px}#victory-description,#victory-rewards{font-size:14px;margin:12px 0}.loadout-slot small{display:block;color:#a9c9c8;font-size:12px;margin-top:3px}
#inventory-dialog{width:1080px;padding:24px;overflow:auto}#inventory-dialog .stats-grid{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 0;margin:0;font-size:14px}#inventory-dialog .stats-grid b{margin-left:5px;font-weight:600}.cube-layout{display:grid;grid-template-columns:140px minmax(280px,1fr) 285px;gap:20px;align-items:start}.cube-layout h3{font-size:16px;margin:0 0 12px;font-weight:600}.equipment-panel h3>span,.items-heading h3>span{color:#90adae;font-size:12px;margin-left:6px}.cube-layout .equipment-panel{display:block;min-width:0}#equipment-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#inventory-dialog .items-heading{min-height:32px;margin-bottom:8px;gap:8px}.items-heading h3{margin:0}.items-heading .small-button{font-size:12px;padding:5px 8px;min-height:30px}.cube-body{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:9px}.items-panel{min-width:0}.inventory-scroll{min-width:0;min-height:0;max-height:495px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:3px;scrollbar-width:thin;scrollbar-color:#789385 #12282b}#inventory-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:max-content;gap:6px;align-content:start;align-items:start}.gear-tile{display:block;position:relative;width:100%;height:auto;aspect-ratio:1;min-width:0;min-height:0;padding:3px;border:1px solid var(--rarity,#385254);border-radius:2px;background:linear-gradient(145deg,color-mix(in srgb,var(--rarity,#456566) 30%,#13242a),#0b1920);box-shadow:inset 0 0 12px #0005;overflow:hidden;text-align:center}.gear-tile img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:contain;display:block;filter:drop-shadow(0 2px 2px #0008)}.gear-tile:not(.empty-cell):hover{filter:brightness(1.3)}.gear-tile.selected{outline:2px solid #fff0b8;outline-offset:-2px;z-index:1}.gear-tile.empty{color:#80989a;background:#091e24;border:1px solid #39515666;cursor:default;box-shadow:inset 0 0 18px #0003}.gear-tile.empty>span{font-size:12px;word-break:keep-all}.gear-tile.empty-cell{border-color:#36525760;background:#0a2025a0}.affix-count,.enhance-mark,.equipped-mark,.lock-mark,.slot-caption{position:absolute;font-size:12px;color:#fff;background:#00101abc;text-shadow:0 1px 2px #000;line-height:1.3;padding:1px 3px;border-radius:2px}.affix-count{right:1px;bottom:1px;color:var(--rarity,#d9e9ea)}.slot-caption{bottom:1px;left:1px;font-size:12px;max-width:100%;white-space:nowrap}#equipment-slots .affix-count{right:1px;top:1px;bottom:auto}.enhance-mark{right:2px;top:2px;color:#fff4b2}.equipped-mark{top:1px;left:1px;color:#a2eecf}.lock-mark{left:1px;top:1px;color:#ffd585;font-size:12px}.gear-tile:has(.lock-mark) .slot-caption{bottom:1px}.potion-symbol{font-size:25px;color:#f6adc0;font-weight:700}.consumable-tile{background:radial-gradient(ellipse at center,#81394a,#251f2c);--rarity:#d586a3}
#inventory-filters{display:flex;flex-direction:column;gap:7px}#inventory-filters button{padding:10px 2px;min-height:43px;font-size:12px;border:1px solid transparent;background:#0b2126;color:#8ca9aa;word-break:keep-all}#inventory-filters button.active{border-color:#ddc483;color:#ffe5ac;background:#3a3f2e}#item-inspector{padding:15px;background:#071b22;border:1px solid #72938b45;min-height:250px;min-width:0;font-size:14px}#item-inspector h3{font-size:17px;line-height:1.5;margin:4px 0}#item-inspector p{font-size:14px;color:#a9c0bd;line-height:1.7}.inspector-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.inspector-heading>img{width:58px;height:58px;object-fit:contain;border:1px solid var(--rarity);background:color-mix(in srgb,var(--rarity) 13%,#0b1c21)}.inspector-heading>div{min-width:0}.inspector-heading span,.inspector-heading small{font-size:12px;line-height:1.6}.inspector-heading h3{color:var(--rarity)}.inspector-heading small{color:#91aaaa}.item-stat-lines,.skill-compare{display:flex;flex-direction:column;gap:9px}.item-stat-lines>div,.skill-compare>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.item-stat-lines>div>span,.skill-compare>div>span{flex:1}.item-stat-lines b,.skill-compare b{font-weight:500}.item-stat-lines small,.skill-compare small{font-size:12px}.skill-compare small{width:100%;text-align:right}#item-inspector h4{font-size:14px;font-weight:600;margin:20px 0 11px;border-top:1px solid #91ad8b30;padding-top:14px}#item-inspector h4>span{font-weight:400;color:#9ab1af;margin-left:8px}.item-affix-lines{display:flex;flex-direction:column;gap:9px}.item-affix-lines>div{display:flex;align-items:center;gap:8px}.item-affix-lines img{width:26px;height:26px;object-fit:cover}.item-affix-lines span{flex:1;font-size:14px}.item-affix-lines b{color:#efcf93}.positive{color:#88e7ac}.negative{color:#f59198}.item-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}.item-actions .gold-button{grid-column:1/-1;min-height:40px;padding:9px;font-size:14px}.item-actions .small-button{padding:7px;font-size:13px}.replaced-item{font-size:12px!important}.inspector-empty p{margin:16px 0}.rarity-legend{display:flex;flex-wrap:wrap;gap:9px;font-size:13px}.shop{margin-top:18px}.shop button{font-size:14px}.dialog-footer{font-size:13px;line-height:1.7}.inventory-skill-footer>p{font-size:13px}
#skills-dialog{width:1000px;padding:24px}.specialization-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:20px;align-items:start}#skill-collection{display:flex;flex-direction:column;gap:7px}.skill-list-button{display:flex;gap:11px;align-items:center;text-align:left;background:#0b2329;border:1px solid #5c7b704d;padding:10px;min-height:65px}.skill-list-button.selected{border-color:#e3c680;background:#344133}.skill-list-button.locked>img{filter:grayscale(.8);opacity:.55}.skill-list-button>img{width:39px;height:39px;object-fit:cover}.skill-list-button>span{min-width:0}.skill-list-button strong{display:block;font-size:14px;color:#e8e5ce}.skill-list-button small{display:block;font-size:12px;color:#a7bdb9;margin-top:5px}.specialization-heading{display:flex;align-items:center;gap:14px}.specialization-heading h3{font-size:23px;margin:0 0 6px;color:#f3e4bf}.specialization-heading span{font-size:16px;color:#d5c291}.specialization-heading small{font-size:13px;color:#9eb7b3}.specialization-heading .collection-icon{width:66px;height:66px}.skill-description{font-size:15px;line-height:1.75;color:#c6d7cf;margin:16px 0 10px}.skill-meta{font-size:13px}.level-milestones{display:flex;gap:6px;margin:18px 0}.level-milestones span{flex:1;text-align:center;border-bottom:3px solid #344c4e;background:#112a2f;padding:7px 0;font-size:13px;color:#809c9f}.level-milestones .unlocked{border-color:#c5b071;background:#333d2d;color:#f3dda5}.trait-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px;font-size:14px;gap:8px}.trait-title>span{color:#b2c5b9;font-size:13px}.trait-list{display:flex;flex-direction:column;gap:9px}.trait-option{display:flex;gap:12px;text-align:left;align-items:center;min-height:73px;padding:12px;border:1px solid #6b8a7855;background:#0c272d;color:#e1e9db}.trait-option:hover:not(:disabled){border-color:#d6c494}.trait-option.selected{border-color:#c9b77e;background:linear-gradient(100deg,#394531,#253b35);box-shadow:inset 3px 0 #ecd390}.trait-option.inactive{border-color:#ab798755;background:#2a2630;box-shadow:inset 3px 0 #b17e8e}.trait-option:disabled{opacity:.46;cursor:not-allowed}.trait-option>span:nth-child(2){flex:1;min-width:0}.trait-number{width:23px;flex-shrink:0;font-size:18px;color:#bfa66c;text-align:center}.trait-option strong{font-size:15px;display:block;font-weight:600;line-height:1.4}.trait-option small{font-size:13px;color:#b4c9c5;line-height:1.65;display:block;margin-top:4px}.trait-state{font-size:13px;color:#d6ca9e;white-space:nowrap;text-align:right}.trait-state small{font-size:12px;color:inherit}.skill-assign{width:100%;margin:12px 0 0;padding:12px;font-size:14px}.skill-source{font-size:13px;margin-top:14px}.skill-equipment-sources{font-size:13px;color:#abc4bd;margin-top:15px;line-height:1.8}.skill-equipment-sources summary{cursor:pointer;color:#dacba2}.skill-equipment-sources span{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.skill-equipment-sources span b{color:#dfc78a}
#stages-dialog{width:1040px;overflow:auto}#stage-chapters{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stage-chapter{border:1px solid #8a9f7960;padding:14px;background:#10272d}.stage-chapter.locked{opacity:.5}.chapter-heading{display:flex;gap:12px;align-items:center;min-height:82px}.chapter-heading img{width:85px;height:82px;object-fit:cover;border:1px solid #9ab09244;flex-shrink:0}.chapter-heading>div{min-width:0}.chapter-heading span{font-size:12px;color:#d7c38d}.chapter-heading h3{font-size:17px;margin:5px 0;line-height:1.45}.chapter-heading p{font-size:13px;color:#acbfb9;margin:0;line-height:1.5}.stage-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0}.stage-buttons button{font-size:14px;min-height:35px;background:#1b3438;border:1px solid #70867544;color:#c8d6c7}.stage-buttons button.completed{background:#264936;color:#b7edba}.stage-buttons button.current{border-color:#e5c681;color:#ffdfa5}.stage-buttons button:disabled{opacity:.35;cursor:not-allowed}.boss-challenge{width:100%;border:1px solid #cfa47566;color:#ebc59a;background:#493730;padding:10px;font-size:14px}.boss-challenge:disabled{background:#1d2b2d;color:#8fa6a3;border-color:#6d858044;cursor:not-allowed}.bottom-right{gap:7px}.bag-button{min-height:44px}.bag-button small{font-size:12px}.location{pointer-events:none}.location h1{font-size:30px}.location p{font-size:14px;max-width:260px;line-height:1.5;margin:7px auto 0}.target-panel{max-width:350px}.target-panel>span{font-size:14px;line-height:1.5}
@media(max-width:1100px){.cube-layout{grid-template-columns:120px minmax(240px,1fr) 255px;gap:16px}.specialization-layout{grid-template-columns:185px 1fr;gap:16px}.location h1{font-size:25px}.location p{font-size:12px;max-width:220px}}
@media(max-width:800px){#inventory-dialog,#skills-dialog{padding:18px}.cube-layout{grid-template-columns:110px minmax(0,1fr);gap:15px}#item-inspector{grid-column:1/-1}.cube-body{grid-template-columns:minmax(0,1fr) 45px}.specialization-layout{grid-template-columns:1fr}#skill-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.skill-list-button{padding:7px;gap:7px;min-height:60px}.skill-list-button>img{width:32px;height:32px}.skill-list-button strong{font-size:13px}.skill-list-button small{font-size:12px}.trait-option strong{font-size:15px}.trait-option small{font-size:14px}.trait-state small{font-size:12px}.bottom-right{gap:5px;bottom:101px}.bag-button{min-height:36px;padding:6px 9px}.bag-button>div{font-size:12px}.bag-button small{display:none}.bag-button>span{font-size:21px}.bag-button>img{width:22px;height:22px}.quest-reward{flex-wrap:wrap}.target-panel{max-width:220px}.target-panel>span{font-size:12px}}
@media(max-width:520px){#inventory-dialog,#skills-dialog,#stages-dialog{max-width:calc(100vw - 16px);padding:12px;max-height:94dvh}.dialog-heading{padding-bottom:12px}.dialog-heading h2{font-size:21px}.dialog-heading .eyebrow{font-size:12px}.cube-layout{grid-template-columns:78px minmax(0,1fr);gap:10px}.cube-layout h3{font-size:14px}.equipment-panel h3>span{display:none}.items-heading h3>span{display:block;margin:3px 0 0}.cube-body{grid-template-columns:minmax(0,1fr) 36px;gap:5px}#equipment-slots{gap:4px}.inventory-scroll{max-height:340px;padding:2px}#inventory-list{gap:4px}.gear-tile img{inset:1px;width:calc(100% - 2px);height:calc(100% - 2px)}.gear-tile{padding:1px}.gear-tile.empty>span{font-size:12px}.slot-caption{font-size:12px;white-space:normal;line-height:1.1;padding:1px;max-width:100%}#equipment-slots .affix-count{display:none}.affix-count{font-size:12px;padding:0 2px}.lock-mark{font-size:12px;padding:0 1px}.items-heading .small-button{font-size:12px;padding:4px;max-width:60px;line-height:1.3}#inventory-filters button{font-size:12px;padding:8px 1px;min-height:37px}#inventory-dialog .stats-grid{font-size:13px;gap:7px 14px;padding:12px 0}#item-inspector{padding:14px}#skill-collection{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.skill-list-button{flex-direction:column;text-align:center;gap:5px;padding:7px 3px;min-height:98px}.skill-list-button strong{font-size:13px}.skill-list-button small{font-size:12px;line-height:1.35}.skill-list-button>img{width:36px;height:36px}.trait-option{gap:7px;padding:10px 8px}.trait-number{width:17px;font-size:16px}.trait-option strong{font-size:14px}.trait-option small{font-size:13px}.trait-state{font-size:12px}.trait-title>span{font-size:12px}.specialization-heading h3{font-size:21px}.specialization-heading span{font-size:14px}.specialization-heading .collection-icon{width:54px;height:54px}.level-milestones span{font-size:12px}.inventory-skill-footer{gap:10px;margin-top:12px;padding-top:12px}.dialog-footer{font-size:12px}.loadout-slot>span{font-size:12px}.loadout-slot small{font-size:12px}#stage-chapters{grid-template-columns:1fr}.player-panel{width:45%;left:9px}.right-hud{width:43%;right:9px}.player-name strong{font-size:13px}.player-name>span{font-size:10px}.target-panel{top:123px;left:9px;width:45%;padding:7px}.target-panel>span{font-size:12px}.target-panel .resource span{font-size:10px}.bottom-right{right:9px}.bottom-left{left:9px}.quest strong{font-size:13px}.objective,.objective b{font-size:12px}.result-card{padding:20px}.victory-card h2{font-size:22px}.start-note{font-size:12px}.regions button{font-size:12px}.regions{gap:9px}.wordmark strong{font-size:19px}.wordmark .emblem{display:none}.topbar{gap:7px}.icon-button{width:24px}.top-actions{gap:3px}#sound-button{display:none}}
@media(max-height:650px) and (min-width:650px){.bottom-right{bottom:88px;flex-direction:row}.bag-button{min-height:35px}.bag-button>div{font-size:12px}.location{display:none}.right-hud{width:220px}.target-panel{top:101px}.victory-card{max-height:85dvh}.victory-card h2{font-size:21px}.victory-loot{margin:10px 0;padding:10px}.victory-card .gold-button,.victory-card .secondary-button{min-height:33px;padding:7px;font-size:13px}.victory-card p{font-size:13px}.skills-wrap{bottom:10px}}

.skill-level{position:absolute;right:2px;top:-19px;padding:2px 3px;border-radius:2px;background:#051a20db;color:#ffe6a7;font-size:11px;line-height:1.2;pointer-events:none;z-index:2}.skill:disabled{cursor:not-allowed}

.auto-skill-toggle{border-color:#74958d;color:#d6e5df}.auto-skill-toggle>div{display:flex;align-items:center;gap:6px}.auto-skill-toggle b{font-size:12px;padding:3px 5px;background:#102c32;border-radius:3px;color:#a9c1bc}.auto-skill-toggle.on{border-color:#84ead9;background:linear-gradient(135deg,#15564f,#0c3034);box-shadow:0 0 14px #75dbc930}.auto-skill-toggle.on b{background:#8fe8d7;color:#123330}.auto-skill-toggle small{margin-left:2px}
@media(max-width:800px){.auto-skill-toggle>div{font-size:12px;gap:4px}.auto-skill-toggle b{padding:2px 4px}}

.boss-timer{margin-top:9px}.boss-timer>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.boss-timer span{font-size:12px;color:#d9d5b6}.boss-timer strong{font-size:22px;line-height:1.25;font-variant-numeric:tabular-nums;color:#f1d393}.boss-time-track{height:4px;background:#071b22;margin-top:5px;overflow:hidden}.boss-time-track i{display:block;width:100%;height:100%;background:#edcb83}.boss-timer.urgent strong{color:#ff9990}.boss-timer.urgent .boss-time-track i{background:#ff8d84}.boss-failure-card{max-height:88dvh;overflow-y:auto}.boss-failure-card .eyebrow{color:#ffa59a}.boss-failure-card #boss-failure-description{color:#f0c6b7;font-size:14px}.boss-failure-card .secondary-button{display:block;width:100%;margin-top:9px}@media(max-width:520px){.boss-timer strong{font-size:19px}.boss-timer{margin-top:6px}.boss-failure-card{padding:20px}.boss-failure-card h2{font-size:22px}}

/* Full class skill bar and equipment option details. */
.skills-wrap{width:min(770px,calc(100% - 480px))}
.skillbar{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px;padding:22px 7px 7px}
.skillbar .skill{width:100%;min-width:0;height:70px}
.skillbar .skill-name{font-size:12px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;padding:3px 1px}
.skillbar .skill kbd{font-size:12px;top:2px;left:3px}
.skillbar .skill-level{font-size:11px;right:1px;top:-18px;bottom:auto;line-height:1.1;min-width:34px;text-align:center}
.skillbar .utility-skill{width:100%}
.combat-stat-details{margin:0 0 18px;border:1px solid var(--line);padding:12px;background:#0a2329}
.combat-stat-details summary{cursor:pointer;font-size:14px;color:#d9c99f;line-height:1.6}
.combat-stat-details p{font-size:13px;line-height:1.7;color:#adc4bd;margin:12px 0 0}
.extended-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 22px;margin-top:15px}
.extended-stats>div,.weapon-damage-range{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;line-height:1.5}
.extended-stats span{color:#b4cbc3}.extended-stats b{font-variant-numeric:tabular-nums;text-align:right}
.weapon-damage-range{margin:18px 0;color:#f3d7a0}.weapon-damage-range b{white-space:nowrap}
.item-stat-lines>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;justify-content:space-between;min-height:25px}
.item-stat-lines>div>span{min-width:0;flex:1;font-size:14px;overflow-wrap:anywhere}
.item-stat-lines>div>b{font-size:14px;white-space:nowrap;margin-left:auto}
.rare-stat-lines{color:#b5e9e0}.rare-stat-lines p{font-size:13px;color:#92aaa3}
#item-inspector{min-width:0;max-height:650px;overflow-y:auto;scrollbar-gutter:stable}
.spec-limit-note{font-size:14px;line-height:1.6;color:#d9c69b}
.trait-state{white-space:normal;max-width:115px;flex-shrink:0}.trait-state small{overflow-wrap:anywhere}
@media(max-width:1199px){
 .skills-wrap{width:min(770px,calc(100% - 32px));bottom:12px;left:50%;right:auto;transform:translateX(-50%)}
 .bottom-right{bottom:121px;right:16px;display:flex;flex-direction:row;flex-wrap:wrap;max-width:440px;justify-content:flex-end}
 .bottom-left{bottom:121px;left:16px}.bottom-left #combat-log{display:none}
 .bag-button{min-height:39px;padding:6px 10px}.bag-button small{display:none}.bag-button>span,.bag-button>img{display:none}
 .interact-wrap{bottom:180px}.skillbar .skill{height:66px}
}
@media(max-width:800px){
 .extended-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #item-inspector{max-height:none;overflow:visible}
 .bottom-left{bottom:170px}.bottom-right{bottom:116px;max-width:calc(100% - 125px)}
 .bottom-right .bag-button>div{font-size:12px}.bottom-left .currency{padding:5px 10px}
 .skills-wrap{width:calc(100% - 18px)}.skillbar .skill{height:62px}
 #context-hint{display:none}.interact-wrap{bottom:217px}
}
@media(max-width:600px){
 .skillbar{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:5px}
 .skillbar .skill{height:60px}.skills-wrap{bottom:8px;width:calc(100% - 16px)}
 .bottom-right{bottom:151px;right:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;width:225px;gap:5px}
 .bottom-right .bag-button{padding:6px;justify-content:center;min-height:36px}
 .bottom-left{bottom:238px;left:9px;width:auto}.bottom-left .save-label{display:none}
 #joystick{bottom:161px;left:15px}.interact-wrap{bottom:249px;left:auto;right:9px;transform:none}
 .interact-button{padding:7px 10px;font-size:12px}.interact-button kbd{display:none}
 .extended-stats{gap:10px 15px}.extended-stats>div{font-size:13px}.combat-stat-details{padding:10px}
 .skillbar .skill-level{top:-17px;font-size:10px}.trait-state{max-width:85px}
 #sound-button{display:block}
}
@media(max-height:650px) and (min-width:601px){
 .skills-wrap{bottom:7px;width:min(770px,calc(100% - 24px))}
 .skillbar{grid-template-columns:repeat(11,minmax(0,1fr));padding:18px 4px 4px;gap:3px}.skillbar .skill{height:55px}
 .bottom-right{bottom:77px;display:flex;flex-direction:row;max-width:450px}.bottom-left{bottom:78px}
 #joystick{bottom:123px;left:16px}.interact-wrap{bottom:128px}#context-hint{display:none}
}

#merchant-dialog{width:780px;max-width:calc(100vw - 24px);max-height:92dvh;padding:24px;overflow:auto}
.merchant-intro{display:flex;align-items:center;gap:18px;margin:20px 0}
.merchant-intro>img{width:74px;height:102px;object-fit:contain;flex-shrink:0}
.merchant-intro>div:nth-child(2){flex:1;min-width:0}
.merchant-intro p{font-size:16px;line-height:1.6;margin:0 0 6px;color:#f0dfb9}
.merchant-intro span{display:block;font-size:14px;line-height:1.6;color:#abc2b9}
.merchant-wallet{text-align:right;font-size:13px;color:#afc1b6;flex-shrink:0}
.merchant-wallet strong{display:block;font-size:20px;color:#efcd8a;margin-top:6px;font-variant-numeric:tabular-nums}
#merchant-grades{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.merchant-grade{background:#102b30;border:1px solid #65827960;padding:12px 6px;color:var(--rarity);min-width:0}
.merchant-grade.selected{border-color:var(--rarity);background:#263c36;box-shadow:inset 0 -3px var(--rarity)}
.merchant-grade strong{display:block;font-size:15px;font-weight:600}.merchant-grade span{display:block;font-size:13px;margin-top:6px;color:#d3e0d6}
.merchant-sale-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
.merchant-sale-summary p{font-size:15px;font-weight:600;margin:0}.merchant-sale-summary>span{font-size:13px;color:#a6c3b6}
#merchant-items{max-height:310px;min-height:120px;overflow:auto;border:1px solid var(--line);scrollbar-gutter:stable;background:#071d23}
.merchant-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #a9c6ab21;min-width:0}
.merchant-item:last-child{border-bottom:0}.merchant-item>img{width:42px;height:46px;object-fit:contain;flex-shrink:0}
.merchant-item>div{flex:1;min-width:0}.merchant-item strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.merchant-item small{display:block;font-size:12px;line-height:1.6;color:#a8c2b7;margin-top:3px;overflow-wrap:anywhere}
.merchant-item .merchant-rare{color:#91e6da}.merchant-item>b{font-size:13px;color:#ebce91;white-space:nowrap}
.merchant-item button{font-size:13px;padding:6px 10px;min-height:34px;flex-shrink:0}
.merchant-empty{text-align:center;padding:30px 15px;font-size:15px;line-height:1.8;color:#cad6ca}.merchant-empty small{font-size:13px;color:#94afa4}
.merchant-total{display:flex;justify-content:space-between;gap:12px;margin:19px 0;align-items:center;font-size:15px}
.merchant-total strong{color:#f2d291;font-size:22px;font-variant-numeric:tabular-nums}
.merchant-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}.merchant-actions button{font-size:14px;min-height:46px}
.merchant-status{font-size:14px;line-height:1.7;color:#b6dbc4;margin:14px 0 0;min-height:24px}
#victory-town{border-color:#82bdae88;color:#c6e8d9}
@media(max-width:520px){
 #merchant-dialog{padding:14px;max-width:calc(100vw - 16px)}
 .merchant-intro{gap:10px;margin:14px 0;flex-wrap:wrap}.merchant-intro>img{width:57px;height:80px}
 .merchant-intro p{font-size:14px}.merchant-intro span{font-size:13px}.merchant-wallet{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left}.merchant-wallet strong{font-size:18px;margin:0}
 #merchant-grades{gap:5px}.merchant-grade{padding:10px 2px}.merchant-grade strong{font-size:14px}.merchant-grade span{font-size:12px}
 .merchant-sale-summary p{font-size:14px}.merchant-sale-summary>span{font-size:12px}
 .merchant-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;padding:10px 8px}.merchant-item>img{width:36px;height:40px;grid-row:1/3}
 .merchant-item>div{grid-column:2/4}.merchant-item>b{grid-column:2;text-align:left}.merchant-item button{grid-column:3;padding:5px 10px}
 .merchant-actions{grid-template-columns:1fr}.merchant-total strong{font-size:20px}.merchant-status{font-size:13px}
 #merchant-items{max-height:32dvh}
}

.skill[data-skill="attack"]{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

@media(max-width:800px){:root[data-touch="false"] .skillbar{padding-top:20px}}
