diff --git a/docs/index.html b/docs/index.html
index dd2a814a7..4fbf5d448 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -459,6 +459,138 @@
.fresh-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fresh-action { width: 100%; }
}
+
+/* ========== Settings View ========== */
+.settings-view {
+ display: none; flex: 1; min-height: 0; overflow-y: auto;
+ background: hsl(var(--background)); color: hsl(var(--foreground));
+}
+.settings-view.active { display: block; }
+.settings-shell { max-width: 720px; margin: 0 auto; padding: 24px; }
+.settings-page-header {
+ padding: 20px 24px; border-bottom: 1px solid hsl(var(--border) / .3);
+ display: flex; align-items: center; justify-content: space-between; gap: 16px;
+}
+.settings-page-header h1 { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
+.settings-page-header p { margin-top: 4px; color: hsl(var(--muted-foreground)); font-size: 13px; }
+.settings-tabs {
+ display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid hsl(var(--border) / .35);
+ overflow: visible;
+}
+.settings-tab {
+ padding: 9px 12px; margin-bottom: -1px; border: none; border-bottom: 2px solid transparent;
+ border-radius: 6px 6px 0 0; background: transparent; color: hsl(var(--muted-foreground));
+ font-size: 13px; cursor: pointer; white-space: nowrap;
+}
+.settings-tab:hover { color: hsl(var(--foreground)); background: hsl(var(--muted) / .35); }
+.settings-tab.active {
+ color: hsl(var(--foreground)); border-bottom-color: hsl(var(--foreground)); font-weight: 500;
+}
+.settings-panel { display: none; padding: 22px 8px 0 0; }
+.settings-panel.active { display: block; }
+.settings-section { margin-top: 24px; }
+.settings-section:first-child { margin-top: 0; }
+.settings-section h2 { font-size: 14px; font-weight: 500; }
+.settings-section-desc { margin-top: 3px; color: hsl(var(--muted-foreground)); font-size: 12px; }
+.settings-list { margin-top: 16px; display: flex; flex-direction: column; gap: 15px; }
+.settings-row {
+ display: flex; align-items: center; justify-content: space-between; gap: 20px;
+}
+.settings-row.stack { align-items: stretch; flex-direction: column; gap: 8px; }
+.settings-label { min-width: 0; }
+.settings-label-title { color: hsl(var(--muted-foreground)); font-size: 13px; }
+.settings-label-desc { margin-top: 3px; color: hsl(var(--muted-foreground) / .65); font-size: 12px; line-height: 1.45; }
+.settings-control { flex: 0 0 auto; width: 248px; max-width: 100%; }
+.settings-control.wide { width: 100%; }
+.settings-select,
+.settings-input,
+.settings-textarea {
+ width: 100%; min-height: 32px; padding: 0 10px; border: none; border-radius: 6px;
+ background: hsl(var(--muted)); color: hsl(var(--foreground)); font: inherit; font-size: 13px;
+}
+.settings-select { padding-right: 32px; }
+.settings-textarea { min-height: 76px; padding: 9px 10px; resize: vertical; font-family: inherit; }
+.settings-segmented {
+ display: flex; width: 100%; gap: 2px; padding: 2px; border-radius: 7px; background: hsl(var(--muted));
+}
+.settings-segment {
+ flex: 1; min-height: 28px; padding: 4px 10px; border: none; border-radius: 5px;
+ background: transparent; color: hsl(var(--muted-foreground)); font-size: 12px; cursor: pointer;
+}
+.settings-segment.active { background: hsl(var(--background)); color: hsl(var(--foreground)); box-shadow: var(--shadow-sm); }
+.settings-switch {
+ position: relative; width: 36px; height: 20px; border: none; border-radius: 999px;
+ display: block; flex: 0 0 auto; padding: 0;
+ background: hsl(var(--muted)); cursor: pointer; transition: background .15s;
+}
+.settings-switch-wrap {
+ width: auto; min-height: 32px; display: flex; align-items: center; justify-content: flex-end;
+}
+.settings-switch::after {
+ content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px;
+ border-radius: 50%; background: hsl(var(--muted-foreground)); transition: transform .15s, background .15s;
+}
+.settings-switch.on { background: hsl(var(--foreground)); }
+.settings-switch.on::after { transform: translateX(16px); background: hsl(var(--background)); }
+.settings-range { display: flex; align-items: center; gap: 10px; }
+.settings-range input { width: 145px; accent-color: hsl(var(--foreground)); }
+.settings-range span { width: 68px; text-align: right; font-size: 13px; font-variant-numeric: tabular-nums; }
+.settings-preview-title {
+ display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;
+ color: hsl(var(--muted-foreground)); font-size: 12px;
+}
+.settings-terminal-preview {
+ width: min(100%, 40ch); height: 12.4em; overflow: hidden;
+ border: 1px solid hsl(var(--border) / .45); border-radius: 8px;
+ background: var(--t-bg); color: var(--t-fg); padding: 10px 12px;
+ font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
+ font-size: 13px; line-height: 1.55; white-space: pre; box-shadow: var(--shadow-sm);
+}
+.settings-shortcuts { display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
+.settings-shortcut-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
+.settings-shortcut-keys { white-space: nowrap; }
+.settings-shortcut-keys kbd {
+ display: inline-block; padding: 2px 6px; border-radius: 4px;
+ background: hsl(var(--muted)); font-family: 'JetBrains Mono', monospace; font-size: 11px;
+}
+.settings-note {
+ margin-top: 12px; padding: 10px 12px; border: 1px solid hsl(var(--border) / .45);
+ border-radius: 8px; color: hsl(var(--muted-foreground)); background: hsl(var(--muted) / .35);
+ font-size: 12px; line-height: 1.5;
+}
+.settings-empty-state {
+ margin-top: 16px; min-height: 88px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
+ border: 1px solid hsl(var(--border) / .35); border-radius: 8px; background: hsl(var(--muted) / .22);
+ color: hsl(var(--muted-foreground)); font-size: 13px;
+}
+.settings-agent-list { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
+.settings-agent-item {
+ display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px;
+ min-height: 56px; padding: 10px 12px; border: 1px solid hsl(var(--border) / .42);
+ border-radius: 8px; background: hsl(var(--card));
+}
+.settings-agent-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
+.settings-agent-icon {
+ width: 32px; height: 32px; border-radius: 7px; display: flex; align-items: center; justify-content: center;
+ flex-shrink: 0; background: hsl(var(--muted)); color: hsl(var(--foreground));
+}
+.settings-agent-icon svg { width: 18px; height: 18px; }
+.settings-agent-name { min-width: 0; color: hsl(var(--foreground)); font-size: 14px; font-weight: 500; }
+@media (max-width: 767px) {
+ .sidebar {
+ position: fixed; inset: 0 auto 0 0; z-index: 60;
+ width: min(85vw, 288px); box-shadow: var(--shadow-md);
+ }
+ .content { width: 100%; }
+ .settings-shell { padding: 16px; }
+ .settings-page-header { padding: 16px 16px 16px 48px; }
+ .settings-row { align-items: stretch; flex-direction: column; gap: 8px; }
+ .settings-row:has(.settings-switch-wrap) { align-items: center; flex-direction: row; }
+ .settings-row:has(.settings-switch-wrap) .settings-label { flex: 1; }
+ .settings-row:has(.settings-switch-wrap) .settings-switch-wrap { width: auto; min-width: 36px; }
+ .settings-control { width: 100%; }
+ .settings-range input { width: 100%; }
+}
@@ -687,7 +819,7 @@ Task Board
Agent is working — sends queue for the next turn
-
+