/* SSH-Simulant – Reset, Variablen, Typografie. */

*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

:root {
  --bg:        #14181c;
  --bg-2:      #1b2127;
  --bg-3:      #232b33;
  --fg:        #e6e9ec;
  --fg-dim:    #9aa6b1;
  --fg-faint:  #6b7682;
  --border:    #303a44;
  --accent:    #3ad29f;
  --accent-fg: #06281f;
  --danger:    #ff6b6b;
  --danger-bg: #3a1f22;
  --warn:      #ffcc66;
  --warn-bg:   #322b1a;
  --info:      #66b3ff;
  --info-bg:   #1a2733;
  --link:      #7fd1ff;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --radius: 6px;
}

body { background: var(--bg); color: var(--fg); }

code, kbd, pre, .ssh-mono { font-family: var(--mono); }
code {
  background: var(--bg-3);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 0 .3em;
  font-size: .92em;
}
a, .ssh-link { color: var(--link); }
h1, h2, h3 { line-height: 1.2; margin: 0 0 .6rem; font-weight: 600; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-2); }
::-webkit-scrollbar-thumb { background: #3a4650; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #4a5762; }

/* Buttons */
.ssh-btn {
  display: inline-flex; align-items: center; gap: .4em;
  font: inherit; line-height: 1;
  padding: .5em .85em;
  background: var(--bg-3);
  color: var(--fg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.ssh-btn:hover { background: #2b343d; }
.ssh-btn:active { transform: translateY(1px); }
.ssh-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.ssh-btn--primary { background: var(--accent); color: var(--accent-fg); border-color: var(--accent); font-weight: 600; }
.ssh-btn--primary:hover { filter: brightness(1.08); }
.ssh-btn--danger { background: var(--danger-bg); color: var(--danger); border-color: #5a2c30; }
.ssh-btn--danger:hover { background: #4a2528; }
.ssh-btn--ghost { background: transparent; }
.ssh-btn--ghost:hover { background: var(--bg-3); }
.ssh-btn--mini { padding: .3em .55em; font-size: 12px; }

.ssh-link { text-decoration: none; }
.ssh-link:hover { text-decoration: underline; }

/* Footer */
.ssh-footer {
  display: flex; gap: .6rem; flex-wrap: wrap;
  padding: .5rem .9rem;
  color: var(--fg-faint);
  font-size: 12px;
  border-top: 1px solid var(--border);
  background: var(--bg-2);
}

/* Alerts */
.ssh-alert { padding: .6rem .8rem; border-radius: var(--radius); border: 1px solid var(--border); margin: 0 0 1rem; }
.ssh-alert--error { background: var(--danger-bg); border-color: #5a2c30; color: #ffb3b3; }
.ssh-alert--warn  { background: var(--warn-bg);  border-color: #4a4326; color: var(--warn); }
.ssh-alert--info  { background: var(--info-bg);  border-color: #294155; color: #bcd9f5; }

.ssh-muted { color: var(--fg-dim); }
.ssh-tiny  { font-size: 12px; }
