@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2) format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}.base-feature{display:grid;gap:22px}.base-hero{min-height:235px;padding:27px 30px 20px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--border);background:linear-gradient(90deg,color-mix(in srgb,var(--surface-panel) 98%,transparent),color-mix(in srgb,var(--surface-panel) 73%,transparent)),url(/assets/riverside-shelter.png) center 58% / cover;position:relative;overflow:hidden}.base-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 29px,color-mix(in srgb,var(--text-muted) 3.5%,transparent) 30px),repeating-linear-gradient(90deg,transparent,transparent 29px,color-mix(in srgb,var(--text-muted) 3.5%,transparent) 30px)}.base-hero h2{font-family:Barlow Condensed,sans-serif;font-size:36px;line-height:1.1;margin:17px 0 10px;max-width:440px}.base-hero p{color:var(--text-secondary);margin:0;font-size:var(--type-body)}.base-hero footer{display:flex;gap:20px;margin-top:28px;font-size:12px;letter-spacing:1px;color:var(--text-secondary)}.base-hero footer span{display:flex;align-items:center;gap:8px}.base-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.base-metrics>div{border:1px solid var(--border);background:var(--surface-panel);padding:15px;display:grid;grid-template-columns:23px 1fr;column-gap:8px;align-items:center}.base-metrics svg{color:var(--text-secondary)}.base-metrics span{font-size:12px;color:var(--text-secondary)}.base-metrics strong{grid-column:1/-1;font-size:22px;font-weight:400;margin-top:12px}.base-metrics small{grid-column:1/-1;color:var(--text-muted);font-size:12px;margin-top:5px}.construction-panel{border-color:var(--border)!important}.empty-project{display:flex;align-items:center;gap:20px;padding:24px;color:var(--text-secondary)}.empty-project h3{font-family:Barlow Condensed,sans-serif;color:var(--text-primary);font-size:23px;margin:0 0 7px}.empty-project p{font-size:var(--type-body);line-height:1.6;margin:0;max-width:540px}.project-heading{display:flex;gap:17px;align-items:center;padding:22px}.construction-emblem{display:grid;place-items:center;width:54px;height:54px;background:var(--surface-hover);border:1px solid var(--border-strong);color:var(--text-primary)}.project-art{width:80px;height:54px;object-fit:cover;border:1px solid var(--border);flex-shrink:0}.project-heading h3{font-family:Barlow Condensed,sans-serif;font-size:24px;margin:5px 0}.project-heading h3 span{font-family:Barlow,sans-serif;font-size:12px;color:var(--text-secondary)}.project-heading p{font-size:var(--type-body);color:var(--text-secondary);margin:0}.project-heading>strong{margin-left:auto;color:var(--text-primary);font-size:22px}.construction-panel>.progress{margin:0 22px}.project-controls{display:flex;align-items:center;gap:20px;padding:18px 22px}.project-controls label,.builder-choice{display:grid;gap:8px;font-size:12px;color:var(--text-secondary);flex:1}.project-controls select,.builder-choice select,.building-crew select{width:100%;min-width:0}.project-controls p{font-size:var(--type-body);color:var(--text-secondary);flex:1}.project-controls small{display:block;line-height:1.6;color:var(--text-muted);margin-top:7px;font-size:12px}.construction-queue{padding:12px 22px 18px}.construction-queue p{margin:10px 0 0;color:var(--text-secondary);font-size:var(--type-body);line-height:1.5}.construction-order{display:flex;align-items:center;gap:13px;padding:10px 0;border-bottom:1px solid var(--border)}.construction-order>span{color:var(--text-muted)}.construction-order>div{flex:1;display:grid;gap:3px}.construction-order small{color:var(--text-secondary)}.base-grid-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.base-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px}.base-section-title h2{font-family:Barlow Condensed,sans-serif;font-size:25px;margin:5px 0 0}.base-section-title select{font-size:var(--type-field);max-width:100%}.building-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.building-card{background:linear-gradient(140deg,var(--surface-raised),var(--surface-panel));border:1px solid var(--border);color:var(--text-primary);text-align:left;padding:14px;min-width:0;cursor:pointer;transition:border-color .15s,background .15s}.building-card:hover{border-color:var(--border-strong);background:var(--surface-raised)}.building-card.selected{border-color:var(--accent-border);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--edge-light) 20%,transparent)}.building-card.locked{background:var(--surface-panel);color:var(--text-muted)}.building-card-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary)}.building-card-art{height:92px;position:relative;overflow:hidden;margin:10px 0;border:1px solid var(--border);background:var(--surface-panel)}.building-card-art img{width:100%;height:100%;object-fit:cover;display:block}.building-card-art>span{position:absolute;bottom:0;left:0;padding:4px 6px;font-size:12px;letter-spacing:.5px;background:#0a0c0bd9;color:#e8dfca}.building-current-art{margin:14px 20px 0}.building-art-preview{display:block;width:100%;padding:0;margin:12px 0 0;border:1px solid var(--border);background:var(--surface-panel);color:var(--text-secondary);cursor:pointer;text-align:left}.building-art-preview:hover{border-color:var(--accent-border)}.building-art-preview img{display:block;width:100%;height:120px;object-fit:cover}.building-art-preview>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;font-size:12px;letter-spacing:.4px}.modal:has(.building-art-gallery){width:min(920px,calc(100vw - 32px));max-width:920px}.building-art-gallery{padding:16px}.building-art-levels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.building-art-levels .button{flex:1 0 auto;padding:8px 12px}.building-art-gallery>img{display:block;width:100%;height:auto;border:1px solid var(--border)}.building-art-gallery p{font-size:var(--type-body);line-height:1.5;color:var(--text-secondary);margin:12px 0 0}.building-art-gallery p>span{display:block;font-size:var(--type-body);margin-top:4px}.building-art-gallery .building-art-note{font-size:12px;color:var(--text-muted)}.building-card h3{font-family:Barlow Condensed,sans-serif;font-size:21px;margin:0 0 9px}.building-level{display:flex;justify-content:space-between;gap:5px;color:var(--text-secondary);font-size:12px;letter-spacing:.4px}.building-card p{color:var(--text-muted);font-size:var(--type-body);line-height:1.4;min-height:30px;margin:9px 0 0}.building-details{position:sticky;top:20px;scroll-margin-top:20px;min-width:0}.building-detail-heading{padding:22px 20px 0;display:flex;gap:14px;align-items:center}.building-detail-heading>span{display:grid;place-items:center;background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border);width:53px;height:53px;flex-shrink:0}.building-detail-heading h2{font-family:Barlow Condensed,sans-serif;font-size:26px;margin:0}.building-detail-heading p{font-size:var(--type-body);color:var(--text-muted);margin:6px 0 0}.building-description{padding:0 20px;font-size:12px;line-height:1.7;color:var(--text-secondary);margin:18px 0}.building-benefit{background:color-mix(in srgb,var(--surface-raised) 40%,transparent);padding:14px;margin:0 20px 20px;border-left:2px solid var(--border-strong);display:grid;gap:8px}.building-benefit strong{font-size:12px;font-weight:500;color:var(--text-primary);line-height:1.5}.power-note{display:flex;align-items:center;gap:7px;font-size:12px;margin:0 20px 18px}.generator-controls,.building-crew,.upgrade-order{padding:18px 20px;border-top:1px solid var(--border)}.generator-controls p{font-size:var(--type-body);color:var(--text-muted);line-height:1.5}.building-crew .mini-heading{display:flex;gap:8px;align-items:center}.building-crew .mini-heading span{margin-left:auto}.crew-row{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:14px 0}.crew-row strong{font-size:12px}.crew-row small{display:block;font-size:12px;color:var(--text-secondary);line-height:1.5}.crew-row button{font-size:12px}.next-benefit{color:var(--text-primary);font-size:12px;line-height:1.5}.build-costs{display:grid;gap:11px;margin:20px 0}.build-costs>div{display:flex;gap:7px;align-items:center;font-size:12px}.build-costs svg{color:var(--text-secondary)}.build-costs span{text-transform:capitalize}.build-costs strong{margin-left:auto;font-weight:400}.build-costs small{font-size:12px;color:var(--text-muted)}.build-time{font-size:12px;color:var(--text-muted);line-height:1.5;margin:12px 0 18px}.max-building{padding:20px;display:flex;align-items:center;gap:10px;color:var(--text-secondary)}.base-footnotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--border);padding-top:24px}.base-footnotes svg{color:var(--text-muted)}.base-footnotes h3{font-family:Barlow Condensed,sans-serif;font-size:21px;font-weight:500;margin:10px 0}.base-footnotes p{font-size:var(--type-body);line-height:1.8;color:var(--text-muted)}.base-feature select{background:var(--surface-panel);color:var(--text-primary);border:1px solid var(--border);padding:9px;border-radius:2px;max-width:100%}.base-feature button:disabled{opacity:1;cursor:not-allowed}@media(min-width:1550px){.building-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1220px){.base-grid-layout{grid-template-columns:1fr}.building-details{position:static;grid-row:1}.building-detail-heading{padding-top:18px}.building-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.base-footnotes{grid-template-columns:1fr}.base-hero h2{font-size:32px}}@media(max-width:600px){.base-hero{padding:20px;min-height:235px}.base-hero h2{font-size:32px}.base-hero footer{gap:12px;font-size:12px}.base-metrics{grid-template-columns:repeat(2,1fr)}.building-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-card{padding:12px}.building-card h3{font-size:20px}.base-section-title{align-items:flex-start}.base-section-title select{max-width:112px;font-size:var(--type-field)}.base-section-title h2{font-size:23px}.project-controls{flex-direction:column;align-items:stretch;padding:15px}.project-heading{padding:17px;gap:12px}.construction-emblem{width:39px;height:39px;flex-shrink:0}.project-heading h3{font-size:21px}.project-heading>strong{font-size:18px}.empty-project{padding:20px;gap:12px}.empty-project svg{flex-shrink:0}.project-controls p{margin:0}}.workspace.base-workspace{grid-template-columns:1fr}.base-workspace>.right-column{display:none}.game-area .building-card.locked{opacity:1}.game-area .building-card{display:flex;flex-direction:column;padding:16px}.game-area .building-card p{margin-top:auto;padding-top:8px}.game-area .building-card-art{height:144px;width:100%}.game-area .building-details{grid-column:2;grid-row:1;position:static;scroll-margin-top:220px}.game-area .base-catalog{grid-column:1;grid-row:1;min-width:0}.base-hub,.base-settlement-section{display:grid;gap:var(--space-6);min-width:0}.base-section-nav{display:flex;flex-wrap:wrap;gap:var(--space-2)}.base-section-nav [aria-pressed=true]{background:var(--surface-selected);color:var(--accent-hover);border-color:var(--accent)}.base-overview-note{color:var(--text-secondary);font-size:var(--type-meta)}.game-area .base-feature{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start}.game-area .base-feature>.base-overview-note{grid-column:1 / -1;grid-row:1}.game-area .base-feature>.construction-panel{grid-column:1;grid-row:2}.game-area .base-feature>.base-metrics{grid-column:1;grid-row:3}.game-area .base-feature>.panel:not(.construction-panel){grid-column:1;grid-row:4}.game-area .base-grid-layout{display:contents}.game-area .base-grid-layout>.building-details{grid-column:2;grid-row:2 / span 4}.game-area .base-grid-layout>.base-catalog{grid-column:1;grid-row:5}.game-area .base-footnotes{grid-column:1 / -1}.building-art-disclosure{padding:0 16px}.building-art-disclosure>summary{min-height:44px;cursor:pointer;color:var(--accent);padding:8px 0}.game-area .building-details .upgrade-order{border-top:0}.game-area .base-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:1000px){.game-area .base-feature{grid-template-columns:minmax(0,1fr)}.game-area .base-feature>.construction-panel{grid-row:2}.game-area .base-feature>.base-metrics{grid-row:4}.game-area .base-feature>.panel:not(.construction-panel){grid-row:5}.game-area .base-grid-layout>.building-details{grid-column:1;grid-row:3}.game-area .base-grid-layout>.base-catalog{grid-column:1;grid-row:6}}@media(max-width:720px){.base-section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-area .building-details{scroll-margin-top:96px}}.base-systems{padding:20px;display:grid;gap:18px;min-width:0}.base-system-head,.base-card-heading,.base-system-tabs,.base-crew-picker{display:flex;align-items:center;justify-content:space-between;gap:12px}.base-system-head h3{font-size:24px;margin:4px 0}.base-slot-count{white-space:nowrap;color:var(--accent, #a6c177);border:1px solid #405447;border-radius:5px;padding:8px 12px;font-size:12px}.base-system-tabs{justify-content:flex-start;flex-wrap:wrap;border-bottom:1px solid #2d3e36;padding-bottom:15px}.base-system-tabs .selected{border-color:#b6c887;background:#283e2f;color:#e2ecc4}.base-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.base-system-card{padding:18px;background:#131f1b;border:1px solid #304036;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.base-system-card h3{margin:0;font-size:20px}.base-system-card p{line-height:1.5;margin:0;font-size:var(--type-body)}.base-system-card .button{margin-top:auto}.base-card-heading{width:100%;align-items:flex-start}.base-status{font-size:12px;letter-spacing:.05em;color:#a6b99b;text-align:right}.base-cost{color:#c8d6bd}.base-cost span{color:#8b9d94;font-size:12px}.base-crew-picker{align-items:flex-end}.base-crew-picker label,.base-expansion-picker{display:grid;gap:6px;font-size:13px;min-width:0}.base-crew-picker .helper{max-width:390px;margin:0}.base-systems select,.base-systems input[type=number]{width:100%;min-width:0;background:#0e1814;border:1px solid #3a4d40;border-radius:4px;color:#dbe4d3;padding:9px;font:inherit}.base-project-progress{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #6d7150;border-radius:6px;padding:15px;background:#292c1e}.base-project-progress p{font-size:var(--type-body);margin:5px 0}.base-project-progress .helper{grid-column:2/-1}.base-systems progress{width:100%;height:7px;accent-color:#b6c887}.base-power-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.base-power-stats>div{display:grid;gap:6px;background:#14231c;border:1px solid #304637;padding:15px;border-radius:5px}.base-power-stats strong{font-size:23px;color:#d6e1b9}.base-power-stats span{font-size:12px;color:#9aa99d}.base-policy-editor{display:grid;gap:16px;min-width:0}.base-policy-editor>p{margin:0;font-size:var(--type-body);line-height:1.55}.base-policy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.base-policy-fields label,.base-reserve-fields label{display:grid;gap:7px;font-size:12px}.base-policy-check{display:flex;gap:9px;align-items:center;font-size:13px;line-height:1.5}.base-policy-check input{accent-color:#a7b97b}.base-reserve-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.base-reserve-fields label{text-transform:capitalize}.base-policy-editor>.button{justify-self:start}.base-policy-editor h3{font-size:18px;margin:0}.base-systems>.helper{margin:0;line-height:1.55}@media(max-width:650px){.base-systems{padding:14px;gap:14px}.base-system-grid,.base-policy-fields{grid-template-columns:1fr}.base-system-head h3{font-size:21px}.base-system-head{align-items:flex-start}.base-slot-count{padding:6px;font-size:12px}.base-system-tabs{gap:6px}.base-system-tabs .button{font-size:var(--type-control);padding:8px 9px}.base-crew-picker{align-items:stretch;flex-direction:column}.base-crew-picker .helper{max-width:none}.base-power-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.base-power-stats strong{font-size:20px}.base-project-progress{grid-template-columns:auto 1fr}.base-project-progress>.button{grid-column:2}.base-reserve-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.base-policy-fields select{font-size:var(--type-field)}.base-project-progress .helper{grid-column:1/-1}}.base-customization{display:grid;gap:20px}.customization-body{padding:22px}.customization-body h3{margin:8px 0;font-family:Barlow Condensed,sans-serif;font-size:24px}.customization-body p{line-height:1.55;margin:8px 0 12px}.customization-benefit{color:var(--accent-green, #8fb583)}.facility-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px}.facility-order{border-left:1px solid var(--border);padding-left:24px}.facility-order label{display:grid;gap:8px;margin:12px 0}.facility-order select{width:100%;min-width:0}.specialization-heading{display:flex;gap:20px;align-items:center;justify-content:space-between}.specialization-heading .button{flex-shrink:0}.specialization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.specialization-card{display:flex;flex-direction:column;padding:18px;border:1px solid var(--border);background:var(--surface-inset, var(--surface-panel))}.specialization-card.installed{border-color:var(--accent-green, #8fb583)}.specialization-card .specialization-cost{margin-top:auto;padding-top:12px}.specialization-card .button{width:100%}@media(max-width:700px){.customization-body{padding:16px}.facility-layout,.specialization-grid{grid-template-columns:1fr}.facility-order{padding:16px 0 0;border-left:0;border-top:1px solid var(--border)}.specialization-heading{align-items:stretch;flex-direction:column;gap:8px}}.garage-fleet{padding:22px;display:grid;gap:20px;min-width:0}.garage-heading{display:flex;justify-content:space-between;align-items:start;gap:24px}.garage-heading h3{margin:0 0 6px;font-size:24px;font-family:Barlow Condensed,sans-serif}.garage-heading p,.garage-vehicle-body p{font-size:var(--type-body);line-height:1.55;margin:6px 0 12px}.garage-heading label{display:grid;gap:8px;min-width:220px;font-size:12px}.garage-heading select{width:100%;max-width:320px}.garage-vehicles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.garage-vehicle{border:1px solid var(--border);background:var(--surface-inset, #161918);border-radius:6px;overflow:hidden;min-width:0;display:flex;flex-direction:column}.garage-vehicle-art{background:radial-gradient(ellipse at center,#343a33,#161b18);position:relative}.garage-vehicle-art img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}.garage-vehicle-art span{position:absolute;left:12px;top:12px;font-size:12px;letter-spacing:.1em;background:#171b18ed;color:#d7dcbf;padding:5px 7px;border:1px solid #515948}.garage-vehicle-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}.garage-vehicle-body h3{margin:0;font-size:23px;font-family:Barlow Condensed,sans-serif}.vehicle-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;margin:0 0 12px}.vehicle-stats div{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:3px 5px}.vehicle-stats dt{font-size:12px;color:#b3b9ac}.vehicle-stats dd{margin:0;grid-column:2;font-size:14px;color:#e0e4d8}.vehicle-condition span{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.vehicle-condition small,.garage-vehicle-body small,.garage-order small{font-size:12px;line-height:1.5;color:#b3b9ac;display:block}.vehicle-condition.needs-repair strong{color:#e2ab77}.garage-cost{color:#d7c9a0}.garage-discovery{color:#bfc4b5}.garage-vehicle-body>.button{margin-top:auto}.vehicle-upgrades{border-top:1px solid var(--border);padding-top:12px;margin-top:8px}.vehicle-upgrades summary{cursor:pointer;font-size:12px;color:#d2dbb7}.vehicle-upgrades>div{margin-top:14px;padding:10px;background:#101411;display:grid;gap:7px;font-size:12px}.vehicle-upgrades p{margin:0;font-size:var(--type-body)}.vehicle-upgrades button{justify-self:start}.garage-auto{display:flex;gap:9px;align-items:center;font-size:13px;line-height:1.5}.garage-order{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #606a48;padding:16px;background:#292e20;border-radius:5px}.garage-order p{margin:6px 0;font-size:var(--type-body)}.garage-order small{grid-column:2/-1}.vehicle-transport-note{grid-column:1/-1;border-left:2px solid #87966a;padding-left:10px;font-size:12px;line-height:1.5}@media(max-width:1100px){.garage-vehicles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.garage-fleet{padding:14px}.garage-heading{flex-direction:column;gap:12px}.garage-heading label{min-width:0;width:100%}.garage-vehicles{grid-template-columns:1fr}.garage-order{grid-template-columns:auto 1fr}.garage-order .button{grid-column:2;justify-self:start}}.relocation-body,.relocation-confirm{padding:16px}.relocation-body p,.relocation-confirm p{line-height:1.5;color:var(--text-secondary);margin:8px 0}.relocation-body h3{margin:8px 0;font:600 25px Barlow Condensed,sans-serif}.relocation-current{display:flex;align-items:center;justify-content:space-between;gap:16px}.relocation-current .button{flex-shrink:0}.relocation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px;margin-top:16px}.relocation-card{padding:16px;min-width:0;border:1px solid var(--border);background:var(--surface-panel);display:flex;flex-direction:column}.relocation-card.current{border-color:var(--accent-border)}.relocation-card .relocation-picture{position:relative;padding:0;margin:-16px -16px 12px;width:calc(100% + 32px);height:140px;border:0;border-bottom:1px solid var(--border);background:var(--surface-inset);overflow:hidden;cursor:pointer}.relocation-picture img{width:100%;height:100%;object-fit:cover;object-position:center}.relocation-picture span{position:absolute;right:8px;bottom:8px;padding:4px 7px;background:color-mix(in srgb,var(--surface-inset) 85%,transparent);color:var(--text-primary);font-size:12px}.relocation-picture:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.relocation-picture-preview{margin:0}.relocation-picture-preview img{display:block;width:100%;height:auto}.relocation-picture-preview figcaption{padding:12px 16px;color:var(--text-secondary);line-height:1.5}.relocation-card .eyebrow{display:flex;gap:8px;align-items:center}.relocation-card .relocation-benefits{color:var(--positive)}.relocation-card .relocation-requirements{font-size:12px;border-top:1px solid var(--border);padding-top:10px}.relocation-card .button{width:100%;white-space:normal;justify-content:center}.relocation-costs{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;font-size:12px;line-height:1.5;margin-top:auto;padding-top:12px}.relocation-costs dt{color:var(--text-muted)}.relocation-costs dd{margin:0;overflow-wrap:anywhere}.relocation-worker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.relocation-worker select{padding:8px;max-width:100%}.relocation-progress,.relocation-history{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}@media(max-width:700px){.relocation-current{align-items:flex-start;flex-direction:column}.relocation-card{padding:14px}.relocation-card .relocation-picture{margin:-14px -14px 12px;width:calc(100% + 28px)}}.settlement-growth-sprite{display:block;width:220px;max-width:100%;aspect-ratio:5 / 4;flex-shrink:0}.world-settlements{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.world-pin.home.has-growth,.world-pin.home.has-growth.current-home{width:25px;height:25px;border-radius:50%;box-shadow:0 1px 3px #0008}.settlement-growth-details{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:14px;border:1px solid #3a4735;border-radius:4px;background:radial-gradient(ellipse at 20% 65%,#35402a55,#141c15)}.settlement-growth-details>div{flex:1;min-width:180px}.settlement-growth-details h4{margin:0 0 8px;color:#d1ddbd}.settlement-growth-details p{font-size:var(--type-body);color:#b4bea8}.settlement-growth-details small{display:block;margin-top:10px;color:#99a48d}.settlement-growth-buildings{display:flex;flex-wrap:wrap;gap:6px}.settlement-growth-buildings span{padding:4px 7px;border:1px solid #43503a;border-radius:3px;font-size:12px;color:#c8d2bb}@media(max-width:600px){.settlement-growth-sprite{width:160px;margin:auto}.settlement-growth-details>div{min-width:0;flex-basis:100%}}.world-pin.route.has-landmark,.world-pin.site.has-landmark{width:32px;height:32px;min-width:32px;min-height:32px}.world-landmark-portrait{margin:16px 0 0;padding:12px;border:1px solid #3d4936;border-radius:4px;background:radial-gradient(ellipse at center,#34413270,#151d1700 75%)}.world-landmark-portrait>svg{display:block;width:100%;max-width:280px;aspect-ratio:4 / 3;margin:0 auto;border-radius:3px;overflow:hidden}.world-landmark-portrait>svg.night{filter:brightness(.58) saturate(.7)}.world-landmark-portrait figcaption{margin-top:8px;color:#d1d9be;font-size:12px;text-align:center}.world-landmark-portrait figcaption span{display:block;margin-top:4px;color:#9ca58f;font-size:11px}.world-faction-portrait>svg{max-width:400px}.world-faction-portrait image.night{filter:brightness(.58) saturate(.7)}.world-map-workspace{grid-template-columns:minmax(0,1fr)!important}.world-feature{grid-column:1/-1;min-width:0;color:#d9dfd3}.world-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:4px 0 24px}.world-kicker{display:flex;align-items:center;gap:8px;color:#a4bc78;font:10px IBM Plex Mono,monospace;letter-spacing:1.6px;text-transform:uppercase}.world-heading h2{font:600 clamp(28px,3vw,42px) "Barlow Condensed",sans-serif;margin:12px 0 8px;letter-spacing:.4px}.world-heading p{color:#969f91;margin:0;font-size:14px}.world-counts{display:flex;gap:26px}.world-counts>span{font:9px IBM Plex Mono,monospace;color:#939d8c;white-space:nowrap}.world-counts b{display:block;font:500 34px Barlow Condensed,sans-serif;color:#d1ddbd;margin-bottom:6px}.world-counts small{font-size:17px;color:#65705f;margin-left:3px}.world-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.world-region-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#151d19;border-bottom:1px solid #343d31}.world-region-controls label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:#a9b29e;min-width:0}.world-region-controls select{min-width:0;max-width:100%;background:#202920;color:#d9dfd3;border:1px solid #4a5944;padding:7px}.world-note-editor textarea{display:block;box-sizing:border-box;width:100%;resize:vertical;border:1px solid #4a5944;border-radius:3px;padding:9px;color:#d9dfd3;background:#101813;font:inherit;margin:10px 0}.world-note-dot{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;width:14px;height:14px;background:#c8b77a;border:1px solid #1b211b;border-radius:3px;color:#152018}.world-atlas,.world-details,.world-reports{border:1px solid #343d31;background:#171d18;border-radius:5px;overflow:hidden}.world-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px;background:#1e251e;border-bottom:1px solid #343d31}.world-toolbar [role=group]{display:flex;gap:3px;flex-wrap:wrap}.world-toolbar button,.world-map-controls button{border:1px solid transparent;background:transparent;color:#a9b29e;padding:7px 10px;border-radius:3px;font-size:12px;cursor:pointer}.world-toolbar button[aria-pressed=true]{background:#35432a;border-color:#627747;color:#d8e8b8}.world-toolbar label{display:flex;align-items:center;gap:7px;font-size:11px;color:#a5af9d}.world-feature input[type=checkbox]{accent-color:#a7bd79}.world-viewport{position:relative;overflow:hidden;aspect-ratio:1000 / 630;min-height:0;background:#10191c;touch-action:pan-y;isolation:isolate}.world-canvas{position:absolute;inset:0;transform-origin:center;-webkit-user-select:none;user-select:none}.world-terrain{width:100%;height:100%;position:absolute;inset:0}.world-district{fill:none;stroke:#d8d2b7;stroke-opacity:.13;stroke-width:1}.world-district.selected{fill:none;stroke:#d5dd9c;stroke-opacity:.9;stroke-width:1.8}.world-district.secured{stroke-opacity:.22}.world-road{fill:none;stroke:#c4bca1;stroke-width:1.1;stroke-dasharray:4 5;opacity:.55}.world-view-buttons{display:flex;gap:8px;flex-wrap:wrap}.world-view-buttons .button{display:flex;align-items:center;gap:7px}.world-pin.route{border-radius:4px;border-color:#cfbf8f}.world-pin.faction{border-radius:4px 12px 4px 4px}.world-pin.site{border-radius:50%}.world-pin.state-locked:not(.region){border-style:dashed;color:#a7ada7}.world-pin.state-recovered:not(.region){border-color:#708778;color:#89a38c;background:#152119e8}.world-pin.state-restored:not(.region),.world-pin.state-cleared:not(.region),.world-pin.state-secured:not(.region){border-color:#a1bd7b}.world-pin.state-hostile{border-color:#d47261;color:#f1927f}.world-kind-badge,.world-state-badge{position:absolute;display:grid;place-items:center;width:13px;height:13px;border:1px solid #827953;border-radius:3px;background:#22271b;color:#e7d39a}.world-kind-badge{left:-5px;bottom:-5px}.world-state-badge{right:-5px;top:-5px;color:#b8d596;border-color:#7e996d}.world-state-badge.locked{color:#bec4ba;border-color:#7a8477}.world-state-badge.recovered{color:#96ac9a;border-color:#637a6c}.world-pin-label small{display:block;font-size:9px;margin-top:3px;color:#aebaa6}.world-state-legend{display:flex;gap:15px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid #2b352b;font-size:10px;color:#a5b29e}.world-state-legend span{display:flex;align-items:center;gap:5px}.world-state-legend .recovered{color:#829887}.world-state-legend i{width:8px;height:8px;border:1px solid #cfc99e;border-radius:2px}.world-pin.region{z-index:1;width:128px}.world-pin.region.selected{outline:none}.world-pin.region span{font-size:clamp(12px,1.7vw,22px)}@media(min-width:1200px){.world-layout{grid-template-columns:minmax(0,1fr) 310px}.world-details{display:block!important;position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;padding:16px}.world-details .settlement-growth-details{padding:8px;gap:10px}.world-details .settlement-growth-sprite{width:100%}.world-details .settlement-growth-details>div{min-width:0}.world-details h3{font-size:26px}}.world-layout.expanded{position:fixed;inset:8px;z-index:1000;background:#0d1510;padding:12px;border:1px solid #5c6b49;border-radius:6px;box-shadow:0 0 0 20px #000c;overflow:auto;grid-template-columns:minmax(0,1fr) 330px;align-items:start;align-content:start;grid-auto-rows:max-content}.world-layout.expanded .world-details{display:block;position:sticky;top:0;max-height:calc(100dvh - 42px);overflow:auto;padding:16px}.world-layout.expanded .world-viewport{width:min(100%,calc((100dvh - 245px) * 1000 / 630));margin:auto;aspect-ratio:1000/630}.world-layout.expanded .world-live{max-height:100px;overflow:auto}@media(max-width:900px){.world-layout.expanded{inset:0;border-radius:0;padding:8px;grid-template-columns:minmax(0,1fr)}.world-layout.expanded .world-details{position:static;max-height:none}.world-layout.expanded .world-viewport{width:100%}}@media(prefers-reduced-motion:reduce){.world-live-path,.world-pin.active{animation:none}}.world-road.cleared{stroke:#c4d1a3;stroke-dasharray:none;opacity:.7}.world-live-path{stroke:#c1cc87;stroke-width:1.8;stroke-dasharray:7 8;opacity:.7;fill:none;animation:world-march 12s linear infinite}.world-pin{position:absolute;padding:0;transform:translate(-50%,-50%);width:30px;height:30px;display:grid;place-items:center;border-radius:5px;border:1px solid #c6c1a1;color:#e3dfcc;background:#111818ed;cursor:pointer;z-index:2;box-shadow:0 2px 8px #0009;transition:border-color .15s,background .15s}.world-pin:not(.region)>svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.world-pin.home{color:#e4dfca;border-color:#bcb79d}.world-pin.threat{color:#ff725d;border-color:#dc6654;box-shadow:0 0 12px #c9423940;z-index:8}.world-horde-path{fill:none;stroke:#e66c54;stroke-width:2;stroke-dasharray:5 5;opacity:.8}.world-horde-intel{border-top:1px solid #704339;padding-top:12px}.world-pin.faction{color:#c6d5d3;border-color:#9bb7b2}.world-pin.current-home{width:38px;height:38px;background:#c3cf95;color:#19211b;border-color:#e8efc5;box-shadow:0 0 12px #c1d28b45}.world-pin.selected{outline:2px solid #e0d9a1;outline-offset:4px;z-index:5}.world-pin.active:after{content:"";position:absolute;inset:-6px;border:1px dashed #cdd697;border-radius:inherit;pointer-events:none}.world-pin.unknown{opacity:.48}.world-pin.region{width:128px;height:auto;min-height:35px;box-shadow:none;background:transparent;border:0;border-radius:2px;font:600 20px Barlow Condensed,sans-serif;letter-spacing:1px;color:#e1dcc9;text-shadow:0 2px 3px #000,0 0 8px #000;text-transform:uppercase;gap:4px}.world-pin.region small{font:600 9px IBM Plex Mono,monospace;letter-spacing:.2px;text-shadow:none}.world-pin-label{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#121913ef;padding:5px 7px;border:1px solid #4c583f;border-radius:3px;white-space:nowrap;font:10px IBM Plex Mono,monospace;color:#e3e9d9;pointer-events:none}.world-pin:hover,.world-pin:focus-visible{z-index:8}.world-pin:hover .world-pin-label,.world-pin:focus-visible .world-pin-label,.world-pin.selected .world-pin-label{display:block}.world-mission-dot{position:absolute;right:-4px;top:-3px;width:8px;height:8px;background:#e5b15f;border-radius:50%}.world-map-controls{display:flex;align-items:center;position:absolute;right:12px;bottom:12px;z-index:10;background:#121a15ed;border:1px solid #46523b;border-radius:4px;padding:3px;gap:3px}.world-map-controls button{display:flex;align-items:center;min-height:30px;padding:5px 7px}.world-map-controls button:disabled{opacity:.3;cursor:default}.world-map-controls span{font:10px IBM Plex Mono,monospace;min-width:36px;text-align:center;color:#bdc7ac}.world-legend{display:flex;gap:16px;flex-wrap:wrap;padding:12px 16px;border-block:1px solid #343d31;color:#8f9b86;font:10px IBM Plex Mono,monospace}.world-legend span{display:flex;align-items:center;gap:5px}.world-legend-live{color:#c1cc87}.world-directory{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;padding:16px}.world-directory label:first-child{display:flex;gap:9px;align-items:center}.world-directory input,.world-directory select{width:100%;min-width:0;background:#111711;border:1px solid #3f4a36;color:#ced7c2;border-radius:3px;padding:10px;font:12px Barlow,sans-serif}.world-location-select{font-size:10px;color:#a0ac95;display:flex;gap:8px;align-items:center}.world-live{padding:0 16px 14px}.world-live h3,.world-reports h3{display:flex;align-items:center;gap:8px;font:500 18px Barlow Condensed,sans-serif;margin:8px 0 12px}.world-live h3>span,.world-reports h3>span{font:10px IBM Plex Mono,monospace;color:#8d9a80;margin-left:auto}.world-live>p{font-size:13px;color:#8c9784;line-height:1.6}.world-live>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;text-align:left;border:0;border-top:1px solid #313a2d;background:none;color:#c6d1b7;cursor:pointer}.world-live>button>span:last-child{display:flex;align-items:center;gap:7px;font:10px IBM Plex Mono,monospace;white-space:nowrap}.world-live b{font-size:13px;font-weight:500}.world-live small{display:block;font-size:11px;color:#8c9981;margin-top:4px}.world-live .alert{color:#e0a67a}.world-details{padding:0 18px}.world-details>div,.world-details>section,.world-details>fieldset{padding:18px 0;border-bottom:1px solid #333d2f}.world-details>div:last-child,.world-details>section:last-child{border-bottom:0}.world-detail-title h3{font:600 29px Barlow Condensed,sans-serif;margin:12px 0}.world-details p{font-size:13px;line-height:1.55;color:#a0ab95;margin:9px 0}.world-status{display:inline-flex;gap:5px;align-items:center;font:10px IBM Plex Mono,monospace;color:#bdd48a;background:#303e25;padding:6px 8px;border-radius:2px}.world-status.locked{color:#c6b692;background:#393226}.world-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.world-details .button{font-size:12px;min-height:36px;padding:8px 12px}.world-details h4{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;margin:0 0 9px;color:#d4dcc8}.world-details .world-blocked{color:#b0a386;font-size:11px;line-height:1.5;display:block;margin-top:9px}.world-details .world-reward{color:#b4c992;font-size:12px}.world-discovery{border-left:2px solid #8b9a63;padding-left:9px;font-style:italic}.world-territory span{color:#56604d;margin:0 5px}.world-crew{border:0;margin:0;min-width:0}.world-crew legend{padding-top:18px;font-size:14px;font-weight:600;width:100%}.world-crew legend span{float:right;color:#b4c992;font:11px IBM Plex Mono,monospace}.world-crew>p{margin-top:0;font-size:11px}.world-crew label{display:flex;gap:9px;align-items:center;padding:9px 0}.world-crew label b{font-size:12px;font-weight:500}.world-crew label small{display:block;font-size:10px;color:#93a082;margin-top:4px}.world-crew .unavailable{opacity:.5}.world-order-meta{display:flex;flex-direction:column;gap:6px;font:10px IBM Plex Mono,monospace;color:#c7bb98;line-height:1.6;margin:12px 0}.world-current{background:#26301f;margin-inline:0;padding-inline:12px!important}.world-reports{padding:16px 20px;margin-top:18px}.world-reports p{display:flex;gap:16px;line-height:1.6;font-size:12px;color:#a7b19c;border-top:1px solid #30392c;padding-top:12px;margin-bottom:0}.world-reports p>span{flex:0 0 65px;color:#718165;font:10px IBM Plex Mono,monospace;line-height:1.8}.world-footer{display:flex;justify-content:space-between;gap:15px;padding:16px 2px;font:9px IBM Plex Mono,monospace;color:#899578;line-height:1.7;letter-spacing:.5px}.world-footer span{color:#69745e}.world-feature button:focus-visible,.world-feature input:focus-visible,.world-feature select:focus-visible{outline:2px solid #d8eaa4;outline-offset:3px}@keyframes world-march{to{stroke-dashoffset:-120}}@media(prefers-reduced-motion:reduce){.world-live-path{animation:none}}@media(max-width:1100px){.world-heading{align-items:start;flex-direction:column}.world-counts{gap:30px}.world-counts b{font-size:26px}.world-layout{grid-template-columns:minmax(0,1fr)}.world-viewport{min-height:0}.world-pin.region{font-size:18px;width:128px;letter-spacing:.3px}.world-pin.region small{font-size:7px}.world-pin{width:27px;height:27px}}@media(max-width:850px){.world-layout{grid-template-columns:minmax(0,1fr)}.world-viewport{min-height:0}.world-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.world-detail-title,.world-details .world-current{grid-column:1/-1}.world-footer{flex-direction:column}.world-heading{gap:18px}}@media(max-width:520px){.world-counts{gap:20px}.world-counts>span{font-size:8px}.world-heading h2{font-size:30px}.world-viewport{min-height:0}.world-pin{width:25px;height:25px}.world-pin svg{width:13px}.world-pin.region{font-size:11px;width:92px}.world-pin.region small{font-size:6px}.world-pin-label{font-size:8px;max-width:125px;white-space:normal;text-align:center}.world-directory{grid-template-columns:1fr}.world-details{display:block}.world-reports{padding:12px}.world-reports h3{flex-wrap:wrap}.world-legend{gap:11px;font-size:9px}.world-toolbar{padding:8px}.world-toolbar button{padding:7px}.world-reports p{display:block}.world-reports p>span{display:block;margin-bottom:3px}}.world-map-workspace>.right-column{display:none}.world-viewport:focus-visible{outline:2px solid #d8eaa4;outline-offset:-3px}.world-viewport{width:100%;min-width:0;box-sizing:border-box}.world-pin.site{color:#d8c797;border-color:#b7a571;background:#332d20}.world-pin.signal{color:#99d8de;border-color:#62a9b2;background:#193137}.world-signal-banner{display:flex;gap:14px;align-items:center;border:1px solid #48666a;background:#182b2c;padding:14px 18px;margin-bottom:18px;color:#add3d4}.world-signal-banner>div{flex:1;min-width:0}.world-signal-banner p{margin:5px 0 0;font-size:13px;color:#b6c5bd}.world-signal-banner .button{flex-shrink:0}.world-toolbar [role=group]{flex-wrap:wrap}.world-intel .text-button{display:flex;align-items:center;gap:6px;margin:8px 0}.world-convoy-route{display:grid;gap:7px;padding:14px;color:#bdc8b6;font-size:13px}.world-convoy-route select{width:100%;min-width:0;padding:9px;color:#dce6d1;border:1px solid #485344;background:#141d18}@media(max-width:600px){.world-signal-banner{flex-wrap:wrap;padding:12px}.world-signal-banner .button{width:100%}.world-counts{flex-wrap:wrap}}.world-environment{position:absolute;inset:0;pointer-events:none}.world-environment img{display:block;width:100%;height:100%;object-fit:fill}.world-region-detail{position:absolute;pointer-events:none;object-fit:fill;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.world-environment.night,.world-region-detail.night,.world-painted-terrain.night{filter:brightness(.58) saturate(.7)}.world-painted-terrain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.world-pin:not(.region){box-shadow:none;background:#111818bb}.world-pin.selected:not(.region),.world-pin:focus-visible:not(.region){background:#19241eea}.world-pin.current-home:not(.region){color:#e5efb7;background:#263525ef;border-color:#d2e49a}.world-terrain{pointer-events:none}.world-selection-glow{fill:none;stroke:#d5dd9c;stroke-width:5;opacity:.38}.world-fog-edge{fill:none;stroke:#7d9295;stroke-width:12;stroke-opacity:.035}.world-survey-stamp{position:absolute;left:16px;top:8px;pointer-events:none;z-index:3;color:#d3ceba;font:600 9px IBM Plex Mono,monospace;letter-spacing:.8px;text-shadow:0 2px 5px #000}.world-survey-stamp small{display:block;margin-top:4px;font-size:6px;color:#a6ae9c;letter-spacing:.4px}.world-north{position:absolute;right:16px;top:14px;z-index:3;width:40px;padding:6px 4px;border:1px solid #b7b6a34d;background:#1018199e;text-align:center;pointer-events:none;color:#ddd8c5}.world-north b{font:14px IBM Plex Mono,monospace}.world-north svg{display:block;height:32px;margin:4px auto 0;fill:#d8d4bd}.world-risk{display:inline-flex;align-items:center;padding:2px 5px;border-radius:1px;text-transform:uppercase;white-space:nowrap;font:600 9px IBM Plex Mono,monospace}.world-risk.low{color:#d4e3ac;background:#3a5028}.world-risk.medium{color:#ffe0a0;background:#825c23}.world-risk.high{color:#ffc2ae;background:#853729}.world-risk.extreme{color:#ffd6c4;background:#913423}.world-pin.region em{font:7px IBM Plex Mono,monospace;font-style:normal;letter-spacing:1px;color:#a3ada8}.world-pin.region.unknown{opacity:.85}.world-pin.region.selected{outline:0;color:#f1edc9}.world-pin.region:hover span,.world-pin.region:focus-visible span{color:#fff3c2}.world-pin.current-home .world-pin-label{color:#e1e7c3;border-color:#8f9e67}.world-marker-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.world-marker-leaders line{stroke:#d5d0ab;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.45}.world-marker-leaders circle{fill:#e0d7ac;opacity:.7}.world-marker-leaders .selected line{opacity:.85}.world-pin:hover:not(.region){background:#29322def;border-color:#f3e8ba}.world-pin.world-threat{border-color:#cf634e;color:#ef7960;background:#221411ef}.world-pin-label{border-color:#686c5c;background:#0d1516f2}.world-pin:is(.route,.site):not(.region){width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:none;color:#ded7b9}.world-pin:is(.route,.site)>svg{width:13px;height:13px;stroke-width:1.7;filter:drop-shadow(0 1px 1px #08100c) drop-shadow(0 0 2px #08100c)}.world-pin:is(.route,.site) .world-kind-badge,.world-pin:is(.route,.site) .world-state-badge{display:none}.world-pin:is(.route,.site):is(.selected,:hover,:focus-visible){background:#18231dcc;color:#f2ebc8}.world-pin:is(.route,.site):is(.selected,:focus-visible){outline:1px solid #e0d9a1;outline-offset:0}.world-pin:is(.route,.site):is(.selected,:hover,:focus-visible)>svg{width:17px;height:17px}.world-pin:is(.route,.site):is(.selected,:hover,:focus-visible) .world-state-badge{display:grid}.world-pin:is(.route,.site).active:after{inset:5px;border-radius:4px}.world-pin:is(.route,.site).state-recovered:not(:hover):not(.selected){color:#abb895}.world-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.world-detail-title{grid-column:1/-1}.world-detail-title h3{margin:8px 0 12px}.world-detail-risk{margin:0 10px 0 0;vertical-align:middle}.world-details .world-terrain-note{font-size:11px;color:#8d998c}.world-details .world-current{grid-column:1/-1}.world-possible-gear{margin:12px 0;font-size:12px;color:#c5cdbb}.world-possible-gear summary{cursor:pointer}.world-possible-gear small{color:#909b89;font-size:10px}.world-boss-intel{border-top:1px solid #3f3b30;margin-top:14px;padding-top:14px}.world-boss-intel h4{color:#d0a795}@media(min-width:1101px){.world-heading{margin-bottom:18px}.world-heading h2{font-size:32px;margin:8px 0}.world-counts{gap:22px}.world-counts b{font-size:29px}}@media(max-width:1100px){.world-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.world-survey-stamp{top:9px;left:10px;font-size:8px}.world-survey-stamp small{font-size:6px;margin-top:3px}.world-north{right:8px;top:8px;width:25px;padding:4px 2px}.world-north b{font-size:10px}.world-north svg{height:21px;margin-top:2px}.world-map-controls{right:7px;bottom:7px}.world-map-controls button{min-height:28px;padding:4px 5px}.world-details{display:block}.world-pin.current-home{width:30px;height:30px}.world-pin.region em{font-size:5px}}.world-pin-label{display:block;visibility:hidden;max-width:240px;white-space:normal;width:max-content}.world-pin:is(:hover,:focus-visible,.selected) .world-pin-label{visibility:visible}.world-pin-label.above{top:auto;bottom:calc(100% + 8px)}.world-pin:is(.route,.site)>svg{width:15px;height:15px;stroke-width:2.2;color:#eee4bc;filter:drop-shadow(0 1px 1px #050a07) drop-shadow(0 0 1.5px #050a07)}.world-habitation{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.world-smoke{opacity:.8}.world-travel{position:absolute;z-index:5;display:grid;place-items:center;width:28px;height:28px;min-width:28px;padding:0;border:1px solid #bccb9290;border-radius:50%;color:#e6edc7;background:#17291fe6;box-shadow:0 1px 4px #0009}.world-travel>svg{width:15px;height:15px}.world-travel .world-heading-arrow{position:absolute;inset:-6px;width:38px;height:38px;pointer-events:none}.world-travel:hover,.world-travel:focus-visible{z-index:9;outline:1px solid #f0e6a3}.world-travel:is(:hover,:focus-visible) .world-pin-label{visibility:visible}.world-horde-heading{position:absolute;inset:-6px;width:37px!important;height:37px!important;color:#ef7960}@media(max-width:520px){.world-pin-label{max-width:210px}}.item-art-image{display:block;width:100%;height:auto;object-fit:contain;background:#171715}.item-art-thumb{width:48px;height:48px;flex-shrink:0;border:1px solid var(--border)}.item-art-button{display:block;position:relative;width:100%;height:140px;margin:12px 0;padding:0;overflow:hidden;border:1px solid var(--border);background:#171715;cursor:pointer;color:var(--text-primary)}.item-art-button>img{height:100%;width:100%;object-fit:contain}.item-art-button>span{position:absolute;right:0;bottom:0;display:flex;gap:6px;align-items:center;padding:5px 7px;background:#0a0c0be0;color:#e8dfca;font-size:12px}.item-art-button:hover{border-color:var(--accent)}.item-art-compact{flex-shrink:0;width:48px;height:48px;margin:0}.item-art-compact>span{padding:2px}.modal:has(.item-art-gallery){width:min(620px,calc(100vw - 32px));max-width:620px}.item-art-gallery{padding:16px}.item-art-gallery>img{max-height:65vh;object-fit:contain}.item-art-gallery>p{margin:12px 0 0;color:var(--text-secondary);font-size:var(--type-body)}.collection-entry-name,.mod-kit-entry,.reclaim-item-name,.recipe-art-row{display:flex;align-items:center;gap:10px;min-width:0}.collection-entry-name>strong{font:600 20px Barlow Condensed,sans-serif}.recipe-art-row{margin:10px 0}.loadout-art{margin:8px 0}.resource-details>.item-art-image{max-height:180px;margin-bottom:14px}.inventory-icon>.item-art-image{height:100%}.weather-panel{padding:18px}.weather-panel p{color:var(--muted);line-height:1.6;margin:8px 0}.weather-panel h3{margin:0}.weather-current{display:flex;align-items:center;gap:14px}.weather-current>svg{color:var(--gold);flex-shrink:0}.weather-panel .helper{font-size:12px}.weather-panel .button{margin-top:8px;white-space:normal}.seasonal-event{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.seasonal-event h3{margin-top:8px}.endgame-feature{display:grid;gap:22px;min-width:0}.endgame-hero{padding:36px;border:1px solid var(--accent-border);background:linear-gradient(90deg,color-mix(in srgb,var(--surface-panel) 96.1%,transparent),color-mix(in srgb,var(--surface-raised) 73.3%,transparent)),url(/assets/riverside-shelter.png) center/cover}.endgame-hero h2{font:800 clamp(32px,4vw,54px)/1.1 "Barlow Condensed",sans-serif;color:var(--accent);margin:12px 0}.endgame-hero p{max-width:660px;color:var(--text-secondary);font-size:16px;line-height:1.6}.endgame-metrics{display:flex;flex-wrap:wrap;gap:28px;margin-top:26px;font:10px IBM Plex Mono,monospace;color:var(--text-secondary)}.endgame-metrics b{display:block;color:var(--accent);font:700 27px Barlow Condensed,sans-serif;margin-bottom:5px}.endgame-intro{padding:0 20px;line-height:1.6;color:var(--text-secondary)}.frontier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:4px 20px 20px}.frontier-card{border:1px solid var(--border);background:var(--surface-panel);min-width:0}.frontier-card.cleared{border-color:var(--accent-border)}.frontier-art{height:140px;display:flex;align-items:flex-end;background:linear-gradient(0deg,var(--surface-panel),transparent),url(/assets/scavenging-locations.png) center/cover}.frontier-art span{padding:14px;font:10px IBM Plex Mono,monospace;color:var(--accent)}.frontier-body{padding:0 16px 18px}.frontier-body h3,.legacy-upgrade h3,.legacy-callout h3{font:700 25px Barlow Condensed,sans-serif;margin:10px 0}.frontier-body p{color:var(--text-secondary);line-height:1.55}.frontier-lock{color:var(--accent);font-size:12px;min-height:32px}.relic-label{color:var(--accent);border-top:1px solid var(--border);padding-top:14px;margin-top:20px;font:600 15px Barlow Condensed,sans-serif}.endgame-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.endgame-columns .helper,.endgame-columns .frontier-lock,.endgame-columns .relic-label{margin:14px 20px}.endgame-columns>.panel>.button,.endgame-columns>.panel>.text-button{margin:6px 0 16px 20px}.endgame-row{padding:16px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.endgame-row small{display:block;color:var(--text-secondary);margin-top:6px;line-height:1.5}.endgame-row button{flex-shrink:0}.campaign-progress{padding:16px;margin:20px;background:var(--surface-raised);border:1px solid var(--border-strong)}.campaign-progress small{display:block;margin-top:10px}.siege-number{font:800 55px Barlow Condensed,sans-serif;color:var(--accent);margin:20px}.siege-number span{display:block;font:11px IBM Plex Mono,monospace;letter-spacing:1px;margin-top:6px}.legacy-callout{display:flex;align-items:center;gap:20px;padding:22px;background:var(--surface-raised);border:1px solid var(--border-strong)}.legacy-callout div{flex:1}.legacy-callout p{color:var(--text-secondary);line-height:1.5}.legacy-overview{padding:24px;line-height:1.65;color:var(--text-secondary)}.legacy-reward{border-left:1px solid var(--border);padding-left:26px}.legacy-reward b{display:block;color:var(--accent);font:800 58px Barlow Condensed,sans-serif}.legacy-reward span,.legacy-reward small{display:block;margin-bottom:12px}.legacy-reward small{color:var(--text-secondary)}.legacy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}.legacy-upgrade{padding:20px;background:var(--surface-panel);border:1px solid var(--border)}.legacy-upgrade p{min-height:54px;color:var(--text-secondary);line-height:1.5}.legacy-upgrade button{margin-top:16px}.legacy-confirm{display:grid;gap:10px;margin:24px 0}.legacy-confirm input{padding:12px;border:1px solid var(--border-strong);background:var(--surface-inset);color:var(--text-primary)}.endgame-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:22px}.rarity-legendary{border-color:var(--danger-border)!important}.rarity-legendary .gear-header{color:var(--accent)}.rarity-unique{border-color:var(--danger-border)!important}.rarity-unique .gear-header{color:var(--accent)}@media(max-width:1000px){.frontier-grid,.legacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.endgame-columns{grid-template-columns:1fr}.legacy-reward{border-left:0;padding-left:0}}@media(max-width:600px){.endgame-hero{padding:22px}.frontier-grid,.legacy-grid{grid-template-columns:1fr}.endgame-row,.legacy-callout{flex-direction:column;align-items:stretch}.endgame-metrics{gap:20px}.frontier-art{height:120px}}.frontier-art{background-size:100% 100%,400% 200%;background-position:center,33.333% 0%}.frontier-1 .frontier-art{background-position:center,100% 100%}.frontier-2 .frontier-art{background-position:center,0% 100%}.campaign-strategy{display:grid;gap:8px;margin:16px 0}.campaign-strategy select{max-width:100%;color:#e0e7de;background:#151c1a;border:1px solid #3b4841;padding:10px;border-radius:4px}.campaign-orders{display:grid;gap:10px;margin-top:14px}.campaign-reports{padding:14px 0}.campaign-reports summary{cursor:pointer}.pets-feature{display:grid;gap:20px}.pet-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pet-roster-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:18px;color:var(--text-primary);text-align:left;background:var(--surface-panel);border:1px solid var(--border-strong);overflow-wrap:anywhere}.pet-roster-card.selected{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.pet-roster-card strong{font:600 24px Barlow Condensed,sans-serif}.pet-roster-card span,.pet-roster-card small{font-size:12px;line-height:1.6;color:var(--text-secondary)}.pet-roster-portrait{width:64px;height:64px;object-fit:contain;border:1px solid var(--border-strong);border-radius:3px}.pet-training-ranks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:20px 0;gap:12px}.pet-training-ranks li{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border);min-width:0}.pet-training-ranks span{color:var(--text-secondary);font-size:12px;line-height:1.6}.pet-training-ranks small{color:var(--accent)}.pet-training-ranks .complete{border-color:var(--accent)}.pet-intro,.pet-bond-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.pet-intro{color:var(--text-secondary);font-size:12px}.pet-dossier{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);border:1px solid var(--border-strong);background:#181c19}.pet-portrait{display:flex;flex-direction:column;gap:12px;padding:12px;min-height:330px;background:#101511}.pet-portrait img{width:100%;height:280px;min-height:0;flex:1;display:block;object-fit:contain;object-position:center}.pet-portrait>span{align-self:flex-start;display:flex;align-items:center;gap:8px;padding:9px 12px;background:#101511e8;color:#dcc38b;font-size:12px;letter-spacing:2px}.pet-dossier-copy{padding:30px;align-self:center;min-width:0}.pet-dossier-copy h2{font-size:clamp(28px,3vw,42px);line-height:1.12;margin:12px 0;overflow-wrap:anywhere}.pet-dossier-copy p,.pet-panel-body p{color:var(--text-secondary);line-height:1.65}.pet-trait{display:flex;align-items:center;gap:7px;color:#d8c18d;font-size:12px;margin:22px 0}.pet-bond-heading{font-size:12px;margin-bottom:10px}.pet-name-form{margin-top:24px}.pet-panels{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}.pet-panel-body{padding:20px}.pet-assignments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pet-assignment{display:flex;flex-direction:column;gap:12px;text-align:left;padding:18px;border:1px solid var(--border-strong);background:#161a17;color:var(--text-secondary);cursor:pointer}.pet-assignment strong{color:var(--text-primary)}.pet-assignment span{font-size:12px;line-height:1.6}.pet-assignment .pet-job-benefit{color:#d8c18d;margin-top:auto}.pet-work-progress{margin-top:20px}.pet-assignment.selected{border-color:#bd9c5a;background:#28271e}.pet-assignment.selected>svg{color:#dcc38b}.pet-assignment:disabled{cursor:default;opacity:.7}.pet-record{display:flex;flex-direction:column;gap:7px}.pet-record strong{font-size:30px;color:#d8c18d}.pet-record span{color:var(--text-secondary);font-size:12px}.pet-field-note{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border-strong);background:#20241c}.pet-field-note img{width:54px;height:54px;object-fit:contain;border-radius:3px}.pet-field-note>div{flex:1;min-width:0}.pet-field-note strong{overflow-wrap:anywhere}.pet-field-note p{margin:4px 0 0;font-size:var(--type-body);color:var(--text-secondary);line-height:1.5}.pet-field-note .button{flex-shrink:0}@media(max-width:1000px){.pet-panels{grid-template-columns:1fr}}@media(max-width:650px){.pet-roster,.pet-training-ranks{grid-template-columns:1fr}.pet-roster-card{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;row-gap:4px}.pet-roster-portrait{grid-row:span 3;align-self:center}.pet-dossier{grid-template-columns:1fr}.pet-portrait{min-height:290px}.pet-portrait img{height:260px}.pet-dossier-copy{padding:22px}.pet-assignments{grid-template-columns:1fr}.pet-field-note{flex-wrap:wrap}}.pet-roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pet-roster-card{display:grid;grid-template-columns:48px minmax(0,1fr);padding:12px;gap:3px 10px;align-content:start}.pet-roster-portrait{width:48px;height:48px;grid-row:span 3}.pet-roster-card strong{font-size:20px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pet-roster-card span,.pet-roster-card small{font-size:12px;line-height:1.4}.pet-rare{font:500 9px IBM Plex Mono,monospace;color:#ddc58d;border:1px solid #8e7848;padding:2px 4px;font-style:normal}.pet-roster-tools{display:flex;gap:12px;flex-wrap:wrap}.pet-roster-tools label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary);flex:1;min-width:180px}.pet-roster-tools input,.pet-roster-tools select{width:100%;padding:10px;border:1px solid var(--border-strong);background:var(--surface-panel);color:var(--text-primary)}.pet-rescue-story{border-left:2px solid #a98b51;padding-left:14px;margin-top:18px}.pet-rescue-story strong{font-size:12px;color:#ddc58d}.pet-rescue-status{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px;border:1px solid var(--border-strong);background:var(--surface-panel);font-size:12px}.pet-rescue-status span{color:var(--text-secondary);flex:1}@media(max-width:1200px){.pet-roster{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.pet-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.pet-roster{grid-template-columns:1fr}.pet-roster-tools label{min-width:100%}}.catalogue-entry{min-width:0;align-self:start;border:1px solid var(--border);border-radius:var(--radius-panel, 4px);background:var(--surface-panel)}.catalogue-entry>summary{padding:16px;min-height:44px;cursor:pointer;color:var(--text-primary);overflow-wrap:anywhere}.catalogue-entry>summary strong{font-size:18px}.catalogue-entry>summary span{display:block;margin-top:8px;color:var(--text-secondary);font-size:14px;line-height:1.5}.catalogue-entry>.advanced-card{border:0;border-top:1px solid var(--border)}.catalogue-tools,.task-sections{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.catalogue-tools label{display:grid;gap:8px;min-width:0}.catalogue-tools select{max-width:100%}.catalogue-tools p{margin:0;color:var(--text-secondary)}.task-sections button[aria-pressed=true]{background:var(--surface-selected);border-color:var(--accent);color:var(--accent)}.task-section[hidden]{display:none!important}.task-section{display:grid;gap:24px;min-width:0}.catalogue-help{border:1px solid var(--border);border-radius:4px;padding:16px;min-width:0}.catalogue-help>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.catalogue-help>.panel{margin-top:16px}.catalogue-empty{padding:16px;border:1px dashed var(--border)}.catalogue-empty p{margin:0 0 12px}@media(max-width:600px){.catalogue-tools{align-items:stretch}.catalogue-tools label{flex:1 1 200px}.task-sections button{flex:1 1 140px}}.survivors-feature{display:flex;flex-direction:column;gap:18px;min-width:0}.legendary-portrait,.legendary-card{border-color:#b88437}.legendary-specialties{color:var(--text-primary)}.legendary-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;padding:0 20px 20px}.legendary-entry{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #b88437;background:var(--surface-hover);min-width:0}.legendary-entry img{width:72px;height:88px;object-fit:cover;border-radius:3px;flex-shrink:0}.legendary-entry>div{min-width:0}.legendary-entry h3{font-size:20px;overflow-wrap:anywhere}.legendary-entry p{color:var(--text-secondary);font-size:var(--type-body);line-height:1.5;margin:5px 0}.legendary-entry strong{color:#d9a750;font-size:12px}.candidate-specialty{flex-wrap:wrap}.portrait{display:block;flex-shrink:0;aspect-ratio:1;background-image:url(/assets/survivor-portraits.png);background-size:300% 200%;background-repeat:no-repeat;background-color:var(--surface-hover);border:1px solid var(--border-strong);border-radius:3px;box-shadow:inset 0 0 20px color-mix(in srgb,var(--shadow-ink) 20%,transparent)}.people-banner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px 25px;border:1px solid var(--border-strong);border-radius:4px;background:linear-gradient(95deg,color-mix(in srgb,var(--surface-panel) 96.1%,transparent),color-mix(in srgb,var(--surface-raised) 86.3%,transparent)),url(/assets/riverside-shelter.png) 40% 30% / cover}.people-banner h2{font-size:36px;color:var(--text-primary);margin:8px 0}.people-banner p{font-size:var(--type-body);line-height:1.7;color:var(--text-secondary);max-width:450px}.people-count{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary);min-width:105px;border-left:1px solid color-mix(in srgb,var(--border-strong) 40%,transparent);padding-left:22px}.people-count>strong{font-family:IBM Plex Mono;font-weight:400;font-size:31px;white-space:nowrap}.people-count small{font-size:15px;color:var(--text-muted)}.people-count>span{font-family:Barlow Condensed;font-size:12px;letter-spacing:1.2px}.people-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--border-strong);gap:8px}.people-tabs>button{display:flex;align-items:center;gap:9px;background:transparent;padding:13px 18px;color:var(--text-secondary);border-bottom:2px solid transparent;font-size:12px}.people-tabs>button.selected{color:var(--accent);background:color-mix(in srgb,var(--surface-selected) 16.9%,transparent);border-bottom-color:var(--accent-border)}.people-tabs>button>span{font-family:IBM Plex Mono;font-size:12px;background:color-mix(in srgb,var(--surface-hover) 20%,transparent);border:1px solid var(--border-strong);padding:2px 5px;border-radius:3px}.roster-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.roster-card{padding:10px;display:flex;align-items:center;gap:10px;background:var(--surface-raised);border:1px solid var(--border);border-radius:3px;text-align:left;min-width:0}.roster-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.roster-card.selected{background:var(--surface-selected);border-color:var(--accent-border)}.roster-card .portrait{width:53px}.roster-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.roster-copy>strong{overflow-wrap:anywhere;font-family:Barlow Condensed;font-size:19px;font-weight:500;color:var(--text-primary)}.roster-copy>span{font-size:12px;color:var(--text-muted)}.roster-copy .roster-job{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:12px}.roster-job>i{height:4px;width:4px;background:var(--text-muted);border-radius:50%}.roster-level{margin-left:auto;text-align:center;color:var(--text-primary);font-size:17px}.roster-level>small{display:block;font-size:12px;margin-top:3px;color:var(--text-muted)}.rarity-badge{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:2px;letter-spacing:1px;text-transform:uppercase;font-family:Barlow Condensed;font-size:12px;line-height:1;padding:4px 6px;color:var(--text-secondary)}.rarity-uncommon{color:var(--positive)}.rarity-rare{color:var(--info)}.rarity-epic{color:var(--rarity-epic)}.rarity-legendary{color:var(--accent)}.dossier-header{display:flex;gap:22px;padding:23px;align-items:center;background:linear-gradient(110deg,color-mix(in srgb,var(--surface-hover) 73.3%,transparent),color-mix(in srgb,var(--surface-panel) 26.7%,transparent))}.dossier-portrait{width:130px}.dossier-header>div{flex:1;min-width:0}.dossier-header .eyebrow{font-size:12px;letter-spacing:1.2px}.dossier-header h2{overflow-wrap:anywhere;font-size:38px;color:var(--text-primary);margin:7px 0}.dossier-header p{font-size:var(--type-body);line-height:1.6;color:var(--text-secondary);max-width:420px}.character-xp{display:flex;align-items:center;gap:12px;margin-top:18px}.level-seal{height:42px;width:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface-hover) 30.2%,transparent);border:1px solid var(--border-strong);color:var(--text-primary);font-family:IBM Plex Mono;font-size:18px;flex-shrink:0}.level-seal>small{font-size:12px;letter-spacing:1px;margin-top:3px}.character-xp>div{flex:1}.xp-label{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--text-secondary);margin-bottom:8px;font-size:12px}.xp-label>.mono{font-size:12px}.survivor-vitals{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:19px 23px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.survivor-vitals>div>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px;font-size:12px;color:var(--text-secondary)}.survivor-vitals strong{font-size:12px;font-weight:400;color:var(--text-primary)}.survivor-vitals small{font-size:12px;color:var(--text-muted)}.dossier-assignment{display:flex;align-items:center;gap:17px;flex-wrap:wrap;padding:19px 23px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised) 33.3%,transparent)}.dossier-assignment>div:first-child{display:flex;flex-direction:column;gap:7px}.dossier-assignment label{font-size:12px}.dossier-assignment select{font-size:var(--type-field);min-width:160px;padding:9px}.assignment-info{display:flex;flex-direction:column;gap:7px;flex:1}.assignment-info .mono{color:var(--text-secondary);font-size:12px}.assignment-info>span:last-child{font-size:12px;color:var(--text-muted);line-height:1.5}.dossier-assignment>.button{font-size:var(--type-control);margin-left:auto}.dossier-traits,.dossier-stats{padding:20px 23px}.dossier-traits{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-bottom:1px solid var(--border)}.mini-heading{display:flex;align-items:center;gap:8px;grid-column:1/-1;color:var(--text-secondary);letter-spacing:1.3px;font-family:Barlow Condensed;font-size:12px;margin-bottom:2px}.mini-heading>span{font-size:12px;color:var(--text-muted);margin-left:auto;letter-spacing:.9px}.trait-detail{display:flex;align-items:start;gap:8px}.trait-icon{display:grid;place-items:center;background:color-mix(in srgb,var(--surface-hover) 37.6%,transparent);border:1px solid var(--border-strong);color:var(--text-primary);height:21px;width:21px;border-radius:50%;flex-shrink:0;margin-top:1px}.trait-detail strong{font-family:Barlow Condensed;font-size:18px;font-weight:500;color:var(--text-primary)}.trait-detail p{font-size:var(--type-body);line-height:1.6;color:var(--text-secondary);margin-top:4px}.attributes-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:15px}.attributes-grid>div{padding:12px 5px;text-align:center;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-hover) 31.4%,transparent);border-radius:2px}.attributes-grid span{display:block;color:var(--text-secondary);font-family:Barlow Condensed;font-size:12px}.attributes-grid strong{display:block;font-size:22px;font-weight:400;color:var(--text-primary);margin-top:9px}.dossier-stats>.helper{margin-top:14px;font-size:12px;line-height:1.7}.skill-list{padding:0 17px}.skill-row{display:flex;gap:13px;align-items:center;padding:17px 4px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.skill-row:last-child{border:0}.skill-level{display:flex;align-items:center;justify-content:center;flex-direction:column;width:36px;height:40px;flex-shrink:0;background:var(--surface-hover);border:1px solid var(--border-strong);color:var(--text-primary);font-size:17px}.skill-level>span{font-size:12px;color:var(--text-secondary);margin-top:2px}.skill-main{flex:1;min-width:0}.skill-name{display:flex;align-items:center;gap:10px;margin-bottom:9px}.skill-name h3{font-size:19px;color:var(--text-primary)}.skill-name>.mono{font-size:12px;color:var(--text-secondary);margin-left:auto}.skill-name .status-label{font-size:12px;letter-spacing:.8px}.skill-main>p{font-size:var(--type-body);line-height:1.6;color:var(--text-muted);margin-top:7px}.skill-row.active .skill-level{border-color:var(--accent-border);background:color-mix(in srgb,var(--surface-selected) 40%,transparent);color:var(--text-primary)}.skill-row.active h3{color:var(--text-primary)}.skill-action{padding:8px;background:var(--surface-hover);border:1px solid var(--border-strong);border-radius:3px;color:var(--text-primary)}.skill-action:hover{background:var(--surface-hover)}.skill-action:disabled{opacity:.65}.skill-later{overflow-wrap:anywhere;font-family:Barlow Condensed;font-size:12px;letter-spacing:.9px;color:var(--text-muted);max-width:45px;text-align:center}.other-skills{display:flex;justify-content:space-between;width:100%;padding:15px 21px;border-top:1px solid var(--border);color:var(--text-secondary)}.recruitment-intro{padding:20px}.recruitment-intro>p{font-size:var(--type-body);line-height:1.7;color:var(--text-secondary)}.recruitment-intro>div{display:flex;gap:22px;flex-wrap:wrap;margin-top:17px}.recruitment-intro>div>span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-secondary)}.candidate-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.candidate-card{padding:16px 13px;background:linear-gradient(140deg,var(--surface-hover),var(--surface-panel));border:1px solid var(--border-strong);border-radius:4px;min-width:0;display:flex;flex-direction:column}.candidate-top{display:flex;align-items:center;gap:11px;flex-direction:column;text-align:center}.candidate-top .portrait{width:100%;max-width:180px;aspect-ratio:1;border-color:var(--border-strong)}.candidate-top>div{width:100%}.candidate-top h3{font-size:25px;color:var(--text-primary);margin:8px 0 5px}.candidate-top p{font-size:var(--type-body);line-height:1.5;color:var(--text-secondary)}.candidate-specialty{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--text-primary);margin-top:10px}.candidate-story{font-size:12px;line-height:1.65;color:var(--text-secondary);margin:18px 0;font-style:italic;min-height:52px}.candidate-traits{display:flex;gap:5px;flex-wrap:wrap}.candidate-traits>span{font-family:Barlow Condensed;font-size:12px;background:color-mix(in srgb,var(--surface-hover) 31.4%,transparent);color:var(--text-primary);padding:4px 7px;border:1px solid var(--border-strong);border-radius:2px}.candidate-trait-notes{margin:8px 0 12px;min-height:52px}.candidate-trait-notes p{font-size:var(--type-body);line-height:1.6;color:var(--text-muted)}.candidate-mini-stats{display:flex;justify-content:space-between;gap:4px;border-top:1px solid color-mix(in srgb,var(--border-strong) 50.2%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border-strong) 50.2%,transparent);padding:11px 0}.candidate-mini-stats>span{display:flex;flex-direction:column;align-items:center;gap:5px}.candidate-mini-stats small{font-family:Barlow Condensed;font-size:12px;color:var(--text-secondary)}.candidate-mini-stats strong{font-family:IBM Plex Mono;font-size:12px;font-weight:400;color:var(--text-primary)}.candidate-cost{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:12px;color:var(--text-primary);padding:15px 0;margin-top:auto}.candidate-cost>span:last-child{font-size:12px;color:var(--text-muted)}.candidate-card .button{font-size:var(--type-control);padding:10px 7px}.contact-refresh{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;background:color-mix(in srgb,var(--surface-raised) 31.4%,transparent);border:1px solid var(--border);border-radius:3px}.contact-refresh strong{font-family:Barlow Condensed;font-size:19px;font-weight:500;color:var(--text-primary)}.contact-refresh p{font-size:var(--type-body);line-height:1.7;color:var(--text-muted);margin-top:6px}.community-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:25px;gap:20px}.community-metrics>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text-secondary)}.community-metrics strong{font-family:IBM Plex Mono;font-size:19px;font-weight:400}.community-metrics span{flex-basis:100%;font-family:Barlow Condensed;font-size:12px;letter-spacing:1px;color:var(--text-muted)}.community-person{padding:19px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border)}.community-person .portrait{width:67px}.community-person-info{flex:1;min-width:0}.community-person h3{display:flex;gap:12px;align-items:center;font-size:23px;color:var(--text-primary)}.community-person h3>.mono{font-size:12px;color:var(--text-secondary)}.community-person p{font-size:var(--type-body);color:var(--text-secondary);margin-top:4px}.community-person-info>span{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--text-secondary);margin:11px 0 8px}.community-person select{font-size:var(--type-field);padding:9px;max-width:160px}.worker-picker{display:flex;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-raised) 50.2%,transparent)}.worker-picker>label{font-family:Barlow Condensed;font-size:12px;letter-spacing:1.3px;color:var(--text-secondary)}.worker-picker select{font-size:var(--type-field);padding:7px 9px;max-width:180px}.worker-picker>span{font-size:12px;color:var(--text-muted);margin-left:auto}.offline-survivors{width:100%;text-align:left;border:1px solid var(--border-strong);border-radius:3px}.offline-survivors>div{padding:12px 15px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-bottom:1px solid color-mix(in srgb,var(--border) 43.9%,transparent)}.offline-survivors>div:last-child{border:0}.offline-survivors strong{font-size:13px;font-weight:500;color:var(--text-primary)}.offline-survivors .mono{margin-left:auto;font-size:12px}.offline-survivors p{flex-basis:100%;font-size:var(--type-body);color:var(--text-secondary)}@media(max-width:1220px){.candidate-list{grid-template-columns:1fr}.candidate-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 20px;padding:19px}.candidate-top{grid-row:1/6;display:block}.candidate-top .portrait{width:120px;margin-bottom:12px}.candidate-top h3{font-size:23px}.candidate-story{margin-top:0;min-height:0}.candidate-trait-notes{min-height:0}.candidate-cost{padding:12px 0}.candidate-card>.button{grid-column:2}.dossier-header{padding:20px;gap:18px}.dossier-portrait{width:106px}.dossier-header h2{font-size:33px}.dossier-header .eyebrow{font-size:12px}.survivor-vitals{gap:12px;padding:18px 20px;grid-template-columns:1fr 1fr}.dossier-traits,.dossier-stats{padding:20px}.attributes-grid{gap:5px}.attributes-grid span{font-size:12px}.attributes-grid strong{font-size:19px}.mini-heading>span{display:none}.people-banner{padding:23px 20px}.people-banner h2{font-size:32px}.roster-copy>strong{font-size:17px}.roster-copy>span{font-size:12px}.roster-card{gap:8px;padding:9px}.roster-card .portrait{width:45px}.roster-level{font-size:15px}.roster-copy .roster-job{font-size:12px}}@media(max-width:720px){.people-banner{padding:22px 17px;gap:12px}.people-banner h2{font-size:30px;line-height:1.05}.people-banner p{font-size:var(--type-body);line-height:1.6}.people-banner .eyebrow{font-size:12px}.people-count{min-width:75px;padding-left:12px}.people-count>strong{font-size:26px}.people-count>span{font-size:12px}.people-count small{font-size:13px}.people-tabs>button{font-size:12px;padding:13px 12px;gap:7px}.roster-grid{grid-template-columns:1fr}.roster-card .portrait{width:52px}.roster-copy>strong{font-size:21px}.roster-copy>span{font-size:12px}.roster-copy .roster-job{font-size:12px}.roster-card{padding:11px;gap:12px}.roster-level{font-size:20px}.dossier-header{gap:13px;padding:17px}.dossier-portrait{width:85px}.dossier-header h2{font-size:29px}.dossier-header p{font-size:var(--type-body)}.dossier-header .eyebrow{font-size:12px;letter-spacing:.8px}.character-xp{gap:8px;margin-top:12px}.level-seal{width:30px;height:34px;font-size:15px}.xp-label{font-size:12px;flex-wrap:wrap;gap:4px}.xp-label .mono{font-size:12px}.survivor-vitals{padding:17px;gap:16px}.dossier-assignment{padding:17px;gap:13px}.dossier-assignment>div:first-child{flex:1}.dossier-assignment select{min-width:0;width:100%;font-size:var(--type-field)}.assignment-info{flex-basis:40%}.dossier-assignment .button{width:100%;margin:0}.dossier-traits{padding:18px 17px;grid-template-columns:1fr;gap:16px}.dossier-stats{padding:18px 17px}.attributes-grid{grid-template-columns:repeat(4,1fr);gap:8px}.attributes-grid span{font-size:12px}.attributes-grid strong{font-size:22px}.skill-list{padding:0 12px}.skill-row{gap:9px;padding:16px 0}.skill-name{gap:6px;flex-wrap:wrap}.skill-name h3{font-size:18px}.skill-name .status-label{font-size:12px;letter-spacing:.5px}.skill-name>.mono{font-size:12px}.skill-level{width:30px;height:37px;font-size:16px}.skill-main>p{font-size:var(--type-body)}.skill-action{padding:7px}.skill-later{font-size:12px;max-width:34px}.recruitment-intro{padding:17px}.recruitment-intro>div{gap:10px}.candidate-card{grid-template-columns:100px minmax(0,1fr);gap:0 14px;padding:16px}.candidate-top .portrait{width:100px}.candidate-top h3{font-size:22px}.candidate-top p{font-size:var(--type-body)}.candidate-specialty{font-size:12px;gap:4px}.candidate-story{font-size:12px;margin-bottom:13px}.candidate-traits{gap:4px}.candidate-traits>span{font-size:12px;padding:4px}.candidate-trait-notes p{font-size:var(--type-body)}.candidate-mini-stats{gap:2px}.candidate-mini-stats small,.candidate-mini-stats strong{font-size:12px}.candidate-cost{font-size:12px;gap:5px 9px}.candidate-card .button{font-size:var(--type-control);white-space:normal}.contact-refresh{padding:17px;gap:13px}.contact-refresh strong{font-size:19px}.contact-refresh p{font-size:var(--type-body)}.contact-refresh .button{font-size:var(--type-control);padding:9px}.community-metrics{gap:14px}.community-metrics strong{font-size:16px}.community-metrics svg{width:16px}.community-metrics span{font-size:12px}.community-person{padding:16px;gap:12px;flex-wrap:wrap}.community-person .portrait{width:57px}.community-person select{margin-left:69px;max-width:calc(100% - 69px);width:100%;padding:10px}.community-person h3{font-size:22px}.worker-picker{padding:12px;gap:8px;flex-wrap:wrap}.worker-picker>span{font-size:12px}.worker-picker>label{font-size:12px}.worker-picker select{font-size:var(--type-field);max-width:160px}.survivors-feature>.panel>.panel-heading .eyebrow{font-size:12px;letter-spacing:.6px}}.signature-panel{margin:18px 0;padding:18px;border:1px solid #806a3c;background:#87672f14;border-radius:6px}.signature-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.signature-heading h3{margin:5px 0}.signature-panel ul{padding-left:20px;display:grid;gap:5px}.signature-panel>.mono{display:block;font-size:12px;margin:12px 0 8px}.personal-missions{padding:18px}.personal-person-picker{display:grid;gap:8px;margin:20px 0;color:var(--text-muted);font-size:12px}.personal-person-picker select{width:100%;min-width:0}.personal-story{padding:20px;border:1px solid var(--border);background:var(--surface-inset);border-radius:6px;min-width:0}.personal-story.finished{border-color:var(--accent)}.personal-story-header{display:flex;gap:16px;align-items:center}.personal-story-header .portrait{width:64px;height:72px;flex-shrink:0}.personal-story h3{font-size:26px;margin:5px 0;overflow-wrap:anywhere}.personal-story p{font-size:var(--type-body);line-height:1.6}.personal-story-owner{color:var(--text-muted);margin:0}.personal-chapters{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.personal-chapters li{display:flex;gap:12px;align-items:flex-start;color:var(--text-muted)}.personal-chapters li>span{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--border);flex-shrink:0}.personal-chapters li.current{color:var(--text-primary)}.personal-chapters li.done{color:var(--accent)}.personal-chapters small{display:block;margin-top:4px}.personal-objective{background:color-mix(in srgb,var(--accent) 4%,transparent);padding:16px;border-left:2px solid var(--accent)}.personal-objective h4{margin:0;font-size:20px}.personal-warning{color:var(--accent)}.personal-reward{padding:16px 0;margin:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.personal-reward small{color:var(--text-muted);display:block;line-height:1.5}@media(max-width:700px){.personal-missions{padding:12px}.personal-story{padding:14px}.personal-story-header{gap:12px}.personal-story h3{font-size:23px}.personal-reward{overflow-wrap:anywhere}}.research-board{display:flex;flex-direction:column;gap:18px;min-width:0}.research-archive{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.research-samples,.research-blueprint{padding:16px;border:1px solid var(--border);background:var(--surface-inset);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.research-samples strong{font:700 30px Barlow Condensed,sans-serif;color:var(--accent)}.research-blueprint strong{display:flex;align-items:center;gap:7px}.research-blueprint.recovered{border-color:var(--accent-border)}.research-board small,.research-plan p{color:var(--text-secondary);line-height:1.5;overflow-wrap:anywhere}.research-plan{padding:18px}.research-plan p{margin:0 0 12px}.research-plan ol{margin:0;padding-left:24px}.research-plan li{position:relative;padding:12px 0;border-top:1px solid var(--border)}.research-plan li>div{display:inline-flex;flex-direction:column;gap:6px;max-width:calc(100% - 120px)}.research-plan li>button{float:right}.research-queue-blocked{display:block;margin-top:8px;color:var(--accent);font-size:12px}.research-tree{display:flex;flex-direction:column;gap:16px;padding:18px}.research-branch{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:start}.research-branch>strong{color:var(--text-secondary);font-size:13px;padding-top:12px}.research-branch>div{display:flex;flex-wrap:wrap;gap:9px}.research-node{flex:1 1 175px;max-width:260px;padding:12px;text-align:left;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border);cursor:pointer;font:inherit}.research-node span,.research-node small{display:flex;align-items:center;gap:6px}.research-node small{margin-top:7px;font-size:12px}.research-node.available,.research-node.completed{border-color:var(--accent-border)}.research-node.completed{background:color-mix(in srgb,var(--accent) 9%,var(--surface-panel))}.research-node.active,.research-node.queued,.research-node.focused{border-color:var(--accent)}.research-node-status{text-transform:uppercase;letter-spacing:1px;font-size:12px!important}.research-node.completed .research-node-status{color:var(--positive)}.research-node.active .research-node-status,.research-node.queued .research-node-status{color:var(--accent)}.research-node:hover,.research-node:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.research-node.locked{color:var(--text-secondary)}.research-legend{display:flex;flex-wrap:wrap;gap:14px;padding:18px 18px 0;font-size:12px;color:var(--text-secondary)}.research-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.research-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.research-filters select{background:var(--surface-inset);color:var(--text-primary);border:1px solid var(--border);padding:10px 12px;font:inherit}.research-filters>span{margin-left:auto;padding-bottom:10px;color:var(--text-secondary);font-size:12px}.research-status{margin-left:auto;font-size:12px;letter-spacing:.5px}.research-unlocks{margin:0 0 15px;color:var(--text-secondary);font-size:13px;line-height:1.6}.research-unlocks summary{cursor:pointer;color:var(--accent)}.research-unlocks ul{padding-left:18px;margin:8px 0}.research-prerequisite{min-height:var(--control-height);background:none;border:0;padding:0;color:var(--accent);font:inherit;text-align:left;cursor:pointer;text-decoration:underline}.research-actions{display:flex;flex-wrap:wrap;gap:8px}.research-actions>button{flex:1}@media(max-width:700px){.research-archive{grid-template-columns:1fr}.research-branch{grid-template-columns:1fr;gap:6px}.research-branch>strong{padding-top:0}.research-node{max-width:none;flex-basis:140px}.research-cards{grid-template-columns:1fr}.research-filters>span{margin-left:0}}.outpost-board{margin-bottom:14px}.outpost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.outpost-site{border:1px solid var(--border);padding:12px;min-width:0}.outpost-site h3{margin:6px 0}.outpost-site p,.outpost-record{font-size:var(--type-body);line-height:1.5;margin:8px 0}.outpost-site button{width:100%;white-space:normal}.outpost-site small{display:block;margin-top:6px;line-height:1.5}.outpost-site summary,.outpost-record summary{cursor:pointer;padding:8px 0;font-size:12px}.outpost-crew,.outpost-project{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;font-size:13px}.outpost-crew select{max-width:100%}.outpost-project small{flex-basis:100%}.outpost-record li{margin:6px 0}@media(max-width:1100px){.outpost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.outpost-grid{grid-template-columns:1fr}}.diplomacy-board{margin-bottom:14px}.diplomacy-dispute{padding:12px;border:1px solid var(--border)}.diplomacy-dispute h3{margin:6px 0}.diplomacy-dispute>p{margin:8px 0;font-size:var(--type-body);line-height:1.5}.diplomacy-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.diplomacy-choices .event-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;min-width:0;padding:12px;white-space:normal}.diplomacy-choices span{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.diplomacy-locked{color:var(--text-muted)}.diplomacy-passage{border-left:2px solid var(--gold);padding:8px 12px;font-size:12px}.diplomacy-record{margin-top:12px;font-size:12px}.diplomacy-record summary{cursor:pointer;padding:6px 0}.diplomacy-relations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.diplomacy-relations p{display:flex;flex-direction:column;gap:5px;border-bottom:1px solid var(--border);padding-bottom:8px}.diplomacy-record li{margin:8px 0;line-height:1.5}@media(max-width:650px){.diplomacy-choices,.diplomacy-relations{grid-template-columns:1fr}}.bandit-board{margin-bottom:14px;min-width:0}.bandit-board p{margin:7px 0;line-height:1.5;font-size:var(--type-body)}.bandit-board h3{margin:0 0 6px;font-size:19px}.bandit-board small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.bandit-board summary{cursor:pointer;padding:10px 0;font-size:12px}.bandit-intro{padding:0 14px}.bandit-board details{margin:0 14px}.bandit-incident{margin:12px 14px;padding:12px;border:1px solid var(--border)}.bandit-choices,.bandit-camps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:10px}.bandit-actions,.bandit-metrics{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}.bandit-board button{white-space:normal;max-width:100%}.bandit-camps>section{padding:12px;border:1px solid var(--border);min-width:0}.bandit-crew{padding:12px;margin:6px 0 12px;border:1px solid var(--border)}.bandit-crew label{display:inline-flex;flex-wrap:wrap;gap:7px;margin:5px 14px 5px 0;font-size:12px;align-items:center}.bandit-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid var(--border);padding:12px;margin-bottom:12px;font-size:12px}.mission-chains{margin:24px 0}.chain-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.chain-heading h2,.contracts-heading{font:600 30px Barlow Condensed,sans-serif;color:var(--text-primary);margin:6px 0 10px}.chain-heading>span{font-size:12px;color:var(--text-secondary)}.chain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chain-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid var(--border);border-top:2px solid var(--accent);background:var(--surface-panel)}.chain-card.locked{border-top-color:var(--border)}.chain-card.claimed{border-top-color:var(--positive)}.chain-status{display:flex;gap:7px;align-items:center;color:var(--accent);font-size:12px;letter-spacing:1.2px}.chain-card h3{color:var(--text-primary);font:600 28px Barlow Condensed,sans-serif;margin:16px 0 8px}.chain-card p{color:var(--text-secondary);font-size:var(--type-body);line-height:1.6;margin:8px 0 14px}.chain-steps{list-style:none;margin:8px 0 18px;padding:0}.chain-steps li{display:flex;align-items:center;gap:9px;padding:7px 0;color:var(--text-secondary);font-size:12px}.chain-steps li>span:first-child{display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid var(--border);font-size:12px}.chain-steps .current{color:var(--accent)}.chain-steps .current>span:first-child{border-color:var(--accent)}.chain-steps .done{color:var(--text-primary)}.chain-objective{border-top:1px solid var(--border);padding:14px 0 18px}.chain-objective h4{color:var(--text-primary);margin:0;font-size:15px}.chain-objective>strong{display:block;color:var(--text-primary);line-height:1.6;font-size:12px;margin-bottom:12px}.chain-objective .text-button{display:inline-flex;align-items:center;gap:6px;margin-top:12px}.chain-objective .chain-warning{color:var(--accent)}.chain-reward{margin-top:auto;padding:14px;background:var(--surface-raised);border:1px solid var(--border)}.chain-reward>span{display:flex;gap:7px;align-items:center;font-size:12px;letter-spacing:1px;color:var(--accent)}.chain-reward>strong{display:block;font:600 22px Barlow Condensed,sans-serif;color:var(--text-primary);margin-top:8px}.chain-reward p{font-size:var(--type-body)}.chain-reward small,.chain-action-note{color:var(--text-secondary);line-height:1.5;font-size:12px}.chain-card>.button{margin-top:16px;white-space:normal}.chain-action-note{display:block;margin-top:9px}.contracts-heading{margin-top:32px}@media(max-width:1200px){.chain-grid{grid-template-columns:1fr}.chain-card{padding:20px}}@media(max-width:480px){.chain-card{padding:16px}}.faction-unlocks{margin-top:12px;border-top:1px solid var(--border);padding-top:12px;min-width:0}.faction-unlocks>summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text-primary)}.faction-unlocks>summary span{margin-left:auto;font-size:12px;color:var(--accent)}.faction-unlocks[open] .unlock-chevron{transform:rotate(180deg)}.faction-unlocks .unlock-intro{font-size:12px;margin:10px 0}.faction-reward-option{padding:12px 0;border-top:1px solid var(--border)}.unlock-tier{font-size:12px;color:var(--accent);letter-spacing:.6px}.faction-reward-option h4{font:600 20px Barlow Condensed,sans-serif;margin:6px 0;color:var(--text-primary)}.faction-reward-option p{font-size:var(--type-body);margin:5px 0 10px}.faction-reward-option small{display:block;margin-top:6px;font-size:12px;color:var(--text-secondary);line-height:1.5}.faction-stock{display:flex;gap:10px;align-items:start;margin-top:8px}.faction-stock>.item-art-button{width:64px;height:64px;flex:0 0 64px}.faction-stock>div{min-width:0}.faction-reward-option label{display:grid;gap:5px;color:var(--text-secondary);font-size:12px;margin:8px 0}.faction-reward-option select{width:100%;min-width:0;background:var(--surface-inset);color:var(--text-primary);border:1px solid var(--border);padding:8px;font:inherit}.faction-reward-option .text-button{margin-top:8px}.faction-allied-support{min-width:0}.allied-support-notice{margin:12px 0;padding:12px;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-inset);min-width:0;overflow-wrap:anywhere;font-size:12px}.allied-support-notice p{margin:6px 0;line-height:1.5}.allied-support-notice .text-button{display:flex;margin-top:10px}.allied-support-notice small{display:block;margin-top:6px;color:var(--text-secondary)}.allied-support-notice button{max-width:100%;white-space:normal}.faction-contract{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);min-width:0}.contract-status{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;letter-spacing:1px}.faction-contract h4{margin:8px 0 4px;font:600 21px Barlow Condensed,sans-serif;color:var(--text-primary)}.faction-contract p{font-size:var(--type-body);margin:4px 0 10px}.contract-objective{display:block;font-size:13px;margin-bottom:10px;color:var(--text-primary)}.contract-details{display:grid;grid-template-columns:52px minmax(0,1fr);gap:7px;margin:10px 0;font-size:12px;line-height:1.5}.contract-details dt{color:var(--text-muted)}.contract-details dd{margin:0;color:var(--text-secondary);overflow-wrap:anywhere}.contract-note{display:block;margin-top:7px;color:var(--text-secondary);line-height:1.5;font-size:12px}.contract-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px}.contract-actions .text-button{font-size:12px;white-space:normal}.contract-board-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.contract-board-heading h2{margin:0;font:600 26px Barlow Condensed,sans-serif}.contract-board-heading span{color:var(--accent);font-size:12px}.faction-contract-board>.advanced-grid{margin-top:12px}.advanced-feature{display:flex;flex-direction:column;gap:18px;min-width:0}.advanced-card-type.rarity-common{color:var(--text-secondary)}.advanced-card-type.rarity-rare{color:var(--info)}.advanced-card-type.rarity-legendary{color:var(--accent)}.advanced-hero{padding:30px;border:1px solid var(--accent-border);background:linear-gradient(100deg,color-mix(in srgb,var(--surface-inset) 96.1%,transparent),color-mix(in srgb,var(--surface-inset) 65.1%,transparent)),url(/assets/riverside-shelter.png) center 45% / cover}.advanced-introduction{display:flex;align-items:start;gap:12px;margin:0;color:var(--text-secondary);line-height:1.5;max-width:80ch}.advanced-introduction svg{flex:0 0 auto;color:var(--accent);margin-top:2px}.advanced-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.advanced-summary span{padding:7px 10px;background:color-mix(in srgb,var(--surface-panel) 80%,transparent);border:1px solid var(--border);font-size:12px;color:var(--text-primary)}.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.advanced-grid:empty{display:none}.advanced-card{display:flex;flex-direction:column;padding:22px;min-width:0;border:1px solid var(--border);background:linear-gradient(140deg,var(--surface-raised),var(--surface-panel))}.advanced-card h3{font:600 27px Barlow Condensed,sans-serif;color:var(--text-primary);margin:12px 0 6px}.advanced-card p{color:var(--text-secondary);line-height:1.5;margin:6px 0 16px}.advanced-card-type{color:var(--accent);display:flex;gap:8px;align-items:center;font-size:12px;letter-spacing:1.3px}.advanced-details{display:grid;grid-template-columns:68px minmax(0,1fr);gap:9px 10px;padding:15px 0;margin-top:auto;border-top:1px solid var(--border);font-size:13px}.advanced-details span{color:var(--text-muted)}.advanced-details strong{color:var(--text-primary);font-weight:500;overflow-wrap:anywhere}.advanced-card .button{width:100%;white-space:normal;min-height:var(--control-height);justify-content:center}.advanced-reason{color:var(--text-secondary);margin-top:9px;min-height:28px;font-size:12px;line-height:1.4}.advanced-operation{padding:20px}.advanced-operation p{color:var(--text-secondary);line-height:1.6}.advanced-line{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--text-primary)}.advanced-line span{display:flex;align-items:center;gap:6px}.advanced-crew{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.advanced-crew label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);cursor:pointer;background:var(--surface-panel)}.advanced-crew .selected{border-color:var(--accent-border);background:var(--surface-selected)}.advanced-crew .unavailable{opacity:.6;cursor:default}.advanced-crew strong,.advanced-crew small{display:block}.advanced-crew small{color:var(--text-secondary);margin-top:4px;line-height:1.4}.advanced-crew input{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.region-card{background:linear-gradient(130deg,var(--surface-hover),var(--surface-panel))}.region-coordinate{color:var(--text-secondary);font:11px IBM Plex Mono,monospace;letter-spacing:1px}.faction-reputation{font:600 30px Barlow Condensed,sans-serif;color:var(--accent);margin-bottom:10px}.faction-group-art{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;object-position:center;margin-bottom:18px;border:1px solid var(--border);background:var(--surface-inset)}.faction-reputation small{font:13px Barlow,sans-serif;color:var(--text-secondary)}.advanced-card.earned{border-color:var(--positive-border);background:linear-gradient(135deg,var(--surface-raised),var(--surface-panel))}.achievement-card>svg{color:var(--accent);margin-bottom:12px}.achievement-card>strong{color:var(--text-secondary);font-size:13px;margin-top:auto}.event-choices{display:grid;gap:10px}.event-choice{text-align:left;padding:16px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary);cursor:pointer}.event-choice:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-hover)}.event-choice:disabled{opacity:.5;cursor:not-allowed}.event-choice strong,.event-choice span{display:block}.event-choice strong{font-size:16px;margin-bottom:7px}.event-choice span{color:var(--text-secondary);line-height:1.5}.event-choice small{display:block;margin-top:8px;color:var(--text-muted)}.delivery-note{border-left:3px solid var(--accent-border);padding-left:12px}.event-followups{margin-top:16px;padding:14px;border:1px solid var(--border);background:var(--surface-inset)}.event-followups>strong{display:block;margin-bottom:8px}.event-followups p{margin:5px 0;color:var(--text-secondary)}.advanced-record{padding:8px 20px}.advanced-record p{display:flex;gap:15px;line-height:1.5;color:var(--text-secondary);border-bottom:1px solid var(--border);padding-bottom:12px;font-size:var(--type-body)}.advanced-record p span{min-width:55px;color:var(--text-muted);font-size:var(--type-body)}@media(max-width:700px){.advanced-grid,.advanced-crew{grid-template-columns:minmax(0,1fr)}.advanced-hero{padding:22px}.advanced-card{padding:18px}.advanced-eyebrow{font-size:12px;letter-spacing:.5px}}.batch-order{display:grid;gap:10px;margin:16px 0;max-width:460px}.batch-order select{color:var(--text);background:#151c1a;border:1px solid #3b4841;padding:10px;border-radius:4px}.recipe-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.recipe-filter select{background:#191b19;color:#d9d9cf;padding:8px 12px;border:1px solid #393a35}.faction-kind{display:block;color:var(--accent);font-size:12px;line-height:1.5}.faction-negotiation{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.faction-negotiation>strong{font-size:13px}.faction-negotiation .button{width:100%}.map-focus-notice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border:1px solid #58623f;background:#252e20;color:#c9d9a8;font-size:13px;margin-bottom:16px}.game-area .advanced-grid:has(>.faction-card){grid-template-columns:minmax(0,1fr)}.advanced-grid>.faction-card{max-width:960px}.advanced-grid{align-items:start}.advanced-summary:empty{display:none}.horde-feature,.bestiary-feature{min-width:0}.perimeter-hero{padding:30px;margin-bottom:18px;border:1px solid var(--border);background:linear-gradient(90deg,color-mix(in srgb,var(--surface-inset) 96.1%,transparent),color-mix(in srgb,var(--surface-inset) 40%,transparent)),url(/assets/riverside-shelter.png) center 42% / cover;min-height:240px;display:flex;flex-direction:column;justify-content:center}.perimeter-hero.threatened{border-color:var(--danger-border)}.perimeter-hero h2{font-family:Barlow Condensed,sans-serif;font-size:48px;margin:10px 0;color:var(--text-primary)}.perimeter-hero p{max-width:580px;color:var(--text-primary);line-height:1.5}.horde-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.horde-layout>div,.horde-layout>aside{min-width:0;display:flex;flex-direction:column;gap:18px}.defense-content{padding:18px;line-height:1.6}.defense-content p{color:var(--text-secondary)}.defense-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.defense-actions .button{white-space:normal}.maintenance-order>label{display:flex;align-items:center;gap:9px;margin:9px 0}.maintenance-limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.maintenance-limits label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.maintenance-limits input{width:100%;min-width:0}.horde-composition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.horde-composition>div{padding:12px;background:var(--surface-panel);border:1px solid var(--border);display:flex;flex-direction:column}.horde-composition span{font-size:12px;color:var(--text-secondary)}.guard-list{display:flex;flex-direction:column;gap:15px;margin:18px 0}.guard-list label{display:flex;align-items:center;gap:10px}.guard-list strong,.guard-list small{display:block}.guard-list small{color:var(--text-secondary);font-size:12px}.bestiary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 18px 18px}.bestiary-card{padding:14px;background:var(--surface-panel);border:1px solid var(--border);min-width:0}.bestiary-card h3{font-family:Barlow Condensed,sans-serif;font-size:28px;margin:10px 0}.bestiary-card p{font-size:var(--type-body);line-height:1.55;color:var(--text-secondary)}.bestiary-card .infected-sigil{margin-bottom:16px}.bestiary-card .unidentified{filter:grayscale(1) brightness(.28)}.bestiary-card .boss-portrait{box-shadow:inset 0 0 45px color-mix(in srgb,var(--shadow-ink) 40%,transparent)}.bestiary-card small{color:var(--text-secondary)}.boss-operations{padding:14px 18px 18px}.boss-operations h3{color:var(--accent)}.boss-operations p{color:var(--text-secondary);line-height:1.5}.raid-banner{margin-bottom:16px;border:1px solid var(--danger-border);background:var(--danger-surface);padding:13px 17px;display:flex;gap:14px;align-items:center;justify-content:space-between;color:var(--accent)}.raid-banner span{line-height:1.4}.raid-banner button{flex-shrink:0}@media(max-width:1150px){.horde-layout{grid-template-columns:1fr}.bestiary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.bestiary-grid{grid-template-columns:1fr;padding:0 12px 12px}.perimeter-hero{padding:20px;min-height:230px}.perimeter-hero h2{font-size:38px}.horde-composition{grid-template-columns:1fr}.defense-content{padding:14px}.defense-actions{flex-direction:column}.raid-banner{align-items:flex-start;flex-direction:column}.bestiary-feature .panel-header{flex-wrap:wrap;gap:12px}}.defense-content p{margin:10px 0 14px}.defense-content details{margin-top:14px}.bestiary-unknown{margin:16px;padding:16px;border:1px solid var(--border)}.bestiary-unknown summary{cursor:pointer;min-height:44px;align-content:center}.bestiary-unknown p{color:var(--text-secondary);line-height:1.5}.bestiary-unknown ul{padding:0;margin:0;list-style:none}.bestiary-unknown li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.weapon-mods{margin:14px 0;border-top:1px solid var(--border);padding-top:14px}.weapon-mods summary{cursor:pointer;color:var(--accent);font-size:13px}.weapon-mod-row{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid var(--border);min-width:0}.weapon-mod-row span,.weapon-mod-row small{color:var(--text-secondary);font-size:12px;line-height:1.6}.weapon-mod-row .button{white-space:normal}.mod-kit-stock{display:flex;flex-wrap:wrap;gap:10px 24px;margin:14px 0;color:var(--text-secondary);font-size:13px}.mod-kit-body{padding:20px}.mod-kit-body p{color:var(--text-secondary);line-height:1.65}.equipment-views{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.equipment-views button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--surface-raised)}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.collection-mobile-picker{display:none;flex-direction:column;gap:8px;font-size:12px;margin:16px 0}.collection-mobile-picker select{width:100%;background:var(--surface-panel);color:var(--text-primary);padding:12px;border:1px solid var(--border);font:inherit}.collection-heading h2{font:600 30px Barlow Condensed,sans-serif;margin:8px 0 14px;display:flex;align-items:center;gap:10px}.collection-heading>strong{color:var(--accent);font-size:14px}.collection-categories{display:flex;flex-wrap:wrap;gap:10px 22px;margin:16px 0;color:var(--text-secondary);font-size:12px}.collection-categories strong{color:var(--text-primary);margin-left:5px}.collection-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:22px 0 12px}.collection-filters label,.collection-survivor{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--text-secondary);min-width:0}.collection-filters input,.collection-filters select,.collection-survivor select{width:100%;min-width:0;background:var(--surface-panel);color:var(--text-primary);border:1px solid var(--border);padding:10px;font:inherit}.collection-filters>.text-button{justify-self:start}.collection-results{font-size:12px;color:var(--text-secondary)}.collection-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;align-items:start}.collection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-entry{text-align:left;padding:15px;background:var(--surface-panel);border:1px solid var(--border);color:var(--text-primary);display:flex;flex-direction:column;gap:10px;min-width:0}.collection-entry[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.collection-entry-kind{font-size:12px;color:var(--text-secondary)}.collection-entry>strong{font:600 20px Barlow Condensed,sans-serif}.collection-entry>span:last-child{font-size:12px;display:flex;align-items:center;gap:6px}.collection-detail{min-width:0;padding:24px;border:1px solid var(--border);background:var(--surface-panel)}.collection-detail h3{font:600 30px Barlow Condensed,sans-serif;margin:8px 0 12px}.collection-detail p{line-height:1.6;font-size:var(--type-body);color:var(--text-secondary)}.collection-detail .collection-ownership{color:var(--accent);font-size:12px}.collection-survivor{margin:20px 0 12px}.collection-table-wrap{overflow-x:auto}.collection-table{width:100%;border-collapse:collapse;font-size:12px}.collection-table caption{text-align:left;color:var(--text-secondary);line-height:1.5;margin-bottom:12px;font-size:12px}.collection-table th,.collection-table td{text-align:left;padding:10px 5px;border-bottom:1px solid var(--border)}.collection-table thead th{color:var(--text-secondary);font-size:12px}.collection-table tbody th{font-weight:500}.collection-tradeoff{color:var(--accent)}.collection-detail h4{font:600 24px Barlow Condensed,sans-serif;margin:26px 0 12px}.collection-sources{list-style:none;margin:0 0 20px;padding:0}.collection-sources li{border-top:1px solid var(--border);padding:14px 0}.collection-sources strong{font-size:13px}.collection-sources p{margin:6px 0}.collection-sources small{display:block;font-size:12px;color:var(--accent);line-height:1.6}.collection-sources button{margin-top:9px;display:flex;gap:6px;align-items:center}.collection-empty{text-align:center;padding:40px 20px;background:var(--surface-panel);border:1px solid var(--border)}@media(max-width:1200px){.collection-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.collection-list{grid-template-columns:1fr}}@media(max-width:900px){.collection-layout{grid-template-columns:1fr}.collection-list{display:none}.collection-mobile-picker{display:flex}}@media(max-width:700px){.collection-filters,.collection-list{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-detail{padding:16px}.collection-table{font-size:12px}}@media(max-width:400px){.collection-filters{grid-template-columns:1fr}.collection-entry{padding:12px}.collection-heading h2{font-size:27px}}.schedules-panel,.schedule-editor{display:grid;gap:18px;min-width:0}.schedules-panel{padding:18px}.schedule-picker,.schedule-fields label{display:grid;gap:8px;font-size:13px;color:var(--text-muted);min-width:0}.schedule-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.schedules-panel select{min-width:0;width:100%;padding:10px;min-height:42px;color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border)}.schedule-person{display:flex;gap:14px;align-items:center}.schedule-person .portrait{flex:0 0 64px;width:64px;height:80px}.schedule-person h3,.schedule-person p{margin:5px 0}.schedule-person p{font-size:var(--type-body);color:var(--accent)}.schedule-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.schedule-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-roster-person{text-align:left;display:flex;gap:12px;padding:14px;border:1px solid var(--border);background:var(--surface-inset);min-width:0}.schedule-roster-person[aria-pressed=true]{border-color:var(--accent)}.schedule-roster-person span{min-width:0}.schedule-roster-person strong,.schedule-roster-person small{display:block;overflow-wrap:anywhere}.schedule-roster-person small{margin-top:5px;color:var(--text-muted);font-size:12px}.schedule-roster-person svg{flex-shrink:0;color:var(--accent)}@media(max-width:700px){.schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-roster{grid-template-columns:1fr}}@media(max-width:420px){.schedule-fields{grid-template-columns:1fr}.schedule-person{align-items:flex-start}.schedule-person h3{font-size:20px}}.relationships-panel{padding:18px;min-width:0;display:grid;gap:18px}.relationship-picker{display:grid;gap:8px;color:var(--text-muted);font-size:13px}.relationship-picker select{min-width:0;width:100%;min-height:42px;padding:10px;border:1px solid var(--border);background:var(--surface-inset);color:var(--text-primary)}.relationship-person{display:flex;align-items:center;gap:15px}.relationship-person h3,.relationship-person p{margin:4px 0}.relationship-person .portrait{width:64px;height:80px;flex:0 0 64px}.relationship-person .mono{font-size:12px;color:var(--accent)}.relationship-list{display:grid;gap:14px}.relationship-card{border:1px solid var(--border);background:#0000001a;padding:18px}.relationship-card.working{border-color:var(--accent)}.relationship-card-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.relationship-card-head h3{margin:0 0 4px;font-size:18px}.relationship-card-head strong{color:var(--accent);font-size:13px}.relationship-card-head p{margin:5px 0 0;color:var(--text-muted);font-size:var(--type-body)}.relationship-card-head .portrait{width:52px;height:64px;flex:0 0 52px}.relationship-bonus{margin-left:auto;font-size:12px;color:var(--accent);text-align:right}.relationship-working{color:var(--accent);font-size:12px;margin:10px 0 0}.relationship-empty{border:1px dashed var(--border);padding:20px;color:var(--text-muted)}@media(max-width:600px){.relationship-card{padding:14px}.relationship-card-head{flex-wrap:wrap}.relationship-bonus{width:100%;margin-left:0;text-align:left}.relationship-person{align-items:flex-start}.relationship-person h3{font-size:20px}}.mentorship-feature{display:grid;gap:18px}.mentorship-content{padding:18px}.mentorship-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.mentorship-controls label{display:grid;gap:8px;color:var(--text-muted);font-size:12px}.mentorship-controls select{min-width:0;width:100%}.mentorship-rules{border-top:1px solid var(--border);margin-top:18px;padding-top:12px;font-size:13px}.mentorship-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mentorship-pair{border:1px solid var(--border);border-radius:6px;padding:16px;min-width:0}.mentorship-pair h3{overflow-wrap:anywhere}.mentorship-pair p{font-size:var(--type-body)}@media(max-width:700px){.mentorship-controls,.mentorship-pairs{grid-template-columns:1fr}}.leadership-feature{display:grid;gap:20px}.leadership-content{padding:20px;display:grid;gap:18px;line-height:1.6}.leadership-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.leadership-controls label{display:grid;gap:6px;font-size:12px;color:var(--text-secondary)}.leadership-controls select,.captain-picker select{padding:10px;background:var(--surface-inset);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;max-width:100%}.leader-status{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:4px}.leadership-content p{color:var(--text-secondary)}.captain-picker{padding:15px;display:grid;gap:8px;font-size:12px}@media(max-width:600px){.leadership-controls label{width:100%}.leadership-feature .panel-heading{flex-wrap:wrap;gap:10px}}.cooking-feature{display:grid;gap:20px}.cooking-feature .panel{padding:0 20px 20px}.cooking-feature .panel-heading{margin:0 -20px 20px;flex-wrap:wrap;gap:10px}.cooking-feature .panel-note{padding:16px 0}.kitchen-intro{color:var(--text-secondary);line-height:1.6;margin:0 0 20px}.kitchen-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px}.kitchen-toolbar label{display:grid;gap:6px;color:var(--text-secondary);font-size:12px}.kitchen-toolbar select{max-width:100%;padding:10px;background:var(--bg-input, #101419);border:1px solid var(--border);color:var(--text-primary);border-radius:4px}.kitchen-crew{display:grid;gap:14px}.kitchen-cook>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.kitchen-cook span{color:var(--text-secondary);font-size:12px}.meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.meal-card{padding:18px;border:1px solid var(--border);border-radius:6px;background:#ffffff04;display:flex;flex-direction:column;gap:12px;min-width:0}.meal-card.selected{border-color:#6a8045}.meal-heading{display:flex;gap:10px;align-items:center}.meal-heading svg{flex-shrink:0;color:#b4c18b}.meal-heading h3{margin:0 0 3px;font-size:18px}.meal-heading span,.meal-heading small{color:var(--text-secondary);font-size:12px}.meal-heading>strong{margin-left:auto;text-align:center;font-size:23px}.meal-heading small{display:block;font-weight:400}.meal-card p{margin:0;color:var(--text-secondary);font-size:var(--type-body);line-height:1.5}.meal-effects{display:flex;gap:7px;flex-wrap:wrap;color:#b4c18b;font-size:12px}.meal-effects span{background:#b4c18b0b;padding:5px;border-radius:3px}.meal-card .meal-cost{font-size:12px;margin-top:auto}.meal-card .button{width:100%;white-space:normal;justify-content:center}.meal-reason{font-size:12px;color:var(--text-secondary);min-height:14px}.auto-meals{display:flex;gap:9px;align-items:flex-start;margin-top:22px;font-size:13px;line-height:1.5}.auto-meals input{margin-top:3px;accent-color:#b4c18b}.kitchen-totals{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:var(--text-secondary)}@media(max-width:1100px){.meal-grid{grid-template-columns:1fr}}@media(max-width:600px){.kitchen-toolbar label{width:100%}.kitchen-cook>div:first-child{flex-direction:column}.people-tabs{flex-wrap:wrap}}.workspace.combat-workspace{grid-template-columns:1fr}.combat-workspace>.right-column{display:none}.combat-feature,.equipment-feature,.combat-main,.combat-sidebar{display:grid;gap:20px;min-width:0}.combat-command{display:flex;justify-content:space-between;gap:16px;font:10px IBM Plex Mono,monospace;color:var(--text-secondary);letter-spacing:.7px}.combat-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.battle-hero{position:relative;min-height:300px;overflow:hidden;border:1px solid var(--danger-border)}.battle-art{position:absolute;inset:0;background-image:url(/assets/scavenging-locations.png);background-size:400% 200%;filter:saturate(.65)}.battle-shade{position:absolute;inset:0;background:linear-gradient(0deg,var(--surface-panel) 0%,color-mix(in srgb,var(--surface-inset) 52.2%,transparent) 70%,color-mix(in srgb,var(--surface-inset) 25.1%,transparent))}.battle-copy{position:relative;padding:75px 26px 25px}.battle-copy h2{font:600 38px Barlow Condensed,sans-serif;color:var(--text-primary);margin:8px 0}.battle-copy p{max-width:480px;color:var(--text-primary);font-size:var(--type-body);line-height:1.6}.combat-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.combat-pills>span{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--accent-border);background:var(--surface-panel);color:var(--text-secondary);font-size:12px}.operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px}.operation{display:grid;text-align:left;gap:7px;background:var(--surface-panel);border:1px solid var(--border);color:var(--text-primary);padding:13px;cursor:pointer;min-width:0}.operation span{font-size:12px;color:var(--text-muted)}.operation.selected{border-color:var(--accent-border);background:var(--surface-selected)}.hostile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.hostile{background:var(--surface-panel);border:1px solid var(--accent-border);padding:14px;min-width:0}.hostile.defeated{opacity:.45}.infected-sigil{height:75px;display:flex;align-items:center;justify-content:center;gap:8px;background:radial-gradient(ellipse at center,var(--surface-hover),var(--surface-panel));color:var(--accent);border-bottom:1px solid var(--accent-border)}.infected-sigil span{font:9px IBM Plex Mono,monospace;writing-mode:vertical-rl}.infected-sigil.screamer,.infected-sigil.feral{color:var(--danger)}.infected-sigil.spitter,.infected-sigil.plague,.infected-sigil.bloater{color:var(--text-secondary)}.infected-sigil.juggernaut{color:var(--danger)}.hostile h3{font:600 23px Barlow Condensed,sans-serif;margin:12px 0;color:var(--text-primary)}.health-label{display:flex;justify-content:space-between;gap:5px;font:9px IBM Plex Mono,monospace;color:var(--text-secondary);margin:8px 0}.hostile p{font-size:var(--type-body);line-height:1.5;min-height:54px;color:var(--text-secondary)}.hostile small{color:var(--text-secondary);font-size:12px;line-height:1.5}.combat-roster{display:grid;gap:10px;padding:16px}.combat-person{padding:12px;border:1px solid var(--border);background:var(--surface-panel);display:grid;gap:9px;cursor:pointer}.combat-person.selected{border-color:var(--accent-border);background:var(--surface-selected)}.combat-person-top{display:flex;align-items:center;gap:9px}.combat-person-top input{accent-color:var(--accent)}.combat-person-top strong{font-size:14px}.combat-person-top span{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.fighter-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:12px;color:var(--text-secondary)}.fighter-stats span:nth-child(3),.fighter-stats span:nth-child(4){grid-column:1/-1}.fighter-status{font:10px IBM Plex Mono,monospace;color:var(--danger)}.combat-orders{padding:16px;display:grid;gap:15px;border-top:1px solid var(--border)}.combat-orders>label:not(.check-order),.loadout-select{display:grid;gap:7px;color:var(--text-primary);font-size:var(--type-field)}.combat-orders select,.combat-orders input[type=number],.equipment-feature select{width:100%;min-width:0;background:var(--surface-panel);color:var(--text-primary);border:1px solid var(--border);padding:10px;font:12px Barlow,sans-serif}.check-order{display:flex;align-items:center;gap:9px;font-size:12px}.check-order input{accent-color:var(--accent)}.combat-warning{color:var(--danger);font-size:12px;line-height:1.6}.combat-sidebar .button{justify-content:center;width:100%}.combat-sidebar .panel>.button{width:calc(100% - 32px);margin:0 16px}.combat-orders small{font-size:12px;color:var(--text-secondary);line-height:1.6}.ammo-counter{display:flex;gap:10px;align-items:center;color:var(--accent)}.ammo-counter strong{font:28px Barlow Condensed,sans-serif}.ammo-counter span{font-size:12px}.battle-log{padding:12px 18px;max-height:310px;overflow:auto;background:var(--surface-inset)}.battle-log p{font:11px/1.7 IBM Plex Mono,monospace;margin:7px 0;color:var(--text-primary)}.battle-report{padding:20px}.battle-report h3{font:26px Barlow Condensed,sans-serif;margin:10px 0}.battle-report p{font-size:var(--type-body);line-height:1.6;color:var(--text-secondary)}.outcome{font:11px IBM Plex Mono,monospace;text-transform:uppercase;color:var(--danger)}.outcome.victory{color:var(--text-secondary)}.battle-report details{margin-top:18px}.battle-report summary,.previous-battles summary{cursor:pointer;font-size:13px;color:var(--text-primary)}.previous-battles{padding:18px;border:1px solid var(--border);background:var(--surface-panel)}.previous-battles p{font-size:var(--type-body);color:var(--text-secondary)}.field-guide{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.field-guide article{padding:12px;background:var(--surface-raised)}.field-guide small{font-size:12px;color:var(--text-secondary)}.equipment-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:start}.loadout-select{padding:18px 20px 0}.loadout-person{display:flex;gap:16px;align-items:center;padding:20px}.loadout-person h2{overflow-wrap:anywhere;font:26px Barlow Condensed,sans-serif;margin:0 0 8px}.loadout-person p{font-size:var(--type-body);color:var(--text-secondary);line-height:1.5}.loadout-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 20px}.loadout-slots label{padding:12px;background:var(--surface-panel);border:1px solid var(--border);min-width:0}.loadout-slots label>div{display:flex;gap:8px;align-items:center;margin-bottom:12px;color:var(--text-secondary)}.loadout-slots strong{font-size:13px}.loadout-slots span{margin-left:auto;font-size:12px}.equipment-intro{font-size:14px;line-height:1.7;color:var(--text-secondary);padding:0 20px}.reclaim-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;border-top:1px solid var(--border)}.reclaim-row strong{font-size:14px}.reclaim-row small{display:block;color:var(--text-secondary);margin-top:5px}.reclaim-row button{font-size:12px}.gear-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}.locker-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px 20px 0;color:var(--text-secondary);font-size:12px}.locker-tools label{display:flex;align-items:center;gap:8px}.locker-tools select{min-width:130px}.gear-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:12px}.gear-controls label{display:flex;align-items:center;gap:5px}.gear-controls button{display:inline-flex;align-items:center;gap:5px}.gear-compare{display:grid;overflow-wrap:anywhere;gap:4px;padding:10px;border:1px solid var(--border);color:var(--text-secondary);font-size:12px;line-height:1.4}.gear-compare strong{color:var(--text-primary);font-weight:500}.gear-card{padding:18px;background:linear-gradient(145deg,var(--surface-raised),var(--surface-panel));border:1px solid var(--border);border-top:3px solid var(--border-strong);min-width:0}.rarity-uncommon{border-top-color:var(--positive-border)}.rarity-rare{border-top-color:var(--info)}.rarity-epic{border-top-color:var(--rarity-epic)}.gear-header{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary)}.gear-header span{font:9px IBM Plex Mono,monospace}.gear-card h3{font:25px Barlow Condensed,sans-serif;margin:14px 0 8px}.gear-card p{font-size:var(--type-body);color:var(--text-secondary);line-height:1.6;min-height:58px}.gear-numbers{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0;font-size:12px;color:var(--text-secondary)}.gear-card>small{font-size:12px;display:block;color:var(--text-secondary);margin:8px 0}.gear-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.gear-actions button{font-size:12px}.equipment-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--text-secondary)}.equipment-empty p{font-size:var(--type-body)}button:disabled{cursor:not-allowed}.combat-feature details:focus-visible,.equipment-feature select:focus-visible{outline:2px solid var(--accent-border);outline-offset:3px}@media(max-width:1150px){.combat-layout{grid-template-columns:minmax(0,1fr) 280px}.hostile-grid{grid-template-columns:1fr 1fr}.equipment-layout{grid-template-columns:1fr}.gear-grid{grid-template-columns:1fr 1fr}.combat-command{flex-wrap:wrap}}@media(max-width:760px){.combat-layout{grid-template-columns:1fr}.combat-sidebar{grid-row:1}.combat-command{font-size:12px}.battle-copy{padding:55px 18px 20px}.battle-copy h2{font-size:32px}.operation-grid{padding:12px}.hostile-grid{padding:12px;gap:8px}.hostile{padding:10px}.hostile h3{font-size:22px}.hostile p{min-height:0}.gear-grid{grid-template-columns:1fr;padding:12px}.loadout-slots{grid-template-columns:1fr}.loadout-person{align-items:flex-start}.field-guide{grid-template-columns:1fr}.reclaim-row{flex-wrap:wrap}.battle-hero{min-height:260px}.combat-pills{gap:6px}.combat-pills>span{font-size:12px}.equipment-feature .panel-header select{max-width:150px}}.combat-person-top .portrait{width:48px;height:58px;flex:0 0 48px}.loadout-person .portrait{width:76px;height:92px;flex:0 0 76px}.infected-sigil{height:auto;aspect-ratio:1;background-image:url(/assets/infected-portraits.png);background-size:400% 400%;position:relative}.infected-sigil span{position:absolute;bottom:0;left:0;right:0;writing-mode:horizontal-tb;background:color-mix(in srgb,var(--surface-inset) 85.1%,transparent);text-align:center;padding:6px;font-size:12px;color:var(--accent)}.workspace.scavenging-workspace{grid-template-columns:1fr}.scavenging-workspace>.right-column{display:none}.scavenging-feature{display:grid;gap:18px}.scavenge-planning-controls,.scavenge-upgrades,.scavenge-decision,.scavenge-discoveries{display:grid;gap:12px;padding:16px}.scavenge-planning-controls>label{display:grid;gap:7px;color:var(--text-secondary);font-size:12px}.scavenge-planning-controls select{width:100%;min-width:0}.scavenge-planning-controls>.scavenge-check{display:flex;align-items:center}.scavenge-planning-controls p,.scavenge-upgrades p,.scavenge-decision p,.scavenge-discoveries p{margin:0;line-height:1.6;font-size:var(--type-body)}.scavenge-upgrades>div{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--border-strong)}.scavenge-upgrades>div:last-child{border-bottom:0;padding-bottom:0}.scavenge-choice-buttons{display:flex;flex-wrap:wrap;gap:8px}.scavenge-order-details>summary{cursor:pointer;color:var(--accent);font-size:12px}.scavenge-order-details .scavenge-planning-controls{padding:14px 0 0}.scavenge-discoveries p>span{display:block;color:var(--text-secondary)}.field-intro{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px}.scavenge-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:20px;align-items:start}.scavenge-main,.scavenge-sidebar{display:grid;gap:20px;min-width:0}.location-hero{position:relative;min-height:340px;border:1px solid var(--border-strong);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.location-art{background-image:url(/assets/scavenging-locations.png);background-size:400% 200%;background-repeat:no-repeat}.location-hero>.location-art{position:absolute;inset:0}.location-shade{position:absolute;inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--surface-inset) 94.9%,transparent),color-mix(in srgb,var(--surface-inset) 60%,transparent) 45%,color-mix(in srgb,var(--surface-inset) 0%,transparent))}.location-hero-copy{position:relative;padding:70px 26px 20px}.location-hero h2{font-family:Barlow Condensed,sans-serif;font-size:38px;margin:10px 0;color:var(--text-primary)}.location-hero p{font-size:var(--type-body);line-height:1.65;color:var(--text-primary);max-width:510px}.location-quote{font-size:12px;font-style:italic;color:var(--text-secondary)}.location-facts{position:relative;display:flex;flex-wrap:wrap;gap:18px;background:color-mix(in srgb,var(--surface-panel) 80.8%,transparent);border-top:1px solid color-mix(in srgb,var(--border-strong) 53.3%,transparent);padding:15px 24px;font-size:12px;color:var(--text-secondary)}.location-facts span{display:flex;align-items:center;gap:6px}.location-facts svg{color:var(--text-secondary)}.expedition-progress{padding:22px}.expedition-progress>div:first-child{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-bottom:16px}.expedition-progress .progress{height:10px}.search-checkpoints{display:flex;justify-content:space-between;gap:5px;margin:12px 0 22px}.search-checkpoints span{font-size:12px;display:flex;align-items:center;gap:5px;color:var(--text-muted)}.search-checkpoints .done{color:var(--positive)}.field-loot{display:flex;gap:8px;flex-wrap:wrap}.field-loot>span{font-size:12px;color:var(--text-primary);border:1px solid var(--border);background:var(--surface-raised);padding:7px 9px;display:flex;gap:6px;align-items:center}.expedition-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.expedition-controls label,.dispatch-controls>label{font-size:12px;color:var(--text-secondary);display:flex;gap:8px;align-items:center}.scavenging-feature input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;flex-shrink:0}.field-briefing{padding:20px;display:grid;gap:18px}.field-briefing>div{display:flex;gap:14px}.field-briefing svg{flex-shrink:0;color:var(--text-secondary)}.field-briefing strong{font-size:13px;color:var(--text-primary)}.field-briefing p{font-size:var(--type-body);line-height:1.6;color:var(--text-muted);margin:6px 0 0}.location-lock{display:flex;align-items:center;gap:8px;color:var(--accent)!important}.field-log{padding:12px 22px;max-height:270px;overflow:auto}.field-log p{font-size:var(--type-body);color:var(--text-secondary);padding:10px 0;margin:0;border-bottom:1px solid var(--border);display:flex;gap:9px;line-height:1.6}.log-dot{width:4px;height:4px;flex-shrink:0;background:var(--text-muted);margin-top:7px}.field-empty{padding:24px;display:flex;align-items:center;gap:15px;color:var(--text-muted);font-size:12px;line-height:1.6}.location-catalog-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.location-catalog-header h2{font-family:Barlow Condensed,sans-serif;font-size:26px;margin:6px 0 0}.location-catalog-header select{background:var(--surface-panel);color:var(--text-secondary);padding:9px;border:1px solid var(--border);max-width:150px;font-size:var(--type-field)}.location-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.location-card{padding:0;background:var(--surface-panel);color:var(--text-primary);border:1px solid var(--border);text-align:left;cursor:pointer;overflow:hidden;min-width:0}.location-card.selected{border-color:var(--accent-border);box-shadow:0 0 0 1px color-mix(in srgb,var(--edge-light) 26.7%,transparent)}.location-card:disabled{cursor:default;opacity:.65}.location-thumb{height:145px}.location-card-label{font-family:Barlow Condensed,sans-serif;font-size:21px;display:flex;gap:6px;align-items:center;padding:13px 12px 10px}.location-card-label svg{color:var(--text-secondary);flex-shrink:0}.location-danger{display:flex;gap:5px;align-items:center;color:var(--text-muted);padding:0 12px}.danger-active{color:var(--danger)}.location-danger small{margin-left:auto;font-size:12px;color:var(--text-secondary)}.location-unlock{display:flex;justify-content:space-between;gap:6px;font-size:12px;line-height:1.4;color:var(--text-muted);padding:12px}.team-picker{display:grid;gap:8px;padding:13px;max-height:530px;overflow:auto}.team-option{display:flex;gap:9px;align-items:center;padding:10px 8px;border:1px solid var(--border);background:var(--surface-panel);cursor:pointer}.team-option.selected{border-color:var(--accent-border);background:var(--surface-selected)}.team-option:has(input:disabled){opacity:.5;cursor:default}.team-option .portrait,.field-person .portrait{width:45px;height:54px;flex-shrink:0}.team-option>span:last-child,.field-person>div{min-width:0}.team-option strong,.field-person strong{display:block;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:600}.team-option small,.field-person small{display:block;font-size:12px;color:var(--text-secondary);line-height:1.6;margin-top:3px}.field-person{display:flex;gap:11px;padding:10px;border:1px solid var(--border)}.field-person>div{flex:1}.field-person>div>span{font-size:12px;display:block;color:var(--text-secondary);margin:5px 0 10px}.dispatch-controls{padding:6px 15px 18px}.dispatch-controls .button{margin-top:16px}.dispatch-controls p,.potential-loot p{font-size:var(--type-body);color:var(--text-muted);line-height:1.7;margin:13px 0 0}.potential-loot{padding:12px 18px 19px}.potential-loot>div{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--border);padding:12px 0;font-size:12px;color:var(--text-primary)}.potential-loot small{margin-left:auto;font-size:12px;color:var(--text-secondary)}.potential-loot .rare-loot,.potential-loot .rare-loot small{color:var(--info)}.return-report{padding:20px}.return-report>div:first-child{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.return-report>div:first-child strong{font-family:Barlow Condensed,sans-serif;font-size:21px}.return-report>div:first-child>span{font-size:12px;color:var(--text-muted)}.return-report p{font-size:var(--type-body);color:var(--text-secondary);line-height:1.7}.return-report details{margin-top:15px;font-size:12px;color:var(--text-secondary)}.return-report summary{cursor:pointer}.overflow-loot{margin-top:16px}.overflow-loot>strong{display:block;font-size:12px;color:var(--accent);margin-bottom:8px}.overflow-loot .field-loot>span{color:var(--accent)}.past-expeditions>details{border-bottom:1px solid var(--border)}.past-expeditions>details>summary{padding:17px 20px;font-size:13px;cursor:pointer;color:var(--text-primary)}.past-expeditions>details>summary>span{float:right;color:var(--text-muted);font-size:12px}.past-expeditions .return-report{padding-top:0}@media(min-width:1600px){.location-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}.location-thumb{height:110px}}@media(max-width:1050px){.scavenge-layout{grid-template-columns:1fr}.scavenge-sidebar{grid-row:1;grid-template-columns:1fr 1fr}.scavenge-layout.has-expedition .scavenge-sidebar{grid-row:auto}.scavenge-sidebar>.field-note{display:none}.team-picker{max-height:260px}.location-hero{min-height:310px}}@media(max-width:600px){.scavenge-sidebar{grid-template-columns:1fr}.location-hero{min-height:330px}.location-hero-copy{padding:60px 20px 20px}.location-hero h2{font-size:31px}.location-facts{padding:13px 18px;gap:10px;font-size:12px}.location-thumb{height:102px}.location-card-label{font-size:18px;align-items:flex-start}.expedition-progress{padding:17px}.expedition-controls{flex-direction:column;align-items:stretch}.location-catalog-header select{max-width:123px;font-size:var(--type-field)}.past-expeditions>details>summary>span{float:none;display:block;margin-top:6px}.field-intro,.search-checkpoints span{font-size:12px}}.route-picker{display:grid;gap:8px;margin-bottom:16px}.field-opportunity{padding:14px;margin:12px 0;border:1px solid var(--border);background:var(--surface-raised);overflow-wrap:anywhere}.field-opportunity p{margin:8px 0}.field-opportunity small,.scavenge-choice-buttons>div>small{color:var(--text-secondary);font-size:12px;line-height:1.5}.scavenge-choice-buttons>div{display:grid;align-content:start;gap:8px;flex:1 1 210px;min-width:0}.scavenge-choice-buttons>div>button{min-height:44px;white-space:normal}.route-picker select{width:100%;min-width:0}.scavenge-planning-details{padding:16px;border:1px solid var(--border);border-radius:4px}.scavenge-planning-details>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.scavenge-planning-details>.panel{margin-top:12px}:root{font-family:Barlow,sans-serif;color:var(--text-primary);background:var(--surface-inset);font-synthesis:none;font-size:15px;line-height:1.5;--sidebar: 204px}*{box-sizing:border-box}body{margin:0;min-width:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0}button:disabled{opacity:1;color:var(--text-secondary);cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{transition:background .18s,border-color .18s,color .18s}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Barlow Condensed,sans-serif;font-weight:600}svg{flex-shrink:0;vertical-align:middle}input,select{color:var(--text-primary);background:var(--surface-inset);border:1px solid var(--border);border-radius:3px;padding:10px 12px}input::placeholder{color:var(--text-muted)}select{cursor:pointer}a{color:var(--gold)}.mono{font-family:IBM Plex Mono,monospace;font-size:12px}.muted{color:var(--muted)!important}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.gold{color:var(--gold)}.eyebrow{font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:500;letter-spacing:1.5px;color:var(--text-muted)}.helper{font-size:12px;line-height:1.6;color:var(--text-muted)}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;background:radial-gradient(ellipse at 30% -50%,color-mix(in srgb,var(--surface-hover) 31.4%,transparent),transparent 70%),var(--surface-panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar:after{content:"";height:2px;background:linear-gradient(90deg,var(--danger-surface) 0%,var(--danger-surface) 12%,var(--accent) 34%,transparent 100%);position:absolute;bottom:-1px;left:0;width:100%}.brand-area{display:flex;gap:14px;align-items:center}.brand{background:none;padding:0;display:flex;flex-direction:column;align-items:flex-start}.wordmark{font-family:Barlow Condensed,sans-serif;font-size:47px;line-height:1;letter-spacing:1.5px;font-weight:800;display:block;color:var(--text-primary);text-shadow:2px 1px var(--shadow-ink);transform:scaleY(1.08);position:relative}.wordmark:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(175deg,transparent 0,transparent 13px,color-mix(in srgb,var(--surface-panel) 56.5%,transparent) 13.5px,transparent 14px);pointer-events:none}.wordmark span{color:var(--text-primary)}.brand-tagline{font-family:Barlow Condensed,sans-serif;letter-spacing:2.7px;font-size:12px;color:var(--text-secondary);margin-top:8px}.header-message{margin-left:auto;margin-right:55px;font-family:Barlow Condensed,sans-serif;letter-spacing:1.6px;font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:7px}.header-message strong{font-weight:500;color:var(--text-secondary)}.tiny-line{width:24px;height:1px;background:var(--surface-hover);margin-right:8px}.header-controls{display:flex;gap:13px;align-items:center}.world-clock{display:flex;align-items:center;gap:10px;color:var(--gold)}.world-clock>div{display:flex;flex-direction:column;gap:4px}.world-clock strong{font-family:Barlow Condensed;font-weight:600;font-size:16px;letter-spacing:1px}.world-clock .mono{font-size:12px;color:var(--text-secondary)}.header-divider{height:28px;width:1px;background:var(--surface-hover);margin:0 6px}.icon-button{background:transparent;display:flex;align-items:center;justify-content:center;padding:9px;color:var(--text-secondary);border-radius:3px}.icon-button:hover{background:var(--surface-hover);color:var(--text-primary)}.menu-toggle{display:none}.sidebar{width:var(--sidebar);position:fixed;left:0;top:100px;bottom:0;min-height:0;overflow:hidden;background:linear-gradient(90deg,var(--surface-panel),var(--surface-panel));border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:12}.sidebar>*{flex-shrink:0}.navigation-drawer-heading{display:none}.sidebar button:focus-visible{outline-offset:-3px}.camp-label{padding:19px 14px 18px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--border)}.camp-symbol{color:var(--accent);border:1px solid var(--border);background:var(--surface-raised);width:32px;height:34px;display:grid;place-items:center}.camp-label strong{font-family:Barlow Condensed;font-size:15px;font-weight:500;display:block;max-width:127px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-label div>span{font-size:12px;letter-spacing:1.4px;color:var(--text-muted);display:block;margin-top:4px}.sidebar nav{padding:6px 0 12px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.nav-group{padding-top:15px}.nav-group>p{font-family:Barlow Condensed;letter-spacing:1.8px;font-size:var(--type-body);color:var(--text-muted);padding:0 21px;margin-bottom:7px}.nav-link{position:relative;display:flex;align-items:center;gap:12px;min-height:var(--control-height);width:100%;background:transparent;border-left:2px solid transparent;text-align:left;padding:0 20px;font-size:var(--type-control);color:var(--text-primary)}.nav-link svg{color:var(--text-muted)}.nav-link:hover{background:var(--surface-raised);color:var(--text-primary)}.nav-link.active{border-left-color:var(--accent-border);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16.5%,transparent),color-mix(in srgb,var(--accent) 4.3%,transparent));color:var(--accent)}.nav-link.active svg{color:var(--accent)}.nav-link.future{color:var(--text-muted)}.nav-link.future svg{color:var(--text-muted)}.nav-lock{margin-left:auto;opacity:.6}.nav-active-mark{height:4px;width:4px;background:var(--accent);border-radius:50%;margin-left:auto}.sidebar-bottom{padding:19px 20px;display:flex;flex-direction:column;gap:8px;margin-top:auto;border-top:1px solid var(--border)}.sidebar-bottom>span:last-child{font-family:IBM Plex Mono;font-size:12px;color:var(--text-muted)}.build-tag{font-family:Barlow Condensed;font-size:12px;color:var(--text-secondary);letter-spacing:1.5px;display:flex;align-items:center;gap:6px}.build-tag:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--green)}.game-area{margin-left:var(--sidebar);background:radial-gradient(ellipse at 70% 10%,color-mix(in srgb,var(--surface-hover) 7.5%,transparent),transparent 65%),var(--surface-inset);min-height:calc(100vh - 100px)}.resource-bar{position:sticky;top:100px;z-index:15;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));background:linear-gradient(var(--surface-panel),var(--surface-panel));border-bottom:1px solid var(--border);padding:14px 16px;gap:0}.resource{background:transparent;display:flex;gap:10px;align-items:center;text-align:left;padding:0 13px;border-right:1px solid var(--border);border-radius:0;min-width:0}.resource:first-child{padding-left:6px}.resource:last-child{border:0;padding-right:0}.resource:hover{background:var(--surface-hover)}.resource>svg{color:var(--resource-color);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--surface-void) 33.3%,transparent))}.resource-name{display:block;text-transform:uppercase;font-family:Barlow Condensed;letter-spacing:1.1px;font-size:12px;color:var(--text-secondary);line-height:1.2}.resource-amount{font-family:IBM Plex Mono;font-size:15px;color:var(--text-primary);margin-top:3px;white-space:nowrap}.resource-amount small{font-family:Barlow;font-size:12px;color:var(--text-muted)}.resource-rate{display:block;font-size:12px;margin-top:3px}.resource-rate span{font-family:Barlow;margin-left:2px}main{padding:24px 24px 0;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.page-heading .eyebrow{font-size:12px;letter-spacing:2px;color:var(--text-muted);margin-bottom:6px}.page-heading h1{font-size:31px;line-height:1.1;letter-spacing:.3px;display:flex;gap:11px;align-items:center;color:var(--text-primary)}.page-heading h1 svg{color:var(--accent)}.page-heading p{font-size:var(--type-body);color:var(--text-muted);margin-top:8px}.location-tag{font-family:Barlow Condensed;font-size:12px;letter-spacing:1.3px;color:var(--text-muted);display:flex;gap:7px;align-items:center}.location-tag>span{color:var(--text-muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.central-column,.right-column{min-width:0;display:flex;flex-direction:column;gap:18px}.settlement-hero{background:linear-gradient(90deg,color-mix(in srgb,var(--surface-panel) 87.8%,transparent),color-mix(in srgb,var(--surface-inset) 46.7%,transparent) 35%,color-mix(in srgb,var(--surface-inset) 2%,transparent) 72%),var(--settlement-image, url(/assets/riverside-shelter.png)) center 46% / cover;border:1px solid var(--border-strong);border-radius:4px;overflow:hidden;min-height:337px;position:relative;box-shadow:0 4px 24px color-mix(in srgb,var(--shadow-ink) 20%,transparent)}.settlement-hero:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 50px color-mix(in srgb,var(--shadow-ink) 26.7%,transparent)}.hero-topline{display:flex;justify-content:space-between;align-items:center;padding:17px 21px;position:relative;z-index:1}.hero-tag{display:inline-flex;align-items:center;gap:7px;font-family:Barlow Condensed;font-size:12px;letter-spacing:1.5px;color:var(--accent);padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent-border) 33.3%,transparent);background:color-mix(in srgb,var(--surface-inset) 78%,transparent);border-radius:2px}.hero-coordinate{color:color-mix(in srgb,var(--text-primary) 66.7%,transparent);font-size:12px}.hero-copy{padding:18px 26px 84px;position:relative;z-index:1}.hero-copy .eyebrow{color:var(--text-secondary);font-size:12px;letter-spacing:2.3px}.hero-copy h2{font-size:48px;letter-spacing:.3px;color:var(--text-primary);line-height:1.05;margin-top:6px;max-width:90%;overflow-wrap:anywhere}.hero-copy p{font-size:var(--type-body);line-height:1.7;color:var(--text-secondary);margin-top:12px;text-shadow:0 1px var(--shadow-ink)}.hero-copy .button{margin-top:19px}.button{border-radius:3px;border:1px solid var(--border);padding:10px 15px;background:var(--surface-hover);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:var(--type-control);font-weight:500;line-height:1.25;white-space:nowrap;min-height:var(--control-height)}.button.primary{background:linear-gradient(var(--accent),var(--accent));border-color:var(--accent-border);color:var(--text-on-accent);box-shadow:inset 0 1px color-mix(in srgb,var(--edge-light) 13.3%,transparent)}.button.primary:hover{background:var(--accent)}.button.subtle{background:var(--surface-raised);border-color:var(--border);color:var(--text-primary)}.button.subtle:hover{background:var(--surface-hover);border-color:var(--border-strong)}.button.compact{font-size:var(--type-control);padding:8px 12px;min-height:var(--control-height)}.button.danger{background:var(--danger-surface);border-color:var(--danger-border);color:var(--text-primary)}.button.danger:hover{background:var(--danger-surface)}.button.danger.subtle{background:var(--danger-surface);border-color:var(--danger-border);color:var(--danger)}.hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;gap:0;border-top:1px solid color-mix(in srgb,var(--accent-border) 25.1%,transparent);background:color-mix(in srgb,var(--surface-inset) 87.8%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:14px 24px}.hero-bottom>div{display:flex;align-items:center;gap:10px;padding:0 19px;border-right:1px solid color-mix(in srgb,var(--border-strong) 25.1%,transparent);flex:1}.hero-bottom>div:first-child{padding-left:0}.hero-bottom>div:last-child{border:0;padding-right:0}.hero-bottom svg{color:var(--text-secondary)}.hero-bottom>div>span{font-family:Barlow Condensed;font-size:12px;letter-spacing:1.3px;color:var(--text-muted);white-space:nowrap}.hero-bottom strong{display:block;font-family:Barlow;font-weight:500;font-size:12px;letter-spacing:0;color:var(--text-primary);margin-top:4px}.hero-bottom small{font-size:12px;font-weight:400;color:var(--text-secondary)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:4px 0 -6px}.section-heading h2{font-size:17px;letter-spacing:.6px;font-weight:500;display:flex;align-items:center;gap:8px}.section-heading h2 svg{color:var(--text-secondary)}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:none;padding:3px 0;font-size:12px;color:var(--text-secondary)}.text-button:hover{color:var(--accent)}.essentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.essential-card{background:linear-gradient(140deg,color-mix(in srgb,var(--surface-raised) 37.6%,transparent),color-mix(in srgb,var(--surface-panel) 31.4%,transparent));border:1px solid var(--border);border-radius:3px;text-align:left;padding:14px}.essential-card:hover{background:var(--surface-raised);border-color:var(--border-strong)}.essential-top{display:flex;justify-content:space-between;align-items:center;gap:3px;color:var(--text-muted)}.essential-top>span{display:flex;gap:8px;align-items:center;color:var(--text-secondary);font-size:12px}.essential-number{font-size:24px;color:var(--text-primary);margin:10px 0 12px}.essential-number>span{font-size:12px;color:var(--text-muted)}.progress{height:5px;background:var(--surface-inset);border:1px solid var(--border);overflow:hidden;border-radius:1px}.progress>div{height:100%;background:linear-gradient(90deg,var(--text-muted),var(--text-muted));transition:width .25s linear;box-shadow:0 0 8px color-mix(in srgb,var(--edge-light) 20%,transparent)}.progress.food>div{background:var(--accent)}.progress.water>div{background:var(--info)}.progress.wood>div{background:var(--accent)}.essential-bottom{margin-top:9px;display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.panel{border:1px solid var(--border);border-radius:3px;background:linear-gradient(120deg,color-mix(in srgb,var(--surface-raised) 31.4%,transparent),transparent),var(--surface-panel);overflow:hidden}.panel-heading{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:7px;background:linear-gradient(90deg,color-mix(in srgb,var(--surface-raised) 29%,transparent),transparent)}.panel-heading h2{font-size:var(--type-section);font-weight:600;display:flex;gap:8px;align-items:center;letter-spacing:.5px}.panel-heading h2 svg{color:var(--text-secondary)}.work-panel{margin-top:0}.status-label{font-family:Barlow Condensed;font-size:12px;letter-spacing:1.25px;color:var(--positive);display:flex;align-items:center;gap:6px}.status-label i,.live-dot,.save-dot{display:inline-block;width:5px;height:5px;background:var(--positive);border-radius:50%;box-shadow:0 0 5px color-mix(in srgb,var(--edge-light) 14.5%,transparent);flex-shrink:0}.status-label.muted i{background:var(--positive)}.work-detail{padding:20px 18px 14px;display:flex;align-items:center;gap:13px}.task-emblem{height:55px;width:55px;background:radial-gradient(color-mix(in srgb,var(--surface-hover) 20.8%,transparent),var(--surface-raised));border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 0 12px color-mix(in srgb,var(--shadow-ink) 13.3%,transparent)}.work-copy{min-width:0;overflow-wrap:anywhere;flex:1}.work-copy .eyebrow{font-size:12px;letter-spacing:1.4px}.work-copy h3{font-size:22px;margin-top:3px;color:var(--text-primary);letter-spacing:.25px}.work-copy p{font-size:var(--type-body);color:var(--text-secondary);margin-top:5px}.work-progress{display:flex;gap:15px;align-items:center;padding:0 18px 19px}.work-progress .progress{flex:1;height:8px;border-color:var(--border);background:var(--surface-inset)}.work-progress>.mono{font-size:12px;color:var(--text-primary)}.task-selector{padding:13px 18px 12px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-panel) 25.1%,transparent)}.task-selector>.eyebrow{font-size:12px;letter-spacing:1.5px}.task-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px;margin-bottom:8px}.task-button{display:flex;gap:7px;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface-raised);padding:10px 5px;border-radius:2px;font-size:12px;color:var(--text-secondary)}.task-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.task-button.selected{background:color-mix(in srgb,var(--surface-selected) 40%,transparent);border-color:var(--accent-border);color:var(--text-primary)}.task-button.selected svg{color:var(--text-secondary)}.task-selector .helper{font-size:12px;color:var(--text-muted)}.discovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.beyond-heading>.eyebrow{font-size:12px;letter-spacing:1.3px}.discovery-card{padding:17px 14px;text-align:left;border:1px solid var(--border);border-radius:3px;background:linear-gradient(120deg,color-mix(in srgb,var(--surface-hover) 37.6%,transparent),color-mix(in srgb,var(--surface-panel) 31.4%,transparent));position:relative;overflow:hidden}.discovery-card:before{content:"";position:absolute;width:100%;height:100%;inset:0;background:url(/assets/riverside-shelter.png) 10% 30% / auto 260px;opacity:.055;pointer-events:none}.discovery-card:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--surface-hover) 25.1%,transparent)}.discovery-top{display:flex;justify-content:space-between;align-items:center;color:var(--text-muted)}.discovery-top>svg:last-child{color:var(--text-muted)}.discovery-card h3{font-size:17px;letter-spacing:.2px;margin-top:18px;color:var(--text-primary)}.discovery-card p{font-size:var(--type-body);color:var(--text-muted);line-height:1.5;margin-top:5px;min-height:15px}.discovery-card>span{font-family:Barlow Condensed;font-size:12px;letter-spacing:1.2px;color:var(--text-muted);display:flex;justify-content:space-between;align-items:center;margin-top:20px}.small-badge{font-family:IBM Plex Mono;font-size:12px;border:1px solid var(--border);color:var(--text-secondary);padding:3px 5px;border-radius:2px}.camp-status-lead{display:flex;align-items:center;gap:11px;padding:17px 15px}.camp-status-icon{width:43px;height:45px;border:1px solid var(--border-strong);background:var(--surface-hover);color:var(--text-secondary);display:grid;place-items:center;border-radius:3px}.camp-status-lead h3{font-size:20px;color:var(--text-primary)}.camp-status-lead p{font-size:var(--type-body);color:var(--text-secondary);margin-top:3px}.status-rows{padding:0 15px 13px}.status-rows>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 30.2%,transparent);font-size:12px}.status-rows>div:last-child{border:0}.status-rows>div>span{display:flex;align-items:center;gap:9px;color:var(--text-secondary)}.status-rows strong{font-size:12px;font-weight:500;color:var(--text-primary)}.status-rows small{font-size:12px;color:var(--text-muted);margin-left:3px}.camp-status-foot{font-family:Barlow Condensed;letter-spacing:1.1px;font-size:12px;padding:11px 15px;background:color-mix(in srgb,var(--surface-raised) 50.2%,transparent);border-top:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;gap:7px}.checklist-panel .panel-heading .mono{font-size:12px}.objective-roadmap{display:grid;gap:8px;padding:0 15px 14px}.objective-milestone{border:1px solid var(--border);background:var(--surface-panel);padding:11px 12px}.objective-milestone.current{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent) 5%,var(--surface-panel))}.objective-milestone.locked{opacity:.72}.objective-heading{display:flex;align-items:center;gap:10px}.objective-number{display:grid;place-items:center;flex:0 0 25px;height:25px;border:1px solid var(--border-strong);color:var(--text-secondary);font:11px IBM Plex Mono,monospace}.objective-milestone.done .objective-number{color:var(--positive);border-color:var(--positive-border)}.objective-heading strong{flex:1;color:var(--text-primary);font-size:14px}.objective-status{color:var(--text-muted);font:9px IBM Plex Mono,monospace;letter-spacing:.08em}.objective-milestone.current .objective-status{color:var(--accent)}.objective-milestone>p{margin:7px 0 0 35px;color:var(--text-secondary);font-size:var(--type-body);line-height:1.5}.objective-tasks{display:grid;gap:7px;margin:12px 0 12px 35px}.objective-tasks>div{display:flex;align-items:center;gap:9px;color:var(--text-primary);font-size:12px}.objective-tasks>div.done{color:var(--text-muted)}.objective-milestone>.button{margin-left:35px}.checklist-intro{font-size:12px;color:var(--text-muted);padding:15px 15px 0}.checklist{display:flex;flex-direction:column;gap:15px;padding:17px 15px}.checklist>div{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--text-primary)}.check-box{width:14px;height:14px;border:1px solid var(--border-strong);background:var(--surface-panel);display:grid;place-items:center;border-radius:2px;flex-shrink:0}.checklist .done{color:var(--positive)}.checklist .done .check-box{background:var(--positive);color:var(--text-on-accent);border-color:var(--positive-border)}.checklist-panel>.progress{margin:0 15px;height:4px}.checklist-footer{font-family:Barlow Condensed;font-size:12px;letter-spacing:1.2px;color:var(--text-muted);display:flex;align-items:center;gap:6px;padding:13px 15px 16px}.log-panel .panel-heading>.live-dot{width:4px;height:4px}.activity-list{padding:3px 14px}.log-entry{display:flex;align-items:start;gap:11px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 46.7%,transparent)}.log-entry:last-child{border:0}.log-entry .mono{font-size:12px;line-height:1.7;color:var(--text-muted);padding-top:1px}.log-entry p{font-size:var(--type-body);color:var(--text-primary);line-height:1.55}.log-entry.good p{color:var(--text-primary)}.log-entry.warning p{color:var(--accent)}.log-link{padding:11px 15px 13px;width:100%;justify-content:space-between;font-size:12px;border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);color:var(--text-secondary)}.field-note{border-left:2px solid var(--accent-border);padding:4px 12px;margin:5px 0}.field-note .eyebrow{font-size:12px;letter-spacing:1.6px;color:var(--text-muted)}.field-note p{font-size:var(--type-body);font-style:italic;line-height:1.65;color:var(--text-secondary);margin-top:9px}.field-note>span:last-child{font-family:Barlow Condensed;font-size:12px;letter-spacing:1px;color:var(--text-muted);display:block;margin-top:10px}.game-footer{display:flex;justify-content:space-between;align-items:center;padding:21px 0 19px;font-size:12px;color:var(--text-muted);margin-top:24px;border-top:1px solid color-mix(in srgb,var(--border) 50.2%,transparent)}.game-footer>span{display:flex;align-items:center;gap:7px}.save-dot{height:4px;width:4px}.save-dot.warn{background:var(--danger)}.footer-separator{color:var(--text-muted);margin:0 4px}.game-footer .text-button{font-size:12px;color:var(--text-muted)}.community-banner{padding:30px;border:1px solid var(--border-strong);border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--surface-panel) 92.9%,transparent),color-mix(in srgb,var(--surface-panel) 73.3%,transparent)),url(/assets/riverside-shelter.png) center/cover}.community-banner h2{font-size:36px;color:var(--text-primary);margin-top:8px;overflow-wrap:anywhere}.community-banner p{max-width:420px;color:var(--text-secondary);line-height:1.7;margin-top:12px}.inline-metrics{display:flex;gap:26px;font-size:12px;color:var(--text-secondary);margin-top:22px}.inline-metrics>span{display:flex;gap:9px;align-items:center}.survivor-row{padding:22px;display:flex;align-items:center;gap:18px}.survivor-portrait{width:78px;height:90px;background:linear-gradient(145deg,var(--surface-hover),var(--surface-raised));border:1px solid var(--border-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:4px}.survivor-portrait>span{font-family:Barlow Condensed;letter-spacing:2px;font-size:12px}.survivor-row h3{font-size:26px;color:var(--text-primary);margin-top:3px}.survivor-row p{color:var(--text-secondary);font-size:var(--type-body);margin:4px 0 12px}.survivor-level{margin-left:auto;font-size:30px;color:var(--text-secondary);text-align:center}.survivor-level small{display:block;font-size:12px;letter-spacing:1px;margin-top:3px}.panel-note{font-size:12px;color:var(--text-muted);line-height:1.6;padding:15px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-panel) 26.7%,transparent)}.inventory-toolbar{display:flex;align-items:center;gap:13px}.search-field{display:flex;align-items:center;flex:1;padding:0 11px;background:var(--surface-panel);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary)}.search-field input{background:none;border:0;width:100%;min-width:0;font-size:var(--type-field);padding:12px 10px}.sort-field{position:relative;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.sort-field select{font-size:var(--type-field);padding:10px 24px 10px 10px;appearance:none}.sort-field>svg{position:absolute;right:7px;pointer-events:none}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.inventory-card{display:grid;grid-template-columns:55px 1fr;gap:12px;background:var(--surface-panel);border:1px solid var(--border);border-radius:3px;padding:20px;text-align:left}.inventory-card:hover{background:var(--surface-raised);border-color:var(--border-strong)}.inventory-card h3{font-size:24px;margin-bottom:4px}.inventory-card .eyebrow{font-size:12px}.inventory-icon{display:grid;place-items:center;background:color-mix(in srgb,var(--surface-hover) 31.4%,transparent);width:50px;height:56px;border:1px solid color-mix(in srgb,var(--border-strong) 43.9%,transparent)}.inventory-quantity{grid-column:1/-1;font-size:24px;color:var(--text-primary);margin-top:4px}.inventory-quantity>span{font-size:12px;color:var(--text-muted)}.inventory-card .progress,.inventory-card p{grid-column:1/-1}.inventory-card p{font-size:var(--type-body);line-height:1.6;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-card{padding:25px;background:var(--surface-raised);border:1px solid var(--border);border-radius:3px;display:flex;flex-direction:column;gap:14px;color:var(--text-secondary)}.stat-card .eyebrow{font-size:12px}.stat-card strong{font-size:30px;font-weight:400;color:var(--text-primary)}.ledger-row{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid color-mix(in srgb,var(--border) 50.2%,transparent);font-size:12px;color:var(--text-secondary)}.ledger-row>strong{margin-left:auto;font-weight:400;font-size:12px}.ledger-row:last-child{border:0}.journal{padding:5px 18px}.journal-entry{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 46.7%,transparent)}.journal-entry>.mono{font-size:12px;min-width:46px;color:var(--text-muted)}.journal-entry>.mono strong{display:block;font-size:12px;margin-top:3px;font-weight:400}.journal-entry>svg{color:var(--text-muted)}.journal-entry p{font-size:var(--type-body);line-height:1.5;color:var(--text-secondary)}.journal-entry.warning p{color:var(--accent)}.log-filter{font-size:12px;padding:6px;max-width:50%}.empty-state{padding:45px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px;color:var(--text-secondary);border:1px dashed var(--border-strong)}.empty-state p{font-size:var(--type-body);line-height:1.6}.roadmap-panel{border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--surface-raised)}.roadmap-art{background:linear-gradient(color-mix(in srgb,var(--surface-raised) 66.7%,transparent),color-mix(in srgb,var(--surface-raised) 90.2%,transparent)),url(/assets/riverside-shelter.png) center/cover;height:220px;display:flex;align-items:center;justify-content:center;position:relative;color:var(--text-secondary)}.roadmap-art .hero-tag{position:absolute;right:18px;top:18px}.roadmap-copy{padding:30px}.roadmap-copy h2{font-size:36px;color:var(--text-primary);margin:10px 0 14px}.roadmap-copy>p{color:var(--text-secondary);line-height:1.8;max-width:520px}.phase-note{padding:18px;display:flex;gap:12px;align-items:start;background:var(--surface-hover);border:1px solid var(--border);border-radius:3px;margin:24px 0;color:var(--text-secondary)}.phase-note p{font-size:var(--type-body);line-height:1.65}.phase-note strong{display:block;color:var(--text-primary);margin-bottom:5px;font-weight:500}.warning-banner{background:var(--danger-surface);border:1px solid var(--danger-border);display:flex;gap:12px;padding:12px 16px;color:var(--accent);border-radius:3px;margin-bottom:17px;font-size:12px;line-height:1.5;align-items:center}.warning-banner>span{flex:1}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:120;background:var(--surface-hover);border:1px solid var(--border-strong);border-radius:4px;box-shadow:0 8px 35px color-mix(in srgb,var(--shadow-ink) 53.3%,transparent);padding:14px 20px;display:flex;gap:10px;align-items:center;font-size:13px;color:var(--text-primary);max-width:calc(100% - 30px)}.operations-list{display:grid}.progression-guide>p{margin:14px 18px;line-height:1.6}.progression-guide>button{margin:0 18px 18px}.operation-row{display:flex;align-items:center;gap:16px;width:100%;padding:15px 18px;text-align:left;background:transparent;color:var(--text-primary);border:0;border-bottom:1px solid var(--border);cursor:pointer}.operation-row:hover{background:var(--surface-hover)}.operation-row>span{flex:1;min-width:0}.operation-row strong,.operation-row small{display:block;overflow-wrap:anywhere}.operation-row small{color:var(--text-secondary);margin-top:5px}.operation-row .progress{margin-top:10px;height:4px}.needs-attention{border-left:3px solid var(--accent)}.needs-attention small{color:var(--accent)}.operations-empty{padding:4px 18px 14px}.operations-empty p{line-height:1.6;color:var(--text-secondary)}.operations-note{padding:0 18px 14px}.save-health{padding:12px 14px;background:var(--surface-inset, var(--surface-hover));border-radius:3px}.save-health strong{color:var(--text-primary)}.save-health p{font-size:var(--type-body);line-height:1.6;margin:7px 0 0;overflow-wrap:anywhere}.toast{overflow-wrap:anywhere}.toast .icon-button,.operation-row>svg{flex-shrink:0}.modal-heading{position:sticky;top:0;z-index:1;background:var(--surface-panel)}.modal-backdrop{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--surface-void) 80.8%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.modal{width:540px;max-width:100%;background:linear-gradient(130deg,var(--surface-raised),var(--surface-panel));border:1px solid var(--border-strong);border-radius:5px;box-shadow:0 18px 90px color-mix(in srgb,var(--shadow-ink) 60%,transparent);max-height:calc(100dvh - 40px);overflow:auto}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:16px 23px;background:color-mix(in srgb,var(--surface-hover) 31.4%,transparent)}.modal-heading h2{font-size:27px;color:var(--text-primary)}.settings-content{padding:24px;display:flex;flex-direction:column;gap:19px;color:var(--text-secondary)}.settings-content>p{font-size:var(--type-body);line-height:1.7}.settings-content h3{font-size:21px;color:var(--text-primary)}.modal-description{color:var(--text-secondary)}.field-label{font-size:12px;letter-spacing:1.4px;color:var(--text-secondary);display:block;margin-bottom:8px}.input-group{display:flex;gap:8px}.input-group input{min-width:0;flex:1}.settings-divider{height:1px;background:var(--surface-hover);margin:2px 0}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-info{display:flex;align-items:start;gap:12px;background:var(--surface-hover);border:1px solid var(--border);padding:16px;border-radius:3px;color:var(--text-secondary)}.settings-info p{font-size:var(--type-body);line-height:1.6}.settings-info strong{font-weight:500;display:block;color:var(--text-primary);margin-bottom:4px}.settings-danger{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding-top:20px}.settings-danger h3{font-size:19px}.settings-danger p{font-size:var(--type-body);line-height:1.5;max-width:250px;color:var(--text-secondary);margin-top:5px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:8px}.full-width{width:100%}.big-resource-number{font-size:50px;color:var(--text-primary)}.big-resource-number>span{font-size:17px;color:var(--text-muted)}.resource-details .ledger-row{padding:10px 0}.offline-content{padding:30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.offline-content>.eyebrow{margin-top:8px}.offline-content h3{font-size:45px;color:var(--text-primary)}.offline-content>p{font-size:var(--type-body);color:var(--text-secondary)}.offline-content .helper{font-size:12px;line-height:1.6}.offline-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;width:100%}.offline-grid>div{border:1px solid var(--border);padding:14px;background:color-mix(in srgb,var(--surface-hover) 50.2%,transparent);border-radius:2px}.offline-grid span{display:block;font-size:12px;margin-bottom:8px}.offline-grid strong{font-size:18px;font-weight:400}.skip-link{position:absolute;top:-100px;z-index:200;background:var(--accent);color:var(--text-on-accent);padding:12px}.skip-link:focus{top:8px;left:10px}.nav-scrim{display:none}#main-content:focus{outline:none}@media(min-width:721px){.camp-label{padding-top:8px;padding-bottom:8px}.sidebar nav{padding:4px 0}.nav-group{padding-top:4px}.nav-group>p{line-height:12px;margin-bottom:3px}.nav-link{height:clamp(18px,calc((100dvh - 280px) / 23),30px)}.nav-link svg{width:14px;height:14px}.sidebar-bottom{padding-top:8px;padding-bottom:8px;gap:4px}}@media(min-width:721px)and (max-height:693px){.nav-group{padding-top:0}.nav-group>p{display:none}.nav-link{height:clamp(18px,calc((100dvh - 204px) / 23),26px)}}@media(min-width:1550px){:root{--sidebar: 224px}.topbar{padding:0 30px}.resource{padding:0 18px;gap:14px}.resource-bar{padding:16px 25px}.resource-amount{font-size:17px}.resource-name,.resource-rate{font-size:12px}main{padding:28px 30px 0}.workspace{grid-template-columns:minmax(0,1fr) 306px;gap:22px}.settlement-hero{min-height:376px}.hero-copy{padding:25px 30px 96px}.hero-copy h2{font-size:58px}.hero-copy p{font-size:var(--type-body)}.hero-topline{padding:19px 26px}.hero-bottom{padding:17px 27px}.work-detail{padding:24px 21px 19px}.work-copy h3{font-size:26px}.task-buttons{margin-top:12px}.task-button{font-size:12px;padding:12px}.task-selector{padding:16px 21px}.essential-card{padding:18px}.essential-number{font-size:29px}.essential-top>span{font-size:12px}.essential-bottom{font-size:12px}.panel-heading{padding:15px 17px}.panel-heading h2{font-size:18px}.camp-status-lead{padding:19px 17px}.camp-status-lead p{font-size:var(--type-body)}.status-rows>div{padding:10px 0}.checklist{gap:17px;padding:19px 17px}.log-entry{padding:12px 0}.log-entry p{font-size:var(--type-body)}.discovery-card{padding:20px 18px}.discovery-card h3{font-size:20px}.discovery-card p{font-size:var(--type-body)}}@media(max-width:1220px){:root{--sidebar: 180px}.topbar{padding:0 20px}.header-message{font-size:12px;margin-right:30px}.resource-bar{padding:13px 8px}.resource{padding:0 9px;gap:7px}.resource>svg{width:18px}.resource-amount{font-size:14px}.resource-amount small{display:none}.resource-name,.resource-rate{font-size:12px}.camp-label{padding-left:11px;gap:7px}.camp-label strong{max-width:112px}.nav-link{padding-left:17px}.workspace{grid-template-columns:minmax(0,1fr) 244px;gap:14px}main{padding:24px 20px 0}.page-heading h1{font-size:28px}.location-tag{font-size:12px;letter-spacing:.8px}.hero-copy{padding:17px 21px 85px}.hero-copy h2{font-size:42px}.hero-coordinate{display:none}.hero-bottom{padding:14px 18px}.hero-bottom>div{padding:0 11px;gap:7px}.hero-bottom strong{font-size:12px}.hero-bottom svg{width:15px}.hero-bottom>div>span{font-size:12px}.essential-card{padding:12px 10px}.essential-top>span{font-size:12px;gap:5px}.essential-top>svg{display:none}.essential-bottom{font-size:12px}.essentials-grid{gap:9px}.work-detail{padding:18px 14px;gap:10px}.work-copy h3{font-size:20px}.task-emblem{height:46px;width:43px}.task-emblem svg{width:24px}.work-copy .eyebrow{font-size:12px}.work-copy p{font-size:var(--type-body)}.task-selector{padding:12px 14px}.task-buttons{gap:5px}.task-button{font-size:12px;gap:4px}.task-button svg{width:13px}.task-selector .helper{font-size:12px}.discovery-grid{gap:9px}.discovery-card{padding:14px 10px}.discovery-card h3{font-size:16px}.discovery-card p{font-size:var(--type-body)}.discovery-card>span{font-size:12px}.beyond-heading>.eyebrow{display:none}.panel-heading{padding:12px}.camp-status-lead{padding:14px 12px}.camp-status-lead h3{font-size:19px}.status-rows{padding:0 12px 11px}.checklist{padding:15px 12px;gap:14px}.log-entry p{font-size:var(--type-body)}.game-footer .muted{display:none}.inventory-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}}@media(max-width:1020px){.header-message{display:none}.workspace{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-note{align-self:start;margin:12px}.location-tag{font-size:12px}.settlement-hero{min-height:353px}.hero-copy h2{font-size:49px}.hero-copy{padding-top:22px}.hero-bottom{padding:15px 21px}.hero-bottom strong{font-size:12px}.hero-bottom>div>span{font-size:12px}.essential-card{padding:17px}.essential-top>span{font-size:12px}.essential-bottom{font-size:12px}.work-copy h3{font-size:24px}.task-button{font-size:12px;padding:12px 7px;gap:8px}.task-button svg{width:16px}.work-copy .eyebrow{font-size:12px}.work-copy p{font-size:var(--type-body)}.task-selector .helper{font-size:12px}.discovery-card{padding:17px}.discovery-card h3{font-size:18px}.discovery-card p{font-size:var(--type-body)}.discovery-card>span{font-size:12px}.resource-bar{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:18px;padding:16px}.resource:nth-child(4){border:0}.resource:nth-child(5){padding-left:6px}.resource>svg{width:21px}.resource-amount{font-size:15px}.resource-amount small{display:inline}.resource-name,.resource-rate{font-size:12px}.topbar{position:sticky}.game-footer{font-size:12px}}@media(max-width:720px){:root{--sidebar: 0px}.topbar{height:80px;padding:0 15px}.wordmark{font-size:34px}.brand-tagline{font-size:12px;letter-spacing:2px;margin-top:6px}.menu-toggle{display:flex;padding:5px}.brand-area{gap:12px}.header-controls{gap:5px}.world-clock{gap:7px}.world-clock svg{width:17px}.world-clock strong{font-size:13px}.world-clock .mono{font-size:12px}.header-divider{margin:0 5px;height:24px}.header-controls .icon-button{padding:7px}.save-button{display:none}.sidebar{position:fixed;top:80px;width:220px;bottom:0;transform:translate(-100%);transition:transform .2s;z-index:80;visibility:hidden}.sidebar.open{transform:translate(0);visibility:visible}.camp-label strong{max-width:155px}.nav-link{min-height:39px;font-size:13px}.nav-lock{width:12px}.nav-group>p{font-size:var(--type-body)}.nav-scrim{display:block;position:fixed;inset:80px 0 0;background:color-mix(in srgb,var(--surface-void) 65.9%,transparent);z-index:70}.game-area{margin-left:0}.resource-bar{top:80px;padding:14px 10px;gap:14px 0}.resource{gap:9px;padding:0 11px}.resource>svg{width:20px}.resource-name{font-size:12px}.resource-amount{font-size:14px}.resource-rate{font-size:12px}.resource-amount small{display:none}main{padding:23px 15px 0}.page-heading{align-items:start;margin-bottom:20px}.page-heading h1{font-size:29px}.page-heading p{font-size:var(--type-body)}.page-heading .eyebrow{font-size:12px}.location-tag{display:none}.workspace{gap:18px}.central-column{gap:16px}.settlement-hero{min-height:354px}.hero-topline{padding:17px}.hero-copy{padding:23px 19px 85px}.hero-copy h2{font-size:46px}.hero-copy .eyebrow{font-size:12px}.hero-copy p{font-size:var(--type-body)}.hero-bottom{padding:15px}.hero-bottom>div{padding:0 10px;gap:7px}.hero-bottom strong{font-size:12px}.hero-bottom>div>span{font-size:12px}.hero-bottom small{font-size:12px}.hero-bottom svg{width:15px}.essentials-grid{gap:8px}.essential-card{padding:13px 10px}.essential-top>span{font-size:12px;gap:5px}.essential-top svg{width:14px}.essential-number{font-size:23px;margin-top:12px}.essential-number>span{font-size:12px}.essential-bottom{gap:6px;font-size:12px}.essential-bottom>span:last-child{display:none}.work-detail{padding:18px 13px;gap:10px}.work-copy h3{font-size:23px}.work-copy .eyebrow{font-size:12px;letter-spacing:1px}.work-copy p{font-size:var(--type-body)}.work-detail>.button{font-size:var(--type-control);gap:5px;padding:8px}.task-emblem{height:43px;width:42px}.work-progress{padding:0 14px 19px;gap:10px}.task-selector{padding:13px}.task-buttons{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.task-button{font-size:12px;padding:12px}.task-selector .helper{font-size:12px}.section-heading h2{font-size:17px}.discovery-grid{gap:8px}.discovery-card{padding:14px 11px}.discovery-card h3{font-size:17px;line-height:1.05;margin-top:19px;min-height:35px}.discovery-card p{font-size:var(--type-body);line-height:1.5;min-height:30px}.discovery-card>span{font-size:12px;letter-spacing:.8px;margin-top:15px}.discovery-top>svg:first-child{width:21px}.right-column{gap:14px}.camp-status-lead{gap:9px}.camp-status-icon{width:35px;height:40px}.camp-status-lead h3{font-size:18px}.camp-status-lead p{font-size:var(--type-body)}.camp-status-foot{font-size:12px;letter-spacing:.7px;padding:11px}.status-rows>div{font-size:12px}.status-rows>div>span{gap:6px}.status-rows strong{font-size:12px}.panel-heading{padding:12px}.panel-heading h2{font-size:15px;gap:6px}.panel-heading h2>svg{width:15px}.checklist-intro{font-size:12px;padding:14px 12px 0}.objective-roadmap{padding:0 12px 12px}.objective-milestone{padding:10px}.objective-heading{gap:7px}.objective-heading strong{font-size:13px}.objective-status{font-size:12px}.objective-milestone>p,.objective-tasks,.objective-milestone>.button{margin-left:32px}.checklist{gap:13px;padding:16px 12px}.checklist>div{font-size:12px;gap:7px}.check-box{width:12px;height:12px}.checklist-footer{font-size:12px;letter-spacing:.7px;padding:12px}.field-note p{font-size:var(--type-body)}.field-note>span:last-child{font-size:12px}.game-footer{font-size:12px;padding-bottom:22px}.game-footer .text-button{font-size:12px}.game-footer .footer-separator{display:none}.inventory-grid{gap:10px}.inventory-card{padding:15px;grid-template-columns:40px 1fr;gap:10px}.inventory-icon{width:40px;height:48px}.inventory-icon svg{width:29px}.inventory-card h3{font-size:21px}.inventory-card .eyebrow{font-size:12px;letter-spacing:.6px}.stat-card{padding:20px}.stat-card strong{font-size:25px}.roadmap-copy{padding:23px}.roadmap-copy h2{font-size:32px}.roadmap-art{height:180px}.community-banner{padding:24px}.community-banner h2{font-size:31px}.survivor-row{padding:17px;gap:12px}.survivor-row>.survivor-level{font-size:25px}.survivor-row h3{font-size:25px}.survivor-row .eyebrow{font-size:12px}.survivor-portrait{width:66px;height:80px}.settings-content{padding:22px;gap:18px}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal-heading{padding:15px 20px}.settings-danger{align-items:start}.settings-actions{display:grid;grid-template-columns:1fr 1fr}.settings-actions .button:last-child{grid-column:1/-1}.toast{bottom:18px;font-size:12px;min-width:260px;text-align:left}.warning-banner{padding:12px;align-items:start}.warning-banner .text-button{white-space:nowrap}}@media(max-width:390px){.topbar{padding:0 10px}.header-controls{gap:0}.header-divider{margin:0 3px}.brand-area{gap:8px}.world-clock svg{display:none}.hero-copy h2{font-size:41px}.resource{padding:0 8px;gap:7px}.resource>svg{width:18px}.right-column{grid-template-columns:1fr}.field-note{margin:8px}.camp-status-lead p{font-size:var(--type-body)}.status-rows>div{font-size:12px}.checklist>div{font-size:12px}.checklist-footer{font-size:12px}.discovery-card{padding:13px 9px}.discovery-card h3{font-size:16px}.discovery-card>span{font-size:12px}.game-footer{flex-direction:column;align-items:start;gap:10px}.work-copy h3{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{color-scheme:dark;--type-body: 1rem;--type-control: .933333rem;--type-field: 1.066667rem;--type-meta: .8rem;--type-section: 1.6rem;--type-card: 1.333333rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--control-height: 44px;--radius: 4px;--surface-void: #0d0e0f;--surface-inset: #121314;--surface-panel: #1a1b1c;--surface-raised: #222426;--surface-hover: #2d2f31;--surface-selected: #333027;--text-primary: #e5e0d6;--text-secondary: #bcb9b2;--text-muted: #999791;--text-on-accent: #191713;--border: #3b3c3c;--border-strong: #60605b;--edge-light: #dad3c3;--shadow-ink: #000000;--accent: #c0a16a;--accent-hover: #d0b583;--accent-border: #88744f;--positive: #94aa88;--positive-border: #586c50;--danger: #c78d85;--danger-surface: #492b2b;--danger-hover: #603535;--danger-border: #86524c;--info: #8ca6b3;--rarity-epic: #ac98b7;--rust: #83533e;--resource-food: #b4aa76;--resource-water: #87a5b3;--resource-wood: #ad9073;--resource-scrap: #adb0b0;--resource-medicine: #bf827e;--resource-fuel: #bd8b68;--resource-ammo: #c0a678;--resource-parts: #989fa3;--gold: var(--accent);--green: var(--positive);--muted: var(--text-muted);--panel: var(--surface-panel);--red: var(--danger);--dust: radial-gradient( ellipse at 17% 31%, #e5e0d609 0 .6px, transparent .9px );--scuffs: repeating-linear-gradient( 174deg, transparent 0 83px, #ddd4c005 84px, transparent 85px 167px );--panel-finish: var(--dust), var(--scuffs);--panel-shadow: inset 0 1px #e5e0d60a, inset 0 -1px #00000040, 0 3px 10px #00000024;--control-shadow: inset 0 1px #e5e0d615, inset 0 -1px #00000038;--hazard-stripe: repeating-linear-gradient( 135deg, var(--accent-border) 0 4px, var(--surface-inset) 4px 8px );color:var(--text-primary);background:var(--surface-void)}.topbar,.sidebar,.resource-bar{background:var(--panel-finish),var(--surface-panel);background-size:11px 13px,auto;box-shadow:inset 0 1px #e5e0d608}.game-area{background:var(--surface-void)}.topbar:after{background:linear-gradient(90deg,var(--rust),var(--border) 38%,transparent 85%)}.panel,.modal,.essential-card,.candidate-card,.building-card,.advanced-card,.region-card,.item-card,.gear-card{background:var(--panel-finish),var(--surface-panel);background-size:11px 13px,auto;box-shadow:var(--panel-shadow)}.panel-heading,.modal-heading{background:var(--scuffs),var(--surface-raised);box-shadow:inset 0 1px #e5e0d608}.panel-heading h2,.section-heading h2{color:var(--text-primary)}.panel-heading h2 svg,.section-heading h2 svg{color:var(--text-secondary)}.nav-link.active{background:var(--surface-selected);color:var(--accent-hover)}.button,.button.subtle,.skill-action{color:var(--text-primary);background:var(--scuffs),var(--surface-raised);border-color:var(--border-strong);box-shadow:var(--control-shadow)}.button:hover:not(:disabled),.button.subtle:hover:not(:disabled),.skill-action:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent-border)}.button.primary{background:var(--scuffs),var(--accent);border-color:var(--accent-hover);color:var(--text-on-accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.danger,.button.danger.subtle{background:var(--danger-surface);border-color:var(--danger-border);color:var(--text-primary)}.button.danger:hover:not(:disabled),.button.danger.subtle:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger)}.essential-card:hover,.building-card:hover{background-color:var(--surface-hover)}.building-card.selected{border-color:var(--accent);box-shadow:var(--panel-shadow),inset 3px 0 var(--accent-border)}.building-card.locked{background:var(--surface-inset)}.advanced-card.earned{border-color:var(--positive-border)}.progress>div{background:var(--accent);box-shadow:none}.progress.food>div{background:var(--resource-food)}.progress.water>div{background:var(--resource-water)}.progress.wood>div{background:var(--resource-wood)}.progress.infection>div{background:var(--danger)}.progress.fatigue>div{background:var(--accent)}.survivor-vitals .progress:not(.fatigue):not(.infection)>div,.combat-person .progress>div,.community-person .progress>div,.defense-content .progress>div,.checklist-panel>.progress>div{background:var(--positive)}.status-label i,.live-dot,.save-dot,.building-schematic i{box-shadow:none}.status-label,.status-label i,.live-dot,.save-dot{color:var(--positive)}.status-label i,.live-dot,.save-dot{background:var(--positive)}.status-label.muted i{background:var(--text-muted)}.resource>svg{filter:none}.hero-tag,.level-seal{color:var(--accent);border-color:var(--accent-border);background:color-mix(in srgb,var(--surface-inset) 88%,transparent);box-shadow:inset 0 0 0 2px #c0a16a08}.warning-banner{color:var(--text-primary);background:var(--hazard-stripe) left top / 4px 100% no-repeat,var(--surface-raised);border-color:var(--accent-border)}.danger-active,.combat-warning{color:var(--danger)}.camp-status-foot,.checklist-footer{color:var(--positive)}.checklist .done .check-box{color:var(--text-on-accent)}.field-note{background:var(--scuffs),var(--surface-selected);border-color:var(--accent-border)}[hidden]{display:none!important}.game-area main{padding-top:var(--space-6)}.game-area .page-heading{margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.game-area .page-heading h1{font-size:2.133333rem}.game-area .page-heading p{font-size:var(--type-body)}.game-area :is(.workspace,.central-column,.right-column,.advanced-feature,.survivors-feature,.base-feature,.pets-feature,.scavenging-feature,.scavenge-main,.scavenge-sidebar,.endgame-feature){gap:var(--space-6)}.workspace.task-workspace{grid-template-columns:minmax(0,1fr)}.game-area :is(.advanced-grid,.inventory-grid,.stats-grid,.frontier-grid,.endgame-columns,.pet-panels,.chain-grid){gap:var(--space-4)}.game-area .panel-heading{padding:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.game-area .panel-heading h2{font-size:var(--type-section);line-height:1.15;font-weight:600}.game-area :is(.advanced-card,.chain-card,.gear-card,.inventory-card,.stat-card,.pet-roster-card,.pet-assignment,.legacy-upgrade,.collection-detail){padding:var(--space-4);min-width:0}.game-area :is(.advanced-card,.gear-card) h3{font-size:var(--type-card);margin:8px 0}.game-area .advanced-card p{margin:4px 0 12px}.game-area .advanced-details{padding:12px 0;gap:8px 12px}.game-area .advanced-reason{min-height:0;margin-top:8px}.game-area :is(.gear-card p,.frontier-lock,.legacy-upgrade p){min-height:0}.game-area :is(.advanced-operation,.weather-panel,.pet-panel-body,.mod-kit-body,.defense-content,.battle-report,.loadout-person,.expedition-progress,.field-briefing,.field-empty,.return-report,.recruitment-intro,.contact-refresh,.legacy-overview,.legacy-callout,.project-heading,.max-building,.empty-project){padding:var(--space-4)}.game-area :is(.gear-grid,.legacy-grid,.operation-grid,.hostile-grid,.combat-roster,.combat-orders,.previous-battles){padding:var(--space-4);gap:var(--space-4)}.game-area :is(.event-choice,.objective-milestone,.pet-training-ranks li){padding:var(--space-4)}.game-area :is(.advanced-hero,.endgame-hero,.community-banner,.people-banner,.perimeter-hero,.base-hero){padding:var(--space-6)}.game-area :is(.advanced-hero,.endgame-hero) h2{margin:12px 0}.game-area .advanced-summary{margin-top:var(--space-4)}.game-area .endgame-metrics{margin-top:var(--space-6);gap:var(--space-6)}.game-area .settlement-hero{min-height:320px}.game-area .hero-topline{padding:16px 24px}.game-area .hero-copy{padding:16px 24px 88px}.game-area .hero-copy .button{margin-top:16px}.game-area .hero-bottom{padding:16px 24px}.game-area .location-hero{min-height:280px}.game-area .location-hero-copy{padding:40px 24px 16px}.game-area .battle-hero{min-height:260px}.game-area .pet-portrait{min-height:280px}.game-area .pet-dossier-copy{padding:24px}.game-area .frontier-art{height:144px}.game-area .frontier-body{padding:0 16px 16px}.game-area :is(.dossier-header,.dossier-stats,.survivor-row){padding:16px}.game-area .dossier-portrait{width:110px}.game-area :is(.project-controls,.upgrade-order,.endgame-row,.reclaim-row){padding:16px}.game-area .work-detail{padding:16px}.game-area :is(.operation-row,.ledger-row){padding:12px 16px}.game-area .journal-entry{padding:12px 0}.game-area :is(.empty-state,.equipment-empty,.collection-empty){padding:24px 16px}.game-area :is(.button,.text-button,.skill-action,.task-button,.nav-link),.icon-button{min-height:var(--control-height);font-size:var(--type-control)}.icon-button,.game-area .skill-action{min-width:var(--control-height)}.game-area :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:var(--control-height);font-size:var(--type-field);max-width:100%}.game-area .button{white-space:normal}.overview-guidance{border:1px solid var(--border);border-radius:var(--radius);padding:16px}.overview-guidance>summary{cursor:pointer;min-height:44px;color:var(--accent);display:list-item;padding:8px 0}.overview-guidance>.panel{margin-top:16px}.scavenge-route-context{border:1px solid var(--border);background:var(--surface-selected);padding:16px;display:grid;gap:8px}.scavenge-route-context h2{font-size:var(--type-section)}.scavenge-route-context p{font-size:var(--type-body)}@media(min-width:1450px){.game-area :is(.advanced-grid,.inventory-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){:root{--sidebar: 0px}.sidebar{top:100px;width:240px;transform:translate(-100%);visibility:hidden;z-index:80}.sidebar.open{transform:translate(0);visibility:visible}.navigation-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border)}.navigation-drawer-heading .icon-button{min-width:44px;min-height:44px}.menu-toggle{display:flex}.sidebar .nav-link{min-height:44px}.nav-scrim{display:block;position:fixed;inset:100px 0 0;z-index:70;background:#0009}}@media(max-width:1000px)and (max-height:500px){.sidebar .camp-label{padding:8px 12px}.sidebar .camp-label span:not(.camp-symbol),.sidebar .sidebar-bottom{display:none}}@media(max-width:720px){.sidebar,.nav-scrim{top:80px}.game-area main{padding:16px}.game-area .page-heading h1{font-size:2rem}.game-area .resource-bar{position:static;padding:12px;gap:16px 8px}.game-area .resource{padding:0;gap:4px;align-items:flex-start}.game-area .resource>svg{display:none}.game-area .resource-name{font-family:Barlow,sans-serif;font-size:12px;letter-spacing:0;text-transform:none;line-height:1.4;overflow-wrap:anywhere}.game-area .resource-amount{white-space:normal;font-family:Barlow,sans-serif;font-size:16px}.game-area .resource-amount small{display:none}.game-area .resource-rate{font-size:12px}.game-area :is(.advanced-hero,.endgame-hero,.community-banner,.people-banner,.perimeter-hero,.pet-dossier-copy){padding:16px}.game-area .dossier-portrait{width:80px}.game-area .panel-heading{align-items:flex-start}.brand-tagline{font-size:12px;letter-spacing:.5px}.world-clock .mono{display:none}}
