/* The survivor dossier: equipment frames the portrait, with supplies below. */
.character-rpg{max-width:1600px;margin:0 auto;--dossier-edge:#355666}
.survivor-sheet{border:1px solid var(--dossier-edge);border-radius:8px;padding:18px;background:#0b1c26;box-shadow:0 12px 40px #030b1133;overflow:hidden}
.dossier-header{display:grid;grid-template-columns:minmax(180px,1fr) 104px minmax(140px,1fr) auto;align-items:center;gap:22px;margin-bottom:16px}
.dossier-identity{min-width:0}.dossier-identity h1{font-family:'Press Start 2P',monospace;font-size:clamp(16px,1.5vw,25px);line-height:1.65;color:#f5e6b7;margin:0;overflow-wrap:anywhere;letter-spacing:-.6px}
.dossier-identity p{font-size:12px;margin:5px 0 0;color:#a8bdc8}.dossier-identity .mode-badge{margin-top:7px;display:inline-block}
.dossier-level{height:104px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background-position:center;background-size:contain;background-repeat:no-repeat;gap:6px;isolation:isolate}
.dossier-level>span{color:#ffdc75;font:700 8px 'Press Start 2P',monospace;margin-top:3px}.dossier-level>b{font:25px 'Press Start 2P',monospace;color:#ffda69;line-height:1.2;text-shadow:0 3px #382809}.dossier-level small{display:none}
.dossier-honours{padding-left:20px;border-left:1px solid #2c4552;min-width:0}.dossier-honours>.eyebrow{font-size:8px;color:#f1c259;letter-spacing:1.7px}.dossier-honours .character-trophies{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-start;margin-top:8px}.dossier-honours .trophy-button{width:37px;height:39px;padding:3px;border-radius:5px;background:#091923;border:1px solid #355363}.dossier-honours .trophy-button img,.dossier-honours .trophy-button svg{width:29px;height:29px;object-fit:contain}.dossier-honours .honours-empty{font-size:11px;color:#93adba;margin-bottom:0}
.dossier-actions{display:flex;gap:7px;align-self:start;padding-top:5px}.dossier-actions button{padding:9px 11px;font-size:10px;min-height:34px;white-space:nowrap}
.character-rpg .character-vitals{margin:0 0 16px;gap:0;border:1px solid #2b4654;background:#081922;border-radius:6px;padding:10px 14px}
.character-rpg .character-vital{padding:0 16px;border:0;border-radius:0;background:none;box-shadow:none}.character-rpg .character-vital:first-child{padding-left:0;border-right:1px solid #365260}.character-rpg .character-vital:last-child{padding-right:0}.character-rpg .character-vital>header{margin-bottom:6px;flex-wrap:nowrap}.character-rpg .character-vital>header>span{min-height:20px;font-size:9px;color:#a6c1cf;letter-spacing:1.4px}.character-rpg .character-vital>header>b{font-size:11px}.character-rpg .character-vital>.progress{height:6px}.character-rpg .character-vital>small{font-size:9px;line-height:1.4;margin-top:5px}.character-rpg .vital-health>header>span:before{content:'♥';font-size:19px;color:#ff7178;margin-right:7px}.character-rpg .vital-xp>header>span:before{content:'✦';font-size:18px;color:#ffce54;margin-right:7px}
.dossier-loadout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(260px,1.4fr) minmax(230px,1fr);gap:12px;align-items:stretch}
.dossier-gear{display:grid;grid-template-rows:repeat(3,1fr);gap:10px;position:relative;z-index:1;min-width:0}
.character-rpg .equipment-slot{display:grid;grid-template-columns:70px minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;align-items:center;gap:5px 11px;text-align:left;height:auto;min-height:139px;padding:12px;border:1px solid #355667;border-left:2px solid color-mix(in srgb,var(--rarity) 65%,#355667);border-radius:6px;background:#0d202b;box-shadow:inset 0 1px #c7e9f508;overflow:hidden;position:relative}
.character-rpg .equipment-slot:hover{background:#152c38;border-color:#77939d;transform:none}.character-rpg .equipment-slot:focus-visible{outline:2px solid #ffce56;outline-offset:3px}
.character-rpg .equipment-slot-heading{grid-column:1/-1;margin:0;min-height:16px;flex-wrap:nowrap}.character-rpg .slot-label{font-size:8px;letter-spacing:1.5px;color:#a9c5d5}
.character-rpg .equipment-slot>.item-art{grid-row:2/4;grid-column:1;width:70px;height:78px;margin:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:1px solid #3b5968;border-radius:5px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--rarity) 20%,#132c38),#081923);position:relative}.character-rpg .equipment-slot>.empty-art{border-style:dashed;opacity:.6}.character-rpg .equipment-slot .item-art img{max-width:58px;max-height:62px;object-fit:contain}
.equipment-description{grid-column:2/-1;grid-row:2;min-width:0;padding-right:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.equipment-description>b{font-size:12px;line-height:1.35;color:#e9eceb;overflow-wrap:anywhere}.equipment-description>small{font-size:9px;line-height:1.5;color:#a8bdc8}.equipment-description .rarity-badge{font-size:8px;padding:2px 5px}
.character-rpg .equipment-slot>.durability{grid-column:2;grid-row:3;min-width:0;width:100%;margin:2px 0 0}.character-rpg .durability>span{font-size:8px}.character-rpg .durability>div{height:4px}.equipment-change{grid-column:3;grid-row:3;border:1px solid #3f6276;border-radius:4px;background:#142d3c;padding:5px 7px;font-size:9px;color:#dce8ef;white-space:nowrap}.unoccupied .equipment-change{align-self:end}
.dossier-portrait{position:relative;min-width:0;min-height:440px;isolation:isolate;border-radius:5px;background:#0a1820;overflow:hidden;display:flex;align-items:flex-end}.dossier-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2;image-rendering:pixelated}.dossier-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#06131cef,transparent 24%,transparent 88%,#0b1c2677);z-index:-1;pointer-events:none}
.dossier-portrait #character-equipped-bonuses{width:100%;padding:9px;box-sizing:border-box}.character-rpg .armour-summary{margin:0;padding:10px;background:#081923ec;border:1px solid #3d5d6d;border-radius:5px;box-shadow:0 5px 16px #0005}.character-rpg .loadout-summary-heading{margin:0;display:block}.character-rpg .loadout-summary-heading>div:first-child,.character-rpg .overview-gear-strip{display:none}.character-rpg .loadout-summary-links{display:flex;justify-content:center;gap:10px;margin:0 0 8px}.character-rpg .loadout-summary-links button{font-size:8px;color:#ffce59;padding:0;min-height:18px}.character-rpg .armour-contributions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;gap:0;padding:0;border:0}.character-rpg .armour-contributions>div{border-right:1px solid #31454f;padding:0 6px;min-width:0;text-align:center}.character-rpg .armour-contributions>div:last-child{border:0}.character-rpg .armour-contributions dt{font-size:8px;color:#a5bfce;margin-bottom:5px}.character-rpg .armour-contributions dd{font-size:14px;color:#fbd478;margin:0}.character-rpg .armour-contributions .amulet-contribution dd{font-size:9px;line-height:1.2;max-height:45px;overflow:auto}
.character-rpg .tool-foldout{margin:14px 0;border:1px solid var(--dossier-edge);border-radius:5px;background:#0d202b}.character-rpg .tool-foldout summary{padding:12px 15px;font-size:12px}.character-rpg .tool-foldout summary span{font-size:10px;color:#9db9c9}.character-rpg .tool-foldout .equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:10px;margin:0}
.dossier-support{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}.character-rpg .companion-panel,.dossier-effects{position:relative;min-height:156px;box-sizing:border-box;border:0;border-radius:6px;overflow:hidden}
.character-rpg .companion-panel{margin:0;padding:42px 16px 14px 40%;gap:10px;align-items:center;background:#0d202b;flex-wrap:wrap}.character-rpg .companion-panel .companion-art{position:absolute;left:7%;bottom:17px;width:95px}.character-rpg .companion-panel .companion-art>svg{opacity:.3;width:48px;height:48px}.character-rpg .companion-panel .companion-art img{max-width:110px;max-height:90px;object-fit:contain}.character-rpg .companion-panel>div:nth-child(2){min-width:0;flex:1 1 100%}.character-rpg .companion-panel .eyebrow{position:absolute;left:17px;top:17px;color:#ffd061;font-size:8px}.character-rpg .companion-panel h2{font-size:13px;line-height:1.4;margin:0 0 6px}.character-rpg .companion-panel p{font-size:10px;line-height:1.55;margin:0;color:#a9beca}.character-rpg .companion-panel small{font-size:9px}.character-rpg .companion-panel>.small{margin-left:auto;width:auto;padding:6px 10px;font-size:9px;min-height:28px}
.dossier-effects.current-boosts{margin:0;padding:16px;background:#0d202b}.dossier-effects>header{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:16px}.dossier-effects .eyebrow{color:#ffd061;font-size:8px}.dossier-effects .boost-chip-row{display:flex;flex-wrap:wrap;gap:8px}.dossier-effects .boosts-empty{font-size:11px;color:#dce5e9;max-width:65%;line-height:1.7;margin:0}.dossier-effects .boost-chip{background:#0c202cee;padding:8px;flex:1 1 190px;min-width:0}.dossier-effects .boost-chip b{font-size:11px}.dossier-effects .boost-chip span,.dossier-effects .boost-chip small{font-size:9px}
.character-rpg .dossier-supplies-heading{margin:0 0 10px}.dossier-supplies-heading h2{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#ead9ad}.dossier-supplies-heading>span{font-size:10px}.character-rpg .consumable-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.character-rpg .consumable{padding:14px;gap:9px;background:#102531;border:0;border-radius:6px;min-width:0}.character-rpg .consumable .card-heading{gap:10px;align-items:flex-start}.character-rpg .consumable h3{font-size:12px;line-height:1.4;margin:4px 0 0}.character-rpg .consumable .meta{font-size:7px;letter-spacing:.8px}.character-rpg .consumable .card-heading>strong{font-size:15px;color:#ffce57;white-space:nowrap;margin-left:auto}.character-rpg .consumable>p{font-size:10px;line-height:1.7;color:#a8bdc8}.character-rpg .supply-effect{font-size:10px;padding:0;border:0;color:#ffda79}.character-rpg .auto-supply>small,.character-rpg .pass-boost>small{font-size:9px;line-height:1.5}.character-rpg .supply-actions{margin-top:auto;display:flex;gap:7px}.character-rpg .supply-actions button{font-size:9px;min-height:32px;padding:7px;flex:1}.character-rpg .pass-boost{background:#0d202b;display:flex;flex-direction:column}.character-rpg .pass-boost>p{max-width:75%}
@media(min-width:1500px){.dossier-loadout{grid-template-columns:minmax(300px,1fr) minmax(360px,1.45fr) minmax(300px,1fr)}.character-rpg .equipment-slot{min-height:155px}.dossier-portrait{min-height:485px}.equipment-description>b{font-size:14px}.equipment-description>small{font-size:10px}}
@media(max-width:1150px){.dossier-header{grid-template-columns:1fr 94px auto;gap:15px}.dossier-honours{grid-column:1/3;grid-row:2;padding:0;border:0;display:flex;align-items:center;gap:12px}.dossier-honours .character-trophies{margin:0}.dossier-actions{grid-column:3;grid-row:1/3;align-self:center;flex-direction:column}.dossier-level{height:94px}.dossier-loadout{grid-template-columns:minmax(190px,1fr) minmax(200px,1.05fr) minmax(190px,1fr);gap:9px}.character-rpg .equipment-slot{grid-template-columns:54px minmax(0,1fr) auto;padding:9px;gap:5px 7px;min-height:148px}.character-rpg .equipment-slot>.item-art{width:54px;height:66px}.character-rpg .equipment-slot .item-art img{max-width:46px;max-height:52px}.equipment-description>b{font-size:11px}.equipment-description>small{font-size:8px}.equipment-change{font-size:8px;padding:5px}.character-rpg .armour-contributions{grid-template-columns:1fr 1fr;row-gap:9px}.character-rpg .armour-contributions>div:nth-child(2){border:0}.character-rpg .consumable-grid{grid-template-columns:1fr 1fr}.character-rpg .pass-boost{grid-column:1/-1;min-height:150px;background-position:right center;background-size:50% auto;background-repeat:no-repeat}.character-rpg .pass-boost>p{max-width:65%}.character-rpg .pass-boost .supply-actions{max-width:250px}.character-rpg .tool-foldout .equipment-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.survivor-sheet{padding:12px}.dossier-header{gap:10px}.dossier-identity h1{font-size:16px;line-height:1.6}.dossier-loadout{grid-template-columns:1fr 1fr;gap:10px}.dossier-portrait{grid-column:1/-1;grid-row:1;min-height:440px;max-height:480px}.dossier-portrait>img{object-fit:contain;background:#091922}.dossier-portrait #character-equipped-bonuses{max-width:460px;margin:0 auto}.character-rpg .armour-contributions{grid-template-columns:repeat(4,minmax(0,1fr))}.dossier-gear-left{grid-column:1;grid-row:2}.dossier-gear-right{grid-column:2;grid-row:2}.character-rpg .equipment-slot{min-height:151px}.dossier-support{grid-template-columns:1fr}.character-rpg .companion-panel{min-height:155px}.dossier-effects{min-height:150px}.character-rpg .tool-foldout summary span{font-size:9px}.character-rpg .companion-panel .companion-art{left:10%}}
@media(max-width:480px){.survivor-sheet{padding:10px}.dossier-header{grid-template-columns:1fr 84px;gap:12px;margin-bottom:12px}.dossier-identity h1{font-size:14px;letter-spacing:-.5px}.dossier-identity p{font-size:11px}.dossier-level{height:84px}.dossier-level>b{font-size:22px}.dossier-level>span{font-size:7px}.dossier-honours{grid-column:1/-1;grid-row:2;flex-wrap:wrap;gap:7px}.dossier-honours .character-trophies{gap:4px}.dossier-honours .trophy-button{width:32px;height:34px}.dossier-honours .trophy-button img,.dossier-honours .trophy-button svg{width:25px;height:25px}.dossier-actions{grid-column:1/-1;grid-row:3;flex-direction:row;padding:0}.dossier-actions button{flex:1;min-height:36px}.character-rpg .character-vitals{grid-template-columns:1fr;padding:10px;margin-bottom:10px;gap:9px}.character-rpg .character-vital{padding:0!important;border:0!important}.character-rpg .character-vital>small{font-size:8px}.dossier-portrait{min-height:385px}.dossier-loadout{gap:8px}.dossier-gear{gap:8px}.character-rpg .equipment-slot{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;gap:6px;min-height:190px;padding:8px}.character-rpg .equipment-slot-heading{grid-column:1/-1}.character-rpg .equipment-slot>.item-art{grid-column:1;grid-row:2;width:44px;height:48px}.character-rpg .equipment-slot .item-art img{max-width:39px;max-height:43px}.equipment-description{grid-column:1/-1;grid-row:3;align-self:start}.equipment-description>b{font-size:11px}.equipment-description>small{font-size:9px}.equipment-description .rarity-badge{font-size:7px}.equipment-change{grid-column:2;grid-row:2;align-self:center;padding:6px 4px;text-align:center}.character-rpg .equipment-slot>.durability{grid-column:1/-1;grid-row:4;margin:0}.character-rpg .slot-label{font-size:7px;letter-spacing:1px}.character-rpg .armour-contributions dd{font-size:12px}.character-rpg .armour-contributions dt{font-size:7px}.character-rpg .loadout-summary-links{gap:14px}.character-rpg .tool-foldout summary{padding:12px 10px;font-size:11px}.character-rpg .tool-foldout summary span{font-size:8px}.character-rpg .tool-foldout .equipment-grid{padding:8px;gap:8px}.character-rpg .consumable-grid{grid-template-columns:1fr}.character-rpg .pass-boost{grid-column:auto;background-size:cover;min-height:185px}.character-rpg .consumable{padding:14px}.character-rpg .companion-panel{padding-left:38%;}.character-rpg .companion-panel h2{font-size:12px}.character-rpg .companion-panel p{font-size:9px}.character-rpg .companion-panel .companion-art{left:6%;width:80px}.character-rpg .companion-panel .companion-art img{max-width:85px}.dossier-effects .boosts-empty{max-width:70%;font-size:10px}}
/* Reset spacing inherited from the older equipment and supply cards. */
.character-rpg .equipment-description>small,.character-rpg .equipment-description>.rarity-badge{margin:0}
.character-rpg .equipment-slot>.durability>span{line-height:1.3;margin:0 0 3px}
.character-rpg .equipment-slot>.durability>span>b{margin:0;font-size:8px}
.character-rpg .equipment-slot>.durability>div{margin:0}
.character-rpg .tool-foldout{padding:0}
.character-rpg .supply-actions{flex-direction:row;padding:0}
.character-rpg .consumable>small{margin:0}
.character-rpg .consumable .supply-effect{margin:0}
.dossier-honours .trophy-art{width:29px!important;height:29px!important;display:block}
.dossier-honours .trophy-art svg{display:block}
.dossier-level>span{position:absolute;top:17%;margin:0;font-size:7px}
.dossier-level>b{margin-top:8px}
.dossier-effects .boosts-empty{white-space:normal}
@media(min-width:801px){.dossier-portrait{height:470px;min-height:470px}.dossier-portrait>img{object-fit:contain;object-position:center top}.dossier-portrait #character-equipped-bonuses{padding:7px}.dossier-gear{grid-template-rows:repeat(3,minmax(0,1fr))}.character-rpg .equipment-slot{min-height:0}.character-rpg .equipment-description>small{line-height:1.45}}
@media(min-width:1500px){.dossier-portrait{height:500px;min-height:500px}}
@media(max-width:480px){.dossier-level>span{font-size:6px}.character-rpg .supply-actions{flex-wrap:wrap}.character-rpg .supply-actions button{min-height:38px}.dossier-honours .trophy-art{width:25px!important;height:25px!important}}
.character-rpg .dossier-portrait>img{object-fit:cover;object-position:center top}
.character-rpg .dossier-level>span{top:13%;font-size:6px}
.character-rpg .consumable>p{min-height:0;margin:0}
.character-rpg .dossier-effects .eyebrow{margin:0}
.character-rpg .dossier-effects .boosts-empty{max-width:65%;font-size:11px}
.character-rpg .character-vital>header{flex-direction:row;align-items:center}
.character-rpg .equipment-slot>.item-art>svg{max-width:58px;max-height:62px}
@media(max-width:1150px){.character-rpg .equipment-slot>.item-art>svg{max-width:46px;max-height:52px}}
@media(max-width:480px){.character-rpg .equipment-slot>.item-art>svg{width:39px;height:39px}.character-rpg .character-vital>header{gap:5px}.character-rpg .character-vital>header>span{font-size:8px}.character-rpg .character-vital>header>b{font-size:10px}}
@media(min-width:801px){.character-rpg .dossier-portrait{height:auto}}

/* A compact identity row and artwork confined to the support-panel edges. */
.character-rpg .dossier-header{grid-template-columns:96px minmax(190px,1fr) minmax(150px,1fr) auto;gap:18px}
.character-rpg .dossier-level{grid-column:1;grid-row:1;width:96px;height:96px;flex:none}
.character-rpg .dossier-identity{grid-column:2;grid-row:1}
.character-rpg .dossier-level>span{position:absolute;top:14%;left:50%;transform:translate(-50%,-50%);font:800 9px/1 Arial,sans-serif;letter-spacing:.4px;margin:0;color:#ffe3a0}
.character-rpg .dossier-level>b{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);font:26px/1 'Press Start 2P',monospace;letter-spacing:-1px;margin:0;text-align:center;text-shadow:0 2px #352508}
.character-rpg .companion-panel{background:#0d202b;padding:44px 18px 16px 36%;min-height:160px;isolation:isolate}

.character-rpg .companion-panel .companion-art{left:5%;bottom:14px;max-width:24%}
.character-rpg .dossier-effects.current-boosts{background:#0d202b;isolation:isolate;min-height:160px}

.character-rpg .dossier-effects .boosts-empty{max-width:none}
.character-rpg .dossier-effects .boost-chip{flex-basis:160px}
.trophy-art>img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
@media(max-width:1150px){
 .character-rpg .dossier-header{grid-template-columns:88px minmax(0,1fr) auto;gap:14px}
 .character-rpg .dossier-level{width:88px;height:88px}
 .character-rpg .dossier-level>b{font-size:24px}
 .character-rpg .dossier-honours{grid-column:1/3;grid-row:2}
}
@media(max-width:600px){
 .character-rpg .dossier-header{grid-template-columns:78px minmax(0,1fr);gap:12px 10px}
 .character-rpg .dossier-level{width:78px;height:78px}
 .character-rpg .dossier-level>span{font-size:8px}
 .character-rpg .dossier-level>b{font-size:22px}
 .character-rpg .dossier-identity h1{font-size:clamp(11px,3.1vw,16px);line-height:1.65;letter-spacing:0;overflow-wrap:anywhere;word-break:normal}
 .character-rpg .dossier-identity p{font-size:11px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
 .character-rpg .dossier-honours{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0}
 .character-rpg .dossier-actions{grid-column:1/-1;grid-row:3;display:flex;flex-direction:row;padding:0;gap:8px}
 .character-rpg .dossier-actions button{flex:1;min-height:40px}
 .character-rpg .companion-panel{padding:44px 12px 14px 35%;min-height:168px}
 .character-rpg .companion-panel h2{font-size:12px}
 .character-rpg .companion-panel p{font-size:10px}
 .character-rpg .companion-panel>.small{min-height:36px}
 .character-rpg .dossier-effects.current-boosts{padding-right:29%;min-height:160px}
 .character-rpg .dossier-effects:before{width:27%}
 .character-rpg .dossier-effects>header{gap:7px}
 .character-rpg .dossier-effects .boosts-empty{font-size:11px}
}

/* Keep rarity with the item artwork, and give equipment details a clear reading order. */
.character-rpg .equipment-slot{grid-template-columns:78px minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;gap:10px 12px;min-height:164px;padding:14px;align-items:start}
.character-rpg .equipment-visual{grid-column:1;grid-row:2/4;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.character-rpg .equipment-visual .item-art{display:grid;place-items:center;width:72px;height:76px;margin:0;border:1px solid #486371;border-radius:5px;background:radial-gradient(ellipse at center,#30485255,#10232c);flex:none}
.character-rpg .equipment-visual .item-art .pixel-icon{width:56px;height:56px;max-width:60px;max-height:62px}
.character-rpg .equipment-visual .rarity-badge{max-width:100%;margin:0;padding:3px 5px;font-size:7px;line-height:1.4;letter-spacing:0;white-space:normal;text-align:center;justify-content:center}
.character-rpg .equipment-description{grid-column:2/-1;grid-row:2;gap:8px;align-self:start;padding:1px 0 0}
.character-rpg .equipment-description>b{font-size:13px;line-height:1.4}
.character-rpg .equipment-description>small{font-size:10px;line-height:1.65;color:#aec2cc}
.character-rpg .equipment-slot>.durability{grid-column:2;grid-row:3;align-self:end;margin:0 0 3px}
.character-rpg .equipment-change{grid-column:3;grid-row:3;align-self:end;padding:7px 9px;font-size:9px;line-height:1.4}
.character-rpg .equipment-slot.unoccupied .equipment-description{align-self:center}
@media(max-width:1150px) and (min-width:801px){.character-rpg .equipment-slot{grid-template-columns:64px minmax(0,1fr) auto;gap:9px;padding:11px}.character-rpg .equipment-visual .item-art{width:62px;height:68px}.character-rpg .equipment-description>b{font-size:12px}.character-rpg .equipment-description>small{font-size:9px}}
@media(max-width:600px){.character-rpg .dossier-loadout{grid-template-columns:minmax(0,1fr)}.character-rpg .dossier-gear-left{grid-column:1;grid-row:2}.character-rpg .dossier-gear-right{grid-column:1;grid-row:3}.character-rpg .dossier-gear{grid-template-rows:none}.character-rpg .equipment-slot{min-height:155px;grid-template-columns:72px minmax(0,1fr) auto;padding:12px;gap:9px 10px}.character-rpg .equipment-visual .item-art{width:68px;height:72px}.character-rpg .equipment-description>b{font-size:12px}.character-rpg .tool-foldout .equipment-grid{grid-template-columns:1fr}}

/* Active companions get a visible portrait beside their details. */
.character-rpg .companion-panel.has-companion{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:1fr auto;column-gap:14px;row-gap:12px;align-items:center;padding-left:36%}
.character-rpg .companion-panel.has-companion .companion-art{position:static;grid-column:1;grid-row:1/3;display:grid;place-items:center;width:76px;height:86px;max-width:none;border:1px solid #456473;border-radius:7px;background:#112833;box-shadow:inset 0 1px #d1e5db0d}
.character-rpg .companion-panel.has-companion .companion-art>svg{display:block;width:72px;height:78px;opacity:1;image-rendering:pixelated}
.character-rpg .companion-panel.has-companion>div:nth-child(2){grid-column:2;grid-row:1;min-width:0}
.character-rpg .companion-panel.has-companion h2{font-size:14px;margin:0 0 7px;overflow-wrap:anywhere}
.character-rpg .companion-panel.has-companion p{line-height:1.65;margin:0}
.character-rpg .companion-panel.has-companion small{display:block;margin-top:8px;color:#9ed4ba;line-height:1.5}
.character-rpg .companion-panel.has-companion>.small{grid-column:2;grid-row:2;justify-self:end;margin:0;min-height:34px}
@media(max-width:600px){.character-rpg .companion-panel.has-companion{grid-template-columns:64px minmax(0,1fr);column-gap:10px;padding-left:27%;min-height:190px}.character-rpg .companion-panel.has-companion:before{width:24%}.character-rpg .companion-panel.has-companion .companion-art{width:64px;height:76px}.character-rpg .companion-panel.has-companion .companion-art>svg{width:62px;height:70px}.character-rpg .companion-panel.has-companion h2{font-size:13px}}
/* Character equipment dossier: compact header, larger loot art, full-width summary. */
.character-rpg .survivor-sheet{padding:12px;background:#0d1922;border-color:#314a59}
.character-rpg .dossier-header{grid-template-columns:64px minmax(160px,1fr) auto auto;gap:14px;margin:0;padding:10px 14px;background:#10212b;border:1px solid #314a59;border-radius:5px 5px 0 0}
.character-rpg .dossier-level{width:64px;height:64px}.character-rpg .dossier-level>b{font-size:18px}.character-rpg .dossier-level>span{font-size:6px}.character-rpg .dossier-identity h1{font-size:18px;line-height:1.5;margin:0}.character-rpg .dossier-identity p{font-size:10px;margin:3px 0 0}.character-rpg .dossier-honours{grid-column:3;grid-row:1;padding-left:15px}.character-rpg .dossier-actions{grid-column:4;grid-row:1}.character-rpg .dossier-actions button{font-size:9px;min-height:30px;padding:7px}.character-rpg .dossier-honours .trophy-button{width:31px;height:34px}.character-rpg .dossier-honours .trophy-button img{width:27px;height:29px}
.character-rpg .character-vitals{padding:9px 14px;margin:0 0 14px;border-top:0;border-radius:0 0 5px 5px;background:#10212b}.character-rpg .character-vital>small{display:none}.character-rpg .character-vital header{margin-bottom:5px}.character-rpg .character-vital .progress{height:5px}
.character-rpg .equipment-slot{grid-template-columns:96px minmax(0,1fr) auto;min-height:146px;gap:6px 12px;border-left:1px solid #355667;background:#10212b;padding:12px}.character-rpg .equipment-visual{grid-row:1/4;align-self:center}.character-rpg .equipment-slot-heading{grid-column:2/-1}.character-rpg .equipment-visual .item-art{width:94px;height:100px;border-color:color-mix(in srgb,var(--rarity) 65%,#314a59);background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--rarity) 35%,#14242f),#0b1923 85%);box-shadow:inset 0 1px #ffffff14}.character-rpg .equipment-visual .item-art .pixel-icon,.character-rpg .equipment-slot .item-art img{width:84px;height:88px;max-width:84px;max-height:88px}.character-rpg .equipment-description{gap:4px}.character-rpg .equipment-description>small{font-size:9px;line-height:1.5}.character-rpg .equipment-description>b{font-size:12px}.character-rpg .dossier-portrait{min-height:460px}
.character-rpg #character-equipped-bonuses{width:100%;margin-top:14px}.character-rpg .armour-summary{padding:15px;background:#10212b}.character-rpg .armour-contributions dd{font-size:19px}.character-rpg .armour-contributions dt{font-size:10px}.character-rpg .loadout-summary-links{justify-content:flex-end;margin-bottom:12px}.character-rpg .loadout-summary-links button{font-size:10px}.character-rpg .character-set-bonus{border-top:1px solid #314a59;margin-top:15px;padding-top:13px}.character-rpg .character-set-bonus h3{font-size:12px;color:#ffc34d;margin:0 0 10px}.character-rpg .character-set-bonus>div{display:flex;align-items:center;gap:14px;padding:7px 0;font-size:11px}.character-rpg .character-set-bonus strong{color:#f0f4f7}.character-rpg .character-set-bonus b{color:#ffc34d;font-variant-numeric:tabular-nums}.character-rpg .character-set-bonus span{color:#a9bdcc}
@media(max-width:1150px){.character-rpg .dossier-header{grid-template-columns:64px minmax(0,1fr) auto}.character-rpg .dossier-honours{grid-column:1/-1;grid-row:2;border:0;padding:0}.character-rpg .dossier-actions{grid-column:3;grid-row:1}.character-rpg .equipment-slot{grid-template-columns:80px minmax(0,1fr) auto;gap:6px 9px}.character-rpg .equipment-visual .item-art{width:78px;height:88px}.character-rpg .equipment-visual .item-art .pixel-icon,.character-rpg .equipment-slot .item-art img{width:72px;height:78px;max-width:72px;max-height:78px}}
@media(max-width:600px){.character-rpg .dossier-header{grid-template-columns:54px minmax(0,1fr);gap:9px;padding:10px}.character-rpg .dossier-level{width:54px;height:54px}.character-rpg .dossier-level>b{font-size:16px}.character-rpg .dossier-identity h1{font-size:12px}.character-rpg .dossier-actions{grid-column:1/-1;grid-row:3}.character-rpg .dossier-actions button{min-height:36px}.character-rpg .dossier-portrait{min-height:360px}.character-rpg .equipment-slot{min-height:132px}.character-rpg .equipment-description{grid-column:2/-1;grid-row:2}.character-rpg .equipment-slot>.durability{grid-column:2;grid-row:3}.character-rpg .equipment-change{grid-column:3;grid-row:3}.character-rpg .armour-contributions{grid-template-columns:1fr 1fr;gap:16px 0}.character-rpg .armour-contributions>div:nth-child(2){border:0}.character-rpg .character-set-bonus>div{flex-wrap:wrap;gap:8px 12px}.character-rpg .character-set-bonus span{flex-basis:100%}}
/* Compact character header and one-row equipment totals. */
.character-rpg .dossier-header{grid-template-columns:64px minmax(150px,1fr) minmax(220px,1.1fr) auto auto;border-radius:5px;margin-bottom:14px;gap:14px}
.character-rpg .dossier-header .character-vitals{grid-column:3;grid-row:1;display:grid;grid-template-columns:1fr;gap:9px;padding:0 14px;margin:0;border:0;border-left:1px solid #314a59;border-radius:0;background:none;min-width:0}
.character-rpg .dossier-header .character-vital{padding:0;border:0}.character-rpg .dossier-header .character-vital header{font-size:8px;margin-bottom:4px}.character-rpg .dossier-header .character-vital header b{font-size:9px}.character-rpg .dossier-honours{grid-column:4}.character-rpg .dossier-actions{grid-column:5}
.character-rpg .equipment-slot{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto 1fr auto;min-height:124px;gap:4px 12px;align-items:start}.character-rpg .equipment-slot>.durability{grid-column:2/-1;grid-row:3;align-self:end;margin:0}.character-rpg .equipment-visual{align-self:stretch;justify-content:center}.character-rpg .equipment-description{grid-column:2/-1;grid-row:2}.character-rpg .equipment-slot-heading{grid-column:2/-1}
.character-rpg #character-equipped-bonuses>.loadout-summary-heading{margin:0 0 8px}.character-rpg #character-equipped-bonuses>.loadout-summary-heading .loadout-summary-links{justify-content:center;margin:0;gap:20px}.character-rpg .armour-summary{display:grid;grid-template-columns:minmax(0,4fr) minmax(180px,1.25fr);align-items:center;gap:0;padding:16px}.character-rpg .armour-contributions{width:100%}.character-rpg .character-set-bonus{margin:0;padding:0 0 0 18px;border-top:0;border-left:1px solid #314a59}.character-rpg .character-set-bonus h3{font-size:9px;color:#a9bdcc;margin:0 0 5px}.character-rpg .character-set-bonus>div{display:flex;flex-wrap:wrap;gap:4px 9px;padding:0;font-size:10px}.character-rpg .character-set-bonus span{flex-basis:100%;font-size:9px}
@media(max-width:1400px){.character-rpg .dossier-header{grid-template-columns:58px minmax(130px,1fr) minmax(180px,1fr) auto}.character-rpg .dossier-honours{grid-column:4;grid-row:1}.character-rpg .dossier-actions{grid-column:2/-1;grid-row:2;flex-direction:row;justify-content:flex-end}.character-rpg .equipment-slot{grid-template-columns:80px minmax(0,1fr)}}
@media(max-width:850px){.character-rpg .dossier-header{grid-template-columns:54px minmax(0,1fr)}.character-rpg .dossier-header .character-vitals{grid-column:2;grid-row:2;border:0;padding:0}.character-rpg .dossier-honours{grid-column:1/-1;grid-row:3}.character-rpg .dossier-actions{grid-column:1/-1;grid-row:4}.character-rpg .armour-summary{grid-template-columns:1fr;gap:14px}.character-rpg .character-set-bonus{border-left:0;border-top:1px solid #314a59;padding:12px 0 0}.character-rpg .armour-contributions{grid-template-columns:repeat(4,minmax(0,1fr))}.character-rpg .armour-contributions dd{font-size:14px}}
@media(max-width:480px){.character-rpg .armour-contributions{grid-template-columns:1fr 1fr}.character-rpg .equipment-slot{grid-template-columns:80px minmax(0,1fr)}.character-rpg .loadout-summary-links button{font-size:9px}}

@media(min-width:801px){.character-rpg .tool-foldout .equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.character-rpg .tool-foldout>summary{cursor:default;list-style:none}.character-rpg .tool-foldout>summary::-webkit-details-marker{display:none}.character-rpg .tool-foldout .equipment-slot{grid-template-columns:64px minmax(0,1fr);padding:10px;gap:6px 9px}.character-rpg .tool-foldout .equipment-visual .item-art{width:62px;height:76px}.character-rpg .tool-foldout .equipment-visual .item-art .pixel-icon,.character-rpg .tool-foldout .equipment-slot .item-art img{width:58px;height:68px;max-width:58px;max-height:68px}}


/* Keep equipment copy and durability together beside the artwork. */
.character-rpg .equipment-slot{grid-template-rows:16px minmax(48px,auto) 20px;align-content:center;row-gap:4px}
.character-rpg .equipment-slot-heading{align-self:center;min-height:0;margin:0}
.character-rpg .equipment-description{align-self:start;padding:0;gap:4px}
.character-rpg .equipment-slot>.durability{align-self:end;margin:0;padding:0}
.character-rpg .equipment-visual{align-self:center}
.character-rpg .dossier-gear .equipment-slot{padding-block:16px}
@media(min-width:801px){.character-rpg .tool-foldout .equipment-slot{grid-template-rows:14px minmax(40px,auto) 18px;row-gap:3px}}


/* Balance the desktop identity, vitals, and honours around the header centre. */
@media(min-width:1401px){
.character-rpg .dossier-header{grid-template-columns:64px minmax(0,1fr) minmax(280px,34%) minmax(0,1fr) auto;column-gap:14px}
.character-rpg .dossier-header .character-vitals{width:100%;max-width:430px;justify-self:center;align-self:center;padding:0 18px;border-left:0}
.character-rpg .dossier-honours{justify-self:end;min-width:0;padding-left:14px}
.character-rpg .dossier-identity{min-width:0}
.character-rpg .dossier-identity h1{font-size:clamp(12px,1.15vw,18px)}
}


.equipment-tier-label{display:inline-block;margin-left:6px;color:#a9bdcc;font:600 9px/1.4 Arial,sans-serif;white-space:nowrap}.equipment-slot-heading .equipment-tier-label{margin-left:auto;color:#ffc34d}.rarity-badge+.equipment-tier-label{vertical-align:middle}


/* The survivor is the stage; equipment floats around the figure. */
.character-rpg .survivor-stage{border:0;background:#0d1922;padding:0;overflow:hidden}
.character-rpg .survivor-stage .dossier-header{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(220px,340px);padding:16px 22px;background:transparent;border:0;gap:14px;margin:0;position:relative;z-index:2}
.character-rpg .survivor-stage .dossier-level{width:56px;height:56px}
.character-rpg .survivor-stage .character-vitals{grid-column:3;grid-row:1;width:100%;padding:0;border:0}
.survivor-scene{height:610px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 75%,#34413c33,transparent 50%)}
#survivor-model-stage{position:absolute;inset:0;pointer-events:none}
#survivor-model-stage>.character-composition{position:absolute;left:0;right:0;bottom:14px;height:70%}
.character-composition{container-type:size;isolation:isolate}
.character-composition>:is(.male-rive,.female-rive){position:absolute;inset:0;width:100%;height:100%;pointer-events:none;container-type:size;isolation:isolate}
/* Follow the figure size and ground line, including its transparent artboard padding. */
#survivor-model-stage>.character-composition>:is(.male-rive,.female-rive).is-rive-ready::before{content:"";position:absolute;z-index:0;left:50%;bottom:.2%;width:min(48cqh,60cqw);height:10cqh;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse 24% 24% at 31% 43%,#080d10a6,transparent 100%),radial-gradient(ellipse 22% 25% at 73% 61%,#080d10a6,transparent 100%),radial-gradient(ellipse at center,#080f146b 12%,#080f1447 38%,#080f141c 58%,transparent 73%)}
#survivor-model-stage>.character-composition>:is(.male-rive,.female-rive)>canvas{position:relative;z-index:1}
#survivor-model-stage>.character-composition>:is(.male-rive,.female-rive)>canvas{display:block;width:100%;height:100%;pointer-events:auto;touch-action:pan-y}
.female-rive-character>.female-broken-smoke,.male-rive-character>.male-broken-smoke{position:absolute;z-index:2;left:48%;top:43%;width:5cqh;height:7cqh;pointer-events:none}
.female-rive-character>.female-broken-smoke.is-weapon{left:27%;top:54%}
.female-rive-character>.female-broken-smoke.is-back-tool{left:40%;top:37%}
.male-rive-character>.male-broken-smoke{width:6cqh;height:8cqh}
.male-rive-character>.male-broken-smoke.is-weapon{left:18%;top:58%}
.male-rive-character>.male-broken-smoke.is-back-tool{left:38%;top:37%}
.female-broken-smoke>i,.male-broken-smoke>i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 50% 58%,#b0b8b6cc,#98a5a180 42%,transparent 76%);filter:blur(2px);opacity:0;animation:femaleBrokenSmoke 2.4s ease-out infinite}
.female-broken-smoke>i:nth-child(2),.male-broken-smoke>i:nth-child(2){animation-delay:-.8s;left:-.8cqh}.female-broken-smoke>i:nth-child(3),.male-broken-smoke>i:nth-child(3){animation-delay:-1.6s;left:.7cqh}
@keyframes femaleBrokenSmoke{0%{opacity:0;transform:translateY(0) scale(.65)}25%{opacity:.9}72%{opacity:.55}100%{opacity:0;transform:translateY(-9cqh) scale(1.35)}}
body.reduce-motion .female-rive-character>.female-broken-smoke,body.reduce-motion .male-rive-character>.male-broken-smoke{display:none}
@media(prefers-reduced-motion:reduce){.female-rive-character>.female-broken-smoke,.male-rive-character>.male-broken-smoke{display:none}}
#survivor-model-stage .male-rive-status{position:absolute;left:0;right:0;top:42%;text-align:center;color:#b8cad3;font-size:12px}
@media(max-width:800px){#survivor-model-stage>.character-composition{height:60%;bottom:148px}}
.paper-survivor{height:100%;aspect-ratio:2/3;position:absolute;left:50%;bottom:0;transform:translateX(-50%);transform-origin:50% 94%;animation:survivor-breathe 5s ease-in-out infinite}
.paper-survivor>img{display:block;width:100%;height:100%;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.paper-survivor>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.paper-survivor.articulated-character{pointer-events:none;animation:none;transform:translateX(-50%)}
.paper-survivor.articulated-character>svg{pointer-events:none;-webkit-tap-highlight-color:transparent}
.survivor-weapon{display:none}.has-plank .survivor-weapon,.has-held-weapon .survivor-weapon{display:block}
.held-blade-effects{pointer-events:none}
.held-blade-spark{opacity:.85;transform-box:fill-box;transform-origin:center;animation:held-blade-shimmer 3.2s ease-in-out infinite;animation-delay:var(--spark-delay,0s);filter:drop-shadow(0 0 12px currentColor) drop-shadow(0 0 22px currentColor)}
.held-blade-drop{opacity:0;filter:drop-shadow(0 0 13px var(--venom-color));animation:held-blade-drip 3s ease-in infinite;animation-delay:var(--drop-delay,0s)}
.held-blade-energy{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:9;stroke-dasharray:70 120;animation:held-blade-flow 3s linear infinite}
.held-blade-venom-edge{stroke:var(--venom-color);filter:drop-shadow(0 0 15px var(--venom-color));opacity:.8}
.held-blade-gold-edge{stroke:#fffbd0;stroke-width:12;filter:drop-shadow(0 0 18px #ffdd49)}
.held-blade-gold-aura{fill:#ffd65b;fill-opacity:.15;stroke:#ffcf4c;stroke-width:12;stroke-linejoin:round;filter:drop-shadow(0 0 28px #ffc32deb) drop-shadow(0 0 48px #ffb72caa);animation:held-blade-gold 3.8s ease-in-out infinite}
@keyframes held-blade-shimmer{0%,100%{opacity:.4;transform:scale(.65) rotate(-12deg)}45%{opacity:1;transform:scale(1.15) rotate(12deg)}70%{opacity:.7;transform:scale(.85) rotate(0)}}
@keyframes held-blade-drip{0%{opacity:0;transform:translateY(0)}12%,30%{opacity:1;transform:translateY(0)}75%{opacity:.65;transform:translateY(125px)}92%,100%{opacity:0;transform:translateY(170px)}}
@keyframes held-blade-flow{to{stroke-dashoffset:-190}}
@keyframes held-blade-gold{0%,100%{opacity:.7}50%{opacity:1}}
.reduce-motion .held-blade-effects *{animation:none!important}
.reduce-motion .held-blade-drop{display:none}
@media(prefers-reduced-motion:reduce){.held-blade-effects *{animation:none!important}.held-blade-drop{display:none}}
.survivor-equipment{position:absolute;inset:0;pointer-events:none}
.survivor-equipment>summary{display:none}
.survivor-slot-overlay{display:flex;justify-content:space-between;position:absolute;inset:55px 18px 60px;pointer-events:none}
.character-rpg .survivor-stage .dossier-gear{width:clamp(180px,27%,340px);display:flex;flex-direction:column;justify-content:center;gap:16px;pointer-events:auto}
.character-rpg .survivor-stage .equipment-slot{min-height:115px;grid-template-columns:72px minmax(0,1fr);grid-template-rows:14px minmax(32px,auto) 18px;background:linear-gradient(110deg,#172b35d9,#0d192240);border:0;border-radius:6px;box-shadow:none;padding:10px;gap:4px 10px;text-align:left;transition:background .2s,transform .2s}
.character-rpg .survivor-stage .equipment-slot:hover{background:#203845;transform:translateY(-2px)}
.character-rpg .survivor-stage .equipment-visual .item-art{width:68px;height:78px;border:0;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 22%,transparent),transparent 75%);box-shadow:none}
.character-rpg .survivor-stage .equipment-slot .item-art img,.character-rpg .survivor-stage .equipment-visual .item-art .pixel-icon{width:64px;height:70px;max-width:64px;max-height:70px}
.character-rpg .survivor-stage .equipment-description>small{font-size:9px}
.character-rpg .survivor-stage .unoccupied{opacity:.65}
@keyframes survivor-breathe{0%,100%{transform:translateX(-50%) rotate(-.35deg)}50%{transform:translateX(-50%) rotate(.35deg) scaleY(1.004)}}
@media(min-width:801px){.survivor-equipment:not([open])>.survivor-slot-overlay{display:flex}}
@media(max-width:800px){
.character-rpg .survivor-stage .dossier-header{grid-template-columns:44px minmax(0,1fr);padding:12px;gap:8px 12px}
.character-rpg .survivor-stage .dossier-level{width:44px;height:44px}.character-rpg .survivor-stage .dossier-level>b{font-size:14px}
.character-rpg .survivor-stage .dossier-identity h1{font-size:14px}
.character-rpg .survivor-stage .character-vitals{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.survivor-scene{height:clamp(430px,66svh,680px)}
.paper-survivor{height:calc(100% - 52px);bottom:52px}
.survivor-equipment>summary{display:flex;align-items:center;justify-content:space-between;position:absolute;bottom:8px;left:12px;right:12px;min-height:46px;padding:12px 18px;border:1px solid #8b784b;border-radius:8px;background:#172a34f5;color:#ffe0a0;font-weight:700;pointer-events:auto;cursor:pointer;z-index:4;list-style:none}
.survivor-equipment>summary::-webkit-details-marker{display:none}.survivor-equipment>summary span{font-size:10px;color:#a9bdcc;font-weight:400}
.survivor-equipment[open]>summary span{font-size:0}.survivor-equipment[open]>summary span:after{content:'Close ×';font-size:12px}
.survivor-equipment .survivor-slot-overlay{display:none;inset:10px 8px 62px;background:#0e202cf5;border:1px solid #3a5261;border-radius:12px;padding:12px;overflow:auto;pointer-events:auto;z-index:3;box-shadow:0 -12px 40px #0005}
.survivor-equipment[open] .survivor-slot-overlay{display:block;animation:equipment-reveal .24s ease-out}
.character-rpg .survivor-stage .dossier-gear{width:100%;gap:8px}
.character-rpg .survivor-stage .dossier-gear-right{margin-top:8px}
.character-rpg .survivor-stage .equipment-slot{width:100%;min-height:100px;grid-template-columns:64px minmax(0,1fr);padding:8px;background:#182e39;flex-shrink:0}
.character-rpg .survivor-stage .equipment-visual .item-art{height:72px;width:60px}
.character-rpg .survivor-stage .equipment-description{grid-column:2;grid-row:2}
.character-rpg .survivor-stage .equipment-slot-heading{grid-column:2;grid-row:1}
.character-rpg .survivor-stage .equipment-slot>.durability{grid-column:2;grid-row:3}
}
@keyframes equipment-reveal{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.paper-survivor,.survivor-equipment[open] .survivor-slot-overlay{animation:none}.character-rpg .survivor-stage .equipment-slot{transition:none}}


@media(min-width:801px){.survivor-equipment::details-content{content-visibility:visible}.survivor-equipment>.survivor-slot-overlay{display:flex}}
.character-rpg .survivor-stage .character-vital{min-width:0}


.stage-tools-button{position:absolute;bottom:12px;right:20px;z-index:5;display:flex;align-items:center;gap:22px;padding:13px 18px;border:1px solid #87754e;border-radius:7px;background:#172a34ed;color:#ffe0a0;font-weight:700;font-size:12px}.stage-tools-button span{font-size:10px;font-weight:400;color:#a9bdcc}
#modal .equipment-drawer{position:absolute;right:0;top:0;bottom:0;max-height:100%;width:min(620px,100%);max-width:100%;margin:0;border-radius:14px 0 0 14px;background:#0e202b;animation:tool-drawer-in .25s ease-out}
#modal .equipment-drawer .modal-scroll-body{overscroll-behavior:contain;padding:18px}
.tools-drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tools-drawer-list .equipment-slot{width:100%;grid-template-columns:62px minmax(0,1fr);min-height:125px;padding:10px;gap:4px 9px;text-align:left}
.tools-drawer-list .equipment-visual .item-art{width:60px;height:76px}.tools-drawer-list .equipment-slot .item-art img,.tools-drawer-list .equipment-visual .item-art .pixel-icon{width:56px;height:68px;max-width:56px;max-height:68px}
.tool-panel-back{background:none;border:0;padding:8px 0 16px;color:#ffd271;font-size:12px}.tool-detail-drawer .loadout-picker{animation:tool-drawer-in .2s ease-out}
@keyframes tool-drawer-in{from{opacity:.35;transform:translateX(48px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:800px){.stage-tools-button{bottom:8px;right:12px;width:calc(44% - 16px);min-height:46px;justify-content:center;padding:10px;gap:0}.stage-tools-button span{display:none}.survivor-equipment>summary{right:calc(44% + 4px)}.survivor-equipment>summary span{display:none}#modal .equipment-drawer{border-radius:0}.tools-drawer-grid{grid-template-columns:1fr}.tools-drawer-list .equipment-slot{min-height:112px}.tools-drawer-list .equipment-slot-heading{grid-column:2;grid-row:1}.tools-drawer-list .equipment-description{grid-column:2;grid-row:2}.tools-drawer-list .equipment-slot>.durability{grid-column:2;grid-row:3}}
@media(prefers-reduced-motion:reduce){#modal .equipment-drawer,.tool-detail-drawer .loadout-picker{animation:none}}

/* Keep the feet anchored while the idle breath gently shifts the silhouette. */
.paper-survivor{animation:survivor-breathe 4s ease-in-out infinite;transform-origin:50% 96%}
@keyframes survivor-breathe{0%,100%{transform:translateX(-50%) rotate(-.65deg) scaleY(1)}50%{transform:translateX(calc(-50% + 3px)) rotate(.65deg) scaleY(1.012)}}
@media(max-width:800px){
.character-rpg .survivor-stage{position:relative}
.character-rpg .survivor-stage .dossier-header{position:absolute;top:8px;left:8px;width:min(220px,62%);z-index:2;grid-template-columns:32px minmax(0,1fr);gap:5px 8px;padding:8px;background:linear-gradient(110deg,#0d1922ed,#0d192290,transparent);border:0;pointer-events:none}
.character-rpg .survivor-stage .dossier-header button{pointer-events:auto}
.character-rpg .survivor-stage .dossier-level{width:32px;height:32px}.character-rpg .survivor-stage .dossier-level>b{font-size:10px}.character-rpg .survivor-stage .dossier-level>span{font-size:5px}
.character-rpg .survivor-stage .dossier-identity h1{font-size:10px;line-height:1.6}.character-rpg .survivor-stage .dossier-identity p{font-size:8px;margin-top:1px}
.character-rpg .survivor-stage .character-vitals{grid-template-columns:1fr;gap:7px;margin-top:4px}
.character-rpg .survivor-stage .character-vital header{font-size:7px;margin-bottom:3px}.character-rpg .survivor-stage .character-vital header b{font-size:8px}.character-rpg .survivor-stage .character-vital .progress{height:3px}
.survivor-scene{height:clamp(460px,calc(100svh - 195px),720px)}
.paper-survivor{height:calc(100% - 92px);bottom:58px;left:55%}
.survivor-equipment[open]{z-index:4}
}
@media(prefers-reduced-motion:reduce){.paper-survivor{animation:none}}

@media(min-width:801px){.mobile-tools-shortcut{display:none}.character-rpg .survivor-stage .dossier-gear-right{gap:10px}.character-rpg .survivor-stage .dossier-gear-right .equipment-slot{min-height:102px}.character-rpg .survivor-stage .skill-tools-slot{min-height:88px;grid-template-rows:14px 40px}.survivor-slot-overlay{bottom:28px}}
.character-detail-drawer .loadout-picker{animation:tool-drawer-in .2s ease-out}
@media(max-width:800px){.character-rpg .survivor-stage .skill-tools-slot{display:none}}
@media(prefers-reduced-motion:reduce){.character-detail-drawer .loadout-picker{animation:none}}

/* Restore the restrained prototype motion; phase is retained across app renders. */
.paper-survivor{animation:survivor-breathe 5s ease-in-out infinite;transform-origin:50% 94%}
@keyframes survivor-breathe{0%,100%{transform:translateX(-50%) rotate(-.35deg) scaleY(1)}50%{transform:translateX(-50%) rotate(.35deg) scaleY(1.004)}}
@media(prefers-reduced-motion:reduce){.paper-survivor{animation:none}}
.reduce-motion .paper-survivor{animation:none}

/* Separate the character totals, support panels, and supplies evenly. */
.character-rpg > .survivor-stage{margin-bottom:20px}
.character-rpg > .dossier-support{margin:0 0 24px;gap:16px}
.character-rpg > .dossier-supplies-heading{margin:0 0 12px}
@media(max-width:800px){.character-rpg > .survivor-stage{margin-bottom:16px}.character-rpg > .dossier-support{margin-bottom:20px;gap:14px}}

/* Mobile: identity above the figure, paired vitals above the equipment controls. */
@media(max-width:800px){
.character-rpg .survivor-stage .dossier-header{position:static;width:auto;padding:0;background:none;display:block}
.character-rpg .survivor-stage .dossier-identity{position:absolute;top:16px;left:16px;z-index:2;max-width:calc(100% - 32px);pointer-events:none}
.character-rpg .survivor-stage .dossier-identity h1{font-size:12px;line-height:1.5}
.character-rpg .survivor-stage .dossier-level,.character-rpg .survivor-stage .dossier-identity>p{display:none}
.character-rpg .survivor-stage .dossier-header .character-vitals{position:absolute;top:0;bottom:auto;left:16px;right:16px;width:auto;max-width:none;margin:0;padding:0;transform:translateY(calc(clamp(460px,100svh - 195px,720px) - 95px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;z-index:2;pointer-events:auto}
.character-rpg .survivor-stage .character-vital header{font-size:7px;letter-spacing:.7px}
.character-rpg .survivor-stage .character-vital header b{font-size:8px;white-space:nowrap}
.paper-survivor{height:calc(100% - 124px);bottom:102px;left:50%}
}


/* A quiet courtyard frames the survivor without competing with equipment. */
.character-rpg .survivor-stage{background:transparent}
.survivor-scene{background:radial-gradient(ellipse at 50% 45%,#0d192280,transparent 62%)}
.paper-survivor>img{mask-image:linear-gradient(90deg,transparent,#000 27%,#000 73%,transparent);mask-composite:intersect}
.character-rpg .survivor-stage .equipment-slot{background:linear-gradient(110deg,#142a35ed,#0d1922c9);backdrop-filter:blur(4px)}
@media(max-width:800px){.character-rpg .survivor-stage{background-size:auto 100%;background-position:40% top}.character-rpg .survivor-stage .dossier-identity{text-shadow:0 2px 8px #000}.character-rpg .survivor-stage .character-vitals{padding:8px!important;background:#0d1922de;border-radius:5px}.survivor-scene{background:linear-gradient(90deg,#0d192240,transparent 40%,#0d192250)}}

.paper-survivor>img{mask-image:linear-gradient(90deg,transparent,#000 27%,#000 73%,transparent),linear-gradient(180deg,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}


@media(min-width:801px){
.character-rpg .survivor-stage .dossier-header{grid-template-columns:56px minmax(0,340px);grid-template-rows:auto auto;justify-content:start;gap:10px 14px}
.character-rpg .survivor-stage .dossier-header .dossier-level{grid-column:1;grid-row:1}
.character-rpg .survivor-stage .dossier-header .dossier-identity{grid-column:2;grid-row:1}
.character-rpg .survivor-stage .dossier-header .character-vitals{grid-column:2;grid-row:2;justify-self:start;width:100%;max-width:340px;padding:0;margin:0;gap:9px}
}


.mobile-equipment-drawer-button{display:none}
@media(max-width:800px){
.survivor-equipment>summary,.survivor-equipment[open] .survivor-slot-overlay{display:none}
.survivor-equipment::details-content{content-visibility:visible}
.survivor-equipment:not([open])>.mobile-equipment-drawer-button,.survivor-equipment>.mobile-equipment-drawer-button{display:block;position:absolute;bottom:8px;left:12px;right:calc(44% + 4px);min-height:46px;padding:12px 18px;border:1px solid #8b784b;border-radius:8px;background:#172a34f5;color:#ffe0a0;font-size:12px;font-weight:700;text-align:left;pointer-events:auto;z-index:4}
}
.equipment-list-detail .loadout-picker{animation:tool-drawer-in .2s ease-out}
@media(prefers-reduced-motion:reduce){.equipment-list-detail .loadout-picker{animation:none}}
@media(max-width:800px){.survivor-scene>.mobile-equipment-drawer-button{display:block;position:absolute;bottom:8px;left:12px;right:calc(44% + 4px);min-height:46px;padding:12px 18px;border:1px solid #8b784b;border-radius:8px;background:#172a34f5;color:#ffe0a0;font-size:12px;font-weight:700;text-align:left;z-index:5}}

/* Let the courtyard belong to the page rather than a boxed portrait panel. */
.main-content:has(.survivor-stage){position:relative;isolation:isolate}

.character-rpg .survivor-stage{background:transparent;border-radius:0;box-shadow:none}
.survivor-scene{background:none}
.character-rpg .survivor-stage .equipment-slot{background:#10232c66;backdrop-filter:none;box-shadow:none}
.character-rpg .survivor-stage .equipment-slot:hover{background:#203845aa}
.character-rpg .survivor-stage .equipment-slot.unoccupied{opacity:1;color:#a9bdcc}
.character-rpg .survivor-stage .equipment-slot.unoccupied .equipment-visual{opacity:.45}
.character-rpg .survivor-stage .equipment-slot.unoccupied .item-art{background:none;box-shadow:none;border:0}
.character-rpg .survivor-stage .skill-tools-slot .equipment-description>b{color:inherit}
@media(max-width:800px){.character-rpg .survivor-stage .equipment-slot{background:#10232c66}}.mobile-player-name,.mobile-character-actions{display:none}
.mobile-more-list{display:grid;gap:10px}.mobile-more-list>button{display:flex;align-items:center;gap:14px;padding:16px;text-align:left}.mobile-more-list>button>span{margin-left:auto}
@media(max-width:800px){
body:has(#app .workspace){--app-dock-height:calc(98px + env(safe-area-inset-bottom,0px));--app-task-height:58px}
#app>.sidebar{display:none!important}
#app>.workspace{margin-left:0;width:100%;padding-top:0}
.header-shell{height:0!important;min-height:0!important;position:static!important;padding:0!important;border:0!important;background:none!important}
.header-shell .topbar{height:0!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;position:static!important}
.topbar>.mobile-brand,.topbar>.header-actions,.topbar>.header-summary,.topbar>.more-wrapper{display:none!important}
.header-shell .activity-bar{position:fixed!important;left:8px!important;right:8px!important;bottom:var(--app-dock-height)!important;width:auto!important;height:var(--app-task-height)!important;min-height:0!important;z-index:55;padding:8px 10px!important;border:1px solid #314853!important;border-bottom:0!important;border-radius:12px 12px 0 0!important;background:#10212bf5!important;gap:8px!important;box-shadow:0 -3px 20px #0005}
.activity-bar .activity-symbol{display:none}.activity-bar .activity-detail{min-width:0;flex:1}.activity-bar .activity-title{font-size:10px}.activity-bar .activity-title>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-bar .activity-detail>small{display:none}.activity-bar .progress{height:3px}.activity-bar>button{font-size:9px;padding:8px;min-height:34px}.activity-bar>[data-action="nav"][data-tab="activities"]{display:none!important}
.mobile-player-name{display:flex;align-items:center;gap:10px;position:absolute;top:calc(12px + env(safe-area-inset-top,0px));left:12px;z-index:8;max-width:calc(100% - 90px);padding:10px 12px;border:0;border-radius:12px;background:#10212bd9;color:#f6e7c8;font-size:13px;box-shadow:0 3px 14px #0003}.mobile-player-name small{font-size:8px;color:#c9ad72;white-space:nowrap}
.main-content{padding:66px 12px calc(var(--app-dock-height) + 82px)!important;min-height:100svh}
.main-content:has(.survivor-stage){padding:0!important;min-height:100svh}

.character-rpg:has(>.survivor-stage){width:100%;max-width:none;margin:0}
.character-rpg .survivor-stage{margin:0;overflow:visible}
.character-rpg .survivor-stage .dossier-header{display:none!important}
.character-rpg .survivor-scene{height:calc(100svh - var(--app-dock-height) - 74px);min-height:300px}
.paper-survivor{height:calc(100% - 62px);bottom:0;left:48%;max-width:none}
.mobile-character-actions{display:flex;position:absolute;right:12px;top:68px;z-index:6;flex-direction:column;gap:10px}
.mobile-character-actions button{width:54px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px;border:1px solid #64706155;border-radius:13px;background:#14232be8;color:#d9bd7b;box-shadow:0 3px 12px #0004;font-size:8px}
.survivor-scene>.mobile-equipment-drawer-button,.survivor-scene>.mobile-tools-shortcut,.survivor-equipment{display:none!important}
.character-rpg .survivor-stage #character-equipped-bonuses,.character-rpg:has(>.survivor-stage)>.dossier-support,.character-rpg:has(>.survivor-stage)>.dossier-supplies-heading,.character-rpg:has(>.survivor-stage)>.consumable-grid{display:none!important}
body:has(.survivor-stage) .main-content{padding-bottom:calc(var(--app-dock-height) + 74px)!important}
#modal .equipment-drawer{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
#modal .equipment-drawer .pets-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){.character-rpg .survivor-scene{overflow:hidden;height:calc(100dvh - var(--app-dock-height) - 74px)}body:has(.survivor-stage) .main-content{min-height:100dvh;overflow:hidden}.mobile-character-actions button{touch-action:manipulation}.tools-drawer-list .armour-summary{margin-top:18px}.mobile-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Mobile page system and touch-first bottom sheets. */
.app-page-heading,.app-sheet-handle{display:none}
@media(max-width:800px){
body:has(#app .workspace){background:#0d1922}
body:has(#app .workspace):not(:has(.survivor-stage)) .mobile-player-name{display:none}
.main-content:not(:has(.survivor-stage)){padding-top:calc(12px + env(safe-area-inset-top,0px))!important}
.app-page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:6px 2px}
.app-page-heading h1{font:700 26px/1.2 Georgia,serif;color:#ecd5a0;margin:0;letter-spacing:.3px}
.app-page-heading>button{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 11px;border:1px solid #334b57;background:#192d37;border-radius:13px;color:#ccb786;font-size:10px}
.main-content .skills-tabs{display:flex;overflow-x:auto;scrollbar-width:none;gap:7px;border:0;margin:0 0 16px;padding:2px 0 6px;scroll-snap-type:x proximity}
.main-content .skills-tab{flex:0 0 auto;min-width:0;min-height:42px;padding:10px 14px;border:1px solid #304550;border-radius:22px;background:#142630;font-size:10px;gap:7px;scroll-snap-align:start;color:#aabcbd}
.main-content .skills-tab.selected{background:#b5964826;border-color:#9b834c;color:#ffe0a0}.main-content .skills-tab:after{display:none}.main-content .skills-tab .pixel-icon{width:18px;height:18px}
.main-content input[type="search"],.main-content select{min-height:44px;border-radius:12px;font-size:13px}
.main-content .section-head{gap:10px;flex-wrap:wrap}.main-content .section-head h2{font-size:16px}
.main-content .panel{border-radius:14px}.main-content .button-row{gap:8px;flex-wrap:wrap}.main-content .button-row>button{min-height:42px}
/* Storage: a quick-scan inventory, with descriptions in the item sheet. */
.storage-view .storage-controls{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px;padding:0;background:none;border:0}
.storage-search{width:100%;flex:1 1 100%;border-radius:14px;min-height:46px}.storage-search input{font-size:14px}
.storage-view .inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.storage-view .inventory-item{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-height:0;height:auto;padding:10px 6px 16px;border:1px solid color-mix(in srgb,var(--rarity) 35%,#324650);border-radius:15px;background:radial-gradient(ellipse at 50% 35%,#29414a80,#14242f);box-shadow:inset 0 1px #ffffff08;overflow:hidden}
.storage-view .inventory-item>b,.storage-view .inventory-item>small,.storage-view .inventory-item>.reserved{display:none}
.storage-view .inventory-item>.pixel-icon,.storage-view .inventory-item>.item-art,.storage-view .inventory-item>img{width:54px!important;height:54px!important;max-width:85%;max-height:85%;margin:0}
.storage-view .inventory-item .inventory-qty{position:absolute;top:auto;bottom:4px;right:5px;border-radius:8px;padding:2px 5px;background:#09151cdd;color:#f4e5c5;font-size:10px;line-height:1.2;z-index:2}
.storage-view .inventory-item>.durability{position:absolute;bottom:1px;left:8px;right:8px;margin:0;height:2px}.storage-view .inventory-item>.durability>span{display:none}
.storage-view .inventory-item.chosen{outline:2px solid #dfba62;outline-offset:-2px}
.storage-view .empty-state{grid-column:1/-1;padding:30px 16px}
/* Skills and World: compact discovery cards and horizontally scrollable filters. */
.gather-hero{padding:16px!important;border-radius:16px!important;min-height:0!important}.gather-hero h1{font-size:21px!important}.gather-hero .eyebrow{display:none}
.gather-filters,.skill-filters{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.activity-card,.route-card,.expedition-card{border-radius:15px!important;overflow:hidden;box-shadow:0 4px 14px #0002}
.activity-card button,.route-card button,.expedition-card button{min-height:42px;border-radius:10px}
.activity-list{gap:12px!important}.route-card h3,.activity-card h3{font-size:15px}
/* Base and crew: readable panels, comfortably sized actions. */
.base-layout{gap:14px}.scene-panel{border-radius:16px;overflow:hidden}.scene-topline{padding:12px!important}.scene-topline h1{font-size:15px!important}.shelter-heading>div>span{display:none}
.scene-footer{padding:12px!important}.scene-footer .weather{display:none}.next-goal,.building-card{border-radius:14px!important}
.building-card button{min-height:42px;border-radius:10px}.resident-supplies{padding:15px!important}.camp-roster-title h2{font-size:18px!important}.resident-roster-heading{margin-top:18px}
.survivor-grid{gap:14px}.crew-card,.survivor-card{border-radius:16px!important;overflow:hidden}.crew-card button{min-height:42px;border-radius:10px}
.trader-item{border-radius:14px!important}.trader-item button{min-height:42px}
/* Journal: collectible-sized tiles and simpler section headings. */
.journal-toolbar{margin-bottom:8px}.trophy-room-banner,.pet-roster-bar{border-radius:14px;padding:14px!important}
.trophy-room-banner h1,.trophy-room-banner h2{font-size:19px!important}
.achievement-card,.pet-card{border-radius:15px!important}.collection-grid{gap:10px!important}
/* Every standard popup rises from the bottom, above all app navigation. */
#modal .modal-backdrop{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#02080bc9;backdrop-filter:blur(3px)}
#modal .modal,#modal .equipment-drawer{position:relative;inset:auto;width:100%;max-width:100%;height:auto;min-height:0;max-height:calc(92dvh - env(safe-area-inset-top,0px));margin:0;padding:30px 18px calc(20px + env(safe-area-inset-bottom,0px));border:1px solid #3a5059;border-bottom:0;border-radius:24px 24px 0 0;background:#14252f;box-shadow:0 -15px 50px #0005;overflow-y:auto;overscroll-behavior:contain;animation:app-sheet-rise .24s cubic-bezier(.2,.8,.2,1)}
#modal .modal-scroll-shell{padding:0!important;display:flex;flex-direction:column;overflow:hidden}
#modal .modal-scroll-shell .modal-fixed-head{flex-shrink:0;padding:32px 18px 13px;border-bottom:1px solid #314651;background:#14252f;border-radius:24px 24px 0 0}
#modal .modal-scroll-shell .modal-scroll-body{padding:18px 18px calc(20px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;min-height:0}
#modal .app-sheet-handle{display:block;position:absolute;top:0;left:calc(50% - 30px);width:60px;height:26px;padding:0;border:0;background:none;z-index:5;touch-action:none}
.app-sheet-handle>span{display:block;width:34px;height:4px;border-radius:4px;background:#82928e88;margin:auto}
#modal .modal-close{width:36px;height:36px;min-height:36px;border:0;border-radius:12px;background:#ffffff0b;color:#d5d9d2;font-size:23px}
#modal .modal h2{font-size:21px;line-height:1.3}#modal .modal p{font-size:13px;line-height:1.6}#modal .modal button:not(.app-sheet-handle):not(.modal-close){min-height:42px;border-radius:11px}
#modal .item-close-head{justify-content:flex-end;min-height:50px;border-bottom:0;padding-bottom:0!important}#modal .item-close-head>.eyebrow{display:none}
#modal .item-popup{padding:0;border:0;background:none;box-shadow:none}
#modal .item-popup-head{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;align-items:start}
#modal .item-popup-art{width:74px;height:80px;border-radius:15px;background:#ffffff07;display:grid;place-items:center}
#modal .item-popup-copy .eyebrow{font-size:8px;color:#aab9bc}#modal .item-popup-title{display:block}#modal .item-popup-title h2{font:700 24px/1.15 Georgia,serif;color:#edd49b;margin:0 0 8px}
#modal .item-popup-copy>p{margin-top:12px}#modal .item-popup-stock{margin-top:15px;padding:12px;border-radius:12px;background:#ffffff05}
#modal .item-popup-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}#modal .item-popup-actions>button{flex:1;min-height:48px;font-size:12px}
#modal .item-popup-more{background:#ffffff05;border:1px solid #ffffff0a;border-radius:14px;padding:0;margin-top:16px}#modal .item-popup-more>summary{padding:16px;font-size:13px;font-weight:600;cursor:pointer}#modal .item-popup-more>div{padding:0 16px 16px}
#modal input,#modal select{min-height:44px;font-size:16px;border-radius:10px}
#modal .tool-detail-drawer .loadout-picker,#modal .character-detail-drawer .loadout-picker,#modal .equipment-list-detail .loadout-picker{animation:none}
@keyframes app-sheet-rise{from{transform:translateY(70px);opacity:0}to{transform:translateY(0);opacity:1}}
}
@media(max-width:360px){.storage-view .inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){#modal .modal,#modal .equipment-drawer{animation:none!important}}
.reduce-motion #modal .modal,.reduce-motion #modal .equipment-drawer{animation:none!important}

@media(max-width:800px){
.header-shell,.header-shell .topbar{display:contents!important;backdrop-filter:none!important;filter:none!important;contain:none!important}
.main-content .skills-tabs .skills-tab{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;height:42px!important;min-height:42px!important;padding:9px 13px!important;border:1px solid #304550!important;border-radius:22px!important;background:#142630!important;box-shadow:none!important}
.main-content .skills-tabs .skills-tab.selected{background:#b5964826!important;border-color:#9b834c!important;color:#ffe0a0!important}
.main-content .skills-tabs .skills-tab .pixel-icon{width:17px!important;height:17px!important}
#modal .modal:has(.item-popup) .modal-fixed-head{min-height:40px;padding-top:24px!important}
}
/* Base is an explorable place; management lives in facility sheets. */
.main-content:has(.base-explore){padding:0!important;max-width:none!important;width:100%}
.base-explore{display:block!important;margin:0!important}
.base-explore .scene-panel{position:relative;border:0!important;border-radius:0!important;overflow:hidden;background:#101e23}
.base-explore .scene-topline{position:absolute;right:20px;top:18px;z-index:20;width:auto;padding:14px 18px;border:0;border-radius:16px;background:#091820c9;backdrop-filter:blur(8px);text-align:right;pointer-events:none}
.base-explore .scene-topline h1{font-size:23px;margin:5px 0}
.base-explore .scene-topline small{font-size:11px;color:#b2c3c7}
.base-explore .scene-viewport{height:calc(100dvh - 180px);min-height:540px;overflow:auto!important;touch-action:pan-x pan-y;overscroll-behavior:contain;scrollbar-width:none;cursor:grab}
.base-explore .scene-viewport:active{cursor:grabbing}
.base-explore .town-scene{width:max(100%,1000px);height:100%;min-height:667px;aspect-ratio:auto;overflow:hidden}
.base-explore .town-world{width:100%;height:100%;top:0;transform:none;aspect-ratio:auto}
.base-explore .scene-footer{position:absolute;bottom:12px;left:16px;right:16px;z-index:20;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;padding:0;pointer-events:none;text-shadow:0 2px 4px #000}
.base-explore .scene-footer button{pointer-events:auto;background:#0d202bd9;border-radius:20px}
.base-explore .scene-footer span{font-size:11px;color:#dae1d8}
.facility-sheet .facility-open{display:none}.facility-sheet .building-card{width:100%;margin:18px 0;cursor:default}.journal-content>.next-goal{margin-bottom:24px}
@media(max-width:800px){
.main-content:has(.base-explore)>.mobile-page-header{display:none!important}
.base-explore .scene-viewport{height:calc(100dvh - var(--mobile-dock-height,98px) - 76px);min-height:350px}
.base-explore .town-scene{width:1000px;min-height:667px;height:667px}
.base-explore .scene-topline{top:12px;right:12px;padding:10px 13px}.base-explore .scene-topline h1{font:700 19px Georgia,serif}.base-explore .scene-topline .meta{font-size:8px}
.base-explore .scene-footer{bottom:10px;left:12px;right:12px}
}
@media(max-width:800px){.base-explore .town-scene{height:max(667px,100%);min-height:100%}.base-explore .scene-topline{max-width:calc(100% - 24px)}.base-explore .scene-topline h1{overflow-wrap:anywhere}}
/* Fill the character content area and keep equipment readable over the scenery. */
.main-content:has(.survivor-stage){max-width:none;width:100%;margin-left:0;margin-right:0}

.character-rpg .survivor-stage .equipment-slot{background:rgba(16,35,44,.92);backdrop-filter:blur(5px);box-shadow:0 5px 18px #0003,inset 0 1px #ffffff0b}
.character-rpg .survivor-stage .equipment-slot:hover{background:rgba(30,53,66,.97)}
.character-rpg .survivor-stage .equipment-slot.unoccupied{color:#c6d4de}
.character-rpg .survivor-stage .equipment-slot.unoccupied .equipment-visual{opacity:.7}
.quarters-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.facility-sheet .smelter-workspace{grid-template-columns:minmax(0,1fr)}.facility-sheet .smelter-arrow{transform:rotate(90deg);justify-self:center}.facility-sheet .gear-smelter{margin-top:20px}.facility-sheet .gear-smelter>header{flex-wrap:wrap;gap:12px}
.base-explore .scene-footer{justify-content:flex-end}
.dock-base-ground{position:absolute;inset:2px;overflow:hidden;border-radius:50%;background:url('/assets/Current/scenes/base-ground/menu-ground.png') center/cover}
.dock-base-art .dock-base-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.2);filter:drop-shadow(0 2px 3px #0009);pointer-events:none;transition:opacity .4s ease,transform .4s ease}
.dock-base-art .dock-base-image.is-visible{opacity:1;transform:scale(1.35)}
.dock-base-ready-dot{position:absolute;bottom:-4px;left:50%;z-index:2;width:10px;height:10px;transform:translateX(-50%);border:1.5px solid #10322c;border-radius:50%;background:#7bdfa5;box-shadow:0 0 0 2px #15313a,0 0 8px #7bdfa588}
.dock-base-ready-dot[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.dock-base-art .dock-base-image{transition:none}}
/* Desktop clearing fills the remaining viewport, with room to pan the world. */
@media(min-width:801px){
 .main-content:has(.base-explore){padding-bottom:0!important;min-height:0}
 .base-explore .scene-viewport{height:var(--base-viewport-height,calc(100dvh - 96px));min-height:0;user-select:none}
 .base-explore .town-scene{width:max(112%,1200px);height:auto;min-height:100%;aspect-ratio:3/2}
 .base-explore .town-world{position:absolute;inset:0;height:100%}
}
.base-explore .town-build-pin{background:#10232980;border-color:#c1ac714d;box-shadow:0 3px 12px #0002;transition:background .15s,border-color .15s}
.base-explore .town-build-plot:hover .town-build-pin,.base-explore .town-build-plot:focus-visible .town-build-pin,.base-explore .town-shelter:hover .shelter-build-pin{background:#173039d9;border-color:#eac477b3}
@media(max-width:800px){
 .storage-view .inventory-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
 .storage-view .inventory-item{padding:5px 3px 12px;border-radius:10px}
 .storage-view .inventory-item>.pixel-icon,.storage-view .inventory-item>.item-art,.storage-view .inventory-item>img{width:34px!important;height:34px!important;max-width:75%;max-height:75%}
 .storage-view .inventory-item .inventory-qty{font-size:9px;padding:2px 3px;right:3px;bottom:3px}
}
.facility-sheet .radio-dial{position:relative;inset:auto;transform:none;flex:0 0 96px;width:96px;height:96px;margin:0;pointer-events:none}
.facility-sheet .radio-dial.has-signals i{left:22px;top:24px;box-shadow:30px 24px #ffc34d,7px 37px #ffc34d}
/* Journal objective summary: a compact desktop banner. */
@media(min-width:801px){
 .journal-content>.next-goal{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:24px;min-height:0;height:auto;padding:24px 28px;border:1px solid #b799514d;border-radius:12px;background:linear-gradient(110deg,#29382e80,#142630 45%,#12222c);box-shadow:inset 0 1px #ffe1a10a}
 .journal-content>.next-goal .objective-header{display:grid;grid-template-columns:44px 1fr;gap:5px 12px;padding:0;margin:0}
 .journal-content>.next-goal .objective-header .shelter-ui-art{grid-row:1/3;width:44px;height:44px}
 .journal-content>.next-goal .objective-header h2{font-size:12px;letter-spacing:1.4px}
 .journal-content>.next-goal .objective-count{grid-column:2;margin:0;font-family:Segoe UI,system-ui,sans-serif;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:0;color:#b6c9ce}
 .journal-content>.next-goal .objective-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;column-gap:24px;row-gap:6px;min-width:0;width:auto;max-width:none;margin:0;padding:0 0 0 24px;border:0;border-left:1px solid #64808c40;border-radius:0;background:none}
 .journal-content>.next-goal .objective-status-line{grid-column:1;grid-row:1}
 .journal-content>.next-goal .objective-body h3{font-size:18px;line-height:1.4}
 .journal-content>.next-goal .objective-body>p,.journal-content>.next-goal .objective-body>small{grid-column:1;margin:0 0 0 42px}
 .journal-content>.next-goal .objective-body>button{grid-column:2;grid-row:1/4;align-self:center;width:100%;margin:0;min-height:44px;border-radius:8px}
 .journal-content>.next-goal .objective-footer{display:none}
}
@media(min-width:801px) and (max-width:1100px){
 .journal-content>.next-goal{grid-template-columns:160px minmax(0,1fr);gap:16px;padding:20px}
 .journal-content>.next-goal .objective-body{grid-template-columns:minmax(0,1fr);padding-left:16px}
 .journal-content>.next-goal .objective-body>button{grid-column:1;grid-row:auto;justify-self:start;width:auto;padding-inline:20px;margin:6px 0 0 42px}
}
.character-stats-sheet .loadout-summary-heading>div:first-child,.character-stats-sheet .overview-gear-strip{display:none}
.character-stats-sheet .loadout-summary-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:18px}
.character-stats-sheet .armour-summary{display:block;padding:16px;border-radius:12px;background:#10212b;border:1px solid #35515e}
.character-stats-sheet .armour-contributions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0;padding:0;border:0}
.character-stats-sheet .armour-contributions>div{border:0;padding:0;min-width:0}
.character-stats-sheet dt{font-size:11px;color:#9eb7c5;margin-bottom:6px}
.character-stats-sheet dd{margin:0;color:#ffcf68;font-size:22px}
.character-stats-sheet .amulet-contribution dd{font-size:13px;line-height:1.5}
.character-stats-sheet .character-set-bonus{margin-top:20px;padding:16px 0 0;border:0;border-top:1px solid #35515e}
@media(max-width:800px) and (max-height:700px){.mobile-character-actions{gap:6px;top:58px}.mobile-character-actions button{height:50px}}
.equipped-pet-shortcut{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:10px;min-width:155px;padding:7px 13px 7px 7px;border:1px solid #c5a16255;border-radius:14px;background:#10232ce8;box-shadow:0 4px 18px #0004;text-align:left}
.equipped-pet-shortcut:active{transform:translateX(-50%)}
.equipped-pet-art{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0}.equipped-pet-art img,.equipped-pet-art svg{max-width:52px;max-height:52px;object-fit:contain}
.equipped-pet-shortcut>span:nth-child(2){display:grid;gap:4px}.equipped-pet-shortcut small{font-size:8px;letter-spacing:1.7px;color:#d9bd7b}.equipped-pet-shortcut b{font-size:12px;color:#ecede5}.pet-shortcut-chevron{margin-left:auto;color:#c5a162}
@media(max-width:800px){.equipped-pet-shortcut{left:12px;bottom:14px;transform:none;min-width:130px;padding:5px 10px 5px 5px;gap:7px}.equipped-pet-shortcut:active{transform:translateY(1px)}.equipped-pet-art{width:44px;height:44px}.equipped-pet-art img,.equipped-pet-art svg{max-width:44px;max-height:44px}}
/* The active companion lives on the stage beside the survivor's feet. */
.survivor-scene .equipped-pet-shortcut{left:64%;bottom:22px;min-width:0;gap:3px;display:flex;flex-direction:column;align-items:center;padding:0;border:0;background:none;box-shadow:none;transform:none;text-align:center;filter:drop-shadow(0 8px 6px #0009)}
.survivor-scene .equipped-pet-art{width:108px;height:108px;animation:stage-pet-breathe 3.6s ease-in-out infinite;transform-origin:50% 88%}
.survivor-scene .equipped-pet-art svg{width:100%;height:100%;max-width:none;max-height:none;image-rendering:pixelated}
.survivor-scene .equipped-pet-shortcut>span:nth-child(2){display:none}
.survivor-scene .equipped-pet-shortcut small{font-size:7px}
.survivor-scene .equipped-pet-shortcut b{font-size:10px}
.survivor-scene .pet-shortcut-chevron{display:none}
.survivor-scene .equipped-pet-shortcut:hover .equipped-pet-art{filter:brightness(1.12)}
@keyframes stage-pet-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:800px){.survivor-scene .equipped-pet-shortcut{left:60%;bottom:calc(190px + env(safe-area-inset-bottom,0px))}.survivor-scene .equipped-pet-art{width:clamp(76px,21vw,110px);height:clamp(76px,21vw,110px)}}
.reduce-motion .survivor-scene .equipped-pet-art{animation:none}
@media(prefers-reduced-motion:reduce){.survivor-scene .equipped-pet-art{animation:none}}
/* Comfortable spacing within the mobile Buffs & supplies sheet. */
.buffs-supplies-sheet{display:grid;gap:28px;padding:4px 0 10px}
.buffs-supplies-sheet h3{margin:0;font-size:15px;line-height:1.4}
.buffs-supplies-sheet .current-boosts{padding:0;border:0;background:none}
.buffs-supplies-sheet .current-boosts-content{margin-top:14px}
.buffs-supplies-sheet .boost-chip-row{display:grid;grid-template-columns:1fr;gap:12px}
.buffs-supplies-sheet .boost-chip{display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px;border-radius:12px}
.buffs-supplies-sheet .boost-chip>div{display:grid;gap:6px;min-width:0}
.buffs-supplies-sheet .boost-chip span,.buffs-supplies-sheet .boost-chip small{line-height:1.6;white-space:normal}
.buffs-supplies-sheet .boosts-empty{margin:0;padding:16px;background:#10212b;border:1px solid #35515e;border-radius:12px;line-height:1.7}
.buffs-supplies-sheet .consumable-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:14px 0 0}
.buffs-supplies-sheet .consumable{display:flex;flex-direction:column;gap:12px;padding:18px;margin:0;border-radius:12px}
.buffs-supplies-sheet .card-heading{display:flex;align-items:center;gap:12px;margin:0}
.buffs-supplies-sheet .card-heading>div{flex:1;min-width:0}.buffs-supplies-sheet .card-heading>strong{flex-shrink:0;margin-left:auto}
.buffs-supplies-sheet .card-heading .meta{display:block;margin-bottom:5px;font-size:9px;line-height:1.5}
.buffs-supplies-sheet .consumable>p,.buffs-supplies-sheet .consumable>small{display:block;min-height:0;margin:0;line-height:1.65}
.buffs-supplies-sheet .supply-effect{margin:0;padding:12px;background:#20384180;border-radius:8px;line-height:1.6}
.buffs-supplies-sheet .supply-actions{display:grid;grid-template-columns:1fr;gap:9px;margin:4px 0 0;padding-top:14px;border-top:1px solid #35515e}
.buffs-supplies-sheet .supply-actions button{min-height:44px;margin:0;padding:11px 14px;line-height:1.4;white-space:normal}
.supply-mobile-summary,.supply-choice-short,.boosts-empty-short{display:none}
/* Mobile objectives: one clear summary, without a card inside a card. */
@media(max-width:800px){
 .journal-content>.next-goal{display:block;min-height:0;height:auto;padding:18px;margin:0 0 24px;border:1px solid #b7995140;background:linear-gradient(135deg,#20332d70,#142630);box-shadow:none}
 .journal-content>.next-goal .objective-header{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:0;background:none}
 .journal-content>.next-goal .objective-header .shelter-ui-art{width:30px;height:30px;flex-shrink:0}
 .journal-content>.next-goal .objective-header h2{font-size:11px;letter-spacing:1.1px}
 .journal-content>.next-goal .objective-count{margin-left:auto;font-size:11px;white-space:nowrap;color:#afc3cc}
 .journal-content>.next-goal .objective-body{display:flex;flex-direction:column;gap:10px;width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
 .journal-content>.next-goal .objective-status-line{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 10px}
 .journal-content>.next-goal .objective-state-mark{width:24px;height:24px;font-size:18px}
 .journal-content>.next-goal .objective-kicker{font-size:10px;line-height:1.4}
 .journal-content>.next-goal .objective-body h3{font-size:16px;line-height:1.45;margin:0}
 .journal-content>.next-goal .objective-body>p{margin:0;font-size:12px;line-height:1.65}
 .journal-content>.next-goal .objective-body>small{display:block;margin:0;font-size:11px;line-height:1.65;color:#a8bdca}
 .journal-content>.next-goal .objective-body>button{margin:6px 0 0;width:100%;min-height:44px;border-radius:9px;padding:11px 14px}
 .journal-content>.next-goal .objective-footer{display:none}
}

/* Journal tabs flow directly into the objectives. */
.main-content .journal-toolbar,.main-content .journal-tabs{border-bottom:0}
/* Portrait composition keeps the shelter and lanterns in the phone frame. */

/* Item details: rarity belongs to the item, not the action area. */
#modal .item-popup{padding:0;border:0;background:none!important;box-shadow:none;animation:none;overflow:visible}
#modal .item-popup::before,#modal .item-popup::after{content:none!important;display:none!important}
#modal .item-popup .item-popup-head{position:relative;isolation:isolate;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px;margin:0 0 20px;padding:20px;border:1px solid color-mix(in srgb,var(--rarity,#91a9b2) 24%,transparent);border-radius:16px;background:radial-gradient(ellipse at 8% 35%,color-mix(in srgb,var(--rarity,#91a9b2) 27%,transparent),transparent 72%),linear-gradient(120deg,#1d303b,#132630);overflow:hidden}
#modal .item-popup .item-popup-art{width:84px;height:84px;padding:0;border:0;border-radius:14px;background:#0b1a243d;box-shadow:none;display:grid;place-items:center}
#modal .item-popup .item-popup-art>svg{width:72px;height:72px;max-width:100%}
#modal .item-popup-copy{background:none;min-width:0}
#modal .item-popup .item-popup-copy>.eyebrow{color:#b8c6ca;font-size:8px;letter-spacing:1.5px;margin:0 0 8px}
#modal .item-popup .item-popup-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#modal .item-popup .item-popup-title h2{font-family:inherit;font-size:22px;line-height:1.3;font-weight:700;color:#f0e9da;margin:0;overflow-wrap:anywhere}
#modal .item-popup .item-popup-title .rarity-badge{margin:0;white-space:nowrap}
#modal .item-popup .item-equipped-tag{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #887a59;border-radius:5px;background:#d0b97812;color:#e1d0a0;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap}
#modal .item-popup .item-popup-copy>p{font-size:12px;line-height:1.65;color:#c4d0d5;margin:10px 0 0}
#modal .item-popup .item-popup-stock{padding:10px 0;margin:0;min-height:38px;border:0;border-bottom:1px solid #ffffff12;border-radius:0;background:none;font-size:12px}
#modal .item-popup .item-popup-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 12px}
#modal .item-popup .item-popup-actions>button{flex:1;min-width:95px;min-height:44px;padding:10px 12px;border-radius:9px;font-size:11px;line-height:1.4}
#modal .item-popup .storage-consumable-auto{display:flex;align-items:center;gap:14px;margin-top:14px}
#modal .item-popup .storage-consumable-auto>button{flex-shrink:0;min-height:42px;border-radius:9px}
#modal .item-popup .consume-hint{display:block;font-size:11px;line-height:1.65;color:#b3c1c7;margin:0}
#modal .item-popup .food-popup-automatic{margin-top:18px;padding:16px;gap:14px;border-radius:12px;background:#ffffff04;border:1px solid #ffffff12}
#modal .item-popup .food-popup-automatic p{font-size:12px;line-height:1.6;margin:7px 0 0}
#modal .item-popup .item-popup-more{margin-top:20px;padding:0;border:0;border-top:1px solid #ffffff16;border-radius:0;background:none}
#modal .item-popup .item-popup-more>summary{padding:16px 0;font-size:12px}
#modal .item-popup .item-popup-more>div{padding:0 0 8px}
#modal .item-popup .smelt-item-detail{align-items:center;justify-content:space-between;gap:10px;padding:10px 0;margin-top:12px}
#modal .item-popup .smelt-item-detail>div{flex:1;min-width:0}
#modal .item-popup .smelt-item-detail h4{margin-bottom:4px}
#modal .item-popup .smelt-item-detail>button{flex:0 0 auto;width:auto;min-width:78px;max-width:88px;min-height:44px!important;margin:0;padding:8px 10px;font-size:11px}
#modal .item-popup .trader-popup-purchase{margin-top:18px}
@media(max-width:800px){
 #modal .item-popup .item-popup-head{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:16px;margin-bottom:14px;border-radius:14px;align-items:start}
 #modal .item-popup .item-popup-art{width:64px;height:70px}
 #modal .item-popup .item-popup-art>svg{width:60px;height:60px}
 #modal .item-popup .item-popup-title h2{font-size:19px;line-height:1.3}
 #modal .item-popup .item-popup-copy>p{font-size:11px;line-height:1.6;margin-top:10px}
 #modal .item-popup .item-popup-actions{gap:8px;margin-top:16px}
 #modal .item-popup .item-popup-actions>button{min-width:0;min-height:46px;padding:10px 6px;font-size:10px}
 #modal .item-popup .storage-consumable-auto{align-items:stretch;flex-direction:column;gap:10px}
 #modal .item-popup .food-popup-automatic{display:flex;flex-direction:column;align-items:stretch;padding:14px;gap:12px}
 #modal .item-popup .food-auto-action{width:100%;min-height:44px}
 #modal .item-popup .smelt-item-detail{align-items:center;flex-direction:row;gap:8px}
}
#modal .modal:has(.item-popup) .modal-scroll-body{padding:18px 22px 22px}
@media(max-width:800px){#modal .modal:has(.item-popup) .modal-scroll-body{padding:12px 16px calc(20px + env(safe-area-inset-bottom,0px))}}

/* Native alpha replaces the old rectangular portrait fade. */
.paper-survivor>img{mask-image:none;-webkit-mask-image:none}

/* Desktop base: a composed overview followed by direct facility access. */
.base-facility-directory{display:none}
@media(max-width:800px){
 .base-facility-directory--admin{display:block;padding:20px 12px}
 .base-facility-directory--admin>header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
 .base-facility-directory--admin h2{margin:0;font-size:18px}
 .base-facility-directory--admin>header>span{font-size:11px;color:#91aab7}
 .base-facility-directory--admin .base-facility-grid{display:grid;gap:12px}
 .base-facility-directory--admin .base-facility-card{border:1px solid #304c59;border-radius:8px;background:#142933}
 .base-facility-directory--admin .base-facility-link{display:flex;align-items:center;gap:12px;width:100%;padding:12px;text-align:left;background:transparent;border:0}
 .base-facility-directory--admin .facility-art{width:48px;height:48px;min-height:0;margin:0;padding:0;flex:0 0 48px}
 .base-facility-directory--admin .facility-art img{width:48px;height:48px;object-fit:contain}
 .base-facility-directory--admin .base-facility-copy{display:flex;flex-direction:column;gap:5px;font-size:12px}
 .base-facility-directory--admin .base-facility-copy>span{font-size:10px;color:#bba77b}
 .base-facility-directory--admin .base-facility-arrow{margin-left:auto}
 .base-facility-directory--admin .facility-test-controls button{width:44px;height:44px}
}
@media(min-width:801px){
 .main-content:has(.base-explore){padding:24px 32px 40px!important}
 .base-explore{max-width:1240px;margin:0 auto!important}
 .base-explore .scene-panel{border-radius:14px!important;box-shadow:0 12px 40px #0002}
 .base-explore .scene-viewport{height:auto;min-height:0;overflow:hidden!important;overscroll-behavior:auto;cursor:default}
 .base-explore .town-scene{width:100%;height:auto;min-height:0;aspect-ratio:2/1}
 .base-explore .town-world{position:absolute;inset:0;width:100%;height:100%;min-height:0;transform:none;aspect-ratio:auto}
 .base-explore .scene-topline{top:16px;right:16px;padding:12px 16px}
 .base-explore .scene-footer{display:none}
 .base-facility-directory{display:block;padding-top:28px}
 .base-facility-directory>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
 .base-facility-directory h2{font-size:20px;margin:0}
 .base-facility-directory>header>span{font-size:11px;color:#91aab7}
 .base-facility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 .base-facility-link{display:flex;align-items:center;gap:12px;min-width:0;min-height:116px;text-align:left;padding:16px 12px;border:1px solid #304c595e;border-radius:10px;background:#14293399;color:#e6ecec;transition:background .15s,border-color .15s}
 .base-facility-link:hover,.base-facility-link:focus-visible{background:#1d3743;border-color:#b89a60}
 .base-facility-link>:first-child{width:62px;height:62px;flex:0 0 62px;object-fit:contain}
 .base-facility-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
 .base-facility-copy strong{font-size:13px}.base-facility-copy small{font-size:10px;color:#a5bbc6}.base-facility-copy>span{font-size:10px;color:#bba77b;line-height:1.5}
 .base-facility-arrow{margin-left:auto;color:#d5b975;font-size:18px}
 .base-facility-link.needs-repair{border-color:#a96948}
}
@media(min-width:801px) and (max-width:1200px){.base-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:801px){
 .base-facility-link>.facility-art{width:62px!important;height:62px!important;min-height:0!important;margin:0!important;padding:0!important;background:none!important;border:0!important;display:grid;place-items:center}
 .base-facility-link>.facility-art img{width:62px!important;height:62px!important;max-width:100%;max-height:100%;object-fit:contain}
}

/* Persistent desktop vitals replace the two summary dropdowns. */
.desktop-header-vitals{display:none}
@media(min-width:801px){
 .header-shell .topbar{grid-template-columns:minmax(0,1fr) auto auto!important}
 .topbar>.header-actions,.topbar>.header-summary{display:none!important}
 .desktop-header-vitals{display:flex;flex-direction:column;gap:6px;width:260px;flex:0 0 260px;margin-left:4px}
 .desktop-header-vitals button{position:relative;isolation:isolate;overflow:hidden;display:block;width:100%;height:22px;min-height:22px;padding:0 8px;border:0;border-radius:7px;background:#263942;box-shadow:none;color:#f4ede0;font-size:10px;line-height:22px;text-align:center;cursor:pointer}
 .desktop-header-vitals button i{position:absolute;inset:0 auto 0 0;background:#aa655e;z-index:-1;transition:width .25s ease}
 .desktop-header-vitals .dock-xp i{background:#aa853a}
 .desktop-header-vitals button span{font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0009}
 .desktop-header-vitals button:hover{filter:brightness(1.12)}
 .desktop-header-vitals button:focus-visible{outline:2px solid #ffd16b;outline-offset:3px}
}
@media(min-width:801px) and (max-width:1100px){.desktop-header-vitals{width:210px;flex-basis:210px}.desktop-header-vitals button{font-size:9px}}

/* Leave clear space between confirmations and the mobile task controls. */
#toast{bottom:132px}
@media(max-width:800px){#toast{bottom:calc(var(--app-dock-height,0px) + var(--app-task-height,58px) + 28px)}}

/* Shared,.desktop-header-vitals .dock-health i{background:#d96868}.desktop-header-vitals .dock-xp i{background:#c49a3f}

/* Base is a mobile map viewport, not a scrolling document behind the dock. */
@media(max-width:800px){
 body:has(.base-explore){height:100dvh;overflow:hidden}
 .main-content:has(.base-explore){position:fixed;inset:0 0 calc(var(--app-dock-height,0px) + var(--app-task-height,58px));width:100%;height:auto;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden}
 .base-explore,.base-explore .scene-panel{height:100%;min-height:0}
 .base-explore .scene-viewport{height:100%;min-height:0;max-height:100%;overscroll-behavior:contain}
 .base-explore .town-scene{height:max(667px,100%);min-height:100%}
}
@media(max-width:800px){html:has(.base-explore){overflow:hidden;scrollbar-gutter:auto}}

@media(min-width:801px){
 .header-shell .topbar{grid-template-columns:minmax(0,1fr) auto!important}
 .topbar>.more-wrapper{display:none!important}
 .desktop-header-vitals{width:280px;flex-basis:280px;gap:8px}
 .desktop-header-vitals button{height:26px;min-height:26px;padding:0 0 8px;border-radius:0;background:transparent;text-align:left;overflow:visible;line-height:18px}
 .desktop-header-vitals button:before{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:#1b303c;border-radius:3px}
 .desktop-header-vitals button i{top:auto;bottom:0;height:4px;border-radius:3px;z-index:0}
 .desktop-header-vitals button span{display:flex;align-items:center;justify-content:space-between;text-shadow:none}
 .desktop-header-vitals button b{font-size:16px;color:#ed777a;display:flex;align-items:center;gap:9px}
 .desktop-header-vitals button small{font:700 8px Consolas,monospace;letter-spacing:1px;color:#9cb9c8}
 .desktop-header-vitals button strong{font-size:9px;font-weight:600;color:#d2dfeb}
 .desktop-header-vitals .dock-xp b{color:#ffca4d}
 .desktop-header-vitals .dock-xp i{background:#ffca4d}
 .sidebar-more{margin-top:8px;border-top:1px solid #304653;padding-top:8px}
 .sidebar-more-chevron{margin-left:auto;font-size:16px}
 #sidebar-more-links:not([hidden]){display:grid;padding:4px 0 6px 12px;border-left:1px solid #3a515c;margin-left:20px}
 #sidebar-more-links .nav-item{min-height:40px;padding:9px 10px;font-size:11px}
 .sidebar .menu-ui-glyph{fill:#e5edf0;background:none!important;border:0!important;box-shadow:none!important;padding:4px;box-sizing:border-box;border-radius:0!important}
 .sidebar-logout-icon{width:23px;text-align:center;font-size:20px}
 .sidebar>nav{overflow-y:auto;min-height:0;scrollbar-width:thin}
}
@media(min-width:801px){.sidebar-more>.nav-item>.pixel-icon{background:none!important;border:0!important;box-shadow:none!important;padding:4px;box-sizing:border-box;border-radius:0!important}}
.reinforcement-parts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}.reinforcement-parts>span{display:flex;align-items:center;gap:5px;padding:8px;background:#0b1c25;border-radius:8px}.reinforcement-parts b{margin-left:auto}.reinforcement-list{display:grid;gap:9px;margin:18px 0}.reinforcement-list>button{display:flex;align-items:center;gap:14px;text-align:left;padding:12px;background:#142a35}.reinforcement-list>button>span{flex:1;display:grid;gap:6px}.reinforcement-list small{color:#a1b8c5;font-size:11px}.reinforcement-preview>header{display:flex;align-items:center;gap:18px;margin:16px 0}.reinforcement-preview h3{margin:0}.reinforcement-preview header p{font-size:11px}.reinforcement-stats{display:flex;gap:24px;padding:18px 0;margin-bottom:18px;border-bottom:1px solid #334955}.reinforcement-stats span{display:grid;gap:8px}.reinforcement-stats b{color:#f8d37d}.reinforcement-cost,.reinforcement-selected>div{display:flex;align-items:center;gap:12px;padding:12px 0}.reinforcement-cost>b,.reinforcement-selected b{margin-left:auto}.reinforcement-selected{padding:0 12px;background:#0b1c25;border-radius:10px}.upgrade-entry{padding-top:20px;margin-top:20px;border-top:1px solid #334955}.reinforcement-station details{margin-top:20px}.reinforcement-station p,.reinforcement-preview p{line-height:1.7}
@media(max-width:800px){.reinforcement-parts{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.reinforcement-parts>span{flex-direction:column;padding:7px 3px}.reinforcement-parts b{margin:0}.reinforcement-cost{flex-wrap:wrap}.reinforcement-selected{font-size:11px}}
.reinforcement-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 10px}.reinforcement-filter select{width:160px;min-height:40px}

.objective-mobile-progress,.objective-mobile-reward{display:none}
@media(max-width:800px){
 .journal-content>.next-goal{position:relative;overflow:hidden;padding:20px;margin-bottom:26px;border:1px solid #c7a35585;border-top:3px solid #f7c854;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#b9913426,transparent 65%),linear-gradient(145deg,#20343d,#10232e);box-shadow:0 8px 24px #0003}
.journal-content>.next-goal .objective-header{gap:12px;margin-bottom:16px}
 .journal-content>.next-goal .objective-header .shelter-ui-art{width:46px;height:46px;filter:drop-shadow(0 3px 8px #f6bb3a25)}
 .journal-content>.next-goal .objective-header h2{font-size:16px;letter-spacing:1.4px;color:#ffda83}
 .journal-content>.next-goal .objective-count{font-size:12px;color:#f5ddb0}
 .objective-mobile-progress{display:block;margin:0 0 23px}
 .objective-mobile-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:10px;color:#b9cad0}
 .objective-mobile-progress>div>span{font:8px Consolas,monospace;letter-spacing:1.5px;color:#bca776}
 .objective-story-track{height:6px;background:#071821;border-radius:6px;overflow:hidden}
 .objective-story-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c79437,#ffe09a)}
 .journal-content>.next-goal .objective-status-line{grid-template-columns:32px minmax(0,1fr);gap:5px 12px}
 .journal-content>.next-goal .objective-state-mark{width:32px;height:32px;font-size:21px;background:#e2b44d15;border-color:#d3ad6480;color:#f4cd76}
 .journal-content>.next-goal .objective-state-mark.is-complete{color:#88dfb8;border-color:#88dfb866;background:#88dfb813}
 .journal-content>.next-goal .objective-kicker{font:700 9px Consolas,monospace;letter-spacing:1px;text-transform:uppercase;color:#d6bd87}
 .journal-content>.next-goal .objective-body h3{font-size:21px;line-height:1.3;color:#fff0ce}
 .journal-content>.next-goal .objective-body{gap:14px}
 .journal-content>.next-goal .objective-body>p{font-size:13px}
 .objective-mobile-reward{display:flex;align-items:center;gap:14px;padding:13px 0 3px;border-top:1px solid #bc9c5b30}
 .objective-mobile-reward>span{font:8px Consolas,monospace;letter-spacing:1.4px;color:#bba879}
 .objective-mobile-reward>div{display:flex;flex-wrap:wrap;gap:10px}
 .objective-mobile-reward b{display:flex;align-items:center;gap:7px;font-size:12px;color:#ffe099}
 .journal-content>.next-goal .objective-body>button{min-height:48px;margin-top:4px;font-size:13px;border-radius:10px;box-shadow:0 4px 14px #d39a201c}
 .journal-content>.next-goal.objective-ready{border-color:#f8d572;box-shadow:0 0 22px #f7cb5515}
}

/* Desktop command bar and readable vitals. */
@media(min-width:801px){
 .header-shell .topbar{min-height:66px;padding:9px 24px;gap:16px}
 .desktop-header-vitals{gap:5px;width:260px;flex-basis:260px}
 .desktop-header-vitals button{height:21px;min-height:21px;padding-bottom:6px;line-height:15px}
 .desktop-header-vitals button b{font-size:13px}
 .desktop-header-vitals button small{font-size:7px}
 .desktop-header-vitals button:before,.desktop-header-vitals button i{height:3px}
 .topbar .activity-symbol{width:36px;height:36px}
 .topbar .activity-title{margin-bottom:4px}
 .topbar .activity-detail>small{max-height:14px;line-height:14px;margin-top:2px;font-size:9px}
}

/* Desktop More opens beside the navigation rather than extending its list. */
@media(min-width:801px){
 .sidebar:has(#sidebar-more-links:not([hidden])){z-index:80}
 #sidebar-more-links:not([hidden]){position:fixed;left:var(--sidebar-edge,220px);top:76px;width:270px;max-height:calc(100dvh - 96px);overflow:auto;display:flex;flex-direction:column;gap:5px;margin:0;padding:18px;border:1px solid #304653;border-left:2px solid #d1aa59;border-radius:0 14px 14px 0;background:#0d1922;box-shadow:16px 12px 40px #0006;z-index:85;animation:sidebar-flyout-in .2s ease-out}
 .sidebar-flyout-heading{display:flex;align-items:center;justify-content:space-between;padding:0 2px 14px;margin-bottom:6px;border-bottom:1px solid #304653}
 .sidebar-flyout-heading h2{font-size:17px;color:#f0dfb5;margin:0}
 .sidebar-flyout-heading button{width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:#172833;font-size:21px;color:#c6d6de}
 #sidebar-more-links .nav-item{width:100%;min-height:46px;padding:12px;gap:13px;border-radius:8px;font-size:12px;background:transparent}
 #sidebar-more-links .nav-item:hover,#sidebar-more-links .nav-item:focus-visible{background:#172833}
 #sidebar-more-links [data-action="logout"]{margin-top:10px;border-top:1px solid #304653;border-radius:0;padding-top:17px}
 .sidebar-more>[aria-expanded="true"]{background:#172833;border-color:#8f7b4c;color:#ffda83}
 .reduce-motion #sidebar-more-links{animation:none!important}
}
@keyframes sidebar-flyout-in{from{opacity:0;translate:-12px 0}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){#sidebar-more-links{animation:none!important}}
@media(min-width:801px){
 .base-facility-card{display:flex;flex-direction:column;min-width:0;border:1px solid #304c595e;border-radius:10px;background:#14293399;overflow:hidden}
 .base-facility-card>.base-facility-link{width:100%;border:0;border-radius:0;background:transparent;flex:1;min-height:110px}
 .base-facility-card.needs-repair{border-color:#a96948}
 .base-facility-controls{padding:0 12px 12px}
 .base-facility-shortcut{width:100%;min-height:34px;padding:8px 10px;border:1px solid #8b784d66;border-radius:7px;background:#b99a3910;color:#eed69b;font-size:9px;letter-spacing:.6px}
 .base-facility-shortcut:hover{background:#b99a3926;border-color:#bc9c5b}
 .base-facility-controls .generator-controls{margin:0;padding:8px 0 0;border:0;border-top:1px solid #33495480;background:none;gap:8px}
 .base-facility-controls .generator-status strong{font-size:10px}
 .base-facility-controls .generator-fuel{font-size:8px}
}

/* Reinforcement parts: the station is primary, selling stays secondary. */
#modal .item-popup-reinforcement .food-popup-automatic>div{flex:1}
#modal .item-popup-reinforcement .item-popup-actions>button{background:#142b36;border:1px solid #35515f;color:#b3c3cc;box-shadow:none}
#modal .item-popup-reinforcement .item-popup-actions>button:hover{background:#203a46;color:#f2e7cd}

.reinforcement-tier-label{white-space:nowrap}

/* Contextual equipment objectives, inside the existing desktop dialog/mobile sheet. */
#equip-objective-guide{padding:14px 16px;margin:0 0 18px;border:1px solid #b8934266;border-left:3px solid #ffce57;border-radius:10px;background:#1b3039;color:#e9e3cf;display:grid;gap:8px}
#equip-objective-guide small{font-size:9px;letter-spacing:1.2px;color:#ffce57}
#equip-objective-guide strong{font-size:13px;line-height:1.5}
#equip-objective-guide p{margin:0;font-size:12px;line-height:1.6;color:#cad6db}
#equip-objective-guide button{justify-self:start;min-height:36px}
#modal .equip-objective-target{outline:2px solid #ffce57;outline-offset:3px;box-shadow:0 0 0 5px #ffce5712;scroll-margin:18px}
@media(max-width:800px){#equip-objective-guide{padding:12px;margin-bottom:16px;gap:7px}#equip-objective-guide button{min-height:44px}#equip-objective-guide strong{font-size:12px}}

/* Responsive reinforcement station and rank preview. */
.reinforcement-station,.reinforcement-preview{min-width:0;max-width:100%}
.reinforcement-parts{grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr));gap:8px}
.reinforcement-parts>span{display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 6px;min-width:0;padding:9px}
.reinforcement-parts>span>svg{grid-row:1/3;width:28px;height:28px}
.reinforcement-parts b{margin:0;font-size:12px;overflow-wrap:anywhere}.reinforcement-parts small{font-size:10px;color:#a1b8c5}
.reinforcement-list>button{min-width:0;width:100%}.reinforcement-list>button>span{min-width:0;overflow-wrap:anywhere}.reinforcement-list>button>svg{flex-shrink:0}
.reinforcement-item-heading{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px}
.reinforce-equipped-tag{display:inline-flex;align-items:center;flex-shrink:0;gap:4px;width:max-content;padding:4px 7px;border:1px solid #5aa88b88;border-radius:5px;background:#75d7ac12;color:#92dfbb;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.7px;white-space:nowrap}
.reinforcement-list>button[data-equipped-slot]{border-color:#548a77;background:#17362f55}
.reinforce-hero .reinforce-equipped-tag{margin:7px 0 0}
.reinforcement-filter{min-width:0}.reinforcement-filter .choice-trigger{min-width:0}
.reinforcement-preview .reinforce-hero{padding:18px 12px;border-radius:14px;background:radial-gradient(ellipse at top left,#ffc34d14,transparent 75%);gap:12px}.reinforce-hero>svg{flex-shrink:0}.reinforce-hero>div{min-width:0;flex:1}.reinforce-hero h3{font-size:17px;line-height:1.35}.reinforce-hero p{margin:6px 0 0;color:#a1b8c5}.reinforce-rank{font-size:26px;color:#ffce57}
.reinforce-ranks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:16px 0}.reinforce-ranks>span{display:flex;justify-content:center;align-items:center;gap:5px;padding:12px 3px;border:1px solid #314953;border-radius:8px;color:#78909b;background:#0b1c25}.reinforce-ranks .earned{color:#81d9b9;border-color:#508b77}.reinforce-ranks .next{color:#ffce57;border-color:#d5a83e;background:#ffce5710}
.reinforce-next{display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;margin:18px 0 12px}.reinforce-next small{font-size:9px;letter-spacing:1px;color:#9ab0bc}.reinforce-next strong{color:#ffce57}.reinforce-next>span{margin-left:auto;font-size:10px;color:#81d9b9}
.reinforcement-preview .reinforcement-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0;padding:0;margin:0 0 22px}.reinforcement-stats>span{padding:14px;background:#0b1c25;border-radius:10px;gap:7px}.reinforcement-stats small{color:#a1b8c5}.reinforcement-stats b{font-size:19px}.reinforcement-stats i{font-style:normal;font-size:13px;color:#78909b}.reinforcement-stats em{font-size:10px;font-style:normal;color:#81d9b9}
.reinforce-material-title{font-size:10px;letter-spacing:1px;color:#9ab0bc;margin:0 0 10px}.reinforce-materials{display:grid;gap:8px}.reinforce-material{display:flex;align-items:center;gap:10px;padding:12px;background:#10242e;border:1px solid #304955;border-radius:10px}.reinforce-material>svg{flex-shrink:0}.reinforce-material>span{min-width:0;flex:1;display:grid;gap:5px}.reinforce-material b{font-size:12px}.reinforce-material small{font-size:10px;color:#a1b8c5}.reinforce-material>i{font-style:normal;color:#81d9b9}.reinforce-material.missing>i{color:#efb58b}.reinforce-blocked{font-size:11px;color:#efb58b;margin:12px 0}.reinforce-submit{margin-top:14px;min-height:46px;border-radius:9px}.reinforce-preserved{display:block;text-align:center;font-size:10px;color:#9ab0bc;margin:10px 0 18px}.reinforce-details{border-top:1px solid #304955;padding-top:14px;font-size:11px}.reinforce-details summary{color:#a1b8c5;cursor:pointer}.reinforce-details p{font-size:11px}.reinforce-max{text-align:center;padding:22px;color:#ffce57}.reinforce-max strong{font-size:21px}
@media(max-width:800px){.reinforcement-preview .reinforce-hero{padding:12px 6px;gap:10px}.reinforce-hero>svg{width:62px;height:62px}.reinforce-hero h3{font-size:15px}.reinforce-hero .eyebrow{font-size:8px}.reinforce-rank{font-size:22px}.reinforce-material{padding:10px}.reinforcement-stats>span{padding:12px}.reinforce-next>span{margin-left:0}.reinforce-ranks{gap:5px}}
/* The displayed generator bonus follows the actual power/fuel status. */
.base-facility-card:has(.generator-controls) .base-facility-copy>span{color:#f08080}
.base-facility-card:has(.generator-controls.running) .base-facility-copy>span{color:#79d9a5}
#facility-generator:has(.generator-controls) .facility-badge strong,#facility-generator:has(.generator-controls) .facility-badge small{color:#f08080}
#facility-generator:has(.generator-controls.running) .facility-badge strong,#facility-generator:has(.generator-controls.running) .facility-badge small{color:#79d9a5}
/* Desktop identity stays compact; live vitals remain in the app header. */
@media(min-width:801px){
 .character-rpg .survivor-stage .dossier-header .character-vitals{display:none}
 .character-rpg .survivor-stage .dossier-header{grid-template-rows:auto;row-gap:0}
}

/* Keep the unbuilt central facilities comfortably separated. */
.town-facility--bench.town-build-plot .town-build-pin{top:82%}
.town-storage.town-build-plot .town-build-pin{top:85%}


.admin-model-preview{display:flex;justify-content:center;align-items:center;gap:6px;padding:8px 12px;position:relative;z-index:15}.admin-model-preview>span{font-size:11px;color:#9bb5c7;margin-right:5px}.admin-model-preview button{min-height:36px;padding:6px 16px;border:1px solid #405d70;border-radius:8px;background:#142b3b;color:#dce7ee;font-size:12px}.admin-model-preview button[aria-pressed="true"]{background:#ffca4b;border-color:#ffca4b;color:#10202b;font-weight:800}
.facility-art-crop { display: contents; }
.facility-art--barricade .facility-art-crop { display: block; position: absolute; inset: 0; overflow: hidden; border-radius: 6px; }
.facility-art.facility-art--barricade .facility-art-crop img { position: absolute !important; left: 50%; top: 50%; width: 600% !important; height: 300% !important; max-width: none !important; max-height: none !important; aspect-ratio: 2; object-fit: fill !important; transform: translate(-50%, -50%) !important; }

@media(max-width:800px){
 .storage-view .storage-controls .storage-check-filters{flex:1 1 100%;width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* Shared community news feed */
.news-page{max-width:1050px;margin:0 auto}.news-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border:1px solid #34515d;border-radius:14px;background:#10222c;margin-bottom:20px}.news-eyebrow{font-size:9px;letter-spacing:1.7px;color:#d9b767;font-weight:700}.news-hero h1{margin:10px 0;font-size:32px;color:#f2e2bd}.news-hero p{color:#a5bdc9}.news-hero>button{flex-shrink:0;min-height:44px}.news-signal{font-size:9px;letter-spacing:1px;color:#9ebbb4;white-space:nowrap}.news-signal i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#85b09d;margin-right:7px}
.news-feed{display:grid;gap:18px}.news-post{padding:25px;border:1px solid #2e4a58;border-radius:12px;background:#10222c;overflow-wrap:anywhere}.news-post.news-pinned{border-top:3px solid #c6a15b}.news-post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:10px;color:#94adb9}.news-category{color:#bcd4df;background:#223c49;padding:6px 9px;border-radius:4px}.news-pin{color:#e0be73;font-size:9px;letter-spacing:1px}.news-draft{color:#d9a5c3}.news-post-meta time{margin-left:auto}.news-post h2{font-size:23px;color:#f0e2c6;margin:18px 0 14px}.news-copy p{white-space:normal;font-size:14px;color:#c2d0d6;line-height:1.85;margin:0 0 14px}.news-post footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #294350;padding-top:14px;margin-top:20px;color:#8ea8b5;font-size:11px}.news-empty{text-align:center;padding:60px 20px;background:#10232c;border:1px dashed #36535f;border-radius:12px}.news-empty>span{font-size:42px;color:#cbae68}.news-empty h2{margin:14px 0 10px;color:#e8dab7}.news-empty button{margin-top:20px}.news-feed-note{font-size:10px;color:#829da9;margin-top:20px}
.news-editor{padding:24px;border:1px solid #a68a4f;border-radius:12px;background:#142833;margin-bottom:20px;scroll-margin-top:20px}.news-editor header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.news-editor h2{margin-top:8px;color:#f0dfb3}.news-editor form{display:grid;grid-template-columns:2fr 1fr;gap:16px}.news-editor label{font-size:12px;letter-spacing:0;color:#c4d4dc}.news-editor label input,.news-editor label select{margin:8px 0 0}.news-body-label,.news-check,.news-editor-actions,.news-editor-note{grid-column:1/-1}.news-editor textarea{display:block;width:100%;resize:vertical;min-height:220px;background:#0b1b25;color:#dce7ec;border:1px solid #3d5966;border-radius:8px;padding:14px;font:inherit;font-size:14px;line-height:1.7;margin-top:8px}.news-check{display:flex;align-items:center;gap:10px}.news-check input{width:18px;height:18px;margin:0!important}.news-editor-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.news-editor-actions button{min-height:44px}.news-editor-note{font-size:11px}.news-error{padding:15px;border:1px solid #ad6e54;border-radius:8px;color:#ffd1b6;background:#402a24;margin-bottom:16px}
@media(max-width:600px){.news-hero{padding:20px;flex-direction:column;align-items:stretch;gap:15px}.news-hero h1{font-size:28px}.news-hero>button{width:100%}.news-post{padding:18px}.news-post h2{font-size:21px}.news-editor{padding:17px}.news-editor form{grid-template-columns:1fr}.news-editor-actions button{flex:1}.news-post-meta time{font-size:9px}.news-copy p{font-size:13px}}
.support-page{max-width:1000px;margin:0 auto}.support-heading{margin-bottom:24px}.support-heading h1{font-size:32px;margin:9px 0;color:#f2e1b9}.support-heading p{color:#a6bfcb}.support-eyebrow{font-size:9px;color:#cfb272;letter-spacing:1.5px;font-weight:700}.support-discord{display:flex;gap:28px;align-items:center;padding:32px;border:1px solid #555d88;border-radius:14px;background:radial-gradient(ellipse at 0 0,#5865f233,transparent 70%),linear-gradient(120deg,#1c2c42,#10212c);margin-bottom:30px}.support-discord-logo{width:92px;height:92px;flex-shrink:0;display:grid;place-items:center;background:#5865f2;border-radius:24px;color:white}.support-discord-logo svg{width:56px;height:44px}.support-discord h2{font-size:25px;color:#f0e8d5;margin:10px 0}.support-discord p{font-size:13px;max-width:620px;color:#bbccd8;line-height:1.8}.support-discord-button{display:inline-block;background:#5865f2;color:white;border:1px solid #8992ff;border-radius:8px;min-height:46px;padding:13px 20px;margin-top:20px;text-decoration:none;font-weight:700;font-size:13px}.support-discord-button:disabled{opacity:1;background:#343f65;color:#bbc4e1;border-color:#526087;cursor:not-allowed}.support-discord small{display:block;margin-top:9px;color:#9eafc1;font-size:11px}.support-faq{border:1px solid #304b59;background:#10222c;border-radius:12px;padding:25px}.support-faq h2{font-size:23px;color:#eaddbd;margin:9px 0 20px}.support-search{display:block;font-size:12px;letter-spacing:0;color:#bcd0d9}.support-search input{margin:8px 0 14px!important;min-height:48px!important}.support-categories{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.support-categories button{min-height:40px;background:#142b37;border-color:#33505e;color:#adc6d2}.support-categories button[aria-pressed=true]{color:#ffdc94;background:#363427;border-color:#b69957}.support-count{color:#8eaab8;font-size:11px;margin-bottom:10px}.support-question{border-top:1px solid #2b4452}.support-question summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:18px 0;font-size:14px;font-weight:600;color:#dce8ec;min-height:54px}.support-question summary::-webkit-details-marker{display:none}.support-question summary span{color:#d4b36a;font-size:20px;flex-shrink:0}.support-question[open] summary span{transform:rotate(45deg)}.support-question summary:focus-visible{outline:2px solid #d4b36a;outline-offset:3px}.support-question>div{padding:0 20px 20px 0}.support-question p{font-size:13px;line-height:1.85;color:#b7cbd6;margin-top:9px}.support-question small{font-size:9px;color:#d0b578;letter-spacing:.7px}.support-empty{padding:24px 0;text-align:center}.support-empty p{margin:10px 0 18px}.support-report{padding:23px 25px;border:1px solid #304b59;border-radius:12px;margin-top:20px;background:#10212b}.support-report h3{color:#e1d1aa;font-size:16px;margin-bottom:8px}.support-report ul{padding-left:20px;color:#b4c9d3;font-size:12px;line-height:2}.support-report small{color:#8ca5b1}
@media(max-width:600px){.support-discord{padding:22px;flex-direction:column;align-items:flex-start;gap:18px}.support-discord-logo{width:64px;height:64px;border-radius:17px}.support-discord-logo svg{width:40px;height:32px}.support-discord h2{font-size:23px}.support-discord-button{width:100%;text-align:center}.support-faq{padding:18px}.support-faq h2{font-size:21px}.support-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.support-categories button{padding:10px 5px;font-size:11px}.support-categories button:first-child{grid-column:1/-1}.support-question summary{font-size:13px}.support-report{padding:20px}}
.profile-settings-layout .settings-main{display:flex;flex-direction:column;gap:18px}
.settings-main>.panel,.settings-columns{width:100%;min-width:0}
.settings-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.settings-column{display:flex;flex-direction:column;gap:18px;min-width:0}
.settings-column>.panel{margin:0;min-width:0}
@media(max-width:1150px){.settings-columns{grid-template-columns:1fr}}
@media(max-width:800px){
 .profile-settings-layout .supporter-shop{order:0;padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .profile-settings-layout .settings-main{order:1}
 .supporter-shop .shop-intro,.supporter-shop>h2,.supporter-shop .shop-footer{grid-column:1/-1}
 .supporter-shop .shop-intro p{display:none}
 .supporter-shop .shop-card{padding:12px;grid-template-columns:26px minmax(0,1fr);gap:8px;align-content:start}
 .supporter-shop .shop-card>svg,.supporter-shop .shop-card>.item-art{width:26px!important;height:26px!important}
 .supporter-shop .shop-card h3{font-size:12px;line-height:1.4}
 .supporter-shop .shop-card>strong{grid-column:1/-1;font-size:14px}
 .supporter-shop .shop-card>button{align-self:end;min-height:38px;padding:8px}
 .supporter-shop .shop-card:last-of-type{grid-column:1/-1}
 .settings-column>.panel{padding:20px}
}
@media(max-width:360px){.profile-settings-layout .supporter-shop{grid-template-columns:1fr}.supporter-shop .shop-card{grid-column:1/-1}}

@media(max-width:800px){.character-rpg .survivor-stage .dossier-header .dossier-identity{left:100px;top:30px;max-width:calc(100% - 112px)}}
@media(max-width:800px){
 .character-rpg .survivor-stage .dossier-header{display:block!important}
 .character-rpg .survivor-stage .dossier-header .dossier-identity,.character-rpg .survivor-stage .dossier-header .character-vitals{display:none}
 body:has(.survivor-stage) .mobile-player-name{left:96px;top:26px;max-width:calc(100% - 110px);font-size:11px;padding:10px 8px}
}
@media(max-width:800px){body:has(.admin-model-preview) .mobile-player-name{top:78px}}

@media(max-width:800px){.support-page>.support-heading{display:none}}

.news-rich-wrap{grid-column:1/-1;min-width:0;color:#c4d4dc;font-size:12px}
.news-rich-editor{margin-top:8px;border:1px solid #3d5966;border-radius:8px;background:#0b1b25;overflow:hidden}
.news-rich-editor:focus-within{border-color:#8db4c7;box-shadow:0 0 0 1px #8db4c733}
.news-format-bar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:9px;background:#142b37;border-bottom:1px solid #34515d}
.news-format-bar button{min-width:36px;min-height:36px;padding:6px 10px;margin:0;font-size:12px;background:#10222c;border-color:#385765;color:#d5e2e8}
.news-format-bar button[aria-pressed=true]{color:#ffe19a;border-color:#d5b35d;background:#3a3523}
.news-format-bar [data-news-command=bold]{font-weight:800}.news-format-bar [data-news-command=italic]{font-style:italic}.news-format-bar [data-news-command=underline]{text-decoration:underline}
.news-format-bar .news-text-style{margin:0;min-width:132px}
.news-text-style .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.news-format-bar .news-text-style select{margin:0;width:100%;min-height:36px;padding:6px 28px 6px 10px;font-size:12px}
.news-rich-body{min-height:260px;max-height:520px;overflow-y:auto;padding:18px;color:#dce7ec;font-size:14px;line-height:1.8;outline:none;overflow-wrap:anywhere;cursor:text}
.news-rich-body:empty:before{content:attr(data-placeholder);color:#819da9;pointer-events:none}
.news-copy{color:#c2d0d6;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
.news-copy h2{font-size:22px;color:#f0e2c6;margin:18px 0 12px;line-height:1.4}.news-copy h3{font-size:17px;color:#e9d9b1;margin:16px 0 10px;line-height:1.4}
.news-copy ul,.news-copy ol{padding-left:24px;margin:0 0 14px;list-style-position:outside}.news-copy ul{list-style-type:disc}.news-copy ol{list-style-type:decimal}.news-copy li{display:list-item;padding-left:3px;margin:4px 0}.news-copy li p{margin:0}
.news-copy blockquote{margin:14px 0;padding:8px 14px;border-left:3px solid #d2b263;background:#18303c;color:#aec8d4}
.news-copy a{color:#a9dcf5;text-decoration:underline;text-underline-offset:3px}.news-copy a:hover{color:#ffe19a}.news-copy a:focus-visible{outline:2px solid #a9dcf5;outline-offset:3px;border-radius:2px}
.news-copy strong{font-weight:800}.news-copy em{font-style:italic}.news-copy>:first-child{margin-top:0}.news-copy>:last-child{margin-bottom:0}
.news-editor-help{font-size:11px;color:#94aebc;margin:8px 0 0}
.news-inline-error{font-size:12px;color:#ffb9a8;margin:8px 0 0}.news-inline-error:empty{display:none}
.news-link-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;padding:14px;border-bottom:1px solid #34515d;background:#142833}.news-link-fields[hidden]{display:none}
.news-link-fields label{min-width:0}.news-link-fields input{width:100%;min-width:0}
.news-link-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1}.news-link-actions button{min-height:38px;font-size:12px}.news-link-fields .news-inline-error{grid-column:1/-1}
.news-editor form>label{min-width:0}.news-editor form>label input,.news-editor form>label select{width:100%;min-width:0}.news-editor form>.news-check input{width:18px}
@media(max-width:600px){.news-format-bar{padding:7px;gap:5px}.news-format-bar button{min-height:40px;min-width:36px;padding:6px 8px}.news-format-bar .news-text-style select{min-height:40px}.news-rich-body{min-height:240px;padding:13px;max-height:420px}.news-link-fields{grid-template-columns:1fr;padding:12px}.news-copy{font-size:13px}.news-copy h2{font-size:20px}.news-copy h3{font-size:16px}}
.news-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px 0}
.news-pagination span{font-size:12px;color:#a6bfcb;white-space:nowrap}
.news-pagination button{min-height:44px}
@media(max-width:800px){
 .news-page>.news-hero{padding:0;border:0;background:none;margin:0 0 12px;display:flex;justify-content:flex-end}
 .news-page>.news-hero>div,.news-page>.news-hero>.news-signal{display:none}
 .news-page>.news-hero:not(:has(button)){display:none}
 .news-page>.news-hero>button{width:auto;min-height:40px;padding:9px 14px}
 .news-pagination{gap:10px}.news-pagination button{padding:10px}
}

/* Match the Support surfaces: blue panels with gold accents, no olive wash. */
.news-page .news-empty,.news-page .news-editor{background:#10222c;border-color:#304b59}

/* Clear spacing for the workbench and reinforcement instructions. */
.facility-sheet .upgrade-entry{padding-top:20px;margin-top:22px}
.facility-sheet .upgrade-entry h3{margin:0 0 10px;font-size:15px;line-height:1.4}
.facility-sheet .upgrade-entry p{margin:0 0 18px;line-height:1.65;color:#bdd0dc;font-size:13px}
.facility-sheet .upgrade-entry>button{margin:0;min-height:44px}
.reinforcement-intro{padding:0 0 18px;border-bottom:1px solid #304b59;margin-bottom:20px}
.reinforcement-capacity{display:block;color:#e5cca0;font-size:12px;line-height:1.5;margin-bottom:16px}
.reinforcement-station .reinforcement-intro p{font-size:14px;font-weight:600;line-height:1.5;margin:0 0 12px;color:#e4edf1}
.reinforcement-intro ul{padding-left:18px;margin:0;color:#bdd0dc;font-size:13px;line-height:1.65}
.reinforcement-intro li+li{margin-top:8px}

@media(max-width:800px){.settings-page-heading{display:none}}

.main-content .skills-tabs .skills-tab .pixel-icon{width:22px!important;height:22px!important;flex-shrink:0}.skills-tab .menu-ui-glyph,.section-tabs .menu-ui-glyph{fill:currentColor}.storage-filter-panel fieldset label .pixel-icon{width:26px!important;height:26px!important;object-fit:contain;flex-shrink:0}

.activity-symbol .skill-icon{display:block;width:32px;height:32px;object-fit:contain;flex-shrink:0}

/* Tier identity follows the selected expedition, using the picker palette. */
.expedition-card{border-color:color-mix(in srgb,var(--threat) 60%,#314c59)!important;box-shadow:inset 0 3px var(--threat),0 5px 18px #0002}
.expedition-card .expedition-card-body{background:linear-gradient(135deg,color-mix(in srgb,var(--threat) 12%,#122530),#122530 70%)}
.expedition-card .threat-mark{background:linear-gradient(135deg,color-mix(in srgb,var(--threat) 28%,#10212b),#10212b);border:1px solid var(--threat);border-radius:7px;box-shadow:0 3px 14px #0005;padding:10px 14px}
.expedition-card .threat-mark b{color:var(--threat);font-size:14px;letter-spacing:1px}
.expedition-card .threat-mark>span{color:#eef0e9;font-size:11px}
.expedition-card .expedition-threat-meter{height:5px;gap:4px}
.expedition-card .expedition-threat-meter .lit{background:var(--threat);box-shadow:0 0 5px color-mix(in srgb,var(--threat) 35%,transparent)}
.expedition-choice>span{color:var(--threat);font-weight:700}
.expedition-choice .expedition-tier-control{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;text-align:left;border:1px solid color-mix(in srgb,var(--tier-color) 65%,#314b58);border-left:4px solid var(--tier-color);background:linear-gradient(115deg,color-mix(in srgb,var(--tier-color) 23%,#13232c),#10212b);border-radius:7px;white-space:normal}
.expedition-tier-number{display:grid;justify-items:center;border-right:1px solid color-mix(in srgb,var(--tier-color) 35%,transparent);padding-right:14px;color:var(--tier-color)}
.expedition-tier-number small{font-size:8px;letter-spacing:1px}.expedition-tier-number b{font-size:27px;line-height:1.15;font-variant-numeric:tabular-nums}
.expedition-tier-copy{display:grid;gap:5px;flex:1;min-width:0}.expedition-tier-copy strong{color:var(--tier-color);font-size:15px;text-transform:uppercase;letter-spacing:.5px}.expedition-tier-copy small{color:#c1cdd2;font-size:10px;letter-spacing:0}
.expedition-tier-pips{display:flex;gap:3px;margin-top:3px}.expedition-tier-pips i{height:5px;flex:1;max-width:22px;background:#ffffff12;border-radius:1px}.expedition-tier-pips .lit{background:var(--tier-color)}
@media(max-width:600px){.expedition-choice .expedition-tier-control{gap:10px;padding:11px}.expedition-tier-number{padding-right:10px}.expedition-tier-copy strong{font-size:13px}}

/* One palette for the tier picker, selected control and expedition surface. */
.tier-choice,.expedition-card,.expedition-tier-control{--tier-accent:var(--tier-color,var(--threat));--tier-surface:linear-gradient(110deg,color-mix(in srgb,var(--tier-accent) 9%,#1a2225),#1a2225)}
:is(.tier-choice,.expedition-card,.expedition-tier-control)[data-tier="1"]{--tier-surface:linear-gradient(110deg,color-mix(in srgb,var(--tier-accent) 9%,#14242f),#101f29)}
:is(.tier-choice,.expedition-card,.expedition-tier-control)[data-tier="2"]{--tier-surface:linear-gradient(110deg,color-mix(in srgb,var(--tier-accent) 12%,#142922),#10251e)}
:is(.tier-choice,.expedition-card,.expedition-tier-control)[data-tier="3"]{--tier-surface:linear-gradient(110deg,color-mix(in srgb,var(--tier-accent) 9%,#14253c),#102037)}
:is(.tier-choice,.expedition-card,.expedition-tier-control):is([data-tier="7"],[data-tier="8"]){--tier-surface:linear-gradient(115deg,#382627,#202226)}
:is(.tier-choice,.expedition-card,.expedition-tier-control):is([data-tier="9"],[data-tier="10"]){--tier-surface:linear-gradient(115deg,#4d3024,#392229 55%,#252126)}
.choice-options .tier-choice[data-tier],.expedition-choice .expedition-tier-control{background:var(--tier-surface)}
.expedition-card .expedition-card-body{background:var(--tier-surface)}
.expedition-card .threat-mark{background:var(--tier-surface)}
.expedition-choice .expedition-tier-control{position:relative;isolation:isolate;overflow:hidden}
.expedition-tier-control>*{position:relative;z-index:1}
.expedition-tier-control:is([data-tier="4"],[data-tier="5"],[data-tier="6"],[data-tier="7"],[data-tier="8"],[data-tier="9"],[data-tier="10"])::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(115deg,transparent 0 32%,color-mix(in srgb,var(--tier-color) 18%,transparent) 42% 46%,transparent 56% 100%);background-size:200% 100%;animation:rare-shimmer 9s linear infinite}
.expedition-tier-control:is([data-tier="7"],[data-tier="8"])::before{animation-duration:7s;background-image:repeating-linear-gradient(115deg,transparent 0 28%,color-mix(in srgb,var(--tier-color) 28%,transparent) 40% 48%,transparent 60% 100%)}
.expedition-tier-control:is([data-tier="9"],[data-tier="10"])::before{animation-duration:5s;background-image:repeating-linear-gradient(115deg,transparent 0 20%,#d7654026 30%,color-mix(in srgb,var(--tier-color) 38%,transparent) 42% 49%,transparent 65% 100%)}
.expedition-card:is([data-tier="9"],[data-tier="10"]) .expedition-card-body{box-shadow:inset 0 0 40px #d35e3818}
.reduce-motion .expedition-tier-control::before{animation:none!important}
@media(prefers-reduced-motion:reduce){.expedition-tier-control::before{animation:none!important}}

.level-plaque{position:relative;display:inline-block;flex-shrink:0;width:64px;height:64px;background-size:contain;background-position:center;background-repeat:no-repeat;isolation:isolate}
.level-plaque:before{content:'';position:absolute;inset:29% 27% 27%;background:#171c22;border-radius:6px;z-index:-1}
.level-plaque>small,.level-plaque>b{position:absolute;left:50%;transform:translate(-50%,-50%);color:#fff0cf;text-shadow:0 1px 2px #000;line-height:1}
.level-plaque>small{top:36%;font:800 7px/1 Arial,sans-serif;letter-spacing:.6px}
.level-plaque>b{top:57%;font:16px/1 'Press Start 2P',monospace;letter-spacing:-1px}
.return-report .return-level-plaque{width:40px;height:40px;flex:0 0 40px}
.return-report .return-level-plaque>small{font-size:5px;letter-spacing:.25px}
.return-report .return-level-plaque>b{font-size:10px;letter-spacing:-.5px}
.celebration-level-plaque{display:block;width:128px;height:128px;margin:18px auto}
.celebration-level-plaque>small{font-size:12px}.celebration-level-plaque>b{font-size:32px}

@media(max-width:800px){
 .header-shell .activity-bar .activity-symbol{display:grid;place-items:center;width:34px;height:34px;min-width:34px;flex:0 0 34px;padding:1px;border-radius:7px}
 .header-shell .activity-bar .activity-symbol .skill-icon{width:30px;height:30px}
 .header-shell .activity-bar .activity-title>b{min-width:0}
 .header-shell .activity-bar .activity-title>span{flex-shrink:0}
}

/* Give the earned PNG plaque centre stage in the level-up celebration. */
.celebration-level-plaque{width:176px;height:176px;margin:12px auto 20px;filter:drop-shadow(0 6px 10px #0006)}
.celebration-level-plaque:after{content:'';position:absolute;inset:-18%;z-index:-2;border-radius:50%;background:radial-gradient(ellipse,#dfb96c28,transparent 68%);pointer-events:none}
.celebration-level-plaque>small{font-size:15px;letter-spacing:1.5px}
.celebration-level-plaque>b{font-size:42px;text-shadow:0 3px 2px #000}
@media(max-width:600px){.celebration-level-plaque{width:152px;height:152px;margin:10px auto 16px}.celebration-level-plaque>b{font-size:36px}.celebration-level-plaque>small{font-size:13px}}

.expedition-supplies .expedition-bonus-items{color:#d8c391;gap:6px}
.expedition-bonus-items .bonus-question{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1px solid #a99563;border-radius:50%;background:#d8bd6b12;color:#edda9c;font:bold 12px/1 Georgia,serif}

/* Expedition reward screen: a short, skippable reveal, without blocking actions. */


.loot-report .modal-sheet-handle{display:none}

.loot-report-header{text-align:center;margin:0 auto 26px;max-width:700px}
.loot-report-header h2{font-size:32px;color:#f6e3b5;margin:8px 0 12px}
.loot-report .expedition-summary{display:flex;justify-content:center;gap:12px;margin:0 auto 26px;max-width:520px}
.loot-report .expedition-summary>span{flex:1;text-align:center;padding:14px;background:#152d38;border:1px solid #345362;border-radius:10px}
.loot-section-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.loot-section-heading h3{color:#eddbb0;font-size:17px}
.loot-report .expedition-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
.loot-report .expedition-reward{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;min-width:0;padding:24px 16px;border:1px solid color-mix(in srgb,var(--rarity) 55%,#304a58);border-radius:12px;background:radial-gradient(ellipse at 50% 20%,color-mix(in srgb,var(--rarity) 18%,transparent),transparent 75%),#132a36;animation:loot-arrive .55s cubic-bezier(.18,.8,.28,1.15) both;animation-delay:var(--reveal-delay)}
.loot-report .expedition-reward .item-art{width:88px;height:88px;display:grid;place-items:center;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 20%,transparent),transparent 70%);border:0;box-shadow:none}
.loot-report .expedition-reward .item-art .pixel-icon{width:64px;height:64px;object-fit:contain}
.loot-report .expedition-reward>div:not(.item-art){width:100%;min-width:0}
.loot-report .expedition-reward b{font-size:14px;line-height:1.5}.loot-report .expedition-reward b>span{display:block;color:#ffda82;font-size:18px;margin-top:6px}
.loot-report .reward-tags{justify-content:center;margin-top:8px}.loot-report .expedition-reward>button{margin-top:auto;width:100%}
.reward-tags:empty{display:none}
.loot-report .loot-storage-note{text-align:center;margin:22px 0 12px}
.loot-report-footer{position:sticky;bottom:-24px;padding:14px 0 24px;background:linear-gradient(transparent,#0e202b 25%);z-index:2}
.loot-report-footer>button{display:block;max-width:440px;margin:auto;min-height:46px}
@keyframes loot-arrive{from{opacity:0;transform:translateY(20px) scale(.88);filter:brightness(1.6)}to{opacity:1;transform:none;filter:brightness(1)}}
.loot-report.loot-revealed .expedition-reward,.reduce-motion .loot-report .expedition-reward{animation:none}
@media(prefers-reduced-motion:reduce){.loot-report .expedition-reward{animation:none}}
@media(max-width:600px){.loot-report-header h2{font-size:25px}.loot-report .expedition-rewards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loot-report .expedition-reward{padding:16px 10px;gap:8px}.loot-report .expedition-reward b{font-size:12px}.loot-report .expedition-reward .item-art{width:74px;height:74px}.loot-report-footer{bottom:-20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}

.loot-report [hidden]{display:none!important}
.loot-report button.expedition-reward{width:100%;cursor:pointer;color:inherit;font-weight:400}
.loot-report button.expedition-reward:hover{border-color:var(--rarity);box-shadow:0 0 20px color-mix(in srgb,var(--rarity) 15%,transparent)}
.loot-view-hint{margin-top:auto;color:#c8d8de;font-size:10px}
.loot-detail-view{max-width:640px;margin:0 auto;animation:loot-detail-in .28s ease-out both}
.loot-detail-card{text-align:center;padding:24px;border:1px solid color-mix(in srgb,var(--rarity) 55%,#304a58);border-radius:16px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--rarity) 15%,transparent),transparent 65%),#142b36}
.loot-detail-art{display:grid;place-items:center;min-height:164px}.loot-detail-art .pixel-icon{width:120px;height:120px;object-fit:contain}
.loot-detail-card h2{font-size:25px;margin:18px 0 10px;color:#f2e1ba}.loot-detail-card p{margin:12px 0;line-height:1.7}.loot-detail-quantity{color:#e9c875}.loot-detail-card>button{margin-top:20px;min-height:46px}
.loot-gear-stats{display:flex;justify-content:center;gap:24px;margin:24px 0;color:#b6cbd4}.loot-gear-stats b{display:block;font-size:23px;color:#f3d69a}
.loot-returning{animation:loot-return .25s ease-out both}
@keyframes loot-detail-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes loot-return{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
.reduce-motion .loot-detail-view,.reduce-motion .loot-returning{animation:none}
@media(prefers-reduced-motion:reduce){.loot-detail-view,.loot-returning{animation:none}}

/* Survivor milestone: full-screen, staged plaque reveal. */
.level-celebration.survivor-celebration{padding:0;overflow-y:auto;background:radial-gradient(ellipse at 50% 32%,#80633835,transparent 60%),#0b1a24f7;backdrop-filter:blur(14px)}
.survivor-celebration .celebration-close{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));z-index:5;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:#172b36;color:#fff4dc;font:30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 18px #0007}
.survivor-celebration .celebration-close:hover{background:#25404c;border-color:#f1c979}
.survivor-celebration .celebration-close:focus-visible{outline:3px solid #f8d78c;outline-offset:3px}
.survivor-celebration .celebration-card{width:100%;min-height:100dvh;max-height:none;overflow:visible;border:0;border-radius:0;box-shadow:none;background:transparent;padding:48px 24px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:none}
.survivor-celebration .celebration-card>.eyebrow{font-size:10px;letter-spacing:3px;animation:survivor-copy-reveal .55s ease-out both}
.survivor-celebration .celebration-level-plaque{width:224px;height:224px;margin:8px auto 24px;animation:survivor-plaque-reveal .9s cubic-bezier(.2,.8,.2,1.1) .15s both}
.survivor-celebration .celebration-level-plaque>b{font-size:52px;animation:survivor-number-reveal .4s ease-out .75s both}
.survivor-celebration .celebration-level-plaque>small{font-size:17px}
.survivor-celebration .celebration-level-plaque:after{inset:-35%;background:radial-gradient(ellipse,#dfb96c38,transparent 66%)}
.survivor-celebration .celebration-card h2{font-size:36px;animation:survivor-copy-reveal .5s ease-out .85s both}
.survivor-celebration .celebration-subtitle,.survivor-celebration .celebration-step{animation:survivor-copy-reveal .5s ease-out 1s both}
.survivor-celebration .celebration-step{margin:10px 0}.survivor-celebration .celebration-step>span{font-size:22px}
.survivor-celebration .celebration-unlocks{width:min(600px,100%);border:0;animation:survivor-copy-reveal .5s ease-out 1.15s both}
.survivor-celebration .celebration-unlocks ul{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.survivor-celebration .celebration-unlocks li{background:#1c4355;border:0;border-radius:8px;padding:12px}
.survivor-celebration .celebration-benefit{animation:survivor-copy-reveal .5s ease-out 1.15s both}
.survivor-celebration .celebration-dismiss{width:min(340px,100%);animation:survivor-copy-reveal .5s ease-out 1.3s both}
.celebration-continue{width:100%;min-height:46px}.celebration-dismiss>small{display:block;margin-top:12px;font:10px/1.5 inherit;color:#94a9b4}
@keyframes survivor-plaque-reveal{from{opacity:0;transform:translateY(25px) scale(.7);filter:brightness(1.8)}to{opacity:1;transform:none;filter:brightness(1)}}
@keyframes survivor-number-reveal{from{opacity:0}to{opacity:1}}
@keyframes survivor-copy-reveal{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.survivor-celebration .celebration-card{padding:32px 20px calc(28px + env(safe-area-inset-bottom,0px))}.survivor-celebration .celebration-level-plaque{width:180px;height:180px}.survivor-celebration .celebration-level-plaque>b{font-size:43px}.survivor-celebration .celebration-level-plaque>small{font-size:14px}.survivor-celebration .celebration-card h2{font-size:28px}.survivor-celebration .celebration-unlocks ul{grid-template-columns:1fr}}
.reduce-motion .survivor-celebration *{animation:none!important}
@media(prefers-reduced-motion:reduce){.survivor-celebration *{animation:none!important}}

.expedition-badges{position:absolute;top:18px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:7px;z-index:3}
.expedition-card .expedition-badges .threat-mark{position:static;margin:0}
.expedition-level-badge{display:block;padding:7px 9px;border:1px solid color-mix(in srgb,var(--threat) 55%,#344c57);border-radius:6px;background:#0e202bed;color:#dbe6e7;font-size:10px;line-height:1.4;box-shadow:0 2px 10px #0003}
.expedition-level-badge b{color:var(--threat);font-variant-numeric:tabular-nums}
.expedition-level-badge.unmet{border-color:#b27b65;color:#f1c5b4}
@media(max-width:600px){.expedition-badges{top:12px;right:12px}.expedition-level-badge{font-size:9px;padding:6px 8px}}

/* Warm, high-rarity gold for supporter offers. */
.profile-settings-layout .supporter-shop{background:radial-gradient(ellipse at 10% 0%,#dba94920,transparent 48%),linear-gradient(145deg,#282b25,#142630 65%);border-color:#ab8c4d;box-shadow:inset 0 1px #ffe3a522,0 6px 24px #0002}
.supporter-shop .shop-card{position:relative;overflow:hidden;background:#142630;border:1px solid #a88b4b;border-radius:9px;box-shadow:none}
.supporter-shop .shop-card h3{color:#f5e4b9}
.supporter-shop .shop-card p{color:#d0d3c9}
.supporter-shop .shop-card>strong{color:#ffda80;text-shadow:0 1px 8px #c8942826}
.supporter-shop .shop-card>button:disabled{opacity:1;background:#252b29;border-color:#7d7149;color:#b8b6a4}
.supporter-shop .shop-intro h2,.supporter-shop>h2{color:#f6e4ba}
.supporter-shop .shop-preview{color:#c9b780}

.survivor-celebration .celebration-level-plaque:before{display:none}
.survivor-celebration .celebration-level-plaque>small,.survivor-celebration .celebration-level-plaque>b{color:#e9b94f;text-shadow:0 2px 2px #0007}

@media(min-width:801px){
 .topbar .activity-symbol>.skill-icon,.topbar .activity-symbol>.pixel-icon{transition:width .24s ease,height .24s ease}
}
@media(prefers-reduced-motion:reduce){.topbar .activity-symbol>.skill-icon,.topbar .activity-symbol>.pixel-icon{transition:none}}

.building-receipt-art{width:120px;height:120px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 5px 5px #0004)}
.completion-hero .building-receipt>div{flex-direction:column;text-align:center}
.completion-hero .building-receipt-art{width:180px;height:180px}
@media(max-width:600px){.building-receipt-art{width:88px;height:88px}.building-receipt h3{font-size:18px}.completion-hero .building-receipt-art{width:156px;height:156px}}

/* Support store: quiet solid cards on a single gold backdrop. */
.profile-settings-layout .supporter-store{display:block;padding:22px;min-width:0;overflow:hidden;border-radius:14px}
.supporter-store .shop-intro p{display:block;margin:10px 0 16px;font-size:12px;line-height:1.6}
.support-store-status{display:inline-block;padding:5px 9px;border:1px solid #a98b4e66;border-radius:20px;font-size:10px;color:#d9c591;background:#13252c}
.support-pass-benefit{display:flex;align-items:center;gap:12px;padding:18px 0;margin:4px 0 0}.support-pass-benefit b{display:block;color:#f0dfb8;font-size:13px}.support-pass-benefit small{display:block;color:#b4c4c9;font-size:10px;margin-top:5px}
.support-pass-options{display:grid;gap:10px}.support-pass{padding:16px;border:1px solid #655b3f;border-radius:10px;background:#142630}.support-pass.lifetime{border-color:#b89a53}.support-pass>span{font-size:9px;letter-spacing:1.5px;color:#dbc289}.support-pass h3{font-size:12px;margin:8px 0;color:#e4e9e7}.support-pass .support-price{font-size:25px;font-weight:700;color:#ffda80;margin:12px 0}.support-price small{font-size:11px;font-weight:400;color:#b8c7cb}.supporter-store button:disabled{opacity:1;background:#203039;color:#8fa3ab;border:1px solid #3e555f;cursor:default}.support-pass button{width:100%;min-height:38px}
.support-packs-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 14px}.support-packs-heading h2{font-size:19px;color:#f0dfb8}.support-packs-heading p{font-size:10px;margin-top:4px}.support-pack-arrows{display:flex;gap:6px}.support-pack-arrows button{width:32px;height:32px;padding:0;color:#e4c985;background:#142630;border-color:#7b6b45}
.support-pack-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:1px;padding:1px 1px 12px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9b824a #142630}
.support-pack{flex:0 0 85%;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid #4e6066;border-radius:10px;background:#142630}.support-pack-art{height:76px;display:grid;place-items:center;align-self:center;margin-bottom:10px}.support-pack-art .pixel-icon{width:64px;height:64px;object-fit:contain}.support-pack .shop-pack-count{font-size:8px;letter-spacing:1px;color:#d5be84}.support-pack h3{font-size:15px;color:#f0e1bd;margin:8px 0}.support-pack p{font-size:11px;line-height:1.6;margin:0 0 16px}.pack-price{margin-top:auto;font-size:11px;color:#c7c8b7}.support-pack>button{width:100%;min-height:38px;margin-top:12px}.supporter-store .shop-footer{margin-top:22px;padding-top:20px;border-top:1px solid #9b824a44}.supporter-store .shop-footer h3{font-size:12px}.supporter-store .shop-footer p{font-size:11px}
@media(max-width:800px){.profile-settings-layout .supporter-store{display:block;padding:16px}.support-pass-options{grid-template-columns:repeat(2,minmax(0,1fr))}.support-pass{padding:12px;display:flex;flex-direction:column}.support-pass h3{line-height:1.5}.support-pass .support-price{font-size:23px;margin-top:auto;padding-top:10px}.support-pack{flex-basis:78%}}
@media(max-width:360px){.support-pass-options{grid-template-columns:1fr}.support-pack{flex-basis:90%}}

.skill-tools-slot .item-art .skill-toolbox-art{width:56px;height:56px;object-fit:contain;image-rendering:auto}

/* Item artwork gives mobile character shortcuts distinct, readable silhouettes. */
@media(max-width:800px){
.mobile-character-actions button{gap:3px;padding:4px;border-color:#6e88915c;background:#10232ef2;box-shadow:inset 0 1px 0 #ffffff08,0 3px 10px #0003;color:#e1d4b0}
.mobile-character-actions .character-shortcut-art{display:block;width:32px;height:32px;object-fit:contain;image-rendering:auto;flex-shrink:0;filter:drop-shadow(0 2px 2px #0006)}
.mobile-character-actions button:active{background:#233c47;border-color:#d7b667}
.mobile-character-actions button:focus-visible{outline:2px solid #ffd16b;outline-offset:2px}
}
@media(max-width:800px) and (max-height:700px){.mobile-character-actions .character-shortcut-art{width:27px;height:27px}}

/* A single floating notice stays above the figure, outside equipment layout. */
.character-rpg .survivor-stage .dossier-header{pointer-events:none}
.character-rpg .survivor-stage .dossier-header :is(button,a){pointer-events:auto}
.equipment-wip-note{position:absolute;z-index:4;top:-40px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;max-width:calc(100% - 24px);pointer-events:none}
.equipment-wip-note .equipment-wip-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:36px;padding:7px 12px;border:1px solid #bf6268;border-radius:6px;background:#431e28;color:#ffd5d8;font:12px/1.4 Segoe UI,system-ui,sans-serif;pointer-events:auto}
.equipment-wip-button strong{font-size:10px;letter-spacing:.5px}.equipment-wip-button:hover{background:#592735}.equipment-wip-button:focus-visible{outline:2px solid #ffd5d8;outline-offset:3px}
@media(max-width:800px){.equipment-wip-note{top:38px;left:48%}.equipment-wip-note .equipment-wip-button{flex-direction:column;min-height:28px;padding:3px 8px;gap:0;font-size:9px;line-height:1.2}.equipment-wip-button strong{font-size:8px;letter-spacing:.25px}}

.admin-mode-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;margin-bottom:6px;background:#10222c;border:0;border-radius:6px;color:#d8e4e7;font-size:12px}.admin-mode-link{flex:1;min-height:34px;padding:5px 4px;background:none;border:0;color:inherit;text-align:left;font:inherit;font-weight:700;cursor:pointer}.admin-mode-link:hover,.admin-mode-link:focus-visible{color:#ffcf66;text-decoration:underline;text-underline-offset:3px}.admin-mode-link:disabled{cursor:default;text-decoration:none;opacity:.65}.admin-mode-switch{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px;background:none;border:0;color:inherit;cursor:pointer}.admin-mode-state{color:#a8bcc5;font-size:11px}.admin-mode-toggle i{position:relative;width:30px;height:18px;border-radius:12px;background:#41535d;flex:none}.admin-mode-toggle i:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#e5edf0}.admin-mode-switch[aria-checked="true"] i{background:#a88735}.admin-mode-switch[aria-checked="true"] i:after{left:15px}.mobile-more-list .admin-mode-toggle{min-height:44px}

@keyframes survivor-discovery-arrive{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
#modal:has(.survivor-discovery-fullscreen){position:fixed;inset:0;z-index:250}
#modal .modal-backdrop:has(.survivor-discovery-fullscreen){padding:16px;background:#061119df}
#modal .modal.survivor-discovery-fullscreen{position:relative;inset:auto;width:min(100%,440px);max-width:440px;max-height:calc(100dvh - 32px);margin:auto;padding:54px 24px 16px;overflow-y:auto;border:0;border-radius:24px;background:radial-gradient(ellipse at 50% 35%,#295263,transparent 60%),#122e3b;box-shadow:0 24px 80px #0008;animation:survivor-discovery-arrive .45s ease-out}
.survivor-discovery-fullscreen .modal-close{position:absolute;top:14px;right:14px;z-index:3}
.survivor-discovery-card{position:relative;width:100%;max-height:none;overflow:visible;text-align:center;padding:0;background:none;border:0;box-shadow:none;animation:none}
.survivor-discovery-card .eyebrow{color:#ffd166;font-size:10px;letter-spacing:.16em}
.survivor-discovery-card h2{font:bold clamp(24px,6vw,30px)/1.15 Georgia,serif;color:#ffe4a0;margin:10px 0 8px}
.survivor-discovery-card h3{font:bold 27px/1.2 Georgia,serif;color:#fff1cf;margin:6px 0 10px}
.survivor-discovery-art{width:184px;height:184px;margin:22px auto 18px;background-image:url('assets/Current/characters/portraits/survivor-portraits-v1.png');background-size:300% 200%;background-position:var(--portrait-x) var(--portrait-y);border-radius:50%;border:0;box-shadow:0 0 40px #efbd7338,0 8px 24px #07131d66}
.survivor-discovery-role{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#b6d0dd}
.survivor-discovery-card blockquote{margin:0 auto 18px;max-width:340px;color:#e6d4ac;font:italic 15px/1.45 Georgia,serif}
.survivor-discovery-card .survivor-discovery-intro{margin:0;color:#b6cdd6;font-size:13px;line-height:1.5}
.survivor-discovery-home{margin:0 auto 16px;padding:12px;max-width:360px;border-radius:12px;background:#1c4355;color:#c3d9e2;font-size:12px;line-height:1.6}
.survivor-discovery-card .primary{min-height:48px;margin:0;background:linear-gradient(#ffdb79,#ffc43d);color:#122e3b;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:0}
.survivor-discovery-card .text-button{margin:4px 0 0;color:#b6cdd6;background:none;border:0}
.survivor-discovery-fullscreen .celebration-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#modal .modal.survivor-discovery-still{animation:none}
@media(prefers-reduced-motion:reduce){#modal .modal.survivor-discovery-fullscreen{animation:none!important}}
@media(max-height:720px){.survivor-discovery-art{width:140px;height:140px;margin:14px auto}.survivor-discovery-card blockquote{margin-bottom:12px}}
/* Objectives guide through the existing controls without a tutorial card. */
#tutorial-dock,#tutorial-spotlight-layer,.tutorial-modal-hint,#objective-coach{display:none!important}
#objective-pointer-layer{position:fixed;inset:0;z-index:210;pointer-events:none;overflow:hidden}
#objective-pointer-layer svg{display:block;overflow:visible;pointer-events:none}
#objective-pointer-layer *{pointer-events:none!important}
/* Position follows the target immediately; only the inner arrow may bob. */
#objective-pointer-layer,#objective-pointer-layer svg,#objective-pointer-layer [data-spotlight-frame],#objective-pointer-layer [data-spotlight-arrow]{transition:none!important}
.objective-claim-error{margin:4px 0 0;color:#ffb9a7;font-size:12px;line-height:1.4;font-weight:500}
#modal .objective-modal-guide{flex:0 0 auto;margin:8px 18px 0;padding:10px 12px;border:0;border-radius:9px;background:var(--game-popup-raised,#1c4355);color:#e8f0f0}
#modal .objective-modal-guide strong{display:block;font-size:10px;letter-spacing:.6px;color:#ffd166;margin-bottom:4px}
#modal .objective-modal-guide p{font-size:12px;line-height:1.5;margin:0;color:#d9e8e1}
#modal .modal:not(.modal-scroll-shell)>.objective-modal-guide{margin:0 42px 16px 0}
#objective-pointer-layer [data-spotlight-arrow]{filter:drop-shadow(0 2px 3px #061a17aa);animation:none}
#objective-pointer-layer [data-spotlight-frame]{stroke:#ffd166;stroke-opacity:1;vector-effect:non-scaling-stroke}
.objective-target{scroll-margin-top:90px;scroll-margin-bottom:110px}
/* Work controls keep the objective marker clear. */
#skills-content .filters>.objective-target,
.main-content .guide-back.objective-target{margin-left:48px}
#skills-content .work-search:has(>.objective-target){padding-left:48px!important}
#skills-content .work-search:has(>.objective-target)>.pixel-icon{display:none}
.objective-task-status{display:grid;gap:7px;width:100%;padding:13px 15px;border:1px solid #57707470;border-radius:10px;background:#10242dcc;color:#b3c7ce;text-align:left}
.objective-task-status>strong{color:#f0d388;font-size:11px;line-height:1.4;letter-spacing:1px}
.objective-task-status>span{font-size:12px;line-height:1.5}
.objective-task-progress{display:block;height:4px;overflow:hidden;border-radius:4px;background:#081b24}
.objective-task-progress>i{display:block;height:100%;border-radius:inherit;background:#e7bb57;transition:width .2s linear}
.objective-training-target{display:grid;gap:10px;width:100%;min-width:0;padding:14px 16px;border:1px solid #56788e70;border-radius:9px;background:#102530a6}
.objective-training-target>strong{color:#d7e8f3;font-size:13px;line-height:1.5}
.objective-training-numbers{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;color:#b6d0df;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}
.objective-training-progress{height:7px;overflow:hidden;border-radius:5px;background:#091b27}
.objective-training-progress>i{display:block;height:100%;border-radius:inherit;background:#86bed9;transition:width .2s linear}
.objective-training-target>p{margin:0;color:#b3c7d3;font-size:12px;line-height:1.65}
.next-goal .objective-task-status.objective-training-task-status{grid-template-columns:minmax(0,1fr)}
.next-goal .objective-task-status.objective-training-task-status>*{grid-column:1;grid-row:auto;min-width:0;width:100%}
@media(max-width:800px){.objective-training-target{padding:12px;gap:8px}.objective-training-target>strong{font-size:12px}.objective-training-numbers,.objective-training-target>p{font-size:11px}}
.objective-task-status .objective-production-link{justify-self:start;padding:4px 0;min-height:30px;color:#c4ddeb;background:transparent;border:0;font-size:11px}
.next-goal .objective-task-status.objective-production-status{grid-template-columns:minmax(0,1fr)}
.next-goal .objective-task-status.objective-production-status>*{grid-column:1;grid-row:auto;min-width:0;width:100%}
.next-goal .objective-task-status.objective-production-status>.objective-production-link{text-align:left;justify-self:start;margin-top:0}
.objective-production-status .objective-task-progress{grid-column:1/-1;width:100%}
.costs>.missing-material{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:3px 5px;margin:-3px -5px;border:1px solid transparent;background:transparent;font-size:inherit;font-weight:inherit;text-align:left;color:#e4a088;border-radius:5px}
.costs>.missing-material:hover:not(:disabled){background:#e4a08812;border-color:#e4a08860;color:#ffbea4}
.costs>.missing-material:focus-visible{outline:2px solid #ffc34d;outline-offset:3px}
.barn-production .barn-production-meter{margin:0;height:5px;border-radius:5px;background:#091a25;overflow:hidden}
.barn-production .barn-production-meter>i{display:block;height:100%;background:#86bed9;transition:width .2s linear}
.barn-production .barn-production-countdown{display:block;margin:0;color:#a3ddbc;font-size:11px;line-height:1.4}
.barn-production .barn-production-next{display:block;margin-top:14px}
.barn-upgrades{margin:0;padding:0}
.facility-sheet .barn-production{gap:10px;margin:18px 0 0;padding:14px;background:#1c3635;border:0;border-radius:12px}
.barn-production>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px}
.barn-production>header>strong{font-size:12px}
.barn-production .barn-production-countdown.is-blocked{color:#efb18d}
.barn-production-output{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px}
.barn-production-output>span{display:inline-flex;align-items:center;gap:6px;font-size:12px}
.barn-production-output b{font-weight:500}
.barn-production>small{display:flex;align-items:center;gap:5px;font-size:10px;line-height:1.4}
#modal .tools-drawer-grid>.objective-target{margin-top:40px;scroll-margin-top:52px;scroll-margin-bottom:20px}
.journal-signal{position:absolute;right:12px;top:10px;width:8px;height:8px;border-radius:50%;background:#ffc34d;box-shadow:0 0 0 2px #10222d}
.journal-signal.is-ready{background:#75e6ad;box-shadow:0 0 0 2px #10222d,0 0 10px #75e6ad55}
.collection-signal{position:absolute;right:12px;top:10px;width:8px;height:8px;border-radius:50%;background:#75e6ad;box-shadow:0 0 0 2px #10222d,0 0 10px #75e6ad55;pointer-events:none}
button[data-tab="collections"]:has(>.collection-signal){position:relative}
.navigation-unread{position:absolute;right:12px;top:calc(50% - 4px);width:8px;height:8px;margin:0;border-radius:50%;background:#ed6868;box-shadow:0 0 0 2px #10222d;pointer-events:none}
.navigation-unread[hidden]{display:none!important}
#world-tab-events>.navigation-unread{top:8px;right:8px}
button:has(>.navigation-unread){position:relative}
.mobile-more-list .navigation-unread{position:static;flex:none;margin-left:auto}
.mobile-more-list>button:has(.navigation-unread:not([hidden]))>span{margin-left:0}
.more-menu .navigation-unread{right:8px}
.nav-item{position:relative}
.resource-strip{display:grid;align-items:stretch;gap:2px}
.resource-strip button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:6px 2px;border:0;background:transparent;color:#dbe8ec;font-size:10px;overflow:hidden}
.resource-strip button:hover{background:#b6decd0c}
.resource-strip b{display:block;min-width:0;max-width:100%;font-size:10px;line-height:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.resource-strip .resource-more{font-size:19px}
.sidebar-resources{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 12px;padding:6px 4px;border:1px solid #33515c;border-radius:10px;background:#10232d}
.sidebar-resources button{min-height:42px;flex-direction:column;gap:3px}
.sidebar-resources .resource-more{grid-column:1/-1;min-height:22px;max-height:22px;padding:0}
.mobile-resources{display:none}
.header-shell .activity-bar>.task-pause{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0;border:1px solid #a88a46;border-radius:10px;background:linear-gradient(145deg,#ffcd601f,#ffbd330d);color:#ffca55;box-shadow:inset 0 1px 0 #ffe5a214;line-height:1;transition:background .15s,border-color .15s}
.header-shell .activity-bar>.task-pause:hover{border-color:#ffd26d;background:#ffca5526}
.header-shell .activity-bar>.task-pause:active{background:#ffca553b}
.header-shell .activity-bar>.task-pause:focus-visible{outline:2px solid #8ee4c4;outline-offset:3px}
.task-control-icon{display:block;flex:0 0 auto;width:20px;height:20px;pointer-events:none}
.task-pause-actions [data-action="resume-task"]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
@media(max-width:800px){.header-shell .activity-bar>.task-pause{flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px}}
.task-pause-actions{display:flex;gap:12px;flex-wrap:wrap}
.objective-material-target{display:flex;align-items:center;gap:8px;margin:12px 0;color:#b8e6cf;font-size:12px;font-weight:600}
.objective-material-target img,.objective-material-target svg{flex-shrink:0}
.objective-supply-steps{display:grid;gap:14px;margin-top:16px;padding:16px;border:1px solid #52748b70;border-radius:9px;background:#102530a6}
.objective-supply-step{display:grid;gap:7px;min-width:0;text-align:left}
.objective-supply-step>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:baseline;color:#d6e5ed;font-size:12px}
.objective-supply-step strong{font-size:12px}.objective-supply-step span{white-space:nowrap;font-variant-numeric:tabular-nums;color:#bad9e9}
.objective-supply-step small{font-size:11px;color:#a6bfcd;line-height:1.5}
.objective-supply-progress{height:7px;overflow:hidden;border-radius:5px;background:#091b27}
.objective-supply-progress>i{display:block;height:100%;border-radius:inherit;background:#86bed9;transition:width .2s linear}
.objective-supply-step.is-complete span{color:#b8d5e4}
@media(max-width:600px){.objective-supply-steps{padding:12px;gap:13px}.objective-supply-step>div:first-child,.objective-supply-step strong{font-size:11px}.objective-supply-step small{font-size:10px}}
.expedition-objective-note{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:10px 12px;border-left:2px solid #81d5ad;border-radius:0 6px 6px 0;background:#80d6ad0d;font-size:12px;line-height:1.4}
.expedition-objective-note strong{color:#b8ebd2}
.expedition-objective-note span{font-size:11px;color:#b1c6cb}
.expedition-card .primary.objective-target{margin-top:38px}
.objective-task-status>button{margin-top:10px;width:100%}
.task-cycle-count{color:#c4e6d8}
.storage-received{animation:storage-receipt 1.25s ease}
.storage-reward-burst{position:fixed;inset:0;overflow:clip;contain:layout;z-index:300;pointer-events:none}
.storage-reward-burst>span{position:absolute;left:calc(var(--burst-origin-x) - 11px);top:calc(var(--burst-origin-y) - 11px);animation:storage-icon-pop 1s var(--burst-delay) both ease-out;filter:drop-shadow(0 2px 4px #0007)}
.storage-reward-burst--side>span{animation-name:storage-icon-pop-side}
@keyframes storage-icon-pop-side{0%{opacity:0;transform:translate(0,0) scale(.5)}22%{opacity:1;transform:translate(16px,calc(var(--burst-y)*.2)) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(var(--burst-x),var(--burst-y)) scale(.85)}}
@keyframes storage-icon-pop{0%{opacity:0;transform:translate(0,0) scale(.5)}25%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(var(--burst-x),-62px) scale(.85)}}
@keyframes storage-receipt{30%{box-shadow:inset 0 0 0 2px #75e6ad;background:#214b40}100%{box-shadow:inset 0 0 0 0 transparent}}
@media(max-width:800px){
 body:has(#app .workspace){--mobile-resource-height:calc(46px + env(safe-area-inset-top,0px))}
 .mobile-resources{position:fixed;inset:0 0 auto;z-index:52;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:var(--mobile-resource-height,46px);gap:0;padding:calc(4px + env(safe-area-inset-top,0px)) 4px 4px;background:linear-gradient(180deg,#132c36,#10222df5);border-bottom:1px solid #385460}
 .mobile-resources button{flex-direction:column;gap:2px;min-height:0;padding:0 1px;border-radius:5px}
 .mobile-resources button>.pixel-icon,.mobile-resources button>img{width:20px;height:20px;flex:0 0 20px;object-fit:contain}
 .mobile-resources b{font-size:10px;line-height:12px;letter-spacing:-.1px}
 .mobile-resources .resource-more{font-size:22px;line-height:20px}
 .sidebar-resources{display:none}
 body:has(#app .workspace) .main-content:not(:has(.base-explore)){padding-top:calc(var(--mobile-resource-height,46px) + 12px)!important}
 body:has(.survivor-stage) .mobile-player-name{top:calc(var(--mobile-resource-height,46px) + 12px)}
 .main-content:has(.base-explore){top:var(--mobile-resource-height,46px)!important}
 .objective-target{scroll-margin-top:calc(var(--mobile-resource-height,46px) + 12px);scroll-margin-bottom:calc(var(--app-dock-height,0px) + var(--app-task-height,58px) + 16px)}
 .activity-bar .activity-detail>small{display:block!important;font-size:9px!important;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:360px){.mobile-resources b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.storage-received,.storage-reward-burst>span{animation:none!important}.storage-received{outline:2px solid #75e6ad}}.threat-light{width:7px;height:7px;flex:0 0 7px;background:#ffc34d;border-radius:50%;margin-top:3px;box-shadow:0 0 10px #ffc34d77}.is-clear .threat-light{background:#75e6ad}.equip-destination{padding:10px 12px;background:#1c392f;border:1px solid #37604e;border-radius:8px;color:#bfe9d2;font-size:12px;line-height:1.5}
.base-explore .scene-topline h1{overflow-wrap:anywhere}


#objective-pointer-layer [data-compact="true"]{filter:none}

/* Equipment uses a compact button outline for objective guidance. */
.loadout-item-action.objective-target{margin-top:0}

/* Desktop loadout dialogs keep comparison and equipment navigation together. */
@media(min-width:801px){
 #modal .modal-backdrop:has(.equipment-drawer),#modal .modal-backdrop:has(.loadout-picker),#modal .modal-backdrop:has(.return-report){display:flex;align-items:center;justify-content:center;padding:28px;background:#061018c9;backdrop-filter:blur(5px)}
 #modal .equipment-drawer,#modal .modal:has(.loadout-picker){position:relative;inset:auto;width:min(940px,100%);max-width:940px;height:auto;min-height:0;max-height:calc(100dvh - 56px);margin:0;padding:0;border:1px solid #405965;border-radius:18px;background:#122630;box-shadow:0 24px 80px #0008;animation:none}
 #modal .equipment-drawer .app-sheet-handle,#modal .modal:has(.loadout-picker) .app-sheet-handle,#modal .modal:has(.return-report) .app-sheet-handle{display:none}
 #modal .equipment-drawer .modal-fixed-head,#modal .modal:has(.loadout-picker) .modal-fixed-head{padding:20px 26px;border-bottom:1px solid #34505c;background:#172d38;flex-shrink:0}
 #modal .equipment-drawer .modal-fixed-head h2,#modal .modal:has(.loadout-picker) .modal-fixed-head h2{font-size:24px;font-weight:700;letter-spacing:-.5px}
 #modal .equipment-drawer .modal-close,#modal .modal:has(.loadout-picker) .modal-close,#modal .modal:has(.return-report) .modal-close{width:38px;height:38px;min-height:38px;padding:0;border:1px solid #ffffff0d;border-radius:10px;background:#ffffff06;color:#dce6e8;font-size:25px}
 #modal .equipment-drawer .modal-scroll-body,#modal .modal:has(.loadout-picker) .modal-scroll-body{padding:24px 26px 26px;scroll-padding:46px 8px 20px;scrollbar-gutter:stable}
 #modal .tools-drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 #modal .tools-drawer-list .equipment-slot{min-height:135px;grid-template-columns:74px minmax(0,1fr);grid-template-rows:18px minmax(32px,auto) 18px;gap:5px 15px;padding:16px;border-radius:12px;background:linear-gradient(120deg,#1b3540,#132832);border-color:#3c5865}
 #modal .tools-drawer-list .equipment-slot:hover{background:#213e49;border-color:#7caba6}
 #modal .tools-drawer-list .equipment-slot-heading{grid-column:2;grid-row:1}
 #modal .tools-drawer-list .equipment-description{grid-column:2;grid-row:2}
 #modal .tools-drawer-list .equipment-slot>.durability{grid-column:2;grid-row:3}
 #modal .tools-drawer-list .equipment-visual .item-art{width:72px;height:88px;border-radius:10px}
 #modal .tools-drawer-list .equipment-slot-heading>span{font-size:10px;letter-spacing:1px}
 #modal .tools-drawer-list .equipment-description>b{font-size:15px;line-height:1.3}
 #modal .tools-drawer-list .equipment-description>small{font-size:11px;line-height:1.5}
 #modal .tools-drawer-grid>.objective-target{margin-top:0;scroll-margin-top:46px;scroll-margin-bottom:20px}
 #modal .tool-panel-back{padding:0 0 20px;color:#ffcf59;font-size:12px}
 #modal .loadout-picker{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.5fr);gap:0 26px;align-items:start}
 #modal .loadout-picker>p{grid-column:1/-1;margin:0 0 26px;font-size:13px;line-height:1.6;color:#aec4cb}
 #modal .loadout-picker>.picker-equipped-section{grid-column:1;grid-row:2/5;margin:0;padding-right:24px;border-right:1px solid #34505c;align-self:stretch}
 #modal .loadout-picker .picker-section-label{font-size:10px;letter-spacing:1.4px;color:#c4d4d7;margin:0 0 14px}
 #modal .loadout-picker>.picker-section-label{grid-column:2;grid-row:2}
 #modal .loadout-picker>.slot-options{grid-column:2;grid-row:3;gap:12px;margin:0 0 8px}
 #modal .loadout-picker>.text-button{grid-column:2;grid-row:4;justify-self:start;font-size:12px;margin:10px 0 0}
 #modal .loadout-picker .loadout-item{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px;border-radius:12px}
 #modal .loadout-picker .loadout-item-art{align-self:start;padding-top:3px}
 #modal .loadout-picker .loadout-item-art>svg{width:40px;height:40px}
 #modal .loadout-picker .loadout-item-name>b{font-size:14px}
 #modal .loadout-picker .loadout-item-effect{font-size:12px;line-height:1.6}
 #modal .loadout-picker .loadout-item-stock{font-size:11px}
 #modal .loadout-picker .loadout-item-action{grid-column:2;justify-self:end;min-height:40px;padding:10px 18px;border-radius:9px}
 #modal .loadout-picker .picker-current{border:1px solid #88784f;border-top:3px solid #ffcf59;background:linear-gradient(145deg,#caa85716,#162f37)}
 #modal .loadout-picker .picker-current .loadout-item-action{justify-self:start}
 #modal .loadout-picker .picker-unoccupied{padding:22px 18px;min-height:96px;border-radius:12px;line-height:1.7;background:#0d222a}
 #modal .loadout-picker:not(:has(.picker-equipped-section)){grid-template-columns:1fr}
 #modal .loadout-picker:not(:has(.picker-equipped-section))>*{grid-column:1}
 #modal .loadout-picker:not(:has(.picker-equipped-section))>.slot-options{grid-template-columns:minmax(0,1fr)}
 #modal .equipment-drawer :is(button,input,select):focus-visible,#modal .modal:has(.loadout-picker) :is(button,input,select):focus-visible,#modal .modal:has(.return-report) button:focus-visible{outline:2px solid #8ee4c4;outline-offset:4px}
 #modal .modal:has(.return-report){position:relative;inset:auto;width:min(690px,100%);max-width:690px;max-height:calc(100dvh - 56px);margin:0;padding:32px;border:1px solid #3b5666;border-radius:18px;background:var(--surface-overlay);box-shadow:0 24px 80px #0008;overflow-y:auto}
 #modal .return-report .return-title{font-size:27px;margin:0 50px 28px 0}
 #modal .return-report .return-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #modal .return-report .return-loot .rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 #modal .return-report .return-loot .rewards>span{padding:12px;background:#ffffff04;border:1px solid #ffffff0c;border-radius:9px;font-size:12px}
 #modal .return-report>.primary.wide{width:auto;min-width:220px;min-height:44px;display:block;margin-left:auto;border-radius:9px}
}

/* Resource-bar menu and six-slot picker. Bar positioning stays unchanged. */
.resource-bar-menu{position:fixed;z-index:86;display:flex;flex-direction:column;gap:4px;width:218px;max-width:calc(100vw - 16px);padding:7px;border:1px solid #456471;border-radius:12px;background:#122832;box-shadow:0 12px 34px #0007}
.resource-bar-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;margin:0;padding:10px 12px;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left;color:#dce8e9;font:600 12px/1.4 Segoe UI,system-ui,sans-serif}
.resource-bar-menu button:hover{border-color:#466a6a;background:#203d43;color:#ffe099}
.resource-bar-menu button:focus-visible{outline:2px solid #8ee4c4;outline-offset:1px;background:#203d43}
#modal .modal:has(.resource-picker){display:flex;flex-direction:column;overflow:hidden;background:#122832}
#modal .modal:has(.resource-picker) .modal-scroll-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding:18px 22px 20px}
.resource-picker{display:flex;flex-direction:column;gap:13px;flex:1 1 auto;min-height:0;width:100%;color:#d6e5e8}
#modal .resource-picker-intro{flex-shrink:0;margin:0;color:#adc6cf;font-size:12px;line-height:1.5}
.resource-picker-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;flex-shrink:0}
#modal .resource-picker-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:92px;margin:0;padding:11px 5px 8px;border:1px solid #3a5966;border-radius:10px;background:#0d202b;color:#c7dce3;text-align:center}
.resource-picker-slot>small,.resource-picker-slot-number{position:absolute;top:5px;left:7px;color:#809fac;font-size:9px;line-height:1}
.resource-picker-slot>.item-icon,.resource-picker-item>.item-icon{width:28px;height:28px;flex-shrink:0}
.resource-picker-slot-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%;font-size:10px;line-height:1.25;overflow-wrap:anywhere}
#modal .resource-picker-slot:hover{border-color:#7aaca1;background:#18363c}
#modal .resource-picker-slot.is-editing,#modal .resource-picker-slot[aria-pressed="true"]{border-color:#ffd064;background:linear-gradient(145deg,#55482c77,#1c343a);box-shadow:inset 0 0 0 1px #ffd06455;color:#fff0bd}
.resource-picker-slot.is-editing>small,.resource-picker-slot[aria-pressed="true"]>small{color:#ffda81}
#modal .resource-picker-current{flex-shrink:0;margin:0;color:#9ee0c6;font-size:12px;font-weight:600;line-height:1.4}
.resource-picker-search{display:flex;flex-direction:column;gap:6px;flex-shrink:0;margin:0;color:#bbd1da;font-size:11px;font-weight:600;letter-spacing:0}
#modal .resource-picker-search input{width:100%;min-width:0;height:42px;min-height:42px;margin:0;padding:10px 12px;border:1px solid #466775;border-radius:9px;background:#0b202b;color:#ecf2f3;font-size:13px}
.resource-picker-search input::placeholder{color:#84a2b0;opacity:1}
.resource-picker-filters{display:flex;flex-wrap:wrap;gap:7px;flex-shrink:0}
#modal .resource-picker-filters button{min-height:34px;padding:7px 12px;margin:0;border:1px solid #3c5b69;border-radius:7px;background:#16323e;color:#bbd2dc;font-size:11px;line-height:1.3}
#modal .resource-picker-filters button[aria-pressed="true"]{border-color:#73b59e;background:#1d423a;color:#c0f0d9}
.resource-picker-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start;flex:1 1 auto;min-height:80px;max-height:300px;padding:2px 5px 3px 2px;overflow-y:auto;overscroll-behavior:contain;scroll-padding:5px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#466a71 #10232c}
#modal .resource-picker-item{display:flex;align-items:center;gap:9px;min-width:0;min-height:60px;margin:0;padding:9px 10px;border:1px solid #35515e;border-radius:8px;background:#102631;color:#dbe9ec;text-align:left}
.resource-picker-item>span:not(.resource-picker-selected){display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.resource-picker-item b{font-size:11px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.resource-picker-item small{color:#91b0bd;font-size:10px;line-height:1.3}
#modal .resource-picker-item:hover{border-color:#70a99b;background:#1c393e}
#modal .resource-picker-item[aria-pressed="true"]{border-color:#85c9ad;background:#1e3d36}
.resource-picker-selected{flex:0 0 auto;align-self:center;max-width:56px;padding:4px 6px;border:1px solid #4c7967;border-radius:5px;background:#254f42;color:#baf0d5;font-size:9px;line-height:1.3;text-align:center}
#modal .resource-picker-empty{grid-column:1/-1;align-self:center;margin:0;padding:28px 15px;border:1px dashed #3b5965;border-radius:9px;color:#9bb8c5;text-align:center;font-size:12px;line-height:1.5}
.resource-picker-footer{display:flex;align-items:center;gap:9px;flex-shrink:0;margin-top:1px;padding-top:12px;border-top:1px solid #35515b;background:#122832}
#modal .resource-picker-footer button{min-height:42px;margin:0;padding:10px 15px;border-radius:8px;font-size:12px;line-height:1.3}
#modal .resource-picker-footer button:first-child{margin-right:auto;padding-left:0;padding-right:8px;border-color:transparent;background:none;color:#a6c0cb;font-weight:400}
#modal .resource-picker-footer .primary{background:linear-gradient(#ffd46b,#ffbb35);color:#281d07;border-color:#fbd774;box-shadow:0 2px 0 #92641966}
#modal .resource-picker :is(button,input):focus-visible{outline:2px solid #8ee4c4;outline-offset:2px}
@media(min-width:801px){
 #modal .modal-backdrop:has(.resource-picker){padding:24px;align-items:center;justify-content:center}
 #modal .modal:has(.resource-picker){position:relative;inset:auto;width:min(760px,calc(100vw - 48px));max-width:760px;max-height:calc(100dvh - 48px);margin:0;padding:0;border:1px solid #456471;border-radius:16px;box-shadow:0 24px 80px #0008}
 #modal .modal:has(.resource-picker) .modal-fixed-head{flex-shrink:0;padding:19px 22px;border-bottom:1px solid #35515b;background:#172f3a}
 #modal .modal:has(.resource-picker) .modal-fixed-head h2{font-size:23px;letter-spacing:-.4px}
 #modal .modal:has(.resource-picker) .app-sheet-handle{display:none}
}
@media(max-width:800px){
 #modal .modal:has(.resource-picker){max-height:calc(94dvh - env(safe-area-inset-top,0px))}
 #modal .modal:has(.resource-picker) .modal-fixed-head{padding:28px 16px 12px}
 #modal .modal:has(.resource-picker) .modal-fixed-head h2{font-size:19px}
 #modal .modal:has(.resource-picker) .modal-scroll-body{padding:13px 14px calc(14px + env(safe-area-inset-bottom,0px))}
 .resource-picker{gap:10px}
 #modal .resource-picker-intro{font-size:11px}
 .resource-picker-slots{gap:5px}
 #modal .resource-picker-slot{min-height:78px;padding:14px 3px 5px;border-radius:8px;gap:5px}
 .resource-picker-slot-name{font-size:9px}
 .resource-picker-slot>small,.resource-picker-slot-number{top:5px;left:5px;font-size:8px}
 #modal .resource-picker-current{font-size:11px}
 #modal .resource-picker-search input{height:44px;font-size:16px}
 .resource-picker-results{grid-template-columns:1fr;max-height:30dvh;min-height:64px;gap:6px}
 #modal .resource-picker-item{min-height:54px;padding:8px 10px}
 .resource-picker-item b{font-size:12px}
 .resource-picker-selected{max-width:none;font-size:10px}
 .resource-picker-footer{gap:7px;padding-top:10px}
 #modal .resource-picker-footer button{padding:9px 11px;font-size:11px}
}
@media(max-width:359px){
 .resource-picker-footer{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px}
 #modal .resource-picker-footer button:first-child{grid-column:1/-1;justify-self:start;min-height:32px;padding:3px 0;margin:0}
 .resource-picker-slot-name{font-size:8px}
 .resource-picker-selected{max-width:50px;font-size:9px}
}
@media(max-height:740px){
 #modal .modal:has(.resource-picker) .modal-scroll-body{display:block;overflow-y:auto;overscroll-behavior:contain}
 .resource-picker{flex:none}
 .resource-picker-results{flex:none;height:160px;max-height:25dvh}
 .resource-picker-footer{position:sticky;bottom:-20px;z-index:2;padding-bottom:20px;box-shadow:0 -10px 14px #122832}
}
@media(max-height:740px) and (max-width:800px){
 /* Keep the item list usable on small phones instead of covering it with a sticky footer. */
 #modal .modal:has(.resource-picker){max-height:calc(98dvh - env(safe-area-inset-top,0px))}
 #modal .modal:has(.resource-picker) .modal-fixed-head{padding:22px 14px 10px}
 #modal .modal:has(.resource-picker) .modal-fixed-head h2{font-size:17px}
 #modal .modal:has(.resource-picker) .modal-scroll-body{display:flex;overflow:hidden;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
 .resource-picker{flex:1 1 auto;gap:7px}
 #modal .resource-picker-intro{display:none}
 #modal .resource-picker-slot{min-height:64px;padding:10px 3px 5px;gap:3px}
 .resource-picker-slot>.item-icon{width:24px;height:24px}
 .resource-picker-slot-name{font-size:8px;line-height:1.2}
 #modal .resource-picker-current{font-size:11px;line-height:1.3}
 .resource-picker-search{font-size:0;gap:0}
 #modal .resource-picker-search input{min-height:42px;height:42px;font-size:16px}
 #modal .modal:has(.resource-picker) .resource-picker-filters button{min-height:32px;padding:6px 10px;font-size:10px}
 .resource-picker-results{flex:1 1 auto;height:auto;min-height:120px;max-height:none;gap:5px}
 #modal .resource-picker-item{min-height:52px;padding:7px 9px}
 .resource-picker-footer{position:static;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.3fr);gap:7px;bottom:auto;margin-top:0;padding:8px 0 0;box-shadow:none}
 #modal .resource-picker-footer button{min-width:0;min-height:42px;padding:7px 6px;font-size:10px;line-height:1.3}
 #modal .resource-picker-footer button:first-child{grid-column:auto;justify-self:stretch;min-height:42px;margin:0;padding:6px 2px;text-align:left}
}
@media(max-height:520px) and (max-width:800px){
 #modal .modal:has(.resource-picker) .modal-scroll-body{display:block;overflow-y:auto}
 .resource-picker{flex:none}
 .resource-picker-results{flex:none;height:150px;min-height:100px}
}

/* Character controls float over a viewport-sized courtyard. */
.character-rpg .survivor-stage .dossier-header{position:relative;align-items:center}
.character-rpg .survivor-stage .dossier-identity{align-self:center}
.character-name-button{display:block;max-width:100%;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;overflow-wrap:anywhere}
.character-name-button:hover{background:none;color:#ffe4a4}
.character-name-button:focus-visible{outline:2px solid #8ee4c4;outline-offset:5px;border-radius:4px}
.character-skills-button{position:absolute;left:22px;top:116px;z-index:6;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:96px;min-height:34px;padding:5px 8px;border:1px solid #84988b88;border-radius:8px;background:#102630ed;color:#f0d18c;font-size:11px;pointer-events:auto}
.character-skills-button:hover{background:#213b43;border-color:#c4b682}
.character-skills-emblem{flex-shrink:0;color:#e6c77f}
.survivor-stage .equipment-wip-note{top:44%;left:50%;transform:translate(-50%,-50%);z-index:5;width:max-content;max-width:calc(100% - 8px)}
.survivor-stage .equipment-wip-button{flex-direction:column;gap:2px}
@media(min-width:801px){
 .survivor-stage .equipment-wip-note{left:0;top:12%}
}
.character-shortcut{position:relative}
.character-buff-timers{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;color:#92dfb8;pointer-events:none}
.character-buffs-shortcut>.character-buff-timers{position:absolute;right:calc(50% + 23px);top:22.1px;transform:translateY(-50%)}
.character-buff-timer{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font:600 11px/1.25 Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #06151e,0 0 6px #06151e}
.desktop-character-buffs{display:flex;align-items:center;gap:12px;position:absolute;right:22px;top:0;z-index:5}
.desktop-character-buffs>button{display:flex;align-items:center;gap:6px;min-height:36px;padding:8px 12px;background:#102630ed;border:1px solid #647f79;border-radius:8px;color:#b7dfca;font-size:11px}
#modal .modal-backdrop:has(.character-skills-drawer){padding:0;align-items:stretch;justify-content:flex-end}
#modal .character-skills-drawer{width:min(420px,100%);max-width:420px;height:100dvh;max-height:100dvh;min-height:0;margin:0;padding:0;border-radius:16px 0 0 16px;border:1px solid #405965;background:#122630;overflow:hidden;animation:character-skills-enter .22s ease-out}
#modal .character-skills-drawer .modal-fixed-head{padding:22px 20px;flex-shrink:0}
#modal .character-skills-drawer .modal-fixed-head h2{font-size:23px}
#modal .character-skills-drawer .modal-scroll-body{padding:18px 20px 24px;min-height:0;overflow:auto;overscroll-behavior:contain}
#modal .character-skills-drawer .app-sheet-handle{display:none}
@keyframes character-skills-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:800px){
 html:has(.survivor-stage),body:has(.survivor-stage){height:100%;overflow:hidden;overscroll-behavior:none}
 body:has(#app .workspace):has(.survivor-stage) .main-content{position:fixed;inset:var(--mobile-resource-height,46px) 0 calc(var(--app-dock-height,0px) + var(--app-task-height,58px));height:auto;min-height:0;width:100%;padding:0!important;overflow:hidden}

 .character-rpg:has(>.survivor-stage),.character-rpg>.survivor-stage,.character-rpg .survivor-scene{height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
 .character-rpg .survivor-stage .dossier-header{display:grid!important;position:absolute;z-index:7;top:10px;left:12px;right:12px;width:auto;height:76px;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:0;align-items:center;pointer-events:none}
 .character-rpg .survivor-stage .dossier-header .dossier-level{display:block;position:relative;inset:auto;width:76px;height:76px;grid-column:1;grid-row:1}
 .character-rpg .survivor-stage .dossier-header .dossier-identity{display:block;position:relative;inset:auto;width:min(100%,260px);max-width:100%;grid-column:2;grid-row:1;justify-self:start;align-self:center;min-width:0;pointer-events:auto}
 .character-rpg .survivor-stage .dossier-identity h1{font:700 clamp(19px,5vw,23px)/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:-.35px;margin:0;text-wrap:nowrap;text-shadow:none}
 .character-rpg .survivor-stage .character-name-button{position:relative;display:block;width:100%;min-height:60px;padding:25px 30px 10px 13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;color:#f5ead1;background:linear-gradient(110deg,#102630f0,#112630c7);border:1px solid #68868a55;border-left:2px solid #cfb471;border-radius:3px 11px 11px 3px;box-shadow:0 3px 14px #06131b24;text-shadow:none}
 .character-rpg .survivor-stage .character-name-button::before{content:'YOUR SURVIVOR';position:absolute;top:10px;left:13px;font:700 8px/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:1.45px;color:#afc4c8}
 .character-rpg .survivor-stage .character-name-button::after{content:'›';position:absolute;right:11px;top:50%;transform:translateY(-50%);font:400 23px/1 Segoe UI,system-ui,sans-serif;color:#b6c9caaa}
 .character-rpg .survivor-stage .character-name-button:hover{background:linear-gradient(110deg,#19333ded,#16313ad9);border-color:#8aa89c88;border-left-color:#e2c785;color:#fff3d6}
 .character-rpg .survivor-stage .character-name-button:active{background:#1a3540}
 .character-rpg .survivor-stage .dossier-identity:has(.mode-badge) .character-name-button::before{visibility:hidden}
 .character-rpg .survivor-stage .dossier-identity .mode-badge{position:absolute;top:11px;left:15px;margin:0;padding:0;border:0;border-radius:0;background:none;color:#e9b5a1;font:700 8px/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:1.45px;pointer-events:none}
 .character-rpg .survivor-stage .dossier-identity>p{display:none}
 .character-rpg .survivor-stage .dossier-header .character-vitals{display:none}
 .character-skills-button{left:0;top:82px;width:76px;min-height:34px;gap:4px;padding:4px;font-size:10px}
 .character-skills-emblem{width:19px;height:19px}
 .survivor-stage .equipment-wip-note{top:44%;left:50%;max-width:calc(100% - 8px)}
 .survivor-stage .equipment-wip-note .equipment-wip-button{min-height:30px;padding:4px 7px;font-size:9px;line-height:1.2;gap:2px}
 .survivor-stage .equipment-wip-button strong{font-size:8px;letter-spacing:.15px}
 .survivor-stage .equipment-wip-button>span{display:block}
 .character-rpg .paper-survivor{left:46%;bottom:0;height:calc(100% - 62px);max-width:none}
 .mobile-character-actions{right:10px;top:150px;gap:10px}
 .mobile-character-actions .character-shortcut>button{width:52px;height:56px}
 .desktop-character-buffs{display:none}
 #modal .modal-backdrop:has(.character-skills-drawer){align-items:flex-end;justify-content:center}
 #modal .character-skills-drawer{width:100%;max-width:100%;height:auto;max-height:calc(92dvh - env(safe-area-inset-top,0px));border-radius:22px 22px 0 0;animation:app-sheet-rise .24s cubic-bezier(.2,.8,.2,1)}
 #modal .character-skills-drawer .app-sheet-handle{display:flex}
 #modal .character-skills-drawer .modal-fixed-head{padding:14px 18px}
 #modal .character-skills-drawer .modal-scroll-body{padding:14px 14px calc(20px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:800px) and (max-height:740px){
 .character-rpg .survivor-stage .dossier-header{top:6px;height:66px;grid-template-columns:66px minmax(0,1fr)}
 .character-rpg .survivor-stage .dossier-header .dossier-level{width:66px;height:66px}
 .character-rpg .survivor-stage .dossier-level>b{font-size:18px}
 .character-skills-button{top:70px;width:66px;min-height:32px;font-size:9px}
 .mobile-character-actions{top:98px;gap:5px}
 .mobile-character-actions .character-shortcut>button{width:48px;height:43px;gap:1px;font-size:7px}
 .mobile-character-actions .character-shortcut-art{width:25px;height:25px}
 .character-buff-timers{gap:4px}
 .character-buff-timer{font-size:10px;gap:4px}
}
@media(prefers-reduced-motion:reduce){#modal .character-skills-drawer{animation:none}}
.reduce-motion #modal .character-skills-drawer{animation:none}

/* Desktop keeps its expandable identity; the mobile card opens settings. */
.character-rpg .survivor-stage button.dossier-level{appearance:none;border:0;border-radius:8px;cursor:pointer;pointer-events:auto;z-index:2}
.character-rpg .survivor-stage button.dossier-level:hover{filter:brightness(1.1)}
.character-rpg .survivor-stage button.dossier-level:focus-visible{outline:2px solid #8ee4c4;outline-offset:3px}
.character-rpg .survivor-stage .dossier-header .dossier-identity{visibility:hidden;opacity:0;transform:translateX(-18px);clip-path:inset(0 100% 0 0);pointer-events:none;transition:transform .22s ease,clip-path .22s ease,opacity .18s ease,visibility .22s}
.character-rpg .survivor-stage .dossier-header.identity-open .dossier-identity{visibility:visible;opacity:1;transform:translateX(0);clip-path:inset(0 -6px -6px -6px);pointer-events:auto}
.character-rpg .survivor-stage .character-skills-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:56px;min-height:0;gap:3px;padding:4px;border:1px solid #6e88915c;border-radius:13px;background:#10232ef2;box-shadow:inset 0 1px 0 #ffffff08,0 3px 10px #0003;color:#e1d4b0;font-size:8px;line-height:normal;left:22px}
.character-rpg .survivor-stage .character-skills-emblem{display:block;width:32px;height:32px;object-fit:contain;image-rendering:auto;flex-shrink:0;filter:drop-shadow(0 2px 2px #0006)}
@media(max-width:800px){.character-rpg .survivor-stage .character-skills-button{left:12px}}
@media(max-width:800px) and (max-height:740px){.character-rpg .survivor-stage .character-skills-button{left:9px;width:48px;height:43px;gap:1px;font-size:7px}.character-rpg .survivor-stage .character-skills-emblem{width:25px;height:25px}}
.pet-activation-error{color:#e8a5a8}
/* Keep the optional direction control alongside the objective title on phones. */
@media(max-width:800px){
 .journal-content>.next-goal .objective-header{gap:8px;flex-wrap:nowrap}
 .journal-content>.next-goal .objective-header .shelter-ui-art{width:30px;height:30px}
 .journal-content>.next-goal .objective-header h2{font-size:12px;letter-spacing:1px}
 .journal-content>.next-goal .objective-directions-toggle{font-size:10px;padding:5px 7px;gap:5px}
}
@media(max-width:360px){
 .journal-content>.next-goal .objective-header .shelter-ui-art{width:24px;height:28px}
 .journal-content>.next-goal .objective-header h2{font-size:11px;letter-spacing:.6px}
}
@media(prefers-reduced-motion:reduce){.character-rpg .survivor-stage .dossier-header .dossier-identity,.character-rpg .survivor-stage button.dossier-level::after{transition:none}}
.reduce-motion .character-rpg .survivor-stage .dossier-header .dossier-identity,.reduce-motion .character-rpg .survivor-stage button.dossier-level::after{transition:none}

/* Clickable reinforcement requirements keep the same compact material layout. */
.reinforce-materials>button{width:100%;text-align:left;justify-content:flex-start;min-width:0;height:auto;white-space:normal}.reinforce-materials>button:hover:not(:disabled){border-color:#82c9b0;background:#17313b}.reinforce-materials>button:disabled{opacity:1}.reinforce-material>span>b,.reinforce-material>span>small{white-space:normal}.reinforce-material>strong,.reinforce-material>i{flex-shrink:0}
.is-breached h3{color:#f2c7bd}
.defence-details{font-size:11px;color:#a8bdc6}
.defence-details summary{cursor:pointer;padding:4px 0}
.defence-details p{font-size:11px;margin:8px 0 0}
/* Character shortcuts: a desktop pair and one mobile action rail. */
@media(min-width:801px){
 .character-rpg .survivor-stage .desktop-character-buffs{top:0;right:22px;gap:10px;align-items:center}
 .character-rpg .survivor-stage .desktop-character-buffs>button{position:static;display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:78px;min-height:0;padding:6px;gap:5px;border:1px solid #6e88915c;border-radius:13px;background:#10232ef2;box-shadow:inset 0 1px 0 #ffffff08,0 3px 10px #0003;color:#e1d4b0;font-size:11px;line-height:normal}
 .character-rpg .survivor-stage .desktop-character-buffs>button img{display:block;width:42px;height:42px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 2px #0006)}
}
@media(max-width:800px){.character-rpg .mobile-character-actions{top:110px;gap:8px}}
@media(max-width:800px) and (max-height:740px){.character-rpg .mobile-character-actions{top:58px;gap:5px}}
.celebration-unlocks-more summary{cursor:pointer;color:#ffda83;font-size:12px;padding:12px 0;list-style-position:inside}
.celebration-unlocks-more summary:focus-visible{outline:2px solid #ffda83;outline-offset:3px;border-radius:4px}
.celebration-unlocks-more:not([open]) .unlocks-hide,.celebration-unlocks-more[open] .unlocks-show{display:none}
.celebration-unlocks-more>ul{margin-top:0}
.egg-meal-description>button{margin-top:10px}
#modal .food-eat-action.primary{background:linear-gradient(#ffda73,#ffbd2e);border-color:#f4d07a;color:#211b0d;min-height:44px;font-weight:700}
#modal .food-eat-action.primary:hover:not(:disabled){background:#ffdc7e}
.character-buffs-shortcut.objective-target{outline:2px solid #8cf0c5;outline-offset:5px;border-radius:13px}
.character-buffs-shortcut.objective-target .character-buff-timers{outline:2px solid #8cf0c5;outline-offset:4px;border-radius:5px}
.desktop-character-buffs:has([data-action="mobile-buffs"].objective-target)>.character-buff-timers{outline:2px solid #8cf0c5;outline-offset:4px;border-radius:5px}
@media(min-width:801px){
 #modal .equipment-drawer:has(.buffs-supplies-sheet){width:min(800px,100%);max-width:800px}
 #modal .equipment-drawer:has(.buffs-supplies-sheet) .modal-scroll-body{padding:20px 22px 22px}
 .buffs-supplies-sheet .consumable-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
 .buffs-supplies-sheet .consumable{min-width:0;padding:16px;gap:10px}
 .buffs-supplies-sheet .supply-actions{margin-top:auto}
 .buffs-supplies-sheet .boost-chip-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .buffs-supplies-sheet .boost-chip{padding:12px}
 .buffs-supplies-sheet .boosts-empty{padding:12px 14px}
 #modal .buffs-supplies-sheet .supply-actions .treat-button.primary{background:linear-gradient(#ffda73,#ffbd2e);border-color:#f4d07a;color:#211b0d;font-weight:700}
} floating without moving the survivor. */
.character-rpg .survivor-stage .dossier-header{z-index:8}
.character-displays{position:absolute;left:16px;top:110px;display:flex;gap:0;pointer-events:auto;z-index:8}
.character-display{position:relative;margin:0}
.character-display>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:84px;height:92px;padding:0;cursor:pointer;list-style:none;border:0;border-radius:12px;background:transparent;box-shadow:none;color:#e1d4b0;font-size:9px}
.character-display>summary::-webkit-details-marker{display:none}
.character-display>summary:hover,.character-display[open]>summary{background:transparent;filter:drop-shadow(0 0 6px #e6c77c70)}
.character-display>summary:focus-visible{outline:2px solid #8ee4c4;outline-offset:3px}
.character-display>summary>.trophy-art,.character-display>summary>.pixel-icon{width:84px!important;height:84px!important;object-fit:contain}
.character-display>summary>.trophy-art,.character-display>summary>.pixel-icon{filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 5px #dfbb6860) brightness(1.1)}
.character-display-picker{position:absolute;top:calc(100% + 8px);left:0;width:300px;padding:0;border:1px solid #718993;border-radius:12px;background:#10232f;box-shadow:0 12px 35px #0009;overflow:hidden;z-index:30}
.character-display-picker h3{font-size:12px;line-height:1.4;padding:14px;color:#f4dfb5;margin:0;border-bottom:1px solid #36505d}
.character-display-options{max-height:280px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#607d87 #10232f}
.character-display-options>button{display:flex;align-items:center;gap:10px;width:100%;height:56px;padding:7px 12px;text-align:left;border:0;border-bottom:1px solid #ffffff09;border-radius:0;background:transparent;color:#dfe9ed}
.character-display-options>button:hover,.character-display-options>button[aria-pressed="true"]{background:#28434a}
.character-display-options>button>span:not(.trophy-art){flex:1;min-width:0}
.character-display-options b{display:block;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.character-display-options small{display:block;font-size:9px;color:#c5b88f;margin-top:3px}
.character-display-options i{font-style:normal;color:#8ee4c4}
.character-display-options .pixel-icon,.character-display-options .trophy-art{flex-shrink:0}
.character-display-options>p{padding:16px;font-size:12px}
.character-display-picker .character-display-all{display:block;width:100%;min-height:42px;border:0;border-top:1px solid #49606b;border-radius:0;background:#1f3945;color:#ffda83;font-size:11px}
@media(max-width:800px){
 .character-displays{left:-4px;top:82px;flex-direction:column;gap:0}
 .character-display>summary{width:84px;height:82px}
 .character-display>summary>.trophy-art,.character-display>summary>.pixel-icon{width:76px!important;height:76px!important}
 .character-display-picker{left:calc(100% + 8px);top:0;width:min(280px,calc(100vw - 110px))}
 .character-display-options{max-height:min(240px,40dvh)}
 .character-display-options>button{height:48px;padding:5px 8px;gap:6px}
 .character-display-picker h3{font-size:11px;padding:10px}
}
@media(max-width:800px) and (max-height:740px){
 .character-displays{top:72px;gap:0}
 .character-display>summary{width:72px;height:72px;font-size:8px}
 .character-display>summary .trophy-art,.character-display>summary>.pixel-icon{width:66px!important;height:66px!important}
 .character-display-picker{width:min(280px,calc(100vw - 100px))}
 .character-display-options{max-height:min(240px,32dvh)}
}
.hardcore-death{max-width:680px;margin:25px auto;padding:28px;text-align:center;border:1px solid #85534f88;border-radius:18px;background:radial-gradient(ellipse at top,#703a3544,#12232d 65%);box-shadow:0 20px 70px #0004}
.hardcore-death>img{display:block;width:150px;height:150px;object-fit:contain;margin:0 auto 20px}
.hardcore-death>.eyebrow{display:block;color:#e3a697}
.hardcore-death h1{font-size:clamp(28px,5vw,42px);color:#f0c4b8;letter-spacing:2px}
.hardcore-death h2{font-size:16px;margin:14px 0;color:#e0d0b7}
.hardcore-death>p{max-width:490px;margin:15px auto;color:#bacbd1}
.death-choices{display:grid;gap:10px;margin:25px auto 0;max-width:430px}
.death-choices button{min-height:48px;font-size:13px}
.death-choices small{color:#b4c5cc;line-height:1.6;margin-bottom:16px}
.hardcore-death .death-error{color:#ffb5a8}
@media(max-width:800px){.hardcore-death{margin:12px 0;padding:24px 16px}.hardcore-death>img{width:110px;height:110px}}
.loot-storage-warning{margin:18px 0;padding:14px 16px;border:1px solid #d5a74d88;border-left:3px solid #e3b755;border-radius:8px;background:#6d4b202e;color:#f1d394}
.loot-storage-warning strong{font-size:15px}.loot-storage-warning p{margin:6px 0 0;font-size:13px;line-height:1.6;color:#e1cfb1}
/* A gentle nudge along the arrow's local axis; its outer group stays anchored. */
.direction-arrow{animation:direction-arrow-nudge 1.25s ease-in-out infinite;transform-box:view-box}
@keyframes direction-arrow-nudge{0%,100%{transform:translateY(-4px)}50%{transform:translateY(0)}}
.reduce-motion .direction-arrow{animation:none}
@media(prefers-reduced-motion:reduce){.direction-arrow{animation:none}}

/* Equipped unique effects remain separate from native transparent weapon art. */
.held-unique-effects{pointer-events:none;color:#ff9b36;filter:drop-shadow(0 0 12px currentColor)}
.held-warden-effects{color:#bd73ff;filter:drop-shadow(0 0 16px #9c42ff)}
.held-unique-pulse{animation:held-unique-pulse 3.6s ease-in-out infinite}
.held-unique-arc,.held-unique-edge,.held-unique-wisp,.held-warden-ring{fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.held-unique-arc{animation:held-unique-pulse 2.6s ease-in-out infinite}
.held-unique-edge{stroke:#d8b1ff;stroke-width:12;stroke-dasharray:45 65;animation:held-unique-flow 3s linear infinite}
.held-unique-wisp{stroke-width:10;animation:held-unique-wisp 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.held-unique-particle{fill:currentColor;animation:held-unique-rise 3.2s ease-out infinite;opacity:0}
@keyframes held-unique-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes held-unique-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-110}}
@keyframes held-unique-wisp{0%,100%{opacity:.35;transform:translateX(-10px) scale(.97)}50%{opacity:.85;transform:translateX(10px) scale(1.03)}}
@keyframes held-unique-rise{0%{opacity:0;transform:translateY(0)}20%{opacity:1}85%,100%{opacity:0;transform:translateY(-140px)}}
.reduce-motion .held-unique-effects *{animation:none!important}.reduce-motion .held-unique-particle{display:none}
@media(prefers-reduced-motion:reduce){.held-unique-effects *{animation:none!important}.held-unique-particle{display:none}}

/* High-tier blade energy: continuous wisps and motes, no star sprites. */
.held-ascendant-effects{filter:drop-shadow(0 0 15px currentColor)}
.held-dawnfire{color:#ffc44d}.held-meteor-wake{color:#dff6ff}
.held-ascendant-aura{fill:currentColor;fill-opacity:.08;stroke:currentColor;stroke-width:10;stroke-linejoin:round;filter:drop-shadow(0 0 23px currentColor)}
.held-ascendant-rim{fill:none;stroke:currentColor;stroke-width:5;opacity:.65;stroke-linejoin:round}
.held-ascendant-effects .held-unique-edge{stroke:#fff6d6;stroke-width:8;stroke-dasharray:45 65}
.held-meteor-wake .held-unique-edge{stroke:#fff;filter:drop-shadow(0 0 12px #8acfff)}
.held-ascendant-wisp{stroke-width:8;filter:drop-shadow(0 0 13px currentColor)}
.held-meteor-wake .held-ascendant-wisp{stroke:#a8dcff;animation-delay:-1.4s}

.expedition-swipe-nav{display:none}.expedition-tier-arrow small{display:none}.expedition-tier-arrow b{font-weight:400}
@media(max-width:800px){
 body:has(#expedition-results){overflow:hidden}
 body:has(#expedition-results) .main-content{position:fixed;inset:var(--mobile-resource-height,46px) 0 calc(var(--app-dock-height,0px) + 74px);padding:8px 12px!important;overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:8px}
 .main-content:has(#expedition-results)>.app-page-heading,.main-content:has(#expedition-results) .expedition-filters{display:none}
 .main-content:has(#expedition-results)>.section-tabs{margin:0;flex-shrink:0;gap:6px}
 .main-content:has(#expedition-results) .section-tabs .skills-tab{padding:8px 10px;min-height:40px;flex:1;justify-content:center;font-size:11px}
 .main-content:has(#expedition-results) .section-tabs .skills-tab svg{width:20px;height:20px}
 #world-content:has(#expedition-results){flex:1;min-height:0;display:flex;flex-direction:column}
 #expedition-results{display:flex;flex-direction:column;flex:1;min-height:0;gap:6px}
 .expedition-swipe-nav{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:34px}
 .expedition-swipe-nav button{padding:0;width:44px;height:34px;min-height:34px;font-size:27px;background:#18303c;border:1px solid #4b6470;color:#ffda7a}
 .expedition-swipe-nav>span{display:flex;gap:10px;align-items:center;font-size:11px}.expedition-swipe-nav small{color:#b4c8d0;font-size:11px}
 #expedition-results .expedition-grid{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:0;flex:1;margin:0;overscroll-behavior-x:contain}
 #expedition-results .expedition-grid::-webkit-scrollbar{display:none}
 #expedition-results .expedition-card{flex:0 0 100%;height:100%;min-height:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0;box-sizing:border-box}
 #expedition-results .expedition-landscape{height:auto;min-height:100px;flex:1;padding:12px}
 #expedition-results .expedition-title h3{font-size:21px;margin:3px 0 8px}
 #expedition-results .expedition-kicker{font-size:8px}
 #expedition-results .expedition-badges{top:8px;right:8px;gap:3px}
 #expedition-results .threat-mark{padding:5px 8px;gap:2px}
 #expedition-results .expedition-card-body{flex:0 0 auto;padding:10px;gap:7px}
 #expedition-results .expedition-choice{margin:0;gap:0}
 #expedition-results .expedition-choice>span{display:none}
 #expedition-results .expedition-tier-control{padding:7px 10px;gap:8px}
 #expedition-results .expedition-tier-pips{display:none}
 #expedition-results .expedition-tier-number b{font-size:23px}
 #expedition-results .expedition-tier-arrow{display:grid;justify-items:center;color:#ffda7a;line-height:1}
 #expedition-results .expedition-tier-arrow small{display:block;font-size:9px;font-weight:700;text-transform:uppercase}
 #expedition-results .expedition-tier-arrow b{font-size:26px;line-height:16px}
 #expedition-results .expedition-metrics{padding:7px 0;gap:6px}
 #expedition-results .expedition-metrics>div{gap:2px}
 #expedition-results .expedition-metrics b{font-size:17px}
 #expedition-results .expedition-supplies{margin:0;padding:0}
 #expedition-results .expedition-supplies>div{gap:5px;flex-wrap:wrap}
 #expedition-results .expedition-supplies small{font-size:8px}
 #expedition-results .expedition-supplies span{font-size:10px}
 #expedition-results .expedition-card-body>.primary{min-height:40px;padding:8px;margin:0}
 #expedition-results .expedition-record{margin:0;font-size:9px}
 #expedition-results .expedition-objective-note{margin:0;padding:4px;font-size:10px}
}
@media(max-width:800px) and (max-height:700px){
 #expedition-results .expedition-record,#expedition-results .expedition-supplies>small,#expedition-results .expedition-kicker{display:none}
 #expedition-results .expedition-card-body{padding:7px;gap:5px}
 #expedition-results .expedition-landscape{min-height:82px}
 #expedition-results .expedition-level-badge{font-size:8px;padding:3px 5px}
}

/* Compact, aligned mobile expedition controls. */
.expedition-tier-arrow>svg{display:block;flex-shrink:0}
@media(max-width:800px){
 .expedition-swipe-nav{height:44px;gap:12px;padding:0 2px}
 .expedition-swipe-nav button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;background:#18303b;border-color:#536c78;color:#ffe09a;box-shadow:inset 0 1px #ffffff09}
 .expedition-swipe-nav button:disabled{opacity:.28}
 .expedition-swipe-nav button:not(:disabled):active{background:#2a4653;transform:scale(.96)}
 .expedition-swipe-nav>span{flex:1;justify-content:center;gap:9px;line-height:1.2}
 .expedition-swipe-nav .expedition-page-count{font-size:12px;letter-spacing:1px;font-variant-numeric:tabular-nums}
 .expedition-swipe-nav small{font-size:10px;color:#a9bdc6;border-left:1px solid #45606b;padding-left:9px}
 #expedition-results .expedition-choice .expedition-tier-control{min-height:58px;padding:8px 11px;gap:11px;border-left-width:3px;border-radius:9px;align-items:center}
 #expedition-results .expedition-tier-number{padding-right:11px;gap:2px}
 #expedition-results .expedition-tier-copy{gap:4px}
 #expedition-results .expedition-tier-copy strong{font-size:12px;line-height:1.15}
 #expedition-results .expedition-tier-copy small{font-size:9px;line-height:1.3}
 #expedition-results .expedition-tier-arrow{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 0 8px 10px;border-left:1px solid #ffffff20;color:#ffe09a;align-self:stretch}
 #expedition-results .expedition-tier-arrow small{font-size:9px;line-height:1.3;letter-spacing:.2px;max-width:38px;text-align:left}
 #expedition-results .expedition-tier-arrow svg{width:20px;height:20px}
 .expedition-swipe-nav button:focus-visible,#expedition-results .expedition-tier-control:focus-visible{outline:2px solid #ffe09a;outline-offset:2px}
}

/* Keep the expedition action and location controls in one tier-coloured card. */
.expedition-card .expedition-card-body>button.primary{
 background:linear-gradient(180deg,color-mix(in srgb,var(--threat) 92%,#ffffff),color-mix(in srgb,var(--threat) 78%,#526777));
 border-color:color-mix(in srgb,var(--threat) 74%,#425d6a);
 color:#14242b;
 box-shadow:inset 0 1px #ffffff55;
 border-radius:9px;
}
.expedition-card .expedition-card-body>button.primary:hover:not(:disabled){
 background:linear-gradient(180deg,color-mix(in srgb,var(--threat) 80%,#ffffff),color-mix(in srgb,var(--threat) 88%,#526777));
 border-color:var(--threat);
}
.expedition-card .expedition-card-body>button.primary:disabled{
 opacity:1;
 background:color-mix(in srgb,var(--threat) 24%,#20313b);
 border-color:color-mix(in srgb,var(--threat) 40%,#3b5663);
 color:#c6d3d4;
 box-shadow:none;
}
@media(max-width:800px){
 #expedition-results{gap:0}
 #expedition-results .expedition-card{border-radius:14px!important}
 #expedition-results .expedition-card-body{padding:12px 12px 10px;gap:8px}
 #expedition-results .expedition-card-body>button.primary{min-height:43px}
 #expedition-results .expedition-record{line-height:1.25;color:#b4c5ca}
 .expedition-swipe-nav{
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:8px;height:43px;min-height:43px;margin:0;padding:2px 10px 5px;
  border:0;border-top:1px solid color-mix(in srgb,var(--threat,#8cb7d6) 35%,#314c59);
  border-radius:0;
  background:var(--tier-surface,#142733);
 }
 .expedition-swipe-nav button{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:36px;min-height:36px;padding:0;
  border:0;border-radius:6px;background:transparent;box-shadow:none;
  color:var(--threat,#8cb7d6);
 }
 .expedition-swipe-nav button:last-child{justify-self:end}
 .expedition-swipe-nav button:not(:disabled){color:color-mix(in srgb,var(--threat,#8cb7d6) 72%,#ffffff)}
 .expedition-swipe-nav button:hover:not(:disabled){background:color-mix(in srgb,var(--threat,#8cb7d6) 14%,transparent);border:0;color:#f5f4eb}
 .expedition-swipe-nav button svg{width:20px;height:20px;stroke-width:2.4}
 .expedition-swipe-nav>span{min-width:44px;justify-content:center;color:#edf1ed}
 .expedition-swipe-nav .expedition-page-count{font-size:11px;letter-spacing:.5px}
}
@media(max-width:800px){
 .section-tabs[aria-label="World sections"]{display:flex;justify-content:center;width:100%;gap:8px}
 .main-content:has(#expedition-results)>.section-tabs[aria-label="World sections"] .skills-tab,.section-tabs[aria-label="World sections"] .skills-tab{flex:0 1 auto;justify-content:center}
}
@media(max-width:800px){
 .main-content:has(>.storage-view)>.app-page-heading{display:none}
 .storage-view>.storage-tabs{justify-content:center;width:100%;gap:8px;margin-top:0}
}
@media(max-width:800px){
 .main-content:has(>.section-tabs[aria-label="World sections"])>.app-page-heading{display:none}
 .main-content>.section-tabs[aria-label="World sections"]{margin-top:0}
}
/* Shared mobile page rhythm: navigation first, no duplicate level badges. */
@media(max-width:800px){
 .app-page-heading>button{display:none}
 .app-page-heading{justify-content:center;margin:0 0 12px;padding:2px 0}
 .app-page-heading h1{font-size:21px;line-height:1.25;text-align:center}
 .main-content:has(>.journal-toolbar)>.app-page-heading,.main-content:has(>.quarters-toolbar)>.app-page-heading,.main-content:has(>#survivors-content .community-coming)>.app-page-heading{display:none}
 .main-content .skills-tabs{justify-content:safe center;gap:8px}
 .main-content .journal-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0;padding:0}
 .main-content .journal-tabs .skills-tab{width:100%;min-width:0;box-sizing:border-box;padding:8px!important}
 .journal-toolbar{margin:0 0 12px;padding:0}
 .quarters-toolbar{margin:0 0 12px;gap:10px;align-items:center}
 .profile-settings-layout{display:flex;flex-direction:column;gap:16px}
 .profile-settings-layout>.settings-main{order:0;width:100%;min-width:0}
 .profile-settings-layout>.supporter-shop{order:1;width:100%;min-width:0;box-sizing:border-box}
 .main-content .support-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
 .main-content .panel{margin-bottom:12px}
}

/* Keep World navigation anchored while its content changes. */
@media(max-width:800px){
 body:has(.section-tabs[aria-label="World sections"]){overflow:hidden}
 body:has(.section-tabs[aria-label="World sections"]) .main-content:has(>.section-tabs[aria-label="World sections"]){position:fixed;inset:var(--mobile-resource-height,46px) 0 calc(var(--app-dock-height,0px) + 74px);padding:8px 12px!important;overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:8px}
 .main-content>.section-tabs[aria-label="World sections"]{margin:0;flex-shrink:0;gap:8px}
 .main-content>.section-tabs[aria-label="World sections"] .skills-tab{padding:8px 10px;min-height:40px;flex:0 1 auto;justify-content:center;font-size:11px}
 .main-content>.section-tabs[aria-label="World sections"] .skills-tab svg{width:20px;height:20px}
 .main-content>.section-tabs[aria-label="World sections"]~#world-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
 .main-content>.section-tabs[aria-label="World sections"]~#world-content:has(#expedition-results){overflow:hidden}
}

/* Mobile section navigation: a connected, quiet frame with a gold active edge. */
@media(max-width:800px){
 body .main-content .skills-tabs[role="tablist"]{
  display:flex!important;flex-wrap:nowrap!important;gap:0!important;width:100%;
  border:1px solid #304b58;border-radius:8px;background:#10232d;
  padding:0!important;overflow:hidden;box-sizing:border-box;
 }
 body .main-content .skills-tabs[role="tablist"]>.skills-tab{
  flex:1 1 0!important;min-width:0!important;width:auto!important;
  height:46px!important;min-height:46px!important;margin:0!important;padding:7px 5px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:#a9bdc9!important;font-size:11px!important;
  font-weight:600!important;text-transform:none!important;letter-spacing:0!important;
  gap:7px!important;justify-content:center;white-space:nowrap;
 }
 body .main-content .skills-tabs[role="tablist"]>.skills-tab+ .skills-tab{border-left:1px solid #28424e!important}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab.selected{
  color:#ffe099!important;background:linear-gradient(130deg,#c2a05b26,#c2a05b10)!important;
  box-shadow:inset 0 -3px #edc366!important;
 }
 body .main-content .skills-tabs[role="tablist"]>.skills-tab:after{display:none!important}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab .pixel-icon,
 body .main-content .skills-tabs[role="tablist"]>.skills-tab svg{width:18px!important;height:18px!important;flex-shrink:0}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab:focus-visible{outline:2px solid #ffe099!important;outline-offset:-3px}
 body .main-content .journal-tabs[role="tablist"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
 body .main-content .journal-tabs[role="tablist"]>.skills-tab:nth-child(3){border-left:0!important}
 body .main-content .journal-tabs[role="tablist"]>.skills-tab:nth-child(n+3){border-top:1px solid #28424e!important}
 .main-content .support-categories,.main-content .admin-tabs{gap:6px;justify-content:center}
 .main-content .support-categories button,.main-content .admin-tabs button{
  min-height:40px;border-radius:7px;padding:8px 12px;font-weight:600;
 }
 .main-content .admin-tabs button.selected{
  background:#c2a05b20;color:#ffe099;border-color:#b99a58;box-shadow:inset 0 -2px #edc366;
 }
}
@media(max-width:360px){
 body .main-content .skills-tabs[role="tablist"]>.skills-tab{font-size:10px!important;gap:4px!important}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab .pixel-icon,
 body .main-content .skills-tabs[role="tablist"]>.skills-tab svg{width:16px!important;height:16px!important}
}

@media(max-width:800px){
 body .main-content .skills-tabs[role="tablist"]>.skills-tab>span{font-size:inherit!important;text-transform:none!important;letter-spacing:0!important;line-height:1.2;white-space:normal}
}


.mobile-task-rounds{display:none}
@media(max-width:800px){
 .header-shell .activity-bar .activity-detail{display:flex;flex-direction:column;justify-content:center;gap:7px;align-self:stretch}
 .header-shell .activity-bar .activity-detail>small{display:none!important}
 .header-shell .activity-bar .activity-title{display:flex;align-items:center;gap:5px;margin:0;line-height:1.25}
 .header-shell .activity-bar .activity-title>b{flex:0 1 auto;min-width:0}
 .header-shell .activity-bar .activity-title>.mobile-task-rounds{display:block;flex:0 0 auto;font-size:8px;font-style:normal;font-weight:400;color:#a9c0c8;white-space:nowrap}
 .header-shell .activity-bar .activity-title>span{margin-left:auto;white-space:nowrap}
 .header-shell .activity-bar .activity-detail>.progress{margin:0}
}

@media(max-width:800px){#toast{display:none!important}}
@media(max-width:800px){#toast.action-error-toast.visible{display:block!important;top:50%;bottom:auto;left:50%;right:auto;width:max-content;max-width:min(360px,calc(100vw - 28px));height:auto;min-height:0;margin:0;transform:translate(-50%,-50%)!important;z-index:1001;padding:12px 16px;border:1px solid #ddab71;border-radius:12px;background:#17343d;color:#ffe6c6;text-align:center;line-height:1.45;box-shadow:0 8px 24px #0008}}@media(max-width:800px){.reduce-motion #toast.action-error-toast.visible{transform:translate(-50%,-50%)!important}}@media(max-width:800px) and (prefers-reduced-motion:reduce){#toast.action-error-toast.visible{transform:translate(-50%,-50%)!important}}
/* Compact work pages and consistent mobile controls. */
.work-search-panel{flex-basis:100%;width:100%}.work-search-panel[hidden]{display:none}.work-search-panel .work-search{max-width:none;width:100%}
.work-search-toggle{display:inline-flex;align-items:center;gap:6px}
.skill-overview-heading{justify-content:center;padding:18px 0 24px}.skill-overview-stats{justify-content:center;text-align:center}
.inventory-tier{display:none}.item-popup .smelt-item-detail+.item-popup-more{border-top:0}
#world-content:has(.beta-event)>.page-heading,#world-content:has(.community-coming)>.page-heading{text-align:center;justify-content:center}
.ladder-refresh{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.ladder-refresh small{color:#9db5c3;font-size:10px;font-variant-numeric:tabular-nums}
.activity-bar>[data-action="pause-task"]{height:40px;min-height:40px;box-sizing:border-box;align-self:center}
@media(max-width:800px){
 #craft-page .craft-card{position:relative;padding:30px 12px 12px;gap:8px 10px}
 #craft-page .craft-actions .craft-meta{position:absolute;top:9px;right:12px;gap:9px;font-size:9px;line-height:1;margin:0;padding:0}
 #craft-page .craft-footer,#craft-page .craft-footer.has-craft-notice,#craft-page .craft-footer:has(.craft-running){display:none}
 #craft-page .craft-materials{margin-top:5px}#craft-page .craft-materials>div{gap:5px 9px}
 #craft-page .craft-copy h3{font-size:14px;margin-bottom:4px}
 #gather-page .gather-card{position:relative}#gather-page .gather-card-body{padding:29px 12px 12px calc(clamp(102px,31vw,128px) + 8px);min-height:136px;gap:8px}
 #gather-page .gather-art{width:clamp(102px,31vw,128px)}
 #gather-page .gather-art img{top:0;transform:none;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;mask-image:none;-webkit-mask-image:none}
 #gather-page .gather-meta{position:absolute;top:10px;right:12px;display:flex;gap:8px;font-size:9px;line-height:1;padding:0}
 #craft-page .craft-card.is-recommended{padding-top:42px}
 #craft-page .craft-card.is-recommended .craft-meta,#gather-page .gather-card.is-recommended .gather-meta{top:21px}
 #gather-page .gather-card.is-recommended .gather-card-body{padding-top:41px}
 #gather-page .gather-copy>p{display:none}#gather-page .gather-copy h3.work-item-title{font-size:14px;margin:0 0 4px}
 #gather-page .gather-actions,#gather-page .gather-card.is-current .gather-actions{grid-template-columns:1fr;gap:0}
 #gather-page .gather-actions>button{justify-self:end;min-width:92px;padding:7px 18px}
 .skill-overview-heading{margin:0;padding:12px 0 20px}.skill-overview-stats{width:100%;gap:24px}
 .inventory-item:has(.inventory-tier){position:relative;padding-top:24px}.inventory-tier{display:block;position:absolute;top:5px;right:6px;font-size:9px;font-weight:800;color:#f1d997;line-height:1.3}
 .inventory-item:has(.inventory-tier) .inventory-qty{right:6px;left:auto}
 .activity-bar>[data-action="pause-task"]{height:36px;min-height:36px}
}
#modal .item-popup .smelt-item-detail+.item-popup-more{border-top:0;margin-top:0}
#world-content>.page-heading:has(+.beta-event),#world-content>.page-heading:has(+.community-coming),#world-content>.page-heading:has(+.event-announcement){text-align:center;justify-content:center}
.activity-bar .progress i{transition:width .25s linear}
@media(prefers-reduced-motion:reduce){.activity-bar .progress i{transition:none}}
.reduce-motion .activity-bar .progress i{transition:none}
.header-shell .activity-bar>.task-pause{height:40px;min-height:40px;align-self:center}
@media(max-width:800px){.header-shell .activity-bar>.task-pause{height:36px;min-height:36px}.header-shell .activity-bar>.task-pause{width:36px;min-width:36px;flex-basis:36px}}
@media(max-width:800px){.main-content>.section-tabs[aria-label="World sections"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}.main-content>.section-tabs[aria-label="World sections"] .skills-tab{width:100%;min-width:0;flex:none;padding:8px 4px;gap:5px;font-size:9px}.main-content>.section-tabs[aria-label="World sections"] .skills-tab svg{flex-shrink:0;width:17px;height:17px}}

/* Keep the mobile buffs sheet focused on the selected supply and its actions. */
@media(max-width:800px){
 #modal .equipment-drawer:has(.buffs-supplies-sheet) .modal-scroll-body{padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px))}
 .buffs-supplies-sheet{gap:14px;padding:0}
 .buffs-supplies-sheet h3{font-size:12px}
 .buffs-supplies-sheet .current-boosts:has(.boosts-empty){display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #35515e;border-radius:10px;background:#10212b}
 .buffs-supplies-sheet .current-boosts-content{margin-top:8px}
 .buffs-supplies-sheet .current-boosts:has(.boosts-empty) .current-boosts-content{margin:0}
 .buffs-supplies-sheet .boosts-empty{padding:0;border:0;background:none;line-height:1.3;font-size:10px;white-space:nowrap}
 .buffs-supplies-sheet .boosts-empty-long{display:none}
 .buffs-supplies-sheet .boosts-empty-short{display:inline}
 .buffs-supplies-sheet .boost-chip-row{gap:7px}
 .buffs-supplies-sheet .boost-chip{padding:10px}
 .buffs-supplies-sheet .boost-chip>div{gap:2px}
 .buffs-supplies-sheet .boost-chip span,.buffs-supplies-sheet .boost-chip small{line-height:1.35}
 .buffs-supplies-sheet .consumable-grid{gap:9px;margin:8px 0 0}
 .buffs-supplies-sheet .consumable{gap:7px;padding:11px 12px}
 .buffs-supplies-sheet .card-heading{gap:8px}
 .buffs-supplies-sheet .card-heading>.pixel-icon,.buffs-supplies-sheet .card-heading>svg{width:28px!important;height:28px!important;flex-shrink:0}
 .buffs-supplies-sheet .card-heading .meta{margin-bottom:1px;font-size:8px}
 .buffs-supplies-sheet .card-heading h3{margin:0;font-size:13px}
 .buffs-supplies-sheet .consumable>p,.buffs-supplies-sheet .supply-effect{display:none}
 .buffs-supplies-sheet .supply-mobile-summary{display:block;color:#d8c592;font-size:10px;line-height:1.4}
 .buffs-supplies-sheet .consumable>small{font-size:9px;line-height:1.3}
 .buffs-supplies-sheet .auto-supply>.meal-status:not(.has-timer),.buffs-supplies-sheet .auto-supply>.drink-status:not(.has-timer),.buffs-supplies-sheet .supply-availability:not(.has-issue){display:none}
 .buffs-supplies-sheet .supply-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:1px 0 0;padding:0;border:0}
 .buffs-supplies-sheet .supply-actions button{min-width:0;min-height:42px;padding:7px 5px;font-size:10px;line-height:1.2}
 .buffs-supplies-sheet .supply-choice-full{display:none}
 .buffs-supplies-sheet .supply-choice-short{display:inline}
}
/* Mobile Journal keeps the current objective and two daily tasks on one page. */
@media(max-width:800px){
 .main-content:has(.journal-mobile-objectives){padding-bottom:calc(var(--app-dock-height,0px) + 62px)!important}
 .main-content:has(.journal-mobile-objectives) .journal-toolbar{margin-bottom:10px}
 body .main-content .journal-tabs[role="tablist"]{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1.12fr) minmax(0,.8fr)!important;gap:4px}
 body .main-content .journal-tabs[role="tablist"]>.skills-tab{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;min-height:54px;padding:5px 2px!important;font-size:8px;line-height:1.1;white-space:nowrap;
 }
 body .main-content .journal-tabs[role="tablist"]>.skills-tab:nth-child(3){border-left:1px solid #28424e!important}
 body .main-content .journal-tabs[role="tablist"]>.skills-tab:nth-child(n+3){border-top:0!important}
 .journal-mobile-objectives{display:grid;gap:12px}
 .journal-mobile-objectives>.next-goal{margin:0;padding:12px}
 .journal-mobile-objectives>.next-goal .objective-header{margin-bottom:8px}
 .journal-mobile-objectives>.next-goal .objective-body{gap:7px}
 .journal-mobile-objectives>.next-goal .objective-material-target{margin:2px 0}
 .journal-mobile-objectives>.next-goal .objective-mobile-reward{padding-top:8px}
 .journal-mobile-objectives>.next-goal .objective-mobile-reward>span{display:none}
 .journal-mobile-objectives>.next-goal .objective-mobile-reward>div{gap:5px 8px}
 .journal-mobile-objectives>.next-goal .objective-body>button{min-height:44px;margin-top:2px;touch-action:manipulation}
 /* The action button already names the training step; keep its progress compact. */
 .journal-mobile-objectives>.next-goal:has(.objective-body>button) .objective-training-target>p{display:none}
}
@media(max-width:360px), (max-width:800px) and (max-height:760px){
 .main-content:has(.journal-mobile-objectives){padding-bottom:calc(var(--app-dock-height,0px) + 58px)!important}
 .main-content:has(.journal-mobile-objectives) .journal-toolbar{margin-bottom:6px}
 .journal-mobile-objectives{gap:5px}
 .journal-mobile-objectives>.next-goal{padding:11px;border-radius:12px}
 .journal-mobile-objectives>.next-goal .objective-header{margin-bottom:6px}
 .journal-mobile-objectives>.next-goal .objective-body{gap:6px}
 .journal-mobile-objectives>.next-goal .objective-status-line{grid-template-columns:26px minmax(0,1fr);gap:3px 8px}
 .journal-mobile-objectives>.next-goal .objective-state-mark{width:26px;height:26px;font-size:18px}
 .journal-mobile-objectives>.next-goal .objective-body h3{font-size:18px}
 .journal-mobile-objectives>.next-goal .objective-body>p{font-size:11px;line-height:1.4}
 .journal-mobile-objectives>.next-goal:has(.objective-training-target) .objective-body>p{display:none}
 .journal-mobile-objectives>.next-goal .objective-body>small{font-size:10px;line-height:1.4}
 .journal-mobile-objectives>.next-goal .objective-mobile-reward{padding:7px 0 0;gap:8px}
 .journal-mobile-objectives>.next-goal .objective-mobile-reward b{font-size:10px}
 .journal-mobile-objectives>.next-goal .objective-body>button{min-height:44px;padding:8px}
}
@media(max-width:800px) and (max-height:700px){
 body .main-content .journal-tabs[role="tablist"]>.skills-tab{height:42px!important;min-height:42px!important}
 .journal-mobile-objectives>.next-goal .objective-training-target{padding:7px;gap:5px}
 .journal-mobile-objectives>.next-goal:has(.objective-training-target) .objective-body>p{display:none}
}

/* Equipment and skill-tool sheets use compact, readable two-column cards on phones. */
@media(max-width:800px){
 #modal .equipment-drawer .tools-drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #modal .equipment-drawer .tools-drawer-grid>.objective-target{margin-top:0}
 #modal .equipment-drawer .modal-scroll-body{padding:14px 12px calc(20px + env(safe-area-inset-bottom,0px))}
 #modal .tools-drawer-list .equipment-slot{
  min-width:0;min-height:122px;padding:9px;
  grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto minmax(48px,1fr) auto;
  gap:5px 7px;align-content:start;border-radius:11px;
 }
 #modal .tools-drawer-list .equipment-slot-heading{grid-column:1/-1;grid-row:1;min-width:0}
 #modal .tools-drawer-list .equipment-visual{grid-column:1;grid-row:2;align-self:start}
 #modal .tools-drawer-list .equipment-visual .item-art{width:46px;height:50px;border-radius:8px}
 #modal .tools-drawer-list .equipment-slot .item-art img,
 #modal .tools-drawer-list .equipment-visual .item-art .pixel-icon{width:40px;height:44px;max-width:40px;max-height:44px}
 #modal .tools-drawer-list .equipment-description{grid-column:2;grid-row:2;align-self:center;min-width:0;gap:3px}
 #modal .tools-drawer-list .equipment-description>b{font-size:11px;line-height:1.2;overflow-wrap:anywhere}
 #modal .tools-drawer-list .equipment-description>small{font-size:9px;line-height:1.3;overflow-wrap:anywhere}
 #modal .tools-drawer-list .equipment-slot>.durability{grid-column:1/-1;grid-row:3;align-self:end;margin:0}
}

/* Equipment chooser: artwork first, concise bonuses and a dedicated action row. */
.character-display .vip-display-art{object-fit:contain;image-rendering:auto}
#modal .loadout-picker .slot-options{align-content:start;flex:none;grid-template-columns:minmax(0,1fr)}
#modal .loadout-picker .loadout-item{grid-template-columns:80px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:center;gap:12px;padding:14px;border-radius:14px;background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--rarity) 15%,transparent),transparent 70%),#132b36}
#modal .loadout-picker .loadout-item-art{width:80px;height:88px;padding:0;margin:0;align-self:center;border:1px solid color-mix(in srgb,var(--rarity) 25%,transparent);border-radius:12px;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 16%,#172e38),#0b1d26);box-shadow:inset 0 1px #ffffff08}
#modal .loadout-picker .loadout-item-art>svg{width:76px;height:76px;filter:drop-shadow(0 4px 3px #0006)}
#modal .loadout-picker .loadout-item-name{gap:5px 8px}
#modal .loadout-picker .loadout-item-name>b{font-size:15px;line-height:1.3;font-weight:650}
#modal .loadout-picker .rarity-badge{font-size:9px;padding:3px 5px}
#modal .loadout-picker .loadout-item-stock{margin:5px 0 0;font-size:11px;font-weight:400;color:#a0b7c0}
#modal .loadout-picker .loadout-item-effect{margin:7px 0 0;font-size:13px;line-height:1.45;color:#d9e8e9}
#modal .loadout-picker .loadout-item-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ffffff0d;padding-top:10px}
#modal .loadout-picker .loadout-item-requirement{font-size:11px;line-height:1.4;color:#a5bcc4}
#modal .loadout-picker .loadout-item-requirement.is-locked{color:#ffc79a}
#modal .modal .loadout-picker button.loadout-item-action{min-width:112px;min-height:44px;max-width:65%;margin:0;padding:10px 15px;border-radius:9px;font-size:13px;white-space:normal;line-height:1.3;touch-action:manipulation}
#modal .loadout-picker .picker-current{border:1px solid #9d8a56;background:linear-gradient(130deg,#c9a45713,#132b36)}
#modal .loadout-picker>.text-button{min-height:44px;line-height:1.4}
#modal .modal:has(.loadout-picker) .objective-modal-guide{display:flex;align-items:center;gap:10px;margin:10px 18px 0;padding:9px 12px}
#modal .modal:has(.loadout-picker) .objective-modal-guide strong{margin:0;white-space:nowrap;letter-spacing:0;font-size:11px}
#modal .modal:has(.loadout-picker) .objective-modal-guide p{font-size:12px;line-height:1.4}
@media(max-width:800px){
 #modal .modal:has(.loadout-picker){width:100%;max-width:100%;height:auto;max-height:calc(100dvh - 24px);border-radius:22px 22px 0 0}
 #modal .modal:has(.loadout-picker) .modal-fixed-head{padding:8px 16px 12px;gap:12px;min-height:0}
 #modal .modal:has(.loadout-picker) .modal-fixed-head h2{font-size:21px;line-height:1.25;letter-spacing:-.3px;font-weight:650}
 #modal .modal:has(.loadout-picker) .modal-close{width:44px;height:44px;min-height:44px;border-radius:12px}
 #modal .modal:has(.loadout-picker) .modal-scroll-body{padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));scroll-padding:14px}
 #modal .modal:has(.loadout-picker) .tool-panel-back{min-height:44px;padding:10px 0;font-size:12px;line-height:1.4}
 #modal .loadout-picker>.picker-hint{font-size:12px;line-height:1.5;margin:0 0 12px;color:#adc4cc}
 #modal .loadout-picker .picker-section-label{margin:14px 0 9px;font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#b8c9cf}
 #modal .loadout-picker .picker-equipped-section{margin:0 0 4px}
 #modal .loadout-picker .picker-equipped-section.is-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 0;border-bottom:1px solid #ffffff12}
 #modal .loadout-picker .is-empty .picker-section-label{margin:0}
 #modal .loadout-picker .picker-unoccupied{min-height:0;padding:0;margin:0;border:0;background:none;font-size:12px;color:#90a8b3}
 #modal .loadout-picker .loadout-item{gap:10px 12px;padding:12px}
 #modal .loadout-picker .slot-options{gap:10px;margin:0}
 #modal .loadout-picker>.text-button{margin:6px 0 0;padding:10px 0;font-size:12px}
 #modal .modal:has(.loadout-picker) .objective-modal-guide{margin:0 14px 8px;padding:8px 10px}
}
@media(max-width:360px){
 #modal .loadout-picker .loadout-item{grid-template-columns:70px minmax(0,1fr);gap:10px}
 #modal .loadout-picker .loadout-item-art{width:70px;height:80px}
 #modal .loadout-picker .loadout-item-art>svg{width:66px;height:66px}
 #modal .loadout-picker .loadout-item-name>b{font-size:14px}
 #modal .loadout-picker .loadout-item-effect{font-size:12px}
 #modal .modal:has(.loadout-picker) .objective-modal-guide strong{display:none}
}
@media(max-width:800px){
 #modal .modal:has(.loadout-picker) .app-sheet-handle{display:none}
 #modal .modal:has(.loadout-picker) .tool-panel-back{background:none;border:0;box-shadow:none;color:#ffd271;text-align:left;border-radius:0}
}
@media(max-width:800px){
 #modal .modal:has(.loadout-picker) button.tool-panel-back,
 #modal .modal .loadout-picker>button.text-button{min-height:44px}
}
/* Buffs read as useful, tangible items, with stable live countdowns. */
.buff-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.buff-card{--buff-accent:#e9b970;display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center;position:relative;min-width:0;padding:17px 14px;border:1px solid color-mix(in srgb,var(--buff-accent) 38%,#28404e);border-radius:14px;background:radial-gradient(ellipse at 0 50%,color-mix(in srgb,var(--buff-accent) 14%,transparent),transparent 65%),#10232d;box-shadow:inset 0 1px #ffffff08}
.buff-card.buff-xp{--buff-accent:#cbb6ff}.buff-card.buff-focus{--buff-accent:#79d8c9}
.buff-art{display:grid;place-items:center;width:68px;height:78px;border-radius:12px;background:radial-gradient(ellipse,color-mix(in srgb,var(--buff-accent) 24%,transparent),transparent 70%)}
.buff-art>.pixel-icon{width:58px!important;height:58px!important;filter:drop-shadow(0 4px 5px #0008)}
.buff-copy{min-width:0}.buff-card-heading{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.buff-card h4{margin:0;font-size:14px;line-height:1.35;color:#f0e7d2}.buff-state{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:#aec1ca}.buff-state i{width:5px;height:5px;border-radius:50%;background:#718996}.buff-state.is-working{color:#97e0c3}.buff-state.is-working i{background:#82dfb8;box-shadow:0 0 7px #82dfb855}
.buff-card .buff-effect{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:7px 0 4px;line-height:1.4;color:#d8e4e9}.buff-effect strong{font-size:25px;line-height:1.1;color:var(--buff-accent);font-variant-numeric:tabular-nums}.buff-effect span{font-size:12px}.buff-card .buff-extra{margin:4px 0;font-size:11px;line-height:1.45;color:#b6cbd5}.buff-clock{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:11px;color:#9eb8c6;font-size:10px;line-height:1.4}.buff-clock b{font-size:12px;color:#d5e3e9;font-variant-numeric:tabular-nums}
.buff-empty{padding:18px 16px;text-align:center;border:1px dashed #486472;border-radius:14px;background:radial-gradient(ellipse at 50% 0,#c4a05412,transparent 75%),#10232d}.buff-empty-art{display:flex;justify-content:center;align-items:center;gap:18px;margin:0 0 10px}.buff-empty-art>.pixel-icon:nth-child(2){transform:translateY(-4px)}.buff-empty h4{font-size:16px;line-height:1.4;color:#ece2c8;margin:0 0 7px}.buff-empty p{font-size:12px;line-height:1.6;color:#b5cbd5;margin:0 auto 8px;max-width:32ch}.buff-empty button{font-size:12px;min-height:44px}
.buffs-supplies-sheet .current-boosts{margin:0;padding:0;border:0}.buffs-supplies-sheet .current-boosts-content{margin-top:12px}.buffs-supplies-sheet .current-boosts>h3{font-size:11px;letter-spacing:1.1px;color:#e7cf92}.buffs-supplies-sheet .buffs-supplies-section{padding-top:8px;scroll-margin-top:12px}
#modal .buffs-supplies-sheet .buff-card,#modal .buffs-supplies-sheet [data-action="drink-now"]{border:0}
@media(max-width:380px){.buff-card{grid-template-columns:54px minmax(0,1fr);gap:9px;padding:14px 11px}.buff-art{width:54px;height:64px}.buff-art>.pixel-icon{width:48px!important;height:48px!important}.buff-card h4{font-size:13px}.buff-effect strong{font-size:23px}.buff-card-heading{gap:5px}.buff-state{font-size:8px}.buff-empty-art{gap:13px}}
/* The guide is a viewport sibling, never part of a page's scrollable content. */
#opening-tour-host{position:fixed;z-index:31000;top:var(--opening-guide-top,90px);left:calc(var(--sidebar,225px) + 24px);right:24px}
.opening-guide{display:flex;align-items:center;gap:20px;padding:14px 18px;border:1px solid #9a8350;border-radius:12px;background:linear-gradient(115deg,#243a35,#142a35);box-shadow:0 7px 20px #020b1470;color:#f4eedc}
.opening-guide-copy{flex:1;min-width:0}.opening-guide-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.opening-guide-heading strong{font-size:16px;line-height:1.25;font-weight:650}.opening-guide-heading>span{flex:none;font-size:11px;color:#efcc7f;letter-spacing:.5px}
.opening-guide-copy p{margin:6px 0 0;font-size:13px;line-height:1.45;color:#d0deda;overflow:visible}
.opening-guide-actions{display:flex;align-items:center;gap:12px;flex:none}.opening-guide-actions button{min-height:44px;margin:0;font-size:13px}.opening-guide-actions .text-button{padding:8px;color:#eed6a7}
.expedition-card .expedition-scout{width:100%;min-height:44px;margin:6px 0 0;background:#17343e;border-color:#547984;color:#e8e6d4;font-size:12px}
.queue-overview .queue-repeat-toggle{min-height:44px;width:100%;margin:0 0 12px}
.expedition-danger{display:grid;gap:4px;flex:none;margin:0;padding:9px 11px;border:1px solid #b96b54;border-radius:8px;background:#492e2c;color:#e9cec2;font-size:12px;line-height:1.4}
.expedition-danger strong{font-size:13px;color:#ffd1a6}
.opening-earned{display:flex;align-items:center;gap:16px;margin:18px 0;padding:15px;border:1px solid #a18748;border-radius:12px;background:radial-gradient(ellipse at 0 50%,#a7853633,transparent 75%),#142d31}
.opening-earned-art{display:grid;place-items:center;flex:none;width:76px;height:84px}.opening-earned-art .pixel-icon{width:72px!important;height:72px!important}
.opening-earned>div{display:grid;gap:8px}.opening-earned strong{font-size:17px;color:#ffdf96}.opening-earned>div>span{font-size:12px;line-height:1.6;color:#c7d7cb}
@media(max-width:800px){
 #opening-tour-host{left:8px;right:8px}
 .opening-guide{display:block;padding:10px 12px;border-radius:10px}
 .opening-guide-heading strong{font-size:14px}.opening-guide-copy p{font-size:13px;line-height:1.4;margin-top:4px}
 .opening-guide-actions{margin-top:8px;gap:12px}.opening-guide-actions .primary{flex:1;padding:8px 12px}.opening-guide-actions .text-button{flex:none;padding:8px 6px}
 #gather-page .filters button,#gather-page .gather-actions>button{min-height:44px!important}
 #modal .modal button:not(.app-sheet-handle){min-height:44px!important}
 .activity-bar>[data-action="pause-task"]{min-height:44px!important}
 .activity-bar>[data-action="pause-task"]{min-width:44px!important}
 #craft-page .craft-actions button{min-height:44px!important}
}
@media(max-width:800px){.trader-buy{min-height:44px!important}}

/* A compact guide note leaves the target visible. */
#opening-tour-host{right:auto;width:min(360px,calc(100vw - var(--sidebar,225px) - 48px));pointer-events:none}
#opening-tour-host.opening-note-dismissed{display:none}
.opening-guide{align-items:flex-start;gap:9px;padding:11px 13px;box-shadow:0 12px 32px #020b1480;pointer-events:auto}
.opening-guide-heading strong{font-size:13px}.opening-guide-copy p{font-size:11px;line-height:1.4}
.opening-guide-actions{gap:5px;flex-direction:column;align-items:flex-end}
.opening-guide-actions .primary{min-height:34px;font-size:11px;padding:6px 10px}
.opening-note-close{display:grid;place-items:center;flex:none;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px;padding:0!important;border:0!important;border-radius:8px;background:transparent!important;box-shadow:none!important;color:#cddbd5;cursor:pointer}
.opening-note-close svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}
.opening-note-close:hover{background:#ffffff12!important;color:#fff0cb}
.opening-defeat{text-align:center;display:grid;gap:12px;padding:12px 2px 4px}
.modal-backdrop:has(.opening-defeat),.modal-backdrop:has(.opening-victory){display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important}
.modal-backdrop .modal:has(.opening-defeat),.modal-backdrop .modal:has(.opening-victory){position:relative!important;inset:auto!important;width:min(420px,100%)!important;max-height:calc(100dvh - 40px)!important;margin:auto!important;border-radius:18px!important;overflow:hidden}
.opening-defeat-mark{display:grid;place-items:center;width:70px;height:70px;margin:auto;border:1px solid #a96058;border-radius:50%;background:#4b292d;color:#ffd19a;font-size:39px;animation:opening-defeat-pulse 1.4s ease-in-out infinite alternate}
.opening-defeat-mark img{width:54px;height:54px;object-fit:contain}
.opening-defeat h2{font-size:27px;color:#ffcfad}.opening-defeat p{max-width:310px;margin:auto;font-size:13px;line-height:1.45}
.opening-rest-count{font-size:13px;color:#efd28c;font-variant-numeric:tabular-nums}
.modal:has(.opening-defeat) .modal-close,.modal:has(.opening-defeat) .app-sheet-handle{display:none}
.opening-victory{display:grid;gap:12px;text-align:center;padding:8px 0}.opening-victory h2{font-size:25px;color:#ffe1a4}.opening-victory p{font-size:13px}
.opening-victory-loot{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid #476052;border-radius:12px;background:#12312c}
.opening-victory-loot>span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:7px;background:#1e3835;color:#ffe2a7}
@keyframes opening-defeat-pulse{to{transform:scale(1.06);box-shadow:0 0 24px #cf7f6066}}
@media(prefers-reduced-motion:reduce){.opening-defeat-mark{animation:none}}
@media(max-width:800px){
 body:has(#app .workspace){--mobile-resource-height:0px}
 .mobile-resources{display:none!important}
 .header-shell .activity-bar{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 8px)!important;bottom:auto!important;left:8px!important;right:8px!important;width:auto!important;z-index:90;border:1px solid #49606a!important;border-radius:12px!important;box-shadow:0 10px 28px #0009!important;animation:task-drop .28s ease-out both}
 #opening-tour-host{left:10px;right:10px;width:auto;top:var(--opening-guide-top,60px)}
 .opening-guide{display:flex;align-items:center;padding:9px 11px;gap:9px}
 .opening-guide-copy p{font-size:11px;margin-top:3px}
 .opening-guide-heading strong{font-size:12px}
 .opening-guide-actions{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;margin:0;gap:3px}
 .opening-guide-actions .primary{flex:none;min-width:108px;min-height:46px!important;padding:8px 12px;font-size:13px;white-space:nowrap}
 .main-content:has(.base-explore){top:0!important}
 #opening-tour-host{top:auto!important;bottom:calc(var(--app-dock-height,0px) + env(safe-area-inset-bottom,0px) + 10px)}
 body.has-opening-tour:has(#modal .modal-backdrop) #opening-tour-host{display:none}
 .objective-target{scroll-margin-top:74px;scroll-margin-bottom:calc(var(--app-dock-height,0px) + 20px)}
}
@keyframes task-drop{from{opacity:0;transform:translateY(-110%)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.header-shell .activity-bar{animation:none!important}}
.adventure-picker{display:grid;gap:14px}.adventure-picker-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.adventure-picker-tabs button{min-width:0;min-height:44px;padding:8px 4px;border-radius:9px;border-color:#3e5965;background:#142833;color:#b9cbd1}.adventure-picker-tabs button.selected{border-color:#dbb963;background:#23352f;color:#ffe6aa}.adventure-picker-list{display:grid;gap:8px;max-height:min(55dvh,450px);overflow:auto;overscroll-behavior:contain}.adventure-destination{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:58px;padding:12px 16px;border:1px solid #3f5a65;border-radius:12px;background:#122732;color:#edf1e8}.adventure-destination strong{font-size:14px}.adventure-destination span{font-size:22px;color:#f4cf79}
.adventure-picker-list>.text-button{justify-self:start;min-height:36px}.adventure-place-title{font-size:16px;color:#f4d48d}.adventure-destination:disabled span{font-size:11px;color:#adbbc0}
/* Progress is a place to visit, never a panel pinned over play. */
.journal-primary-tabs,.journal-collection-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 10px}
.journal-primary-tabs::-webkit-scrollbar,.journal-collection-tabs::-webkit-scrollbar{display:none}
.journal-primary-tabs button,.journal-collection-tabs button{flex:0 0 auto;min-height:44px;padding:8px 15px;border:1px solid #335467;border-radius:12px;background:#102733;color:#b9cbd0;font-weight:700}
.journal-primary-tabs button.selected,.journal-collection-tabs button.selected{border-color:#d4aa57;background:#253b40;color:#ffe2a3}
.journal-collection-tabs{padding-bottom:4px}
.journal-collection-tabs button{min-height:38px;padding:6px 12px;font-size:.82rem}
.tutorial-chapters{max-width:780px;margin:auto;padding:10px 0 28px}
.tutorial-chapters>header{margin-bottom:14px;padding:14px 16px;border-radius:14px;background:linear-gradient(110deg,#1e383c,#0c202b);border:1px solid #527172}
.tutorial-chapters>header h2{margin:5px 0;color:#f7e4b5;font-size:clamp(1.25rem,4vw,1.65rem)}
.tutorial-chapters>header p{margin:0;color:#b9cbd0;line-height:1.4}
.tutorial-chapter{display:flex;align-items:center;gap:12px;min-height:65px;margin:8px 0;padding:10px 13px;border-radius:12px;border:1px solid #34515f;background:#102631;color:#bdd0d3}
.tutorial-chapter.is-current{border-color:#d4aa57;background:#213a3c;color:#fff1cd;box-shadow:0 0 0 1px #d4aa5733}
.tutorial-chapter.is-done{opacity:.75}
.tutorial-chapter-number{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#304a50;color:#f7d687;font-weight:800}
.tutorial-chapter h3{margin:0;font-size:1rem}.tutorial-chapter small{display:block;margin-top:4px;color:#bdd0d3;line-height:1.3}
.tutorial-chapter>div{min-width:0;flex:1}.tutorial-chapter small{white-space:normal;overflow-wrap:anywhere}
.tutorial-chapters>[data-action="tutorial-finish-confirm"]{position:relative;min-height:56px;margin:-4px 0 13px;padding:12px 18px;border:1px solid #b4ffd1;border-radius:12px;background:linear-gradient(110deg,#52dc89,#a2ffbe,#48dca0,#52dc89);background-size:250% 100%;color:#073723;font-size:15px;font-weight:800;box-shadow:0 3px 0 #28704b,0 0 18px #67f3a055,inset 0 1px #e2ffe8;animation:tutorial-finish-glow 3.5s ease-in-out infinite}
.tutorial-chapters>[data-action="tutorial-finish-confirm"]:hover:not(:disabled){border-color:#caffdd;background:linear-gradient(110deg,#78ecaa,#b4ffce,#69e9a7);box-shadow:0 3px 0 #28704b,0 0 25px #67f3a080,inset 0 1px #effff2}
@keyframes tutorial-finish-glow{0%,100%{background-position:0% 50%;box-shadow:0 3px 0 #28704b,0 0 15px #67f3a044,inset 0 1px #e2ffe8}50%{background-position:100% 50%;box-shadow:0 3px 0 #28704b,0 0 0 3px #85f6ad40,0 0 28px #67f3a080,inset 0 1px #e2ffe8}}
@media(prefers-reduced-motion:reduce){.tutorial-chapters>[data-action="tutorial-finish-confirm"]{animation:none}}
.reduce-motion .tutorial-chapters>[data-action="tutorial-finish-confirm"]{animation:none}
.tutorial-current-label{margin-left:auto;color:#ffcf6a;font-size:.7rem;font-weight:800;letter-spacing:.08em}
.journal-homestead{max-width:680px;padding:22px;border:1px solid #34515f;border-radius:15px;background:#102631}
.journal-homestead h2{margin:0 0 5px}.journal-homestead p{margin:0 0 18px;color:#bdd0d3}

/* Quiet tab strips: selection is carried by fill, not outlines around every tab. */
.main-content .skills-tabs,.journal-primary-tabs,.journal-collection-tabs,.adventure-picker-tabs{border:0;background:#172e39;border-radius:999px;padding:4px;gap:2px;box-shadow:none}
.main-content .skills-tabs{display:flex;min-width:0}
.main-content .skills-tabs>.skills-tab,.journal-primary-tabs button,.journal-collection-tabs button,.adventure-picker-tabs button{flex:1 1 0;min-width:0;height:auto;min-height:44px;padding:8px 10px;border:0;border-radius:999px;background:transparent;color:#b5c2bf;box-shadow:none;font-size:clamp(.7rem,2.8vw,.85rem);text-transform:none;letter-spacing:0;white-space:nowrap}
.main-content .skills-tabs>.skills-tab>.pixel-icon{width:19px;height:19px}
.main-content .skills-tabs>.skills-tab>span{text-transform:none;letter-spacing:0;white-space:nowrap;font-size:inherit}
.main-content .skills-tabs>.skills-tab:hover:not(:disabled),.journal-primary-tabs button:hover,.journal-collection-tabs button:hover,.adventure-picker-tabs button:hover{border:0;background:#ffffff12;color:#f4ead5}
.main-content .skills-tabs>.skills-tab.selected,.main-content .skills-tabs>.skills-tab.selected:hover:not(:disabled),.journal-primary-tabs button.selected,.journal-collection-tabs button.selected,.adventure-picker-tabs button.selected{border:0;background:#285061;color:#f3e7c8;box-shadow:none}
.main-content .skills-tabs>.skills-tab.selected:after{display:none}
.journal-collection-tabs{background:transparent;padding:4px 0;margin-top:5px;gap:5px}
.journal-collection-tabs button{flex:0 0 auto;min-height:38px;padding:6px 13px;background:#1c3038}
.adventure-picker-tabs{display:flex}
.gather-controls .filters button:not(.work-search-toggle),.trader-toggles button,.trader-skill-toggles button{border:0;border-radius:999px;background:#233238;color:#b8c8c7;box-shadow:none}
.gather-controls .filters button.selected,.trader-toggles button.selected,.trader-skill-toggles button.selected{border:0;background:#285061;color:#f3e7c8;box-shadow:none}
.main-content .skills-tabs>.skills-tab:focus-visible,.journal-primary-tabs button:focus-visible,.journal-collection-tabs button:focus-visible,.adventure-picker-tabs button:focus-visible,.gather-controls .filters button:focus-visible,.trader-toggles button:focus-visible,.trader-skill-toggles button:focus-visible{outline:2px solid #8ee2c5;outline-offset:2px}
@media(max-width:440px){.main-content .skills-tabs>.skills-tab{flex-direction:row;gap:5px;padding:8px 5px;font-size:.68rem}.main-content .skills-tabs>.skills-tab>.pixel-icon{width:17px;height:17px}.journal-primary-tabs button{padding:8px 5px}.adventure-picker-tabs button{padding:8px 5px}}
.item-discovery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0}
.item-discovery-actions>button,.item-discovery-sheet>button:not(.text-button){display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:10px 13px;border:0;border-radius:10px;background:#1a323d;color:#e5d5ae;font-weight:700;text-align:left}
.item-discovery-actions>button{flex:1 1 145px}.item-discovery-actions button span,.item-discovery-sheet>button span:last-child{font-size:1.15rem}
.item-overflow-menu{position:relative}.item-overflow-menu summary{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;border-radius:10px;background:#1a323d;color:#e5d5ae;cursor:pointer;list-style:none}.item-overflow-menu summary::-webkit-details-marker{display:none}
.item-overflow-menu>div{position:absolute;right:0;top:100%;z-index:2;min-width:120px;padding:6px;border:1px solid #45616a;border-radius:9px;background:#102733;box-shadow:0 12px 25px #0008}
.item-overflow-menu>div button{width:100%;min-height:40px;border:0;background:transparent;color:#edb9a9;text-align:left}

/* Mobile-first first-night layout. */
@media(max-width:800px){
 /* Carry the clearing behind the dock’s rounded top corners. */
 .main-content:has(.base-explore){bottom:calc(var(--app-dock-height,0px) - 20px)!important;inset-block-end:calc(var(--app-dock-height,0px) - 20px)!important}
 body:has(.header-shell .activity-bar) .main-content:has(.skills-tabs),
 body:has(.header-shell .activity-bar) .main-content:has(.storage-view),
 body:has(.header-shell .activity-bar) .main-content:has(.journal-toolbar),
 body:has(.header-shell .activity-bar) .main-content:has(.trader-shop),
 body:has(.header-shell .activity-bar) .main-content:has(.leaderboard-page){padding-top:calc(var(--app-task-height,58px) + 18px)!important}
 #opening-tour-host[hidden]{display:none!important}
 .opening-guide{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 13px!important;padding-right:40px!important;border-color:#698477;background:linear-gradient(115deg,#183b43,#102b37)}
 .opening-guide-copy{padding-right:2px}
 .opening-guide-actions{display:flex;align-items:center;justify-content:center;margin:0!important}
 .opening-guide-actions .primary{min-width:94px;min-height:42px!important}
 .opening-guide>.opening-note-close{position:absolute;right:7px;top:7px;color:#b9d0d3}
 .adventure-launch{position:absolute;z-index:8;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:11px;min-height:62px;padding:10px 14px;border:1px solid #537481;border-radius:13px;background:#102631ed;color:#f3dfb0;text-align:left;box-shadow:0 5px 15px #0008}
 .adventure-launch>span:first-child{font-size:23px;color:#f1c86a}.adventure-launch>span:nth-child(2){display:grid;gap:2px;flex:1}.adventure-launch strong{font-size:15px}.adventure-launch small{color:#afc6ce;font-size:11px}.adventure-launch>span:last-child{font-size:24px}
}
.journal-primary-tabs button:disabled{opacity:.45;cursor:not-allowed}
.tutorial-rewards{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tutorial-rewards strong{width:100%;font-size:11px;color:#efcf8d}.tutorial-rewards span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#173945;color:#e7e5d6;font-size:11px}.tutorial-rewards img{width:24px;height:24px;object-fit:contain}
.sheet-header-back{border:0;background:transparent;color:#f0cf89;font-size:16px;font-weight:700;text-align:left}.adventure-tier-number{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#285061;color:#ffe3a0!important}.adventure-tier strong{flex:1}.adventure-tier strong small{display:block;margin-top:2px;color:#a7bbc5;font-size:11px;font-weight:400}.adventure-unlock-note{padding:7px;color:#a9bec6}.adventure-unread{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:#ee6972}.adventure-picker-tabs button{position:relative}.adventure-event{display:grid;gap:9px;padding:14px;border-radius:13px;background:#17323e}.adventure-event h3{margin:0;color:#f3dfb4}.adventure-event-track{display:grid;gap:4px}.adventure-event-track progress{width:100%;accent-color:#70bea8}.adventure-event-track span{color:#c4d4d4;font-size:12px}
.skill-overview-compact{display:grid;gap:15px;padding:0 4px 30px}.skill-total-card{display:grid;justify-items:center;gap:2px;padding:16px;border-radius:14px;background:#17333e}.skill-total-card small{color:#b6c8c9;letter-spacing:.08em}.skill-total-card strong{font-size:40px;line-height:1;color:#f3e1b6}.skill-total-card span{color:#a9c1c8;font-size:12px}.skill-group h2{margin:0 0 7px;color:#e6cc92;font-size:14px}.skill-group>div{overflow:hidden;border-radius:13px;background:#142b35}.skill-row{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #38535a66;background:transparent;color:#f1eee3;text-align:left}.skill-row:last-child{border-bottom:0}.skill-row-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:8px;background:#25414a}.skill-row-main{display:grid;flex:1;min-width:0;gap:3px}.skill-row-main strong{font-size:13px}.skill-row-main small{color:#aabec5;font-size:10px}.skill-row-main .progress{height:4px}.skill-row-level{display:grid;justify-items:center;color:#e9d5a9}.skill-row-level small{font-size:8px;letter-spacing:.1em}.skill-row-level b{font-size:24px;line-height:1}
.item-discovery-sheet{display:grid;gap:8px;padding:4px 0 18px}.item-discovery-sheet h3{margin:5px 0 9px;color:#ffe1aa}.item-discovery-sheet p{color:#b8c9c9;line-height:1.45}
.item-discovery-sheet>.text-button{justify-self:start;min-height:40px}.item-recipe-needs{display:grid;gap:6px;margin-bottom:10px}.item-recipe-needs span{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;background:#172c36}.item-recipe-needs b{margin-left:auto}
.compact-expedition-report{text-align:center;max-width:540px;margin:auto;padding:8px 6px 16px}
.compact-expedition-report .expedition-result-mark{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 12px;border-radius:50%;background:#315448;box-shadow:0 0 34px #9bd3a93d;animation:result-arrive .35s ease-out}
.compact-expedition-report .expedition-result-mark.failed{background:#483635;box-shadow:0 0 34px #d7807050}
.compact-expedition-report h2{font-size:clamp(1.5rem,6vw,2.1rem);margin:5px 0 15px;color:#f8e6c3}
.compact-expedition-report .expedition-result-facts{display:flex;justify-content:center;gap:8px;margin:0 0 15px}
.compact-expedition-report .expedition-result-facts span{display:grid;min-width:100px;padding:10px 15px;border-radius:10px;background:#1a323b}
.compact-expedition-report .expedition-result-facts b{font-size:1.12rem;color:#f1cc99}.compact-expedition-report .expedition-result-facts small{font-size:.75rem;color:#adc3c7}
.compact-expedition-report .expedition-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.compact-expedition-report .expedition-reward{display:flex;align-items:center;gap:8px;min-height:65px;padding:8px;border:0;border-radius:10px;background:#18313b;color:#f3e7cb;text-align:left}
.compact-expedition-report .expedition-reward .item-art{flex:0 0 48px}.compact-expedition-report .expedition-reward span:last-child{min-width:0}.compact-expedition-report .expedition-reward b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.83rem}.compact-expedition-report .expedition-reward small{display:block;color:#f2c778}
.compact-expedition-report .no-loot{grid-column:1/-1;padding:16px;color:#abc0c4}
.compact-expedition-report .expedition-result-actions{display:grid;gap:9px}.compact-expedition-report .expedition-result-actions>button{min-height:46px}
@keyframes result-arrive{from{opacity:0;transform:translateY(10px) scale(.85)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.compact-expedition-report .expedition-result-mark{animation:none}}
.storage-primary-tabs,.storage-category-tabs{display:flex;align-items:center;gap:3px;min-width:0;margin:0 0 12px;padding:4px;border-radius:999px;background:#172e39}
.storage-primary-tabs button,.storage-category-tabs button{flex:1;min-height:44px;min-width:0;padding:8px 12px;border:0;border-radius:999px;background:transparent;color:#b8c6c4;font-weight:700}
.storage-primary-tabs button.selected,.storage-category-tabs button[aria-pressed=true]{background:#285061;color:#f3e7c8}
.storage-primary-tabs button:last-child{flex:0 0 44px;font-size:1.1rem}.storage-category-tabs{width:max-content;max-width:100%;background:transparent;padding:0;margin-top:-5px}
.storage-category-tabs button{flex:0 0 auto;min-height:38px;background:#1b3038;padding:6px 14px;font-size:.8rem}
.storage-primary-tabs button:focus-visible,.storage-category-tabs button:focus-visible{outline:2px solid #8ee2c5;outline-offset:2px}
.storage-settings-sheet{display:grid;gap:7px;padding:3px 0 18px}.storage-settings-sheet h3{margin:0 0 8px;color:#ffe0a0}
.storage-settings-sheet button{display:flex;justify-content:space-between;min-height:45px;align-items:center;padding:10px 13px;border:0;border-radius:10px;background:#1a323b;color:#d8e2dc;text-align:left}.storage-settings-sheet button[aria-pressed=true]{background:#285061;color:#f3e7c8}
.item-popup-more{display:none}
/* The established forest art stays faint behind page controls. */
.main-content:not(:has(.base-explore)){background-image:linear-gradient(180deg,#0b1c25c9 0,#0b1c25e8 145px,#0b1c25 310px),url('assets/Current/ui/shelter/backgrounds/header-forest.png');background-position:top center;background-size:100% 310px,auto 310px;background-repeat:no-repeat}
.main-content>.section-tabs{border:0;border-radius:999px;background:#172e39;padding:4px;gap:2px;box-shadow:none}
.main-content>.section-tabs .skills-tab{border:0;border-radius:999px;background:transparent;color:#b5cbd0;box-shadow:none}
.main-content>.section-tabs .skills-tab.selected,.main-content>.section-tabs .skills-tab.selected:hover:not(:disabled){border:0;background:#285061;color:#f3e7c8;box-shadow:none}
.main-content>.section-tabs .skills-tab:focus-visible{outline:2px solid #8ee2c5;outline-offset:2px}
@media(max-width:800px){
 body .main-content .skills-tabs[role="tablist"]{border:0!important;border-radius:999px!important;background:#172e39!important;padding:4px!important;gap:2px!important}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab{border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;color:#b5cbd0!important}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab.selected{border:0!important;background:#285061!important;color:#f3e7c8!important;box-shadow:none!important}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab+.skills-tab{border-left:0!important}
 .gather-controls .filters button:not(.work-search-toggle){border:0!important;border-radius:999px!important;background:#223844!important}
 .gather-controls .filters button.selected{background:#285061!important;color:#f3e7c8!important}
}
.food-auto-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0 16px;color:#becfd3;font-size:12px}.food-auto-row>span{flex:1}.food-auto-quiet{flex:0 0 auto;border:0!important;background:#25414b!important;color:#dfd9c9!important;font-size:11px!important}.food-popup-secondary .food-sell-quiet{border:1px solid #3f5964!important;background:transparent!important;color:#b4c5c9!important;box-shadow:none!important}.food-popup-secondary .food-eat-action{flex:1.5}.item-header-menu{margin-left:auto;margin-right:8px}.item-header-menu>div{top:calc(100% + 4px);bottom:auto;z-index:10}.modal-fixed-head.item-close-head{display:flex;align-items:center;gap:8px;padding-bottom:10px!important;padding-right:14px!important}.modal-fixed-head.item-close-head .modal-close{position:static!important;flex:none;margin:0 0 0 auto}.modal-fixed-head.item-close-head .item-header-menu+.modal-close{margin-left:0}.recipe-direct-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.recipe-direct-actions>button{min-width:0}

/* First-night urgency stays within the game's navy palette. */

.sheet-header-navigation{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.sheet-header-navigation h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,5vw,23px)!important}
#modal .modal-fixed-head:has(.sheet-header-navigation){min-height:82px;display:flex;align-items:center;gap:10px}
#modal .modal-fixed-head:has(.sheet-header-navigation) .modal-close{position:static;margin-left:auto;flex:none}
.sheet-header-back{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;min-height:46px;border:1px solid #486774!important;border-radius:13px;background:#203844!important;color:#e7e0ce!important;font:600 29px/1 system-ui,sans-serif!important;text-align:center}
.sheet-header-back:hover{background:#2b4d5a!important}
.adventure-picker{min-height:210px;grid-template-rows:auto auto minmax(0,1fr)}
.adventure-place-banner{min-height:82px;display:flex;align-items:end;padding:12px 14px;border-radius:12px;background-image:linear-gradient(90deg,#0d2734ef,#0d27348a),linear-gradient(0deg,#102a37db,transparent),var(--adventure-image);background-position:center;background-size:cover}
.adventure-place-title{font-size:16px;color:#ffe6b2;text-shadow:0 2px 8px #000}
.quests-locked{display:grid;place-content:center;text-align:center;min-height:220px;padding:25px;border-radius:15px;background:#18323d;color:#f0e4ca}.quests-locked strong{font-size:20px}.quests-locked p{color:#bed0d3}
.opening-tour-finish .opening-reward-list{display:grid;gap:7px;margin:18px 0}.opening-reward-list>span{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;background:#213d47;color:#f2e4c8;opacity:0;animation:reward-enter .4s ease forwards}.opening-reward-list>span:nth-child(2){animation-delay:.25s}.opening-reward-list>span:nth-child(3){animation-delay:.5s}.opening-reward-list>span:nth-child(4){animation-delay:.75s}.opening-reward-list>span:nth-child(5){animation-delay:1s}
@keyframes reward-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.opening-reward-list>span{animation:none;opacity:1}}

@media(max-width:800px){
 .town-scene .town-build-plot.town-facility--barricade .town-build-pin{top:-80%}
 body.has-opening-tour:has(#opening-tour-host:not([hidden]):not(.opening-note-dismissed) #opening-tour[data-step="venture"]) .adventure-launch,
 body.has-opening-tour:has(#opening-tour-host:not([hidden]):not(.opening-note-dismissed) #opening-tour[data-step="comeback"]) .adventure-launch{bottom:calc(var(--opening-guide-height,85px) + 24px)}

 .character-rpg .paper-survivor{left:50%!important;height:min(calc(100% - 74px),660px)!important;bottom:0!important}
 
 .loot-report .compact-expedition-report{height:100%;max-height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden;padding:0!important;margin:0!important}
 .loot-report .compact-expedition-report .expedition-result-mark{flex:0 0 58px;width:58px;height:58px;margin:0 auto 6px}.loot-report .compact-expedition-report .expedition-result-mark svg{width:40px;height:40px}
 .loot-report .compact-expedition-report h2{margin:3px 0 7px;font-size:24px}.loot-report .compact-expedition-report .expedition-result-facts{margin:0 0 9px}.loot-report .compact-expedition-report .expedition-result-facts span{padding:5px 10px}
 .loot-report .expedition-reward-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:3px 2px 9px}
 .loot-report .compact-expedition-report .expedition-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}
 .loot-report .compact-expedition-report .expedition-reward{display:grid;justify-items:center;align-content:center;gap:1px;min-height:82px;padding:5px 2px;text-align:center}
 .loot-report .compact-expedition-report .expedition-reward .item-art{width:34px!important;height:34px!important;flex:none}.loot-report .compact-expedition-report .expedition-reward .item-art img{max-width:34px;max-height:34px}
 .loot-report .compact-expedition-report .expedition-reward b{font-size:10px;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.loot-report .compact-expedition-report .expedition-reward small{font-size:10px}
.loot-report .compact-expedition-report .expedition-result-actions{flex:none;padding-top:9px;background:#10242e}.loot-report .compact-expedition-report .expedition-result-actions>button{min-height:50px}
}

/* Compact mobile guide and reward presentation. */
@media(max-width:800px){
 body:has(#app .workspace){--app-task-height:52px}
 body.has-opening-tour:has(#opening-tour-host:not([hidden]):not(.opening-note-dismissed)) .adventure-launch{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(100dvh - var(--opening-note-top,100dvh) + 10px)!important;z-index:56;min-height:58px}

 .character-rpg .paper-survivor{left:50%!important;height:min(calc(100% - 95px),615px)!important}
 #modal .modal:has(.adventure-picker){height:min(54dvh,460px)!important;min-height:0!important;max-height:min(54dvh,460px)!important}
 #modal .modal:has(.adventure-picker) .modal-scroll-body{flex:1 1 auto;min-height:0;overflow:hidden}
 .adventure-picker{height:100%;min-height:0;grid-template-rows:auto auto minmax(0,1fr)}
 .adventure-picker-list{min-height:0;max-height:none;overflow-y:auto}
 .adventure-tier>span:last-child{font-size:16px}
 .header-shell .activity-bar{top:env(safe-area-inset-top,0px)!important;left:0!important;right:0!important;width:min(100%,560px)!important;max-width:560px!important;margin-inline:auto!important;height:52px!important;min-height:52px!important;padding:5px 9px!important;border:0!important;border-radius:0 0 12px 12px!important;gap:7px!important}
 .header-shell .activity-bar .activity-symbol{width:32px;height:32px;min-width:32px;flex-basis:32px}
 .header-shell .activity-bar>.task-pause{height:36px!important;min-height:36px!important}
 #gather-page .gather-controls .filters button:not(.work-search-toggle){min-height:34px!important;height:34px!important;padding:5px 9px!important}
 .gather-controls .filters .work-search-toggle{min-height:34px!important;height:34px!important;padding:5px 12px!important;border:0!important;border-radius:999px!important;background:#223844!important}
 .trader-shop{border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;padding:0 0 12px!important;margin-inline:-12px!important}
 .trader-shop-heading{border-radius:0!important;margin-bottom:8px!important;min-height:168px!important;padding:15px 16px!important;background-size:cover!important}
 .trader-shop-heading .trader-section-title{font-size:23px!important;line-height:1.05!important;letter-spacing:.04em}
 .trader-shop .trader-offers{gap:8px!important;padding:0 10px!important}
 .trader-shop .trader-offer{padding:8px!important}
 .trader-shop .trader-offer-item{min-height:77px!important;padding:4px 0!important;gap:3px!important}
 .trader-shop .trader-offer-item .item-icon{width:42px!important;height:42px!important}
 .trader-shop .trader-offer-note{min-height:22px!important;margin:5px 0!important}
 .trader-shop .trader-buy{min-height:38px!important}
 .trader-offer:has(.objective-target){outline:2px solid #7aefb7;outline-offset:2px}
 .trader-offer:has(.objective-target) .trader-buy{position:relative;box-shadow:0 0 0 2px #7aefb7}
 .loot-report .compact-expedition-report .expedition-rewards{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .loot-report .compact-expedition-report .expedition-reward{display:grid;grid-template-columns:37px minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;justify-items:stretch;column-gap:7px;min-height:68px;padding:6px 8px;text-align:left}
 .loot-report .compact-expedition-report .expedition-reward .item-art{grid-row:1 / 3;grid-column:1;width:35px!important;height:35px!important;align-self:center}
 .loot-report .compact-expedition-report .expedition-reward .item-art .item-icon,.loot-report .compact-expedition-report .expedition-reward .item-art .pixel-icon{width:35px!important;height:35px!important;max-width:35px!important;max-height:35px!important}
 .loot-report .compact-expedition-report .expedition-reward b{grid-row:1;grid-column:2;font-size:11px;line-height:1.16;white-space:normal;overflow-wrap:anywhere;display:block}
 .loot-report .compact-expedition-report .expedition-reward small{grid-row:2;grid-column:2;justify-self:end;font-size:10px}
 .loot-report .compact-expedition-report .expedition-result-mark{background:#315449!important;box-shadow:none!important}
}
.sheet-header-back{display:grid!important;place-items:center!important;flex:0 0 46px;width:46px;height:46px;padding:0!important;border:0!important;border-radius:13px;background:#20313d!important;color:#e7e0ce!important}

.loadout-item-stock.is-locked{color:#ed8f92!important}
#modal .loadout-picker .loadout-item-footer .loadout-item-action{margin-left:auto}

.opening-quests-unlocked{display:block;margin:8px 0;color:#a9f0d0;font-size:18px;opacity:0;animation:reward-enter .45s ease 1.3s forwards}

@media(prefers-reduced-motion:reduce){.opening-quests-unlocked{animation:none;opacity:1}}

/* Guided expedition and quest polish. */
.opening-guide-heading>span{align-self:center;line-height:1.2;text-align:center;font-variant-numeric:tabular-nums}
body.has-opening-tour:has(#modal .modal-backdrop) #opening-tour-host{display:none}
.adventure-picker .adventure-destination:not(.adventure-tier){position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#102936 20%,#102936b8 61%,#10293635),var(--adventure-image),#102936;background-position:center,right center;background-size:cover}
.adventure-picker .adventure-destination:not(.adventure-tier)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#122b39 12%,#122b39c8 48%,#122b3938)}
.adventure-tier{background:linear-gradient(95deg,#193b44,#18313b 70%,#284454)!important;border-color:#537d75!important}
.adventure-tier[data-tier="2"]{background:linear-gradient(95deg,#253a48,#23333f 70%,#304453)!important;border-color:#6286a2!important}
.adventure-tier[data-tier="3"]{background:linear-gradient(95deg,#393449,#25313c 70%,#4d3c59)!important;border-color:#a185b1!important}
.adventure-tier>span:last-child{font-size:15px;font-weight:700;white-space:nowrap}
.adventure-tier-number{background:linear-gradient(140deg,#316c71,#22505d)}
.compact-expedition-report .expedition-result-facts .expedition-damage{min-width:148px;padding:12px 20px;border:1px solid #b36a66;background:linear-gradient(145deg,#4a252e,#233039)}
.compact-expedition-report .expedition-result-facts .expedition-damage b{font-size:1.38rem;color:#ff999a}
.expedition-reward:disabled{pointer-events:none;cursor:default}
.quest-journey{display:grid;gap:20px;max-width:740px;margin:auto}.quest-journey-header{padding:12px 4px 2px}.quest-journey-header h2{margin:6px 0;color:#f4ddae;font-family:Georgia,serif;font-size:clamp(28px,5vw,36px)}.quest-journey-header p{margin:0;color:#b6c9ca}
.quest-roadmap{border:0;border-radius:18px;background:#142d38;padding:16px}.quest-roadmap>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.quest-roadmap h2{margin:0;font-size:19px;color:#f4e3c1}.quest-roadmap header span{color:#a9c4c3;font-size:12px}
.quest-roadmap-list{display:grid;gap:8px}.quest-roadmap-row{display:flex;align-items:center;gap:12px;min-height:58px;border:1px solid #36545b;border-radius:12px;background:#19333d;padding:8px 11px}.quest-roadmap-row.is-current{border-color:#8ab99c;background:linear-gradient(110deg,#214540,#19333d)}.quest-roadmap-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:#285365;color:#f9db91;font-weight:800}.quest-roadmap-row.is-ready .quest-roadmap-mark{color:#83e0b0}.quest-roadmap-row strong{flex:1;min-width:0;color:#f3ead5}.quest-roadmap-row .small{min-height:36px;padding:7px 11px}.quest-roadmap-lock{color:#8ba3a6}.quest-more-button{margin-top:12px}
.daily-streak-dialog{text-align:center;display:grid;gap:13px}.daily-streak-flame{display:grid;place-items:center;width:72px;height:72px;margin:auto;border:2px solid #d9ab58;border-radius:50%;background:#3b3426;color:#ffcb6c;font-size:38px;animation:streak-pop .5s ease both}.daily-streak-dialog h2{margin:0;color:#fbd1a0;font-family:Georgia,serif;font-size:37px}.daily-streak-dialog p{margin:0;color:#d1dcda}.daily-streak-track,.daily-streak-bonus{padding:13px;border-radius:12px;background:#203437;text-align:left}.daily-streak-track>strong{font-size:11px;letter-spacing:.13em;color:#f5dab1}.daily-streak-track>div{display:flex;justify-content:space-between;gap:5px;margin:14px 0}.daily-streak-track>div span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid #4d6465;color:#b3c3c1;font-size:12px}.daily-streak-track>div span.kept{border-color:#76c59d;background:#31564a;color:#d9f7df}.daily-streak-track small,.daily-streak-bonus small{display:block;color:#b4c4c2}.daily-streak-bonus{display:grid;grid-template-columns:1fr auto;gap:4px}.daily-streak-bonus b{color:#ffce69}.daily-streak-bonus small{grid-column:1/-1}@keyframes streak-pop{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
@media(max-width:800px){
 #modal .modal-backdrop.daily-streak-backdrop{align-items:center;padding:16px}
 #modal .modal.daily-streak-sheet{width:min(480px,100%);max-width:480px;max-height:calc(100dvh - 32px);margin:auto;padding:28px 18px 18px;border:0;border-radius:22px;box-shadow:0 22px 60px #0008;overflow-y:auto}
}
@media(max-width:800px){
 #modal .modal:has(.adventure-picker){height:min(67dvh,590px)!important;max-height:min(67dvh,590px)!important}
 .adventure-picker .adventure-destination{min-height:62px}
 .quest-journey{gap:12px}.quest-roadmap{padding:13px}
}
@media(prefers-reduced-motion:reduce){.daily-streak-flame{animation:none}}

/* First-night follow-up polish. */
.adventure-picker{grid-template-rows:auto minmax(0,1fr)}
.adventure-picker.is-tier-list{gap:8px}
.adventure-picker.is-tier-list .adventure-picker-list{align-content:start;gap:7px}
.adventure-picker .adventure-tier{min-height:58px;padding:8px 13px}
.adventure-picker .adventure-tier[data-tier="1"]{background:linear-gradient(105deg,#215048,#17343c 72%);border-color:#498977}
.adventure-picker .adventure-tier[data-tier="2"]{background:linear-gradient(105deg,#304d64,#183340 72%);border-color:#60829a}
.adventure-picker .adventure-tier[data-tier="3"]{background:linear-gradient(105deg,#493f62,#21313f 72%);border-color:#77678e}
.adventure-picker .adventure-tier-number{width:32px;height:32px;font-size:16px}
.adventure-picker .adventure-tier:disabled{opacity:.64}
.adventure-picker .adventure-tier[data-tier="2"] .adventure-tier-number{background:linear-gradient(145deg,#537995,#3b536a)}
.adventure-picker .adventure-tier[data-tier="3"] .adventure-tier-number{background:linear-gradient(145deg,#795f86,#513e67)}
.quest-current{display:grid;gap:10px;padding:16px;border:1px solid #7eae93;border-radius:18px;background:linear-gradient(120deg,#21443e,#142d38 72%)}
.quest-current>.eyebrow{color:#b8e2c5}
.quest-current-row{display:flex;align-items:center;gap:12px}
.quest-current-row>strong{flex:1;min-width:0;color:#f6e5bb;font-size:18px}
.quest-current-row>.small{min-height:36px;white-space:nowrap}
.tutorial-complete-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0 4px;padding:16px;border:0;border-radius:14px;background:linear-gradient(100deg,#21483f,#17323b);color:#d6f3df;text-transform:uppercase;letter-spacing:.12em}
.tutorial-complete-footer>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#448c6b;color:#fff}
.trader-storage-link{padding:18px 16px 26px}.trader-storage-link>button{width:100%}
@media(max-width:800px){
 #modal .modal:has(.adventure-picker.is-tier-list){height:min(52dvh,420px)!important;max-height:min(52dvh,420px)!important}
 .adventure-picker .adventure-tier{min-height:58px}
 .base-explore .scene-topline{transition:top .35s ease}
 body:has(.header-shell .activity-bar) .base-explore .scene-topline{top:calc(var(--app-task-height,58px) + 22px)!important}
 body .main-content .skills-tabs[role="tablist"]>.skills-tab{height:36px!important;min-height:36px!important;padding:5px 8px!important}
 #gather-page .gather-controls .filters button:not(.work-search-toggle),#craft-page .filters button{height:30px!important;min-height:30px!important;padding:4px 8px!important}
 .skill-overview-compact{padding-top:14px}
}
@media(prefers-reduced-motion:reduce){.base-explore .scene-topline{transition:none}}

/* Compact onboarding panels and the daily reward reveal. */
.quest-journey{width:100%;max-width:none}
.quest-current-copy{display:grid;gap:5px;flex:1;min-width:0}
.quest-current-copy strong{color:#f5e7c5;font-size:17px}
.quest-current-copy p{margin:0;color:#bbd0d1;font-size:12px;line-height:1.4}
.quest-current-copy small{color:#f0cc7c;font-size:11px}
.quest-roadmap{padding:0!important;border:0!important;background:transparent!important}
.quest-roadmap-list{gap:7px}
.quest-roadmap-row{min-height:49px}
.quest-more-note{text-align:center;color:#9fbcc1;font-size:12px;margin:12px 0 0}
.daily-streak-flame{width:86px;height:86px;border:0;background:transparent;box-shadow:none}
.daily-streak-flame img{display:block;width:100%;height:100%;object-fit:contain}
.daily-streak-track,.daily-streak-bonus{background:#1a3744;border:0}
.daily-streak-track>div span.is-mystery{width:46px;height:46px;margin-top:-7px;border:0;background:#254654;overflow:visible}
.daily-streak-track>div span.is-mystery img{display:block;width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 3px 5px #0008)}
.quest-current{padding:19px;background:linear-gradient(125deg,#244b48,#152e3d 72%);box-shadow:0 12px 28px #07192366}
.quest-current-art{width:68px;height:68px;object-fit:contain;flex:none;filter:drop-shadow(0 4px 8px #0008)}
.quest-current-copy strong{font-size:20px}
.quest-current-copy .quest-current-reward{display:flex;align-items:center;gap:8px;color:#f6ce72}
.quest-current-reward .item-icon{flex:none}
.quest-current-reward,.quest-roadmap-rewards{flex-wrap:wrap;gap:8px 14px}
.quest-current-reward>span,.quest-roadmap-rewards>span{display:inline-flex;align-items:center;gap:5px}
.quest-roadmap-row{display:block;padding:0;overflow:hidden}
.quest-roadmap-row summary{display:flex;align-items:center;gap:12px;min-height:49px;padding:8px 11px;cursor:pointer;list-style:none}
.quest-roadmap-row summary::-webkit-details-marker{display:none}
.quest-roadmap-detail{padding:0 14px 14px 57px;color:#b8ced0}
.quest-roadmap-detail p{margin:4px 0 7px;color:#f2e9d6}
.quest-roadmap-detail small{display:block;line-height:1.4}
.quest-roadmap-rewards{display:flex;margin:12px 0;color:#f6ce72}
.quest-roadmap-row.is-ready{border-color:#77cfa9}
.weekly-prize{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border-radius:12px;background:#132d3a;color:#ffdc89;text-align:left}
.weekly-prize .item-icon{flex:none}
.weekly-prize span{display:grid;gap:3px}
.weekly-prize small{color:#bdd0d0}
.quest-direction-toggle{justify-self:start;border:1px solid #668c84;border-radius:8px;background:#25494b;color:#cfe9db;font-size:11px;font-weight:700;padding:7px 11px;cursor:default;opacity:.85}
.main-content:has(.skills-tabs) .skills-tabs{margin-top:8px}
.main-content:has(.skills-tabs) .skills-tab{justify-content:center!important;gap:0!important;font-weight:700!important}
.main-content:has(.skills-tabs) .skills-tab svg,.main-content:has(.skills-tabs) .skills-tab img{display:none!important}
.main-content:has(.skills-tabs) .skills-tabs[role="tablist"]>.skills-tab{height:42px!important;min-height:42px!important;font-size:clamp(.7rem,2.8vw,.85rem)!important}
.gather-controls .filters button:not(.work-search-toggle){border:0!important;border-radius:999px!important;background:#223844!important;color:#bed0d0!important;box-shadow:none!important}
.gather-controls .filters button.selected{background:#285061!important;color:#f3e7c8!important}
.work-search-art{display:inline-block;vertical-align:middle;object-fit:contain;margin-right:5px}
@keyframes defence-mark{from{opacity:0;transform:scale(.35) rotate(-25deg)}65%{opacity:1;transform:scale(1.2) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.opening-reward-list>span{min-height:58px;padding:10px 16px;gap:16px;animation:reward-enter .45s cubic-bezier(.18,.8,.2,1) forwards}
.opening-reward-list>span>img,.opening-reward-list>span>.item-icon{width:38px;height:38px;flex:none;object-fit:contain}
.opening-reward-list>span>b{flex:1;text-align:left}
.opening-reward-list>span>em{font-style:normal;font-weight:800;color:#ffd16d}
#modal .tutorial-complete-popup{width:min(440px,100%)!important;height:auto!important;max-height:min(78dvh,680px)!important;border-radius:20px!important;background:var(--game-popup-bg,#122e3b)!important}
#modal .tutorial-complete-popup .modal-scroll-body{min-height:0;overflow:auto}
#modal .tutorial-complete-popup h2{font-size:26px;text-shadow:none}
#modal .tutorial-complete-popup .opening-reward-list>span{min-height:46px;padding:8px 10px;animation:none;opacity:1}
body.has-opening-tour #modal .modal,body.has-opening-tour .scene-panel{animation:none!important}
.opening-tour-finish h2{font-size:clamp(32px,8vw,56px);color:#ffe4a2;text-shadow:0 4px 16px #0009}
.tutorial-complete-celebration{position:relative;isolation:isolate}
.tutorial-complete-confetti{position:absolute;top:-20px;left:0;width:100%;height:148px;z-index:-1;pointer-events:none;overflow:hidden}
.tutorial-complete-confetti i{position:absolute;top:54px;left:50%;width:5px;height:9px;border-radius:2px;background:#ffd477;opacity:0;animation:tutorial-confetti-burst 1.55s cubic-bezier(.18,.7,.24,1) both}
.tutorial-complete-confetti i:nth-child(3n){background:#89dfbd;width:4px;height:7px}
.tutorial-complete-confetti i:nth-child(4n){background:#ffa987;width:6px;height:5px}
.tutorial-complete-confetti i:nth-child(1){--dx:-134px;--dy:-42px;--rot:-130deg;animation-delay:.04s}
.tutorial-complete-confetti i:nth-child(2){--dx:-96px;--dy:-66px;--rot:110deg;animation-delay:.1s}
.tutorial-complete-confetti i:nth-child(3){--dx:-58px;--dy:-30px;--rot:-90deg;animation-delay:.02s}
.tutorial-complete-confetti i:nth-child(4){--dx:-26px;--dy:-76px;--rot:160deg;animation-delay:.08s}
.tutorial-complete-confetti i:nth-child(5){--dx:26px;--dy:-68px;--rot:-120deg;animation-delay:.13s}
.tutorial-complete-confetti i:nth-child(6){--dx:64px;--dy:-37px;--rot:95deg;animation-delay:.06s}
.tutorial-complete-confetti i:nth-child(7){--dx:110px;--dy:-60px;--rot:-150deg;animation-delay:.11s}
.tutorial-complete-confetti i:nth-child(8){--dx:139px;--dy:-18px;--rot:105deg;animation-delay:.02s}
.tutorial-complete-confetti i:nth-child(9){--dx:-124px;--dy:34px;--rot:115deg;animation-delay:.12s}
.tutorial-complete-confetti i:nth-child(10){--dx:-81px;--dy:53px;--rot:-95deg;animation-delay:.05s}
.tutorial-complete-confetti i:nth-child(11){--dx:86px;--dy:48px;--rot:135deg;animation-delay:.09s}
.tutorial-complete-confetti i:nth-child(12){--dx:128px;--dy:25px;--rot:-110deg;animation-delay:.14s}
@keyframes tutorial-confetti-burst{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.4)}14%{opacity:.85}65%{opacity:.75}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.8)}}
@media(prefers-reduced-motion:reduce){.tutorial-complete-confetti{display:none}}
body.reduce-motion .tutorial-complete-confetti{display:none}
body.reduce-motion .opening-reward-list>span,body.reduce-motion .opening-quests-unlocked{animation:none;opacity:1}
.opening-quests-unlocked{display:block;margin-top:22px;font-size:22px;color:#9ce6bd;animation:reward-enter .6s 1.2s both}
.craft-controls .filters button:not(.work-search-toggle){border:0!important;border-radius:999px!important;background:#223844!important;color:#bed0d0!important;box-shadow:none!important}
.craft-controls .filters button.selected{background:#285061!important;color:#f3e7c8!important}
.craft-controls .work-search-toggle{border-radius:999px!important}
#craft-page .craft-quantity-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%}
#craft-page .craft-quantity-buttons>button{width:100%!important;min-width:0!important;min-height:44px!important;padding:8px 5px!important;font-size:11px!important}
#modal .loadout-picker .loadout-item{grid-template-columns:62px minmax(0,1fr) auto;grid-template-rows:auto;gap:9px;padding:10px}
#modal .loadout-picker .loadout-item-art{width:62px;height:66px}
#modal .loadout-picker .loadout-item-art>svg{width:60px;height:60px}
#modal .loadout-picker .loadout-item-footer{grid-column:3;grid-row:1;border:0;padding:0;justify-content:flex-end}
#modal .modal .loadout-picker button.loadout-item-action{min-width:76px;max-width:none;min-height:40px;padding:7px 9px}
@media(max-width:800px){
 #modal .modal:has(.adventure-picker){height:min(50dvh,430px)!important;max-height:min(50dvh,430px)!important}
 #modal .modal:has(.adventure-picker.is-tier-list){height:min(45dvh,390px)!important;max-height:min(45dvh,390px)!important}
 .adventure-picker .adventure-destination,.adventure-picker .adventure-tier{min-height:49px;padding:7px 11px}
 .character-rpg .survivor-scene{height:calc(100dvh - var(--app-dock-height,0px) - 8px)!important}

 body:has(.survivor-stage):not(.has-opening-tour) .adventure-launch{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(var(--app-dock-height,0px) + 12px)!important;z-index:55}
 .quest-journey,.quest-current{width:100%;max-width:none}
 .quest-current-row{gap:8px}
 .quest-current-row>.small{padding:7px 9px;min-width:72px}
 #modal .loadout-picker .loadout-item{grid-template-columns:54px minmax(0,1fr) 76px;gap:7px}
 #modal .loadout-picker .loadout-item-art{width:54px;height:58px}
 #modal .loadout-picker .loadout-item-art>svg{width:52px;height:52px}
 #modal .loadout-picker .loadout-item-name>b{font-size:12px}
 #modal .loadout-picker .loadout-item-effect{font-size:11px;margin-top:4px}
 #gather-page .gather-controls .filters button:not(.work-search-toggle),#craft-page .filters button{height:29px!important;min-height:29px!important;padding:3px 8px!important}
}

/* Activity cards keep the primary action visible without a full-width footer. */
#craft-page .craft-card{min-height:116px;grid-template-columns:66px minmax(0,1fr) 106px;gap:10px;padding:11px 12px}
#craft-page .craft-actions{grid-column:3;align-self:center;gap:5px}
#craft-page .craft-actions .craft-meta{font-size:8px;padding:3px 2px}
#craft-page .craft-quantity-buttons{display:grid;grid-template-columns:1fr!important;gap:5px;width:100%}
#craft-page .craft-quantity-buttons>button{min-height:35px!important;width:100%!important;padding:5px 7px!important;font-size:10px!important}
#gather-page .gather-card-body{min-height:116px;padding:10px 12px 10px 106px;grid-template-columns:minmax(0,1fr) 100px;gap:9px}
#gather-page .gather-art{width:116px}
#gather-page .gather-actions{align-self:end;justify-self:end;width:100%;gap:5px}
#gather-page .gather-actions>button{min-height:35px!important;padding:5px 7px!important;font-size:10px}
#gather-page .gather-meta{font-size:8px;padding:3px 2px}
@media(max-width:800px){
 #craft-page .craft-card{grid-template-columns:52px minmax(0,1fr) 91px;gap:7px;padding:10px}
 #craft-page .craft-actions{grid-column:3;grid-row:1;display:flex;width:91px;align-self:end;gap:5px}
 #craft-page .craft-actions .craft-meta{display:block;text-align:right;padding:0;border:0;background:none}
 #craft-page .craft-quantity-buttons{grid-column:auto;grid-template-columns:1fr!important;padding-left:0!important}
 #craft-page .craft-quantity-buttons>button{min-height:34px!important;font-size:9px!important}
 #craft-page .craft-actions .craft-gate,#craft-page .craft-actions .craft-running{grid-column:auto}
 #craft-page .craft-emblem{width:52px}
 #craft-page .craft-item-art>.item-icon{width:48px!important;height:48px!important}
 #gather-page .gather-card-body{min-height:116px;padding:9px 9px 9px 85px;grid-template-columns:minmax(0,1fr) 78px;gap:5px}
 #gather-page .gather-art{width:92px}
 #gather-page .gather-actions,#gather-page .gather-card.is-current .gather-actions{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-self:end;width:78px;gap:5px}
 #gather-page .gather-actions>button{min-width:0;width:100%;min-height:34px!important;padding:5px!important}
 #gather-page .gather-meta{display:block;text-align:right;padding:0}
 #gather-page .gather-actions>.objective-target{margin-left:0;width:100%}
 .quest-current-art{width:48px;height:48px}
 .quest-current-copy strong{font-size:16px}
 .quest-current{padding:13px}
}

/* Compact work cards and matching skill filters on small screens. */
#gather-page .gather-card{min-height:118px}
#gather-page .gather-card-body{min-height:104px;padding:7px 10px 7px 119px;grid-template-columns:minmax(0,1fr) 88px;gap:7px}
#gather-page .gather-card.is-recommended .gather-card-body{padding-top:25px}
#gather-page .gather-art{width:108px}
#gather-page .gather-copy{min-width:0}
#gather-page .gather-copy p{margin:3px 0;font-size:11px;line-height:1.25}
#gather-page .gather-actions{width:88px}
#gather-page .gather-actions>button{min-height:32px!important}
#gather-page .gather-meta{font-size:8px}
/* Both work tabs share the rounded blue skill filters shown in Crafting. */
#gather-page .gather-controls .filters>button,#craft-page .craft-controls .filters>button{box-sizing:border-box!important;height:28px!important;min-height:28px!important;max-height:28px!important;gap:4px!important;padding:3px 7px!important;border:0!important;border-radius:999px!important;background:#223844!important;color:#bed0d0!important;box-shadow:none!important;font-size:9px!important;line-height:1.1!important;white-space:nowrap}
#gather-page .gather-controls .filters>button.selected,#craft-page .craft-controls .filters>button.selected{background:#285061!important;color:#f3e7c8!important}
#gather-page .gather-controls .filters button .pixel-icon,#craft-page .filters button .pixel-icon{width:16px!important;height:16px!important}
#gather-page .gather-controls .filters>button.work-search-toggle,#craft-page .craft-controls .filters>button.work-search-toggle{border:1px solid #426677!important;background:#132d39!important}
#gather-page .gather-controls .filters .work-search-toggle .work-search-art,#craft-page .craft-controls .filters .work-search-toggle .work-search-art{width:16px!important;height:16px!important;margin-right:0!important}
.main-content:has(.skills-tabs) .skills-tabs{margin-top:0}
.craft-preview-progress{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;margin:15px 0;padding:12px;border-radius:12px;background:#18343e;color:#d6e8e3;font-size:12px}
.craft-preview-progress progress{grid-column:1/-1;width:100%;height:8px;accent-color:#e9bd58}
.craft-preview-progress b{font-variant-numeric:tabular-nums;color:#f2cf83}
.quest-current{min-height:176px;padding:20px 20px 17px}
.quest-current-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quest-current-header .quest-direction-toggle{justify-self:auto;white-space:nowrap}
.quest-current-actions{display:flex;justify-content:flex-end;margin-top:4px}
.quest-current-actions>.primary{min-width:123px;min-height:42px;padding:9px 18px}
.recovery-wait{display:grid;gap:16px;text-align:center;justify-items:center;padding:12px 6px}
.recovery-wait h2,.recovery-wait p{margin:0}
.recovery-wait-meter{width:min(100%,360px);height:10px;border-radius:999px;background:#193943;overflow:hidden}
.recovery-wait-meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#6fc8ab,#b0eed2);animation:recovery-pulse 1.2s ease-in-out infinite alternate}
.modal:has(.recovery-wait-meter)>.modal-close,.modal:has(.recovery-wait-meter)>.app-sheet-handle{display:none}
.quest-current-actions .quest-egg-wait{display:grid;grid-template-columns:auto minmax(48px,1fr);align-items:center;gap:3px 8px;flex:1;max-width:280px;margin-right:10px;color:#d8e9e0;font-size:11px}
.quest-egg-wait progress{width:100%;height:7px;accent-color:#8dddb3}
.quest-egg-wait small{grid-column:1/-1;color:#a9c5c2}
.quest-current-actions button:disabled{opacity:.65;cursor:default}
@keyframes recovery-pulse{from{opacity:.45}to{opacity:1}}
.storage-view .storage-controls{display:flex;align-items:start;gap:8px;flex-wrap:wrap}
.storage-view .storage-controls .storage-check-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1 1 auto;width:auto;min-width:0;gap:6px}
.storage-view .storage-controls .filter-drawer summary{min-height:40px;padding:7px 8px;border-radius:11px}
.storage-search-toggle{display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:7px 9px;border:1px solid #496776;border-radius:11px;background:#193540;color:#d5e4e1;font-weight:700;font-size:11px;white-space:nowrap}
.storage-search-toggle[aria-expanded=true]{border-color:#9ddfc9;background:#275364}
.storage-search-toggle img,.storage-search img{object-fit:contain;image-rendering:pixelated}
.storage-view .storage-search{flex:1 1 100%;min-height:42px}
.storage-view .storage-search input{padding:8px 0}
.storage-view .inventory-item>.durability{position:absolute;bottom:0;left:0;right:0;width:100%;height:5px;margin:0;padding:0}
.storage-view .inventory-item>.durability>[role=progressbar]{height:5px;border-radius:0}
.durability-good [role=progressbar] i{background:#6bc995!important}
.durability-worn [role=progressbar] i{background:#e5c55e!important}
.durability-low [role=progressbar] i{background:#e69a51!important}
.durability-broken [role=progressbar]{background:#9c454d!important}
.durability-broken [role=progressbar] i{background:#e9787e!important}
.healing-hearts{position:fixed;z-index:3000;pointer-events:none;color:#eb868b;font-size:23px;filter:drop-shadow(0 2px 4px #1b0d19)}
.healing-hearts span{position:absolute;left:0;top:0;animation:heart-rise 1.35s ease-out forwards}
.healing-hearts span:nth-child(2){--heart-x:-33px;animation-delay:.12s}
.healing-hearts span:nth-child(3){--heart-x:30px;animation-delay:.2s}
.healing-hearts span:nth-child(4){--heart-x:8px;animation-delay:.33s}
@keyframes heart-rise{0%{opacity:0;transform:translate(0,4px) scale(.55)}15%{opacity:1}100%{opacity:0;transform:translate(var(--heart-x,0px),-66px) scale(1.15)}}
.health-meter.just-healed .progress i{transition:width .85s ease-out;filter:brightness(1.35);box-shadow:0 0 13px #ec8b91}
@media(max-width:800px){
 #gather-page .gather-card-body{min-height:102px;padding:6px 8px 6px 103px;grid-template-columns:minmax(0,1fr) 76px;gap:6px}
 #gather-page .gather-card.is-recommended .gather-card-body{padding-top:23px}
 #gather-page .gather-art{width:95px}
 #gather-page .gather-actions,#gather-page .gather-card.is-current .gather-actions{width:76px}
 #gather-page .gather-actions>button{min-height:31px!important}
 #gather-page .gather-copy .work-item-title{font-size:12px;line-height:1.2}
 #gather-page .gather-copy p{font-size:10px;line-height:1.2}
 .quest-current{min-height:162px;padding:14px}
 .quest-current-actions>.primary{min-width:110px;min-height:39px}
 .storage-view .storage-controls .storage-check-filters{flex:1 1 0;width:auto}
 .storage-view .storage-controls .filter-drawer summary{min-height:39px;flex-direction:row;gap:3px;font-size:10px}
 .storage-view .storage-controls .filter-drawer summary span{display:none}
 .storage-search-toggle{min-height:39px;padding:6px 8px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.healing-hearts span{animation:none}.health-meter.just-healed .progress i{transition:none}}


.adventure-event--first-watch{position:relative;overflow:hidden;gap:14px;padding:18px;border:1px solid #8e704c;border-radius:16px;background:radial-gradient(circle at 91% 6%,#e6ae4e31,transparent 42%),linear-gradient(145deg,#233e43,#102731 72%);box-shadow:inset 0 1px #ffe2a333,0 9px 20px #06151c50}
.adventure-event--first-watch::before{content:"";position:absolute;top:0;right:0;width:150px;height:150px;border-radius:50%;background:#f1bd5540;filter:blur(42px);pointer-events:none}
.adventure-event-top,.adventure-event-hero,.adventure-event-prize,.adventure-event-actions{display:flex;align-items:center;gap:12px}
.adventure-event-top{justify-content:space-between;flex-wrap:wrap}.adventure-event-top .eyebrow{color:#f7c76e;font-size:9px;letter-spacing:1.4px}.adventure-event-top>strong{padding:5px 8px;border-radius:999px;background:#365a54;color:#aaf0ca;font:700 9px/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:.6px}
.adventure-event-hero{position:relative;min-width:0;align-items:flex-start}.adventure-event-hero>.trophy-art{flex:none;filter:drop-shadow(0 0 13px #f5bd6490);animation:keeper-trophy-breathe 4s ease-in-out infinite}.adventure-event-hero>div{min-width:0}.adventure-event-hero h3{font:700 clamp(17px,4.7vw,23px)/1.2 Georgia,serif;color:#ffe6ae}.adventure-event-hero p{margin-top:6px;font-size:11px;line-height:1.5;color:#c7d7d6}
.adventure-event-prize{position:relative;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;border-radius:10px;background:#071c24a8}.adventure-event-prize>span{display:inline-flex;align-items:center;gap:7px;color:#f8deb0;font-size:11px;font-weight:700}.adventure-event-prize .trophy-art{flex:none}.adventure-event-prize .pixel-icon{flex:none}
.adventure-event-track{gap:11px}.adventure-event-step>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px}.adventure-event-step span{font-size:11px;color:#d1e0db}.adventure-event-step b{font-size:12px;color:#ffe1a2;font-variant-numeric:tabular-nums}.adventure-event-step b small{font-size:10px;color:#a5c1bf}.adventure-event-step progress{display:block;width:100%;height:8px;overflow:hidden;border:0;border-radius:999px;accent-color:#80d4b0;background:#09202a}.adventure-event-step progress::-webkit-progress-bar{background:#09202a;border-radius:999px}.adventure-event-step progress::-webkit-progress-value{background:linear-gradient(90deg,#408f79,#8de5ba);border-radius:999px}.adventure-event-step progress::-moz-progress-bar{background:#80d4b0;border-radius:999px}
.adventure-event-note{color:#a8c3c3;font-size:10px}.adventure-event--first-watch>button.primary{min-height:43px}.adventure-event-owned{color:#a8e9bc;font-weight:700}.adventure-event-actions{flex-wrap:wrap}.adventure-event-actions>span{flex-basis:100%;font-size:10px;color:#acc5c5}.adventure-event-actions button{flex:1;min-width:110px;min-height:37px;border-color:#537583;background:#1b3d49;color:#e5e9dc}
.adventure-event--announcement{border:1px solid #416371;background:linear-gradient(135deg,#1b3c49,#102832)}.adventure-event--announcement p{font-size:11px;line-height:1.5}.adventure-event--announcement>strong{color:#9ce5b6}
@keyframes keeper-trophy-breathe{50%{filter:drop-shadow(0 0 21px #f8c36aaa)}}
body.reduce-motion .adventure-event-hero>.trophy-art{animation:none}
@media(prefers-reduced-motion:reduce){.adventure-event-hero>.trophy-art{animation:none}}
@media(max-width:390px){.adventure-event--first-watch{padding:14px;gap:11px}.adventure-event-hero>.trophy-art{width:60px!important;height:60px!important}.adventure-event-prize{gap:6px}.adventure-event-prize>span{font-size:10px}}
@media(max-width:800px){#modal .modal:has(.adventure-picker.is-event-list){height:min(76dvh,640px)!important;max-height:min(76dvh,640px)!important}}

/* Quest reward cues and compact Collections. */
.quest-reward-bounce>:is(.pixel-icon,img){animation:quest-double-hop 3.2s ease-in-out infinite;transform-origin:center bottom}
@keyframes quest-double-hop{0%,9%,22%,34%,100%{transform:translateY(0)}15%,27%{transform:translateY(-7px)}18%,30%{transform:translateY(-2px)}}
.journal-collection-tabs{margin-bottom:18px!important}
.journal-collection-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.journal-tab-label{display:inline-block;position:relative}
.collections-primary-tabs button{position:relative}
.trophy-claim-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:#65d99a;box-shadow:0 0 0 2px #0d2933,0 0 9px #72e9a7a6;pointer-events:none}
.trophy-room-grid .trophy-tier-track,.trophy-room-grid .achievement-card>.progress,.trophy-room-grid .achievement-card>.progress+small{display:none}
.trophy-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trophy-room-grid .achievement-card{padding:11px;border-radius:12px;gap:3px}
.trophy-room-grid .achievement-title{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0!important;margin-bottom:2px;text-align:center}
.trophy-room-grid .achievement-title>.trophy-art{width:60px!important;height:62px!important}
.trophy-room-grid .achievement-title>.trophy-art img{width:58px;height:60px}
.trophy-room-grid .achievement-title h3{font-size:11px;line-height:1.25;margin:0 0 4px}
.trophy-room-grid .achievement-card>p{font-size:10px;line-height:1.35;min-height:0;margin:4px 0!important}
.trophy-room-grid .achievement-reward{min-height:0!important;padding-top:6px!important;margin-top:7px!important}
.build-material-help{margin-top:15px;padding:0;border:1px solid #385965;border-radius:12px;background:#102b35}
.build-material-help>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:40px;padding:10px 13px;font-size:12px;font-weight:700;color:#d7e7e4}
.build-material-help>summary span{font-size:10px;color:#ffcf76}
.build-material-list{padding:0 12px 12px}
.build-material-row{grid-template-columns:22px minmax(0,1fr);margin-top:8px;padding-top:8px;border-top:1px solid #ffffff16}
.build-material-sources{gap:6px;padding-left:30px}
.build-material-sources button{min-height:31px;padding:5px 8px;font-size:10px}
#achievement-notice{left:50%!important;right:auto!important;top:43%!important;bottom:auto!important;width:min(390px,calc(100vw - 28px))!important;animation:achievement-center-in .36s ease-out both!important}
#achievement-notice.leaving{animation:achievement-center-out .22s ease-in both!important}
@keyframes achievement-center-in{from{opacity:0;transform:translate(-50%,-40%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes achievement-center-out{to{opacity:0;transform:translate(-50%,-60%) scale(.96)}}
@media(max-width:800px){body:has(.survivor-stage):has(.header-shell .activity-bar) .mobile-player-name{top:calc(env(safe-area-inset-top,0px) + var(--mobile-resource-height,46px) + 66px)!important;transition:top .3s ease}}
@media(prefers-reduced-motion:reduce){.quest-reward-bounce>:is(.pixel-icon,img),#achievement-notice,#achievement-notice.leaving{animation:none!important}}
body.reduce-motion .quest-reward-bounce>:is(.pixel-icon,img),body.reduce-motion #achievement-notice{animation:none!important}


@media(max-width:800px){
 .character-rpg .survivor-stage .dossier-header,
 .character-rpg .survivor-stage .character-displays,
 .character-rpg .survivor-stage .character-skills-button{transition:top .32s cubic-bezier(.2,.8,.2,1)}
 body:has(.survivor-stage):has(.header-shell .activity-bar) .character-rpg .survivor-stage .dossier-header{position:fixed;top:calc(var(--queue-clearance,66px) - 9px)!important}
 body:has(.survivor-stage):has(.header-shell .activity-bar) .character-rpg .survivor-stage .character-skills-button{top:134px!important}
 .character-rpg .paper-survivor{height:min(calc(100% - 155px),565px)!important;bottom:82px!important}
 .adventure-launch .adventure-launch-art{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px}
 .adventure-launch .adventure-launch-art img{display:block;width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 5px #0008)}
}
@media(max-width:800px) and (max-height:740px){

 body:has(.survivor-stage):has(.header-shell .activity-bar) .character-rpg .survivor-stage .character-skills-button{top:118px!important}
 .character-rpg .paper-survivor{height:min(calc(100% - 150px),520px)!important;bottom:80px!important}
}
@media(prefers-reduced-motion:reduce){.character-rpg .survivor-stage .dossier-header,.character-rpg .survivor-stage .character-displays,.character-rpg .survivor-stage .character-skills-button{transition:none!important}}
body.reduce-motion .character-rpg .survivor-stage .dossier-header,body.reduce-motion .character-rpg .survivor-stage .character-displays,body.reduce-motion .character-rpg .survivor-stage .character-skills-button{transition:none!important}

.radio-room-summary{display:flex;align-items:center;gap:11px;margin:16px 0 10px;padding:12px 14px;border-radius:11px;background:#173440}
.radio-room-summary>div{display:grid;gap:2px}
.radio-room-summary strong{color:#dff2e7;font-size:14px}
.radio-room-summary small{color:#acc4ca;font-size:11px}
.radio-room-light{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:#79d6a7;box-shadow:0 0 11px #79d6a766}
.radio-room-light.is-offline{background:#dc806f;box-shadow:0 0 11px #dc806f66}
.radio-room-watch{min-height:42px;margin-bottom:8px}
@media(max-width:800px){
 #craft-page .craft-materials>div{align-content:start;row-gap:2px;column-gap:8px}
 #craft-page .craft-materials .craft-material{min-height:28px;line-height:1.25}
 #craft-page .craft-materials .craft-material-link{min-height:30px;padding:2px 3px}
}

/* Crafting surfaces show available recipes first, then gently flag missing inputs. */
#craft-page .craft-card.craft-needs-materials:not(.is-recommended){border-color:#805c6177;background:linear-gradient(110deg,#172731,#211f29)}
#craft-page .craft-card.craft-needs-materials:not(.is-recommended):hover{border-color:#a8737777}
.journal-collection-tabs{justify-content:center}
.report-unread-dot{display:inline-block;flex:none;width:8px;height:8px;margin-left:5px;border-radius:50%;background:#f47170;box-shadow:0 0 0 3px #f471702b,0 0 9px #f471706b}
.adventure-material-hint{display:inline-flex!important;align-items:center;vertical-align:middle;gap:4px;margin:0;color:#9ce1bd!important;font-size:10px!important;font-weight:700!important}
.adventure-material-hint .item-icon{flex:none;width:16px;height:16px}
.adventure-quest-hint{display:inline-flex!important;align-items:center;justify-content:center;flex:none;width:auto;padding:3px 6px;border-radius:6px;background:#5a4326;color:#ffdb83!important;font-size:10px!important;font-weight:800!important;letter-spacing:.04em;line-height:1!important;text-transform:uppercase}
@media(max-width:600px){
 #craft-page .craft-controls .filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%}
 #craft-page .craft-controls .filters>button{width:100%;min-width:0;min-height:30px!important;max-height:30px!important;height:30px!important;padding:3px 2px!important;gap:2px!important;font-size:8px!important}
 #craft-page .craft-controls .filters>button .pixel-icon{width:12px!important;height:12px!important;flex:none}
 #craft-page .craft-controls .filters>button.work-search-toggle{padding:2px!important}
 #craft-page .craft-controls .filters>button.work-search-toggle .work-search-art{width:19px!important;height:19px!important}
}


/* Secondary actions are quieter, while earned levels remain visible on phones. */
.more-logout-area{display:flex;justify-content:center;padding:30px 16px 42px}
.more-logout-area .more-logout{display:inline-block;width:auto;padding:6px 12px;border:0;background:none;box-shadow:none;color:#f2ca70;font-size:13px;font-weight:700;text-decoration:none;text-align:center}
.more-logout-area .more-logout:hover,.more-logout-area .more-logout:focus-visible{text-decoration:underline;text-underline-offset:4px}
.facility-sheet .costs>.missing-material,.repair-controls .costs>.missing-material{padding:6px 8px;margin:0;border:1px solid #b96f6266;border-radius:8px;background:#692f342e;color:#ffc0a9;min-height:38px}
.facility-sheet .costs>.missing-material::after,.repair-controls .costs>.missing-material::after{content:'›';margin-left:4px;font-size:16px;color:#ffce7c}
.facility-sheet .costs>.missing-material:hover,.repair-controls .costs>.missing-material:hover{background:#8c424344}
.facility-sheet .build-material-help{border:0;background:#173440}
.facility-sheet .build-material-row{border-top:0;padding-top:8px}
.facility-sheet .build-material-row[data-material-id="coins"]{grid-template-columns:22px minmax(0,1fr) auto}
.facility-sheet .build-material-row[data-material-id="coins"] .build-material-sources{grid-column:3;grid-row:1;justify-self:end;padding-left:0}
.facility-sheet .build-material-row[data-material-id="coins"] .build-material-sources button{min-height:34px;padding:7px 11px;border:0;border-radius:9px;background:#284a58;box-shadow:none;color:#e4edf0}
.facility-sheet .costs>.missing-material,.facility-sheet .costs>.missing-material:hover,.repair-controls .costs>.missing-material,.repair-controls .costs>.missing-material:hover{border:0}
#modal .item-popup .smelt-item-detail>button{border:0;box-shadow:none}
.quest-roadmap-row,.quest-roadmap-row.is-ready,.quest-roadmap-row.is-current{border:0}
.quest-roadmap-row:not(.is-ready) .quest-roadmap-lock{font-size:0;width:18px;height:18px;display:grid;place-items:center}
.quest-roadmap-row:not(.is-ready) .quest-roadmap-lock::after{content:'';display:block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #e9ca85;transition:transform .2s ease}
.quest-roadmap-row[open]:not(.is-ready) .quest-roadmap-lock::after{transform:rotate(180deg)}
.adventure-launch,.character-rpg .survivor-stage .adventure-launch,.character-rpg .survivor-stage .adventure-launch:hover{border:0}
.adventure-launch .adventure-launch-arrow,.character-rpg .survivor-stage .adventure-launch .adventure-launch-arrow{display:grid;place-items:center;align-self:center;flex:none;width:28px;height:32px;margin-left:auto}
.adventure-launch-arrow svg{display:block;width:22px;height:22px;fill:#f2cf74}
#modal .modal:has(.item-popup) .modal-fixed-head.item-close-head{padding-top:13px!important;padding-bottom:15px!important;min-height:54px}
@media(max-width:800px){
 body:has(.header-shell .activity-bar) .main-content:has(>.app-page-heading):has(>.news-page,>.highscores-page){top:calc(env(safe-area-inset-top,0px) + 60px)!important;transition:top .3s ease}
 #toast.skill-level-toast{display:block!important;position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 74px);bottom:auto;width:max-content;max-width:calc(100vw - 32px);transform:translateX(-50%);z-index:120;padding:12px 19px;border:1px solid #e6bf6b;border-radius:13px;background:linear-gradient(110deg,#173c49,#275c60);box-shadow:0 15px 35px #0009;color:#ffe5a6;text-align:center;font-weight:800;animation:skill-level-arrive .35s ease both}
}
@keyframes skill-level-arrive{from{opacity:0;translate:0 -16px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){#toast.skill-level-toast{animation:none}}
.daily-streak-dialog>*{animation:daily-reveal .38s ease both}
.daily-streak-dialog>*:nth-child(2){animation-delay:.15s}.daily-streak-dialog>*:nth-child(3){animation-delay:.28s}.daily-streak-dialog>*:nth-child(4){animation-delay:.38s}.daily-streak-dialog>*:nth-child(5){animation-delay:.48s}.daily-streak-dialog>*:nth-child(6){animation-delay:.64s}.daily-streak-dialog>*:nth-child(7){animation-delay:.74s}
.daily-streak-dialog .daily-streak-track .kept{animation:streak-check .45s cubic-bezier(.18,1.7,.35,1) .7s both}
@keyframes daily-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes streak-check{from{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.daily-streak-dialog>*,.daily-streak-dialog .daily-streak-track .kept{animation:none}}
/* Skills work navigation: one shared filter, unchanged ordinary task cards. */
.work-navigation{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin:6px 0 8px}
.work-navigation .work-search-toggle{margin-right:auto;width:36px;height:36px;min-height:36px;padding:8px;border:0;border-radius:999px;background:#203943}
.work-skill-select{display:flex;align-items:center;gap:5px;max-width:62%;padding:0 10px;margin:0;border-radius:999px;background:#203943;font-size:11px;color:#a8c4cd;min-height:36px}
.work-skill-select select{appearance:none;min-width:0;width:auto;max-width:140px;margin:0;padding:7px 0;border:0;background:transparent;color:#f5e5bf;font:600 11px/1.4 inherit;box-shadow:none}
.work-skill-select option{background:#152d38;color:#edf2ec}
.work-navigation .work-overview-link{min-height:36px;padding:7px 10px;border:0;border-radius:999px;background:#203943;color:#e7dbba;font-size:11px;white-space:nowrap}
.work-navigation .work-search-panel{width:100%;margin-top:5px}
.work-section-title{font-size:13px;color:#aac7cf;margin:24px 2px 10px;letter-spacing:1px}
#skills-content .activity-card.is-recommended{border:1px solid #af924e!important;background:linear-gradient(115deg,#244751,#122d39 80%)!important;box-shadow:inset 3px 0 #edc562;overflow:hidden!important}
#skills-content .is-recommended .recommendation-banner{position:static!important;display:block;width:max-content;max-width:100%;margin:0 0 9px;padding:0;border:0;border-radius:0;background:none;color:#f5cd73;font-size:9px;letter-spacing:1.3px;box-shadow:none}
#skills-content .is-recommended .recommendation-reason{display:block;font-size:11px;line-height:1.4;color:#b5cfd1;margin:6px 0}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily){padding:14px!important}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-card-body{padding:0!important;min-height:98px;grid-template-columns:minmax(0,1fr) 82px;gap:10px}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-copy{padding-right:5px}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-art{left:auto;right:0;width:145px;opacity:.24;mask-image:linear-gradient(90deg,transparent,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000)}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-meta{position:static!important;display:flex;flex-direction:column;align-items:flex-end;margin:0 0 8px}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .work-item-title{font-size:17px}
#skills-content #gather-page .gather-card.is-daily{border:1px solid #68cf9c!important;background:linear-gradient(115deg,#1d4745,#102e36 80%)!important;box-shadow:inset 3px 0 #75e1aa;overflow:hidden!important}
#skills-content #gather-page .gather-card.is-daily .daily-quest-banner{position:static!important;display:block;width:max-content;max-width:55%;margin:0 0 20px;padding:0;border:0;border-radius:0;background:none;color:#88e8b3;font-size:8px;letter-spacing:1.3px;box-shadow:none;transform:none}
#skills-content #craft-page .craft-card.is-recommended{padding-top:35px!important}
#skills-content #craft-page .craft-card.is-recommended .recommendation-banner{position:absolute!important;top:12px;left:14px}
#skills-content #craft-page .craft-card.is-recommended .craft-meta{top:12px!important}
#toast.skill-level-toast.visible{display:block!important;position:fixed;left:50%;top:auto!important;bottom:calc(var(--mobile-dock-height,98px) + 12px);width:max-content;max-width:calc(100vw - 32px);z-index:19;transform:translateX(-50%);padding:13px 20px;background:linear-gradient(110deg,#173c49,#275c60);border:1px solid #d0b265;border-radius:14px;color:#ffe5a6;text-align:center;cursor:pointer;animation:level-notice-rise .3s ease-out both}
#toast.skill-level-toast.visible.leaving{animation:level-notice-lower .25s ease-in both}
@keyframes level-notice-rise{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes level-notice-lower{to{opacity:0;translate:0 8px}}
@media(min-width:801px){#toast.skill-level-toast.visible{bottom:24px}}
@media(prefers-reduced-motion:reduce){#toast.skill-level-toast.visible,#toast.skill-level-toast.visible.leaving{animation:none}}
.reduce-motion #toast.skill-level-toast{animation:none!important}
.work-skill-select .choice-trigger{width:auto;min-width:0;min-height:34px;padding:4px 0;border:0;background:transparent;box-shadow:none;font-size:11px;font-weight:600;color:#f5e5bf;white-space:nowrap}
.work-skill-select:has(.choice-trigger)>span:last-child{display:none}
.work-navigation button.work-skill-select{border:0;box-shadow:none;letter-spacing:0;min-width:0;max-width:60%;font-size:11px;font-weight:400}
.work-skill-select strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f5e5bf;font-size:11px}
#modal .work-filter-modal{width:min(420px,calc(100% - 24px));border-radius:18px;max-height:calc(100dvh - 32px)}
#modal .work-filter-modal .modal-fixed-head{padding:16px 16px 8px;border:0;gap:8px}
#modal .work-filter-modal .modal-fixed-head h2{margin:0;font-size:19px}
#modal .work-filter-modal .modal-close{position:static;flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;margin:0 -4px 0 0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#afc6cf;font-size:27px;line-height:1}
#modal .work-filter-modal .modal-close:hover{background:#284753;color:#fff}
#modal .work-filter-modal .modal-scroll-body{padding:0 16px 16px}
.work-skill-options{display:grid;gap:4px}
#modal .work-skill-option{display:flex;align-items:center;gap:9px;min-height:48px;width:100%;padding:9px 0;border:0;border-radius:8px;background:transparent;box-shadow:none;text-align:left;color:#e8eff0}
#modal .work-skill-option:hover{background:#20394370}
.work-filter-icon{display:flex;align-items:center;justify-content:center;flex:0 0 28px}
.work-filter-copy{display:flex;align-items:baseline;flex:1;flex-wrap:wrap;column-gap:7px;row-gap:2px;min-width:0;line-height:1.35}
.work-filter-copy strong{font-size:12px;font-weight:650}
.work-filter-copy small{font-size:10px;font-weight:400;color:#9bb5bf}
.work-filter-copy small::before{content:'|';margin-right:7px;color:#4e6c79}
.work-skill-switch{flex:0 0 32px;height:19px;border-radius:999px;background:#344d59;position:relative;transition:background .16s}
.work-skill-switch::after{content:'';position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#acc0c9;transition:transform .16s,background .16s}
[aria-checked="true"]>.work-skill-switch{background:#427c78}
[aria-checked="true"]>.work-skill-switch::after{transform:translateX(13px);background:#b1f1d3}
[aria-checked="true"]>.work-filter-copy strong{color:#f5de9d}
#modal .work-filter-done{display:block;width:100%;min-height:42px;margin-top:13px}
@media(prefers-reduced-motion:reduce){.work-skill-switch,.work-skill-switch::after{transition:none}}
#toast.skill-level-toast.visible{z-index:59;bottom:calc(var(--app-dock-height,0px) + 12px)}
@media(min-width:801px){#toast.skill-level-toast.visible{bottom:24px}}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-card-body{height:auto!important}
#toast.skill-level-toast.visible{pointer-events:auto}

/* Keep level notices above the mobile dock and centered on every screen. */
#toast.skill-level-toast.visible{z-index:1000!important;transition:none!important;bottom:calc(var(--level-notice-clearance,var(--activity-bottom-clearance,0px)) + 18px)!important}
#modal .loadout-picker .picker-unoccupied{display:flex;align-items:center;gap:12px;padding:11px 12px;margin:4px 0 12px;border-radius:12px;background:#17303a;color:#bcd5d5}
#modal .loadout-picker .picker-unoccupied svg{flex:none;color:#d2b96f}
#modal .loadout-picker .picker-unoccupied span{display:grid;gap:2px}
#modal .loadout-picker .picker-unoccupied b{font-size:13px;color:#e3e9de}
#modal .loadout-picker .picker-unoccupied small{font-size:11px;color:#a9bec2}


.character-stats-sheet .armour-summary{display:block;background:linear-gradient(145deg,#17343e,#102630);border:0;border-radius:16px;box-shadow:0 12px 30px #0003}
.character-stats-sheet .armour-contributions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.character-stats-sheet .armour-contributions>div{min-width:0;padding:12px;border:0;border-radius:11px;background:#25465375}
.character-stats-sheet .armour-contributions dt{font-size:10px;color:#a9c4c7}
.character-stats-sheet .armour-contributions dd{font-size:18px;color:#f4d28b;overflow-wrap:anywhere}
.character-stats-sheet .character-set-bonus{border:0;margin:15px 0 0;padding:0}
.character-set-bonus h3{display:flex;align-items:center;gap:8px;color:#f3d287!important;font-size:14px!important}
.character-set-bonus .armour-set-row{display:grid!important;gap:8px;padding:11px!important;margin:8px 0 0;border-radius:11px;background:#18343e}
.armour-set-row header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.armour-set-row header b{font-size:11px;color:#f3d287}
.armour-set-pips{display:flex;gap:5px}
.armour-set-pips i{height:5px;flex:1;border-radius:99px;background:#45606a}
.armour-set-pips i.filled{background:#dfbd67;box-shadow:0 0 8px #dfbd6744}
.armour-set-perks{display:grid;gap:4px}
.armour-set-perks span{font-size:10px;color:#9db0b5}
.armour-set-perks span.earned{color:#a9e4ba}


/* Material destinations stay on the same baseline; tier hints sit beside the action. */
.adventure-destination:not(.adventure-tier)>strong{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.adventure-tier>.adventure-material-hint{flex:0 1 auto;max-width:100px;line-height:1.25;text-align:left}
.adventure-tier>.adventure-material-hint .item-icon{flex-shrink:0}
.adventure-picker .adventure-tier{gap:8px}
.adventure-tier strong{min-width:0}
@media(max-width:360px){.adventure-picker .adventure-tier{gap:5px;padding-inline:8px}.adventure-tier>.adventure-material-hint{max-width:76px;font-size:9px!important}.adventure-tier>span:last-child{font-size:12px}}

/* Consistent mobile spacing across every More page, based on the real task bar. */
@media(max-width:800px){
 body:has(#app .workspace) .main-content:is([data-page="highscores"],[data-page="news"],[data-page="support"],[data-page="feedback"],[data-page="settings"],[data-page="shelter-pass"],[data-page="admin"]){top:env(safe-area-inset-top,0px)!important;padding:calc(var(--queue-clearance,0px) + 14px) 12px calc(var(--app-dock-height,0px) + 24px)!important;transition:padding-top .3s ease}
 body:has(#app .workspace):has(.header-shell .activity-bar) .main-content:is([data-page="highscores"],[data-page="news"],[data-page="support"],[data-page="feedback"],[data-page="settings"],[data-page="shelter-pass"],[data-page="admin"]){top:env(safe-area-inset-top,0px)!important;padding:calc(var(--queue-clearance,60px) + 14px) 12px calc(var(--app-dock-height,0px) + 24px)!important}
}
button,a,summary,[role="button"],.profile-link{-webkit-tap-highlight-color:transparent}
.storage-controls{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap;margin:14px 0}
.storage-check-filters{display:flex!important;flex:1;gap:6px;min-width:0}
.storage-filter-select,.storage-clear-filters,.storage-controls .storage-search-toggle{min-height:36px!important;border:0!important;border-radius:20px!important;background:#203b46!important;padding:8px 10px!important;color:#d6e6e7;font-size:11px;white-space:nowrap}
.storage-filter-select{flex:1}.storage-filter-select b{font-weight:600}
.storage-controls .storage-search-toggle{display:grid;place-items:center;flex:0 0 36px;width:36px;padding:8px!important}
.storage-controls .storage-search{flex:0 0 100%;width:100%;margin-top:4px}
.storage-view{touch-action:pan-y}.storage-view .inventory-item{touch-action:pan-y}


.inventory-tier{font-weight:500!important;letter-spacing:.04em;color:#c7d3d4!important}
.breakfast-progress{flex:1;line-height:1.5;color:#abd9c6;font-size:11px}
@media(prefers-reduced-motion:reduce){.main-content[data-page]{transition:none!important}}
/* Optical inventory sizing: compare visible artwork, not transparent canvas padding. */
.storage-view .inventory-item:not([data-id="coins"])>.item-icon{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:78%!important;height:78%!important;max-width:54px;max-height:54px;flex-shrink:0;margin:0}
.storage-view .inventory-item[data-id="coins"]>.item-icon{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:64%!important;height:64%!important;max-width:44px;max-height:44px;margin:0;flex-shrink:0}
.storage-view .inventory-item:has(.inventory-tier){padding-top:10px}
.storage-view .inventory-item>.inventory-tier{top:3px;right:4px;font-size:7px;font-weight:500;line-height:1.1}

@media(max-width:800px){.storage-view .inventory-item:not([data-id="coins"])>.item-icon{max-width:42px;max-height:42px}}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-art{opacity:.36}

/* Small upgrade label stays beside the recipe name, wrapping on narrow cards. */
#craft-page .craft-copy h3.work-item-title{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px}
#craft-page .craft-upgrade-badge{display:inline-flex;align-items:center;flex:none;padding:3px 8px;border:1px solid #4c9975;border-radius:10px;background:#214e3e;color:#c3efd7;font:500 10px/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:0;white-space:nowrap}
/* Ingredients wrap as whole items with compact, consistently aligned rows. */
#craft-page .craft-materials>div{display:flex;flex-wrap:wrap;align-items:center;align-content:start;gap:0 8px}
#craft-page .craft-materials .craft-material{min-height:22px;margin:0;padding:1px 3px;line-height:1.25;border:1px solid transparent;white-space:nowrap}
#craft-page .craft-materials .craft-material>span:first-of-type{min-width:0}
/* Four ingredients stay in two even rows on narrow craft cards. */
#craft-page .craft-materials>div:has(> :nth-child(4):last-child){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2px 6px}
#craft-page .craft-materials>div:has(> :nth-child(4):last-child) .craft-material{width:100%;min-width:0;white-space:normal}
@media(max-width:360px){
 #craft-page .craft-card:has(.craft-materials>div> :nth-child(4):last-child){grid-template-columns:52px minmax(0,1fr)}
 #craft-page .craft-card:has(.craft-materials>div> :nth-child(4):last-child) .craft-copy{grid-column:2;grid-row:1}
 #craft-page .craft-card:has(.craft-materials>div> :nth-child(4):last-child) .craft-actions{grid-column:1/-1;grid-row:2;width:100%;justify-self:stretch;align-items:flex-end}
 #craft-page .craft-card:has(.craft-materials>div> :nth-child(4):last-child) .craft-unavailable{width:91px;margin-left:auto}
}
.mobile-character-actions .character-shortcut>button{position:relative;border:0;box-shadow:0 3px 10px #0003}


@media(max-width:600px){#craft-page .craft-upgrade-badge{padding:2px 6px;font-size:9px}}

/* Keep result art inside its badge and give the damage figure room to breathe. */
.compact-expedition-report .expedition-result-mark img{display:block;width:70%;height:70%;object-fit:contain}
.compact-expedition-report.single-victory>.eyebrow{display:block;margin:5px 0 20px;color:#f3d992;font-size:clamp(18px,4.8vw,25px);font-weight:800;letter-spacing:.12em;line-height:1.18}
.compact-expedition-report .expedition-result-facts .expedition-damage{display:grid;justify-items:center;gap:5px;min-width:150px;padding:13px 22px;margin:0 auto 19px}
.compact-expedition-report .expedition-result-facts .expedition-damage b{line-height:1.1}
.compact-expedition-report .expedition-result-facts .expedition-damage small{line-height:1.3}
.first-discovery-cache-art{display:block;flex:none;width:46px;height:46px;object-fit:contain;align-self:center}
@media(max-width:800px){.loot-report .compact-expedition-report .expedition-result-mark{flex-basis:68px;width:68px;height:68px;margin-bottom:9px}.loot-report .compact-expedition-report.single-victory>.eyebrow{margin:5px 0 18px}.loot-report .compact-expedition-report .expedition-result-facts .expedition-damage{padding:11px 18px;margin-bottom:15px}}

/* During Base guidance the arrow floats over the dock; the adventure card stays visible above it. */
@media(max-width:800px){
 body.has-opening-tour:has(#opening-tour:not([data-step="venture"]):not([data-step="comeback"])) .adventure-launch{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(var(--app-dock-height,0px) + 12px)!important;z-index:56}
 body.has-opening-tour:has(#opening-tour-host:not([hidden]):not(.opening-note-dismissed) #opening-tour:not([data-step="venture"]):not([data-step="comeback"])) .adventure-launch{bottom:calc(var(--app-dock-height,0px) + var(--opening-guide-height,85px) + 20px)!important}
}

.main-content[data-page="storage"]{touch-action:pan-y}
/* Clean, shared filter controls and compact storage sheets. */
.storage-filter-select,.work-skill-select{display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1.2}
.storage-filter-select b,.work-skill-select strong{color:#f6d680;font-weight:650}
.filter-chevron{display:inline-block;flex:0 0 6px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin:0 2px 0 3px}
#modal .storage-filter-modal .work-skill-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}
#modal .storage-filter-modal .work-skill-option{display:flex;gap:5px;min-width:0;min-height:48px;padding:7px 3px}
#modal .storage-filter-modal .work-filter-icon{width:22px;flex:0 0 22px}
#modal .storage-filter-modal .work-filter-icon .pixel-icon{width:22px;height:22px}
#modal .storage-filter-modal .work-filter-copy{min-width:0;flex:1}
#modal .storage-filter-modal .work-filter-copy strong{font-size:11px;overflow-wrap:anywhere}
#modal .storage-filter-modal .work-skill-switch{flex:0 0 25px;width:25px;height:15px}
#modal .storage-filter-modal .work-skill-switch:after{width:11px;height:11px;top:2px;left:2px}
#modal .storage-filter-modal [aria-checked=true] .work-skill-switch:after{transform:translateX(10px)}
/* Time and XP remain distinct at phone sizes. */
#skills-content .craft-meta,#skills-content .gather-meta{gap:10px!important;background:none!important;border:0!important;box-shadow:none!important}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-meta{position:absolute!important;right:13px;top:13px;display:flex;flex-direction:row;align-items:center;margin:0;font-size:10px;background:none!important}
#skills-content #gather-page .gather-card.is-recommended .recommendation-banner{margin-bottom:20px;font-size:8px;max-width:55%}
#skills-content .work-level-footer{border:0!important;background:transparent!important;padding:16px 8px!important}
.building-card.damaged .facility-badge{background:#783c40!important;color:#ffe2d8!important;border:0!important;border-radius:9px;padding:8px 11px;box-shadow:none}
.building-card.damaged .facility-badge strong,.building-card.damaged .facility-badge small{color:inherit!important}
.task-pause-actions{display:flex!important;flex-wrap:wrap;justify-content:center!important;align-items:center;gap:10px}
.queue-now{position:relative;padding-right:54px}.queue-now>.queue-remove{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:0;background:#314653;color:#d5e3e8;border-radius:50%}
.activity-bar .task-pause{border:0!important;box-shadow:none!important;background:#203b49!important;border-radius:12px;color:#e4e9d7}
.activity-bar .task-pause{color:#ffd46a;background:#35484a!important}
#toast.skill-level-toast,#toast.skill-level-toast.visible{left:50%!important;right:auto!important;margin:0!important;transform:translateX(-50%)!important;box-sizing:border-box;min-width:0;width:max-content!important;max-width:calc(100vw - 28px)!important}
.quest-current{border:0!important;box-shadow:none!important}
#level-celebration .celebration-continue{display:inline-flex;align-items:center;justify-content:center;min-height:48px;width:min(100%,320px);padding:12px 24px;border:0;border-radius:12px;background:linear-gradient(#ffdb70,#ffc13d);color:#302a18;font:700 16px/1.2 system-ui;box-shadow:0 3px 0 #987830}
#account-refresh-notice .refresh-actions{display:flex;flex-direction:column;gap:12px;width:100%}
#account-refresh-notice [data-resync-logout]{background:#24424e;color:#ffe29c;border:0}
@media(max-width:350px){#modal .storage-filter-modal .work-filter-copy strong{font-size:10px}.storage-filter-select,.work-skill-select{gap:3px}}

#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-card-body,#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-actions{position:static!important}
#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-copy,#skills-content #gather-page .gather-card:is(.is-recommended,.is-daily) .gather-actions>button{position:relative;z-index:1}

/* Reward and collection detail polish. */
.trophy-room-grid .achievement-card>p,.trophy-room-grid .achievement-card>small{text-align:center}
.trophy-room-grid .trophy-details-button{width:100%;padding:0;border:0;background:transparent;box-shadow:none;color:inherit}
.trophy-room-grid .trophy-details-button:hover{background:transparent;border:0}
.trophy-details-hero{text-align:center;display:grid;justify-items:center;gap:8px}
.trophy-details-hero h2{margin:0}.trophy-details-hero small{color:#b5cccf}
.trophy-details-actions{margin-top:14px}

/* Clear result heading and a cache receipt that unlocks after the loot. */
.compact-expedition-report>.eyebrow{font:800 clamp(19px,5.8vw,26px)/1.2 system-ui,sans-serif;letter-spacing:.045em;color:#ffe2a0;margin:12px 0 20px;text-align:center}
.victory-receipt{position:relative;animation:cache-unlock .65s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--cache-delay,1000ms);padding-bottom:38px!important}
.victory-receipt>.cache-claimed{position:absolute;right:15px;bottom:12px;display:flex!important;align-items:center;gap:7px;white-space:nowrap;color:#9ee6bb;font-size:10px;font-weight:750;letter-spacing:.05em;animation:cache-check .4s ease both;animation-delay:calc(var(--cache-delay,1000ms) + 450ms)}
.cache-claimed i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#397e584d;font-style:normal;font-size:15px}
@keyframes cache-unlock{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes cache-check{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
.trophy-room-grid .achievement-title>.trophy-art{display:grid!important;flex:none;overflow:visible}
.trophy-room-grid .achievement-title>.trophy-art>.trophy-model-art{display:block!important;min-width:58px;min-height:60px;opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){.victory-receipt,.cache-claimed{animation:none}}
.reduce-motion .victory-receipt,.reduce-motion .cache-claimed{animation:none}
.trophy-details-tiers{list-style:none;margin:20px 0;padding:0;display:grid;gap:8px}
.trophy-details-tiers li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#19323d;color:#abc2ca}
.trophy-details-tiers li>span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#294654}
.trophy-details-tiers li.earned{color:#e8f0ef;background:#285161}.trophy-details-tiers li.earned>span{color:#163541;background:#ffd166}
.trophy-details-tiers small{display:block;margin-top:3px;font-size:11px}
.daily-streak-dialog .daily-streak-bonus{position:relative;overflow:hidden;grid-template-columns:1fr;justify-items:center;text-align:center;padding:17px;background:linear-gradient(135deg,#3f4126,#243e3d 65%);animation:xp-boost-arrive .65s cubic-bezier(.2,1.35,.4,1) .85s both}
.daily-streak-dialog .daily-streak-bonus>strong{font-size:11px;letter-spacing:.12em;color:#ffe0a0}
.daily-streak-dialog .daily-streak-bonus>b{font-size:38px;line-height:1.1;color:#ffda78;text-shadow:0 0 20px #ffcb6655}
.daily-streak-dialog .daily-streak-bonus:after{content:'';position:absolute;inset:-60%;pointer-events:none;background:linear-gradient(110deg,transparent 43%,#fff3c440 50%,transparent 57%);animation:xp-boost-shine .85s ease 1.1s both}
@keyframes xp-boost-arrive{from{opacity:0;transform:translateY(14px) scale(.87)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes xp-boost-shine{from{transform:translateX(-65%)}to{transform:translateX(65%)}}
@media(prefers-reduced-motion:reduce){.daily-streak-dialog .daily-streak-bonus,.daily-streak-dialog .daily-streak-bonus:after{animation:none}.daily-streak-dialog .daily-streak-bonus:after{display:none}}
.reduce-motion .daily-streak-dialog .daily-streak-bonus,.reduce-motion .daily-streak-dialog .daily-streak-bonus:after{animation:none}
.reduce-motion .daily-streak-dialog .daily-streak-bonus:after{display:none}
.quest-journey .quest-current{min-height:0;gap:16px;border:0!important;background:linear-gradient(125deg,#244b48,#152e3d 72%);box-shadow:0 8px 20px #07192340!important}
.quest-journey .quest-current-header .eyebrow{margin:0}
.quest-journey .quest-current-row{align-items:flex-start;gap:12px}
.quest-journey .quest-current-art{width:42px;height:42px}
.quest-journey .quest-current-copy{gap:6px}
.quest-journey .quest-current-copy strong{font-size:18px;line-height:1.3}
.quest-journey .quest-current-copy p{font-size:12px;line-height:1.55}
.quest-reward-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}
.quest-journey .quest-current-reward,.quest-journey .quest-roadmap-rewards{display:flex;flex:1;min-width:0;align-items:center;flex-wrap:wrap;gap:5px 12px;font-size:10px;line-height:1.4;color:#d9c181}
.quest-journey .quest-reward-item{display:inline-flex;flex:0 1 auto;align-items:center;max-width:100%;gap:5px}
.quest-journey .quest-reward-item>.item-icon{flex:none;width:16px!important;height:16px!important}
.quest-xp-star{display:inline-grid;place-items:center;flex:none;width:16px;color:#e4c374}
.quest-journey .quest-current-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin:0;min-width:0;width:100%;max-width:100%}
.quest-journey .quest-current-actions>.primary{min-width:104px;max-width:100%;min-height:40px;padding:9px 12px;font-size:12px;white-space:normal}
.quest-journey .quest-current-actions .quest-egg-wait{width:100%;margin:0}
.quest-roadmap-detail>p{line-height:1.55;margin-bottom:7px}
.quest-roadmap-detail>.quest-reward-footer{margin-top:14px}
.quest-journey .quest-roadmap>header{margin:4px 0 10px;padding:0 4px}
.quest-journey .quest-roadmap>header h2{font-size:15px;font-weight:600;line-height:1.4;letter-spacing:.2px;color:#c3d6d3}
.quest-journey .quest-roadmap-row summary{gap:10px;min-height:52px;padding:10px 12px}
.quest-journey .quest-roadmap-mark{width:28px;height:28px;font-size:16px;line-height:1;background:#254b59}
.quest-journey .quest-roadmap-row summary strong{font-size:13px;line-height:1.4}
.quest-journey .quest-roadmap-detail{padding-left:50px}
.shelter-pass-preview[hidden]{display:none!important}
.storage-nav-icon{display:inline-block;flex:none;background:currentColor;-webkit-mask:url('/assets/Current/ui/navigation/storage.png') center/contain no-repeat;mask:url('/assets/Current/ui/navigation/storage.png') center/contain no-repeat}
.sidebar .storage-nav-icon{background:currentColor!important;padding:0!important}
@media(max-width:360px){.quest-reward-footer{gap:10px}.quest-journey .quest-current-actions>.primary{min-width:92px;font-size:11px}.quest-journey .quest-current-reward,.quest-journey .quest-roadmap-rewards{font-size:9px;gap:4px 8px}}

/* Equipment fades stay in the same registered space as the current model. */
.gear-fade-host{position:relative}
.gear-fade-ghost{pointer-events:none!important;animation:none!important}

/* Storage is a screen-sized inventory; filters stay above its swipeable pages. */
body:has(.storage-view){overflow:hidden!important;overscroll-behavior:none}
.main-content[data-page="storage"]{overflow:hidden!important}
.main-content[data-page="storage"]>.app-page-heading{display:none!important}
.storage-view{position:fixed;top:90px;left:12px;right:12px;bottom:110px;display:flex;flex-direction:column;min-height:0;overflow:hidden;touch-action:none;outline:none}
.storage-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;flex-shrink:0;margin:0 0 4px}
.storage-heading h1{font-size:23px;line-height:1.2;margin:0;color:#f0e3bc}
.storage-heading>span{font-size:11px;line-height:1.4;color:#a9c3cf}
.storage-heading i{font-style:normal;margin:0 7px;color:#638998}
.section-page-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;flex-shrink:0;margin:0 0 12px}
.section-page-heading h1{font-size:23px;line-height:1.2;margin:0;color:#f0e3bc}
.section-page-heading>span{font-size:11px;line-height:1.4;color:#a9c3cf}
.skills-page-heading{margin-bottom:4px}
.journal-page-heading{margin-bottom:10px}
.journal-content[aria-label="events"]>.page-heading{display:none}
.storage-view .storage-controls{flex:0 0 auto;margin:10px 0 14px}
.storage-view .storage-items{flex:1;min-height:0;overflow:hidden;touch-action:none}
.storage-view .inventory-grid{display:grid!important;grid-template-columns:repeat(var(--storage-cols,6),minmax(0,1fr))!important;grid-auto-rows:var(--storage-cell,50px)!important;gap:var(--storage-gap,6px)!important;align-content:start;padding:0!important;margin:0!important}
.storage-view .inventory-grid .inventory-item{width:100%;height:var(--storage-cell,50px)!important;min-height:0!important;aspect-ratio:1;padding:4px!important;touch-action:none}
.storage-view .inventory-grid .empty-state{grid-column:1/-1;align-self:start;padding:22px 12px}

.first-contact-signal{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 18px;border-radius:50%;background:#b7525930;color:#ffa6a1;font-size:26px;font-weight:800}
.first-contact-arriving{display:flex;justify-content:space-between;align-items:center;color:#f3afb1;font-size:13px}
.first-contact-arriving strong{font-size:24px}
.first-contact-progress{height:6px;border-radius:6px;background:#753f4433;overflow:hidden;margin:12px 0 20px}
.first-contact-progress i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#be5b69,#f09a8e);transition:width .3s linear}
.survivor-stage{position:relative}
.sidebar .trader-nav-icon{fill:currentColor}

/* Keep the timer and XP spacing consistent on every task, including locked cards. */
#skills-content #gather-page .gather-meta,#skills-content #craft-page .craft-actions .craft-meta{display:flex!important;flex-direction:row;align-items:center;justify-content:flex-end;column-gap:12px!important;row-gap:6px!important;line-height:1.4;white-space:nowrap}
.daily-streak-track>div .streak-today{position:relative;border-color:#cbaa62;box-shadow:0 0 15px #ffd16622}
.daily-streak-dialog .daily-streak-track .streak-today.streak-stamped{animation:daily-stamp .5s cubic-bezier(.2,1.4,.4,1) both;background:#31564a;border-color:#76c59d}
.streak-reveal-tick{font-size:17px}.streak-mystery-tick{position:absolute;right:-3px;bottom:-2px;border-radius:50%;background:#31564a;color:#d9f7df;width:20px;height:20px;text-align:center}
@keyframes daily-stamp{0%{transform:scale(.78);box-shadow:0 0 0 0 #9ceabf66}55%{transform:scale(1.22);box-shadow:0 0 0 9px #9ceabf22}100%{transform:scale(1);box-shadow:0 0 0 15px #9ceabf00}}
.reduce-motion .daily-streak-dialog>*,.reduce-motion .daily-streak-dialog .daily-streak-track .kept{animation:none}
@media(prefers-reduced-motion:reduce){.daily-streak-dialog .daily-streak-track .streak-today.streak-stamped{animation:none}}

.completion-tick{display:inline-block;width:18px;height:18px;object-fit:contain;vertical-align:middle}.quest-project-checklist button>span:first-child{display:grid;place-items:center}.daily-streak-track .completion-tick{width:18px;height:18px}.streak-reveal-tick{display:grid;place-items:center}.quest-roadmap-mark .completion-tick{width:22px;height:22px}

.food-popup-secondary{flex-wrap:wrap}.food-eat-buttons{display:flex;gap:8px;width:100%}.food-eat-buttons>button{flex:1;min-width:0;padding:12px 8px;font-size:14px}.food-popup-secondary .food-sell-quiet{width:100%;font-size:11px!important}

/* Draw attention to Claim without changing the daily row layout. */
.quest-journey [data-action="claim"]{font-weight:800;color:#073723;border:0;border-radius:11px;background:linear-gradient(110deg,#52dc89,#a2ffbe,#48dca0,#52dc89);background-size:250% 100%;box-shadow:0 0 17px #67f3a04d;animation:daily-claim-glow 3.5s ease-in-out infinite,daily-claim-nudge 6s ease-in-out infinite}
@keyframes daily-claim-glow{0%,100%{background-position:0% 50%;box-shadow:0 0 13px #67f3a038}50%{background-position:100% 50%;box-shadow:0 0 22px #67f3a070}}
@keyframes daily-claim-nudge{0%,82%,100%{transform:rotate(0)}86%{transform:rotate(-1deg)}90%{transform:rotate(1deg)}94%{transform:rotate(-.5deg)}}
.reduce-motion .quest-journey [data-action="claim"]{animation:none}
@media(prefers-reduced-motion:reduce){.quest-journey [data-action="claim"]{animation:none}}


/* Keep empty facility markers quiet, with full contrast when guided or focused. */
.base-explore .town-build-pin{opacity:.62;transition:opacity .18s,background .15s,border-color .15s}
.base-explore .scene-facility:focus-visible .town-build-pin,
.base-explore .scene-facility.objective-target .town-build-pin,
.base-explore .scene-facility.scene-highlight .town-build-pin{opacity:1}
@media(hover:hover){.base-explore .scene-facility:hover .town-build-pin{opacity:1}}
#modal .modal-backdrop:has(#assignment-options){align-items:center!important;justify-content:center!important;padding:20px!important}
#modal .modal:has(#assignment-options){position:relative!important;inset:auto!important;transform:none!important;margin:auto!important;width:min(440px,100%)!important;max-height:calc(100dvh - 40px)!important;border-radius:22px!important;animation:none!important}
#modal .assignment-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#modal .assignment-filters>label:first-child{display:flex;align-items:center;gap:8px;background:#203f4d;border-radius:24px;padding:6px 14px;font-size:11px;flex:1}
#modal #assignment-skill{background:transparent;border:0;color:#f3d38a;min-width:0;width:100%;font-weight:650;font-size:14px;padding:7px;margin:0}
#modal .assignment-search-toggle{width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:12px;background:#203f4d;display:grid;place-items:center}
#modal .assignment-search-toggle img{display:block;width:20px;height:20px;object-fit:contain}
#modal .assignment-search-field{flex-basis:100%}#modal .assignment-search-field[hidden]{display:none}
#modal #assignment-search{width:100%;border:0;box-shadow:none;background:#102a37;border-radius:12px;margin:0}
#modal #assignment-search:focus-visible,#modal #assignment-skill:focus-visible{outline:2px solid #81b9ad;outline-offset:2px}
#modal .assignment-option{padding:12px 0;gap:12px}#modal .assignment-option h3{margin:0 0 5px;font-size:16px}
#modal .assignment-option small{font-size:12px}
#modal .assignment-filters .filter-select{border:0!important;background:transparent!important;min-width:0;flex:1}
#modal .assignment-filters .filter-select-trigger{background:transparent!important;border:0!important;color:#f3d38a!important;font-size:14px!important;padding:6px!important}
/* Character viewport ends at the dock; the activity queue lives at the top. */
@media(max-width:800px){
 body:has(#app .workspace):has(.survivor-stage) .main-content{bottom:var(--app-dock-height,0px)!important;inset-block-end:var(--app-dock-height,0px)!important}
 .character-rpg .survivor-scene{height:100%!important}
 .character-rpg .mobile-character-actions{position:fixed;top:auto!important;bottom:calc(var(--app-dock-height,0px) + 14px)!important;transform:none;max-height:calc(100dvh - var(--queue-clearance,0px) - var(--app-dock-height,0px) - 104px);display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,1dvh,8px)}
 .mobile-character-actions .character-shortcut{min-height:0;flex:0 1 56px}
 .mobile-character-actions .character-shortcut>button{height:100%!important;min-height:0!important;max-height:56px}
 .mobile-character-actions .character-shortcut-art{max-height:55%;object-fit:contain}
}
@media(max-width:800px) and (max-height:700px){
 .character-rpg .mobile-character-actions{max-height:calc(100dvh - var(--queue-clearance,0px) - var(--app-dock-height,0px) - 48px)}
 .mobile-character-actions .character-shortcut{flex:0 1 46px}
}

/* Survivor stats: quiet surfaces carry the hierarchy without coloured outlines. */
.stats-dossier{display:grid;gap:12px;color:#e6eded;animation:stats-enter .25s ease-out}
.stats-intro{text-align:center;padding:2px 0 5px}
.stats-intro h3{margin:5px 0 0;font-size:22px;color:#f8dfa0}
.stats-kicker{font-size:9px;letter-spacing:1.5px;color:#b9c8c4;font-weight:700}
.stats-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stats-metric{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;min-width:0;padding:14px 6px;border:0;border-radius:14px;background:linear-gradient(155deg,#203b45,#1a303a);box-shadow:0 7px 18px #07192320}
.stats-metric>span{font-size:9px;font-weight:700;letter-spacing:.8px;color:#b7ced2}
.stats-metric>strong{font-size:29px;line-height:1.05;font-variant-numeric:tabular-nums;color:#f7d27f}
.stats-metric>small{font-size:9px;color:#a6bfc6;line-height:1.3}
.stats-metric.is-health{background:linear-gradient(155deg,#3b3039,#22313a)}
.stats-metric.is-health>strong{color:#ffa8a0}
.stats-metric.is-power{background:linear-gradient(155deg,#3a3b32,#21333b)}
.stats-metric.is-guard{background:linear-gradient(155deg,#203c40,#1b343c)}
.stats-metric.is-guard>strong{color:#98ddca}
.stats-metric.is-supplies{background:linear-gradient(155deg,#203d48,#1b333e)}
.stats-set-card{padding:14px;border:0;border-radius:16px;background:linear-gradient(145deg,#203b43,#18323c 68%,#17313a);box-shadow:0 8px 22px #06151b20}
.stats-set-card>header{display:flex;align-items:center;gap:12px}
.stats-set-card>header>img{object-fit:contain;flex:0 0 60px;filter:drop-shadow(0 3px 5px #0007)}
.stats-set-card h3{margin:4px 0 0!important;color:#f4db9f!important;font-size:17px!important;line-height:1.2}
.stats-set-title{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;margin:10px 0 8px}
.stats-set-title>span{font-size:10px;color:#d6c896}
.stats-set-progress{display:flex;gap:5px;margin-bottom:10px}
.stats-set-progress i{height:5px;flex:1;background:#314950;border-radius:8px}
.stats-set-progress .is-filled{background:#e0c37c;box-shadow:0 0 7px #e0c37c44}
.stats-set-perks{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.set-perk{padding:10px 5px;display:grid;gap:5px;text-align:center;background:#102b34;border:0;border-radius:10px}
.set-perk-state{font-size:8px;letter-spacing:.7px;color:#9eb1b8}
.set-perk strong{font-size:11px;color:#c1cdd0}
.set-perk.is-active{background:linear-gradient(135deg,#285044,#1b3b3f)}
.set-perk.is-active strong,.set-perk.is-active .set-perk-state{color:#a6efc7}
.stats-set-empty{font-size:11px;text-align:center;color:#acbec4;margin:14px 0 10px}
.stats-set-note{font-size:10px!important;line-height:1.5!important;color:#9fb4bc;margin:10px 0 0!important;text-align:center}
.stats-amulet{display:flex;align-items:center;gap:10px;background:#1c3942;border:0;border-radius:13px;padding:11px;box-shadow:0 7px 18px #0719231c}
.stats-amulet-art{display:grid;place-items:center;flex:0 0 38px;color:#c4b48c;font-size:26px}
.stats-amulet>div{display:grid;gap:4px;min-width:0}
.stats-amulet strong{font-size:12px;color:#ecd7a0}
.stats-amulet small{font-size:10px;line-height:1.5;color:#aabfc6}
.stats-page-viewport{width:100%;height:100%;min-height:0;overflow:hidden}
.stats-page-track{display:flex;width:200%;height:100%;min-height:0;transition:transform .25s ease}
.stats-page-track.is-details{transform:translateX(-50%)}
.stats-page{flex:0 0 50%;width:50%;height:100%;min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#52717b transparent}
.stats-overview-page{display:flex;flex-direction:column;gap:9px;overflow:hidden;padding:0 2px 2px 0}
.stats-overview-scroll{display:grid;align-content:start;gap:9px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#52717b transparent}
.stats-detail-page{display:flex;flex-direction:column;overflow:hidden;padding:0 2px 2px 0}
.stats-details-link{display:flex;flex:none;align-items:center;gap:10px;width:100%;min-height:54px;padding:12px;border:0;border-radius:13px;background:#1c4355;text-align:left;box-shadow:0 7px 18px #0719231c}
.stats-details-link:hover{background:#265064}
.stats-details-link:focus-visible,.stats-details-back:focus-visible{outline:2px solid #ffdd8d;outline-offset:-2px}
.stats-details-link>span{display:grid;gap:4px;flex:1;min-width:0}
.stats-details-link strong{font-size:13px;color:#edd79b}
.stats-details-link small{font-size:10px;color:#a3bbc5}
.stats-details-link svg,.stats-details-back svg{flex:none;width:18px;height:18px;fill:none;stroke:#b3c9cc;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stats-details-back{display:flex;align-items:center;gap:7px;width:100%;min-height:43px;margin:0 0 9px;padding:8px 9px;border:0;border-radius:10px;background:#153745;color:#ffebbd;font-size:13px;font-weight:750;text-align:left}
.stats-details-back:hover{background:#1c4355}
.stats-details-content{display:grid;align-content:start;gap:16px;flex:1 1 auto;min-height:0;padding:5px 2px 12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#52717b transparent;background:transparent}
.stats-power-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border:0;font-size:12px}
.stats-power-row>span{display:flex;align-items:center;gap:9px;min-width:0}
.stats-power-row b{color:#eacb7e;white-space:nowrap}
.stats-power-row.is-total{margin-top:7px;color:#f3d998;font-weight:700}
.stats-bonus-group{min-width:0}
.stats-bonus-group h4{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#e1c787;margin:0 0 10px}
.stats-bonus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.stats-effect-row{min-width:0;padding:12px 10px;border:0;border-radius:10px;background:#23434e;overflow-wrap:anywhere}
.stats-effect-name{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;color:#f0e6cb}
.stats-effect-name>.item-icon{flex:none}
.stats-effect-name>strong{font-weight:650}
.stats-effect-lines{display:grid;gap:6px;margin-top:9px;font-size:11px;line-height:1.5;color:#c2d8dc}
.stats-details-content>.stats-muted{margin:0}
.stats-bonus-grid>.stats-effect-row:only-child{grid-column:1/-1}
.stats-muted{font-size:10px;line-height:1.6;color:#a2b8be}
.stats-dossier .item-art{flex-shrink:0}
@keyframes stats-enter{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.stats-dossier{animation:none}}
.reduce-motion .stats-dossier{animation:none}
/* Keep the overview compact; long breakdowns scroll inside the fixed-header sheet. */
.modal:has(.stats-dossier) .modal-fixed-head{padding:12px 18px;min-height:62px}.modal:has(.stats-dossier) .modal-fixed-head h2{font-size:20px}.modal:has(.stats-dossier) .modal-scroll-body{padding:14px 16px 22px}.stats-dossier{gap:10px}.stats-intro{padding:0}.stats-intro h3{font-size:20px}.stats-metric{padding:11px 6px}.stats-set-card{padding:12px}.stats-set-card>header>img{width:44px;height:44px;flex-basis:44px}.stats-amulet{padding:9px 11px}
@media(prefers-reduced-motion:reduce){.stats-page-track{transition:none}}
.reduce-motion .stats-page-track{transition:none}

.stats-amulet.is-inactive{justify-content:center;text-align:center;padding:14px}.stats-amulet.is-inactive>div{justify-items:center;gap:6px}

.healing-live-meter{height:12px;overflow:hidden;border-radius:99px;background:#09232d;box-shadow:inset 0 1px 4px #0006;margin:12px 0 16px}.healing-live-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b997d,#a0efb9);box-shadow:0 0 12px #83ebae55}
.healing-gain-feedback{position:fixed;z-index:4000;pointer-events:none;transform:translate(-50%,-100%);padding:8px 16px;border:1px solid #a3edba77;border-radius:18px;background:linear-gradient(135deg,#285b49,#102e36);color:#bcffd0;font-size:19px;font-weight:800;white-space:nowrap;text-align:center;box-shadow:0 5px 22px #051e2b88;animation:healing-gain-rise 1.4s ease-out both}.healing-gain-feedback>span{color:#90efb0}.healing-gain-feedback small{display:block;font-size:10px;color:#e4ffd9;margin-top:3px}@keyframes healing-gain-rise{0%{opacity:0;transform:translate(-50%,-60%) scale(.8)}18%{opacity:1;transform:translate(-50%,-105%) scale(1.06)}35%,75%{opacity:1;transform:translate(-50%,-115%) scale(1)}100%{opacity:0;transform:translate(-50%,-150%) scale(.98)}}.healing-gain-feedback.is-still{animation:none}@media(prefers-reduced-motion:reduce){.healing-gain-feedback{animation:none}}
.dock-health.health-danger>i,.health-meter.health-danger .progress i,.vital-health.health-danger .progress i,.perimeter-health .health-danger>i{background:linear-gradient(90deg,#b92e42,#fa6570)!important}


/* Compact equipment choices: item, condition and action stay on one row. */
#modal .loadout-picker .picker-section-label{margin:10px 0 7px}
#modal .loadout-picker .picker-current{margin:0 0 11px}
#modal .loadout-picker .loadout-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:10px;padding:10px 11px;border-radius:12px}
#modal .loadout-picker .loadout-item-art{width:58px;height:62px}
#modal .loadout-picker .loadout-item-art :is(svg,img){width:54px;height:54px;object-fit:contain}
#modal .loadout-picker .loadout-item-name>b{font-size:13px;line-height:1.2}
#modal .loadout-picker .loadout-item-stock{margin:3px 0 0;font-size:10px;line-height:1.25}
#modal .loadout-picker .loadout-item-effect{margin:3px 0 0;font-size:11px;line-height:1.3}
#modal .loadout-picker .loadout-item .durability{margin-top:5px}
#modal .loadout-picker .loadout-item-footer{grid-column:3;grid-row:1;justify-content:center;border:0;padding:0}
#modal .modal .loadout-picker button.loadout-item-action{min-width:76px;max-width:90px;min-height:40px;padding:7px 8px;font-size:11px;white-space:nowrap}
#modal .loadout-picker .picker-current .loadout-item-action{justify-self:center}
#modal .modal .loadout-picker .picker-current button.loadout-item-action{border:0!important;background:#315d78!important;color:#f7fcff!important;box-shadow:0 5px 14px #06182255!important}
#modal .modal .loadout-picker .picker-current button.loadout-item-action:hover:not(:disabled){background:#3d7290!important}

.trophy-room-grid .achievement-card.claim-ready{border-color:#579f82;background:radial-gradient(ellipse at 50% 0%,#4ec68d20,transparent 75%),linear-gradient(145deg,#163b36,#112c32);box-shadow:0 5px 18px #071b2344,inset 0 1px #b3ffdc18}
.trophy-room-grid .achievement-card.claim-ready::before{background:linear-gradient(90deg,transparent,#86e9b4,transparent)}
.trophy-room-grid .claim-ready .achievement-reward button{color:#073723;border:0;background:linear-gradient(110deg,#52dc89,#a2ffbe,#48dca0,#52dc89);background-size:250% 100%;box-shadow:0 0 13px #67f3a038;animation:daily-claim-glow 3.5s ease-in-out infinite;font-weight:800}
.trophy-details [data-action="claim-achievement"]{color:#132f3b;border:0;background:#ffd166;box-shadow:0 4px 0 #b88131;font-weight:800}
.achievement-claim-moment{min-height:320px;border:0;padding:28px 18px;border-radius:16px}
#modal .modal:has(>.achievement-claim-moment){padding-top:56px!important}
.achievement-claim-art{animation:quest-seal-pop .65s cubic-bezier(.2,1.6,.4,1) both;filter:drop-shadow(0 5px 15px #071a2966)}
.achievement-claim-coins{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;color:#fce2a0;margin:6px 0}
.achievement-claim-coins b{font-size:30px;font-variant-numeric:tabular-nums}.achievement-claim-coins>span{font-size:13px}
.reduce-motion .achievement-claim-art,.reduce-motion [data-action="claim-achievement"]{animation:none!important}
@media(prefers-reduced-motion:reduce){.achievement-claim-art,[data-action="claim-achievement"]{animation:none!important}}
/* Keep gear and tool slots distinct through their surfaces, not coloured outlines. */
#modal :is(.equipment-loadout-drawer,.tools-loadout-drawer) .tools-drawer-grid>.equipment-slot{border:0;background:#0c1f29;box-shadow:none}
#modal :is(.equipment-loadout-drawer,.tools-loadout-drawer) .tools-drawer-grid>.equipment-slot:hover{border:0;background:#132a35;box-shadow:none}
#modal .tools-loadout-drawer .tools-drawer-grid>.equipment-slot .equipment-visual .item-art{border:0;background:#102732;box-shadow:none}
@media(min-width:801px){
 .character-rpg .survivor-stage .adventure-launch{position:absolute;z-index:8;top:60px;left:30px;display:flex;align-items:center;gap:10px;width:260px;min-height:58px;padding:8px 12px;border:1px solid #557481;border-radius:13px;background:#102631e8;color:#f3dfb0;text-align:left;box-shadow:0 8px 22px #0007}
 .character-rpg .survivor-stage .adventure-launch:hover{background:#1a3845;border-color:#8ba9a7}
 .character-rpg .survivor-stage .adventure-launch-art{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px}
 .character-rpg .survivor-stage .adventure-launch-art img{display:block;width:36px;height:36px;object-fit:contain}
 .character-rpg .survivor-stage .adventure-launch>span:nth-child(2){display:grid;gap:3px;min-width:0}
 .character-rpg .survivor-stage .adventure-launch strong{font-size:14px;line-height:1.2}
 .character-rpg .survivor-stage .adventure-launch small{font-size:11px;color:#aec6cb}
 .character-rpg .survivor-stage .adventure-launch>span:last-child{margin-left:auto;font-size:23px}
 .storage-view .inventory-grid .inventory-item:not([data-id="coins"])>.item-icon{top:38%;max-width:40px;max-height:40px}
 .storage-view .inventory-grid .inventory-item[data-id="coins"]>.item-icon{top:38%;max-width:32px;max-height:32px}
 .storage-view .inventory-grid .inventory-item>b{position:absolute;top:auto;right:4px;bottom:5px;left:4px;display:block!important;min-height:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px;line-height:1.2;text-align:center}
}

/* Auto-repeat keeps the route and trip count together, with a separate recovery meter. */
.header-shell .activity-bar.auto-expedition-bar{gap:12px;align-items:center}
.header-shell .activity-bar.auto-expedition-bar .activity-detail{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}
.header-shell .activity-bar.auto-expedition-bar .activity-title{display:block;margin:0;min-width:0;white-space:normal;line-height:1.35}
.header-shell .activity-bar.auto-expedition-bar .activity-title>b{display:block;color:#f6dfaa;font-size:11px;white-space:normal;overflow:visible;text-overflow:clip}
.header-shell .activity-bar.auto-expedition-bar .activity-detail>.auto-state{display:block!important;margin:0;color:#bed6d7;font-size:9px;line-height:1.3;white-space:normal}
.auto-expedition-bar .auto-progress{width:100%;min-width:0}
.auto-expedition-bar .progress{height:4px;margin:0;background:var(--game-popup-raised,#1c4355);border-radius:999px;overflow:hidden}
.auto-expedition-bar .progress i{background:#ffd15c}
.header-shell .activity-bar.auto-expedition-bar>[data-action="stop-expedition-auto"]{flex:0 0 42px;min-width:42px;min-height:36px;align-self:center;border:0;border-radius:9px;background:var(--game-popup-raised,#1c4355);color:#e8f0f0}
.header-shell .activity-bar.auto-expedition-bar>[data-action="stop-expedition-auto"]:hover{background:#2c5260}

@media(max-width:800px){
 body:has(#app .workspace) .main-content:is([data-page="storage"],[data-page="journal"],[data-page="collections"],[data-page="survivors"],[data-page="guild"]){padding-top:calc(max(env(safe-area-inset-top,0px),var(--queue-clearance,0px)) + 8px)!important;transition:padding-top .3s ease}
}

.loot-report .auto-session-report .auto-haul-intro{margin:0 0 12px;color:#bdd1ce;font-size:13px}
.loot-report .auto-session-report .expedition-reward-scroll>h3{margin:4px 0 10px;color:#f5d797;font-size:13px;text-align:left}
.loot-report .auto-session-report .expedition-rewards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.loot-report .auto-session-report .expedition-reward{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;justify-items:stretch;gap:8px;min-height:56px;padding:8px 10px;text-align:left;background:#1b3540;animation:none}
.loot-report .auto-session-report .expedition-reward .item-art{grid-column:1;grid-row:1;width:40px!important;height:40px!important}
.loot-report .auto-session-report .expedition-reward b{grid-column:2;grid-row:1;display:block;overflow:visible;white-space:normal;font-size:12px;line-height:1.25}
.loot-report .auto-session-report .expedition-reward small{grid-column:3;grid-row:1;justify-self:end;color:#f6d997;font-size:12px;font-weight:800;white-space:nowrap}
@media(max-width:600px){.loot-report .auto-session-report .expedition-rewards{grid-template-columns:1fr}.loot-report .auto-session-report .expedition-reward{min-height:58px}}
.auto-return-haul{border-radius:14px;background:#17313b;padding:16px}
.auto-return-haul .eyebrow{color:#a7debb;font-size:10px;letter-spacing:.13em}
.auto-return-haul .return-loot-title{margin:5px 0;color:#f6dfaa;font-size:20px}
.auto-return-haul>p{margin:0 0 14px;color:#b7ced0;font-size:12px}

/* The trader scene begins at the page edge and dissolves behind the first offers. */
.main-content:has(.trader-shop){padding-top:0!important}
.trader-shop{position:relative;isolation:isolate;overflow:hidden;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.trader-shop::before{content:"";position:absolute;z-index:0;inset:0 0 auto;height:680px;pointer-events:none;background:linear-gradient(90deg,#071521ed,#071521b8 65%,#0715218c),url('/assets/Current/ui/shelter/backgrounds/header-forest.png') center top/cover no-repeat;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 96%);mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 96%)}
.trader-shop::after{content:"";position:absolute;z-index:0;top:12px;right:clamp(40px,10vw,170px);width:370px;height:500px;pointer-events:none;background:url('/assets/Current/ui/banners/trader-survivor-20261027.webp') center top/contain no-repeat;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 75%,transparent 100%)}
.trader-shop-heading,.trader-shop .trader-offers{position:relative;z-index:1}
.trader-shop-heading{min-height:410px!important;margin-bottom:0!important;border-bottom:0!important;background:none!important}
.trader-shop-heading .trader-quote{max-width:410px;min-height:1.4em;margin-top:10px;color:#f9e5c4;font-size:13px;font-style:italic;line-height:1.4}
.trader-shop-heading .trader-restock{margin-top:4px;color:#b9d0d8;font-size:11px;letter-spacing:.02em}
.trader-shop .coin-balance{border:0!important}
.trader-shop .trader-offers{align-items:stretch}
.trader-shop .trader-offer{display:flex;flex-direction:column;gap:8px;align-self:stretch;min-height:225px;height:auto;min-width:0;border:0!important;border-radius:12px;background:#1c3540!important;box-shadow:none!important;overflow:hidden}
.trader-shop .trader-offer-item{position:relative;min-height:152px!important;height:auto;padding:12px 6px 24px!important;gap:5px!important;justify-content:center;overflow:visible;border:1px solid #45606a!important;border-radius:9px;background:#162f3a!important;box-shadow:none!important}
.trader-shop .trader-offer-item:hover{border-color:#74948d!important;background:#1c3a45!important}
.trader-shop .trader-offer-item:focus-visible{outline:2px solid #f3ce79;outline-offset:2px}
.trader-offer-info{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:19px;height:19px;border:1px solid #78919b;border-radius:50%;background:#536f7b;color:#102630;font:900 12px/1 Arial,sans-serif;box-shadow:0 1px 3px #07192388}
.trader-offer-art{display:grid;place-items:center;flex:none;width:68px;height:68px}
.trader-shop .trader-offer-item .item-icon{width:64px!important;height:64px!important;object-fit:contain}


.trader-offer-quantity{position:absolute;right:10px;bottom:8px;color:#f3ce79;font-size:12px;font-weight:800;line-height:1}
.trader-shop .trader-buy{width:100%;min-height:38px!important;margin:auto 0 0;flex:none}
.trader-shop .trader-buy:disabled{opacity:.65}
@media(max-width:800px){.trader-shop .trader-offer{min-height:215px}.trader-offer-art{width:62px;height:62px}.trader-shop .trader-offer-item .item-icon{width:59px!important;height:59px!important}.trader-shop .trader-offer-item{min-height:152px!important}}
@media(max-width:800px){
 .trader-shop::before{height:390px;background-position:center top;background-size:auto 350px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 90%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 90%)}
 .trader-shop::after{top:0;right:-10px;width:245px;height:335px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 98%);mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 98%)}
 .trader-shop-heading{min-height:270px!important;margin-bottom:0!important}
 .trader-shop-heading .trader-quote{max-width:205px;min-height:2.8em;font-size:12px}
 body:has(#app .workspace) .main-content:has(.trader-shop){padding-top:0!important}
 body:has(#app .workspace):has(.header-shell .activity-bar) .main-content:has(.trader-shop){padding-top:calc(env(safe-area-inset-top,0px) + 52px)!important}
}
@media(min-width:801px){.trader-shop{margin-inline:-30px!important}.trader-shop-heading{min-height:410px!important}}
@media(max-width:360px){.trader-shop-heading .trader-quote{max-width:135px}}
@media(min-width:801px) and (max-width:1100px){.trader-shop{margin-inline:-6px!important}}
.trader-storage-link>.trader-sell-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:11px 16px;border:0!important;border-radius:11px;background:#1c3640;color:#f3d695;font-size:13px;font-weight:800;text-align:left;box-shadow:none}
.trader-storage-link>.trader-sell-link:hover{background:#254552}
.trader-sell-link svg{flex:none;transition:transform .2s ease}
.trader-sell-link:hover svg{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.trader-sell-link svg{transition:none}}

/* Trader offers reuse the storage item dialog's dimensions and header. */
#modal .trader-item-popup .trader-popup-purchase{margin-top:12px}
#modal .trader-item-popup .item-popup-actions{margin-bottom:0}
#modal .trader-item-popup .trader-offer-status{margin-top:10px;font-size:11px;line-height:1.5}
@keyframes trader-popup-appear{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}

/* Stored gear uses its whole tile to show remaining condition. */
.storage-view .inventory-item.has-storage-durability{isolation:isolate;background:#1a2830!important;box-shadow:inset 0 1px #ffffff10!important;animation:none}
.storage-view .inventory-item.has-storage-durability.is-healthy{--storage-durability-color:#254b47}
.storage-view .inventory-item.has-storage-durability.is-worn{--storage-durability-color:#6a6239}
.storage-view .inventory-item.has-storage-durability.is-low{--storage-durability-color:#613c43}
.storage-view .inventory-item.has-storage-durability>.storage-durability-fill{position:absolute;left:0;right:0;bottom:0;z-index:0;height:var(--durability-fill);background:var(--storage-durability-color);border-top:1px solid #ffffff16;pointer-events:none}
.storage-view .inventory-item.has-storage-durability>.item-icon{z-index:1}
.storage-view .inventory-item.has-storage-durability>.inventory-tier,.storage-view .inventory-item.has-storage-durability>.inventory-qty{z-index:2}
.storage-view .inventory-item.has-storage-durability.is-broken{background:#20262b!important;border-color:#627078!important}
.storage-view .inventory-item.is-broken>.item-icon{filter:grayscale(1) brightness(.55);opacity:.82}


/* Selling is a short trade: choose quantity, see the coin payout, then confirm. */
#modal .modal-backdrop:has(.sale-sheet){align-items:center;justify-content:center;padding:14px;background:#02080bcc}
#modal .modal:has(.sale-sheet){position:relative;inset:auto;width:min(410px,100%);max-width:410px;height:auto;max-height:calc(100dvh - 28px);margin:0;padding:21px 18px 18px;border:0;border-radius:20px;background:radial-gradient(ellipse at 80% 0%,#294347,#142b37 68%);box-shadow:0 24px 70px #0009;overflow-y:auto;animation:trader-popup-appear .2s ease-out}
#modal .modal:has(.sale-sheet) .app-sheet-handle{display:none}
#modal .modal:has(.sale-sheet) .modal-close{position:absolute;top:12px;right:12px;z-index:2;border:0}
#modal .sale-sheet>.eyebrow{display:block;margin:0 42px 13px 0;color:#f2c36d;font-size:9px;letter-spacing:1.6px}
.sale-item-summary{display:flex;align-items:center;gap:12px;padding-right:26px}
.sale-item-art{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#ffffff0b}
.sale-item-summary h2{margin:0;color:#f5eddd;font-size:20px;line-height:1.2}
.sale-item-summary p{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:5px 0 0;color:#a9c3cc;font-size:11px;line-height:1.25}
.sale-item-summary p .item-icon{width:19px!important;height:19px!important;margin:0 1px}
.sale-trade-panel{display:grid;gap:13px;margin:18px 0 14px}
.sale-trade-panel>label{margin:0;color:#acc1c9;font-size:9px;font-weight:800;letter-spacing:1.3px}
.sale-sheet .sale-quantity{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 52px;gap:7px}
#modal .sale-sheet .sale-quantity button{min-width:0;min-height:44px;padding:0;border:0;border-radius:11px;background:#264451;color:#e5e6da;font-size:20px;font-weight:700}
#modal .sale-sheet .sale-quantity .sale-all{font-size:12px;color:#ffd57d}
#modal .sale-sheet .sale-quantity input{min-width:0;min-height:44px;margin:0;padding:6px 8px;border:0;border-radius:11px;background:#0c2531;color:#f8ead0;text-align:center;font-size:20px;font-weight:800;appearance:textfield}
.sale-sheet .sale-quantity input::-webkit-inner-spin-button,.sale-sheet .sale-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#modal .sale-sheet .sale-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 14px;border:0;border-radius:14px;background:linear-gradient(110deg,#1d3c43,#3b3b2d);color:#ffcf71}
.sale-sheet .sale-total small{display:block;color:#cfdbd0;font-size:9px;font-weight:800;letter-spacing:1.3px}
#modal .sale-sheet .sale-total strong{display:flex;align-items:baseline;gap:7px;margin:4px 0 0;color:#ffd272;font-size:27px;line-height:1.1;font-variant-numeric:tabular-nums}
.sale-sheet .sale-total em{font-size:12px;font-style:normal;font-weight:600;color:#e8c980}
.sale-sheet .sale-total>.item-icon{flex:none;width:44px!important;height:44px!important;filter:drop-shadow(0 3px 7px #ffbe4055)}
#modal .sale-sheet .sale-collection-note{margin:0 0 14px;color:#a9bec4;font-size:11px}
.sale-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
#modal .sale-actions>button{min-height:48px;border:0;border-radius:11px}
#modal .sale-actions #sale-confirm{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 12px;background:linear-gradient(#ffda7b,#ffbf48);color:#1d2b30;font-size:13px;font-weight:800;box-shadow:0 3px 0 #a7752b}
#modal .sale-actions #sale-confirm>.item-icon{width:18px!important;height:18px!important}
#modal .sale-actions .sale-keep{padding:10px 8px;background:transparent;color:#b9c9cf;font-size:11px}
@media(max-width:350px){#modal .modal:has(.sale-sheet){padding-inline:14px}.sale-item-summary h2{font-size:18px}.sale-actions{grid-template-columns:1fr}.sale-actions .sale-keep{min-height:34px!important}}
@media(prefers-reduced-motion:reduce){#modal .modal:has(.sale-sheet){animation:none}}
.reduce-motion #modal .modal:has(.sale-sheet){animation:none}

/* Keep the adventure action seamless at every breakpoint. */
.adventure-launch,.character-rpg .survivor-stage .adventure-launch,.character-rpg .survivor-stage .adventure-launch:hover{border:0}
.adventure-launch>span.adventure-launch-arrow,.character-rpg .survivor-stage .adventure-launch>span.adventure-launch-arrow{display:grid;place-items:center;align-self:center;width:28px;height:32px;min-width:28px;margin-left:auto;font-size:0}
.adventure-launch-arrow svg{display:block;width:22px;height:22px;fill:#f2cf74}


/* Tutorial cards and their controls use surfaces rather than hairline outlines. */
#opening-tour.opening-guide,.opening-tour-banner,#tutorial-dock,#modal .modal:has(.opening-defeat),#modal .modal:has(.opening-victory),#modal .modal:has(.opening-tour-finish){border:0!important}
#opening-tour .opening-guide-actions button,.opening-tour-banner .opening-tour-actions button,#tutorial-dock .tutorial-buttons button,#modal .opening-tour-finish button,#modal .opening-defeat button,#modal .opening-victory button{border:0!important}
#tutorial-dock .tutorial-materials>span{border:0}

/* Collections use colour and depth without the thin panel outlines. */
.journal-collection-tabs button,.journal-collection-tabs button.selected,.journal-collection-tabs button:hover{border:0!important}
.trophy-room-banner,.pet-roster-banner{border:0!important;box-shadow:0 10px 28px #06161f38}
.trophy-room-grid .achievement-card{border:0;box-shadow:0 8px 22px #05141d55}
.trophy-room-grid .achievement-card:not(.earned){background:linear-gradient(150deg,#1b3039,#10232d);color:#c2d0ce}
.trophy-room-grid .achievement-card:not(.earned) .achievement-title>.trophy-art{position:relative;background:radial-gradient(ellipse at center,#344c5350,transparent 72%);border-bottom-color:#405760}
.trophy-room-grid .achievement-card:not(.earned) .trophy-model-art,.trophy-details .trophy-art.is-locked .trophy-model-art{filter:grayscale(1) brightness(.12) contrast(1.5);opacity:.9}
.trophy-room-grid .achievement-card:not(.earned) .achievement-title>.trophy-art::after{content:'LOCKED';position:absolute;right:0;bottom:1px;left:0;color:#b9c7c8;font-size:8px;font-weight:800;letter-spacing:1.3px;text-align:center;text-shadow:0 1px 3px #07171d}
.trophy-room-grid .achievement-card:not(.earned) .achievement-title .meta{color:#9caeb5}
.trophy-details .trophy-art.is-locked{position:relative;filter:none}
.trophy-lock-symbol{position:absolute;right:5px;bottom:4px;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#29414a;color:#d0dedb;box-shadow:0 3px 8px #06151da0}
.trophy-tier-surface[data-trophy-tier="1"],.trophy-room-grid .achievement-card.earned:has(.trophy-tier-1){--tier-top:#46382f;--tier-base:#1c3033;--tier-wash:#c38b5a44;--tier-accent:#ca9c6d}
.trophy-tier-surface[data-trophy-tier="2"],.trophy-room-grid .achievement-card.earned:has(.trophy-tier-2){--tier-top:#384a58;--tier-base:#1b2e3b;--tier-wash:#bdcfde3c;--tier-accent:#c1d5de}
.trophy-tier-surface[data-trophy-tier="3"],.trophy-room-grid .achievement-card.earned:has(.trophy-tier-3){--tier-top:#55472d;--tier-base:#243139;--tier-wash:#efc56b48;--tier-accent:#f0cb7e}
.trophy-tier-surface[data-trophy-tier="4"],.trophy-room-grid .achievement-card.earned:has(.trophy-tier-4){--tier-top:#1d4f4b;--tier-base:#1a303b;--tier-wash:#75d8ce40;--tier-accent:#92e3de}
.trophy-tier-surface[data-trophy-tier="5"],.trophy-room-grid .achievement-card.earned:has(.trophy-tier-5){--tier-top:#4b3e69;--tier-base:#202f43;--tier-wash:#bb91ef4d;--tier-accent:#d4b0fc}
.trophy-tier-surface[data-trophy-tier="6"],.trophy-room-grid .achievement-card.earned:has(.trophy-tier-6){--tier-top:#5b4565;--tier-base:#1d3e47;--tier-wash:#edb8df52;--tier-accent:#f4c7e5}
.trophy-room-grid .achievement-card.earned,.trophy-room-grid .achievement-card.earned.claim-ready{background:radial-gradient(ellipse at 15% 0%,var(--tier-wash),transparent 70%),linear-gradient(145deg,var(--tier-top),var(--tier-base));box-shadow:0 9px 25px #07141e66,inset 0 1px #ffffff17}
.trophy-room-grid .achievement-card.earned .achievement-title .meta{color:var(--tier-accent)}
.trophy-room-grid .flame-achievement[role="button"]{cursor:pointer;box-shadow:0 9px 25px #07141e66}
.trophy-room-grid .flame-achievement[role="button"]:focus-visible{outline:2px solid #f4c7e5;outline-offset:3px}
.trophy-room-grid .achievement-card.earned .achievement-title>.trophy-art{border-bottom-color:color-mix(in srgb,var(--tier-accent) 55%,transparent)}
.trophy-room-grid .achievement-card.earned:has(.trophy-tier-5),.trophy-room-grid .achievement-card.earned:has(.trophy-tier-6){background:radial-gradient(ellipse at 18% 8%,var(--tier-wash),transparent 65%),linear-gradient(115deg,var(--tier-top),var(--tier-base),var(--tier-top));background-size:180% 180%;animation:trophy-arrive .35s ease both,trophy-tier-drift 9s ease-in-out infinite}
@keyframes trophy-tier-drift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.trophy-details-hero{padding:15px 14px;border-radius:16px;background:radial-gradient(ellipse at 50% 4%,#ffd16624,transparent 65%),linear-gradient(145deg,#234857,#173746)}
#modal .modal-backdrop:has(.achievement-claim-moment){align-items:center!important;justify-content:center!important;padding:20px!important;background:#06131bdc}
#modal .modal:has(>.achievement-claim-moment){position:relative!important;inset:auto!important;width:min(390px,100%)!important;max-height:calc(100dvh - 40px)!important;margin:auto!important;padding:0!important;overflow:visible!important;isolation:isolate;border:0!important;border-radius:22px!important;background:var(--game-popup-bg,#122e3b)!important;box-shadow:0 22px 70px #000a,0 0 28px #ffd16624!important;animation:trophy-claim-appear .28s cubic-bezier(.2,1.15,.35,1) both!important}
@keyframes trophy-claim-appear{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
#modal .modal:has(>.achievement-claim-moment) .app-sheet-handle{display:none}
body:has(#modal) #modal .modal:is(:has(.achievement-claim-moment),:has(.trophy-details),.event-trophy-modal) button.modal-close{z-index:4}
#modal .modal:has(>.achievement-claim-moment) .achievement-claim-moment{position:relative;z-index:1;min-height:300px;padding:42px 18px 32px;border:0;border-radius:22px;background:radial-gradient(ellipse at 50% 14%,#ffd1662b,transparent 61%),var(--game-popup-bg,#122e3b);box-shadow:none}
.trophy-claim-burst{position:absolute;inset:0;z-index:0;pointer-events:none}
.trophy-claim-burst i{position:absolute;left:50%;top:50%;width:7px;height:11px;border-radius:2px;background:#f3d17c;opacity:0;animation:trophy-claim-explode 1.65s ease-out var(--delay) both}
.trophy-claim-burst i:nth-child(3n){background:#fff0c5}.trophy-claim-burst i:nth-child(4n){background:#d9edf0}
@keyframes trophy-claim-explode{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) rotate(0)}16%{opacity:.85}65%{opacity:.8}100%{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--distance))) rotate(210deg)}}
.trophy-claim-burst.is-still i,.reduce-motion .trophy-claim-burst i{display:none}
@media(prefers-reduced-motion:reduce){.trophy-room-grid .achievement-card.earned:has(.trophy-tier-5),.trophy-room-grid .achievement-card.earned:has(.trophy-tier-6){animation:none}.trophy-claim-burst i{display:none}}
.reduce-motion .trophy-room-grid .achievement-card.earned:has(.trophy-tier-5),.reduce-motion .trophy-room-grid .achievement-card.earned:has(.trophy-tier-6){animation:none}
@media(prefers-reduced-motion:reduce){#modal .modal:has(>.achievement-claim-moment){animation:none!important}}
.reduce-motion #modal .modal:has(>.achievement-claim-moment){animation:none!important}

/* Storage item details share the compact, centred language of the sell dialog. */
#modal .modal-backdrop:has(.storage-item-modal){align-items:center;justify-content:center;padding:14px;background:#02080bcc}
#modal .storage-item-modal.modal-scroll-shell{position:relative;inset:auto;width:min(410px,100%);max-width:410px;height:auto;max-height:calc(100dvh - 28px);margin:auto;padding:0!important;border:0;border-radius:20px;background:radial-gradient(ellipse at 80% 0%,#294347,#142b37 68%);box-shadow:0 24px 70px #0009;animation:trader-popup-appear .2s ease-out}
#modal .storage-item-modal>.app-sheet-handle{display:none}
#modal .storage-item-modal .modal-fixed-head.item-close-head{min-height:0;padding:13px 13px 0 18px!important;border:0;background:transparent;border-radius:0}
#modal .storage-item-modal .item-close-head>.eyebrow{display:block;flex:1;margin:0;color:#f2c36d;font-size:9px;font-weight:800;letter-spacing:1.6px}
#modal .storage-item-modal .item-close-head .modal-close{width:36px;height:36px;min-height:36px;margin:0;border:0;border-radius:11px;background:#ffffff0b;color:#d9e3e1}
#modal .storage-item-modal .item-header-menu{margin:0 5px 0 0}
#modal .storage-item-modal .item-header-menu>summary{background:#ffffff0b}
#modal .storage-item-modal .modal-scroll-body{padding:1px 18px 18px;scrollbar-gutter:auto}
#modal .storage-item-modal .item-popup .item-popup-head{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 13px;padding:0;border:0;border-radius:0;background:none;overflow:visible}
#modal .storage-item-modal .item-popup .item-popup-art{width:64px;height:64px;border:0;border-radius:14px;background:#ffffff0b}
#modal .storage-item-modal .item-popup .item-popup-art>.item-icon,#modal .storage-item-modal .item-popup .item-popup-art>svg{width:58px!important;height:58px!important;object-fit:contain}
#modal .storage-item-modal .item-popup .item-popup-copy>.eyebrow{margin:0 0 4px;color:#9fb9c2;font-size:9px;letter-spacing:1.2px}
#modal .storage-item-modal .item-popup .item-popup-title h2{margin:0;color:#f5eddd;font-size:20px;font-weight:750;line-height:1.2}
#modal .storage-item-modal .item-popup .item-popup-copy>p,#modal .storage-item-modal .item-popup .item-popup-copy>div>p{margin:5px 0 0;color:#b9cbd0;font-size:11px;line-height:1.4}
#modal .storage-item-modal .item-popup .item-equipped-tag{padding:3px 7px;border:0;border-radius:7px;background:#7cbd9560;color:#ddf9e8;font-size:10px}
#modal .storage-item-modal .item-popup .item-popup-stock span{color:#cbdad5;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
#modal .storage-item-modal .item-popup .item-popup-stock b{color:#ffd272;font-size:23px;line-height:1;font-variant-numeric:tabular-nums}
#modal .storage-item-modal .item-popup .item-popup-copy>.durability{margin:9px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
#modal .storage-item-modal .item-popup .item-popup-copy>.durability>span{margin-bottom:4px}
#modal .storage-item-modal .item-popup .item-popup-copy>.durability>[role=progressbar]{box-shadow:none}
#modal .storage-item-modal .item-popup .equip-destination,#modal .storage-item-modal .item-popup>.fine,#modal .storage-item-modal .item-popup .auto-label,#modal .storage-item-modal .item-popup .scroll-effect-status{margin:6px 0 10px;color:#b8cbd0;font-size:11px}
#modal .storage-item-modal .item-popup .item-popup-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:15px 0 11px}
#modal .storage-item-modal .item-popup .item-popup-actions>button,#modal .storage-item-modal .item-popup .food-eat-buttons>button{min-height:46px;margin:0;padding:9px 12px;border:0;border-radius:11px;font-size:12px;font-weight:800;line-height:1.25}
#modal .storage-item-modal .item-popup .item-popup-actions>button.primary,#modal .storage-item-modal .item-popup .food-eat-buttons>button.primary{order:-1;flex:1 1 55%;background:linear-gradient(#ffda7b,#ffbf48);color:#1d2b30;box-shadow:0 3px 0 #a7752b}
#modal .storage-item-modal .item-popup .item-popup-actions>button:not(.primary),#modal .storage-item-modal .item-popup .food-eat-buttons>button:not(.primary){background:#264451;color:#d8e6e4;box-shadow:none}
#modal .storage-item-modal .item-popup .item-popup-actions>button[data-action="sell-item"]:not(:only-child){order:2;flex:1 1 100%;min-height:36px;background:transparent!important;color:#b9cbd0!important;box-shadow:none!important;font-size:11px}
#modal .storage-item-modal .item-popup .item-popup-actions>button[data-action="sell-item"]:only-child:not(:disabled){background:linear-gradient(#ffda7b,#ffbf48);color:#1d2b30;box-shadow:0 3px 0 #a7752b}
#modal .storage-item-modal .item-popup.item-popup-consumable .item-popup-actions>button[data-action="sell-item"]:not(:disabled){order:2;flex:1 1 100%;min-height:46px;border:0!important;background:linear-gradient(#ffda7b,#ffbf48)!important;color:#1d2b30!important;box-shadow:0 3px 0 #a7752b!important;font-size:12px}
#modal .storage-item-modal .item-popup .food-eat-buttons{order:-1;display:flex;gap:8px;width:100%}
#modal .storage-item-modal .item-popup .food-eat-buttons>button{flex:1 1 0;min-width:0}
#modal .storage-item-modal .item-popup .food-eat-buttons>button.primary{flex:1 1 0}
#modal .storage-item-modal .item-popup .food-popup-automatic,#modal .storage-item-modal .item-popup .smelt-item-detail{margin:13px 0;padding:12px 13px;border:0;border-radius:12px;background:#0c2531}
#modal .storage-item-modal .item-popup .smelt-item-detail>button,#modal .storage-item-modal .item-popup .food-popup-automatic>button{border:0;background:#264451;color:#f1d799;box-shadow:none}
#modal .storage-item-modal .item-popup .item-discovery-actions{gap:7px;margin:12px 0 0}
#modal .storage-item-modal .item-popup .item-discovery-actions>button{min-height:40px;padding:9px 12px;border:0;border-radius:10px;background:#264451;color:#e8d4a4;font-size:11px}
#modal .storage-item-modal .item-popup .item-popup-stock{min-height:0;margin:2px 0 8px;padding:6px 2px 9px;border:0;border-radius:0;background:none;box-shadow:none;color:#d6e5e1}
#modal .storage-item-modal .item-popup .item-popup-actions>button[data-action="sell-item"]:not(:disabled),
#modal .storage-item-modal .item-popup .item-popup-actions>button[data-action="sell-item"]:only-child:not(:disabled),
#modal .storage-item-modal .item-popup.item-popup-consumable .item-popup-actions>button[data-action="sell-item"]:not(:disabled){order:2;flex:1 1 100%;min-height:42px;border:0!important;border-radius:10px;background:#244b5e!important;color:#e7f3f5!important;box-shadow:0 4px 12px #06131a45!important;font-size:12px}
#modal .storage-item-modal .item-popup .item-popup-actions>button[data-action="sell-item"]:not(:disabled):hover{background:#306177!important;color:#fff!important}
#modal .storage-item-modal .item-popup .item-discovery-actions{margin-top:8px}
#modal .storage-item-modal .item-popup .item-discovery-actions>button{min-height:38px;padding:8px 2px;border:0;border-radius:0;background:none;color:#d8c69d}
#modal .storage-item-modal .item-popup .item-discovery-actions>button:hover{background:none;color:#ffe1a0}
@media(max-width:350px){#modal .storage-item-modal .modal-scroll-body{padding-inline:14px}#modal .storage-item-modal .item-popup .item-popup-title h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){#modal .storage-item-modal.modal-scroll-shell{animation:none}}
.reduce-motion #modal .storage-item-modal.modal-scroll-shell{animation:none}

/* Character sheets share the Buffs surface; loadout cards use the Stats amulet tone. */
#modal .equipment-drawer:is(.equipment-loadout-drawer,.tools-loadout-drawer),#modal .equipment-drawer:has(.buffs-supplies-sheet),#modal .equipment-drawer:has(.pet-roster){background:#14252f}
#modal :is(.equipment-loadout-drawer,.tools-loadout-drawer) .tools-drawer-grid>.equipment-slot{background:#1c3942}
#modal :is(.equipment-loadout-drawer,.tools-loadout-drawer) .tools-drawer-grid>.equipment-slot:hover{background:#254650}
#modal .stats-dossier .stats-set-perks:has(>.set-perk:only-child){grid-template-columns:1fr}


/* One taller loadout sheet holds equipment and tools. */
.character-rpg .survivor-stage .character-loadout-open{min-height:44px;padding:10px 13px;border:0;border-radius:9px;background:#1b3742;color:#f4dfac;font-size:12px;font-weight:700;text-align:left;cursor:pointer}
.character-rpg .survivor-stage .character-loadout-open span{float:right;font-size:18px;line-height:13px}
.character-rpg .survivor-stage .character-loadout-open:hover{background:#294b54}
#modal .character-loadout-tabs{position:sticky;top:-18px;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0 0 14px;padding:4px;border:0;border-radius:12px;background:#102833}
#modal .character-loadout-tabs button{min-height:44px;border:0;border-radius:9px;background:transparent;color:#9ebbc2;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
#modal .character-loadout-tabs button.selected{background:#28505a;color:#f8dda0;box-shadow:0 2px 8px #0004}
#modal .character-loadout-tabs button:focus-visible{outline:2px solid #f8dda0;outline-offset:2px}
#modal .character-loadout-content{display:grid;gap:24px;min-height:0}
#modal .character-loadout-sheet{touch-action:pan-y}
@media(max-width:800px){
 #modal .character-loadout-drawer.modal-scroll-shell{height:calc(96dvh - env(safe-area-inset-top,0px));max-height:calc(96dvh - env(safe-area-inset-top,0px))}
 #modal .character-loadout-drawer .modal-scroll-body{flex:1;min-height:0;overflow-y:auto}
 #modal .character-loadout-tabs{top:-14px}
 .character-rpg .survivor-stage .character-loadout-open{display:none}
}

/* Confirm replacing a live Focus effect without losing the sheet underneath. */
#modal .tonic-replace-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#020b10d9;backdrop-filter:blur(5px)}
#modal .tonic-replace-dialog{width:min(390px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:18px;border:0;border-radius:20px;background:radial-gradient(ellipse at 50% 0%,#29484a,#18323e 60%,#102833);box-shadow:0 22px 65px #0009;color:#e8eeea;text-align:center;animation:tonic-replace-arrive .23s ease-out}
#modal .tonic-replace-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f2c773;font-size:9px;font-weight:800;letter-spacing:1.5px}
#modal .tonic-replace-head button{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:11px;background:#ffffff12;color:#e4eeee;font-size:22px;line-height:1}
#modal .tonic-replace-art{display:grid;place-items:center;width:86px;height:86px;margin:-3px auto 10px;border-radius:20px;background:radial-gradient(circle,#84d8c42e,#0c273338 70%)}
#modal .tonic-replace-art .item-icon{width:68px!important;height:68px!important;object-fit:contain}
#modal .tonic-replace-dialog h2{margin:0 0 9px;color:#f5e6c3;font-size:21px;line-height:1.2}
#modal .tonic-replace-dialog p{max-width:32ch;margin:0 auto;color:#b9cdd0;font-size:12px;line-height:1.6}
#modal .tonic-replace-dialog p strong{color:#f8d890;font-weight:750}
#modal .tonic-replace-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:9px;margin-top:22px}
#modal .tonic-replace-actions button{min-height:46px;padding:10px 12px;border:0;border-radius:11px;background:#2a4a57;color:#e2eeee;font-size:12px;font-weight:800}
#modal .tonic-replace-actions [data-action="tonic-replace-confirm"]{background:linear-gradient(#ffdc80,#ffc34f);color:#142a31;box-shadow:0 3px 0 #a9762b}
@keyframes tonic-replace-arrive{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#modal .tonic-replace-dialog{animation:none}}
.reduce-motion #modal .tonic-replace-dialog{animation:none}

/* Keep the Skills heading below the live task bar, including when the queue opens. */
@media(max-width:800px){
 body:has(#app .workspace) .main-content[data-page="activities"]:has(>.skills-page-heading){top:0!important;padding:calc(max(env(safe-area-inset-top,0px),var(--queue-clearance,0px)) + 8px) 12px calc(var(--app-dock-height,0px) + env(safe-area-inset-bottom,0px) + 24px)!important}
 .main-content[data-page="activities"]>.skills-page-heading{margin:0 0 4px}
 .main-content[data-page="journal"]>.journal-page-heading{margin:2px 0 10px}
}

/* Keep the normal blue menu backdrop visible behind character guidance and the dock. */
@media(max-width:800px){
 body:has(#app .workspace):has(.survivor-stage){background:#102735}
 body:has(#app .workspace):has(.survivor-stage) .main-content{background-color:#102735}
}

/* Keep the mobile craft layout after the general Skills card rules above. */
@media(max-width:800px){
 #craft-page .craft-card{grid-template-columns:74px minmax(0,1fr);grid-template-rows:minmax(76px,auto) 36px;gap:5px 12px;padding:11px 12px 8px;min-height:0}
 #craft-page .craft-card.craft-needs-materials:not(.is-recommended){border:0;background:#102630}
 #craft-page .craft-emblem{grid-column:1;grid-row:1;width:74px;align-self:start}
 #craft-page .craft-emblem>button.craft-item-art{width:74px;height:74px}
 #craft-page .craft-item-art>.item-icon{width:68px!important;height:68px!important}
 #craft-page .craft-copy{grid-column:2;grid-row:1;align-self:start;padding-top:3px}
 #craft-page .craft-copy h3.work-item-title{max-width:calc(100% - 80px);margin:0 0 5px}
 #craft-page .craft-materials{margin-top:6px}
 #craft-page .craft-materials>div{gap:0 9px}
 #craft-page .craft-materials .craft-material{min-height:19px;padding:0;border:0;font-size:9px;line-height:1.2}
 #craft-page .craft-actions{grid-column:1/-1;grid-row:2;display:flex;align-items:flex-end;justify-content:flex-end;width:100%;min-height:36px;margin:0;gap:0;align-self:end}
 #craft-page .craft-actions .craft-meta{position:absolute;top:12px;right:12px;display:flex;gap:8px;max-width:84px;margin:0;padding:0;font-size:7px;line-height:1.2;text-align:right}
 #craft-page .craft-quantity-buttons{display:grid;grid-template-columns:1fr 1fr!important;gap:6px;width:min(214px,100%);margin-left:auto;padding-left:0!important}
 #craft-page .craft-quantity-buttons>button{width:100%!important;height:35px;min-height:35px!important;padding:5px 6px!important;font-size:10px!important}
 #craft-page .craft-actions .craft-unavailable{width:min(104px,100%);min-height:35px;margin-left:auto}
}
@media(max-width:360px){
 #craft-page .craft-card{grid-template-columns:66px minmax(0,1fr);gap:5px 9px;padding:10px}
 #craft-page .craft-emblem,#craft-page .craft-emblem>button.craft-item-art{width:66px;height:66px}
 #craft-page .craft-item-art>.item-icon{width:60px!important;height:60px!important}
}

/* Guest sign-out uses one consistent rhythm and centers its quiet exit action. */
#modal .guest-signout-sheet{display:grid;gap:10px}
#modal .guest-signout-sheet h2{margin:0 0 4px}
#modal .guest-signout-sheet p{margin:0 0 14px}
#modal .guest-signout-sheet>button{min-height:44px;margin:0;width:100%}
#modal .guest-signout-sheet>[data-action="guest-leave"]{justify-self:center;width:auto;margin-top:4px;padding:8px 16px;text-align:center}

/* A quiet identity card replaces the illustrated level frame. */
.character-rpg .survivor-stage .dossier-header .dossier-level{
 background:linear-gradient(125deg,#1d3b48ee,#102733e8)!important;
 border:0;box-shadow:0 8px 22px #03121b70;color:#f4e6c9;
}
.character-rpg .survivor-stage .dossier-level::before{content:none}
.character-rpg .survivor-stage .dossier-level-name{display:none}
@media(max-width:800px){
 .character-rpg #survivor-model-stage>.character-composition{height:65%;bottom:103px}
 .character-rpg .survivor-stage .dossier-header .dossier-level{
  position:absolute;top:9px;left:6px;width:max-content;max-width:min(248px,calc(100vw - 132px));height:50px;min-height:50px;
  display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:5px;padding:0 13px;border-radius:13px;text-align:left;
 }
 .character-rpg .survivor-stage .dossier-level>span{
  position:static;flex:none;align-self:auto;margin:0;transform:none;
  color:#d9bc79;font:700 13px/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:.7px;
 }
 .character-rpg .survivor-stage .dossier-level>b{
  position:static;flex:none;align-self:auto;margin:0;transform:none;
  color:#ffe0a0;font:800 13px/1.2 Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0;text-shadow:none;
 }
 .character-rpg .survivor-stage .dossier-level-name{
  display:block;flex:1;align-self:auto;min-width:0;margin-left:7px;overflow:hidden;
  color:#f5eee1;font:650 13px/1.2 Segoe UI,system-ui,sans-serif;text-overflow:ellipsis;white-space:nowrap;
 }
}

/* Keep an image-free stage behind the 3D survivor and future scene props. */
#character-backdrop{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none;background:transparent}
@media(max-width:800px){
 body:has(#app .workspace):has(.survivor-stage) .main-content{bottom:calc(var(--app-dock-height,0px) - 20px)!important;inset-block-end:calc(var(--app-dock-height,0px) - 20px)!important}
}

/* Skill guides stay in the character Skills sheet. */
#modal .character-skills-drawer .modal-scroll-body{overflow-x:hidden}
#modal .character-skills-drawer .character-skills-content{width:100%;min-width:0}
#modal .character-skills-drawer .character-skills-content[data-skill-view="guide"]{padding:3px 2px 28px}
/* One readable layout for every skill guide, including narrow phone sheets. */
#modal .character-skills-drawer .skill-guide{font-size:13px;line-height:1.45}
#modal .character-skills-drawer .guide-heading{display:flex;align-items:center;gap:16px;margin:0 0 14px}
#modal .character-skills-drawer .guide-back{display:inline-flex;align-items:center;min-height:36px;margin:0;padding:8px 11px;border:0;border-radius:10px;background:#203e4b;color:#f2d48c;font-size:11px;font-weight:600;box-shadow:none}
#modal .character-skills-drawer .guide-heading h1{margin:0;font-size:22px;line-height:1.2}
#modal .character-skills-drawer .guide-summary{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;margin:0;padding:16px;border:0;border-radius:14px;background:#1d3c48;box-shadow:none}
#modal .character-skills-drawer .guide-summary>.skill-icon{width:48px;height:48px;flex:none}
#modal .character-skills-drawer .guide-summary h2{margin:0;font-size:23px;line-height:1.2;font-variant-numeric:tabular-nums}
#modal .character-skills-drawer .guide-summary h2>span{font-size:12px;font-weight:500;color:#b8cbca}
#modal .character-skills-drawer .guide-summary h2>small{margin-left:4px;font-size:12px;font-weight:400;color:#96adad}
#modal .character-skills-drawer .guide-summary .progress{height:5px;margin:11px 0 9px;border:0;border-radius:5px}
#modal .character-skills-drawer .guide-xp{display:flex;flex-wrap:wrap;gap:5px 15px;color:#a8bfbd;font-size:10px;line-height:1.4}
#modal .character-skills-drawer .guide-xp b{color:#e7efeb;font-weight:600;font-variant-numeric:tabular-nums}
#modal .character-skills-drawer .guide-training{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:11px 16px;margin:14px 0 0;padding:0;border:0;background:transparent;box-shadow:none}
#modal .character-skills-drawer .guide-training>p{flex:1 1 150px;margin:0;font-size:12px;line-height:1.5;color:#bbcfcc}
#modal .character-skills-drawer .guide-training>button{flex:none;min-height:36px;margin:0;padding:9px 12px;border:0;border-radius:10px;font-size:11px;box-shadow:none}
#modal .character-skills-drawer .guide-help{flex-basis:100%;margin:16px 0 0;color:#adbfbd;font-size:11px;line-height:1.6}
#modal .character-skills-drawer .guide-help summary{cursor:pointer;color:#d7dfd6;font-weight:600;padding:5px 0}
#modal .character-skills-drawer .guide-help p{margin:7px 0 0;font-size:11px;line-height:1.6}
#modal .character-skills-drawer .guide-help ul{margin:7px 0 0;padding-left:18px}
#modal .character-skills-drawer .guide-help li+li{margin-top:5px}
#modal .character-skills-drawer .guide-section{margin-top:24px}
#modal .character-skills-drawer .guide-section .section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 11px;gap:12px}
#modal .character-skills-drawer .guide-section .section-head h2{margin:0;font-size:16px;line-height:1.3}
#modal .character-skills-drawer .guide-section .section-head>span{font-size:11px;color:#94afae}
#modal .character-skills-drawer .unlock-grid{display:grid;grid-template-columns:1fr;gap:8px}
#modal .character-skills-drawer .guide-unlock-card{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:12px;border:0;border-radius:13px;background:#1d3a46;box-shadow:none;opacity:1}
#modal .character-skills-drawer .guide-item-heading{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;flex:none}
#modal .character-skills-drawer .guide-item-heading.has-equip{grid-template-rows:auto auto;column-gap:12px;row-gap:1px}
#modal .character-skills-drawer .guide-item-heading.has-equip>.pixel-icon{grid-column:1;grid-row:1 / 3}
#modal .character-skills-drawer .guide-item-heading.has-equip>div{grid-column:2;grid-row:2}
#modal .character-skills-drawer .guide-item-heading.has-equip>.guide-equip-requirement{grid-column:2;grid-row:1;justify-self:end;margin:0;white-space:nowrap}
#modal .character-skills-drawer .guide-item-heading>.pixel-icon{width:44px;height:44px;object-fit:contain}
#modal .character-skills-drawer .guide-item-heading>div{min-width:0}
#modal .character-skills-drawer .guide-unlock-card .unlock-level{margin:0 0 4px;color:#e4c079;font-size:10px;line-height:1.3;letter-spacing:.025em;font-weight:500;text-transform:none}
#modal .character-skills-drawer .guide-unlock-card.unavailable .unlock-level{color:#b9b4a7}
#modal .character-skills-drawer .guide-unlock-card h3{margin:0;color:#ecf2ed;font-size:14px;line-height:1.35;font-weight:600}
#modal .character-skills-drawer .guide-output{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 0;color:#9db8b5;font-size:10px}
#modal .character-skills-drawer .guide-item-body{flex:none;margin-top:7px}
#modal .character-skills-drawer .guide-item-body:empty{display:none}
#modal .character-skills-drawer .guide-item-benefits{margin:0;font-size:12px;line-height:1.5;color:#c8d9d3}
#modal .character-skills-drawer .guide-unlock-card .costs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:fit-content;max-width:100%;justify-content:start;align-items:center;gap:4px 10px;margin:10px 0 0;padding:0;font-size:11px;line-height:1.4}
#modal .character-skills-drawer .guide-unlock-card .costs:first-child{margin-top:0}
#modal .character-skills-drawer .guide-unlock-card .costs>span,
#modal .character-skills-drawer .guide-unlock-card .costs>.missing-material{display:inline-flex;align-items:center;gap:4px;width:auto;min-width:0;min-height:26px;margin:0;padding:0;border:0;border-radius:5px;background:transparent;font-size:11px;font-weight:400;line-height:1.4;color:#d6e3da!important;white-space:normal}
#modal .character-skills-drawer .guide-unlock-card .costs>.missing-material:hover{background:#ffffff08;text-decoration:underline;text-underline-offset:3px}
#modal .character-skills-drawer .guide-unlock-card .costs>.missing-material{min-height:26px!important}
#modal .character-skills-drawer .guide-unlock-card .costs>.missing-material:focus-visible{outline:2px solid #e7bb6f;outline-offset:2px}
#modal .character-skills-drawer .guide-unlock-card .costs .pixel-icon{width:18px;height:18px;object-fit:contain;flex:none}
#modal .character-skills-drawer .guide-item-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-top:8px}
#modal .character-skills-drawer .guide-item-footer:empty{display:none}
#modal .character-skills-drawer .guide-item-footer>.guide-row-action{min-height:34px;margin:0;padding:8px 11px;border:0;border-radius:9px;background:#122e3b;font-size:11px;line-height:1.4;font-weight:600;box-shadow:none;white-space:normal}
#modal .character-skills-drawer .guide-recipe-card{display:grid;grid-template-columns:minmax(0,1fr) clamp(96px,34%,124px);column-gap:12px;row-gap:10px}
#modal .character-skills-drawer .guide-recipe-card .guide-item-heading{grid-column:1;grid-row:1;grid-template-columns:38px minmax(0,1fr);gap:9px;min-width:0;align-self:start}
#modal .character-skills-drawer .guide-recipe-card .guide-item-heading>.pixel-icon{width:38px;height:38px}
#modal .character-skills-drawer .guide-recipe-card .guide-item-body{display:contents}
#modal .character-skills-drawer .guide-recipe-card .guide-item-benefits{grid-column:1 / -1;min-width:0;padding-left:47px}
#modal .character-skills-drawer .guide-recipe-card .costs{grid-column:1 / -1;display:flex;flex-wrap:wrap;width:100%;margin:10px 0 0}
#modal .character-skills-drawer .guide-recipe-card .guide-item-footer{grid-column:2;grid-row:1;align-self:start;justify-self:end;justify-content:flex-end;width:100%;margin:0}
#modal .character-skills-drawer .guide-recipe-card .guide-item-footer>.guide-row-action{max-width:100%;width:100%;min-height:40px;padding:9px 10px;white-space:normal;text-align:center}
#modal .character-skills-drawer .guide-activity-card{display:grid;grid-template-columns:minmax(0,1fr) clamp(96px,34%,124px);column-gap:12px;row-gap:10px;padding:12px}
#modal .character-skills-drawer .guide-activity-card .guide-item-heading{grid-column:1;grid-row:1;grid-template-columns:38px minmax(0,1fr);gap:9px;min-width:0}
#modal .character-skills-drawer .guide-activity-card .guide-item-heading>.pixel-icon{width:38px;height:38px}
#modal .character-skills-drawer .guide-activity-card .guide-item-body{grid-column:1 / -1;grid-row:2;min-width:0;margin:0}
#modal .character-skills-drawer .guide-activity-card .guide-item-footer{grid-column:2;grid-row:1;align-self:start;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:100%;margin:0}
#modal .character-skills-drawer .guide-activity-card .guide-item-footer>.guide-row-action{max-width:100%;width:100%;min-height:40px;padding:9px 10px;white-space:normal;overflow-wrap:normal;text-align:center}
#modal .character-skills-drawer .guide-activity-card .guide-item-footer>.guide-row-action:disabled,
#modal .character-skills-drawer .guide-recipe-card .guide-item-footer>.guide-row-action:disabled{background:#19313d;color:#afc0c6;opacity:1;cursor:not-allowed;box-shadow:none}
#modal .character-skills-drawer .guide-activity-card .guide-item-footer>.guide-equip-requirement{max-width:100%;margin:0;font-family:inherit;font-size:10px;line-height:1.4;text-align:center;white-space:normal}
#modal .character-skills-drawer .combat-gear-list{display:grid;gap:8px}
#modal .character-skills-drawer .combat-gear-tier{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:12px;border:0;border-radius:12px;background:#1d3a46}
#modal .character-skills-drawer .combat-gear-art{display:grid;place-items:center;width:42px;height:42px}
#modal .character-skills-drawer .combat-gear-art .pixel-icon{width:42px;height:42px;object-fit:contain}
#modal .character-skills-drawer .combat-gear-detail{min-width:0}
#modal .character-skills-drawer .combat-gear-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
#modal .character-skills-drawer .combat-gear-title h3{margin:0;color:#edf2e9;font-size:14px;line-height:1.3;font-weight:700}
#modal .character-skills-drawer .combat-gear-title small{flex:none;color:#e1c17f;font-size:9px;font-weight:700;letter-spacing:.06em}
#modal .character-skills-drawer .combat-gear-level{display:grid;grid-template-columns:43px minmax(0,1fr);gap:7px;margin-top:6px;color:#bdced0;font-size:11px;line-height:1.35}
#modal .character-skills-drawer .combat-gear-level b{color:#e4c482;font-size:10px;white-space:nowrap}
#modal .character-skills-drawer .combat-gear-level.is-unlocked b{color:#8fdaaf}
#modal .character-skills-drawer .guide-equip-requirement{margin-left:auto;text-align:right;color:#9bb3b3;font-family:Consolas,monospace;font-size:10px;line-height:1.4;letter-spacing:0}
#modal .character-skills-drawer .guide-equip-requirement.requirement-unmet{color:#d6b691}
#modal .character-skills-drawer .smithing-guide-tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
#modal .character-skills-drawer .smithing-guide-tabs>button{flex:1;min-height:36px;margin:0;padding:8px;border:0;border-radius:9px;font-size:11px;box-shadow:none}
#modal .character-skills-drawer .smithing-guide-tabs>button.selected,
#modal .character-skills-drawer .smithing-guide-tabs>button.selected:hover:not(:disabled){border:0;background:#315d78;color:#edf7ff;box-shadow:none}
@media(max-width:360px){
 #modal .character-skills-drawer .guide-heading{gap:12px}
 #modal .character-skills-drawer .guide-heading h1{font-size:20px}
 #modal .character-skills-drawer .guide-summary{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:14px}
 #modal .character-skills-drawer .guide-summary>.skill-icon{width:40px;height:40px}
 #modal .character-skills-drawer .guide-unlock-card{padding:11px}
}

/* The Skills heading replaces the old tab strip beneath the app header. */
.main-content[data-page="activities"]:has(>.skills-page-heading)>.app-page-heading{display:none}

/* The companion sits behind the survivor, with its feet slightly farther away. */
#survivor-model-stage:has(.character-pet){isolation:isolate;z-index:0}
.character-composition:has(>.character-pet)>:is(.male-rive,.female-rive){z-index:2}
.character-composition>.character-pet{position:absolute;z-index:1;left:calc(43% + 2.857143cqh);bottom:7.142857cqh;width:31.428571cqh;height:31.428571cqh;pointer-events:none}
.character-pet>img,.character-pet>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.character-pet::before{content:"";position:absolute;left:27%;bottom:0;width:65%;height:11%;pointer-events:none;background:radial-gradient(ellipse at center,#080f146b 10%,#080f143d 42%,#080f1414 63%,transparent 75%)}
.character-pet>canvas{visibility:hidden}
.character-pet[data-rive-mount="ready"]>canvas{visibility:visible}
.character-pet:has(>canvas):not([data-rive-mount="ready"])::before{visibility:hidden}
@media(max-width:800px){
 .character-composition>.character-pet{left:calc(43% + 3.076923cqh);bottom:9.230769cqh;width:33.846154cqh;height:33.846154cqh}
}

/* Owned companion choices pair a face crop with the extra active bonus. */
.character-pet-choice-panel .pet-choice-intro{margin:-6px 0 14px;color:#a9c5ce;font-size:12px;line-height:1.5}
.character-pet-choice-panel .choice-options>.pet-choice{display:flex;align-items:center;gap:12px;padding:10px;min-height:82px;border:0}
.pet-choice-face{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;overflow:hidden;border-radius:14px;background:#112c38}
.pet-choice-face .pet-model{width:58px;height:58px;overflow:hidden!important}
.pet-choice-copy{display:grid;gap:5px;flex:1;min-width:0}
.pet-choice-copy strong{font-size:14px}
.pet-choice-copy small{font-size:11px;line-height:1.5;color:#b8d2d8;font-weight:400}
.pet-choice-active{flex:none;color:#ffda77;font-size:18px;padding-right:3px}

/* The authored square canvas sets each companion's relative size. */
.pet-roster .pet-card,.pet-roster .pet-card>small,.pet-roster-bar{border:0!important}
.pet-roster .active-pet{box-shadow:0 8px 24px #ffc34d18}
.pet-roster .pet-portrait>.pet-smooth{aspect-ratio:1;image-rendering:auto;animation:none!important}
.character-pet>img{image-rendering:auto}

/* Event unlocks and owned display choices reuse the game's reward surfaces. */
.event-trophy-modal{overflow:hidden;background:var(--game-popup-bg,#122e3b)!important;border:0!important}
.event-trophy-unlock{position:relative;isolation:isolate;display:grid;justify-items:center;gap:14px;text-align:center;padding:20px 8px;color:#f4e7c7}
.event-trophy-unlock>.eyebrow{color:#ffda83;letter-spacing:2px}
.event-trophy-unlock h2,.event-trophy-unlock p{margin:0}
.event-trophy-hero{display:grid;place-items:center;width:150px;height:138px;background:radial-gradient(ellipse,#ffd56b24,transparent 70%);filter:drop-shadow(0 6px 14px #ffc44824)}
.event-trophy-unlock.is-earned:not(.is-still) .event-trophy-hero{animation:event-trophy-reveal .8s cubic-bezier(.16,1,.3,1) both}
.event-trophy-unlocked{padding:7px 14px;background:#345164;color:#ffe0a0;border-radius:18px;font-weight:700;font-size:12px}
.event-trophy-reward{display:flex;align-items:center;gap:9px;color:#ffda83;font-size:21px}
.event-trophy-actions{display:grid;gap:10px;width:100%;margin-top:8px}
.event-trophy-unlock .quest-claim-sparkles{z-index:-1}
@keyframes event-trophy-reveal{0%{opacity:0;transform:translateY(26px) scale(.55) rotate(-12deg)}65%{opacity:1;transform:translateY(-8px) scale(1.1) rotate(3deg)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.event-trophy-unlock.is-earned .event-trophy-hero{animation:none}}
.profile-display-settings{display:grid;gap:18px;padding:20px;margin-top:16px;background:#19343f;border-radius:18px}
.profile-display-settings>h2,.profile-display-settings p,.profile-display-group h3{margin:0}
.profile-display-settings>p,.profile-display-empty{color:#adc6cd;font-size:12px;line-height:1.6}
.profile-display-group{display:grid;gap:12px;min-width:0}
.profile-display-group h3{text-transform:capitalize;font-size:15px;color:#efdbaa}
.profile-display-settings .character-display-options{display:grid;gap:8px;max-height:300px;overflow:auto}
.profile-display-settings .character-display-options>button{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;border-radius:12px;background:#244652;color:#e7efea;text-align:left;box-shadow:none}
.profile-display-settings .character-display-options>button[aria-pressed="true"]{background:#305e4c;color:#c5ffda}
.profile-display-settings .character-display-options>button>span:not(.trophy-art){display:grid;gap:5px;flex:1;min-width:0}
.profile-display-settings .character-display-options small{color:#acc8c8;font-size:11px}
.profile-display-settings .character-display-options>button{height:auto;min-height:64px}
.profile-display-settings .character-display-options .trophy-art{width:40px;height:40px;max-width:40px;flex:0 0 40px}
.profile-display-settings .character-display-options .trophy-art img{width:100%;height:100%;object-fit:contain}
.profile-display-settings .character-display-options b{white-space:normal;overflow:visible;line-height:1.4}
.quest-project-checklist .level-locked .quest-level-requirement{color:#ff9d91}
.quest-current-actions>.quest-unlock-button{background:#783e3b!important;color:#ffe2d9!important;border:0;box-shadow:none;white-space:normal;width:100%;max-width:100%;line-height:1.4}

/* Unread events sit immediately after the tab label. */
.journal-primary-tabs [data-sub="events"]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.journal-primary-tabs [data-sub="events"] .navigation-unread{position:static;flex:none;width:8px;height:8px;margin:0;border:0;border-radius:50%;background:#ed6667;box-shadow:0 0 8px #ed666744}
.navigation-unread.is-claimable,.journal-primary-tabs [data-sub="events"] .navigation-unread.is-claimable{background:#68d98b;box-shadow:0 0 8px #68d98b66}
[data-collection-unclaimed][hidden],.journal-primary-tabs .navigation-unread[hidden]{display:none!important}

/* Keep the scrollable gathering page below the live activity/queue bar. */
@media(max-width:800px){
 body:has(#app .workspace) .main-content[data-page="activities"]{top:0!important;padding:calc(max(env(safe-area-inset-top,0px),var(--queue-clearance,0px)) + 8px) 12px calc(var(--app-dock-height,0px) + env(safe-area-inset-bottom,0px) + 24px)!important;scroll-padding-top:8px}
}
.main-content[data-page="activities"] #skills-content,.main-content[data-page="activities"] #gather-page{margin-top:0;padding-top:0}
.main-content[data-page="activities"] #gather-page .gather-list{margin-top:0;padding-top:8px;gap:10px}

.character-rpg .survivor-stage .character-activity-status{position:absolute;top:67px;left:6px;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;min-width:134px;max-width:calc(100vw - 48px);padding:8px 13px;border:0;border-radius:18px;background:#153440e6;box-shadow:0 3px 10px #06141d30;color:#c4d5dd;font:600 8px/1.4 system-ui;letter-spacing:1px;text-transform:uppercase;pointer-events:none}
.character-activity-status i{flex:none;width:6px;height:6px;border-radius:50%;background:#9aa7ad}
.character-activity-status.is-active i{background:#68d98b;box-shadow:0 0 6px #68d98b44}
.character-activity-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Active armour sets span both loadout columns between Equipment and Tools. */
#modal .character-loadout-set-bonuses{min-width:0;width:100%}
#modal .character-loadout-set-bonuses h2{margin:0 0 12px}
#modal #character-set-badges{display:grid;gap:9px;width:100%}
#modal .character-set-badge{min-width:0;padding:14px 16px;border:0;border-radius:13px;background:#1c3942;box-shadow:0 8px 22px #03121b26}
#modal .character-set-badge>header{display:flex;align-items:center;gap:9px;color:#f2d18a;font:750 13px/1.3 system-ui}
#modal .character-set-badge>header svg{width:19px;height:19px;flex:none}
#modal .character-set-badge>header strong{flex:1;min-width:0;font:inherit}
#modal .character-set-badge>header>span{flex:none;font-size:11px;font-variant-numeric:tabular-nums}
#modal .character-set-pieces{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}
#modal .character-set-pieces i{height:5px;border-radius:999px;background:#405761}
#modal .character-set-pieces i.is-filled{background:#f0d38c;box-shadow:0 0 5px #efd68b22}
#modal .character-set-effects{display:flex;flex-wrap:wrap;gap:4px 16px;color:#a9e4ba;font:650 11px/1.3 system-ui}
#modal .character-set-badge.is-incomplete .character-set-effects{color:#b5c4c7}

@media(max-width:800px) and (max-height:700px){.character-buffs-shortcut>.character-buff-timers{right:calc(50% + 21.5px);top:21.1px}}


.activity-tool-warning{align-self:center;color:#f4ba85;font:700 9px/1.2 system-ui;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.character-rpg .survivor-stage .equipment-slot.is-broken,
#modal .tools-drawer-list .equipment-slot.is-broken,
#modal .loadout-picker .loadout-item.is-broken{border:0;background:linear-gradient(120deg,#512a30ed,#251f29ed);box-shadow:0 5px 18px #0004}
.character-rpg .survivor-stage .equipment-slot.is-broken:hover,
#modal .tools-drawer-list .equipment-slot.is-broken:hover{background:#643139}

.equipment-slot.is-broken .item-art>.item-icon,.overview-gear.is-broken .item-icon,.loadout-item.is-broken .loadout-item-art>.item-icon,.storage-view .inventory-item.is-broken>.item-icon,#modal .item-popup.is-broken .item-popup-art>.item-icon,.stats-amulet.is-broken .stats-amulet-art>.item-icon{filter:grayscale(1) brightness(.55);opacity:.82}


.durability-broken-label{display:inline-block;color:#ffd8d5;background:#a3343c;border-radius:5px;padding:2px 5px;font:800 9px/1 system-ui;letter-spacing:.04em}
.durability-broken>span{color:#ffb8b5}
.durability-broken-label{margin-left:6px}
.mobile-character-actions .character-equipment-icon{position:relative;display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto}
.mobile-character-actions .character-equipment-icon .character-shortcut-art{position:relative;z-index:1}
.mobile-character-actions .character-shortcut.has-broken-gear>button{background:#10232ef2;color:#e1d4b0;box-shadow:0 3px 10px #0003}
.mobile-character-actions .character-broken-label{position:absolute;right:calc(100% - 18px);top:calc(50% - 9px);transform:translateY(-50%);padding:7px 8px;border-radius:8px;background:#a72f36;color:#fff0ec;box-shadow:0 4px 12px #23060b88;font:400 9px/1 system-ui;letter-spacing:.03em;white-space:nowrap}
.mobile-character-actions .character-broken-label[hidden]{display:none}
@media(max-width:800px) and (max-height:700px){.mobile-character-actions .character-equipment-icon{width:31px;height:31px}}
@media(max-width:800px){.header-shell .activity-bar .activity-tool-warning{flex:0 1 auto;min-width:0;font-size:8px;white-space:nowrap}.header-shell .activity-bar .activity-title:has(.activity-tool-warning)>.mobile-task-rounds{display:none}.header-shell .activity-bar .activity-title{gap:4px}.header-shell .activity-bar .activity-title>b{flex:1 1 auto;min-width:0}}
.header-shell .activity-bar.auto-expedition-bar .activity-title>b{flex:0 0 auto}
.header-shell .activity-bar.auto-expedition-bar .activity-title>span{margin-left:0!important}
#modal .character-loadout-section .tools-drawer-grid>.equipment-slot{border:0}
#modal .character-loadout-section .equipment-visual{align-self:center;justify-self:center}
#modal .character-loadout-section .equipment-visual .item-art{display:grid;place-items:center}
#modal .character-loadout-section .equipment-visual .item-art .pixel-icon{display:block;margin:auto}
#modal .character-loadout-section .tools-drawer-grid>.equipment-slot{height:166px;min-height:166px;grid-template-rows:18px minmax(0,1fr) 18px}
.equipment-slot>.equipment-ammunition-count{grid-column:1/-1;grid-row:3;align-self:end;justify-self:end;color:#a9bdc4;font-size:10px;line-height:1.3;font-variant-numeric:tabular-nums}
@media(max-width:800px){#modal .character-loadout-section .tools-drawer-grid>.equipment-slot{height:114px;min-height:114px;grid-template-rows:14px minmax(0,1fr) 18px}#modal .character-loadout-section .equipment-visual,#modal .character-loadout-section .equipment-description{align-self:start}}

/* Keep equipped artwork and empty-slot glyphs centered in matching square tiles. */
#modal .character-loadout-section .equipment-visual .item-art{width:72px;height:72px;aspect-ratio:1;display:grid;place-items:center}
#modal .character-loadout-section .equipment-visual .item-art :is(img,.pixel-icon){display:block;width:62px;height:62px;max-width:62px;max-height:62px;margin:0;object-fit:contain}
#modal .character-loadout-section .equipment-visual .item-art.empty-art .pixel-icon{width:38px;height:38px;max-width:38px;max-height:38px}
@media(max-width:800px){
 #modal .character-loadout-section .equipment-visual .item-art{width:46px;height:46px}
 #modal .character-loadout-section .equipment-visual .item-art :is(img,.pixel-icon){width:40px;height:40px;max-width:40px;max-height:40px}
 #modal .character-loadout-section .equipment-visual .item-art.empty-art .pixel-icon{width:32px;height:32px;max-width:32px;max-height:32px}
}


.character-rpg .survivor-stage .dossier-level-name .faction-name-tag,.character-name-button .faction-name-tag{display:inline-block;vertical-align:baseline;margin-left:6px;padding:0;border:0;border-radius:0;background:none;color:#ffcf77;font:400 10px/1.2 Segoe UI,system-ui,sans-serif;letter-spacing:.02em;text-shadow:none}
@media(max-width:800px){.character-rpg .survivor-stage .dossier-header .dossier-level{max-width:calc(100vw - 28px)}.character-rpg .survivor-stage .dossier-level-name{overflow:visible;white-space:nowrap;line-height:1.4}}

/* The survivor stays central; a compact, directly editable loadout sits below. */
.character-rpg .survivor-stage .survivor-equipment,
.character-rpg .survivor-stage .desktop-character-buffs,
.character-rpg .survivor-stage .mobile-equipment-drawer-button,
.character-rpg .survivor-stage #character-equipped-bonuses{display:none!important}
.character-rpg .survivor-scene{min-height:560px}
/* Character actions and centered Equipment popup. */
.character-equipment-shell{position:fixed;inset:0;z-index:20000;pointer-events:none;color:#e8f0f0}
.character-equipment-scrim,.character-equipment-scrim:is(:hover,:active,:focus){position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:#06131d99!important;backdrop-filter:blur(7px);box-shadow:none!important;filter:none!important;opacity:0;pointer-events:none;transition:opacity .2s ease}
.character-equipment-shell.is-open .character-equipment-scrim{opacity:1;pointer-events:auto}
.character-action-rail{position:absolute;right:12px;bottom:var(--activity-bottom-clearance,72px);display:grid;grid-template-columns:1fr;gap:8px;width:min(190px,calc(100% - 24px));pointer-events:auto;transition:opacity .2s ease}
.character-action-tab{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-start;gap:10px;box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin:0;padding:0;border:0;border-radius:14px;background:transparent;color:#ffd166;font:inherit;text-align:right;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.character-action-tab:is(:hover,:focus,:active){background:transparent;box-shadow:none;filter:none;transform:none}
.character-action-tab:focus-visible{outline:2px solid #ffd166;outline-offset:3px}
.character-action-icon{display:block;flex:none;box-sizing:content-box;width:26px;height:26px;padding:8px;object-fit:contain;border-radius:50%;background:#122e3b;box-shadow:0 4px 12px #04101866;transition:background .15s,transform .15s}
.character-action-tab:hover .character-action-icon{background:#1c4355;transform:translateY(-2px)}
.character-action-tab:active .character-action-icon{transform:scale(.94)}
.character-action-copy{display:grid;justify-items:end;gap:3px;min-width:0;line-height:1.25;text-shadow:0 2px 4px #041018,0 0 8px #041018cc}
.character-action-copy strong{font-size:11px;font-weight:750;color:#ffd166}
.character-action-copy small{font-size:9px;color:#e0e9e7}
@media(max-width:360px){.character-action-copy strong{font-size:10px}.character-action-copy small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.character-action-icon{transition:none}.character-action-tab:hover .character-action-icon,.character-action-tab:active .character-action-icon{transform:none}}
.reduce-motion .character-action-icon{transition:none}.reduce-motion .character-action-tab:hover .character-action-icon,.reduce-motion .character-action-tab:active .character-action-icon{transform:none}
.character-buff-count{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-left:3px;border-radius:5px;background:#1c4355;font-size:10px}
.character-equipment-shell.is-open .character-action-rail{opacity:0;pointer-events:none}
.character-equipment-panel{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;width:min(420px,calc(100% - 24px));max-height:min(640px,82dvh,calc(100dvh - 32px));margin:0;padding:0;border:0;border-radius:20px;background:var(--game-popup-bg,#122e3b);box-shadow:0 18px 60px #05121c66;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-48%) scale(.98);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.character-equipment-shell.is-open .character-equipment-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%)}
.character-equipment-panel::before{content:'';height:5px;flex:none;background:#ffd166}
.character-equipment-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px}
.character-equipment-head h2{margin:0;color:#ffe3a4;font-family:Georgia,serif;font-size:27px;font-weight:700;line-height:1.1}
.character-equipment-actions{display:flex;align-items:center;gap:8px;flex:none}
.character-equipment-head .quick-stats-details{color:#ffd166}
.character-equipment-head button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:11px;background:var(--game-popup-raised,#1c4355);color:#dce9ed;box-shadow:none}
.character-equipment-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:0 16px 20px}
.character-equipment-body::-webkit-scrollbar{display:none}
/* Hide content beneath the cue, including fractional pixels at its rounded edge. */
.character-equipment-body[data-scroll-cue-visible]{mask-image:linear-gradient(to bottom,#000 calc(100% - 24px),transparent calc(100% - 24px))}
.character-quick-loadout{display:grid;gap:16px;width:100%;min-width:0}
.equipment-drawer-section{min-width:0}
.equipment-stats-section{position:relative}
.character-equipment-panel .quick-stats-open,.character-equipment-panel .quick-stats-open:is(:hover,:focus,:active){position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;box-shadow:none;transform:none;cursor:pointer}
.equipment-drawer-section h3{margin:0 0 8px;font-size:12px;font-weight:800;color:#c9d9de}
.quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.quick-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;min-width:0;min-height:54px;padding:8px 4px;border:0;border-radius:10px;background:var(--game-popup-raised,#1c4355)}
.quick-stat-caption{display:flex;align-items:center;justify-content:center;min-height:18px;font-size:7px;font-weight:700;letter-spacing:.25px;line-height:1.2;text-transform:uppercase;text-wrap:balance;color:#b7ced2}
.quick-stat-value{font-size:clamp(13px,3.8vw,16px);line-height:1.05;color:#f7d27f;font-variant-numeric:tabular-nums;white-space:nowrap}
.quick-stat-health .quick-stat-value{color:#ffa8a0}
.quick-stat-defence .quick-stat-value{color:#98ddca}
.quick-stats-details{display:grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;padding:7px;border:0;border-radius:9px;background:var(--game-popup-raised,#1c4355);color:#ffd166;box-shadow:none}
.quick-stats-details svg{display:block;width:22px;height:22px}
.quick-stats-details:focus-visible{outline:2px solid #ffd166;outline-offset:2px}
.quick-loadout-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.quick-loadout-slot{display:grid;grid-template-rows:42px minmax(12px,auto);justify-items:center;align-content:center;gap:5px;min-width:0;min-height:75px;margin:0;padding:8px 6px;border:0;border-radius:12px;background:var(--game-popup-raised,#1c4355);color:#d6e3e7;box-shadow:none;cursor:pointer;touch-action:manipulation}
.quick-loadout-slot.is-broken{background:#5a3036}
.quick-loadout-slot.is-broken .quick-loadout-art{filter:grayscale(1) brightness(.55);opacity:.82}
.quick-loadout-slot:not(.is-equipped) .quick-loadout-art{opacity:1;filter:none}
.quick-loadout-slot:not(.is-equipped) .quick-loadout-art>.empty-equipment-slot-art{width:34px;height:34px}
.character-equipment-panel .quick-loadout-slot:is(:hover,:focus,:active):not(:disabled){background:#285263;color:#ffd166;box-shadow:none;transform:none}
.character-equipment-panel .quick-loadout-slot.is-broken:is(:hover,:focus,:active):not(:disabled){background:#6b3940}
.quick-pet-slot:hover{background:#2c5260}
.quick-loadout-art{display:grid;place-items:center;width:42px;height:42px;min-width:0}
.quick-loadout-art>:is(img,svg,.item-icon){display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.quick-loadout-label{display:block;align-self:center;max-width:100%;font-size:10px;font-weight:600;line-height:1.2;text-align:center}
@media(max-width:360px){.quick-loadout-label{font-size:9px}.quick-loadout-row{gap:7px}}
.quick-pet-slot{display:flex;align-items:center;gap:10px;width:100%;min-height:66px;padding:9px 12px;border:0;border-radius:12px;background:var(--game-popup-raised,#1c4355);color:#e8f0f0;text-align:left;box-shadow:none}
.quick-pet-slot .quick-loadout-art{flex:0 0 44px;width:44px;height:44px}
.quick-pet-description{display:grid;gap:4px;min-width:0;flex:1}
.quick-pet-description strong{font-size:12px}.quick-pet-description small{font-size:10px;color:#acc0c6}.quick-pet-chevron{font-size:24px;color:#ffd166}
.character-equipment-shell button:focus-visible{outline:2px solid #ffd166;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.character-equipment-shell *{transition:none!important}}
.reduce-motion .character-equipment-shell *{transition:none!important}
#modal .modal-backdrop:has(.quick-slot-dialog){display:grid!important;place-items:center!important;padding:16px!important;backdrop-filter:blur(7px)}
#modal .quick-slot-dialog.modal{position:relative!important;inset:auto!important;transform:none!important;width:min(490px,100%)!important;height:auto!important;max-height:calc(100dvh - 32px)!important;margin:0!important;border:0!important;border-radius:19px!important;background:#153440!important;box-shadow:0 18px 60px #010b14bb!important;animation:none!important}
#modal .quick-slot-dialog.modal:has(.quick-pet-picker){width:min(390px,calc(100vw - 32px))!important;min-width:min(360px,calc(100vw - 32px))!important}
#modal .quick-slot-dialog.character-slot-picker-dialog{width:min(430px,calc(100vw - 32px))!important}
#modal .quick-slot-dialog .modal-scroll-body{min-height:0;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
#modal .quick-slot-dialog .modal-fixed-head{border:0;box-shadow:none}
.quick-pet-picker>p{margin:2px 0 13px;color:#acc0c6;font-size:12px}
.quick-pet-options{display:grid;gap:7px;max-height:52dvh;overflow-y:auto}
.quick-pet-option{display:flex;align-items:center;gap:11px;width:100%;min-height:66px;padding:6px 12px;border:0;border-radius:12px;background:#1d3c48;color:#e8f0f0;text-align:left;cursor:pointer}
.quick-pet-option:hover,.quick-pet-option.is-active{background:#2b5360}
.quick-pet-option>span{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px}.quick-pet-option img{max-width:52px;max-height:52px;object-fit:contain}
.quick-pet-option svg{display:block;max-width:52px;max-height:52px}
.quick-pet-option strong{flex:1;font-size:13px}.quick-pet-option small{color:#ffd166;font-size:10px}
.quick-pet-rest{position:relative;z-index:1;display:grid;place-items:center;width:100%;min-height:42px;margin-top:10px;border:0;border-radius:10px;background:#254651;color:#d7e7e9;cursor:pointer}
@media(min-width:801px){.character-rpg .survivor-scene{height:calc(100dvh - 90px)!important;min-height:560px}.character-rpg #survivor-model-stage>.character-composition{translate:0 -72px!important}}
@media(max-width:800px){
 .character-rpg .survivor-stage .desktop-character-buffs,.character-rpg .survivor-stage .mobile-character-actions{display:none!important}
 .character-rpg .survivor-scene{min-height:0}
 .character-rpg #survivor-model-stage>.character-composition{height:min(75%,calc(100% - 180px))!important;bottom:-44px!important}
}
@media(max-height:700px) and (max-width:800px){.character-rpg #survivor-model-stage>.character-composition{height:min(75%,calc(100% - 180px))!important;bottom:-44px!important}}

/* Base artwork sits behind the front-facing survivor; his feet stay on clear ground. */
.character-rpg .survivor-stage::before{
 content:'';
 position:absolute;
 inset:0;
 z-index:0;
 pointer-events:none;
 background-image:linear-gradient(180deg,#1026318c 0%,transparent 24%),var(--character-scene-image,url('assets/Current/ui/character/base-clearing-front-v2.webp'));
 background-position:center top;
 background-size:cover;
 background-repeat:no-repeat;
}
.character-rpg .survivor-scene{z-index:1}

/* Equipment appearance preference, ready for helmet artwork. */
#modal .equipment-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
#modal .equipment-heading-row h2{margin:0}
#modal .hide-helmet-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 0 4px 8px;border:0;box-shadow:none;background:transparent;color:#c4d5db;font:inherit;font-size:11px;cursor:pointer;flex-shrink:0}
#modal .hide-helmet-toggle i{position:relative;display:block;width:30px;height:18px;border-radius:12px;background:#38515d;transition:background .15s}
#modal .hide-helmet-toggle i::after{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#c4d5db;transition:transform .15s}
#modal .hide-helmet-toggle[aria-checked="true"] i{background:#427c78}
#modal .hide-helmet-toggle[aria-checked="true"] i::after{transform:translateX(12px);background:#b1f1d3}
#modal .hide-helmet-toggle:focus-visible{outline:2px solid #e7b956;outline-offset:4px}
/* Guided opening moments sit in the centre of the scene. */
#modal .modal-backdrop.opening-tour-moment-backdrop{display:flex;align-items:center;justify-content:center;padding:16px;background:#06131bd6;backdrop-filter:blur(5px)}
#modal .modal.opening-tour-moment-modal{width:min(400px,100%);max-width:400px;max-height:calc(100dvh - 32px);margin:auto;padding:30px 22px 22px;border:0;border-radius:21px;background:#17333e;box-shadow:0 24px 72px #0009;overflow:auto}
.opening-tour-moment{display:grid;gap:14px;padding-top:8px;text-align:center}.opening-tour-moment .eyebrow{margin:0;color:#ffd17e}.opening-tour-moment h2{margin:0;color:#ffdf9c;font-size:25px}.opening-tour-moment p{margin:0;color:#d6e3dc;font-size:13px;line-height:1.6}.opening-tour-moment .primary{margin-top:6px;border:0}

/* The return summary is a centered dialog with only its rewards scrolling. */
#modal .modal-backdrop.return-report-backdrop{align-items:center;justify-content:center;padding:16px;background:#06131bd6;backdrop-filter:blur(5px)}
#modal .modal.return-report-modal{position:relative;inset:auto;display:flex;flex-direction:column;width:min(560px,100%);max-width:560px;max-height:min(720px,calc(100dvh - 32px));min-height:0;height:auto;margin:auto;padding:0;border:0;border-radius:21px;background:var(--game-popup-bg,#122e3b);box-shadow:0 24px 72px #0009;overflow:hidden;animation:none}
#modal .return-report-modal .modal-close{position:absolute;z-index:2;top:16px;right:16px;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:10px;background:var(--game-popup-raised,#1c4355);color:#e8f0f0}
#modal .return-report{display:flex;flex-direction:column;width:100%;min-height:0}
#modal .return-report .return-welcome{flex:none;gap:13px;margin:0;padding:22px 60px 14px 20px}

#modal .return-report .return-scroll{flex:1 1 auto;min-height:0;padding:4px 20px 10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
#modal .return-report .return-scroll::-webkit-scrollbar{display:none}
#modal .return-report .return-loot{max-height:none;overflow:visible}
#modal .return-report .return-empty-state{border:0;background:#204452}
#modal .return-report .return-skill-grid>div,#modal .return-report .return-loot .rewards>span{border:0;background:#204452}
#modal .return-report .return-continuing{display:flex;align-items:center;gap:8px;min-height:36px;margin:10px 0 0;padding:9px 12px;border:0;border-radius:10px;background:#254957;color:#e1ebeb;box-shadow:0 6px 18px #071e2630}
#modal .return-report .return-continuing span{color:#f0c66e;font-size:18px;font-weight:800;line-height:1}
#modal .return-report .return-footer{flex:none;justify-content:stretch;margin:0;padding:14px 20px 20px;background:var(--game-popup-bg,#122e3b);box-shadow:0 -8px 20px #061d2538}
#modal .return-report .return-footer>button{width:100%;min-width:0;min-height:46px;margin:0}
@media(max-width:600px){#modal .modal-backdrop.return-report-backdrop{padding:12px}#modal .modal.return-report-modal{width:100%;max-height:min(720px,calc(100dvh - 24px))}#modal .return-report .return-welcome{padding:19px 58px 11px 16px}#modal .return-report .return-scroll{padding:4px 16px 8px}#modal .return-report .return-footer{padding:12px 16px 16px}}

/* Welcome-back notices share the same rounded blue card language. */
#modal .return-report :is(.return-interruption,.return-raids,.return-empty-state,.return-repairs,.building-receipt,.return-continuing,.return-supplies,.return-levels,.victory-receipt,.return-skill-grid>div){border:0;border-radius:14px;background:var(--game-popup-raised,#1c4355);color:#e8f0f0;box-shadow:none}
#modal .return-report .return-interruption{padding:14px 16px;margin:14px 0 10px}
#modal .return-report .return-interruption>b{color:var(--accent,#ffc34d);font-size:12px;line-height:1.4}
#modal .return-report :is(.return-interruption,.return-raids,.return-empty-state) p{color:#acc0c6;font-size:12px;line-height:1.55}
#modal .return-report .return-skill-grid>div>b,#modal .return-report .return-repairs b{color:var(--accent,#ffc34d)}

/* Each return update is one compact, raised-blue card, including supplies. */
#modal .return-report .return-scroll> :is(section,aside,.return-continuing){padding:14px 16px;margin:0 0 12px;border:0;border-radius:14px;background:var(--game-popup-raised,#1c4355);box-shadow:none}
#modal .return-report .return-scroll>:last-child{margin-bottom:0}
#modal .return-report .return-supplies .return-loot-title{margin:0 0 10px;color:#ffd166;font-size:13px}
#modal .return-report .return-supplies>p{margin:0 0 10px;color:#acc0c6;font-size:12px;line-height:1.5}
#modal .return-report .return-loot{padding:0}
#modal .return-report .rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0;padding:0}
#modal .return-report .rewards>span{min-width:0;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
#modal .return-report .return-loot-more{margin:10px 0 0;color:#ffd166;font-size:11px;font-weight:700}
#modal .return-report .return-skill-grid>div{padding:4px 0;min-height:48px;background:transparent}
#modal .return-report button:focus-visible{outline:2px solid #ffd166;outline-offset:2px}

#modal .return-report .auto-return-haul>.eyebrow{color:#ffd166}

/* Real WebP placeholders stay quieter than equipped items, with no icon backing tile. */
.empty-equipment-slot-art{display:block;object-fit:contain;image-rendering:pixelated;filter:brightness(0) invert(1);opacity:.45;background:transparent;box-shadow:none}

/* Tutorial pointers must sit above the More drawer, without intercepting taps. */
body.has-opening-tour #objective-pointer-layer{z-index:30999}
#modal .tutorial-complete-popup .opening-quests-unlocked{font-size:17px;margin:12px 0 4px;color:#ffd166;opacity:1;animation:none}
#modal .tutorial-complete-popup .opening-tour-finish>h2{display:none}
#modal .modal-backdrop:has(.tutorial-complete-popup){align-items:center;padding:18px}

/* Destination art stays intact when shown in the compact expedition list. */
.adventure-picker .adventure-destination:not(.adventure-tier){background:var(--adventure-image) right center/auto 100% no-repeat,var(--game-popup-raised,#1c4355)}
.adventure-picker .adventure-destination:not(.adventure-tier)::before{background:linear-gradient(90deg,#1c4355 35%,#1c4355e6 58%,#1c435500 84%)}

