/* Shared theme contract: sites own their untouched :root defaults. */
html[data-theme-picker-builtins][data-theme="nocturnal"] {
  color-scheme: dark;
  --bg:#08070a;--surface:#19121c;--text:#f7efe4;--muted:#c7b8c4;
  --accent:#6dd5cf;--accent-2:#ac82b3;--ok:#74d9cf;--warn:#ead9ad;
  --bad:#ff7895;--radius:18px;
}
html[data-theme-picker-builtins][data-theme="daylight"] {
  color-scheme: light;
  --bg:#f5f7fb;--surface:#fff;--text:#18202a;--muted:#566270;
  --accent:#006d77;--accent-2:#6842a8;--ok:#087f5b;--warn:#8a5700;
  --bad:#b4233c;--radius:14px;
}
html[data-theme-picker-builtins][data-theme="high-contrast"] {
  color-scheme: dark;
  --bg:#000;--surface:#111;--text:#fff;--muted:#e6e6e6;
  --accent:#00ffff;--accent-2:#ffff00;--ok:#6dff6d;--warn:#ffff00;
  --bad:#ff5c8a;--radius:4px;
}
html[data-theme-picker-builtins][data-theme="forest"] {
  color-scheme: dark;
  --bg:#09140f;--surface:#14241a;--text:#eef7ed;--muted:#b8cbb8;
  --accent:#75d69c;--accent-2:#d6b36a;--ok:#75d69c;--warn:#f0c96d;
  --bad:#ff7b79;--radius:16px;
}
html[data-theme-picker-builtins][data-theme="ocean"] {
  color-scheme: dark;
  --bg:#061520;--surface:#102a3a;--text:#eef9ff;--muted:#b3cad8;
  --accent:#65d6e8;--accent-2:#8da2ff;--ok:#6ed9b2;--warn:#ffd27a;
  --bad:#ff7f9f;--radius:16px;
}

