AkurAI Build
Menu

Public repository / 3fec4c3d88aac124d3a5f8b6d141401220458111

AkurAI-IDP / src/routes/agent_os.css

Latest change 3fec4c3d88aac124d3a5f8b6d141401220458111 - Simplify agent console workspace by Ólafur Búi Ólafsson

/* Framework theme tokens, vendored from AkurAI Framework v0.8 `/themes.css`. */
:root{--bg:#060912;--bg-2:#0b1224;--panel:#0e162b;--panel-2:#1b2742;--border:#1b2742;--border-2:#9fb0d4;--fg:#eef3ff;--muted:#9fb0d4;--dim:#1b2742;--accent:#5b8cff;--accent-2:#7af0d0;--ok:#7af0d0;--warn:#ffcf8b;--info:#6bb8ff;--danger:#ff6b81;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="akurai"]{--bg:#060912;--bg-2:#0b1224;--panel:#0e162b;--panel-2:#1b2742;--border:#1b2742;--border-2:#9fb0d4;--fg:#eef3ff;--muted:#9fb0d4;--dim:#1b2742;--accent:#5b8cff;--accent-2:#7af0d0;--ok:#7af0d0;--warn:#ffcf8b;--info:#6bb8ff;--danger:#ff6b81;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="akurai-light"]{--bg:#f7f8fb;--bg-2:#eef1f6;--panel:#e2e7f0;--panel-2:#cdd5e2;--border:#cdd5e2;--border-2:#5b657d;--fg:#1d2430;--muted:#5b657d;--dim:#cdd5e2;--accent:#2e56b8;--accent-2:#6d4bd8;--ok:#1f9d57;--warn:#b7791f;--info:#2570d4;--danger:#d92d20;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="claude-code"]{--bg:#1f1e1b;--bg-2:#262320;--panel:#2f2b27;--panel-2:#3a352f;--border:#3a352f;--border-2:#8a8279;--fg:#e6e0d6;--muted:#8a8279;--dim:#3a352f;--accent:#cc785c;--accent-2:#a87b9e;--ok:#8a9a5b;--warn:#d9a05b;--info:#5b9aa0;--danger:#bf4d43;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="claude-code-light"]{--bg:#f5f1e8;--bg-2:#ece7da;--panel:#e0dac9;--panel-2:#cfc8b5;--border:#cfc8b5;--border-2:#6b6457;--fg:#3d3a34;--muted:#6b6457;--dim:#cfc8b5;--accent:#c15f3c;--accent-2:#8a5a7e;--ok:#5f7a3a;--warn:#b07a2e;--info:#3f7a80;--danger:#bf4d43;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="nord"]{--bg:#2e3440;--bg-2:#3b4252;--panel:#434c5e;--panel-2:#4c566a;--border:#4c566a;--border-2:#d8dee9;--fg:#e5e9f0;--muted:#d8dee9;--dim:#4c566a;--accent:#81a1c1;--accent-2:#b48ead;--ok:#a3be8c;--warn:#ebcb8b;--info:#88c0d0;--danger:#bf616a;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="nord-light"]{--bg:#eceff4;--bg-2:#e5e9f0;--panel:#d8dee9;--panel-2:#aebacf;--border:#aebacf;--border-2:#4c566a;--fg:#2e3440;--muted:#4c566a;--dim:#aebacf;--accent:#5e81ac;--accent-2:#8a5a7e;--ok:#6e8b4f;--warn:#a9863a;--info:#2d7d8a;--danger:#b1444e;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="catppuccin-mocha"]{--bg:#1e1e2e;--bg-2:#181825;--panel:#313244;--panel-2:#45475a;--border:#45475a;--border-2:#585b70;--fg:#cdd6f4;--muted:#585b70;--dim:#45475a;--accent:#89b4fa;--accent-2:#cba6f7;--ok:#a6e3a1;--warn:#f9e2af;--info:#94e2d5;--danger:#f38ba8;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="catppuccin-latte"]{--bg:#eff1f5;--bg-2:#e6e9ef;--panel:#ccd0da;--panel-2:#bcc0cc;--border:#bcc0cc;--border-2:#acb0be;--fg:#4c4f69;--muted:#acb0be;--dim:#bcc0cc;--accent:#1e66f5;--accent-2:#8839ef;--ok:#40a02b;--warn:#df8e1d;--info:#179299;--danger:#d20f39;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="solarized-dark"]{--bg:#002b36;--bg-2:#073642;--panel:#586e75;--panel-2:#657b83;--border:#657b83;--border-2:#839496;--fg:#93a1a1;--muted:#839496;--dim:#657b83;--accent:#268bd2;--accent-2:#6c71c4;--ok:#859900;--warn:#b58900;--info:#2aa198;--danger:#dc322f;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="solarized-light"]{--bg:#fdf6e3;--bg-2:#eee8d5;--panel:#93a1a1;--panel-2:#839496;--border:#839496;--border-2:#657b83;--fg:#586e75;--muted:#657b83;--dim:#839496;--accent:#268bd2;--accent-2:#6c71c4;--ok:#859900;--warn:#b58900;--info:#2aa198;--danger:#dc322f;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="gruvbox-dark"]{--bg:#282828;--bg-2:#3c3836;--panel:#504945;--panel-2:#665c54;--border:#665c54;--border-2:#bdae93;--fg:#d5c4a1;--muted:#bdae93;--dim:#665c54;--accent:#83a598;--accent-2:#d3869b;--ok:#b8bb26;--warn:#fabd2f;--info:#8ec07c;--danger:#fb4934;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="gruvbox-light"]{--bg:#fbf1c7;--bg-2:#ebdbb2;--panel:#d5c4a1;--panel-2:#bdae93;--border:#bdae93;--border-2:#665c54;--fg:#504945;--muted:#665c54;--dim:#bdae93;--accent:#076678;--accent-2:#8f3f71;--ok:#79740e;--warn:#b57614;--info:#427b58;--danger:#9d0006;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="tokyo-night"]{--bg:#1a1b26;--bg-2:#16161e;--panel:#2f3549;--panel-2:#444b6a;--border:#444b6a;--border-2:#787c99;--fg:#a9b1d6;--muted:#787c99;--dim:#444b6a;--accent:#2ac3de;--accent-2:#bb9af7;--ok:#9ece6a;--warn:#0db9d7;--info:#b4f9f8;--danger:#c0caf5;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="tokyo-night-light"]{--bg:#d5d6db;--bg-2:#cbccd1;--panel:#dfe0e5;--panel-2:#9699a3;--border:#9699a3;--border-2:#4c505e;--fg:#343b59;--muted:#4c505e;--dim:#9699a3;--accent:#34548a;--accent-2:#5a4a78;--ok:#485e30;--warn:#166775;--info:#3e6968;--danger:#343b58;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="rose-pine"]{--bg:#191724;--bg-2:#1f1d2e;--panel:#26233a;--panel-2:#6e6a86;--border:#6e6a86;--border-2:#908caa;--fg:#e0def4;--muted:#908caa;--dim:#6e6a86;--accent:#c4a7e7;--accent-2:#f6c177;--ok:#31748f;--warn:#ebbcba;--info:#9ccfd8;--danger:#eb6f92;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}
:root[data-theme="rose-pine-dawn"]{--bg:#faf4ed;--bg-2:#fffaf3;--panel:#f2e9de;--panel-2:#9893a5;--border:#9893a5;--border-2:#797593;--fg:#575279;--muted:#797593;--dim:#9893a5;--accent:#907aa9;--accent-2:#ea9d34;--ok:#286983;--warn:#d7827e;--info:#56949f;--danger:#b4637a;--shadow:0 18px 45px -24px rgba(20,22,30,.16);color-scheme:light;}
:root[data-theme="dracula"]{--bg:#282a36;--bg-2:#21222c;--panel:#44475a;--panel-2:#6272a4;--border:#6272a4;--border-2:#9ea8c7;--fg:#f8f8f2;--muted:#9ea8c7;--dim:#6272a4;--accent:#bd93f9;--accent-2:#ff79c6;--ok:#50fa7b;--warn:#f1fa8c;--info:#8be9fd;--danger:#ff5555;--shadow:0 24px 60px -28px rgba(0,0,0,.55);color-scheme:dark;}

:root {
  --radius: 14px;
  --radius-sm: 8px;
  --radius-btn: 10px;
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;
  --soft-border: color-mix(in srgb, var(--border) 76%, transparent);
}

body {
  min-height: 100dvh;
  padding: 0;
  background: var(--bg);
  color: var(--fg);
  font: 14px/1.5 var(--font-sans);
}

.console-wrap {
  width: 100%;
  margin: 0;
}

.console-topbar {
  height: 52px;
  margin: 0;
  padding: 0 16px;
  border-bottom: 1px solid var(--soft-border);
  background: var(--bg);
}

.console-topbar .wordmark {
  margin: 0;
}

.console-status {
  gap: 8px;
}

.console-dot {
  padding: 4px 9px;
  border-color: var(--soft-border);
  background: color-mix(in srgb, var(--bg-2) 78%, transparent);
  color: var(--muted);
  font: 12px/1.2 var(--mono);
}

.console-dot::before {
  background: var(--accent);
  box-shadow: none;
}

.console-card {
  min-height: calc(100dvh - 52px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.console-card::before {
  display: none;
}

.agent-os {
  min-height: calc(100dvh - 52px);
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  background: var(--bg);
  color: var(--fg);
}

.agent-sidebar {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
  align-content: start;
  gap: 14px;
  padding: 16px 12px;
  border-right: 1px solid var(--soft-border);
  background: var(--bg-2);
}

.agent-product {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 4px;
}

.agent-avatar {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--soft-border);
  border-radius: 8px;
  color: var(--accent);
  background: color-mix(in srgb, var(--panel) 78%, var(--bg));
  font: 12px/1 var(--mono);
}

.agent-brand {
  min-width: 0;
  color: var(--fg);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.15;
}

.agent-brand small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.agent-new-task,
.agent-mode,
.agent-nav a,
.agent-nav span,
.agent-account a {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  text-decoration: none;
  font-size: 13px;
}

.agent-new-task {
  color: var(--fg);
  border-color: var(--soft-border);
  background: color-mix(in srgb, var(--panel) 72%, var(--bg-2));
  font-weight: 650;
}

.agent-modebar,
.agent-nav {
  display: grid;
  gap: 4px;
}

.agent-mode {
  justify-content: flex-start;
}

.agent-mode::before {
  content: attr(data-icon);
  width: 16px;
  color: var(--accent);
  font: 12px/1 var(--mono);
  text-align: center;
}

.agent-mode-active,
.agent-nav .active,
.agent-new-task:hover,
.agent-mode:hover,
.agent-nav a:hover,
.agent-nav span:hover,
.agent-account a:hover {
  color: var(--fg);
  border-color: var(--soft-border);
  background: color-mix(in srgb, var(--panel) 72%, var(--bg-2));
}

.agent-section {
  display: grid;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--soft-border);
}

.agent-section h2 {
  margin: 0 0 2px;
  padding: 0 10px;
  color: color-mix(in srgb, var(--muted) 78%, var(--bg));
  font: 11px/1.2 var(--mono);
  letter-spacing: .02em;
  text-transform: uppercase;
}

.agent-count {
  color: var(--muted);
  font: 11px/1 var(--mono);
}

.agent-main {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: 56px minmax(0, 1fr) auto;
  background: var(--bg);
}

.agent-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 22px;
  border-bottom: 1px solid var(--soft-border);
}

.agent-title {
  margin: 0;
  color: var(--fg);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0;
}

.agent-subtitle {
  margin: 1px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.agent-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font: 12px/1.2 var(--mono);
}

.agent-meta span {
  padding: 4px 8px;
  border: 1px solid var(--soft-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--panel) 52%, transparent);
}

.agent-timeline {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 34px 24px 28px;
}

.agent-empty,
.agent-event,
.agent-run-details {
  width: min(760px, 100%);
  margin: 0 auto;
}

.agent-empty {
  align-self: center;
  padding-top: min(18vh, 120px);
  text-align: center;
}

.agent-empty h2 {
  margin: 0 0 8px;
  color: var(--fg);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 650;
  letter-spacing: 0;
}

.agent-empty p {
  margin: 0;
  color: var(--muted);
}

.agent-suggestions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.agent-suggestions span {
  padding: 8px 11px;
  border: 1px solid var(--soft-border);
  border-radius: 999px;
  color: var(--muted);
  background: color-mix(in srgb, var(--panel) 50%, transparent);
  font-size: 13px;
}

.agent-event {
  display: grid;
  gap: 7px;
}

.agent-event-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: color-mix(in srgb, var(--muted) 78%, var(--bg));
  font: 12px/1.2 var(--mono);
  text-transform: uppercase;
}

