/* Abyss RPG v002 — isolated combat, equipment, and world presentation */
#abyss-rpg{display:none}
body.view-abyss-rpg #abyss-rpg{display:block!important}
body.view-abyss-rpg .hero,
body.view-abyss-rpg #desktop,
body.view-abyss-rpg .section,
body.view-abyss-rpg .collection,
body.view-abyss-rpg #next-pickups,
body.view-abyss-rpg #inventory-table,
body.view-abyss-rpg #abyss-shooters,
body.view-abyss-rpg #abyss-tower-defense,
body.view-abyss-rpg #abyssal-clicker-farms{display:none!important}
body.view-abyss-rpg .app{max-width:1520px}
.rpg-page{padding:18px 0 46px;animation:rpgPageIn .28s ease;color:#eefeff}
@keyframes rpgPageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rpg-shell{position:relative;min-height:780px;margin:0 14px;overflow:hidden;border:1px solid rgba(104,232,255,.24);border-radius:34px;background:#031321;box-shadow:0 34px 100px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.06)}
.rpg-screen{display:none;position:relative;min-height:780px}
.rpg-screen.active{display:block;animation:rpgScreenIn .25s ease}
@keyframes rpgScreenIn{from{opacity:0;transform:scale(.994)}to{opacity:1;transform:none}}

/* Title screen */
.rpg-title-screen{isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#073651 0%,#06263f 35%,#03131f 100%)}
.rpg-title-world{position:absolute;inset:0;z-index:-3;overflow:hidden;background:
 radial-gradient(circle at 50% 14%,rgba(151,250,255,.31),transparent 20%),
 radial-gradient(circle at 18% 72%,rgba(92,219,167,.18),transparent 30%),
 radial-gradient(circle at 82% 68%,rgba(150,104,255,.18),transparent 28%),
 linear-gradient(180deg,#0a6380 0,#07425e 36%,#062c45 62%,#031421 100%)}
.rpg-title-world:before{content:"";position:absolute;inset:-10%;background:repeating-linear-gradient(112deg,transparent 0 11%,rgba(152,251,255,.06) 12% 14%,transparent 15% 25%);transform:skewX(-12deg);animation:rpgCaustics 15s linear infinite}
.rpg-title-world:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-12%;height:58%;background:
 radial-gradient(ellipse at 14% 80%,#0c796b 0 4%,transparent 5%),
 radial-gradient(ellipse at 30% 68%,#1a8d70 0 5%,transparent 6%),
 radial-gradient(ellipse at 72% 74%,#176c6b 0 6%,transparent 7%),
 radial-gradient(ellipse at 88% 58%,#5e477d 0 5%,transparent 6%),
 linear-gradient(180deg,transparent,#09545b 34%,#063e48 75%,#04232d);clip-path:polygon(0 36%,7% 27%,16% 34%,24% 12%,33% 31%,42% 19%,51% 39%,61% 18%,72% 32%,84% 11%,100% 30%,100% 100%,0 100%)}
@keyframes rpgCaustics{to{transform:translateX(12%) skewX(-12deg)}}
.rpg-title-bubbles{position:absolute;inset:0;z-index:-2;pointer-events:none}
.rpg-title-bubbles i{position:absolute;width:var(--s);height:var(--s);left:var(--x);bottom:-70px;border:1px solid rgba(203,251,255,.7);border-radius:50%;box-shadow:inset 3px 3px 7px rgba(255,255,255,.22);animation:rpgBubbleRise var(--d) linear infinite;animation-delay:var(--delay)}
@keyframes rpgBubbleRise{to{transform:translate(var(--drift),-930px);opacity:.05}}
.rpg-title-ui{position:relative;z-index:2;display:flex;min-height:780px;flex-direction:column;padding:18px 22px 24px}
.rpg-title-topbar{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center}
.rpg-title-back,.rpg-title-profile,.rpg-title-icon-button{appearance:none;border:1px solid rgba(190,248,255,.2);background:linear-gradient(145deg,rgba(9,66,83,.78),rgba(5,26,45,.86));color:#f0ffff;border-radius:16px;min-height:48px;cursor:pointer;box-shadow:0 13px 32px rgba(0,0,0,.22);transition:.18s ease}
.rpg-title-back{display:flex;align-items:center;gap:8px;padding:10px 14px;font-weight:950}.rpg-title-back span{font-size:20px}
.rpg-title-profile{justify-self:center;display:grid;grid-template-columns:44px auto;gap:9px;align-items:center;padding:6px 15px 6px 7px;text-align:left;min-width:210px}
.rpg-title-profile-orb{width:40px;height:40px;display:grid;place-items:center;border:2px solid rgba(142,247,255,.42);border-radius:14px;background:radial-gradient(circle at 35% 25%,#7cf8ff,#176986 54%,#0a2746);box-shadow:inset 0 0 16px rgba(255,255,255,.2),0 0 20px rgba(91,224,255,.14)}
.rpg-title-profile-copy small{display:block;color:#a9dadd;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.13em}.rpg-title-profile-copy b{display:block;margin-top:2px;font-size:14px}
.rpg-title-icon-button{width:48px;display:grid;place-items:center;font-size:20px}.rpg-title-icon-button img{width:34px;height:34px;object-fit:cover;border-radius:10px}
@media(hover:hover) and (pointer:fine){.rpg-title-back:hover,.rpg-title-profile:hover,.rpg-title-icon-button:hover,.rpg-menu-button:hover{transform:translateY(-3px);filter:brightness(1.12);border-color:rgba(199,254,255,.46)}}
.rpg-title-center{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(430px,1.18fr);gap:34px;align-items:center;width:min(1220px,100%);margin:auto;padding:32px 16px 16px}
.rpg-title-brand{display:flex;flex-direction:column;align-items:center;text-align:center;filter:drop-shadow(0 20px 35px rgba(0,0,0,.4))}
.rpg-title-emblem{width:min(330px,66vw);aspect-ratio:1;border-radius:28%;object-fit:cover;border:1px solid rgba(255,231,137,.34);box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 40px rgba(83,229,255,.15)}
.rpg-title-brand .eyebrow{margin-top:18px;color:#8ff6ff;font-size:10px;font-weight:1000;letter-spacing:.22em;text-transform:uppercase}
.rpg-title-brand h2{margin:7px 0 5px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,8vw,96px);line-height:.8;letter-spacing:-.075em;background:linear-gradient(180deg,#ffffff 5%,#c8f7ff 48%,#73d8ec 70%,#d7bdff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 12px 45px rgba(10,102,137,.32)}
.rpg-title-brand h2 i{display:block;font-size:.42em;letter-spacing:.08em;font-style:normal}.rpg-title-brand p{max-width:470px;margin:10px 0 0;color:#b7d5dc;line-height:1.5;font-size:13px}
.rpg-title-menu{display:grid;gap:12px;padding:20px;border:1px solid rgba(171,244,255,.19);border-radius:28px;background:linear-gradient(160deg,rgba(3,22,37,.86),rgba(3,12,25,.93));backdrop-filter:blur(15px);box-shadow:0 28px 80px rgba(0,0,0,.36)}
.rpg-menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 4px 7px}.rpg-menu-head span{color:#78edff;font-size:9px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.rpg-menu-head b{font-size:13px;color:#dffcff}.rpg-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rpg-menu-button{appearance:none;position:relative;display:flex;align-items:center;gap:13px;min-height:76px;padding:13px 15px;border:1px solid rgba(255,255,255,.11);border-radius:19px;background:linear-gradient(145deg,rgba(20,98,114,.62),rgba(16,43,70,.85));color:#efffff;text-align:left;cursor:pointer;transition:.18s ease;overflow:hidden}
.rpg-menu-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.13),transparent 45%);pointer-events:none}.rpg-menu-button>*{position:relative}.rpg-menu-button.primary{grid-column:1/-1;min-height:94px;border-color:rgba(255,226,116,.5);background:linear-gradient(145deg,#3bc8ad,#177e95 48%,#4855b8);box-shadow:0 10px 0 #0a5067,0 22px 36px rgba(0,0,0,.3)}.rpg-menu-button.primary .icon{width:58px;height:58px;font-size:26px;background:radial-gradient(circle at 35% 25%,#fff7c8,#ffd765 48%,#d9862f);color:#15475e;border-color:#fff4bd}.rpg-menu-button .icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border:2px solid rgba(224,255,255,.55);border-radius:50%;background:rgba(72,207,220,.15);font-size:20px}.rpg-menu-button b{display:block;font-size:17px}.rpg-menu-button small{display:block;margin-top:3px;color:#b6d7dc;font-size:9px;font-weight:800}.rpg-menu-button[disabled]{filter:grayscale(.4);opacity:.62;cursor:not-allowed}
.rpg-milestone-card{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin-top:2px;padding:12px 14px;border:1px solid rgba(138,240,206,.18);border-radius:18px;background:rgba(11,69,65,.24)}.rpg-milestone-card i{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:rgba(102,242,193,.12);color:#90ffd6;font-style:normal;font-size:20px}.rpg-milestone-card b{display:block;font-size:12px}.rpg-milestone-card span{display:block;margin-top:2px;color:#9ec6c8;font-size:9px;line-height:1.4}
.rpg-title-footer{display:flex;align-items:center;justify-content:center;gap:12px;color:#8fb8c1;font-size:9px;font-weight:850}.rpg-title-footer b{color:#baf8ff}

/* Title panels */
.rpg-title-panel-shade,.rpg-modal-shade{position:absolute;inset:0;z-index:50;display:none;background:rgba(1,8,16,.72);backdrop-filter:blur(8px)}
.rpg-title-panel-shade.open,.rpg-modal-shade.open{display:block}
.rpg-title-panel{position:absolute;right:0;top:0;bottom:0;width:min(470px,95%);overflow:auto;padding:23px;border-left:1px solid rgba(114,237,255,.24);background:linear-gradient(180deg,rgba(5,37,54,.995),rgba(3,14,28,.995));box-shadow:-35px 0 90px rgba(0,0,0,.52)}
.rpg-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rpg-panel-head span{color:#7cecff;font-size:9px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}.rpg-panel-head h3{margin:5px 0 0;font-size:32px;letter-spacing:-.055em}.rpg-panel-close{width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.06);color:#efffff;font-size:20px;cursor:pointer}.rpg-setting-card,.rpg-guide-card{margin-top:13px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:17px;background:rgba(255,255,255,.04)}.rpg-setting-card b,.rpg-guide-card b{display:block;font-size:13px}.rpg-setting-card p,.rpg-guide-card p{margin:5px 0 0;color:#9fc4cb;font-size:10px;line-height:1.55}.rpg-setting-card label{display:flex;align-items:center;justify-content:space-between;gap:15px}.rpg-setting-card input{width:20px;height:20px;accent-color:#61e5da}.rpg-guide-list{display:grid;gap:9px;margin-top:16px}.rpg-guide-card{margin:0;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}.rpg-guide-card i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(99,230,255,.1);font-style:normal;font-size:19px}

/* Live game */
.rpg-game-screen{background:#020a12;min-height:780px;overflow:hidden}
.rpg-game-stage{position:relative;width:100%;height:min(820px,calc(100vh - 102px));min-height:650px;background:#02121f;overflow:hidden;touch-action:none}
#rpgGameMount{position:absolute;inset:0}#rpgGameMount canvas{display:block!important;width:100%!important;height:100%!important;object-fit:cover;image-rendering:auto;image-rendering:smooth;}
.rpg-game-vignette{position:absolute;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 0 110px rgba(0,0,0,.58),inset 0 -60px 90px rgba(0,0,0,.32)}
.rpg-hud{position:absolute;inset:0;z-index:7;pointer-events:none;padding:13px;display:grid;grid-template-columns:minmax(220px,330px) 1fr auto;grid-template-rows:auto 1fr auto;gap:10px}
.rpg-hud-card{pointer-events:auto;border:1px solid rgba(187,248,255,.19);border-radius:17px;background:linear-gradient(155deg,rgba(3,20,34,.87),rgba(3,10,22,.84));backdrop-filter:blur(8px);box-shadow:0 13px 35px rgba(0,0,0,.29)}
.rpg-player-hud{padding:10px;display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:center}.rpg-player-portrait{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 34% 23%,#8bfbff,#12687e 55%,#09243e);border:2px solid rgba(225,255,255,.55)}.rpg-player-portrait svg{width:100%;height:100%}.rpg-player-copy{min-width:0}.rpg-player-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rpg-player-name-row b{font-size:13px}.rpg-player-name-row span{font-size:9px;color:#ffe493;font-weight:950}.rpg-meter{height:11px;margin-top:5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.38);overflow:hidden}.rpg-meter i{display:block;height:100%;width:var(--value,100%);transition:width .2s ease}.rpg-health-meter i{background:linear-gradient(90deg,#df455a,#ff745e)}.rpg-stamina-meter i{background:linear-gradient(90deg,#2987d2,#67ebff)}.rpg-meter-labels{display:flex;justify-content:space-between;margin-top:3px;color:#9ebcc5;font-size:8px;font-weight:900}
.rpg-location-hud{justify-self:center;align-self:start;padding:9px 16px;text-align:center;min-width:210px}.rpg-location-hud b{display:block;font-family:Georgia,serif;font-size:17px}.rpg-location-hud span{display:block;margin-top:2px;color:#9bc6cc;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.rpg-top-actions{display:flex;gap:7px;pointer-events:auto}.rpg-hud-button{width:43px;height:43px;border:1px solid rgba(190,248,255,.2);border-radius:14px;background:rgba(4,23,37,.88);color:#f1ffff;font-size:18px;cursor:pointer}.rpg-hud-button:hover{filter:brightness(1.15)}
.rpg-minimap-shell{grid-column:3;grid-row:2;align-self:start;width:190px;padding:8px}.rpg-minimap-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:#bcebf1;font-size:8px;font-weight:950}.rpg-minimap-head span:last-child{color:#78eec4}.rpg-minimap{display:block;width:100%;height:auto;border-radius:10px;background:#03131e;border:1px solid rgba(255,255,255,.08)}
.rpg-quest-hud{grid-column:1;grid-row:2;align-self:start;margin-top:82px;padding:10px 12px;max-width:285px}.rpg-quest-hud small{display:block;color:#79edff;font-size:8px;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}.rpg-quest-hud b{display:block;margin-top:4px;font-size:12px}.rpg-quest-hud span{display:block;margin-top:4px;color:#9fc2c8;font-size:9px;line-height:1.4}
.rpg-debug-hud{grid-column:1;grid-row:2;align-self:end;display:none;margin-bottom:94px;padding:10px 12px;font:9px/1.55 ui-monospace,Consolas,monospace;color:#bdffd9}.rpg-debug-hud.show{display:block}
.rpg-hotbar{grid-column:1/-1;grid-row:3;justify-self:center;align-self:end;display:flex;gap:6px;padding:7px}.rpg-hotbar-slot{position:relative;width:55px;height:55px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(1,9,18,.75);display:grid;place-items:center;color:#c5eef2}.rpg-hotbar-slot.active{border-color:#ffe58c;box-shadow:0 0 18px rgba(255,221,111,.16)}.rpg-hotbar-slot i{font-style:normal;font-size:23px}.rpg-hotbar-slot small{position:absolute;right:5px;bottom:3px;font-size:8px;font-weight:950}.rpg-hotbar-slot span{position:absolute;left:5px;top:3px;font-size:7px;color:#89aeb8}
.rpg-interact-prompt{position:absolute;left:50%;bottom:92px;z-index:9;transform:translateX(-50%) translateY(12px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,236,149,.3);border-radius:999px;background:rgba(2,12,22,.88);font-size:10px;font-weight:900;transition:.16s}.rpg-interact-prompt.show{opacity:1;transform:translateX(-50%)}.rpg-interact-prompt kbd{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border:1px solid rgba(255,255,255,.28);border-radius:9px;background:linear-gradient(180deg,#f4ffff,#a6d6dc);color:#092333;font:900 11px system-ui;box-shadow:0 3px 0 #51757b}
.rpg-save-toast{position:absolute;right:15px;bottom:83px;z-index:12;opacity:0;transform:translateY(10px);padding:8px 11px;border:1px solid rgba(103,238,188,.3);border-radius:999px;background:rgba(2,22,25,.91);color:#b9ffdd;font-size:9px;font-weight:950;transition:.18s}.rpg-save-toast.show{opacity:1;transform:none}
.rpg-weather-flash{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:#b8f5ff}.rpg-weather-flash.show{animation:rpgWeatherFlash .5s ease}@keyframes rpgWeatherFlash{0%,100%{opacity:0}30%{opacity:.18}}

/* dialogue and menus */
.rpg-dialogue{position:absolute;left:50%;bottom:82px;z-index:30;width:min(760px,calc(100% - 28px));transform:translateX(-50%);display:none;padding:14px 16px 12px;border:1px solid rgba(255,227,128,.3);border-radius:18px;background:linear-gradient(160deg,rgba(4,18,30,.97),rgba(2,8,17,.98));box-shadow:0 25px 70px rgba(0,0,0,.48)}.rpg-dialogue.open{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:start}.rpg-dialogue-portrait{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#7bf3ee,#205f77 58%,#0b273e);font-size:28px;border:2px solid rgba(255,255,255,.36)}.rpg-dialogue-copy small{color:#ffc970;font-size:8px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}.rpg-dialogue-copy b{display:block;margin-top:2px;font-size:16px}.rpg-dialogue-copy p{margin:7px 0 0;color:#d7edf0;font-size:12px;line-height:1.55}.rpg-dialogue-next{align-self:end;border:0;background:none;color:#ffe087;font-size:22px;cursor:pointer;animation:rpgNextBob 1s ease-in-out infinite}@keyframes rpgNextBob{50%{transform:translateY(4px)}}
.rpg-modal-card{position:absolute;left:50%;top:50%;width:min(780px,calc(100% - 28px));max-height:calc(100% - 40px);overflow:auto;transform:translate(-50%,-50%);padding:19px;border:1px solid rgba(116,235,255,.24);border-radius:23px;background:linear-gradient(155deg,rgba(5,27,42,.99),rgba(3,11,23,.995));box-shadow:0 32px 95px rgba(0,0,0,.58)}.rpg-modal-card h3{margin:3px 0 0;font-size:29px;letter-spacing:-.05em}.rpg-modal-card>p{margin:7px 0 0;color:#9fc2c9;font-size:10px;line-height:1.55}.rpg-inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.rpg-inventory-item{display:grid;grid-template-columns:45px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.035)}.rpg-inventory-item i{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:rgba(87,224,235,.1);font-style:normal;font-size:22px}.rpg-inventory-item b{font-size:12px}.rpg-inventory-item small{display:block;margin-top:3px;color:#8db5bd;font-size:8px}.rpg-inventory-item strong{font-size:13px;color:#ffe38b}.rpg-inventory-empty{grid-column:1/-1;padding:34px;text-align:center;border:1px dashed rgba(255,255,255,.14);border-radius:17px;color:#93b7bf;font-size:11px}.rpg-pause-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.rpg-pause-actions button{min-height:48px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.055);color:#efffff;font-weight:950;cursor:pointer}.rpg-pause-actions .primary{background:linear-gradient(145deg,#239a85,#176c83)}

/* touch controls */
.rpg-touch-controls{position:absolute;inset:auto 0 12px;z-index:20;display:none;align-items:end;justify-content:space-between;padding:0 14px;pointer-events:none}.rpg-touch-dpad,.rpg-touch-actions{pointer-events:auto}.rpg-touch-dpad{position:relative;width:142px;height:142px}.rpg-touch-button{position:absolute;width:48px;height:48px;border:1px solid rgba(213,253,255,.24);border-radius:16px;background:rgba(3,24,38,.72);color:#eaffff;font-size:21px;font-weight:1000;backdrop-filter:blur(6px);touch-action:none}.rpg-touch-button.active{background:rgba(61,194,196,.52);transform:scale(.95)}.rpg-touch-up{left:47px;top:0}.rpg-touch-left{left:0;top:47px}.rpg-touch-right{right:0;top:47px}.rpg-touch-down{left:47px;bottom:0}.rpg-touch-actions{display:flex;gap:10px;align-items:end}.rpg-touch-action{position:relative;width:66px;height:66px;border-radius:50%;border:2px solid rgba(255,255,255,.34);background:rgba(5,40,55,.78);color:#efffff;font-weight:1000;touch-action:none}.rpg-touch-action.attack{width:78px;height:78px;background:rgba(155,65,80,.72);border-color:rgba(255,187,145,.5)}.rpg-touch-action small{display:block;font-size:8px;color:#c3e4e6}.rpg-touch-action b{font-size:19px}

/* account profile modal avatar preview support */
.game-profile-modal[data-profile-game="rpg"]{--profile-accent:#6cecff;--profile-accent-2:#7a70ff}

@media(max-width:1050px){
 .rpg-title-center{grid-template-columns:1fr;gap:18px;padding-top:25px}.rpg-title-brand{display:grid;grid-template-columns:180px 1fr;grid-template-rows:auto auto auto;column-gap:20px;text-align:left;align-items:center}.rpg-title-emblem{grid-row:1/4;width:180px}.rpg-title-brand .eyebrow{margin:0}.rpg-title-brand h2{font-size:66px}.rpg-title-brand p{margin-top:5px}.rpg-title-ui{min-height:850px}.rpg-screen,.rpg-shell{min-height:850px}
 .rpg-hud{grid-template-columns:minmax(210px,300px) 1fr auto}.rpg-minimap-shell{width:170px}
}
@media(max-width:760px){
 body.view-abyss-rpg .app{padding-left:0;padding-right:0}.rpg-shell{margin:0 5px;border-radius:23px}.rpg-title-ui{padding:12px}.rpg-title-topbar{grid-template-columns:auto 1fr auto}.rpg-title-profile{position:absolute;left:12px;right:12px;top:69px;width:auto;min-width:0}.rpg-title-icon-button.settings{grid-column:3}.rpg-title-icon-button.fullscreen{display:none}.rpg-title-center{padding-top:83px}.rpg-title-brand{grid-template-columns:120px 1fr;column-gap:13px}.rpg-title-emblem{width:120px}.rpg-title-brand h2{font-size:48px}.rpg-title-brand p{font-size:10px}.rpg-menu-grid{grid-template-columns:1fr}.rpg-menu-button.primary{grid-column:auto}.rpg-title-footer{display:none}.rpg-title-ui,.rpg-screen,.rpg-shell{min-height:790px}
 .rpg-game-stage{height:calc(100vh - 76px);min-height:660px}.rpg-hud{padding:8px;grid-template-columns:minmax(190px,1fr) auto;grid-template-rows:auto 1fr auto}.rpg-location-hud{display:none}.rpg-top-actions{grid-column:2}.rpg-minimap-shell{grid-column:2;grid-row:2;width:135px}.rpg-quest-hud{grid-column:1;grid-row:2;margin-top:76px;max-width:230px}.rpg-hotbar{display:none}.rpg-interact-prompt{bottom:156px}.rpg-save-toast{bottom:153px}.rpg-dialogue{bottom:150px}.rpg-touch-controls{display:flex}.rpg-debug-hud{margin-bottom:150px}.rpg-inventory-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
 .rpg-title-brand{display:flex;text-align:center}.rpg-title-emblem{width:105px}.rpg-title-brand h2{font-size:43px}.rpg-title-brand p{display:none}.rpg-title-menu{padding:13px;border-radius:22px}.rpg-menu-button{min-height:64px}.rpg-menu-button.primary{min-height:76px}.rpg-menu-button .icon{width:39px;height:39px}.rpg-menu-button.primary .icon{width:48px;height:48px}.rpg-title-ui,.rpg-screen,.rpg-shell{min-height:760px}
 .rpg-player-hud{grid-template-columns:40px 1fr}.rpg-player-portrait{width:40px;height:40px}.rpg-player-name-row b{font-size:11px}.rpg-minimap-shell{display:none}.rpg-quest-hud{max-width:190px}.rpg-touch-dpad{width:126px;height:126px}.rpg-touch-button{width:43px;height:43px}.rpg-touch-up{left:42px}.rpg-touch-left{top:42px}.rpg-touch-right{top:42px}.rpg-touch-down{left:42px}.rpg-touch-action{width:58px;height:58px}.rpg-touch-action.attack{width:68px;height:68px}
}
@media(prefers-reduced-motion:reduce){.rpg-title-world:before,.rpg-title-bubbles i,.rpg-dialogue-next{animation:none!important}.rpg-screen.active,.rpg-page{animation:none!important}}
.rpg-touch-controls.force-hidden{display:none!important}
/* Five universal desktop apps now fit in one balanced launcher row. */
.private-game-launchers{grid-template-columns:repeat(5,minmax(165px,1fr))}
@media(max-width:1180px){.private-game-launchers{grid-template-columns:repeat(3,minmax(180px,1fr))}}
@media(max-width:760px){.private-game-launchers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){
  .rpg-hud{grid-template-columns:minmax(172px,1fr) auto;gap:6px}
  .rpg-top-actions{gap:4px}
  .rpg-hud-button{width:36px;height:36px;border-radius:11px;font-size:15px}
}

/* Abyss RPG v002 — combat, equipment, shop, rarity, and boss HUD */
.rpg-boss-hud{position:absolute;z-index:18;top:86px;left:50%;width:min(540px,calc(100% - 330px));transform:translate(-50%,-14px);opacity:0;pointer-events:none;padding:10px 13px;border:1px solid rgba(255,188,105,.3);border-radius:16px;background:linear-gradient(160deg,rgba(43,19,20,.94),rgba(8,15,27,.96));box-shadow:0 20px 55px rgba(0,0,0,.38),0 0 24px rgba(255,135,75,.1);transition:.24s ease}.rpg-boss-hud.show{opacity:1;transform:translate(-50%,0)}
.rpg-boss-head{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.rpg-boss-head span{color:#ffbd72;font-size:7px;font-weight:1000;letter-spacing:.17em}.rpg-boss-head b{font-size:13px;letter-spacing:.02em}.rpg-boss-head em{font-style:normal;color:#d9bdac;font-size:8px;font-weight:850}.rpg-boss-meter{height:9px;margin-top:7px;padding:1px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#170e15;overflow:hidden}.rpg-boss-meter i{display:block;width:var(--value,100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff735f,#ffc063 70%,#fff09c);box-shadow:0 0 14px rgba(255,153,82,.38);transition:width .15s linear}
.rpg-equipment-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0 4px}.rpg-equipment-slot{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center;min-height:70px;padding:10px;border:1px dashed rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.025);position:relative}.rpg-equipment-slot.filled{border-style:solid;border-color:rgba(106,239,234,.2);background:linear-gradient(145deg,rgba(28,112,115,.18),rgba(255,255,255,.025))}.rpg-equipment-slot>small{position:absolute;left:9px;top:7px;color:#78dce4;font-size:7px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}.rpg-equipment-slot>i{width:40px;height:40px;margin-top:10px;display:grid;place-items:center;border-radius:12px;background:rgba(91,217,225,.1);font-style:normal;font-size:21px}.rpg-equipment-slot span{margin-top:10px;min-width:0}.rpg-equipment-slot b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpg-equipment-slot em{display:block;margin-top:3px;color:#95b9c1;font-size:7px;font-style:normal}
.rpg-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rpg-inventory-item{position:relative;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;border-color:color-mix(in srgb,var(--rarity,#b8d2d5) 26%,transparent);box-shadow:inset 3px 0 var(--rarity,#b8d2d5)}.rpg-inventory-item>i{border:1px solid color-mix(in srgb,var(--rarity,#b8d2d5) 30%,transparent);background:color-mix(in srgb,var(--rarity,#b8d2d5) 10%,transparent)}.rpg-inventory-item span{min-width:0}.rpg-inventory-item small{color:var(--rarity,#9fc4cb);line-height:1.35}.rpg-inventory-item p{margin:5px 0 0;color:#91adb5;font-size:8px;line-height:1.4}.rpg-inventory-item>button{grid-column:2/4;justify-self:end;min-width:82px;margin-top:3px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--rarity,#9ceff1) 35%,transparent);border-radius:10px;background:color-mix(in srgb,var(--rarity,#6cecff) 13%,rgba(3,18,30,.9));color:#efffff;font-size:8px;font-weight:1000;cursor:pointer}.rpg-inventory-item>button[disabled]{opacity:.55;cursor:default}
.rpg-shop-balance{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:10px 13px;border:1px solid rgba(255,221,116,.18);border-radius:14px;background:rgba(157,113,34,.1)}.rpg-shop-balance span{color:#b6d2d6;font-size:9px}.rpg-shop-balance b{color:#ffe28a;font-size:16px}.rpg-modal-card h4{margin:18px 0 8px;color:#8ff0f0;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.rpg-shop-grid,.rpg-sell-grid{display:grid;gap:8px}.rpg-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rpg-shop-item,.rpg-sell-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid color-mix(in srgb,var(--rarity,#9ddde3) 22%,transparent);border-radius:14px;background:rgba(255,255,255,.03)}.rpg-shop-item>i,.rpg-sell-item>i{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--rarity,#6cecff) 11%,rgba(255,255,255,.02));font-style:normal;font-size:22px}.rpg-shop-item b,.rpg-sell-item b{font-size:10px}.rpg-shop-item small,.rpg-sell-item small{display:block;margin-top:3px;color:var(--rarity,#9dbac1);font-size:7px}.rpg-shop-item p{margin:4px 0 0;color:#89a6ae;font-size:7px;line-height:1.35}.rpg-shop-item button,.rpg-sell-item button{min-width:68px;padding:8px 9px;border:1px solid rgba(255,225,132,.22);border-radius:10px;background:linear-gradient(145deg,rgba(30,132,120,.8),rgba(24,80,101,.9));color:#efffff;font-size:8px;font-weight:1000;cursor:pointer}.rpg-shop-item button[disabled]{opacity:.48;cursor:default}.rpg-sell-item{grid-template-columns:38px minmax(0,1fr) auto auto}.rpg-sell-item>i{width:38px;height:38px;font-size:18px}.rpg-sell-item button:last-child{background:rgba(130,73,148,.38)}
.rpg-hotbar-slot{appearance:none;cursor:pointer}.rpg-hotbar-slot:hover{filter:brightness(1.12);transform:translateY(-2px)}
@media(max-width:900px){.rpg-boss-hud{top:82px;width:min(460px,calc(100% - 235px))}.rpg-boss-head em{display:none}.rpg-equipment-slots{grid-template-columns:1fr}.rpg-shop-grid{grid-template-columns:1fr}}
@media(max-width:760px){.rpg-boss-hud{top:70px;width:calc(100% - 190px);left:auto;right:8px;transform:translateY(-12px)}.rpg-boss-hud.show{transform:none}.rpg-boss-head{grid-template-columns:auto 1fr}.rpg-boss-head span{font-size:6px}.rpg-boss-head b{font-size:10px}.rpg-inventory-grid{grid-template-columns:1fr}.rpg-sell-item{grid-template-columns:38px 1fr auto}.rpg-sell-item button:last-child{grid-column:2/4}}
@media(max-width:480px){.rpg-boss-hud{top:60px;width:calc(100% - 155px);padding:7px 9px}.rpg-boss-head span{display:none}.rpg-boss-head{grid-template-columns:1fr}.rpg-boss-meter{height:7px}.rpg-shop-item{grid-template-columns:38px 1fr auto}.rpg-shop-item>i{width:38px;height:38px}.rpg-shop-item p{display:none}}

/* v116 visible build marker: verifies the current world bundle loaded. */
.rpg-build-badge{display:inline-flex;margin-top:5px;padding:2px 7px;border:1px solid rgba(126,255,237,.42);border-radius:999px;background:rgba(3,24,35,.68);color:#9ffff1;font:900 9px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.08em;align-self:center}


/* v117 — Pixel Art Foundation */
#abyss-rpg{--rpg-pixel-font:ui-monospace,"Cascadia Mono",Consolas,monospace}
#abyss-rpg button,#abyss-rpg input,#abyss-rpg select,#abyss-rpg .rpg-page{font-family:var(--rpg-pixel-font)}
.rpg-shell{border-radius:12px;border-width:3px;border-color:#1c6c7d;box-shadow:0 0 0 3px #061522,0 0 0 5px #d0a84f,0 30px 90px rgba(0,0,0,.55)}
.rpg-title-screen{background:#041522;image-rendering:pixelated}
.rpg-title-world{background-image:linear-gradient(rgba(4,19,31,.12),rgba(2,11,18,.42)),url('../media/rpg_pixel_title_backdrop.png?v=118');background-size:cover;background-position:center;image-rendering:pixelated}
.rpg-title-world:before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);animation:none;mix-blend-mode:screen}
.rpg-title-world:after{display:none}
.rpg-title-ui{background:linear-gradient(90deg,rgba(2,11,18,.66),transparent 32%,transparent 68%,rgba(2,11,18,.66))}
.rpg-title-emblem,.universal-app-tile-art img,.universal-app-nav-btn img,.rpg-player-portrait img{image-rendering:pixelated}
.rpg-title-emblem{border-radius:6px;border:3px solid #d8b75b;box-shadow:0 0 0 3px #061522,10px 10px 0 rgba(0,0,0,.35)}
.rpg-title-brand h2{font-family:var(--rpg-pixel-font);font-weight:1000;letter-spacing:-.08em;text-shadow:4px 4px 0 #062333,7px 7px 0 rgba(0,0,0,.38)}
.rpg-title-brand .eyebrow,.rpg-title-brand p,.rpg-menu-head,.rpg-menu-button b,.rpg-menu-button small,.rpg-title-footer{font-family:var(--rpg-pixel-font)}
.rpg-title-menu{border-radius:5px;border:3px solid #2a7280;box-shadow:0 0 0 3px #061522,9px 9px 0 rgba(0,0,0,.38);background:rgba(3,17,28,.94);backdrop-filter:none}
.rpg-menu-button,.rpg-title-back,.rpg-title-profile,.rpg-title-icon-button,.rpg-hud-card,.rpg-hud-button,.rpg-modal-card,.rpg-dialogue{border-radius:3px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.025),4px 4px 0 rgba(0,0,0,.32)}
.rpg-menu-button{border-width:2px;background:linear-gradient(#176278,#0b324a)}
.rpg-menu-button.primary{background:linear-gradient(#2bb99f,#176b83);box-shadow:0 4px 0 #073d51,5px 9px 0 rgba(0,0,0,.35)}
.rpg-menu-button .icon,.rpg-title-profile-orb{border-radius:2px}
.rpg-build-badge{border-radius:2px;background:#051822;color:#fff0a2;border-color:#d3a94d;box-shadow:2px 2px 0 rgba(0,0,0,.45)}
.rpg-game-stage canvas{image-rendering:auto!important;image-rendering:smooth!important}
.rpg-game-vignette{background:linear-gradient(90deg,rgba(1,8,13,.22),transparent 14%,transparent 86%,rgba(1,8,13,.22)),linear-gradient(0deg,rgba(1,8,13,.18),transparent 18%)}
.rpg-hud-card,.rpg-dialogue,.rpg-modal-card{border-width:2px;border-color:#256f78;background:#061923}
.rpg-meter,.rpg-boss-meter{border-radius:1px}.rpg-meter i,.rpg-boss-meter i{border-radius:0}
.rpg-hotbar-slot,.rpg-inventory-item,.rpg-shop-item,.rpg-sell-item,.rpg-equipment-slot{border-radius:2px}
.rpg-dialogue-portrait{border-radius:2px;background:#0b3141;color:#f3d56f}
.rpg-title-bubbles{opacity:.42}
@media(max-width:760px){.rpg-shell{border-radius:5px}.rpg-title-menu{box-shadow:0 0 0 2px #061522,5px 5px 0 rgba(0,0,0,.38)}}


/* v118 — Pixel repair + daylight shadow system */
#abyss-rpg .rpg-build-badge{color:#fff0a5;border-color:rgba(255,221,121,.58);box-shadow:0 0 14px rgba(255,202,84,.14)}
#abyss-rpg .rpg-time-weather{letter-spacing:.02em}
#abyss-rpg canvas{image-rendering:auto!important;image-rendering:smooth!important}


/* v119 — RPG inventory and crafting foundation */
.rpg-modal-card.rpg-inventory-modal{width:min(1080px,calc(100% - 24px));height:min(760px,calc(100% - 28px));max-height:none;overflow:hidden;display:flex;flex-direction:column;padding:16px}
.rpg-inventory-summary{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.rpg-inventory-summary span{padding:7px 10px;border:1px solid #1e5962;background:#071d28;font-size:8px;color:#8eb9c1}.rpg-inventory-summary b{color:#f3ffff;font-size:10px;margin-right:4px}
.rpg-inventory-tabs{display:flex;gap:4px;border-bottom:2px solid #174c56}.rpg-inventory-tabs button{min-width:116px;padding:10px 15px;border:1px solid #225d66;border-bottom:0;background:#071a25;color:#91b9c0;font:900 9px ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.rpg-inventory-tabs button.active{background:#0f3942;color:#efffff;box-shadow:inset 0 -3px #62e2d7}
#rpgInventoryPane{min-height:0;flex:1;overflow:auto;padding-top:11px}
.rpg-pack-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:9px}.rpg-pack-categories,.rpg-craft-categories{display:flex;gap:4px;flex-wrap:wrap}.rpg-pack-categories button,.rpg-craft-categories button{padding:7px 9px;border:1px solid #245863;background:#071b27;color:#8eb7bd;font:900 7px ui-monospace,Consolas,monospace;text-transform:uppercase;cursor:pointer}.rpg-pack-categories button.active,.rpg-craft-categories button.active{background:#174d54;color:#f4ffff;border-color:#55c9c6}.rpg-pack-tools{display:flex;gap:6px;align-items:center}.rpg-pack-tools input,.rpg-pack-tools select{height:31px;border:1px solid #245863;background:#051722;color:#efffff;padding:0 8px;font:800 8px ui-monospace,Consolas,monospace}.rpg-pack-tools input{width:150px}.rpg-pack-tools b{font-size:8px;color:#85dcd8;white-space:nowrap}.rpg-pack-tools b.over{color:#ff987f}
.rpg-pack-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:12px;min-height:520px}.rpg-slot-grid{display:grid;grid-template-columns:repeat(8,minmax(48px,1fr));gap:5px;align-content:start}.rpg-pack-slot{position:relative;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--rarity,#587b82) 42%,#163843);background:linear-gradient(145deg,rgba(14,43,52,.96),rgba(4,18,29,.98));color:#fff;cursor:pointer;image-rendering:pixelated;box-shadow:inset 0 0 0 2px rgba(0,0,0,.28)}.rpg-pack-slot:hover{transform:translateY(-1px);border-color:var(--rarity,#76dde0)}.rpg-pack-slot.selected{outline:2px solid #fff2a2;outline-offset:-4px}.rpg-pack-slot.equipped:after{content:'EQUIPPED';position:absolute;left:2px;right:2px;bottom:2px;background:#18766f;color:#efffff;font-size:5px;font-weight:1000;padding:2px 0}.rpg-pack-slot.favorite:before{content:'★';position:absolute;left:4px;top:2px;color:#ffe279;font-size:9px}.rpg-pack-slot>i{display:grid;place-items:center;height:100%;font-style:normal;font-size:25px}.rpg-pack-slot>strong{position:absolute;right:4px;bottom:3px;color:#fff3a5;font-size:9px;text-shadow:1px 1px #000}.rpg-pack-slot>em{display:none}.rpg-pack-slot>small{display:none}.rpg-pack-slot.empty{border:1px solid rgba(78,119,126,.25);background:rgba(4,16,25,.45);box-shadow:none}
.rpg-item-detail,.rpg-recipe-detail{position:sticky;top:0;align-self:start;min-height:420px;padding:16px;border:2px solid color-mix(in srgb,var(--rarity,#49848d) 42%,#173b47);background:linear-gradient(160deg,rgba(10,42,50,.98),rgba(4,15,25,.99));box-shadow:inset 4px 0 var(--rarity,#4ec8c6)}.rpg-item-detail.empty{display:grid;place-items:center;text-align:center;align-content:center;color:#86aab0}.rpg-detail-empty-icon,.rpg-detail-icon{width:72px;height:72px;display:grid;place-items:center;margin-bottom:10px;border:2px solid color-mix(in srgb,var(--rarity,#65ccd0) 45%,#1b4a54);background:rgba(88,220,216,.08);font-style:normal;font-size:34px}.rpg-detail-rarity{color:var(--rarity,#7fdad8);font-size:7px;font-weight:1000;text-transform:uppercase;letter-spacing:.12em}.rpg-item-detail h4,.rpg-recipe-detail h4,.rpg-stat-sheet h4,.rpg-paper-doll h4{margin:5px 0 8px;font-size:16px}.rpg-item-detail p,.rpg-recipe-detail p{color:#9ab8bd;font-size:8px;line-height:1.55}.rpg-detail-stat,.rpg-recipe-output{margin:11px 0;padding:9px;border:1px solid #24545d;background:#071b25;color:#eafefe;font-size:8px}.rpg-recipe-output{display:flex;justify-content:space-between}.rpg-item-comparison{margin:10px 0;border-top:1px solid #24545d}.rpg-item-comparison>small{display:block;padding:7px 0;color:#86adb4;font-size:7px}.rpg-item-comparison>div{display:grid;grid-template-columns:1fr auto 44px;gap:7px;padding:5px 0;border-top:1px solid rgba(82,126,134,.18);font-size:8px}.rpg-item-comparison em{font-style:normal;text-align:right}.rpg-item-comparison .up{color:#78eca8}.rpg-item-comparison .down{color:#ff8b85}.rpg-item-comparison .same{color:#899fa5}.rpg-item-comparison.neutral{padding:8px;color:#8eb2b8;font-size:8px}.rpg-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.rpg-detail-actions button{min-height:34px;border:1px solid #315e67;background:#0a2934;color:#efffff;font:900 8px ui-monospace,Consolas,monospace;cursor:pointer}.rpg-detail-actions button.primary{background:#176c68;border-color:#55c9c2}.rpg-detail-actions button.danger{background:#49252d;border-color:#8b4952}.rpg-detail-actions button:disabled{opacity:.4;cursor:default}.rpg-item-detail footer{display:flex;justify-content:space-between;margin-top:14px;padding-top:8px;border-top:1px solid #234c55;color:#769ba3;font-size:7px}
.rpg-equipment-layout{display:grid;grid-template-columns:340px 1fr;gap:14px}.rpg-paper-doll,.rpg-stat-sheet{padding:14px;border:2px solid #20535d;background:#061a24}.rpg-doll-name{text-align:center}.rpg-doll-name span,.rpg-doll-name small{color:#83adb4;font-size:7px;text-transform:uppercase}.rpg-doll-figure{position:relative;width:150px;height:245px;margin:10px auto 4px}.rpg-doll-head,.rpg-doll-body,.rpg-doll-arm,.rpg-doll-leg{position:absolute;background:#267d89;border:3px solid #75dfe0;box-shadow:inset 0 0 0 4px #123d50}.rpg-doll-head{left:46px;top:5px;width:58px;height:58px;border-radius:50%;background:#d6dec9}.rpg-doll-head:after{content:'';position:absolute;left:8px;right:8px;top:14px;height:25px;background:#153f58;border:3px solid #69d5dc;border-radius:45%}.rpg-doll-body{left:42px;top:65px;width:66px;height:92px}.rpg-doll-arm{top:72px;width:25px;height:104px}.rpg-doll-arm.left{left:13px;transform:rotate(8deg)}.rpg-doll-arm.right{right:13px;transform:rotate(-8deg)}.rpg-doll-leg{top:158px;width:29px;height:82px}.rpg-doll-leg.left{left:43px}.rpg-doll-leg.right{right:43px}.rpg-paper-doll .rpg-equipment-slots{grid-template-columns:1fr;margin-top:5px}.rpg-equipment-slot{cursor:pointer;text-align:left}.rpg-equipment-slot[disabled]{cursor:default}.rpg-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.rpg-stat-grid>div{padding:10px;border:1px solid #234e57;background:#081e29}.rpg-stat-grid span{display:block;color:#7fa8af;font-size:7px}.rpg-stat-grid b{display:block;margin-top:4px;color:#efffff;font-size:14px}.rpg-owned-equipment{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.rpg-owned-equipment button{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid color-mix(in srgb,var(--rarity,#5b8990) 35%,#1b4149);background:#071b25;color:#efffff;text-align:left;cursor:pointer}.rpg-owned-equipment i{font-style:normal;font-size:20px}.rpg-owned-equipment b{font-size:8px}.rpg-owned-equipment small{display:block;color:#789fa6;font-size:6px}.rpg-owned-equipment em{color:var(--rarity,#75dcd8);font-size:7px;font-style:normal}
.rpg-crafting-head{display:grid;grid-template-columns:1fr 240px;gap:15px;align-items:end;padding:10px 12px;border:2px solid #265965;background:#071e29}.rpg-crafting-head span,.rpg-crafting-head small{color:#82abb2;font-size:7px;text-transform:uppercase}.rpg-crafting-head h4{margin:3px 0;font-size:15px}.rpg-crafting-xp{height:12px;border:2px solid #214e57;background:#04121c}.rpg-crafting-xp i{display:block;width:var(--value);height:100%;background:linear-gradient(90deg,#39a985,#85e5b6)}.rpg-craft-categories{margin:8px 0}.rpg-crafting-layout{display:grid;grid-template-columns:minmax(330px,1fr) 330px;gap:12px}.rpg-recipe-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;align-content:start}.rpg-recipe-card{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;min-height:62px;padding:8px;border:2px solid color-mix(in srgb,var(--rarity,#579299) 35%,#173b45);background:#071b25;color:#efffff;text-align:left;cursor:pointer}.rpg-recipe-card.selected{outline:2px solid #fff1a0;outline-offset:-4px}.rpg-recipe-card.locked{filter:saturate(.25);opacity:.62}.rpg-recipe-card i{display:grid;place-items:center;width:40px;height:40px;background:rgba(95,220,214,.08);font-size:21px;font-style:normal}.rpg-recipe-card b{font-size:8px}.rpg-recipe-card small{display:block;margin-top:3px;color:#789fa6;font-size:6px}.rpg-recipe-card em{color:var(--rarity,#7bded9);font-size:8px;font-style:normal}.rpg-recipe-detail h5{margin:13px 0 6px;color:#7edbd7;font-size:7px;text-transform:uppercase;letter-spacing:.1em}.rpg-ingredient-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.rpg-ingredient-grid>div{display:grid;grid-template-columns:30px 1fr;gap:6px;align-items:center;padding:7px;border:1px solid #264e56;background:#071923}.rpg-ingredient-grid>div.missing{border-color:#6d3b43;background:#2b161c}.rpg-ingredient-grid i{font-style:normal;font-size:17px}.rpg-ingredient-grid b{font-size:7px}.rpg-ingredient-grid small{display:block;color:#83a9af;font-size:6px}.rpg-ingredient-grid .enough small{color:#72e6a4}.rpg-ingredient-grid .missing small{color:#ff8d88}.rpg-station-warning{margin:9px 0;padding:8px;border:1px solid #7b5c32;background:#30230f;color:#ffd77a;font-size:7px;line-height:1.45}
@media(max-width:900px){.rpg-modal-card.rpg-inventory-modal{height:calc(100% - 12px);width:calc(100% - 12px)}.rpg-pack-layout,.rpg-equipment-layout,.rpg-crafting-layout{grid-template-columns:1fr}.rpg-item-detail,.rpg-recipe-detail{position:relative;min-height:0}.rpg-slot-grid{grid-template-columns:repeat(6,minmax(44px,1fr))}.rpg-equipment-layout{grid-template-columns:1fr}.rpg-paper-doll{display:none}.rpg-recipe-list{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rpg-pack-toolbar{grid-template-columns:1fr}.rpg-pack-tools{display:grid;grid-template-columns:1fr 1fr}.rpg-pack-tools input{width:auto}.rpg-pack-tools b{grid-column:1/-1}.rpg-slot-grid{grid-template-columns:repeat(5,minmax(42px,1fr))}.rpg-inventory-tabs button{min-width:0;flex:1}.rpg-crafting-head{grid-template-columns:1fr}.rpg-recipe-list{grid-template-columns:1fr}.rpg-owned-equipment{grid-template-columns:1fr}.rpg-stat-grid{grid-template-columns:repeat(2,1fr)}}


/* v124 control hardening */
#abyss-rpg .rpg-title-ui,
#abyss-rpg .rpg-title-menu,
#abyss-rpg .rpg-menu-grid{pointer-events:auto}
#abyss-rpg .rpg-menu-button,
#abyss-rpg .rpg-title-icon-button,
#abyss-rpg .rpg-title-profile,
#abyss-rpg .rpg-title-back{position:relative;z-index:3;pointer-events:auto}


/* v125 guaranteed title-control boot status */
#rpgControlStatus[data-state="ready"]{color:#9affce}
#rpgControlStatus[data-state="armed"],#rpgControlStatus[data-state="recovering"]{color:#ffe18a}
#rpgControlStatus[data-state="error"]{color:#ff9ba5}
#abyss-rpg .rpg-title-backdrop,
#abyss-rpg .rpg-title-world,
#abyss-rpg .rpg-title-bubbles{pointer-events:none!important}
#abyss-rpg .rpg-title-ui{position:relative;z-index:10!important;pointer-events:auto!important}
#abyss-rpg .rpg-title-panel-shade:not(.open),
#abyss-rpg .rpg-modal-shade:not(.open){pointer-events:none!important}
#abyss-rpg .rpg-title-panel-shade.open,
#abyss-rpg .rpg-modal-shade.open{pointer-events:auto!important}


/* v127 first-region expansion */
.rpg-rest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
.rpg-rest-grid button{min-height:78px;padding:12px;border:2px solid #285964;background:linear-gradient(145deg,#0b3340,#071b28);color:#efffff;text-align:left;cursor:pointer;font-family:ui-monospace,Consolas,monospace}
.rpg-rest-grid button.primary{border-color:#73dfca;background:linear-gradient(145deg,#176a67,#0b3b48)}
.rpg-rest-grid b{display:block;font-size:12px}.rpg-rest-grid small{display:block;margin-top:6px;color:#93b8bd;font-size:8px}
.rpg-mount-button{color:#ffe48a!important;text-shadow:0 0 10px rgba(108,255,224,.75)}
#abyss-rpg.rpg-reduced-effects .rpg-mount-button{text-shadow:none}
@media(max-width:620px){.rpg-rest-grid{grid-template-columns:1fr}}


/* v128 movement and true-pixel environment pass */
#rpgGameMount canvas{image-rendering:auto!important;image-rendering:smooth!important}
.rpg-sprint-readout{display:inline-flex;align-items:center;gap:5px;margin-top:4px;color:#8fc1ca;font:950 7px ui-monospace,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}
.rpg-sprint-readout:before{content:'⇧';display:grid;place-items:center;width:14px;height:12px;border:1px solid #315663;background:#0a2530;color:#dffcff;font-size:7px}
.rpg-sprint-readout[data-state="active"]{color:#fff093;text-shadow:0 0 9px rgba(255,225,87,.55)}
.rpg-sprint-readout[data-state="active"]:before{border-color:#ffe17d;background:#61521a;color:#fff4a3}
.rpg-sprint-readout[data-state="exhausted"]{color:#ff9993}
.rpg-sprint-readout[data-state="exhausted"]:before{border-color:#9b4d54;background:#4a2027;color:#ffb1ac}
.rpg-sprint-readout[data-state="mounted"]{color:#8df5de}.rpg-sprint-readout[data-state="mounted"]:before{content:'✦'}
.rpg-stamina-meter.sprinting{border-color:rgba(255,231,118,.72);box-shadow:0 0 12px rgba(95,231,255,.34)}
.rpg-stamina-meter.sprinting i{background:linear-gradient(90deg,#28a2d6,#8cf8ed 65%,#ffe47d)}
.rpg-touch-action.sprint{width:62px;height:62px;background:rgba(32,106,104,.78);border-color:rgba(132,255,230,.55)}
.rpg-touch-action.sprint.active{background:rgba(65,197,169,.88);transform:scale(.94);box-shadow:0 0 18px rgba(91,255,218,.35)}
@media(max-width:620px){.rpg-touch-actions{gap:7px}.rpg-touch-action.sprint{width:58px;height:58px}.rpg-touch-action{width:60px;height:60px}.rpg-touch-action.attack{width:72px;height:72px}}
/* ===== v144 Abyss RPG HUD Overhaul ===== */
.rpg-title-topbar{grid-template-columns:auto 1fr auto}
.rpg-hud{display:block;padding:0;inset:0;overflow:hidden}
.rpg-hud-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(188,247,255,.22);
  border-radius:22px;
  background:
    linear-gradient(145deg,rgba(13,52,68,.78),rgba(3,15,28,.91) 58%,rgba(3,10,20,.94));
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 18px 52px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.09);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.rpg-hud-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.09),transparent 28%,transparent 72%,rgba(81,230,255,.035));
}
@media(hover:hover) and (pointer:fine){
  .rpg-hud-card:hover{border-color:rgba(202,252,255,.34);box-shadow:0 22px 60px rgba(0,0,0,.39),0 0 28px rgba(81,219,239,.08),inset 0 1px rgba(255,255,255,.12)}
}
.rpg-player-hud{
  position:absolute;left:18px;top:18px;width:min(342px,calc(100% - 300px));
  min-height:92px;padding:12px 14px;grid-template-columns:58px 1fr;gap:12px;
}
.rpg-player-portrait{width:58px;height:58px;border-radius:18px;border:2px solid rgba(224,255,255,.62);box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 18px rgba(91,231,244,.12)}
.rpg-player-name-row b{font-size:15px;letter-spacing:-.02em}.rpg-player-name-row span{padding:3px 7px;border-radius:999px;background:rgba(255,222,123,.10);font-size:8px}
.rpg-meter{height:9px;margin-top:7px;border-color:rgba(255,255,255,.10);box-shadow:inset 0 2px 5px rgba(0,0,0,.25)}
.rpg-meter i{transition:width .36s cubic-bezier(.2,.8,.2,1)}
.rpg-meter-labels{margin-top:4px;font-size:7px;letter-spacing:.03em}
.rpg-location-hud{
  position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:2;
  min-width:238px;padding:10px 20px;border-radius:999px;
}
.rpg-location-hud b{font-size:18px}.rpg-location-hud span{margin-top:3px;font-size:7px}.rpg-build-badge{display:block;margin-top:4px;color:#6edbe9;font-size:6px;font-weight:900;letter-spacing:.08em}
.rpg-minimap-shell{
  position:absolute;right:18px;top:18px;width:220px;padding:10px 10px 11px;
  border-radius:24px;
}
.rpg-minimap-head{height:22px;margin:0 2px 7px;font-size:8px;letter-spacing:.12em}.rpg-minimap-head span:last-child{padding:3px 7px;border-radius:999px;background:rgba(79,226,179,.10)}
.rpg-minimap{border-radius:15px;border-color:rgba(196,249,255,.14);box-shadow:inset 0 0 22px rgba(0,0,0,.34)}
.rpg-top-actions{
  position:absolute;right:18px;top:192px;z-index:3;display:flex;justify-content:flex-end;gap:8px;
  width:220px;padding:0;pointer-events:auto;
}
.rpg-hud-button{
  width:47px;height:47px;border:1px solid rgba(190,248,255,.22);border-radius:16px;
  background:linear-gradient(145deg,rgba(12,65,80,.88),rgba(3,18,32,.94));
  color:#f4ffff;font-size:18px;box-shadow:0 12px 30px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.09);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.rpg-hud-button:hover{filter:brightness(1.13);transform:translateY(-2px);border-color:rgba(205,253,255,.42);box-shadow:0 15px 34px rgba(0,0,0,.34),0 0 20px rgba(78,222,237,.10)}
.rpg-hud-button:active{transform:translateY(0) scale(.96)}
.rpg-quest-hud{
  position:absolute;left:18px;top:126px;width:min(318px,calc(100% - 300px));max-width:none;margin:0;padding:12px 14px;
}
.rpg-quest-hud small{font-size:7px}.rpg-quest-hud b{font-size:13px;margin-top:5px}.rpg-quest-hud span{font-size:9px;line-height:1.45;margin-top:5px}
.rpg-hotbar{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;
  padding:8px 9px;gap:7px;border-radius:20px;
}
.rpg-hotbar-slot{width:57px;height:57px;border-radius:16px;background:linear-gradient(145deg,rgba(9,35,49,.94),rgba(1,9,18,.92));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.rpg-hotbar-slot:hover{transform:translateY(-3px)}
.rpg-hotbar-slot.active{border-color:rgba(255,229,140,.76);box-shadow:0 0 24px rgba(255,221,111,.18),inset 0 1px rgba(255,255,255,.08)}
.rpg-debug-hud{position:absolute;left:18px;bottom:92px;margin:0;max-width:330px}
.rpg-save-toast{right:18px;bottom:18px}
.rpg-interact-prompt{bottom:94px}
.rpg-dialogue{bottom:92px}
.rpg-sprint-readout{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:rgba(87,221,237,.08);color:#9debf2;font-size:7px;font-weight:950;letter-spacing:.08em}

.rpg-fullscreen-setting-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
.rpg-fullscreen-setting-card[hidden]{display:none!important}
.rpg-fullscreen-setting-copy b{display:block}.rpg-fullscreen-setting-copy p{margin:5px 0 0}
.rpg-fullscreen-settings-button,.rpg-modal-fullscreen-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;
  border:1px solid rgba(174,245,255,.22);border-radius:14px;
  background:linear-gradient(145deg,rgba(30,119,132,.72),rgba(12,47,70,.92));color:#efffff;font-weight:950;cursor:pointer;
}
.rpg-fullscreen-settings-button .game-fullscreen-icon,.rpg-modal-fullscreen-button .game-fullscreen-icon{width:20px;height:20px}.rpg-fullscreen-settings-button svg,.rpg-modal-fullscreen-button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}
.rpg-game-settings-grid{display:grid;gap:12px;margin-top:15px}.rpg-game-settings-grid .rpg-setting-card{margin:0}
.rpg-pause-actions{grid-template-columns:repeat(2,minmax(0,1fr))}

#abyss-rpg:fullscreen,#abyss-rpg.game-pseudo-fullscreen{display:block!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;padding:0!important;background:#020a12;overflow:hidden}
#abyss-rpg:fullscreen .rpg-shell,#abyss-rpg.game-pseudo-fullscreen .rpg-shell{width:100vw;height:100vh;min-height:100vh;margin:0;border:0;border-radius:0}
#abyss-rpg:fullscreen .rpg-screen,#abyss-rpg.game-pseudo-fullscreen .rpg-screen{min-height:100vh}
#abyss-rpg:fullscreen .rpg-game-stage,#abyss-rpg.game-pseudo-fullscreen .rpg-game-stage{height:100vh;min-height:100vh}

@media(max-width:1050px){
  .rpg-player-hud{width:min(310px,calc(100% - 250px))}.rpg-quest-hud{width:min(288px,calc(100% - 250px))}
  .rpg-minimap-shell{width:190px}.rpg-top-actions{width:190px;top:172px}.rpg-hud-button{width:42px;height:42px}
}
@media(max-width:760px){
  .rpg-hud{padding:0;grid-template:none}.rpg-player-hud{left:8px;top:8px;width:calc(100% - 162px);min-height:78px;padding:9px 10px;grid-template-columns:44px 1fr;gap:8px}.rpg-player-portrait{width:44px;height:44px;border-radius:14px}.rpg-player-name-row b{font-size:12px}.rpg-meter{height:7px;margin-top:4px}.rpg-meter-labels{font-size:6px}.rpg-sprint-readout{display:none}
  .rpg-location-hud{display:none}.rpg-minimap-shell{display:block;right:8px;top:8px;width:142px;padding:7px;border-radius:18px}.rpg-minimap-head{height:16px;margin-bottom:4px;font-size:6px}.rpg-minimap{border-radius:11px}
  .rpg-top-actions{right:8px;top:119px;width:142px;gap:5px}.rpg-hud-button{width:32px;height:32px;border-radius:11px;font-size:14px}
  .rpg-quest-hud{left:8px;top:95px;width:calc(100% - 162px);padding:9px 10px;border-radius:17px}.rpg-quest-hud span{font-size:8px}.rpg-quest-hud b{font-size:11px}
  .rpg-hotbar{display:none}.rpg-interact-prompt{bottom:156px}.rpg-save-toast{right:8px;bottom:153px}.rpg-dialogue{bottom:150px}.rpg-debug-hud{left:8px;bottom:150px;max-width:calc(100% - 16px)}
  .rpg-fullscreen-setting-card{grid-template-columns:1fr}.rpg-fullscreen-settings-button{width:100%}
}
@media(max-width:480px){
  .rpg-player-hud{width:calc(100% - 138px)}.rpg-minimap-shell{width:122px}.rpg-top-actions{width:122px;top:106px}.rpg-hud-button{width:28px;height:28px;border-radius:9px;font-size:12px}.rpg-quest-hud{top:87px;width:calc(100% - 138px)}.rpg-quest-hud span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
/* ===== v145 HUD fit, alignment, and fullscreen isolation ===== */
#abyss-rpg.rpg-game-active:not(:fullscreen):not(.game-pseudo-fullscreen) .rpg-shell,
#abyss-rpg.rpg-game-active:not(:fullscreen):not(.game-pseudo-fullscreen) .rpg-game-screen{min-height:0}
#abyss-rpg.rpg-game-active:not(:fullscreen):not(.game-pseudo-fullscreen) .rpg-game-stage{
  height:clamp(620px,72vh,760px);
  min-height:0;
}
.rpg-hud,.rpg-hud *{box-sizing:border-box}
.rpg-player-hud{width:min(342px,calc(100% - 286px))}
.rpg-quest-hud{width:min(318px,calc(100% - 286px))}
.rpg-minimap-stack{
  position:absolute;right:18px;top:18px;z-index:3;width:220px;
  display:grid;grid-template-columns:1fr;gap:8px;pointer-events:none;
}
.rpg-minimap-stack>.rpg-minimap-shell{position:relative;right:auto;top:auto;width:100%;padding:10px 10px 11px;pointer-events:auto}
.rpg-minimap{width:100%;max-width:100%;aspect-ratio:3/2;height:auto}
.rpg-minimap-stack>.rpg-top-actions{
  position:relative;right:auto;top:auto;width:100%;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;pointer-events:auto;
}
.rpg-hud-button{
  width:100%;height:47px;min-width:0;padding:0;margin:0;
  display:grid;place-items:center;line-height:1;overflow:hidden;
  font-family:inherit;text-align:center;
}
.rpg-hud-button svg{display:block;width:22px;height:22px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.rpg-mount-button svg{fill:rgba(255,228,138,.12);stroke:#ffe48a}
.rpg-top-actions .rpg-hud-button:focus-visible{outline:2px solid #9ef8ff;outline-offset:2px}
.rpg-location-hud{max-width:calc(100% - 760px);white-space:nowrap}

/* Only an explicit settings action may activate these fullscreen states. */
#abyss-rpg:not(:fullscreen):not(.game-pseudo-fullscreen){position:relative!important;width:auto!important;height:auto!important;max-width:none!important;margin:0!important;overflow:visible!important}

@media(max-width:1120px){
  .rpg-location-hud{display:none}
  .rpg-player-hud{width:min(310px,calc(100% - 246px))}
  .rpg-quest-hud{width:min(288px,calc(100% - 246px))}
  .rpg-minimap-stack{width:190px}
  .rpg-hud-button{height:42px}
  .rpg-hud-button svg{width:20px;height:20px}
}
@media(max-width:760px){
  #abyss-rpg.rpg-game-active:not(:fullscreen):not(.game-pseudo-fullscreen) .rpg-game-stage{height:calc(100dvh - 94px);min-height:600px}
  .rpg-player-hud{left:8px;top:8px;width:calc(100% - 166px)}
  .rpg-quest-hud{left:8px;top:95px;width:calc(100% - 166px)}
  .rpg-minimap-stack{right:8px;top:8px;width:146px;gap:6px}
  .rpg-minimap-stack>.rpg-minimap-shell{width:100%;padding:7px}
  .rpg-minimap-stack>.rpg-top-actions{width:100%;gap:5px}
  .rpg-hud-button{width:100%;height:32px;border-radius:10px}
  .rpg-hud-button svg{width:16px;height:16px;stroke-width:2.1}
}
@media(max-width:480px){
  .rpg-player-hud{width:calc(100% - 144px)}
  .rpg-quest-hud{width:calc(100% - 144px);top:87px}
  .rpg-minimap-stack{width:128px}
  .rpg-hud-button{height:29px;border-radius:9px}
  .rpg-hud-button svg{width:15px;height:15px}
}


/* v167 loading gate and render-stability layer */
.rpg-loading-screen{position:absolute;inset:0;z-index:12050;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 38%,rgba(22,105,126,.42),rgba(2,14,26,.96) 55%,#020b14 100%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .34s ease,visibility 0s linear .34s;contain:layout paint;}
.rpg-loading-screen.active{opacity:1;visibility:visible;pointer-events:all;transition:opacity .18s ease;}
.rpg-loading-screen.ready{opacity:0;pointer-events:none;}
.rpg-loading-card{width:min(460px,calc(100vw - 48px));padding:30px 34px 26px;border:1px solid rgba(153,255,239,.38);border-radius:24px;text-align:center;color:#efffff;background:linear-gradient(180deg,rgba(7,37,52,.96),rgba(3,18,31,.98));box-shadow:0 30px 90px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.rpg-loading-card small{display:block;margin-top:12px;font:900 11px/1 ui-monospace,Consolas,monospace;letter-spacing:.28em;color:#78f5e6}.rpg-loading-card h3{margin:9px 0 7px;font:900 clamp(21px,3vw,30px)/1.05 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.035em}.rpg-loading-card p{min-height:20px;margin:0 0 18px;color:#b6ced5;font:700 13px/1.4 system-ui,sans-serif}
.rpg-loading-emblem{position:relative;width:74px;height:74px;margin:auto;border-radius:50%;border:3px solid rgba(119,250,230,.72);box-shadow:0 0 26px rgba(87,242,225,.22),inset 0 0 28px rgba(73,218,221,.15);animation:rpg-loading-turn 4.6s linear infinite}.rpg-loading-emblem:before,.rpg-loading-emblem:after{content:"";position:absolute;inset:10px;border:2px dashed rgba(255,221,135,.7);border-radius:50%}.rpg-loading-emblem:after{inset:25px;background:#7df6e8;border:0;box-shadow:0 0 20px rgba(125,246,232,.75)}.rpg-loading-emblem span,.rpg-loading-emblem i,.rpg-loading-emblem b{position:absolute;left:50%;top:-8px;width:12px;height:22px;margin-left:-6px;border-radius:50% 50% 35% 35%;background:#ff9b72;transform-origin:6px 45px}.rpg-loading-emblem i{transform:rotate(120deg);background:#7ee8c7}.rpg-loading-emblem b{transform:rotate(240deg);background:#c991ef}
.rpg-loading-meter{height:12px;overflow:hidden;border:1px solid rgba(150,240,231,.35);border-radius:999px;background:#06131e;box-shadow:inset 0 2px 7px rgba(0,0,0,.55)}.rpg-loading-meter i{display:block;width:var(--rpg-load,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#31c6d5,#73f3df 62%,#ffe18b);box-shadow:0 0 16px rgba(91,242,224,.55);transition:width .16s ease}.rpg-loading-card strong{display:block;margin-top:9px;font:900 12px/1 ui-monospace,Consolas,monospace;color:#ffe5a0;letter-spacing:.1em}
@keyframes rpg-loading-turn{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.rpg-loading-emblem{animation:none}.rpg-loading-screen,.rpg-loading-meter i{transition:none}}

/* v168 loading recovery controls */
.rpg-loading-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.rpg-loading-actions[hidden]{display:none}.rpg-loading-actions button{min-width:132px;padding:10px 14px;border:1px solid rgba(132,246,228,.48);border-radius:12px;background:linear-gradient(180deg,#164e5e,#0a2938);color:#efffff;font:900 11px/1 ui-monospace,Consolas,monospace;cursor:pointer}.rpg-loading-actions button:hover{transform:translateY(-1px);border-color:#ffe08c}.rpg-loading-screen.recovery .rpg-loading-emblem{animation-duration:10s;border-color:#ffd27e}.rpg-loading-screen.recovery .rpg-loading-card{border-color:rgba(255,210,126,.5)}


/* ===== v174 player-stable HUD and true top-right minimap lock ===== */
.rpg-minimap-stack{
  position:absolute!important;top:12px!important;right:12px!important;left:auto!important;bottom:auto!important;
  width:220px!important;margin:0!important;padding:0!important;transform:none!important;z-index:42!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;pointer-events:none!important;
}
.rpg-minimap-stack::before,.rpg-minimap-stack::after,.rpg-minimap-shell::before,.rpg-minimap-shell::after{content:none!important;display:none!important}
.rpg-minimap-stack>.rpg-minimap-shell{order:1!important;position:relative!important;inset:auto!important;width:100%!important;margin:0!important;pointer-events:auto!important}
.rpg-minimap-stack>.rpg-top-actions{
  order:2!important;position:relative!important;inset:auto!important;width:100%!important;margin:0!important;padding:0!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;pointer-events:auto!important;
}
.rpg-minimap-stack .rpg-hud-button{
  width:100%!important;height:46px!important;min-width:0!important;padding:4px 2px!important;margin:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;
  border-radius:13px!important;line-height:1!important;overflow:hidden!important;
}
.rpg-hud-button .rpg-hud-glyph{display:block;font-size:17px;font-weight:1000;line-height:1;color:#efffff;pointer-events:none}
.rpg-hud-button .rpg-hud-label{display:block;font-size:6px;font-weight:1000;letter-spacing:.08em;line-height:1;color:#a9dce4;pointer-events:none}
.rpg-minimap-stack .rpg-hud-button svg{display:none!important}
@media(max-width:1120px){.rpg-minimap-stack{width:190px!important}.rpg-minimap-stack .rpg-hud-button{height:42px!important}}
@media(max-width:760px){.rpg-minimap-stack{top:8px!important;right:8px!important;width:146px!important;gap:5px!important}.rpg-minimap-stack .rpg-hud-button{height:34px!important;border-radius:10px!important}.rpg-hud-button .rpg-hud-glyph{font-size:14px}.rpg-hud-button .rpg-hud-label{font-size:5px}}
@media(max-width:480px){.rpg-minimap-stack{width:128px!important}.rpg-minimap-stack .rpg-hud-button{height:31px!important}.rpg-hud-button .rpg-hud-label{display:none}}


/* ===== v175 left HUD overhaul + directional side run restore ===== */
.rpg-player-hud{width:min(360px,calc(100% - 286px));min-height:114px;padding:14px 15px 13px;grid-template-columns:72px 1fr;gap:13px;border-radius:22px}
.rpg-player-portrait{width:72px;height:72px;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 30% 20%,rgba(130,248,255,.34),rgba(17,53,73,.88) 58%,rgba(3,14,26,.96));display:block}
.rpg-player-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;image-rendering:pixelated;transform:scale(1.02)}
.rpg-player-copy{display:flex;flex-direction:column;min-width:0}
.rpg-player-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.rpg-player-name-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rpg-player-role{display:block;margin-top:4px;color:#9fe8f2;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.rpg-player-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.rpg-player-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid rgba(183,244,255,.14);border-radius:999px;background:rgba(92,219,235,.08);color:#d6fbff;font-size:7px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.rpg-quest-hud{top:143px;width:min(340px,calc(100% - 286px));padding:13px 15px 14px;border-radius:20px}
.rpg-quest-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rpg-quest-head small{margin:0}
.rpg-quest-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,226,120,.22);background:rgba(255,213,104,.09);color:#ffe28f;font-size:7px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.rpg-quest-hud b{display:block;margin-top:7px}
.rpg-quest-hud span#rpgQuestStep{display:block}
.rpg-quest-footer{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rpg-quest-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(154,240,251,.12);background:rgba(117,214,240,.08);color:#d8fbff;font-size:7px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
@media(max-width:760px){
  .rpg-player-hud{grid-template-columns:52px 1fr;min-height:84px;padding:9px 10px;gap:9px}
  .rpg-player-portrait{width:52px;height:52px;border-radius:15px}
  .rpg-player-role{font-size:6px;margin-top:2px}
  .rpg-player-meta{margin-top:4px;gap:4px}
  .rpg-player-pill{font-size:6px;padding:2px 6px}
  .rpg-quest-hud{top:104px;padding:10px 11px}
  .rpg-quest-badge,.rpg-quest-chip{font-size:6px}
}
@media(max-width:480px){
  .rpg-player-meta{display:none}
  .rpg-quest-hud{top:94px}
}


/* ===== v177 adjustable field of view / camera zoom ===== */
.rpg-camera-zoom-setting{display:grid;gap:12px;padding:14px 15px!important}
.rpg-range-setting-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}
.rpg-range-setting-head b{display:block;color:#efffff;font-size:13px}
.rpg-range-setting-head p{margin:4px 0 0;color:#9fc6ce;font-size:9px;line-height:1.5}
.rpg-range-setting-head output{min-width:132px;padding:7px 10px;border:1px solid rgba(157,240,252,.18);border-radius:999px;background:rgba(77,205,229,.09);color:#d9fbff;font-size:9px;font-weight:950;text-align:center;white-space:nowrap}
.rpg-camera-zoom-slider{width:100%;height:24px;margin:0;cursor:ew-resize;accent-color:#74e9ee}
.rpg-camera-zoom-slider::-webkit-slider-runnable-track{height:7px;border:1px solid rgba(184,247,255,.16);border-radius:999px;background:linear-gradient(90deg,rgba(83,192,216,.36),rgba(255,221,117,.34))}
.rpg-camera-zoom-slider::-webkit-slider-thumb{appearance:none;width:21px;height:21px;margin-top:-8px;border:2px solid rgba(238,255,255,.84);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff,#82ecf2 44%,#277c9d);box-shadow:0 4px 15px rgba(0,0,0,.38),0 0 14px rgba(96,225,239,.2)}
.rpg-camera-zoom-slider::-moz-range-track{height:7px;border:1px solid rgba(184,247,255,.16);border-radius:999px;background:linear-gradient(90deg,rgba(83,192,216,.36),rgba(255,221,117,.34))}
.rpg-camera-zoom-slider::-moz-range-thumb{width:19px;height:19px;border:2px solid rgba(238,255,255,.84);border-radius:50%;background:#75e7ed;box-shadow:0 4px 15px rgba(0,0,0,.38)}
.rpg-range-labels{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;color:#8fbcc4;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.rpg-range-labels span:last-child{text-align:right}
.rpg-range-labels button{appearance:none;padding:5px 10px;border:1px solid rgba(180,244,255,.16);border-radius:999px;background:rgba(52,154,181,.12);color:#d9fbff;font:inherit;cursor:pointer}
.rpg-range-labels button:hover{filter:brightness(1.18);border-color:rgba(210,252,255,.36)}
@media(max-width:560px){.rpg-range-setting-head{grid-template-columns:1fr}.rpg-range-setting-head output{justify-self:start}.rpg-range-labels{font-size:7px}}


/* ===== v178 left HUD stack overlap fix ===== */
.rpg-left-hud-stack{
  position:absolute;
  left:18px;
  top:18px;
  z-index:4;
  width:min(360px,calc(100% - 286px));
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:12px;
  pointer-events:none;
}
.rpg-left-hud-stack>.rpg-player-hud,
.rpg-left-hud-stack>.rpg-quest-hud{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  pointer-events:auto;
}
.rpg-left-hud-stack>.rpg-player-hud{min-height:114px}
.rpg-left-hud-stack>.rpg-quest-hud{align-self:start}
@media(max-width:1050px){
  .rpg-left-hud-stack{width:min(310px,calc(100% - 246px))}
}
@media(max-width:760px){
  .rpg-left-hud-stack{left:8px;top:8px;width:calc(100% - 166px);gap:8px}
  .rpg-left-hud-stack>.rpg-player-hud{min-height:84px}
}
@media(max-width:480px){
  .rpg-left-hud-stack{width:calc(100% - 144px);gap:7px}
}


/* ===== v181 clean typography + silent safe areas ===== */
#abyss-rpg{
  --rpg-ui-font:"Segoe UI Variable Text","Segoe UI",Roboto,Arial,sans-serif;
  font-family:var(--rpg-ui-font);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
#abyss-rpg button,#abyss-rpg input,#abyss-rpg select,#abyss-rpg .rpg-page,
#abyss-rpg .rpg-hud-card,#abyss-rpg .rpg-dialogue,#abyss-rpg .rpg-modal-card,
#abyss-rpg .rpg-interact-prompt,#abyss-rpg .rpg-save-toast{font-family:var(--rpg-ui-font)!important}
.rpg-player-name-row b{font-weight:800}
.rpg-player-role{font-size:9px;line-height:1.25;letter-spacing:.07em}
.rpg-player-pill,.rpg-quest-badge,.rpg-quest-chip{font-size:8px;line-height:1.2;letter-spacing:.055em}
.rpg-meter-labels,.rpg-quest-head small,.rpg-minimap-head,.rpg-build-badge{font-size:8px;line-height:1.25}
.rpg-quest-hud span#rpgQuestStep{font-size:10px;line-height:1.5}
.rpg-dialogue-copy small{font-size:9px;letter-spacing:.08em}
.rpg-dialogue-copy b{font-weight:800}
.rpg-dialogue-copy p{font-size:13px;line-height:1.58}
.rpg-interact-prompt{font-size:11px;font-weight:800}
.rpg-save-toast{font-size:10px;font-weight:800}
.rpg-hud-button .rpg-hud-label{font-family:var(--rpg-ui-font)!important;font-weight:800;letter-spacing:.04em}


/* ===== v182 browser-quality in-game typography ===== */
.rpg-world-text-layer{
  position:absolute;inset:0;z-index:6;overflow:hidden;pointer-events:none;contain:layout paint;
  font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;
}
.rpg-html-world-text{
  --rpg-world-color:#efffff;--rpg-world-size:12px;--rpg-world-scale:1;--rpg-world-max-width:260px;
  position:absolute;display:block;max-width:var(--rpg-world-max-width);color:var(--rpg-world-color);
  font-size:var(--rpg-world-size);font-weight:850;line-height:1.08;letter-spacing:.035em;text-align:center;
  white-space:pre-line;overflow-wrap:normal;translate:-50% -100%;scale:var(--rpg-world-scale);
  transform-origin:50% 100%;will-change:left,top;filter:drop-shadow(0 2px 1px rgba(0,0,0,.96)) drop-shadow(0 0 4px rgba(0,0,0,.7));
}
.rpg-world-landmark{padding:5px 10px;border:1px solid rgba(199,249,255,.18);border-radius:999px;background:rgba(3,18,29,.76);font-weight:950;letter-spacing:.11em;box-shadow:0 5px 16px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.07)}
.rpg-world-caption{padding:3px 7px;border-radius:999px;background:rgba(3,17,27,.68);font-weight:900;letter-spacing:.12em}
.rpg-world-sign{padding:4px 8px;border:1px solid rgba(255,231,150,.18);border-radius:8px;background:rgba(13,25,28,.78);font-weight:900;letter-spacing:.075em}
.rpg-world-gold{filter:drop-shadow(0 2px 1px rgba(0,0,0,.98)) drop-shadow(0 0 7px rgba(255,218,108,.18))}
.rpg-world-enemy-name{padding:3px 8px;border:1px solid color-mix(in srgb,var(--rpg-world-color) 28%,transparent);border-radius:999px;background:rgba(4,10,18,.82);font-weight:950;letter-spacing:.075em;text-transform:uppercase}
.rpg-world-float{font-weight:950;letter-spacing:.02em;filter:drop-shadow(0 2px 1px #000) drop-shadow(0 0 5px rgba(0,0,0,.9));white-space:nowrap}
.rpg-world-float.animate{animation:rpgHtmlWorldFloat .84s cubic-bezier(.16,.75,.22,1) forwards}
@keyframes rpgHtmlWorldFloat{0%{opacity:0;margin-top:7px}12%{opacity:1;margin-top:0}100%{opacity:0;margin-top:-35px}}
.rpg-html-area-banner{
  position:absolute;left:50%;top:78px;min-width:250px;padding:11px 24px 12px;translate:-50% -12px;opacity:0;
  border:1px solid rgba(184,246,255,.2);border-radius:18px;background:linear-gradient(160deg,rgba(4,23,37,.9),rgba(3,11,22,.91));
  box-shadow:0 18px 50px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.08);text-align:center;transition:opacity .28s ease,translate .3s cubic-bezier(.2,.8,.2,1);
}
.rpg-html-area-banner.show{opacity:1;translate:-50% 0}
.rpg-html-area-banner b{display:block;color:#f4ffff;font-size:24px;font-weight:950;letter-spacing:-.025em;text-shadow:0 2px 5px rgba(0,0,0,.75)}
.rpg-html-area-banner span{display:block;margin-top:3px;color:#9eeaf2;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
@media(max-width:760px){.rpg-html-area-banner{top:68px;min-width:210px;padding:9px 18px}.rpg-html-area-banner b{font-size:19px}.rpg-html-world-text{--rpg-world-scale:.94}}

/* v234Z R114 — Blender-first Abyss RPG renderer */
#abyss-rpg.rpg-blender-runtime #rpgGameMount{background:#0d2533;overflow:hidden}
#abyss-rpg.rpg-blender-runtime #rpgGameMount canvas:not(.rpg-world-3d-main){opacity:0!important;pointer-events:none!important}
#abyss-rpg.rpg-blender-runtime .rpg-world-text-layer{display:none!important}
#abyss-rpg .rpg-world-3d-main{position:absolute;inset:0;z-index:3;display:block!important;width:100%!important;height:100%!important;object-fit:cover;image-rendering:auto!important;pointer-events:none;background:#102b3a}
#abyss-rpg:not(.rpg-game-active) .rpg-world-3d-main{visibility:hidden}
#abyss-rpg .rpg-blender-loading{position:absolute;inset:0;z-index:8;display:grid;place-items:center;pointer-events:none;background:linear-gradient(180deg,rgba(5,16,25,.44),rgba(5,13,20,.72))}
#abyss-rpg .rpg-blender-loading[hidden]{display:none!important}
#abyss-rpg .rpg-blender-loading>div{display:grid;gap:6px;max-width:min(390px,78%);padding:18px 22px;border:1px solid rgba(170,234,255,.15);border-radius:20px;background:rgba(5,18,28,.82);box-shadow:0 16px 44px rgba(0,0,0,.34);text-align:center}
#abyss-rpg .rpg-blender-loading b{color:#f4fdff;font-size:1.02rem}#abyss-rpg .rpg-blender-loading span{color:#a9cad7;font-size:.9rem}
#abyss-rpg .rpg-blender-failure{position:absolute;left:50%;top:50%;z-index:15;translate:-50% -50%;display:grid;gap:6px;max-width:460px;padding:18px 22px;border:1px solid rgba(255,126,126,.28);border-radius:18px;background:rgba(30,8,12,.92);color:#ffd9d9;text-align:center}
#abyss-rpg.rpg-blender-runtime .rpg-minimap-shell{backdrop-filter:blur(7px)}
#abyss-rpg.rpg-blender-runtime .rpg-game-vignette{z-index:5;pointer-events:none}
#abyss-rpg.rpg-blender-runtime .rpg-hud,#abyss-rpg.rpg-blender-runtime .rpg-dialogue,#abyss-rpg.rpg-blender-runtime .rpg-modal-shade,#abyss-rpg.rpg-blender-runtime .rpg-touch-controls,#abyss-rpg.rpg-blender-runtime .rpg-boss-hud,#abyss-rpg.rpg-blender-runtime .rpg-interact-prompt,#abyss-rpg.rpg-blender-runtime .rpg-save-toast{z-index:20}

/* R117 keeps the original HUD and projects its world labels through the 3D camera. */
#abyss-rpg.rpg-blender-runtime .rpg-world-text-layer{display:block!important;z-index:7}
#abyss-rpg .rpg-world-3d-main{object-fit:fill!important;pointer-events:none;image-rendering:auto!important}
#abyss-rpg .rpg3d-health-layer{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
#abyss-rpg .rpg3d-health{position:absolute;width:52px;height:6px;translate:-50% -100%;background:#102837;border:1px solid #203b4f;border-radius:5px;box-shadow:0 1px 4px #10273777;overflow:hidden}
#abyss-rpg .rpg3d-health[hidden]{display:none!important}
#abyss-rpg .rpg3d-health i{display:block;width:100%;height:100%;background:#f08f9d;transform-origin:left center}
#abyss-rpg .rpg-blender-loading{z-index:24;pointer-events:auto}
#abyss-rpg:not(.rpg-game-active) .rpg-blender-loading{display:none!important}
#abyss-rpg.rpg-blender-runtime .rpg-game-vignette{opacity:.35}
#abyss-rpg.rpg-blender-pending #rpgGameMount canvas:not(.rpg-world-3d-main),#abyss-rpg.rpg-blender-failed #rpgGameMount canvas:not(.rpg-world-3d-main){opacity:0!important;pointer-events:none!important}
#abyss-rpg.rpg-blender-pending .rpg-world-text-layer,#abyss-rpg.rpg-blender-failed .rpg-world-text-layer{display:none!important}
