/* Personal color directions share the same layout and task flows. */
:root[data-palette="neon"] {
  --bg:#0d1220; --sidebar:#111726; --panel:#171f30; --panel-2:#202d43;
  --line:#354663; --line-soft:#293a55; --ink:#fff4e3; --muted:#b8c5dc; --dim:#98abc7;
  --lime:#68e6f4; --lime-ink:#092635; --amber:#ff9a86;
  --accent-hover:#9df3fa; --accent-soft:#b3f2fa; --active:#243c58; --hover:#22334c;
  --edge:#57799e; --input:#0e182a; --input-border:#54759c; --tint:#1b2a40;
  --soft-ink:#d3def0; --warm-bg:#312738; --warm-line:#78525e; --warm-ink:#ffc5af;
  --hero-start:#193652; --hero-end:#28243e; --hero-glow:#ec7f6a2b;
  --robot-shell:#f7e6c8; --robot-highlight:#fff6e4; --robot-mid:#99b7c8;
  --robot-edge:#6688a1; --robot-shadow:#3a5677; --robot-screen:#15263e;
  --robot-eyes:#6af2fa; --robot-suit:#1b304f; --robot-suit-edge:#355378;
  --robot-shirt:#fff3dc; --robot-bow:#ff927f; --robot-tray:#f3ad7f;
  --robot-light:#d2edfa; --scene-line:#9edff5; --scene-glow:#ff947b;
}
:root[data-palette="sunset"] {
  --bg:#17101f; --sidebar:#201627; --panel:#281d32; --panel-2:#39263f;
  --line:#594063; --line-soft:#44314f; --ink:#fff2de; --muted:#d4bcd7; --dim:#b89cbf;
  --lime:#ffc17b; --lime-ink:#3b211b; --amber:#ff91bc;
  --accent-hover:#ffd8a8; --accent-soft:#ffe0b6; --active:#513047; --hover:#432b48;
  --edge:#976b95; --input:#1d1227; --input-border:#8e648f; --tint:#36223e;
  --soft-ink:#ead3e8; --warm-bg:#452c32; --warm-line:#9d6559; --warm-ink:#ffceaa;
  --hero-start:#492b3b; --hero-end:#302145; --hero-glow:#ffad672c;
  --robot-shell:#ffe1b8; --robot-highlight:#fff3d9; --robot-mid:#d5a0a9;
  --robot-edge:#a3708d; --robot-shadow:#745373; --robot-screen:#342039;
  --robot-eyes:#ffc87c; --robot-suit:#422641; --robot-suit-edge:#69415f;
  --robot-shirt:#fff1d7; --robot-bow:#ff8eb6; --robot-tray:#ffb875;
  --robot-light:#ffd4bc; --scene-line:#e4aacd; --scene-glow:#ffb471;
}
:root[data-palette="monochrome"] {
  --bg:#080808; --sidebar:#101010; --panel:#151515; --panel-2:#232323;
  --line:#3d3d3d; --line-soft:#2c2c2c; --ink:#ffffff; --muted:#d0d0d0; --dim:#b0b0b0;
  --lime:#ffffff; --lime-ink:#101010; --amber:#ffffff;
  --accent-hover:#e5e5e5; --accent-soft:#f0f0f0; --active:#303030; --hover:#282828;
  --edge:#757575; --input:#0a0a0a; --input-border:#737373; --tint:#202020;
  --soft-ink:#e3e3e3; --warm-bg:#242424; --warm-line:#808080; --warm-ink:#ededed;
  --hero-start:#1c1c1c; --hero-end:#101010; --hero-glow:#ffffff0d;
  --robot-shell:#e4e4e4; --robot-highlight:#ffffff; --robot-mid:#b8b8b8;
  --robot-edge:#898989; --robot-shadow:#646464; --robot-screen:#141414;
  --robot-eyes:#ffffff; --robot-suit:#252525; --robot-suit-edge:#4b4b4b;
  --robot-shirt:#ffffff; --robot-bow:#c4c4c4; --robot-tray:#d0d0d0;
  --robot-light:#ededed; --scene-line:#b0b0b0; --scene-glow:#ffffff;
}

