/* Generated from server/assets/ruffo-ui.json; run server/scripts/generate-ui-theme.mjs. */

:root,:root[data-ruffo-theme="blueWhite"]{color-scheme:light;--bg:#FFFFFF;--sidebar:#EEF4FC;--surface:#F4F8FE;--ink:#18324F;--muted:#52677F;--line:#D8E4F2;--accent:#245AAA;--pale:#E7F0FF;--primary:#285FC2;--on-primary:#FFFFFF;--scrim:#18324F59;--amber:#285FC2;--danger:#A94035;--danger-light:#FFF3F0;--success:#396347;--success-light:#EDF5EE}
:root[data-ruffo-theme="starryBlue"]{color-scheme:dark;--bg:#172336;--sidebar:#1D2C41;--surface:#24364D;--ink:#EDF2F7;--muted:#B2BFD0;--line:#3C4E65;--accent:#A6C6DF;--pale:#2A4059;--primary:#4E7198;--on-primary:#FFFFFF;--scrim:#0B152B99;--amber:#4E7198;--danger:#FF9A9A;--danger-light:#3C2030;--success:#8ED8B1;--success-light:#143A32}
:root[data-ruffo-theme="sakuraPink"]{color-scheme:light;--bg:#FFFFFF;--sidebar:#FFEFF5;--surface:#FFF4F8;--ink:#492938;--muted:#856372;--line:#F0D7E2;--accent:#AA3869;--pale:#FBE2ED;--primary:#C4467C;--on-primary:#FFFFFF;--scrim:#23151F59;--amber:#C4467C;--danger:#A94035;--danger-light:#FFF3F0;--success:#396347;--success-light:#EDF5EE}
:root[data-ruffo-theme="mintGreen"]{color-scheme:light;--bg:#FFFFFF;--sidebar:#F0F6F2;--surface:#F5FAF6;--ink:#344E42;--muted:#5F7469;--line:#D7E7DC;--accent:#477461;--pale:#E5F0E8;--primary:#527C66;--on-primary:#FFFFFF;--scrim:#172A2059;--amber:#527C66;--danger:#A94035;--danger-light:#FFF3F0;--success:#396347;--success-light:#EDF5EE}
:root[data-ruffo-theme="lavenderPurple"]{color-scheme:light;--bg:#FFFFFF;--sidebar:#F4F0FA;--surface:#FAF7FD;--ink:#4A405C;--muted:#756781;--line:#E5DCEE;--accent:#77618F;--pale:#EDE4F6;--primary:#84689D;--on-primary:#FFFFFF;--scrim:#2B203959;--amber:#84689D;--danger:#A94035;--danger-light:#FFF3F0;--success:#396347;--success-light:#EDF5EE}
:root[data-ruffo-theme="apricotCream"]{color-scheme:light;--bg:#FFFFFF;--sidebar:#FBF3E9;--surface:#FFFAF3;--ink:#5B4636;--muted:#806750;--line:#EEE1D1;--accent:#906542;--pale:#F6E8D5;--primary:#956A47;--on-primary:#FFFFFF;--scrim:#33231959;--amber:#956A47;--danger:#A94035;--danger-light:#FFF3F0;--success:#396347;--success-light:#EDF5EE}
:root{--font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.theme-choice[data-style=blueWhite]{--preview-bg:#FFFFFF;--preview-sidebar:#EEF4FC;--preview-surface:#F4F8FE;--preview-line:#D8E4F2;--preview-primary:#285FC2;--preview-ink:#18324F}
.theme-choice[data-style=starryBlue]{--preview-bg:#172336;--preview-sidebar:#1D2C41;--preview-surface:#24364D;--preview-line:#3C4E65;--preview-primary:#4E7198;--preview-ink:#EDF2F7}
.theme-choice[data-style=sakuraPink]{--preview-bg:#FFFFFF;--preview-sidebar:#FFEFF5;--preview-surface:#FFF4F8;--preview-line:#F0D7E2;--preview-primary:#C4467C;--preview-ink:#492938}
.theme-choice[data-style=mintGreen]{--preview-bg:#FFFFFF;--preview-sidebar:#F0F6F2;--preview-surface:#F5FAF6;--preview-line:#D7E7DC;--preview-primary:#527C66;--preview-ink:#344E42}
.theme-choice[data-style=lavenderPurple]{--preview-bg:#FFFFFF;--preview-sidebar:#F4F0FA;--preview-surface:#FAF7FD;--preview-line:#E5DCEE;--preview-primary:#84689D;--preview-ink:#4A405C}
.theme-choice[data-style=apricotCream]{--preview-bg:#FFFFFF;--preview-sidebar:#FBF3E9;--preview-surface:#FFFAF3;--preview-line:#EEE1D1;--preview-primary:#956A47;--preview-ink:#5B4636}
:root{font-family:var(--font-family);color:var(--ink);background:var(--bg)}
.primary{background:var(--primary);color:var(--on-primary)}
dialog:has(.appearance-settings){width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px 24px 24px}
.appearance-settings header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.appearance-settings header h2{font-size:18px;margin:0;font-weight:600}
.appearance-settings header button{min-width:44px;min-height:44px;margin:-8px -10px -8px 0;font-size:24px}
.appearance-settings h3{font-size:13px;font-weight:500;margin:0 0 12px}
.theme-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}
.theme-choice{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding:6px;border:1px solid transparent;border-radius:10px;text-align:left;background:transparent;color:var(--ink);font-size:13px;white-space:nowrap}
.theme-choice[aria-pressed=true]{border-color:var(--accent);background:var(--surface)}
.theme-swatch{flex:0 0 20px;width:20px;height:20px;border:1px solid var(--preview-line);border-radius:50%;background:linear-gradient(135deg,var(--preview-bg) 50%,var(--preview-primary) 50%)}
@media(max-width:400px){dialog:has(.appearance-settings){padding:18px 16px 20px}.theme-choices{gap:4px}.theme-choice{gap:5px;padding:5px 3px;font-size:12px}.theme-swatch{flex-basis:18px;width:18px;height:18px}}
#appearance-effects{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
#appearance-effects i{position:absolute;display:none}
#appearance-effects .star{width:var(--size);height:var(--size);border-radius:50%;background:var(--accent);opacity:.28}
#appearance-effects .petal{width:var(--size);height:calc(var(--size)*1.4);border-radius:85% 15% 75% 25%;background:var(--primary);opacity:.24;transform:rotate(var(--turn))}
:root[data-ruffo-theme=starryBlue] body{background:radial-gradient(ellipse at 75% 0%,var(--pale),var(--bg));isolation:isolate}
:root[data-ruffo-theme=sakuraPink] body{background:var(--bg);isolation:isolate}
:root[data-ruffo-theme=starryBlue] #appearance-effects .star{display:block;animation:ruffo-star 12s ease-in-out 1 forwards}
:root[data-ruffo-theme=sakuraPink] #appearance-effects .petal{display:block;animation:ruffo-petal 12s ease-in-out 1 forwards}
@keyframes ruffo-star{50%{opacity:.4}to{transform:translate(6px,-16px);opacity:.28}}
@keyframes ruffo-petal{to{transform:translate(10px,56px) rotate(calc(var(--turn) + 38deg))}}
@media(prefers-reduced-motion:reduce){#appearance-effects i{animation:none!important}}
