/* V8: compact play surfaces, illustrated abilities and contextual city services. */
.page-head .eyebrow:empty,.page-head p:empty{display:none}.page-head{margin-bottom:20px}.btn{min-height:44px}.btn.small{min-height:40px}.nav-loot-count{margin-left:auto;background:#ffd572;color:#634814;border:1px solid #e2b347;border-radius:20px;padding:1px 7px;font-size:11px}.section-tabs{display:flex;gap:6px;margin:0 0 20px;overflow-x:auto;scrollbar-width:thin}.section-tabs .btn{flex-shrink:0;background:transparent;border-color:transparent;color:#54738c}.section-tabs .btn.active{background:#e1f0ff;border-color:#a9cfe9;color:#225f90;box-shadow:inset 0 -2px #74b1da}.help-note{font-size:13px;line-height:1.5;margin-top:16px}.region-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 16px}.ability-art{display:block;width:56px;height:56px;object-fit:contain;flex-shrink:0;border-radius:12px;clip-path:inset(3.3% round 8px);user-select:none;filter:none}.class-passive{display:flex;align-items:center;gap:14px;padding:20px}.class-passive h2{font-size:21px;margin-bottom:6px}.class-passive p{font-size:14px;color:var(--muted)}.hero-only .character-right{display:flex;flex-direction:column;gap:18px}.hero-only .hero-panel{min-height:570px}.hero-only{grid-template-columns:minmax(300px,1fr) minmax(280px,1fr);max-width:1080px}.hero-only .hero-footer{padding-top:0}.hero-only .hero-stats{margin-top:20px}.hero-only .class-passive .ability-art{width:74px;height:74px}
/* Counter-scaled map avatars keep their proportions at every zoom level. */
.atlas-other-players{position:absolute;inset:0;pointer-events:none;z-index:14}.atlas-peer{position:absolute;pointer-events:auto;display:flex;flex-direction:column;align-items:center;background:transparent;padding:0;width:42px;transform:translate(-50%,-100%) scale(var(--pin-scale));transform-origin:50% 100%;margin-left:calc((18px + var(--stack)*22px)*var(--pin-scale));margin-top:calc(var(--stack)*-6px*var(--pin-scale));transition:left 1.8s linear,top 1.8s linear}.atlas-peer>.sprite{width:42px;height:56px;object-fit:contain;filter:none}.atlas-peer>span{font-size:10px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 6px;border:1px solid #a4c2dc;border-radius:5px;background:#f2f9ff;color:#315d83;line-height:1.4}.atlas-peer:hover,.atlas-peer:focus-visible{z-index:3}.atlas-peer.travelling>span{border-color:#e5bf62;background:#fff8e4}.world-player-inspect{display:flex;align-items:center;gap:24px}.world-player-inspect>.sprite{width:110px;height:145px;object-fit:contain}.world-player-inspect p{color:var(--muted);margin-top:8px}.location-content>.btn{margin-top:4px}.dungeon-entry{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:#f0edff;border:1px solid #d5ceeb;border-radius:12px;padding:10px;margin:16px 0}.dungeon-entry>.sprite{width:42px;height:52px}.dungeon-entry>span{flex:1;min-width:0}.dungeon-entry strong,.dungeon-entry small{display:block}.dungeon-entry strong{font-size:14px}.dungeon-entry small{font-size:12px;color:#70648b;margin-top:4px}.region-loot-preview{display:flex;gap:10px;align-items:center;margin-top:20px}.region-loot-preview>.sprite{width:52px;height:48px}.region-loot-preview strong,.region-loot-preview small{display:block;font-size:13px}.region-loot-preview small{font-size:12px;color:var(--muted);margin-top:4px}.loot-miniatures{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-top:12px}.loot-miniatures>button{min-width:0;height:44px;border:1px solid #d0deeb;background:#f3f8fc;border-radius:8px;padding:4px}.loot-miniatures .sprite{width:100%;height:100%;object-fit:contain}.access-reason{font-size:13px;color:#865d32;background:#fff3dc;border-radius:10px;padding:12px;display:flex;align-items:center;gap:8px;margin:12px 0}
/* Combat takes the first screen; preparation lives in a short departure sheet. */
.combat-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.combat-heading h1{font-size:32px}.combat-heading .region-tags{margin:8px 0 0}.combat-heading>div:last-child{display:flex;gap:8px}.combat-v8{grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.combat-v8 .region-main,.combat-v8 .region-side{display:flex;flex-direction:column;gap:16px}.combat-v8 .battlefield{height:clamp(320px,32vw,460px)}.combat-v8 .combat-controls{padding:13px 18px}.combat-v8 .combat-session{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px;border-radius:14px;border:1px solid var(--line)}.combat-session>div{display:flex;align-items:center;gap:10px;min-width:0}.combat-session>div>.sprite{width:38px;height:40px;flex-shrink:0}.combat-session>div>svg{width:24px;height:24px;color:#4592bf}.combat-session>div>div{display:flex;flex-direction:column}.combat-session strong{font-size:25px}.combat-session small{font-size:12px}.hunt-timer{display:flex;align-items:center;gap:12px;padding:0 18px 16px;background:#f6fbff}.hunt-timer>[data-activity-bar]{flex:1}.hunt-timer>span{font-size:12px;color:#5a7993;font-variant-numeric:tabular-nums;white-space:nowrap}.combat-loot-strip{display:flex;align-items:center;gap:12px;border:1px solid #e5cb8d;background:linear-gradient(115deg,#fff6dc,#fffdfa);border-radius:14px;padding:12px 16px}.combat-loot-strip>.sprite{width:52px;height:52px}.combat-loot-strip>div{flex:1;min-width:0}.combat-loot-strip strong,.combat-loot-strip small{display:block}.combat-loot-strip strong{font-size:14px;color:#7c5926}.combat-loot-strip small{font-size:12px;color:#8b7754;margin-top:3px}.combat-v8 .encounter-card{padding:0 18px 16px}.encounter-card summary{padding:15px 0;cursor:pointer;font-size:14px}.skill-hotbar{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-tile{align-items:center;text-align:center;min-height:126px;padding:8px 5px;gap:4px;background:#fffdf7;box-shadow:inset 0 -3px #dceaf2}.skill-tile .ability-art{width:56px;height:56px}.skill-tile .skill-name{font-size:12px}.skill-tile small{font-size:11px}.skill-tile:disabled .ability-art{opacity:.75}.skill-cooldown{height:4px}.skill-deck-head strong{display:none}.skill-deck-head a{margin-left:auto}.skill-deck-head{margin-bottom:8px}.skill-slot-empty{min-height:126px}.skill-slot-empty>span{display:none}.battle-state>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.journal-panel{padding:18px 16px}.journal-panel .panel-head{margin:0 0 12px;gap:6px}.journal-panel h2{font-size:22px}.journal-live{font-size:10px;color:#318273;white-space:nowrap}.journal-live:before{content:'';display:inline-block;width:5px;height:5px;background:#389a81;border-radius:50%;margin-right:5px}.journal-tabs{display:flex;gap:6px;margin-bottom:10px}.journal-tabs .btn{min-height:34px;border:0;background:transparent;font-size:11px;padding:5px 9px;color:#6b7c90}.journal-tabs .btn.active{background:#edf3fb;color:#32628d}.journal-feed{display:flex;flex-direction:column;gap:7px;max-height:500px;overflow-y:auto;scrollbar-width:thin}.journal-event{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 8px;background:#f6f9fc;border-radius:10px;border-left:3px solid #c8d9e8}.journal-event-art{width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border-radius:8px}.journal-event-art>.sprite,.journal-event-art>.ability-art{width:100%;height:100%;object-fit:contain}.journal-event strong{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.journal-event span{display:block;font-size:11px;color:#6a7e91;line-height:1.45;margin-top:2px}.journal-event time{font-size:9px;color:#7b8ca0;align-self:start;padding-top:3px}.journal-event.victory{border-color:#83b9df}.journal-event.heal{background:#eef8f1;border-color:#71baa0}.journal-event.treasure,.journal-event.level{background:#fff5df;border-color:#edc364}.journal-event.death{background:#fff1eb;border-color:#d79281}.journal-event.death span{color:#a36354}.journal-empty{font-size:13px;color:#7b8c9a;padding:32px 10px;text-align:center}.combat-v8 .local-players{padding:16px}.combat-v8 .local-players h2{font-size:22px}
.hunt-sheet-hero{position:relative;height:115px;margin:-4px 0 16px;border-radius:12px;overflow:hidden}.hunt-sheet-hero>img{width:100%;height:100%;object-fit:cover}.hunt-sheet-hero>div{position:absolute;bottom:10px;left:12px;display:flex;gap:6px}.hunt-sheet .section-tabs{margin-bottom:14px}.hunt-config-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hunt-sheet label{font-size:13px;color:#456782}.hunt-sheet select{margin-top:6px;padding:10px 8px;min-height:44px}.hunt-supply{display:flex;align-items:center;gap:10px;padding:12px 0;margin-top:8px}.hunt-supply>.sprite{width:44px;height:50px}.hunt-supply>span{flex:1}.hunt-supply strong,.hunt-supply small{display:block;font-size:14px}.hunt-supply small{color:#6b8295;font-size:12px;margin-top:3px}.party-switch{display:flex;align-items:center;gap:12px;background:#e9f5ff;border:1px solid #c9e3f6;padding:12px 14px;border-radius:12px;cursor:pointer}.party-switch input{width:20px;height:20px;margin:0;accent-color:#287cb3;flex-shrink:0}.party-switch small{font-size:12px;color:#6a8295;margin-left:10px}.hunt-options{margin-top:12px;border-top:1px solid #dae5ef;padding-top:4px}.hunt-options summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:13px;color:#567991}.hunt-options>.hunt-config-row{margin-bottom:12px}.hunt-options>p{font-size:12px;color:#8e6d4a;margin:16px 0 0}.next-difficulty{display:flex;align-items:center;gap:12px;padding:12px;background:#f9f5e9;border-radius:12px;margin-top:16px}.next-difficulty>.sprite{width:40px;height:46px}.next-difficulty>span{flex:1;font-size:13px}.next-difficulty small{font-size:11px;color:#7d795f}
/* Inventory and reward reveal. Equipment stays separate from carried materials. */
.inventory-v8{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.gear-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 10px;background:#f8fcff;border:1px solid #cbdfe9;border-radius:14px;min-width:0}.gear-card>.sprite{width:84px;height:88px;object-fit:contain}.gear-card>span{font-size:13px;line-height:1.4}.gear-card>small{font-size:12px;color:#718497}.gear-card>i{position:absolute;top:7px;right:7px;width:22px;height:22px;display:grid;place-items:center;background:#dcf3e9;color:#3b886a;border-radius:50%}.gear-card>i svg{width:14px;height:14px}.gear-card.unowned{border-style:dashed;background:#f0f4f7}.gear-card.unowned>.sprite{opacity:.65}.rarity-1{--rarity:#52a5e7;--rarity-pale:#e9f5ff}.rarity-2{--rarity:#a980df;--rarity-pale:#f4eaff}.rarity-0{--rarity:#d4a34e;--rarity-pale:#fff4dc}.gear-card.rarity-1,.gear-card.rarity-2{border-color:var(--rarity);background:linear-gradient(#fffdfb,var(--rarity-pale))}.bag-strip{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffefa}.bag-strip>span{display:flex;align-items:center;gap:7px;font-size:14px}.bag-strip>small{font-size:12px;color:var(--muted)}.bag-strip>.btn{margin-left:auto}#collection-zone{max-width:360px;margin-bottom:20px}.chest-collection{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px}.chest-card{display:flex;align-items:center;gap:16px;padding:22px;background:linear-gradient(130deg,#fff5d9,#fffefa 65%);border-color:#e1cf9f}.chest-card>div:last-child{flex:1;min-width:0}.chest-card h2{font-size:24px}.chest-card p{font-size:13px;color:#8c7754;margin:6px 0 16px}.chest-card-art{position:relative;width:110px;height:110px;flex-shrink:0}.chest-card-art>.sprite{width:100%;height:100%;object-fit:contain}.chest-card-art>b{position:absolute;bottom:0;right:0;border:1px solid #d2ae59;background:#fff2c7;color:#846422;padding:2px 9px;border-radius:20px;font-size:14px}.chest-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-chests{grid-column:1/-1;text-align:center;padding:48px 20px;background:radial-gradient(ellipse at 50% 25%,#fff0c7,#fffefb 65%)}.empty-chests>.sprite{width:150px;height:150px;object-fit:contain;display:block;margin:auto auto 12px}.empty-chests p{color:var(--muted);font-size:14px;margin:12px 0 24px}.chest-footnote{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:20px}.chest-footnote details{font-size:13px;color:var(--muted);max-width:640px}.chest-footnote summary{padding:12px 0;cursor:pointer}.chest-footnote p{line-height:1.7}.loot-reveal{position:relative;isolation:isolate;text-align:center;padding:12px 0 4px;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 50% 36%,var(--rarity-pale),#fffdfa 74%)}.reveal-chest{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;padding:24px 12px;background:none;cursor:pointer}.reveal-chest>.sprite{width:200px;height:200px;object-fit:contain;animation:chest-hover 2.4s ease-in-out infinite}.reveal-chest>strong{font-size:14px;color:#85672e}.chest-aura{position:absolute;left:50%;top:110px;width:210px;height:210px;border:1px solid var(--rarity);box-shadow:0 0 0 20px #fff8,0 0 70px var(--rarity);border-radius:50%;transform:translate(-50%,-50%);opacity:.25;pointer-events:none}.loot-particles{position:absolute;left:50%;top:135px;pointer-events:none;z-index:3}.loot-particles i{position:absolute;width:5px;height:9px;border-radius:2px;background:var(--rarity);opacity:0}.loot-reveal.opened .loot-particles i{animation:loot-spark 700ms ease-out var(--delay) both}.loot-reveal.opened .chest-aura{animation:chest-burst 650ms ease-out both}.loot-reveal.opened .reveal-chest{display:none}.reveal-rewards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;padding:12px}.reveal-card{padding:16px 10px;background:linear-gradient(#fffefc,var(--rarity-pale));border:1px solid var(--rarity);border-radius:12px;box-shadow:0 5px 16px #8e713c10;animation:loot-card 450ms ease-out var(--reveal-delay) both}.reveal-card>.sprite,.essence-reward{display:grid;place-items:center;width:100%;height:96px;object-fit:contain;margin-bottom:12px}.essence-reward svg{width:52px;height:52px;color:#8271bf}.reveal-card strong{display:block;font-size:13px;line-height:1.5}.reveal-card small{display:block;font-size:11px;color:#82758d;margin-top:6px}.reveal-region{font-size:12px;color:#8a7956;padding:14px}.reveal-rewards[hidden]{display:none}.loot-reveal.opened .reveal-region{color:#7a8a96}@keyframes chest-hover{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes chest-burst{from{opacity:.4;scale:1}to{opacity:0;scale:2.6}}@keyframes loot-spark{0%{opacity:1;transform:rotate(var(--angle)) translateY(-35px)}100%{opacity:0;transform:rotate(var(--angle)) translateY(-220px)}}@keyframes loot-card{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
/* Three readable class branches; only one selected branch on narrow screens. */
.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.skill-codex>.panel-head{display:none}.skill-emblem{width:66px;height:66px;border:0;background:transparent}.skill-emblem>.ability-art{width:66px;height:66px}.skill-card{padding:16px;background:#fffdfa}.skill-card h3{font-size:20px}.skill-card.locked{opacity:.85}.skill-card.locked .ability-art{opacity:.7}.talent-budget{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.talent-budget>span:not(.badge){font-size:13px;color:var(--muted)}.talent-budget .btn{margin-left:auto}.talent-tree-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.talent-tree{padding:20px;border:1px solid #c8dfe9;border-radius:16px;background:radial-gradient(ellipse at 50% 35%,#eaf5ff,#fcfefa)}.talent-tree-title{display:flex;gap:12px;align-items:center;margin-bottom:20px}.talent-tree-title .ability-art{width:60px;height:60px}.talent-tree-title h2{font-size:22px}.talent-tree-title span{font-size:12px;color:#6c8295}.talent-path{display:flex;flex-direction:column;gap:28px;align-items:center}.talent-medallion{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;background:transparent;padding:0;min-height:122px;isolation:isolate}.talent-medallion:not(:last-child):after{content:'';position:absolute;top:70px;bottom:-34px;left:50%;width:2px;z-index:-1;background:linear-gradient(#a6c5d9,#dce7ef)}.talent-medallion>span{position:relative;border:2px solid #b9ccdd;border-radius:14px;padding:2px;background:#f9fcff;box-shadow:0 3px 0 #d2dfe8}.talent-medallion .ability-art{width:66px;height:66px}.talent-medallion b{position:absolute;right:-6px;bottom:-6px;background:#fffdf4;border:1px solid #c9d4d7;border-radius:8px;padding:1px 6px;font-size:11px}.talent-medallion>strong,.talent-medallion>small{background:#f1f8fc;padding:0 8px;border-radius:6px}.talent-medallion>strong{font-size:13px;margin-top:2px}.talent-medallion>small{font-size:11px;color:#698094}.talent-medallion.available>span{border-color:#78b2da;box-shadow:0 0 0 4px #8ec4e52b,0 3px 0 #87b2d0}.talent-medallion.invested>span{border-color:#d5b55d;box-shadow:0 0 0 4px #f2d68f33}.talent-medallion.invested b{border-color:#d5b55d;background:#fff3c7}.talent-mobile-tabs{display:none}.talent-inspect{display:flex;align-items:center;gap:20px}.talent-inspect>.ability-art{width:100px;height:100px}.talent-inspect p{margin:12px 0;color:#4a6780}.talent-inspect small{color:#768496}
/* City = a place to pick a building. Every service has one dedicated surface. */
.city-hub{max-width:1100px}.city-hub .city-scene{height:125px}.city-hub .building-board{height:auto;aspect-ratio:2/1;max-height:520px}.city-hub .building-lot{height:44%;width:27%}.city-hub .building-lot>.sprite{height:calc(100% - 42px)}.city-hub .building-caption>span{display:block}.project-entry{display:flex;align-items:center;gap:16px;width:100%;max-width:1100px;padding:12px 20px;margin-top:14px;text-align:left;background:#fffbed}.project-entry>.sprite{width:82px;height:65px;max-width:82px;max-height:65px;object-fit:contain;flex-shrink:0}.project-entry>span{flex:1;min-width:0}.project-entry strong{display:block;font-size:16px}.project-entry small{display:block;font-size:12px;color:#81724f;margin-top:3px}.building-service-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;max-width:1200px;align-items:start}.building-service-layout>*{min-width:0}.building-service-layout h2{font-size:24px}.building-upgrade{padding:22px;text-align:center}.service-building-art{width:100%;height:170px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.service-building-art>.sprite{width:100%;height:100%;max-width:220px;max-height:170px;object-fit:contain;flex:none}.building-upgrade>h2{font-size:20px;margin:12px 0 20px}.building-upgrade-details{border-top:1px solid var(--line);padding-top:6px;text-align:left}.building-upgrade-details>summary{padding:12px 0;font-size:14px;cursor:pointer}.building-upgrade-details p{font-size:13px;color:#5e7990;line-height:1.5;margin-top:12px}.building-upgrade-details>small{font-size:12px;color:#7c8b96;display:block;margin:-8px 0 12px}.building-upgrade-details>.btn{margin-top:10px}.visit-service{display:flex;gap:16px;align-items:center;background:#fff4dc;padding:12px;border:1px solid #e8d3a7;border-radius:12px;margin-bottom:20px}.visit-service>span{font-size:13px;color:#917547}.forge-equipment{display:grid;gap:12px;margin-top:16px}.forge-equipment>article{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;background:#f4f9fc;border:1px solid #d6e4ec;border-radius:12px}.forge-equipment>article>.sprite{width:64px;height:68px;object-fit:contain}.forge-equipment strong{font-size:14px;display:block}.forge-equipment small{font-size:12px;color:#6a7f93;display:block;margin-top:3px}.forge-equipment .costs{gap:4px;margin:6px 0 0}.forge-equipment .costs>span{font-size:10px;padding:2px 5px;gap:3px}.forge-equipment .costs svg{width:12px;height:12px}.warehouse-rows>div{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid #dfebf3}.warehouse-rows>div>span{display:flex;align-items:center;gap:8px;font-size:14px}.warehouse-rows strong{font-size:14px;font-variant-numeric:tabular-nums}.warehouse-rows svg{width:18px;height:18px;color:#6192b4}.warehouse-rows .warehouse-labels{padding:4px 0 10px}.warehouse-labels>span{font-size:11px!important;color:#7f91a1}.warehouse-rows+.btn{margin-top:20px}.inn-health{display:flex;align-items:center;gap:24px;margin-bottom:20px}.inn-health>.sprite{width:85px;height:105px;object-fit:contain}.inn-health>div{flex:1;min-width:0}.inn-health .progress{margin:12px 0}.inn-health p{font-size:13px;color:#64829a}.apothecary{display:flex;align-items:center;gap:16px;margin:28px 0 20px;padding-top:24px;border-top:1px solid var(--line)}.apothecary>.sprite{width:64px;height:80px;object-fit:contain}.apothecary p{margin-top:6px;font-size:14px;color:#66839a}.apothecary small{font-size:12px;color:#8d7860}.shop-quantities{display:flex;gap:8px}.shop-quantities>.btn{flex:1;padding:10px 8px}.service-regions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.service-regions>button{display:flex;align-items:center;gap:12px;background:#f4f9fc;border:1px solid #d4e6ef;padding:10px;border-radius:12px;text-align:left}.service-regions>button>img{width:70px;height:56px;object-fit:cover;border-radius:7px;flex-shrink:0}.service-regions>button>span{flex:1;min-width:0}.service-regions strong{display:block;font-size:14px}.service-regions small{display:block;font-size:12px;color:#738a9c;margin-top:4px}.project-workshop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;padding:32px;max-width:1000px}.project-art{width:100%;height:260px;max-width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;contain:size layout}.project-art>.sprite{width:100%;height:100%;min-width:0;max-width:100%;max-height:260px;object-fit:contain;flex:0 1 100%}.project-workshop p{font-size:14px;color:#6e8395;margin-top:12px}.project-workshop small{font-size:12px;color:#7b8c97;display:block;margin-bottom:16px}.project-workshop .btn{margin-top:12px}
@media(max-width:1250px){.combat-v8{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.combat-heading h1{font-size:28px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-service-layout{grid-template-columns:minmax(0,1fr) 260px}.forge-equipment>article{grid-template-columns:54px minmax(0,1fr) auto}.forge-equipment>article>.sprite{width:54px;height:62px}.forge-equipment>article>.btn:last-child{grid-column:2/4;justify-self:end;min-height:32px;padding:4px 8px;font-size:11px}.talent-tree{padding:16px 10px}.talent-tree-title{gap:8px}.talent-tree-title .ability-art{width:48px;height:48px}.talent-tree-title h2{font-size:20px}}
@media(max-width:1000px){.combat-v8{grid-template-columns:minmax(0,1fr)}.combat-v8 .region-side{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}.combat-v8 .journal-panel{grid-row:1/3}.combat-v8 .battlefield{height:360px}.building-service-layout{grid-template-columns:minmax(0,1fr)}.building-upgrade{display:grid;grid-template-columns:180px minmax(0,1fr);column-gap:24px;text-align:left}.service-building-art{grid-column:1;grid-row:1/5;height:160px;margin:0;align-self:center}.building-upgrade>.badge{justify-self:start}.building-upgrade>h2{margin:10px 0}.building-upgrade-details{grid-column:2}.hero-only{grid-template-columns:minmax(0,1fr)}.hero-only .character-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hero-only .character-right>section:first-child{grid-column:1/-1}.hero-only .class-passive{grid-column:1/-1}}
@media(max-width:650px){.nav{width:100%}.nav a{width:calc(100% / 6);min-width:0;flex:1;padding:6px 0;font-size:10px;gap:5px}.nav a>span:not(.nav-num){font-size:10px;letter-spacing:-.2px}.nav a>svg{width:21px;height:21px}.nav-loot-count{position:absolute;top:4px;right:calc(50% - 25px);font-size:9px;padding:0 4px;min-width:15px;text-align:center}.page-head{flex-direction:row;align-items:center;gap:10px;margin-bottom:16px}.page-head h1{font-size:29px}.page-head .head-actions{width:auto;flex-shrink:0}.page-head .head-actions .btn{padding:8px 10px;font-size:12px;flex:none}.page-head .head-actions .badge{font-size:11px}.main{padding:16px 12px}.topbar{min-height:58px;padding:10px 12px}.mobile-brand{font-size:18px}.resources{gap:8px}.resource{font-size:12px;gap:4px}.resources .res-divider{display:none}.section-tabs{gap:2px;margin-bottom:16px}.section-tabs .btn{font-size:13px;padding:8px 12px}.hero-only .hero-panel{min-height:530px}.hero-only .character-right{display:flex;gap:12px}.hero-only .hero-stats{margin-top:16px}.hero-only .class-passive .ability-art{width:60px;height:60px}.atlas-peer{width:34px;margin-left:calc((16px + var(--stack)*17px)*var(--pin-scale))}.atlas-peer>.sprite{width:34px;height:46px}.atlas-peer>span{font-size:9px;max-width:80px}.painted-viewport.overview .atlas-peer>span{display:none}.combat-heading{margin-bottom:12px;gap:8px}.combat-heading h1{font-size:25px}.combat-heading>div:last-child{gap:5px;flex-shrink:0;flex-direction:column}.combat-heading>div:last-child>.btn{font-size:11px;padding:5px 8px;min-height:34px}.combat-heading .region-tags{gap:4px;margin-top:6px}.combat-heading .badge{font-size:10px;padding:3px 6px}.combat-v8 .battlefield{height:300px}.combat-v8 .combat-controls{padding:10px 12px;gap:8px}.combat-v8 .combat-hero{flex:1;min-width:0}.combat-v8 .combat-avatar{display:none}.combat-v8 .combat-hero strong{font-size:12px}.combat-v8 .combat-hero strong>span{font-size:10px}.combat-v8 .combat-hp small{font-size:10px}.combat-v8 .combat-buttons{gap:5px}.combat-v8 .combat-buttons .btn{font-size:11px;padding:5px 7px;min-height:38px}.combat-v8 .combat-buttons .btn>svg{width:14px;height:14px}.skill-deck{padding:0 10px 12px}.skill-hotbar{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.skill-tile{min-height:112px;padding:6px 3px}.skill-tile .ability-art{width:48px;height:48px}.skill-tile .skill-name{font-size:10px;line-height:1.25}.skill-tile small{font-size:10px}.skill-slot-empty{font-size:10px;padding:6px 3px;min-height:112px}.skill-rotation{font-size:11px;min-height:34px;padding:4px 7px}.skill-deck-head a{font-size:12px}.hunt-timer{padding:0 12px 12px;gap:8px}.hunt-timer>.btn{font-size:11px;min-height:36px;padding:5px 8px}.hunt-timer>span{font-size:11px}.combat-v8 .combat-session{padding:12px 8px;gap:6px}.combat-session>div{gap:6px}.combat-session>div>svg{width:17px;height:17px}.combat-session>div>.sprite{width:27px;height:33px}.combat-session strong{font-size:23px}.combat-session small{font-size:10px}.combat-loot-strip{gap:8px;padding:10px}.combat-loot-strip>.sprite{width:42px;height:46px}.combat-loot-strip strong{font-size:12px}.combat-loot-strip small{font-size:11px}.combat-loot-strip>.btn{font-size:0;padding:8px;min-width:40px}.combat-loot-strip>.btn>svg{width:19px;height:19px}.combat-v8 .region-side{display:flex;gap:12px}.journal-panel{padding:16px 12px}.journal-feed{max-height:340px}.journal-event{grid-template-columns:38px minmax(0,1fr) auto;padding:9px}.journal-event-art{width:38px;height:38px}.journal-event strong{font-size:13px}.journal-event span{font-size:12px}.journal-event time{font-size:10px}.hunt-sheet-hero{height:90px}.hunt-sheet .section-tabs{margin-bottom:12px}.hunt-config-row{gap:10px}.party-switch{padding:10px 12px}.party-switch small{display:block;margin:1px 0 0;font-size:11px}.hunt-options summary{font-size:12px}.hunt-supply .btn{font-size:11px;padding:7px}.next-difficulty{gap:8px;padding:10px}.next-difficulty>.sprite{width:30px;height:40px}.next-difficulty .btn{padding:6px;font-size:10px}.inventory-v8{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gear-card{padding:10px 6px;border-radius:11px;gap:5px}.gear-card>.sprite{width:68px;height:72px}.gear-card>span{font-size:11px}.gear-card>small{font-size:10px}.bag-strip{gap:12px;padding:14px}.bag-strip>.btn{margin:0;width:100%}.bag-strip>small{flex-basis:100%}.chest-card{padding:16px 12px;gap:12px}.chest-card h2{font-size:22px}.chest-card-art{width:82px;height:92px}.chest-card p{font-size:12px;margin-bottom:12px}.chest-actions .btn{font-size:12px;padding:8px 10px}.empty-chests{padding:30px 16px}.empty-chests h2{font-size:23px}.empty-chests p{font-size:13px}.empty-chests>.sprite{width:120px;height:120px}.reveal-rewards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.reveal-rewards:has(>.reveal-card:only-child){grid-template-columns:1fr}.reveal-card{padding:14px 8px}.reveal-card>.sprite{height:86px}.reveal-card strong{font-size:12px}.reveal-card small{font-size:10px}.reveal-chest>.sprite{width:170px;height:170px}.skills-grid{gap:9px}.skill-card{padding:12px;gap:7px}.skill-emblem,.skill-emblem>.ability-art{width:54px;height:54px}.skill-card-head{align-items:start;flex-direction:column;gap:6px}.skill-card h3{font-size:19px}.skill-card p{font-size:12px;line-height:1.6}.skill-card .btn{font-size:12px;padding:8px}.skill-meta{font-size:10px}.skill-card .badge{font-size:10px}.skill-lock{font-size:11px}.loadout-note{font-size:13px}.talent-budget{gap:8px;margin-bottom:12px}.talent-budget>.badge{font-size:11px}.talent-budget>span:not(.badge){font-size:11px}.talent-budget .btn{font-size:11px;padding:6px 8px;margin:0}.talent-mobile-tabs{display:flex;gap:6px;margin-bottom:16px}.talent-mobile-tabs .btn{flex:1;min-width:0;font-size:12px;padding:8px 5px;white-space:normal}.talent-mobile-tabs .btn.active{border-color:#a1c9e3;background:#dfeffd}.talent-tree-grid{grid-template-columns:1fr}.talent-tree{display:none;padding:20px}.talent-tree.selected{display:block}.talent-tree-title{justify-content:center;margin-bottom:28px}.talent-tree-title .ability-art{width:62px;height:62px}.talent-medallion{min-height:128px}.talent-medallion .ability-art{width:72px;height:72px}.city-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.city-switcher .btn{font-size:12px}.city-hub .city-scene{height:100px}.city-hub .city-scene-caption h2{font-size:22px}.city-hub .building-board{aspect-ratio:3/2}.city-hub .building-lot{width:29%;height:44%}.city-hub .building-lot>.sprite{height:calc(100% - 38px)}.city-hub .building-caption strong{font-size:11px}.city-hub .building-caption>span{font-size:9px}.project-entry{gap:12px;padding:10px 14px}.project-entry>.sprite{width:64px;height:56px;max-width:64px;max-height:56px}.project-entry strong{font-size:14px}.project-entry small{font-size:11px}.building-upgrade{display:block;padding:18px}.service-building-art{height:115px;width:140px;float:left;margin:0 16px 12px 0}.service-building-art>.sprite{max-height:115px;max-width:140px}.building-upgrade>h2{font-size:18px;margin-top:12px;min-height:72px}.building-upgrade-details{clear:both}.building-upgrade-details>summary{font-size:13px}.building-service-layout .panel-pad{padding:16px}.building-service-layout h2{font-size:22px}.forge-equipment>article{gap:8px;padding:10px;grid-template-columns:45px minmax(0,1fr) auto}.forge-equipment>article>.sprite{width:45px;height:62px}.forge-equipment strong{font-size:12px}.forge-equipment small{font-size:11px}.forge-equipment .btn{padding:6px 8px;font-size:12px}.forge-equipment .costs{gap:3px}.forge-equipment .costs>span{padding:2px 3px;font-size:9px}.warehouse-rows>div{gap:10px}.warehouse-rows>div>span{font-size:12px;gap:5px}.warehouse-rows strong{font-size:12px}.warehouse-rows .btn{font-size:11px;padding:6px 8px}.warehouse-rows svg{width:16px;height:16px}.inn-health{gap:16px}.inn-health>.sprite{width:68px;height:95px}.inn-health p{font-size:12px}.shop-quantities{gap:5px}.shop-quantities>.btn{font-size:11px;padding:8px 5px}.apothecary{gap:12px}.apothecary p{font-size:13px}.service-regions>button>img{width:58px;height:52px}.service-regions strong{font-size:13px}.service-regions small{font-size:11px}.project-workshop{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}.project-art{height:170px}.project-art>.sprite{max-height:170px}.visit-service{flex-wrap:wrap;gap:8px}.visit-service>span{font-size:12px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:18px;border-radius:18px}.dialog-header{margin-bottom:16px}.dialog-header h2{font-size:24px}.dialog-actions{margin-top:18px}.dialog-actions .btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){.atlas-peer,.reveal-chest>.sprite,.loot-reveal.opened .loot-particles i,.loot-reveal.opened .chest-aura,.reveal-card{animation:none;transition:none}.loot-reveal.opened .chest-aura{display:none}.reveal-card{opacity:1;translate:none}}