/* Shared surfaces and controls. */
.color-variant .btn{background:var(--panel-2);border-color:var(--edge);color:var(--ink)}
.color-variant .btn:hover{background:var(--hover)}
.color-variant .btn-lime{background:var(--lime);border-color:var(--lime);color:var(--lime-ink);box-shadow:0 4px 20px color-mix(in srgb,var(--lime) 9%,transparent)}
.color-variant .btn-lime:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.color-variant .danger{color:var(--warm-ink)}
.color-variant .btn.danger{color:var(--warm-ink);background:var(--warm-bg);border-color:var(--warm-line)}
.color-variant .icon-btn,.color-variant .eyebrow{color:var(--muted)}
.color-variant .icon-btn:hover{background:var(--hover);color:var(--ink)}
.color-variant .text-btn,.color-variant .circle-btn{color:var(--lime)}
.color-variant .text-btn:hover{color:var(--accent-hover)}
.color-variant .pill{color:var(--accent-soft);background:var(--active);border-color:var(--edge)}
.color-variant .panel{background:var(--panel);border-color:var(--line)}
.color-variant .page-heading p,.color-variant .page-heading .eyebrow{color:var(--muted)}
.color-variant .count{background:var(--active);color:var(--accent-soft)}

/* Navigation and household identity. */
.color-variant .brand span,.color-variant .nav-label,.color-variant .top-date,.color-variant .breadcrumb{color:var(--dim)}
.color-variant .household-switch{background:var(--panel);border-color:var(--line)}
.color-variant .household-switch small,.color-variant .household-switch>.icon{color:var(--dim)}
.color-variant .household-switch:hover{border-color:var(--lime)}
.color-variant .house-icon{background:var(--active);color:var(--lime)}
.color-variant .sidebar nav a{color:var(--muted)}
.color-variant .sidebar nav a:hover{background:var(--hover);color:var(--ink)}
.color-variant .sidebar nav a[aria-current]{background:var(--active);color:var(--accent-soft);box-shadow:inset 2px 0 var(--lime)}
.color-variant .assistant-call{background:linear-gradient(120deg,var(--active),var(--panel));border-color:var(--edge)}
.color-variant .assistant-call:hover{border-color:var(--lime)}
.color-variant .assistant-orb{background:var(--active);border-color:var(--lime);color:var(--lime);box-shadow:0 0 19px color-mix(in srgb,var(--lime) 10%,transparent)}
.color-variant .assistant-call>span:nth-child(2){color:var(--muted)}
.color-variant .assistant-call strong,.color-variant .assistant-call>.icon{color:var(--accent-soft)}
.color-variant .preview-status,.color-variant .profile small{color:var(--dim)}
.color-variant .preview-status i,.color-variant .art-caption i{background:var(--amber)}
.color-variant .avatar:not(.peach):not(.blue):not(.lilac){background:var(--active);color:var(--accent-soft)}
.color-variant .event-rule.sage,.color-variant .calendar-legend i.sage{background:var(--lime)}
.color-variant .breadcrumb strong{color:var(--ink)}
.color-variant .breadcrumb>span{color:var(--dim)}
.color-variant .preview-chip{color:var(--accent-soft);border-color:var(--edge);background:var(--tint)}
.color-variant .page-footer,.color-variant .page-footer b{color:var(--dim)}

