#campaign-map{z-index:2000;color:#f2eedf;font-family:var(--mono,monospace);background:#163743;outline:none;position:fixed;inset:0;overflow:hidden}#campaign-map[hidden]{display:none}.cm-surface,.cm-labels{position:absolute;inset:0}.cm-surface canvas{touch-action:none;cursor:grab;width:100%;height:100%}.cm-surface canvas:active{cursor:grabbing}.cm-header{pointer-events:none;align-items:center;gap:32px;display:flex;position:absolute;top:28px;left:32px;right:32px}.cm-header>*{pointer-events:auto}.cm-header small,.cm-eyebrow,.cm-atlas>small{letter-spacing:.17em;color:#c3d0c1;font-size:10px}.cm-header h1{letter-spacing:.12em;margin:7px 0;font-family:Georgia,serif;font-size:48px;font-weight:400}.cm-header h1 span{letter-spacing:.02em;color:#c8d2c9;margin-top:3px;font:italic 13px Georgia,serif;display:block}.cm-progress{text-align:right;flex-direction:column;gap:5px;margin-left:auto;display:flex}.cm-progress strong{font-size:27px;font-weight:400}.cm-progress strong span{color:#b2c0b6;font-size:17px}#campaign-map button{font:inherit;color:inherit;cursor:pointer;background:#132e35df;border:1px solid #93a99c66;padding:11px 14px}#campaign-map button:hover,#campaign-map button:focus-visible{outline-offset:2px;background:#3c5a54;outline:2px solid #e9c67c}#campaign-map button:disabled{cursor:default;opacity:.6}.cm-card{background:#152d32ed;border:1px solid #94a79566;width:290px;padding:26px;position:absolute;top:174px;right:32px;box-shadow:0 20px 60px #061a2440}.cm-card h2{margin:16px 0;font:30px/1.12 Georgia,serif}.cm-card p{color:#c2cec4;font:13px/1.65 system-ui,sans-serif}.cm-card dl>div{border-bottom:1px solid #9bb09c26;justify-content:space-between;gap:14px;padding:10px 0;font-size:10px;display:flex}.cm-card dt{color:#97b1a8}.cm-card dd{text-align:right;margin:0}.cm-stages{color:#e6c783;margin:24px 0;padding:0;font-size:11px;list-style:none}.cm-stages span{color:#c2cec4;margin-left:14px}.cm-stages .done{color:#83c79d}.cm-stages .done span:after{content:" ✓";color:#83c79d}.cm-card .cm-save-note{color:#8fa69b;font-size:11px}#campaign-map .cm-visit{color:#18353b;background:#dfc17e;width:100%;margin-top:10px;font-weight:700}.cm-error{color:#ffc596!important}.cm-atlas{pointer-events:auto;background:#173138bf;border-left:2px solid #d7b979;width:230px;padding:20px;position:absolute;bottom:102px;left:32px}.cm-atlas h2{font:22px Georgia,serif}.cm-atlas p{color:#bccfc2;font:12px/1.6 system-ui,sans-serif}.cm-atlas>div{margin:20px 0;font-size:10px;line-height:2.4}.cm-dot{background:#d6af73;border-radius:50%;width:7px;height:7px;margin-right:10px;display:inline-block}.cm-dot.active{background:#ec884f}.cm-dot.complete{background:#85c69c}.cm-labels{pointer-events:none}#campaign-map .cm-pin{pointer-events:auto;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex;position:absolute;top:0;left:0}#campaign-map .cm-pin:hover{background:0 0}.cm-pin>i{background:#b98e56;border:2px solid #f5dfad;border-radius:50%;flex:0 0 10px;width:10px;height:10px;box-shadow:0 0 0 4px #152f3477}.cm-pin>span{white-space:nowrap;background:#153239cf;border:1px solid #d0cfaa33;padding:6px 9px;font-size:11px}.cm-pin small{letter-spacing:.08em;color:#c7bd9c;margin-top:4px;font-size:8px;display:block}.cm-pin.selected>span{background:#19363df5;border-color:#e4c27b}.cm-footer{color:#c5d2c9;justify-content:space-between;align-items:center;gap:20px;font-size:10px;display:flex;position:absolute;bottom:24px;left:32px;right:32px}.cm-footer nav{gap:6px;display:flex}.cm-footer b{color:#e4c27b;margin-right:10px}.cm-compass{text-align:center;color:#dccc9c;font:18px Georgia,serif;position:absolute;top:160px;left:40px}#campaign-status{z-index:35;color:#ebeedf;background:#152d32ed;border:1px solid #ffffff24;width:280px;padding:15px;font:12px/1.5 system-ui,sans-serif;position:fixed;top:64px;left:18px}#campaign-status[hidden]{display:none}#campaign-status small{color:#cbb578;letter-spacing:.08em}#campaign-status h3{margin:6px 0;font:23px Georgia,serif}#campaign-status p{color:#bdcdc5;margin:8px 0}#campaign-status button,#campaign-status select{color:#fff0d2;cursor:pointer;font:inherit;background:#29474d;border:1px solid #6c867b;max-width:100%;margin:3px 3px 0 0;padding:8px}#campaign-status button:disabled{opacity:.5;cursor:default}.blueprint-open #campaign-status,.campaign-open #campaign-status{display:none}@media (width<=900px){.cm-header{gap:12px;top:15px;left:16px;right:16px}.cm-header h1{font-size:30px}.cm-header h1 span,.cm-progress small,.cm-atlas,.cm-compass{display:none}.cm-card{width:235px;max-height:45vh;padding:16px;top:auto;bottom:65px;right:15px;overflow:auto}.cm-card h2{font-size:24px}.cm-card dl,.cm-stages{margin:12px 0}.cm-footer{bottom:12px;left:16px;right:16px}.cm-footer>span{max-width:45%;font-size:9px}.cm-pin>span{font-size:9px}}.cm-header{text-shadow:0 2px 12px #152b29;top:20px}.cm-header h1{margin:4px 0;font-size:34px}.cm-header h1 span{display:none}.cm-card{background:#20312ae8;width:270px;max-height:65vh;padding:20px;top:auto;bottom:85px;right:24px;overflow:auto}.cm-card[hidden]{display:none}.cm-card h2{margin:12px 0;font-size:26px}.cm-card dl{margin:12px 0}.cm-card dl>div{padding:6px 0}.cm-stages{margin:12px 0}.cm-stages li{padding:4px 0}#campaign-map .cm-dismiss{float:right;background:0 0;border:0;padding:0 4px;font-size:20px}.cm-atlas{background:0 0;border:none;width:auto;padding:0;bottom:80px}.cm-compass{top:115px}#campaign-map .cm-pin>span{text-shadow:0 1px 3px #15251d;background:linear-gradient(90deg,#263c2de8,#263c2d88);border:0;border-bottom:1px solid #d0c89988;font:13px Georgia,serif}.cm-pin small{font-family:monospace;font-size:8px}.cm-pin.locked{opacity:.8}.cm-footer{text-shadow:0 1px 5px #172b24}.cm-arrival-caption{text-align:center;letter-spacing:.25em;text-shadow:0 2px 8px #000;width:100%;font-size:12px;display:none;position:absolute;bottom:12%}.cm-travelling .cm-arrival-caption{display:block}.cm-travelling .cm-card,.cm-travelling .cm-labels,.cm-travelling .cm-atlas,.cm-travelling .cm-footer,.cm-travelling .cm-header,.cm-travelling .cm-compass{opacity:0;pointer-events:none;transition:opacity .3s}#campaign-map.cm-arrived{opacity:0;pointer-events:none;transition:opacity .35s}@media (prefers-reduced-motion:reduce){#campaign-map.cm-arrived{transition:none}}@media (width<=900px){.cm-card{width:235px;max-height:45vh;padding:16px;bottom:65px}.cm-header h1{font-size:28px}}.cm-header{background:linear-gradient(#20372e80,#0000);margin:-20px -32px 0;padding:20px 32px 24px}.cm-header h1{letter-spacing:.16em;font-family:system-ui,sans-serif;font-size:29px;font-weight:600}.cm-card h2{font-family:system-ui,sans-serif;font-size:24px;font-weight:500}#campaign-map .cm-pin>span{background:#223239d9;border-bottom:1px solid #bac6c080;font-family:system-ui,sans-serif;font-size:11px}.cm-card{background:#1c2c33ed}.cm-atlas{gap:8px;display:flex}@media (width<=900px){.cm-atlas{display:flex;top:85px;bottom:auto;left:16px}.cm-atlas button{padding:8px!important;font-size:10px!important}}.cm-loading{color:#e8e4cf;z-index:8;background:#20352ded;border:1px solid #8c9472;max-width:36rem;padding:1.2rem 1.8rem;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.cm-loading[hidden]{display:none}.cm-credits{color:#d6ddcb;text-shadow:0 1px 3px #000;font:10px/1.4 monospace;position:absolute;bottom:3.3rem;right:1.5rem}.cm-credits a{color:inherit}#campaign-map{color:var(--chalk);background:var(--tar);font-family:var(--body)}.cm-header{text-shadow:none;background:linear-gradient(#16140fe8,#16140f00)}.cm-header h1{font:900 44px/.95 var(--display);letter-spacing:.04em;text-transform:uppercase}.cm-header small,.cm-eyebrow{color:var(--chalk-dim);font:700 12px var(--display);letter-spacing:.12em;text-transform:uppercase}.cm-progress strong{font:900 34px/1 var(--display);color:var(--hivis)}.cm-progress strong span{color:var(--chalk-dim)}#campaign-map button{border-color:var(--line);font:700 16px var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--chalk);background:#16140fed}#campaign-map button:hover,#campaign-map button:focus-visible{background:var(--tar-3);outline-color:var(--hivis)}#campaign-map .cm-card{border:1px solid var(--line);border-top:4px solid var(--rust);background:#16140ff5;box-shadow:6px 8px #16140f50}.cm-card h2{font:900 34px/1.05 var(--display);text-transform:uppercase;letter-spacing:.025em}.cm-card p,.cm-stages span{color:var(--chalk-dim);font-family:var(--body)}.cm-card dt,.cm-card .cm-save-note{color:var(--chalk-dim)}.cm-card dl>div{border-color:var(--line);font-family:var(--mono)}.cm-stages{color:var(--hivis)}.cm-stages .done,.cm-stages .done span:after{color:var(--good)}#campaign-map .cm-visit{background:var(--hivis);color:var(--hivis-ink);border:0;padding:13px;font-size:20px}#campaign-map .cm-pin{background:0 0}#campaign-map .cm-pin>span{border:1px solid var(--line);font:800 17px/1 var(--display);letter-spacing:.035em;text-transform:uppercase;text-shadow:none;background:#16140fe8;padding:7px 10px}#campaign-map .cm-pin small{color:var(--chalk-dim);font:10px/1.2 var(--mono);letter-spacing:.02em;margin-top:5px}.cm-pin>i{background:var(--hivis);border-color:var(--tar);box-shadow:0 0 0 2px var(--chalk);border-radius:2px;transform:rotate(45deg)}#campaign-map .cm-pin.selected>span{border-color:var(--hivis);background:var(--tar)}.cm-pin.selected>i{box-shadow:0 0 0 3px var(--hivis)}.cm-pin.active>i{background:var(--rust)}.cm-pin.complete>i{background:var(--good)}.cm-footer>span{color:var(--chalk-dim);text-shadow:none;background:#16140fe0;padding:9px 12px}.cm-footer b{color:var(--hivis)}.cm-compass{font:900 22px/1.1 var(--display);color:var(--chalk);background:#16140fe0;padding:8px}#campaign-map [data-cm=developer][aria-pressed=true]{color:var(--hivis);border-color:var(--hivis)}.cm-arrival-caption{font:900 32px var(--display);letter-spacing:.06em;color:var(--chalk)}.cm-loading{background:var(--tar);color:var(--chalk);border-color:var(--hivis);font:800 25px var(--display);text-transform:uppercase}#campaign-status{border-color:var(--line);color:var(--chalk);font-family:var(--body);background:#16140fed}#campaign-status h3{font:800 27px var(--display);text-transform:uppercase}#campaign-status button{background:var(--tar-2);border-color:var(--line);font-family:var(--display);text-transform:uppercase}@media (width<=900px){.cm-header h1{font-size:32px}#campaign-map .cm-pin>span{font-size:14px}.cm-card h2{font-size:28px}}#campaign-map .cm-pin>span{transform:translateY(var(--label-shift,0px))}#campaign-map .cm-pin:after{content:"";left:6px;top:var(--leader-top,24px);width:1px;height:var(--leader-length,0px);background:var(--chalk-dim);pointer-events:none;position:absolute}.cm-credits{bottom:4.3rem}.workshop-computer{z-index:10000;color:#c6dfad;box-sizing:border-box;cursor:default;background:#25231e;padding:clamp(8px,2vh,24px);font:15px monospace;position:fixed;inset:0}.workshop-computer *{box-sizing:border-box}.crt-housing{background:linear-gradient(110deg,#9f9987,#d4c9aa 28%,#b8ad91 76%,#847c69);border:3px solid #4b493f;border-radius:30px 30px 22px 22px;flex-direction:column;height:100%;padding:clamp(12px,2.5vw,38px) clamp(12px,3.4vw,52px) 0;display:flex;box-shadow:inset 5px 6px 4px #eee4c099,inset -8px -8px 6px #5a5646,0 12px 35px #000a}.crt-glass{background:#11271b;border:12px solid #33382e;border-radius:7%/6%;flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:0 0 0 4px #7e7965,inset 0 0 45px #000}.crt-content{text-shadow:0 0 4px #88b87965;scrollbar-color:#647e55 #1b3021;height:100%;padding:22px clamp(18px,3vw,48px) 30px;position:relative;overflow:auto}.crt-overlay{pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(#0000 0 2px,#0003 3px,#0000 4px),radial-gradient(#0000 40%,#07100880 100%);position:absolute;inset:0;box-shadow:inset 0 0 35px 12px #0007}.crt-overlay:after{content:"";border-radius:inherit;background:linear-gradient(135deg,#f0ffe611,#0000 40% 85%,#d5e6b906);position:absolute;inset:0}.workshop-computer header{letter-spacing:1px;justify-content:space-between;align-items:center;gap:20px;padding:4px 0 12px;font-size:14px;display:flex}.workshop-computer header span{color:#8ba877;font-size:12px}.workshop-computer button{font:inherit;cursor:pointer;color:#c6dfad;text-shadow:inherit;background:#263e2c;border:2px solid #6f8c5c;border-radius:3px;padding:9px 14px;box-shadow:0 3px #102418}.workshop-computer button:hover{background:#39583a}.workshop-computer button:focus-visible,.workshop-computer input:focus-visible,.workshop-computer canvas:focus-visible{outline-offset:3px;outline:3px solid #efc779}.workshop-computer [role=tablist]{border-bottom:2px solid #789268;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 0;padding-bottom:12px;display:grid}.workshop-computer [role=tab]{text-align:center;letter-spacing:.5px;min-height:56px;font-size:16px;font-weight:700}.workshop-computer [role=tab][aria-selected=true]{color:#172b1b;text-shadow:none;background:#c9dfa7;border-color:#e7f0bf;box-shadow:0 0 12px #b6d68e40,0 3px #718f59}.workshop-computer [data-controls]{flex-wrap:wrap;gap:14px 24px;margin:18px 0;display:flex}.workshop-computer label{flex:160px;max-width:280px;font-size:13px}.workshop-computer output{float:right;color:#f1d28e;font-weight:700}.workshop-computer input{accent-color:#c6da9c;cursor:pointer;width:100%;margin:10px 0 0;display:block}.workshop-computer [data-actions]{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.workshop-computer [data-actions] span{color:#a5be90;flex:220px;font-size:13px}.workshop-computer canvas{object-fit:fill;touch-action:none;background:#152c20;border:1px solid #536c46;border-radius:8px;width:100%;height:auto;max-height:42vh;display:block}.workshop-computer pre{white-space:pre-wrap;color:#b9d3a1;margin-bottom:0;font:14px/1.7 monospace}.crt-housing footer{color:#4d5146;text-shadow:0 1px #e1d7b8;align-items:center;gap:18px;min-height:65px;padding:12px 8px;font-weight:700;display:flex}.crt-brand{letter-spacing:4px;font-size:24px}.crt-brand small{letter-spacing:1px;margin-top:3px;font-size:9px;display:block}.crt-vents{opacity:.65;background:repeating-linear-gradient(90deg,#635f50 0 3px,#0000 3px 9px);flex:1;max-width:190px;height:23px;margin:0 24px 0 auto}.crt-led{background:#a3d578;border-radius:50%;width:9px;height:9px;box-shadow:0 0 9px #a3d578}.workshop-computer footer button{color:#252c22;text-shadow:none;background:#8e8977;border-color:#6d695c;font-size:11px;box-shadow:2px 3px #666353,inset 1px 1px #d6cdae}@media (width<=750px){.crt-housing{border-radius:16px;padding:10px 10px 0}.crt-glass{border-width:6px;border-radius:20px}.crt-content{padding:16px}.workshop-computer [role=tablist]{grid-template-columns:repeat(2,1fr)}.workshop-computer header{flex-direction:column;align-items:flex-start;gap:4px}.workshop-computer [role=tab]{min-height:44px;font-size:13px}.crt-brand small,.crt-vents{display:none}.crt-housing footer{min-height:50px}.crt-led{margin-left:auto}.workshop-computer pre{font-size:12px}}#office{z-index:1000;color:#fff9e8;font-family:var(--body),sans-serif;background:#202c2b;position:fixed;inset:0}#office[hidden],#office [hidden]{display:none!important}#office .office-view{position:absolute;inset:0}#office .office-toast,#office .office-paper-caption,#office .office-prompt{z-index:2;text-align:center;text-shadow:0 1px 3px #27372b,0 0 8px #27372b;width:max-content;max-width:calc(100vw - 40px);margin:0;padding:8px;font-size:14px;line-height:1.5;position:absolute;left:50%;transform:translate(-50%)}#office .office-toast{pointer-events:none;top:24px}#office .office-paper-caption{bottom:24px}#office .office-prompt{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;bottom:28px}#office .office-prompt:hover{text-decoration:underline}#office .office-prompt:focus-visible{outline-offset:3px;outline:1px solid #fff5d8}#office .office-crosshair{pointer-events:none;color:#fff8df;text-shadow:0 1px 2px #263329;opacity:.85;font:20px monospace;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#office:has(.office-paper-caption:not([hidden])) .office-crosshair{display:none}#office.office-locked .office-view canvas,#office .office-view canvas{cursor:none}#office .office-travel-fade{opacity:0;pointer-events:none;z-index:10;background:#171d19;position:absolute;inset:0}#office.office-travelling .office-crosshair,#office.office-travelling .office-prompt{display:none!important}
