:root{font-family:Arial,Helvetica,sans-serif;color:#f4eedc;font-synthesis:none;--ink:#203d35;--cream:#f3ecd9;--accent:#e7bd77;--line:#ffffff20}
#campaign .brand h1{white-space:nowrap}
*{box-sizing:border-box}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}button:focus-visible,input:focus-visible{outline:3px solid #f1c776;outline-offset:3px}button[hidden],div[hidden]{display:none!important}
#campaign{position:fixed;inset:0;z-index:8;pointer-events:none}#campaign button,#campaign input,#campaign .panel-scroll{pointer-events:auto}#campaign button{border:1px solid #ffffff30;background:#28483fe8;color:var(--cream);padding:13px 19px;border-radius:5px;text-align:left;transition:background .15s}#campaign button:hover:enabled{background:#3e6050}#campaign .primary{background:var(--accent);color:#24382f;border-color:var(--accent);font-weight:700}#campaign .primary:hover:enabled{background:#f5d594}#campaign .small{padding:10px 12px;font-size:13px}#campaign .selected{background:#e4bc78;color:#24382f}#campaign button small{display:block;font-size:9px;letter-spacing:.1em;opacity:.65;margin-top:6px}#campaign h1,#campaign h2,#campaign h3,#campaign p{margin:0}#campaign p{line-height:1.55}#campaign h2{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.02em}#campaign h3{font-size:16px;line-height:1.3}#campaign .eyebrow{font-size:9px;letter-spacing:.18em;font-weight:700;line-height:1.8;color:#dbbf87}#campaign .park-header .eyebrow{color:#f0d89e}#campaign .title-screen{position:absolute;inset:0;padding:6vh 6vw;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(90deg,#183b32dc 0%,#183b3280 29%,transparent 70%)}#campaign .brand{max-width:330px}#campaign h1{font-weight:900;font-size:clamp(90px,15vw,170px);letter-spacing:-.085em;line-height:1.05}#campaign .title-ball{display:inline-block;width:.21em;height:.21em;margin-left:.075em;vertical-align:.015em;overflow:visible;transform:rotate(-18deg);filter:drop-shadow(0 2px 1px #17291d33)}#campaign .brand p{font:italic 25px Georgia,serif;color:#e6d9b7}#campaign .menu-actions{width:310px;display:flex;flex-direction:column;gap:8px}#campaign .menu-actions>button{font-size:16px;padding:17px 20px}#campaign .menu-actions span{display:block;font-size:11px;margin-top:4px;opacity:.65;font-weight:400}#campaign .menu-actions>small{font-size:9px;letter-spacing:.1em;opacity:.6;margin-top:8px}#campaign .menu-links{display:flex;gap:7px}#campaign .menu-links button{border:0;background:transparent;font-size:11px;padding:8px 4px}
#campaign .park-header{position:absolute;top:max(24px,env(safe-area-inset-top));left:28px;right:28px;display:flex;justify-content:space-between;gap:10px;text-shadow:0 1px 3px #0f231cbb,0 2px 14px #0f231c77}#campaign .park-header h2{font-size:35px;color:#fff5d9}#campaign .mini-dot{font:10px Arial;margin-left:12px;vertical-align:middle;color:#d8bd6c}#campaign .park-header p{font-size:12px;color:#f5edd9}#campaign .wallet{display:flex;flex-direction:column;text-align:right;color:#213d34;background:#f6edd8df;border:1px solid #fff6;padding:12px 17px;border-radius:5px;min-width:115px;text-shadow:none}#campaign .wallet b{font-size:23px}#campaign .wallet span{font-size:10px;margin-top:4px}#campaign .park-footer{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:94%;width:520px;text-align:center}#campaign .park-footer nav{display:flex;gap:5px;justify-content:center}#campaign .park-footer nav button{white-space:nowrap;background:#1f4138ee;text-align:center;flex:1;padding:15px 17px}#campaign .park-footer nav button.selected{background:var(--accent)}#campaign .park-footer nav button:last-child{flex:0}#campaign .next-step{display:inline-block;margin-bottom:12px;padding:9px 15px;background:#1d3c33e3;border-radius:4px;font-size:12px;box-shadow:0 4px 25px #10251b20}
#campaign .side-panel{position:absolute;top:125px;right:26px;bottom:140px;width:370px;border-radius:7px;background:#f5efdfed;color:#2b4439;box-shadow:0 15px 50px #1f392728;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;backdrop-filter:blur(12px)}#campaign .panel-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 13px;border-bottom:1px solid #2c433317}#campaign .panel-heading h2{font-size:23px}#campaign .panel-heading button{background:transparent;color:#2b4439;border:0;padding:1px 9px;font-size:25px}#campaign .panel-scroll{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:0 18px 18px}#campaign .card{padding:18px 0;border-bottom:1px solid #2c43331f}#campaign .card .eyebrow,#campaign .panel-scroll>.eyebrow{color:#86704c;font-size:8px}#campaign .card h3{display:flex;justify-content:space-between;gap:10px;margin:5px 0 8px}#campaign .card h3 span{white-space:nowrap;color:#927544}#campaign .card p{font-size:12px;color:#617063;margin-bottom:12px}#campaign .card.done{opacity:.6}#campaign .card.done h3{text-decoration:line-through;text-decoration-color:#65754c77}#campaign .shop-note{padding:18px 0}#campaign .shop-note b{font-size:13px}#campaign .shop-note p{font-size:12px;color:#667360;margin-top:5px}#campaign .owned{font-size:9px;color:#647c53;letter-spacing:.1em}#campaign .kit-card{display:flex;gap:15px;align-items:center}#campaign .kit-card>i{width:40px;height:50px;clip-path:polygon(0 0,27% 0,35% 15%,65% 15%,73% 0,100% 0,95% 100%,5% 100%)}#campaign .kit-card>div{flex:1}
#campaign .modal-shade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0b271e83;backdrop-filter:blur(5px);pointer-events:auto;touch-action:pan-y}#campaign .modal{background:#f4eedf;color:#2a4438;padding:31px;border-radius:9px;width:440px;max-height:calc(100dvh - 40px);overflow-y:auto;box-shadow:0 25px 90px #0e291947;display:flex;flex-direction:column;gap:17px;touch-action:pan-y}#campaign .modal .eyebrow{color:#927342}#campaign .modal h2{font-size:36px}#campaign .modal p{font-size:14px;color:#627060}#campaign .modal button{width:100%}#campaign .name-label{font-size:9px;letter-spacing:.12em;font-weight:bold}#campaign input{display:block;width:100%;background:#e5e1d1;border:1px solid #84917955;padding:13px;margin-top:8px;border-radius:4px;color:#263d34;font-size:20px;user-select:text;touch-action:manipulation}#campaign .swatches{display:flex;gap:8px}#campaign .swatches button{width:30px;height:30px;min-width:20px;border-radius:50%;padding:0;border:2px solid transparent}#campaign .swatches .chosen{outline:2px solid #547356;outline-offset:3px}#campaign .creator-shade{justify-content:flex-start;background:linear-gradient(90deg,#19372d99,transparent);backdrop-filter:none;padding-left:6vw}#campaign .creator-shade .modal{width:345px}#campaign dl{margin:0;display:grid;grid-template-columns:72px 1fr;gap:15px;font-size:12px;line-height:1.6}#campaign dt{font-weight:bold}#campaign dd{margin:0;color:#637365}#campaign .result-score{font-size:52px!important;font-weight:700;color:#2d4839!important}#campaign .result-score span{font-weight:400;color:#a2ac97}#campaign .work-progress{height:8px;border-radius:4px;background:#d5dac8;overflow:hidden}#campaign .work-progress i{display:block;height:100%;width:0;background:#7c9c5f}#campaign .toast{position:absolute;left:50%;top:20%;transform:translateX(-50%);padding:13px 24px;background:#f1e5cddd;color:#2b4939;box-shadow:0 4px 24px #26413330;border-radius:5px;max-width:85%;text-align:center;font-size:14px}
#campaign .match-top{position:absolute;top:max(18px,env(safe-area-inset-top));left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-start}#campaign .match-top>button{padding:10px 15px}#campaign .scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:9px 22px;background:#193c33e8;border-radius:5px;text-align:center;min-width:280px}#campaign .scoreboard>span{font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis}#campaign .scoreboard b{font-size:30px;white-space:nowrap}#campaign .scoreboard small{grid-column:1/-1;font-size:8px;letter-spacing:.17em;color:#c5b782;margin-top:-8px}#campaign .clock{background:#f2e4cbea;color:#274236;border-radius:4px;padding:10px;font-size:19px;font-weight:700;min-width:44px;text-align:center}#campaign .possession{position:absolute;top:102px;left:15px;right:15px;text-align:center;pointer-events:none}#campaign #possession-label{background:#23493bcf;font-size:10px;padding:6px 12px;border-radius:3px;letter-spacing:.12em}#campaign #match-notice{margin-top:14px;font-size:11px;color:#fff1c5;text-shadow:0 2px 7px #0008}#campaign .action-controls{position:absolute;right:30px;bottom:max(170px,23vh);display:flex;flex-direction:column;gap:8px;align-items:stretch;width:128px}#campaign .action-controls button{min-height:57px;font-size:11px;letter-spacing:.03em;text-align:center;border-radius:6px;background:#edc884eb;color:#253d31;font-weight:700;touch-action:none}#campaign .action-controls .cooldown{opacity:.45}#campaign .move-hint{position:absolute;bottom:32px;left:30px;font-size:8px;letter-spacing:.13em;color:#fcf5df88}#campaign .move-hint span{display:block;font-size:10px;margin-top:7px;color:#fcf5dfb0}
@media(max-width:650px){#campaign .title-screen{padding:28px 25px 25px;background:linear-gradient(180deg,#1c3d3277,transparent 28%,transparent 48%,#1c3d32d9)}#campaign .brand{max-width:290px}#campaign .brand .eyebrow{font-size:7px}#campaign h1{font-size:95px}#campaign .brand p{font-size:20px}#campaign .menu-actions{width:100%;gap:6px}#campaign .menu-actions>button{padding:12px 16px;font-size:14px}#campaign .menu-links{justify-content:center}#campaign .menu-actions>small{text-align:center}#campaign .park-header{left:16px;right:16px;top:22px}#campaign .park-header h2{font-size:27px}#campaign .park-header .eyebrow{font-size:7px}#campaign .wallet{padding:10px;min-width:86px}#campaign .wallet b{font-size:19px}#campaign .wallet span{font-size:8px}#campaign .park-footer{bottom:20px;width:94%}#campaign .park-footer nav button{padding:13px 10px;font-size:12px}#campaign .next-step{font-size:11px}#campaign .side-panel{top:120px;left:14px;right:14px;bottom:147px;width:auto;background:#f5efdfef}#campaign .modal{padding:24px;gap:14px}#campaign .modal h2{font-size:29px}#campaign .modal p{font-size:13px}#campaign .creator-shade{padding:20px;justify-content:center;background:#15322888}#campaign .creator-shade .modal{width:100%;max-width:360px}#campaign .match-top{left:10px;right:10px;gap:6px}#campaign .match-top>button{padding:9px 10px}#campaign .scoreboard{min-width:0;flex:1;gap:10px;padding:7px 10px}#campaign .scoreboard b{font-size:25px}#campaign .scoreboard>span{font-size:10px;max-width:77px}#campaign .clock{font-size:17px;min-width:37px;padding:9px 6px}#campaign .possession{top:93px}#campaign .action-controls{right:24px;width:106px;bottom:185px}#campaign .move-hint{left:22px;bottom:25px}#campaign .swatches{gap:7px}}
@media(max-height:500px){#campaign .title-screen{padding:20px 5vw;flex-direction:row;align-items:center}#campaign .menu-actions{width:260px}#campaign h1{font-size:95px}#campaign .brand{max-width:280px}#campaign .side-panel{top:15px;bottom:85px;width:350px;left:auto;right:15px}#campaign .park-footer{bottom:10px}#campaign .next-step{padding:5px 10px;margin-bottom:5px}#campaign .park-header{top:20px}#campaign .action-controls{bottom:105px;right:22px;width:110px}#campaign .action-controls button{min-height:40px;padding:8px}#campaign .possession{top:82px}#campaign .modal{max-height:calc(100dvh - 20px)}#campaign .creator-shade{padding-left:5vw}#campaign .move-hint{bottom:13px}}
#campaign .dialogue-shade{background:linear-gradient(0deg,#15392b77,transparent 70%);backdrop-filter:none;align-items:flex-end;justify-content:flex-start;padding-bottom:105px}#campaign .dialogue-shade .modal{width:440px;padding:23px;gap:13px}#campaign .dialogue-shade h2{font-size:28px}
/* Park actions stay readable while the close camera follows the player. */
#campaign .park-utilities{display:flex;align-items:flex-start;gap:8px}
#campaign .park-utilities>button{padding:11px 12px;font-size:11px;text-align:center}
#campaign .park-controls{position:absolute;left:28px;top:113px;background:#203e34ce;padding:7px 10px;border-radius:4px;font-size:10px;color:#f2e8cb}
#campaign .next-action{padding:16px;margin-bottom:9px;text-align:left;background:#f5eddaeF;border:1px solid #ffffff66;border-radius:7px;color:#2a4438;box-shadow:0 5px 30px #17372d22;display:flex;align-items:center;gap:18px;pointer-events:auto}
#campaign .next-action>div{flex:1}#campaign .next-action .eyebrow{color:#836941;font-size:8px}#campaign .next-action h3{margin:3px 0 5px;font-size:18px}#campaign .next-action p{font-size:12px;color:#56694f}#campaign .next-action>button{max-width:46%;font-size:13px;padding:13px 15px;text-align:center}
#campaign .ready-count{display:inline-grid;place-items:center;background:#edc784;color:#254438;border-radius:50%;height:17px;min-width:17px;font-size:10px;margin-left:4px;vertical-align:middle}
#campaign .card p.activity-requirement{padding:8px 10px;background:#e5e3cf;border-radius:4px;color:#3f593e;font-size:11px}
#campaign .future-activities{padding-top:20px;touch-action:pan-y}#campaign .future-activities summary{cursor:pointer;font-size:12px;color:#727961;pointer-events:auto}#campaign .future-activities .card{opacity:.65}
#campaign .side-panel{bottom:97px}
@media(max-width:650px){#campaign .park-controls{left:16px;top:109px;font-size:9px}#campaign .park-utilities{gap:5px}#campaign .park-utilities>button{padding:10px 9px;font-size:10px}#campaign .park-footer nav button{padding:13px 8px;font-size:11px}#campaign .ready-count{margin-left:2px;height:15px;min-width:15px;font-size:9px}#campaign .next-action{padding:13px;display:block}#campaign .next-action h3{font-size:18px}#campaign .next-action p{font-size:11px}#campaign .next-action>button{margin-top:10px;width:100%;max-width:none;padding:11px;font-size:13px}#campaign .side-panel{bottom:89px}}
@media(max-height:500px){#campaign .park-controls{top:108px;left:28px;font-size:8px}#campaign .next-action{padding:10px 13px;margin-bottom:6px;display:flex;gap:13px}#campaign .next-action h3{font-size:15px;margin:0}#campaign .next-action p{display:none}#campaign .next-action>button{margin:0;width:auto;max-width:47%;padding:11px;font-size:11px}#campaign .side-panel{bottom:75px}}
#campaign #objective-count{float:right;margin-left:12px;font:700 14px Arial;color:#6b8152}
#campaign .objective-progress{display:flex;gap:5px;margin-top:9px;height:5px}#campaign .objective-progress i{flex:1;background:#d7d8c5;border-radius:3px}#campaign .objective-progress i.finished{background:#719360}
#campaign .next-action #objective-route{display:block;font-size:11px;font-weight:bold;color:#526b47;margin-top:8px;min-height:17px}
#campaign #park-interact:disabled{opacity:.7;background:#cdd4bc;color:#4c6144;border-color:#cdd4bc}
@media(max-width:650px){#campaign .dialogue-shade{padding:14px 14px 90px}#campaign .dialogue-shade .modal{padding:20px;width:100%}#campaign .dialogue-shade h2{font-size:25px}#campaign .next-action{padding:12px}#campaign .next-action h3{font-size:17px}#campaign .next-action #objective-route{font-size:10px}}
@media(max-height:500px){#campaign .dialogue-shade{justify-content:flex-end;padding:12px 18px 78px}#campaign .dialogue-shade .modal{padding:16px;width:370px;gap:8px;max-height:calc(100dvh - 90px)}#campaign .dialogue-shade h2{font-size:23px}#campaign .dialogue-shade p{font-size:12px}#campaign .next-action #objective-route{margin-top:4px;min-height:14px;font-size:10px}#campaign .objective-progress{margin-top:4px}}
@media(max-height:500px) and (min-width:651px){#campaign .park-footer{left:16px;right:16px;transform:none;width:auto;max-width:none}#campaign .park-footer nav{width:520px;max-width:100%;margin:0 auto}#campaign .next-action{position:absolute;right:0;bottom:59px;width:270px;display:block;margin:0}#campaign .next-action>button{width:100%;max-width:none;margin-top:8px;padding:9px}#campaign .next-action #objective-route{font-size:10px;margin-top:6px}}

/* The wake-up fade. Its own node, outside the HUD, so a re-render never restarts it. */
#iso-fade{position:fixed;inset:0;background:#0b0907;opacity:0;pointer-events:none;z-index:120}
/* A neighbour's read on the game you just finished, above whatever else they had to say. */
#campaign .game-note{margin:0 0 10px;padding:10px 12px;border-left:3px solid #b8964f;border-radius:0 8px 8px 0;background:#f1ead4;color:#3d5343;font:italic 15px/1.45 Georgia,serif}
#campaign .shop-blocked{margin:0 0 10px;padding:10px 12px;border-radius:8px;background:#f0e7cf;color:#6a5a3c;font:13px/1.45 Arial}
