:root{
  color-scheme:dark;
  --bg:#101718;
  --panel:#192223;
  --ink:#f3f0e7;
  --muted:#c1cdca;
  --accent:#e1ba73;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --dur-press:150ms;
  --dur-ui:200ms;
}
*{box-sizing:border-box}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 system-ui,sans-serif}
header,main,footer{max-width:1000px;margin:auto;padding:24px}
header{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid #425351}
a{color:var(--accent);text-underline-offset:4px}
h1{font:clamp(2rem,6vw,3.7rem)/1.12 Georgia,serif;max-width:850px;letter-spacing:-.02em}
h2{font-size:1.45rem;letter-spacing:-.015em}
h3{font-size:1.1rem}
.eyebrow{color:var(--accent);letter-spacing:.13em;font-size:.8rem}
.muted,small{color:var(--muted)}
main p{max-width:65ch}
section,form,details{background:var(--panel);border:1px solid #425351;border-radius:12px;padding:24px;margin:24px 0}
label{display:block;margin:14px 0}
input,select,button{font:inherit;max-width:100%}
input[type=file],select{
  display:block;padding:10px;background:var(--bg);color:var(--ink);
  border:1px solid #849b95;border-radius:4px;margin-top:8px;font-size:16px
}
button,.button{
  display:inline-block;padding:12px 20px;background:var(--accent);color:#101718;border:0;border-radius:5px;
  font-weight:700;cursor:pointer;margin:8px 8px 0 0;
  touch-action:manipulation;
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
  transition:transform var(--dur-press) var(--ease-out),filter var(--dur-press) var(--ease-out),background-color var(--dur-ui) ease,border-color var(--dur-ui) ease,color var(--dur-ui) ease,box-shadow var(--dur-ui) ease;
}
/* Press feedback for everyone (touch included): visible shrink + darker fill, 150ms ease-out. */
button:active:not(:disabled),.button:active{transform:scale(.97);filter:brightness(.86)}
.secondary:active:not(:disabled){background:rgba(225,186,115,.22);border-color:var(--accent);filter:none}
input[type=file]::file-selector-button{font:inherit;font-weight:700;padding:8px 14px;margin-right:12px;border:1px solid #849b95;border-radius:4px;background:#243032;color:var(--ink);cursor:pointer;transition:transform var(--dur-press) var(--ease-out),background-color var(--dur-ui) ease,border-color var(--dur-ui) ease}
input[type=file]:active::file-selector-button{transform:scale(.97);background:#2f3d3f;border-color:var(--accent)}
.secondary{background:transparent;color:var(--ink);border:1px solid #849b95}
.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.metrics>div{border-left:3px solid var(--accent);padding-left:16px}
.number{font-size:2rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}
li{margin:8px 0;overflow-wrap:anywhere}
input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:12px}
summary{cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#error{border:2px solid #efb3a3}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f1d79c;outline-offset:4px}
[hidden]{display:none!important}
@media (hover:hover) and (pointer:fine){
  button:hover:not(:disabled),.button:hover{background:#efcd8c;box-shadow:0 0 0 2px rgba(225,186,115,.35)}
  .secondary:hover:not(:disabled){background:rgba(225,186,115,.12);border-color:var(--accent);box-shadow:none}
  input[type=file]:hover::file-selector-button{background:#2b393b;border-color:var(--accent)}
  summary:hover{color:var(--accent)}
  .secondary:active:not(:disabled){background:rgba(225,186,115,.22)}
  a:hover{filter:brightness(1.1)}
}
@media (prefers-reduced-motion:reduce){
  button,.button,input[type=file]::file-selector-button{transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease,filter 120ms ease}
  button:active:not(:disabled),.button:active,input[type=file]:active::file-selector-button{transform:none}
}
@media(max-width:600px){
  header,main,footer{padding:16px}
  section,form,details{padding:16px}
  .metrics{grid-template-columns:1fr}
}
@media print{
  body{background:white;color:black}
  form,header,footer,.button,button{display:none}
  section,details{background:white;border-color:#777}
  a,small{color:black}
}
footer nav[aria-label="Legal"]{display:flex;flex-wrap:wrap;gap:.4rem 1rem}footer nav[aria-label="Legal"] a{overflow-wrap:anywhere}
