@font-face{font-family:PressStart;src:url("../vendor/press-start-2p.ttf") format("truetype");font-display:swap}
:root{--navy:#25344f;--ink:#26334a;--paper:#f8f1e4;--cream:#f4dfb5;--blue:#4f6fc9;--gold:#e4b24d;--leaf:#5c9867;--danger:#c95855}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;min-height:0;overflow:hidden;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#b8c5d5;color:var(--ink);overscroll-behavior:none}body{position:fixed;inset:0}.skip-link{position:fixed;left:8px;top:-60px;z-index:99;background:#fff;padding:8px}.skip-link:focus{top:8px}.shell{width:100%;max-width:100vw;height:var(--app-height,100dvh);max-height:var(--app-height,100dvh);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.system-bar{min-height:66px;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(300px,1fr) auto;align-items:center;gap:14px;padding:8px 14px;background:linear-gradient(#35445f,#26344d);color:#fff;border-bottom:3px solid #17243a;box-shadow:0 4px 0 rgba(24,35,53,.24);z-index:5}.world-brand{color:#fff;text-decoration:none;display:flex;flex-direction:column;gap:3px}.world-brand strong{font:20px/1.1 Georgia,"Times New Roman",serif;font-style:italic;letter-spacing:.4px}.world-brand small{font-size:7px;letter-spacing:1px;opacity:.78}.system-tabs{display:flex;align-items:center;gap:15px}.system-tabs span,.system-tabs button{display:grid;justify-items:center;gap:2px;min-width:42px;color:#eef3fb;background:none;border:0;padding:4px;font-size:15px}.system-tabs b{font-size:9px;font-weight:600}.system-tabs button{cursor:pointer}.status-deck{display:grid;grid-template-columns:auto auto;gap:3px 8px;justify-content:end;align-items:center}.day-card,.motto,.mini-hud{border:1px solid #75829a;background:#e7e9e7;color:#334158;border-radius:7px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}.day-card{display:flex;gap:8px;align-items:center;padding:5px 9px;font-size:11px}.day-card b{color:#42567b}.day-card i{font-style:normal;color:#d9a92e}.motto{grid-column:1/3;padding:4px 10px;font-size:10px}.mini-hud{grid-column:1/3;display:flex;gap:8px;align-items:center;padding:4px 9px}.mini-hud b{font:7px PressStart,monospace;color:#ae4649}.mini-hud i{font-style:normal;font-weight:800;font-size:10px}.gear-hud i{font-size:9px;white-space:nowrap}.system-actions{display:flex;gap:6px}.system-actions button,.system-actions a{font:10px system-ui;color:#fff;text-decoration:none;border:1px solid #7b89a2;background:#344661;border-radius:5px;padding:7px 8px;cursor:pointer}
.game-frame{position:relative;width:100%;min-width:0;min-height:0;overflow:hidden;background:#8ccaf0}.game-frame:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 70px rgba(56,79,91,.12)}#world{display:block;width:100%;max-width:100%;height:100%;max-height:100%;touch-action:none;outline:none}.zone-chip{position:absolute;top:14px;left:16px;background:rgba(251,246,233,.9);border:2px solid rgba(85,75,63,.35);border-radius:8px;padding:7px 10px;font:700 10px/1.2 system-ui;color:#5a4d42;box-shadow:0 4px 12px rgba(42,58,66,.12);pointer-events:none}.prompt{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);padding:9px 14px;background:rgba(250,245,232,.95);color:#32415a;border:2px solid #586985;border-radius:18px;font-weight:800;opacity:0;pointer-events:none;white-space:nowrap;box-shadow:0 5px 0 rgba(36,49,72,.2)}.prompt.on{opacity:1}.overlay{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(rgba(37,52,79,.74),rgba(28,45,63,.66));color:#fff;padding:24px;z-index:9}.overlay[hidden],.story[hidden]{display:none}.intro>span,.pause-card>span,#story-tag,footer b{font-family:PressStart,monospace}.intro h1{font:clamp(36px,7vw,70px)/1 Georgia,"Times New Roman",serif;font-style:italic;margin:12px 0;text-shadow:0 4px 0 #26344d}.intro p{max-width:690px;line-height:1.65;font-weight:700}.intro>div{display:flex;justify-content:center;gap:12px;margin:17px 0}.intro button,.intro a,.pause-card button,.pause-card a{font:inherit;text-decoration:none;color:#39465a;background:#f7efde;border:2px solid #b7a98e;border-radius:6px;padding:9px 13px;box-shadow:0 4px 0 #7e6f58;cursor:pointer}.intro .primary{background:#526fbd;color:#fff;border-color:#d3def8}.intro small{opacity:.88}.pause-card{width:min(620px,92vw);background:#f7f0df;color:#3c4758;border:8px solid #53617a;outline:3px solid #e8deca;border-radius:18px;padding:30px;box-shadow:0 18px 0 rgba(8,15,28,.28)}.pause-card h2{font:24px/1.4 Georgia,serif;margin:8px 0}.pause-card p{font-size:18px;font-style:italic}.pause-card .pause-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 12px}.pause-card a{display:grid;place-items:center}.gear-card{width:min(760px,94vw);max-height:min(650px,90vh);overflow:auto;text-align:left}.gear-card>h2,.gear-card>p{text-align:center}.gear-section{margin-top:18px}.gear-section h3{font:11px/1.4 PressStart,monospace;margin:0 0 9px;color:#596982}.gear-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gear-option{display:block!important;text-align:left;min-height:90px}.gear-option strong{display:block;font:10px/1.45 PressStart,monospace;margin-bottom:8px}.gear-option small{display:block;line-height:1.5;color:#5c687c}.gear-option[aria-pressed="true"]{background:#e7edff;border-color:#5877ef;box-shadow:0 4px 0 #5877ef}.gear-actions{display:flex;justify-content:flex-end;margin-top:18px}.story{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:min(790px,91vw);display:flex;justify-content:space-between;align-items:end;gap:18px;background:rgba(250,245,233,.98);border:3px solid #53617a;border-radius:13px;padding:15px 18px;z-index:8;box-shadow:0 8px 0 rgba(18,28,47,.2)}.story h2{font:700 20px/1.2 Georgia,serif;margin:4px 0 7px;color:#41557c}.story p{margin:0;line-height:1.55}.story a{color:#3659a8;font-weight:800}.story button{padding:9px 14px;border:2px solid #53617a;border-radius:6px;background:#fff8ea;font-weight:800}.touch{display:none;position:absolute;left:0;right:0;bottom:10px;justify-content:space-between;align-items:end;padding:0 14px;z-index:7;pointer-events:none}.touch>div{display:flex;gap:7px;pointer-events:none}.touch button{pointer-events:auto;min-width:54px;height:54px;border-radius:50%;border:3px solid rgba(255,255,255,.9);background:rgba(43,57,83,.78);color:#fff;font-weight:900;touch-action:none;padding:0 10px;box-shadow:0 4px 0 rgba(30,41,61,.35)}.touch-action{flex-wrap:wrap;justify-content:flex-end;max-width:250px}.touch .attack{background:rgba(184,77,67,.82)}.touch .guard{background:rgba(69,104,139,.84)}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f0eee7;border-top:3px solid #8792a3;padding:8px 14px;font-size:10px;z-index:5}footer b{font-size:7px;margin-right:4px;color:#425a82}
@media(max-width:980px){.system-bar{grid-template-columns:1fr auto auto}.system-tabs{display:none}.status-deck{grid-column:2}.system-actions{grid-column:3}.world-brand small{display:none}}
@media(max-width:800px),(pointer:coarse){.touch{display:flex}.prompt{bottom:72px}.system-bar{grid-template-columns:1fr auto;min-height:54px;padding:6px 9px}.world-brand strong{font-size:17px}.status-deck{grid-column:2}.day-card,.motto,.gear-hud{display:none}.mini-hud{grid-column:auto}.system-actions{display:none}footer{display:none}.pause-card .pause-actions,.gear-options{grid-template-columns:1fr}.story{bottom:79px}.shell{grid-template-rows:auto 1fr}.zone-chip{font-size:9px;top:8px;left:8px}}
@media(max-width:520px){.intro h1{font-size:39px}.intro>div{flex-direction:column;align-items:center}.story{flex-direction:column;align-items:stretch}.story button{align-self:flex-end}.touch button{min-width:47px;height:47px;font-size:11px}.touch-action{max-width:214px}.prompt{font-size:11px}.mini-hud{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.system-actions button[aria-pressed="true"]{background:#e4b24d;color:#25344f;border-color:#f7e3a5;box-shadow:0 3px 0 #8f6d27}

.system-tabs button{font:inherit}
.inventory-card{width:min(820px,94vw);max-height:min(650px,90vh);overflow:auto;text-align:left}
.inventory-card>h2,.inventory-card>p{text-align:center}
.inventory-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.item-card{display:grid;gap:5px;text-align:left!important;min-height:105px;align-content:start}
.item-card strong{font:9px/1.35 PressStart,monospace}.item-card small{line-height:1.35;color:#657084}.item-card .count{font-weight:900;color:#445778}
.item-card[data-kind="equipment"]{background:#edf1ff}.item-card[data-kind="consumable"]{background:#f6f0dc}.item-card[data-kind="material"]{background:#eef4e6}
.item-detail{border:2px solid #b7a98e;border-radius:8px;background:#fff9eb;padding:12px;min-height:72px;line-height:1.5}
.item-detail button{margin-top:8px}
.loot-toast{position:absolute;right:16px;top:16px;z-index:7;background:rgba(42,55,79,.9);color:#fff;border:2px solid #f2e6bf;border-radius:8px;padding:9px 12px;opacity:0;transform:translateY(-8px);transition:.18s ease;pointer-events:none;font-weight:800}.loot-toast.on{opacity:1;transform:none}
@media(max-width:800px){.inventory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-card{max-height:82vh}}

.skills-card{width:min(760px,94vw);max-height:min(650px,90vh);overflow:auto;text-align:left}.skills-card>h2,.skills-card>p{text-align:center}
.skills-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.skill-card{border:2px solid #b7a98e;border-radius:8px;background:#fff9eb;padding:12px;display:grid;gap:6px}.skill-card strong{font:9px/1.4 PressStart,monospace}.skill-card small{line-height:1.45;color:#657084}.skill-card em{font-style:normal;font-weight:800;color:#526a9e}.skill-card.passive{background:#eef4e6}.skill-card.special{background:#edf1ff}
.skill-hotbar{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;z-index:6}.skill-hotbar button{position:relative;display:grid;grid-template-columns:auto auto;align-items:center;gap:7px;min-width:116px;padding:8px 10px;border:2px solid rgba(255,255,255,.9);border-radius:9px;background:rgba(39,53,77,.86);color:#fff;box-shadow:0 4px 0 rgba(21,30,46,.35);cursor:pointer}.skill-hotbar b{font:8px PressStart,monospace;color:#f4d477}.skill-hotbar span{font-weight:800;font-size:11px}.skill-hotbar i{position:absolute;left:0;bottom:0;height:3px;background:#f4d477;width:0;border-radius:0 0 7px 7px}.skill-hotbar button:disabled{opacity:.55}.skill-hotbar button.cooling{border-color:#9fb0c7}
@media(max-width:800px),(pointer:coarse){.skill-hotbar{bottom:70px;gap:4px}.skill-hotbar button{min-width:74px;padding:6px 7px;grid-template-columns:auto}.skill-hotbar span{font-size:9px}.skills-list{grid-template-columns:1fr}}
@media(max-width:520px){.skill-hotbar button{min-width:62px}.skill-hotbar span{display:none}}

/* v2 unified MMORPG system skin */
:root{--ui-deep:#25344f;--ui-mid:#405476;--ui-gold:#d7ad55;--ui-gold-soft:#f3dfad;--ui-paper:#f7f0df;--ui-line:#8e8068;--ui-shadow:rgba(21,29,43,.30)}
.system-bar{background:linear-gradient(180deg,#354964 0%,#27364f 100%);border-bottom-color:#16243a}
.system-tabs span,.system-tabs button{border-radius:7px;transition:background .12s ease}.system-tabs button:hover,.system-tabs button:focus-visible{background:rgba(255,255,255,.09);outline:1px solid rgba(243,223,173,.55)}
.system-window{position:relative;border-color:var(--ui-mid);outline-color:var(--ui-gold-soft);background:linear-gradient(180deg,#fbf5e8,#f1e7d2);box-shadow:0 18px 0 var(--ui-shadow),0 0 0 2px rgba(69,57,43,.16)}
.system-window:before,.system-window:after{content:"";position:absolute;top:10px;width:30px;height:3px;background:var(--ui-gold);box-shadow:0 6px 0 rgba(215,173,85,.45)}.system-window:before{left:14px}.system-window:after{right:14px}
.system-window>span{display:block;text-align:center;color:#6f5b36;margin-bottom:5px}.system-window h2{color:#334968;letter-spacing:.5px}
.gear-section h3,.skill-card strong,.item-card strong{color:#425878}
.gear-option,.item-card,.skill-card{border:2px solid #a99c82!important;box-shadow:0 3px 0 rgba(95,78,55,.16)!important;border-radius:8px!important}
.gear-option:focus-visible,.item-card:focus-visible,.skill-card button:focus-visible{outline:3px solid rgba(79,111,201,.35);outline-offset:2px}
.item-card[data-kind="equipment"]{background:linear-gradient(180deg,#eef2ff,#e5eaf8)}.item-card[data-kind="consumable"]{background:linear-gradient(180deg,#fff8e7,#f3e9cd)}.item-card[data-kind="material"]{background:linear-gradient(180deg,#f2f7e9,#e7efdd)}
.item-detail{background:linear-gradient(180deg,#fffaf0,#f3ead7);border-color:#a99c82}
.skill-card.active{background:linear-gradient(180deg,#fff7e4,#f0e3c4)}.skill-card.special{background:linear-gradient(180deg,#edf2ff,#e3e9f7)}.skill-card.passive{background:linear-gradient(180deg,#f0f7e8,#e3edd9)}
.skill-hotbar{padding:5px 7px;border-radius:12px;background:rgba(31,43,64,.58);backdrop-filter:blur(3px);box-shadow:0 5px 16px rgba(20,28,42,.18)}
.skill-hotbar button{border-color:#d9c693;background:linear-gradient(180deg,rgba(64,83,117,.96),rgba(38,52,79,.96));box-shadow:0 4px 0 #1b273b}.skill-hotbar button:not(:disabled):hover{transform:translateY(-1px);border-color:#f0d88f}.skill-hotbar b{color:#ffe497}
.mini-hud{border-color:#9f927b;background:linear-gradient(180deg,#fbf8ef,#eae6db)}.mini-hud b{color:#b14f50}.gear-hud b{color:#506c9b}
.loot-toast{border-color:var(--ui-gold-soft);background:linear-gradient(180deg,rgba(54,73,104,.96),rgba(38,52,79,.96));box-shadow:0 5px 0 rgba(18,27,42,.25)}
.prompt{background:linear-gradient(180deg,rgba(255,250,238,.98),rgba(239,231,211,.98));border-color:#84755e;color:#33445f;box-shadow:0 5px 0 rgba(52,46,40,.18)}
.story{background:linear-gradient(180deg,rgba(255,250,238,.99),rgba(241,233,216,.99));border-color:#556783}.story h2{color:#3e5783}.story button{border-color:#8f8067;box-shadow:0 3px 0 rgba(75,62,47,.18)}
@media(max-width:800px),(pointer:coarse){.system-window{padding:22px 16px}.system-window:before,.system-window:after{width:18px}.skill-hotbar{background:rgba(31,43,64,.72)}}

@supports not (height:100dvh){.shell{height:var(--app-height,100vh);max-height:var(--app-height,100vh)}}
@media(max-width:800px),(pointer:coarse){html,body{position:fixed;inset:0;width:100%;height:var(--app-height,100dvh)}.shell{height:100%;max-height:100%;width:100%;}.game-frame{height:100%;}.overlay{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.zone-chip{left:max(8px,env(safe-area-inset-left));}.touch{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));}}

.touch svg,.skill-hotbar svg{width:24px;height:24px;fill:currentColor;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.touch button{display:grid;place-items:center}.touch button svg{pointer-events:none}
.skill-hotbar .skill-icon{width:25px;height:25px;fill:#fff4b0;stroke:#fff4b0}
@media(max-width:800px),(pointer:coarse){
  .system-bar{position:absolute;top:0;left:0;right:0;min-height:0;height:auto;padding:max(6px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));background:transparent;border:0;box-shadow:none;z-index:8;pointer-events:none}
  .world-brand,.system-tabs,.system-actions,.day-card,.motto,.gear-hud{display:none!important}.status-deck{display:flex;gap:5px;margin-left:auto;pointer-events:none}.mini-hud{display:flex!important;padding:5px 8px;background:rgba(249,246,235,.90);border-color:rgba(90,81,67,.45);font-size:9px;box-shadow:0 2px 7px rgba(27,40,58,.18)}
  .shell{grid-template-rows:minmax(0,1fr)}footer{display:none}.game-frame{grid-row:1}
  .zone-chip{top:max(8px,env(safe-area-inset-top));font-size:8px;padding:6px 8px}
  .touch{display:block;position:absolute;inset:0;padding:0;pointer-events:none}
  .touch-move{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));width:106px;height:106px;border-radius:50%;display:block!important;background:rgba(37,52,79,.34);border:2px solid rgba(255,255,255,.52);box-shadow:inset 0 0 0 15px rgba(255,255,255,.035);pointer-events:auto}
  .touch-move:after{content:"";position:absolute;left:50%;top:50%;width:28px;height:28px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(244,239,221,.30);border:1px solid rgba(255,255,255,.45);pointer-events:none}
  .touch-move button{position:absolute;top:12px;width:48px;height:80px;min-width:0;border:0;background:transparent;box-shadow:none;color:rgba(255,255,255,.94);padding:0}
  .touch-move button:first-child{left:2px}.touch-move button:last-child{right:2px}.touch-move button svg{width:30px;height:30px}
  .touch-action{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(13px,env(safe-area-inset-bottom));width:150px;height:132px;display:block!important;max-width:none;pointer-events:none}
  .touch-action button{position:absolute;min-width:0;width:50px;height:50px;padding:0;border-width:2px;background:rgba(43,57,83,.68);box-shadow:0 3px 0 rgba(30,41,61,.32);pointer-events:auto}
  .touch-action .attack{right:0;bottom:11px;width:58px;height:58px;background:rgba(184,77,67,.80)}
  .touch-action .jump{right:58px;bottom:0;background:rgba(58,76,105,.76)}
  .touch-action .guard{right:52px;bottom:58px;background:rgba(67,106,143,.78)}
  .touch-action .interact{right:0;bottom:72px;width:45px;height:45px;background:rgba(65,78,98,.65)}
  .touch-action .gear-touch{right:104px;bottom:78px;width:40px;height:40px;background:rgba(76,87,103,.62)}
  .touch-action button svg{width:25px;height:25px}.touch-action .attack svg{width:30px;height:30px}
  .skill-hotbar{left:auto;right:max(112px,calc(env(safe-area-inset-right) + 112px));bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px));transform:none;display:flex;flex-direction:column;gap:6px;padding:4px;background:rgba(31,43,64,.28);box-shadow:none;backdrop-filter:none}
  .skill-hotbar button{display:grid;place-items:center;min-width:0;width:43px;height:43px;padding:0;border-radius:50%;border-width:2px;grid-template-columns:1fr;background:rgba(41,57,84,.76)}
  .skill-hotbar button b{position:absolute;left:-3px;top:-4px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#f0d584;color:#26344a;font-size:6px}
  .skill-hotbar button span{display:none}.skill-hotbar .skill-icon{width:23px;height:23px}.skill-hotbar button i{height:3px;border-radius:0 0 50% 50%}
  .prompt{bottom:max(12px,calc(env(safe-area-inset-bottom) + 12px));font-size:10px;padding:6px 10px}
  .loot-toast{right:max(10px,env(safe-area-inset-right));top:max(48px,calc(env(safe-area-inset-top) + 48px));font-size:11px}
}
@media(max-width:600px) and (orientation:portrait){.skill-hotbar{right:max(76px,calc(env(safe-area-inset-right) + 76px));bottom:max(150px,calc(env(safe-area-inset-bottom) + 150px))}.touch-action{width:132px;height:122px}.touch-move{width:96px;height:96px}}

.inventory-card{width:min(900px,95vw)!important;max-height:min(690px,92vh)!important}
.inventory-tabs{display:flex;justify-content:flex-end;gap:7px;margin:8px 0 12px}.inventory-tabs button{padding:6px 10px;border:1px solid #9d8f76;border-radius:7px;background:#f7efd9;color:#4d5d75;font:700 10px system-ui;box-shadow:0 2px 0 rgba(85,70,50,.16)}.inventory-tabs button[aria-pressed="true"]{background:#526eaa;color:#fff;border-color:#405a91}
.inventory-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;align-items:stretch}.paperdoll{position:relative;min-height:370px;border:2px solid #a99c82;border-radius:12px;background:linear-gradient(180deg,#dae8f3,#edf2ec 55%,#e9ddbf);overflow:hidden;box-shadow:inset 0 0 30px rgba(78,96,110,.12)}.paperdoll:after{content:"";position:absolute;left:50%;bottom:54px;width:130px;height:24px;transform:translateX(-50%);border-radius:50%;background:rgba(65,80,92,.14)}.paperdoll-title{position:absolute;left:12px;top:10px;color:#52647e;font:8px PressStart,monospace;z-index:2}.paperdoll canvas{position:absolute;left:50%;top:54px;width:150px;height:200px;transform:translateX(-50%);z-index:2}.equip-slot{position:absolute;z-index:3;width:94px;min-height:56px;padding:7px;border:2px solid rgba(104,91,71,.45);border-radius:9px;background:rgba(255,250,235,.88);box-shadow:0 3px 0 rgba(76,64,49,.12)}.equip-slot small{display:block;font:7px PressStart,monospace;color:#7c6b4e;margin-bottom:5px}.equip-slot strong{display:block;font-size:10px;color:#415570}.equip-slot.empty{opacity:.58}.slot-weapon{left:10px;top:70px}.slot-armor{right:10px;top:70px}.slot-head{left:10px;bottom:24px}.slot-charm{right:10px;bottom:24px}
.bag-panel{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-width:0}.inventory-list{grid-template-columns:repeat(5,minmax(0,1fr))!important;align-content:start;margin:0!important;padding:2px;max-height:375px;overflow:auto}.item-card{position:relative;aspect-ratio:1;min-height:0!important;padding:7px!important;place-items:center;text-align:center!important;align-content:center!important}.item-card strong{display:none}.item-card small{position:absolute;left:4px;bottom:3px;font-size:7px!important;opacity:.65}.item-card .count{position:absolute;right:5px;bottom:3px;padding:1px 4px;border-radius:8px;background:rgba(35,48,70,.78);color:#fff!important;font-size:10px}.item-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(215,221,225,.7));border:1px solid rgba(90,98,107,.3);font-size:25px;line-height:1;box-shadow:inset 0 1px 3px rgba(255,255,255,.8)}.item-card[data-kind="equipment"] .item-icon{background:linear-gradient(145deg,#e7ebff,#cdd7f0)}.item-card[data-kind="consumable"] .item-icon{background:linear-gradient(145deg,#fff3da,#f0dbb1)}.item-card[data-kind="material"] .item-icon{background:linear-gradient(145deg,#edf6df,#d9e9ca)}.item-detail{min-height:94px}
@media(max-width:800px),(pointer:coarse){.inventory-card{width:min(96vw,780px)!important;max-height:calc(var(--app-height,100dvh) - 18px)!important;padding:14px!important}.inventory-card>span,.inventory-card>h2{display:none}.inventory-tabs{margin:0 0 8px;justify-content:center}.inventory-tabs button{font-size:9px;padding:5px 7px}.inventory-layout{grid-template-columns:minmax(150px,34%) 1fr;gap:8px}.paperdoll{min-height:250px}.paperdoll canvas{top:38px;width:105px;height:140px}.paperdoll-title{font-size:6px}.equip-slot{width:70px;min-height:44px;padding:5px}.equip-slot small{font-size:5px}.equip-slot strong{font-size:8px}.slot-weapon{left:5px;top:52px}.slot-armor{right:5px;top:52px}.slot-head{left:5px;bottom:12px}.slot-charm{right:5px;bottom:12px}.inventory-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-height:240px}.item-card{padding:3px!important}.item-icon{width:34px;height:34px;font-size:20px}.item-card small{display:none}.item-detail{font-size:11px;min-height:70px;padding:8px}.inventory-card .gear-actions{margin-top:7px}}


/* mobile landscape: aspect-fit canvas + compact translucent touch controls */
@media (pointer:coarse) and (orientation:landscape){
  .game-frame{
    display:grid;
    place-items:center;
    background:#213149;
  }
  #world{
    object-fit:contain;
    aspect-ratio:16/9;
    image-rendering:auto;
  }
  .touch{
    --tap:clamp(36px,10.5dvh,46px);
    --tap-main:clamp(42px,12.5dvh,52px);
    --tap-small:clamp(30px,8.5dvh,38px);
    --icon:clamp(18px,5.8dvh,25px);
  }
  .touch-move{
    left:max(10px,env(safe-area-inset-left));
    bottom:max(10px,env(safe-area-inset-bottom));
    width:clamp(72px,23dvh,92px);
    height:clamp(72px,23dvh,92px);
    background:rgba(28,43,65,.16);
    border:1px solid rgba(255,255,255,.28);
    box-shadow:inset 0 0 0 10px rgba(255,255,255,.02);
  }
  .touch-move:after{
    width:clamp(20px,6dvh,26px);
    height:clamp(20px,6dvh,26px);
    background:rgba(244,239,221,.14);
    border-color:rgba(255,255,255,.24);
  }
  .touch-move button{
    top:7%;
    width:48%;
    height:86%;
    color:rgba(255,255,255,.76);
  }
  .touch-move button:first-child{left:0}
  .touch-move button:last-child{right:0}
  .touch-move button svg{
    width:clamp(22px,7dvh,28px);
    height:clamp(22px,7dvh,28px);
  }

  .touch-action{
    right:max(10px,env(safe-area-inset-right));
    bottom:max(9px,env(safe-area-inset-bottom));
    width:clamp(104px,31dvh,126px);
    height:clamp(88px,27dvh,106px);
  }
  .touch-action button{
    width:var(--tap);
    height:var(--tap);
    color:rgba(255,255,255,.82);
    background:rgba(35,49,72,.26);
    border:1.5px solid rgba(255,255,255,.36);
    box-shadow:0 2px 5px rgba(15,24,38,.16);
  }
  .touch-action button svg{
    width:var(--icon);
    height:var(--icon);
  }
  .touch-action .attack{
    right:0;
    bottom:6px;
    width:var(--tap-main);
    height:var(--tap-main);
    background:rgba(174,61,57,.34);
    border-color:rgba(255,220,215,.42);
  }
  .touch-action .attack svg{
    width:clamp(23px,7.2dvh,29px);
    height:clamp(23px,7.2dvh,29px);
  }
  .touch-action .jump{
    right:clamp(40px,11.5dvh,50px);
    bottom:0;
    background:rgba(42,58,82,.28);
  }
  .touch-action .guard{
    right:clamp(38px,11dvh,48px);
    bottom:clamp(38px,11dvh,48px);
    background:rgba(54,91,126,.32);
    border-color:rgba(205,235,255,.40);
  }
  .touch-action .interact{
    right:0;
    bottom:clamp(50px,14.5dvh,61px);
    width:var(--tap-small);
    height:var(--tap-small);
    background:rgba(43,55,72,.22);
  }
  .touch-action .gear-touch{
    right:clamp(73px,21dvh,88px);
    bottom:clamp(52px,15dvh,64px);
    width:var(--tap-small);
    height:var(--tap-small);
    background:rgba(43,55,72,.20);
  }

  .skill-hotbar{
    left:auto;
    right:max(10px,env(safe-area-inset-right));
    top:max(48px,calc(env(safe-area-inset-top) + 48px));
    bottom:auto;
    transform:none;
    flex-direction:row;
    gap:4px;
    padding:2px;
    background:rgba(31,43,64,.12);
  }
  .skill-hotbar button{
    width:clamp(30px,8.7dvh,37px);
    height:clamp(30px,8.7dvh,37px);
    background:rgba(37,52,78,.34);
    border:1px solid rgba(255,255,255,.32);
    box-shadow:none;
  }
  .skill-hotbar .skill-icon{
    width:clamp(17px,5dvh,21px);
    height:clamp(17px,5dvh,21px);
  }
  .skill-hotbar button b{
    width:14px;
    height:14px;
    font-size:5px;
  }
  .prompt{
    bottom:max(8px,calc(env(safe-area-inset-bottom) + 8px));
    padding:5px 9px;
    font-size:9px;
    opacity:.92;
  }
  .zone-chip{
    opacity:.82;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (min-aspect-ratio:16/9){
  #world{
    width:auto;
    height:100%;
    max-width:100%;
    max-height:100%;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (max-aspect-ratio:16/9){
  #world{
    width:100%;
    height:auto;
    max-width:100%;
    max-height:100%;
  }
}
@media (pointer:coarse) and (orientation:landscape) and (max-height:400px){
  .status-deck{transform:scale(.9);transform-origin:top right}
  .zone-chip{font-size:7px;padding:5px 7px}
  .touch-action{right:max(8px,env(safe-area-inset-right));bottom:max(7px,env(safe-area-inset-bottom))}
  .touch-move{left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom))}
  .skill-hotbar{top:max(42px,calc(env(safe-area-inset-top) + 42px))}
}