.chat-message-content {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--fg);
  font: 15px/1.65 var(--font-sans);
}

.agent-event-user {
  justify-items: end;
}

.agent-event-user .chat-message-content {
  max-width: min(620px, 88%);
  padding: 10px 13px;
  border: 1px solid var(--soft-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--panel) 68%, var(--bg));
}

.agent-event-assistant .chat-message-content {
  max-width: 720px;
}

.agent-event-error .chat-message-content {
  color: var(--danger);
}

.agent-run-details {
  color: var(--muted);
  font: 12px/1.4 var(--mono);
}

.agent-run-details summary {
  cursor: pointer;
  list-style: none;
}

.agent-run-details summary::-webkit-details-marker {
  display: none;
}

.agent-tool-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.agent-kv {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--soft-border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel) 45%, transparent);
}

.agent-kv dt {
  margin: 0 0 3px;
  color: color-mix(in srgb, var(--muted) 72%, var(--bg));
}

.agent-kv dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.agent-composer {
  width: min(760px, calc(100% - 48px));
  margin: 0 auto 22px;
  padding: 10px;
  border: 1px solid var(--soft-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--panel) 76%, var(--bg));
  box-shadow: var(--shadow);
}

.agent-composer textarea {
  min-height: 78px;
  max-height: 260px;
  padding: 6px 8px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--fg);
  box-shadow: none;
  font: 15px/1.55 var(--font-sans);
  resize: vertical;
}

.agent-composer textarea:focus {
  border: 0;
  box-shadow: none;
}

.agent-composer-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.agent-state {
  min-width: 0;
  color: var(--muted);
  font: 11px/1.2 var(--mono);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agent-os .btn-primary {
  min-height: 34px;
  padding: 7px 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 44%, var(--border));
  border-radius: 999px;
  background: var(--accent);
  color: color-mix(in srgb, var(--fg) 8%, white);
  box-shadow: none;
}

.agent-context {
  display: none;
}

.mono {
  font-family: var(--mono);
}

@media (max-width: 820px) {
  .console-topbar {
    height: auto;
    min-height: 52px;
    padding: 10px 12px;
  }

  .agent-os {
    min-height: calc(100dvh - 74px);
    grid-template-columns: 1fr;
  }

  .agent-sidebar {
    border-right: 0;
    border-bottom: 1px solid var(--soft-border);
  }

  .agent-main {
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .agent-head {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px 16px;
  }

  .agent-timeline {
    padding: 24px 16px 22px;
  }

  .agent-composer {
    width: calc(100% - 24px);
    margin-bottom: 12px;
  }

  .agent-tool-grid {
    grid-template-columns: 1fr;
  }
}