
:root{--bg:#0d0f12;--panel:#181b20;--panel2:#20242a;--border:#30353d;--muted:#929aa5;--text:#e4e7eb;--accent:#b5b4b3;--amber:#d7b777;--red:#c7856e;--sidebar:225px;color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:1px solid #4e4d4c;background:#2e2d2c;color:#d7d6d5;border-radius:5px;padding:9px 15px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#3d3c3b;border-color:#848382}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:3px}button.primary{background:var(--accent);color:#2d2c2b;border-color:var(--accent)}button.primary:hover:not(:disabled){background:#cdcccb}.small{padding:7px 10px;font-size:11px}.wide{width:100%}.danger{color:#e8a18c;border-color:#764e42;background:#382820}.text-button{background:transparent;border:none;color:var(--accent);padding-left:0}.icon-button{font-size:23px;padding:0 12px}input,select{width:100%;background:#101318;border:1px solid var(--border);color:var(--text);padding:11px 12px;border-radius:5px;outline:none}input:focus,select:focus{border-color:var(--accent)}input[readonly]{color:#a7a6a5}input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin:0}label{font-size:10px;color:var(--muted);letter-spacing:1px;display:block}label input:not([type=checkbox]),label select{margin:9px 0 17px;font-size:13px;letter-spacing:0}h1,h2,h3,h4,p{margin:0}h1{font-size:32px;letter-spacing:-1.1px;font-weight:600;line-height:1.25}h2{font-size:19px;font-weight:600;letter-spacing:-.3px}h3{font-size:14px;font-weight:600}h4{font-size:10px;color:var(--muted);letter-spacing:1px;margin-top:25px;margin-bottom:10px}p{color:#a7a6a5;font-size:12px;line-height:1.7}small{font-size:11px}.pixel-icon{flex-shrink:0;image-rendering:pixelated;vertical-align:middle}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--amber);font-weight:600;margin-bottom:12px}.pill{display:inline-flex;align-items:center;border:1px solid #4d4c4b;border-radius:4px;background:#31302f;color:#bbbab9;padding:5px 8px;font-size:9px;font-weight:600;letter-spacing:.8px;white-space:nowrap}.pill.green{background:#302f2e;border-color:#535251;color:#bfbebd}.meta{font-size:9px;letter-spacing:.6px;color:var(--muted)}.muted{color:var(--muted);margin:0 0 20px}.fine{font-size:11px;line-height:1.7;color:var(--muted)}.warning,.warn,.short{color:var(--red)!important}.good{color:var(--accent)}.sidebar{width:var(--sidebar);height:100dvh;position:fixed;top:0;left:0;background:#15181d;border-right:1px solid var(--border);padding:29px 17px 0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:9px;margin:0 8px 45px;color:#adacab;text-decoration:none;font-size:10px;letter-spacing:3px;line-height:1.6}.brand strong{font-size:14px;letter-spacing:1px;color:#e3e2e1}.brand strong span{color:var(--amber)}.side-label{font-size:8px;font-weight:600;letter-spacing:1.6px;color:#7a7978;padding:0 14px 14px}.nav-item{border:0;background:transparent;display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;text-align:left;color:#9d9c9b;font-size:12px;margin:3px 0;font-weight:500;position:relative}.nav-item.active{background:#31302f;color:#d9d8d7;box-shadow:inset 2px 0 var(--accent)}.nav-item.active .pixel-icon{filter:brightness(1.2)}.nav-dot{width:5px;height:5px;background:var(--amber);border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:24px}.local-status{color:#878685;font-size:8px;letter-spacing:1.4px;display:flex;align-items:center;gap:7px;padding:0 12px}.local-status i,.save-status i{width:5px;height:5px;border-radius:50%;background:#a5a4a3;display:inline-block}.settings-button{border:0;background:transparent;padding:17px 12px;color:var(--muted);font-weight:400}.profile{padding:20px 5px;border-top:1px solid var(--border);display:flex;align-items:center;gap:11px}.avatar{width:34px;height:34px;background:#363534;border:1px solid #6c6b6a;display:grid;place-items:center;color:#dad9d8;font-size:11px;border-radius:6px;flex-shrink:0}.profile b{display:block;font-size:11px;font-weight:500}.profile small{display:block;font-size:9px;color:#898887;margin-top:4px}.workspace{margin-left:var(--sidebar)}.topbar{height:68px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 35px;background:#121519;gap:20px}.base-label{display:flex;align-items:center;gap:11px;font-size:11px;color:#a6a5a4}.base-label .pill{font-size:8px;padding:4px 7px}.top-resources{display:flex;gap:24px;align-items:center}.top-resources>div{display:flex;align-items:center;gap:8px;font-size:12px}.top-resources b{font-weight:500;min-width:24px}.save-status{font-size:9px;color:#898887;display:flex;gap:7px;align-items:center;white-space:nowrap}.main-content{max-width:1440px;padding:35px 36px 130px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.page-heading .eyebrow{margin-bottom:8px}.page-heading p{margin-top:9px;font-size:12px}.base-layout{display:grid;grid-template-columns:minmax(0,1fr) 242px;gap:20px}.scene-panel{border:1px solid var(--border);border-radius:7px;overflow:hidden;background:#181c21;display:flex;flex-direction:column}.base-scene{width:100%;display:block;flex:1;min-height:205px;max-height:280px}.scene-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border);gap:10px}.scene-footer b{display:block;font-size:12px;font-weight:500}.scene-footer small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.weather{font-size:10px;color:#b0afae}.weather span{display:block;font-size:7px;letter-spacing:1px;color:#807f7e;padding-left:25px;margin-top:3px}.next-goal{border:1px solid #4d4c4b;border-radius:7px;background:linear-gradient(135deg,#28292a,#202328);padding:22px;display:flex;flex-direction:column;align-items:flex-start}.next-goal .eyebrow{font-size:8px;margin-bottom:12px}.next-goal h2{font-size:19px;margin-top:10px}.next-goal p{margin-top:10px}.next-goal small{color:#949392;line-height:1.6;font-size:10px;margin-top:7px}.next-goal button{margin-top:auto;padding-top:13px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 32px;border:1px solid var(--border);border-radius:6px;background:#15181d}.stat-row>div{display:flex;align-items:center;gap:12px;padding:17px 20px;border-right:1px solid var(--border)}.stat-row>div:last-child{border:0}.stat-row span{font-size:7px;letter-spacing:1px;color:#949392}.stat-row strong{display:block;color:#dbdad9;font-size:19px;margin-top:7px;font-weight:500;letter-spacing:0}.stat-row strong small{font-size:9px;color:var(--muted);font-weight:400}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:27px 0 17px}.section-head h2{font-size:17px}.section-head>span{color:#8c8b8a;font-size:10px}.section-head p{margin-top:5px}.building-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.building-card{background:var(--panel);border:1px solid var(--border);border-radius:7px;padding:18px;display:flex;flex-direction:column}.card-heading{display:flex;align-items:center;gap:12px}.item-art{width:52px;height:52px;display:grid;place-items:center;border-radius:6px;border:1px solid #41403f;background:#2c2b2a;flex-shrink:0}.card-heading .meta{display:block;margin-top:6px;font-size:8px}.card-heading>.pill{margin-left:auto;font-size:7px;padding:4px 6px}.building-card>p{margin:15px 0;min-height:40px;font-size:11px}.costs{display:flex;gap:5px 11px;flex-wrap:wrap}.costs>span{display:flex;align-items:center;gap:3px;font-size:9px;color:#acabaa;line-height:1.8}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:16px;padding-top:13px}.card-bottom>span{font-size:9px;color:var(--muted)}.locked{background:#15181d}.locked .item-art,.locked .route-banner{filter:grayscale(.65);opacity:.65}.locked>p,.locked .activity-info{opacity:.65}.locked-note{color:#858483;font-size:10px;border-top:1px solid #363534;padding-top:14px;margin-top:auto}.maxed{font-size:10px;color:var(--accent);padding-top:15px;border-top:1px solid var(--border)}.activity-bar{position:fixed;bottom:0;left:var(--sidebar);right:0;min-height:86px;background:#181c21ed;border-top:1px solid #454443;backdrop-filter:blur(12px);display:flex;align-items:center;gap:17px;padding:17px 35px;z-index:15}.activity-symbol{width:43px;height:43px;border:1px solid #4f4e4d;border-radius:6px;display:grid;place-items:center;background:#2d2c2b}.activity-detail{flex:1;min-width:0}.activity-title{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:9px}.activity-title b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-title>span{font-size:10px;color:var(--accent);white-space:nowrap}.progress{height:4px;background:#30363a;border-radius:3px;overflow:hidden}.progress i{height:100%;display:block;background:var(--accent);transition:width .4s linear}.activity-detail>small{color:#8c8b8a;font-size:9px;display:block;margin-top:6px}.panel{padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:7px}.panel h2{margin-bottom:14px}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto}.tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:12px 16px;white-space:nowrap}.tabs button.selected{color:var(--accent);border-color:var(--accent)}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.filters button{font-size:10px;background:transparent;border-color:var(--border);color:var(--muted);padding:6px 11px}.filters button.selected{background:#3b3a39;color:var(--accent);border-color:#6d6c6b}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-card{display:flex;align-items:center;gap:18px;padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:6px}.activity-info{flex:1;min-width:0}.activity-info>div:first-child{display:flex;justify-content:space-between;gap:15px;align-items:center}.activity-info p{margin:6px 0;font-size:11px}.activity-info h3 .meta{margin-left:5px}.activity-actions{min-width:90px;text-align:right}.queue-panel{margin-top:20px}.queue-panel>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:12px 0;margin-top:10px;font-size:12px}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.skill-card{display:flex;gap:18px;padding:23px;border:1px solid var(--border);background:var(--panel);border-radius:6px}.skill-card>div{flex:1}.skill-card h3{display:flex;justify-content:space-between}.skill-card h3 span{color:var(--accent);font-size:12px}.skill-card p{margin:8px 0 15px}.skill-card small{display:block;color:var(--muted);margin-top:8px;font-size:9px}.world-note{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--border);padding:17px 20px;border-radius:6px}.world-note>div{flex:1}.world-note b{display:block;font-size:12px;font-weight:500}.world-note span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.region-num{font-family:monospace;color:#7b7a79;margin-right:14px;font-size:12px}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.route-card{border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--panel);display:flex;flex-direction:column}.route-banner{height:104px;position:relative;background:repeating-linear-gradient(0deg,transparent 0px,transparent 23px,#42414044 24px),linear-gradient(135deg,#2c2b2a,#3a3938);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.route-banner:before,.route-banner:after{content:'';position:absolute;bottom:0;background:#24232255;width:25%;height:40%;left:0;box-shadow:22px -13px #32313088,160px 0 #32313088}.route-banner:after{left:auto;right:0;transform:scaleX(-1)}.route-banner>.pixel-icon{z-index:1}.route-banner>span{position:absolute;top:12px;left:14px;font-size:8px;letter-spacing:1px;color:#afaead}.route-banner>b{position:absolute;bottom:10px;right:12px;font-size:7px;letter-spacing:1px;color:var(--accent);z-index:1}.tier-3{background-color:#373635}.tier-4,.tier-5{background:linear-gradient(135deg,#3a3938,#454032)}.route-content{padding:20px;display:flex;flex-direction:column;flex:1}.route-content>p{font-size:11px;margin-top:7px;min-height:37px}.route-facts{display:flex;justify-content:space-between;font-size:10px;margin:17px 0}.loot-preview{margin:15px 0}.loot-preview>small{font-size:8px;letter-spacing:1px;color:#7e7d7c}.loot-preview .costs{margin-top:7px}.first-reward{border-top:1px solid #434241;padding-top:10px;margin:0 0 16px;font-size:8px;color:var(--amber);letter-spacing:.5px}.first-reward .costs{margin-top:5px}.route-content>button{margin-top:auto}.route-clears{font-size:8px;color:var(--muted);text-align:center;display:block;margin-top:11px}.character-stats{display:flex;align-items:center;gap:40px;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:24px}.profile-large{display:flex;align-items:center;gap:14px;flex:1}.profile-large .avatar{width:55px;height:55px;font-size:20px}.profile-large p{margin-top:5px}.character-stats>div>small{font-size:8px;letter-spacing:1px;color:var(--muted)}.character-stats>div>strong{display:block;font-size:29px;margin-top:7px;color:var(--accent);font-weight:500}.health{width:200px}.health .progress{margin:10px 0}.health span{font-size:9px;color:var(--muted)}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.equipment-slot{display:flex;flex-direction:column;align-items:center;padding:18px;background:var(--panel);border:1px solid var(--border);font-weight:400}.slot-label{font-size:9px;color:var(--muted);align-self:flex-start;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}.equipment-slot .item-art{margin-bottom:12px}.equipment-slot b{font-weight:500}.equipment-slot small{font-size:9px;color:var(--muted);margin-top:8px}.empty-art{opacity:.4;border-style:dashed}.consumable-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.consumable{padding:20px}.consumable .card-heading>strong{margin-left:auto;font-size:20px;color:var(--accent);font-weight:500}.consumable>p{margin:15px 0;min-height:38px;font-size:11px}.stack-count{font-size:11px;display:flex;gap:7px;padding:13px 0;border-top:1px solid var(--border)}.stack-count span{margin-left:auto;color:var(--muted)}.coverage{font-size:11px;color:var(--accent);padding:8px 0 13px}.coverage small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.button-row{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.toggle{display:flex;align-items:center;gap:8px;letter-spacing:0;font-size:10px;margin-top:15px;line-height:1.6}.storage-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.storage-toolbar input{max-width:220px;font-size:11px}.storage-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;align-items:start}.inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.inventory-item{padding:22px 10px 14px;position:relative;background:var(--panel);border:1px solid var(--border);display:flex;align-items:center;flex-direction:column;min-height:135px}.inventory-item.chosen{border-color:var(--accent);background:#333231}.inventory-qty{position:absolute;top:9px;right:10px;font-size:11px;color:var(--accent)}.inventory-item b{font-size:11px;margin-top:11px;font-weight:500}.inventory-item small{color:var(--muted);font-size:8px;margin-top:7px}.reserved{font-size:7px;color:var(--amber);margin-top:5px}.item-detail{position:sticky;top:20px}.item-detail>.pixel-icon{display:block;margin-bottom:22px}.item-detail h2{font-size:21px;margin:9px 0 13px}.item-detail>h3{margin-bottom:12px}.item-detail .eyebrow{font-size:8px}.storage-tip{font-size:10px;line-height:1.7;color:#9a9998;border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.detail-stat{display:flex;justify-content:space-between;font-size:11px;padding:15px 0;border-bottom:1px solid var(--border);margin-bottom:10px}.detail-stat span{color:var(--muted)}.empty-state{grid-column:1/-1;text-align:center;padding:65px 25px;border:1px dashed var(--border);border-radius:6px}.empty-state h2{margin:15px 0 10px}.empty-state p{max-width:440px;margin:auto}.empty-state button{margin-top:22px}.shelf-panel{border:1px solid #494847;border-radius:7px;background:linear-gradient(140deg,#28292a,#202328);padding:25px}.shelf-panel .section-head{margin:0}.shelf-panel .section-head>span{max-width:150px;line-height:1.6;text-align:right}.shelf{display:flex;gap:22px;border-bottom:9px solid #6b6043;box-shadow:0 5px #1d1c1b;margin:24px 15px 10px;padding:0 12px}.shelf-slot{background:transparent;border:none;flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;padding:16px 5px}.shelf-slot>span{font-size:30px;color:#5d5c5b;border:1px dashed #5d5c5b;width:50px;height:50px;display:grid;place-items:center}.shelf-slot small{font-size:9px;color:#a9a8a7;margin-top:12px}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.collectible{padding:24px 18px;background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center}.collectible>div{height:64px;display:flex;align-items:center}.collectible h3{margin-top:15px;font-size:12px}.collectible p{font-size:10px;line-height:1.65;min-height:48px;margin-top:10px}.collectible small{font-size:8px;letter-spacing:1px;color:var(--accent);margin-top:17px}.undiscovered .pixel-icon{filter:brightness(.18);opacity:.7}.undiscovered h3,.undiscovered p,.undiscovered small{color:#7c7b7a}.set-footer{display:flex;justify-content:space-between;color:#91908f;font-size:10px;margin-top:15px;gap:15px}.quest-list{display:flex;flex-direction:column;gap:12px}.quest-card{display:flex;align-items:center;gap:20px;border:1px solid var(--border);background:var(--panel);border-radius:6px;padding:22px}.quest-card>div:nth-child(2){flex:1}.quest-number{font-family:monospace;font-size:17px;color:var(--amber);background:#363534;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:5px}.quest-card p{margin:6px 0}.quest-card small{font-size:10px;color:var(--muted)}.quest-card .costs{margin-top:9px}.quest-card.completed{opacity:.55}.quest-card.completed .quest-number{color:var(--accent)}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.achievement-grid .panel h3{margin:15px 0 9px}.achievement-grid .pill{margin-top:18px}.achievement-grid .earned{border-color:#7f7e7d}.log-entry{display:flex;gap:25px;border-bottom:1px solid var(--border);padding:15px 0}.log-entry>span{font-size:10px;color:var(--amber);min-width:50px}.survivor-grid,.trade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.survivor-grid h2{margin-top:15px}.survivor-grid label{margin-top:18px}.trade-grid{grid-template-columns:repeat(3,1fr)}.trade-grid .costs{margin:12px 0}.trade-grid small{display:block;margin-top:8px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.settings-grid .panel>p{margin-bottom:18px}.danger-panel{border-color:#514035}.login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:radial-gradient(ellipse at 25% 50%,#373635,#0d0f12 70%)}.login-art{display:flex;align-items:center;justify-content:center;padding:45px}.login-art .base-scene{border:1px solid #474645;border-radius:8px;max-height:none;box-shadow:0 40px 80px #0f0e0d66}.login-card{max-width:420px;align-self:center;padding:45px 30px}.login-card h1{font-size:53px;line-height:1.05;letter-spacing:1px;color:#dfdedd;font-weight:700}.login-card h1 em{font-style:normal;font-size:39px;color:#bebdbc}.title-dot{color:var(--amber)}.login-card>p{font-size:16px;line-height:1.7;margin:25px 0;color:#b0afae}.login-card>label{margin-bottom:9px;font-size:9px}.login-button{width:100%;margin-top:14px;text-align:left;padding:14px;font-size:13px}.login-button span{float:right}.login-card .fine{font-size:10px;margin:17px 0 35px}.login-footer{font-size:8px;letter-spacing:1.6px;color:#797877;border-top:1px solid #403f3e;padding-top:20px}#toast{position:fixed;left:calc(50% + 80px);bottom:108px;transform:translate(-50%,15px);background:#dcdbda;color:#2a2928;border:1px solid #e5e4e3;box-shadow:0 6px 25px #0005;padding:13px 20px;font-size:12px;border-radius:6px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:min(500px,90vw)}#toast.visible{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;background:#0a0908bd;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:90;padding:20px}.modal{position:relative;background:#20242a;border:1px solid #555453;border-radius:9px;padding:35px;max-width:550px;width:100%;max-height:85dvh;overflow:auto;box-shadow:0 30px 100px #0006}.modal h2{font-size:24px;margin:10px 0 15px}.modal>p{margin:14px 0}.modal>button:not(.modal-close){margin:12px 8px 0 0}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:24px;color:var(--muted)}.slot-options>div{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--border)}.slot-options>div>span{flex:1}.slot-options b{display:block;font-size:12px}.slot-options small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:6px}.offline-stats{display:flex;gap:25px;padding:20px 0}.offline-stats b{font-size:28px;color:var(--accent);font-weight:500}.offline-stats small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.reduce-motion *{transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(min-width:1600px){.base-scene{min-height:260px}.building-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1200px){:root{--sidebar:195px}.main-content{padding:28px 24px 120px}.topbar{padding:0 24px}.base-layout{grid-template-columns:minmax(0,1fr) 215px}.next-goal{padding:18px}.building-grid{grid-template-columns:repeat(2,1fr)}.stat-row>div{padding:15px 12px;gap:7px}.stat-row span{font-size:6px}.save-status{display:none}.top-resources{gap:14px}.inventory-grid{grid-template-columns:repeat(3,1fr)}.route-grid{grid-template-columns:repeat(2,1fr)}.consumable-grid{grid-template-columns:1fr}.consumable>p{min-height:0}.collection-grid{grid-template-columns:repeat(2,1fr)}.activity-info>div:first-child{display:block}.activity-info .meta{display:block;margin-top:5px}.character-stats{gap:20px}.trade-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){:root{--sidebar:70px}.sidebar{padding:20px 7px 0}.brand{margin:0 0 25px;justify-content:center}.brand>span,.side-label,.nav-item>span,.sidebar-bottom .profile,.local-status,.settings-button{display:none}.nav-item{justify-content:center;padding:12px 7px}.sidebar-bottom{margin-top:20px}.main-content{padding:25px 20px 125px}.base-layout{grid-template-columns:1fr}.next-goal{display:grid;grid-template-columns:1fr auto;gap:8px 20px}.next-goal>.pixel-icon{display:none}.next-goal .eyebrow,.next-goal h2,.next-goal p,.next-goal small{grid-column:1;margin:0}.next-goal button{grid-column:2;grid-row:2/5;align-self:center;margin:0}.base-label .pill{display:none}.topbar{gap:10px;padding:0 20px}.top-resources{gap:8px}.top-resources b{font-size:10px}.stat-row{grid-template-columns:repeat(2,1fr)}.stat-row>div:nth-child(2){border-right:0}.stat-row>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.stat-row span{font-size:7px}.storage-layout{grid-template-columns:1fr}.item-detail{position:static}.storage-toolbar{flex-direction:column;gap:0}.storage-toolbar input{max-width:none;margin-bottom:20px}.skill-grid{grid-template-columns:1fr}.equipment-grid{grid-template-columns:repeat(2,1fr)}.character-stats{flex-wrap:wrap}.profile-large{min-width:60%}.health{width:100%}.achievement-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.survivor-grid{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-art{display:none}.login-card{margin:auto;padding:40px 25px}.activity-bar{padding:14px 20px;gap:10px}#toast{left:calc(50% + 25px)}.activity-card{gap:12px;padding:14px}.activity-card>.item-art{width:40px;height:40px}.activity-actions{min-width:65px}.activity-actions button{padding:8px 10px}.page-heading h1{font-size:28px}.page-heading>.pill{font-size:7px}.shelf{gap:8px;margin-left:0;margin-right:0;padding:0}.shelf-slot small{font-size:8px}}@media(max-width:520px){:root{--sidebar:0px}.sidebar{width:100%;height:58px;top:auto;bottom:0;padding:0;flex-direction:row;border-top:1px solid var(--border);border-right:0}.brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;width:100%;justify-content:space-around;padding:0 4px}.nav-item{width:auto;min-width:43px;padding:8px;flex:1;margin:0;border-radius:0}.nav-item .pixel-icon{width:22px;height:22px}.nav-item.active{box-shadow:inset 0 2px var(--accent)}.nav-dot{position:absolute;top:8px;right:5px}.main-content{padding:24px 15px 170px}.topbar{height:56px;padding:0 15px}.base-label{font-size:9px;gap:4px}.base-label>.pixel-icon{width:16px}.top-resources{gap:4px}.top-resources>div{gap:1px}.top-resources .pixel-icon{width:18px}.top-resources b{font-size:9px;min-width:16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.page-heading>.pill{max-width:110px;white-space:normal;text-align:center;font-size:6px}.page-heading p{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.5px}.building-grid,.route-grid{grid-template-columns:1fr}.base-scene{min-height:140px}.scene-footer{padding:13px}.weather span{display:none}.scene-footer b{font-size:11px}.next-goal{display:block}.next-goal h2{margin:8px 0}.next-goal p{margin-bottom:8px}.next-goal button{margin-top:10px}.next-goal small{display:block}.stat-row{margin-bottom:25px}.section-head h2{font-size:16px}.section-head>span{font-size:8px;text-align:right}.building-card{padding:18px}.building-card>p{min-height:0}.activity-bar{bottom:58px;padding:12px 15px;min-height:81px}.activity-symbol{width:32px;height:32px}.activity-bar>button:not(.icon-button){font-size:9px;padding:8px}.activity-title{font-size:10px}.activity-detail>small{font-size:8px}.activity-card{align-items:flex-start;flex-wrap:wrap}.activity-info{flex-basis:70%}.activity-actions{margin-left:auto}.inventory-grid{grid-template-columns:repeat(3,1fr);gap:8px}.inventory-item{min-height:123px;padding:20px 5px 12px}.inventory-item b{font-size:9px}.inventory-item small{font-size:7px}.shelf-panel{padding:17px}.shelf-panel .section-head{display:block}.shelf-panel .section-head>span{display:block;max-width:none;text-align:left;margin-top:10px}.shelf-slot .pixel-icon{width:34px;height:34px}.shelf-slot>span{width:34px;height:34px;font-size:22px}.shelf-slot small{font-size:7px}.collectible{padding:18px 12px}.collectible h3{font-size:11px}.set-footer{font-size:9px;display:block}.set-footer>span{display:block;margin:8px 0}.quest-card{padding:16px;gap:12px;flex-wrap:wrap}.quest-card>div:nth-child(2){flex-basis:70%}.quest-card>button,.quest-card>.pill{margin-left:54px}.quest-card p{font-size:11px}.achievement-grid,.trade-grid{grid-template-columns:1fr}.world-note{padding:13px;flex-wrap:wrap}.world-note button{margin-left:38px}.world-note>div{flex-basis:70%}.character-stats{padding:17px}.profile-large{min-width:65%}.profile-large h2{font-size:17px}.profile-large .avatar{width:42px;height:42px}.character-stats>div>small{font-size:6px}.character-stats>div>strong{font-size:24px}.equipment-slot{padding:13px 9px}.equipment-slot b{font-size:11px}.equipment-slot small{font-size:8px;line-height:1.5}.modal{padding:28px 22px}.modal h2{font-size:22px}#toast{left:50%;bottom:160px}.settings-grid .panel{padding:20px}.storage-toolbar .tabs{width:100%}.tabs button{font-size:11px;padding:12px}.log-entry{gap:12px}}

.top-settings{padding:5px 8px;background:transparent;border:0;color:var(--muted);font-size:18px}.nav-item[aria-label]{min-width:35px}

/* Charcoal surfaces, restrained sage accents, and a smaller navigation footprint. */
.base-scene{filter:saturate(.55)}
.profile-settings{width:100%;background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;text-align:left;padding:22px 5px;margin-top:20px;color:var(--text)}
.profile-settings>span{margin-left:auto;color:var(--muted)}
.topbar{gap:20px}.character-meter{min-width:155px;max-width:210px;flex:1}.character-meter>div:first-child{display:flex;justify-content:space-between;gap:14px;margin-bottom:7px;font-size:9px}.character-meter b{color:var(--accent);letter-spacing:1px}.character-meter span{font-size:8px;color:var(--muted)}.character-meter .progress{height:5px}
.more-wrapper{position:relative}.more-button{display:flex;align-items:center;gap:8px;background:transparent;border-color:var(--border);white-space:nowrap}.more-menu{position:absolute;right:0;top:calc(100% + 10px);width:230px;background:#1b1f25;border:1px solid #3b424b;box-shadow:0 16px 40px #0009;border-radius:8px;padding:10px;z-index:60}.menu-caption{display:block;font-size:8px;color:var(--muted);letter-spacing:1.5px;padding:8px 10px}.more-menu button{width:100%;display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:12px;text-align:left;color:var(--text)}.more-menu .pill{margin-left:auto;font-size:7px}.more-menu .mobile-settings{display:none}
.survivor-portrait{display:grid;place-items:center;width:68px;height:68px;background:#252c2d;border:1px solid #3d4648;border-radius:8px;flex-shrink:0}.profile-large .character-meter{margin-top:12px}.loadout-bonus{display:flex;gap:7px;flex-wrap:wrap;padding:16px 20px;background:#1a2021;border:1px solid #3d3c3b;border-radius:6px;margin-top:18px;color:var(--muted);font-size:11px}.loadout-bonus b{color:var(--accent)}.loadout-bonus span{width:100%;font-size:10px}
.quest-notification{position:fixed;right:25px;bottom:110px;width:325px;background:#23282d;border:1px solid #71706f;border-radius:9px;box-shadow:0 14px 50px #0009;padding:21px;z-index:45}.quest-notification h3{font-size:17px;margin-bottom:8px}.quest-notification .eyebrow{font-size:8px}.quest-notification .costs{margin:12px 0}.quest-notification small{display:block;color:var(--muted);font-size:9px;margin-top:10px}.quest-dismiss{position:absolute;right:8px;top:7px;background:transparent;border:0;font-size:20px;padding:3px 8px;color:var(--muted)}
.rarity-badge{display:inline-flex;align-items:center;gap:4px;font-size:8px;letter-spacing:.5px;color:var(--rarity);border:1px solid color-mix(in srgb,var(--rarity) 40%,transparent);background:color-mix(in srgb,var(--rarity) 8%,transparent);border-radius:4px;padding:3px 6px;width:max-content;margin-top:7px}.rarity-badge>span{font-size:11px}.rarity-item{border-color:color-mix(in srgb,var(--rarity) 45%,var(--border))}.rarity-item.rarity-7,.rarity-item.rarity-8,.rarity-item.rarity-9{background-image:linear-gradient(125deg,transparent,color-mix(in srgb,var(--rarity) 12%,transparent),transparent);background-size:250% 100%;animation:rarity-shimmer 7s ease-in-out infinite}.rarity-badge.rarity-9{animation:eternal-glow 4s ease-in-out infinite}.rarity-item .rarity-badge{margin-bottom:3px}.drop-band{display:flex;flex-direction:column;gap:6px;border:1px solid #3a3e43;border-radius:5px;padding:10px;margin:12px 0;font-size:9px;color:var(--muted)}.drop-band b{color:var(--text);font-size:10px;font-weight:500}.drop-band small{font-size:8px}
@keyframes rarity-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes eternal-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35)}}
.skill-card{text-align:left;cursor:pointer;color:var(--text);width:100%}.skill-card small{font-weight:400}.skill-card .guide-link{display:block;margin-top:12px;font-size:10px;color:var(--accent)}.guide-summary{display:flex;align-items:center;gap:18px;margin-bottom:22px}.guide-summary>div{flex:1}.guide-summary .progress{max-width:450px;margin:10px 0}.guide-section{margin-top:28px}.unlock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.unlock-card{border:1px solid var(--border);border-radius:7px;background:var(--panel);padding:17px;display:flex;gap:12px;align-items:flex-start}.unlock-card>div{flex:1;min-width:0}.unlock-card h3{font-size:12px;line-height:1.5}.unlock-card p{font-size:10px;margin:6px 0}.unlock-level{font-size:8px;color:var(--amber);letter-spacing:1px;display:block;margin-bottom:7px}.unlock-card .meta{font-size:8px;line-height:1.7;display:block}.unlock-card.unavailable{opacity:.65}.unlock-card .costs{margin-top:8px}.unlock-card .small{margin-top:10px}.secret-icon{filter:brightness(.3)}.guide-back{margin-bottom:18px}.guide-tip{margin:12px 0 20px;color:var(--muted);font-size:11px}.rarity-legend{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 22px}
@media(max-width:1200px){.character-meter{min-width:120px}.base-label .pill{display:none}.topbar{gap:12px}.top-resources{gap:9px}.unlock-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.profile-settings{display:none}.more-menu .mobile-settings{display:flex}.topbar{flex-wrap:wrap;height:auto;min-height:85px;padding-top:12px;padding-bottom:12px}.base-label{order:1;flex:1}.more-wrapper{order:2}.character-meter{order:3;flex:1;max-width:none}.top-resources{order:4}.more-menu{top:calc(100% + 8px)}.unlock-grid{grid-template-columns:1fr}.character-stats .character-meter{min-width:140px}.guide-summary{align-items:flex-start}}
@media(max-width:520px){.sidebar{height:66px}.sidebar nav{justify-content:space-around;overflow:visible}.nav-item{min-width:0;flex-direction:column;gap:4px;padding:8px 2px}.nav-item>span{display:block;font-size:9px;line-height:1.3}.nav-item .pixel-icon{width:23px;height:23px}.activity-bar{bottom:66px}.main-content{padding-bottom:175px}.topbar{gap:9px 12px}.topbar .base-label{font-size:10px}.more-button{padding:6px 9px;font-size:11px}.topbar .character-meter{min-width:125px;max-width:160px}.character-meter>div:first-child{font-size:9px;gap:6px}.character-meter span{font-size:7px}.top-resources{gap:7px}.top-resources>div{gap:3px}.top-resources b{font-size:10px}.quest-notification{bottom:158px;right:12px;max-width:calc(100vw - 24px);width:300px;padding:18px}.rarity-badge{font-size:7px;padding:2px 4px}.rarity-badge>span{font-size:9px}.inventory-item{min-height:143px}.shelf-slot .rarity-badge{display:none}.profile-large .survivor-portrait{width:48px;height:58px}.profile-large .survivor-portrait svg{width:45px}.character-stats{gap:18px}.loadout-bonus{font-size:10px}}

.rarity-ladder>div{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding:8px 0}.rarity-ladder>div>span{font-size:9px;color:var(--muted)}.unknown-find{width:33px;height:38px;display:grid;place-items:center;border:1px dashed #555c68;color:#8a94a5;font-size:22px;border-radius:5px;flex-shrink:0}

@media(max-width:800px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.topbar .base-label{grid-column:1;grid-row:1;min-width:0}.topbar .more-wrapper{grid-column:2;grid-row:1;justify-self:end}.topbar .character-meter{grid-column:1;grid-row:2;min-width:0;max-width:none;width:100%}.topbar .top-resources{grid-column:2;grid-row:2;justify-self:end}.topbar .base-label .pill{display:none}.more-menu{min-width:210px}.topbar .base-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:520px){.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;padding:0}.nav-item{width:100%}.quest-notification{width:auto;left:12px;right:12px;max-width:none}.topbar .top-resources{gap:6px}.topbar{padding:12px 15px}.topbar .character-meter>div:first-child{gap:4px}.rarity-ladder>div>span{max-width:145px;text-align:right}.activity-bar .small{font-size:8px;padding:6px}.profile-settings:hover{background:#2a2928}}

.scene-topline{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;color:#a69a86;font:9px Consolas,monospace;letter-spacing:1.5px;background:#181a1e;border-bottom:1px solid #303236}.scene-topline>span:last-child{color:#dfb66f}
/* Safehouse edition: one warm accent, neutral surfaces, colour reserved for loot. */

:root{--bg:#101113;--panel:#1b1d21;--panel2:#24262b;--border:#35373c;--muted:#a2a1a0;--text:#eeeae2;--accent:#dfb66f;--amber:#dfb66f;--red:#dc927b;--sidebar:224px}
body{background:radial-gradient(ellipse at 65% 0%,#27231c55,transparent 55%),var(--bg)}
h1{font-size:34px;font-weight:700;letter-spacing:-1px}h2,h3{color:var(--text)}p{color:#aaa9a6}button{background:#292b30;border-color:#484a50;color:#e0ddd5;border-radius:5px}button:hover:not(:disabled){background:#34363a;border-color:#8f7956}button.primary{color:#231e16;background:var(--accent);border-color:#edca8b;box-shadow:inset 0 1px #f5daad55,0 2px 0 #6b542e}button.primary:hover:not(:disabled){background:#f0cc8e}button.text-button{background:transparent;color:var(--accent)}.pill,.pill.green{background:#2d281f;border-color:#594a32;color:#e0bc7f}.eyebrow{font-family:Consolas,monospace;letter-spacing:2px}.sidebar{background:linear-gradient(180deg,#1b1c20,#141518);padding-top:26px}.brand{color:#b4a78f;margin-bottom:36px}.brand strong{color:#efe8db;letter-spacing:.8px}.side-label{color:#85817a}.nav-item{color:#aaa9a5;padding:13px 14px}.nav-item.active{background:linear-gradient(90deg,#dfb66f22,#dfb66f08);color:#f0cb88;box-shadow:inset 3px 0 var(--accent)}.nav-item:hover:not(:disabled){background:#292a2f}.nav-item.active:after{content:'';width:5px;height:5px;background:var(--accent);transform:rotate(45deg);margin-left:auto}.nav-dot{background:var(--accent)}.local-status{color:#908a7e;padding-bottom:18px}.local-status i{background:var(--accent)}.profile-settings{width:100%;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;text-align:left}.profile small{color:#8e8c87}.profile-settings>span{margin-left:auto;color:var(--accent)}
.topbar{height:auto;min-height:96px;display:grid;grid-template-columns:minmax(160px,.6fr) minmax(200px,1.2fr) auto;gap:28px;padding:18px 30px;background:linear-gradient(180deg,#1e2025,#17191d);border-bottom:1px solid #3e3b34;box-shadow:0 3px 18px #0002}.base-label{gap:10px;color:#ddd7cb;min-width:0}.base-label>div{min-width:0}.base-label small{display:block;font:8px Consolas,monospace;color:#928779;letter-spacing:1.5px;margin-bottom:5px}.base-label>div>span{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-label .pill{margin-left:auto}.topbar .character-meter{width:100%;max-width:none;min-width:0;order:0}.character-meter>div:first-child{font:10px Consolas,monospace;margin-bottom:9px}.character-meter b{color:#efd29b}.character-meter span{color:#a5a4a1;font:9px Consolas,monospace}.character-meter .level-label{color:#ad9c7e;font:inherit}.progress{background:#323338;border-radius:2px}.progress i{background:linear-gradient(90deg,#a0783e,#e9c27a);box-shadow:0 0 8px #dfb66f33}.topbar .character-meter .progress{height:9px;border:1px solid #414044;padding:1px;overflow:hidden;background:repeating-linear-gradient(90deg,#292a2d 0 19%,#3c3b38 19% 20%)}.character-meter .progress i{border-radius:0}.top-resources{gap:6px;justify-content:flex-end}.resource-chip{position:relative;display:flex;align-items:center;gap:5px;background:#131519;border:1px solid #35373c;border-radius:5px;padding:8px;min-width:65px;text-align:left}.resource-chip>span:not(.resource-tooltip){display:flex;flex-direction:column;gap:3px}.resource-chip small{font-size:8px;color:#9c9a95;font-weight:400}.resource-chip b{font:12px Consolas,monospace;color:#ede4d2;min-width:0}.resource-tooltip{display:none;position:absolute;top:calc(100% + 10px);right:0;width:220px;padding:13px;background:#27292f;border:1px solid #666052;box-shadow:0 12px 24px #0008;border-radius:5px;color:#e5ded1;font-size:11px;font-weight:400;line-height:1.6;z-index:100;pointer-events:none}.resource-tooltip em{display:block;font-style:normal;color:var(--accent);margin-top:7px;font-size:10px}.resource-chip:hover .resource-tooltip,.resource-chip:focus-visible .resource-tooltip{display:block}.more-wrapper{display:none}
.main-content{padding-top:32px}.page-heading h1{font-weight:700}.page-heading .eyebrow{font-size:9px}.base-layout{grid-template-columns:minmax(0,1fr) 238px;align-items:stretch;gap:18px}.scene-panel{background:#202833;border-color:#44423c;box-shadow:0 12px 40px #0003}.base-scene{width:100%;height:auto;min-height:0;max-height:none;flex:none;aspect-ratio:960/430;filter:none;display:block}.scene-footer{background:#1b1d21;border-top:1px solid #3d3d3e}.scene-footer small{font-size:10px}.weather{color:#bbb5a8}.weather span{color:#918879}.next-goal{background:linear-gradient(150deg,#322b20,#1c1e22 70%);border-color:#655234;position:relative;overflow:hidden}.next-goal:after{content:'01';position:absolute;right:-9px;top:15px;font:110px Consolas,monospace;color:#dfb66f06;pointer-events:none}.next-goal small{color:#a6a096}.next-goal>button{padding-bottom:4px}.scene-facility{cursor:pointer;outline:none}.scene-facility:hover,.scene-facility:focus-visible{filter:brightness(1.35) drop-shadow(0 0 3px #edbc6955)}.camp-fire{animation:camp-flicker 3s ease-in-out infinite;transform-origin:384px 340px}.signal-light{animation:camp-signal 4s ease-in-out infinite}@keyframes camp-flicker{50%{opacity:.65;transform:scaleY(.85)}}@keyframes camp-signal{50%{opacity:.2}}.facility-highlight{outline:2px solid var(--accent);outline-offset:3px;animation:facility-flash 2s ease-out 2}@keyframes facility-flash{50%{box-shadow:0 0 22px #dfb66f33}}
.stat-row{background:#1b1d21;border-color:#3a3b3d}.stat-row span{color:#a49a87}.stat-row strong{color:#e6dfd2}.stat-row>div{padding:18px}.building-card,.activity-card,.skill-card,.route-card,.panel,.equipment-slot,.inventory-item,.collectible,.quest-card{background:linear-gradient(150deg,#222429,#191b1f);border-color:#373a40;box-shadow:inset 0 1px #ffffff03}.building-card{position:relative;overflow:hidden}.building-card:before{content:'';position:absolute;top:0;left:18px;width:28px;height:2px;background:#aa89554d}.item-art,.survivor-portrait,.activity-symbol{background:radial-gradient(ellipse at top,#353331,#23252a);border-color:#4a4640}.locked{background:#17191c}.locked-note{border-color:#36373a;color:#96918a}.costs>span{color:#bbb5a9}.section-head>span{color:#a09889}.activity-bar{background:#1b1d22f5;border-color:#4c4435;box-shadow:0 -8px 30px #0003}.activity-detail>small{color:#92918d}.filters button.selected,.inventory-item.chosen{background:#dfb66f14;border-color:#c2a06a;color:#e8c48c}.tabs button.selected{color:var(--accent)}.skill-card:hover:not(:disabled){background:#2b2c30;border-color:#9b8054}.route-banner{background:repeating-linear-gradient(0deg,transparent 0 23px,#aba08e0b 24px),linear-gradient(130deg,#28313a,#413c33);border-bottom-color:#4c463d}.route-banner:before,.route-banner:after{background:#151a2155;box-shadow:22px -13px #252c3588,160px 0 #252c3588}.tier-4,.tier-5{background:linear-gradient(130deg,#34303a,#4a3630)}.route-banner>span,.loot-preview>small{color:#b1a590}.first-reward{border-color:#474037}.region-num{color:#b09262}.loadout-bonus{background:#222326;border-color:#454039}.loadout-bonus b{color:var(--accent)}.quest-number{background:#dfb66f17}.storage-capacity{display:flex;align-items:flex-end;gap:8px;flex-direction:column}.storage-capacity small{color:var(--muted);font-size:9px}.storage-tip{color:#aaa399}.auto-label{color:var(--accent);font-size:11px;margin:15px 0}.discard-button{margin-top:12px;background:transparent;color:#cda99b;border-color:#665149}.discard-quantity{display:flex;align-items:center;justify-content:center;gap:30px;margin:30px 0 20px}.discard-quantity output{font:40px Consolas,monospace;min-width:70px;text-align:center;color:var(--accent)}.discard-quantity button{font-size:22px;width:42px;height:42px;padding:0}.discard-presets{display:flex;justify-content:flex-end;gap:8px;margin:8px 0 18px}input[type=range]{accent-color:var(--accent);padding:0;height:34px;cursor:ew-resize}.mobile-item-detail>.pixel-icon{display:block;margin-bottom:20px}.modal{background:#202227;border-color:#595145;box-shadow:0 24px 100px #000a}.modal-close{background:#2e3035;border:1px solid #4e4c48;border-radius:50%;width:32px;height:32px;padding:0}.more-menu{background:#23252a;border-color:#5c5140}.shelf-panel{background:linear-gradient(135deg,#30291f,#1c1e22);border-color:#655136}.login{background:radial-gradient(ellipse at 25% 50%,#302d28,#101113 70%)}.login-art .base-scene{max-height:none;border-color:#51493c}.rarity-item{border-color:color-mix(in srgb,var(--rarity) 45%,var(--border))}
@media(min-width:1500px){.topbar{grid-template-columns:minmax(200px,.65fr) minmax(300px,1.4fr) auto;gap:40px}.resource-chip{min-width:78px;padding:10px}.base-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(min-width:801px) and (max-width:1150px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:14px 24px}.topbar .base-label{grid-column:1;grid-row:1}.topbar .character-meter{grid-column:1;grid-row:2}.topbar .top-resources{grid-column:2;grid-row:1/3}.resource-chip{min-width:48px;padding:7px}.resource-chip small{display:none}.base-layout{grid-template-columns:1fr}.next-goal{display:grid;grid-template-columns:1fr auto;gap:8px 16px}.next-goal>.pixel-icon{display:none}.next-goal h2,.next-goal p,.next-goal small,.next-goal .eyebrow{grid-column:1;margin:0}.next-goal button{grid-column:2;grid-row:2/5;align-self:center;margin:0}.base-label .pill{display:inline-flex}}
@media(max-width:800px){:root{--sidebar:0px}.sidebar{width:100%;height:68px;top:auto;bottom:0;padding:0;border-right:0;border-top:1px solid var(--border);flex-direction:row}.brand,.side-label,.sidebar-bottom,.sidebar .desktop-extra{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;padding:0;overflow:visible}.nav-item{width:100%;min-width:0;margin:0;flex-direction:column;gap:5px;padding:9px 2px;border-radius:0}.nav-item>span{display:block;font-size:10px;line-height:1.2}.nav-item.active{box-shadow:inset 0 2px var(--accent)}.nav-item.active:after{display:none}.nav-item .pixel-icon{width:23px;height:23px}.activity-bar{left:0;bottom:68px}.workspace{margin-left:0}.main-content{padding:24px 18px 180px}.topbar{display:grid;grid-template-columns:1fr auto;gap:16px 12px;padding:15px 18px;min-height:0}.topbar .base-label{grid-column:1;grid-row:1;order:0}.topbar .more-wrapper{display:block;grid-column:2;grid-row:1;order:0}.topbar .character-meter{grid-column:1/-1;grid-row:2;min-width:0;max-width:none;width:100%;order:0}.topbar .top-resources{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));justify-self:stretch;gap:6px;order:0}.resource-chip{min-width:0;gap:4px;padding:8px 5px;justify-content:center}.resource-chip small{font-size:8px}.resource-chip b{font-size:12px}.resource-chip .pixel-icon{width:22px;height:22px}.resource-tooltip{display:none!important}.topbar .character-meter>div:first-child{font-size:10px;margin-bottom:8px}.topbar .character-meter span{font-size:9px}.topbar .base-label>div>span{font-size:12px}.base-label small{font-size:7px}.more-button{padding:9px 12px}.base-layout{grid-template-columns:1fr}.scene-topline{padding:12px 14px;font-size:8px}.base-scene{min-height:0;max-height:none;height:auto}.scene-footer{padding:13px}.scene-footer small{font-size:9px;line-height:1.5;max-width:230px}.weather span{display:none}.storage-layout>.item-detail{display:none}.storage-capacity{align-items:flex-start}.storage-toolbar{margin-top:10px}.storage-layout{grid-template-columns:1fr}.page-heading:has(.storage-capacity){display:block}.page-heading .storage-capacity{margin-top:18px;flex-direction:row;flex-wrap:wrap;align-items:center}.storage-capacity small{flex-basis:100%;order:3}.page-heading>button{flex-shrink:0}.scene-facility text{font-size:10px}#toast{left:50%;bottom:163px}.quest-notification{bottom:161px}.character-stats{gap:18px}.health{width:100%}.next-goal{padding:20px}.next-goal h2{font-size:19px}}
@media(max-width:440px){.resource-chip{flex-direction:column;gap:4px}.resource-chip>span:not(.resource-tooltip){display:flex;align-items:center;flex-direction:row;gap:4px}.resource-chip small{font-size:7px}.resource-chip b{font-size:11px}.topbar{gap:13px 10px}.page-heading h1{font-size:28px}.page-heading>button{font-size:10px;padding:9px}.stat-row>div{padding:14px 11px;gap:8px}.stat-row strong{font-size:18px}.scene-footer .weather{font-size:9px;white-space:nowrap}.scene-footer small{max-width:190px}.scene-topline{font-size:7px;letter-spacing:1px}.scene-footer b{font-size:11px}.equipment-slot small{font-size:9px}.modal{max-height:85dvh;overflow:auto}.scene-panel{border-radius:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
.reduce-motion *{animation:none!important;scroll-behavior:auto!important}

body.modal-open{overflow:hidden}.modal-backdrop{padding:18px}.modal{width:min(520px,100%)}

.building-card>.build-status{min-height:0;margin:12px 0 0;font-size:10px;line-height:1.6;color:var(--muted)}

/* Grounded safehouse scene and primary skill sections. */
.base-scene{aspect-ratio:2/1;background:#344349}.scene-topline>span:last-child{white-space:nowrap}.scene-facility:hover,.scene-facility:focus-visible{filter:brightness(1.12)}.scene-facility:focus-visible .facility-label{fill:#ffe0a0}.facility-label{fill:#e0d0b4;font:8px Consolas,monospace;letter-spacing:.6px;paint-order:stroke;stroke:#293235;stroke-width:2px;stroke-linejoin:round}.scene-facility:hover .facility-label{fill:#ffe5af}.shelter-clouds{pointer-events:none;animation-delay:var(--scene-time,0s)}.cloud-near{animation:shelter-cloud-drift 90s linear infinite alternate;animation-delay:var(--scene-time,0s)}.cloud-far{animation:shelter-cloud-drift-far 140s linear infinite alternate;animation-delay:var(--scene-time,0s)}.chimney-smoke{fill:#bdc5c6;opacity:.13;transform-box:fill-box;transform-origin:center bottom;animation:shelter-smoke 8s ease-in-out infinite;animation-delay:var(--scene-time,0s)}.grounded-flame{transform-box:fill-box;transform-origin:center bottom;animation:shelter-flame 2.5s ease-in-out infinite;animation-delay:var(--scene-time,0s)}.radio-beacon{animation:shelter-beacon 4s ease-in-out infinite;animation-delay:var(--scene-time,0s)}
@keyframes shelter-cloud-drift{from{transform:translateX(-26px)}to{transform:translateX(65px)}}@keyframes shelter-cloud-drift-far{from{transform:translateX(35px)}to{transform:translateX(-42px)}}@keyframes shelter-smoke{0%,100%{opacity:.11;transform:translate(0,0) scale(.93)}50%{opacity:.21;transform:translate(5px,-7px) scale(1.1)}}@keyframes shelter-flame{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(.88,.92);opacity:.8}}@keyframes shelter-beacon{0%,80%,100%{opacity:.45}85%{opacity:1}}
.skills-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 27px;padding:7px;background:#131518;border:1px solid #383b3e;border-radius:9px}.skills-tab{position:relative;min-height:83px;display:flex;justify-content:center;align-items:center;gap:14px;background:linear-gradient(180deg,#282b30,#202227);border:1px solid #41444b;border-radius:5px;color:#bdbbb5;box-shadow:inset 0 1px #ffffff04;font-size:14px;text-transform:uppercase;letter-spacing:1.5px}.skills-tab .pixel-icon{opacity:.65}.skills-tab:hover:not(:disabled){background:#303238;border-color:#a08456}.skills-tab.selected{background:linear-gradient(145deg,#5b4830,#352d22);border-color:#c6a16a;color:#f6d49b;box-shadow:inset 0 1px #e9c68f33,0 3px 12px #0004}.skills-tab.selected:after{content:'';position:absolute;bottom:0;left:26%;right:26%;height:3px;background:#edc780;border-radius:2px 2px 0 0}.skills-tab.selected .pixel-icon{opacity:1;filter:brightness(1.15)}#skills-content{min-width:0}.skills-tabs:focus-within{border-color:#5c554a}
@media(max-width:800px){.skills-tabs{gap:7px;padding:5px;margin-bottom:20px}.skills-tab{min-height:75px;gap:9px;font-size:12px;letter-spacing:1px}.scene-facility text{font-size:8px}.base-scene{aspect-ratio:2/1;min-height:0;height:auto}}
@media(max-width:440px){.skills-tab{min-height:82px;flex-direction:column;gap:7px;padding:10px 4px;font-size:11px;letter-spacing:.7px}.skills-tab .pixel-icon{height:27px;width:27px}.skills-tabs{gap:5px}.scene-topline{font-size:7px;letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){.shelter-clouds,.chimney-smoke,.grounded-flame,.radio-beacon{animation:none!important}}.reduce-motion .base-scene *{animation:none!important}

/* Survivor vitals and expedition field reports */
.header-vitals{min-width:0;display:grid;gap:10px}.health-meter{display:block;width:100%;padding:0;border:0;border-radius:0;background:none;text-align:left;box-shadow:none}.health-meter:hover{background:none}.health-meter>span:first-child{display:flex;justify-content:space-between;gap:8px;font:9px Consolas,monospace;margin-bottom:6px;color:#c59d94}.health-meter b{font-weight:400;letter-spacing:1px}.health-meter .progress{display:block;height:5px;background:#3b2d2f;overflow:hidden}.health-meter .progress i{display:block;height:100%;background:linear-gradient(90deg,#98594f,#d7937e);box-shadow:none}.health-meter.critical>span{color:#f1a193}.health-meter.critical .progress i{background:#d76759}.health-meter:focus-visible{outline:1px solid #d7937e;outline-offset:5px}.topbar .header-vitals .character-meter{grid-column:auto;grid-row:auto}.topbar .header-vitals .character-meter>div:first-child{margin-bottom:6px}.route-readiness{font-size:10px;padding:5px 7px;border-color:#635744;background:#b7935010;color:#d8bf95}.combat-forecast{padding:12px;background:#10121670;border:1px solid #3b3d42;border-radius:5px;margin:0 0 15px;font-size:10px;line-height:1.6}.combat-forecast>div{display:flex;justify-content:space-between;gap:8px}.combat-forecast b{color:#ddd2b9}.combat-forecast span,.combat-forecast small{color:#b1a69c}.combat-forecast small{display:block;margin-top:4px}.combat-forecast strong{display:block;color:#efac98;font-size:10px;margin-top:6px}.combat-forecast.lethal{background:#ad574316;border-color:#8d5c50}.last-report{display:flex;justify-content:flex-end;margin:-22px 0 20px}.readiness-breakdown{margin:24px 0}.readiness-breakdown>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #414045;padding:12px 0;font-size:12px}.readiness-breakdown>div>span{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.readiness-breakdown small{width:100%;font-size:10px;color:var(--muted)}.readiness-breakdown b{color:var(--accent)}.readiness-total{font-size:16px!important}.expedition-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.expedition-summary>span{background:#15171c;border:1px solid #3e3d3f;border-radius:5px;padding:14px;font-size:10px;color:#aaa399}.expedition-summary b{display:block;font:22px Consolas,monospace;color:#e4c490;margin-bottom:7px}.expedition-summary>span:first-child b{color:#daa08e}.expedition-rewards{display:grid;gap:8px;margin:20px 0}.expedition-reward{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #424248;background:#181a20;border-radius:5px}.expedition-reward>.item-art{height:46px;width:46px;flex-shrink:0}.expedition-reward>div:nth-child(2){flex:1;min-width:0}.expedition-reward b{display:block;font-size:12px}.expedition-reward b>span{color:var(--accent);font-weight:400}.expedition-reward small{display:block;font-size:9px;color:#b4a99a;margin-top:6px;line-height:1.6}.expedition-reward .rarity-badge{margin-top:5px}.expedition-reward button{flex-shrink:0;font-size:10px;max-width:100px}.character-hero{display:grid;grid-template-columns:230px minmax(0,1fr) 180px;gap:30px;padding:24px 30px 24px 20px;border:1px solid #555044;border-radius:7px;align-items:center;background:radial-gradient(ellipse at 15% 40%,#b5995b12,transparent 60%),linear-gradient(130deg,#24262a,#191b20);position:relative;overflow:hidden}.character-hero:before{content:'';position:absolute;top:0;left:30px;width:70px;height:2px;background:var(--accent)}.portrait-stage{position:relative;min-width:0;text-align:center;border:1px solid #484841;background:radial-gradient(ellipse at 50% 25%,#4c4b4144,#161b2044);border-radius:6px;padding:6px 12px 14px}.survivor-model{display:block;width:100%;height:auto;max-height:280px;margin:auto;image-rendering:pixelated}.portrait-stage>span{font:8px Consolas,monospace;color:#a99c81;letter-spacing:3px}.survivor-model.fallen .survivor-body{opacity:.5}.survivor-identity h1{font-size:28px;margin:10px 0}.survivor-identity>p{color:#aba395;font-size:12px;margin:0 0 25px}.survivor-identity .character-meter{max-width:none;margin-top:16px}.survivor-identity .health-meter .progress{height:7px}.survivor-identity .character-meter .progress{height:7px}.survivor-identity .eyebrow{font-size:8px;letter-spacing:1.5px}.worn-items{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:23px}.worn-items>span{display:flex;align-items:center;gap:6px;font-size:10px;color:#bdb3a4}.survivor-readiness{border-left:1px solid #44413a;padding-left:25px}.survivor-readiness>small{font:9px Consolas,monospace;letter-spacing:1px;color:#b5a58c}.survivor-readiness>strong{display:block;font:52px Consolas,monospace;color:var(--accent);margin:12px 0 2px}.survivor-readiness>.text-button{font-size:10px;padding:8px 0}.survivor-yield{border-top:1px solid #44413a;margin-top:20px;padding-top:18px;display:grid;gap:8px}.survivor-yield>b{font:24px Consolas,monospace;color:#ddcba7}.survivor-yield>span{font-size:11px;color:#c2b7a4}.survivor-yield>small{color:#9b978d;font-size:10px;line-height:1.6}.equipment-heading>button{font-size:11px}.character-hero+.section-head{margin-top:30px}
@media(min-width:801px) and (max-width:1150px){.topbar .header-vitals{grid-column:1;grid-row:2}.character-hero{grid-template-columns:170px minmax(0,1fr);gap:22px;padding:20px}.survivor-readiness{grid-column:1/-1;display:flex;align-items:center;gap:18px;border-left:0;border-top:1px solid #44413a;padding:18px 0 0}.survivor-readiness>strong{font-size:32px;margin:0}.survivor-yield{border:0;margin:0 0 0 auto;padding:0}.survivor-yield>small{display:none}}
@media(max-width:800px){.topbar .header-vitals{grid-column:1/-1;grid-row:2;width:100%;gap:9px}.character-hero{grid-template-columns:150px minmax(0,1fr);padding:18px;gap:20px}.survivor-identity h1{font-size:23px}.survivor-identity>p{margin-bottom:18px}.survivor-readiness{grid-column:1/-1;display:flex;gap:16px;align-items:center;padding:16px 0 0;border-left:0;border-top:1px solid #44413a}.survivor-readiness>small{max-width:80px;font-size:8px}.survivor-readiness>strong{font-size:34px;margin:0}.survivor-yield{border:0;margin:0 0 0 auto;padding:0;gap:5px}.survivor-yield>small{display:none}.survivor-yield>b{font-size:20px}.survivor-yield>span{font-size:9px}.portrait-stage{padding:4px 3px 12px}.portrait-stage>span{font-size:7px;letter-spacing:2px}}
@media(max-width:480px){.character-hero{grid-template-columns:112px minmax(0,1fr);gap:16px 12px;padding:14px}.survivor-identity .eyebrow{display:none}.survivor-identity h1{font-size:20px;margin:2px 0 8px}.survivor-identity>p{font-size:10px;margin-bottom:17px}.survivor-identity .character-meter span{font-size:7px}.survivor-identity .character-meter>div:first-child{gap:3px;font-size:8px}.survivor-identity .level-label{display:none}.worn-items{margin-top:14px;gap:7px}.worn-items>span{font-size:8px;gap:4px}.worn-items .pixel-icon{width:16px;height:16px}.survivor-readiness{gap:9px;flex-wrap:wrap}.survivor-readiness>small{max-width:65px;line-height:1.5}.survivor-readiness>strong{font-size:30px}.survivor-readiness>.text-button{font-size:9px}.survivor-yield{max-width:70px}.survivor-yield>span{font-size:8px}.expedition-reward{gap:8px;padding:10px;flex-wrap:wrap}.expedition-reward>div:nth-child(2){min-width:150px}.expedition-reward button{margin-left:54px;max-width:none}.last-report{margin:0 0 20px}.equipment-heading{gap:10px}.equipment-heading>button{padding:8px;font-size:10px}}

.skills-tab.selected:hover:not(:disabled){background:linear-gradient(145deg,#685236,#403525);border-color:#e1bc7d;color:#ffe0a7}

/* Compact supply overview and mobile travel header. */
.header-shell{position:relative;z-index:35}.topbar{position:relative;top:auto;grid-template-columns:minmax(170px,.7fr) minmax(220px,1.5fr) auto;gap:26px}.header-summary{display:flex;align-items:center;gap:12px}.header-readiness{display:flex;align-items:center;gap:8px;padding:10px 12px;background:none;border-color:#444039;color:#bbae98;font-size:10px;white-space:nowrap}.header-readiness b{font:20px Consolas,monospace;color:#e9c587;margin-right:3px}.supplies-wrapper{position:relative}.supplies-button{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 12px;border-color:#5b5142;background:linear-gradient(145deg,#38332b,#24262b);font-size:11px;color:#e4ceaa}.supplies-button[aria-expanded=true]{border-color:#c5a16a;background:#40372a}.supplies-button>span:last-child{color:#a99371}.supplies-menu{position:absolute;right:0;top:calc(100% + 12px);width:320px;background:#202329;border:1px solid #635644;border-radius:8px;padding:16px;box-shadow:0 16px 45px #0009;z-index:80}.supplies-menu-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #444039;padding-bottom:13px}.supplies-menu-heading small{font:8px Consolas,monospace;letter-spacing:2px;color:#b3976c}.supplies-menu-heading h3{margin:6px 0 0;font-size:16px}.supplies-menu-heading>span{font-size:10px;color:#a69b8a}.supplies-list{max-height:min(380px,55dvh);overflow:auto;margin:8px -5px;padding:0 5px;overscroll-behavior:contain}.supplies-list>button{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #ffffff06;background:none;padding:12px 4px;text-align:left;border-radius:0}.supplies-list>button:hover{background:#d7ae6210}.supplies-list>button>span{flex:1;font-size:12px;color:#d4cab8}.supplies-list>button>b{font:13px Consolas,monospace;color:#e3c488}.supplies-list>p{font-size:12px;color:var(--muted);line-height:1.7;padding:10px}.supplies-menu>.text-button{padding:12px 0 0;border-top:1px solid #444039;border-radius:0;text-align:left;font-size:11px}.header-actions,.compact-links{display:none}.expeditions-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 28px;gap:18px}.expeditions-heading h1{margin:0;font-size:30px;letter-spacing:-1px}.expeditions-readiness{text-align:right;display:grid;gap:4px}.expeditions-readiness>span{color:#d9c7a6;font-size:12px}.expeditions-readiness b{font:22px Consolas,monospace;color:var(--accent);margin-right:3px}.expeditions-readiness>.text-button{padding:3px 0;font-size:10px}.expeditions-heading+.last-report{margin:-8px 0 18px}.equipment-actions{display:flex;gap:8px;flex-shrink:0}.equipment-actions button{font-size:11px}
@media(min-width:801px) and (max-width:1150px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:14px 24px}.topbar .base-label{grid-column:1;grid-row:1}.topbar .header-vitals{grid-column:1;grid-row:2}.header-summary{grid-column:2;grid-row:1/3;gap:8px;flex-direction:column;align-items:stretch}.header-readiness,.supplies-button{justify-content:center}}
@media(max-width:800px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:15px 12px;padding:14px 18px}.topbar .base-label{grid-column:1;grid-row:1;order:0}.topbar .header-vitals{grid-column:1/-1;grid-row:2}.header-summary{grid-column:1/-1;grid-row:3;justify-content:space-between;gap:12px}.header-readiness{border:0;padding:4px 0;min-height:40px}.header-readiness b{font-size:21px}.supplies-button{min-height:40px;padding:7px 12px}.header-actions{display:flex;align-items:center;gap:6px;grid-column:2;grid-row:1;order:0}.topbar .header-actions .more-wrapper{display:block;position:relative}.compact-link{padding:7px;display:grid;place-items:center;height:36px;width:36px;background:#23252a;border-color:#414043}.header-shell.compact>.topbar{position:fixed;top:0;left:0;right:0;min-height:64px;box-sizing:border-box;height:64px;padding:11px 15px;display:flex;gap:9px;justify-content:space-between;border-bottom-color:#63533a;box-shadow:0 8px 25px #0005;z-index:45}.header-shell.compact .header-vitals,.header-shell.compact .header-summary{display:none}.header-shell.compact .compact-links{display:flex;gap:5px}.header-shell.compact .base-label{flex:1;gap:7px;min-width:0}.header-shell.compact .base-label>.pixel-icon{display:none}.header-shell.compact .base-label>div>span{font-size:11px}.header-shell.compact .base-label small{font-size:6px;letter-spacing:1.1px}.header-shell.compact .header-actions{flex-shrink:0}.header-shell.compact .more-button{height:36px;padding:7px 9px}.header-shell.compact .more-menu{top:calc(100% + 13px)}.supplies-menu{width:min(320px,calc(100vw - 36px))}.expeditions-heading h1{font-size:27px}.equipment-heading{flex-wrap:wrap;gap:12px}.equipment-actions{margin-left:auto}.equipment-actions button{padding:9px 10px;font-size:10px}}
@media(max-width:360px){.header-shell.compact>.topbar{padding:11px 12px;gap:5px}.compact-link{height:33px;width:31px;padding:5px}.header-shell.compact .compact-links{gap:4px}.header-shell.compact .header-actions{gap:4px}.header-shell.compact .more-button{font-size:10px;padding:6px;height:33px}.header-shell.compact .base-label>div>span{font-size:10px}.header-shell.compact .base-label small{font-size:5.5px}}
@media(max-width:800px){.supplies-menu{display:flex;flex-direction:column;max-height:calc(100dvh - 360px)}.supplies-menu-heading,.supplies-menu>.text-button{flex-shrink:0}.supplies-list{max-height:none;min-height:0;flex:1}}

/* Always-compact mobile command bar. */
.topbar{min-height:76px;padding:12px 24px;grid-template-columns:190px minmax(180px,1fr) auto;gap:20px}.topbar .base-label{grid-column:auto;grid-row:auto}.topbar .header-vitals{grid-column:auto;grid-row:auto;gap:9px}.header-summary{grid-column:auto;grid-row:auto;flex-direction:row}.character-menu-wrapper{position:relative}.character-menu{position:absolute;top:calc(100% + 12px);right:0;width:260px;padding:20px;background:#202329;border:1px solid #635644;border-radius:8px;box-shadow:0 16px 45px #0009;z-index:80}.character-menu>small{font:9px Consolas,monospace;color:#b6a17f;letter-spacing:1px}.character-menu>strong{display:block;font:38px Consolas,monospace;color:#e6c58c;margin:10px 0 4px}.character-menu>.text-button{font-size:10px;padding:6px 0 18px}.character-menu>.wide{font-size:11px;padding:12px 8px}.topbar>.more-wrapper{display:none}.scene-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#74634b #1a2024}.scene-pan-hint{display:none}.scene-viewport .base-scene{display:block;width:100%;height:auto;min-height:0;max-height:none}.scene-label .facility-label{font:12px Consolas,monospace!important;letter-spacing:0;fill:#eed3a5;pointer-events:none}.scene-label:hover rect,.scene-label:focus rect{stroke:#efd093;fill:#353128}.scene-label{cursor:pointer}.building-card{scroll-margin-top:90px}
@media(min-width:801px) and (max-width:1100px){.topbar{grid-template-columns:150px minmax(140px,1fr) auto;padding:12px 18px;gap:16px}.header-summary{gap:6px}.header-readiness{padding:9px 7px}.header-readiness .pixel-icon{display:none}.supplies-button{padding:9px}.base-label>div>span{font-size:11px}}
@media(max-width:800px){.header-shell{position:sticky;top:0;z-index:45;min-height:64px!important}.topbar{height:64px;min-height:64px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 34px 34px auto;grid-template-rows:33px 10px;padding:7px 14px;gap:6px;box-shadow:0 5px 16px #0004}.topbar .base-label{grid-column:1;grid-row:1;min-width:0;gap:0}.topbar .base-label>.pixel-icon{display:none}.topbar .base-label small{font-size:6px;letter-spacing:1px;margin-bottom:4px}.topbar .base-label>div>span{font-size:11px}.topbar .header-summary{display:contents}.topbar .header-readiness{display:none}.topbar .header-actions{display:block;grid-column:2;grid-row:1}.topbar .supplies-wrapper{grid-column:3;grid-row:1;position:static}.topbar .supplies-button{width:34px;height:33px;min-height:0;display:grid;place-items:center;padding:5px;background:#25272c;border-color:#48443b}.supplies-button>span{display:none}.topbar .supplies-button .pixel-icon{width:23px;height:23px}.topbar .compact-link{width:34px;height:33px;padding:5px}.topbar>.more-wrapper{display:block;grid-column:4;grid-row:1;position:static;order:0}.topbar .more-button{padding:7px 9px;height:33px;font-size:10px}.topbar .more-menu,.topbar .supplies-menu,.topbar .character-menu{position:absolute;top:calc(100% + 8px);right:12px;width:min(330px,calc(100vw - 24px));box-sizing:border-box;max-height:calc(100dvh - 245px)}.character-menu-wrapper{position:static}.topbar .header-vitals{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;width:100%}.topbar .health-meter{display:grid;grid-template-columns:10px minmax(0,1fr);gap:5px;align-items:center;height:10px}.topbar .health-meter>span:first-child{display:contents}.topbar .health-meter b{font-size:0;line-height:10px;letter-spacing:0}.topbar .health-meter b:after{content:'♥';font-size:10px;color:#d79a87}.topbar .health-meter .health-value{display:none}.topbar .health-meter .progress{height:5px;grid-column:2}.topbar .header-vitals .character-meter{display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:5px;min-width:0;max-width:none;height:10px}.topbar .character-meter>div:first-child{display:contents}.topbar .character-meter b{font:8px Consolas,monospace;letter-spacing:0;white-space:nowrap;color:#dfc28e}.topbar .character-meter .level-label,.topbar .character-meter>div:first-child>span{display:none}.topbar .character-meter .progress{height:5px;padding:0;border:0}.main-content{padding-top:20px}.scene-viewport{width:100%;touch-action:pan-x pan-y;outline-offset:-2px}.scene-viewport .base-scene{width:max(100%,720px);max-width:none;aspect-ratio:2/1;height:auto}.scene-pan-hint{display:block;text-align:center;font:9px Consolas,monospace;letter-spacing:.5px;color:#b6a587;padding:9px;border-top:1px solid #3e4141;background:#1c2227}.scene-footer small{max-width:220px}.scene-label .facility-label{font-size:13px!important}.supplies-list{overscroll-behavior:contain}}
@media(max-width:360px){.topbar{padding-left:11px;padding-right:11px;gap:5px;grid-template-columns:minmax(0,1fr) 31px 31px auto}.topbar .compact-link,.topbar .supplies-button{width:31px}.topbar .base-label>div>span{font-size:10px}.topbar .more-button{padding:7px}.topbar .header-vitals{gap:9px}}

/* Fixed safehouse framing and quieter progression layouts. */
.scene-viewport{overflow:hidden;scrollbar-width:none}.scene-pan-hint{display:none}.expeditions-heading{margin-bottom:18px;align-items:center}.expeditions-title{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.expeditions-title>.text-button{font-size:11px;padding:6px 0}.expeditions-readiness{gap:3px;flex-shrink:0}.expeditions-readiness>span{display:block;padding:8px 12px;border:1px solid #66563f;border-radius:5px;background:#bd935c0a;font-size:11px}.expeditions-readiness b{font-size:20px}.expeditions-readiness>.text-button{font-size:9px;text-align:center;padding:4px}.expeditions-heading+.section-head{margin-top:20px}.possible-loot{display:flex;gap:10px 15px;flex-wrap:wrap;margin-top:12px}.possible-loot>span{display:flex;align-items:center;gap:6px;font-size:11px;color:#d3c4ab}.loot-variation{font-size:10px!important;line-height:1.7!important;color:#9c978b!important;min-height:0!important;margin:17px 0 0!important}.route-content .loot-preview{margin-top:18px}.journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px;border-bottom:1px solid var(--border)}.journal-toolbar .tabs{margin:0;border:0}.completed-toggle{font-size:10px;padding:8px 11px;white-space:nowrap;margin-bottom:7px}.completed-toggle[aria-pressed=true]{border-color:#b89a6b;color:#e2c58f}
@media(min-width:801px){.topbar{min-height:64px;padding:10px 22px}.topbar .header-vitals{grid-template-columns:1fr 1fr;gap:20px;align-items:center}.topbar .character-meter .progress{height:6px}.topbar .health-meter .progress{height:6px}.topbar .header-vitals .character-meter>div:first-child{margin-bottom:6px}}
@media(max-width:800px){.header-shell{min-height:48px!important}.topbar{height:48px;min-height:48px;grid-template-columns:minmax(92px,1fr) minmax(55px,90px) 32px 32px auto;grid-template-rows:32px;padding:8px 12px;gap:5px}.topbar .base-label{grid-column:1;grid-row:1}.topbar .base-label small{font-size:5.5px;letter-spacing:.7px;margin-bottom:4px}.topbar .base-label>div>span{font-size:10px}.topbar .header-vitals{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr);gap:6px;align-content:center;min-width:0}.topbar .health-meter{grid-template-columns:21px minmax(0,1fr);gap:4px;height:7px}.topbar .health-meter b:after{font-size:8px}.topbar .health-meter .progress{height:4px}.topbar .header-vitals .character-meter{grid-template-columns:21px minmax(0,1fr);gap:4px;height:7px}.topbar .character-meter b{font-size:6px}.topbar .character-meter .progress{height:4px}.topbar .header-actions{grid-column:3;grid-row:1}.topbar .supplies-wrapper{grid-column:4;grid-row:1}.topbar>.more-wrapper{grid-column:5;grid-row:1}.topbar .compact-link,.topbar .supplies-button{width:32px;height:32px}.topbar .more-button{height:32px;font-size:9px;padding:7px}.scene-viewport .base-scene{width:100%;height:auto;aspect-ratio:1.42;min-width:0;max-width:100%}.scene-label .facility-label{font-size:12px!important}.expeditions-title{gap:7px;display:block;min-width:0}.expeditions-title h1{font-size:25px}.expeditions-title>.text-button{font-size:9px;margin-top:5px;text-align:left}.expeditions-readiness>span{padding:7px 9px;font-size:9px}.expeditions-readiness b{font-size:18px}.journal-toolbar{gap:6px}.journal-toolbar .tabs button{padding:13px 9px;font-size:11px}.completed-toggle{font-size:8px;padding:8px}.possible-loot>span{font-size:10px}}
@media(max-width:350px){.topbar{grid-template-columns:minmax(86px,1fr) minmax(44px,60px) 28px 28px auto;padding:8px 9px;gap:4px}.topbar .compact-link,.topbar .supplies-button{width:28px}.topbar .base-label>div>span{font-size:9px}.topbar .more-button{font-size:8px;padding:6px}.topbar .header-vitals{gap:5px}.topbar .health-meter,.topbar .header-vitals .character-meter{grid-template-columns:18px minmax(0,1fr);gap:3px}}
/* Mastery, companions and shared automatic supplies */
.training-summary{display:flex;align-items:center;gap:24px;padding:18px 20px;margin:18px 0;background:linear-gradient(110deg,#b88a3020,#20242a);border:1px solid #78644755;border-radius:7px}.training-summary>div{min-width:210px}.training-summary small{display:block;color:var(--muted);font-size:10px;margin:6px 0}.training-summary .progress{height:5px}.training-summary p{margin:0;font-size:12px}.training-summary>span{font:10px monospace;letter-spacing:2px;color:#dfb873}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.filters button{min-height:34px}.auto-supply{display:flex;flex-direction:column;gap:12px}.auto-supply p{margin:0}.auto-supply small{color:#a8a7a3;font-size:10px}.supply-effect{color:#e4c484;border-top:1px solid #776b4e55;padding-top:12px;font-size:11px}.auto-supply>.small{margin-top:auto}.companion-panel{display:flex;align-items:center;gap:24px;margin:24px 0;background:radial-gradient(ellipse at left,#bd95491f,transparent 70%),#1e2227}.companion-panel h2{margin:5px 0}.companion-panel p{max-width:680px}.companion-art{flex-shrink:0;width:120px}.companion-panel>.small{margin-left:auto}.pet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pet-card{text-align:center;padding:20px;transition:border-color .2s,transform .2s}.pet-card:hover{transform:translateY(-3px);border-color:#b49a68}.pet-card p{font-size:11px;line-height:1.7;min-height:56px}.pet-card small{font:8px monospace;letter-spacing:1px}.pet-portrait{height:130px;background:radial-gradient(ellipse,#bc9b5630,transparent 70%)}.pet-card.active-pet{border-color:#e2bb6e;box-shadow:inset 0 0 20px #d9b56f0c}.silhouette .pet-model{filter:brightness(0);opacity:1}.pet-modal-art{text-align:center;margin:0 auto 16px}.pet-modal-art svg{width:180px;height:150px}.pet-breathe{transform-origin:60px 85px;animation:pet-breathe 4s ease-in-out infinite}.scene-pet{cursor:pointer}.scene-pet:hover{filter:brightness(1.2)}.progress i{transition:width .25s ease-out}#toast.visible{animation:toast-arrive .25s ease-out}.mill-saw{transform-box:fill-box;transform-origin:center;animation:mill-turn 6s linear infinite}@keyframes pet-breathe{50%{transform:translateY(-1px) scaleY(1.025)}}@keyframes mill-turn{to{transform:rotate(360deg)}}@keyframes toast-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}.reduce-motion .pet-breathe,.reduce-motion .mill-saw,.reduce-motion #toast.visible{animation:none!important}@media(prefers-reduced-motion:reduce){.pet-breathe,.mill-saw,#toast.visible{animation:none!important}.pet-card,.progress i{transition:none!important}}@media(max-width:1100px){.pet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.training-summary{flex-wrap:wrap;gap:10px;padding:14px}.training-summary>div{min-width:100%;}.training-summary p{font-size:10px}.companion-panel{gap:12px;flex-wrap:wrap;padding:16px}.companion-art{width:74px}.companion-art svg{width:74px;height:74px}.companion-panel>div:nth-child(2){flex:1;min-width:160px}.companion-panel h2{font-size:17px}.companion-panel p{font-size:10px}.companion-panel>.small{margin-left:0;width:100%}.pet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pet-card{padding:12px}.pet-card p{font-size:9px;min-height:70px}.pet-card h3{font-size:13px}.pet-portrait{height:110px}.pet-portrait svg{width:100px;height:100px}.pet-card small{font-size:6.5px}.filters{gap:5px}.filters button{font-size:9px;padding:7px 9px}}
.tool-foldout{border:1px solid var(--border);background:var(--panel);border-radius:6px;margin:18px 0;padding:16px}.tool-foldout summary{cursor:pointer;font-weight:600;color:var(--text)}.tool-foldout summary span{font-size:10px;color:var(--muted);float:right}.tool-foldout[open] summary{margin-bottom:18px}@media(max-width:500px){.tool-foldout summary span{display:block;float:none;margin:6px 0 0 14px}}

/* Stable modal layout and compact, searchable catalogues. */
html{scrollbar-gutter:stable}.work-toolbar{display:flex;flex-direction:column;gap:15px;margin:22px 0 18px}.work-toolbar .filters{margin:0}.work-search{display:flex;align-items:center;gap:9px;border:1px solid #44464a;background:#14171b;border-radius:6px;padding:0 12px;width:100%;max-width:460px}.work-search input{border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:12px 0!important;width:100%;min-width:0}.work-search:focus-within{outline:1px solid var(--accent);border-color:var(--accent)}.work-search .pixel-icon{opacity:.65;flex-shrink:0}.activity-list:empty:after{content:'No matching activities. Try another search or skill.';display:block;padding:30px;border:1px dashed var(--border);border-radius:6px;color:var(--muted)}.skill-card{position:relative;padding-bottom:30px}.skill-card .guide-link{position:absolute;bottom:12px;right:17px;font-size:18px;line-height:1;margin:0}.skill-card h3{gap:12px}.skill-card h3 span{white-space:nowrap}.skill-card small{padding-right:20px}.route-facts{align-items:center;gap:8px;margin:14px 0}.route-facts>span{white-space:nowrap}.route-badges{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.route-badges .route-readiness{display:inline-flex;align-items:center;justify-content:center;min-height:29px;border:1px solid #635744;border-radius:4px;padding:5px 7px;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap}.route-recovery{font-size:11px!important;min-height:0!important}.supply-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:4px}.supply-actions .small{width:100%}.treat-button{border:1px solid #689582;background:#47705b16;color:#a5d2b8;font-size:11px;padding:9px 12px}.treat-button:hover:not(:disabled){background:#47705b35;border-color:#92b7a2}.item-icon{filter:drop-shadow(0 1px 1px #0003)}
@media(max-width:800px){.work-search{max-width:none}.route-facts{gap:6px}.route-badges{gap:5px}.route-badges .route-readiness{font-size:8px;min-height:27px;padding:5px}.topbar .health-meter,.topbar .header-vitals .character-meter{grid-template-columns:30px minmax(0,1fr);gap:3px}}

/* Selected skill progress lives beside the search and skill controls. */
.work-controls{display:flex;align-items:center;gap:24px;margin:22px 0 18px}.work-controls .work-toolbar{flex:1;min-width:0;margin:0}.work-controls .training-summary{width:338px;flex-shrink:0;display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0;padding:15px 18px;align-self:stretch}.work-controls .training-summary>div{min-width:0;grid-column:1/-1}.work-controls .training-summary p{font-size:10px;line-height:1.5}.work-controls .training-summary>.text-button{padding:4px;font-size:9px}.planting-cost{display:flex;align-items:center;gap:13px;margin:12px 0}.planting-cost>small{font-size:8px;letter-spacing:1px;color:var(--muted);white-space:nowrap}.planting-cost .costs{margin:0}.planting-cost .costs>span{font-size:10px;color:#c8c2b6}
@media(max-width:1000px){.work-controls{gap:14px}.work-controls .training-summary{width:280px}}
@media(max-width:800px){.work-controls{flex-direction:column;align-items:stretch;gap:12px}.work-controls .training-summary{width:auto;padding:12px 14px}.work-controls .training-summary>div{min-width:0}.work-controls .training-summary p{font-size:10px}}

/* Compact loadout, storage filters and skill mastery. */
.modal-close{display:grid!important;place-items:center;line-height:1!important;font-family:Arial,sans-serif;font-size:23px;text-align:center;inset:12px 12px auto auto}.slot-options{max-height:306px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:9px;margin-bottom:12px}.slot-options>div{min-height:102px;box-sizing:border-box;padding:14px 0}.slot-options>div>span{min-width:0}.slot-options small{line-height:1.5}.slot-options>div>button{flex-shrink:0}.picker-empty{padding:24px 0}.storage-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 22px}.storage-filters label{font-size:9px;letter-spacing:.5px;flex:0 1 210px;margin:0}.storage-filters select{width:100%;margin-top:7px;font-size:11px}.storage-filters .text-button{margin-bottom:4px}.farming-flow{display:flex;gap:14px;align-items:center;padding:14px 18px;border:1px solid #506047;border-radius:5px;background:#8097650b;margin:0 0 18px}.farming-flow b{font-size:11px;color:#c1cfad;white-space:nowrap}.farming-flow span{font-size:11px;line-height:1.6;color:var(--muted);flex:1}.farming-flow button{flex-shrink:0}.mobile-brand{display:none}.mastery-banners{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.mastery-banner{display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid #b99550;background:linear-gradient(120deg,#785f342b,#252a2b);border-radius:4px;position:relative;box-shadow:inset 3px 0 #d5b871}.mastery-banner>span{flex:1}.mastery-banner small{display:block;font:7px Consolas,monospace;letter-spacing:1.2px;color:#d8b974;margin-bottom:4px}.mastery-banner b{font-size:11px}.mastery-banner>strong{font:24px Georgia,serif;color:#e4c685;margin-left:7px}.mastery-banner em{display:block;font-size:10px;font-style:normal;color:var(--muted);line-height:1.5;margin-top:8px}.mastery-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.mastery-banner.unearned{border-color:#40464a;box-shadow:inset 3px 0 #505957;background:#1b2124}.mastery-banner.unearned>strong,.mastery-banner.unearned small{color:#919a91}.mastery-banner.unearned>.pixel-icon{opacity:.5}.survivor-model{max-height:320px}.portrait-stage{padding:8px 8px 12px}.survivor-eyes{transform-box:fill-box;transform-origin:center;animation:survivor-blink 7s infinite}@keyframes survivor-blink{0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.15)}}.reduce-motion .survivor-eyes{animation:none}@media(prefers-reduced-motion:reduce){.survivor-eyes{animation:none}}
@media(max-width:800px){.topbar{grid-template-columns:94px minmax(0,1fr) 32px 32px auto}.topbar .base-label{display:none}.mobile-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;grid-column:1;grid-row:1;background:none;border:0;padding:0;line-height:1.1;gap:2px;color:#e9e3d7}.mobile-brand>span{font-size:10px;font-weight:800;letter-spacing:2px}.mobile-brand strong{font-size:11px;letter-spacing:-.3px}.mobile-brand strong:after{content:'.';color:var(--accent)}.topbar .header-vitals{width:100%;max-width:none}.topbar .header-vitals .health-meter,.topbar .header-vitals .character-meter{grid-template-columns:30px minmax(0,1fr);width:100%}.topbar .header-vitals .progress{width:100%}.storage-filters{gap:9px}.storage-filters label{flex:1 1 120px}.storage-filters .text-button{font-size:10px}.slot-options{max-height:min(306px,43dvh)}.slot-options>div{gap:9px}.slot-options small{font-size:9px}.farming-flow{flex-wrap:wrap;gap:9px}.farming-flow span{flex-basis:100%;order:2}.farming-flow button{margin-left:auto}.mastery-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.mastery-banner{padding:10px;gap:7px}.mastery-banner>strong{font-size:20px;margin-left:0}.mastery-banner>svg{width:20px}.mastery-banners:not(.mastery-gallery) .mastery-banner{flex:1 1 140px}.mastery-gallery .mastery-banner{flex-wrap:wrap}.mastery-gallery .mastery-banner>span{min-width:90px}.mastery-gallery .mastery-banner>strong{position:absolute;right:10px;top:8px;opacity:.3}}

/* Level milestones celebrate progress without interrupting the active job. */
.survivor-gate{display:flex;align-items:center;gap:7px;font:9px Consolas,monospace;color:#b5c4b3;margin:11px 0}.survivor-gate .pixel-icon{flex-shrink:0}.survivor-gate.unmet{color:#e3b68a}.survivor-gate>b{color:#a9c7a1;margin-left:auto}.route-content>.survivor-gate{border-bottom:1px solid #41403a;padding-bottom:10px;margin-bottom:8px}.building-card .survivor-gate{padding:8px 10px;border:1px solid #4b4b40;border-radius:4px;background:#bbc18e06}.survivor-identity>.survivor-xp-note{font-size:10px;line-height:1.6;color:#a39d91;margin:12px 0 0}.level-celebration{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#080e15c7;backdrop-filter:blur(6px);padding:24px;overflow:hidden;cursor:pointer;opacity:1;transition:opacity .16s ease;--celebration:#91cfb7;--celebration-soft:#75b7a922}.level-celebration.survivor-celebration{--celebration:#ecc780;--celebration-soft:#d0a95724;background:radial-gradient(ellipse at 50% 35%,#62482270,#080e15db 70%)}.level-celebration.leaving{opacity:0}.celebration-card{position:relative;width:min(520px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;text-align:center;padding:30px 32px 23px;border:1px solid color-mix(in srgb,var(--celebration) 65%,#383d3e);border-radius:12px;background:radial-gradient(ellipse at top,var(--celebration-soft),transparent 65%),#1c2328;box-shadow:0 24px 100px #0009,0 0 65px var(--celebration-soft);animation:celebration-arrive .42s cubic-bezier(.18,.8,.25,1.1)}.celebration-card>.eyebrow{font-size:8px;letter-spacing:2px;color:var(--celebration);margin:0 0 21px}.celebration-medal{display:flex;flex-direction:column;align-items:center;justify-content:center;width:130px;height:148px;margin:0 auto 17px;background:linear-gradient(150deg,var(--celebration-soft),#141d23);border:1px solid var(--celebration);border-radius:16px 16px 44px 44px;box-shadow:inset 0 0 0 5px #171f24,0 0 35px var(--celebration-soft)}.survivor-celebration .celebration-medal{width:148px;border-radius:50%;border-width:2px;outline:1px solid #c3a97555;outline-offset:5px}.celebration-medal>strong{font:700 58px Georgia,serif;line-height:1;color:var(--celebration);margin:5px 0}.celebration-medal>span{font:8px Consolas,monospace;letter-spacing:2px;color:#bcbbb0}.celebration-card h2{font-size:28px;color:#f2ebdc;margin:0 0 9px;letter-spacing:-.6px}.celebration-card .celebration-subtitle{font-size:12px;line-height:1.6;color:#b7beb7;margin:0 auto 17px;max-width:370px}.celebration-step{display:flex;justify-content:center;gap:15px;align-items:center;font-size:12px;color:#b7bdb5}.celebration-step>span{font:17px Consolas,monospace;color:#999f97}.celebration-step b{color:var(--celebration)}.celebration-unlocks{text-align:left;border-top:1px solid #64706444;margin-top:19px;padding-top:17px}.celebration-unlocks>small{font:8px Consolas,monospace;color:var(--celebration);letter-spacing:1.5px}.celebration-unlocks ul{list-style:none;padding:0;margin:10px 0;max-height:190px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.celebration-unlocks li{display:flex;gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #ffffff09}.celebration-unlocks li>svg{flex-shrink:0}.celebration-unlocks li b{display:block;font-size:11px;font-weight:600;color:#e2e1d4}.celebration-unlocks li small{display:block;font-size:9px;line-height:1.5;color:#9eaaa3;margin-top:4px}.celebration-unlocks>p{font-size:9px;color:#89958e;margin:6px 0 0}.celebration-benefit{font-size:11px;margin:20px 0;color:#aab8aa}.celebration-dismiss{font:9px Consolas,monospace;letter-spacing:.5px;color:#b9c1b5;margin-top:22px}.celebration-dismiss>span{opacity:.55}.celebration-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.celebration-confetti i{position:absolute;opacity:0;pointer-events:none;will-change:transform,opacity}.celebration-confetti i:nth-child(3n){width:6px;height:6px;border-radius:50%}@keyframes celebration-arrive{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.reduce-motion .celebration-card,.reduce-motion .celebration-confetti i{animation:none}.reduce-motion .celebration-confetti{display:none}@media(prefers-reduced-motion:reduce){.celebration-card,.celebration-confetti i{animation:none}.celebration-confetti{display:none}}@media(max-width:600px){.level-celebration{padding:16px}.celebration-card{padding:24px 20px 20px;max-height:calc(100dvh - 32px)}.celebration-card h2{font-size:25px}.celebration-card>.eyebrow{font-size:7px;letter-spacing:1.5px}.celebration-medal{width:112px;height:128px}.survivor-celebration .celebration-medal{width:128px}.celebration-medal>strong{font-size:50px}.celebration-unlocks ul{max-height:160px}.survivor-gate{font-size:9px}}

.celebration-confetti{z-index:2}.celebration-card{z-index:1}

/* Return summaries, supporter concepts, preferences, and the 3D survivor. */
.return-levels{margin:22px 0}.return-survivor{display:flex;gap:10px;align-items:center;padding:15px;background:#b1945412;border:1px solid #655c44;border-radius:5px;font-size:12px}.return-survivor strong{margin-left:auto;color:var(--accent);font-size:20px}.return-survivor strong small{font-size:10px;color:var(--muted)}.return-levels h3{margin:18px 0 12px}.return-skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.return-skill-grid>div{display:flex;align-items:center;gap:7px;padding:10px;background:#141c2177;border:1px solid #384341;border-radius:4px;font-size:10px}.return-skill-grid b{margin-left:auto;color:#b5d0b7;white-space:nowrap}.return-loot{max-height:200px;overflow-y:auto;padding:10px 0 15px}.return-loot .costs{gap:10px 15px}.return-interruption{padding:13px 15px;border-left:3px solid #d1a264;background:#bd915811;margin:15px 0;border-radius:3px}.return-interruption>b{font-size:12px;color:#dfc18b}.return-interruption>p{font-size:11px;line-height:1.6;margin:5px 0 0}.return-loot-title{margin-top:20px}.profile-settings-layout{display:grid;grid-template-columns:minmax(270px,360px) minmax(0,1fr);gap:26px;align-items:start}.settings-main{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.settings-main>.panel{min-width:0}.settings-main>.panel:first-child{grid-column:1/-1}.supporter-shop{border:1px solid #5c513d;border-radius:8px;padding:20px;background:linear-gradient(145deg,#312b2180,#1a2024);display:grid;gap:12px}.shop-intro>.eyebrow{font-size:8px;letter-spacing:1.5px}.shop-intro h2{font-size:25px;margin:7px 0}.shop-intro p{font-size:11px;line-height:1.6;margin-bottom:13px}.shop-preview{display:block;color:#bda980;font:8px Consolas,monospace;letter-spacing:.5px;border-top:1px solid #655c4244;padding-top:12px}.supporter-shop>h2{font-size:16px;margin:16px 0 0}.shop-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:16px 12px;border:1px solid #514a3e;background:#161d2180;border-radius:6px}.shop-card h3{font-size:13px}.shop-card p{font-size:10px;line-height:1.6;margin:6px 0}.shop-card>strong{grid-column:2;font-size:16px;color:#dec089}.shop-card>button{grid-column:1/-1;font-size:10px;opacity:.55}.shop-footer{margin-top:12px;border-top:1px solid #615640;padding-top:20px}.shop-footer p{font-size:11px;line-height:1.6;margin:8px 0 14px}.shop-footer button{display:block;width:100%;margin-top:9px;font-size:11px}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:15px;letter-spacing:0;padding:14px 0;border-bottom:1px solid #414340;font-size:12px;margin:0}.preference-row span{flex:1}.preference-row b{font-weight:500}.preference-row small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.preference-row input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0}.settings-main label>select{margin-top:8px}.settings-main label>output{float:right;color:var(--accent);font-size:12px}.pass-boost{border-style:dashed;background:linear-gradient(135deg,#69503319,#1b2125)}.pass-boost .supply-actions{margin-top:auto}.survivor-3d{height:310px;width:100%;background:radial-gradient(ellipse at 50% 40%,#6172663b,#172025 75%);border-radius:4px;overflow:hidden;position:relative}.survivor-3d canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline-offset:-3px}.survivor-3d canvas:active{cursor:grabbing}.survivor-3d>.survivor-model{height:100%;object-fit:contain}.portrait-stage>span{display:block;margin-top:12px}.portrait-hint{display:block;color:#9ca894;font:8px Consolas,monospace;margin:8px 0 0;letter-spacing:1px}.character-hero{grid-template-columns:250px minmax(0,1fr) 180px}@media(hover:hover) and (min-width:801px){.scene-label{opacity:.32;transition:opacity .18s}.scene-label:hover,.scene-label:focus,.scene-label.scene-highlight{opacity:1}}@media(max-width:1150px){.settings-main{grid-template-columns:1fr}.profile-settings-layout{grid-template-columns:300px minmax(0,1fr)}.character-hero{grid-template-columns:220px minmax(0,1fr)}.character-hero>.survivor-readiness{grid-column:1/-1;display:flex;align-items:center;gap:18px;border-left:0;border-top:1px solid #44413a;padding:18px 0 0}.character-hero>.survivor-readiness .survivor-yield{margin:0 0 0 auto;border:0;padding:0}.character-hero>.survivor-readiness .survivor-yield small{display:none}}@media(max-width:800px){.profile-settings-layout{display:flex;flex-direction:column;gap:22px}.settings-main{width:100%;order:0}.supporter-shop{width:100%;order:1}.return-skill-grid{grid-template-columns:1fr}.survivor-3d{height:255px}.character-hero{grid-template-columns:minmax(140px,.8fr) minmax(0,1fr);padding:18px 14px;gap:18px}.character-hero .survivor-identity h1{font-size:23px}.scene-label{opacity:1}.character-hero>.survivor-readiness{flex-wrap:wrap}.character-hero>.survivor-readiness .survivor-yield{margin-left:auto}.shop-card{padding:17px}.settings-main>.panel{padding:20px}}@media(max-width:420px){.character-hero{grid-template-columns:1fr}.character-hero .portrait-stage{width:100%;max-width:260px;margin:auto}.survivor-3d{height:300px}.character-hero .survivor-identity h1{text-align:center}.character-hero .survivor-identity>p:first-of-type{text-align:center;margin-bottom:18px}.character-hero>.survivor-readiness>strong{font-size:38px}}

/* Keep the single return report compact, including long loot summaries. */
.modal .offline-stats{margin:20px 0;gap:36px}.modal .return-levels{margin:20px 0}.modal .return-loot{max-height:180px;overflow:auto}.modal .return-interruption{margin-top:18px}

/* Compact collections and skill tiles. */
.storage-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.inventory-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.inventory-item{min-height:112px;padding:18px 8px 9px;gap:5px}.inventory-item>svg{width:32px;height:32px}.inventory-item>b{font-size:11px;line-height:1.25;min-height:28px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inventory-item>small,.inventory-item>.reserved{display:none}.inventory-qty{font-size:10px;top:7px;right:8px}.inventory-item .rarity-badge{padding:2px 4px;font-size:8px}.skill-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.skill-card{display:block;position:relative;min-width:0;padding:18px;min-height:170px;text-align:left}.skill-card>svg{width:33px;height:33px;margin-bottom:12px}.skill-card h3{font-size:14px;margin-bottom:8px}.skill-card h3 span{position:absolute;right:15px;top:21px;font-size:11px}.skill-card p{font-size:11px;line-height:1.45;min-height:32px;margin:5px 0 12px}.skill-card small{font-size:10px}.guide-link{right:12px;bottom:10px}.guide-tip{font-size:12px}
.survivor-identity{align-self:start;padding-top:9px}.character-trophies{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.trophy-button{position:relative;padding:8px;background:#141b1e;border-color:#4c5452;border-radius:9px}.trophy-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:0;z-index:8;min-width:200px;max-width:260px;padding:10px 12px;font-size:11px;background:#101719;border:1px solid #636860;border-radius:5px;box-shadow:0 5px 20px #0008}.trophy-button:hover .trophy-tooltip,.trophy-button:focus-visible .trophy-tooltip{display:block}.trophy-art{color:var(--trophy);filter:drop-shadow(0 2px 2px #0006)}.trophy-tier-5,.trophy-tier-6{filter:drop-shadow(0 0 7px var(--trophy))}.trophy-tier-6{animation:trophy-glow 3s ease-in-out infinite}.trophy-sparkles{transform-origin:center;animation:trophy-sparkle 2.5s ease-in-out infinite}.achievement-title{display:flex;align-items:center;gap:14px}.achievement-title h3{margin:0 0 6px}.achievement-card{padding:22px}.achievement-card.earned{border-color:color-mix(in srgb,var(--trophy) 50%,#303638)}.trophy-tier-track{display:flex;gap:6px;margin:20px 0 12px}.trophy-tier-track span{flex:1;text-align:center;padding:5px;background:#10181b;border:1px solid #414a4c;color:#667174;font-size:10px;border-radius:4px}.trophy-tier-track span.earned{color:var(--tier);border-color:var(--tier);background:color-mix(in srgb,var(--tier) 10%,#10181b)}.achievement-card .progress{height:5px;margin-bottom:9px}.achievement-card>small{font-size:11px;color:var(--muted)}.mode-badge{display:inline-block;margin-left:10px;padding:4px 7px;border:1px solid #56625c;border-radius:4px;font:9px monospace;letter-spacing:.6px}.mode-badge.hardcore{color:#dc9a89;border-color:#a76b60}
.name-picker{display:flex;gap:7px;margin:7px 0 13px}.name-picker input{min-width:0;flex:1;margin:0}.name-picker button{font-size:20px;min-width:42px;padding:4px 9px}.mode-options{border:0;margin:23px 0 12px;padding:0}.mode-options legend{font-size:10px;letter-spacing:1px;color:var(--amber);margin-bottom:10px}.mode-options label{display:flex;gap:12px;border:1px solid #45504d;border-radius:6px;padding:12px;margin-bottom:9px;text-transform:none;letter-spacing:0;align-items:flex-start}.mode-options label:has(input:checked){border-color:var(--amber);background:#d7b77712}.mode-options input{width:auto;margin:4px 0 0}.mode-options b{font-size:13px}.mode-options small{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:#aeb3ad}.login-card h2{font-size:22px}.picker-current{display:flex;align-items:center;gap:12px;margin:15px 0;padding:12px;background:#10171a;border:1px solid #555b54;border-radius:5px}.picker-current span{flex:1;min-width:0}.picker-current small{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.picker-current b{font-size:12px}.recovery-banner{display:flex;align-items:center;gap:18px;padding:20px;background:#30251e;border:1px solid #ac815d;border-radius:8px;margin-bottom:20px}.recovery-banner>div{flex:1}.recovery-banner h2{font-size:17px;margin:0 0 6px}.recovery-banner p{font-size:12px;margin:0;line-height:1.5}.recovery-banner.hardcore{background:#2c1c1e;border-color:#a3656a}.recovery-bar small{display:block;margin-top:5px}.account-stats .detail-stat{font-size:12px}.supporter-shop{order:0}.settings-main{order:1}
@keyframes trophy-glow{50%{filter:drop-shadow(0 0 12px var(--trophy));transform:translateY(-1px)}}@keyframes trophy-sparkle{50%{opacity:.4;transform:scale(.93)}}.reduce-motion .trophy-art,.reduce-motion .trophy-sparkles{animation:none!important}
@media(max-width:1150px){.storage-layout{grid-template-columns:1fr}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.inventory-item{padding:20px 4px 7px;min-height:94px}.inventory-item>svg{width:28px;height:28px}.inventory-item>b{font-size:9px;min-height:23px;line-height:1.25}.inventory-item .rarity-badge{font-size:0;line-height:1;padding:2px 5px;min-height:12px}.inventory-item .rarity-badge span{font-size:9px}.inventory-qty{font-size:9px;right:5px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.skill-card{padding:14px;min-height:161px}.skill-card h3{font-size:12px}.skill-card h3 span{top:20px;right:10px;font-size:10px}.skill-card p{font-size:10px;min-height:42px}.skill-card small{font-size:9px}.skill-card>svg{width:27px;height:27px}.character-trophies{justify-content:center;margin:17px 0 0;gap:7px}.trophy-button{padding:5px}.trophy-button svg{width:34px;height:34px}.trophy-tooltip{display:none!important}.profile-settings-layout .supporter-shop{order:0}.profile-settings-layout .settings-main{order:1}.recovery-banner{padding:14px;gap:10px;flex-wrap:wrap}.recovery-banner h2{font-size:14px}.recovery-banner>svg{width:24px}.mode-badge{margin:8px 0 0}.skills-tab{font-size:11px;letter-spacing:.6px}.skills-tab svg{width:20px}.login{overflow:auto}.login-card{padding-top:32px;padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){.trophy-art,.trophy-sparkles{animation:none!important}}
/* Radio intelligence shares the right rail with the next objective. */
.base-aside{display:flex;flex-direction:column;gap:16px;min-width:0}.base-aside .next-goal{flex:0 0 auto;min-height:215px}.base-aside .next-goal button{margin-top:15px}.signal-dot{width:6px;height:6px;background:#9bc2ba;border-radius:50%;margin-left:auto;box-shadow:0 0 9px #9bc2ba77}.safe{color:#9ac8a3}.building-card.damaged{border-color:#ad7562;background:linear-gradient(135deg,#302825,#202328)}.pill.red{color:#ebb099;border-color:#9e604b;background:#aa654418}.repair-controls{border-top:1px solid #a8795344;margin-top:16px;padding-top:12px}.repair-controls>p{font-size:11px;color:#d4bbaf}.repair-controls small{font-size:9px;line-height:1.5;color:#a69b91;display:block;margin-top:10px}.scene-damaged{filter:grayscale(.8) brightness(.62)}.scene-damaged-label{opacity:1!important}.scene-damaged-label rect{stroke:#d99775!important}.scene-damaged-label text{fill:#edb395!important}.return-raid{padding:15px;border:1px solid #78644b;border-radius:6px;margin:20px 0;background:#b69a4310}.return-raid h3{margin-top:0}
@media(min-width:1500px){.base-layout{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:1100px){.base-aside{display:grid;grid-template-columns:1fr 1fr;align-items:start}.base-aside .next-goal{display:flex;min-height:unset}.base-aside .next-goal button{align-self:flex-start}}
@media(max-width:600px){.base-aside{display:flex}}
/* Keep both right-hand cards within the scene's visual height on ordinary desktop screens. */
.base-layout>.scene-panel{align-self:start}.base-aside .next-goal{min-height:0;padding:16px}.base-aside .next-goal>.pixel-icon{display:none}.base-aside .next-goal .eyebrow{margin-bottom:2px}.base-aside .next-goal h2{font-size:17px;margin:8px 0}.base-aside .next-goal p{font-size:11px;line-height:1.5;margin:0}.base-aside .next-goal small{font-size:9px;line-height:1.5;margin-top:6px}.base-aside .next-goal button{margin-top:10px;padding-top:2px}
@media(max-width:600px){.base-aside .next-goal{padding:18px}}

/* Homestead identity and location dioramas */
.game-logo{display:flex;align-items:center;gap:10px;text-align:left;color:#e4d8b8}.game-logo>svg{width:42px;height:48px;flex-shrink:0}.game-wordmark{display:flex;flex-direction:column!important;line-height:1.05;gap:4px}.game-wordmark>strong{font-family:Georgia,serif;font-weight:800;font-size:17px!important;letter-spacing:.3px!important;color:#e4d8b8!important}.game-wordmark>span{font-size:11px!important;letter-spacing:2px!important;color:#d4b577}.game-wordmark>small{font-size:8px;letter-spacing:4px;color:#9aab96}.brand{padding:12px 0 22px;gap:0}.brand .game-logo{gap:5px}.brand .game-logo>svg{width:32px}.brand .game-wordmark>strong{font-size:15px!important}.brand .game-wordmark>span{font-size:9px!important}.login-logo .game-logo>svg{width:86px;height:100px}.login-logo .game-wordmark>strong{font-size:clamp(27px,4vw,45px)!important}.login-logo .game-wordmark>span{font-size:clamp(18px,2.6vw,28px)!important;letter-spacing:4px!important}.login-logo .game-wordmark>small{font-size:12px;letter-spacing:7px}.mobile-brand::after,.mobile-brand strong::after{content:none!important}
.route-banner{height:180px;overflow:hidden;padding:0;background:#34494b}.route-banner::before,.route-banner::after{display:none}.route-banner>.location-scene{display:block;width:100%;height:100%;position:absolute;inset:0;transform:none;max-width:none;opacity:1}.route-banner>span,.route-banner>b{z-index:1;background:#172826c9;border:1px solid #9ca88855;padding:4px 7px;border-radius:3px}.route-banner>span{top:12px;left:12px}.route-banner>b{bottom:10px;right:10px}.locked .location-scene{filter:saturate(.6);opacity:.75}.queue-list{max-height:45vh;overflow:auto;margin:15px 0}.queue-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.queue-list small{color:var(--amber);margin-right:10px}.queue-list em{display:block;font-size:10px;font-style:normal;color:var(--muted);padding-left:22px}.queue-current{background:#28342d;padding:12px;border-radius:5px}
@media(max-width:800px){.mobile-brand .game-logo>svg{display:none}.mobile-brand .game-wordmark{gap:2px}.mobile-brand .game-wordmark>strong{font-size:9px!important;letter-spacing:0!important}.mobile-brand .game-wordmark>span{font-size:7px!important;letter-spacing:.7px!important}.mobile-brand .game-wordmark>small{font-size:5px;letter-spacing:2px}.route-banner{height:160px}.login-logo .game-logo{gap:4px}.login-logo .game-logo>svg{width:52px;height:70px}.login-logo .game-wordmark>strong{font-size:26px!important}.login-logo .game-wordmark>span{font-size:17px!important}.login-logo .game-wordmark>small{font-size:9px}}

.base-aside .next-goal{padding:0!important;width:100%;min-width:0;align-self:stretch}.objective-header{background:#d3b477;color:#252b25;padding:11px 16px;font-size:11px;font-weight:800;letter-spacing:2px}.objective-body{padding:17px}.base-aside .objective-body>p{font-size:15px;color:#eee5d2;line-height:1.5}.base-aside .objective-body>small{display:block;font-size:11px;margin:9px 0 15px;line-height:1.6}.base-aside .objective-body>button{margin:0;padding:9px 12px}.objective-spotlight{position:relative!important;z-index:102!important;box-shadow:0 0 0 9999px #000b,0 0 0 3px #e8c582;animation:objective-arrival .65s ease-out;scroll-margin:90px}#objective-coach{position:fixed;left:50%;transform:translateX(-50%);bottom:110px;z-index:103;display:flex;align-items:center;gap:15px;max-width:90vw;padding:12px 16px;border:1px solid #d3b477;border-radius:6px;background:#24342b;color:#efdbb6;font-size:12px;box-shadow:0 5px 25px #0009}#objective-coach button{white-space:nowrap}@keyframes objective-arrival{from{outline:10px solid #e8c58299}to{outline:0 solid transparent}}.reduce-motion .objective-spotlight{animation:none}.expedition-filters{display:grid;grid-template-columns:1fr .65fr 1.4fr;gap:14px;margin:22px 0 30px;padding:16px;background:#1a2022;border:1px solid var(--border);border-radius:6px}.expedition-filters label{min-width:0}.expedition-filters label input,.expedition-filters label select{margin:8px 0 0}.suggestion-note{font-size:10px!important;color:#d9ba7c!important;margin-top:9px!important;min-height:0!important}.equipment-task-note{margin:-6px 0 18px;color:#dab775;font-size:12px}
@media(max-width:800px){.base-aside{display:flex!important;flex-direction:column;width:100%;align-items:stretch}.base-aside .next-goal{width:100%!important;max-width:none!important}.expedition-filters{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.expedition-filters label:last-child{grid-column:1/-1}.objective-body{padding:16px}#objective-coach{bottom:150px;width:calc(100% - 30px);max-width:none}}
@media(prefers-reduced-motion:reduce){.objective-spotlight{animation:none}}

.objective-header,.objective-body{width:100%}.objective-header{align-self:stretch}.route-banner>.location-scene{object-fit:cover}.location-scene{overflow:hidden}

.guiding-objective .quest-notification{display:none}

.next-goal::after{display:none!important}@media(max-width:800px){#objective-coach{top:58px;bottom:auto}}

.building-benefit{padding:9px 11px;margin:12px 0;background:#29342e;border:1px solid #4d604e;border-radius:4px;color:#c8d7b4;font-size:11px;line-height:1.5}.building-benefit.warning{background:#3c2928;border-color:#774742;color:#e5b2a5}.building-card .survivor-gate{line-height:1.5}.trader-panel{margin-bottom:30px}.coin-balance{display:flex;align-items:center;gap:8px;color:#e6c576}.coin-balance strong{font-size:23px}.coin-balance small{font-size:10px}.trader-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-height:440px;overflow:auto;margin:12px 0 18px}.trader-item{display:flex;align-items:center;gap:12px;min-width:0;padding:14px 0;border-bottom:1px solid var(--border)}.trader-item>svg{flex-shrink:0}.trader-item>div{flex:1;min-width:0}.trader-item b{font-size:12px}.trader-item small{display:block;font-size:10px;margin-top:6px}.sale-quantity{display:flex;gap:12px}.sale-quantity input{flex:1;min-width:0}.sale-total{padding:20px 0;color:#e6c576}.sale-total strong{display:block;font-size:24px;margin-top:8px}@media(max-width:800px){.trader-items{grid-template-columns:1fr}.trader-panel .section-head{align-items:flex-start;flex-direction:column;gap:14px}.building-benefit{font-size:12px}}

.resident-supplies{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.resident-supplies>span{display:flex;gap:7px;align-items:center}.resident-supplies p{width:100%;margin:0;font-size:12px}.survivor-grid{margin-bottom:32px}.resident-heading{display:flex;gap:14px;align-items:center}.resident-heading h2{margin:0 0 7px}.resident-status{color:#d6ba7a;font-size:12px}.assignment-current{margin:24px 0 15px}.assignment-current h3{margin:8px 0 14px}.resident-timer{display:block;margin-top:7px}.assignment-tracker{padding:18px 0;margin-top:17px;border-top:1px solid var(--border)}.assignment-output{margin:12px 0}.resident-needs{padding:10px;background:#293930;color:#c1d6b8;font-size:12px}.assignment-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px}#assignment-options{max-height:44vh;overflow:auto}.assignment-option{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.assignment-option h3{margin:0 0 6px}.assignment-option .rewards{margin-top:8px}.trader-toggles,.trader-skill-toggles{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.trader-skill-toggles button{font-size:10px;padding:6px 9px}.trader-toggles .selected,.trader-skill-toggles .selected{background:#635334;border-color:#c2a265;color:#ffe0a4}.route-card.level-locked{opacity:1!important}.level-locked .route-banner{filter:grayscale(1);opacity:.45}.level-locked .route-content>:not(.survivor-gate){filter:grayscale(1);opacity:.38}.level-locked .survivor-gate{background:#4c3d26;color:#ffe0a1!important;border:1px solid #b79b62;font-size:13px;font-weight:700;padding:13px;opacity:1}.objective-spotlight{animation:objective-soft-arrival 1.2s ease-out}@keyframes objective-soft-arrival{from{box-shadow:0 0 0 9999px #0000,0 0 0 0 #e8c582}to{box-shadow:0 0 0 9999px #000b,0 0 0 3px #e8c582}}.discovery-celebration{position:relative;text-align:center;overflow:hidden;padding:18px 4px}.discovery-celebration>h2{font-size:29px;color:#f1d38f}.discovery-friends{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin:20px 0}.discovery-friends article{flex:1;min-width:145px}.discovery-friends h3{font-size:22px;color:#e6ce96}.discovery-friends p{font-size:12px}.discovery-loot{padding:14px;margin:20px 0;background:#182520;border-radius:6px}.discovery-loot .rewards{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.discovery-loot svg{width:20px;height:20px}.discovery-confetti{position:absolute;inset:0;pointer-events:none}.discovery-confetti i{position:absolute;left:var(--x);top:-20px;width:6px;height:11px;background:var(--colour);animation:discovery-fall 2.8s var(--delay) ease-out both}@keyframes discovery-fall{to{transform:translateY(500px) rotate(var(--spin));opacity:0}}@media(prefers-reduced-motion:reduce){.discovery-confetti{display:none}.objective-spotlight{animation:none}.location-scene{animation:none}}@media(max-width:600px){.assignment-filters{grid-template-columns:1fr}.resident-heading h2{font-size:23px}.trader-toggles button{font-size:11px}.discovery-celebration>h2{font-size:24px}}

@media(max-width:600px){#assignment-options{max-height:34vh}}

/* Uniform inventory cells reserve the same rarity row, including ordinary supplies. */
.inventory-grid{grid-auto-rows:142px;align-items:stretch}
.inventory-grid .inventory-item{height:142px;min-height:0;padding:22px 8px 10px;display:grid;grid-template-rows:32px 34px 23px;align-content:start;justify-items:center;gap:5px}
.inventory-grid .inventory-item>b{margin:0;align-self:center;min-height:0}
.inventory-grid .inventory-item .rarity-badge{font-size:8px;line-height:1.2;margin:0;align-self:center;max-width:100%;white-space:nowrap}
.building-receipt{border:1px solid #8a785449;border-radius:9px;background:#d6b66e09;padding:18px;margin:18px 0;text-align:left}
.building-receipt>div{display:flex;align-items:center;gap:14px}.building-receipt h3{margin:0;font-size:20px}.building-receipt small,.completion-benefits>small{font-size:9px;letter-spacing:1.5px;color:#aaab9e}.building-receipt p{margin:8px 0 15px}.building-receipt .benefit-total{color:#eac783;font-size:17px;margin-bottom:0}.completion-hero{text-align:center;padding-top:8px}.completion-hero>svg{margin-bottom:20px}.completion-hero h2{font-size:30px}.completion-benefits{padding:18px;background:#dfb66f0a;border:1px solid #dfb66f25;border-radius:8px;margin:24px 0}.return-activity-summary{color:var(--muted);font-size:12px}.modal-backdrop{background:#090d12b8;backdrop-filter:blur(5px)}.modal{animation:dialog-arrive .35s ease-out}@keyframes dialog-arrive{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
/* Full-screen animated title scene, separate from the playable safehouse. */
.login{position:relative;isolation:isolate;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:7vw;align-items:center;padding:64px max(5vw,24px);background:#0b1c25;overflow:hidden}
.login-art{display:block;position:absolute;inset:0;padding:0;z-index:-3;pointer-events:none}.title-landscape{width:100%;height:100%;position:absolute;inset:0}.login:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#07151e00 20%,#07121d55 53%,#07121dde),linear-gradient(0deg,#08121cbf,transparent 38%,#08121c66)}
.login-story{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;padding-top:4vh;max-width:660px;text-shadow:0 2px 20px #07141dcc}.login-story>.eyebrow{color:#d4c299;font-size:9px;letter-spacing:2.4px}.login-story h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(42px,4.4vw,72px);line-height:1.08;letter-spacing:.5px;margin:20px 0;color:#dedccf;font-weight:900;text-transform:uppercase}.login-story h2 em{color:#bda477;font-style:normal}.login-story>p{color:#c2cec7;line-height:1.8;font-size:14px}.title-signal{margin-top:auto;padding-top:250px;font-size:8px;letter-spacing:2px;color:#a0b4b1;display:flex;align-items:center;gap:10px}.title-signal i{height:6px;width:6px;border-radius:50%;background:#dbbf7c;box-shadow:0 0 15px #d8be7f;animation:signal-light 3s ease-in-out infinite}
.login-card{width:100%;max-width:none;margin:0;padding:36px;border:1px solid #9baa9633;border-top:2px solid #d1b47a;border-radius:12px;background:linear-gradient(150deg,#1a2a30eb,#101b24ed);box-shadow:0 35px 100px #0005;backdrop-filter:blur(18px);animation:dialog-arrive .7s ease-out}.login-card .eyebrow{font-size:8px;letter-spacing:1.7px}.login-card h1{margin:24px 0}.login-logo .game-logo>svg{width:64px;height:82px}.login-logo .game-wordmark>strong{font-size:31px!important}.login-logo .game-wordmark>span{font-size:19px!important;letter-spacing:3px!important}.login-logo .game-wordmark>small{font-size:9px;letter-spacing:5px}.login-card>.login-welcome{margin:12px 0 26px;font-size:14px;color:#aebeb8}.login-card h2{font-size:23px}.login-card>p{font-size:13px;margin:14px 0 26px}.login-card .fine{margin:12px 0;font-size:10px}.login-button{margin-top:22px;min-height:52px;background:linear-gradient(120deg,#e4c58a,#caa364);border-color:#e4c58a;transition:box-shadow .2s,transform .2s}.login-button:hover{box-shadow:0 0 30px #dcb67035;transform:translateY(-2px)}.login input:not([type=radio]){background:#091620a6;border-color:#6b817e55}.login .mode-options{margin-top:22px}.login .mode-options small{line-height:1.5}
.title-star{animation:star-twinkle 5s ease-in-out infinite}.title-window{animation:window-warmth 8s ease-in-out infinite}.title-smoke{animation:chimney-smoke 7s ease-in-out infinite;transform-origin:470px 423px}.title-mist{animation:forest-mist 22s ease-in-out infinite alternate}.title-firefly{animation:firefly-drift 7s ease-in-out infinite}
@keyframes star-twinkle{50%{opacity:.25}}@keyframes window-warmth{50%{fill:#e6a85f;opacity:.8}}@keyframes chimney-smoke{0%{transform:translateY(8px) scale(.92);opacity:.05}50%{opacity:.2}100%{transform:translate(12px,-28px) scale(1.15);opacity:0}}@keyframes forest-mist{to{transform:translateX(100px)}}@keyframes firefly-drift{0%,100%{opacity:0;transform:translate(0,12px)}40%{opacity:.8}70%{opacity:.2;transform:translate(18px,-28px)}}@keyframes signal-light{50%{opacity:.4}}
@media(min-width:1700px){.login{padding-right:10vw}.login-card{padding:44px}.login-story{padding-top:8vh}}
@media(max-width:1000px){.login{gap:30px;padding:44px 28px;grid-template-columns:minmax(0,1fr) minmax(330px,400px)}.login-card{padding:28px}.login-story h2{font-size:48px}.login-story .eyebrow{max-width:230px;line-height:1.7}.login-logo .game-wordmark>strong{font-size:27px!important}.login-logo .game-wordmark>span{font-size:16px!important}}
@media(max-width:700px){.login{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:32px 18px}.login-art{display:block}.title-landscape{width:155%;left:-20%;height:max(100%,950px);object-fit:cover}.login:before{background:linear-gradient(0deg,#07131cec 0%,#07131c77 55%,#07131c33)}.login-story{width:100%;align-self:center;padding:0;max-width:410px}.login-story>.eyebrow{font-size:7px;max-width:none;letter-spacing:1.6px}.login-story h2{font-size:39px;letter-spacing:-1px;margin:14px 0 0}.login-story>p,.title-signal{display:none}.login-card{max-width:410px;padding:26px 23px;background:#11212bdf}.login-card>.eyebrow{display:none}.login-card h1{margin:0 0 18px}.login-card .login-logo .game-logo>svg{width:53px;height:67px}.login-card .login-logo .game-wordmark>strong{font-size:27px!important}.login-card .login-logo .game-wordmark>span{font-size:17px!important}.login-card>.login-welcome{margin:6px 0 20px}.inventory-grid{grid-auto-rows:127px}.inventory-grid .inventory-item{height:127px;padding:20px 3px 7px;grid-template-rows:28px 32px 20px;gap:4px}.inventory-grid .inventory-item .rarity-badge{font-size:6px;letter-spacing:0;padding:2px 3px}.inventory-grid .inventory-item .rarity-badge>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.login *,.modal{animation:none!important;transition:none!important}}.reduce-motion .login *,.reduce-motion .modal{animation:none!important;transition:none!important}

@media(min-width:701px) and (max-height:850px){.login{padding-top:24px;padding-bottom:24px}.login-card{padding:24px 30px}.login-card h1{margin:12px 0}.login-card>.login-welcome{margin:8px 0 16px}.login-card .fine{margin:8px 0}.login .mode-options{margin-top:14px}.login .mode-options label{padding:10px}.login .login-button{margin-top:12px}.login-card>label{margin-bottom:6px}.login-story{padding-top:6vh}}
@media(max-width:700px){.login{justify-content:flex-start}.login-story{min-height:280px}.title-landscape{width:800px;height:500px;left:calc(50% - 300px)}.login:before{background:linear-gradient(0deg,#07131c 25%,#07131c44 70%,#07131c22)}.login-story h2{font-size:35px}.login-card{margin-top:-25px}.login-story>.eyebrow{font-size:6px}}

/* Facility cards: one concise summary, one clear upgrade area. */
.building-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:16px;align-items:stretch}.clean-facility{padding:20px;min-height:245px}.facility-heading{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid #ffffff0c}.facility-heading>svg{width:30px;height:30px}.facility-heading h3{margin:0 0 6px;font-size:15px}.facility-heading .meta{font-size:8px;color:#8f9d98}.facility-badge{min-width:86px;max-width:112px;text-align:right;padding:9px 10px;background:#96b5a00a;border:1px solid #96b5a023;border-radius:6px}.facility-badge strong{display:block;color:#c5d6bb;font:19px Consolas,monospace;line-height:1.15}.facility-badge small{display:block;font-size:8px;line-height:1.4;color:#96a89a;margin-top:4px}.facility-badge.warning strong{color:#ebae92}.facility-body{display:flex;flex-direction:column;flex:1;padding-top:18px}.facility-label{font:8px Consolas,monospace;letter-spacing:1px;color:#89958f;margin-bottom:12px}.clean-facility .costs{gap:9px 14px;font-size:10px;line-height:1.6;margin:0}.clean-facility .costs svg{width:16px;height:16px}.clean-facility .build-status{font-size:10px;min-height:0;margin:12px 0 0;line-height:1.5}.clean-facility .build-status:empty{display:none}.clean-facility .card-bottom{margin-top:auto;padding-top:16px;border:0}.clean-facility .card-bottom>span{font-size:10px;color:#83908a}.facility-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #ffffff0b;margin-top:17px;padding-top:12px}.facility-footer .text-button{font-size:10px;color:#9baa9e;padding:0}.facility-footer .toggle{margin:0;font-size:9px}.facility-locked{display:flex;flex-direction:column;gap:10px;color:#d2b67f;font-size:12px;line-height:1.6;margin:auto 0;min-height:65px;justify-content:center}.facility-locked span+span{font-size:10px;color:#89978f}.facility-state{font-size:12px;margin:auto 0}.clean-facility .repair-controls{margin-top:0;border-top:0;padding-top:0}.clean-facility .repair-controls>small{display:none}
.resident-supplies{margin-bottom:28px}.resident-roster-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}.resident-roster-heading>span{font:9px Consolas,monospace;color:#cbb783;letter-spacing:1px}.resident-roster-heading>small{font-size:10px;color:#8f9d96}.survivor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.empty-resident{display:flex;flex-direction:column;min-height:300px;border-style:dashed;background:#18202377;align-items:center;text-align:center;padding:25px}.empty-resident>.meta{align-self:flex-start}.empty-resident-symbol{width:76px;height:76px;display:grid;place-items:center;border:1px solid #95ad9527;border-radius:50%;margin:36px 0 18px;background:#95ad9508}.empty-resident h2{font-size:20px;margin:0}.empty-resident p{max-width:240px;font-size:12px;color:#85958d;line-height:1.7}.empty-resident-footer{margin-top:auto;display:grid;gap:10px;padding-top:24px;font-size:11px}.empty-resident-footer button{font-size:11px}.locked-slot{opacity:.65}.raid-casualties{margin:18px 0;padding:17px;border-left:3px solid #a67567;background:#bc776416;color:#ebc3b4}.raid-casualties p{font-size:12px;line-height:1.7;margin-bottom:0}
.tutorial-intro{text-align:center}.tutorial-intro>svg{margin:12px 0 22px}.tutorial-intro h2{font-size:29px;line-height:1.2}.tutorial-intro p{line-height:1.8}.tutorial-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:25px 0}.tutorial-pills span{font-size:10px;border:1px solid #b3a57033;border-radius:5px;padding:8px}.tutorial-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.tutorial-menu>div{display:flex;gap:12px;padding:15px 12px;border:1px solid #93ab941e;border-radius:7px;background:#9cb99a07}.tutorial-menu svg{flex-shrink:0}.tutorial-menu b{font-size:12px}.tutorial-menu small{display:block;font-size:11px;color:#9caaa3;line-height:1.6;margin-top:7px}#tutorial-dock{position:fixed;right:28px;bottom:105px;width:340px;max-width:calc(100vw - 32px);padding:21px;border:1px solid #c9ad76;border-radius:10px;background:#19282bf5;box-shadow:0 15px 60px #0008;z-index:55;animation:dialog-arrive .35s ease-out}#tutorial-dock .eyebrow{font-size:8px}#tutorial-dock p{font-size:12px;line-height:1.7;margin:12px 0 18px;color:#d5dcd3}#tutorial-dock p small{display:block;color:#e2c186;margin-top:8px}#tutorial-dock>div:last-child{display:flex;gap:8px;align-items:center}.tutorial-target{outline:2px solid #e6c485;outline-offset:4px;animation:tutorial-pulse 2.5s ease-in-out infinite;scroll-margin-top:100px}@keyframes tutorial-pulse{50%{box-shadow:0 0 25px #d1b57b35}}.animal-purpose{margin-bottom:20px}.animal-purpose p{line-height:1.7}
@media(max-width:1100px){.survivor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.building-grid,.survivor-grid{grid-template-columns:1fr}.clean-facility{min-height:240px;padding:19px}.facility-heading h3{font-size:17px}.facility-badge{min-width:98px}.facility-badge strong{font-size:21px}.facility-badge small{font-size:9px}.resident-roster-heading{align-items:flex-start;flex-direction:column;gap:8px}.resident-supplies{margin-bottom:25px}.empty-resident{min-height:270px}.empty-resident-symbol{margin-top:20px}.tutorial-menu{grid-template-columns:1fr;gap:8px}.tutorial-menu>div{padding:10px}.tutorial-menu small{font-size:10px}.tutorial-intro h2{font-size:25px}#tutorial-dock{left:16px;right:16px;bottom:145px;width:auto;padding:14px 16px}#tutorial-dock p{font-size:11px;margin:8px 0 10px}.tutorial-target{scroll-margin-bottom:320px}.tutorial-pills{gap:6px;margin:18px 0}.tutorial-pills span{font-size:8px;padding:6px}}
@media(prefers-reduced-motion:reduce){.tutorial-target,#tutorial-dock{animation:none}}.reduce-motion .tutorial-target,.reduce-motion #tutorial-dock{animation:none}

@media(max-width:650px){#tutorial-dock{top:62px;bottom:auto;box-shadow:0 8px 25px #0008}#tutorial-dock .eyebrow{font-size:7px}#tutorial-dock p{margin:7px 0 9px}.tutorial-target{scroll-margin-top:245px;scroll-margin-bottom:145px}}

/* Homestead produce and milestone rewards */
.achievement-card{display:flex;flex-direction:column}.achievement-reward{margin-top:auto;padding-top:20px;color:var(--gold,#e0b970)}
.barn-panel{margin:20px 0;max-width:900px}.barn-panel header{display:flex;align-items:center;gap:16px}.barn-panel h3{margin:4px 0}.barn-production{display:grid;gap:12px;padding:18px;background:#27372e;border:1px solid #506650;border-radius:6px;margin:18px 0}.barn-production small{color:#bac6b6}.barn-levels{display:grid;grid-template-columns:1fr;gap:0}.barn-levels>div{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #ffffff15;color:#9eaaa4}.barn-levels>div.unlocked{color:#e4c187}.barn-levels>div>span:first-of-type{flex:1}.barn-levels small{display:block;font-size:11px;margin-top:4px;color:#a8b3aa}.barn-levels>div>span:last-child{display:flex;gap:5px}.barn-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.route-injury{font-size:12px;color:#d2a68e!important;margin:6px 0 20px!important}.meal-status{display:block;color:#e0bd80;margin:10px 0}.barn-panel .eyebrow{font-size:9px}@media(max-width:560px){.barn-panel{padding:18px}.barn-actions button{flex:1 1 40%}.barn-levels>div{gap:8px}.barn-levels>div>span:last-child{max-width:65px;flex-wrap:wrap}.achievement-reward button{white-space:normal}}

.barn-unlocks summary{cursor:pointer;color:#dcc08e;padding:6px 0;font-size:13px}.barn-unlocks[open] summary{margin-bottom:10px}

/* Facility details are reached by the card; action controls remain independent. */
.clickable-facility{position:relative;isolation:isolate;transition:border-color .18s,box-shadow .18s}.clickable-facility:hover,.clickable-facility:focus-within{border-color:#b39763;box-shadow:0 0 0 1px #b3976325}.facility-open{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:transparent!important;border:0!important;border-radius:inherit;box-shadow:none!important;padding:0;cursor:pointer}.facility-open:focus-visible{outline:2px solid #e0b970;outline-offset:4px}.clickable-facility .card-bottom button,.generator-switch{position:relative;z-index:2}.clickable-facility .facility-body{margin-bottom:0}.generator-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin:0 0 20px;padding:14px;border:1px solid #865c494d;border-radius:6px;background:#3a29224d}.generator-controls strong{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.4px;color:#db9c7d}.generator-controls strong i{width:7px;height:7px;border-radius:50%;background:currentColor}.generator-controls>div>small{display:block;font-size:11px;color:#b9a697;margin-top:5px}.generator-controls.running{background:#28423366;border-color:#72977c66}.generator-controls.running strong{color:#a6ceb0}.generator-switch{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#ddd4c4;padding:8px 10px;background:#14191a;border:1px solid #6a6c61;border-radius:5px}.generator-switch input{accent-color:#dcba73;width:17px;height:17px;margin:0}.generator-fuel{grid-column:1/-1;display:flex;align-items:center;gap:6px;color:#b6aca0;font-size:10px}.queue-issue{display:block!important;color:#dda080!important;font-size:11px!important;margin:5px 0 0!important;line-height:1.5}
@media(prefers-reduced-motion:reduce){.clickable-facility{transition:none}}

/* Weathered checkpoint typography and a moon drifting behind thin cloud. */
.login-story>.eyebrow{border-left:3px solid #a56f4d;padding-left:12px;color:#bdb7a2;letter-spacing:1.5px}
.login-story>p{color:#b9c0b7}.title-signal{color:#b7aa90;letter-spacing:1.3px}.title-signal i{background:#c28459;box-shadow:0 0 12px #c2845977}
.login-card{border-radius:4px;border-color:#89917a44;border-top-color:#a98c5e;background:linear-gradient(150deg,#252e2aed,#151e20f2)}
.title-cloud{animation:title-cloud-drift 35s ease-in-out infinite alternate}@keyframes title-cloud-drift{to{transform:translateX(48px)}}
@media(max-width:700px){.login-story h2{font-size:34px;letter-spacing:.3px}.login-story>.eyebrow{font-size:7px;letter-spacing:1px}.login-card{background:#1b2523ef}.login-story{min-height:405px}.title-landscape{width:800px;height:500px;top:40px;left:calc(50% - 275px)}.login:before{background:linear-gradient(0deg,#111c20 10%,#111c200a 70%,#111c2033)}}.return-continuing{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #76998044;background:#739a6d12;color:#b8d2b2;font-size:12px}.return-continuing svg{flex-shrink:0}

/* Expedition threat ladder: simple icons, readable stats and distinct tier colours. */
.expedition-intro{font-size:12px;color:#aab5ad;margin:10px 0}.expeditions-readiness{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.expeditions-readiness>b{font:29px Consolas,monospace;color:#e1bb79}.expeditions-readiness>span{font-size:10px;color:#aeb9b0}
.expedition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.expedition-card{border:1px solid color-mix(in srgb,var(--threat) 35%,#2c3335);border-top:3px solid var(--threat);border-radius:7px;background:#1a2023;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.expedition-emblem{position:relative;display:flex;align-items:center;gap:15px;padding:25px 19px;background:linear-gradient(120deg,color-mix(in srgb,var(--threat) 15%,#1c2426),#182124);border-bottom:1px solid #ffffff0b;min-height:112px}.expedition-emblem:after{content:'';position:absolute;right:50px;top:-25px;width:100px;height:180px;border-left:1px solid color-mix(in srgb,var(--threat) 16%,transparent);transform:rotate(30deg);pointer-events:none}.expedition-sigil{width:58px;height:58px;flex-shrink:0;display:grid;place-items:center;background:#0c151a55;border:1px solid color-mix(in srgb,var(--threat) 30%,transparent);border-radius:8px;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--threat) 15%,transparent))}.expedition-kicker{font:8px Consolas,monospace;letter-spacing:1px;color:var(--threat)}.expedition-emblem h3{font-size:18px;margin:7px 20px 0 0;line-height:1.2}.threat-mark{position:absolute;top:9px;right:11px;color:var(--threat);font:12px Consolas,monospace}
.expedition-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.expedition-description{font-size:11px;line-height:1.6;color:#b1bdb3;margin:0 0 17px}.expedition-choice{display:grid;gap:7px;margin:0 0 16px}.expedition-choice>span{font:8px Consolas,monospace;letter-spacing:1px;color:#9caaa1}.expedition-choice select{width:100%;padding:10px;font-size:12px;border-color:color-mix(in srgb,var(--threat) 40%,#333);color:var(--threat);background:#11191d}.expedition-metrics{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:10px;padding:12px 0;border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c}.expedition-metrics>div{display:grid;gap:6px}.expedition-metrics b{font:18px Consolas,monospace;color:#e0dace}.expedition-metrics span{font-size:9px;color:#a4b3a9;line-height:1.5}.expedition-gate{font-size:10px;color:#9bbda6;margin:12px 0 17px;line-height:1.5}.expedition-gate.unmet{color:#e7b08d;background:#d1967610;padding:9px;border:1px solid #d1967633}.expedition-card.level-locked .expedition-description,.expedition-card.level-locked .expedition-supplies{opacity:.5}
.expedition-supplies>small{font:8px Consolas,monospace;letter-spacing:1px;color:var(--threat)}.expedition-supplies>div{display:flex;flex-wrap:wrap;gap:10px 13px;margin:12px 0}.expedition-supplies>div>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#c4c9bd}.expedition-extra{font-size:10px;color:#b3beb3;margin:2px 0 13px;line-height:1.7}.expedition-extra summary{cursor:pointer;color:var(--threat)}.expedition-extra p{font-size:10px}.expedition-injury{margin:auto 0 12px;padding-top:10px;font-size:10px;color:#b6a895;line-height:1.6}.expedition-record{font-size:9px;color:#8da195;text-align:center;margin-top:10px}.expedition-card .primary{background:color-mix(in srgb,var(--threat) 80%,#d2bd8c);border-color:var(--threat);color:#111c1a}
.facility-complete .facility-body{justify-content:center;align-items:center;min-height:100px}.facility-complete .facility-state{margin:0;padding:10px 16px;border:1px solid #9abca329;border-radius:5px;background:#9abca308;text-align:center;font-size:12px}.return-intro{font-size:15px;margin:20px 0}.journal-events{max-width:720px;display:grid;justify-items:center;text-align:center;padding:45px 26px;gap:17px}.journal-events h2,.journal-events p{margin:0}.journal-events p{max-width:440px;line-height:1.7;color:#aebcb3}
/* Compact storage uses a rarity tint, with full rarity text in item details. */
.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));grid-auto-rows:auto;gap:9px;align-items:start}.inventory-grid .inventory-item{width:100%;height:auto;min-height:112px;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px 8px 12px;background:#1b2125;border-radius:5px}.inventory-grid .inventory-item.rarity-item{background:linear-gradient(145deg,color-mix(in srgb,var(--rarity) 12%,#1b3041),#192c3b);border-color:color-mix(in srgb,var(--rarity) 45%,#344e5d);box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--rarity) 40%,transparent)}.inventory-grid .inventory-item>svg{width:30px;height:30px;flex-shrink:0}.inventory-grid .inventory-item>b{font-size:10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:26px}.inventory-grid .inventory-item .inventory-qty{font-size:9px;top:7px;right:7px}.inventory-grid .inventory-item .reserved{font-size:7px;bottom:1px}.inventory-grid .inventory-item.chosen{outline:2px solid #e0bd7d;outline-offset:1px}
@media(min-width:1700px){.expedition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
@media(max-width:650px){.expedition-grid{grid-template-columns:1fr;gap:15px}.expedition-emblem h3{font-size:19px}.expedition-card-body{padding:17px}.expeditions-heading{gap:15px}.expedition-intro{font-size:11px;max-width:230px}.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.inventory-grid .inventory-item{aspect-ratio:1;min-height:92px;padding:20px 3px 5px;gap:5px}.inventory-grid .inventory-item>svg{width:25px;height:25px}.inventory-grid .inventory-item>b{font-size:8px;min-height:22px}.inventory-grid .inventory-item .inventory-qty{font-size:7px;top:6px;right:4px}}

.expedition-description{min-height:36px}.expeditions-readiness>span{border:0;background:none;padding:0}

.facility-complete .facility-body{padding-top:0}.return-heading{font:9px Consolas,monospace!important;letter-spacing:2px;color:var(--gold);margin:0 0 18px!important}

/* World operations and community sections. */
.section-tabs{margin-bottom:30px}.section-tabs .skills-tab{min-width:0}.section-tabs .skills-tab span{white-space:normal}.victory-reward{display:flex;align-items:center;gap:16px;text-align:left;width:100%;padding:16px;background:linear-gradient(115deg,#323022,#242625);border:0;border-radius:5px;color:#e8d3a0}.victory-reward span{display:grid;gap:6px}.victory-reward small{font-size:10px}.victory-reward b{font-size:15px}.victory-reward svg{flex-shrink:0}
.beta-event{display:grid;grid-template-columns:minmax(190px,.65fr) 2fr;overflow:hidden;border:1px solid #796747;border-radius:8px;background:#1c2224}.beta-event-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 20px;background:radial-gradient(ellipse at 50% 45%,#69503755,transparent 70%),#172025;border-right:1px solid #544b38}.beta-event-art>svg,.beta-honour>svg,.beta-honour-hero>svg{filter:drop-shadow(0 0 18px #dfab5680)}.beta-event-art>span{font:10px Consolas,monospace;letter-spacing:3px;color:#d8ba82;text-align:center}.beta-event-body{padding:34px}.beta-event-body h2{font-size:28px;margin:12px 0 20px}.beta-event-body p{line-height:1.8;color:#bbc1bc}.event-objectives{display:grid;gap:18px;padding:22px 0}.event-objectives>div{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:13px}.event-objectives progress{grid-column:1/-1;width:100%;height:7px;accent-color:#d7b16f}.event-prize{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 0 24px;font-size:12px;color:#dfc997}.event-prize span{margin-left:auto}.beta-owned{padding:15px;background:#293d32;border:1px solid #526b56;color:#d8e7ca;border-radius:4px}.beta-honour{border-color:#b49b66!important;background:radial-gradient(#66503555,#182127)!important}.community-coming{text-align:center;padding:65px 24px;display:flex;align-items:center;flex-direction:column;gap:20px}.community-coming h1,.community-coming p{margin:0}.community-coming p{max-width:380px}
@media(max-width:600px){.section-tabs{gap:5px;margin-bottom:24px}.section-tabs .skills-tab{padding:14px 6px;gap:8px;font-size:11px}.section-tabs .skills-tab svg{width:23px;height:23px}.beta-event{grid-template-columns:1fr}.beta-event-art{padding:24px;border-right:0;border-bottom:1px solid #544b38;gap:12px}.beta-event-art>svg{width:58px;height:58px}.beta-event-body{padding:24px 20px}.beta-event-body h2{font-size:24px}.event-prize span{margin-left:0}.community-coming{padding:45px 20px}}

/* Scroll naturally while keeping browser chrome out of the game canvas. */
*{scrollbar-width:none}
*::-webkit-scrollbar{display:none}
.work-level-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding:14px 17px;border:1px solid #395665;border-radius:8px;background:#172d38;color:#b9ced5;font-size:11px;line-height:1.5}
.work-level-footer button{flex-shrink:0;min-height:36px;padding:8px 11px;border:1px solid #7b996c;border-radius:6px;background:#263e39;color:#e6f1dc;font-size:10px;font-weight:700}
.work-level-footer button:hover{background:#35534b}
@media(max-width:600px){.work-level-footer{flex-direction:column;align-items:stretch;text-align:center}.work-level-footer button{width:100%}}
/* Compact, steady mobile-first navigation and inventory. */
.sidebar-admin,.sidebar-sound{display:block;width:100%;text-align:left;margin:6px 0;padding:11px 14px;background:#20282a;border:1px solid #384344;color:#cfd5cd}.sidebar-admin{color:#e5c88d}.storage-toolbar>.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border:0;flex:1}.storage-toolbar>.tabs button{padding:17px 16px;min-height:52px;border:1px solid #3d4447;background:#23292d;border-radius:5px}.storage-toolbar>.tabs button.selected{background:#55452b;border-color:#b99c66}.storage-check-filters{display:flex;align-items:flex-start;gap:12px;margin:18px 0 24px;position:relative;z-index:4}.filter-drawer{flex:1;max-width:420px;border:1px solid #3d484a;border-radius:5px;background:#1b2427;position:relative}.filter-drawer summary{padding:14px 16px;cursor:pointer;display:flex;justify-content:space-between;font-weight:600}.filter-drawer summary span{font-size:11px;color:#acb9b5}.filter-drawer fieldset{position:absolute;top:100%;left:-1px;right:-1px;background:#1d272a;padding:12px;margin:0;border:1px solid #536061;border-radius:0 0 5px 5px;box-shadow:0 12px 24px #0008;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.filter-drawer label{display:flex;gap:8px;align-items:center;padding:9px 5px;text-transform:none;letter-spacing:0;font-size:11px;color:#d1d7d1}.filter-drawer input{width:17px;height:17px;margin:0;accent-color:#d5b36f;flex-shrink:0}.filter-drawer label i{width:8px;height:8px;flex-shrink:0}.filter-drawer label svg{flex-shrink:0}.collection-tabs{margin-bottom:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.collection-content{min-height:70vh}.collection-content .companion-panel,.collection-content .shelf-panel{margin-top:0;min-height:215px}.training-summary{height:104px;box-sizing:border-box;overflow:hidden}.training-summary b{display:flex;align-items:center;gap:8px}.training-summary p{max-width:400px}.work-toolbar .filters button{display:inline-flex;align-items:center;gap:7px;min-height:38px}.inventory-item{isolation:isolate}.rarity-power-6,.rarity-power-7,.rarity-power-8,.rarity-power-9{box-shadow:inset 0 0 16px color-mix(in srgb,var(--rarity) 14%,transparent)}.rarity-power-8:before,.rarity-power-9:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 20%,color-mix(in srgb,var(--rarity) 26%,transparent) 48%,transparent 72%);background-size:300% 100%;animation:rare-shimmer 6s ease-in-out infinite;pointer-events:none}.rarity-power-9{border-width:2px!important}.expedition-card{position:relative}.threat-fx-1{box-shadow:inset 0 2px var(--threat)}.threat-fx-2,.threat-fx-3{border-color:var(--threat)!important;animation:threat-pulse 4s ease-in-out infinite}.threat-fx-2 .expedition-sigil,.threat-fx-3 .expedition-sigil{filter:drop-shadow(0 0 9px var(--threat))}.threat-fx-3 .expedition-emblem{background:repeating-linear-gradient(130deg,transparent 0 22px,color-mix(in srgb,var(--threat) 9%,transparent) 23px 25px);background-size:200% 200%;animation:threat-sweep 14s linear infinite}.threat-fx-3 .threat-mark{box-shadow:0 0 20px color-mix(in srgb,var(--threat) 45%,transparent)}.admin-local-note{padding:15px;border:1px solid #596764;background:#263330;border-radius:5px;font-size:12px;line-height:1.7;margin-bottom:20px}.admin-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.admin-tabs button{min-height:48px}.admin-events{display:grid;gap:15px}.admin-events article{padding:20px;border:1px solid #424c4c;border-radius:6px;background:#1b2427}.admin-events article h3{margin:0}.admin-events article p{line-height:1.7}.admin-event-status{display:flex;gap:8px;margin:16px 0}.admin-form{display:grid;gap:16px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;box-sizing:border-box;margin-top:8px}.admin-form textarea{min-height:90px;padding:12px;color:#e0e1d6;background:#131d20;border:1px solid #424c4c}.admin-dates{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-form .check-line{display:flex;align-items:center;gap:10px}.admin-form .check-line input{width:18px;height:18px;margin:0}.admin-player-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.admin-player-stats span{display:grid;gap:7px;font-size:12px}.audio-settings>label{display:block;margin:22px 0}.audio-settings input[type=range]{width:100%;accent-color:#d8b879}.audio-file{padding:16px;border:1px dashed #63716b;border-radius:4px}.audio-file input{display:block;max-width:100%;margin-top:12px}.event-announcement{margin-top:20px}
@keyframes rare-shimmer{0%,20%{background-position:150% 0}80%,100%{background-position:-50% 0}}@keyframes threat-pulse{0%,100%{box-shadow:0 0 7px color-mix(in srgb,var(--threat) 12%,transparent)}50%{box-shadow:0 0 20px color-mix(in srgb,var(--threat) 28%,transparent)}}@keyframes threat-sweep{to{background-position:200% 200%}}
@media(max-width:600px){.storage-toolbar{display:flex;flex-direction:column;align-items:stretch}.storage-toolbar>.tabs{width:100%}.storage-toolbar>.tabs button{padding:13px 7px;font-size:12px}.storage-toolbar input{width:100%;box-sizing:border-box}.storage-check-filters{gap:7px;flex-wrap:wrap}.filter-drawer{min-width:40%;max-width:none}.filter-drawer summary{padding:13px 11px}.filter-drawer fieldset{grid-template-columns:1fr;max-height:340px;overflow:auto}.storage-check-filters>.text-button{margin-left:auto;min-height:30px}.collection-tabs .skills-tab{min-height:66px;padding:12px;display:flex;flex-direction:row;justify-content:center}.collection-content .companion-panel,.collection-content .shelf-panel{min-height:265px}.training-summary{height:148px;min-height:148px;padding:13px;gap:8px;display:grid;grid-template-columns:1fr auto;align-content:center}.training-summary>div{min-width:0;grid-column:1/-1}.training-summary p{font-size:11px;max-height:34px;overflow:hidden}.training-summary button{font-size:10px;max-width:90px}.admin-tabs{grid-template-columns:1fr 1fr}.admin-dates{grid-template-columns:1fr}.admin-player-stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.inventory-item:before,.expedition-card,.expedition-emblem{animation:none!important}}.reduce-motion .inventory-item:before{animation:none!important}.storage-check-filters .filter-drawer[open]{z-index:6}
.expedition-landscape.expedition-emblem{height:250px;min-height:250px;padding:23px;display:flex;align-items:flex-end;isolation:isolate;background:#152023;animation:none;overflow:hidden}
.expedition-landscape.expedition-emblem:after{inset:0;width:auto;height:auto;transform:none;border:0;z-index:-1;background:linear-gradient(180deg,#06101415 15%,#06101425 35%,#071014da 82%,#10191ef5),linear-gradient(90deg,#08131b70,transparent 75%)}
.expedition-landscape-image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:60% 48%;filter:saturate(calc(.85 + var(--danger)*.35)) contrast(calc(1 + var(--danger)*.15));transform:scale(1.025)}
.expedition-title{position:relative;z-index:1;width:100%;padding-bottom:12px;text-shadow:0 2px 12px #000}
.expedition-title .expedition-kicker{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.2px;color:#e0dbca}
.expedition-title h3{font-size:23px;font-weight:700;letter-spacing:-.4px;color:#fff2da;margin:9px 0 0;max-width:320px;line-height:1.14}
.expedition-landscape .threat-mark{top:17px;right:17px;display:grid;gap:5px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--threat) 65%,transparent);background:#091218db;backdrop-filter:blur(8px);border-radius:4px;color:var(--threat);text-align:right;box-shadow:0 3px 15px #0004}
.expedition-landscape .threat-mark b{font:700 11px Consolas,monospace;letter-spacing:1px}.expedition-landscape .threat-mark>span{font-size:9px;letter-spacing:.3px;color:#e3e6dd}
.expedition-threat-meter{position:absolute;left:23px;right:23px;bottom:16px;display:flex;gap:4px}.expedition-threat-meter i{height:3px;flex:1;background:#ffffff21;border-radius:1px}.expedition-threat-meter i.lit{background:var(--threat);box-shadow:0 0 calc(var(--danger)*9px) var(--threat)}
.expedition-atmosphere{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:linear-gradient(125deg,transparent 25%,color-mix(in srgb,var(--threat) calc(var(--danger)*25%),transparent))}
.expedition-mist{position:absolute;inset:10% -35% -15%;opacity:calc(.08 + var(--danger)*.12);background:radial-gradient(ellipse at 70% 65%,var(--threat),transparent 52%);filter:blur(12px)}
.threat-fx-1 .expedition-mist,.threat-fx-2 .expedition-mist,.threat-fx-3 .expedition-mist{animation:expedition-fog 17s ease-in-out infinite alternate}
.expedition-embers{position:absolute;inset:-50% -10%;opacity:0;background-image:radial-gradient(ellipse 1.5px 3px at 18% 65%,#f7d492 45%,transparent 75%),radial-gradient(ellipse 1px 2px at 57% 35%,var(--threat) 40%,transparent 75%),radial-gradient(ellipse 1px 3px at 87% 75%,#edd8a4 40%,transparent 75%);background-size:130px 150px,190px 210px,220px 260px;filter:drop-shadow(0 0 4px var(--threat))}
.threat-fx-2 .expedition-embers,.threat-fx-3 .expedition-embers{opacity:.4;animation:expedition-ash 15s linear infinite}
.threat-fx-3 .expedition-embers{opacity:.65;animation-duration:9s}.threat-fx-3 .expedition-atmosphere{background:linear-gradient(125deg,#080f1820,color-mix(in srgb,var(--threat) 24%,transparent));animation:expedition-stormlight 7s ease-in-out infinite}
.threat-fx-3 .expedition-landscape-image{animation:expedition-depth 24s ease-in-out infinite alternate}.threat-fx-3 .expedition-landscape .threat-mark{box-shadow:0 0 24px color-mix(in srgb,var(--threat) 28%,transparent)}
@keyframes expedition-fog{from{transform:translateX(-12%) scale(1)}to{transform:translateX(12%) scale(1.12)}}
@keyframes expedition-ash{from{transform:translate(0,12%)}to{transform:translate(-8%,-22%)}}
@keyframes expedition-stormlight{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes expedition-depth{from{transform:scale(1.025)}to{transform:scale(1.1)}}
@media(max-width:650px){.expedition-landscape.expedition-emblem{height:235px;min-height:235px;padding:21px}.expedition-title h3{font-size:24px}.expedition-threat-meter{left:21px;right:21px}}
@media(prefers-reduced-motion:reduce){.expedition-landscape-image,.expedition-atmosphere,.expedition-mist,.expedition-embers{animation:none!important}}
.reduce-motion .expedition-landscape-image,.reduce-motion .expedition-atmosphere,.reduce-motion .expedition-mist,.reduce-motion .expedition-embers{animation:none!important}
#tutorial-dock{position:relative;inset:auto;width:100%;max-width:none;padding:22px 24px;margin:0 0 26px;border-radius:8px;background:linear-gradient(120deg,#243431,#192428);box-shadow:0 8px 30px #0003;z-index:3;animation:none;scroll-margin-top:80px}
#tutorial-dock .tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:12px}#tutorial-dock .tutorial-top .eyebrow{color:#e3c38d;line-height:1.5}#tutorial-dock .tutorial-top button{flex-shrink:0;color:#b9c4bd}
.tutorial-track{height:3px;background:#ffffff12;margin:11px 0 18px}.tutorial-track i{height:100%;display:block;background:#d6b67b;transition:width .3s}
#tutorial-dock h2{font-size:22px;color:#f3e9d6}#tutorial-dock p{max-width:850px;margin:11px 0 15px;font-size:13px;color:#d0d9d0;line-height:1.7}
#tutorial-dock .tutorial-materials{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tutorial-materials>span{display:inline-flex;align-items:center;gap:6px;background:#111c2180;border:1px solid #89968b40;padding:7px 10px;border-radius:4px;font-size:11px;color:#e1bc85}.tutorial-materials>span.met{color:#acd3ab;border-color:#8aa88a70}
#tutorial-dock .tutorial-next{padding-left:12px;border-left:2px solid #d4b374;color:#efd9b3;font-size:12px}.tutorial-working{display:flex;align-items:center;gap:7px;margin:14px 0;color:#d9bd83;font-size:12px}.tutorial-clock{font-variant-numeric:tabular-nums;min-width:40px}
#tutorial-dock .tutorial-buttons{display:flex;flex-wrap:wrap;gap:9px}#tutorial-dock .tutorial-buttons button{min-height:42px}.tutorial-footnote{display:block;color:#a7b9ae;margin-top:12px;line-height:1.6;font-size:10px}
@media(max-width:650px){#tutorial-dock{inset:auto;width:100%;padding:16px;margin-bottom:22px}#tutorial-dock h2{font-size:20px}#tutorial-dock p{font-size:12px;line-height:1.65}#tutorial-dock .tutorial-top{gap:6px}#tutorial-dock .tutorial-top .eyebrow{font-size:8px;letter-spacing:.7px}#tutorial-dock .tutorial-buttons>.primary{width:100%}.tutorial-focus .world-tabs,.tutorial-focus .skills-tabs{margin-bottom:20px}.tutorial-focus .expedition-landscape{max-height:180px;min-height:180px!important}}
.source-link{display:block;text-align:left;width:100%;background:#23312c;border:1px solid #6d83743d;color:#c7d9c6;font-size:11px;line-height:1.5;margin:7px 0;padding:10px 12px}.source-link:after{content:' ↗';color:#d2b780}.more-sources{margin:10px 0;color:#b4c0b5;font-size:11px}.more-sources summary{padding:8px 0;cursor:pointer}

/* Keep the real interface intact while teaching its controls. */
#tutorial-dock{padding:16px 20px;margin-bottom:24px;border-color:#8c805e;background:#1c292b}
#tutorial-dock h2{font-size:20px;margin:9px 0}
#tutorial-dock .tutorial-instruction{font-size:14px;line-height:1.5;color:#f1dfb5;margin:8px 0 12px}
#tutorial-dock .tutorial-requirement{font-size:11px;color:#c8cebc;margin:8px 0}
#tutorial-dock .tutorial-track{height:3px;margin:8px 0}
#tutorial-dock .tutorial-materials{margin:8px 0}
.tutorial-explanation{font-size:11px;color:#b7c3bc}.tutorial-explanation summary{cursor:pointer;padding:10px}.tutorial-explanation p{max-width:640px}
.tutorial-target{outline:3px solid #e7bd70!important;outline-offset:5px;box-shadow:0 0 0 8px #e7bd701a!important;scroll-margin:100px 0 170px;animation:tutorial-breathe 1.8s ease-in-out infinite}
.tutorial-modal-hint{background:#293a33;color:#f2d69e;padding:12px 16px;border-left:3px solid #e7bd70;font-size:13px;line-height:1.5;margin:0 34px 18px 0}
@keyframes tutorial-breathe{50%{outline-color:#ffdfa1;box-shadow:0 0 0 11px #e7bd702d}}
@media(prefers-reduced-motion:reduce){.tutorial-target{animation:none}}
.reduce-motion .tutorial-target{animation:none}
@media(max-width:650px){#tutorial-dock{padding:12px 15px}#tutorial-dock h2{font-size:18px}#tutorial-dock .tutorial-instruction{font-size:13px}#tutorial-dock .tutorial-buttons{gap:8px}#tutorial-dock .tutorial-explanation p{font-size:12px}.tutorial-target{outline-width:2px!important;outline-offset:3px}}

/* Two clear windows keep the instruction and the real next control readable. */
body.tutorial-spotlight #tutorial-dock{position:sticky;top:76px;z-index:30;scroll-margin-top:76px;background:#1c292b}
#tutorial-spotlight-layer{position:fixed;inset:0;z-index:10000;pointer-events:none;overflow:hidden}
#tutorial-spotlight-layer svg{display:block;overflow:visible}
#tutorial-dock .tutorial-materials{margin:8px 0 12px}
#tutorial-dock .tutorial-materials b{font-variant-numeric:tabular-nums}
.tutorial-arrow{animation:tutorial-arrow-point .85s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px #ffc45b88)}
@keyframes tutorial-arrow-point{from{transform:translateY(-6px)}to{transform:translateY(0)}}
@media(max-width:650px){body.tutorial-spotlight #tutorial-dock{top:58px}#tutorial-dock .tutorial-materials>span{font-size:10px;padding:5px 7px}#tutorial-dock .tutorial-instruction{margin:6px 0 9px}#tutorial-dock .tutorial-top .eyebrow{margin-bottom:0}#tutorial-dock .tutorial-buttons button{min-height:36px}}
@media(prefers-reduced-motion:reduce){.tutorial-arrow{animation:none}}
.reduce-motion .tutorial-arrow{animation:none}

body.tutorial-spotlight.tutorial-menu-open #tutorial-dock{top:var(--tutorial-menu-bottom,340px)}

@media(max-width:650px){body.tutorial-spotlight.tutorial-menu-open #tutorial-dock{max-height:calc(100dvh - var(--tutorial-menu-bottom,340px) - 150px);overflow-y:auto;overscroll-behavior:contain}}

/* One measured SVG outline; avoid a second expanding ring spanning nearby controls. */
.tutorial-target{outline:none!important;box-shadow:none!important;animation:none!important}

.main-content .tutorial-target{scroll-margin-top:var(--tutorial-scroll-top,100px);scroll-margin-bottom:var(--tutorial-scroll-bottom,170px)}
.modal .tutorial-target{scroll-margin:18px}
.sidebar .tutorial-target,.header-shell .tutorial-target{scroll-margin:0}
@media(max-width:650px){body.tutorial-spotlight #tutorial-dock{max-height:clamp(150px,calc(100dvh - 400px),340px);overflow:auto;overscroll-behavior:contain}}
@media(max-width:650px) and (max-height:740px){body.tutorial-spotlight.tutorial-card-focus:not(.tutorial-menu-open) #tutorial-dock{max-height:150px}}

.sound-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:8px;margin:8px 0;background:transparent;border:1px solid #46504d;border-radius:50%;color:#c8cfc5}.sound-icon:hover,.sound-icon:focus-visible{color:#f0cd83;border-color:#b79a66;background:#dbb56e0d}.sound-icon[aria-pressed="false"]{color:#8e9693}.more-menu .more-sound{padding:4px 12px;border-top:1px solid #38413e}.more-menu .sound-icon{width:40px;min-height:40px;padding:8px;justify-content:center}

/* Opening and completion dialogs share a calm, deliberate rhythm. */
.tutorial-intro>p{margin:16px 0;line-height:1.75}.tutorial-intro>.fine{margin:18px 0 26px}.tutorial-intro>button.primary{margin:8px 0 0;min-height:46px}.tutorial-intro>button.text-button{margin:12px 0 0;min-height:42px}.tutorial-intro>.eyebrow{margin-bottom:14px}.tutorial-intro h2{margin-bottom:20px}
.base-layout{align-items:start}
.character-menu header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.character-menu header>div:first-child{display:grid;place-items:center;background:#d6b57512;border:1px solid #a28d5d40;border-radius:7px;width:46px;height:46px;flex-shrink:0}.character-menu h3{font-size:16px;margin:0 0 5px}.character-menu header small{font-size:11px;color:#aebbb2}.summary-vitals{display:grid;gap:18px}.summary-vitals>div{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:12px}.summary-vitals .progress{grid-column:1/-1;height:6px}.summary-vitals b{color:#e3d4ae}.summary-vitals .health-progress i{background:#c78676}.summary-readiness{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border-top:1px solid #adb69a25;margin-top:20px;padding:16px 0}.summary-readiness>span{font-size:12px;color:#c0cabf}.summary-readiness strong{font:30px Consolas,monospace;color:#e3be7b}.summary-readiness>button{grid-column:1/-1;justify-self:start;padding:0;font-size:11px}.character-menu{width:310px}
@media(max-width:800px){
 .topbar{grid-template-columns:minmax(85px,1fr) minmax(46px,62px) minmax(46px,62px) minmax(68px,80px);grid-template-rows:44px;gap:8px;padding:8px 12px;height:60px;min-height:60px}.header-shell{min-height:60px!important}.topbar>.header-vitals{display:none}.topbar .header-actions{grid-column:2;grid-row:1}.topbar .supplies-wrapper{grid-column:3;grid-row:1}.topbar>.more-wrapper{grid-column:4;grid-row:1}.topbar .compact-link,.topbar .supplies-button,.topbar .more-button{width:100%;height:44px;min-height:44px;border-radius:6px;font-size:12px;padding:8px}.topbar .compact-link svg,.topbar .supplies-button svg{width:26px;height:26px}.topbar .character-menu{padding:20px;max-height:calc(100dvh - 150px);overflow:auto}.topbar .more-menu{overflow:auto}.topbar .mobile-brand{width:100%;min-width:0}.more-menu .sound-icon{width:44px;height:44px;min-height:44px}
}
@media(max-width:350px){.topbar{grid-template-columns:minmax(75px,1fr) 44px 44px 64px;gap:6px;padding:8px}}

/* A compact watch beside the scene avoids an empty column beneath Objectives. */
@media(min-width:801px){.base-layout{grid-template-columns:minmax(0,1fr) 330px}.base-aside{display:flex;gap:14px}}
@media(min-width:801px) and (max-width:1100px){.base-layout{grid-template-columns:1fr}.base-aside{display:grid;grid-template-columns:1fr 1.5fr;align-items:start}}

@media(min-width:1101px){.base-layout>.scene-panel{grid-column:1;grid-row:1}.base-layout>.base-aside{grid-column:2;grid-row:1/span 3}.base-layout>.section-head{grid-column:1;grid-row:2;margin:6px 0 0;justify-content:flex-end}.base-layout>.building-grid{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));align-self:start}.base-layout{row-gap:20px}}
@media(min-width:1800px){.base-layout>.building-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.base-layout>.section-head{margin-bottom:0}.base-layout>.building-grid{width:100%}}

@media(max-width:650px){body.tutorial-spotlight:not(.tutorial-menu-open) #tutorial-dock{top:64px}}
@media(min-width:801px) and (max-width:1100px){.topbar{grid-template-columns:110px minmax(80px,1fr) auto;gap:12px}.topbar .header-vitals{min-width:0}.topbar .base-label>div{min-width:0}.topbar .base-label>div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* Equipment condition and a compact, touch-friendly recycling workbench. */
.durability{--condition:#9cba9b;width:100%;margin-top:14px;text-align:left;color:var(--condition);font-size:11px;line-height:1.4}
.durability-worn{--condition:#dfb669}.durability-low{--condition:#d58c7c}
.durability>span{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.durability b{font-size:inherit!important;color:inherit!important}
.durability>[role=progressbar]{height:6px;background:#101719;border-radius:4px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}
.durability i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--condition),#26332d 35%),var(--condition));border-radius:inherit;transition:width .3s linear}
.equipment-slot .durability{margin-top:auto;padding-top:18px}.inventory-item .durability{margin:5px 0 0;order:5;font-size:9px}.inventory-item .durability>span{margin-bottom:3px}.inventory-item .durability>[role=progressbar]{height:4px}
.gear-smelter{margin:0 0 28px;padding:24px;border-color:#bd985653;background:radial-gradient(ellipse at 80% 100%,#c78e3111,transparent 65%),#1c2326;scroll-margin-top:100px}
.gear-smelter header,.smelter-title{display:flex;align-items:center;gap:14px}.gear-smelter header{justify-content:space-between;margin-bottom:24px}.smelter-title>svg{color:#e3b96e;flex-shrink:0}.smelter-title h2{margin:0;font-size:21px}.smelter-title p{margin:5px 0 0;color:#b8c3c1;font-size:13px}
.smelter-status{font-size:11px;padding:7px 10px;border:1px solid #ffffff20;border-radius:5px;white-space:nowrap;color:#d4a687}.smelter-status.ready{color:#acccac}
.smelter-workspace{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:20px}.smelter-input>small,.smelter-output>small{display:block;color:#c4b28d;font-size:10px;letter-spacing:1.4px;margin-bottom:12px}
.smelter-select{display:flex;align-items:center;gap:18px;width:100%;min-height:112px;text-align:left;padding:18px;background:#10171980;border:1px dashed #b8a27088;border-radius:7px}.smelter-select>svg{flex-shrink:0}.smelter-select>span{min-width:0;flex:1}.smelter-select b,.smelter-select small{display:block}.smelter-select small{margin-top:7px;color:#b2beba}.smelter-select .rarity-badge{margin-top:6px}
.smelter-arrow{font-size:30px;text-align:center;color:#cba967}.smelter-quantity{display:flex;align-items:center;gap:14px;margin-top:14px;font-size:12px}.smelter-quantity input{width:110px;min-height:44px}.smelter-output{min-width:0}.smelter-bars{padding:12px 0;font-size:18px}.smelter-bars .rewards{gap:14px}#smelt-preview>.primary{margin-top:18px;min-height:46px}.smelter-placeholder{color:#9aaba8}.smelt-issue{font-size:12px;color:#ddb18e;margin:10px 0}.smelter-note{border-top:1px solid #ffffff12;padding-top:16px;margin:20px 0 0;font-size:11px;color:#a8b4b1;line-height:1.7}
.smelt-picker-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 18px}.smelt-picker-filters input[type=search],.smelt-picker-filters select{width:100%;min-width:0;min-height:44px}.smelt-picker-filters label{grid-column:1/-1;display:flex;align-items:center;gap:9px;min-height:40px;font-size:13px}.smelt-picker-filters input[type=checkbox]{accent-color:#e3b96e;width:18px;height:18px}
.smelt-options{max-height:min(50dvh,480px);overflow-y:auto;overscroll-behavior:contain}.smelt-option{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;text-align:left;padding:16px;width:100%;min-height:94px;margin-bottom:9px;border:1px solid color-mix(in srgb,var(--rarity),#30373b 70%);border-radius:6px;background:color-mix(in srgb,var(--rarity),#1b2327 94%)}.smelt-option b,.smelt-option small{display:block}.smelt-option .rarity-badge{margin:5px 0}.smelt-option small,.smelt-return{font-size:11px;color:#c2c9c6}.smelt-option:disabled{opacity:.45}.smelt-option:hover:enabled{border-color:#e3b96e}.smelt-option .durability{margin-top:7px}.smelt-return{max-width:155px}.smelt-item-detail{margin-top:20px;padding-top:6px;border-top:1px solid #ffffff18}.smelt-item-detail button{margin-top:10px}
@media(max-width:600px){.gear-smelter{padding:18px}.gear-smelter header{align-items:flex-start;gap:8px}.smelter-title{gap:10px}.smelter-title h2{font-size:18px}.smelter-status{padding:5px;font-size:9px}.smelter-workspace{grid-template-columns:1fr;gap:18px}.smelter-arrow{display:none}.smelter-output{padding-top:16px;border-top:1px solid #ffffff16}.smelter-select{min-height:100px}.smelt-picker-filters{grid-template-columns:1fr}.smelt-option{gap:10px;padding:12px;grid-template-columns:28px minmax(0,1fr)}.smelt-return{grid-column:2;max-width:none}.inventory-item .durability>span{font-size:8px}.inventory-item .durability>span{gap:2px}.inventory-item .durability>span b{white-space:nowrap}}

/* Keep worn-copy indicators inside compact storage tiles at every width. */
.inventory-item:has(.durability){padding-bottom:20px}
.inventory-item .durability{position:absolute;bottom:5px;left:7px;width:calc(100% - 14px);display:flex;align-items:center;gap:4px;margin:0;line-height:1}
.inventory-item .durability>span{font-size:0;order:2;margin:0;flex-shrink:0}
.inventory-item .durability>span b{font-size:9px!important;white-space:nowrap}
.inventory-item .durability>[role=progressbar]{flex:1;height:4px;min-width:0}
@media(max-width:600px){.inventory-item:has(.durability){padding:17px 3px 16px}.inventory-item .durability{left:5px;width:calc(100% - 10px);gap:2px;bottom:4px}.inventory-item .durability>span{font-size:0}.inventory-item .durability>span b{font-size:7px!important}}
.modal:has(#smelt-options){display:flex;flex-direction:column;max-height:90dvh;overflow:hidden}
.modal:has(#smelt-options)>:not(#smelt-options){flex-shrink:0}.modal:has(#smelt-options)>h2{margin:8px 0}.modal:has(#smelt-options)>p{font-size:12px;line-height:1.6;margin:8px 0}
.modal #smelt-options{min-height:80px;flex:1;overflow-y:auto}.modal .smelt-picker-filters{margin:14px 0;gap:8px}
@media(max-width:600px){.modal:has(#smelt-options){padding:24px 18px 18px}.modal:has(#smelt-options)>.eyebrow{padding-right:30px}.modal #smelt-options{max-height:38dvh}.modal .smelt-picker-filters label{min-height:32px}}
.storage-view{min-width:0}.storage-view>.storage-tabs{margin:0 0 20px}.storage-tabs .skills-tab{min-height:74px}.storage-controls{display:grid;grid-template-columns:minmax(200px,1fr) minmax(330px,1.2fr);gap:14px;align-items:start;margin-bottom:20px}.storage-search{display:flex;align-items:center;gap:10px;background:#171e22;border:1px solid #3d484a;border-radius:6px;padding:0 14px;min-height:49px}.storage-search>svg{flex-shrink:0;opacity:.7}.storage-search input{border:0;background:none;width:100%;min-width:0;padding:14px 0;outline:none}.storage-search:focus-within{border-color:#d7b777;box-shadow:0 0 0 1px #d7b777}.storage-controls .storage-check-filters{margin:0;gap:10px;align-items:center}.storage-controls .filter-drawer{min-width:0;max-width:none}.storage-controls .filter-drawer summary{min-height:48px;align-items:center;gap:8px;padding:12px}.storage-controls .text-button{white-space:nowrap;min-height:44px;padding:8px}.storage-sidebar{min-width:0;align-self:start;display:grid;gap:16px;position:sticky;top:20px}.storage-overview{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:20px}.storage-overview>svg{margin:0}.storage-overview h3{font-size:14px;margin:0 0 7px}.storage-overview p{font-size:11px;line-height:1.6;margin:0;color:#aeb8b7}.storage-overview .storage-capacity{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:18px;border-top:1px solid #ffffff16;text-align:left}.storage-capacity>strong{font-size:26px;font-weight:500;color:#e4d2ab;display:flex;gap:9px;align-items:baseline}.storage-capacity>strong>small{font-size:11px;color:#aeb8b7}.storage-capacity>span{font-size:11px;line-height:1.6;color:#aeb8b7}.storage-sidebar .item-detail{position:static;top:auto}.storage-view .inventory-grid{align-content:start}.storage-tabs .skills-tab:focus-visible{outline-offset:2px}
@media(max-width:1150px){.storage-view .storage-layout{display:flex;flex-direction:column}.storage-sidebar{position:static;width:100%;order:-1}.storage-overview{grid-template-columns:32px minmax(0,1fr) minmax(240px,1fr);align-items:center}.storage-overview .storage-capacity{grid-column:3;border-top:0;border-left:1px solid #ffffff16;padding:0 0 0 20px;display:grid;grid-template-columns:1fr auto;gap:8px 12px}.storage-capacity>strong{font-size:21px}.storage-overview .storage-capacity>span:not(.pill){grid-column:1/-1}.storage-controls{grid-template-columns:1fr}.storage-sidebar .item-detail{margin:0}.storage-view .inventory-grid{width:100%}}
@media(max-width:800px){.storage-view>.storage-tabs{margin-bottom:14px}.storage-tabs .skills-tab{padding:12px 6px;min-height:66px;gap:8px}.storage-tabs .skills-tab>svg{width:22px;height:22px}.storage-controls{gap:10px;margin-bottom:14px}.storage-controls .storage-check-filters{flex-wrap:nowrap;gap:7px}.storage-controls .filter-drawer summary{padding:12px 9px;font-size:12px}.storage-controls .filter-drawer summary span{font-size:9px}.storage-controls .text-button{font-size:10px;padding:6px}.storage-controls .filter-drawer fieldset{max-height:45dvh;overflow:auto}.storage-overview{grid-template-columns:26px minmax(0,1fr);padding:15px;gap:10px}.storage-overview>svg{width:26px;height:26px}.storage-overview h3{font-size:13px;margin-bottom:3px}.storage-overview p{font-size:10px}.storage-overview .storage-capacity{grid-column:1/-1;border-left:0;border-top:1px solid #ffffff16;padding:12px 0 0;grid-template-columns:1fr auto;align-items:center}.storage-overview .storage-capacity>strong{font-size:20px;justify-content:flex-end}.storage-overview .storage-capacity>span:not(.pill){grid-column:1;max-width:190px}.storage-overview .storage-capacity>button{grid-column:2;padding:9px;font-size:10px;min-height:40px}.storage-sidebar .item-detail{display:none}.storage-sidebar{gap:0}.storage-view .storage-layout{gap:14px}}
.storage-search input[type=search]{margin:0}
.storage-controls .filter-drawer fieldset{width:350px;min-width:100%;right:auto;box-shadow:0 14px 32px #0008}.storage-controls [data-storage-drawer=rarity] fieldset{left:auto;right:-1px}.storage-controls .filter-drawer fieldset label{min-width:0;padding:8px 4px;gap:9px}.storage-controls .filter-drawer fieldset label span{overflow-wrap:anywhere}.storage-controls .filter-drawer input[type=checkbox]{flex-shrink:0}
@media(max-width:800px){.storage-controls .filter-drawer{position:static}.storage-controls .filter-drawer fieldset,.storage-controls [data-storage-drawer=rarity] fieldset{left:0;right:0;top:100%;width:auto;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}.storage-controls .filter-drawer fieldset label{font-size:11px;letter-spacing:0}}
@media(max-width:360px){.storage-controls .filter-drawer fieldset,.storage-controls [data-storage-drawer=rarity] fieldset{grid-template-columns:1fr}.storage-tabs .skills-tab{font-size:10px;letter-spacing:.6px}.storage-overview .storage-capacity>strong{font-size:17px;gap:5px}.storage-overview .storage-capacity>strong>small{font-size:9px}}
@media(max-width:800px){.storage-controls .filter-drawer fieldset{max-height:min(45dvh,max(100px,calc(100dvh - 490px)))}}
.edible-marker{position:absolute;top:7px;left:7px;width:22px;height:22px;display:grid;place-items:center;background:#d9b66922;border:1px solid #cfa85a55;border-radius:5px;pointer-events:none}.edible-marker svg{width:16px;height:16px}
.consume-actions{display:grid;gap:9px;margin:16px 0}.consume-actions .consume-hint{font-size:11px;line-height:1.6;color:#c8b991}.consume-actions button{margin:0}.consume-actions button:disabled{opacity:.55}
.current-boosts{margin-top:22px;padding-top:18px;border-top:1px solid #b8a27230}.current-boosts h3{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#dcb978;margin:0 0 12px}.boost-chip-row{display:flex;flex-wrap:wrap;gap:10px}.boost-chip{display:flex;align-items:flex-start;gap:11px;flex:1 1 180px;min-width:0;padding:13px;background:#d9b6690c;border:1px solid #b69b6138;border-radius:6px}.boost-chip>svg{flex-shrink:0}.boost-chip b,.boost-chip span,.boost-chip small{display:block}.boost-chip b{font-size:12px;color:#e6c98d}.boost-chip span{font-size:11px;line-height:1.6;color:#d3d7ce;margin:4px 0}.boost-chip small{font-size:10px;line-height:1.6;color:#aeb9b4}.current-boosts .boosts-empty{margin:0;font-size:12px;line-height:1.6;color:#aeb9b4}.character-menu .current-boosts{margin:0 0 18px;padding-top:14px}.character-menu .boost-chip{padding:10px;flex-basis:100%}.character-menu .boosts-empty{font-size:11px}
@media(max-width:800px){.current-boosts{margin-top:18px;padding-top:15px}.boost-chip{flex-basis:100%;padding:12px}.edible-marker{top:5px;left:5px;width:18px;height:18px}.edible-marker svg{width:14px;height:14px}}
.character-hero.character-overview{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px 28px;align-items:start}.character-overview>.portrait-stage{grid-column:1;grid-row:1/span 3;align-self:center;margin:0;width:100%}.character-overview>.survivor-identity{grid-column:2;grid-row:1;min-width:0;padding:0}.character-overview .survivor-identity h1{margin:0 0 8px}.character-overview .survivor-identity>p{margin:0 0 18px}.character-vitals{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;max-width:720px}.character-vitals .health-meter,.character-vitals .character-meter{margin:0;width:100%;min-width:0}.character-vitals .health-meter>div,.character-vitals .character-meter>div{font-size:9px}.character-vitals .progress{height:5px}.character-overview .character-trophies{margin-top:18px;gap:8px}.character-overview .trophy-button{width:44px;height:46px}.character-overview .trophy-button>svg{width:32px;height:32px}.character-overview>.current-boosts{grid-column:2;grid-row:2;margin:0;padding-top:16px}.current-boosts>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.current-boosts>header h3{margin:0}.current-boosts>header button{font-size:11px;min-height:32px;padding:5px 0}.character-overview>.survivor-readiness{grid-column:2;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:25px;border-left:0;border-top:1px solid #b8a27230;padding:17px 0 0;margin:0;width:100%;align-self:start}.character-overview .survivor-readiness>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:7px 15px;align-items:center}.character-overview .survivor-readiness>div>small{grid-column:1/-1;font-size:9px;letter-spacing:1px}.character-overview .survivor-readiness strong{font-size:36px;line-height:1.2;margin:0}.character-overview .survivor-readiness .text-button{justify-self:start;font-size:11px}.character-overview .survivor-yield{margin:0;padding:0 0 0 20px;border-top:0;border-left:1px solid #b8a27230;display:grid;gap:5px}.character-overview .survivor-yield b{font-size:25px}.character-overview .survivor-yield small{font-size:10px;line-height:1.5}.flame-trophy{filter:drop-shadow(0 0 8px #f2a74c55)}.flame-achievement{border-color:#b18d52;background:radial-gradient(ellipse at 20% 0,#ba713324,transparent 80%),#202427}.flame-achievement .meta{color:#e6be78}
.return-repairs{margin:20px 0;padding:17px;border:1px solid #778e713f;border-radius:6px;background:#78966a0c}.return-repairs h3{margin:0 0 12px;font-size:14px}.return-repairs>div{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:12px}.return-repairs b{margin-left:auto;color:#aec5a4;font-size:11px;white-space:nowrap}.boost-details>h3{margin:25px 0 12px;color:#dfbd7e;font-size:14px}.boost-details article{padding:14px;background:#b89b5b0a;border:1px solid #a8b2a21f;border-radius:5px;margin:8px 0}.boost-details article>div{display:flex;align-items:center;gap:10px}.boost-details article b{font-size:12px}.boost-details article p{font-size:12px;margin:7px 0 0}.boost-details article small{display:block;color:#b9c3b5;line-height:1.6;margin-top:8px}.boost-totals{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.boost-totals span{font-size:11px;color:#b6beb5}.boost-totals b{display:block;font-size:27px;font-weight:500;color:#e8c883;margin-bottom:5px}
@media(max-width:1100px){.character-hero.character-overview{grid-template-columns:180px minmax(0,1fr);gap:18px}.character-vitals{grid-template-columns:1fr;gap:12px}.character-overview>.survivor-readiness{gap:15px}.character-overview .survivor-readiness>div:first-child{grid-template-columns:1fr}.character-overview .survivor-readiness strong{font-size:30px}}
@media(max-width:800px){.character-hero.character-overview{grid-template-columns:1fr;padding:18px;gap:20px}.character-overview>.portrait-stage{grid-column:1;grid-row:1;width:150px;justify-self:center}.character-overview>.survivor-identity{grid-column:1;grid-row:2}.character-overview>.current-boosts{grid-column:1;grid-row:3}.character-overview>.survivor-readiness{grid-column:1;grid-row:4}.character-overview .survivor-identity h1{font-size:24px}.character-overview .character-trophies{flex-wrap:wrap}.character-vitals{grid-template-columns:1fr 1fr;gap:14px}.character-overview .survivor-yield{padding-left:14px}.character-menu .summary-vitals{gap:12px}.character-menu .current-boosts{margin:15px 0 0}.character-menu .summary-readiness{margin-top:16px}.current-boosts>header button{min-height:40px}.return-repairs{padding:13px}}
@media(max-width:360px){.character-vitals{grid-template-columns:1fr}.character-overview>.survivor-readiness{gap:10px}.character-overview .survivor-readiness strong{font-size:27px}.character-overview .survivor-yield b{font-size:23px}}

/* Closeable filters shared by touch and desktop. */
select[hidden]{display:none!important}.choice-trigger{min-height:44px;max-width:100%;width:100%;text-align:left;white-space:normal;background:#1c292b;border:1px solid #50615d;border-radius:5px;padding:10px 13px;color:#e8dfca;font:inherit}.choice-backdrop{position:fixed;inset:0;z-index:20000;background:#07111499;display:grid;place-items:center;padding:18px}.choice-panel{position:relative;width:min(440px,100%);max-height:calc(100dvh - 36px);display:flex;flex-direction:column;padding:22px;background:#202a2c;border:1px solid #9d865d;border-radius:10px;box-shadow:0 20px 70px #0007}.choice-panel h2{font-size:18px;padding-right:40px;margin:0 0 18px}.choice-close,.filter-close{width:40px;height:40px;padding:0;flex-shrink:0;font-size:24px}.choice-close{position:absolute;right:12px;top:12px}.choice-options{display:grid;gap:7px;overflow-y:auto;overscroll-behavior:contain;min-height:0;margin-bottom:16px}.choice-options button{text-align:left;min-height:44px;padding:11px 13px}.choice-options .selected{border-color:#d7b56e;background:#80663455}.storage-filter-panel{position:absolute;z-index:42;top:calc(100% + 6px);left:0;width:min(420px,calc(100vw - 36px));padding:16px;background:#202c2e;border:1px solid #687c73;border-radius:8px;box-shadow:0 18px 45px #0007}.storage-filter-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.filter-drawer .storage-filter-panel fieldset{position:static!important;width:auto!important;max-height:55vh;overflow-y:auto;box-shadow:none;border:0;padding:0;margin:0 0 16px;background:transparent}.storage-filter-panel label{min-height:44px}.storage-filter-panel>.wide{min-height:44px}.filter-drawer:last-of-type .storage-filter-panel{left:auto;right:0}
@media(max-width:600px){.choice-backdrop{align-items:end;padding:12px}.choice-panel{max-height:80dvh;padding:20px}.filter-drawer[open]::before{content:'';position:fixed;inset:0;background:#07111499;z-index:2000}.filter-drawer .storage-filter-panel{position:fixed;left:12px!important;right:12px!important;top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:auto;z-index:2001;max-height:80dvh}.filter-drawer .storage-filter-panel fieldset{max-height:52dvh}.storage-filter-panel header{position:relative}.storage-filter-panel label{font-size:12px}}

.pet-pixel image{image-rendering:pixelated}.pet-model.pet-pixel{overflow:visible}

/* Keep open storage sheets above the mobile navigation and activity bar. */
.storage-check-filters:has(.filter-drawer[open]){z-index:2100}
.storage-controls [data-storage-drawer=type] .storage-filter-panel{left:auto;right:0}
.storage-controls .storage-check-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.storage-controls .filter-drawer{min-width:0;max-width:none}.storage-controls .filter-drawer summary{gap:8px}.storage-controls .filter-drawer summary span{white-space:nowrap}@media(max-width:600px){.storage-controls .filter-drawer summary{flex-direction:column;gap:4px;min-height:58px}.storage-controls .storage-filter-panel fieldset{max-height:50dvh}}
.victory-reward.first-clear-reward{background:linear-gradient(115deg,#233936,#1c2c2d);border-color:#527970;color:#c1e0ce;cursor:default}
.first-clear-reward>div{min-width:0;display:grid;gap:8px}
.first-clear-reward .rewards{margin:0;flex-wrap:wrap}
.first-clear-reward .rewards span{display:inline-flex;align-items:center;gap:5px}
.victory-receipt{margin:18px 0;box-sizing:border-box}
.victory-receipt small{display:block}
@font-face{font-family:'Press Start 2P';src:url('/assets/Current/ui/fonts/PressStart2P.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:400}

/* Compact food and tonic item dialogs. */
.consumable-detail{display:grid;gap:20px}.consumable-heading{display:grid;grid-template-columns:76px minmax(0,1fr);gap:17px;align-items:center;padding-right:25px}.consumable-portrait{width:76px;height:76px;display:grid;place-items:center;background:#171d20;border:1px solid #3e4545;border-radius:12px}.consumable-heading .eyebrow{display:block;margin:0 0 7px;font-size:9px}.consumable-heading h2{margin:0 0 10px;line-height:1.25;font-size:23px}.consumable-heading .rarity-badge{margin:0}.consumable-effect{padding:16px 18px;background:#cfaa6410;border:1px solid #88734450;border-radius:8px}.consumable-effect .eyebrow{display:block;font-size:9px;margin:0 0 7px}.consumable-effect p{margin:0;line-height:1.7;color:#e1ded0;font-size:13px}.consumable-stock{display:flex;justify-content:space-between;gap:16px}.consumable-stock>span{display:grid;gap:6px;font-size:11px;color:#a9b2af}.consumable-stock>span:last-child{text-align:right}.consumable-stock b{font-size:14px;color:#e3e3db}.consumable-detail .consume-actions{margin:0;gap:10px}.consume-buttons{display:grid;gap:10px}.consumable-detail .consume-buttons{grid-template-columns:1fr 1fr}.consumable-detail .consume-buttons button{width:100%;min-height:43px;padding:10px 12px;line-height:1.4}.consumable-detail .consume-hint{color:#b7beb7;min-height:18px}.consumable-auto:disabled{opacity:1;color:#a9c5b1;background:#26312e;border-color:#465c50}.consumable-sources{border-top:1px solid #3d4243;border-bottom:1px solid #3d4243;padding:14px 0}.consumable-sources summary{cursor:pointer;font-size:12px;color:#c4cdc7}.consumable-sources .item-sources{display:grid;gap:8px;margin-top:14px}.consumable-storage-actions{display:flex;justify-content:space-between;gap:12px}.consumable-storage-actions button{margin:0;background:transparent;border-color:#444b4c;color:#c7c9c1;min-height:36px}.consumable-storage-actions .consumable-discard{color:#bf9e93;border-color:transparent}.consumable-storage-actions button:hover{background:#ffffff08}.consumable-detail .fine{margin:0;line-height:1.6}@media(max-width:480px){.consumable-detail{gap:17px}.consumable-heading{grid-template-columns:60px minmax(0,1fr);gap:13px;padding-right:18px}.consumable-portrait{width:60px;height:66px}.consumable-portrait svg{width:48px;height:48px}.consumable-heading h2{font-size:20px}.consumable-detail .consume-buttons{grid-template-columns:1fr}.consumable-effect{padding:14px}.consumable-detail .consume-buttons button{min-height:42px}}
.character-overview .character-trophies .trophy-button{display:grid;place-items:center;padding:0;flex-shrink:0}
.character-overview .character-trophies .trophy-button>svg{display:block;margin:0}

/* Loadout choices use one aligned title/rarity row and a quiet rarity tint. */
.loadout-picker>h2{margin-bottom:8px}.loadout-picker>p{margin:0;line-height:1.6}.loadout-picker .slot-options{display:grid;gap:10px;padding-right:7px;max-height:min(380px,48dvh)}
.loadout-picker .loadout-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:0;padding:14px 12px;border:1px solid color-mix(in srgb,var(--rarity) 35%,#3a4346);border-radius:8px;background:linear-gradient(115deg,color-mix(in srgb,var(--rarity) 11%,#1b2226),#1b2226);box-sizing:border-box}
.loadout-item-art{display:grid;place-items:center}.loadout-item-art svg{display:block}.loadout-item-content{min-width:0}.consumable-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.loadout-item-name{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.loadout-picker .loadout-item-name .rarity-badge{align-self:center}.loadout-item-name>b{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.loadout-picker .rarity-badge{margin:0;flex:none;white-space:nowrap;align-self:start;font-size:8px;line-height:1.4;letter-spacing:.2px}.loadout-picker .rarity-badge>span{flex:none}.loadout-picker .loadout-item-stock{display:block;margin:5px 0 0;font-size:10px;line-height:1.5;color:#aebbb6}.loadout-item-effect{margin:7px 0 0;font-size:11px;line-height:1.6;color:#c4cec7}.loadout-item .durability{margin-top:10px}.loadout-picker .loadout-item-action{min-height:36px;margin:0;align-self:center;white-space:nowrap}
.loadout-picker .picker-current{margin:14px 0;border-color:color-mix(in srgb,var(--rarity) 55%,#657875)}.loadout-picker .picker-current .loadout-item-stock{color:#b5ccb9}.consumable-title-row h2{margin:0!important}.consumable-title-row .rarity-badge{margin-top:2px!important}
@media(max-width:520px){.loadout-picker .loadout-item{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px}.loadout-item-art{align-self:start;margin-top:3px}.loadout-item-art svg{width:28px;height:28px}.loadout-picker .loadout-item-action{grid-column:2;justify-self:end;min-height:36px}.loadout-item-name{gap:5px}.loadout-picker .slot-options{max-height:45dvh}.loadout-item-name>b{font-size:12px}.consumable-title-row{gap:7px}.consumable-title-row .rarity-badge{font-size:7px}}

.modal:has(.loadout-picker){display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 36px)}.loadout-picker{display:flex;flex-direction:column;min-height:0}.loadout-picker>*{flex-shrink:0}.loadout-picker .slot-options{flex:1 1 auto;min-height:90px;max-height:min(360px,42dvh)}.loadout-picker>.text-button{align-self:flex-start}

@media(max-height:600px){.modal:has(.loadout-picker){display:block;overflow-y:auto}.loadout-picker .slot-options{flex:none;max-height:240px}}

/* Character overview: persistent statistics and equipment, then temporary effects. */
.character-hero.character-overview.character-dashboard{grid-template-columns:220px minmax(0,1fr);gap:30px;padding:28px;align-items:start}.character-portrait-column{display:grid;gap:22px;min-width:0}.character-dashboard .portrait-stage{width:100%;max-width:none;margin:0;box-sizing:border-box}.character-info{min-width:0}.character-identity h1{margin:0 0 6px;font-size:27px;line-height:1.25}.character-identity>p{margin:0;color:#b8b5a6;font-size:12px}.character-honours>.eyebrow{display:block;font-size:9px;letter-spacing:1.1px;text-align:center}.character-dashboard .character-trophies{justify-content:center;gap:8px;margin:12px 0 0}.character-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 0}.character-stat-grid>div{padding:14px 12px;border:1px solid #45483f;border-radius:7px;background:#121b2066}.character-stat-grid dt{font-size:10px;color:#bfc4b9;line-height:1.4}.character-stat-grid dd{margin:9px 0 0;font:26px Consolas,monospace;color:#e2c182;white-space:nowrap}.character-stat-grid dd small{font:13px Consolas,monospace;color:#aeb8b3}.character-stat-links{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 22px}.character-stat-links>span{font-size:10px;color:#a3afa8;line-height:1.5}.character-stat-links .text-button{font-size:10px;padding:5px 0;white-space:nowrap}.character-equipped{border-top:1px solid #b8a27230;padding-top:19px}.character-equipped>header,.character-temporary>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.character-equipped h3,.character-temporary h3{margin:0;font-size:12px;letter-spacing:.4px;color:#dcb975}.character-equipped>header .text-button{padding:0;font-size:11px}.character-xp-note{display:grid;gap:6px;padding:12px 14px;border-left:2px solid #a398c3;background:#9e89c30c;margin-bottom:12px}.character-xp-note b{font-size:12px;color:#d7cee6}.character-xp-note span{font-size:11px;color:#b5bdb7;line-height:1.6}.equipped-bonus-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equipped-bonus{padding:12px;border:1px solid #394344;border-radius:6px;background:#17212688;min-width:0}.equipped-bonus>div{display:flex;align-items:center;gap:9px;margin-bottom:7px}.equipped-bonus>div>svg{flex-shrink:0}.equipped-bonus b{display:block;font-size:11px;color:#e0e0d1}.equipped-bonus small{display:block;font-size:9px;color:#a4b1ac;margin-top:3px;line-height:1.4}.equipped-bonus p{margin:3px 0 0;font-size:11px;line-height:1.6;color:#c4d0c4}.character-bonus-footnote,.character-bonus-empty{font-size:10px;color:#a9b4ac;line-height:1.6;margin:12px 0 0}.character-dashboard .character-temporary{margin:20px 0 0;padding-top:19px;border-top:1px solid #b8a27230}.character-temporary>header>span{font-size:10px;color:#a9b4ac}.character-temporary .boost-chip-row{grid-template-columns:1fr 1fr}.character-temporary .boost-chip{min-width:0}.character-temporary .boosts-empty{margin:0;font-size:12px;line-height:1.6}
@media(max-width:1150px){.character-hero.character-overview.character-dashboard{grid-template-columns:180px minmax(0,1fr);gap:22px;padding:22px}.character-stat-grid{grid-template-columns:1fr 1fr}.character-stat-grid dd{font-size:24px}.character-stat-links{align-items:flex-start}.character-stat-links>span{max-width:200px}.equipped-bonus-grid{grid-template-columns:1fr}}
@media(max-width:720px){.character-hero.character-overview.character-dashboard{grid-template-columns:1fr;padding:18px;gap:24px}.character-portrait-column{grid-template-columns:145px minmax(0,1fr);gap:18px;align-items:center}.character-dashboard .portrait-stage{max-width:145px}.character-dashboard .character-trophies{gap:6px}.character-dashboard .trophy-button{width:40px;height:42px}.character-info{width:100%}.character-identity h1{font-size:24px}.character-stat-grid{margin-top:18px}.character-stat-links{flex-wrap:wrap;gap:5px}.character-stat-links>span{max-width:none}.equipped-bonus-grid{grid-template-columns:1fr 1fr}.character-temporary>header{align-items:flex-start}.character-temporary>header>span{max-width:120px;text-align:right;line-height:1.5}}
@media(max-width:460px){.character-portrait-column{grid-template-columns:125px minmax(0,1fr);gap:12px}.character-honours>.eyebrow{font-size:8px;line-height:1.5}.character-dashboard .trophy-button{width:36px;height:38px}.character-dashboard .trophy-button>svg{width:28px;height:28px}.character-stat-grid>div{padding:12px}.equipped-bonus-grid,.character-temporary .boost-chip-row{grid-template-columns:1fr}.character-equipped>header{gap:8px}.character-equipped>header .text-button{font-size:10px}}
/* Character command panel: totals, loadout and amulet share one visual language. */
.character-command-panel{background:radial-gradient(ellipse at top left,#d8b56c0a,transparent 60%),#1c2023}
.character-command-panel .character-identity{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid #bda56b2b}
.character-command-panel .character-identity p{font-size:12px;color:#acb5ac;margin-top:7px}
.overview-level{flex:none;text-align:right}.overview-level>span{display:block;font:8px Consolas,monospace;letter-spacing:1.3px;color:#bcb298}.overview-level>b{display:block;margin-top:6px;font:27px Consolas,monospace;color:#e6c27e}.overview-level small{font-size:13px;color:#9caaa5}
.overview-totals{margin-top:20px}.overview-totals>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.overview-totals h3{font-size:12px;color:#d9dccf}.overview-totals .text-button{padding:0;font-size:10px}
.character-command-panel .character-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;gap:10px}.character-command-panel .character-stat-grid>div{padding:16px 14px;background:linear-gradient(135deg,#d6b8730c,#13202455);border-color:#b6ac8738;border-radius:8px}.character-command-panel .character-stat-grid dd{font-size:clamp(20px,1.65vw,28px)}.character-command-panel .character-stat-grid dd small{font-size:11px}.character-stat-grid>div>span{display:block;font-size:9px;color:#9daea6;margin-top:9px;line-height:1.5}.character-command-panel .overview-health dd{color:#cfaba0}
.character-command-panel .character-equipped{padding:0;margin-top:18px;border:0}.loadout-summary-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px}.loadout-summary-card{display:flex;flex-direction:column;min-width:0;border:1px solid #8a917443;background:linear-gradient(145deg,#a6ad8510,#14202555);border-radius:9px;padding:18px}.loadout-summary-card header{margin-bottom:17px}.loadout-summary-card .eyebrow{display:block;font-size:8px;letter-spacing:1.5px;margin:0 0 7px;color:#b2b498}.loadout-summary-card h3{font-size:15px;line-height:1.4;color:#e0e3d5;letter-spacing:0}.overview-gear-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:18px}.overview-gear{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px 3px 9px;background:color-mix(in srgb,var(--rarity) 8%,#1c2529);border:1px solid color-mix(in srgb,var(--rarity) 32%,#354045);border-bottom-width:2px;min-width:0;border-radius:6px}.overview-gear small{font-size:8px;color:#bcc5b9}.overview-gear{position:relative}.overview-gear.is-broken{background:#202527;border-color:#46504e}.overview-gear.is-broken>svg{filter:grayscale(1);opacity:.3}.overview-gear.is-broken>small{color:#87918c}.armour-summary-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:16px}.armour-summary-footer>.text-button{font-size:11px;padding:4px 0;margin:0}
.armour-contributions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding-top:14px;border-top:1px solid #bbc79d22}.armour-contributions dt{font-size:9px;color:#aab7ad}.armour-contributions dd{margin:6px 0 0;font:20px Consolas,monospace;color:#d8c599}.summary-card-note{font-size:10px;line-height:1.65;color:#9caeaa;margin-top:14px}.amulet-summary-effect{display:flex;align-items:flex-start;gap:13px;margin:2px 0 4px}.amulet-summary-effect>svg{flex:none}.amulet-summary-effect b,.amulet-effect-line{font-size:13px;font-weight:600;color:#dec58f;line-height:1.6}.amulet-summary-effect p{font-size:11px;margin-top:6px;line-height:1.7}.amulet-summary>.text-button{align-self:flex-start;font-size:10px;padding:10px 0 0;margin-top:auto}.overview-details-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.overview-details-link>span{font-size:10px;color:#99aaa3}.overview-details-link>.text-button{padding:4px 0;font-size:11px}.character-command-panel .character-temporary{border-top:1px solid #8a917443;margin-top:18px}.character-command-panel .character-temporary h3{font-size:12px;text-transform:none;color:#d9dccf}
/* Only the modal body scrolls. The title and close control remain stationary. */
.modal.modal-scroll-shell{display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:calc(100dvh - 36px);width:min(660px,100%)}.modal-fixed-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;flex:none;border-bottom:1px solid #bca57433;background:#202629;z-index:2}.modal-fixed-head h2{margin:0;font-size:21px}.modal-fixed-head .modal-close{position:static;flex:none;width:40px;height:40px;margin:0;display:grid;place-items:center;padding:0}.modal-scroll-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:22px 24px 28px;scrollbar-gutter:stable}.modal-scroll-body .boost-details>p:first-child{margin:0 0 18px}
@media(max-width:1200px){.loadout-summary-grid{grid-template-columns:1fr}.character-command-panel .character-stat-grid{grid-template-columns:1fr 1fr}.character-command-panel .overview-health{grid-column:1/-1}.character-command-panel .character-stat-grid dd{font-size:25px}.amulet-summary>.text-button{margin-top:10px}.overview-gear-strip{max-width:400px}}
@media(max-width:720px){.character-command-panel .character-identity{gap:10px}.character-command-panel .character-identity h1{font-size:23px}.overview-level>b{font-size:24px}.overview-level>span{font-size:7px;letter-spacing:.7px}.loadout-summary-card{padding:15px}.overview-details-link{align-items:flex-start}.overview-details-link>span{max-width:145px;line-height:1.6}.modal-fixed-head{padding:12px 16px}.modal-scroll-body{padding:18px 16px 24px}.modal.modal-scroll-shell{max-height:calc(100dvh - 24px)}.armour-contributions dd{font-size:20px}}
@media(max-width:720px){.character-command-panel .survivor-3d{height:210px}}

/* Keep crafting names, rarity, and output quantity on one compact title row. */
.work-item-title{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.work-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.work-item-title>.rarity-badge{flex:none;align-self:center;margin:0;padding:3px 6px;font-size:8px;line-height:1.2;letter-spacing:.3px}
.activity-info .work-item-title>.meta{flex:none;margin:0;font-size:9px}

/* Align smelter item names and rarity badges as one compact heading. */
.smelt-item-name{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.smelt-item-name>b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.smelter-select .smelt-item-name>.rarity-badge,.smelt-option .smelt-item-name>.rarity-badge{flex:none;align-self:center;margin:0;padding:3px 6px;font-size:8px;line-height:1.2;letter-spacing:.3px}

/* Compact character command panel. */
.character-command-panel .character-identity{padding-bottom:18px}
.overview-level{position:relative;min-width:184px;padding:13px 17px 12px;box-sizing:border-box;overflow:hidden;text-align:left;border:1px solid #bca66455;border-radius:9px;background:linear-gradient(135deg,#d7b45b1a,#142024 72%);box-shadow:inset 0 1px #f2d38218,0 8px 22px #060a0c38}
.overview-level::after{content:'';position:absolute;right:-25px;bottom:-36px;width:100px;height:100px;border:1px solid #d5b15c20;transform:rotate(45deg);pointer-events:none}
.overview-level>span{position:relative;z-index:1;color:#d6bc79;letter-spacing:1.8px}
.overview-level>b{position:relative;z-index:1;margin-top:7px;font-size:40px;line-height:1;color:#f1ca73;text-shadow:0 2px 14px #e7ae4640}
.overview-level small{font-size:13px;color:#c3ccc5}
.character-command-panel .character-equipped{margin-top:18px}
.loadout-summary-grid>#character-equipped-bonuses{display:flex;min-width:0}
.loadout-summary-grid>#character-equipped-bonuses>.loadout-summary-card{width:100%;box-sizing:border-box}
.overview-gear-strip{grid-template-columns:repeat(6,minmax(0,1fr))}
.armour-contributions{grid-template-columns:repeat(4,minmax(0,1fr))}
.armour-contributions .amulet-contribution dd{font:600 11px/1.45 "Segoe UI",sans-serif;color:#dec58f;white-space:normal;overflow-wrap:anywhere}
.armour-summary-footer{gap:16px;flex-wrap:wrap}
.temporary-summary.current-boosts{margin:0;padding:18px;border:1px solid #8a917443}
.temporary-summary.current-boosts>header{display:block;margin-bottom:17px}
.temporary-summary.current-boosts h3{margin:0;font-size:15px;line-height:1.4;letter-spacing:0;text-transform:none;color:#e0e3d5}
.temporary-summary .boost-chip-row{display:grid;grid-template-columns:1fr;gap:9px}
.temporary-summary .boost-chip{min-width:0;padding:12px;background:#d4b96f0a;border-color:#8b815738}
.temporary-summary .boost-chip small{line-height:1.55}
.temporary-summary .boosts-empty{margin:auto 0;font-size:11px;line-height:1.7;color:#9eaaa4}
@media(max-width:1200px){.overview-gear-strip{max-width:none}.armour-contributions{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.overview-level{min-width:150px;padding:11px 14px}.overview-level>b{font-size:34px}.overview-gear-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.armour-contributions{grid-template-columns:1fr 1fr}.armour-summary-footer{justify-content:flex-start;gap:12px}}
@media(max-width:460px){.character-command-panel .character-identity{align-items:flex-end}.character-command-panel .character-identity h1{font-size:21px}.overview-level{min-width:126px;padding:10px 11px}.overview-level>span{font-size:6px;letter-spacing:1px}.overview-level>b{font-size:30px}.overview-level small{font-size:10px}.loadout-summary-card{padding:13px}.overview-gear{padding:10px 2px 8px}.armour-contributions{gap:8px}.armour-contributions dd{font-size:18px}.armour-summary-footer>.text-button{font-size:10px}.character-dashboard .character-trophies{display:grid;grid-template-columns:repeat(3,36px);justify-content:center}}

/* Character profile header: portrait identity, trophies and level align as one unit. */
.character-hero.character-overview.character-dashboard{align-items:stretch}
.character-portrait-column{height:100%}
.character-dashboard .portrait-stage{display:flex;flex-direction:column;height:100%}
.character-dashboard .portrait-stage .survivor-3d{flex:1;min-height:310px}
.character-dashboard .survivor-3d canvas{position:absolute;inset:0}
.portrait-profile{padding:17px 8px 5px;border-top:1px solid #bda56b26;text-align:left}
.portrait-profile h1{margin:0;font-size:20px;line-height:1.25;color:#ece9df}
.portrait-profile p{margin:7px 0 0;font-size:11px;line-height:1.5;color:#b8b5a6}
.character-info{display:flex;flex-direction:column;min-width:0}
.character-vitals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;max-width:none;align-items:stretch}
.character-vital{min-width:0;padding:14px 17px;border:1px solid #8a917443;border-radius:9px;background:linear-gradient(145deg,#a6ad850b,#14202555)}
.character-vital>header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.character-vital>header>span{display:flex;align-items:center;min-height:29px;font:9px Consolas,monospace;letter-spacing:1.2px;color:#c5b995}
.vital-health-label,.summary-health-label{display:flex;align-items:center;gap:9px}
.heal-button{min-height:25px;padding:3px 8px;border:1px solid #aa9c655c;border-radius:4px;background:#a2954b18;color:#e1c487;font:600 9px Segoe UI,system-ui,sans-serif;letter-spacing:.5px;line-height:1.4}
.heal-button:hover{background:#d3b46b28;border-color:#c5a76d}
.heal-button[hidden],.healing-dialog button[hidden]{display:none!important}
.healing-dialog{display:flex;flex-direction:column;gap:14px}
.healing-summary{display:flex;justify-content:space-between;align-items:center;gap:14px}
.healing-summary>span{font:10px Consolas,monospace;letter-spacing:1.3px;color:#c6b995}
.healing-summary>b{font-size:19px;color:#dfb99f;font-variant-numeric:tabular-nums}
.healing-dialog .healing-status,.healing-dialog .healing-food-effect,.healing-dialog .healing-help{margin:0;font-size:11px;line-height:1.65;color:#b6c0b8}
.healing-foods{display:flex;flex-direction:column;gap:7px;max-height:300px;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.healing-food{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;text-align:left;background:#172125;border:1px solid #46504b;border-radius:6px}
.healing-food[aria-pressed="true"]{background:#d3b46b18;border-color:#d3b46b;box-shadow:inset 3px 0 #d3b46b}
.healing-food>span{flex:1;min-width:0}
.healing-food>span>b{display:block;font-size:12px;line-height:1.5}
.healing-food>span>small{display:block;margin-top:3px;font-size:10px;color:#a9b5ac}
.healing-food>strong{flex:none;font-size:11px;color:#d8c181;white-space:nowrap}
.healing-food>.pixel-icon{flex:none}
.healing-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.healing-actions:has(>button[hidden]){grid-template-columns:1fr}
.healing-actions>button{min-height:40px;padding:9px;font-size:12px}
.healing-empty{font-size:12px;line-height:1.7;padding:12px}
.queue-healing{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;padding:12px;border:1px solid #b49b5d66;border-radius:6px;background:#b49b5d12}
.queue-healing b{display:block;font-size:12px;color:#ddc68e}
.queue-healing small{display:block;margin-top:6px;font-size:10px;color:#b6c0b8}
@media(max-width:460px){.healing-food{gap:8px;padding:9px}.healing-food>span>b{font-size:11px}.healing-food>strong{font-size:10px}.healing-actions>button{font-size:11px}.heal-button{min-height:29px}}
.character-vital b{font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums;color:#e8dfc9;white-space:nowrap}
.character-vital b small{font-size:11px;color:#aeb8af;font-weight:400}
.character-vital>.progress{height:6px;margin:0;background:#111a1d}
.character-vital>.progress i{background:#d3b46b}
.character-vital.vital-health>.progress i{background:#cb8f7e}
.character-vital.vital-health.critical>.progress i{background:#d96961}
.character-vital>small{display:block;margin-top:8px;font-size:10px;line-height:1.5;color:#abb5ad}
.character-command-panel .character-identity{display:grid;grid-template-columns:minmax(0,1fr) 184px;align-items:stretch;gap:12px;padding:0;border:0}
.character-honours{min-width:0;padding:15px 17px;border:1px solid #8a917443;border-radius:9px;background:linear-gradient(145deg,#a6ad8510,#14202555)}
.character-honours>.eyebrow{display:block;margin:0;font-size:8px;line-height:1;letter-spacing:1.5px;text-align:left;color:#d6bc79}
.character-dashboard .character-honours .character-trophies{justify-content:flex-start;gap:8px;margin:12px 0 0}
.honours-empty{margin:13px 0 0;font-size:11px;color:#99a59f}
.character-command-panel .overview-level{height:100%;display:flex;flex-direction:column;justify-content:center}
.loadout-summary-heading{display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:start;gap:10px}
.loadout-summary-heading>div:first-child{min-width:0}
.loadout-summary-links{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:nowrap}
.loadout-summary-links>.text-button{margin:0;padding:3px 0;font-size:9px;white-space:nowrap}
.character-command-panel .character-equipped{flex:1}

@media(max-width:720px){
 .character-hero.character-overview.character-dashboard{display:grid;grid-template-columns:145px minmax(0,1fr);grid-template-areas:"level level" "portrait trophies" "vitals vitals" "equipped equipped";gap:12px 14px;padding:18px;align-items:stretch}
 .character-vitals{grid-area:vitals;margin:0;gap:10px}
 .character-vital{padding:12px}
 .character-vital>header{flex-direction:column;align-items:flex-start;gap:7px}
 .character-vital b{font-size:12px}
 .character-vital b small{font-size:10px}
 .character-command-panel .character-portrait-column,.character-command-panel .character-info,.character-command-panel .character-identity{display:contents}
 .character-dashboard .portrait-stage{grid-area:portrait;max-width:none;height:100%;padding:8px}
 .character-dashboard .portrait-stage .survivor-3d{height:210px;min-height:210px}
 .portrait-profile{padding:13px 5px 4px}
 .portrait-profile h1{font-size:16px}
 .portrait-profile p{font-size:9px;margin-top:5px}
 .character-command-panel .character-honours{grid-area:trophies;height:100%;box-sizing:border-box;padding:14px 11px}
 .character-dashboard .character-honours .character-trophies{display:grid;grid-template-columns:repeat(3,40px);justify-content:center;align-content:start;gap:7px;margin-top:13px}
 .character-command-panel .overview-level{grid-area:level;width:100%;min-height:72px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 16px}
 .overview-level>b{margin:0;font-size:34px}
 .character-command-panel .character-equipped{grid-area:equipped;margin:0}
 .loadout-summary-heading{display:grid;grid-template-columns:1fr;gap:11px}
 .loadout-summary-links{justify-content:flex-start;gap:12px}
}

/* Compact PNG navigation and a cleaner header without duplicate safehouse identity. */
.png-ui-icon{display:block;object-fit:contain;image-rendering:pixelated}
.nav-item>.png-ui-icon{width:26px;height:26px;border:0;background:transparent;padding:0;filter:drop-shadow(2px 2px 0 #080b0c99)}
.nav-item.active>.png-ui-icon{border:0;background:transparent;filter:brightness(1.12) drop-shadow(2px 2px 0 #080b0c99)}
.nav-item.active:after{content:'';position:absolute;right:13px;top:50%;width:7px;height:7px;margin:-3px 0 0;border-radius:50%;background:var(--accent);transform:none}
.header-readiness>.png-ui-icon,.supplies-button>.png-ui-icon{width:30px;height:30px;padding:0;border:0;background:transparent;filter:drop-shadow(2px 2px 0 #080b0c99)}

@media(min-width:801px){
 .topbar{grid-template-columns:minmax(360px,1fr) auto;gap:26px;min-height:72px;padding:11px 26px}
 .topbar>.header-vitals{grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(190px,1fr) minmax(210px,1fr);gap:24px;min-width:0}
 .topbar>.header-summary{grid-column:2;grid-row:1;display:flex;align-items:center;gap:10px}
 .header-readiness,.supplies-button{height:50px;min-height:50px;padding:8px 15px}
 .header-readiness{min-width:170px;justify-content:flex-start;gap:11px}
 .supplies-button{min-width:130px;justify-content:flex-start;gap:10px}
}

@media(max-width:800px){
 .topbar .supplies-button>.png-ui-icon,.topbar .compact-link>.png-ui-icon{width:25px;height:25px;padding:0;border:0;background:transparent}
 .nav-item>.png-ui-icon{width:25px;height:25px;padding:0;border:0;background:transparent}
}
@media(max-width:460px){
 .character-hero.character-overview.character-dashboard{grid-template-columns:132px minmax(0,1fr);gap:11px;padding:14px}
 .character-dashboard .portrait-stage .survivor-3d{height:195px;min-height:195px}
 .character-dashboard .character-honours .character-trophies{grid-template-columns:repeat(3,36px);gap:6px}
 .character-dashboard .trophy-button{width:36px;height:38px}
 .character-command-panel .overview-level{min-width:0;padding:11px 13px}
 .loadout-summary-links>.text-button{font-size:9px}
}

/* Facility cards use the same illustrated pixel-art language as equipment. */
.clean-facility{min-height:278px;padding:0;overflow:hidden;background:radial-gradient(circle at 18% 58%,#d4a85d12,transparent 34%),linear-gradient(145deg,#20252a,#171b20 72%)}
.clean-facility:before{content:'';position:absolute;inset:0;border-top:2px solid #b4935838;pointer-events:none;z-index:0}
.clean-facility:hover .facility-art img,.clean-facility:focus-within .facility-art img{transform:translateY(-3px) scale(1.035);filter:drop-shadow(0 13px 13px #05080cab) brightness(1.08)}
.clean-facility .facility-heading{grid-template-columns:minmax(0,1fr) auto;padding:18px 19px 13px;border-bottom:1px solid #d8b36c1c;background:linear-gradient(90deg,#d8b36c09,transparent 58%)}
.clean-facility .facility-heading h3{font-size:17px;color:#eee8da}
.clean-facility .facility-heading .meta{color:#aaa48f;letter-spacing:1.2px}
.facility-card-content{display:grid;grid-template-columns:minmax(108px,42%) minmax(0,1fr);gap:4px;min-height:190px;flex:1;padding-left:8px}
.facility-art{position:relative;display:grid;place-items:center;align-self:stretch;min-width:0;min-height:170px;overflow:visible;background:radial-gradient(ellipse at center,#d6ae652b 0,#7c654514 38%,transparent 69%)}
.facility-art:before{content:'';position:absolute;left:17%;right:17%;bottom:27px;height:9px;border-radius:50%;background:#080b0e70;filter:blur(5px)}
.facility-art img{position:relative;z-index:1;width:min(132px,calc(100% - 16px));height:auto;aspect-ratio:1;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 7px 5px #05080c66);transition:transform .2s ease,filter .2s ease}
.clean-facility .facility-body{min-width:0;padding:17px 18px 18px 0;justify-content:center}
.clean-facility .facility-label{color:#b5a986}
.clean-facility .facility-badge{background:#d7b7770d;border-color:#d7b7772d}
.clean-facility .facility-badge strong{color:#e3c885}
.facility-unavailable .facility-art img{filter:grayscale(.82) brightness(.48);opacity:.72}
.facility-unavailable .facility-art:before{opacity:.35}
.building-card.damaged .facility-art img{filter:grayscale(1) brightness(.45);opacity:.62}
.building-card.damaged .facility-art:after{content:'×';position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;border:2px solid #ce826d;border-radius:50%;background:#2d1715d9;color:#efa58f;font:42px/1 Consolas,monospace;box-shadow:0 5px 20px #090505aa}
.facility-complete .facility-card-content{min-height:182px}
.facility-complete .facility-body{align-items:flex-start;min-height:0}
.facility-complete .facility-state{margin:0;align-self:stretch;display:flex;align-items:center;gap:10px;padding:11px 0;border:0;border-top:1px solid #9abca326;border-bottom:1px solid #9abca314;border-radius:0;background:transparent;text-align:left}
.facility-complete .facility-state>span:last-child{display:flex;flex-direction:column;gap:3px}
.facility-complete .facility-state strong{color:#bdd4c2;font-size:11px;letter-spacing:.2px}
.facility-complete .facility-state small{color:#7f9186;font:8px Consolas,monospace;letter-spacing:.7px;text-transform:uppercase}
.facility-complete-mark{width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px;border:1px solid #90b39b52;background:#8db09812;color:#b9d5c0;border-radius:50%;font:15px/1 Consolas,monospace}
.clean-facility .generator-controls{margin:0 0 10px;padding:10px;grid-template-columns:1fr}
.clean-facility .generator-switch{justify-content:center}
.clean-facility .generator-fuel{grid-column:1}
@media(max-width:650px){
 .clean-facility{min-height:260px}
 .facility-card-content{grid-template-columns:minmax(104px,40%) minmax(0,1fr);min-height:174px;padding-left:7px}
 .facility-art{min-height:158px}
 .clean-facility .facility-heading{padding:16px 17px 12px}
 .clean-facility .facility-body{padding:14px 16px 16px 0}
}
@media(max-width:380px){
 .facility-card-content{grid-template-columns:minmax(92px,38%) minmax(0,1fr)}
 .clean-facility .facility-badge{min-width:82px}
}

/* Pixel-art identity shared by the homepage, desktop navigation, mobile header and installed app. */
.game-logo>img{width:48px;height:48px;display:block;flex-shrink:0;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 4px #0007)}
.brand .game-logo>img{width:42px;height:42px}
.login-logo .game-logo>img{width:92px;height:92px}
@media(max-width:800px){.mobile-brand .game-logo>img{display:block;width:31px;height:31px}.mobile-brand .game-wordmark{display:none!important}.login-logo .game-logo>img{width:66px;height:66px}}
@media(max-width:700px){.login-card .login-logo .game-logo>img{width:62px;height:62px}}

/* The complete V2 wordmark is one production logo asset at every size. */
.game-logo{display:block;width:180px;line-height:0}
.game-logo>img,.brand .game-logo>img,.login-logo .game-logo>img{display:block;width:100%;height:auto;object-fit:contain;image-rendering:pixelated;filter:none}
.brand{padding:8px 0 20px;margin-left:2px;margin-right:2px}
.brand .game-logo{width:184px}
.login-logo .game-logo{width:min(100%,430px)}
.login-card h1.login-logo{display:flex;justify-content:flex-start}
@media(max-width:800px){.mobile-brand .game-logo{width:112px}.mobile-brand .game-logo>img{display:block;width:100%;height:auto}.login-logo .game-logo{width:min(100%,340px)}}
@media(max-width:700px){.login-card .login-logo .game-logo{width:min(100%,300px)}.login-card .login-logo .game-logo>img{width:100%;height:auto}}

/* Compact game typography and purpose-built navigation glyphs. */
:root{--font-pixel:'Press Start 2P',Consolas,monospace}
.side-label,.nav-item>span,.sidebar-admin,.more-button>span,.more-menu>button,
.base-label small,.header-readiness>span,.supplies-button>span:not(:last-child),
.page-heading .eyebrow,.scene-topline,.objective-header,.skills-tab>span{
 font-family:var(--font-pixel);font-weight:400;text-rendering:geometricPrecision
}
.side-label{font-size:6px;letter-spacing:1.4px;color:#998d77;padding-bottom:17px}
.nav-item{gap:14px;min-height:47px;border:1px solid transparent;border-radius:3px;padding:11px 12px;color:#aaa99f}
.nav-item>span{font-size:8px;letter-spacing:0;line-height:1.45}
.nav-item>.pixel-icon{width:23px;height:23px;padding:2px;background:#202628;border:1px solid #343b39;border-radius:2px;filter:drop-shadow(2px 2px 0 #080b0c99)}
.nav-item:hover:not(:disabled){background:#252726;border-color:#3c3b36}
.nav-item.active{background:linear-gradient(90deg,#393328,#272827);border-color:#4a4438;color:#f1d38e;box-shadow:inset 3px 0 #e0b866}
.nav-item.active>.pixel-icon{background:#312f28;border-color:#736243;filter:brightness(1.13) drop-shadow(2px 2px 0 #080b0c99)}
.nav-item.active:after{content:'◆';font:7px var(--font-pixel);color:#e1b96a;right:12px}
.sidebar-admin{font-size:7px;letter-spacing:0}
.base-label>.pixel-icon{width:30px;height:30px;padding:3px;background:#202727;border:1px solid #404741;border-radius:2px;filter:drop-shadow(2px 2px 0 #090c0d88)}
.base-label small{font-size:6px;letter-spacing:1.2px;color:#a7977d}
.header-readiness,.supplies-button{border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff05,2px 2px 0 #090b0d55}
.header-readiness>.pixel-icon,.supplies-button>.pixel-icon{width:27px;height:27px;padding:2px;filter:drop-shadow(2px 2px 0 #080b0c99)}
.header-readiness>span,.supplies-button>span:not(:last-child){font-size:6.5px;letter-spacing:0;line-height:1.5}
.header-readiness b{font-size:21px;letter-spacing:.5px}
.health-meter b,.character-meter b{font-family:var(--font-pixel);font-weight:400}
.page-heading .eyebrow{font-size:6.5px;line-height:1.7}
.scene-topline{font-size:6px;line-height:1.6}
.objective-header{font-size:7px;line-height:1.6}
.section-head h2{font-family:var(--font-pixel);font-size:12px;font-weight:400;letter-spacing:0;line-height:1.55;color:#eee5d2}
.skills-tab>span{font-size:8px;line-height:1.5;letter-spacing:0}
@media(max-width:800px){
 .nav-item{min-height:68px;padding:8px 2px;gap:5px;border:0;border-radius:0}
 .nav-item>span{font-size:5.5px;line-height:1.35}
 .nav-item>.pixel-icon{width:24px;height:24px;padding:2px}
 .nav-item.active{border:0;box-shadow:inset 0 2px #e0b866;background:linear-gradient(180deg,#302c25,#202326)}
 .topbar .supplies-button>.pixel-icon,.topbar .compact-link>.pixel-icon{width:24px;height:24px;padding:2px}
 .topbar .compact-link{border-radius:3px;box-shadow:2px 2px 0 #080b0c55}
 .section-head h2{font-size:9px;line-height:1.7}
 .skills-tab>span{font-size:6px}
 .more-button>span{font-size:6px}
}

/* Header scale and alignment. */
.topbar .header-vitals{align-content:center;gap:8px}
.topbar .health-meter>span:first-child,.topbar .character-meter>div:first-child{font-size:8px;line-height:1.25;margin-bottom:5px}
.topbar .health-meter b,.topbar .character-meter b{font-size:7px;line-height:1.45;letter-spacing:.65px}
.topbar .health-value,.topbar .character-meter>div:first-child>span{font-size:7px;line-height:1.45}
.header-readiness,.supplies-button{height:48px;min-height:48px;box-sizing:border-box;align-items:center}
.header-readiness>span{display:flex;align-items:baseline;gap:6px;line-height:1}
.header-readiness b{line-height:1}
.supplies-button>span:not(:last-child){display:flex;align-items:center;line-height:1}

/* Aligned expedition controls with breathing room around labels and borders. */
.expedition-filters{padding:20px;align-items:end}
.expedition-filters label{display:grid;grid-template-rows:auto 44px;align-content:start;gap:10px;line-height:1.4}
.expedition-filters label input,.expedition-filters label select{height:44px;box-sizing:border-box;margin:0}

/* Compact Journal navigation and achievement artwork. */
.journal-toolbar{align-items:center;gap:16px;margin:0 0 24px}
.journal-toolbar .journal-tabs{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.journal-tabs .skills-tab{min-height:62px;justify-content:center;gap:10px}
.trophy-art{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--trophy);filter:drop-shadow(0 3px 2px #05070899)}
.trophy-art img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}
.trophy-tier-5,.trophy-tier-6{filter:drop-shadow(0 0 7px var(--trophy)) drop-shadow(0 3px 2px #050708aa)}
.achievement-title{align-items:center;min-height:64px}
.achievement-title h3{font-family:var(--font-pixel);font-size:9px;font-weight:400;line-height:1.7;letter-spacing:0;color:#eee8db}
.achievement-card>p{margin-top:17px;line-height:1.6}
.character-overview .character-trophies .trophy-button>.trophy-art{display:flex;margin:0}

/* Profile fields and audio controls. */
.settings-main{align-items:start;gap:18px}
.settings-main>.panel{padding:25px}
.settings-main>.panel h2{margin:0 0 22px;line-height:1.35}
.settings-main>.panel>label:not(.preference-row):not(.volume-control){display:block;margin-top:18px;line-height:1.45}
.settings-main>.panel>h2+label{margin-top:0!important}
.settings-main .name-picker{margin:9px 0 11px}
.settings-main .fine{line-height:1.65;margin-top:8px;margin-bottom:15px}
.settings-main .danger-panel p{line-height:1.65;margin:0 0 18px}
.settings-main .detail-stat{min-height:32px;align-items:center}
.audio-settings>.preference-row{display:flex;margin:0 0 22px}
.volume-control{display:grid!important;gap:10px;margin:18px 0 0!important;text-transform:none;letter-spacing:0}
.volume-control>span{display:flex;align-items:center;justify-content:space-between;gap:15px}
.volume-control b{font-size:12px;color:#e7e2d6}
.volume-control output{font:12px Consolas,monospace;color:var(--accent)}
.volume-control input[type=range]{width:100%;height:22px;margin:0;accent-color:#d8b879}

@media(max-width:800px){
 .profile-settings-layout .settings-main{order:0}
 .profile-settings-layout .supporter-shop{order:1}
 .topbar .header-vitals{gap:7px}
 .topbar .health-meter>span:first-child,.topbar .character-meter>div:first-child{font-size:7px}
 .topbar .health-meter b,.topbar .character-meter b{font-size:6px}
 .header-readiness,.supplies-button{height:44px;min-height:44px}
 .expedition-filters{padding:15px}
 .journal-toolbar{align-items:stretch;flex-direction:column}
 .journal-toolbar .completed-toggle{align-self:flex-end}
 .journal-tabs .skills-tab{min-height:56px;padding:11px 8px}
 .achievement-title h3{font-size:7px}
 .settings-main>.panel{padding:21px}
}

/* Return interface copy to the original, more readable typeface. */
.side-label,.nav-item>span,.sidebar-admin,.more-button>span,.more-menu>button,
.base-label small,.header-readiness>span,.supplies-button>span:not(:last-child),
.page-heading .eyebrow,.scene-topline,.objective-header,.skills-tab>span,
.health-meter b,.character-meter b,.section-head h2,.achievement-title h3{
 font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-weight:600;text-rendering:auto
}
.side-label{font-size:8px;line-height:1.4;letter-spacing:1.6px}
.nav-item>span{font-size:12px;line-height:1.35;letter-spacing:0}
.sidebar-admin{font-size:11px}
.base-label small{font-size:8px;letter-spacing:1.4px}
.header-readiness>span,.supplies-button>span:not(:last-child){font-size:9px;letter-spacing:.4px}
.page-heading .eyebrow{font-size:9px;line-height:1.5}
.scene-topline{font-size:8px;line-height:1.5}
.objective-header{font-size:11px;line-height:1.5}
.section-head h2{font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.2px}
.skills-tab>span{font-size:11px;line-height:1.4}
.achievement-title h3{font-size:12px;font-weight:700;line-height:1.45;letter-spacing:.15px}
.nav-item.active:after{font-family:Segoe UI,system-ui,sans-serif;font-size:8px}

/* One shared content edge makes the desktop sidebar feel deliberate. */
@media(min-width:801px){
 .sidebar>.brand{width:auto;margin:0 12px 34px;padding:0;align-self:flex-start}
 .sidebar>.brand .game-logo{width:170px}
 .sidebar>.side-label{padding:0 12px 15px}
 .sidebar .nav-item{padding-left:12px;padding-right:12px}
 .sidebar-bottom .sidebar-admin{padding-left:12px;padding-right:12px}
 .sidebar-bottom .profile{padding-left:12px;padding-right:12px}
}

@media(max-width:800px){
 .nav-item>span{font-size:9px;line-height:1.25}
 .skills-tab>span{font-size:9px}
 .achievement-title h3{font-size:10px}
 .more-button>span{font-size:9px}
}

/* Calm, readable trophy displays and a separate objective-list control. */
.journal-toolbar{margin-bottom:16px}
.journal-list-actions{display:flex;align-items:center;justify-content:flex-end;margin:0 2px 14px}
.journal-list-actions .completed-toggle{margin:0}
.trophy-art,.trophy-tier-6{animation:none!important;transform:none!important}
.achievement-title{gap:18px;min-height:84px}
.achievement-title .trophy-art{width:82px!important;height:82px!important}
.character-dashboard .character-honours .character-trophies{grid-template-columns:repeat(3,56px);gap:8px}
.character-dashboard .trophy-button{width:56px;height:58px}
.character-dashboard .trophy-button>.trophy-art{width:50px!important;height:50px!important}

@media(max-width:720px){
 .achievement-title{gap:14px;min-height:74px}
 .achievement-title .trophy-art{width:72px!important;height:72px!important}
 .character-dashboard .character-honours .character-trophies{grid-template-columns:repeat(3,50px);gap:6px}
 .character-dashboard .trophy-button{width:50px;height:52px}
 .character-dashboard .trophy-button>.trophy-art{width:46px!important;height:46px!important}
}

/* Final icon treatment: unframed PNG symbols and a plain active marker. */
.nav-item>.png-ui-icon,.nav-item.active>.png-ui-icon{width:26px;height:26px;padding:0;border:0;border-radius:0;background:transparent;filter:none}
.nav-item.active>.png-ui-icon{filter:brightness(1.12)}
.nav-item.active:after{content:'';position:absolute;right:13px;top:50%;width:7px;height:7px;margin:-3px 0 0;border:0;border-radius:50%;background:var(--accent);transform:none}
.header-readiness>.png-ui-icon,.supplies-button>.png-ui-icon{width:30px;height:30px;padding:0;border:0;background:transparent;filter:drop-shadow(2px 2px 0 #080b0c99)}
@media(max-width:800px){
 .nav-item>.png-ui-icon,.nav-item.active>.png-ui-icon{width:25px;height:25px}
 .nav-item.active:after{display:none}
 .topbar .supplies-button>.png-ui-icon,.topbar .compact-link>.png-ui-icon{width:25px;height:25px;padding:0;border:0;background:transparent}
}

/* Compact item details: the close control stays put while only the content scrolls. */
.modal-scroll-body:has(.item-popup){padding:0;overflow-x:hidden;scrollbar-gutter:auto}
.modal.modal-scroll-shell:has(.item-popup){max-width:660px}
.modal-fixed-head.item-close-head{min-height:54px;padding:8px 14px 8px 24px}
.item-close-head>.eyebrow{margin:0;color:#9fa9a4}
.item-popup{position:relative;isolation:isolate;overflow:hidden;padding:22px 24px 24px;border-top:1px solid color-mix(in srgb,var(--rarity) 38%,#31393c);background:linear-gradient(180deg,color-mix(in srgb,var(--rarity) 14%,#202629),#202227 42%)}
.item-popup-head{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:17px;margin-bottom:16px}
.item-popup-art{width:76px;height:76px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--rarity) 35%,#3e4547);border-radius:9px;background:#141a1dcc}
.item-popup-art>svg{display:block}
.item-popup-copy{min-width:0}.item-popup-copy>.eyebrow{display:block;margin:0 0 7px;font-size:8px}
.item-popup-title{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.item-popup-title h2{margin:0;font-size:22px;line-height:1.25;overflow-wrap:anywhere}
.item-popup-title>.rarity-badge{flex:none;margin:0;padding:3px 6px}
.item-popup-copy>p{margin-top:7px;font-size:11px;line-height:1.55}
.item-popup-equip{align-self:center;min-width:72px;margin:0;padding:8px 12px}
.item-popup-consumable .item-popup-head{grid-template-columns:76px minmax(0,1fr)}
.item-popup-consumable .consume-actions{margin:14px 0 0;gap:8px}
.item-popup-consumable .consume-buttons{grid-template-columns:1fr 1fr;gap:9px}
.item-popup-consumable .consume-buttons button{min-width:0;min-height:39px;padding:8px 10px;font-size:11px;line-height:1.4}
.item-popup-consumable .consume-hint{font-size:10px;line-height:1.5;color:#b7beb7}
.item-popup-consumable .item-popup-more{padding-top:6px;border-top:1px solid #ffffff14}
.item-popup>.durability{margin:0 0 10px;padding:0 0 12px;border-bottom:1px solid #ffffff14}
.item-popup-stock{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:34px;font-size:11px;border-bottom:1px solid #ffffff14}
.item-popup-stock span{color:#a9b3af}.item-popup-stock b{color:#e3e0d6}
.item-popup>.fine{margin:7px 0 0}
.item-popup-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;margin-top:14px}
.item-popup-actions button{width:100%;min-width:0;margin:0;min-height:39px;padding:8px 10px}
.item-popup-actions .discard-button{background:transparent;color:#cda99b;border-color:#665149}
.smelt-item-detail{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding:13px 0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}
.smelt-item-detail>div{min-width:0}.smelt-item-detail h4{margin:0 0 7px}.smelt-item-detail .rewards{gap:10px}.smelt-item-detail button{flex:none;margin:0;min-width:72px}
.item-popup-more{margin-top:13px}.item-popup-more>summary{cursor:pointer;padding:9px 0;color:#c5ccc6;font-size:11px;list-style-position:inside}
.item-popup-more>div{padding-top:2px}.item-popup-more h4{margin:15px 0 8px}.item-popup-more .item-sources{display:grid;gap:7px}.item-popup-more .source-link{margin:0}

/* Repeating bands make the rare-card shine continuous at the loop boundary. */
.rarity-power-8:before,.rarity-power-9:before{background:repeating-linear-gradient(115deg,transparent 0 32%,color-mix(in srgb,var(--rarity) 26%,transparent) 42% 46%,transparent 56% 100%);background-size:200% 100%;animation:rare-shimmer 9s linear infinite}
@keyframes rare-shimmer{from{background-position:0 0}to{background-position:-200% 0}}

@media(max-width:600px){
 .modal-fixed-head.item-close-head{min-height:48px;padding:6px 10px 6px 17px}
 .modal-fixed-head.item-close-head .modal-close{width:36px;height:36px}
 .item-popup{padding:17px}
 .item-popup-head{grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:13px}
 .item-popup-consumable .item-popup-head{grid-template-columns:62px minmax(0,1fr)}
 .item-popup-consumable .consume-buttons{gap:7px}
 .item-popup-consumable .consume-buttons button{font-size:10px;min-height:42px;padding:8px 6px}
 .item-popup-art{width:62px;height:66px}.item-popup-art>svg{width:56px;height:56px}
 .item-popup-title{gap:6px}.item-popup-title h2{font-size:19px}.item-popup-title>.rarity-badge{font-size:7px}
 .item-popup-copy>p{font-size:10px}
 .item-popup-equip{grid-column:2;justify-self:start;min-width:68px;margin-top:-2px}
 .item-popup-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:7px}
 .item-popup-actions button{font-size:10px;padding:8px 6px}
 .smelt-item-detail{gap:9px}.smelt-item-detail button{min-width:62px;padding:7px 8px}
}

/* Give the shaded tool sprites room to read in compact storage tiles. */

/* Desktop command header. One activity tracker is shared with the mobile dock. */
.activity-detail>small:empty{display:none}
.character-button>span{display:none}
@media(min-width:801px){
 .header-shell{position:sticky;top:0;z-index:45}
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-rows:auto;height:auto;min-height:94px;padding:18px 26px;gap:12px;background:#1b1e21;border-bottom:1px solid #504936;transition:min-height .24s ease,padding .24s ease,box-shadow .24s ease}
 .topbar>.activity-bar{position:static;grid-column:1;grid-row:1;min-width:0;min-height:0;padding:0 20px 0 0;margin:0;border:0;border-right:1px solid #49473d;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;gap:13px;z-index:auto}
 .topbar .activity-symbol{width:42px;height:42px;flex-shrink:0;transition:width .24s ease,height .24s ease}
 .topbar .activity-title{align-items:baseline;margin-bottom:7px;font-size:12px}
 .topbar .activity-title>span{font-size:10px}
 .topbar .activity-detail>.progress{height:4px}
 .topbar .activity-detail>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:18px;line-height:18px;margin-top:4px;transition:max-height .24s ease,margin .24s ease,opacity .2s ease}
 .topbar .activity-bar>button{flex-shrink:0;min-height:36px;font-size:10px;padding:8px 11px;white-space:nowrap}
 .topbar .activity-bar>.icon-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:20px;line-height:1;padding:0 4px 4px}
 .topbar>.header-actions{display:block;grid-column:2;grid-row:1;order:0}
 .topbar>.header-summary{display:flex;grid-column:3;grid-row:1;order:0}
 .topbar>.more-wrapper{display:block;position:relative;grid-column:4;grid-row:1;order:0;justify-self:stretch}
 .topbar .character-menu-wrapper{position:relative}
 .topbar .character-button,.topbar .supplies-button,.topbar .more-button{display:flex;align-items:center;justify-content:center;gap:9px;width:auto;height:48px;min-height:48px;padding:10px 13px;border:1px solid #514a3d;border-radius:5px;background:linear-gradient(145deg,#2d2c27,#22262a);color:#dfc798;box-shadow:inset 0 1px #ffffff04;font-size:11px;transition:height .24s ease,min-height .24s ease,background .2s ease}
 .topbar .character-button>span{display:inline;font-size:10px;font-weight:600;letter-spacing:.4px}
 .topbar .character-button>.png-ui-icon,.topbar .supplies-button>.png-ui-icon{width:26px;height:26px;filter:none;padding:0}
 .topbar .supplies-button>span{display:inline}
 .topbar .more-button>span{font-size:11px}
 .topbar .more-button>span:first-child{font-size:18px;line-height:1}
 .topbar button[aria-expanded=true]{border-color:#c5a16a;background:#40372a}
 .topbar .character-menu,.topbar .more-menu,.topbar .supplies-menu{top:calc(100% + 12px);max-height:calc(100dvh - 122px);overflow-y:auto;overscroll-behavior:contain}
 .topbar .character-menu{width:340px}
 .more-menu .mobile-menu-extra{display:none}
 .main-content{padding-top:52px;padding-bottom:40px}
 body.tutorial-spotlight:not(.tutorial-menu-open) #tutorial-dock{top:104px;transition:top .24s ease}
}
@media(min-width:801px) and (max-width:1250px){
 .topbar{padding-left:18px;padding-right:18px;gap:9px}
 .topbar>.activity-bar{gap:10px;padding-right:14px}
 .topbar .character-button>span,.topbar .supplies-button>span,.topbar .more-button>span:last-of-type{display:none}
 .topbar .character-button,.topbar .supplies-button,.topbar .more-button{width:46px;min-width:0;padding:8px}
 .topbar .activity-bar>button{padding-left:8px;padding-right:8px}
}
@media(max-width:800px){
 .topbar>.activity-bar{grid-column:auto;grid-row:auto}
 .topbar .supplies-button>span{display:none}
}
@media(prefers-reduced-motion:reduce){
 .header-shell .topbar,.header-shell .topbar *{transition:none!important}
}

/* Native 16px symbols keep every pixel the same size and simplify navigation. */
@media(max-width:800px){
 .topbar{grid-template-columns:minmax(0,1fr) 44px 44px 66px;column-gap:6px}
 .topbar>.header-actions,.topbar>.more-wrapper,.topbar .supplies-wrapper{justify-self:stretch;min-width:0;width:100%}
 .topbar .character-button,.topbar .supplies-button,.topbar .more-button{width:100%;min-width:0;box-sizing:border-box}
}
.nav-item>.png-ui-icon,.nav-item.active>.png-ui-icon{width:16px;height:16px;margin:0 5px;filter:none}
.nav-item.active>.png-ui-icon{filter:brightness(1.15)}
.topbar .character-button>.png-ui-icon,.topbar .supplies-button>.png-ui-icon{width:16px;height:16px;padding:0;filter:none}
.more-menu .png-ui-icon{width:16px;height:16px;margin:0 3px;filter:none}

/* Pixel typography is reserved for page tabs and the survivor's identity. */
.character-menu>header.character-menu-identity{display:block;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid #ffffff14;line-height:1.6;overflow-wrap:anywhere}
.character-menu-identity h3{display:inline;margin:0;font-size:13px;line-height:inherit}
.character-menu-identity>span{margin:0 8px;color:#798782}
.character-menu-identity small{font-size:11px;line-height:inherit;color:#aebbb2}
.beta-event-body{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.beta-event-body>.eyebrow{margin:0;line-height:1.5}
.beta-event-body h2{margin:0;font-size:27px;line-height:1.3}
.beta-event-body>p{margin:0;max-width:78ch;font-size:12px;line-height:1.8}
.beta-event-body>p.fine{font-size:11px}
.beta-event-body>
.beta-event-body>.event-objectives{width:100%;padding:4px 0;gap:18px}
.beta-event-body>.event-prize{width:100%;padding:4px 0;line-height:1.6}
.beta-event-body>button,.beta-event-body>.button-row{margin:2px 0 0}
.beta-event-body>.button-row{gap:10px;flex-wrap:wrap}
.event-announcement{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.event-announcement>.eyebrow,.event-announcement>h2,.event-announcement>p{margin:0}
.event-announcement>h2{line-height:1.35}
.event-announcement>p{max-width:78ch;line-height:1.8}
.event-announcement>small{display:block;line-height:1.6;color:var(--muted)}
@media(max-width:600px){
 .beta-event-body{padding:24px 20px;gap:15px}
 .beta-event-body h2{font-size:23px}
 .beta-event-body>.button-row{width:100%}
 .beta-event-body>.button-row>button{flex:1;min-height:42px}
}
.topbar .character-button>span:not(.header-chevron),.topbar .supplies-button>span:not(.header-chevron),.topbar .more-button>.more-label{
 font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:10px;font-weight:600;letter-spacing:.4px;line-height:1;text-transform:uppercase
}
@media(max-width:800px){.topbar .more-button>.more-label{font-size:9px}}
.main-content .skills-tabs>.skills-tab,.main-content .admin-tabs>button{
 height:72px;min-height:72px;box-sizing:border-box;padding:12px;gap:10px;
 font-family:var(--font-pixel);font-weight:400;font-size:10px;line-height:1.6;letter-spacing:0;text-transform:uppercase;
 display:flex;align-items:center;justify-content:center
}
.main-content .skills-tabs>.skills-tab>span{font:inherit;text-transform:uppercase;white-space:normal}
.main-content .skills-tabs>.skills-tab>.pixel-icon{width:22px;height:22px;flex-shrink:0}
.main-content .skills-tabs{margin-bottom:24px}
.character-dashboard .portrait-profile{container-type:inline-size}
.character-dashboard .portrait-profile h1{font-family:var(--font-pixel);font-weight:400;font-size:min(11px,calc((100cqw - 1px) / var(--name-length,20)));line-height:1.7;letter-spacing:0;text-transform:uppercase;white-space:nowrap;overflow-wrap:normal}
.character-dashboard .overview-level>b{font-family:var(--font-pixel);font-weight:400;font-size:24px;line-height:1.4;text-transform:uppercase}
.character-dashboard .overview-level small{font-family:inherit;font-size:12px;font-weight:400}
@media(min-width:1251px){
 .topbar .character-button>span,.topbar .supplies-button>span{line-height:1}
 .topbar .character-button>.header-chevron,.topbar .supplies-button>.header-chevron{
  display:block;flex:0 0 6px;width:6px;height:6px;padding:0;margin:0 1px 3px 2px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)
 }
}
@media(max-width:800px){
 .main-content .skills-tabs>.skills-tab,.main-content .admin-tabs>button{font-size:8px;padding:8px;gap:8px}
 .character-dashboard .overview-level>b{font-size:22px}
 .character-dashboard .overview-level small{font-size:11px}
}
@media(max-width:600px){
 .main-content .skills-tabs>.skills-tab{flex-direction:column;font-size:7px;line-height:1.6;gap:6px;padding:7px 4px}
 .main-content .skills-tabs>.skills-tab>.pixel-icon{width:20px;height:20px}
}

/* Equipment comparisons share the modal's scroll area and full content width. */
.modal.modal-scroll-shell:has(.loadout-picker){display:flex;overflow:hidden}
.loadout-picker .slot-options{display:grid;gap:10px;max-height:none;min-height:0;overflow:visible;scrollbar-gutter:auto;padding:0;margin:0 0 12px;width:100%}

.loadout-picker .picker-section-label{margin:20px 0 10px;font:600 10px Segoe UI,system-ui,sans-serif;letter-spacing:1px;color:#c8c2ad}
.loadout-picker .picker-equipped-section{margin:0 0 2px}
.loadout-picker .picker-current{margin:0;border-color:#bca36c;border-left:3px solid #dfbe78;background:linear-gradient(110deg,#bda26320,#1b2528)}
.loadout-picker .picker-current .loadout-item-stock{color:#e5c681;font-weight:600}
.loadout-picker .picker-unoccupied{margin:0;padding:14px;border:1px dashed #58605a;border-radius:7px;color:#a9b3ad;font-size:12px}
.loadout-picker .loadout-item{width:100%;min-width:0}
.loadout-picker .loadout-item-action{max-width:100%}
.equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}
.equipment-slot{min-width:0;min-height:250px;height:100%;box-sizing:border-box}
.equipment-slot-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;width:100%;margin-bottom:12px;text-align:left}
.equipment-slot-heading .slot-label{margin:0;align-self:auto;flex:none}


.equipment-empty-footer{margin-top:auto;padding-top:18px;font-size:9px;color:#87948e}
.equipment-slot>.durability{width:100%}
@media(max-width:800px){.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-slot{min-height:250px}.equipment-slot-heading{flex-wrap:wrap;align-content:flex-start;min-height:45px}}
.reward-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px}
.expedition-reward .reward-tags .rarity-badge{margin:0}
.reward-upgrade{display:inline-flex;align-items:center;gap:4px;flex:none;padding:3px 6px;border:1px solid #d2ba7266;border-radius:3px;background:#b79c4020;color:#ecd18c;font:600 9px Segoe UI,system-ui,sans-serif;line-height:1.4;letter-spacing:.4px;white-space:nowrap}
.reward-upgrade[hidden]{display:none!important}
.rewards>span:has(.reward-upgrade){flex-wrap:wrap}
.trader-shop{margin-bottom:24px;padding:24px}.trader-shop-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.trader-section-title{font-family:inherit;font-size:19px;font-weight:600;letter-spacing:-.3px}.trader-shop-heading p{margin-top:8px;font-size:11px}.trader-shop .coin-balance{display:flex;align-items:center;gap:8px;white-space:nowrap}.trader-shop .coin-balance strong{font-size:22px}.trader-offers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.trader-offer{display:flex;flex-direction:column;min-width:0;padding:15px;border:1px solid color-mix(in srgb,var(--rarity) 45%,#424648);border-radius:6px;background:linear-gradient(155deg,color-mix(in srgb,var(--rarity) 10%,#22282b),#181c20 75%)}.trader-offer-category{display:flex;justify-content:space-between;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.trader-offer-category>span{color:var(--accent);font-size:11px}.trader-offer-item{border:0;background:none!important;padding:18px 0 8px;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;min-height:127px}.trader-offer-item b{font-size:12px;line-height:1.5;text-align:center}.trader-offer .reward-tags{justify-content:center;min-height:24px}.trader-offer-note{font-size:10px;text-align:center;line-height:1.6;margin:12px 0 18px}.trader-offer .trader-buy{margin-top:auto;width:100%;font-size:11px;min-height:38px}.trader-offer-status{font-size:9px;text-align:center;color:var(--muted);line-height:1.5;min-height:28px;margin-top:8px}.trader-offer.sold-out>.trader-offer-item{opacity:.5}.trader-panel>.trader-section-title{margin-bottom:20px}.scroll-effect-status{margin:12px 0}.scroll-effect-status+.item-popup-actions{margin-top:16px}
@media(max-width:1200px){.trader-offers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.trader-shop{padding:16px}.trader-shop-heading{align-items:flex-start;flex-direction:column;gap:12px}.trader-offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trader-offer{padding:12px}.trader-offer-item b{font-size:11px}.trader-offer .reward-tags{gap:4px}.trader-shop .coin-balance strong{font-size:18px}}
@media(max-width:380px){.trader-offers{grid-template-columns:1fr}}
.trader-offer .reward-tags{align-items:center}
.trader-offer .reward-tags>.rarity-badge,.trader-offer .reward-tags>.reward-upgrade{margin:0;height:24px;min-height:24px;padding:3px 6px;display:inline-flex;align-items:center;line-height:1.4}
.trader-offer-status:empty{display:none}
.trader-popup-purchase{margin-top:22px}.trader-popup-purchase>.trader-offer-status{display:block;margin-top:10px;min-height:0}.trader-popup-purchase>.trader-offer-status:empty{display:none}
.item-popup-actions:has(>button:nth-child(3)){grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,1fr)}
.item-popup-actions>button:only-child{grid-column:1/-1}
.item-popup-actions:has(>button:nth-child(3))>.discard-button{background:#2c3034;color:#c2c6c8;border-color:#484e53;box-shadow:none}
.item-popup-actions:has(>button:nth-child(3))>[data-action="sell-item"]{background:#34352f;color:#d8c398;border-color:#68604c;box-shadow:none}
.item-popup-actions:has(>button:nth-child(3))>.discard-button:hover:not(:disabled){background:#373d42;border-color:#697178}
.item-popup-actions:has(>button:nth-child(3))>[data-action="sell-item"]:hover:not(:disabled){background:#434238;border-color:#918062}
.storage-consumable-auto{display:flex;align-items:center;gap:12px;margin:12px 0 16px}.storage-consumable-auto>.consumable-auto{flex:none;min-height:36px;font-size:10px}.storage-consumable-auto>.consume-hint{min-width:0}
@media(max-width:480px){.item-popup-actions:has(>button:nth-child(3)){gap:6px}.item-popup-actions:has(>button:nth-child(3))>button{font-size:10px;min-height:42px;line-height:1.4;padding:8px 4px}.storage-consumable-auto{align-items:flex-start;flex-direction:column;gap:8px}}


.trophy-art{filter:none!important}.trophy-art>.simple-trophy{display:block;width:100%;height:100%;flex:none;overflow:visible}
/* Quiet, clickable trophy celebrations stay clear of the activity controls. */
#achievement-notice{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;width:min(380px,calc(100vw - 32px));border:1px solid #b89752;border-radius:10px;background:linear-gradient(120deg,#30372d,#1b2224);box-shadow:0 10px 40px #0008;overflow:hidden;animation:achievement-slide .35s ease-out}
#achievement-notice .achievement-notice-link{display:flex;align-items:center;gap:14px;flex:1;min-width:0;padding:18px 10px 18px 18px;border:0;background:none;text-align:left;white-space:normal;height:auto}
.achievement-notice-link>span:last-child{min-width:0;display:grid;gap:6px}
.achievement-notice-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#ebc575}
.achievement-notice-link strong{font-size:15px;color:#f4ead4;line-height:1.3}
.achievement-notice-link small{font-size:11px;color:#bfc7b8}
#achievement-notice .achievement-notice-close{align-self:flex-start;min-width:36px;min-height:36px;margin:4px;border:0;background:none;color:#b7baaf;font-size:22px}
#achievement-notice.leaving{animation:achievement-leave .22s ease-in forwards}
.achievement-card{scroll-margin-block:130px}
.achievement-card.achievement-reveal{outline:2px solid #edc879;outline-offset:4px;animation:achievement-glow 1.2s ease-in-out 3}
#tutorial-dock .tutorial-description{font-size:13px;line-height:1.6;color:#d5d9d1;margin:8px 0}
#tutorial-dock .tutorial-instruction{font-size:12px;color:#edcb86}
#tutorial-dock .tutorial-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#tutorial-dock .tutorial-buttons button{min-height:40px}
@keyframes achievement-slide{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:translateX(0)}}
@keyframes achievement-leave{to{opacity:0;transform:translateX(45px)}}
@keyframes achievement-glow{0%,100%{box-shadow:0 0 0 0 #eac77400}50%{box-shadow:0 0 30px 4px #eac77455}}
@media(max-width:800px){#achievement-notice{right:12px;bottom:calc(112px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 24px))}#achievement-notice .achievement-notice-link{padding:14px 6px 14px 14px;gap:10px}#achievement-notice .achievement-notice-close{min-width:40px;min-height:40px}.achievement-notice-label{font-size:8px;letter-spacing:1px}.achievement-notice-link strong{font-size:14px}#tutorial-dock .tutorial-description{font-size:12px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){#achievement-notice,#achievement-notice.leaving,.achievement-card.achievement-reveal{animation:none}}
body.reduce-motion #achievement-notice,body.reduce-motion .achievement-card.achievement-reveal{animation:none}
#achievement-announcer{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#tutorial-dock{display:flex;flex-direction:column}
#tutorial-dock>.tutorial-top,#tutorial-dock>.tutorial-track,#tutorial-dock>h2,#tutorial-dock>.tutorial-buttons{flex-shrink:0}
#tutorial-dock>.tutorial-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
#tutorial-dock>.tutorial-buttons{padding-top:10px;margin-top:6px;border-top:1px solid #bba15b33}
@media(max-width:800px){
 body.tutorial-spotlight #tutorial-dock,body.tutorial-spotlight.tutorial-card-focus:not(.tutorial-menu-open) #tutorial-dock{max-height:min(350px,calc(100dvh - 260px));overflow:hidden}
 body.tutorial-spotlight.tutorial-menu-open #tutorial-dock{max-height:calc(100dvh - var(--tutorial-menu-bottom,340px) - 175px)}
 #tutorial-dock .tutorial-buttons button{min-height:40px}
 #achievement-notice{bottom:calc(180px + env(safe-area-inset-bottom))}
}
#achievement-notice.is-obscured{visibility:hidden;pointer-events:none}
.shop-pack-count{display:block;margin-top:8px;color:#e4c484;font-size:9px;letter-spacing:.6px;line-height:1.5}
.smelter-forge-gate{display:flex;align-items:center;gap:16px;margin:0 0 24px;padding:20px;border:1px solid #d4aa5b;border-left:4px solid #e4bd70;border-radius:6px;background:#483a2270;color:#efc878}.smelter-forge-gate>svg{flex-shrink:0}.smelter-forge-gate>div{flex:1;min-width:0}.smelter-forge-gate strong{display:block;font-size:14px;letter-spacing:1px;line-height:1.4}.smelter-forge-gate p{margin:6px 0 0;color:#e5d5b7;font-size:13px;line-height:1.5}.smelter-forge-gate>button{flex-shrink:0;min-height:44px}@media(max-width:600px){.smelter-forge-gate{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:12px;padding:16px}.smelter-forge-gate>button{grid-column:1/-1;width:100%}.smelter-forge-gate strong{font-size:12px}.smelter-forge-gate p{font-size:12px}}
.choice-panel.expedition-tier-panel{width:min(550px,100%);padding:24px;background:linear-gradient(145deg,#242b2c,#171d20);max-height:calc(100dvh - 36px)}
.expedition-tier-panel h2{margin-bottom:8px}.tier-picker-intro{font-size:12px;line-height:1.5;color:#b9c1ba;margin:0 0 18px;padding-right:18px;flex-shrink:0}
.expedition-tier-panel>.primary{min-height:44px;flex-shrink:0}.expedition-tier-panel .choice-options{gap:8px;padding:2px}
.choice-options .tier-choice{--tier-color:#d9bb7c;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:42px minmax(0,1fr) 90px;align-items:center;gap:14px;min-height:62px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--tier-color) 35%,#283033);border-left:3px solid var(--tier-color);border-radius:7px;background:linear-gradient(110deg,color-mix(in srgb,var(--tier-color) 9%,#1a2225),#1a2225);color:#f0ece2}
.choice-options .tier-choice:hover:not(:disabled){border-color:var(--tier-color);background-color:#263033}
.choice-options .tier-choice.selected{border-color:var(--tier-color);outline:1px solid var(--tier-color);outline-offset:0;background-color:color-mix(in srgb,var(--tier-color) 18%,#182124)}
.tier-choice-number{position:relative;display:grid;justify-items:center;gap:2px;color:var(--tier-color);border-right:1px solid color-mix(in srgb,var(--tier-color) 30%,transparent);padding-right:10px}
.tier-choice-number>small{font-size:7px;letter-spacing:1px}.tier-choice-number>b{font:700 23px/1.1 Consolas,monospace}
.tier-choice-copy{display:grid;gap:5px;min-width:0}.tier-choice-copy>b{font-size:14px;line-height:1.25;text-transform:uppercase;letter-spacing:.4px;color:var(--tier-color)}.tier-choice-copy>small{font-size:10px;line-height:1.4;color:#bdc5c2;font-weight:400}
.tier-choice-threat{display:grid;gap:7px;align-self:center}.tier-choice-threat>small{font-size:7px;letter-spacing:1.4px;color:var(--tier-color)}.tier-choice-threat>span{display:flex;gap:3px;align-items:end;height:15px}.tier-choice-threat i{flex:1;height:100%;border-radius:1px;background:#ffffff0f}.tier-choice-threat i.lit{background:var(--tier-color);opacity:.8}
.tier-choice-check{position:absolute;right:1px;bottom:-5px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:var(--tier-color);color:#14201c;font-size:11px;line-height:1;font-weight:bold}
.choice-options .tier-choice-auto{grid-template-columns:42px minmax(0,1fr);margin-bottom:4px;min-height:68px}.tier-choice-auto .tier-choice-number{font-size:27px}.tier-choice-auto .tier-choice-copy>b{font-size:12px;text-transform:none;letter-spacing:0}
.tier-choice[data-intensity="rising"]::before,.tier-choice[data-intensity="high"]::before,.tier-choice[data-intensity="extreme"]::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;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}
.choice-options .tier-choice[data-intensity="high"]{background:linear-gradient(115deg,#382627,#202226);box-shadow:inset 0 0 24px color-mix(in srgb,var(--tier-color) 12%,transparent)}
.tier-choice[data-intensity="high"]::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%)}
.choice-options .tier-choice[data-intensity="extreme"]{background:linear-gradient(115deg,#4d3024,#392229 55%,#252126);border-color:color-mix(in srgb,var(--tier-color) 70%,#5f3931);box-shadow:inset 0 0 28px #d35e3828}
.tier-choice[data-intensity="extreme"]::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%)}
.tier-choice[data-intensity="extreme"] .tier-choice-threat i.lit{box-shadow:0 0 5px color-mix(in srgb,var(--tier-color) 35%,transparent)}
@media(max-width:600px){.choice-panel.expedition-tier-panel{padding:20px 14px;max-height:calc(100dvh - 24px)}.expedition-tier-panel h2{font-size:17px;padding-right:44px}.tier-picker-intro{font-size:11px;margin-bottom:14px}.choice-options .tier-choice{grid-template-columns:34px minmax(0,1fr) 65px;gap:10px;padding:10px;min-height:64px}.choice-options .tier-choice-auto{grid-template-columns:34px minmax(0,1fr)}.tier-choice-copy>b{font-size:12px}.tier-choice-copy>small{font-size:9px}.tier-choice-number>b{font-size:21px}.tier-choice-threat>span{gap:2px;height:13px}}
@media(prefers-reduced-motion:reduce){.tier-choice::before{animation:none!important}}.reduce-motion .tier-choice::before{animation:none!important}
.character-menu .summary-progression{margin:18px 0 0;padding:16px 14px 0;border:1px solid #a38b5555;border-radius:7px;background:linear-gradient(135deg,#bda05d12,#162224)}
.summary-level-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.summary-level-top>span{font-size:9px;font-weight:600;letter-spacing:1.2px;line-height:1.6;color:#d9c38e}.summary-level-top>strong{display:flex;align-items:baseline;gap:9px;flex-shrink:0;color:#f1ce7d}.summary-level-value{font:400 25px/1.3 var(--font-pixel,monospace);text-shadow:0 0 18px #e5bc6330}.summary-level-top strong>small{font:600 12px Consolas,monospace;color:#acb7ac}
.summary-xp-progress{height:5px;background:#ffffff10}.summary-xp-progress i{background:linear-gradient(90deg,#b3914f,#edc878)}.summary-xp-caption{display:block;margin:8px 0 14px;color:#adb8b0;font-size:10px;line-height:1.5}
.character-menu .summary-readiness{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% + 28px);margin:0 -14px;padding:14px;border:0;border-top:1px solid #b8a27226;border-radius:0 0 6px 6px;background:#ffffff03;text-align:left}.character-menu .summary-readiness>span{display:grid;gap:6px;min-width:0}.summary-readiness>span>b{font-size:9px;font-weight:600;letter-spacing:.7px;color:#bec7be}.summary-readiness>span>small{font-size:10px;color:#d5b477;font-weight:400}.character-menu .summary-readiness>strong{font:600 27px/1.2 Consolas,monospace;color:#eed39b;flex-shrink:0}.character-menu .summary-readiness:hover{background:#d9b56712}
.character-menu .current-boosts{margin:18px 0;padding:0;border-top:0}.character-menu .current-boosts>header{margin:0 0 10px;gap:10px}.character-menu .current-boosts>header>h3{margin:0;font-size:10px}.character-menu .current-boosts>header>button{min-height:32px;padding:6px 0;font-size:10px}.character-menu>.wide{min-height:42px}
@media(max-width:800px){.character-menu .summary-progression{margin-top:16px}.character-menu .summary-readiness{margin-top:0}.character-menu .current-boosts{margin:16px 0}.character-menu .current-boosts>header>button{min-height:40px}}
.tutorial-cycle-progress{flex-shrink:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;margin:5px 0 10px;padding:10px 12px;background:#e5c5740b;border:1px solid #b89e5d55;border-radius:5px;font-size:12px;color:#d9dfd3}.tutorial-cycle-progress>b{font:700 19px Consolas,monospace;color:#edca7c}.tutorial-cycle-progress>div{grid-column:1/-1;display:flex;gap:6px;height:5px}.tutorial-cycle-progress i{flex:1;background:#ffffff14;border-radius:2px}.tutorial-cycle-progress i.complete{background:#e2bc6e}
#tutorial-dock:has(.tutorial-cycle-progress)>.tutorial-buttons{display:grid;grid-template-columns:auto minmax(0,1fr)}#tutorial-dock:has(.tutorial-cycle-progress)>.tutorial-buttons>button:only-child{grid-column:1/-1}
.journal-list-actions{justify-content:space-between;gap:16px;align-items:center}
.objective-summary{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:12px}
.objective-summary strong{color:var(--text)}.objective-summary>span{color:var(--muted);font-size:11px}
.objective-journey-progress{height:4px;margin:0 2px 20px;border-radius:3px;background:#303638;overflow:hidden}
.objective-journey-progress>i{display:block;height:100%;background:var(--amber)}
.quest-card.quest-ready{border-color:#b89a60;background:linear-gradient(120deg,#b89a6015,#1b2224)}
.objective-hidden{margin:20px 0;padding:22px;text-align:center;border:1px dashed #414a4c;border-radius:6px;color:var(--muted)}
.objective-hidden strong{font-size:13px;color:var(--text)}.objective-hidden p{font-size:11px;margin-top:7px;line-height:1.6}
.objective-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:20px 0}.objective-pagination span{font-size:12px;color:var(--muted)}
@media(max-width:480px){.journal-list-actions{gap:10px}.objective-summary{display:grid;gap:4px}.journal-list-actions .completed-toggle{white-space:nowrap;padding:9px 11px}.quest-card>div{min-width:0}.quest-card h3,.quest-card p,.quest-card small{overflow-wrap:break-word}}
#objective-notice{position:fixed;right:24px;bottom:24px;z-index:80;width:min(380px,calc(100vw - 32px));border:1px solid #b89752;border-radius:10px;background:linear-gradient(120deg,#30372d,#1b2224);box-shadow:0 10px 40px #0008;overflow:hidden;animation:achievement-slide .35s ease-out}
#objective-notice>header{display:flex;align-items:center;gap:12px;padding:16px 10px 0 16px}
.objective-notice-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid #b8975255;border-radius:8px;background:#dfb66f10;color:var(--amber)}
#objective-notice header>div{min-width:0;flex:1}#objective-notice h3{font-size:15px;color:#f4ead4;line-height:1.4;margin-top:5px}
#objective-notice .objective-notice-close{align-self:flex-start;min-width:36px;min-height:36px;padding:0;border:0;background:none;color:#b7baaf;font-size:22px}
.objective-notice-body{padding:12px 16px 16px}.objective-notice-body>p{font-size:12px;line-height:1.6;color:#c3cbbf}
.objective-notice-rewards{margin:10px 0 14px}.objective-notice-rewards .costs{margin:0;flex-wrap:wrap}
.objective-notice-body .primary{margin:12px 0 0;min-height:40px}.objective-notice-body .objective-notice-error{color:#e5ab91}.objective-notice-error:empty{display:none}
#objective-notice.leaving{animation:achievement-leave .22s ease-in forwards}#objective-notice.is-obscured{visibility:hidden;pointer-events:none}
#objective-announcer{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#base-objectives.objective-next-highlight{outline:2px solid var(--amber);outline-offset:5px;animation:objective-next-pulse 1.1s ease-in-out 5;scroll-margin-block:110px}
@keyframes objective-next-pulse{50%{box-shadow:0 0 28px #dfb66f66}}
@media(max-width:800px){#objective-notice{right:12px;bottom:calc(180px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 255px);overflow:auto}#objective-notice .objective-notice-close{min-width:40px;min-height:40px}}
@media(prefers-reduced-motion:reduce){#objective-notice,#objective-notice.leaving,#base-objectives.objective-next-highlight{animation:none}}
body.reduce-motion #objective-notice,body.reduce-motion #base-objectives.objective-next-highlight{animation:none}
:root .skill-icon{display:inline-block;object-fit:contain;image-rendering:auto;flex-shrink:0;vertical-align:middle}
.skill-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 22px}
.skill-overview-heading .eyebrow{display:block;font-size:8px;margin-bottom:8px}
.skill-overview-heading h2{font-size:20px;color:var(--text)}
.skill-overview-stats{display:flex;gap:24px;color:var(--muted);font-size:10px;white-space:nowrap}
.skill-overview-stats b{display:block;color:var(--amber);font-size:19px;margin-bottom:4px;font-variant-numeric:tabular-nums}
.skill-grid .skill-card{display:flex;flex-direction:column;gap:0;overflow:hidden;padding:19px;min-height:244px;border-radius:8px;background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--skill-color) 14%,transparent),transparent 68%),linear-gradient(145deg,#22282b,#191e21);border-color:color-mix(in srgb,var(--skill-color) 27%,#30383a);box-shadow:inset 0 1px #ffffff08;transition:background .18s,border-color .18s,box-shadow .18s}
.skill-grid .skill-card:hover:not(:disabled),.skill-grid .skill-card:focus-visible{background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--skill-color) 23%,transparent),transparent 80%),linear-gradient(145deg,#252d30,#1b2225);border-color:var(--skill-color);box-shadow:inset 0 1px #ffffff0b,0 4px 15px #0002}
.skill-grid .skill-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex:none;margin-bottom:15px}
.skill-emblem{display:grid;place-items:center;width:80px;height:80px;background:radial-gradient(ellipse,color-mix(in srgb,var(--skill-color) 13%,transparent),transparent 70%)}
.skill-level{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:5px;text-align:right;color:var(--skill-color)}
.skill-level>span:first-child{grid-column:1/-1;font:8px Consolas,monospace;letter-spacing:1.5px;color:var(--muted);margin-bottom:4px}
.skill-level strong{font-size:29px;line-height:1.1;font-weight:650;font-variant-numeric:tabular-nums}
.skill-level>span:last-child{font-size:10px;color:var(--muted);white-space:nowrap}
.skill-grid .skill-card h3{font-size:16px;line-height:1.3;display:block;margin:0 0 7px}
.skill-grid .skill-card p{font-size:11px;line-height:1.6;margin:0 0 20px;min-height:35px;color:#b4bab6;font-weight:400}
.skill-grid .skill-card-progress{flex:none;width:100%;margin-top:auto}
.skill-progress-label{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:9px;font-size:10px;font-weight:400;color:var(--muted)}
.skill-progress-label>span:last-child{font-size:17px;color:var(--skill-color);line-height:1}
.skill-mastered .skill-progress-label>span:first-child{color:var(--skill-color);font:9px Consolas,monospace;letter-spacing:1px}
.skill-grid .skill-card .progress{height:5px;margin:0;background:#0f1519;border-radius:2px;overflow:hidden}
.skill-grid .skill-card .progress i{background:linear-gradient(90deg,color-mix(in srgb,var(--skill-color) 65%,#34423e),var(--skill-color));border-radius:2px}
.guide-summary>.skill-icon{width:72px;height:72px}.training-summary b>.skill-icon{margin-right:7px}
@media(max-width:700px){.skill-overview-heading{align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:17px}.skill-overview-heading h2{font-size:17px}.skill-overview-stats{gap:24px}.skill-overview-stats b{display:inline;font-size:15px;margin-right:5px}.skill-grid .skill-card{padding:13px;min-height:225px}.skill-grid .skill-card-top{gap:3px;margin-bottom:12px}.skill-emblem{width:62px;height:62px}.skill-emblem>.skill-icon{width:60px;height:60px}.skill-level strong{font-size:24px}.skill-level>span:first-child{font-size:7px;letter-spacing:1px}.skill-level>span:last-child{font-size:9px}.skill-grid .skill-card h3{font-size:13px}.skill-grid .skill-card p{font-size:10px;min-height:48px;margin-bottom:14px}.skill-progress-label{font-size:9px}.skill-mastered .skill-progress-label>span:first-child{font-size:8px;letter-spacing:.5px}}
@media(max-width:380px){.skill-emblem{width:52px;height:56px}.skill-emblem>.skill-icon{width:52px;height:52px}.skill-level strong{font-size:22px}.skill-level{column-gap:3px}.skill-grid .skill-card{padding:12px}}
/* Shelter at dusk: cool surfaces, warm interaction, clear stat colours. */
:root{--bg:#0c1522;--panel:#1a2a38;--panel2:#223747;--border:#354c5b;--muted:#a3b6bf;--text:#edf1eb;--accent:#efbf72;--amber:#efbf72;--red:#ed9687;--teal:#75c5b5;--health:#ee8f8b}
body{background:radial-gradient(ellipse at 90% 5%,#285c622e,transparent 52%),radial-gradient(ellipse at 30% 0%,#24477144,transparent 55%),linear-gradient(150deg,#101d2d,#0b1420 75%);background-attachment:fixed}
.sidebar{background:linear-gradient(180deg,#182c3c,#101f2c 75%);border-color:#314855}
.topbar{background:linear-gradient(110deg,#1a3040,#152735);border-bottom-color:#39535c;box-shadow:0 4px 20px #050b1433}
.topbar>.activity-bar{background:transparent}
.activity-bar{background:#142838f5;border-color:#39525d}
.activity-symbol{background:#243c48;border-color:#44616a}
.nav-item{color:#b3c6cf}.nav-item:hover{background:#294750;color:#f2e6cf}
.nav-item.active{background:linear-gradient(90deg,#56605066,#33464b55);color:#ffdaa0;border-color:#7b7559;box-shadow:inset 3px 0 var(--amber)}
.side-label{color:#97b9be}.sidebar .profile{border-color:#354c5b}
button{background:#243a4a;border-color:#415c6d;color:#dce8ea}
button:hover:not(:disabled){background:#304e5c;border-color:#6b9699}
button.primary{background:linear-gradient(180deg,#f1ca85,#dfac60);border-color:#f0cd92;color:#272316;box-shadow:inset 0 1px #fff4,0 2px 0 #765528}
button.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffda96,#edbb70);border-color:#ffe0a6}
button:focus-visible,a:focus-visible{outline-color:#89d9cd}
input,select{background:#101f2e;border-color:#3a5363;color:var(--text)}
input:focus,select:focus{border-color:#7fcbbf}
.panel:not(.rarity-item),.building-card,.activity-card,.quest-card,.equipment-slot,.achievement-card{background:linear-gradient(145deg,#203543,#182a39);border-color:#3b535e;box-shadow:inset 0 1px #b9e7e908,0 4px 18px #050d141a}
.skills-tabs,.admin-tabs{background:#122432b3;border-color:#344e5b}
.skills-tab,.admin-tabs>button{background:linear-gradient(140deg,#263d4d,#1a2c3c);border-color:#435d6b;color:#cedddc}
.skills-tab:hover:not(:disabled){background:linear-gradient(140deg,#304d5a,#203b48);border-color:#6c9b9c}
.skills-tab.selected,.skills-tab.selected:hover:not(:disabled){background:linear-gradient(130deg,#665233,#3d3930);border-color:#dfb96f;color:#ffe1a5;box-shadow:inset 0 1px #ffe6ad22,0 3px 12px #0003}
.skills-tab.selected:after{background:#ffd68a}
.filters button.selected{background:#35554e;border-color:#6fa69b;color:#e0f6eb}
.topbar .character-button,.topbar .supplies-button,.topbar .more-button{background:linear-gradient(145deg,#2c424a,#1d3341);border-color:#536765;color:#f0d5a1}
.topbar button[aria-expanded=true]{background:#3a514f;border-color:#bdaf7f}
.character-menu,.more-menu,.supplies-menu{background:linear-gradient(145deg,#203543,#182b3a);border-color:#58746f;box-shadow:0 18px 45px #030b16aa}
.more-menu button:hover{background:#304d58}
.modal{background:linear-gradient(150deg,#213847,#192c3b);border-color:#638079;box-shadow:0 24px 100px #020812bb}
.modal-backdrop{background:#060f1acc}
.modal-fixed-head{background:#1e3542;border-color:#465f68}
.item-popup-head{background:linear-gradient(135deg,color-mix(in srgb,var(--rarity,#78b4ba) 14%,#213948),#1b2e3c)}
.skill-grid .skill-card{background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--skill-color) 16%,transparent),transparent 70%),linear-gradient(145deg,#233947,#192c3b);border-color:color-mix(in srgb,var(--skill-color) 34%,#334b5a)}
.skill-grid .skill-card:hover:not(:disabled),.skill-grid .skill-card:focus-visible{background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--skill-color) 25%,transparent),transparent 80%),linear-gradient(145deg,#2a4451,#203645);border-color:var(--skill-color)}
.skill-grid .skill-card p{color:#c0cdd0}
.progress{background:#0e1c2b}.progress i{background:linear-gradient(90deg,#b99350,#f2c977)}
.health-progress i,.health-meter .progress i,.summary-vitals .health-progress i{background:linear-gradient(90deg,#ca6c70,#f0a294)}
.good{color:#91d6b2}.warning,.warn,.short{color:#f1a38b!important}
.character-menu>header.character-menu-identity{border-bottom:0;padding-bottom:0;margin-bottom:16px}
.character-menu-identity small{color:#b3c6cd}
.character-menu .summary-progression{margin:0;padding:0;overflow:hidden;border:1px solid #4d6b72;border-radius:8px;background:linear-gradient(135deg,#28434b88,#142a38);font-family:Segoe UI,system-ui,-apple-system,sans-serif}
.character-menu .summary-vitals{padding:15px 14px;gap:0}
.character-menu .summary-vitals>div{gap:11px;align-items:center;grid-template-columns:minmax(0,1fr) auto}
.character-menu .summary-health-label,.character-menu .summary-level-top>span,.character-menu .summary-readiness>span>b{font:600 12px/1.4 Segoe UI,system-ui,-apple-system,sans-serif;letter-spacing:0;color:#d3e2e5}
.character-menu .summary-health-label{gap:7px;flex-wrap:wrap}
.character-menu .summary-health-value{font:600 14px/1.4 Segoe UI,system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;color:#f5d5cf;white-space:nowrap}
.character-menu .summary-vitals .progress{height:6px;margin:0;border-radius:3px;overflow:hidden;background:#0e202d}
.character-menu .summary-level-row{padding:14px;border-top:1px solid #82a5aa2b}
.character-menu .summary-level-top{margin:0 0 11px;gap:10px;min-height:28px}
.character-menu .summary-level-top>strong{gap:5px;color:#f1ce8a}
.character-menu .summary-level-value{font:600 23px/1.15 Segoe UI,system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;text-shadow:none}
.character-menu .summary-level-top strong>small{font:400 12px/1.4 Segoe UI,system-ui,-apple-system,sans-serif;color:#afc3ca}
.character-menu .summary-xp-progress{height:6px;border-radius:3px;overflow:hidden;background:#0e202d}
.character-menu .summary-xp-caption{font:400 10px/1.5 Segoe UI,system-ui,-apple-system,sans-serif;color:#afc3ca;margin:8px 0 0}
.character-menu .summary-readiness{width:100%;margin:0;padding:14px;min-height:66px;border-top:1px solid #82a5aa2b;border-radius:0;background:transparent;gap:10px}
.character-menu .summary-readiness>span{gap:4px}
.character-menu .summary-readiness>span>small{font:400 10px/1.4 Segoe UI,system-ui,-apple-system,sans-serif;color:#a8d7cb}
.character-menu .summary-readiness>strong{font:600 23px/1.15 Segoe UI,system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;color:#9bdccc}
.character-menu .summary-readiness:hover{background:#81cbb912}
.character-menu .current-boosts{margin:18px 0}
.character-menu .current-boosts h3{color:#badbd8;letter-spacing:.7px}
.character-menu .current-boosts-content{color:#b6c9cf}
.character-menu>.wide{background:#29434e;border-color:#56746f;color:#ece3cc}
@media(max-width:800px){.nav-item.active{box-shadow:inset 0 2px var(--amber)}body{background-attachment:scroll}}
/* Shared dusk surfaces, including controls and older inset panels. */
:root{--bg:#10171f;--panel:#1c2a35;--panel2:#263744;--border:#3b505e;--surface:linear-gradient(145deg,#243440,#192731);--surface-inner:linear-gradient(145deg,#213440,#192a35);--surface-input:#15232e;--surface-edge:#425965}
body{isolation:isolate;background:radial-gradient(ellipse at 15% 0%,#293b4b55,transparent 65%),linear-gradient(150deg,#151e29,#10171f 75%);background-attachment:fixed}
body::before{content:'';position:fixed;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 78% 22%,#668a922b,transparent 43%),radial-gradient(ellipse at 22% 72%,#7180a01c,transparent 45%),radial-gradient(ellipse at 50% 0%,#b3986720,transparent 36%);opacity:.7;transform:translate3d(-2%,0,0) scale(1.02);animation:shelter-atmosphere 48s ease-in-out infinite alternate}
@keyframes shelter-atmosphere{from{transform:translate3d(-2%,0,0) scale(1.02);opacity:.55}to{transform:translate3d(3%,-2%,0) scale(1.07);opacity:.85}}
body.reduce-motion::before{animation:none;transform:none;opacity:.65}
@media(prefers-reduced-motion:reduce){body::before{animation:none;transform:none;opacity:.65}}
.panel:not(.rarity-item), .building-card, .activity-card, .quest-card, .equipment-slot, .achievement-card, .training-summary, .expedition-filters, .scene-panel, .tool-foldout{background:var(--surface);border-color:var(--surface-edge)}
.expedition-card{background:var(--surface)}
.expedition-card-body{background:linear-gradient(160deg,#23343e,#192832)}
.character-hero.character-overview.character-dashboard{background:linear-gradient(135deg,#283942,#1a2933 75%);border-color:#49616a}
.character-honours,.character-vital,.loadout-summary-card,.character-command-panel .character-stat-grid>div{background:var(--surface-inner);border-color:#425b67}
.portrait-stage{background:linear-gradient(155deg,#273b45,#182630);border-color:#4b626b}
.survivor-3d{background:radial-gradient(ellipse at 50% 35%,#67848144,#152732 78%)}
.overview-level{background:linear-gradient(135deg,#a3946230,#1c313c 80%);border-color:#9b956b77}
.character-vital.vital-health>.progress i{background:linear-gradient(90deg,#ca6c70,#f0a294)}
.character-vital.vital-health.critical>.progress i{background:#f07472}
.character-vital>.progress{background:#10202b}
.character-vital:not(.vital-health)>.progress i{background:linear-gradient(90deg,#b99350,#f2c977)}
.overview-gear{background:linear-gradient(145deg,color-mix(in srgb,var(--rarity) 9%,#2c404b),#21343f);border-color:color-mix(in srgb,var(--rarity) 38%,#526672)}
.overview-gear:hover{background:linear-gradient(145deg,color-mix(in srgb,var(--rarity) 17%,#324a54),#263d48)}
.trophy-button{background:linear-gradient(145deg,#273d47,#192c37);border-color:#4e6670}
.trophy-button:hover{background:#334d55;border-color:#c2b080}
.item-art,.survivor-portrait,.activity-symbol{background:radial-gradient(ellipse at top,#3b5058,#20313d);border-color:#506773}
.loadout-bonus, .character-xp-note, .scene-footer, .scene-topline{background:var(--surface-input);border-color:#3e5762}
.resident-needs{background:#31584966;border:1px solid #76aa8e33;border-radius:5px;color:#c1e6ce}
.work-search,.storage-search,.filter-drawer,.choice-trigger{background:var(--surface-input);border-color:#455e6d;color:#dce7e9}
.work-search:focus-within,.storage-search:focus-within,.filter-drawer[open],.choice-trigger[aria-expanded=true]{border-color:#83bcb6;box-shadow:0 0 0 1px #83bcb644}
.storage-search input{background:transparent}
.work-search input::placeholder,.storage-search input::placeholder,input::placeholder{color:#91a7b5;opacity:1}
.filter-drawer summary{color:#dce7e9}.filter-drawer summary span{color:#a9c5cc}
.storage-filter-panel,.choice-panel{background:linear-gradient(145deg,#273c48,#192c38);border-color:#617c83;box-shadow:0 18px 48px #050c16aa}
.filter-drawer fieldset{background:#213440;border-color:#516b78}
.filter-drawer .storage-filter-panel fieldset{background:transparent}
.choice-options>button:not(.tier-choice){background:#203441;border-color:#455f6e;color:#e0e9e8}
.choice-options>button.selected:not(.tier-choice){background:#43574e;border-color:#c2b185;color:#ffdfa5}
.choice-trigger:hover:not(:disabled){background:#233b47;border-color:#77a7a6}
.inventory-grid .inventory-item:not(.rarity-item){background:var(--surface);border-color:#455d69}
.trader-offer{background:linear-gradient(155deg,color-mix(in srgb,var(--rarity) 10%,#263944),#192a35 75%)}
.gear-smelter{background:radial-gradient(ellipse at 80% 100%,#d2a86613,transparent 65%),var(--surface)}
.smelter-select{background:#152631b3}.smelt-option{background:color-mix(in srgb,var(--rarity) 7%,#20343f)}
.smelter-entry{margin:16px 0 20px;padding:16px;border:1px solid #405965;border-radius:10px;background:#152b36}.smelter-entry h3{margin:0 0 6px}.smelter-entry p{margin:0 0 14px}
.smelter-sheet .gear-smelter{padding:18px;margin:14px 0 0}.smelter-sheet .smelter-workspace{grid-template-columns:minmax(0,1fr)}.smelter-sheet .smelter-arrow{display:none}.smelter-sheet .gear-smelter>header{flex-wrap:wrap;gap:12px}.smelter-sheet .smelter-title h2{display:none}
.smelter-drawer .smelt-item-name{white-space:normal;flex-wrap:wrap}.smelter-drawer .smelt-item-name>b{overflow:visible}.smelt-equipped-warning{padding:12px;border:1px solid #a87055;border-radius:8px;background:#51302670;color:#f0c6a9;font-size:12px;line-height:1.5}.smelter-drawer .reinforce-equipped-tag{display:inline-block;width:fit-content;margin-top:6px}
@media(min-width:801px){#modal .modal-backdrop:has(.smelter-drawer){justify-content:flex-end;padding:0}#modal .smelter-drawer{width:min(600px,100%);max-width:600px;height:100dvh;max-height:100dvh;margin:0;border-radius:16px 0 0 16px;animation:smelter-slide-in .2s ease-out}.smelter-drawer .smelt-picker-filters{grid-template-columns:1fr 1fr}.smelter-drawer .smelt-picker-filters>label{grid-column:1/-1}}
@keyframes smelter-slide-in{from{transform:translateX(40px);opacity:.3}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#modal .smelter-drawer{animation:none}}.reduce-motion #modal .smelter-drawer{animation:none}
.loadout-picker .loadout-item{background:linear-gradient(115deg,color-mix(in srgb,var(--rarity) 10%,#263945),#1c303c)}
.loadout-picker .picker-current{background:linear-gradient(110deg,#bda26325,#203641)}
/* Tabs are individual navigation cards rather than a framed row of panels. */
.main-content .skills-tabs{padding:0;border:0;border-radius:0;background:none;box-shadow:none;gap:12px;margin-bottom:26px}
.main-content .skills-tabs>.skills-tab{position:relative;isolation:isolate;overflow:hidden;height:76px;min-height:76px;border:1px solid #59727f;border-radius:8px;background:linear-gradient(155deg,#334653,#23323e);color:#d6e6e9;box-shadow:inset 0 1px #cfedf010,0 5px 12px #020a142b;gap:13px;transition:background .18s,border-color .18s,box-shadow .18s}
.main-content .skills-tabs>.skills-tab>.pixel-icon{width:30px;height:30px;opacity:.9;filter:none}
.main-content .skills-tabs>.skills-tab:hover:not(:disabled){background:linear-gradient(155deg,#3f5861,#2c424e);border-color:#a0bab9;color:#f0f7ed}
.main-content .skills-tabs>.skills-tab.selected{background:radial-gradient(ellipse at top,#d4ac5730,transparent 85%),linear-gradient(145deg,#65583e,#3d3e34);border-color:#efc878;color:#ffe6b0;box-shadow:inset 0 1px #ffe7b333,0 5px 20px #070b162e}
.main-content .skills-tabs>.skills-tab.selected:after{left:14px;right:14px;bottom:0;height:3px;background:#ffdb91;border-radius:3px 3px 0 0;box-shadow:0 0 14px #efbb6355}
.main-content .skills-tabs>.skills-tab.selected>.pixel-icon{opacity:1;filter:brightness(1.18)}
.main-content .skills-tabs>.skills-tab:focus-visible{outline:2px solid #9cddd3;outline-offset:3px}
@media(max-width:700px){.main-content .skills-tabs{gap:8px;margin-bottom:21px}.main-content .skills-tabs>.skills-tab{height:76px;min-height:76px;padding:10px 5px;gap:8px;font-size:8px}.main-content .skills-tabs>.skills-tab>.pixel-icon{width:25px;height:25px}.main-content .skills-tabs>.skills-tab.selected:after{left:9px;right:9px}}
@media(max-width:420px){.main-content .skills-tabs{gap:6px}.main-content .skills-tabs>.skills-tab{font-size:7px;gap:7px}}
@media(prefers-reduced-motion:reduce){.main-content .skills-tabs>.skills-tab{transition:none}}
.equipment-slot.rarity-item{background-color:#1d303b;border-color:color-mix(in srgb,var(--rarity) 40%,#49606c)}
.collectible,.shop-card,.equipped-bonus{background:var(--surface-inner);border-color:var(--surface-edge)}
.victory-reward{background:linear-gradient(115deg,#a5966026,#1d303a)}
.empty-resident{background:linear-gradient(145deg,#21323c99,#17263099)}
/* Shelter frame: scenery belongs to navigation; work cards stay compact and readable. */
:root{--bg:#141a20;--panel:#242e35;--panel2:#303e45;--border:#45545c;--surface:linear-gradient(145deg,#29343b,#202a31);--surface-inner:linear-gradient(145deg,#253239,#1d282f);--surface-input:#17232b;--surface-edge:#45545b}
body{background:radial-gradient(ellipse at 70% 0%,#59635920,transparent 60%),linear-gradient(150deg,#1d252c,#121b23 80%)}
body::before{background:radial-gradient(ellipse at 78% 22%,#879c981b,transparent 43%),radial-gradient(ellipse at 22% 72%,#7180a014,transparent 45%),radial-gradient(ellipse at 50% 0%,#b3986720,transparent 36%)}
.sidebar{background-color:#101e28;background-image:linear-gradient(0deg,#101e28 38px,#101e2800 110px),linear-gradient(180deg,#101e28 0%,#101e28 calc(100% - 430px),#101e2800 calc(100% - 290px)),url('assets/Current/ui/shelter/backgrounds/sidebar-shelter.png');background-size:100% 100%,100% 100%,100% auto;background-position:bottom,top,bottom 38px center;background-repeat:no-repeat;border-color:#475651;box-shadow:5px 0 24px #040b1626}
.sidebar .nav-item{color:#d0d9d7;text-shadow:0 1px 3px #000b}
.sidebar .nav-item.active{background:linear-gradient(90deg,#b6974b3b,#b6974b10);border-color:#a697645e;color:#ffe1a3;box-shadow:inset 3px 0 #f0c573}
.sidebar .nav-item:hover{background:#b8bfac18}
.sidebar .side-label{color:#b7bdad}
.sidebar .sidebar-admin{background:#15222bdd;border-color:#59625880}
.topbar{background-color:#17262e;background-image:linear-gradient(90deg,#0f1d29cc,#0f1d2966 65%,#101d27a3),url('assets/Current/ui/shelter/backgrounds/header-forest.png');background-position:center,center 63%;background-size:cover;border-bottom-color:#7b826350;box-shadow:0 5px 24px #020a143d}
.topbar .activity-symbol{background:#17262eb3;border-color:#65766d}
.topbar .activity-bar .progress{background:#0c1725bb;box-shadow:0 1px #acba9d12}
.topbar .activity-bar .progress i{background:linear-gradient(90deg,#b68844,#f6d283);box-shadow:0 0 10px #efbf722b}
.topbar .character-button,.topbar .supplies-button,.topbar .more-button{background:linear-gradient(145deg,#35423bdb,#1e2f32e8);border-color:#7c85664d}
.main-content .skills-tabs{gap:12px;margin-bottom:24px}
.main-content .skills-tabs>.skills-tab{height:62px;min-height:62px;background:linear-gradient(145deg,#303d43,#232f36);border-color:#57665f80;box-shadow:inset 0 1px #d6dfbd0c,0 4px 12px #0002}
.main-content .skills-tabs>.skills-tab.selected{background:linear-gradient(120deg,#675438,#3b3c32);border-color:#d6b775;color:#ffe3ae;box-shadow:inset 0 1px #ffe7b32b,0 4px 18px #030b1326}
.main-content .skills-tabs>.skills-tab.selected:after{left:22%;right:22%;height:3px}
.work-controls{align-items:stretch}
.training-summary{background:linear-gradient(125deg,#35423966,#202b31);border-color:#57665c80}
.work-search{border-color:#54625d;background:#162129}
.filters button{background:#233039;border-color:#46554e;color:#c7d1d0}
.filters button.selected{background:#435549;border-color:#879e7b;color:#f0efd8}
.activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.activity-list>.activity-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:start;gap:14px;padding:19px 17px;min-height:174px;border:1px solid #4a585e;border-left:3px solid color-mix(in srgb,var(--work-color) 65%,#34434b);border-radius:8px;background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--work-color) 7%,transparent),transparent 65%),var(--surface);box-shadow:inset 0 1px #d4dfd308,0 5px 14px #050b131f;transition:border-color .18s,background .18s}
.activity-list>.activity-card:hover{border-color:color-mix(in srgb,var(--work-color) 55%,#5c6b6e);background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--work-color) 11%,transparent),transparent 75%),var(--surface)}
.activity-list>.activity-card.is-current{border-color:#d9b76e;border-left-color:#f4ce82;box-shadow:inset 0 1px #efd59222,0 0 18px #d5b0650c}
.activity-list>.activity-card>.item-art{width:52px;height:56px;padding:6px;border-radius:8px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--work-color) 19%,#26333a),#19252d);border-color:color-mix(in srgb,var(--work-color) 36%,#42535b)}
.activity-card .activity-info{min-width:0}
.activity-card .activity-info>div:first-child{display:block}
.activity-card .work-item-title{display:flex;flex-wrap:wrap;gap:6px;white-space:normal;align-items:center;margin:0 0 5px;font-size:14px;line-height:1.4}
.activity-card .work-item-name{white-space:normal;overflow:visible;text-overflow:clip}
.activity-card .activity-info>div:first-child>.meta{display:block;font-size:9px;line-height:1.6;color:color-mix(in srgb,var(--work-color) 45%,#c8d4d7)}
.activity-card .activity-info p{font-size:11px;line-height:1.65;margin:9px 0;color:#b8c6c9}
.activity-card .rewards,.activity-card .costs{gap:6px 10px;flex-wrap:wrap}
.activity-card .planting-cost{flex-wrap:wrap;gap:6px 10px}
.activity-card .planting-cost>small{white-space:normal}
.activity-card .costs>span{white-space:normal;overflow-wrap:anywhere}
.activity-card .activity-actions{min-width:70px;max-width:104px;margin:0;align-self:center;text-align:right}
.activity-card .activity-actions>button{min-height:42px;padding:9px 12px;white-space:normal;font-size:11px;border-color:#758474;background:linear-gradient(145deg,#3f5048,#2d3e3d);color:#e9ead6}
.activity-card .activity-actions>button:hover:not(:disabled){background:linear-gradient(145deg,#536651,#3b514a);border-color:#a2b28c}
.activity-card .activity-actions>button.primary{background:linear-gradient(180deg,#f1ca85,#dfac60);border-color:#f0cd92;color:#272316}
.activity-card.locked{opacity:.65}
.activity-card .activity-actions>.meta{font-size:10px;line-height:1.6}
@media(max-width:1100px){.activity-list{grid-template-columns:minmax(0,1fr)}.activity-list>.activity-card{min-height:148px}}
@media(max-width:800px){.sidebar{background:#14232bf5;box-shadow:0 -4px 18px #040b1644}.sidebar .nav-item.active{box-shadow:inset 0 2px #f0c573}.main-content .skills-tabs>.skills-tab{height:68px;min-height:68px}.topbar{background-position:center,center 65%}}
@media(max-width:600px){.activity-list{gap:12px}.activity-list>.activity-card{grid-template-columns:44px minmax(0,1fr);gap:10px 12px;padding:16px 13px;min-height:0}.activity-list>.activity-card>.item-art{width:44px;height:48px;padding:4px}.activity-card .activity-info{flex-basis:auto}.activity-card .activity-actions{grid-column:2;justify-self:end;max-width:none;align-self:end}.activity-card .activity-actions>button{min-width:100px}.activity-card .activity-info p{margin:7px 0}.activity-card .work-item-title{font-size:13px}.main-content .skills-tabs{gap:7px;margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.activity-list>.activity-card{transition:none}}
@media(max-width:600px){.work-controls .training-summary{height:auto;min-height:0;padding:12px 14px}.work-controls .training-summary p{max-height:none;overflow:visible}}

/* Enlarge artwork without changing the inventory tile or its text layout. */
.inventory-grid .inventory-item>.item-icon{position:relative;z-index:0;transform:scale(1.8);transform-origin:center;pointer-events:none}
.inventory-grid .inventory-item>b{position:relative;top:4px;z-index:1;text-shadow:0 1px 2px #0b1822,0 0 3px #0b1822}
.inventory-grid .inventory-item>.inventory-qty,.inventory-grid .inventory-item>.durability{z-index:1}
@media(max-width:650px){.inventory-grid .inventory-item>b{top:9px}}
@media(max-width:380px){.inventory-grid .inventory-item>b{top:6px}}
.inventory-grid .inventory-item:has(.durability)>b{top:2px}

/* The opening-tour meal pointer floats over its tile without taking grid space. */
.storage-view .storage-items:has(.tutorial-food-tile){position:relative;z-index:7;overflow:visible}
.storage-view .inventory-grid .tutorial-food-tile{z-index:3;overflow:visible}
.storage-view .inventory-grid .tutorial-food-tile>.tutorial-food-arrow{position:absolute;left:50%;bottom:calc(100% - 12px);width:24px;height:32px;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 3px 3px #061b1d99);pointer-events:none;z-index:4}

/* Unified Journal tabs stay compact on narrow screens. */
.journal-tabs{flex-wrap:wrap}.journal-tabs .skills-tab{white-space:nowrap}.empty-page h1{font-size:28px;margin:0}
@media(max-width:600px){.journal-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.journal-tabs .skills-tab{justify-content:center;padding:13px 7px;font-size:10px}.journal-tabs .skills-tab .pixel-icon{width:20px;height:20px}}

.healing-activity .activity-detail{display:flex;align-items:center;min-height:32px}.healing-activity .activity-title b{color:var(--accent)}

.food-popup-automatic{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:16px 0 0;padding:16px;border:1px solid #8e7947;border-radius:6px;background:#172d33}
.food-popup-automatic .eyebrow{display:block;margin:0 0 7px;color:#f5d17a;font-size:9px;letter-spacing:1.4px}
.food-popup-automatic p{margin:0;color:#c4d5dd;font-size:12px;line-height:1.6}
.food-popup-automatic .food-auto-action{margin:0;min-height:46px;min-width:174px;padding:12px 18px;font-size:13px;white-space:normal;line-height:1.4}
.food-popup-automatic.is-selected{border-color:#4c9c85;background:#142f2e}
.food-popup-automatic .food-auto-action:disabled{opacity:1;background:#20483d;border-color:#5ca58b;color:#a6e3c6;box-shadow:none}
.item-popup-actions.food-popup-secondary{margin-top:16px}
.food-popup-secondary .food-eat-action{background:#18313d;border-color:#476575;color:#d8e5eb;box-shadow:none}
.food-popup-secondary .food-eat-action:hover:not(:disabled){background:#244452;border-color:#7593a1}
.food-popup-hint{display:block;margin:10px 0 16px;color:#91abb8;font-size:10px;line-height:1.6}
.return-report .return-title{margin:0 32px 24px 0;color:#f4f7f8;font-family:inherit;font-size:26px;font-weight:750;line-height:1.25;letter-spacing:-.4px}
.return-report .return-levels{margin:0 0 24px}
.return-duration{display:inline-block;white-space:nowrap}
button.equip-level-locked:disabled{background:#432a2e;border-color:#95545d;color:#f2b8bc;opacity:1;box-shadow:none;cursor:not-allowed;white-space:normal;line-height:1.4}
.low-health-warning{position:fixed;right:18px;z-index:44;display:flex;align-items:center;gap:12px;width:min(430px,calc(100% - 32px));padding:16px;background:linear-gradient(110deg,#43262f,#392129);border:0;border-radius:10px;box-shadow:0 12px 32px #0006;animation:low-health-enter .22s ease-out;overflow:hidden;isolation:isolate;transition:box-shadow .42s ease}
.low-health-warning::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,#205044,#193b36);opacity:0;pointer-events:none;transition:opacity .42s ease}
.low-health-warning.is-healthy::before{opacity:1}
.low-health-warning>*{position:relative;z-index:1}
.low-health-symbol{color:#ff8e99;font-size:26px;line-height:1;flex-shrink:0;transition:color .42s ease}
.low-health-copy{flex:1;min-width:0}.low-health-copy strong{display:block;color:#fff0f1;font-size:13px;letter-spacing:1px;line-height:1.3;transition:color .42s ease}.low-health-copy>span{display:block;margin-top:5px;color:#e0b7bc;font-size:11px;line-height:1.5;transition:color .42s ease}
.low-health-warning .low-health-stop,.low-health-warning .low-health-stop:focus,.low-health-warning .low-health-stop:active{flex-shrink:0;min-height:42px;margin:0;padding:10px 14px;background:#da858d!important;color:#251116!important;border:0!important;box-shadow:none!important;font-size:12px;font-weight:750;transition:background-color .42s ease,color .42s ease}
.low-health-warning .low-health-stop:hover:not(:disabled){background:#f0aab0!important}
.low-health-warning.is-healthy{box-shadow:0 12px 32px #0005,0 0 22px #49b98a20}
.low-health-warning.is-healthy .low-health-symbol{color:#88e4b6}
.low-health-warning.is-healthy .low-health-copy strong{color:#ebfff3;font-size:12px;letter-spacing:0;white-space:nowrap}
.low-health-warning.is-healthy .low-health-copy>span{color:#b9e4cc}
.low-health-warning.is-healthy .low-health-stop,.low-health-warning.is-healthy .low-health-stop:focus,.low-health-warning.is-healthy .low-health-stop:active{background:#8be3b8!important;color:#13352c!important}
.low-health-warning.is-healthy .low-health-stop:hover:not(:disabled){background:#acf0cc!important}
.low-health-eat-wrap{display:flex;align-items:center;flex-shrink:0}
.low-health-warning .low-health-stop,.low-health-warning .low-health-stop:focus,.low-health-warning .low-health-stop:active{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:76px;min-width:76px;white-space:nowrap;background:#da858d!important}
.low-health-warning.is-healthy .low-health-stop,.low-health-warning.is-healthy .low-health-stop:focus,.low-health-warning.is-healthy .low-health-stop:active{background:#8be3b8!important}
.low-health-warning .low-health-stop:disabled{cursor:default;color:#f4dbdc!important;opacity:.9}
.low-health-warning.is-healthy .low-health-stop:disabled{color:#13352c!important;opacity:1}
.low-health-stop-label{display:block;line-height:1}
.modal-open .low-health-warning,body:has(#level-celebration) .low-health-warning{display:none}
@keyframes low-health-enter{from{transform:translateY(-9px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:600px){.low-health-warning{right:12px;width:calc(100% - 24px);padding:12px;gap:10px}.low-health-symbol{font-size:23px}.low-health-stop{padding:9px 11px;font-size:11px}.low-health-copy strong{font-size:12px}}
@media(max-width:380px){.low-health-warning{gap:7px;padding:10px}.low-health-warning.is-healthy .low-health-copy strong{font-size:10px}.low-health-warning .low-health-stop,.low-health-warning .low-health-stop:focus,.low-health-warning .low-health-stop:active{width:70px;min-width:70px;padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.low-health-warning{animation:none;transition:none}.low-health-warning::before,.low-health-warning .low-health-symbol,.low-health-warning .low-health-copy strong,.low-health-warning .low-health-copy>span,.low-health-warning .low-health-stop{transition:none}}
.reduce-motion .low-health-warning{animation:none;transition:none}.reduce-motion .low-health-warning::before,.reduce-motion .low-health-warning .low-health-symbol,.reduce-motion .low-health-warning .low-health-copy strong,.reduce-motion .low-health-warning .low-health-copy>span,.reduce-motion .low-health-warning .low-health-stop{transition:none}
.return-report h3{margin:0 0 12px;font-size:14px;color:#e5edf0}
.return-report .return-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.return-report .return-skill-grid>div{min-width:0;min-height:72px;gap:10px;padding:12px;background:#142b34;border-color:#365460;font-size:12px}
.return-report .return-skill-grid>div>.pixel-icon{width:40px;height:40px;flex-shrink:0}
.return-report .return-skill-grid>div>b{font-size:14px;color:#a5d9b8}
.return-survivor-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;background:url('assets/Current/characters/profile/level-crest.png') center/contain no-repeat;image-rendering:pixelated}
.return-report .return-survivor-icon b{margin:0;padding-bottom:1px;color:#ffdc76;font:bold 17px/1 Arial,sans-serif}
.return-report .return-supplies{margin:0 0 22px}
.return-report .return-loot .rewards{gap:12px 16px;margin:0;padding:0}
.return-report .return-loot .rewards>span{font-size:11px}
.return-report .return-continuing{margin:0 0 22px}
.return-report>.primary.wide{margin-bottom:0}
.return-report .return-welcome{display:flex;align-items:center;gap:16px;margin:0 36px 24px 0}


#modal .return-report .return-continuing{padding:8px 11px;min-height:34px;margin:0 0 13px;border:0;border-radius:10px;background:#163b32;color:#b6e5c9;line-height:1.35}
#modal .return-report .building-receipt{padding:12px 13px;margin:12px 0;text-align:left;border:0;background:#1b3940;box-shadow:0 8px 22px #07171c24}
#modal .return-report .building-receipt>div{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px}
#modal .return-report .building-receipt-art{width:74px;height:74px;grid-row:span 2}
#modal .return-report .building-receipt h3{font-size:17px;line-height:1.3}
#modal .return-report .building-receipt p{margin:5px 0 8px;line-height:1.45}
#modal .return-report .return-welcome .return-title{margin:4px 0 0;font-size:27px;line-height:1.2;letter-spacing:-.6px}
#modal .return-report .return-welcome .return-away{margin:0;color:#b8cdd2;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0}
#modal .return-report .return-subtitle{margin:8px 0 0;font-size:13px;color:#b8cdd2}
#modal .return-report .return-empty-state{padding:20px;border:1px solid #526e753d;border-radius:14px;background:#0d20296b}
#modal .return-report .return-empty-state h3{margin:0 0 9px;font-size:17px;font-weight:600;line-height:1.35;color:#e6eeec;letter-spacing:0}
#modal .return-report .return-empty-state p{margin:0;font-size:14px;font-weight:400;line-height:1.65;color:#b6cbd0;max-width:40ch}
#modal .return-report .return-footer{margin-top:24px;display:flex;justify-content:flex-end}
#modal .return-report .return-footer>button{width:auto;min-width:200px;min-height:46px;margin:0;font-size:14px;font-weight:650}
#modal .modal:has(.return-report.return-report-quiet){max-width:500px}
@media(max-width:800px){
 #modal .modal>.app-sheet-handle{top:0;min-height:26px;height:26px;margin:0}
 #modal .modal>.app-sheet-handle>span{position:absolute;top:6px;left:calc(50% - 17px);margin:0}
 #modal .return-report .return-welcome{gap:13px;margin:8px 32px 20px 0}

 #modal .return-report .return-welcome .return-title{font-size:24px}
 #modal .return-report .return-empty-state{padding:17px}
 #modal .return-report .return-empty-state h3{font-size:16px}
 #modal .return-report .return-empty-state p{font-size:13px;line-height:1.65}
 #modal .return-report .return-footer{margin-top:20px}
 #modal .return-report .return-footer>button{width:100%;min-height:48px}
}
@media(max-width:600px){.return-report .return-title{font-size:23px;margin-bottom:22px}.return-report .return-skill-grid{grid-template-columns:1fr}.return-report .return-skill-grid>div{min-height:64px}.return-report .return-levels{margin-bottom:22px}}
@media(max-width:560px){.food-popup-automatic{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}.food-popup-automatic .food-auto-action{width:100%;min-height:48px}.food-popup-automatic p{font-size:11px}}

/* Shared Dead Letter wordmark uses smooth illustration edges. */
.game-logo>img,.brand .game-logo>img,.login-logo .game-logo>img,.mobile-brand .game-logo>img{image-rendering:auto;filter:none}
/* Shelter crew: portrait-led roster, readable work orders, shared pantry. */
.resident-supplies.panel{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;padding:22px 26px;background:linear-gradient(100deg,#172d38,#10202b);border:1px solid #3a5563;border-left:3px solid #ffc34d;margin-bottom:24px}.camp-roster-title{margin-right:auto}.camp-roster-title>small{font:8px/1.6 Arial,sans-serif;letter-spacing:1.8px;color:#d8bb79}.camp-roster-title h2{font-size:26px;color:#f1e6cc;margin:5px 0}.camp-roster-title>span{font-size:11px;color:#a9bdcc}.camp-pantry-label{font-size:9px;letter-spacing:1.4px;color:#9eb3bd}.resident-supplies.panel>span{padding:12px 14px;background:#0b1924;border:1px solid #314a59;border-radius:4px;font-size:12px}.resident-supplies.panel>p{flex-basis:100%;font-size:10px;line-height:1.6;color:#a9bdcc;margin:0;border-top:1px solid #314a59;padding-top:12px}
.survivor-grid .crew-card{padding:0;overflow:hidden;border:1px solid #385362;background:#12242f;border-radius:7px;box-shadow:0 5px 16px #0002;transition:transform .18s,border-color .18s}.survivor-grid .crew-card:hover{transform:translateY(-3px);border-color:#9c8656}.crew-card .resident-heading{position:relative;display:flex;align-items:center;gap:18px;min-height:156px;padding:0;margin:0;background:linear-gradient(110deg,#25343a,#0c1c27);border-bottom:1px solid #3c5360}.crew-card .crew-portrait{display:block;width:156px;height:156px;flex:0 0 156px;border:0;border-radius:0;background-image:url('assets/Current/characters/portraits/survivor-portraits-v1.png');background-size:300% 200%;background-position:var(--portrait-x) var(--portrait-y);image-rendering:auto;mask-image:linear-gradient(90deg,#000 75%,transparent)}.crew-identity{padding:16px 18px 16px 0;min-width:0}.crew-number{font:8px/1.5 monospace;letter-spacing:1px;color:#b69d68}.crew-card .resident-heading h2{font-size:24px;color:#fff0c9;margin:8px 0 10px}.crew-card .resident-status{font-size:10px;line-height:1.5;color:#ffc34d;display:block}.crew-card .assignment-current{margin:18px 20px 12px;padding:0}.crew-card .assignment-current .meta{font-size:8px;letter-spacing:1.2px;color:#8eabb9}.crew-card .assignment-current h3{font-size:15px;margin:7px 0 14px}.crew-card .progress{height:6px;background:#081821;overflow:hidden;border-radius:3px}.crew-card .progress i{background:linear-gradient(90deg,#b78a34,#ffcf60);box-shadow:0 0 8px #ffc34d33}.crew-card .resident-timer{display:block;font-size:10px;margin-top:7px;color:#a9bdcc}.crew-card>.button-row{margin:0 20px 16px;display:flex;gap:8px}.crew-card>.button-row button{min-height:38px;font-size:11px}.crew-card>.button-row .primary{flex:1}.crew-card .assignment-tracker{margin:0 20px;padding:13px 0;border-top:1px solid #314a59}.crew-card .assignment-tracker>.meta{font-size:8px;letter-spacing:1px;color:#a9bdcc}.crew-card .assignment-output{min-height:24px;margin-top:8px}.crew-card .resident-jobs{font-size:9px;color:#89a6b6}.crew-card .resident-needs{margin:0 20px 10px;padding:9px 11px;background:#78c9ad0c;border:1px solid #78c9ad30;color:#9adac4;font-size:10px;border-radius:4px}.crew-card>small:last-child{display:block;margin:0 20px 16px;color:#8ba2af;font-size:9px;line-height:1.6}.survivor-grid .empty-resident{min-height:300px;background:linear-gradient(140deg,#15273288,#0b1b2588);border:1px dashed #405767;justify-content:center}.empty-resident-symbol{border-radius:5px;color:#b89d67}.empty-resident h2{color:#b4c4cb;font-size:18px}
@media(max-width:1400px) and (min-width:1101px){.crew-card .crew-portrait{width:118px;height:142px;flex-basis:118px;background-size:360% 200%}.crew-card .resident-heading{gap:10px;min-height:142px}.crew-card .resident-heading h2{font-size:21px}}
@media(max-width:650px){.resident-supplies.panel{padding:18px;gap:12px}.camp-roster-title{flex-basis:100%}.camp-pantry-label{flex-basis:100%}.resident-supplies.panel>span{flex:1;padding:10px}.crew-card .crew-portrait{width:132px;height:144px;flex-basis:132px}.crew-card .resident-heading{min-height:144px;gap:12px}.crew-card .resident-heading h2{font-size:22px}.crew-card .crew-identity{padding-right:12px}}
@media(prefers-reduced-motion:reduce){.survivor-grid .crew-card{transition:none}.survivor-grid .crew-card:hover{transform:none}}

/* Shared guidance belongs to camp; provisions belong beside each survivor. */
.resident-supplies.panel>.crew-work-note{border-top:0;padding-top:0;margin-top:-5px;color:#8fa9b8}
.crew-card .crew-identity{flex:1;min-width:0}.crew-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:7px 0 10px}.crew-card .crew-name-row h2{margin:0}.crew-card .crew-name-row .resident-needs{margin:0;padding:6px 8px;font-size:9px;line-height:1.5;flex:0 1 142px}.crew-card .assignment-tracker{margin-bottom:16px}


.trader-shop .trader-offers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1400px){.trader-shop .trader-offers{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.trader-shop .trader-offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trader-shop .trader-offer{padding:12px 8px;min-width:0}.trader-shop .trader-buy{font-size:10px;padding:10px 5px}}
.trader-kicker{display:none}
@media(max-width:800px){
 .trader-panel{display:none}
 .trader-shop{overflow:hidden;margin-bottom:12px;padding:0 0 14px;border-radius:15px}
 .trader-shop-heading{box-sizing:border-box;min-height:150px;margin:0 0 14px;padding:17px 18px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:14px;border-bottom:1px solid #9d805b88;background:linear-gradient(90deg,#071521f4 0%,#0b1c27c8 47%,#0b1c273d 100%),url('/assets/Current/ui/shelter/backgrounds/header-forest.png') center 46%/cover}
 .trader-kicker{display:block;color:#ffd58b;font-size:9px;font-weight:800;letter-spacing:1.8px}
 .trader-shop-heading .trader-section-title{margin:5px 0 0;font:700 27px/1.12 Georgia,serif;color:#ffedc9;text-shadow:0 2px 6px #000}
 .trader-shop-heading p{margin-top:6px;font-size:11px;color:#dce8e7;text-shadow:0 1px 4px #000}
 .trader-shop .coin-balance{align-self:flex-start;gap:6px;padding:4px 8px;border:1px solid #9d805b88;border-radius:8px;background:#071722c9;color:#ffe2a6}
 .trader-shop .coin-balance strong{font-size:18px}
 .trader-shop .coin-balance small{font-size:9px}
 .trader-shop .trader-offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px}
 .trader-shop .trader-offer{min-width:0;padding:10px;border-radius:10px}
 .trader-shop .trader-offer-item{min-height:95px;padding:10px 0 5px;gap:7px}
 .trader-shop .trader-offer-item .item-icon{width:50px;height:50px}
 .trader-shop .trader-offer-item b{font-size:11px;line-height:1.25}
 .trader-shop .trader-offer-note{min-height:30px;margin:8px 0 12px;font-size:10px}
 .trader-shop .trader-offer-status{min-height:0;margin-top:6px}
}

/* Trophy room: collectible display plinths and compact milestones. */
.trophy-room-banner{display:flex;align-items:center;gap:34px;padding:22px 26px;margin-bottom:20px;border:1px solid #4b5860;border-radius:7px;background:radial-gradient(ellipse at 0 0,#78562240,transparent 65%),linear-gradient(120deg,#172b37,#0d1d28);box-shadow:inset 0 1px #f6d99a12}.trophy-room-banner>div:first-child{margin-right:auto}.trophy-room-banner h2{margin:0 0 7px;color:#ffe4ae;font-size:25px}.trophy-room-banner p{margin:0;color:#a9bdcc;font-size:12px}.trophy-room-count{display:flex;flex-direction:column;gap:7px;border-left:1px solid #41515d;padding-left:25px}.trophy-room-count strong{color:#ffc34d;font-size:25px;font-variant-numeric:tabular-nums}.trophy-room-count strong small{font-size:15px;color:#8ca7b5}.trophy-room-count>span{font-size:8px;letter-spacing:1.2px;color:#a9bdcc}
.trophy-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trophy-room-grid .achievement-card{--trophy:#ffc34d;position:relative;isolation:isolate;display:flex;flex-direction:column;padding:20px;overflow:hidden;border-radius:8px;border:1px solid #354d5c;background:radial-gradient(ellipse at 18% 0%,color-mix(in srgb,var(--trophy) 13%,transparent),transparent 64%),linear-gradient(145deg,#182d38,#0f202b);box-shadow:0 5px 14px #0002;transition:transform .2s,border-color .2s,box-shadow .2s}.trophy-room-grid .achievement-card:hover{transform:translateY(-4px);border-color:var(--trophy);box-shadow:0 10px 24px #0004}.trophy-room-grid .achievement-card:before{content:'';position:absolute;inset:0 15% auto;height:2px;background:linear-gradient(90deg,transparent,var(--trophy),transparent);opacity:.65}.trophy-room-grid .achievement-title{display:grid;grid-template-columns:104px minmax(0,1fr);gap:15px;align-items:center;min-height:116px;margin-bottom:10px}.trophy-room-grid .achievement-title>.trophy-art{display:grid;place-items:center;width:104px;height:112px;background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--trophy) 20%,transparent),transparent 70%);border-bottom:2px solid color-mix(in srgb,var(--trophy) 40%,#263d4a);filter:drop-shadow(0 5px 7px #0007)}.trophy-room-grid .achievement-title>.trophy-art img{width:94px;height:100px;object-fit:contain}.trophy-room-grid .achievement-title h3{font-size:13px;line-height:1.55;margin:0 0 8px;color:#f3e8d0}.trophy-room-grid .achievement-title .meta{color:var(--trophy);font-size:9px}.trophy-room-grid .achievement-card>p{font-size:11px;color:#a9bdcc;line-height:1.7;margin:8px 0 16px;min-height:36px}.trophy-room-grid .trophy-tier-track{display:flex;gap:7px;margin-bottom:12px}.trophy-room-grid .trophy-tier-track>span{flex:1;display:grid;place-items:center;height:24px;border:1px solid #37505d;border-radius:3px;background:#0c1922;color:#6c8492;font-size:9px;position:relative}.trophy-room-grid .trophy-tier-track>span.earned{background:linear-gradient(135deg,color-mix(in srgb,var(--tier) 25%,#14242f),#13242f);border-color:color-mix(in srgb,var(--tier) 60%,#243b49);color:var(--tier);box-shadow:inset 0 1px #ffffff15}.trophy-room-grid .progress{height:7px;background:#071620;border-radius:5px;overflow:hidden}.trophy-room-grid .progress i{border-radius:5px;transition:width .45s ease}.trophy-room-grid .achievement-card>small{color:#90a9b8;font-size:10px;margin-top:9px}.trophy-room-grid .achievement-reward{border-top:1px solid #314a595c;padding-top:14px;margin-top:auto;min-height:48px;display:flex;align-items:center}.trophy-room-grid .achievement-reward>small{font-size:10px;color:#b5bdaf}.trophy-room-grid .claim-ready{border-color:#b39248}.trophy-room-grid .claim-ready .achievement-reward button{animation:reward-ready 2.8s ease-in-out infinite}.trophy-room-grid .trophy-complete .progress{opacity:.65}.trophy-room-grid .flame-achievement{--trophy:#ffc34d;background:radial-gradient(ellipse at 20% 0%,#bc70202e,transparent 75%),#11232e}.trophy-room-grid .flame-achievement .achievement-reward{margin-top:auto}
@keyframes reward-ready{0%,100%{box-shadow:0 0 0 #ffc34d00}50%{box-shadow:0 0 16px #ffc34d35}}
@media(max-width:1150px){.trophy-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trophy-room-banner{gap:18px}.trophy-room-count{padding-left:18px}}
@media(max-width:650px){.trophy-room-grid{grid-template-columns:1fr;gap:14px}.trophy-room-banner{flex-wrap:wrap;padding:18px;gap:18px}.trophy-room-banner>div:first-child{flex-basis:100%}.trophy-room-count{flex:1;padding-left:0;border:0}.trophy-room-banner h2{font-size:22px}.trophy-room-grid .achievement-card{padding:18px}.trophy-room-grid .achievement-title{grid-template-columns:92px minmax(0,1fr)}.trophy-room-grid .achievement-title>.trophy-art{width:92px}}
@media(prefers-reduced-motion:reduce){.trophy-room-grid .achievement-card,.trophy-room-grid .progress i{transition:none}.trophy-room-grid .achievement-card:hover{transform:none}.trophy-room-grid .claim-ready .achievement-reward button{animation:none}}

.trophy-room-grid .achievement-title>.trophy-art{transition:transform .25s ease,filter .25s ease}.trophy-room-grid .achievement-card:hover .achievement-title>.trophy-art{transform:translateY(-4px);filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--trophy) 30%,transparent))}.trophy-room-grid .achievement-card{animation:trophy-arrive .35s ease both}@keyframes trophy-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.trophy-room-grid .achievement-card{animation:none}.trophy-room-grid .achievement-title>.trophy-art{transition:none}.trophy-room-grid .achievement-card:hover .achievement-title>.trophy-art{transform:none}}
/* Companion collection: portraits first, with an unmistakable active state. */
.pet-roster-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 20px;padding:12px 2px;border-bottom:1px solid #314a59;color:#9fb9c8;font-size:11px}.pet-roster-bar b{color:#ffc34d;font-size:19px}.pet-roster .pet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.pet-roster .pet-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;overflow:hidden;padding:20px 18px 16px;border:1px solid #3a5362;border-radius:9px;background:radial-gradient(ellipse at 50% 25%,#52664438,transparent 65%),linear-gradient(145deg,#172d38,#0c1e28);box-shadow:0 5px 15px #0002;transition:transform .2s,border-color .2s,box-shadow .2s}.pet-roster .pet-card:hover{transform:translateY(-4px);border-color:#b69b60;box-shadow:0 10px 25px #0005}.pet-roster .pet-portrait{width:100%;height:184px;display:grid;place-items:center;position:relative;margin:0 0 14px;background:radial-gradient(ellipse 48% 38% at 50% 58%,#050f1870 0%,#050f1838 42%,#050f1800 100%)}.pet-roster .pet-portrait>svg,.pet-roster .pet-portrait>img{width:168px;height:168px;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #0007);transition:transform .3s}.pet-roster .pet-card:hover .pet-portrait>svg,.pet-roster .pet-card:hover .pet-portrait>img{transform:translateY(-6px) rotate(-2deg)}.pet-roster .pet-card>.meta{font-size:8px;letter-spacing:1.1px;color:#92b8b0}.pet-roster .pet-card h3{font-size:21px;line-height:1.3;color:#fff0cd;margin:7px 0 10px}.pet-roster .pet-card p{font-size:11px;line-height:1.7;color:#a9bdcc;margin:0 0 18px;min-height:55px}.pet-roster .pet-card>small{margin-top:auto;padding:11px 0 0;border-top:1px solid #3c55625c;width:100%;font-size:8px;letter-spacing:.8px;color:#d5c08c}.pet-roster .active-pet{border-color:#e9bd53;background:radial-gradient(ellipse at 50% 25%,#b489343d,transparent 70%),#142832;box-shadow:inset 0 0 0 1px #ffc34d22,0 0 20px #ffc34d0b}.pet-roster .active-pet>small{color:#ffc34d}.pet-roster .active-pet .pet-portrait>svg,.pet-roster .active-pet .pet-portrait>img{animation:companion-breathe 4s ease-in-out infinite}.pet-roster .undiscovered{opacity:1;border-style:dashed}.pet-roster .undiscovered h3{color:#8fa7b6}.pet-roster .undiscovered .pet-portrait{opacity:.65}
@keyframes companion-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:1100px){.pet-roster .pet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.pet-roster .pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.pet-roster .pet-grid{gap:10px}.pet-roster .pet-card{padding:12px 10px}.pet-roster .pet-portrait{height:140px;margin-bottom:9px}.pet-roster .pet-portrait>svg,.pet-roster .pet-portrait>img{width:130px;height:130px}.pet-roster .pet-card h3{font-size:17px}.pet-roster .pet-card p{font-size:10px}.pet-roster .pet-card>.meta,.pet-roster .pet-card>small{font-size:7px}.pet-roster-bar{flex-wrap:wrap;gap:8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.pet-roster .pet-card,.pet-roster .pet-portrait>svg,.pet-roster .pet-portrait>img{transition:none;animation:none!important}.pet-roster .pet-card:hover,.pet-roster .pet-card:hover .pet-portrait>svg,.pet-roster .pet-card:hover .pet-portrait>img{transform:none}}

.storage-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0;flex-wrap:wrap}.storage-pagination span{font-size:12px;color:var(--muted,#a9bdc7)}.storage-pagination button{min-height:44px;padding:10px 16px}.storage-items{scroll-margin-top:100px}.skill-grid .skill-card .skill-progress-label{font-size:9px}
/* Level 99 receives its own gold finale, using the existing max-level badge. */
#level-celebration.survivor-celebration{align-items:start;overscroll-behavior:contain}
#level-celebration.survivor-celebration .celebration-card{overflow:clip}
#level-celebration.survivor-max{--celebration:#ffda7b;--celebration-soft:#dba73530;background:radial-gradient(ellipse at 50% 36%,#95702940,transparent 58%),linear-gradient(160deg,#152733f8,#0b1822fc 75%)}
#level-celebration.survivor-max .celebration-card{position:relative;isolation:isolate}
#level-celebration.survivor-max .celebration-card:before{content:'';position:absolute;z-index:-1;top:50%;left:50%;width:min(740px,90%);aspect-ratio:1;transform:translate(-50%,-60%);border:1px solid #d9b55e22;border-radius:50%;box-shadow:0 0 0 30px #d9b55e06,0 0 0 80px #d9b55e04;pointer-events:none}
#level-celebration.survivor-max .celebration-level-plaque{width:248px;height:248px;filter:drop-shadow(0 0 30px #e4af394d)}
#level-celebration.survivor-max .celebration-card h2{color:#ffe4a2;text-shadow:0 2px 24px #e4af3920}
.celebration-max-ribbon{margin:0 auto 20px;padding:9px 21px;border-block:1px solid #d7ac5266;background:linear-gradient(90deg,transparent,#ad7e2924,transparent);color:#ffda7b;font:700 10px/1.5 Consolas,monospace;letter-spacing:2.6px}
#level-celebration.survivor-max .celebration-continue{border-color:#ffe5a3;box-shadow:0 0 28px #d4a34422}
body:has(#level-celebration){overflow:hidden}
body:has(#level-celebration) #toast{visibility:hidden}
@media(max-width:600px){#level-celebration.survivor-max .celebration-level-plaque{width:202px;height:202px}#level-celebration.survivor-max .celebration-card h2{font-size:29px;max-width:320px}.celebration-max-ribbon{font-size:9px;letter-spacing:2px}}
@media(max-width:600px) and (max-height:700px){
 #level-celebration.survivor-celebration .celebration-card{padding:22px 20px}
 #level-celebration.survivor-celebration .celebration-card>.eyebrow{margin-bottom:8px;font-size:8px;letter-spacing:2px}
 #level-celebration.survivor-celebration .celebration-level-plaque{width:142px;height:142px;margin:4px auto 12px}
 #level-celebration.survivor-celebration .celebration-level-plaque>b{font-size:34px}
 #level-celebration.survivor-celebration .celebration-level-plaque>small{font-size:11px}
 #level-celebration.survivor-celebration .celebration-card h2{font-size:24px}
 #level-celebration.survivor-celebration .celebration-subtitle{margin-bottom:8px}
 #level-celebration.survivor-celebration .celebration-step{margin:6px 0}
 #level-celebration.survivor-celebration .celebration-benefit{margin:10px 0}
 #level-celebration.survivor-celebration .celebration-dismiss{margin-top:14px}
 .celebration-max-ribbon{margin-bottom:12px;padding-block:6px}
}

.survivor-lore>p{margin-bottom:16px;font-size:14px}
.survivor-lore blockquote{margin:22px 0;padding:14px 16px;border-left:2px solid var(--amber);background:#d7b7770a;color:var(--amber);font-size:12px;line-height:1.9;letter-spacing:.05em}
.survivor-lore .lore-ending{color:var(--text);font-style:italic}

/* First visits: short choices, recoverable setbacks, and optional account saving. */
.guest-save-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid #526f78;border-radius:12px;background:#172e38;text-align:left}
.guest-save-card b{font-size:15px}.guest-save-card p{margin:4px 0 0;color:#b9ccd2;font-size:13px;line-height:1.45}.guest-save-card button{flex-shrink:0;min-height:44px}
.guest-upgrade{max-width:440px;margin:auto}.guest-upgrade>p{font-size:14px;line-height:1.55}.guest-upgrade form{display:grid;gap:8px;margin-top:18px}.guest-upgrade input{width:100%;min-width:0;font-size:16px;font-weight:400}.guest-upgrade label{margin:7px 0 0}.guest-upgrade form small{color:#b9ccd2}.guest-upgrade [data-google-option]{margin:18px 0}.guest-upgrade .account-error:empty{display:none}
.guest-entry{display:grid;justify-items:center;gap:7px;margin:18px 0}.guest-entry a{min-height:44px}.guest-entry small{font-size:12px;color:#bed0d8;text-align:center;line-height:1.45}
.comeback-card{margin:18px 0;padding:18px;border:1px solid #9b8048;border-radius:12px;background:linear-gradient(120deg,#263a36,#172932)}
.comeback-card h3{margin:8px 0;font-size:19px}.comeback-card p{font-size:14px;font-weight:400;line-height:1.6;color:#d0dce0}.comeback-card>div{display:flex;flex-wrap:wrap;gap:10px}.comeback-card button{min-height:44px}
@media(max-width:600px){.guest-save-card{padding:12px;gap:10px}.guest-save-card b{font-size:14px}.guest-save-card p{font-size:12px}.guest-save-card button{padding:10px;font-size:13px}.comeback-card{padding:14px}.comeback-card>div{display:grid}.comeback-card button{width:100%}.recovery-banner.normal{flex-wrap:wrap}.recovery-banner.normal>div{flex:1;min-width:180px}.recovery-banner.normal>.primary{width:100%}}
/* A short, optional introduction that leaves the actual game controls usable. */
.opening-tour-banner{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid #8b7944;border-radius:12px;background:linear-gradient(110deg,#25352e,#142832 78%);color:#e9e7da}
.opening-tour-count{flex:none;display:flex;align-items:baseline;gap:2px;color:#ffd36f;font-size:25px;font-weight:700}
.opening-tour-count small{font-size:12px;font-weight:400;color:#b4c1bf}
.opening-tour-copy{flex:1;min-width:0}
.opening-tour-copy strong{display:block;font-size:15px;font-weight:600;line-height:1.35}
.opening-tour-copy p{margin:4px 0 0;font-size:13px;line-height:1.45;color:#c2d0cf}
.opening-tour-actions{display:flex;align-items:center;gap:8px;flex:none}
.opening-tour-actions button{margin:0;min-height:44px;font-size:13px}
.opening-tour-finish p{font-size:15px;line-height:1.55}
.opening-tour-finish .wide{display:block;width:100%;min-height:48px;margin:10px 0 0}
@media(max-width:800px){.opening-tour-banner{flex-wrap:wrap;margin:8px 0 12px;padding:12px;gap:10px}.opening-tour-count{font-size:24px;align-self:flex-start}.opening-tour-copy{flex-basis:calc(100% - 46px)}.opening-tour-actions{width:100%;justify-content:space-between}.opening-tour-actions .primary{flex:1}.opening-tour-actions .text-button{padding-inline:14px}.opening-tour-copy p{font-size:12px}}
.quest-project-checklist{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;font-size:11px;color:#b3c8d0}
.quest-project-checklist li{display:flex;align-items:center;gap:6px;line-height:1.4}
.quest-project-checklist li.done{color:#98d9b7}
.quest-project-checklist small{margin-left:auto;color:#92abb5;white-space:nowrap;font-size:10px}
@media(max-width:360px){.quest-project-checklist{grid-template-columns:1fr}}
/* Clear, tappable project objectives. Completed steps remain legible. */
.quest-project-checklist{grid-template-columns:1fr;gap:4px;margin-top:12px;font-size:13px}
.quest-project-checklist li{display:block;min-width:0}
.quest-project-checklist button{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:7px 9px;border:0;border-radius:8px;background:#0c263240;color:inherit;text-align:left;font:inherit;line-height:1.35;cursor:pointer}
.quest-project-checklist button>span:first-child{flex:0 0 18px;font-size:16px;color:#d5b45e}
.quest-project-checklist button>span:nth-child(2){flex:1;min-width:0}
.quest-project-checklist button i{font-style:normal;color:#93b0bc}
.quest-project-checklist button:hover,.quest-project-checklist button:focus-visible{background:#274958;outline:1px solid #84b2c0}
.quest-project-checklist li.done button>span:nth-child(2){text-decoration:line-through;text-decoration-color:#98d9b780}
.quest-project-checklist li.done button>span:first-child{color:#98d9b7}
.quest-project-checklist .quest-project-copy{display:grid;gap:2px}
.quest-project-checklist .quest-level-requirement{margin:0;color:#ffaaa5;font-size:10px;line-height:1.35;white-space:normal}
.quest-project-checklist .quest-level-requirement[hidden]{display:none}
.quest-project-checklist li.level-locked button{background:#562b3640;color:#ffb1ab}
.quest-project-checklist li.level-locked button>span:first-child{color:#ed918d}
.quest-project-checklist li.level-locked button:hover,.quest-project-checklist li.level-locked button:focus-visible{background:#60344066}
.quest-roadmap-detail .quest-project-checklist{margin:10px 0 14px}
.quest-current-copy{min-width:0}

#toast.requirement-toast{display:block;position:fixed;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);z-index:10000}.opening-reward-list>span>button{margin-left:auto}

.auto-recovery-requirement{display:block;font-size:10px;line-height:1.3;opacity:.8;margin-top:3px}

/* Game controls should not open mobile text-selection/search callouts. */
#app, #modal, .low-health-warning, #opening-tour-host{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable="true"]{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default}

/* A claimed quest resolves into the next chapter in place. */
.quest-claim-moment{position:relative;isolation:isolate;overflow:hidden;min-height:var(--claim-height,280px);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 20px;text-align:center;border-radius:20px;background:radial-gradient(ellipse at 50% 30%,#326354 0%,#193b3c 48%,#102731 100%);box-shadow:0 8px 30px #0004,inset 0 0 32px #7ae7ac16;animation:quest-claim-arrive .35s ease-out}
.quest-claim-moment>strong{font-size:clamp(20px,5vw,26px);color:#fff0bf;line-height:1.2}.quest-claim-label{color:#a6f1c7;font-weight:700}.quest-claim-moment .eyebrow{color:#b0d9c3;letter-spacing:.15em;font-size:11px}.quest-journey .quest-claim-moment .quest-current-reward{flex:0 0 auto;max-width:100%;justify-content:center;align-content:center;gap:6px 12px;margin-top:8px;flex-wrap:wrap}.quest-claim-seal{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#90efb51c;box-shadow:0 0 30px #7ae7ac33;animation:quest-seal-pop .65s cubic-bezier(.2,1.6,.4,1) both}.quest-claim-seal img{width:44px!important;height:44px!important;object-fit:contain}.quest-claim-sparkles{position:absolute;inset:0;pointer-events:none;z-index:-1}.quest-claim-sparkles i{position:absolute;left:50%;top:35%;width:5px;height:9px;border-radius:2px;background:#f6d879;transform:rotate(calc(var(--i)*30deg));animation:quest-spark-burst 1.15s ease-out both;animation-delay:calc(var(--i)*15ms)}.quest-claim-sparkles i:nth-child(even){background:#94eabe}.quest-next-reveal{animation:quest-next-reveal .7s cubic-bezier(.2,.8,.2,1) both}.quest-current:focus{outline:none}
@keyframes quest-claim-arrive{from{opacity:.4;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes quest-seal-pop{from{opacity:0;transform:scale(.35) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes quest-spark-burst{0%{opacity:0;transform:rotate(calc(var(--i)*30deg)) translateY(15px) scale(.4)}20%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--i)*30deg)) translateY(145px) rotate(100deg)}}@keyframes quest-next-reveal{from{opacity:0;transform:translateY(15px) scale(.98);filter:brightness(1.4)}to{opacity:1;transform:none;filter:brightness(1)}}
.reduce-motion .quest-claim-moment,.reduce-motion .quest-claim-seal,.reduce-motion .quest-next-reveal,.quest-claim-moment.is-still,.is-still .quest-claim-seal{animation:none}.reduce-motion .quest-claim-sparkles,.is-still .quest-claim-sparkles{display:none}@media(prefers-reduced-motion:reduce){.quest-claim-moment,.quest-claim-seal,.quest-next-reveal{animation:none}.quest-claim-sparkles{display:none}}
.clean-facility.damaged{background:linear-gradient(145deg,#29414d,#203744)!important;border:0!important;box-shadow:0 12px 28px #06131b55}.clean-facility.damaged .facility-badge{min-width:0;max-width:100px;padding:8px;background:#57464380;border:0;border-radius:10px}.clean-facility.damaged .facility-badge strong{font:600 12px/1.35 inherit;font-size:12px;line-height:1.35;color:#e8b5a5}.clean-facility.damaged .facility-badge small{font-size:10px;color:#aabcc2}.clean-facility.damaged .repair-controls p{font-size:13px;line-height:1.5;color:#bdcdd1}.clean-facility.damaged .repair-controls>small{display:none}
.beta-event{border-radius:22px;overflow:hidden;border:1px solid #b8954b66;background:linear-gradient(155deg,#24383e,#10232e);box-shadow:0 12px 35px #0003}.beta-event .beta-event-art{padding:22px;min-height:165px;background:radial-gradient(ellipse at center,#d9983238,transparent 70%);gap:12px}.beta-event-art>img,.beta-event-art .trophy-art{animation:first-flame-glow 3s ease-in-out infinite}.beta-event .beta-event-body{padding:20px;gap:16px}.beta-event .beta-event-body h2{text-align:center;font-size:24px}.beta-event .beta-event-body>.eyebrow{text-align:center}.beta-event .event-objectives>div{background:#071e2866;border:1px solid #77938e33;border-radius:12px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px}.beta-event .event-objectives progress{grid-column:1/-1;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;accent-color:#e4b958}.beta-event progress::-webkit-progress-bar{background:#31464c}.beta-event progress::-webkit-progress-value{background:linear-gradient(90deg,#ae7f36,#ffdc83)}.beta-event .event-prize{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px!important;background:#b8903312;border-radius:12px;font-size:12px}.beta-event .event-prize>span:last-child{margin-left:auto;color:#f5ce76}.beta-event .event-prize img{width:32px;height:32px;object-fit:contain}@keyframes first-flame-glow{50%{filter:drop-shadow(0 0 18px #ffbd5377);transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.beta-event-art>img, .beta-event-art .trophy-art{animation:none}}
.clean-facility.damaged .facility-badge.warning{background:linear-gradient(145deg,#5b4744,#3b4b52)!important;border:0!important;text-align:center}.clean-facility.damaged .facility-badge strong{font-family:inherit;font-weight:600}.beta-event .event-prize .trophy-art{flex:none}
/* The event card uses layered colour and shadow instead of thin outlines. */
.beta-event{border:0;box-shadow:0 12px 35px #0005,inset 0 1px #f8d78a14}
.beta-event .beta-event-art{border:0}
.beta-event .event-objectives>div{border:0;background:linear-gradient(135deg,#092632,#122e38)}

/* Skill level reveals use the same navy and gold language as the game. */
#level-celebration.skill-celebration{--celebration:#f2c873;--celebration-soft:#d8ab4b27;background:radial-gradient(ellipse at 50% 38%,#17475b9c,#08151fdc 70%)}
#level-celebration.skill-celebration .celebration-card{border-color:#c7a2609c;background:radial-gradient(ellipse at 50% 0%,#2a536171,transparent 67%),linear-gradient(155deg,#163445,#0e2332 75%);box-shadow:0 24px 100px #0009,0 0 38px #e6b75a27;animation:celebration-arrive .42s cubic-bezier(.18,.8,.25,1.1),skill-reveal-glow 2.1s .45s ease-in-out 2}
#level-celebration.skill-celebration .celebration-medal{background:radial-gradient(circle at 50% 35%,#28556b,#102b3b 72%);border-color:#eac574;box-shadow:inset 0 0 0 5px #102432,0 0 24px #e8b85d33}
#level-celebration.skill-celebration .celebration-medal>strong,#level-celebration.skill-celebration .celebration-step b{color:#ffda86}
#level-celebration.skill-celebration .celebration-skill-label{display:inline-flex;align-items:center;gap:8px;color:#e8f1ed;font-weight:700}
#level-celebration.skill-celebration .celebration-skill-label .skill-icon{width:28px;height:28px;filter:drop-shadow(0 0 8px #e8bb6666)}
#level-celebration.skill-celebration .celebration-unlocks{border-color:#cfac6b44}
#toast.skill-level-toast{display:flex;align-items:center;gap:10px;background:linear-gradient(120deg,#173b50,#102633 76%);border:0;color:#f8ebce;box-shadow:0 8px 28px #0008;font-weight:700}
#toast.skill-level-toast .skill-icon{width:34px;height:34px;filter:drop-shadow(0 2px 4px #0005)}
body #toast.skill-level-toast.visible{display:flex!important;align-items:center;gap:10px;background:linear-gradient(120deg,#173b50,#102633 76%);border:0;color:#f8ebce;text-align:left;box-shadow:0 8px 28px #0008;animation:level-notice-rise .3s ease-out both}
body #toast.skill-level-toast.visible.leaving{animation:level-notice-lower .25s ease-in both}
#level-toast-confetti{position:fixed;z-index:999;pointer-events:none;animation:level-notice-rise .3s ease-out both}
#level-toast-confetti.leaving{animation:level-notice-lower .25s ease-in both}
#level-toast-confetti i{position:absolute;width:3px;height:6px;border-radius:1px}
@keyframes skill-reveal-glow{50%{box-shadow:0 24px 100px #0009,0 0 62px #f2c67570}}
body.reduce-motion #level-celebration.skill-celebration .celebration-card,body.reduce-motion #toast.skill-level-toast.visible{animation:none!important}
@media(prefers-reduced-motion:reduce){#level-celebration.skill-celebration .celebration-card,#toast.skill-level-toast.visible{animation:none!important}}
@media(min-width:801px){
 .trader-shop{overflow:hidden;padding:0 0 24px;border-radius:16px}
 .trader-shop-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:215px;margin:0 0 22px;padding:24px 28px;background:linear-gradient(90deg,#071521f2 0%,#0b1c27c9 43%,#0b1c2735 100%),url('/assets/Current/ui/shelter/backgrounds/header-forest.png') center 48%/cover}
 .trader-kicker{display:block;color:#ffd58b;font-size:10px;font-weight:800;letter-spacing:1.8px}
 .trader-shop-heading .trader-section-title{margin:5px 0 0;font:700 32px/1.1 Georgia,serif;color:#ffedc9;text-shadow:0 2px 7px #000}
 .trader-shop-heading p{margin-top:8px;color:#dce8e7;font-size:12px;text-shadow:0 1px 4px #000}
 .trader-shop .coin-balance{align-self:flex-start;gap:8px;padding:7px 11px;border-radius:9px;background:#071722cd;color:#ffe2a6}
 .trader-shop .trader-offers{padding:0 24px}
}

.facility-sheet .building-card.clean-facility{border:0!important}
.facility-sheet .building-card.clean-facility::before{border:0}
.facility-sheet .building-card.clean-facility .facility-badge{border:0!important}
/* Login preparation covers the mounted game until its first view is ready. */
#game-loading{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:28px;background:#102833;color:#edf2ec;outline:0}
.game-loading-card{width:min(360px,100%);text-align:center}
.game-loading-status{min-height:48px;line-height:1.5;color:#b6cbd0;font-size:15px}
#game-loading button{margin-top:26px;padding:13px 22px;border:0;border-radius:14px;background:#f1c75b;color:#17262a;font-weight:700;box-shadow:0 6px 20px #0003}
#game-loading [hidden]{display:none}

.game-loading-card h1{font-size:23px;line-height:1.3;margin:24px 0 8px;color:#f1f3e9}
#game-loading progress{display:block;appearance:none;width:100%;height:10px;border:0;border-radius:10px;overflow:hidden;background:#294752}
#game-loading progress::-webkit-progress-bar{background:#294752;border-radius:10px}
#game-loading progress::-webkit-progress-value{background:#ffd16b;border-radius:10px}
#game-loading progress::-moz-progress-bar{background:#ffd16b;border-radius:10px}
.game-loading-detail{color:#e9d798;font-size:12px;font-variant-numeric:tabular-nums;margin:13px 0}
.game-loading-hint{font-size:13px;color:#8fabba;line-height:1.6;margin-top:22px}
.return-raids{padding:14px 16px;border-radius:14px;background:#203f4d;color:#dce9e6;box-shadow:0 10px 22px #091c2640}
.return-raids h3{margin:0 0 5px;color:#f1d18a;font-size:14px;font-weight:600}
.return-raids p{margin:0;color:#bdd1d4;font-size:12px;line-height:1.45}

/* Shared low-poly inventory artwork has native alpha and consistent export padding. */
.low-poly-item-icon,.low-poly-item-icon image{image-rendering:auto;shape-rendering:geometricPrecision}
:is(.base3d-page,.outlands-3d)[data-graphics-lost="true"] canvas,
.base3d-page[data-graphics-lost="true"] :is(.base3d-construction-layer,.base3d-production-layer,.base3d-zombie-combat-layer),
.outlands-3d[data-graphics-lost="true"] .outlands-labels{visibility:hidden}
.graphics-recovery{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:80px 30px;background:#132f3b;color:#bed3d9;text-align:center}
.graphics-recovery p{max-width:260px;margin:0;line-height:1.5}
.graphics-recovery button{border:0;border-radius:12px;background:#ffd467;color:#132f3b;padding:14px 24px;font-weight:700;box-shadow:none}

