/* Dragon Shell v0.4.0 — Hybrid theme system */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0b0d12;--bg2:#11141b;--panel:#161a23;--border:#262b36;
  --fg:#e6e8ef;--muted:#7a8294;--accent:#d4af37;--accent2:#c0392b;
  --ok:#2ecc71;--warn:#f39c12;--err:#e74c3c;--info:#5dade2;
  --prompt-user:#d4af37;--prompt-host:#c0392b;--prompt-path:#5dade2;--prompt-sym:#2ecc71;
  --glow:0 0 12px rgba(212,175,55,.25);
}
[data-theme="matrix"]{--bg:#000;--bg2:#001a00;--panel:#001f00;--border:#003300;--fg:#00ff66;--muted:#006633;--accent:#00ff66;--accent2:#00cc44;--prompt-user:#00ff66;--prompt-host:#00cc44;--prompt-path:#00ffaa;--prompt-sym:#00ff66;--glow:0 0 14px rgba(0,255,102,.35);}
[data-theme="dracula"]{--bg:#282a36;--bg2:#21222c;--panel:#2b2d3a;--border:#44475a;--fg:#f8f8f2;--muted:#6272a4;--accent:#bd93f9;--accent2:#ff79c6;--ok:#50fa7b;--warn:#f1fa8c;--err:#ff5555;--info:#8be9fd;--prompt-user:#bd93f9;--prompt-host:#ff79c6;--prompt-path:#8be9fd;--prompt-sym:#50fa7b;--glow:0 0 12px rgba(189,147,249,.3);}
[data-theme="solarized"]{--bg:#002b36;--bg2:#073642;--panel:#0a3b48;--border:#13505b;--fg:#eee8d5;--muted:#586e75;--accent:#b58900;--accent2:#cb4b16;--ok:#859900;--warn:#b58900;--err:#dc322f;--info:#268bd2;--prompt-user:#b58900;--prompt-host:#cb4b16;--prompt-path:#268bd2;--prompt-sym:#859900;--glow:0 0 10px rgba(181,137,0,.25);}
[data-theme="mono"]{--bg:#0a0a0a;--bg2:#111;--panel:#161616;--border:#2a2a2a;--fg:#e6e6e6;--muted:#888;--accent:#fff;--accent2:#bbb;--prompt-user:#fff;--prompt-host:#bbb;--prompt-path:#888;--prompt-sym:#fff;--glow:none;}

html,body{height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--fg);font-family:'Fira Code','JetBrains Mono','SF Mono',Menlo,Consolas,monospace;font-size:13px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;}
body{background:radial-gradient(ellipse at top,var(--bg2) 0%,var(--bg) 70%);}

#app{display:flex;flex-direction:column;height:100dvh;width:100vw;}

.topbar{
  display:flex;align-items:center;gap:10px;
  padding:calc(env(safe-area-inset-top) + 6px) 12px 8px;
  background:linear-gradient(180deg,var(--panel) 0%,var(--bg2) 100%);
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 0 rgba(255,255,255,.02),0 4px 18px rgba(0,0,0,.4);
  z-index:5;position:relative;
}
.topbar .brand{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--accent);text-shadow:var(--glow);font-size:13px;letter-spacing:.4px;}
.topbar .brand .logo{font-size:15px;filter:drop-shadow(0 0 6px var(--accent));}
.topbar .cwd{color:var(--prompt-path);font-size:11px;opacity:.85;max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.topbar .spacer{flex:1;}
.topbar .clock{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;}
.topbar .status{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;}
.topbar .status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);}
.topbar .status.busy::before{background:var(--warn);box-shadow:0 0 8px var(--warn);animation:pulse 1s infinite;}
.topbar .status.err::before{background:var(--err);box-shadow:0 0 8px var(--err);}
@keyframes pulse{50%{opacity:.4}}

#terminal{flex:1;min-height:0;padding:8px 6px 4px 10px;background:transparent;}
.xterm,.xterm-viewport{background:transparent !important;}
.xterm-viewport::-webkit-scrollbar{width:6px;}
.xterm-viewport::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

.toolbar{
  display:flex;gap:5px;overflow-x:auto;
  padding:6px 8px calc(env(safe-area-inset-bottom) + 6px);
  background:linear-gradient(0deg,var(--panel) 0%,var(--bg2) 100%);
  border-top:1px solid var(--border);
  scrollbar-width:none;
}
.toolbar::-webkit-scrollbar{display:none;}
.toolbar button{
  flex:0 0 auto;min-width:42px;height:34px;padding:0 10px;
  background:var(--panel);color:var(--fg);
  border:1px solid var(--border);border-radius:8px;
  font-family:inherit;font-size:11px;font-weight:500;
  transition:all .15s;cursor:pointer;
  touch-action:manipulation;
}
.toolbar button:active{transform:scale(.94);background:var(--accent);color:var(--bg);border-color:var(--accent);box-shadow:var(--glow);}
.toolbar button.active{background:var(--accent);color:var(--bg);border-color:var(--accent);box-shadow:var(--glow);}
.toolbar .sep{width:1px;background:var(--border);margin:4px 4px;flex:0 0 1px;min-width:1px;}

.theme-pick{position:absolute;top:46px;right:8px;display:none;flex-direction:column;gap:4px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.6);z-index:10;}
.theme-pick.open{display:flex;}
.theme-pick button{background:transparent;color:var(--fg);border:1px solid transparent;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px;text-align:left;cursor:pointer;}
.theme-pick button:hover,.theme-pick button.on{border-color:var(--accent);color:var(--accent);}
