/* Common account controls. No avatar frames or user uploads. */
:root{--pesev-green:#067057;--pesev-green-soft:#e6f6ef;--pesev-red:#b72d42;--pesev-red-soft:#fff0f1;--pesev-amber:#855b17;--pesev-amber-soft:#fff7e9;--pesev-line-header:var(--pesev-line);--pesev-hover-tint:var(--pesev-soft);--pesev-focus-ring:#8d867a;--pesev-link:var(--pesev-accent)}
:root,html[data-pesev-palette=chaud]{--pesev-page:#f7f5f1;--pesev-surface:#fffefc;--pesev-surface-alt:#f1eee7;--pesev-ink:#1d1b18;--pesev-muted:#6b655c;--pesev-line:#e4dfd6;--pesev-accent:#23211e;--pesev-accent-deep:#0f0e0c;--pesev-soft:#efebe3;--pesev-brand:#d52b1e;--pesev-link:var(--pesev-accent)}
html[data-pesev-palette=sable]{--pesev-page:#f6f1e7;--pesev-surface:#fffdf8;--pesev-surface-alt:#efe8d9;--pesev-ink:#231d12;--pesev-muted:#6e644d;--pesev-line:#e3d9c4;--pesev-accent:#3a2f1c;--pesev-accent-deep:#1d1709;--pesev-soft:#ece3cf;--pesev-brand:#c8321e;--pesev-link:var(--pesev-accent)}
html[data-pesev-palette=pierre]{--pesev-page:#f3f4f2;--pesev-surface:#fdfdfc;--pesev-surface-alt:#eceeea;--pesev-ink:#1b1f1c;--pesev-muted:#646b64;--pesev-line:#dde0da;--pesev-accent:#2a332d;--pesev-accent-deep:#131814;--pesev-soft:#e6eae4;--pesev-brand:#d52b1e;--pesev-link:var(--pesev-accent)}
html[data-pesev-palette=olive]{--pesev-page:#f5f4ec;--pesev-surface:#fffffa;--pesev-surface-alt:#eeecdd;--pesev-ink:#1f2117;--pesev-muted:#67695a;--pesev-line:#e0decb;--pesev-accent:#3e4a26;--pesev-accent-deep:#2a3318;--pesev-soft:#e8ebd5;--pesev-brand:#d52b1e;--pesev-link:var(--pesev-accent)}
html[data-pesev-palette=nuit]{--pesev-page:#f5f5f2;--pesev-surface:#fffffe;--pesev-surface-alt:#eeeeea;--pesev-ink:#14213d;--pesev-muted:#5a6478;--pesev-line:#dfe0dc;--pesev-accent:#14213d;--pesev-accent-deep:#0a1428;--pesev-soft:#e8ebf2;--pesev-brand:#d52b1e;--pesev-link:var(--pesev-accent)}
html[data-pesev-palette=terre]{--pesev-page:#f8f3ee;--pesev-surface:#fffdfa;--pesev-surface-alt:#f2e9e0;--pesev-ink:#2a1c16;--pesev-muted:#786356;--pesev-line:#e8dccf;--pesev-accent:#b4472a;--pesev-accent-deep:#96371e;--pesev-soft:#f6e4da;--pesev-brand:#b4472a;--pesev-link:#ad4328}
html[data-pesev-palette=prune]{--pesev-page:#f8f2f1;--pesev-surface:#fffcfb;--pesev-surface-alt:#f2e8e6;--pesev-ink:#2b1d20;--pesev-muted:#776166;--pesev-line:#eadcda;--pesev-accent:#7d2a3c;--pesev-accent-deep:#5e1d2c;--pesev-soft:#f4e3e4;--pesev-brand:#d52b1e;--pesev-link:var(--pesev-accent)}
html[data-pesev-accent=violet]{--pesev-accent:#7040cc;--pesev-accent-deep:#5a2fa9;--pesev-link:#6434ba;--pesev-soft:#f1eaff}
html[data-pesev-accent=green]{--pesev-accent:#08775b;--pesev-accent-deep:#066048;--pesev-link:#076b52;--pesev-soft:#e4f5ee}
html[data-pesev-accent=rose]{--pesev-accent:#b42e60;--pesev-accent-deep:#97264f;--pesev-link:#a32656;--pesev-soft:#ffedf3}
html[data-pesev-theme=dark]{color-scheme:dark;--pesev-brand:#ff6b5e;--pesev-accent:#3456e9;--pesev-accent-deep:#2542c7;--pesev-page:#0e1828;--pesev-surface:#18263b;--pesev-surface-alt:#22324b;--pesev-ink:#edf2fb;--pesev-muted:#b2c0d6;--pesev-line:#3a4c68;--pesev-link:#b2c1ff;--pesev-soft:#283a65;--pesev-green:#66dfb6;--pesev-green-soft:#193e37;--pesev-red:#ffa3b2;--pesev-red-soft:#472b39;--pesev-amber:#f4cd83;--pesev-amber-soft:#41382a}
html[data-pesev-theme=dark][data-pesev-accent=violet]{--pesev-accent:#7040cc;--pesev-accent-deep:#5a2fa9;--pesev-link:#d4b8ff;--pesev-soft:#382c56}
html[data-pesev-theme=dark][data-pesev-accent=green]{--pesev-accent:#08775b;--pesev-accent-deep:#066048;--pesev-link:#80e3c4;--pesev-soft:#193e37}
html[data-pesev-theme=dark][data-pesev-accent=rose]{--pesev-accent:#b42e60;--pesev-accent-deep:#97264f;--pesev-link:#ffb6d0;--pesev-soft:#472b40}
[hidden]{display:none!important}
.pesev-account-navigation{display:flex;align-items:stretch;position:relative;gap:4px;min-width:0;max-width:100%}
.pesev-menu-trigger{display:grid;place-items:center;width:44px;min-height:48px;flex-shrink:0;border:1px solid var(--pesev-line);background:var(--pesev-surface);color:var(--pesev-link);border-radius:12px;padding:10px;cursor:pointer}
.pesev-menu-trigger svg,.pesev-favorite svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pesev-menu-trigger:focus-visible,.pesev-account-menu :focus-visible,.pesev-preferences :focus-visible,.pesev-favorite:focus-visible,.pesev-welcome a:focus-visible{outline:3px solid var(--pesev-link);outline-offset:3px}
.pesev-menu-trigger[aria-expanded=true]{background:var(--pesev-soft)}
.pesev-account-menu{position:absolute;right:0;top:calc(100% + 10px);width:min(350px,calc(100vw - 32px));max-height:calc(100dvh - 150px);overflow:auto;z-index:150;border:1px solid var(--pesev-line);border-radius:18px;background:var(--pesev-surface);color:var(--pesev-ink);box-shadow:0 18px 55px #0003;padding:12px;text-align:left;white-space:normal;line-height:1.5}
.pesev-menu-heading{padding:9px 10px 12px;border-bottom:1px solid var(--pesev-line);margin-bottom:7px}.pesev-menu-heading strong{display:block;overflow-wrap:anywhere;font-size:16px}.pesev-menu-heading>span{font-size:12px;color:var(--pesev-muted)}
.pesev-account-menu>a,.pesev-account-menu>button{display:flex;width:100%;align-items:center;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--pesev-ink);padding:10px;text-decoration:none;cursor:pointer;font:inherit;font-weight:600;text-align:left}
.pesev-account-menu>a:hover,.pesev-account-menu>button:hover{background:var(--pesev-soft);color:var(--pesev-link)}.pesev-account-menu .pesev-menu-logout{border-top:1px solid var(--pesev-line);border-radius:0;margin-top:5px;color:var(--pesev-red)}
.pesev-preferences{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--pesev-surface-alt);color:var(--pesev-ink);border:1px solid var(--pesev-line);border-radius:14px;padding:16px;margin:12px 0 18px;text-align:left;min-width:0}
.pesev-account-menu .pesev-preferences{padding:12px;margin:8px 0;border:0}
.pesev-preferences h3{font-size:14px;font-weight:750;margin:0 0 4px;color:var(--pesev-ink)}.pesev-pref-help{font-size:12px;color:var(--pesev-muted);margin:0 0 12px}
/* Day/night switch: rightmost header control, same footprint as the header links. */
.pesev-theme-switch{box-sizing:border-box;display:inline-grid;place-items:center;flex:none;width:48px;height:48px;min-height:48px;padding:0;border:1px solid var(--pesev-line);border-radius:12px;background:var(--pesev-surface);color:var(--pesev-link);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 160ms ease-out,background 160ms ease-out}
.pesev-theme-switch[hidden]{display:none}
.pesev-theme-switch svg{width:22px;height:22px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pesev-theme-switch :is(.pesev-sun,.pesev-moon){transform-box:view-box;transform-origin:12px 12px;transition:transform 520ms cubic-bezier(.34,1.4,.5,1),opacity 220ms ease-out}
.pesev-theme-switch .pesev-moon{opacity:0;transform:rotate(-80deg) scale(.35)}
html[data-pesev-theme=dark] .pesev-theme-switch .pesev-sun{opacity:0;transform:rotate(100deg) scale(.35)}
html[data-pesev-theme=dark] .pesev-theme-switch .pesev-moon{opacity:1;transform:none}
.pesev-theme-switch:active{transform:scale(.92)}
.pesev-theme-switch:focus-visible{outline:3px solid var(--pesev-link);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.pesev-theme-switch:hover{background:var(--pesev-soft)}}
@media(max-width:760px){html[data-pesev-page=home] .pesev-theme-switch{width:44px;height:44px;min-height:44px}}
/* Narrow tool pages: the switch takes the top-right corner of the brand row; the links row stays unchanged. */
@media(max-width:600px){html:not([data-pesev-page=home]) .pesev-header-links>.pesev-theme-switch{position:absolute;top:16px;right:16px;width:44px;height:44px;min-height:44px}html:not([data-pesev-page=home]) .pesev-site-header:has(.pesev-theme-switch:not([hidden]))>.pesev-tool-brand{padding-right:56px}}
.pesev-preferences fieldset{border:0;padding:0;margin:12px 0 0;min-width:0}.pesev-preferences legend{padding:0;margin-bottom:7px;font-size:12px;font-weight:700;color:var(--pesev-muted)}.pesev-accent-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pesev-accent-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:57px;background:var(--pesev-surface);border:1px solid var(--pesev-line);border-radius:10px;color:var(--pesev-ink);font-size:11px;padding:7px 3px;cursor:pointer;box-shadow:none}.pesev-accent-choice>span:first-child{width:16px;height:16px;border-radius:50%;background:#3456e9}.pesev-accent-choice[data-pesev-accent-choice=violet]>span:first-child{background:#7040cc}.pesev-accent-choice[data-pesev-accent-choice=green]>span:first-child{background:#08775b}.pesev-accent-choice[data-pesev-accent-choice=rose]>span:first-child{background:#b42e60}.pesev-accent-choice[aria-pressed=true]{border:2px solid var(--pesev-link);padding:6px 2px;background:var(--pesev-soft);font-weight:700}.pesev-accent-choice:disabled{cursor:wait;opacity:.6}
.pesev-pref-status{font-size:12px;color:var(--pesev-muted);min-height:0;margin:8px 0 0;overflow-wrap:anywhere}.pesev-pref-status:empty{display:none}.pesev-pref-status[data-error=true]{color:var(--pesev-red)}
.pesev-favorite{display:inline-grid;place-items:center;width:44px;height:44px;padding:10px;flex:none;border:1px solid var(--pesev-line);border-radius:12px;background:var(--pesev-surface);color:var(--pesev-muted);cursor:pointer;z-index:1}.pesev-favorite[aria-pressed=true]{color:var(--pesev-link);background:var(--pesev-soft);border-color:var(--pesev-link)}.pesev-favorite[aria-pressed=true] svg{fill:currentColor;stroke-width:1.4}.pesev-favorite:hover{transform:scale(1.04)}
html[data-pesev-page=home] .card-top{gap:7px}html[data-pesev-page=home] .tag{margin-left:auto;padding:6px 8px;font-size:10px}html[data-pesev-page=home] .card-content{padding-top:18px}
.pesev-welcome{display:flex;align-items:flex-start;gap:25px;padding:45px 0 38px;color:var(--pesev-ink)}.pesev-welcome>div:first-child{flex:none;line-height:0}.pesev-welcome-content{min-width:0}.pesev-welcome-content>p{font-size:11px;font-weight:750;letter-spacing:1px;text-transform:uppercase;color:var(--pesev-link);margin:0 0 8px}.pesev-welcome h1{font-size:clamp(26px,4vw,43px);line-height:1.2;letter-spacing:-1px;margin:0 0 9px;overflow-wrap:anywhere}.pesev-welcome-content>span{color:var(--pesev-muted);font-size:14px}.pesev-welcome nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.pesev-welcome a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;background:var(--pesev-soft);border:1px solid var(--pesev-line);border-radius:12px;font-size:13px;font-weight:700;color:var(--pesev-link);text-decoration:none}
@media(hover:hover){html[data-pesev-page=home] .card{transition:transform .2s,box-shadow .2s}}
@media(max-width:600px){.pesev-welcome{padding:30px 0;gap:15px;align-items:flex-start}.pesev-welcome .pesev-avatar{width:62px;height:62px}.pesev-welcome-content>span{font-size:12px}.pesev-welcome a{padding:8px 12px}.pesev-welcome h1{letter-spacing:-.7px}}
@media(max-width:380px){.pesev-site-header .pesev-home-link>span{display:none}.pesev-site-header .pesev-home-link{width:48px;padding:10px}html[data-pesev-page=home] .card-content{padding-left:18px;padding-right:18px}}
@media print{.pesev-welcome,.pesev-favorite,.pesev-preferences{display:none!important}}

/* Seven palette swatches; the historical blue id now selects the palette accent. */
.pesev-palette-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pesev-palette-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:60px;background:var(--pesev-surface);border:1px solid var(--pesev-line);border-radius:10px;color:var(--pesev-ink);font-size:11px;padding:7px 3px;cursor:pointer}
/* The ring is an inset shadow: a border would make the gradient tile underneath it. */
.pesev-palette-choice>span:first-child{flex:none;width:22px;height:22px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--swatch-page) calc(50% - .5px),var(--swatch-accent) calc(50% + .5px)) no-repeat;box-shadow:inset 0 0 0 1px #0000002b}
[data-pesev-palette-choice=chaud]{--swatch-page:#f7f5f1;--swatch-accent:#23211e}
[data-pesev-palette-choice=sable]{--swatch-page:#f6f1e7;--swatch-accent:#3a2f1c}
[data-pesev-palette-choice=pierre]{--swatch-page:#f3f4f2;--swatch-accent:#2a332d}
[data-pesev-palette-choice=olive]{--swatch-page:#f5f4ec;--swatch-accent:#3e4a26}
[data-pesev-palette-choice=nuit]{--swatch-page:#f5f5f2;--swatch-accent:#14213d}
[data-pesev-palette-choice=terre]{--swatch-page:#f8f3ee;--swatch-accent:#b4472a}
[data-pesev-palette-choice=prune]{--swatch-page:#f8f2f1;--swatch-accent:#7d2a3c}
.pesev-palette-choice[aria-pressed=true]{outline:2px solid var(--pesev-link);outline-offset:-2px;background:var(--pesev-soft);font-weight:700}.pesev-palette-choice:disabled{cursor:wait;opacity:.6}.pesev-accent-choice[data-pesev-accent-choice=blue]>span:first-child{background:var(--pesev-ink)}

@media(max-width:760px){html[data-pesev-page=home] .pesev-account-link:not(:has(.pesev-avatar))::before{content:"";width:22px;height:22px;background:var(--pesev-link);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3Cpath d='M6.2 18.2c1.2-2.3 3.2-3.4 5.8-3.4s4.6 1.1 5.8 3.4'/%3E%3C/svg%3E") center/contain no-repeat}}
