@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--text-primary: #58a6ff;--text-secondary: #7ee787;--text-muted: #8b949e;--accent-amber: #d29922;--accent-green: #3fb950;--accent-red: #f85149;--accent-purple: #a371f7;--border: #30363d;--cursor: #7ee787;--glow: rgba(126, 231, 135, .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:JetBrains Mono,monospace;background:radial-gradient(ellipse at 50% 0%,#0f1620,#0a0d12 55%,#06080b);color:var(--text-primary);line-height:1.55;font-size:clamp(13px,1.4vw + 11px,15px);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tty-stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,2.5rem);overflow:hidden}.tty-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(126,231,135,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(126,231,135,.04) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);pointer-events:none}.tty-stage:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55) 100%);pointer-events:none}.terminal-window{position:relative;z-index:1;width:min(960px,100%);height:min(680px,92dvh);display:flex;flex-direction:column;background:#0d1117eb;border:1px solid var(--border);border-radius:10px;box-shadow:0 0 0 1px #7ee7870d,0 20px 60px #0009,0 0 80px var(--glow);overflow:hidden;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.term-titlebar{display:flex;align-items:center;gap:.75rem;padding:.55rem .85rem;background:linear-gradient(180deg,#1c2230,#161b22);border-bottom:1px solid var(--border);flex-shrink:0}.tb-left{display:flex;gap:.45rem;flex-shrink:0}.dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dot.red{background:var(--accent-red)}.dot.amber{background:var(--accent-amber)}.dot.green{background:var(--accent-green)}.tb-title{flex:1;text-align:center;font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;letter-spacing:.02em}.tb-right{flex-shrink:0}.lang-switcher{display:flex;gap:.2rem}.lang-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-muted);padding:.18rem .4rem;font-family:inherit;font-size:.72rem;cursor:pointer;border-radius:4px;transition:all .18s;min-height:26px}.lang-btn:hover{color:var(--text-primary)}.lang-btn.active{background:var(--accent-green);color:var(--bg-primary);border-color:var(--accent-green)}.term-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:.5rem 0;cursor:text}.tty-output{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.7rem 1.1rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.tty-output::-webkit-scrollbar{width:8px}.tty-output::-webkit-scrollbar-track{background:transparent}.tty-output::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.tty-output::-webkit-scrollbar-thumb:hover{background:var(--accent-green)}.out-line{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;font-size:.9rem;padding:.04rem 0;line-height:1.5}.out-line.cmd{color:var(--text-primary);font-weight:500}.out-line.out{color:var(--text-secondary)}.out-line.muted{color:var(--text-muted)}.out-line.success{color:var(--accent-green)}.out-line.error{color:var(--accent-red)}.out-line.accent{color:var(--accent-amber);font-weight:600}.out-line.ghost{color:var(--text-muted);opacity:.5}.out-line.man{color:var(--text-secondary);border-left:2px solid var(--border);padding-left:.75rem;font-size:.85rem}.boot-caret{font-weight:700;animation:blink 1.06s step-end infinite}.tty-prompt{display:flex;align-items:center;gap:.28rem;flex-wrap:nowrap;padding:.55rem 1.1rem;padding-bottom:max(.55rem,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#161b2299;flex-shrink:0}.p-user{color:var(--accent-purple)}.p-at{color:var(--text-secondary)}.p-host{color:var(--accent-green)}.p-col{color:var(--text-secondary)}.p-path{color:var(--accent-amber)}.p-sym{color:var(--accent-green);font-weight:600}.input-wrap{position:relative;display:inline-flex;align-items:center;flex:1;min-width:60px;height:1.4em}.input-visible{position:relative;display:inline-flex;align-items:center;white-space:pre;pointer-events:none;color:var(--text-primary);font-size:.92rem;line-height:1.4;max-width:100%;overflow:hidden}.iv-text{color:var(--text-primary)}.iv-ghost{color:var(--text-muted);opacity:.4}.ghost{color:var(--text-muted);opacity:.4;pointer-events:none;white-space:pre}.tty-prompt input{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:none;outline:none;color:transparent;caret-color:transparent;-webkit-text-fill-color:transparent;font-family:inherit;font-size:.92rem;padding:0;margin:0;z-index:2;cursor:text}.tty-prompt input::selection{background:#7ee78740;color:transparent}.tty-prompt input:disabled{cursor:default}.cursor{display:inline-block;width:9px;height:1.05em;background:var(--cursor);animation:blink 1.06s step-end infinite;vertical-align:text-bottom;flex-shrink:0;margin-left:1px;box-shadow:0 0 6px var(--glow)}@keyframes blink{50%{opacity:0}}.tty-stage.scanlines .terminal-window:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0px,rgba(0,0,0,.16) 1px,transparent 1px,transparent 3px);z-index:40;mix-blend-mode:multiply}.matrix-canvas{position:fixed;inset:0;z-index:100;pointer-events:none}.matrix-hint{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:101;color:var(--accent-green);font-size:.9rem}@media(max-width:768px){.tty-stage{padding:0}.terminal-window{width:100%;height:100dvh;border-radius:0;border:none}.tb-title{font-size:.72rem}.lang-btn{min-width:30px;padding:.16rem .35rem;font-size:.68rem}.tty-output{padding:.6rem .8rem}.tty-prompt{padding:.5rem .8rem;flex-wrap:wrap}.out-line{font-size:.86rem}}@media(max-width:480px){.tb-title{display:none}.term-titlebar{gap:.4rem;padding:.45rem .6rem}}
