/* Themes grounded in design/v2/personal-settings-higgsfield.webp. */
:root{--settings-card-gap:14px;--theme-preview-height:112px;--settings-control-gap:20px;--theme-focus:3px;--personal-text:16px;--theme-on-accent:#fff}
:root[data-theme=default],[data-swatch=default]{--canvas:#f6f7fc;--surface:#fff;--ink:#20253b;--muted:#657087;--teal:#4b52ce;--teal-dark:#3d42ab;--mint:#eeeefb;--line:#dfe2ee;--composer-accent:var(--mint);--density-background:var(--mint)}
:root[data-theme=calm],[data-swatch=calm]{--canvas:#f1f6f1;--surface:#fcfefb;--ink:#223b31;--muted:#5f7367;--teal:#28654e;--teal-dark:#20543e;--mint:#e6f0e6;--line:#d4e1d4;--composer-accent:var(--mint);--density-background:var(--mint)}
:root[data-theme=vibrant],[data-swatch=vibrant]{--canvas:#fff6ef;--surface:#fffcf8;--ink:#24404a;--muted:#6b7175;--teal:#087b8e;--teal-dark:#066576;--mint:#ffeadb;--line:#eddccd;--composer-accent:var(--mint);--density-background:var(--mint)}
:root[data-theme=passion],[data-swatch=passion]{color-scheme:dark;--canvas:#211016;--surface:#30151f;--ink:#fff1e8;--muted:#d5b3ba;--teal:#f1b295;--teal-dark:#ffd1b6;--mint:#4a202b;--line:#69404b;--negative:#ffb2b2;--theme-on-accent:#30151f;--shadow:0 8px 30px #0004;--composer-accent:var(--mint);--density-background:var(--mint)}
:root[data-theme=sensual],[data-swatch=sensual]{color-scheme:dark;--canvas:#1a1025;--surface:#271a35;--ink:#f9efff;--muted:#c9b3d8;--teal:#efabd7;--teal-dark:#ffc6e9;--mint:#42284e;--line:#644773;--negative:#ffb2c1;--theme-on-accent:#291631;--shadow:0 8px 30px #0005;--composer-accent:var(--mint);--density-background:var(--mint)}
:root[data-theme=neon],[data-swatch=neon]{color-scheme:dark;--canvas:#071222;--surface:#0d1d31;--ink:#edfaff;--muted:#abc4dc;--teal:#5be0dd;--teal-dark:#91f7e5;--mint:#15354a;--line:#31556b;--negative:#ffb4bd;--theme-on-accent:#071222;--shadow:0 8px 30px #0005;--composer-accent:var(--mint);--density-background:var(--mint)}
:root[data-theme=default],:root[data-theme=calm],:root[data-theme=vibrant]{color-scheme:light}
:root[data-theme] body{background:var(--canvas);color:var(--ink)}
:root[data-theme] .primary{background:var(--teal);color:var(--theme-on-accent)}
:root[data-theme] :is(input,textarea,select){background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme] :is(.callout,.badge.mint,.evaluation){background:var(--mint);color:var(--teal-dark);border-color:var(--line)}
:root[data-theme] .secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme] :is(.quiet,.review-preview-copy h3 button,.review-board button){color:var(--ink)}
:root[data-theme] .brand{color:var(--ink)}
:root[data-theme] .brand-mark{background:#fff;border-radius:8px;padding:3px}
:root[data-theme] .nav-item.active{background:var(--mint);color:var(--teal-dark)}
:root[data-theme] .theme-card{color:var(--ink)}
:root[data-text-size=large]{--personal-text:18px;--chat-text-font:19px;--review-text-size:18px;--font-small:15px;--density-text:17px}
:root[data-text-size=large] :is(.panel p,.review-body,.review-excerpt,.personal-toggle,.personal-controls,.chat-tools,.activity-note p){font-size:var(--personal-text)}
:root[data-density=compact]{--density-gap:12px;--density-pad:14px;--density-header-pad:14px;--density-item-pad:10px;--chat-pad:14px;--settings-control-gap:14px}
:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] *::before,:root[data-reduced-motion=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.ui-symbol{display:block;width:22px;height:22px;flex:none}
.sidebar-session-actions{display:flex;gap:8px;margin-top:12px}
.session-badge{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:10px;min-height:var(--touch);font-size:12px;cursor:pointer}
.session-badge:hover{background:var(--mint);border-color:var(--teal)}
.session-badge .ui-symbol{background:var(--mint);border-radius:50%;box-sizing:content-box;padding:5px;color:var(--teal)}
.personal-settings-page{display:grid;gap:var(--settings-control-gap);max-width:960px;margin:auto}
.theme-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--settings-card-gap);margin:0}
.theme-card{position:relative;display:grid!important;gap:6px;padding:12px!important;border:1px solid var(--line);border-radius:16px;cursor:pointer;background:var(--surface);margin:0!important;overflow:hidden}
.theme-card:has(input:checked){outline:var(--theme-focus) solid var(--teal);outline-offset:2px}
.theme-card input{position:absolute;top:18px;right:18px;width:18px;height:18px;min-height:0;accent-color:var(--teal);z-index:1}
.theme-card strong{font-size:15px}.theme-card small{font-size:12px;color:var(--muted)}
.theme-miniature{display:flex;gap:10px;background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:12px;height:var(--theme-preview-height);color:var(--ink)}
.theme-mini-sidebar{width:20%;border-right:1px solid var(--line);background:linear-gradient(var(--mint),var(--surface));border-radius:4px}
.theme-mini-content{flex:1;display:flex;flex-direction:column;gap:8px;justify-content:center}
.theme-mini-content i{height:12px;width:76%;border-radius:6px;background:var(--mint)}
.theme-mini-content i:nth-child(2){align-self:flex-end;background:var(--teal);width:60%}
.theme-mini-content>span{margin-top:8px;height:24px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:flex-end;padding-right:4px;background:var(--surface)}
.theme-mini-content b{display:grid;place-items:center;width:18px;height:18px;background:var(--teal);color:var(--theme-on-accent);border-radius:50%}
.personal-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--settings-control-gap)}
.personal-controls label{display:block;margin-top:16px;font-size:14px}.personal-controls select{margin-top:8px}
.personal-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:18px;margin:18px 0 0!important;font-size:14px}
.personal-toggle small{display:block;color:var(--muted);font-weight:400;margin-top:4px}
.personal-toggle input{width:22px;height:22px;min-height:0;flex:none;accent-color:var(--teal)}
.personal-save-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);position:sticky;bottom:12px;z-index:5}
@media(max-width:767px){.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-controls{grid-template-columns:1fr}.personal-save-bar{bottom:calc(var(--mobile-nav) + env(safe-area-inset-bottom));flex-wrap:wrap}.theme-miniature{height:92px;padding:8px}.theme-card{padding:9px!important}.theme-card input{top:14px;right:14px}}

/* A full logout label and a compact adjacent settings badge fit the sidebar. */
.session-badge.settings-badge{flex:none;width:48px;padding:6px}
.session-badge:not(.settings-badge){white-space:nowrap}
[data-swatch=default],[data-swatch=calm],[data-swatch=vibrant]{--theme-on-accent:#fff}
/* Keep account controls visible on shorter desktop/tablet windows. */
.sidebar{overflow:hidden}
.sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.sidebar-bottom{margin-top:var(--density-small-gap);padding-top:var(--density-small-gap)}
