@font-face{font-family:Plex Mono;src:url(../../fonts/ibm-plex-mono-400.ttf) format("truetype");font-display:swap}
.after-dial-shell .site-header nav a.lab-nav.is-current,
.after-dial-shell .site-header nav a.lab-nav[aria-current="page"]{background:#d8ff3e;color:#050505!important;border-color:#d8ff3e;box-shadow:none}
.after-dial-shell .site-header nav a.lab-nav.is-current .lab-label,
.after-dial-shell .site-header nav a.lab-nav[aria-current="page"] .lab-label{color:#050505!important;opacity:1}
.after-dial-shell .site-header nav a.lab-nav.is-current::after,
.after-dial-shell .site-header nav a.lab-nav[aria-current="page"]::after{display:none!important;content:none!important}
@font-face{font-family:"IBM VGA 9x16";src:url(../../fonts/Web437_IBM_VGA_9x16.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}html body .terminal .crt,html body .terminal .line,html body .terminal .route,html body .terminal #command-input,html body .terminal #command-form{font-family:"IBM VGA 9x16",monospace;font-weight:400;letter-spacing:0;text-rendering:geometricPrecision}html body .terminal .crt{animation:dos-phosphor 7.6s ease-in-out infinite;text-shadow:0 0 2px rgba(108,255,111,.48)}@keyframes dos-phosphor{0%,100%{filter:contrast(1.08) brightness(.97) blur(.04px);box-shadow:inset 0 0 86px rgba(47,255,75,.13),0 0 0 2px #080908,0 20px 60px #000}46%{filter:contrast(1.11) brightness(1.02) blur(.08px);box-shadow:inset 0 0 100px rgba(47,255,75,.18),0 0 0 2px #080908,0 20px 60px #000}53%{filter:contrast(1.09) brightness(.99) blur(.05px);box-shadow:inset 0 0 92px rgba(47,255,75,.15),0 0 0 2px #080908,0 20px 60px #000}72%{filter:contrast(1.1) brightness(1.01) blur(.06px);box-shadow:inset 0 0 96px rgba(47,255,75,.17),0 0 0 2px #080908,0 20px 60px #000}}
html body .terminal .crt::after{border-radius:4%/2%;background:radial-gradient(ellipse at center,transparent 68%,rgba(0,0,0,.24) 100%);box-shadow:inset 0 0 72px rgba(0,0,0,.82)}
html body .terminal .crt{padding:clamp(34px,5.5vw,76px)}@media(max-width:650px){html body .terminal .crt{padding:28px 22px}}
html body .terminal .line.welcome-art{min-height:0;font-size:clamp(9px,1.12vw,14px);line-height:1.05;letter-spacing:0;white-space:pre;text-transform:none;color:#a8f5a3}@media(max-width:650px){html body .terminal .line.welcome-art{font-size:7px}}
html body .terminal .line,html body .terminal .line.amber,html body .terminal .line.red,html body .terminal .line.echo,html body .terminal .prompt-note,html body .terminal .route,html body .terminal .route .bad,html body .terminal .route .path,html body .terminal #command-input,html body .terminal .crt.route-mode #command-input,html body .terminal .crt.route-mode .cursor{color:#9de99a}.terminal .line.dim{color:#568b55}.terminal .route .cursor-cell{color:#020702;background:#9de99a}
html body .terminal #output,html body .terminal #command-form{max-width:64ch}html body .terminal .line,html body .terminal #command-form{font-size:clamp(17px,1.75vw,22px);line-height:1.3}html body .terminal .line.title{font-size:clamp(19px,2vw,25px)}html body .terminal .route{font-size:clamp(16px,1.72vw,21px);line-height:1.2}html body .terminal .line.welcome-art{font-size:clamp(11px,1.42vw,18px);line-height:1.02}@media(max-width:650px){html body .terminal .line,html body .terminal #command-form{font-size:15px}html body .terminal .line.welcome-art{font-size:6px}}
html body .terminal #command-input{flex:1;max-width:calc(64ch - 2ch);caret-color:#9de99a}html body .terminal .cursor{display:none}
html body .terminal #command-form:has(#command-input:disabled){visibility:hidden}html body .terminal .line.welcome-art.drawing::after{content:"█";margin-left:.08em}
@media(prefers-reduced-motion:reduce){.terminal .crt::before{animation:none!important}}
.terminal .line.ascii-panel{white-space:pre;line-height:1.12;min-height:1.12em;color:#78bd76}
.after-dial-shell #output.instant-draw .line.relay-grid{animation:none;color:#78bd76;filter:none;transform:none}.after-dial-shell .relay-node{display:inline-block;min-width:1ch;color:#78bd76;animation:relay-node-cycle 5.4s steps(1,end) infinite;animation-delay:calc(var(--node) * 95ms)}@keyframes relay-node-cycle{0%,42%,48%,100%{color:#78bd76;background:transparent;filter:none;text-shadow:inherit;transform:translateY(0)}43%{color:#020702;background:#b8ffb2;filter:brightness(1.2);text-shadow:none;transform:translateY(-1px)}44%{color:#d0ffcc;background:transparent;text-shadow:0 0 9px rgba(145,255,145,.75);transform:translateY(0)}46%{color:#8fd98d;filter:brightness(.82);text-shadow:2px 0 rgba(112,235,116,.35)}}
.after-dial-shell .relay-node.is-probed{color:#020702;background:#b8ffb2;text-shadow:none;animation:none;transform:none}
.after-dial-shell .line.ghost-probe-result{display:block;width:fit-content;max-width:100%;margin-block:3px;padding:2px 1ch;color:#061006;background:#8fd98b;text-shadow:none;border-left:1ch solid #315f34}
.after-dial-shell .line.ghost-probe-result.attention{color:#020702;background:#d8ff3e;border-left-color:#b8ffb2}
.after-dial-shell .line.terminal-corruption{color:#b8ffb2;text-shadow:-2px 0 rgba(163,255,161,.36),2px 0 rgba(58,156,66,.3);animation:terminal-corruption-in 3.6s steps(1,end) both}
.after-dial-shell .chat-mode #output{padding-left:1ch;border-left:1px solid #315f34}.after-dial-shell .line.chat-session{color:#78bd76;background:rgba(41,91,44,.08)}.after-dial-shell .line.chat-line{width:fit-content;max-width:100%;margin-block:5px;padding:2px .7ch}.after-dial-shell .line.chat-local{color:#82b982}.after-dial-shell .line.chat-remote{color:#c2ffbd;background:rgba(64,131,66,.09);border-left:4px solid #568b55}.after-dial-shell .line.chat-state{font-family:"IBM VGA 9x16",monospace!important;font-size:clamp(17px,1.75vw,22px)!important;line-height:1.3!important;letter-spacing:0!important;color:#568b55}.after-dial-shell .line.chat-typing{animation:chat-carrier-blink .72s steps(1,end) infinite}@keyframes chat-carrier-blink{0%,48%{opacity:.42}49%,100%{opacity:1}}
@keyframes terminal-corruption-in{0%{opacity:.35;transform:translateX(-2px)}5%{opacity:1;transform:translateX(2px)}10%,72%{opacity:.82;transform:translateX(0)}74%{opacity:.25;transform:translateX(3px)}78%,94%{opacity:.9;transform:translateX(-1px)}96%,100%{opacity:1;transform:translateX(0)}}
.after-dial-shell .line.ghost-title{display:inline-block;min-width:31ch;margin:.12em 0 .45em;padding:.18em 1ch;color:#071007;background:#9be897;letter-spacing:.16em;text-shadow:none;box-shadow:9px 0 0 #315f34,-4px 0 0 #315f34}
.after-dial-shell #output.instant-draw .line.ghost-title{animation:ghost-title-carrier 7.5s steps(1,end) infinite}
@keyframes ghost-title-carrier{0%,62%,65%,100%{color:#071007;background:#9be897;transform:translateX(0)}63%{color:#b8ffb2;background:#1b3b1e;transform:translateX(1px)}64%{color:#071007;background:#79bd77;transform:translateX(0)}}
.after-dial-shell .line.relay-grid.lock-sequence{position:relative;z-index:2;transform-origin:30% 50%;animation:relay-lock-collapse 2.05s steps(1,end) both;animation-delay:calc(var(--lock-row) * 28ms)}
.after-dial-shell .relay-node.is-target{display:inline-block;position:relative;z-index:3;color:#061006;background:#d8ff3e;text-shadow:none;animation:relay-target-lock 2.05s steps(1,end) both}
.after-dial-shell .line.ghost-lock-status{display:inline-block;color:#071007;background:#b8ffb2;padding:0 .5ch;text-shadow:none;animation:ghost-lock-readout .24s steps(1,end) 8}
@keyframes relay-lock-collapse{0%,12%{color:#78bd76;transform:translateX(0);filter:none}18%{color:#d8ff3e;transform:translateX(3px);filter:brightness(1.35)}24%{color:#568b55;transform:translateX(-4px)}31%{color:#b8ffb2;transform:scaleX(.96)}42%{color:#78bd76;transform:scaleX(.78) translateX(4ch)}54%{color:#d8ff3e;transform:scaleX(.52) translateX(11ch);filter:brightness(1.5)}67%{color:#b8ffb2;transform:scaleX(.25) translateX(24ch)}78%{color:#d8ff3e;transform:scaleX(.06) translateX(39ch);filter:brightness(2)}84%,100%{color:transparent;transform:scaleX(0) translateX(42ch);filter:brightness(2)}}
@keyframes relay-target-lock{0%,25%{transform:scale(1);filter:none}32%,48%{transform:scale(1.45);filter:brightness(1.5)}40%,56%{transform:scale(.82);filter:brightness(.8)}67%{transform:scale(1.8);box-shadow:0 0 12px #b8ffb2}78%,100%{transform:scale(2.25);color:#d8ff3e;background:#071007;box-shadow:0 0 22px #b8ffb2}}
@keyframes ghost-lock-readout{0%,48%{opacity:1;transform:translateX(0)}49%,100%{opacity:.55;transform:translateX(1px)}}
.after-dial-shell .line.rpg-scene{color:#a8f5a3;background:rgba(44,105,48,.055)}.after-dial-shell #output.instant-draw .line.rpg-scene{animation:rpg-enemy-live 5.2s steps(1,end) infinite;animation-delay:calc((var(--draw-order,0) - 6) * 72ms)}@keyframes rpg-enemy-live{0%,38%,43%,72%,76%,100%{filter:none;text-shadow:inherit;transform:translateX(0)}39%{filter:brightness(1.25);text-shadow:-2px 0 rgba(160,255,158,.42);transform:translateX(1px)}40%{filter:brightness(.76);text-shadow:3px 0 rgba(78,185,84,.3);transform:translateX(-1px)}41%{filter:none;transform:translateX(0)}73%{filter:brightness(1.14);text-shadow:0 0 8px rgba(145,255,145,.48)}74%{filter:brightness(.88)}}.after-dial-shell .line.rpg-hud{color:#b8ffb2;background:rgba(62,139,66,.075)}.after-dial-shell .line.enemy-hud{color:#91d88f;background:rgba(35,83,39,.11)}
.after-dial-shell #output.instant-draw .line.combat-result{display:block;width:fit-content;max-width:100%;padding:3px 6px;background:#9de99a;color:#020702;text-shadow:none;animation:combat-result-flash 1.15s steps(1,end) 1}@keyframes combat-result-flash{0%,18%,36%{background:#9de99a;color:#020702}9%,27%{background:transparent;color:#c8ffc3}45%,100%{background:#9de99a;color:#020702}}
.after-dial-shell .line.transfer-panel{color:#91d88f}.after-dial-shell #output.instant-draw .line.transfer-meter{color:#c8ffc3;text-shadow:0 0 7px rgba(143,255,144,.55)}.after-dial-shell #output.instant-draw .line.transfer-status{animation:transfer-status-wait .72s steps(1,end) infinite}@keyframes transfer-status-wait{50%{opacity:.48}}
.terminal .line.hud-panel,.terminal .line.mission-panel{color:#a8f5a3}
.terminal .line.menu-panel{color:#91d88f}
.terminal .line.section-panel{color:#6fad70}
.terminal .line.bbs-wordmark{color:#a8f5a3;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.terminal .line.bbs-menu-title{color:#a8f5a3;white-space:pre;text-transform:uppercase;letter-spacing:0}
.terminal .line.bbs-menu-row{color:#91d88f;white-space:pre;text-transform:none;letter-spacing:0}
.terminal .line.bbs-menu-divider{color:#568b55;white-space:pre;text-transform:uppercase;letter-spacing:0}
.terminal .line.bbs-menu-row.case-option{display:inline-block;width:auto;max-width:100%;box-sizing:border-box;padding-block:3px;background:linear-gradient(90deg,rgba(89,177,91,.16),rgba(47,105,50,.035) 72%,transparent);color:#b8ffb2;text-shadow:0 0 5px rgba(133,255,134,.42)}.terminal .line.bbs-menu-row.case-option.has-findings{animation:terminal-draw-line .01s steps(1,end) forwards,case-option-live 5.6s steps(1,end) infinite;animation-delay:calc(var(--draw-order,0) * 62ms),calc(var(--draw-order,0) * 62ms + 1.2s)}@keyframes case-option-live{0%,48%,53%,100%{background-color:transparent;filter:none}49%{background-color:rgba(126,235,127,.17);filter:brightness(1.18)}50%{background-color:rgba(65,140,68,.06);filter:brightness(.88)}51%{background-color:rgba(104,209,106,.12);filter:none}}
.terminal .line.bbs-menu-foot{color:#6fad70;white-space:pre;text-transform:uppercase;letter-spacing:0}
.terminal .line.bbs-list-row{color:#91d88f;white-space:pre;text-transform:none;letter-spacing:0}
.terminal .line.modem-prompt{white-space:pre;text-transform:uppercase;line-height:1.45}
.terminal .modem-prompt-cursor{display:inline-block;width:.62em;height:.95em;margin-left:.28em;background:#9de99a;box-shadow:0 0 4px rgba(108,255,111,.58);vertical-align:-.08em;animation:blink 1.1s steps(1,end) infinite}
html body .after-dial-shell .line.amber{color:#b8ffb2}
html body .after-dial-shell .line.red{color:#a8f5a3}
@media(max-width:650px){.terminal .line.bbs-menu-title,.terminal .line.bbs-menu-row,.terminal .line.bbs-menu-divider,.terminal .line.bbs-menu-foot,.terminal .line.bbs-list-row{font-size:clamp(7px,2.15vw,12px)}}
.terminal .crt,.terminal .line,.terminal .route,.terminal #command-input,.terminal #command-form{font-family:Monaco,"Lucida Console","Courier New",monospace;font-weight:400}.terminal .line,.terminal #command-form{font-size:clamp(13px,1.38vw,16px);line-height:1.42;letter-spacing:.035em}.terminal .line.title{font-size:clamp(15px,1.62vw,19px)}.terminal .route{font-size:clamp(12px,1.46vw,17px);line-height:1.3;letter-spacing:.025em}.terminal .crt::before{background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.3) 2px 3px),repeating-linear-gradient(to right,rgba(125,255,128,.018) 0 1px,rgba(0,0,0,.018) 1px 2px,transparent 2px 4px);mix-blend-mode:normal;opacity:.72;animation:raster-hum 9s steps(2,end) infinite}@keyframes raster-hum{0%,100%{opacity:.68;transform:translateY(0)}41%{opacity:.74;transform:translateY(0)}42%{opacity:.61;transform:translateY(1px)}43%{opacity:.71;transform:translateY(0)}78%{opacity:.75}79%{opacity:.66}}
html body .terminal #command-form{align-items:baseline}html body .terminal #command-input{flex:0 1 auto;width:.18ch;caret-color:transparent}html body .terminal .cursor{display:inline-block;flex:0 0 .62em;width:.62em;height:.95em;margin-left:-.65em;background:#9de99a;color:transparent;box-shadow:0 0 4px rgba(108,255,111,.58);transform:translateY(.08em);animation:blink 1.1s steps(1,end) infinite}
.crt{animation:phosphor-breathe 7.6s ease-in-out infinite}@keyframes phosphor-breathe{0%,100%{filter:contrast(1.06) brightness(.97) blur(.24px);box-shadow:inset 0 0 86px rgba(47,255,75,.13),0 0 0 2px #080908,0 20px 60px #000}46%{filter:contrast(1.09) brightness(1.025) blur(.2px);box-shadow:inset 0 0 102px rgba(47,255,75,.19),0 0 0 2px #080908,0 20px 60px #000}53%{filter:contrast(1.075) brightness(.995) blur(.23px);box-shadow:inset 0 0 94px rgba(47,255,75,.16),0 0 0 2px #080908,0 20px 60px #000}72%{filter:contrast(1.085) brightness(1.01) blur(.21px);box-shadow:inset 0 0 98px rgba(47,255,75,.175),0 0 0 2px #080908,0 20px 60px #000}}@media(prefers-reduced-motion:reduce){.crt{animation:none!important}}
.after-dial-shell{width:min(1500px,calc(100% - 48px));margin:auto}.after-dial-shell a{color:inherit;text-decoration:none}.site-header{display:grid;grid-template-columns:1fr auto;align-items:center;padding:22px 0;border-bottom:1px solid #292927;color:#f3f2ed;text-shadow:none;filter:none}.site-header .brand,.site-header nav{font-family:"IBM Plex Mono",monospace}.site-header .brand{color:#f3f2ed}.site-header nav{display:flex;align-items:baseline;gap:24px}.site-header nav a{font:10px/1.2 "IBM Plex Mono",monospace;letter-spacing:.11em;text-transform:uppercase;color:#8e918d}.site-header nav a:hover,.site-header nav a:focus-visible{color:#f3f2ed}
.after-dial-shell .terminal{height:calc(100dvh - 83px);min-height:0;padding:18px 0 20px;background:#050505}.after-dial-shell .crt{position:relative;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scroll-behavior:auto;scrollbar-width:none;padding:clamp(22px,3vw,42px);border:1px solid #29302d;border-radius:0;box-shadow:inset 0 0 90px rgba(47,255,75,.13)}.after-dial-shell .crt::-webkit-scrollbar{width:0;height:0}.after-dial-shell .crt::before,.after-dial-shell .crt::after{position:absolute;inset:0;border-radius:0}.after-dial-shell .lab-return{display:block;position:absolute;z-index:5;top:16px;right:18px;min-width:104px;padding:10px 12px;border:1px solid #568b55;background:#061007;color:#a8f5a3;font:13px/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-align:center;text-shadow:0 0 4px rgba(108,255,111,.38)}.after-dial-shell .lab-return:hover,.after-dial-shell .lab-return:focus-visible{border-color:#d8ff3e;background:#101807;color:#d8ff3e}.after-dial-shell .machine-label{display:none}
.after-dial-shell .line,.after-dial-shell #command-form{font-size:clamp(14px,1.36vw,17px);line-height:1.16}.after-dial-shell .line.blank{height:.72em;min-height:.72em}.after-dial-shell .line.welcome-art{font-size:clamp(10px,1.22vw,15px);line-height:.94}.after-dial-shell .line.ascii-panel{line-height:1.02;min-height:1.02em}.after-dial-shell #command-form{margin-top:0}
.after-dial-shell .line{opacity:0;animation:terminal-draw-line .01s steps(1,end) forwards;animation-delay:calc(var(--draw-order,0) * 62ms)}@keyframes terminal-draw-line{to{opacity:1}}
.after-dial-shell .line.attention{position:relative;width:fit-content;max-width:100%;margin-block:3px;padding:2px 0;color:#b8ffb2;animation:terminal-draw-line .01s steps(1,end) forwards,attention-callout 2.9s steps(1,end) both;animation-delay:calc(var(--draw-order,0) * 62ms),calc(var(--draw-order,0) * 62ms)}.after-dial-shell .line.attention::before{content:"[!] ";color:#c8ffc3}@keyframes attention-callout{0%{background:#9de99a;color:#020702;text-shadow:none;transform:translateX(-2px)}7%{background:transparent;color:#c8ffc3;text-shadow:-2px 0 rgba(162,255,160,.48);transform:translateX(1px)}12%{background:#9de99a;color:#020702;text-shadow:none;transform:translateX(-1px)}18%,72%{background:transparent;color:#b8ffb2;text-shadow:0 0 6px rgba(133,255,134,.46);transform:translateX(0)}78%{color:#d1ffcd;text-shadow:0 0 10px rgba(153,255,153,.62)}84%,100%{background:transparent;color:#b8ffb2;text-shadow:0 0 4px rgba(133,255,134,.34);transform:translateX(0)}}
.after-dial-shell .line.welcome-art.logo-live{animation:terminal-draw-line .01s steps(1,end) forwards,after-title-signal 6.8s steps(1,end) infinite;animation-delay:calc(var(--draw-order,0) * 62ms),calc(1.6s + var(--title-row,0) * 95ms)}@keyframes after-title-signal{0%,31%,34%,63%,66%,91%,94%,100%{transform:translateX(0);filter:none;text-shadow:inherit}31.4%{transform:translateX(1px);filter:brightness(1.3);text-shadow:-2px 0 rgba(150,255,150,.42),2px 0 rgba(69,174,77,.22)}31.8%{transform:translateX(-1px);filter:brightness(.78);text-shadow:3px 0 rgba(120,244,124,.32)}32.25%{transform:translateX(0);filter:brightness(1.12);text-shadow:-1px 0 rgba(170,255,169,.28)}63.35%{transform:translateX(-1px);filter:brightness(1.22);text-shadow:2px 0 rgba(145,255,145,.36)}63.75%{transform:translateX(1px);filter:brightness(.86);text-shadow:-3px 0 rgba(82,203,89,.27)}64.1%{transform:translateX(0);filter:none;text-shadow:inherit}91.35%{transform:translateX(1px);filter:brightness(1.18);text-shadow:-2px 0 rgba(153,255,151,.34)}91.7%{transform:translateX(0);filter:brightness(.9);text-shadow:2px 0 rgba(90,205,94,.2)}92.05%{filter:none;text-shadow:inherit}}
.after-dial-shell #output.instant-draw .line{opacity:1;animation:none;animation-delay:0s}
.after-dial-shell .audio-toggle{position:absolute;z-index:5;top:16px;right:136px;min-width:112px;padding:10px 12px;border:1px solid #3d663e;background:#050b05;color:#78bd76;font:13px/1 "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:lowercase;cursor:pointer;text-shadow:0 0 4px rgba(108,255,111,.3)}.after-dial-shell .audio-toggle:hover,.after-dial-shell .audio-toggle:focus-visible{border-color:#d8ff3e;color:#d8ff3e;outline:none}.after-dial-shell .audio-toggle[aria-pressed="false"]{border-color:#29302d;color:#568b55;background:#050505;text-shadow:none}
.after-dial-shell .crt-sweep{position:absolute;z-index:4;pointer-events:none;left:0;right:0;top:0;height:clamp(28px,4vh,52px);opacity:0;background:linear-gradient(to bottom,transparent,rgba(150,255,151,.025) 35%,rgba(178,255,177,.11) 52%,rgba(86,190,91,.035) 68%,transparent);mix-blend-mode:screen;transform:translateY(-70px);animation:crt-sweep-down 13.4s cubic-bezier(.28,.05,.72,.96) infinite}@keyframes crt-sweep-down{0%,77%{opacity:0;transform:translateY(-70px)}79%{opacity:.35}83%{opacity:.82}92%{opacity:.48}96%,100%{opacity:0;transform:translateY(calc(100vh - 40px))}}
.after-dial-shell .crt-flicker{position:absolute;z-index:4;pointer-events:none;inset:0;opacity:0;background:radial-gradient(ellipse at 48% 42%,rgba(174,255,171,.075),transparent 67%),repeating-linear-gradient(to bottom,rgba(148,255,150,.055) 0 1px,transparent 1px 5px);box-shadow:inset 0 0 70px rgba(121,255,124,.055);mix-blend-mode:screen;animation:crt-random-flicker 20s steps(1,end) infinite}@keyframes crt-random-flicker{0%,12%,15%,43%,46%,72%,75%,100%{opacity:0;transform:translateX(0)}12.25%{opacity:.22}12.55%{opacity:.045;transform:translateX(1px)}12.9%{opacity:.17;transform:translateX(-1px)}13.15%{opacity:.035;transform:translateX(0)}13.55%{opacity:.12}14.2%{opacity:.025}43.3%{opacity:.13}43.65%{opacity:.035}44.05%{opacity:.2;transform:translateX(1px)}44.35%{opacity:.055;transform:translateX(0)}45.1%{opacity:.1}72.25%{opacity:.08}72.7%{opacity:.23;transform:translateX(-1px)}72.95%{opacity:.035}73.3%{opacity:.16;transform:translateX(0)}74.1%{opacity:.045}}
.after-dial-shell #output{animation:terminal-image-instability 31.5s steps(1,end) infinite}@keyframes terminal-image-instability{0%,9%,12%,27%,30%,49%,53%,68%,72%,87%,91%,100%{transform:translate(0);filter:none;text-shadow:inherit}9.15%{transform:translateX(2px);filter:brightness(1.2);text-shadow:-3px 0 rgba(145,255,145,.3)}9.8%{transform:translateX(-3px) skewX(-.25deg);filter:brightness(.76);text-shadow:4px 0 rgba(92,220,98,.26)}10.6%{transform:translate(1px,1px);filter:brightness(1.12)}11.4%{transform:translateX(-1px);filter:none}27.2%{transform:translateX(-2px);text-shadow:3px 0 rgba(158,255,157,.32)}28%{transform:translateX(3px);filter:brightness(1.22);text-shadow:-4px 0 rgba(79,194,87,.28)}28.8%{transform:translateY(-1px);filter:brightness(.84)}29.6%{transform:translate(0);filter:none}49.2%{transform:translate(3px,-1px) skewX(.3deg);filter:brightness(1.15);text-shadow:-3px 0 rgba(152,255,151,.34)}50.1%{transform:translateX(-2px);filter:brightness(.7)}51%{transform:translateX(1px);filter:none}52%{transform:translate(0)}68.2%{transform:translateX(-4px);text-shadow:5px 0 rgba(126,246,129,.3)}69%{transform:translateX(2px);filter:brightness(1.18)}70%{transform:translate(0,1px);filter:brightness(.82)}71%{transform:translate(0);filter:none}87.2%{transform:translate(2px,-1px);text-shadow:-4px 0 rgba(148,255,148,.36)}88.2%{transform:translateX(-3px) skewX(-.2deg);filter:brightness(.78)}89.3%{transform:translateX(1px);filter:brightness(1.14)}90.5%{transform:translate(0);filter:none}}
.after-dial-shell .crt-glitch{position:absolute;z-index:4;pointer-events:none;inset:0;opacity:0;background:linear-gradient(to bottom,transparent 0 27%,rgba(173,255,171,.13) 27% 27.45%,transparent 27.45% 61%,rgba(80,196,88,.1) 61% 61.8%,transparent 61.8%);mix-blend-mode:screen;animation:terminal-glitch-bands 46s steps(1,end) infinite}@keyframes terminal-glitch-bands{0%,43%,46%,88%,91%,100%{opacity:0;transform:translateX(0)}43.3%{opacity:.48;transform:translateX(3px)}44.1%{opacity:.16;transform:translateX(-2px)}45%{opacity:.34;transform:translateX(1px)}88.35%{opacity:.4;transform:translateX(-3px)}89.2%{opacity:.12;transform:translateX(1px)}90.1%{opacity:.28;transform:translateX(0)}}
.after-dial-shell #output{animation-duration:90s}
.after-dial-shell .case-mode #output{padding:18px 20px;background:linear-gradient(90deg,rgba(62,139,66,.08),transparent 58%)}.after-dial-shell .case-mode .line.case-stamp{width:min(100%,64ch);color:#91d88f;font-family:"IBM VGA 9x16",monospace!important;font-size:clamp(17px,1.75vw,22px)!important;line-height:1.3!important;letter-spacing:0!important;text-transform:uppercase;white-space:normal}.after-dial-shell .case-mode .ascii-panel{color:#a8f5a3}
.after-dial-shell .line.mailbox-list{color:#a8f5a3;background:rgba(45,104,49,.07)}
.after-dial-shell .line.case-instruction{color:#c2ffbd;background:rgba(52,117,55,.12);padding:3px 1ch}.after-dial-shell .line.case-evidence-card{color:#a8f5a3;background:rgba(45,104,49,.08)}
.after-dial-shell .line.incoming-page{display:block;width:fit-content;max-width:100%;padding:3px 1ch;background:#b8ffb2;color:#061006;text-shadow:none;animation:incoming-page-ring 1.4s steps(1,end) 2}.after-dial-shell .line.page-queue{color:#a8f5a3;background:rgba(45,104,49,.08)}@keyframes incoming-page-ring{0%,48%{background:#b8ffb2;color:#061006}49%,100%{background:transparent;color:#c2ffbd}}
.after-dial-shell .line.carrier-state{letter-spacing:.02em}
.after-dial-shell #output{animation:none}
.after-dial-shell #output.text-glitch-1{animation:text-break-a 2.3s steps(1,end) 1}.after-dial-shell #output.text-glitch-2{animation:text-break-b 3.6s steps(1,end) 1}.after-dial-shell #output.text-glitch-3{animation:text-break-c 1.8s steps(1,end) 1}
@keyframes text-break-a{0%,12%,31%,55%,100%{transform:translate(0);filter:none;text-shadow:inherit}13%{transform:translateX(3px);filter:brightness(1.22);text-shadow:-4px 0 rgba(145,255,145,.34)}18%{transform:translateX(-2px);filter:brightness(.78)}32%{transform:translate(1px,1px)}38%{transform:translateX(-1px);text-shadow:3px 0 rgba(86,190,91,.3)}56%{transform:translate(0);filter:brightness(.9)}}
@keyframes text-break-b{0%,22%,26%,68%,74%,100%{transform:translate(0);filter:none;text-shadow:inherit}23%{transform:translateX(-4px) skewX(-.3deg);filter:brightness(.72);text-shadow:5px 0 rgba(126,246,129,.32)}24%{transform:translateX(2px);filter:brightness(1.25)}25%{transform:translateY(-1px)}69%{transform:translate(3px,1px);text-shadow:-4px 0 rgba(148,255,148,.34)}71%{transform:translateX(-2px);filter:brightness(.82)}73%{transform:translate(0)}}
@keyframes text-break-c{0%,8%,18%,43%,57%,82%,100%{transform:translate(0);filter:none;text-shadow:inherit}9%{transform:translateX(1px);filter:contrast(1.4)}12%{transform:translateX(-3px);text-shadow:4px 0 rgba(92,220,98,.28)}44%{transform:translateX(4px);filter:brightness(1.3)}49%{transform:translateX(-1px);filter:brightness(.68)}58%{transform:translateY(1px)}64%{transform:translate(-2px,-1px);text-shadow:-3px 0 rgba(160,255,158,.36)}83%{transform:translateX(1px);filter:brightness(.9)}}
.after-dial-shell .line.terminal-intrusion{display:inline-block;margin:.8em 0 .1em;padding:0 .5ch;color:#071007;background:#78bd76;font:inherit;letter-spacing:inherit;text-transform:uppercase;text-shadow:none;animation:terminal-intrusion-live 5.6s steps(1,end) forwards}
@keyframes terminal-intrusion-live{0%,5%{opacity:0}6%{opacity:1;transform:translateX(2px)}10%{opacity:.25;transform:translateX(-2px)}14%,66%{opacity:1;transform:translateX(0)}67%{color:#b8ffb2;background:#18381b;transform:translateX(1px)}70%,90%{color:#071007;background:#78bd76;transform:translateX(0)}94%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.after-dial-shell .line{opacity:1;animation:none}.after-dial-shell #output{animation:none}.after-dial-shell .crt-sweep,.after-dial-shell .crt-flicker,.after-dial-shell .crt-glitch{display:none}}
@media(max-width:900px){.after-dial-shell .line.ascii-panel{font-size:clamp(5px,1.25vw,12px)}}
@media(max-width:650px){body{overflow:auto}.after-dial-shell{width:calc(100% - 28px)}.site-header{padding:18px 0}.site-header nav{gap:12px}.site-header nav a{font-size:8px}.site-header nav a.lab-nav{padding:6px 8px}.after-dial-shell .terminal{height:calc(100dvh - 75px);min-height:0;padding:12px 0}.after-dial-shell .crt{height:100%;padding:24px 16px;border-width:1px}.after-dial-shell .lab-return{top:10px;right:10px;min-width:84px;padding:8px;font-size:10px}.after-dial-shell .audio-toggle{top:10px;right:102px;min-width:92px;padding:8px 6px;font-size:10px}}
@media(max-height:760px){.after-dial-shell .terminal{padding-top:10px;padding-bottom:10px}.after-dial-shell .crt{padding-top:20px;padding-bottom:20px}.after-dial-shell .line,.after-dial-shell #command-form{font-size:clamp(12px,1.2vw,15px)}.after-dial-shell .line.welcome-art{font-size:clamp(8px,1vw,12px)}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#080908}body{overflow:hidden;color:#9de99a;font-family:"Plex Mono","Courier New",monospace;-webkit-font-smoothing:none;font-smooth:never}.terminal{position:relative;height:100dvh;padding:clamp(10px,2vw,24px);background:#111210}.crt{height:calc(100% - 54px);overflow-y:auto;padding:clamp(18px,4vw,44px);background:#020702;border:10px solid #252823;border-radius:6px;box-shadow:inset 0 0 90px rgba(47,255,75,.15),0 0 0 2px #080908,0 20px 60px #000;text-shadow:1px 0 rgba(181,255,177,.35),0 0 4px rgba(108,255,111,.62);filter:contrast(1.08) blur(.22px);scroll-behavior:smooth}.crt::before{content:"";position:fixed;z-index:2;pointer-events:none;inset:clamp(20px,3vw,34px) clamp(20px,3vw,34px) 66px;background:repeating-linear-gradient(0deg,rgba(0,0,0,.38) 0 2px,rgba(31,94,37,.06) 2px 3px,transparent 3px 5px),repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}.crt::after{content:"";position:fixed;z-index:3;pointer-events:none;inset:clamp(20px,3vw,34px) clamp(20px,3vw,34px) 66px;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.38) 100%);box-shadow:inset 0 0 120px #000;border-radius:18%/7%}.lab-return{position:absolute;z-index:5;top:36px;right:42px;color:#549855;text-decoration:none;font-size:11px;opacity:.75;text-transform:lowercase}.lab-return:hover,.lab-return:focus-visible{color:#fff;opacity:1}.machine-label{height:48px;display:flex;align-items:center;gap:14px;padding:0 14px;color:#aaa;font-family:Arial,sans-serif}.machine-label span{font-size:20px;font-weight:800;letter-spacing:.06em}.machine-label b{font-size:9px}.machine-label i{margin-left:auto;font-size:8px;font-style:normal;letter-spacing:.18em}.line{min-height:1.25em;margin:0;white-space:pre-wrap;font-size:clamp(14px,1.55vw,18px);line-height:1.3;letter-spacing:.015em;text-transform:lowercase}.line.blank{height:1.25em}.line.dim{color:#4e8a50}.line.amber{color:#d7c45e}.line.red{color:#d87867}.line.echo{color:#80bb7d}.line.title{font-size:clamp(17px,1.9vw,23px)}.route{margin:12px 0;white-space:pre;font:clamp(13px,1.65vw,19px)/1.18 "Plex Mono","Courier New",monospace;color:#91da8f;text-transform:lowercase}.route .cursor-cell{color:#020702;background:#91da8f;text-shadow:none}.route .bad{color:#d87867}.route .path{color:#d9ffd5}.prompt-note{color:#d7c45e}#command-form{display:flex;align-items:center;gap:.65em;margin-top:.15em;font-size:clamp(14px,1.55vw,18px);line-height:1.3}#command-form label{font:inherit}#command-input{min-width:0;flex:1;padding:0;border:0;outline:0;background:transparent;color:#9de99a;text-transform:none;text-shadow:1px 0 rgba(181,255,177,.35),0 0 4px rgba(108,255,111,.62);caret-color:transparent;font:inherit;letter-spacing:.015em}.cursor{margin-left:-.65em;animation:blink 1s steps(1) infinite}.crt.route-mode #command-input{color:#d7c45e}.crt.route-mode .cursor{color:#d7c45e}@keyframes blink{50%{opacity:0}}@media(max-width:650px){.terminal{padding:0}.crt{height:calc(100% - 40px);padding:18px 14px;border-width:5px;border-radius:0}.crt::before,.crt::after{inset:5px 5px 40px}.lab-return{top:auto;right:12px;bottom:14px}.machine-label{height:40px}.machine-label i{display:none}}@media(prefers-reduced-motion:reduce){.cursor{animation:none}.crt{scroll-behavior:auto}}
.after-dial-shell .line.safehouse-art{color:#82ce80;background:rgba(37,88,41,.08)}
.after-dial-shell #output.instant-draw .line.safehouse-art{animation:safehouse-signal 4.8s steps(1,end) infinite}
@keyframes safehouse-signal{0%,47%,51%,100%{filter:none;text-shadow:inherit}48%{filter:brightness(1.28);text-shadow:0 0 9px rgba(145,255,145,.48)}49%{filter:brightness(.74);text-shadow:2px 0 rgba(100,220,105,.3)}}
.after-dial-shell .line.file-directory{color:#adf5a8;background:rgba(50,112,54,.07)}
.after-dial-shell .line.file-record{color:#91d88f;background:rgba(33,78,37,.1)}
.after-dial-shell .line.connection-art{margin:1.25em 0;font-size:clamp(17px,1.75vw,22px)!important;line-height:1.3!important;letter-spacing:.02em!important;color:#b8ffb2;text-transform:uppercase;text-shadow:1px 0 rgba(181,255,177,.32),0 0 6px rgba(108,255,111,.46)}
.after-dial-shell .line.evidence-recorded{display:block;width:fit-content;max-width:64ch;padding:4px 1ch!important;background:#b8ffb2!important;color:#061006!important;text-shadow:none!important;text-transform:uppercase;animation:terminal-draw-line .01s steps(1,end) forwards,evidence-lock 1.1s steps(1,end) both!important;animation-delay:calc(var(--draw-order,0) * 62ms),calc(var(--draw-order,0) * 62ms)!important}.after-dial-shell .line.evidence-recorded::before{color:#061006!important}@keyframes evidence-lock{0%,18%{filter:brightness(1.35);transform:translateX(-2px)}19%,32%{filter:brightness(.72);transform:translateX(2px)}33%,100%{filter:none;transform:none}}
body #sw-cursor,body #sw-cursor-label,body .sw-trail{transition:opacity .18s ease}body.after-dial-cursor-idle #sw-cursor,body.after-dial-cursor-idle #sw-cursor-label,body.after-dial-cursor-idle .sw-trail{opacity:0!important}
.after-dial-shell .line.game-credit{width:fit-content;color:#b8ffb2;letter-spacing:.08em!important;text-transform:uppercase;text-shadow:0 0 6px rgba(133,255,134,.38)}.after-dial-shell .line.ending-credit{margin-top:.35em;padding-top:.45em;border-top:1px solid #315f34;color:#91d88f}

/* Multi-node messages are drawn with the terminal's existing ASCII menu rows. */
.after-dial-shell .node-message{position:absolute;z-index:20;top:48%;left:clamp(22px,5.5vw,76px);width:60ch;max-width:calc(100% - clamp(44px,11vw,152px));margin:0;padding:0;background:#010402;border:0;box-shadow:0 0 0 1ch #010402,0 0 34px 16px rgba(0,0,0,.96);animation:node-message-arrive .42s steps(4,end)}
.after-dial-shell .node-message .line{margin:0;background:transparent;border:0;box-shadow:none;color:#91d88f}
.after-dial-shell .node-message .line.bbs-menu-title{color:#9de99a}
.after-dial-shell .node-message .line.bbs-menu-foot{color:#78bd76}
.after-dial-shell .node-message .line.node-message-alert{display:block;width:100%;box-sizing:border-box;margin:0 0 .55em;padding:2px 1ch;opacity:1!important;color:#061006;background:#9de99a;text-shadow:none;animation:node-message-alarm .66s steps(1,end) 6}
.after-dial-shell .crt.node-message-active #output{opacity:1;filter:none}
.after-dial-shell .crt.node-message-active .node-message{text-shadow:0 0 4px rgba(108,255,111,.48)}
@keyframes node-message-arrive{0%{opacity:0;transform:translate(-2ch,-50%)}35%{opacity:1;transform:translate(1ch,-50%)}70%{transform:translate(-.35ch,-50%)}100%{transform:translate(0,-50%)}}
@keyframes node-message-alarm{0%,48%{opacity:1;color:#061006;background:#9de99a}49%,100%{opacity:1;color:#9de99a;background:#173c1b}}
@media(prefers-reduced-motion:reduce){.after-dial-shell .node-message .line.node-message-alert{animation:none}}
@media(max-width:650px){.after-dial-shell .node-message{left:22px;width:calc(100% - 44px);max-width:none}}
