/* self-hosted fonts (restored after polish strip) */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Spectral-400-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Spectral-400-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Spectral-600-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Spectral-600-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Spectral-400-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(../fonts/Spectral-400-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/Spectral-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url(../fonts/Spectral-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Spectral-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(../fonts/Spectral-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/Spectral-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(../fonts/Spectral-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* range-fx: real DOM fill instead of a custom-property gradient (repaints while dragging) */
/* base theme — applies even before JS wraps the input, so it never flashes the browser-blue default */
input[type="range"]{accent-color:var(--accent,#e0a73c)}
.range-wrap{position:relative;flex:1;display:flex;align-items:center;min-height:24px;width:100%}
.range-wrap .range-bar{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:6px;border-radius:999px;background:var(--surface-3,rgba(128,128,128,.28));overflow:hidden;pointer-events:none}
.range-wrap .range-fill{display:block;height:100%;width:0;background:var(--accent,#e0a73c);border-radius:999px}
.range-wrap input[type="range"]{position:relative;z-index:1;width:100%;background:transparent !important;margin:0;
  -webkit-appearance:none;appearance:none;accent-color:var(--accent,#e0a73c)}
.range-wrap input[type="range"]{border:0 !important;box-shadow:none !important;outline:none;height:24px;padding:0;cursor:pointer}
/* themed thumb — brass clip bead instead of the browser default (blue on Windows) */
.range-wrap input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#f6e4b0 0 18%,var(--accent,#e0a73c) 22% 62%,#5a3f12 100%);
  border:2px solid #2b2012;box-shadow:0 2px 4px rgba(0,0,0,.45);cursor:pointer;margin-top:-8px;transition:transform .15s ease,box-shadow .15s ease}
.range-wrap input[type="range"]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#f6e4b0 0 18%,var(--accent,#e0a73c) 22% 62%,#5a3f12 100%);
  border:2px solid #2b2012;box-shadow:0 2px 4px rgba(0,0,0,.45);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.range-wrap input[type="range"]:hover::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 3px 8px rgba(201,162,75,.5)}
.range-wrap input[type="range"]:hover::-moz-range-thumb{transform:scale(1.12);box-shadow:0 3px 8px rgba(201,162,75,.5)}
.range-wrap input[type="range"]:active::-webkit-slider-thumb{transform:scale(1.05)}
.range-wrap input[type="range"]:active::-moz-range-thumb{transform:scale(1.05)}
@media (prefers-reduced-motion:reduce){.range-wrap input[type="range"]::-webkit-slider-thumb,.range-wrap input[type="range"]::-moz-range-thumb{transition:none}}
/* ring only for keyboard focus — no orange frame while dragging with mouse/finger */
.range-wrap:has(input[type="range"]:focus-visible){outline:2px solid var(--accent,#e0a73c);outline-offset:6px;border-radius:999px}
.range-wrap input[type="range"]:focus{outline:none}
.range-wrap input[type="range"]:focus-visible{outline:none}
.range-wrap input[type="range"]::-webkit-slider-runnable-track{background:transparent;height:6px;border:0}
.range-wrap input[type="range"]::-moz-range-track{background:transparent;height:6px;border:0}
@media (prefers-reduced-motion:no-preference){.range-wrap .range-fill{transition:width .05s linear}}
