:root{color-scheme:dark;--bg:#100c16;--line:#49334f;--gold:#f3c56b;--cream:#fff9f0;--muted:#b9afc3;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -15%,#392442,var(--bg) 58%);color:var(--cream)}.shell{max-width:760px;margin:auto;padding:0 16px 100px}header{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff18}.brand{color:var(--cream);font:700 14px Georgia,serif;letter-spacing:1.4px}.brand b{color:var(--gold)}.wallet{color:var(--gold);font-size:12px}.wallet span{margin-left:12px}.wallet b{color:var(--cream)}main{padding:18px 0}.hero,.panel,.stat{border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#2b1e35,#19131f);padding:16px}.hero{padding:22px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:800;color:var(--gold)}h1,h2{font-family:Georgia,serif}h1{font-size:27px;margin:8px 0 6px}p{color:var(--muted);font-size:12px;line-height:1.55}.identity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.chip{border:1px solid #785f82;background:#160f20;border-radius:30px;padding:7px 10px;font-size:9px;color:#ffe0a0;font-weight:800}.link{background:none;border:0;color:#b88af4;font-size:10px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.stat{padding:12px}.stat label{font-size:8px;color:var(--muted);font-weight:800;letter-spacing:1px}.stat strong{display:block;color:#ffe0a0;font:700 21px Georgia,serif;margin-top:7px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:19px 2px 10px}.section-title h2{font-size:14px;margin:0}.section-title span{font-size:8px;color:var(--muted);letter-spacing:1px}.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.facility{min-height:72px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#2a1e34,#19131f);color:var(--cream);font-size:9px;font-weight:800;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.facility i{font-style:normal;font-size:20px;color:var(--gold)}.nav{display:flex;gap:7px;overflow:auto;margin:12px 0}.pill{white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:8px 12px;background:#211729;color:#d9cbe0;font-size:9px;font-weight:800}.pill.active{border-color:var(--gold);background:#59416a;color:#fff}.item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#1d1625;border-radius:13px;padding:11px;margin:8px 0}.item-icon{width:42px;height:42px;border-radius:10px;background:#382842;display:grid;place-items:center;font-size:20px}.item h3{font-size:11px;margin:0 0 4px}.item p{font-size:9px;margin:0}.price{color:var(--gold);font-size:10px;font-weight:800}.action{border:1px solid #856b83;background:#38283e;color:#ffe0a0;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800}.action.primary{background:linear-gradient(110deg,#a65e35,#e6b75e);color:#1b1117}.main-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#120d19ed;backdrop-filter:blur(16px);border-top:1px solid #624a69}.main-nav button{border:1px solid transparent;background:none;color:#9f91a8;border-radius:10px;padding:7px 0;font-size:17px}.main-nav button.active{background:#2c2036;border-color:#71577a;color:#ffe0a0}.main-nav small{display:block;font-size:8px;font-weight:800;letter-spacing:.7px;margin-top:4px}dialog{width:min(92vw,440px);max-height:85vh;overflow:auto;background:#211729;color:var(--cream);border:1px solid #866c89;border-radius:18px;padding:22px}dialog::backdrop{background:#07050bcc;backdrop-filter:blur(4px)}.close{float:right;background:none;border:0;color:var(--muted);font-size:25px}#toast{position:fixed;bottom:88px;left:50%;transform:translate(-50%,12px);opacity:0;background:#35263d;border:1px solid #8e7291;color:#ffe0a0;border-radius:10px;padding:10px 14px;font-size:10px;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}.empty{text-align:center;padding:25px;color:var(--muted);border:1px dashed var(--line);border-radius:12px}@media(max-width:390px){.shell{padding-left:11px;padding-right:11px}.stat{padding:9px}.stat strong{font-size:18px}.facility-grid{gap:5px}.facility{font-size:8px}}
.ai-aside{font-style:italic;color:#c8a9dc!important;border-left:2px solid #8a63a1;padding-left:7px;margin-top:6px!important}
.item-info{min-width:0}.item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.item small{display:block;color:#b9afc3;font-size:8px;margin-top:5px}.item .action{white-space:nowrap;cursor:pointer}.action,button{cursor:pointer}.bar{height:7px;background:#0d0912;border-radius:10px;overflow:hidden;margin-top:9px}.bar span{display:block;height:100%;background:linear-gradient(90deg,#8e54b7,#d29aef,#f3c56b);border-radius:10px}.panel h2{color:#ffe0a0;font-size:17px}.panel p{margin:7px 0}.item{min-width:0}.item>div:nth-child(2){min-width:0}.item h3{overflow-wrap:anywhere}.item-actions .price{white-space:nowrap}

.account-button{margin-left:10px;border:1px solid #80668a;border-radius:20px;background:#2b1e35;color:#ffe0a0;padding:6px 9px;font-size:8px;font-weight:900;letter-spacing:.5px}.auth-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;background:#0b0710ed;backdrop-filter:blur(12px)}.auth-overlay.hidden{display:none}.auth-card{width:min(100%,430px);max-height:92vh;overflow:auto;border:1px solid #765b7d;border-radius:20px;padding:22px;background:linear-gradient(145deg,#2b1e35,#15101b);box-shadow:0 20px 80px #0009}.auth-title{text-align:center;color:#f3c56b;font:700 28px Georgia,serif;letter-spacing:2px;margin:4px 0}.auth-sub{text-align:center;color:#c8b9d0;font-size:12px;margin:7px 0 20px}.auth-card label{display:block;color:#d9c8e1;font-size:10px;font-weight:800;letter-spacing:1px;margin:12px 0 6px}.auth-card input{width:100%;border:1px solid #654c6d;border-radius:10px;background:#100b16;color:#fff;padding:13px;font:inherit;font-size:14px;outline:none}.auth-card input:focus{border-color:#d7a6ed}.auth-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.auth-buttons button,.auth-wide{border:1px solid #80668a;border-radius:10px;background:#38283e;color:#ffe0a0;padding:12px;font-size:10px;font-weight:900}.auth-buttons button.active,.auth-wide.primary{background:linear-gradient(110deg,#a65e35,#e6b75e);color:#1b1117;border-color:#d8a65e}.auth-wide{width:100%;margin-top:9px}.auth-message{min-height:30px;color:#eac477;font-size:11px;line-height:1.5;margin:10px 0}.auth-divider{display:flex;align-items:center;gap:10px;color:#a99ab1;font-size:9px;margin:14px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#5c4662;flex:1}.auth-small{font-size:10px;color:#a99ab1;text-align:center;line-height:1.5}
/* Dev home refresh: consistent dashboard spacing and text-only facility navigation */
.home-hero{padding:20px}.crawler-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:5px}.crawler-heading>div{min-width:0;flex:1}.crawler-heading h1{margin:2px 0 5px;overflow-wrap:anywhere}.ai-aside{font-size:11px;line-height:1.5;margin:5px 0 0!important;color:#d2b7df!important;border-left:2px solid #a47abb;padding:2px 0 2px 9px}.edit-name{white-space:nowrap;padding:8px 0 8px 8px}.home-hero .identity{margin-top:14px}.stats{gap:9px;margin:12px 0}.stat{min-width:0;min-height:78px;display:flex;flex-direction:column;justify-content:center}.stat label{letter-spacing:.8px}.stat strong{font-size:clamp(16px,5vw,21px);overflow-wrap:anywhere}.progress-panel{padding:14px 16px}.section-title{margin:0 2px 10px}.section-title.compact{margin:0 0 9px}.section-title.compact h2{font-size:12px}.section-title.compact span{font-size:9px;color:#e7c78d}.home-facilities{margin-top:17px}.home-facilities .section-title{margin-bottom:10px}.facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.facility{min-height:58px;padding:9px 4px;font-size:9px;letter-spacing:.65px;line-height:1.2;text-align:center;border-radius:11px}.facility:active{border-color:var(--gold);background:#3a2944}@media(max-width:390px){.facility-grid{gap:6px}.facility{min-height:54px;font-size:8px;letter-spacing:.35px}.home-hero{padding:17px}.crawler-heading{gap:7px}}

/* Dev facility artwork atlas: eight matching illustrated, functional facility cards */
.facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.facility{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid #80634b;border-radius:13px;background:linear-gradient(155deg,#302338,#15111a);box-shadow:inset 0 0 0 1px #d5a65a22,0 3px 10px #0005;transition:transform .16s,border-color .16s}
.facility:hover,.facility:focus-visible{border-color:#f3c56b;transform:translateY(-2px);outline:none}
.facility-art{display:block;width:100%;aspect-ratio:1.68;background-image:url('assets/facilities-atlas.webp');background-size:400% 200%;background-repeat:no-repeat;position:relative}
.facility-art:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,#17111de8)}
.facility-label{display:block;padding:9px 4px 10px;color:#fff0d0;font-size:10px;font-weight:900;letter-spacing:.8px;text-align:center;line-height:1.2;background:linear-gradient(180deg,#251b2c,#17111e)}
@media(max-width:430px){.facility-grid{gap:7px}.facility-label{font-size:8px;letter-spacing:.45px;padding:8px 2px}.facility-art{aspect-ratio:1.45}}

/* Original DuoFolds home structure, adapted for Duo Dungeon */
.home-hero{padding:18px;border-color:#9a7045;background:linear-gradient(145deg,#30203a,#17101e);box-shadow:inset 0 0 0 1px #e2b56a18,0 8px 24px #0004}.welcome-label{font:900 9px system-ui;letter-spacing:1.5px;color:#d7b2e5}.crawler-heading{display:flex;align-items:center;gap:10px;margin:8px 0 12px}.crawler-heading>div{min-width:0;flex:1}.crawler-heading h1{font-size:25px;line-height:1.08;margin:4px 0;color:#ffe0a0;overflow-wrap:anywhere}.identity-edit{flex:none;width:36px;height:36px;border:1px solid #98734d;border-radius:10px;background:#211629;color:#ffe0a0;font-size:19px}.identity-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px;border:1px solid #5c4568;border-radius:11px;background:#120d19}.identity-number small,.identity-level small{display:block;color:#bba9c6;font-size:7px;font-weight:900;letter-spacing:1px}.identity-number strong,.identity-level strong{display:block;color:#f3c56b;font:700 17px Georgia,serif;margin-top:5px}.identity-level span{display:block;color:#c7b4d0;font-size:7px;margin-top:3px}.home-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.home-stat-grid>div{min-width:0;padding:10px 4px;border:1px solid #594365;border-radius:9px;background:#120d19;text-align:center}.home-stat-grid strong{display:block;color:#f3c56b;font-size:clamp(11px,3.4vw,15px);overflow-wrap:anywhere}.home-stat-grid small{display:block;margin-top:4px;color:#b9afc3;font-size:7px;font-weight:900;letter-spacing:.35px}.home-xp{margin-top:12px;padding-top:10px;border-top:1px solid #594365}.home-xp>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#c9b8d1;font-size:8px;font-weight:900;letter-spacing:.5px}.home-xp b{color:#ffe0a0}.home-facility-section{margin:16px 0 14px;padding:12px;border:1px solid #74567c;border-radius:15px;background:linear-gradient(145deg,#261b30,#130e19);box-shadow:0 6px 18px #0004}.home-facility-section .section-title{margin:0 2px 11px;align-items:center}.home-facility-section .section-title h2{font:700 16px Georgia,serif;color:#ffe0a0;margin:3px 0 0}.facility-collapse{border:1px solid #735779;border-radius:8px;padding:7px 9px;background:#211629;color:#e7c17d;font-size:8px;font-weight:900}.facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.facility{background:#18111f}.facility-art{aspect-ratio:1.3}.facility-label{padding:8px 3px 9px;font-size:8px;letter-spacing:.45px}.facility-collapsed{padding:13px;border:1px dashed #594365;border-radius:9px;color:#b9afc3;text-align:center;font-size:10px}.home-dungeon-build{border-color:#9a7045;background:linear-gradient(145deg,#30203a,#17101e);padding:16px}.home-dungeon-build h2{margin:7px 0;color:#ffe0a0;font:700 18px Georgia,serif}.home-dungeon-build p{font-size:10px}.home-build-divider{height:1px;margin:14px 0;background:linear-gradient(90deg,transparent,#9b7953,transparent)}.home-shortcuts{display:flex;gap:8px;margin-top:10px}.home-shortcuts .action{flex:1}.bonus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.bonus-chip{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:10px;border:1px solid #705276;border-radius:10px;background:linear-gradient(145deg,#30213a,#17111e);color:#fff5e5;text-align:left}.bonus-chip>span{font-size:15px}.bonus-chip strong{color:#f3c56b;font-size:17px}.bonus-chip small{color:#e9dccb;font-size:8px;font-weight:950;letter-spacing:.5px}.bonus-chip i{color:#bda8c8;font-size:7px;font-style:normal}.bonus-empty{grid-column:1/-1;padding:13px;border:1px dashed #705276;border-radius:9px;color:#c5b5ce;font-size:10px;text-align:center}.facility-heading{margin:2px 0 12px}.facility-content{padding:0}.main-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.main-nav button{min-width:0;font-size:16px}.main-nav small{font-size:7px;letter-spacing:.35px}@media(max-width:390px){.home-hero{padding:15px}.home-facility-section{padding:9px}.facility-grid{gap:6px}.facility-art{aspect-ratio:1.12}.facility-label{font-size:7px;padding:7px 1px}.home-stat-grid{gap:5px}.home-stat-grid>div{padding:9px 2px}}

/* Original RPG facility interfaces: chest inventory, crafting, gear and relics */
.facility-intro{padding:14px 15px;margin:0 0 12px;border:1px solid #705276;border-radius:13px;background:linear-gradient(145deg,#30213a,#17111e)}
.facility-intro h2{margin:5px 0;color:#ffe0a0;font:700 19px Georgia,serif}
.facility-intro p{margin:5px 0 0;font-size:10px}
.bag-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 0 9px;scrollbar-width:none}
.bag-filters .pill{flex:none}
.material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}
.material-chip{min-width:0;padding:9px 3px;text-align:center;border:1px solid #594365;border-radius:9px;background:#140f1b}
.material-chip span{display:block;font-size:15px}.material-chip b{display:block;color:#f3c56b;font-size:14px;margin:3px 0}.material-chip small{display:block;color:#b9afc3;font-size:6px;font-weight:900;letter-spacing:.3px;overflow-wrap:anywhere}
.chest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.chest-item{position:relative;min-width:0;min-height:112px;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #65506d;border-radius:12px;background:linear-gradient(155deg,#30233a,#17111e);color:#fff0d0;text-align:center}
.chest-item .chest-icon{font-size:25px;filter:drop-shadow(0 2px 3px #0008)}
.chest-item b{font-size:9px;line-height:1.25;overflow-wrap:anywhere}
.chest-item small{font-size:7px;color:#bcaec6}
.chest-item i{position:absolute;top:5px;right:5px;color:#f3c56b;font-size:6px;font-style:normal;font-weight:900}
.rarity-legendary{border-color:#d4a64e;box-shadow:inset 0 0 14px #e7a83b17}
.rarity-epic{border-color:#9b71c2}.rarity-rare{border-color:#648db5}
.craft-recipe,.forge-slot,.equipment-slot,.reward-row,.companion-card{display:flex;align-items:center;gap:10px;padding:12px;margin:8px 0;border:1px solid #5c4568;border-radius:12px;background:linear-gradient(145deg,#241a2e,#17111e)}
.recipe-head{display:flex;align-items:center;gap:10px}.recipe-head>span{font-size:25px}.recipe-head h3,.forge-slot h3,.equipment-slot h3,.reward-row h3,.companion-card h3{margin:0 0 4px;font-size:11px;color:#fff0d0}.recipe-head p,.forge-slot p,.equipment-slot p,.reward-row p,.companion-card p{margin:0;font-size:9px}
.recipe-cost{margin:9px 0;color:#d7c1e1;font-size:8px}
.craft-recipe{display:block}.craft-recipe .action{width:100%}
.forge-slot>div:nth-child(2),.equipment-slot>div{flex:1;min-width:0}
.forge-slot .item-icon{flex:none}
.equipment-slot>span{font-size:25px;width:38px;text-align:center}
.equipment-slot small{font-size:7px;color:#c0a8ce;font-weight:900;letter-spacing:1px}
.companion-card{align-items:center;padding:14px}
.companion-card>div:last-child{flex:1;min-width:0}
.companion-avatar{width:56px;height:56px;display:grid;place-items:center;border:1px solid #82628b;border-radius:14px;background:#392944;font-size:30px}
.companion-card small{color:#c4b1d0;font-size:8px}
.relic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.relic-card{padding:12px;border:1px solid #6d5874;border-radius:12px;background:linear-gradient(145deg,#2b2035,#17111e)}
.relic-card>span{font-size:25px}.relic-card h3{font-size:10px;margin:7px 0 3px;color:#ffe0a0}.relic-card small{font-size:7px;color:#c5a4da;font-weight:900}.relic-card p{font-size:9px;min-height:42px}.relic-card b{font-size:7px;color:#f3c56b;letter-spacing:.5px}
.reward-row{min-width:0}.reward-row>div:nth-child(2){flex:1;min-width:0}.reward-row .action{flex:none}.reward-row button:disabled{opacity:.4;cursor:default}
.effect-line{padding:9px;border:1px solid #685071;border-radius:8px;color:#f3c56b!important;font-size:9px}
blockquote{margin:12px 0;padding:10px 12px;border-left:2px solid #b68a58;background:#160f1d;color:#d5c1df;font-size:10px;line-height:1.5}
@media(max-width:390px){.chest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.chest-item{min-height:103px;padding:8px 4px}.material-chip small{font-size:5.5px}.relic-card{padding:9px}.craft-recipe{padding:10px}}


/* Top navigation and dedicated facilities menu */
.shell{padding-bottom:28px}
.main-nav{position:sticky;top:0;left:auto;transform:none;width:100%;z-index:30;margin:0 0 4px;padding:8px 10px;background:#120d19f2;backdrop-filter:blur(16px);border-top:0;border-bottom:1px solid #624a69;border-radius:0 0 12px 12px;box-shadow:0 5px 16px #0003}
.main-nav button{min-height:42px}
.facilities-directory{margin-top:0}

/* Hybrid fantasy RPG visual pass */
:root{--bg:#0c0911;--panel:#17111f;--panel2:#21172b;--gold:#e8bd70;--gold-bright:#ffe0a0;--violet:#a77bc4;--line:#594365}
body{background:radial-gradient(ellipse at 50% -12%,#483052 0%,#1b1324 34%,#0c0911 76%);background-attachment:fixed}
.shell{max-width:820px}header{border-bottom:1px solid #9b754b55}.brand{font-family:Georgia,serif;letter-spacing:2px;text-shadow:0 2px 12px #d49c4c44}main{padding-top:15px}
.rpg-home{display:grid;gap:13px}.home-hero{position:relative;overflow:hidden;padding:20px;border:1px solid #a47a4d;background:linear-gradient(145deg,#392744,#211629 52%,#120d18);box-shadow:inset 0 0 0 1px #f1d49a16,0 12px 30px #0006}.home-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,#b17bca22,transparent 34%);pointer-events:none}.hero-sigil{position:absolute;right:18px;top:22px;color:#e8bd70;font-size:50px;opacity:.16}.home-hero>*{position:relative}.welcome-label{font-size:9px;letter-spacing:2px;color:#d6b8e3;font-weight:900}.crawler-heading h1{font-size:clamp(27px,7vw,36px);text-shadow:0 3px 18px #0008}.hero-identity-line{display:flex;align-items:center;gap:9px;margin:13px 0;color:#cbb7d5;font-size:8px;font-weight:900;letter-spacing:1px}.hero-identity-line i{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.level-banner{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #866b8b;background:#110c18b8;border-radius:12px}.level-banner>div:first-child{min-width:54px;text-align:center;border-right:1px solid #594365;padding-right:12px}.level-banner small{display:block;color:#b9a7c5;font-size:7px;letter-spacing:1px;font-weight:900}.level-banner strong{display:block;color:var(--gold-bright);font:700 28px Georgia,serif}.level-progress{flex:1;min-width:0}.level-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#c8b5d2;font-size:8px;font-weight:900}.level-progress b{color:var(--gold-bright)}.home-stat-grid>div{border-color:#6c5276;background:linear-gradient(145deg,#21172b,#120d18)}
.expedition-panel{position:relative;overflow:hidden;padding:17px;border:1px solid #9a744d;border-radius:16px;background:linear-gradient(130deg,#30213a,#1b1423 70%,#15101b);box-shadow:0 9px 22px #0004}.expedition-panel:after{content:"";position:absolute;right:-30px;top:-35px;width:150px;height:150px;border:1px solid #d7ad6b22;border-radius:50%;box-shadow:0 0 0 14px #d7ad6b08,0 0 0 30px #d7ad6b05;pointer-events:none}.expedition-top{display:flex;justify-content:space-between;gap:12px;position:relative;z-index:1}.expedition-top h2{margin:5px 0;color:#ffe0a0;font:700 19px Georgia,serif}.expedition-top p{margin:0;font-size:10px}.expedition-emblem{flex:none;width:48px;height:48px;display:grid;place-items:center;border:1px solid #a47a4d;border-radius:50%;background:#120d19;color:#e8bd70;font-size:23px}.expedition-progress{position:relative;z-index:1;margin-top:15px;padding:11px;border:1px solid #594365;border-radius:10px;background:#100b16a8}.expedition-progress>div:first-child{display:flex;justify-content:space-between;color:#c8b5d2;font-size:8px;font-weight:900;letter-spacing:.8px}.expedition-progress b{color:#ffe0a0;font-size:12px}.expedition-progress small{display:block;margin-top:7px;color:#c4b4cb;font-size:8px}.expedition-actions{display:flex;gap:8px;margin-top:12px;position:relative;z-index:1}.expedition-actions button{flex:1}
.home-build-panel{padding:16px;border:1px solid #634b6d;border-radius:15px;background:linear-gradient(145deg,#251a30,#15101b);box-shadow:0 7px 20px #0003}.home-build-panel h2{margin:4px 0 10px;color:#ffe0a0;font:700 18px Georgia,serif}.build-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.build-slot{min-width:0;padding:10px 6px;text-align:center;border:1px solid #594365;border-radius:10px;background:linear-gradient(160deg,#21172b,#110c17)}.build-slot>span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 7px;border:1px solid #80638a;border-radius:10px;background:#33243d;color:#f3c56b;font-size:20px}.build-slot small{display:block;color:#bba7c5;font-size:7px;font-weight:900;letter-spacing:.8px}.build-slot b{display:block;margin-top:5px;color:#fff0d0;font-size:8px;line-height:1.3;overflow-wrap:anywhere}.section-hint{font-size:9px;margin:0}.bonus-chip{border-color:#6b5274;background:linear-gradient(145deg,#30213a,#17111e)}.daily-brief{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border:1px solid #745a7d;border-radius:13px;background:linear-gradient(110deg,#21172b,#15101b)}.daily-brief h2{margin:5px 0;color:#ffe0a0;font-size:14px}.daily-brief p{margin:0;font-size:9px}.daily-brief .action{flex:none}
.home-build-panel .section-title{margin:0 0 10px}.home-build-panel .section-title h2{font-family:Georgia,serif}.text-link{border:0;background:none;color:#d4ad70;font-size:8px;font-weight:900}
.facility-heading{padding:12px 14px;border:1px solid #73577b;border-radius:13px;background:linear-gradient(145deg,#30213a,#17111e)}.facility-heading h1{color:#ffe0a0}.facility-intro{border-color:#81628a;background:linear-gradient(145deg,#30213a,#17111e)}.facility{border-color:#81664a;box-shadow:inset 0 0 0 1px #f1d69b18,0 7px 15px #0005}.facility-label{font-family:Georgia,serif;letter-spacing:.8px}.item,.craft-recipe,.forge-slot,.equipment-slot,.reward-row,.companion-card,.relic-card{box-shadow:0 5px 13px #0002}.chest-item.rarity-legendary{border-color:#e6bd70;box-shadow:inset 0 0 18px #e8bd7024,0 0 10px #e8bd7015}.chest-item.rarity-epic{border-color:#b68ad7;box-shadow:inset 0 0 16px #9b71c222}.action{transition:transform .14s,filter .14s}.action:active,.facility:active,.bonus-chip:active{transform:scale(.98);filter:brightness(1.15)}button:focus-visible{outline:2px solid #f3c56b;outline-offset:2px}dialog{background:linear-gradient(145deg,#30213a,#15101b);border-color:#b18a5a;box-shadow:0 20px 70px #000b}dialog h2{color:#ffe0a0;font-family:Georgia,serif}
@media(max-width:430px){.home-hero{padding:16px}.expedition-panel,.home-build-panel{padding:13px}.build-slot{padding:8px 3px}.build-slot b{font-size:7px}.expedition-emblem{width:40px;height:40px}.hero-sigil{right:12px;top:15px}.daily-brief{padding:12px}}

/* Facility destinations: distinct illustrated RPG districts */
.facility-scene{position:relative;isolation:isolate;overflow:hidden;padding:0 0 8px;border-radius:16px}
.facility-scene:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.6;pointer-events:none;background:radial-gradient(ellipse at 90% 0%,var(--scene-glow),transparent 48%),linear-gradient(180deg,var(--scene-wash),transparent 48%)}
.scene-banner{display:flex;align-items:center;gap:13px;min-height:96px;padding:17px 15px;margin:0 0 13px;border:1px solid var(--scene-edge);border-radius:15px;background:linear-gradient(125deg,var(--scene-panel),#130e19 82%);box-shadow:inset 0 0 0 1px #fff1,0 8px 20px #0004;position:relative;overflow:hidden}
.scene-banner:after{content:"";position:absolute;width:116px;height:116px;right:-34px;top:-45px;border:1px solid var(--scene-edge);border-radius:50%;box-shadow:0 0 0 12px color-mix(in srgb,var(--scene-edge) 15%,transparent),0 0 0 26px color-mix(in srgb,var(--scene-edge) 8%,transparent)}
.scene-emblem{flex:none;width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--scene-edge);border-radius:14px;background:linear-gradient(145deg,var(--scene-icon),#17111e);color:var(--scene-gold);font:30px Georgia,serif;text-shadow:0 2px 12px #0008;box-shadow:inset 0 0 16px #fff1,0 5px 14px #0005}
.scene-banner>div:last-child{min-width:0;position:relative;z-index:1}.scene-banner h2{margin:4px 0;color:var(--scene-gold);font:700 clamp(17px,4.6vw,22px) Georgia,serif;letter-spacing:.35px}.scene-banner p{margin:0;color:#d2c3d7;font-size:9px;line-height:1.45}
.facility-scene .facility-intro{border-color:var(--scene-edge);background:linear-gradient(145deg,var(--scene-panel),#17111e)}
.facility-scene .facility-intro h2{color:var(--scene-gold)}
.facility-scene .panel,.facility-scene .craft-recipe,.facility-scene .forge-slot,.facility-scene .equipment-slot,.facility-scene .reward-row,.facility-scene .companion-card,.facility-scene .relic-card,.facility-scene .chest-item{border-color:var(--scene-edge)}
.scene-bag{--scene-glow:#d5a24b38;--scene-wash:#9b713022;--scene-edge:#a9824e;--scene-panel:#382b27;--scene-icon:#59432d;--scene-gold:#f4d18a}
.scene-shop{--scene-glow:#a77bc444;--scene-wash:#76508b22;--scene-edge:#9672a7;--scene-panel:#30213b;--scene-icon:#493253;--scene-gold:#e7c2f4}
.scene-forge{--scene-glow:#df6a3540;--scene-wash:#b84a2522;--scene-edge:#b66b49;--scene-panel:#3b211f;--scene-icon:#673526;--scene-gold:#ffc08b}
.scene-alchemy{--scene-glow:#62b98d38;--scene-wash:#287b5922;--scene-edge:#679b80;--scene-panel:#1d332c;--scene-icon:#285343;--scene-gold:#b8efc9}
.scene-pets{--scene-glow:#c9a85a38;--scene-wash:#87713b22;--scene-edge:#a48a55;--scene-panel:#302b20;--scene-icon:#51452c;--scene-gold:#f1d99a}
.scene-relics{--scene-glow:#7b8bd344;--scene-wash:#485ba222;--scene-edge:#7786bd;--scene-panel:#20263c;--scene-icon:#303d68;--scene-gold:#cbd4ff}
.scene-armory{--scene-glow:#8297a638;--scene-wash:#4c667322;--scene-edge:#8298a7;--scene-panel:#222d35;--scene-icon:#354b5a;--scene-gold:#d1e5f2}
.scene-rewards{--scene-glow:#e3bd6040;--scene-wash:#aa803022;--scene-edge:#b5965c;--scene-panel:#3a3020;--scene-icon:#62502b;--scene-gold:#ffe4a2}
@media(max-width:390px){.scene-banner{min-height:86px;padding:13px 11px;gap:10px}.scene-emblem{width:48px;height:48px;font-size:26px}.scene-banner p{font-size:8px}}

/* Codex, crawler registry and quest board visual stage */
.rpg-page{display:grid;gap:13px}.profile-crest,.quest-hero,.manual-hero{position:relative;overflow:hidden;padding:20px 17px;border:1px solid #a47a4d;border-radius:16px;background:radial-gradient(circle at 90% 5%,#a77bc433,transparent 38%),linear-gradient(145deg,#392744,#211629 58%,#120d18);box-shadow:inset 0 0 0 1px #f1d49a15,0 9px 24px #0004}.profile-crest{text-align:center}.profile-avatar{width:64px;height:64px;display:grid;place-items:center;margin:14px auto 9px;border:1px solid #b18a5a;border-radius:50%;background:linear-gradient(145deg,#59432d,#211629);color:#ffe0a0;font:36px Georgia,serif;box-shadow:0 0 0 6px #d4ad7012,0 7px 18px #0006}.profile-crest h1,.quest-hero h1,.manual-hero h1{margin:5px 0;color:#ffe0a0;font:700 clamp(24px,6vw,31px) Georgia,serif;overflow-wrap:anywhere}.profile-crest>p,.manual-hero>p,.quest-hero>p{color:#cbb9d5;font-size:9px;letter-spacing:.8px}.profile-level{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding:10px;border:1px solid #755d7d;border-radius:10px;background:#100b17aa;color:#c8b5d2;font-size:8px;font-weight:900}.profile-level strong{color:#ffe0a0;font:700 24px Georgia,serif}.profile-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.profile-stat-grid>div{min-width:0;padding:12px 5px;border:1px solid #695174;border-radius:11px;background:linear-gradient(145deg,#251a30,#120d18);text-align:center}.profile-stat-grid small{display:block;color:#bdaac8;font-size:7px;font-weight:900;letter-spacing:.5px}.profile-stat-grid b{display:block;margin-top:6px;color:#f3c56b;font-size:clamp(12px,3.7vw,17px);overflow-wrap:anywhere}.rpg-panel,.quest-section{padding:15px;border:1px solid #705276;border-radius:15px;background:linear-gradient(145deg,#281d32,#15101b);box-shadow:0 7px 18px #0003}.rpg-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.rpg-section-head h2{margin:4px 0 0;color:#ffe0a0;font:700 18px Georgia,serif}.rpg-section-head>span{flex:none;width:38px;height:38px;display:grid;place-items:center;border:1px solid #80638a;border-radius:11px;background:#352640;color:#f3c56b;font-size:19px}.muted-copy{color:#c2b2cb;font-size:9px;line-height:1.55}.identity-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.identity-options>div{min-width:0;padding:10px;border:1px solid #594365;border-radius:10px;background:#130e1a}.identity-options b{color:#e9c98d;font-size:8px;letter-spacing:.5px}.identity-options p{min-height:42px;color:#bdaec7;font-size:8px;line-height:1.4}.identity-options .action{width:100%;padding:9px 5px;font-size:8px}.profile-gear{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #594365}.profile-gear>span{flex:none;width:40px;height:40px;display:grid;place-items:center;border:1px solid #80638a;border-radius:10px;background:#352640;color:#f3c56b;font-size:20px}.profile-gear>div{flex:1;min-width:0}.profile-gear small,.profile-gear b,.profile-gear p{display:block}.profile-gear small{color:#bdaac8;font-size:7px;font-weight:900;letter-spacing:1px}.profile-gear b{margin:3px 0;color:#fff0d0;font-size:10px;overflow-wrap:anywhere}.profile-gear p{margin:0;color:#c2b2cb;font-size:8px}.profile-gear .action{padding:8px;font-size:8px}.potion-line{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #594365}.potion-line>span{font-size:20px}.potion-line b,.potion-line small{display:block}.potion-line b{color:#fff0d0;font-size:10px}.potion-line small{margin-top:3px;color:#c2b2cb;font-size:8px}.quest-hero{border-color:#a47a4d}.quest-hero h1{font-size:clamp(22px,5.8vw,29px)}.quest-progress{margin:14px 0 10px;padding:12px;border:1px solid #705276;border-radius:11px;background:#100b17aa}.quest-progress>div:first-child{display:flex;justify-content:space-between;color:#cbb9d5;font-size:8px;font-weight:900;letter-spacing:.8px}.quest-progress b{color:#ffe0a0;font-size:13px}.quest-progress small{display:block;margin-top:7px;color:#bdaec7;font-size:8px}.claimed-mark{padding:10px;border:1px solid #63866c;border-radius:9px;color:#b8efc9;font-size:9px;font-weight:900;text-align:center}.quest-section{padding:15px}.milestone-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #594365}.milestone-icon{flex:none;width:31px;height:31px;display:grid;place-items:center;border:1px solid #705276;border-radius:9px;background:#17111e;color:#c2b2cb}.milestone-row>div{flex:1;min-width:0}.milestone-row b,.milestone-row small{display:block}.milestone-row b{color:#f4e7d1;font-size:9px}.milestone-row small{margin-top:4px;color:#bdaec7;font-size:7px;line-height:1.4}.milestone-row>strong{flex:none;color:#bcaec6;font-size:7px;letter-spacing:.5px}.milestone-done .milestone-icon{border-color:#b5965c;color:#ffe0a0}.milestone-done>strong{color:#f3c56b}.manual-hero{padding:19px;border-color:#7786bd;background:radial-gradient(circle at 92% 8%,#7786bd44,transparent 38%),linear-gradient(145deg,#252b48,#171627 70%,#120d18)}.manual-hero h1{color:#d9ddff}.manual-sigil{float:right;width:45px;height:45px;display:grid;place-items:center;border:1px solid #7786bd;border-radius:13px;background:#303d68;color:#cbd4ff;font:25px Georgia,serif}.manual-section{border-color:#66729e}.manual-section .rpg-section-head>span{border-color:#7786bd;background:#252d4b;color:#cbd4ff}.manual-section .rpg-section-head h2{color:#d9ddff}.manual-entry{padding:10px 0;border-top:1px solid #4b5273}.manual-entry b{color:#cbd4ff;font-size:8px;letter-spacing:.7px}.manual-entry p{margin:5px 0 0;color:#c2b9d2;font-size:9px;line-height:1.55}.danger-action{border-color:#9b5555!important;color:#f2b4ae!important;margin-top:8px}.codex-footer{padding:12px;text-align:center;color:#a99ab1;font-size:7px;font-weight:900;letter-spacing:1.3px}@media(max-width:390px){.rpg-panel,.quest-section{padding:12px}.profile-crest,.quest-hero,.manual-hero{padding:16px 13px}.identity-options{gap:6px}.identity-options>div{padding:8px}.identity-options p{min-height:52px}.profile-stat-grid>div{padding:10px 3px}}

/* Immersive item inspection — rarity-driven relic presentation */
#detail{width:min(94vw,470px);max-height:min(88dvh,780px);padding:14px;border-color:#8b7091;background:radial-gradient(ellipse at 50% 0%,#4b315d 0,#24182f 43%,#130e19 100%);box-shadow:0 24px 80px #000b}
#detail .close{position:sticky;top:0;z-index:4;float:right;width:34px;height:34px;border:1px solid #755b80;border-radius:50%;background:#160f20;color:#f6dfb1;line-height:1}
#detail-body{clear:both}
.item-inspection{--inspect-accent:#a78ab7;--inspect-glow:#9a6bc4;position:relative;overflow:hidden;padding:5px 3px 3px}
.item-inspection.rarity-common{--inspect-accent:#b8b0c2;--inspect-glow:#93869f}
.item-inspection.rarity-uncommon{--inspect-accent:#8bc59b;--inspect-glow:#4c9b70}
.item-inspection.rarity-rare{--inspect-accent:#83b9ee;--inspect-glow:#397fc4}
.item-inspection.rarity-epic{--inspect-accent:#c39aef;--inspect-glow:#9053ce}
.item-inspection.rarity-legendary{--inspect-accent:#ffd27c;--inspect-glow:#dc8b32}
.item-inspection.rarity-mythic{--inspect-accent:#ff9bc9;--inspect-glow:#d64d9b}
.inspect-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 4px 9px;border-bottom:1px solid color-mix(in srgb,var(--inspect-accent),transparent 65%)}
.inspect-rarity,.inspect-type{font-size:8px;font-weight:950;letter-spacing:1.4px;text-transform:uppercase;color:var(--inspect-accent)}
.inspect-type{color:#bcaec9}
.inspect-art{position:relative;isolation:isolate;min-height:160px;margin:12px 0 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;overflow:hidden;border:1px solid color-mix(in srgb,var(--inspect-accent),transparent 55%);border-radius:17px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--inspect-glow),transparent 70%),transparent 62%),linear-gradient(145deg,#30213b,#17101f 70%);box-shadow:inset 0 0 32px color-mix(in srgb,var(--inspect-glow),transparent 82%),0 8px 22px #0005}
.inspect-art:before,.inspect-art:after{content:"";position:absolute;z-index:-1;width:180px;height:180px;border:1px solid color-mix(in srgb,var(--inspect-accent),transparent 75%);transform:rotate(45deg);border-radius:28px}
.inspect-art:after{width:125px;height:125px;transform:rotate(22.5deg);border-style:dashed}
.inspect-art-glow{position:absolute;width:115px;height:115px;border-radius:50%;background:var(--inspect-glow);opacity:.12;filter:blur(24px)}
.inspect-art>span{font-size:clamp(54px,16vw,76px);line-height:1.1;filter:drop-shadow(0 5px 10px #0009)}
.inspect-art>small{color:var(--inspect-accent);font-size:7px;font-weight:900;letter-spacing:2px}
.inspect-heading{text-align:center;padding:0 8px}
.inspect-heading .eyebrow{color:var(--inspect-accent);font-size:8px;letter-spacing:1.5px}
.inspect-heading h2{margin:6px 0 7px;color:#fff0d0;font:700 clamp(21px,6vw,27px) Georgia,serif;line-height:1.15;overflow-wrap:anywhere}
.inspect-heading p{margin:0;color:#d0c2d8;font-size:10px;line-height:1.55}
.inspect-narrator{position:relative;margin:14px 0;padding:12px 13px 13px;border:1px solid #665071;border-left:3px solid var(--inspect-accent);border-radius:11px;background:#100b17a8;color:#e2d5e9;font-size:10px;line-height:1.6}
.inspect-narrator span{display:block;margin-bottom:5px;color:var(--inspect-accent);font-size:7px;font-weight:950;letter-spacing:1.4px}
.inspect-effects,.inspect-details{margin-top:12px;padding:12px;border:1px solid #5d486b;border-radius:12px;background:linear-gradient(145deg,#261b30,#17111f)}
.inspect-kicker{margin-bottom:9px;color:#d9b77b;font-size:8px;font-weight:950;letter-spacing:1.4px}
.inspect-effect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.inspect-effect-grid>div{padding:9px;border:1px solid #574264;border-radius:9px;background:#100b17}
.inspect-effect-grid small,.inspect-effect-grid b{display:block}
.inspect-effect-grid small{color:#bcaec8;font-size:7px;font-weight:900;letter-spacing:.7px}
.inspect-effect-grid b{margin-top:5px;color:var(--inspect-accent);font:700 18px Georgia,serif}
.inspect-meta-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #51405d}
.inspect-meta-line:last-child{border-bottom:0}
.inspect-meta-line>span{color:#b9a9c5;font-size:7px;font-weight:950;letter-spacing:.8px}
.inspect-meta-line>b{color:#f2dfb9;font-size:9px;text-align:right}
.inspect-owned,.inspect-unowned{color:#a8e0b8;font-size:8px;font-weight:950;letter-spacing:.6px}
.inspect-unowned{color:#e7b3a0}
.inspect-equipped{margin-top:9px;padding:8px;border:1px solid #8b7046;border-radius:8px;background:#4b351b55;color:#ffdc91;font-size:8px;font-weight:950;text-align:center;letter-spacing:1px}
.inspect-actions{display:grid;gap:8px;margin-top:13px}
.inspect-actions .action{width:100%;min-height:42px;font-size:9px;letter-spacing:.5px}
.inspect-actions .action:not(.primary){background:#21172a}
@media(max-width:390px){#detail{padding:11px}.inspect-art{min-height:142px}.inspect-narrator{font-size:9px}.inspect-effects,.inspect-details{padding:10px}}

/* Crawler Vault and Warden Armory — equipment-first presentation */
.vault-overview,.vault-equipped-strip,.armory-hero,.armory-loadout,.armory-bonus-panel,.armory-relic-panel{border:1px solid #695174;border-radius:16px;background:linear-gradient(145deg,#2b2035,#17111f);box-shadow:inset 0 1px #ffffff08,0 10px 24px #0003}
.vault-overview{padding:15px;margin:8px 0 12px;background:radial-gradient(ellipse at 100% 0%,#70503b44,transparent 55%),linear-gradient(145deg,#34263a,#17111f)}
.vault-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.vault-title h2,.armory-hero h2{font:700 21px Georgia,serif;color:#ffe3ad;margin:5px 0}.vault-title p,.armory-hero p{font-size:10px;line-height:1.5;color:#c6b6ce;margin:0;max-width:330px}
.vault-chest-mark{width:58px;height:58px;flex:none;display:grid;place-items:center;border:1px solid #a47b50;border-radius:14px;background:linear-gradient(145deg,#765032,#332039);color:#ffda91;font-size:34px;text-shadow:0 4px 10px #000}
.vault-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px}
.vault-stat-row>div{padding:9px 4px;border:1px solid #59445f;border-radius:9px;background:#100b17a8;text-align:center;min-width:0}
.vault-stat-row b,.vault-stat-row small{display:block}.vault-stat-row b{font:700 18px Georgia,serif;color:#ffdf9e}.vault-stat-row small{margin-top:4px;color:#bcaec8;font-size:6px;font-weight:950;letter-spacing:.5px;overflow-wrap:anywhere}
.vault-equipped-strip{padding:11px;margin-bottom:13px;background:linear-gradient(110deg,#24182f,#17111e)}
.vault-strip-head,.vault-section-head,.armory-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.vault-strip-head>span,.vault-strip-head{color:#d9bd8c;font-size:8px;font-weight:950;letter-spacing:1.2px}
.vault-strip-head button{border:0;background:none;color:#c6a0df;font-size:7px;font-weight:900}
.vault-mini-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
.vault-mini-slot{min-width:0;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid #5b4568;border-radius:10px;background:linear-gradient(145deg,#392744,#1b1423);color:#f7e8c9}
.vault-mini-slot>span{font-size:22px}.vault-mini-slot small{font-size:6px;color:#c9a8df;font-weight:950;letter-spacing:.7px}.vault-mini-slot b{width:100%;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vault-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 0 9px;scrollbar-width:none}.vault-filters .pill{flex:none;font-size:8px}
.vault-section-head{margin:12px 1px 8px}.vault-section-head h3{margin:3px 0 0;color:#ffe3ad;font:700 15px Georgia,serif}.vault-section-head>small{font-size:7px;color:#bdaec7;font-weight:900}
.loot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.loot-card{--loot-accent:#a9a0b5;--loot-glow:#8c7c9e;position:relative;min-width:0;min-height:174px;padding:9px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;overflow:hidden;border:1px solid color-mix(in srgb,var(--loot-accent),transparent 45%);border-radius:13px;background:linear-gradient(155deg,#30243a,#17111f 75%);color:#f6e8ce;text-align:center}
.loot-card.rarity-common{--loot-accent:#b8b0c2;--loot-glow:#93869f}.loot-card.rarity-uncommon{--loot-accent:#8bc59b;--loot-glow:#4c9b70}.loot-card.rarity-rare{--loot-accent:#83b9ee;--loot-glow:#397fc4}.loot-card.rarity-epic{--loot-accent:#c39aef;--loot-glow:#9053ce}.loot-card.rarity-legendary{--loot-accent:#ffd27c;--loot-glow:#dc8b32}.loot-card.rarity-mythic{--loot-accent:#ff9bc9;--loot-glow:#d64d9b}
.loot-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--loot-accent);box-shadow:0 0 12px var(--loot-glow)}
.loot-card.is-equipped{box-shadow:inset 0 0 0 1px var(--loot-accent),inset 0 0 26px color-mix(in srgb,var(--loot-glow),transparent 83%)}
.loot-rarity{align-self:flex-start;color:var(--loot-accent);font-size:7px;font-weight:950;letter-spacing:1px;text-transform:uppercase}
.loot-art{position:relative;width:78px;height:74px;display:grid;place-items:center;isolation:isolate}
.loot-art i{position:absolute;z-index:-1;width:55px;height:55px;border:1px solid color-mix(in srgb,var(--loot-accent),transparent 65%);border-radius:18px;transform:rotate(45deg);background:radial-gradient(circle,var(--loot-glow),transparent 70%);opacity:.5}
.loot-art b{font-size:39px;filter:drop-shadow(0 5px 7px #0009)}
.loot-name{width:100%;font:700 12px Georgia,serif;line-height:1.2;color:#fff0d0;overflow-wrap:anywhere}
.loot-kind{font-size:7px;color:#b9a9c6;font-weight:900;letter-spacing:.8px}
.loot-foot{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:auto}.loot-foot small{font-size:7px;color:#d6c5dc}
.loot-equipped{position:absolute;top:8px;right:7px;padding:3px 5px;border-radius:5px;background:#d4a64e;color:#1b1117;font-size:6px;font-weight:950;letter-spacing:.5px}
.relic-loot{background:linear-gradient(155deg,#263449,#17111f 78%)}
.vault-empty{margin-top:8px}
.vault-materials{margin-top:17px;padding:11px;border:1px solid #5d4868;border-radius:13px;background:#1a1322}
.vault-materials .material-grid{margin-top:8px}
.armory-hero{position:relative;overflow:hidden;margin:8px 0 12px;padding:16px;background:radial-gradient(ellipse at 100% 0%,#b57c3b38,transparent 50%),linear-gradient(145deg,#30233c,#17111f)}
.armory-hero-copy{position:relative;z-index:1;max-width:78%}.armory-hero h2{font-size:22px}.armory-crest{position:absolute;right:14px;top:14px;width:64px;height:64px;display:grid;place-items:center;border:1px solid #9b774f;border-radius:50%;background:#1a1324;color:#f6cf84;font-size:37px;text-shadow:0 3px 12px #d48e3b66}
.armory-power{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:15px}.armory-power>div{padding:8px 3px;border:1px solid #604b67;border-radius:9px;background:#100b17a8;text-align:center;min-width:0}.armory-power b,.armory-power small{display:block}.armory-power b{font:700 17px Georgia,serif;color:#ffdc98}.armory-power small{margin-top:3px;color:#c0afc9;font-size:6px;font-weight:950;letter-spacing:.3px}
.armory-loadout,.armory-bonus-panel,.armory-relic-panel{padding:12px;margin:10px 0}
.armory-section-title .eyebrow{font-size:7px}.armory-section-title h3{margin:3px 0 0;color:#ffe2ae;font:700 14px Georgia,serif}.armory-section-title>span{color:#c6a5dc;font-size:7px;font-weight:950;letter-spacing:.7px}
.armory-item{--armory-accent:#a9a0b5;position:relative;display:grid;grid-template-columns:66px minmax(0,1fr);gap:10px;margin-top:10px;padding:11px;border:1px solid #695174;border-radius:12px;background:linear-gradient(145deg,#2b2035,#17111f)}
.armory-item.rarity-rare{--armory-accent:#83b9ee;border-color:#527ca6}.armory-item.rarity-epic{--armory-accent:#c39aef;border-color:#8c64b5}.armory-item.rarity-legendary{--armory-accent:#ffd27c;border-color:#aa8043}.armory-item.rarity-mythic{--armory-accent:#ff9bc9;border-color:#ad5e8a}.armory-item.is-empty{border-style:dashed;opacity:.8}
.armory-slot-label{grid-column:1/-1;color:#d5b47f;font-size:7px;font-weight:950;letter-spacing:1.2px}
.armory-item-art{position:relative;display:grid;place-items:center;min-height:75px;border:1px solid color-mix(in srgb,var(--armory-accent),transparent 60%);border-radius:10px;background:radial-gradient(circle,color-mix(in srgb,var(--armory-accent),transparent 75%),transparent 70%),#17111f}
.armory-item-art:before{content:"";position:absolute;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--armory-accent),transparent 60%);transform:rotate(45deg);border-radius:12px}
.armory-item-art b{font-size:34px;filter:drop-shadow(0 4px 6px #0009)}
.armory-item-info{min-width:0;align-self:center}.armory-item-info>small{color:var(--armory-accent);font-size:7px;font-weight:950;letter-spacing:.8px}.armory-item-info h3{margin:4px 0;color:#fff0d0;font:700 14px Georgia,serif;overflow-wrap:anywhere}.armory-item-info p{margin:0;color:#c6b7d0;font-size:8px;line-height:1.5;overflow-wrap:anywhere}
.armory-upgrade{margin-top:7px;color:#d6b77f;font-size:7px;font-weight:900}.armory-upgrade b{color:#ffe0a0}
.armory-item-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.armory-item-actions .action{min-height:36px}.armory-item-actions .action.primary{grid-column:1/-1}
.armory-set-bonus{margin-top:10px;padding:10px;border:1px solid #aa8043;border-radius:10px;background:#4b351b55;text-align:center}.armory-set-bonus span,.armory-set-bonus b,.armory-set-bonus small{display:block}.armory-set-bonus span{color:#ffdc98;font-size:8px;font-weight:950;letter-spacing:1px}.armory-set-bonus b{margin:5px 0;color:#fff0d0;font-size:12px}.armory-set-bonus small{color:#d5c1a1;font-size:8px}
.armory-bonus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.armory-bonus-grid>div{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:5px;padding:9px;border:1px solid #5b4568;border-radius:9px;background:#100b17}.armory-bonus-grid span{font-size:16px}.armory-bonus-grid small{color:#c5b2d0;font-size:7px;font-weight:900}.armory-bonus-grid b{color:#ffdc98;font:700 14px Georgia,serif}.armory-bonus-panel>p{font-size:8px;line-height:1.5;color:#bdaec7;margin:9px 2px 0}
.armory-relic-grid{display:grid;gap:7px;margin-top:10px}.armory-relic{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #594a70;border-radius:10px;background:linear-gradient(100deg,#2c2440,#17111f);color:#f7e7c9;text-align:left}.armory-relic>span{font-size:23px}.armory-relic>div{flex:1;min-width:0}.armory-relic b,.armory-relic small{display:block}.armory-relic b{font-size:9px}.armory-relic small{margin-top:3px;color:#c0a7d6;font-size:7px}.armory-relic i{font-style:normal;color:#d9b77b}
@media(min-width:560px){.loot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.armory-item{grid-template-columns:76px minmax(0,1fr) auto}.armory-slot-label{grid-column:1/-1}.armory-item-actions{grid-column:3;grid-row:2;grid-template-columns:1fr;align-content:center}.armory-item-actions .action.primary{grid-column:auto}}

.game-art{display:block;width:100%;height:100%;max-width:64px;max-height:64px;object-fit:contain;filter:drop-shadow(0 4px 8px #0009)}
.item-icon .game-art{width:46px;height:46px;max-width:none;max-height:none}
.loot-art .game-art{width:72px;height:72px;max-width:none;max-height:none}
.vault-mini-slot .game-art{width:36px;height:36px;max-width:none;max-height:none}
.armory-item-art .game-art{width:64px;height:64px;max-width:none;max-height:none}
.armory-relic .game-art{width:38px;height:38px;max-width:none;max-height:none}
.inspect-art>.game-art{width:112px;height:112px;max-width:none;max-height:none}
.profile-gear .game-art{width:38px;height:38px;max-width:none;max-height:none}

/* Companion Sanctuary: party-member presentation */
.companion-sanctuary{padding:18px;border:1px solid #71558b;border-radius:16px;background:radial-gradient(ellipse at 85% 0%,#56316c88,transparent 55%),linear-gradient(135deg,#24182f,#110d18);margin-bottom:12px}
.companion-sanctuary h2{font:700 23px Georgia,serif;color:#ffe2ad;margin:6px 0}.companion-sanctuary p{font-size:11px;line-height:1.6;color:#c9b7d4;margin:0}
.companion-showcase{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:center;padding:15px;border:1px solid var(--rarity-color,#8b65b2);border-radius:16px;background:radial-gradient(ellipse at 12% 35%,color-mix(in srgb,var(--rarity-color,#8b65b2),transparent 72%),transparent 62%),linear-gradient(145deg,#251b30,#100d17);box-shadow:inset 0 0 28px #0006,0 8px 24px #0003;margin-bottom:18px}
.companion-showcase.rarity-common,.companion-roster-card.rarity-common{--rarity-color:#b9b1c5}.companion-showcase.rarity-uncommon,.companion-roster-card.rarity-uncommon{--rarity-color:#8bd59a}.companion-showcase.rarity-rare,.companion-roster-card.rarity-rare{--rarity-color:#7dbbfa}.companion-showcase.rarity-epic,.companion-roster-card.rarity-epic{--rarity-color:#c18cf3}.companion-showcase.rarity-legendary,.companion-roster-card.rarity-legendary{--rarity-color:#edbd69}.companion-showcase.rarity-mythic,.companion-roster-card.rarity-mythic{--rarity-color:#ed8cbd}
.companion-showcase-art{display:grid;place-items:center;min-height:112px;border-radius:14px;background:radial-gradient(circle,color-mix(in srgb,var(--rarity-color,#8b65b2),transparent 65%),transparent 72%),#100b17;border:1px solid color-mix(in srgb,var(--rarity-color,#8b65b2),transparent 40%)}
.companion-showcase-art .game-art{width:106px;height:106px;max-width:none;max-height:none;filter:drop-shadow(0 8px 10px #000b)}
.companion-showcase-info{min-width:0}.companion-showcase-info h3{font:700 19px Georgia,serif;color:#fff0d0;margin:5px 0}.companion-showcase-info>p{font-size:10px;line-height:1.5;color:#c8b9d2;margin:0 0 8px}
.companion-stage{display:flex;justify-content:space-between;gap:5px;color:var(--rarity-color);font-size:8px;font-weight:950;letter-spacing:.7px}.companion-stage span{color:#e5d3b5}
.companion-xp{margin:9px 0}.companion-xp>div:first-child{display:flex;justify-content:space-between;gap:5px;color:#bdaec9;font-size:7px}.companion-xp>div:first-child b{color:#ffdfa2}.companion-xp .bar{height:7px;margin:5px 0;background:#09070d;border:1px solid #4d3b59;border-radius:10px;overflow:hidden}.companion-xp .bar span{display:block;height:100%;background:linear-gradient(90deg,#7952b4,#e3b5ff);border-radius:10px}.companion-xp small{font-size:7px;color:#a99ab5}
.companion-ability{padding:8px;margin:8px 0;border:1px solid #654b79;border-radius:9px;background:#0e0a15}.companion-ability span,.companion-ability b{display:block}.companion-ability span{font-size:7px;color:#c39bdf;letter-spacing:.8px}.companion-ability b{font-size:9px;color:#f6e2bd;margin-top:4px}
.companion-showcase .action{min-height:34px;font-size:8px}.companion-empty{grid-template-columns:100px 1fr}.companion-empty h3{font:700 17px Georgia,serif;color:#ffe5b6;margin:5px 0}.companion-empty p{font-size:10px;color:#c6b5d1;line-height:1.5}
.companion-roster-heading{display:flex;justify-content:space-between;align-items:end;gap:8px;margin:18px 0 9px}.companion-roster-heading h3{font:700 15px Georgia,serif;color:#f5dfb7;margin:4px 0}.companion-roster-heading>span{font-size:7px;color:#bba7c9;font-weight:900}
.companion-roster{display:grid;gap:9px}.companion-roster-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px;border:1px solid color-mix(in srgb,var(--rarity-color,#8b65b2),transparent 38%);border-radius:13px;background:linear-gradient(120deg,color-mix(in srgb,var(--rarity-color,#8b65b2),transparent 88%),#15101d 60%)}.companion-roster-card.is-active{box-shadow:inset 0 0 0 1px var(--rarity-color),0 0 16px color-mix(in srgb,var(--rarity-color),transparent 85%)}
.companion-roster-art{display:grid;place-items:center;min-height:76px;border-radius:10px;background:radial-gradient(circle,color-mix(in srgb,var(--rarity-color),transparent 66%),transparent 70%),#0d0913}.companion-roster-art .game-art{width:70px;height:70px;max-width:none;max-height:none}
.companion-roster-copy{min-width:0}.companion-roster-copy>small{font-size:7px;font-weight:950;color:var(--rarity-color);letter-spacing:.7px}.companion-roster-copy h4{margin:3px 0;color:#fff0d4;font:700 13px Georgia,serif}.companion-roster-copy p{margin:0 0 5px;font-size:8px;line-height:1.45;color:#bfb0ca}.companion-roster-copy>b{font-size:7px;color:#e6c98e;letter-spacing:.7px}
.companion-roster-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.companion-roster-actions .action{min-height:34px;font-size:8px}
.companion-evolution-guide{padding:13px;margin-top:16px;border:1px solid #59436c;border-radius:13px;background:#171020}.companion-evolution-steps{display:flex;align-items:center;justify-content:space-between;gap:3px;margin:12px 0}.companion-evolution-steps span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:6px;font-weight:950;color:#756982;text-align:center}.companion-evolution-steps span.reached{color:#f3d39a}.companion-evolution-steps small{font-size:7px;color:#a99ab5}.companion-evolution-steps i{height:1px;flex:1;background:#5b456d}.companion-evolution-guide>p{font-size:8px;line-height:1.5;color:#b9a9c5;margin:0}
@media(max-width:390px){.companion-showcase{grid-template-columns:88px minmax(0,1fr);gap:9px;padding:10px}.companion-showcase-art .game-art{width:82px;height:82px}.companion-roster-card{grid-template-columns:64px minmax(0,1fr)}}

/* Larger, detailed equipment illustrations */
.item-icon .game-art{width:54px;height:54px}
.armory-item-art .game-art{width:82px;height:82px}
.inspect-art .game-art{width:132px;height:132px;max-width:none;max-height:none;filter:drop-shadow(0 0 12px #c69cff77) drop-shadow(0 8px 9px #000b)}
.loot-art .game-art{width:78px;height:78px;max-width:none;max-height:none}
.game-art.art-sword,.game-art.art-axe,.game-art.art-dagger,.game-art.art-doomblade{filter:drop-shadow(0 0 7px #e7c48c55) drop-shadow(0 5px 6px #000b)}

.material-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:112px;padding:9px 5px}
.material-chip .material-art{display:grid;place-items:center;width:58px;height:58px;border-radius:12px;background:radial-gradient(circle,#a77bdb33,transparent 72%)}
.material-chip .material-art .game-art{width:58px;height:58px;max-width:none;max-height:none}
.material-chip b{font-size:15px;color:#ffe0a3}.material-chip small{font-size:8px;letter-spacing:.7px}
.game-art.art-potion{filter:drop-shadow(0 0 8px #9acbff66) drop-shadow(0 5px 7px #000b)}
.inspect-art .game-art.art-potion{width:142px;height:142px}

/* Relic Archive collection redesign */
.relic-archive-hero{position:relative;overflow:hidden;padding:20px;border:1px solid #8062a0;border-radius:17px;background:radial-gradient(ellipse at 82% 8%,#7646a066,transparent 55%),linear-gradient(135deg,#26172f,#100c17);margin-bottom:14px}
.relic-archive-hero:after{content:"";position:absolute;right:-24px;top:8px;width:150px;height:150px;border:1px solid #d6a7ff33;border-radius:50%;box-shadow:0 0 0 16px #d6a7ff0b,0 0 0 32px #d6a7ff08}
.relic-archive-hero h2{font:700 25px Georgia,serif;color:#f8dfb6;margin:7px 0}.relic-archive-hero p{max-width:340px;font-size:10px;line-height:1.6;color:#c9b6d3;margin:0}
.relic-archive-progress{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin-top:18px}.relic-archive-progress b,.relic-archive-progress small{display:block}.relic-archive-progress b{font:700 20px Georgia,serif;color:#ffe1a5}.relic-archive-progress small{font-size:7px;color:#b9a6c7;letter-spacing:.7px}.relic-archive-progress .bar{height:8px;background:#09070d;border:1px solid #5d456f;border-radius:20px;overflow:hidden}.relic-archive-progress .bar span{display:block;height:100%;background:linear-gradient(90deg,#8755b6,#f0c780)}
.relic-collection-grid{display:grid;gap:10px}.relic-collection-card{position:relative;display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--rarity-color,#8062a0);border-radius:14px;background:linear-gradient(115deg,color-mix(in srgb,var(--rarity-color,#8062a0),transparent 88%),#15101c 65%)}.relic-collection-card .relic-card-art{display:grid;place-items:center;min-height:94px;border-radius:12px;background:radial-gradient(circle,color-mix(in srgb,var(--rarity-color,#8062a0),transparent 68%),transparent 72%),#0e0a14}.relic-card-art .game-art{width:88px;height:88px;max-width:none;max-height:none}.relic-card-copy{min-width:0}.relic-card-copy>small{font-size:7px;color:var(--rarity-color);font-weight:950;letter-spacing:.7px}.relic-card-copy h3{font:700 14px Georgia,serif;color:#ffe9c4;margin:5px 0}.relic-card-copy p{font-size:9px;line-height:1.5;color:#c0b2ca;margin:0 0 6px}.relic-bonus-line{font-size:8px;color:#e9c987;font-weight:900;letter-spacing:.4px}.relic-status{position:absolute;right:10px;top:8px;font-size:13px;color:var(--rarity-color)}.relic-collection-card.is-hidden{filter:saturate(.5);opacity:.72}
.relic-collection-card.rarity-common{--rarity-color:#b9b1c5}.relic-collection-card.rarity-uncommon{--rarity-color:#8bd59a}.relic-collection-card.rarity-rare{--rarity-color:#7dbbfa}.relic-collection-card.rarity-epic{--rarity-color:#c18cf3}.relic-collection-card.rarity-legendary{--rarity-color:#edbd69}.relic-collection-card.rarity-mythic{--rarity-color:#ed8cbd}
/* Base of Operations headquarters */
.base-of-operations{padding-bottom:14px}.base-hero{position:relative;overflow:hidden;padding:22px 17px 15px;border:1px solid #76568f;border-radius:18px;background:radial-gradient(ellipse at 82% 0%,#70448d77,transparent 52%),linear-gradient(145deg,#26182f,#100c17);box-shadow:inset 0 0 35px #0007,0 10px 25px #0003}
.base-hero-art{position:absolute;right:9px;top:8px;opacity:.9}.base-hero-art .game-art{width:112px;height:112px;max-width:none;max-height:none;filter:drop-shadow(0 0 13px #d3a4ff77)}
.base-hero>.eyebrow{position:relative;z-index:1;max-width:75%;font-size:8px;letter-spacing:1px;color:#d7b8ed}.base-hero h1{position:relative;z-index:1;max-width:80%;font:700 clamp(25px,6vw,34px) Georgia,serif;letter-spacing:.5px;color:#ffe5b8;margin:10px 0 7px;text-shadow:0 3px 12px #0009}.base-hero>p{position:relative;z-index:1;max-width:82%;font-size:10px;line-height:1.65;color:#cbb9d4;margin:0}
.base-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:20px;padding-top:12px;border-top:1px solid #ffffff20}.base-status-strip>div{min-width:0}.base-status-strip b,.base-status-strip small{display:block}.base-status-strip b{font:700 13px Georgia,serif;color:#ffe1a5;white-space:nowrap}.base-status-strip small{margin-top:4px;font-size:6px;color:#bca9c9;letter-spacing:.5px;line-height:1.3}
.base-section-heading{display:flex;justify-content:space-between;align-items:end;gap:8px;margin:20px 2px 11px}.base-section-heading h2{font:700 18px Georgia,serif;color:#f8e1bc;margin:4px 0}.base-section-heading p{font-size:9px;color:#bcaec6;margin:0}.base-section-heading>span{font-size:7px;color:#d7b5e8;font-weight:950;white-space:nowrap}
.base-district-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.base-district-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-width:0;padding:0;overflow:hidden;border:1px solid #59456c;border-radius:14px;background:linear-gradient(155deg,#241a2d,#100c16);color:inherit;box-shadow:0 5px 14px #0004;transition:transform .15s,border-color .15s}
.base-district-card:active{transform:scale(.98);border-color:#c59be0}
.district-art{display:grid;place-items:center;min-height:110px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 90%,#8d5eb544,transparent 65%),linear-gradient(145deg,#342342,#171020);border-bottom:1px solid #ffffff14}.district-art:before{content:"";position:absolute;width:100px;height:100px;border:1px solid #e6c6ff26;transform:rotate(45deg);border-radius:18px}.district-art .game-art{position:relative;z-index:1;width:104px;height:104px;max-width:none;max-height:none;filter:drop-shadow(0 0 10px #c69be477) drop-shadow(0 6px 6px #000a)}
.district-shop .district-art{background:radial-gradient(ellipse at 50% 90%,#a77a3c55,transparent 65%),linear-gradient(145deg,#382b23,#171020)}.district-forge .district-art{background:radial-gradient(ellipse at 50% 90%,#d45c2b66,transparent 65%),linear-gradient(145deg,#40231f,#171020)}.district-alchemy .district-art{background:radial-gradient(ellipse at 50% 90%,#62b88c55,transparent 65%),linear-gradient(145deg,#1e3a32,#171020)}.district-pets .district-art{background:radial-gradient(ellipse at 50% 90%,#9dbb6b55,transparent 65%),linear-gradient(145deg,#30402c,#171020)}.district-relics .district-art{background:radial-gradient(ellipse at 50% 90%,#6b9dd955,transparent 65%),linear-gradient(145deg,#202c47,#171020)}.district-armory .district-art{background:radial-gradient(ellipse at 50% 90%,#9baec955,transparent 65%),linear-gradient(145deg,#29313d,#171020)}.district-rewards .district-art{background:radial-gradient(ellipse at 50% 90%,#e2b75b55,transparent 65%),linear-gradient(145deg,#49351f,#171020)}
.district-card-copy{padding:10px;display:flex;flex-direction:column;flex:1}.district-card-copy>small{font-size:6px;letter-spacing:.8px;color:#c9a5e1;font-weight:950}.district-card-copy h3{font:700 13px Georgia,serif;color:#ffe5bf;margin:5px 0}.district-card-copy p{font-size:8px;line-height:1.5;color:#b9a9c4;margin:0 0 10px;flex:1}.district-card-copy>span{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #ffffff18;font-size:7px;letter-spacing:.7px;color:#e4c48e;font-weight:950}.district-card-copy>span b{font-size:13px}
.base-command-note{margin-top:14px;padding:12px 14px;border:1px solid #59436c;border-radius:12px;background:linear-gradient(110deg,#20152a,#120e18)}.base-command-note p{font:italic 11px Georgia,serif;line-height:1.6;color:#d4c0de;margin:6px 0 0}
@media(max-width:360px){.base-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.base-hero-art .game-art{width:90px;height:90px}.base-hero>.eyebrow{max-width:100%}.base-hero h1{max-width:100%;font-size:25px}}

/* Immersive facility environments */
.district-environment{position:relative;isolation:isolate;display:flex;align-items:center;min-height:166px;overflow:hidden;padding:17px 15px;margin-bottom:14px;border:1px solid var(--district-edge,#8062a0);border-radius:17px;background:linear-gradient(110deg,var(--district-bg1,#30213b),var(--district-bg2,#100c17) 75%);box-shadow:inset 0 0 34px #0008,0 9px 22px #0004}
.district-environment:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 80% 50%,var(--district-glow,#8e62b9) 0,transparent 58%),linear-gradient(90deg,#0d0914bb,transparent 80%)}
.district-environment:after{content:"";position:absolute;z-index:-1;right:-25px;top:-55px;width:205px;height:205px;border:1px solid color-mix(in srgb,var(--district-edge,#8062a0),transparent 55%);border-radius:50%;box-shadow:0 0 0 16px #ffffff08,0 0 0 34px #ffffff05,0 0 30px var(--district-glow,#8e62b9)}
.district-environment-art{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:142px;height:142px;display:grid;place-items:center;opacity:.9}
.district-environment-art .game-art{width:140px;height:140px;max-width:none;max-height:none;filter:drop-shadow(0 0 13px var(--district-glow,#8e62b9)) drop-shadow(0 9px 9px #000b)}
.district-environment-copy{position:relative;z-index:1;max-width:72%}
.district-environment-copy .eyebrow{font-size:7px;letter-spacing:1px;color:var(--district-edge,#d1a7ed)}
.district-environment-copy h2{font:700 clamp(19px,5vw,25px) Georgia,serif;color:#ffebc9;line-height:1.12;margin:8px 0;text-shadow:0 3px 12px #000b}
.district-environment-copy p{font-size:9px;color:#ead7ef;margin:0 0 6px;line-height:1.45}
.district-environment-copy small{display:block;max-width:245px;font-size:8px;color:#c8b8d2;line-height:1.5}
.district-environment-lights{position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,var(--district-edge,#b68be0),transparent);opacity:.8}
.scene-bag .district-environment{--district-bg1:#49351f;--district-bg2:#171019;--district-edge:#e3b86f;--district-glow:#a76b2d88}
.scene-shop .district-environment{--district-bg1:#44301f;--district-bg2:#171019;--district-edge:#e6b86c;--district-glow:#c08a3c88}
.scene-forge .district-environment{--district-bg1:#4b211b;--district-bg2:#160d12;--district-edge:#f18b4c;--district-glow:#e3542788}
.scene-alchemy .district-environment{--district-bg1:#1d4135;--district-bg2:#0c1517;--district-edge:#8bd7ad;--district-glow:#4ab98b88}
.scene-pets .district-environment{--district-bg1:#35432a;--district-bg2:#101610;--district-edge:#c4d68b;--district-glow:#87b86c88}
.scene-relics .district-environment{--district-bg1:#252e4d;--district-bg2:#100d1b;--district-edge:#9bc6ff;--district-glow:#668de088}
.scene-armory .district-environment{--district-bg1:#303b4b;--district-bg2:#11121a;--district-edge:#b6c9e1;--district-glow:#809ab888}
.scene-rewards .district-environment{--district-bg1:#4a361d;--district-bg2:#171019;--district-edge:#f1d28b;--district-glow:#c9963f88}
.district-environment .game-art{animation:district-art-float 5s ease-in-out infinite}
@keyframes district-art-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:360px){.district-environment{min-height:150px;padding:13px 11px}.district-environment-art{right:-7px;width:120px;height:120px}.district-environment-art .game-art{width:118px;height:118px}.district-environment-copy{max-width:76%}.district-environment-copy h2{font-size:19px}}

/* Detailed district interiors: architecture, furnishings and resident keepers */
.facility-interior{position:relative;margin:0 0 16px;padding:0;border:1px solid #655174;border-radius:16px;overflow:hidden;background:#100c16;box-shadow:inset 0 0 25px #000b,0 8px 22px #0005}
.interior-architecture{height:190px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,var(--room-wall-a,#38243f),var(--room-wall-b,#17101e) 70%,#0d0a12)}
.interior-architecture:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 48px,#ffffff08 49px 50px),linear-gradient(180deg,#fff1 0,transparent 35%,#0004 100%);z-index:-1}
.interior-architecture:after{content:"";position:absolute;left:0;right:0;bottom:0;height:47px;background:repeating-linear-gradient(90deg,#251a2b 0 48px,#3b2a3d 49px 51px);border-top:2px solid var(--room-edge,#a783c5);box-shadow:0 -8px 20px #0008;z-index:-1}
.interior-arch{position:absolute;top:13px;width:43px;height:132px;border:5px solid color-mix(in srgb,var(--room-edge,#a783c5),#24162d 42%);border-bottom:0;border-radius:45px 45px 0 0;opacity:.48}
.arch-left{left:8px}.arch-right{right:8px}
.interior-window{position:absolute;left:50%;top:13px;transform:translateX(-50%);width:86px;height:108px;border:4px solid var(--room-edge,#a783c5);border-radius:48px 48px 5px 5px;background:radial-gradient(ellipse at 50% 65%,var(--room-glow,#9e70c8),transparent 65%),linear-gradient(180deg,#100c1d,#312044);box-shadow:0 0 20px var(--room-glow,#9e70c8),inset 0 0 18px #000b;opacity:.78}
.interior-window:before,.interior-window:after{content:"";position:absolute;background:var(--room-edge,#a783c5);opacity:.5}.interior-window:before{left:50%;top:0;bottom:0;width:2px}.interior-window:after{left:0;right:0;top:58%;height:2px}
.interior-light{position:absolute;width:48px;height:60px;top:52px;border-radius:50%;background:var(--room-glow,#9e70c8);filter:blur(25px);opacity:.7}.interior-light-a{left:15%}.interior-light-b{right:15%}
.interior-props{position:absolute;z-index:2;left:4%;right:4%;bottom:31px;display:flex;align-items:end;justify-content:space-between;gap:9px}
.interior-prop{width:27%;min-width:0;height:83px;display:flex;flex-direction:column;align-items:center;justify-content:end;position:relative;padding:5px 3px 0;background:linear-gradient(180deg,#30233b,#18121e);border:1px solid color-mix(in srgb,var(--room-edge,#a783c5),transparent 35%);border-bottom:4px solid #604b61;border-radius:7px 7px 2px 2px;box-shadow:0 5px 9px #0009,inset 0 0 12px #0007}
.interior-prop:before{content:"";position:absolute;left:-4px;right:-4px;top:0;height:6px;background:var(--room-edge,#a783c5);border-radius:3px;box-shadow:0 0 10px var(--room-glow,#9e70c8)}
.prop-art{height:57px;display:grid;place-items:center;width:100%}.prop-art .game-art{width:57px;height:57px;max-width:none;max-height:none;filter:drop-shadow(0 0 8px var(--room-glow,#9e70c8))}
.interior-prop small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6px;letter-spacing:.45px;color:#e8d4ad;font-weight:950;text-align:center;padding:3px 0}
.interior-npc{position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);width:72px;height:120px;display:flex;align-items:center;justify-content:end;flex-direction:column;pointer-events:none}
.npc-halo{position:absolute;top:5px;width:66px;height:66px;border-radius:50%;background:var(--room-glow,#9e70c8);filter:blur(18px);opacity:.75}
.npc-portrait{position:relative;width:55px;height:94px;filter:drop-shadow(0 6px 5px #000b)}
.npc-hood{position:absolute;left:7px;top:2px;width:42px;height:43px;border-radius:24px 24px 13px 13px;background:linear-gradient(135deg,var(--room-edge,#a783c5),#24182b 70%);border:2px solid #e7d3b4;clip-path:polygon(50% 0,100% 35%,86% 100%,14% 100%,0 35%)}
.npc-face{position:absolute;left:17px;top:18px;width:22px;height:26px;border-radius:45% 45% 42% 42%;background:linear-gradient(145deg,#e7c29a,#8d5c4e);box-shadow:inset 0 -7px 0 #4b2e31}
.npc-body{position:absolute;left:2px;bottom:0;width:51px;height:54px;border-radius:20px 20px 5px 5px;background:linear-gradient(90deg,#17111e,var(--room-edge,#a783c5),#21152b);border:2px solid #d6bd9b;clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}
.npc-trim{position:absolute;left:25px;top:48px;width:5px;height:40px;background:#f0d18d;box-shadow:0 0 7px #f0d18d}
.npc-plaque{position:absolute;top:0;left:76px;width:116px;padding:6px 7px;border:1px solid color-mix(in srgb,var(--room-edge,#a783c5),transparent 20%);border-radius:7px;background:#100c16eF;box-shadow:0 4px 12px #0009}
.npc-plaque b,.npc-plaque small{display:block}.npc-plaque b{font:700 9px Georgia,serif;color:#ffe3b3;white-space:nowrap}.npc-plaque small{font-size:7px;line-height:1.35;color:#c9b9d0;margin-top:3px}
.interior-floorline{position:absolute;z-index:3;left:0;right:0;bottom:29px;height:2px;background:linear-gradient(90deg,transparent,var(--room-edge,#a783c5),transparent);box-shadow:0 0 12px var(--room-glow,#9e70c8)}
.interior-caption{display:flex;align-items:center;gap:7px;padding:8px 11px;background:linear-gradient(90deg,#211729,#130f19);color:#e7c68e;font-size:7px;font-weight:950;letter-spacing:.8px}
.interior-caption>span{color:var(--room-edge,#c5a2e4);font-size:12px}.interior-caption i{flex:1;height:1px;background:linear-gradient(90deg,#8e6d9d66,transparent)}.interior-caption small{color:#a99ab3;font-size:7px}
.scene-bag .facility-interior{--room-wall-a:#4b3522;--room-wall-b:#21150f;--room-edge:#e5bd75;--room-glow:#b9813e}
.scene-shop .facility-interior{--room-wall-a:#4a3424;--room-wall-b:#1c140f;--room-edge:#e7b66b;--room-glow:#bd863f}
.scene-forge .facility-interior{--room-wall-a:#54251d;--room-wall-b:#1b0e10;--room-edge:#f18a4d;--room-glow:#e45c2d}
.scene-alchemy .facility-interior{--room-wall-a:#1d493a;--room-wall-b:#0e1917;--room-edge:#91dfb4;--room-glow:#4dc08f}
.scene-pets .facility-interior{--room-wall-a:#384b2e;--room-wall-b:#141b12;--room-edge:#c5d98e;--room-glow:#8dbd70}
.scene-relics .facility-interior{--room-wall-a:#293657;--room-wall-b:#101322;--room-edge:#9bc8ff;--room-glow:#648fe3}
.scene-armory .facility-interior{--room-wall-a:#394555;--room-wall-b:#121720;--room-edge:#c0d1e7;--room-glow:#829bbd}
.scene-rewards .facility-interior{--room-wall-a:#4e3a20;--room-wall-b:#1c140e;--room-edge:#f0d18b;--room-glow:#d0a047}
@media(max-width:390px){.interior-architecture{height:180px}.interior-props{left:2%;right:2%;gap:5px}.interior-prop{width:29%;height:75px}.prop-art{height:51px}.prop-art .game-art{width:50px;height:50px}.interior-npc{left:50%;transform:translateX(-50%) scale(.9);transform-origin:bottom center}.npc-plaque{left:69px;width:108px}}

/* Living district pass: ambient motion, readable room props and reactive keeper dialogue */
.interior-architecture{height:216px}
.interior-architecture:before{background:repeating-linear-gradient(90deg,transparent 0 48px,#ffffff08 49px 50px),linear-gradient(180deg,#fff2 0,transparent 35%,#0005 100%)}
.interior-wall-emblem{position:absolute;left:50%;top:20px;transform:translateX(-50%);opacity:.22;filter:drop-shadow(0 0 12px var(--room-glow));}
.interior-wall-emblem .game-art{width:94px;height:94px;max-width:none;max-height:none}
.interior-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.interior-atmosphere i{position:absolute;bottom:38px;width:4px;height:4px;border-radius:50%;background:var(--room-edge);box-shadow:0 0 9px 2px var(--room-glow);opacity:0;animation:room-mote 6s linear infinite}
.interior-atmosphere i:nth-child(1){left:8%;animation-delay:-1s}.interior-atmosphere i:nth-child(2){left:18%;animation-delay:-4s}.interior-atmosphere i:nth-child(3){left:31%;animation-delay:-2s}.interior-atmosphere i:nth-child(4){left:44%;animation-delay:-5s}.interior-atmosphere i:nth-child(5){left:57%;animation-delay:-3s}.interior-atmosphere i:nth-child(6){left:69%;animation-delay:-1.5s}.interior-atmosphere i:nth-child(7){left:79%;animation-delay:-4.5s}.interior-atmosphere i:nth-child(8){left:91%;animation-delay:-2.5s}.interior-atmosphere i:nth-child(9){left:38%;animation-delay:-.5s}.interior-atmosphere i:nth-child(10){left:63%;animation-delay:-3.5s}
@keyframes room-mote{0%{transform:translateY(0) scale(.5);opacity:0}15%{opacity:.8}85%{opacity:.6}100%{transform:translateY(-155px) translateX(13px) scale(1.2);opacity:0}}
.interior-props{bottom:30px;z-index:5}
.interior-prop{height:96px;justify-content:space-between;padding-top:7px}
.prop-art{height:57px}.interior-prop small{font-size:6px}.interior-prop em{font-style:normal;font-size:6px;color:#ffe1a0;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding-bottom:3px}
.interior-npc{bottom:25px;z-index:7;animation:npc-idle 4s ease-in-out infinite}
@keyframes npc-idle{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-2px)}}
.npc-speech{position:absolute;left:77px;top:51px;width:125px;min-height:30px;padding:6px 7px;border:1px solid var(--room-edge);border-radius:7px 7px 7px 2px;background:#0e0a14ed;color:#e9d8c0;font:italic 7px/1.35 Georgia,serif;box-shadow:0 3px 10px #0009;opacity:0;transform:translateY(4px);animation:keeper-speech 9s ease-in-out infinite;animation-delay:1.2s}
@keyframes keeper-speech{0%,12%,88%,100%{opacity:0;transform:translateY(4px)}20%,78%{opacity:1;transform:translateY(0)}}
.npc-hood{box-shadow:inset 0 -8px 12px #0007,0 0 8px var(--room-glow)}
.npc-face:after{content:"";position:absolute;left:4px;top:12px;width:14px;height:2px;background:#25151a;border-radius:50%;box-shadow:0 0 4px var(--room-edge)}
.npc-trim{box-shadow:0 0 7px #f0d18d,0 0 14px var(--room-glow)}
.npc-shop .npc-face{background:linear-gradient(145deg,#9b6b47,#5b3b2e)}
.npc-forge .npc-body{background:linear-gradient(90deg,#241016,#b44b27,#241016)}
.npc-alchemy .npc-hood{background:linear-gradient(135deg,#7ac7a3,#1a3029 70%)}
.npc-pets .npc-face{background:linear-gradient(145deg,#e6bf91,#986e55)}
.npc-relics .npc-hood{background:linear-gradient(135deg,#9cbbe8,#28395e 70%)}
.npc-armory .npc-body{background:linear-gradient(90deg,#1a2533,#788da5,#1a2533)}
.npc-rewards .npc-hood{background:linear-gradient(135deg,#f0d28b,#64421d 70%)}
.interior-room-sign{position:absolute;z-index:8;left:10px;top:9px;display:flex;flex-direction:column;gap:3px;padding:5px 7px;border-left:2px solid var(--room-edge);background:#100c16b8;box-shadow:0 2px 7px #0005}
.interior-room-sign span{font-size:6px;letter-spacing:1px;color:#d7c3e2;font-weight:950}.interior-room-sign b{font:700 9px Georgia,serif;color:#ffe3b0}
.interior-caption{min-height:29px}
.scene-forge .interior-atmosphere i{background:#ff9a4a;box-shadow:0 0 12px 3px #f45b28}
.scene-alchemy .interior-atmosphere i{border-radius:50%;width:6px;height:6px;background:#a3f4d0;box-shadow:0 0 9px #62e6ae}
.scene-relics .interior-atmosphere i{width:3px;height:3px;background:#b6d6ff;box-shadow:0 0 12px #7bbaff}
.scene-pets .interior-atmosphere i{background:#d9ed9b;box-shadow:0 0 10px #a9d96d}
.scene-rewards .interior-atmosphere i{background:#ffe2a1;box-shadow:0 0 12px #f1c46c}
.scene-shop .interior-atmosphere i{background:#ffcf83;box-shadow:0 0 9px #d99a42}
.scene-bag .interior-atmosphere i{background:#f8d78b;box-shadow:0 0 10px #d8a64b}
.scene-armory .interior-atmosphere i{background:#c3d9f6;box-shadow:0 0 10px #8fb9ed}
@media(max-width:390px){.interior-architecture{height:206px}.npc-speech{left:70px;width:112px;font-size:6.5px}.interior-prop{height:88px}.interior-room-sign{left:7px;top:7px}}
@media(prefers-reduced-motion:reduce){.interior-atmosphere i,.interior-npc,.npc-speech{animation:none!important}.interior-atmosphere i{opacity:.25}}


/* Keeper placement correction: reserve a clear central lane for all three room displays */
.interior-props{left:19%;right:3%;gap:7px;justify-content:space-between}
.interior-prop{width:calc((100% - 14px)/3);flex:1 1 0}
.interior-npc{left:2%;right:auto;bottom:25px;width:72px;height:120px;transform:none;animation:npc-idle-side 4s ease-in-out infinite}
@keyframes npc-idle-side{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.npc-plaque{left:70px;right:auto;top:1px;width:116px}
.npc-speech{left:70px;right:auto;top:51px;width:125px}
@media(max-width:430px){
 .interior-props{left:18%;right:2%;gap:5px}
 .interior-prop{width:calc((100% - 10px)/3);height:88px}
 .interior-npc{left:1%;right:auto;bottom:25px;width:64px;height:116px;transform:none;animation:npc-idle-side 4s ease-in-out infinite}
 .npc-plaque{left:62px;right:auto;width:108px}
 .npc-speech{left:62px;right:auto;width:112px}
}


/* Gribnik the Goblin Broker: unmistakably goblin, not merely hooded */
.npc-shop .npc-portrait{width:66px;height:98px;transform:scale(1.04);transform-origin:bottom center}
.npc-shop .npc-hood{
 left:3px;top:0;width:60px;height:48px;overflow:visible;clip-path:none;
 border:0;border-radius:28px 28px 16px 16px;
 background:linear-gradient(155deg,#8b653b 0%,#4a2d25 58%,#21151d 100%);
 box-shadow:inset 0 -8px 10px #160d0caa,0 0 8px #c58b42;
}
.npc-shop .npc-hood:before,.npc-shop .npc-hood:after{
 content:"";position:absolute;top:13px;width:20px;height:31px;
 background:linear-gradient(135deg,#83b85a,#3e743c 78%);
 border:1px solid #b1c77a;z-index:-1;
}
.npc-shop .npc-hood:before{left:-13px;clip-path:polygon(100% 0,100% 100%,0 18%);transform:rotate(-8deg)}
.npc-shop .npc-hood:after{right:-13px;clip-path:polygon(0 0,100% 18%,0 100%);transform:rotate(8deg)}
.npc-shop .npc-face{
 left:19px;top:19px;width:27px;height:30px;z-index:2;
 border-radius:42% 42% 48% 48%;
 background:radial-gradient(ellipse at 52% 67%,#9acb65 0 10%,transparent 11%),linear-gradient(145deg,#a5d36c 0%,#6eaa49 55%,#3c7138 100%);
 box-shadow:inset 0 -7px 0 #47763a,inset 0 2px 4px #d8f29a88;
}
.npc-shop .npc-face:before{
 content:"";position:absolute;left:10px;top:12px;width:9px;height:8px;
 background:linear-gradient(135deg,#a5d36c,#527f39);
 clip-path:polygon(0 0,100% 18%,65% 100%,35% 100%);
 filter:drop-shadow(1px 1px 1px #31512b);
}
.npc-shop .npc-face:after{
 content:"";position:absolute;left:4px;top:8px;width:19px;height:4px;
 background:radial-gradient(ellipse at 18% 50%,#251d13 0 2px,transparent 2.5px),radial-gradient(ellipse at 82% 50%,#251d13 0 2px,transparent 2.5px);
 box-shadow:0 11px 0 -1px #40251f;
}
.npc-shop .npc-body{
 left:0;width:59px;height:53px;
 background:linear-gradient(90deg,#2b251b,#8c6033 48%,#35251e);
 border-color:#b69a69;
}
.npc-shop .npc-trim{left:29px;top:49px;background:#d5a64e}


/* Explicit Gribnik features: markup-based shapes ensure his silhouette reads as a goblin */
.goblin-ear,.goblin-nose,.goblin-fangs{display:none}
.npc-shop .goblin-ear{display:block;position:absolute;z-index:5;top:19px;width:20px;height:32px;background:linear-gradient(135deg,#b4e477,#4d883e 78%);border:1px solid #d3ed9a;filter:drop-shadow(0 2px 2px #080b06);border-radius:80% 10% 80% 10%}
.npc-shop .goblin-ear-left{left:0;transform:rotate(-35deg);clip-path:polygon(100% 0,88% 100%,0 22%)}
.npc-shop .goblin-ear-right{right:0;transform:scaleX(-1) rotate(-35deg);clip-path:polygon(100% 0,88% 100%,0 22%)}
.npc-shop .npc-hood{left:6px;top:2px;width:54px;height:39px;border:0;border-radius:25px 25px 13px 13px;clip-path:none;background:linear-gradient(145deg,#a7793d,#54331f 75%);z-index:1}
.npc-shop .npc-face{left:20px;top:19px;width:26px;height:31px;z-index:4;border-radius:44% 44% 48% 48%;background:linear-gradient(145deg,#b4e477,#6da94c 62%,#42763a);box-shadow:inset 0 -7px 0 #477a38,inset 0 2px 5px #e1ffae99}
.npc-shop .goblin-nose{display:block;position:absolute;z-index:6;left:29px;top:34px;width:11px;height:12px;background:linear-gradient(135deg,#c0e783,#609344);clip-path:polygon(0 0,100% 0,70% 100%,25% 80%);filter:drop-shadow(1px 1px 1px #34532c)}
.npc-shop .goblin-fangs{display:block;position:absolute;z-index:6;left:27px;top:44px;width:14px;height:6px;border-top:1px solid #294321;background:linear-gradient(90deg,#fff0c4 0 3px,transparent 3px 9px,#fff0c4 9px 12px,transparent 12px);clip-path:polygon(0 0,100% 0,82% 100%,65% 0,45% 100%,25% 0)}
.npc-shop .npc-body{background:linear-gradient(90deg,#34241b,#9a6b36 48%,#38251d);border-color:#c3a16b}

/* Gribnik character polish: expressive goblin merchant portrait */
.npc-shop .npc-portrait{width:82px;height:108px;transform:scale(1.08);transform-origin:bottom center}
.npc-shop .npc-hood{left:8px;top:0;width:66px;height:51px;border-radius:30px 30px 13px 13px;background:linear-gradient(155deg,#9b7040 0%,#543522 58%,#251821 100%);z-index:1}
.npc-shop .npc-face{left:25px;top:21px;width:34px;height:38px;border-radius:46% 46% 43% 43%;z-index:4;background:linear-gradient(145deg,#c0e879 0%,#80b94d 50%,#477c37 100%);box-shadow:inset 0 -8px 0 #477a38,inset 0 2px 5px #edffb477}
.npc-shop .goblin-ear{top:20px;width:29px;height:30px;z-index:3;border:2px solid #b9dc7c;border-radius:50% 8% 50% 8%;background:linear-gradient(135deg,#b5e875,#6ca648 70%,#477b39);filter:drop-shadow(0 2px 2px #080b06)}
.npc-shop .goblin-ear:after{content:"";position:absolute;inset:5px 5px 5px 7px;background:linear-gradient(135deg,#e6b17c,#ad765b);clip-path:polygon(100% 0,80% 100%,0 35%);opacity:.9}
.npc-shop .goblin-ear-left{left:0;transform:rotate(-12deg);clip-path:polygon(100% 0,100% 100%,0 24%)}
.npc-shop .goblin-ear-right{right:0;transform:scaleX(-1) rotate(-12deg);clip-path:polygon(100% 0,100% 100%,0 24%)}
.npc-shop .goblin-brow{position:absolute;z-index:7;left:31px;top:31px;width:25px;height:5px;border-top:3px solid #45652d;border-radius:50%;transform:rotate(-7deg)}
.npc-shop .goblin-eyes{position:absolute;z-index:8;left:31px;top:36px;width:24px;display:flex;justify-content:space-between}
.npc-shop .goblin-eyes i{display:block;width:7px;height:5px;border-radius:50%;background:#241b12;box-shadow:0 0 0 1px #e5e4a2}
.npc-shop .goblin-eyes i:after{content:"";display:block;width:2px;height:2px;margin:1px;background:#fff4c8;border-radius:50%}
.npc-shop .goblin-nose{display:block;position:absolute;z-index:9;left:40px;top:39px;width:13px;height:15px;background:linear-gradient(135deg,#c7ed83,#6d9e43);clip-path:polygon(0 0,100% 0,85% 70%,48% 100%,12% 78%);filter:drop-shadow(1px 2px 1px #34532c)}
.npc-shop .goblin-mouth{display:block;position:absolute;z-index:8;left:35px;top:53px;width:19px;height:7px;border-bottom:3px solid #3d251b;border-radius:0 0 50% 50%;transform:rotate(-4deg)}
.npc-shop .goblin-fangs{display:block;position:absolute;z-index:10;left:38px;top:56px;width:13px;height:7px;background:linear-gradient(90deg,#fff0c4 0 4px,transparent 4px 8px,#fff0c4 8px 12px);clip-path:polygon(0 0,100% 0,82% 100%,65% 0,45% 100%,25% 0)}
.npc-shop .npc-body{left:-1px;bottom:0;width:80px;height:57px;border-radius:22px 22px 7px 7px;clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);background:linear-gradient(90deg,#35251b,#986a37 48%,#39251d);border:2px solid #c3a16b}
.npc-shop .npc-trim{left:38px;top:58px;height:43px;width:5px;background:#edc56b;box-shadow:0 0 8px #edc56b,0 0 15px #bd863f}
.npc-shop .npc-plaque{left:88px;width:130px}
.npc-shop .npc-speech{left:88px;top:65px;width:135px;min-height:34px}
@media(max-width:430px){.npc-shop .npc-plaque{left:76px;width:120px}.npc-shop .npc-speech{left:76px;top:67px;width:126px}}

/* Gribnik uses the supplied illustrated character art */
.npc-shop .npc-portrait{width:126px;height:154px;transform:none;filter:drop-shadow(0 7px 8px #000b)}
.npc-shop .gribnik-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.npc-shop .npc-halo{width:115px;height:120px;top:4px;opacity:.42}
.npc-shop .npc-plaque{left:132px;top:2px;width:145px}
.npc-shop .npc-speech{left:132px;top:66px;width:145px}
@media(max-width:430px){.npc-shop .npc-portrait{width:112px;height:142px}.npc-shop .npc-plaque{left:112px;width:calc(100vw - 210px);min-width:108px}.npc-shop .npc-speech{left:112px;width:calc(100vw - 210px);min-width:108px;top:66px}}


/* Gribnik layout refinement: larger merchant, dialogue kept above display shelves */
.scene-shop .interior-npc{
  left:10px;bottom:22px;transform:none;width:310px;height:180px;
  align-items:flex-start;justify-content:flex-end;z-index:9;
}
.scene-shop .npc-shop.npc-portrait,
.scene-shop .npc-portrait.npc-shop{
  position:absolute;left:0;bottom:0;width:180px;height:178px;
  transform:none;z-index:2;
}
.scene-shop .npc-shop .gribnik-art{
  width:100%;height:100%;object-fit:contain;object-position:center bottom;
}
.scene-shop .npc-shop .npc-halo{left:26px;top:12px;width:130px;height:130px}
.scene-shop .npc-shop .npc-plaque{
  position:absolute;left:142px;right:auto;top:5px;width:158px;
  padding:7px 9px;z-index:4;
}
.scene-shop .npc-shop .npc-plaque b{font-size:10px}
.scene-shop .npc-shop .npc-plaque small{font-size:8px;line-height:1.35}
.scene-shop .npc-shop .npc-speech{
  position:absolute;left:142px;right:auto;top:68px;width:158px;
  min-height:42px;padding:7px 9px;font-size:8px;line-height:1.4;z-index:4;
}
@media(max-width:430px){
  .scene-shop .interior-npc{left:5px;bottom:22px;width:calc(100% - 10px);height:174px}
  .scene-shop .npc-shop.npc-portrait,
  .scene-shop .npc-portrait.npc-shop{width:156px;height:168px}
  .scene-shop .npc-shop .npc-plaque{left:132px;top:2px;width:calc(100% - 140px);min-width:0;padding:6px 7px}
  .scene-shop .npc-shop .npc-plaque b{font-size:9px}
  .scene-shop .npc-shop .npc-plaque small{font-size:7px}
  .scene-shop .npc-shop .npc-speech{left:132px;top:65px;width:calc(100% - 140px);min-width:0;padding:6px 7px;font-size:7px}
}
@media(max-width:350px){
  .scene-shop .npc-shop.npc-portrait,
  .scene-shop .npc-portrait.npc-shop{width:138px;height:156px}
  .scene-shop .npc-shop .npc-plaque,.scene-shop .npc-shop .npc-speech{left:116px;width:calc(100% - 122px)}
}

/* Apple Health step progression */
.step-sync-panel{border-color:#8d75a5;background:linear-gradient(145deg,#241a30,#17111f)}
.step-today{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 12px;margin:10px 0;border:1px solid #705b82;border-radius:12px;background:linear-gradient(120deg,#352343,#21182d)}
.step-today small,.step-total small{display:block;color:#c4accf;font-size:7px;font-weight:900;letter-spacing:1px}
.step-today strong{display:block;margin-top:4px;color:#f3d69c;font:700 29px Georgia,serif}
.step-total{text-align:right}
.step-total b{display:block;margin-top:6px;color:#e3c4f2;font:700 17px Georgia,serif}
.step-meter{height:9px;margin:12px 0 8px;border-radius:20px;overflow:hidden;background:#100d17;border:1px solid #574366}
.step-meter i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#8e65b4,#f1cc82);box-shadow:0 0 10px #b88bdb;transition:width .3s ease}
.step-sync-status{margin:10px 0;padding:8px 9px;border-left:2px solid #d5b275;background:#17111f;color:#d7c6dc;font-size:8px}
.manual-note{margin:9px 0 0;color:#9f91ab;font-size:8px;line-height:1.5}

/* Quick Apple Health sync directly beneath the home coin and XP stats */
.home-health-quick{display:grid;grid-template-columns:1fr;gap:5px;margin-top:9px}.home-health-quick .action{width:100%;min-height:40px;letter-spacing:1px;font-size:9px}.home-health-quick small{color:#b9afc3;text-align:center;font-size:8px;font-weight:800;letter-spacing:.5px}
@media(max-width:430px){.rpg-home{gap:10px}.home-hero{padding-top:12px}}

/* Keep the decorative sigil out of document flow so the home hero starts compactly */
.home-hero>.hero-sigil{position:absolute;pointer-events:none}


/* Annual achievement title ribbon */
.annual-title-ribbon{display:flex;flex-direction:column;gap:4px;margin:12px 0 16px;padding:11px 14px;border:1px solid rgba(211,174,105,.34);border-radius:12px;background:linear-gradient(110deg,rgba(151,105,47,.18),rgba(55,43,71,.28));}.annual-title-ribbon span{font-size:9px;letter-spacing:.16em;color:var(--gold,#d8b56f);font-weight:800;}.annual-title-ribbon strong{font-size:15px;letter-spacing:.08em;color:#f4dfb5;}.annual-title-ribbon small{font-size:10px;color:var(--muted,#aaa2b5);line-height:1.4;}

/* Account onboarding and persistent-session choice */
.stay-label{display:flex!important;align-items:center;gap:10px;margin:14px 0!important;padding:10px 12px;border:1px solid #654c6d;border-radius:10px;background:#100b1688}.stay-label input{width:18px;height:18px;flex:none;accent-color:#d7a65e}.stay-label span{display:flex;flex-direction:column;gap:3px}.stay-label b{font-size:11px;color:#f4e5c8}.stay-label small{font-size:10px;color:#a99ab1;font-weight:400;letter-spacing:0}

#account-dialog{width:min(94vw,460px);max-height:88dvh;padding:20px;background:radial-gradient(ellipse at 50% 0%,#4b315d 0,#24182f 43%,#130e19 100%);border:1px solid #b18a5a;border-radius:18px;color:var(--cream)}
#account-dialog h2{clear:both;color:#ffe0a0;font-size:23px;margin:8px 0}
#account-dialog .account-note{font-size:11px;line-height:1.55}
.account-section{margin:15px 0;padding:13px;border:1px solid #5d486b;border-radius:12px;background:#17111f99}
.account-section label{display:block;color:#d9c8e1;font-size:9px;font-weight:900;letter-spacing:1px;margin:8px 0 6px}
.account-email{padding:11px;border:1px solid #654c6d;border-radius:9px;background:#100b16;color:#ffe0a0;font-size:13px;overflow-wrap:anywhere}
.account-section input{width:100%;padding:11px;border:1px solid #654c6d;border-radius:9px;background:#100b16;color:#fff;font:inherit;font-size:13px;margin:4px 0 8px}
.account-section button{width:100%;margin-top:7px}
.account-feedback{font-size:10px;line-height:1.5;margin:8px 0 0}
.account-signout{width:100%;margin-top:5px;background:#38212a;border:1px solid #87505a;color:#ffd4cc;padding:11px;border-radius:9px;font-size:10px;font-weight:900}
#account-dialog button:disabled{opacity:.55}

/* Account dialog fallback for browsers without native modal support. */
body.account-fallback-active::before{content:"";position:fixed;inset:0;z-index:1000;background:#07050bcc;backdrop-filter:blur(4px)}
#account-dialog.account-fallback-open{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1001;margin:0;width:min(94vw,460px);max-height:88dvh;overflow:auto}
.account-button{position:relative;z-index:2;cursor:pointer;touch-action:manipulation}

/* Password recovery link */
.auth-forgot{display:block;width:100%;margin:7px 0 2px;padding:8px;border:0;background:transparent;color:#d7b2e5;font-size:10px;font-weight:900;letter-spacing:1px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.auth-forgot:disabled{opacity:.5}


/* Dungeon Dispatches email preference */
.email-preference-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px 0 5px;padding:13px;border:1px solid #806348;border-radius:12px;background:linear-gradient(145deg,#30213a,#17111e);cursor:pointer}.email-preference-row>span{display:grid;gap:5px;min-width:0}.email-preference-row b{color:#ffe0a0;font-size:9px;letter-spacing:.7px}.email-preference-row small{color:#c2b2cb;font-size:8px;line-height:1.45}.email-preference-row input{appearance:none;flex:none;width:44px;height:25px;border:1px solid #796181;border-radius:20px;background:#21172b;position:relative;cursor:pointer;transition:background .18s,border-color .18s}.email-preference-row input:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#c5b5ce;transition:transform .18s,background .18s}.email-preference-row input:checked{background:#80602f;border-color:#e8bd70}.email-preference-row input:checked:before{transform:translateX(19px);background:#ffe0a0}
.crawler-name-line{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:3px 0}.crawler-name-line h1{margin:0!important}.crawler-name-line .identity-edit{position:static;flex:none;width:30px;height:30px;margin:0;transform:none}.profile-name-row{display:flex;align-items:center;justify-content:center;gap:7px;margin:5px 0}.profile-name-row h1{margin:0!important}.profile-name-edit{display:inline-grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid #8c6b9b;border-radius:7px;background:#33233d;color:#f3cf83;font-size:13px;line-height:1;cursor:pointer;opacity:.9}.profile-name-edit:active{transform:scale(.94)}

#rename-dialog{background:radial-gradient(circle at 90% 0%,#704a7833,transparent 42%),linear-gradient(145deg,#302039,#17111f);border:1px solid #a47a4d;box-shadow:0 18px 55px #0009}
#rename-dialog h2{margin:8px 0 12px;color:#ffe0a0;font:700 23px Georgia,serif}
.rename-ai-comment{margin:12px 0 18px;padding:13px 14px;border-left:3px solid #d9ad62;border-radius:0 10px 10px 0;background:#100b18aa;color:#d9c8e1;font-size:12px;line-height:1.65}
.rename-ai-comment small{display:block;margin-top:9px;color:#dcb66d;font-size:8px;font-weight:900;letter-spacing:.8px}
#rename-form label{display:block;margin:8px 0;color:#d9c8e1;font-size:9px;font-weight:900;letter-spacing:1px}
#rename-input{width:100%;box-sizing:border-box;padding:13px;border:1px solid #8a6a91;border-radius:10px;background:#100b16;color:#fff0cf;font:16px inherit;outline:none}
#rename-input:focus{border-color:#e4bb70;box-shadow:0 0 0 3px #e4bb7022}
.rename-price{margin:10px 0 14px;color:#f0c978;font-size:10px;font-weight:900;letter-spacing:.6px}
.rename-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}
.rename-actions .action{min-width:120px}
#rename-dialog.rename-fallback-open{position:fixed;z-index:1002;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:min(92vw,440px)}

#step-sync-dialog{width:min(92vw,460px);max-height:86vh;overflow:auto;background:radial-gradient(circle at 100% 0%,#79518b33,transparent 42%),linear-gradient(145deg,#2b1d35,#15101d);color:var(--cream);border:1px solid #96729d;border-radius:20px;padding:22px;box-shadow:0 22px 70px #000b}
#step-sync-dialog h2{margin:7px 0 15px;color:#ffe0a0;font:700 25px Georgia,serif;letter-spacing:.7px}
.step-sync-player,.step-sync-total{padding:13px 15px;border:1px solid #765b7d;border-radius:13px;background:#100b18aa;margin:10px 0}
.step-sync-player small,.step-sync-total small,.step-reward-grid small,.step-sync-items>small{display:block;color:#c7a9d5;font-size:9px;font-weight:900;letter-spacing:1.4px}
.step-sync-player strong{display:block;margin-top:4px;color:#ffe0a0;font:700 20px Georgia,serif}
.step-sync-total{text-align:center;background:linear-gradient(110deg,#35233e,#211729)}
.step-sync-total strong{display:block;color:#f3c66e;font:700 38px Georgia,serif;line-height:1.25;margin:5px 0}
.step-sync-total span{color:#c5b6cd;font-size:11px}
.step-sync-quip{margin:13px 0;padding:13px 14px;border-left:3px solid #dfb46c;border-radius:0 11px 11px 0;background:#100b18aa;color:#e0d0e6;font-size:12px;line-height:1.6}
.step-sync-quip small{display:block;margin-top:8px;color:#dfbb79;font-size:8px;font-weight:900;letter-spacing:1px}
.step-sync-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:15px}
.step-sync-actions .action{min-width:125px}
.step-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}
.step-reward-grid>div{min-width:0;padding:11px 8px;border:1px solid #765b7d;border-radius:11px;background:#100b18aa;text-align:center}
.step-reward-grid small{font-size:8px;letter-spacing:.7px}
.step-reward-grid b{display:block;margin-top:7px;color:#f3c66e;font-size:15px;overflow-wrap:anywhere}
.step-sync-items{padding:12px 14px;border:1px solid #765b7d;border-radius:12px;background:#100b18aa;margin:10px 0}
.step-sync-items ul{list-style:none;padding:0;margin:8px 0 0}
.step-sync-items li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid #ffffff12;color:#e5d9e9;font-size:12px}
.step-sync-items li:last-child{border:0}
.step-sync-items li b{color:#f3c66e;white-space:nowrap}
.step-sync-items p{margin:8px 0 0;color:#c5b6cd;font-size:11px;line-height:1.5}
@media(max-width:360px){#step-sync-dialog{padding:17px}.step-reward-grid{gap:4px}.step-reward-grid>div{padding:9px 4px}.step-reward-grid b{font-size:13px}}

/* Consolidated navigation and Quest Journal controls */
.main-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.main-nav button{min-width:0;padding:7px 2px;font-size:17px}
.main-nav button small{font-size:8px;letter-spacing:.55px}
.milestone-row .milestone-claim{flex:none;min-width:67px;padding:8px 7px;font-size:8px}
.milestone-claim:disabled{opacity:.58;cursor:default}
.reward-history-row>strong{color:#b8efc9;font-size:8px}
.home-armory-link{display:inline-flex;margin-top:12px}
.base-command-note .text-link{margin-top:8px}
@media(max-width:360px){.main-nav{gap:2px;padding-left:5px;padding-right:5px}.main-nav button small{font-size:7px;letter-spacing:.2px}}

/* Give the seventh Sanctum district a deliberate full-width finale. */
.base-district-card.district-armory{grid-column:1/-1}
.base-district-card.district-armory .district-art{min-height:150px}

/* Keep equipped companion artwork aligned with the navigation sigil system. */
.build-slot>span .game-art{width:34px;height:34px;max-width:none;max-height:none;filter:drop-shadow(0 2px 5px #0008)}

/* Recognizable pictograms, all rendered in the same framed fantasy icon language. */
.home-stat-grid .game-art{display:inline-block;width:20px;height:20px;max-width:none;max-height:none;vertical-align:-5px}
.recipe-head>span .game-art{width:30px;height:30px;max-width:none;max-height:none}
.armory-crest .game-art{width:54px;height:54px;max-width:none;max-height:none}
.profile-avatar .game-art{width:48px;height:48px;max-width:none;max-height:none}
.manual-sigil .game-art{width:30px;height:30px;max-width:none;max-height:none}
.rpg-section-head>span .game-art,.milestone-icon .game-art,.armory-bonus-grid>div>span .game-art{width:24px;height:24px;max-width:none;max-height:none}
.bonus-chip>span .game-art{width:21px;height:21px;max-width:none;max-height:none}

/* THE DESCENT — persistent step-powered expedition and tap combat */
.descent-panel{position:relative;overflow:hidden;margin:12px 0;padding:18px;border:1px solid #8b6b9d;border-radius:18px;background:radial-gradient(ellipse at 85% 0%,#67437a55,transparent 45%),linear-gradient(155deg,#251a31,#120e19 76%);box-shadow:0 12px 30px #0005;color:#f4e7d0}
.descent-heading,.descent-encounter-top,.descent-health-row,.descent-charge-head,.descent-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.descent-heading h2{margin:4px 0;color:#ffe0a0;font:700 25px Georgia,serif;letter-spacing:1px}.descent-heading p,.descent-explore p{margin:5px 0;color:#c7b8d0;font-size:11px;line-height:1.5}
.descent-depth{display:grid;place-items:center;min-width:56px;height:62px;border:1px solid #b68d59;border-radius:13px;background:#130d1b;color:#f6d28a}.descent-depth small{font-size:8px;letter-spacing:1.4px}.descent-depth strong{font:700 25px Georgia,serif}
.descent-path{position:relative;display:flex;align-items:center;justify-content:space-between;margin:20px 3px 16px;padding:0 4px 24px}.descent-path-line{position:absolute;left:10px;right:10px;top:12px;height:3px;background:linear-gradient(90deg,#d8ae68,#654b79 70%,#292034);box-shadow:0 0 12px #c89a59}.descent-node{z-index:1;display:grid;place-items:center;width:25px;height:25px;border:1px solid #765d8b;border-radius:50%;background:#21182b;color:#aa91bc;font-size:12px}.descent-node.passed{border-color:#d5ad6c;background:#4a3526;color:#ffe2a1}.descent-node.current{width:31px;height:31px;margin-top:-3px;border:2px solid #ffe0a0;background:#72502d;color:#fff1c7;box-shadow:0 0 15px #d9ad67}.descent-crawler{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#d9bd8d;font-size:8px;font-weight:900;letter-spacing:1px}
.descent-explore{margin:8px 0;padding:16px;border:1px solid #574368;border-radius:13px;background:#110d19aa;text-align:center}.descent-explore h3{margin:6px 0;color:#f5d9a2;font:700 18px Georgia,serif}.descent-distance{margin:13px 0 2px;color:#f4c879;font:700 25px Georgia,serif}.descent-distance small{display:block;margin-top:4px;color:#bdaec8;font:800 8px system-ui;letter-spacing:1px}
.descent-encounter{margin-top:10px;padding:14px;border:1px solid #9a5962;border-radius:14px;background:linear-gradient(145deg,#38202d,#1b1421)}.descent-encounter h3{margin:4px 0;color:#ffd6b7;font:700 20px Georgia,serif}.descent-encounter-top small{color:#d5b8c4;font-size:9px}.descent-monster-mark{display:grid;place-items:center;width:56px;height:56px;border:1px solid #a16a71;border-radius:14px;background:#160f19}.descent-monster-mark .game-art{width:40px;height:40px}
.descent-health-row,.descent-charge-head{margin:13px 0 6px;color:#d7c5d4;font-size:9px;font-weight:900;letter-spacing:.8px}.descent-health-row b,.descent-charge-head b{color:#ffe0a0;font-size:11px}.descent-health-bar,.descent-charge-bar{height:9px;overflow:hidden;border:1px solid #624653;border-radius:20px;background:#100b14}.descent-health-bar i,.descent-charge-bar i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#8d3447,#e77b75);transition:width .25s}.descent-health-bar.player i{background:linear-gradient(90deg,#397b64,#8fd6a4)}.descent-charge-bar{height:12px;border-color:#78613d}.descent-charge-bar i{background:linear-gradient(90deg,#8b61ba,#f0c36e);box-shadow:0 0 12px #d8aa62}
.descent-damage-preview{margin:12px 0;padding:10px;border:1px solid #876c4b;border-radius:9px;background:#241b25;color:#f5d28b;text-align:center;font-size:10px;font-weight:900;letter-spacing:.7px}.descent-attack-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.descent-attack-buttons .action{min-width:0;padding:11px 5px;font-size:9px;letter-spacing:.4px}.descent-attack-buttons button:disabled{opacity:.4;cursor:not-allowed}.descent-overflow{display:block;margin-top:10px;color:#c5b2c6;font-size:9px;line-height:1.5}.descent-incapacitated{margin:12px 0;padding:12px;border:1px solid #a65a64;border-radius:9px;background:#28131b;color:#ffc1b9;text-align:center;font-size:10px;font-weight:900;line-height:1.5}.descent-footer{margin-top:13px;padding-top:11px;border-top:1px solid #ffffff1b;color:#bbaac4;font-size:8px;font-weight:900;letter-spacing:.6px}.descent-footer b{color:#f4d18c;font-size:10px}
@media(max-width:360px){.descent-panel{padding:13px}.descent-attack-buttons{gap:4px}.descent-attack-buttons .action{font-size:8px}}

.descent-charge-rule{display:block;margin:12px 0 3px;color:#c8b2d4;text-align:right;font-size:8px;font-weight:900;letter-spacing:.7px}

/* Crawler profile: monster ledger and earned-title selector */
.monster-record-panel,.earned-titles-panel{margin-top:14px}.monster-record-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #ffffff14;color:#f2e4cf}.monster-record-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #80634a;border-radius:10px;background:#201729}.monster-record-mark .game-art{width:25px;height:25px}.monster-record-row>b{flex:1;font-size:12px;text-transform:capitalize}.monster-record-row>strong{color:#f4cf87;font-size:15px;font-variant-numeric:tabular-nums}.earned-title-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.earned-title-option{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 8px;padding:10px;border:1px solid #57446b;border-radius:11px;background:linear-gradient(145deg,#241b30,#15111d);color:#f1e4d0;text-align:left}.earned-title-option>span{grid-row:1/3}.earned-title-option .game-art{width:30px;height:30px}.earned-title-option>b{font-size:11px}.earned-title-option>small{font-size:8px;letter-spacing:.8px;color:#bba8c7}.earned-title-option.is-selected{border-color:#e4bd78;box-shadow:0 0 16px #d5a85a30;background:linear-gradient(145deg,#3b2b30,#211828)}.earned-title-option.is-selected>small{color:#f1cb80}
/* Futuristic home notification console */
.notification-dock{position:relative;z-index:8;margin:0 0 12px}.notification-trigger{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border:1px solid #80669a;border-radius:13px;background:linear-gradient(105deg,#1c182b,#28213c 55%,#171321);color:#f4e7d5;text-align:left;box-shadow:0 0 18px #8c61bd22,inset 0 0 18px #9e77b51a;overflow:hidden}.notification-trigger:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,#c4a2ff12,transparent);transform:translateX(-100%);animation:dispatchSweep 5s ease-in-out infinite}.notification-orbit{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b78bd5;border-radius:50%;color:#f2d18f;font-size:21px;box-shadow:0 0 12px #b58bd555}.notification-glyph{font-size:18px;color:#f3ce88;text-shadow:0 0 10px #e3b76d}.notification-trigger-copy{display:grid;gap:3px;flex:1}.notification-trigger-copy>b{font-size:10px;letter-spacing:1.4px}.notification-trigger-copy>small{font-size:8px;letter-spacing:1px;color:#bdaecb}.notification-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border:1px solid #b68b63;border-radius:8px;background:#352337;color:#ffe0a0;font-size:11px;font-weight:900}.notification-trigger.has-unread{border-color:#54c9ff;background:linear-gradient(110deg,#102c45,#123b59 52%,#101f39);color:#e5f7ff;box-shadow:0 0 20px #36bfff55,inset 0 0 22px #42baff26;animation:dispatchRainWiggle 1.15s ease-in-out infinite}.notification-trigger.has-unread:before{background:repeating-linear-gradient(105deg,transparent 0 16px,#8ce4ff20 17px 18px,transparent 19px 31px);transform:translateX(-15%);animation:dispatchRain 1.1s linear infinite}.notification-trigger.has-unread .notification-orbit{border-color:#75dfff;color:#b8f0ff;box-shadow:0 0 15px #49caffaa}.notification-trigger.has-unread .notification-glyph{color:#8fe4ff;text-shadow:0 0 12px #38bfff}.notification-trigger.has-unread .notification-trigger-copy>small{color:#a9eaff}.notification-trigger.has-unread .notification-count{background:#14517a;border-color:#78dcff;color:#e8faff;box-shadow:0 0 14px #46c9ff99}.notification-panel{position:relative;margin-top:8px;padding:13px;border:1px solid #866c9b;border-radius:14px;background:linear-gradient(155deg,#21192c,#100d18);box-shadow:0 15px 35px #0008;color:#f5e9d7;max-height:58vh;overflow:auto}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #ffffff1c}.notification-panel-head h3{margin:3px 0 0;color:#f5d49b;font:700 17px Georgia,serif}.notification-close{width:30px;height:30px;border:1px solid #80668e;border-radius:8px;background:#2b2036;color:#f4d79f;font-size:20px}.notification-entry{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:11px 0;border-bottom:1px solid #ffffff13}.notification-entry-icon{display:grid;place-items:center;width:29px;height:29px;border:1px solid #8b709d;border-radius:9px;background:#30223b;color:#f1c87d}.notification-entry>div{min-width:0}.notification-entry small{display:block;color:#b89acb;font-size:7px;font-weight:900;letter-spacing:1px}.notification-entry b{display:block;margin-top:3px;color:#f7e4c4;font-size:12px}.notification-entry p{margin:4px 0;color:#c7b9d0;font-size:10px;line-height:1.5}.notification-entry em{color:#e7c47e;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.7px}.notification-entry.is-new{background:linear-gradient(90deg,#9c70bd12,transparent)}.notification-entry.is-new .notification-entry-icon{box-shadow:0 0 12px #b58bd533}.notification-empty{padding:22px 8px;color:#c3b3ca;text-align:center;font-size:11px;line-height:1.5}@keyframes dispatchSweep{0%,65%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
@media(max-width:380px){.earned-title-grid{grid-template-columns:1fr}.notification-trigger{padding:10px}.notification-panel{max-height:52vh}}
\n@keyframes dispatchRainWiggle{0%,100%{transform:rotate(0deg) translateY(0)}20%{transform:rotate(-.45deg) translateY(-1px)}45%{transform:rotate(.45deg) translateY(1px)}70%{transform:rotate(-.25deg) translateY(0)}}@keyframes dispatchRain{0%{background-position:0 -35px}100%{background-position:0 35px}}@media(prefers-reduced-motion:reduce){.notification-trigger.has-unread,.notification-trigger.has-unread:before{animation:none}}\n\n/* Step Reserve and Treasury economy */\n.step-reserve-home,.step-reserve-strip{margin:12px 0;padding:12px 14px;border:1px solid #397da0;border-radius:12px;background:linear-gradient(110deg,#12283a,#171323);color:#dff6ff}.step-reserve-home>div:first-child,.step-reserve-strip{display:flex;justify-content:space-between;gap:10px;align-items:center}.step-reserve-home span,.step-reserve-strip span{font-size:9px;font-weight:900;letter-spacing:1px;color:#9ddcf4}.step-reserve-home b,.step-reserve-strip b{color:#e4f8ff;font-size:13px;font-variant-numeric:tabular-nums}.step-reserve-home small{display:block;margin-top:7px;color:#c2a8d5;font-size:8px;letter-spacing:.8px}.step-reserve-bar{height:8px;margin-top:9px;border-radius:20px;background:#0c111b;overflow:hidden}.step-reserve-bar i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#2789bb,#8bdfff);box-shadow:0 0 12px #46bfff77}.treasury-exchange{margin:0 0 18px;padding:16px;border:1px solid #9a7849;border-radius:15px;background:linear-gradient(145deg,#30233a,#17111f)}.treasury-exchange h2{margin:4px 0;color:#f6d594;font:700 20px Georgia,serif}.treasury-exchange>p{color:#c7b8d0;font-size:11px;line-height:1.5}.treasury-offer-grid{display:grid;gap:8px}.treasury-offer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid #594660;border-radius:10px;background:#120e19}.treasury-offer b{color:#f5e4c7;font-size:11px}.treasury-offer p{margin:4px 0 0;color:#bbaec4;font-size:9px;line-height:1.4}.treasury-offer button{flex:none;font-size:9px}.treasury-offer button:disabled{opacity:.4}@media(max-width:380px){.treasury-offer{align-items:flex-start;flex-direction:column}.treasury-offer button{width:100%}}\n



/* Distinct combat result callout and encounter-scoped history */
.combat-impact-card{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;box-sizing:border-box;margin:12px 0;padding:16px 14px;border:2px solid #d9b56f;border-radius:14px;background:linear-gradient(135deg,#44304f,#191020 80%);box-shadow:0 0 0 3px #d9b56f20,0 0 25px #c28b4966;text-align:center;opacity:0;transform:translateY(-8px) scale(.97);transition:opacity .2s ease,transform .28s cubic-bezier(.2,.9,.25,1.2)}.combat-impact-visible{opacity:1;transform:translateY(0) scale(1)}.combat-impact-kicker{display:block;color:#dec4f4;font-size:10px;font-weight:900;letter-spacing:2px}.combat-impact-title{display:block;max-width:100%;color:#ffe0a0;font:900 clamp(17px,4.5vw,22px)/1.2 Georgia,serif;letter-spacing:.5px;white-space:normal;overflow-wrap:anywhere;text-shadow:0 0 14px #efc16b66}.combat-impact-detail{display:block;color:#fff;font-size:13px;font-weight:900;line-height:1.5;letter-spacing:.3px;white-space:normal;overflow-wrap:anywhere}.combat-impact-meta{display:block;width:100%;box-sizing:border-box;padding-top:8px;border-top:1px solid #ffffff35;color:#b9e6f7;font-size:10px;font-weight:900;line-height:1.4;letter-spacing:.7px;white-space:normal;overflow-wrap:anywhere}.combat-impact-critical{border-color:#e7a5ff;background:linear-gradient(115deg,#42234f,#1a1025);box-shadow:0 0 0 3px #c15cff22,0 0 25px #c15cff77}.combat-impact-critical .combat-impact-title{color:#f1c5ff}.combat-impact-victory{border-color:#f4d080;background:linear-gradient(115deg,#45331e,#1d1420);box-shadow:0 0 0 3px #f4d08022,0 0 25px #f2c66c77}.combat-impact-danger{border-color:#ff7c83;background:linear-gradient(115deg,#4b1e2b,#1d101b);box-shadow:0 0 0 3px #ff435c22,0 0 25px #ff435c77}.combat-impact-danger .combat-impact-title{color:#ff9da5}.combat-log{margin-top:13px;padding:11px 12px;border:1px solid #725b7d;border-radius:11px;background:#120d19dd}.combat-log-head{display:flex;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid #ffffff24;color:#f0d39a;font-size:9px;letter-spacing:1.3px}.combat-log-head span{color:#bca9c8;font-size:8px}.combat-log-row{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid #ffffff12}.combat-log-row:last-child{border-bottom:0}.combat-log-row>span{color:#bba6c8;font-size:9px;font-weight:800}.combat-log-row p{margin:0;color:#f1e8f3;font-size:10px;font-weight:700;line-height:1.4}.combat-log-critical p{color:#efc1ff}.combat-log-empty{margin-top:12px;padding:9px;border:1px dashed #685473;border-radius:9px;color:#a995b7;text-align:center;font-size:8px;font-weight:900;letter-spacing:1px}@media(prefers-reduced-motion:reduce){.combat-impact-card{transition:none}}

/* Info tab: complete crawler field manual */
.info-page{max-width:900px;margin:0 auto;padding-bottom:28px}.info-hero{position:relative;overflow:hidden;margin:4px 0 18px;padding:24px 20px;border:1px solid #8c6c9c;border-radius:16px;background:radial-gradient(ellipse at 90% 0%,#78508c55,transparent 48%),linear-gradient(145deg,#24172f,#100d19 78%);box-shadow:inset 0 0 30px #d4a85a0b}.info-hero:after{content:"✦";position:absolute;right:18px;top:10px;color:#d8b46a55;font-size:76px}.info-hero .eyebrow{color:#c7a6da;font-size:9px;font-weight:900;letter-spacing:2px}.info-hero h1{margin:8px 0;color:#f5d99e;font:900 clamp(28px,7vw,40px)/1 Georgia,serif;letter-spacing:1px}.info-hero p{max-width:620px;color:#e5dce9;font-size:13px;line-height:1.6}.info-hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.info-hero-tags span{padding:5px 8px;border:1px solid #826d8b;border-radius:20px;color:#d8c4e2;font-size:8px;font-weight:900;letter-spacing:1px}.info-section-list{display:grid;gap:9px}.info-guide-card{overflow:hidden;border:1px solid #55445f;border-radius:12px;background:linear-gradient(130deg,#21182a,#15111d)}.info-guide-card[open]{border-color:#a7875d;box-shadow:0 0 18px #c99b4a18}.info-guide-card summary{display:flex;align-items:center;gap:12px;min-height:68px;padding:11px 13px;cursor:pointer;list-style:none}.info-guide-card summary::-webkit-details-marker{display:none}.info-guide-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid #a78356;border-radius:9px;color:#e9c982;font-size:11px;font-weight:900}.info-guide-heading{display:grid;gap:4px;flex:1;min-width:0}.info-guide-heading small{color:#b99bc8;font-size:8px;font-weight:900;letter-spacing:1.5px}.info-guide-heading b{color:#f4e7d2;font-size:14px;line-height:1.25}.info-guide-toggle{color:#e3c17f;font-size:20px;transition:transform .2s}.info-guide-card[open] .info-guide-toggle{transform:rotate(45deg)}.info-guide-body{padding:0 16px 17px 59px;color:#e2d8e6;font-size:12px;line-height:1.65}.info-guide-body p{margin:0 0 10px}.info-guide-body ul,.info-guide-body ol{margin:7px 0 10px;padding-left:18px}.info-guide-body li{margin:5px 0}.info-guide-body b{color:#f2d69b}.info-footer-note{margin-top:16px;padding:15px;border-left:3px solid #c69a56;border-radius:8px;background:#241a2c}.info-footer-note b{color:#f0cf8d;font-size:10px;letter-spacing:1.4px}.info-footer-note p{margin:7px 0 0;color:#e3d6e8;font-size:12px;line-height:1.6}@media(max-width:520px){.info-hero{padding:20px 15px}.info-guide-card summary{gap:9px;padding:10px}.info-guide-body{padding:0 12px 15px 52px;font-size:11px}}


/* Keep the primary navigation above page content and reliably tappable on touch screens */
.main-nav{position:relative;z-index:50;pointer-events:auto}.main-nav button{position:relative;z-index:51;pointer-events:auto;touch-action:manipulation}


/* Official Apple Health Shortcut callout in the Codex */
.info-shortcut-card{display:grid;gap:8px;margin:14px 0;padding:14px;border:1px solid #a78356;border-radius:12px;background:linear-gradient(135deg,#302039,#17111e);box-shadow:inset 0 0 22px #d9b56f0c}.info-shortcut-card>b{color:#f2d69b;font-size:11px;letter-spacing:1.2px}.info-shortcut-card p{margin:0;color:#e2d8e6;font-size:12px;line-height:1.55}.info-shortcut-card .action{display:block;text-align:center;text-decoration:none;padding:11px 12px;border-radius:9px;font-size:10px;font-weight:900}.info-shortcut-card .text-link{justify-self:start;color:#e3c17f;font-size:10px;font-weight:900}

/* Compact Apple Shortcut install action and readable post-install steps */
.info-shortcut-card .shortcut-install{display:inline-block;width:max-content;max-width:100%;padding:8px 12px;margin:2px 0;font-size:9px;letter-spacing:.35px}.shortcut-after-install{margin:3px 0 0;padding-left:19px;color:#d6c8df;font-size:10px;line-height:1.6}.shortcut-after-install li{padding:2px 0}.shortcut-after-install b{color:#ffe0a0}

/* Compact Codex step-sync callout */
.info-shortcut-card{gap:6px;margin:9px 0;padding:10px 11px}
.info-shortcut-card>b{font-size:9px;letter-spacing:1px}
.info-shortcut-card p{font-size:10px;line-height:1.45}
.info-shortcut-card .shortcut-install{display:inline-block;width:max-content;max-width:100%;padding:7px 11px;margin:1px 0;font-size:8px;letter-spacing:.3px}
.info-shortcut-card .text-link{font-size:9px}
