*{box-sizing:border-box;margin:0;padding:0}html,body{visibility:visible;background:#1c1c1c;height:100%;font-family:JetBrains Mono,Cascadia Code,Fira Code,Consolas,Monaco,monospace;overflow:hidden}body:before{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#0000 0 3px,#0000000b 3px 4px);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(75% 55%,#9fcd3f0e 0%,#0000 70%);position:fixed;inset:0}.shockwave{pointer-events:none;z-index:50;border:2px solid #9fcd3fe6;border-radius:50%;width:100vmax;height:100vmax;animation:1s cubic-bezier(.1,.4,.6,1) forwards shockwave;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 40px #9fcd3f4d,inset 0 0 20px #9fcd3f1a}@keyframes shockwave{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}65%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}.terminal{opacity:0;z-index:10;background:#0b0b0df7;border:1px solid #ffffff1a;border-radius:10px;width:min(640px,90vw);max-height:90dvh;animation:.45s cubic-bezier(.2,0,.3,1) .35s forwards terminal-in;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-49%);box-shadow:0 0 0 1px #ffffff0a,0 28px 90px #000000e6,0 0 80px #9fcd3f12}.terminal::-webkit-scrollbar{display:none}.terminal-body::-webkit-scrollbar{display:none}@keyframes terminal-in{0%{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-49%)}}.terminal-titlebar{background:#ffffff08;border-bottom:1px solid #ffffff12;border-radius:10px 10px 0 0;align-items:center;padding:11px 16px;display:flex}.window-dots{gap:7px;display:flex}.dot{cursor:pointer;border-radius:50%;flex-shrink:0;width:12px;height:12px;transition:filter .15s}.dot:hover{filter:brightness(1.3)}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.window-title{color:#ffffff52;letter-spacing:.03em;margin:0 auto;font-size:12px}.terminal-body{overflow-wrap:anywhere;scrollbar-width:none;max-height:calc(90dvh - 40px);padding:20px 24px 28px;overflow-y:auto}.line{opacity:0;align-items:baseline;gap:10px;font-size:14px;line-height:1.95;transition:opacity .2s,transform .2s;display:flex;transform:translateY(4px)}.line.visible{opacity:1;transform:translateY(0)}.line.output{color:#94a3b8;padding-left:22px}.line.comment{color:#ffffff38;padding-left:22px;font-size:13px}.prompt{color:#9fcd3f;flex-shrink:0;font-size:13px}.cmd{color:#e2e8f0}.cmd.typing:after{content:"█";color:#9fcd3f;font-size:13px;animation:.7s step-end infinite blink}.accent{color:#9fcd3f}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.line.dmesg{flex-wrap:wrap;gap:6px;font-size:12px;line-height:1.7}.ts{color:#9fcd3f80;white-space:pre;flex-shrink:0}.dmesg-msg{color:#ffffff61}.line-gap{height:10px}.line.syslog{flex-wrap:wrap;font-size:13px;line-height:1.85}.syslog-starting{color:#ffffff4d;padding-left:22px}.ok{color:#9fcd3f;white-space:pre;flex-shrink:0}.syslog-msg{color:#ffffff94}@media (width<=520px){.terminal-body{padding:14px 16px 20px}.line,.line.syslog{font-size:12px}.line.dmesg{font-size:11px}.line.dmesg,.line.syslog{flex-wrap:nowrap;overflow:hidden}.dmesg-msg,.syslog-msg,.syslog-starting{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.window-title{font-size:11px}}.terminal-input{color:#e2e8f0;min-width:0;font-family:inherit;font-size:14px;line-height:inherit;caret-color:#9fcd3f;background:0 0;border:none;outline:none;flex:1;padding:0}.output.error{color:#f87171}.terminal.ready{transition:width .3s,max-height .3s,border-radius .3s,opacity .7s}.terminal.ready .terminal-body{transition:max-height .3s,padding-top .3s,padding-bottom .3s}.terminal.ready .terminal-titlebar{transition:border-radius .3s}.terminal.minimized .terminal-body{max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.terminal.minimized .terminal-titlebar{border-radius:10px}.terminal.maximized{border-radius:4px;width:95vw;max-height:95dvh}.terminal.maximized .terminal-body{max-height:calc(95dvh - 40px);overflow-y:auto}@view-transition{navigation:auto}::view-transition-new(root){animation:none}@media (prefers-reduced-motion:reduce){.terminal{opacity:1;animation:none;transform:translate(-50%,-49%)}.shockwave{animation:none;display:none}.line{transition:none}.cmd.typing:after{animation:none}.terminal.ready,.terminal.ready .terminal-body,.terminal.ready .terminal-titlebar{transition:none}}
