@charset "UTF-8";@font-face{font-family:IBM Plex Mono;src:url("./media/IBMPlexMono-Regular-DM66VUHK.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url("./media/IBMPlexMono-Italic-AFPS5K5W.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url("./media/IBMPlexMono-Medium-RSLXETQZ.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url("./media/IBMPlexMono-SemiBold-UGZQ4S2S.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--color-bg-base: #0a0b0d;--color-bg-panel: #141518;--color-text-primary: #e0e0e0;--color-text-muted: #75787d;--color-border: #33363d;--color-accent-amber: #ffb000;--color-accent-blue: #4d96ff;--color-accent-green: #20c20e;--color-error: #ff3333;--unit: 4px;--space-xs: calc(var(--unit) * 1);--space-sm: calc(var(--unit) * 2);--space-md: calc(var(--unit) * 4);--space-lg: calc(var(--unit) * 6);--space-xl: calc(var(--unit) * 10);--border-width: 1px;--border-radius: 0px}*{box-sizing:border-box;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;scrollbar-color:var(--color-text-muted) var(--color-bg-panel)}body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:IBM Plex Mono,Menlo,Courier New,monospace;font-size:14px;line-height:1.5;margin:0;padding:0;overflow-x:hidden;height:100vh;width:100vw}button:focus,input:focus,textarea:focus{outline:none}h1,h2,h3,h4,h5,h6{font-weight:500;margin-top:0;margin-bottom:var(--space-md);color:var(--color-text-primary);letter-spacing:-.5px;text-transform:uppercase}h1{font-size:24px;color:var(--color-accent-blue);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm)}h2{font-size:20px;color:var(--color-text-primary)}h3{font-size:16px;color:var(--color-text-muted)}a{color:var(--color-accent-blue);text-decoration:none;transition:color .2s steps(4)}a:hover{color:#9ac3ff;text-decoration:underline}input,textarea,select{background-color:var(--color-bg-panel);border:1px solid var(--color-border);color:var(--color-accent-green);font-family:IBM Plex Mono,Menlo,Courier New,monospace;padding:var(--space-sm);font-size:14px;width:100%;border-radius:0}input:focus,textarea:focus,select:focus{border-color:var(--color-accent-green);box-shadow:0 0 0 1px var(--color-accent-green) inset}input::placeholder,textarea::placeholder,select::placeholder{color:#444548;font-style:italic}button{cursor:pointer;background:transparent;border:1px solid var(--color-accent-blue);color:var(--color-accent-blue);padding:var(--space-sm) var(--space-lg);font-family:IBM Plex Mono,Menlo,Courier New,monospace;text-transform:uppercase;font-size:12px;letter-spacing:1px;transition:all .1s steps(2)}button:hover{background:#4d96ff1a;border-color:#80b4ff;color:#80b4ff}button:active{background:var(--color-accent-blue);color:var(--color-bg-base)}button.btn-primary{border-color:var(--color-accent-green);color:var(--color-accent-green)}button.btn-primary:hover{background:#20c20e1a;box-shadow:0 0 8px #20c20e33}button.btn-primary:active{background:var(--color-accent-green);color:var(--color-bg-base)}button.btn-warning{border-color:var(--color-accent-amber);color:var(--color-accent-amber)}button:disabled{border-color:var(--color-border);color:var(--color-text-muted);pointer-events:none;cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-base);border-left:1px solid var(--color-border)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border:none;border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-amber)}::-webkit-scrollbar-corner{background:var(--color-bg-panel)}*{scrollbar-width:thin;scrollbar-color:var(--color-text-muted) var(--color-bg-base)}::selection{background:var(--color-accent-green);color:var(--color-bg-base)}.ascii-output{font-family:IBM Plex Mono,Menlo,Courier New,monospace;white-space:pre;overflow-x:auto;line-height:1;color:var(--color-accent-green);background:var(--color-bg-panel);border:1px solid var(--color-border);padding:var(--space-md);font-size:10px}.cursor-blink:after{content:"\2588";animation:blink 1s step-end infinite;color:var(--color-accent-green);margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.scanlines{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(to bottom,#fff0,#fff0 50%,#0000001a 50%,#0000001a);background-size:100% 4px;pointer-events:none;z-index:9999;opacity:.3}