/* The briefing has cool illumination, warm highlights, and a porcelain butler. */
.color-variant .briefing{border-color:var(--edge);background:radial-gradient(ellipse at 81% 36%,var(--hero-glow),transparent 57%),linear-gradient(115deg,var(--hero-start),var(--hero-end))}
.color-variant .briefing .eyebrow,.color-variant .briefing-signature,.color-variant .briefing-signature>span{color:var(--accent-soft)}
.color-variant .briefing h2{color:var(--ink)}
.color-variant .briefing h2 em{color:var(--amber)}
.color-variant .briefing p{color:var(--soft-ink)}
.color-variant .briefing-art{border-left-color:var(--line-soft)}
.color-variant .art-caption,.color-variant .art-bottom{color:var(--soft-ink)}
.color-variant .art-bottom{border-top-color:var(--line-soft)}
.color-variant .quick-strip{background:var(--panel);border-color:var(--line)}
.color-variant .quick-strip>button:hover{background:var(--hover)}
.color-variant .quick-strip small,.color-variant .quick-strip>button>.icon{color:var(--dim)}
.color-variant .quick-icon{color:var(--lime)}
.color-variant .panel-heading .eyebrow{color:var(--dim)}
.color-variant .day-ribbon{background:var(--tint)}
.color-variant .day-number{color:var(--lime)}
.color-variant .day-ribbon small{color:var(--muted)}
.color-variant .day-ribbon .pill{background:var(--active)}
.color-variant .event-info>small,.color-variant .event-time small{color:var(--dim)}
.color-variant .panel-add{color:var(--accent-soft);border-top-color:var(--line)}
.color-variant .panel-add:hover{background:var(--hover)}
.color-variant .badge-icon{border-color:var(--edge);color:var(--lime)}
.color-variant .shopping-label,.color-variant .quantity,.color-variant .grocery-row small{color:var(--dim)}
.color-variant .progress-track{background:var(--line)}
.color-variant .progress-track>div{background:var(--lime)}
.color-variant .grocery-toggle{border-color:var(--edge)}
.color-variant .grocery-toggle:hover{border-color:var(--lime)}
.color-variant .grocery-row.done .grocery-toggle{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
.color-variant .grocery-row.done strong,.color-variant .grocery-row.done .quantity{color:var(--dim)}
.color-variant .dispatch{background:linear-gradient(110deg,var(--hero-start),var(--panel));border-color:var(--edge)}
.color-variant .dispatch-icon{background:var(--active);border-color:var(--edge);color:var(--lime)}
.color-variant .dispatch .eyebrow,.color-variant .dispatch p{color:var(--muted)}
.color-variant .dispatch .circle-btn{border-color:var(--edge)}
.color-variant .bill-nudge{background:var(--warm-bg);border-color:var(--warm-line)}
.color-variant .bill-nudge:hover{background:color-mix(in srgb,var(--warm-bg) 85%,var(--amber))}
.color-variant .bill-nudge-icon,.color-variant .bill-nudge-text small,.color-variant .bill-nudge-text>span,.color-variant .bill-nudge>.icon{color:var(--warm-ink)}

/* Calendar, shopping, and the ledger. */
.color-variant .integration-note{background:var(--tint);border-color:var(--line);color:var(--muted)}
.color-variant .calendar-week{background:var(--tint)}
.color-variant .calendar-week span,.color-variant .calendar-legend>span,.color-variant .calendar-events>small,.color-variant .aside-note{color:var(--muted)}
.color-variant .calendar-blank{background:var(--input)}
.color-variant .calendar-day:hover{background:var(--hover)}
.color-variant .calendar-day.selected{background:var(--active);box-shadow:inset 0 0 0 1px var(--lime)}
.color-variant .calendar-day .date-num{color:var(--soft-ink)}
.color-variant .calendar-day.today .date-num{background:var(--lime);color:var(--lime-ink)}
.color-variant .calendar-event.sage{background:var(--active);color:var(--accent-soft);border-color:var(--lime)}
.color-variant .mobile-event-dot{background:var(--lime)}
.color-variant .filter-tabs button{color:var(--muted)}
.color-variant .filter-tabs button[aria-pressed=true]{color:var(--lime)}
.color-variant .filter-tabs button[aria-pressed=true]:after{background:var(--lime)}
.color-variant .filter-tabs span{background:var(--active);color:var(--accent-soft)}
.color-variant .inline-add{border-color:var(--edge);background:var(--input)}
.color-variant .inline-add input{color:var(--ink)}
.color-variant .inline-add input::placeholder{color:var(--dim)}
.color-variant .inline-add .icon-btn{color:var(--lime)}
.color-variant .full-grocery-list .grocery-row{border-bottom-color:var(--line-soft)}
.color-variant .list-footer{color:var(--muted)}
.color-variant .meal-card{background:radial-gradient(ellipse at 90% 10%,var(--hero-glow),transparent 75%),var(--tint);border-color:var(--edge)}
.color-variant .meal-card>.icon{color:var(--amber)}
.color-variant .meal-card p,.color-variant .meal-card .eyebrow,.color-variant .quiet-panel p,.color-variant .future-label{color:var(--muted)}
.color-variant .meal-card .btn{background:var(--active);border-color:var(--edge)}
.color-variant .quiet-panel{border-color:var(--edge)}
.color-variant .ledger-stats>div{background:linear-gradient(115deg,var(--tint),var(--panel));border-color:var(--line)}
.color-variant .ledger-stats strong em,.color-variant .ledger-stats small{color:var(--muted)}
.color-variant .bill-table-head{background:var(--tint);color:var(--muted)}
.color-variant .provider-icon{background:var(--active);color:var(--lime);border-color:var(--edge)}
.color-variant .bill-provider small,.color-variant .bill-date{color:var(--muted)}
.color-variant .bill-status{background:var(--warm-bg);border-color:var(--warm-line);color:var(--warm-ink)}
.color-variant .bill-status.paid{background:var(--active);border-color:var(--edge);color:var(--accent-soft)}

/* Conversations, household, settings, and dialogs. */
.color-variant .thread.active{background:var(--active);box-shadow:inset 2px 0 var(--lime)}
.color-variant .thread-icon{background:var(--hover);color:var(--lime)}
.color-variant .thread small,.color-variant .thread-note,.color-variant .conversation-head p{color:var(--muted)}
.color-variant .conversation-banner{background:var(--tint);color:var(--accent-soft)}
.color-variant .conversation-banner span,.color-variant .message-day,.color-variant .message-meta time{color:var(--dim)}
.color-variant .message-meta strong{color:var(--soft-ink)}
.color-variant .message-meta>span{color:var(--accent-soft);border-color:var(--edge)}
.color-variant .message p{background:var(--tint);color:var(--soft-ink)}
.color-variant .message.mine p{background:var(--active);color:var(--ink)}
.color-variant .message.from-jeeves p{background:var(--warm-bg);color:var(--warm-ink);border-color:var(--warm-line)}
.color-variant .message.from-jeeves>.avatar{background:var(--warm-bg);color:var(--warm-ink)}
.color-variant .message-composer{background:var(--input);border-color:var(--input-border)}
.color-variant .message-composer textarea::placeholder{color:var(--dim)}
.color-variant .household-banner{background:radial-gradient(ellipse at right,var(--hero-glow),transparent 70%),var(--tint);border-color:var(--edge)}
.color-variant .household-banner .eyebrow,.color-variant .household-banner p,.color-variant .member-card p,.color-variant .family-note{color:var(--muted)}
.color-variant .household-seal{border-color:var(--lime);color:var(--accent-soft)}
.color-variant .invitation-row>.icon,.color-variant .settings-layout .panel-heading>.icon{color:var(--lime)}
.color-variant .invitation-row small,.color-variant .field{color:var(--muted)}
.color-variant .field input,.color-variant .field select,.color-variant .field textarea{background:var(--input);color:var(--ink);border-color:var(--input-border)}
.color-variant .field input::placeholder{color:var(--dim)}
.color-variant .readonly-field{background:var(--tint);color:var(--soft-ink);border-color:var(--line)}
.color-variant .connection-row:hover{background:var(--hover)}
.color-variant .connection-icon{background:var(--active);border-color:var(--edge);color:var(--lime)}
.color-variant .connection-row small,.color-variant .connection-row>.icon,.color-variant .data-panel p{color:var(--muted)}
.color-variant .connection-row em{color:var(--warm-ink)}
.color-variant .assistant-workspace{background:radial-gradient(ellipse at top right,var(--hero-glow),transparent 65%),var(--panel)}
.color-variant .assistant-ident span,.color-variant .assistant-message .chat-author{color:var(--accent-soft)}
.color-variant .assistant-ident i{background:var(--lime)}
.color-variant .assistant-message p{color:var(--soft-ink)}
.color-variant .assistant-message.from-user{background:var(--active);border-color:var(--edge)}
.color-variant .from-user .chat-author{color:var(--accent-soft)}
.color-variant .from-user p{color:var(--ink)}
.color-variant .prompt-suggestions button{background:var(--tint);color:var(--soft-ink);border-color:var(--line)}
.color-variant .prompt-suggestions button:hover{background:var(--hover);border-color:var(--edge)}
.color-variant .prompt-suggestions .icon{color:var(--lime)}
.color-variant .assistant-composer{background:var(--input);border-color:var(--lime)}
.color-variant .assistant-composer>input{color:var(--ink)}
.color-variant .assistant-composer>input::placeholder{color:var(--dim)}
.color-variant .send-btn{background:var(--lime);color:var(--lime-ink)}
.color-variant .send-btn:hover{background:var(--accent-hover)}
.color-variant .assistant-disclosure,.color-variant .assistant-bottom{color:var(--dim)}
.color-variant .proposed-action{background:var(--active);border-color:var(--edge)}
.color-variant .proposed-action>.icon{color:var(--lime)}
.color-variant .proposed-action p{color:var(--soft-ink)}
.color-variant .empty,.color-variant .empty p{color:var(--muted)}
.color-variant .empty>.icon,.color-variant .empty h3{color:var(--accent-soft)}
.color-variant .toast{background:var(--active);border-color:var(--lime);color:var(--ink)}
.color-variant dialog{background:var(--panel);border-color:var(--edge);color:var(--ink)}
.color-variant .modal-heading .eyebrow,.color-variant .modal-sub{color:var(--muted)}
.color-variant .modal-sub,.color-variant .modal-footer{border-color:var(--line)}
.color-variant .form-note,.color-variant .prose p{color:var(--muted)}
.color-variant .form-error{color:var(--warm-ink)}
.color-variant .quick-add-options button{border-color:var(--line)}
.color-variant .quick-add-options button:hover{background:var(--hover)}
.color-variant .quick-add-options small,.color-variant .quick-add-options button>.icon:last-child{color:var(--muted)}
.color-variant .quick-add-options button>.icon:first-child{color:var(--lime)}
.color-variant .member-choices{border-color:var(--edge)}
.color-variant .member-choices legend{color:var(--muted)}
.color-variant .member-choices input{accent-color:var(--lime)}
.color-variant .voice-illustration{background:var(--active);border-color:var(--lime)}
.color-variant .voice-illustration>.icon{color:var(--lime)}

/* Monochrome includes member markers and artwork; names and status labels
   continue to identify each person and state without relying on a hue. */
:root[data-palette="monochrome"] .avatar.peach{background:#282828;color:#ffffff;border-color:#737373}
:root[data-palette="monochrome"] .avatar.blue{background:#3a3a3a;color:#ffffff;border-color:#858585}
:root[data-palette="monochrome"] .avatar.lilac{background:#4c4c4c;color:#ffffff;border-color:#a0a0a0}
:root[data-palette="monochrome"] .event-rule.peach,:root[data-palette="monochrome"] .calendar-legend i.peach{background:#d0d0d0}
:root[data-palette="monochrome"] .event-rule.blue,:root[data-palette="monochrome"] .calendar-legend i.blue{background:#b0b0b0}
:root[data-palette="monochrome"] .event-rule.lilac,:root[data-palette="monochrome"] .calendar-legend i.lilac{background:#909090}
:root[data-palette="monochrome"] .calendar-event{background:#303030;color:#ffffff;border-color:#ffffff}
:root[data-palette="monochrome"] .calendar-event.peach{background:#282828;color:#ffffff;border-color:#d0d0d0}
:root[data-palette="monochrome"] .calendar-event.blue{background:#222222;color:#ffffff;border-color:#b0b0b0}
:root[data-palette="monochrome"] .calendar-event.lilac{background:#1c1c1c;color:#ffffff;border-color:#909090}
:root[data-palette="monochrome"] .grocery-row+.grocery-row{border-color:var(--line-soft)}
:root[data-palette="monochrome"] dialog::backdrop,:root[data-palette="monochrome"] .menu-shade{background:#000b}

/* The palette control is available on every screen, including phones. */
.palette-trigger{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);font-size:10px;white-space:nowrap}
.palette-trigger:hover{border-color:var(--lime);background:var(--panel-2)}
.palette-dots{display:flex;align-items:center;padding-left:3px}
.palette-dots i{width:10px;height:10px;display:block;margin-left:-3px;border:1px solid var(--panel);border-radius:50%}
.palette-options{padding:17px;display:grid;gap:10px}
.palette-option{display:flex;gap:17px;align-items:center;width:100%;padding:15px;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:7px}
.palette-option:hover{border-color:var(--lime)}
.palette-option[aria-pressed=true]{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}
.palette-preview{display:block;width:77px;height:73px;flex:none;background:var(--preview-bg);border:1px solid #ffffff20;border-radius:5px;position:relative;overflow:hidden}
.palette-preview i{position:absolute;display:block;border-radius:2px}
.palette-preview i:nth-child(1){background:var(--preview-accent);width:17px;height:52px;top:10px;left:8px;opacity:.75}
.palette-preview i:nth-child(2){background:var(--preview-ink);width:32px;height:5px;left:34px;top:17px}
.palette-preview i:nth-child(3){background:var(--preview-warm);width:22px;height:5px;left:34px;top:28px}
.palette-preview i:nth-child(4){background:var(--preview-accent);width:24px;height:13px;left:34px;top:46px}
.palette-description{min-width:0;flex:1}
.palette-description strong{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:500;color:var(--ink)}
.palette-description strong em{font:6px Plex,monospace;font-style:normal;color:var(--lime);padding:3px 5px;border:1px solid var(--line);border-radius:3px;letter-spacing:.04em}
.palette-description>span{display:block;color:var(--muted);font-size:10px;margin-top:6px;line-height:1.7}
.palette-description small{display:block;color:var(--dim);font-size:10px;line-height:1.7;margin-top:4px}
.palette-choice{width:23px;height:23px;display:grid;place-items:center;flex:none;color:var(--lime)}
.palette-choice>.icon{width:17px;height:17px}
@media(max-width:1100px){.topbar-right{gap:12px}.top-date{display:none}}
@media(max-width:760px){
  .color-variant .mobile-nav{background:color-mix(in srgb,var(--sidebar) 96%,transparent);border-color:var(--edge)}
  .color-variant .mobile-nav a{color:var(--muted)}
  .color-variant .mobile-nav a[aria-current]{color:var(--lime);background:var(--tint)}
  .color-variant .mobile-nav a[aria-current]:before{background:var(--lime)}
  .color-variant .thread.active{box-shadow:inset 0 -2px var(--lime)}
}
@media(max-width:560px){
  .palette-trigger{padding:7px 8px;gap:5px;min-height:36px;font-size:9px}
  .palette-dots i{width:9px;height:9px}.topbar-right{gap:9px}.topbar-right .preview-chip{display:none}
  .palette-options{padding:14px;gap:10px}.palette-option{gap:12px;padding:13px 12px}
  .palette-preview{width:61px;height:73px}.palette-preview i:nth-child(n+2){left:29px}.palette-preview i:nth-child(2){width:23px}
  .palette-preview i:nth-child(3){width:16px}.palette-preview i:nth-child(4){width:20px}
  .palette-description strong{font-size:13px}.palette-description>span,.palette-description small{font-size:9px}.palette-description strong em{font-size:5px}
  .palette-choice{width:17px}.palette-choice>.icon{width:15px}
}
