/* Shared web/desktop controls: readable states, steady focus and generous targets. */
:root{--control-fill:rgb(255 255 255 / .68);--control-hover:rgb(40 35 30 / .055);--control-line:rgb(40 35 30 / .13);--control-selected:rgb(164 91 47 / .10);--control-accent:#975325;--control-focus:#b56b35}
.theme-dark{--control-fill:rgb(255 255 255 / .035);--control-hover:rgb(255 255 255 / .075);--control-line:rgb(255 255 255 / .13);--control-selected:rgb(229 151 96 / .115);--control-accent:#edb185;--control-focus:#e9ac7e}
:is(.workspace-switch,.visual-tabs,.cube-space-modes){gap:3px;padding:3px;border:1px solid var(--control-line);border-radius:10px;background:var(--control-fill);box-shadow:inset 0 1px 0 rgb(255 255 255 / .035)}
:is(.workspace-switch,.visual-tabs,.cube-space-modes) button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:7px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;line-height:1.35;box-shadow:none;transition:background-color .16s,color .16s,border-color .16s;white-space:nowrap}
body :is(.workspace-switch,.visual-tabs,.cube-space-modes) button[aria-pressed=true]{background:var(--control-selected)!important;border-color:var(--control-line);color:var(--text);box-shadow:inset 0 1px 0 rgb(255 255 255 / .055),0 1px 3px rgb(0 0 0 / .08)}
:is(.workspace-switch,.visual-tabs,.cube-space-modes) button:hover{background:var(--control-hover);color:var(--text)}
body .chat-workspace .tool-toggle{min-height:34px;padding:7px 11px;gap:7px;border:1px solid var(--control-line);border-radius:8px;background:transparent;color:var(--muted);font-size:11px;line-height:1.4;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background-color .16s,border-color .16s,color .16s}
body.theme-dark .chat-workspace .tool-toggle[aria-pressed=true],body .chat-workspace .tool-toggle[aria-pressed=true]{background:var(--control-selected)!important;border-color:color-mix(in srgb,var(--control-accent) 36%,transparent);color:var(--control-accent)}
body .chat-workspace .tool-toggle:hover{background:var(--control-hover)!important;color:var(--text)}
body .tool-toggle .mode-dot{display:grid;place-items:center;width:14px;height:14px;flex:0 0 14px;border:1px solid currentColor;border-radius:4px;background:transparent!important;opacity:.6}
body .tool-toggle .mode-dot:after{content:'';width:6px;height:3px;border:solid currentColor;border-width:0 0 1.5px 1.5px;transform:translateY(-1px) rotate(-45deg);opacity:0}
body .tool-toggle[aria-pressed=true] .mode-dot{opacity:1}
body .tool-toggle[aria-pressed=true] .mode-dot:after{opacity:1}
body .memory-toggle{min-height:32px;padding:6px 8px;border:1px solid transparent;border-radius:7px;color:var(--muted);gap:6px}
body .memory-toggle[aria-pressed=true]{color:var(--control-accent)}
body .memory-toggle:hover{background:var(--control-hover);border-color:var(--control-line)}
body .switch{position:relative;display:inline-block;width:42px;min-width:42px;height:24px;min-height:24px;padding:0;border:1px solid var(--control-line);border-radius:999px;background:color-mix(in srgb,var(--muted) 24%,transparent);box-shadow:inset 0 1px 2px rgb(0 0 0 / .10);transition:background-color .18s,border-color .18s}
body .switch:after{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(0 0 0 / .24);transform:translateX(0);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
body .switch[aria-pressed=true]{background:#b57548;border-color:#b57548}
body .switch[aria-pressed=true]:after{transform:translateX(18px)}
body .switch:before{content:'';position:absolute;inset:-9px -3px;border-radius:999px}
body :is(.panel-button,.workbench-button,.primary-button,.workbench-primary,.notebook-save,.cube-space-actions button,.model-diagram-toolbar button){min-height:34px;border-radius:9px;line-height:1.45;transition:background-color .16s,border-color .16s,color .16s}
body :is(.workbench-button,.notebook-save,.cube-space-actions button,.model-diagram-toolbar button){background:var(--control-fill);border:1px solid var(--control-line);color:var(--text)}
body :is(.workbench-button,.notebook-save,.cube-space-actions button,.model-diagram-toolbar button):hover{background:var(--control-hover);border-color:color-mix(in srgb,var(--control-line),var(--text) 15%)}
body :is(.primary-button,.workbench-primary){background:#b57548;color:#fff8f2;border:1px solid rgb(255 255 255 / .12);font-weight:550;box-shadow:inset 0 1px 0 rgb(255 255 255 / .12)}
body :is(.primary-button,.workbench-primary):hover{background:#a86a40}
body button:focus-visible{outline:2px solid var(--control-focus);outline-offset:3px}
body button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}
body button:disabled:hover{transform:none}
@media(max-width:560px){:is(.workspace-switch,.visual-tabs,.cube-space-modes) button{min-height:36px;padding:8px 10px;font-size:11px}body .chat-workspace .tool-toggle{min-height:36px;padding:7px 9px;font-size:10px}.tool-bar #toolToggles{gap:6px}body .memory-toggle{min-height:36px}}
@media(prefers-reduced-motion:reduce){body :is(.switch,.switch:after,.tool-toggle,.workspace-switch button,.visual-tabs button,.cube-space-modes button,.memory-toggle,.workbench-button,.primary-button,.workbench-primary){transition:none}}
@media(forced-colors:active){body :is(.tool-toggle,.switch,.workspace-switch,.visual-tabs,.cube-space-modes,.workbench-button){border:1px solid ButtonText}body :is(.tool-toggle,.workspace-switch button,.visual-tabs button,.cube-space-modes button)[aria-pressed=true]{outline:1px solid Highlight;outline-offset:-2px}body .switch:after{background:ButtonText}body .switch[aria-pressed=true]{background:Highlight}}