.theme-picker {
  --theme-picker-offset-x:16px;
  --theme-picker-offset-y:16px;
  --theme-picker-z:1000;
  --theme-picker-control:44px;
  align-items:center;
  color:var(--text, #f7efe4);
  display:flex;
  flex-wrap:wrap;
  font:600 14px/1.25 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  gap:.5rem;
  z-index:var(--theme-picker-z);
}
.theme-picker--small{--theme-picker-control:36px;font-size:12px}
.theme-picker--large{--theme-picker-control:52px;font-size:16px}
.theme-picker--top-left,.theme-picker--top-right,.theme-picker--bottom-left,.theme-picker--bottom-right{position:fixed}
.theme-picker--top-left{left:var(--theme-picker-offset-x);top:var(--theme-picker-offset-y)}
.theme-picker--top-right{right:var(--theme-picker-offset-x);top:var(--theme-picker-offset-y)}
.theme-picker--bottom-left{bottom:var(--theme-picker-offset-y);left:var(--theme-picker-offset-x)}
.theme-picker--bottom-right{bottom:var(--theme-picker-offset-y);right:var(--theme-picker-offset-x)}
.theme-picker--inline,.theme-picker--inside{position:relative}
.theme-picker--footer{justify-content:center;position:relative;width:100%}
.theme-picker__controls{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;max-width:100%;position:relative}
.theme-picker__label{font-weight:800;letter-spacing:.04em}
.theme-picker__select,.theme-picker__revert,.theme-picker__choice,.theme-picker__toggle{
  appearance:none;background:var(--surface, #19121c);border:1px solid color-mix(in srgb,var(--muted,#c7b8c4) 55%,transparent);
  border-radius:min(var(--radius,14px),14px);color:var(--text,#f7efe4);font:inherit;
  min-height:var(--theme-picker-control);padding:.55em .8em;
}
.theme-picker__select{padding-right:2.2em;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}
.theme-picker button{cursor:pointer}
.theme-picker button:hover,.theme-picker select:hover{border-color:var(--accent,#6dd5cf)}
.theme-picker button:focus-visible,.theme-picker select:focus-visible{outline:3px solid var(--accent,#6dd5cf);outline-offset:3px}
.theme-picker__revert{white-space:nowrap}
.theme-picker__choices{align-items:center;background:var(--surface,#19121c);border:1px solid color-mix(in srgb,var(--muted,#c7b8c4) 45%,transparent);border-radius:var(--radius,14px);display:flex;flex-wrap:wrap;gap:.3rem;max-width:100%;padding:.3rem}
.theme-picker__choices[hidden]{display:none!important}
.theme-picker--swatches .theme-picker__choice{border-radius:50%;font-size:0;height:var(--theme-picker-control);min-height:0;padding:0;position:relative;width:var(--theme-picker-control)}
.theme-picker--swatches .theme-picker__choice::before{background:var(--theme-chip,#777);border:2px solid rgba(255,255,255,.55);border-radius:50%;content:"";inset:7px;position:absolute}
.theme-picker__choice[data-theme-choice="nocturnal"]{--theme-chip:#6dd5cf}
.theme-picker__choice[data-theme-choice="daylight"]{--theme-chip:#f5f7fb}
.theme-picker__choice[data-theme-choice="high-contrast"]{--theme-chip:#ffff00}
.theme-picker__choice[data-theme-choice="forest"]{--theme-chip:#75d69c}
.theme-picker__choice[data-theme-choice="ocean"]{--theme-chip:#65d6e8}
.theme-picker__choice[aria-pressed="true"]{background:var(--accent,#6dd5cf);color:var(--bg,#08070a);border-color:var(--accent,#6dd5cf)}
.theme-picker--segmented .theme-picker__choices{gap:0;padding:.2rem}
.theme-picker--segmented .theme-picker__choice{border:0;border-radius:calc(var(--radius,14px) - 3px)}
.theme-picker--popover .theme-picker__choices,.theme-picker--icon-only .theme-picker__choices{bottom:calc(100% + .5rem);flex-direction:column;min-width:170px;position:absolute;right:0}
.theme-picker--popover .theme-picker__choice,.theme-picker--icon-only .theme-picker__choice{width:100%}
.theme-picker--icon-only .theme-picker__toggle{border-radius:50%;font-size:1.35em;padding:0;width:var(--theme-picker-control)}
.theme-picker__sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
.theme-picker:not(.theme-picker--no-animation) button,.theme-picker:not(.theme-picker--no-animation) select{transition:background-color .18s,border-color .18s,color .18s,transform .18s}
.theme-picker:not(.theme-picker--no-animation) button:active{transform:scale(.97)}

@media (max-width:700px){
  .theme-picker[data-mobile-placement="top-left"],.theme-picker[data-mobile-placement="top-right"],.theme-picker[data-mobile-placement="bottom-left"],.theme-picker[data-mobile-placement="bottom-right"]{position:fixed;width:auto}
  .theme-picker[data-mobile-placement="top-left"]{bottom:auto;left:var(--theme-picker-offset-x);right:auto;top:var(--theme-picker-offset-y)}
  .theme-picker[data-mobile-placement="top-right"]{bottom:auto;left:auto;right:var(--theme-picker-offset-x);top:var(--theme-picker-offset-y)}
  .theme-picker[data-mobile-placement="bottom-left"]{bottom:var(--theme-picker-offset-y);left:var(--theme-picker-offset-x);right:auto;top:auto}
  .theme-picker[data-mobile-placement="bottom-right"]{bottom:var(--theme-picker-offset-y);left:auto;right:var(--theme-picker-offset-x);top:auto}
  .theme-picker[data-mobile-placement="inline"],.theme-picker[data-mobile-placement="inside"]{inset:auto;position:relative;width:auto}
  .theme-picker[data-mobile-placement="footer"]{bottom:0;justify-content:center;left:0;padding:.6rem;position:fixed;right:0;top:auto;width:100%}
}
@media (prefers-reduced-motion:reduce){.theme-picker *{scroll-behavior:auto!important;transition:none!important}}
@media print{.theme-picker{display:none!important}}
