@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/vt323-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/vt323-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--coal: #0d0b08;--soot: #1a1714;--smoke: #2e2a25;--ash: #6b6358;--slag: #4a4440;--amber: #d4920c;--amber-dim: #a87208;--amber-bright: #f0b429;--amber-glow: rgba(212, 146, 12, .15);--ember: #cc4125;--parchment: #c4b590;--cream: #ddd0b3;--font-display: "VT323", monospace;--font-body: "IBM Plex Mono", "Courier New", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}*:focus-visible{outline:2px solid var(--amber);outline-offset:2px}html,body{height:100%;width:100%}body{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--parchment);background:var(--coal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;animation:boot-up .7s ease-out}a{color:var(--amber);text-decoration:none;transition:color .2s}a:hover{color:var(--amber-bright)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}code{font-family:var(--font-display);font-size:.95rem;color:var(--amber)}input{font:inherit;color:var(--cream);background:var(--coal);border:1px solid var(--smoke);padding:.5rem .7rem;box-shadow:inset 0 2px 3px #0000004d;transition:border-color .2s}input:focus{border-color:var(--amber-dim);outline:none}input::placeholder{color:var(--slag)}::selection{background:#d4920c4d;color:var(--cream)}#app{min-height:100vh}@keyframes boot-up{0%{opacity:0;filter:brightness(3) contrast(.3)}8%{opacity:.4;filter:brightness(2) contrast(.5)}12%{opacity:.05;filter:brightness(.5)}25%{opacity:.6;filter:brightness(1.3) contrast(.8)}50%{opacity:.9;filter:brightness(1.1) contrast(.95)}to{opacity:1;filter:none}}.crt{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 20%,rgba(180,120,50,.04) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(140,80,20,.03) 0%,transparent 50%),var(--coal)}.scanlines{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px),radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:1000;animation:crt-flicker 20s steps(1) infinite}@keyframes crt-flicker{0%,to{opacity:1}15%{opacity:.82}15.8%{opacity:1}17%{opacity:.88}17.5%{opacity:.95}18%{opacity:1}67%{opacity:.85}67.5%{opacity:.92}68%{opacity:1}69.5%{opacity:.88}70%{opacity:1}}.terminal{position:relative;width:100%;max-width:640px;margin:2rem auto;border:2px solid var(--smoke);border-top-width:3px;border-bottom-width:3px;border-top-color:var(--slag);border-bottom-color:var(--slag);background:linear-gradient(180deg,var(--soot),rgba(18,16,12,.97));box-shadow:0 0 60px #d4920c0a,0 0 2px #d4920c1a,inset 0 1px #ffffff08;animation:terminal-glow 8s ease-in-out infinite}@keyframes terminal-glow{0%,to{box-shadow:0 0 60px #d4920c0a,0 0 2px #d4920c1a,inset 0 1px #ffffff08}50%{box-shadow:0 0 80px #d4920c12,0 0 4px #d4920c26,inset 0 1px #ffffff08}}.terminal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--smoke);text-align:center}.terminal-body{padding:1.5rem}.terminal-body--centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;text-align:center;gap:1.5rem}.terminal-footer{padding:1rem 1.5rem;border-top:1px solid var(--smoke);text-align:center;font-size:.75rem;color:var(--ash)}.terminal-footer a{color:var(--parchment)}.terminal-footer a:hover{color:var(--amber)}.footer-line{margin-bottom:.3rem}.footer-meta{font-family:var(--font-display);font-size:.9rem;color:var(--slag);letter-spacing:.1em}.ascii-title{font-family:var(--font-display);font-size:1.15rem;line-height:1.2;color:var(--amber);text-shadow:0 0 8px var(--amber-glow),0 0 20px rgba(212,146,12,.08);white-space:pre;overflow:hidden;user-select:none}.counter-row{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;font-family:var(--font-display);font-size:1.1rem;color:var(--ash)}.counter-label{letter-spacing:.1em}.odometer{display:inline-block;font-size:1.3rem;color:var(--amber-bright);background:var(--coal);border:1px solid var(--slag);border-top:2px solid var(--smoke);border-bottom:2px solid var(--smoke);padding:.15em .5em;letter-spacing:.25em;text-shadow:0 0 6px var(--amber-glow);box-shadow:inset 0 2px 6px #0009,0 1px #ffffff08}.section-rule{font-family:var(--font-display);font-size:1rem;color:var(--ash);text-align:center;padding:.75rem 0 .5rem;letter-spacing:.15em;user-select:none}.gear-btn,.lineage-btn,.panel-close{user-select:none;transition:color .2s,text-shadow .3s}.gear-btn{font-size:1.4rem;color:var(--ash);line-height:1;padding:.2em;transition:color .3s,transform .5s,text-shadow .3s}.gear-btn:hover,.gear-btn.rotate{color:var(--amber);text-shadow:0 0 8px var(--amber-glow);transform:rotate(180deg)}.lineage-btn{font-size:.85rem;color:var(--ash);padding:0;vertical-align:baseline;line-height:inherit}.lineage-btn:hover{color:var(--amber);text-shadow:0 0 6px var(--amber-glow)}.panel-close{font-family:var(--font-display);font-size:1.2rem;color:var(--ash);padding:.2rem .4rem}.panel-close:hover{color:var(--ember)}.mascot{font-size:2rem;color:var(--amber);text-shadow:0 0 12px var(--amber-glow);padding:1rem 0;user-select:none;animation:mascot-idle 4s ease-in-out infinite}@keyframes mascot-idle{0%,to{text-shadow:0 0 12px var(--amber-glow)}50%{text-shadow:0 0 16px rgba(212,146,12,.25),0 0 30px rgba(212,146,12,.08)}}.notice{font-size:.9rem;margin-bottom:1rem;line-height:1.7}.notice a{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.notice a:hover{text-decoration-style:solid}.blink{color:var(--amber);animation:blink-cursor 1s steps(1) infinite;user-select:none}@keyframes blink-cursor{50%{opacity:0}}.url-box{margin:.5rem 0 1rem}.url-row{display:flex;gap:.5rem;align-items:stretch}.url-input{flex:1;font-size:.85rem;color:var(--amber-bright);padding:.6rem .8rem;box-shadow:inset 0 2px 4px #0006;text-shadow:0 0 4px var(--amber-glow);transition:border-color .3s,box-shadow .3s}.url-input:hover{border-color:var(--slag)}.url-input:focus{box-shadow:inset 0 2px 4px #0006,0 0 8px #d4920c1a}.btn{font-family:var(--font-display);font-size:1rem;letter-spacing:.1em;color:var(--parchment);background:var(--smoke);border:1px solid var(--slag);padding:.5rem 1rem;transition:all .15s;text-decoration:none;display:inline-block;text-align:center}.btn:hover{background:var(--slag);color:var(--cream);border-color:var(--ash);box-shadow:0 0 8px #d4920c1a}.btn:active{transform:scale(.97);background:var(--soot)}.btn-danger{color:var(--ember);border-color:var(--ember)}.btn-danger:hover{background:#cc412526;color:#ff6b4a}.btn-row{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.flash-white{outline:2px solid var(--amber);background:#d4920c26!important;animation:flash .3s ease-out}@keyframes flash{0%{background:#d4920c4d}}.shake{animation:shake .2s ease-in-out}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.flash-red{animation:flash-red .3s ease-in-out}@keyframes flash-red{50%{background:#cc412533}}.dispatch-log,.search-results{max-height:180px;overflow-y:auto;border:1px solid var(--smoke);background:var(--coal);scrollbar-width:thin;scrollbar-color:var(--smoke) var(--coal)}.search-results:empty{display:none}.dispatch-section{margin-top:1rem}.dispatch-entry,.search-result-item{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;border-bottom:1px solid rgba(46,42,37,.6);transition:background .15s}.dispatch-entry:last-child,.search-result-item:last-child{border-bottom:none}.dispatch-entry{color:var(--parchment);font-size:.85rem}.dispatch-entry:hover{background:var(--soot);color:var(--amber-bright)}.dispatch-bang{font-family:var(--font-display);font-size:1rem;color:var(--amber);min-width:4rem}.dispatch-query{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-time{color:var(--ash);font-size:.75rem;white-space:nowrap}.dispatch-empty,.search-empty{padding:.75rem 1rem;text-align:center;color:var(--ash)}.dispatch-empty{font-style:italic}.search-result-item{font-size:.8rem;padding:.4rem .6rem}.search-result-item code{background:var(--soot);padding:.1em .4em;min-width:3.5rem}.result-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-domain{color:var(--slag);font-size:.75rem}.custom-bangs-list{margin-top:.5rem}.custom-bang-item{border:1px solid var(--smoke);padding:.6rem;margin-bottom:.5rem;background:var(--coal)}.custom-bang-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.3rem}.custom-bang-name{font-weight:500}.custom-bang-domain{color:var(--ash);font-size:.8rem;margin-left:auto}.custom-bang-url{font-size:.75rem;color:var(--slag);word-break:break-all;margin-bottom:.4rem}.lineage-intro{font-size:.85rem;line-height:1.6;margin-bottom:1rem}.lineage-thanks{margin-top:1rem;color:var(--ash);font-size:.8rem}.lineage-svg{display:block;width:100%;max-width:380px;margin:0 auto;overflow:visible}.lineage-svg a{cursor:pointer}.lineage-svg a:hover rect{stroke-width:2;fill:#d4920c14}.lineage-svg text{pointer-events:none}dialog.control-panel{margin:0;padding:0;border:none;background:transparent;color:var(--parchment);width:100vw;height:100vh;max-width:100vw;max-height:100vh}dialog.control-panel[open]{display:flex;align-items:center;justify-content:center}dialog.control-panel::backdrop{background:#0a0805bf;backdrop-filter:blur(6px) saturate(.5)}.panel-frame{background:var(--soot);border:2px solid var(--smoke);width:90%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 0 60px #d4920c0f,0 4px 30px #00000080,inset 0 1px #ffffff08}.panel-titlebar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--smoke);border-bottom:1px solid var(--slag);font-family:var(--font-display);font-size:1.1rem;color:var(--amber);letter-spacing:.1em;text-shadow:0 0 8px var(--amber-glow);user-select:none}.panel-body{overflow-y:auto;padding:1rem;scrollbar-width:thin;scrollbar-color:var(--smoke) var(--soot)}.panel-section{border:1px solid var(--smoke);padding:1rem;margin-bottom:1rem}.panel-section:last-child{margin-bottom:0}.panel-section legend{font-family:var(--font-display);font-size:1rem;color:var(--amber);padding:0 .5rem;letter-spacing:.15em;text-shadow:0 0 4px var(--amber-glow)}.panel-section label{font-size:.85rem;display:block;margin-bottom:.3rem}.help-text{font-size:.8rem;color:var(--ash);margin:.5rem 0;line-height:1.5}.help-text a{color:var(--amber-dim)}.subsection{margin-top:1rem}.panel-input{width:100%;font-size:.85rem;margin:.2rem 0}.input-group{position:relative}.input-suffix{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);color:var(--slag);font-size:1rem;pointer-events:none}.toggle-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;cursor:pointer}.toggle-row span:first-child{flex:1}.toggle-row input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-switch{position:relative;width:44px;height:22px;background:var(--coal);border:1px solid var(--slag);border-radius:2px;transition:background .3s,border-color .3s;flex-shrink:0;box-shadow:inset 0 1px 3px #0006}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:var(--ash);border-radius:1px;transition:left .2s,background .2s,box-shadow .2s}.toggle-row input:checked+.toggle-switch{background:#d4920c1f;border-color:var(--amber-dim)}.toggle-row input:checked+.toggle-switch:after{left:25px;background:var(--amber);box-shadow:0 0 8px #d4920c66}.crt:before,.crt:after{content:"";position:fixed;width:150px;height:150px;border-radius:50%;pointer-events:none;opacity:0;z-index:0}.crt:before{bottom:-50px;left:10%;background:radial-gradient(circle,rgba(140,110,70,.06),transparent 70%);animation:smoke-drift-1 12s ease-in-out infinite}.crt:after{bottom:-40px;right:15%;background:radial-gradient(circle,rgba(140,110,70,.04),transparent 70%);animation:smoke-drift-2 16s ease-in-out infinite 4s}@keyframes smoke-drift-1{0%{transform:translateY(0) scale(1);opacity:0}20%{opacity:.6}80%{opacity:.3}to{transform:translateY(-80vh) scale(2.5);opacity:0}}@keyframes smoke-drift-2{0%{transform:translateY(0) scale(.8) translate(0);opacity:0}25%{opacity:.5}75%{opacity:.2}to{transform:translateY(-70vh) scale(2) translate(-30px);opacity:0}}@media (prefers-reduced-motion: reduce){body{animation:none}.scanlines{display:none}.crt:before,.crt:after{display:none}.blink,.mascot,.terminal{animation:none}dialog.control-panel::backdrop{backdrop-filter:none;background:#0a0805d9}.gear-btn:hover,.gear-btn.rotate{transition:none}}@media (max-width: 600px){.terminal{margin:0;border-left:none;border-right:none;min-height:100vh}.ascii-title{font-size:.8rem}.terminal-header,.terminal-body,.terminal-footer{padding-left:1rem;padding-right:1rem}.panel-frame{width:100%;max-width:100%;max-height:100vh;height:100vh}.dispatch-entry{font-size:.8rem}}@media (max-width: 400px){.ascii-title{font-size:.65rem}.counter-row{font-size:.95rem}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--coal)}::-webkit-scrollbar-thumb{background:var(--smoke)}::-webkit-scrollbar-thumb:hover{background:var(--slag)}
