:root{--bg:#0a0e0a;--panel:#0f1611;--border:#1f3a26;--border-bright:#2d5e3a;--amber:#ffb347;--green:#7fdb96;--green-dim:#4a7a5a;--text:#c8e6cb;--text-dim:#6b8a72;--red:#e85a4f;--scanline:#7fdb9608;--map-glyph:#fff;--route-shadow:#000;--map-bg:#0a0d12;--map-grid:#0000008c;--map-floor-fill:#5a6472;--map-floor-stroke:#7b8794;--map-pit-fill:#1a1f27;--map-token-bezel:#1a1f27;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef2f5;--panel:#dde4ea;--border:#a8b4be;--border-bright:#5a6f80;--amber:#a44a00;--green:#0f6a3d;--green-dim:#3d8961;--text:#0e1a24;--text-dim:#4a5a68;--red:#b3261e;--scanline:#14284606;--map-glyph:#0e1a24;--route-shadow:#000;--map-bg:#c4cdd5;--map-grid:#14284638;--map-floor-fill:#94a0aa;--map-floor-stroke:#7a8a96;--map-pit-fill:#3a4452;--map-token-bezel:#dde4ea;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100vh;margin:0;padding:0}body{position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:1000;background:repeating-linear-gradient(0deg, transparent 0, transparent 2px, var(--scanline) 2px, var(--scanline) 3px);position:fixed;inset:0}h1,h2,h3{color:var(--amber);letter-spacing:.02em;margin:0;font-weight:600}a{color:var(--amber);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.wizard-grid{grid-template-columns:minmax(0,1fr) 280px;gap:20px;display:grid}@media (width<=900px){.wizard-grid{grid-template-columns:1fr}}.dim{color:var(--text-dim)}.accent{color:var(--amber)}.value{color:var(--green)}.error{color:var(--red)}.rollable{cursor:pointer;border-bottom:1px dotted #ffb34766;transition:color .12s,border-bottom-color .12s,border-bottom-style .12s}.rollable:hover,.rollable:focus-visible{color:var(--amber);border-bottom-style:solid;border-bottom-color:var(--amber);outline:none}.sheet-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=899px){.sheet-grid{grid-template-columns:1fr}}.sheet-tabs{scrollbar-width:none;border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.sheet-tabs::-webkit-scrollbar{display:none}.sheet-tab{min-height:40px;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;padding:10px 14px;font-family:inherit;font-size:12px;transition:color .12s,border-bottom-color .12s}.sheet-tab[aria-selected=true]{color:var(--amber);border-bottom-color:var(--amber)}.sheet-tab:hover:not([aria-selected=true]){color:var(--text)}.comms-player{--amber:#1aff6e;--green:#1aff6e;--text:#b6f5c6;--text-dim:#5e9a73;--panel:#061008;--bg:#030906;--border:#1a3d24;--border-bright:#2a6e3c;color:var(--text);position:relative}.comms-player,.comms-player .accent,.comms-player input,.comms-player textarea,.comms-player button{text-shadow:0 0 2px #1aff6e47}.comms-player .accent{text-shadow:0 0 5px #1aff6e73}.comms-player:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#0000 0 2px,#1aff6e0d 2px 3px);position:absolute;inset:0}.comms-player>*{z-index:2;position:relative}.comms-player .comms-frame-corner{border:1px solid var(--amber);z-index:3;pointer-events:none;width:12px;height:12px;position:absolute}@keyframes commsNoSignalPulse{0%,to{opacity:.85}50%{opacity:.55}}.comms-no-signal{color:#ff7f6f;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 4px #ff503c73;background:#cf4a3a14;border:1px solid #cf4a3a;border-radius:2px;align-items:center;gap:8px;margin:4px 0 8px;padding:6px 10px;font-size:11px;animation:1.6s ease-in-out infinite commsNoSignalPulse;display:flex}@keyframes commsNoConnectionFlicker{0%,92%,to{opacity:.92}93%,95%{opacity:.55}94%{opacity:.78}}.comms-no-connection{z-index:4;pointer-events:none;color:#ff7f6f;text-align:center;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 6px #ff503c8c;background:#0309068c;place-items:center;animation:3.2s steps(40,end) infinite commsNoConnectionFlicker;display:grid;position:absolute;inset:0}.comms-no-connection-block{background:#030906b3;border:1px dashed #cf4a3a;padding:16px 22px}.comms-no-connection-title{margin-bottom:6px;font-size:14px;font-weight:700}.comms-no-connection-sub{color:#d99;font-size:10px}@keyframes commsBrokenFlicker{0%,to{opacity:.85}20%{opacity:.45}40%{opacity:.92}55%{opacity:.1}60%{opacity:.3}80%{opacity:.78}}@keyframes commsBrokenShudder{0%,92%,to{transform:translate(0)}93%{transform:translate(-1px)}95%{transform:translate(1px,1px)}97%{transform:translateY(-1px)}}@keyframes commsBrokenCracksFlicker{0%,92%,to{opacity:.88}93%{opacity:.55}96%{opacity:1}}.comms-broken-root{z-index:5;pointer-events:none;background:#050a07;animation:4s steps(40,end) infinite commsBrokenShudder;position:absolute;inset:0;overflow:hidden}.comms-broken-glitch{z-index:0;color:#6f8a72;letter-spacing:.06em;flex-direction:column;gap:8px;padding:12px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;animation:2.4s steps(8,end) infinite commsBrokenFlicker;display:flex;position:absolute;inset:0}.comms-broken-header{color:#cf4a3a;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px dashed #cf4a3a66;padding-bottom:6px;font-size:11px}.comms-broken-bubble{color:#c8e6cb8c;word-break:break-all;background:#0f161199;border:1px solid #785a5a66;border-radius:2px;align-self:flex-start;max-width:78%;padding:6px 10px;font-size:12px}.comms-broken-bubble.own{color:#ffb3478c;border-color:#ffb3474d;align-self:flex-end}.comms-broken-composer{color:#ff7f6fb3;letter-spacing:.18em;text-transform:uppercase;background:#cf4a3a0f;border-top:1px solid #cf4a3a80;margin-top:auto;padding:8px 10px;font-size:11px}.comms-broken-cracks{z-index:1;pointer-events:none;width:100%;height:100%;animation:6s steps(60,end) infinite commsBrokenCracksFlicker;position:absolute;inset:0}.comms-broken-banner{z-index:2;color:#ff7f6f;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 6px #ff503c8c;background:#030906d9;border:1px dashed #cf4a3a;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:flex;position:absolute;bottom:10px;right:10px}.comms-broken-banner-sub{color:#ff7f6fb3;text-transform:none;letter-spacing:.04em;margin-left:4px}@keyframes commsBootFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes commsBootCaret{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes commsBootScanline{0%{opacity:0;transform:translateY(-100%)}10%{opacity:.45}90%{opacity:.45}to{opacity:0;transform:translateY(120%)}}@keyframes commsPowerDownDarken{0%{opacity:0}20%{opacity:.35}60%{opacity:.92}to{opacity:1}}@keyframes commsPowerDownFlash{0%{opacity:0;height:1px;transform:scaleX(.2)}15%{opacity:1;height:2px;transform:scaleX(1)}55%{opacity:1;height:1px;transform:scaleX(1)}78%{opacity:1;height:1px;transform:scaleX(.35)}to{opacity:0;height:1px;transform:scaleX(0)}}@keyframes commsPowerOffPulse{0%,to{opacity:.55}50%{opacity:.85}}.comms-power-root{z-index:6;background:#050a07;flex-direction:column;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;display:flex;position:absolute;inset:0;overflow:hidden}.comms-boot-screen{color:var(--amber);letter-spacing:.08em;text-shadow:0 0 6px #ffb34759;background:#050a07;flex-direction:column;gap:6px;padding:16px 18px;font-size:12px;display:flex;position:absolute;inset:0}.comms-boot-title{letter-spacing:.18em;text-transform:uppercase;opacity:0;border-bottom:1px dashed #ffb34766;margin-bottom:6px;padding-bottom:6px;font-size:13px;font-weight:700;animation:.35s forwards commsBootFadeIn}.comms-boot-line{opacity:0;animation:.32s forwards commsBootFadeIn}.comms-boot-caret{background:var(--amber);vertical-align:-2px;width:8px;height:14px;margin-left:4px;animation:.7s step-end infinite commsBootCaret;display:inline-block}.comms-boot-scanline{pointer-events:none;z-index:1;background:linear-gradient(#ffb34700 0%,#ffb34740 50%,#ffb34700 100%);height:32px;animation:2.2s linear infinite commsBootScanline;position:absolute;left:0;right:0}.comms-powerdown-fade{opacity:0;z-index:0;background:#050a07;animation:1.1s ease-in forwards commsPowerDownDarken;position:absolute;inset:0}.comms-powerdown-flash{background:var(--amber);transform-origin:50%;z-index:1;height:2px;animation:1.1s ease-out forwards commsPowerDownFlash;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 14px #1aff6ee6}.comms-power-off-screen{color:var(--text-dim);background:#050a07;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;display:flex;position:absolute;inset:0}.comms-power-off-glyph{letter-spacing:.32em;text-transform:uppercase;color:#ffb3478c;font-size:28px;animation:3.2s ease-in-out infinite commsPowerOffPulse}.comms-power-off-sub{letter-spacing:.18em;text-transform:uppercase;color:#6b8a72d9;font-size:11px}.comms-player .comms-power-button{z-index:8;border:1px solid var(--amber);width:26px;height:26px;color:var(--amber);cursor:pointer;background:#050a07d9;border-radius:999px;place-items:center;padding:0;font-family:inherit;font-size:14px;line-height:1;transition:background .12s,color .12s;display:grid;position:absolute;top:4px;right:6px}.comms-player .comms-power-button:disabled{cursor:not-allowed;opacity:.55}.comms-player .comms-power-button:hover:not(:disabled){background:#1aff6e2e}.comms-player .comms-power-button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.comms-player .comms-mode-switch{z-index:8;border:1px solid var(--amber);width:26px;height:26px;color:var(--amber);cursor:pointer;background:#050a07d9;border-radius:999px;place-items:center;padding:0;font-family:inherit;font-size:14px;line-height:1;transition:background .12s,color .12s;display:grid;position:absolute;top:4px;right:38px}.comms-player .comms-mode-switch[aria-pressed=true]{background:var(--amber);color:var(--bg)}.comms-player .comms-mode-switch:disabled{cursor:not-allowed;opacity:.45}.comms-player .comms-mode-switch:hover:not(:disabled){background:#1aff6e2e}.comms-player .comms-mode-switch[aria-pressed=true]:hover:not(:disabled){background:var(--amber);color:var(--bg);filter:brightness(1.1)}.comms-player .comms-mode-switch:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.hack-connection-button{background:var(--bg);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text-dim);letter-spacing:.06em;border-radius:2px;grid-template-columns:1fr auto;align-items:baseline;gap:12px;padding:10px 12px;font-family:inherit;transition:border-color .12s,color .12s,background .12s;display:grid}.hack-connection-button[data-enabled=true]{border-color:var(--amber);color:var(--amber)}.hack-connection-button[data-enabled=true]:hover:not(:disabled){background:#ffb34714}.hack-connection-button[data-enabled=false]{cursor:not-allowed;opacity:.55}.hack-connection-button .hack-connection-label{letter-spacing:.16em;font-size:12px;font-weight:700}.hack-connection-button .hack-connection-hint{letter-spacing:.04em;text-transform:none;color:var(--text-dim);font-size:11px}.hack-connection-button:focus-visible{outline:1px solid var(--amber);outline-offset:2px}@keyframes hackDotPulse{0%,80%,to{opacity:.15}40%{opacity:1}}.hack-scan-dots{letter-spacing:.4em;margin-left:6px;display:inline-block}.hack-scan-dot{opacity:.15;animation:1.4s ease-in-out infinite hackDotPulse;display:inline-block}.hack-scan-dot:first-child{animation-delay:0s}.hack-scan-dot:nth-child(2){animation-delay:.15s}.hack-scan-dot:nth-child(3){animation-delay:.3s}.hack-scan-dot:nth-child(4){animation-delay:.45s}.hack-scan-dot:nth-child(5){animation-delay:.6s}@keyframes hackInflightLineIn{0%{opacity:0;transform:translate(-4px)}to{opacity:.85;transform:translate(0)}}@keyframes hackInflightOminous{0%{opacity:0;filter:brightness(1.1);transform:translate(-2px)}6%{opacity:1;filter:brightness(1.6)}18%{opacity:.85;filter:brightness(.9)}32%{opacity:1;filter:brightness(1.4)}60%{opacity:.85}to{opacity:.85}}@keyframes hackInflightSpinner{0%,to{opacity:.25}33%{opacity:1}}.hack-inflight{animation:.22s ease-out forwards hackInflightLineIn}.hack-inflight-line{opacity:0;letter-spacing:.04em;white-space:pre;text-overflow:ellipsis;animation:.24s ease-out forwards hackInflightLineIn;overflow:hidden}.hack-inflight-line.is-ominous{letter-spacing:.1em;text-transform:uppercase;text-shadow:0 0 6px #e85a4f99;font-weight:700;animation:1.4s ease-out forwards hackInflightOminous}.hack-inflight.is-failure .hack-inflight-line:not(.is-ominous){filter:saturate(.7)}.hack-inflight-spinner{letter-spacing:.4em;gap:4px;display:inline-flex}.hack-inflight-spinner>span{animation:1.1s ease-in-out infinite hackInflightSpinner}.hack-inflight-spinner>span:nth-child(2){animation-delay:.18s}.hack-inflight-spinner>span:nth-child(3){animation-delay:.36s}.sheet-sticky{background:var(--bg);z-index:5;border-bottom:1px solid var(--border);margin-bottom:8px;padding:8px 0;position:sticky;top:0}@media (width<=599px){.dice-canvas{display:none}}@keyframes roll-chip-fade{0%{opacity:0}6%{opacity:1}85%{opacity:1}to{opacity:0}}.roll-chip{animation:10s forwards roll-chip-fade}.roll-drawer-backdrop{z-index:1200;background:#00000073;animation:.16s ease-out forwards drawer-backdrop-in;position:fixed;inset:0}.roll-drawer{background:var(--panel);border:1px solid var(--border);z-index:1201;border-top:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px;flex-direction:column;width:min(800px,96vw);max-height:80vh;animation:.2s cubic-bezier(.2,.8,.2,1) forwards drawer-slide-down;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%,-100%);box-shadow:0 12px 40px #0009}@keyframes drawer-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide-down{0%{transform:translate(-50%,-100%)}to{transform:translate(-50%)}}.drawer-field{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);font-family:inherit;font-size:inherit;border-radius:2px;outline:none;padding:8px 10px}.drawer-field:focus{border-color:var(--amber)}.drawer-trigger:hover{border-color:var(--amber);color:var(--amber)}.character-sheet-overlay-backdrop{z-index:1149;background:#0000008c;animation:.16s ease-out forwards drawer-backdrop-in;position:fixed;inset:0}.character-sheet-overlay{background:var(--bg);border:1px solid var(--border);z-index:1150;border-radius:4px;width:min(1200px,96vw);max-height:92vh;animation:.16s ease-out forwards equipment-manager-in;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0009}.character-sheet-overlay-close{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;z-index:2;border-radius:2px;margin-left:auto;padding:6px 10px;font-family:inherit;font-size:14px;position:sticky;top:0}.character-sheet-overlay-close:hover{border-color:var(--amber);color:var(--amber)}.dice-tray-rail{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex:0 0 36px;align-items:center;gap:10px;width:36px;min-height:100vh;padding:10px 0;display:flex}.dice-tray-rail-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:2px;place-items:center;width:28px;height:28px;padding:0;font-family:inherit;font-size:14px;display:grid}.dice-tray-rail-btn:hover,.dice-tray-rail-btn[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}.dice-tray-panel{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex:0 0 320px;width:320px;min-height:100vh;display:flex}.dice-tray-panel.is-floating{z-index:1050;min-height:0;animation:.16s ease-out forwards dice-tray-slide-in;position:fixed;top:0;bottom:0;left:36px;box-shadow:4px 0 24px #00000080}@keyframes dice-tray-slide-in{0%{opacity:.6;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.dice-tray-backdrop{z-index:1049;background:0 0;position:fixed;inset:0 0 0 356px}.equipment-manager{background:var(--panel);border:1px solid var(--border);z-index:1201;border-radius:4px;flex-direction:column;width:min(900px,96vw);max-height:86vh;animation:.16s ease-out forwards equipment-manager-in;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0009}@keyframes equipment-manager-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.journal-body h1,.journal-body h2,.journal-body h3,.journal-body h4,.journal-body h5,.journal-body h6{color:var(--amber);margin:.8em 0 .4em;font-weight:600;line-height:1.25}.journal-body h1{font-size:1.3em}.journal-body h2{font-size:1.18em}.journal-body h3{font-size:1.08em}.journal-body h4,.journal-body h5,.journal-body h6{font-size:1em}.journal-body>:first-child{margin-top:0}.journal-body>:last-child{margin-bottom:0}.journal-body p{margin:0 0 .7em}.journal-body ul,.journal-body ol{margin:0 0 .7em;padding-left:1.4em}.journal-body li{margin:.2em 0}.journal-body a{color:var(--amber);text-decoration:underline}.journal-body code{background:#ffffff0f;border-radius:2px;padding:1px 5px;font-size:.92em}.journal-body pre{border:1px solid var(--border);background:#ffffff0a;border-radius:2px;margin:0 0 .7em;padding:8px 10px;overflow:auto}.journal-body pre code{background:0 0;padding:0}.journal-body blockquote{border-left:2px solid var(--border-bright);color:var(--text-dim);margin:0 0 .7em;padding:0 0 0 10px}.journal-body img{border:1px solid var(--border);border-radius:2px;max-width:100%;height:auto}.journal-body hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.journal-body table{border-collapse:collapse;margin:0 0 .7em;font-size:.95em}.journal-body th,.journal-body td{border:1px solid var(--border);text-align:left;padding:4px 8px}.wiki-body h1,.wiki-body h2,.wiki-body h3,.wiki-body h4,.wiki-body h5,.wiki-body h6{color:var(--amber);margin:.8em 0 .4em;font-weight:600;line-height:1.25}.wiki-body h1{font-size:1.3em}.wiki-body h2{font-size:1.18em}.wiki-body h3{font-size:1.08em}.wiki-body h4,.wiki-body h5,.wiki-body h6{font-size:1em}.wiki-body>:first-child{margin-top:0}.wiki-body>:last-child{margin-bottom:0}.wiki-body p{margin:0 0 .7em}.wiki-body ul,.wiki-body ol{margin:0 0 .7em;padding-left:1.4em}.wiki-body li{margin:.2em 0}.wiki-body a{color:var(--amber);text-decoration:underline}.wiki-body code{background:#ffffff0f;border-radius:2px;padding:1px 5px;font-size:.92em}.wiki-body pre{border:1px solid var(--border);background:#ffffff0a;border-radius:2px;margin:0 0 .7em;padding:8px 10px;overflow:auto}.wiki-body pre code{background:0 0;padding:0}.wiki-body blockquote{border-left:2px solid var(--border-bright);color:var(--text-dim);margin:0 0 .7em;padding:0 0 0 10px}.wiki-body img{border:1px solid var(--border);border-radius:2px;max-width:100%;height:auto}.wiki-body hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.wiki-body table{border-collapse:collapse;margin:0 0 .7em;font-size:.95em}.wiki-body th,.wiki-body td{border:1px solid var(--border);text-align:left;padding:4px 8px}.wiki-body .wiki-link{color:var(--amber);text-underline-offset:2px;cursor:pointer;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.wiki-body .wiki-link:hover{text-decoration:underline}
