:root{--bg:#0d1117;--surface:#11161d;--surface-strong:#151c26;--text:#d7dde8;--muted:#7d8596;--muted-strong:#a4adbd;--accent-blue:#38bdf8;--accent-purple:#a78bfa;--accent-pink:#fb7185;--border-muted:#ffffff1f;--shadow:#0000006b 0 22px 70px;--mono:"JetBrains Mono", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;color:var(--text);background:var(--bg);font-family:var(--mono);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:radial-gradient(circle at 18% 8%, #38bdf81a, transparent 28rem), radial-gradient(circle at 82% 12%, #fb718514, transparent 26rem), var(--bg);min-width:320px;min-height:100%}body{min-width:320px;height:100svh;margin:0;overflow:hidden}button,input{font:inherit}#app{height:100svh}.boot-screen,.terminal-shell{width:100%;height:100svh}.boot-screen{background:linear-gradient(180deg, #11161de6, #0d1117fa), var(--bg);place-items:center;padding:24px;display:grid}.boot-panel{width:min(100%,760px);min-height:180px;color:var(--muted-strong);border:1px solid var(--border-muted);box-shadow:var(--shadow);background:#11161db8;border-radius:8px;padding:24px}.boot-panel p{white-space:pre-wrap;margin:0 0 10px}.boot-prompt,.terminal-prompt{color:var(--accent-blue);-webkit-user-select:none;user-select:none}.boot-prompt{margin-right:10px}.terminal-shell{cursor:text;flex-direction:column;width:min(100%,1180px);margin:0 auto;padding:28px 24px;display:flex}.terminal-panel{background:linear-gradient(180deg, #ffffff06, transparent 38%), var(--surface);border:1px solid var(--border-muted);min-height:0;box-shadow:var(--shadow);border-radius:8px 8px 0 0;flex-direction:column;flex:auto;display:flex;overflow:hidden}.terminal-scroll{flex:auto;min-height:0;padding:0 clamp(22px,4vw,44px) clamp(48px,9vw,96px);scroll-padding-bottom:clamp(48px,9vw,96px);overflow-y:auto}.cam-logo{flex:none;margin:0;padding:clamp(22px,4vw,44px) clamp(22px,4vw,44px) clamp(20px,3vw,34px)}.cam-logo__ascii{color:#0000;letter-spacing:0;white-space:pre;background:linear-gradient(100deg, var(--accent-blue), var(--accent-purple), var(--accent-pink));-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0;font-size:clamp(8px,1.35vw,15px);font-weight:700;line-height:1.08;display:inline-block;overflow:hidden}.cam-logo__compact{color:#0000;letter-spacing:0;background:linear-gradient(100deg, var(--accent-blue), var(--accent-purple), var(--accent-pink));-webkit-background-clip:text;background-clip:text;width:fit-content;font-size:clamp(34px,13vw,56px);font-weight:800;line-height:.95;display:none}.tips{max-width:720px;color:var(--muted-strong);margin-bottom:34px;line-height:1.65}.tips p,.tips ol{margin:0}.tips p{color:var(--text)}.tips ol{padding-left:2ch}.terminal-history{gap:10px;min-height:24px;margin-bottom:12px;display:grid}.terminal-entry{line-height:1.55}.terminal-entry.is-input{color:var(--text);gap:10px;display:flex}.terminal-entry.is-output{color:var(--muted-strong);margin-bottom:10px}.terminal-command{overflow-wrap:anywhere;min-width:0}.command-output{color:inherit;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55}.terminal-input{align-items:center;gap:10px;min-height:32px;display:flex}.terminal-input input{width:100%;min-width:0;color:var(--text);caret-color:var(--accent-pink);background:0 0;border:0;border-radius:0;outline:none;padding:0}.terminal-input input::selection{color:var(--bg);background:var(--accent-blue)}.terminal-input input:focus{outline:none}.status-bar{color:var(--muted);background:var(--surface-strong);border:1px solid var(--border-muted);border-top:0;border-radius:0 0 8px 8px;justify-content:space-between;gap:16px;padding:11px 14px;font-size:13px;display:flex;box-shadow:0 12px 32px #0000003d}@media (width<=760px){.terminal-shell{padding:12px}.terminal-scroll{padding:0 20px 72px}.cam-logo{padding:20px 20px 18px}.cam-logo__ascii{font-size:clamp(4.7px,1.65vw,9px);display:inline-block}.cam-logo__compact{display:none}.tips{margin-bottom:28px;font-size:14px}.terminal-entry,.terminal-input,.command-output{font-size:14px}.status-bar{flex-direction:column;gap:3px;padding:10px 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
