/* PULSE 1.92.2 — one material and interaction language across the game. */
:root{
 --pulse-ink:#101b20;--pulse-surface:#1c2b30;--pulse-raised:#26363a;
 --pulse-line:#637975;--pulse-line-soft:#71807840;
 --pulse-text:#eee9db;--pulse-muted:#b8c5ba;--pulse-amber:#d9b77c;
 --pulse-mint:#98c5ad;--pulse-danger:#d6977b;--pulse-radius:12px;
 --pulse-panel:linear-gradient(145deg,#26363bf5,#17262df7);
}
html{background:var(--pulse-ink);color-scheme:dark}
body{color:var(--pulse-text);background:radial-gradient(ellipse at 20% 0,#36413945,transparent 65%),#101b20;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font-family:inherit}
h1,h2,h3{color:var(--pulse-text);letter-spacing:-.025em}
p{line-height:1.55}
.topbar{background:linear-gradient(180deg,#17262ef5,#17262ee5)!important;border-bottom:1px solid var(--pulse-line-soft)!important;box-shadow:0 4px 18px #050d1230!important}
.topbar .brand{color:#eee5cf;letter-spacing:.12em}
.global-resource-hud{background:#17262de8!important;border-bottom:1px solid #71807830!important}
.global-resource-hud b{font-variant-numeric:tabular-nums;color:#e9e6d8}
.global-next-step{background:linear-gradient(105deg,#3b493a,#213637)!important;border-color:#a7b18b66!important;color:#eee4c9!important}
#view :is(.card,.panel,.section-card,.hero-card,.building-card,.storage-card,.equipment-card,.camp1912-telemetry,.chapter1900-brief,.council1913,.world-echoes1915,.development-route,.expedition-plan){
 background:var(--pulse-panel)!important;border-color:var(--pulse-line-soft)!important;border-radius:var(--pulse-radius)!important;
 box-shadow:inset 0 1px #e7e6cc12,0 9px 24px #050d122b!important;
}
#view :is(.chapter1901-operative,.hero-scene1916,.reborn-hq,.camp-mini-map){
 border-color:#89968770!important;box-shadow:inset 0 1px #f6e4c01a,0 12px 28px #050d1240!important;
}
#view :is(.muted,.camp-scene-instruction,.camp-map-hint){color:var(--pulse-muted)!important}
#view button:not(.atlas1922-beacon):not(.camp-building-label):not([data-sector]):not(.primary):not(.atlas-primary):not(.hidden){
 border-color:#7d938566;color:#e6e8dc;
}
#view :is(button.primary,.atlas-primary),#modalCard button.primary{
 background:linear-gradient(130deg,#d9c393,#9db8a0)!important;border:1px solid #f1dfb380!important;
 color:#182b2e!important;border-radius:10px!important;font-weight:750;
 box-shadow:inset 0 1px #fff7df55,0 5px 13px #050d1233!important;
}
#view button:disabled,#modalCard button:disabled{opacity:.48;box-shadow:none!important}
button:focus-visible{outline:2px solid #edce97!important;outline-offset:3px}
.modal-card{background:linear-gradient(150deg,#26393d,#14252c 76%)!important;border:1px solid #9cab8b80!important;border-radius:18px!important;color:#ece9da!important;box-shadow:0 25px 75px #02090cc9,inset 0 1px #fff6d51c!important}
.modal-card :is(.eyebrow,.section-label){color:#d1b483!important;letter-spacing:.09em}
.modal-card :is(.secondary,.event-decisions button,.exp-operation){background:#22383b;border-color:#768d7d70;color:#e1e6d8;border-radius:10px}
.nav.survival-nav{background:linear-gradient(180deg,#1a2b30f5,#111f27fa)!important;border-top:1px solid #8e9b7559!important;box-shadow:0 -5px 20px #07121855!important}
.nav button{color:#acbcb5!important;border-radius:8px!important}
.nav button.active{color:#f1dba8!important;background:linear-gradient(180deg,#9dae861a,#9dae8603)!important}
.nav button.active:after{background:#dcc28a!important}
.nav button small{font-size:10px!important;font-weight:650!important;letter-spacing:.035em}
.camp-map-toolbar,.camp-map-selection{background:#192d33!important;border-color:#7b8d7450!important}
.camp-mini-map .camp-building-label{background:#172b31ed!important;border-color:#98a78b66!important;border-radius:7px!important;color:#ede7d3!important}
.chapter1901-portrait img,.hero-scene1916 img{filter:saturate(.78) contrast(1.04)!important}
.chapter1901-vitals span,.camp1912-metrics>div{background:#9bac8a0b!important;border-color:#80937f40!important}
.chapter1901-operative .chapter1901-name{color:#f2e7d0!important}
.chapter1901-operative .chapter1901-trait{color:#b7c7b4!important}
@media(prefers-reduced-motion:reduce){.nav button,.world-atlas button{transition:none!important}}
/* PERIMETER: ground is the hero, chrome has a supporting role. */
.world-atlas .atlas-header{padding:5px 0 10px;border-bottom:1px solid #86978135}
.world-atlas .atlas-header h2{color:#f0e7d1;letter-spacing:-.025em}
.world-atlas .atlas-header p{color:#aebbaf}
.world-atlas .atlas-objective{background:linear-gradient(115deg,#3e4937e8,#21343cf5)!important;border-color:#acaa7d66!important;border-left-color:#d4b779!important;box-shadow:inset 0 1px #eee5bc14,0 6px 18px #050d1233!important}
.world-atlas .atlas-filters{gap:5px!important}
.world-atlas .atlas-filters button{background:#1a2d33!important;border-color:#7e938356!important;color:#bfcbbd!important;border-radius:7px!important;font-size:11px!important;letter-spacing:.01em!important}
.world-atlas .atlas-filters button[aria-pressed="true"]{background:#36493d!important;border-color:#c3bd8877!important;color:#f1e3bf!important}
.world-atlas .atlas1920-modebar{background:none!important;border:0!important;padding:6px 0 9px!important}
.world-atlas .atlas1920-modebar>span{color:#acb9ad}
.world-atlas .atlas1920-modebar button{background:#203137;border-color:#7c8c7850;color:#ddd7bd}
.world-atlas .atlas-viewport{border:1px solid #a7ae8870!important;border-radius:13px!important;box-shadow:inset 0 0 50px #04121a25,0 15px 30px #040c1240!important;background:#283833!important}
.world-atlas .atlas-viewport::before{background:linear-gradient(180deg,#d8d3aa0a,#13263200 45%,#07141e22)!important;opacity:1}
.world-atlas .atlas-viewport::after{background:radial-gradient(ellipse at 50% 47%,transparent 52%,#08141c42)!important}
.world-atlas .atlas-location{background:#142b31dc!important;border:1px solid #c4c7a05c!important;border-radius:6px!important;color:#ece5cd!important;padding:8px 10px!important;max-width:58%}
.world-atlas .atlas-location b{color:#e5c88c;letter-spacing:.1em;font-size:10px}
.world-atlas .atlas-location span{color:#c4cbb6}
.world-atlas .atlas1920-tip{background:#1b3438e5;border-color:#b6bf9770;color:#dddac7;border-radius:7px}
.world-atlas .atlas-camera button{background:#172e36e8!important;border-color:#a0af8a70!important;color:#e5e2c8!important;border-radius:6px!important;box-shadow:0 3px 8px #06131e44}
.world-atlas .atlas1920-sheet{background:linear-gradient(150deg,#2d403ded,#172b32f7)!important;border-color:#aab59670!important;border-top-color:#d3b881!important;box-shadow:0 10px 35px #03121ca0!important;border-radius:12px!important}
.world-atlas .atlas1920-sheet h2{color:#f0e5cd!important}
.world-atlas .atlas1920-sheet .muted,.world-atlas .atlas1920-sheet p{color:#c0cabb!important}
.world-atlas .atlas1920-state-icon{background:#405548!important;border-color:#acbd9477!important;color:#eee1b7}
.world-atlas .atlas-map-tools button{background:#1c3036!important;border-color:#71887955!important;color:#c4cdbb;border-radius:7px!important}
.world-atlas .atlas1922-beacon{padding:0 2px!important;height:auto;border-radius:5px!important}
.world-atlas .atlas1922-beacon img{max-height:73px;height:67%;filter:drop-shadow(5px 7px 4px #09130d80)!important}
.world-atlas .atlas1922-beacon span{background:#192d30e8!important;border:1px solid #c5c29870!important;border-radius:5px!important;padding:4px 3px!important;box-shadow:0 4px 8px #07151450}
.world-atlas .atlas1922-beacon b{color:#ebd8a9!important;font-size:10px!important;letter-spacing:.03em;line-height:1.3}
.world-atlas .atlas1922-beacon small{color:#c1cbb6!important;font-size:9px!important}
.world-atlas .atlas1922-beacon-lines path{stroke:#e4c98e;stroke-width:1.2;stroke-dasharray:3 6;opacity:.65}
.world-atlas .atlas1922-beacon-lines circle{fill:#f0d49b;stroke:#24392e;stroke-width:2}
@media(max-width:350px){.world-atlas .atlas1922-beacon b{font-size:9px!important}.world-atlas .atlas-location{max-width:55%}.nav button small{font-size:9px!important}}

/* Purpose-built consistent navigation symbols. */
.nav.survival-nav button>span{font-size:0!important;display:block;width:23px;height:23px;min-height:23px;margin:0 auto 4px;background-position:center;background-size:22px;background-repeat:no-repeat;opacity:.72}
.nav.survival-nav button.active>span{opacity:1}
.nav.survival-nav [data-tab="home"]>span{background-image:url("/assets/perimeter1922/icon-home.svg")}
.nav.survival-nav [data-tab="map"]>span{background-image:url("/assets/perimeter1922/icon-map.svg")}
.nav.survival-nav [data-tab="games"]>span{background-image:url("/assets/perimeter1922/icon-games.svg")}
.nav.survival-nav [data-tab="hero"]>span{background-image:url("/assets/perimeter1922/icon-hero.svg")}
.nav.survival-nav [data-tab="storage"]>span{background-image:url("/assets/perimeter1922/icon-storage.svg")}
/* Bring existing roster, guidance and reward surfaces into the same material family. */
#view :is(.field-guide-card,.first-journey,.starter-route-panel,.active-pet-hero.rich,.companion-character,.pet-catalog-card,.pet-owned-card,.companions-collection,.companions-progress,.pet-collection-progress,.profile-showcase){
 background:var(--pulse-panel)!important;border:1px solid #a8b39466!important;border-radius:13px!important;box-shadow:inset 0 1px #e7e2bd14,0 10px 26px #050d1238!important;
}
#view .field-guide-card .guide-action{background:linear-gradient(120deg,#d9c393,#9db8a0)!important;border-color:#eddbb480!important;color:#1a2d2e!important;box-shadow:none!important}
#view .field-guide-card .guide-head span{color:#d2b787!important}
#view .field-guide-card .guide-progress{background:#131f28!important}
#view .field-guide-card .guide-progress i{background:#a8b986!important}
#view .companions-screen .active-pet-hero.rich{background:radial-gradient(ellipse at 18% 45%,#52604d40,transparent 65%),var(--pulse-panel)!important}
#view .companions-screen .pet-art-halo,#view .companions-screen .pet-art-backglow{background:radial-gradient(ellipse,#b9ba7a29,transparent 68%)!important;filter:none!important;box-shadow:none!important}
#view .companions-screen :is(.active-pet-stats b,.crew-chips i,.pet-evolution-track span){background:#24363a!important;border-color:#99a48955!important;color:#dedbc4!important}
#view .companions-screen .active-pet-hero>div>span{color:#b9c39e!important}
#view .companions-screen .pet-art-sheen{opacity:.08!important}
#view .companions-screen :is(.active-pet-hero h2,.subscreen-head h1){color:#eee6d1!important}
#view .companions-screen .pet-owned-card{border-color:#adbc9766!important}
#view .companions-screen .companions-filters button.active{background:#42513f!important;border-color:#b7b48066!important}
#view .companions-screen :is(.crew-card-shine,.catalog-orbit){opacity:.18!important}
#view .global-next-step{box-shadow:none!important}

.topbar,.global-resource-hud{background-image:linear-gradient(180deg,#17262eef,#17262ee0),url("/assets/perimeter1922/panel-grain.webp")!important;background-size:auto,128px!important}

/* Module implementation versions do not belong in the game interface. */
#view .build-chip{display:none!important}
/* Fixed sprite allocation prevents flex compression at semantic zoom. */
.world-atlas .atlas1922-beacon img{flex:0 0 58px!important;width:96%!important;height:58px!important;min-height:58px!important;max-height:58px!important;opacity:1!important;visibility:visible!important}
.world-atlas .atlas1922-beacon span{flex:0 0 auto;max-height:36px;box-sizing:border-box}
#view .companions-screen :is(.pet-collection-status,.pet-rich-card,.pet-codex-card,.recovery-center,.pet-vault-intro,.pet-economy-note){background:var(--pulse-panel)!important;border-color:#a8b39466!important;box-shadow:inset 0 1px #e7e2bd14,0 8px 20px #050d1230!important}
#view .companions-screen .pet-rich-card.active{border-color:#c0bc8a88!important}
#view .companions-screen :is(.pet-art-orbit,.pet-evo-shell){opacity:.18!important;border-color:#b6b983!important}
#view .companions-screen .pet-filter-bar button.selected,#view .companions-screen .crew-filter-buttons button.selected{background:#42513f!important;border-color:#b7b48066!important;color:#ece4c9!important}
#view .companions-screen .pet-collection-status i em{background:linear-gradient(90deg,#83a58b,#d3bb87)!important}

.camp-equipment-screen .hero-slot>span img{display:block;width:30px;height:30px;margin:auto;filter:drop-shadow(0 2px 3px #05101555)}
.camp-equipment-screen .hero-slot{background:var(--pulse-panel)!important;border-color:#9aaa8066!important;border-radius:11px!important;box-shadow:inset 0 1px #eee1b610,0 6px 14px #06121930!important}
.camp-equipment-screen .camp-system-core{background:linear-gradient(145deg,#34463b,#1a2d33)!important;border-color:#9daa8077!important}
.world-atlas .atlas1922-beacon span{width:100%!important;max-width:100%!important;min-width:0!important;padding:3px!important}
.world-atlas .atlas1922-beacon b{width:100%!important;font-size:9px!important;line-height:1.2!important;white-space:normal!important;text-overflow:clip!important}
.world-atlas .atlas1922-beacon small{font-size:8px!important;line-height:1.2!important}
