:root{--ink: #000000;--paper: #ffffff;--line: #000000;--alert: #7a1f2b;--font-system: "Geneva", "Chicago", "Helvetica Neue", Helvetica, Arial, sans-serif;--unit: 8px;--border: 1px solid var(--line);--border-thick: 2px solid var(--line);--radius: 0px;--shadow-window: 2px 2px 0 0 var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-system);font-size:12px;line-height:1.35;-webkit-font-smoothing:none;image-rendering:pixelated;cursor:default;-webkit-user-select:none;user-select:none}#desktop{position:relative;height:100vh;width:100vw;overflow:hidden;background-color:var(--paper);background-image:linear-gradient(45deg,var(--ink) 25%,transparent 25%),linear-gradient(-45deg,var(--ink) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--ink) 75%),linear-gradient(-45deg,transparent 75%,var(--ink) 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0}.dither{background-image:repeating-conic-gradient(var(--ink) 0% 25%,var(--paper) 0% 50%);background-size:2px 2px}.menubar{position:fixed;top:0;left:0;right:0;height:20px;background:var(--paper);border-bottom:var(--border);display:flex;align-items:center;gap:16px;padding:0 8px;z-index:100000;font-weight:700}.menubar .menu-items{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.menubar .menu-items::-webkit-scrollbar{display:none}.menubar .menu-item{padding:0 4px;cursor:default;flex:0 0 auto;white-space:nowrap}.menubar .menu-item:active,.menubar .menu-item[data-open=true]{background:var(--ink);color:var(--paper)}.menubar .menu-item[data-alert=true]{background:var(--alert);color:var(--paper);animation:menu-alert-pulse 1.1s steps(1) infinite}.menu-badge{display:none}.menu-item[data-alert=true] .menu-badge{display:inline-block;margin-left:4px;padding:0 4px;font-style:normal;font-weight:700;background:var(--paper);color:var(--alert)}@keyframes menu-alert-pulse{50%{background:var(--ink)}}.menubar .alert{margin-left:12px;padding:0 8px;font-weight:700;background:var(--ink);color:var(--paper)}.menubar .alert:empty{display:none}.menubar .clock{margin-left:auto;flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:700}.window{position:absolute;background:var(--paper);border:var(--border-thick);box-shadow:var(--shadow-window);min-width:160px;min-height:80px;max-width:100vw;max-height:100vh;display:flex;flex-direction:column}.window[hidden]{display:none}.window>.title-bar{display:flex;align-items:center;flex:none;height:18px;border-bottom:var(--border);padding:0 4px;gap:6px;cursor:move;background:repeating-linear-gradient(to bottom,var(--ink) 0,var(--ink) 1px,var(--paper) 1px,var(--paper) 2px)}.window>.title-bar>.title{background:var(--paper);padding:0 6px;font-weight:700;white-space:nowrap}.window>.title-bar>.close-box{width:11px;height:11px;border:var(--border);background:var(--paper);cursor:default}.window>.title-bar>.close-box:active{background:var(--ink)}.window>.body{padding:8px;flex:1 1 auto;min-height:0;overflow:auto}.window>.grow-box{position:absolute;right:0;bottom:0;width:15px;height:15px;background:var(--paper);border-top:var(--border);border-left:var(--border);cursor:nwse-resize}.window>.grow-box:before,.window>.grow-box:after{content:"";position:absolute;width:7px;height:7px;border:var(--border);background:var(--paper)}.window>.grow-box:before{left:2px;top:2px}.window>.grow-box:after{left:5px;top:5px}.btn{display:inline-block;border:var(--border);border-radius:8px;background:var(--paper);color:var(--ink);padding:2px 12px;font-family:var(--font-system);font-size:12px;cursor:default}.btn:active,.btn[data-active=true]{background:var(--ink);color:var(--paper)}.btn[disabled],.btn[data-disabled=true]{color:var(--ink);opacity:1;background-image:repeating-linear-gradient(45deg,var(--ink) 0,var(--ink) 1px,var(--paper) 1px,var(--paper) 2px);pointer-events:none}.btn-alert{border-color:var(--alert);color:var(--alert);font-weight:700}.btn-alert:active{background:var(--alert);color:var(--paper)}.res-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.res-label{font-family:var(--font-system);font-size:12px;color:var(--ink)}.res-input{width:64px;border:var(--border);border-radius:8px;background:var(--paper);color:var(--ink);padding:2px 8px;font-family:var(--font-system);font-size:12px}.stat{display:flex;flex-direction:column;gap:4px;min-width:200px}.brand{display:flex;justify-content:center;padding:2px 0 6px}.logo{width:56px;height:56px}.logo .lg-frame{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}.logo .lg-cell{fill:var(--ink)}.logo .lg-banner{fill:var(--ink);stroke:var(--ink)}.logo .lg-mono{fill:var(--paper);font-family:var(--font-system);font-size:7px;font-weight:700;text-anchor:middle}.stat .row{display:flex;justify-content:space-between;gap:16px;border-bottom:var(--border);padding-bottom:2px}.stat .row .value{font-weight:700;font-variant-numeric:tabular-nums}.stat .row .value.headline{font-size:1.5em;line-height:1.1}.stat .head{font-weight:700;text-transform:uppercase;font-size:.85em;margin-top:6px}.stars{letter-spacing:2px;font-weight:700}.meetings{min-width:210px;gap:8px}.meeting{display:flex;flex-direction:column;gap:4px;border:var(--border);padding:6px 8px}.meeting-title{font-weight:700}.meeting-when{font-size:.85em;text-transform:uppercase}.attendees{display:flex;flex-wrap:wrap;gap:3px;padding:2px 0}.attendees .person{width:14px;height:21px;fill:none;stroke:var(--ink);stroke-width:1.5}.meeting .btn{align-self:flex-start}.policies{min-width:250px;gap:8px}.policy{display:flex;flex-direction:column;gap:4px;border:var(--border);padding:6px 8px}.policy-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:700}.policy-tag{font-weight:400;font-size:.8em;text-transform:uppercase}.policy-desc{font-size:.85em}.policy-seg{display:flex;flex-wrap:wrap;gap:4px;padding-top:2px}.policy-seg .btn{font-size:.85em;padding:1px 6px}.cert.held{border:var(--border-thick)}.cert-head{display:flex;align-items:flex-start;gap:8px}.cert-head>div{flex:1;display:flex;flex-direction:column;gap:3px}.cert-seal{width:34px;height:34px;flex:none;opacity:.35}.cert-seal.earned{opacity:1}.cert-seal circle,.cert-seal .cert-cog{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}.cert-seal.earned circle{fill:var(--ink)}.cert-seal text{font-size:9px;text-anchor:middle;fill:var(--ink);font-weight:700}.cert-seal.earned text{fill:var(--paper)}.cert-reqs{list-style:none;margin:0;padding:0 0 0 2px;font-size:.85em;display:flex;flex-direction:column;gap:1px}.cert-reqs .unmet{opacity:.55}.cert-reqs .met{font-weight:700}.log{min-width:240px;height:100%;display:flex;flex-direction:column;gap:2px}.log-empty{font-style:italic}.log-row{display:flex;gap:6px;border-bottom:var(--border);padding-bottom:1px}.log-day{font-variant-numeric:tabular-nums;flex:none;opacity:.7}.log-security .log-text,.log-breach .log-text{font-weight:700}.log-breach .log-text{color:var(--alert)}.res-area{position:relative;display:flex;flex-direction:column;height:100%;min-height:260px}.res-add{position:absolute;top:0;right:0;z-index:5;font-weight:700;padding:0 8px;line-height:18px}.res-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150000;display:flex;align-items:center;justify-content:center}.res-modal-overlay[hidden]{display:none}.res-modal{width:420px;max-width:92vw;max-height:82vh;background:var(--paper);border:var(--border-thick);box-shadow:var(--shadow-window);display:flex;flex-direction:column}.res-modal-bar{display:flex;align-items:center;justify-content:space-between;flex:none;padding:4px 6px;border-bottom:var(--border-thick);font-weight:700;background:repeating-linear-gradient(to bottom,var(--ink) 0,var(--ink) 1px,var(--paper) 1px,var(--paper) 2px)}.res-modal-bar>span{background:var(--paper);padding:0 6px}.res-modal-body{flex:1;min-height:0;padding:8px;overflow:auto;display:flex;flex-direction:column;gap:8px}.res-card{border:var(--border);padding:6px 8px;display:flex;flex-direction:column;gap:4px}.res-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.res-card-name{font-weight:700}.res-card-cost{font-variant-numeric:tabular-nums;white-space:nowrap}.res-card-desc{font-size:11px;line-height:1.35}.res-card-action{display:flex;align-items:center;justify-content:flex-end;gap:8px}.res-card-note{font-size:11px;font-style:italic;margin-right:auto}.res-card-devs{font-size:11px;font-weight:700;padding:2px 2px 8px;border-bottom:1px solid var(--ink);margin-bottom:4px}.board-wrap{position:relative;flex:1 1 auto;min-height:0;width:100%;overflow:hidden}.board-tools{position:absolute;right:2px;bottom:2px;display:flex;gap:2px;z-index:5}.board-tool{width:18px;padding:0;line-height:16px;font-weight:700;text-align:center}.res-group{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:3px 2px 0;border-top:var(--border);margin-top:2px}.res-group[hidden]{display:none}.res-group .group-head{font-weight:700;padding-right:2px}.board{width:100%;height:100%;display:block}.board .stroke{stroke:var(--ink);stroke-width:1;fill:none}.board .fill{fill:var(--paper)}.board .ink{fill:var(--ink);stroke:none}.board .cable{stroke:var(--ink);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.board .track{cursor:pointer}.board .track polyline{fill:none;stroke-linejoin:round}.board .track .rail-bed{stroke:var(--ink);stroke-width:7}.board .track .rail-carve{stroke:var(--paper);stroke-width:3.5}.board .track .ties{stroke:var(--ink);stroke-width:9;stroke-linecap:butt;stroke-dasharray:2 8}.board .track.compromised .rail-bed,.board .track.compromised .ties{stroke:var(--alert)}.board .node{cursor:grab}.board .marquee{fill:none;stroke:none}.board .node.picked .marquee{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 2}.board .pick{cursor:pointer}.board .pick .tick{stroke-width:1.6;visibility:hidden}.board .node.picked .pick .tick{visibility:visible}.board .node:active{cursor:grabbing}.board .node:active .fill{fill:var(--ink)}.board .node:active text{fill:var(--paper)}.board .db-shape .fill,.board .db-shape .stroke{stroke-width:2}.board .db-reel{transform-box:fill-box;transform-origin:center;animation:db-reel-spin var(--db-reel-speed, 2.4s) linear infinite}@keyframes db-reel-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.board .srv-led{fill:var(--ink);animation:srv-blink var(--srv-blink-speed, 1.3s) steps(1) infinite}.board .srv-led.led-b{animation-delay:calc(var(--srv-blink-speed, 1.3s) / 2)}@keyframes srv-blink{0%,49%{fill:var(--ink)}50%,to{fill:var(--paper)}}.board .cable.beefy{stroke-width:5}.board .db-tape{display:none}.board .db-tape path,.board .db-tape ellipse{stroke-width:1.5}.board .node.full .db-tape{display:block}.board .db-smoke{display:none}.board .node.peak .db-smoke{display:block}.board .db-smoke .puff{fill:var(--ink);opacity:0;transform-box:fill-box;transform-origin:center;animation:db-puff 1.8s ease-out infinite}.board .db-smoke .puff-b{animation-delay:.6s}.board .db-smoke .puff-c{animation-delay:1.2s}@keyframes db-puff{0%{opacity:.55;transform:translateY(0) scale(.5)}to{opacity:0;transform:translateY(-16px) scale(1.3)}}.board .dev{pointer-events:none}.board .dev .fill{fill:var(--paper)}.board .dev .stroke{stroke-width:1}.board .dev-name{font-size:5px;text-anchor:middle;fill:var(--ink)}.board .dev .tool{display:none;transform-box:fill-box;transform-origin:20% 90%}.board .dev .tool .haft{stroke-width:1}.board .dev .tool .head{fill:var(--ink)}.board .dev.working .tool{display:block;animation:dev-hammer .5s steps(2,jump-none) infinite alternate}@keyframes dev-hammer{0%{transform:rotate(-32deg)}to{transform:rotate(14deg)}}.board .node.building .scaffold-shape .stroke{stroke-width:1}.board .node.building .scaffold-shape .pad{fill:var(--paper);stroke-dasharray:3 2}.board .node.building .scaffold-shape .strut,.board .node.building .scaffold-shape .pole{opacity:.55}.board .node.building .scaffold-shape .jib,.board .node.building .scaffold-shape .hook,.board .node.building .scaffold-shape .plank{stroke-width:1.2}.board .node.building .node-sub{font-style:italic}.board .node.repairing .stroke{stroke-dasharray:4 2}.board .node.repairing .node-sub{font-style:italic}.board .build-bar .track{fill:var(--paper);stroke-width:1}.board .build-bar .bar{fill:var(--ink);stroke:none}.board .ghostwire{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3;opacity:.5;fill:none}@media (prefers-reduced-motion: reduce){.board .db-reel,.board .srv-led{animation:none}.board .db-smoke .puff{animation:none;opacity:.4}.board .dev.working .tool{animation:none;transform:rotate(-18deg)}}.board .trestle-shape .leg,.board .trestle-shape .brace,.board .trestle-shape .board-top{stroke-width:1.5}.board .trestle-shape .clip{fill:var(--ink)}.board .trestle-shape .pin{stroke-width:.75}.board .logbook{display:none;pointer-events:none}.board .node.logged .logbook{display:block}.board .logbook .page{stroke-width:1}.board .logbook .ln{stroke-width:.6}.board .logbook .quill{stroke-width:1.2;stroke-linecap:round}.board .logbook .nib{stroke-width:.8}.board .minecart{pointer-events:none}.board .minecart .body{stroke-width:1.5}.board .minecart .ore{stroke-width:.8}.board .minecart .wheel{stroke-width:1}.board .wall .keep{fill:none;stroke-width:2;stroke-linejoin:round}.board .wall .tower{stroke-width:2}.board .wall .gate{fill:var(--paper);stroke-width:2}.board .wall .portcullis{stroke-width:.75}.board .wall .keep{fill:color-mix(in srgb,var(--ink) 4%,transparent)}.board .wall .bastion .stroke{stroke-width:1.5}.board .wall .bastion .door{fill:color-mix(in srgb,var(--ink) 35%,transparent)}.board .wall-handle{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;cursor:nwse-resize}.board .wall-handle:hover{fill:var(--ink)}.board .node.net-public .srv-led{fill:var(--alert)}.board .compromised .stroke,.board .cable.compromised{stroke:var(--alert)}.board .compromised .ink,.board .compromised .srv-led{fill:var(--alert)}.board .compromised text{fill:var(--alert)}.board text{font-family:var(--font-system);fill:var(--ink)}.board .node-name{font-size:9px;font-weight:700;text-anchor:middle}.board .node-sub{font-size:7px;text-anchor:middle}.board .badge{font-size:7px;font-weight:700;text-anchor:middle;fill:var(--alert)}.popup{min-width:180px;display:flex;flex-direction:column;gap:6px}.popup .warn{color:var(--alert);font-weight:700}.popup .actions{display:flex;gap:6px;flex-wrap:wrap}.popup .head{font-weight:700;border-bottom:var(--border-thin);padding-bottom:2px}.popup .issue{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border-left:3px solid var(--alert);padding-left:6px}.popup .issue-desc{max-width:260px;opacity:.8}.ransom-banner{position:fixed;left:50%;top:26px;transform:translate(-50%);z-index:90000;border:var(--border-thick);border-color:var(--alert);background:var(--paper);box-shadow:var(--shadow-window);padding:6px 12px;display:flex;align-items:center;gap:12px;font-weight:700;color:var(--alert)}.ransom-banner[hidden]{display:none}.fallout{border:var(--border-thick);background:var(--paper);padding:6px 8px;margin-bottom:6px;display:flex;flex-direction:column;gap:4px}.fallout.urgent{border-color:var(--alert)}.fallout-title{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-weight:700}.fallout-clock{font-weight:400;font-size:.8em;white-space:nowrap}.fallout.urgent .fallout-clock{color:var(--alert);font-weight:700}.fallout-desc{font-size:.85em}.fallout-bar{height:5px;border:var(--border-thin);padding:1px}.fallout-bar i{display:block;height:100%;background:var(--ink)}.fallout.urgent .fallout-bar i{background:var(--alert)}.fallout .btn{font-size:.85em}.dbg{display:flex;flex-direction:column;gap:1px;font-size:.85em}.dbg-feed{max-height:130px;overflow-y:auto;border:var(--border-thin);padding:2px 4px}.dbg-trace{border-bottom:var(--border-thin)}.dbg-trace>summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;padding:1px 0;font-weight:700}.dbg-total{font-variant-numeric:tabular-nums}.dbg-body{padding:2px 0 4px 10px;display:flex;flex-direction:column;gap:1px}.dbg-row{display:flex;align-items:baseline;gap:6px}.dbg-src{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbg-factor{font-variant-numeric:tabular-nums;opacity:.75}.dbg-val{margin-left:auto;font-variant-numeric:tabular-nums}.dbg-base .dbg-val,.dbg-row:last-child .dbg-val{font-weight:700}.dbg-none{font-style:italic;opacity:.7}.dbg-event{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-filter{display:flex;gap:4px;padding-bottom:4px;border-bottom:var(--border-thin)}.log-filter .btn{font-size:.8em;padding:0 6px}.log-list{display:flex;flex-direction:column;overflow-y:auto;flex:1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200000;background:repeating-conic-gradient(var(--ink) 0% 25%,var(--paper) 0% 50%);background-size:3px 3px}.overlay[hidden]{display:none}.overlay-bar{position:absolute;left:0;right:0;top:0;height:24px;background:var(--paper);border-bottom:var(--border-thick);border-color:var(--alert);display:flex;align-items:center;gap:12px;padding:0 10px;font-weight:700;color:var(--alert);z-index:10}.overlay-progress{flex:1;height:10px;border:var(--border);background:var(--paper);overflow:hidden}.overlay-progress>i{display:block;height:100%;width:0%;background:var(--alert)}.mini{position:absolute;background:var(--paper);border:var(--border-thick);box-shadow:var(--shadow-window);display:flex;flex-direction:column;width:240px}.mini[hidden]{display:none}.mini>.title-bar{display:flex;align-items:center;height:18px;border-bottom:var(--border);padding:0 4px;gap:6px;cursor:move;background:repeating-linear-gradient(to bottom,var(--ink) 0,var(--ink) 1px,var(--paper) 1px,var(--paper) 2px)}.mini>.title-bar>.title{background:var(--paper);padding:0 6px;font-weight:700;white-space:nowrap}.mini>.title-bar>.close-box{width:11px;height:11px;border:var(--border);background:var(--paper)}.mini>.title-bar>.close-box:active{background:var(--ink)}.mini>.mini-body{padding:8px;display:flex;flex-direction:column;gap:6px}.mini .mini-timer{height:6px;border:var(--border);overflow:hidden}.mini .mini-timer>i{display:block;height:100%;width:100%;background:var(--ink)}.mini .prompt{font-weight:700}.mini .b64{font-family:Courier New,monospace;font-size:10px;line-height:1.3;word-break:break-all;max-height:96px;overflow:hidden}.mini .b64 .target{cursor:pointer;text-decoration:underline}.mini .captcha{font-family:Courier New,monospace;font-size:22px;letter-spacing:4px;font-weight:700;text-align:center;font-style:italic;transform:skew(-8deg);background:repeating-linear-gradient(-20deg,var(--paper) 0,var(--paper) 3px,var(--ink) 3px,var(--ink) 4px);padding:6px}.mini .captcha-in{border:var(--border);font-family:Courier New,monospace;padding:2px 4px}.mini .won{color:var(--ink);font-weight:700;text-align:center}.mini[data-state=won]{border-color:var(--ink);opacity:.5}.mini[data-state=lost]{border-color:var(--alert);opacity:.5}
