:root{--bg:#fff9ef;--ink:#273348;--muted:#626b7c;--line:#e5dfed;--green:#d5f6a4;--dark:#6b40cc;--white:#fffdf9;--accent:#7950ca;--surface-soft:#f0e8ff;--button-ink:#fff;color-scheme:light}
:root[data-appearance=dark]{--bg:#10101b;--ink:#f1edff;--muted:#ada8c3;--line:#34304a;--green:#b2ff69;--dark:#b2ff69;--white:#1b192a;--accent:#b5a0ff;--surface-soft:#29233b;--button-ink:#171623;color-scheme:dark}
body{background:var(--bg);color:var(--ink)}
.brand img{object-fit:contain;flex-shrink:0}
:root[data-appearance=dark] .brand img{filter:drop-shadow(0 0 7px #b2ff6960)}
.theme-picker{width:auto;max-width:145px;margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);font-size:13px}
.button{color:var(--button-ink)}
.button:hover{background:var(--accent)}
.button.secondary:hover,.badge,.tag{background:var(--surface-soft)}
h1 span:not(.count),.eyebrow,.number{color:var(--accent)}
.card,.hero-card,.sidebar,.workspace-header,dialog,input,select{background:var(--white);color:var(--ink)}
.strip,.cta{background:var(--surface-soft);color:var(--ink)}
.recipe-chip,.notice,.sidebar nav button.active,.status{background:var(--surface-soft);color:var(--ink)}
.notice.error{background:var(--surface-soft);color:#f07190}
.offer:has(input:checked){background:var(--surface-soft);border-color:var(--accent)}
input{accent-color:var(--dark)}
input:not([type=radio]):not([type=checkbox]),select{background:var(--white);color:var(--ink)}
.lead,.preview .muted,.terminal-head span,.sidebar nav button{color:var(--muted)}
.hero-card{box-shadow:18px 24px 0 var(--surface-soft)}
.recipe-chip:first-of-type{background:var(--green);color:#23301b}
.terminal-head,.recipe-chip,.preview hr{border-color:var(--line)}
.terminal-head i{background:var(--accent)}
.strip span,.feature>span:first-child,.empty-icon{color:var(--accent)}
.notice{border-color:var(--line)}
select.theme-picker{width:auto;background:var(--white)}
:root[data-appearance=dark] .status.running{background:#284c30;color:#b2ff69}
:root[data-appearance=dark] .status.failed{background:#482636;color:#ff91b1}
:root[data-appearance=dark] .status.setting_up,:root[data-appearance=dark] .status.provisioning{background:#453923;color:#f3d591}
@media(max-width:700px){.nav{height:auto;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}.nav nav{flex-wrap:wrap;gap:10px}.workspace-header{flex-wrap:wrap;gap:12px}.workspace-header .actions{flex-wrap:wrap;gap:8px}.brand{font-size:23px}.theme-picker{max-width:130px}}
