.hunt { max-width:900px; }
.hunt [hidden] { display:none!important; }
.hunt-intro { padding:40px 0 30px; }
.hunt-intro h1 { margin:12px 0; font:clamp(44px,8vw,76px)/1.05 var(--serif); letter-spacing:-2px; }
.hunt-intro h1 em { color:var(--orange); font-weight:400; }
.hunt-intro>p:last-child { max-width:540px; color:var(--muted); }
.hunt-spectrum { display:flex; height:10px; border-radius:10px; overflow:hidden; border:1px solid var(--control-border); margin-top:24px; }
.hunt-spectrum span { flex:1; }
.hunt-panel { padding:32px; border:1px solid var(--line); border-radius:20px; background:var(--surface); margin-bottom:48px; }
.hunt fieldset { border:0; padding:0; margin:28px 0 0; min-width:0; }
.hunt legend,.hunt-count-label { font-size:19px; font-weight:650; margin-bottom:14px; }
.hunt-count-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.hunt-count-label { margin:0; }
.hunt select,.hunt-name input { font:inherit; background:var(--paper); color:var(--ink); border:1px solid var(--control-border); border-radius:9px; padding:11px 12px; min-height:48px; }
.hunt select { min-width:80px; }
.hunt-names { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.hunt-name { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--muted); }
.hunt-name input { width:100%; font-size:16px; }
.hunt-modes { display:flex; gap:12px; flex-wrap:wrap; }
.hunt-mode { display:flex; align-items:center; gap:9px; padding:12px 16px; background:var(--paper); border:1px solid var(--control-border); border-radius:10px; cursor:pointer; }
.hunt input[type="radio"],.hunt input[type="checkbox"] { accent-color:var(--orange); width:18px; height:18px; margin:0; flex-shrink:0; }
.hunt-hint { color:var(--muted); font-size:14px; }
.hunt-picker { margin-top:20px; }
.hunt-picker-heading { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; font-size:14px; }
.hunt-choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.hunt-colour { display:flex; position:relative; flex-direction:column; align-items:center; gap:8px; border:1px solid var(--control-border); border-radius:12px; padding:12px 6px; background:var(--paper); font-size:13px; cursor:pointer; }
.hunt-colour:has(input:checked),.hunt-mode:has(input:checked) { outline:2px solid var(--orange); outline-offset:1px; }
.hunt-swatch { width:36px; height:36px; border-radius:50%; border:1px solid #888; }
.hunt :is(input,select,button):focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.hunt-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.hunt-button { font:inherit; font-weight:600; padding:13px 22px; border:1px solid var(--ink); border-radius:10px; background:var(--ink); color:var(--paper); cursor:pointer; min-height:48px; }
.hunt-button:hover { opacity:.85; }
.hunt-button.secondary { color:var(--ink); background:transparent; border-color:var(--control-border); }
.hunt-error { color:var(--orange); font-weight:600; }
.hunt-error:empty { display:none; }
.hunt-results h2 { font:36px/1.2 var(--serif); margin:0 0 12px; }
.hunt-results h2:focus { outline:none; }
.hunt-result-cards { list-style:none; padding:0; margin:24px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.hunt-result { background:var(--paper); border:1px solid var(--control-border); border-radius:12px; overflow:hidden; }
.hunt-result-swatch { height:130px; border-bottom:1px solid #888; }
.hunt-result h3 { margin:16px 18px 0; font-size:22px; overflow-wrap:anywhere; }
.hunt-result p { margin:3px 18px 18px; color:var(--muted); }
@media(max-width:600px) {
  .hunt-panel { padding:22px 18px; }
  .hunt-names { grid-template-columns:1fr; }
  .hunt-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hunt-result-cards { gap:10px; }
  .hunt-result h3 { margin:12px 12px 0; font-size:18px; }
  .hunt-result p { margin:3px 12px 12px; }
  .hunt-result-swatch { height:100px; }
  .hunt-intro { padding-top:28px; }
}
