:root{--bg:#0f1115;--bg-softer:#0b0d12;--fg:#e6e8ee;--border:#232837;--accent:#00ff88;--radius:10px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,"Noto Sans",sans-serif;background:var(--bg);color:var(--fg)}a{color:var(--fg);text-decoration:none}.gnu-terminal{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0a0c10;border:1px solid #1d2330;border-radius:var(--radius);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);display:flex;flex-direction:column}.gnu-terminal .titlebar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #1d2330;background:linear-gradient(180deg,#0c0f14,#0a0c10);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.gnu-terminal .viewport{padding:16px;flex:1;min-height:0;line-height:1.6;overflow-x:hidden;overflow-y:auto}.gnu-terminal .dot{width:10px;height:10px;border-radius:999px;background:var(--dot-red,#f45452)}.gnu-terminal .dot.yellow{background:var(--dot-yellow,#f7b84b)}.gnu-terminal .dot.green{background:var(--dot-green,#6ac38f)}.gnu-terminal[data-titlebar=linux]{--dot-red:#555b6e;--dot-yellow:#555b6e;--dot-green:#555b6e}.gnu-terminal[data-titlebar=windows] .titlebar{justify-content:flex-end;padding:0;gap:0}.gnu-terminal .win-btn{display:flex;align-items:center;justify-content:center;width:46px;height:32px;font-size:13px;color:#9aa2b2;cursor:default;transition:background .1s,color .1s;user-select:none}.gnu-terminal .win-btn:hover{background:rgba(255,255,255,.08);color:#e6e8ee}.gnu-terminal .win-btn.win-close:hover{background:#e81123;color:#fff}.prompt{color:var(--accent)}.gnu-terminal .input-line{display:flex;align-items:center;position:relative}.gnu-terminal .terminal-input{background:0 0!important;border:none!important;outline:0!important;color:var(--fg)!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;padding:0!important;margin:0!important;margin-left:4px!important;flex:1;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;caret-color:var(--accent)!important}.gnu-terminal .terminal-input:focus{background:0 0!important;border:none!important;outline:0!important;box-shadow:none!important}.gnu-terminal .terminal-input::selection{background:var(--accent);color:var(--bg)}.gnu-terminal .output-line{margin-bottom:4px;overflow-wrap:break-word;word-break:break-word}pre.code{background:#0a0c10;color:#d6deeb;border:1px solid #1d2330;padding:14px;border-radius:10px;overflow:auto;font-family:'IBM Plex Mono',monospace;font-size:13px}.kbd{font-family:'IBM Plex Mono',monospace;background:var(--bg-softer);border:1px solid var(--border);padding:2px 6px;border-radius:6px;font-size:12px}.gnu-terminal[data-theme]{background:var(--terminal-bg);border-color:var(--terminal-border);color:var(--terminal-fg)}.gnu-terminal[data-theme] .prompt{color:var(--terminal-accent)}.gnu-terminal[data-theme] .terminal-input{caret-color:var(--terminal-accent)!important;color:var(--terminal-secondary)!important}.gnu-terminal[data-theme=matrix]{--terminal-bg:#0a0f0a;--terminal-fg:#00cc33;--terminal-accent:#00ff41;--terminal-secondary:#66ff66;--terminal-muted:#44aa44;--terminal-border:#1a2f1a}.gnu-terminal[data-theme=ocean]{--terminal-bg:#0a0f1f;--terminal-fg:#87ceeb;--terminal-accent:#00bfff;--terminal-secondary:#add8e6;--terminal-muted:#4682b4;--terminal-border:#1a2f4f}.gnu-terminal[data-theme=amber]{--terminal-bg:#1f1a0a;--terminal-fg:#daa520;--terminal-accent:#ffa500;--terminal-secondary:#ffcc80;--terminal-muted:#cd853f;--terminal-border:#4f3f1a}.gnu-terminal[data-theme=dark]{--terminal-bg:#0a0c10;--terminal-fg:#d6deeb;--terminal-accent:#82aaff;--terminal-secondary:#c3e88d;--terminal-muted:#697098;--terminal-border:#1d2330}