:root { --vision-write:#7164cf; --vision-dock:#338b9b; --vision-research:#348a70; --vision-motion:#c06b4c; --vision-log:#a07730; --vision-preview:#497cb4; --vision-settings:#747b8b; --vision-font:14px; }
.tab[data-layout=document],.tab[data-layout=split] { border-bottom:3px solid var(--vision-write); }
.tab[data-layout=dock] { border-bottom:3px solid var(--vision-dock); }
.tab[data-layout=tutorial],.tab[data-layout=educator] { border-bottom:3px solid var(--vision-research); }
.tab[data-layout=mathmotion] { border-bottom:3px solid var(--vision-motion); }
.tab[data-layout=journal] { border-bottom:3px solid var(--vision-log); }
.tab[data-layout=pdf] { border-bottom:3px solid var(--vision-preview); }
.tab[data-layout=settings] { border-bottom:3px solid var(--vision-settings); }
#editorPane { border-top:3px solid var(--vision-write); } #dockPane { border-top:3px solid var(--vision-dock); }
#researchConsensusWorkspace,#tutorialPane,#educatorPane { border-top:3px solid var(--vision-research); }
#mathmotionPane { border-top:3px solid var(--vision-motion); } #journalPane { border-top:3px solid var(--vision-log); }
#previewPane { border-top:3px solid var(--vision-preview); } #settingsPane { border-top:3px solid var(--vision-settings); }
.vision-sidebar { position:fixed; inset:64px 12px 24px auto; z-index:850; width:min(360px,calc(100vw - 24px)); overflow:auto; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:15px; box-shadow:0 15px 60px #14233b40; padding:18px; }
.vision-sidebar[hidden],.vision-macro-tip[hidden] { display:none; }
.vision-sidebar header { display:flex; justify-content:space-between; align-items:start; }
.vision-sidebar h2 { font-size:21px; margin:5px 0 14px; }
.vision-sidebar label { display:grid; gap:6px; margin:12px 0; font-size:12px; }
.vision-sidebar p { font-size:12px; line-height:1.6; color:var(--slate); }
.vision-sidebar textarea,.vision-sidebar select { width:100%; }
.vision-color-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 15px; }
.vision-color-grid input { width:100%; height:30px; border:0; padding:0; background:transparent; }
.vision-code-wrap { position:relative; min-width:0; min-height:0; overflow:hidden; height:100%; }
.vision-code-wrap > textarea { position:relative; z-index:1; }
.vision-code-wrap > pre { position:absolute; inset:0; margin:0; z-index:0; overflow:hidden; pointer-events:auto; color:var(--ink); }
.vision-code-wrap.syntax-on > textarea { color:transparent !important; -webkit-text-fill-color:transparent; background:transparent !important; caret-color:var(--ink); }
.vision-code-wrap.syntax-on > textarea::placeholder { -webkit-text-fill-color:var(--muted); }
.vision-code-wrap.syntax-on > textarea::selection { background:#a89bea55; }
.vision-code-wrap:not(.syntax-on) > pre { display:none; }
.vision-code-wrap .tok-command,.vision-code-wrap .tok-keyword { color:#7561c7; }
.vision-code-wrap .tok-comment { color:#6a8b80; font-style:italic; }
.vision-code-wrap .tok-string { color:#ad6334; }
.vision-code-wrap .tok-number { color:#297aa4; }
.vision-code-wrap .tok-brace { color:#ba647d; }
#editorPane #editor { font-size:var(--vision-font); }
.mathmotion-developer .vision-code-wrap { margin:0 12px; height:420px; background:var(--vision-code-surface,#111827); border-radius:9px; }
.mathmotion-developer .vision-code-wrap #mathmotionCode { width:100%; height:100%; max-height:none; margin:0; resize:none; }
.mathmotion-developer .vision-code-wrap > pre { color:#e0e7f5; }
.mathmotion-developer .vision-code-wrap .tok-keyword { color:#b4a0ff; }
.mathmotion-developer .vision-code-wrap .tok-string { color:#efbb8f; }
.mathmotion-developer .vision-code-wrap .tok-number { color:#80d5ef; }
.mathmotion-developer .vision-code-wrap > textarea { caret-color:#fff; }
.vision-template-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:8px 12px 12px; font-size:11px; }
.vision-template-tools label { display:flex; align-items:center; gap:5px; }
.vision-file { cursor:pointer; border:1px solid var(--line); border-radius:6px; padding:6px; }
.vision-file input { max-width:145px; font-size:10px; }
.vision-macro-tip { position:fixed; z-index:900; max-width:340px; padding:12px; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 25px #14233b30; font:12px/1.5 Consolas,monospace; white-space:pre-wrap; }
.vision-flag-item { padding:8px 0; border-bottom:1px solid var(--line); font-size:12px; }
@media (max-width:900px) {.vision-sidebar {top:12px;} .brand strong {font-size:12px;} }

/* Account controls stay absent in the local edition, including before scripts load. */
#visionAccountBtn[hidden] { display: none !important; }
