:root{color-scheme:dark;font:14px 'Segoe UI',Arial,sans-serif;color:#eff7fc;background:#0b1925;--accent:#86e4bf;--line:#31495b}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden}button,input,select{font:inherit;color:inherit;background:#1d3345;border:1px solid #3c5568;border-radius:8px;padding:9px 12px}button{cursor:pointer}button:hover,a:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent);text-decoration:none}button:disabled{opacity:.5;cursor:default}.hero{height:112px;padding:20px 28px;display:flex;align-items:center;gap:15px;border-bottom:1px solid #507291;background:linear-gradient(90deg,#132f4d 45%,#132f4d50),url('/art/header.jpg') right 51%/auto 300px no-repeat}.brandmark{background:var(--accent);color:#163b32;border-radius:11px;width:47px;height:47px;display:grid;place-items:center;font-size:31px;font-weight:800;flex:none}.hero-copy{flex:1;min-width:0}h1{font-size:25px;line-height:1.2;margin:6px 0}.soft{font-weight:400;color:#d2e5f1}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--accent)}.hero p{margin:6px 0 0;font-size:12px;color:#bfd3e0}.manage{font-size:12px;background:#122938e8;padding:9px;border:1px solid #3e5c73;border-radius:7px}.layout{height:calc(100dvh - 112px);display:flex}aside{width:286px;flex:none;display:flex;flex-direction:column;gap:13px;padding:20px 16px;background:#122635;border-right:1px solid var(--line);min-height:0}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#bdd1de}.field select,.field input{width:100%}.search input{font-size:16px;background:#0b1c29}.row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#a4bece}.row button{padding:3px 8px;font-size:20px}.results{display:flex;flex-direction:column;gap:6px;overflow:auto;flex:1;min-height:0}.result{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;width:100%;background:#193243;padding:10px}.result strong{font-size:13px;overflow-wrap:anywhere}.result span{font-size:11px;color:#aac5d6;white-space:nowrap}.result.selected{border-color:#ffcf72;background:#3b3d31}.hint{font-size:11px;line-height:1.5;color:#90adbf;margin:0}main{position:relative;flex:1;min-width:0;min-height:0;background:#0c1b29}canvas{display:block;width:100%;height:100%;touch-action:none}.tools{position:absolute;right:12px;top:12px;display:flex;gap:5px;background:#102435e8;padding:5px;border:1px solid var(--line);border-radius:10px}.tools button{font-size:12px;padding:8px 10px}#selection{position:absolute;bottom:0;left:0;right:0;background:#102435ee;border-top:1px solid var(--line);padding:12px 18px;font-size:13px;min-height:43px}#empty{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;color:#b5cedd;max-width:90%;line-height:1.7}#empty:empty{display:none}.none{color:#adc3d1;font-size:13px;padding:16px 3px;line-height:1.6}@media(max-width:700px){.hero{height:92px;padding:12px 14px;gap:10px;background-size:auto 220px}.brandmark{width:35px;height:35px;font-size:23px}h1{font-size:19px}.soft{display:block;font-size:13px;margin-top:3px}.eyebrow{font-size:8px}.hero p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage{font-size:10px;padding:6px;max-width:76px}.layout{height:calc(100dvh - 92px);flex-direction:column}aside{width:100%;max-height:260px;flex:none;padding:10px 12px;gap:8px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr}.field{gap:4px;font-size:10px}.field select,.field input{padding:8px}.row{grid-column:1/-1}.results{grid-column:1/-1;max-height:120px;min-height:0}.result{padding:8px 10px}.hint{display:none}#selection{font-size:12px;padding:10px}.tools{top:8px;right:8px}.tools button{padding:7px 9px}}
.viewer-copyright{height:24px;display:flex;align-items:center;justify-content:flex-end;padding:0 16px;background:#102435;color:#adc3d1;font-size:11px;border-top:1px solid var(--line)}.layout{height:calc(100dvh - 136px)}@media(max-width:700px){.layout{height:calc(100dvh - 116px)}}
/* Keep the map in place while mobile search results float above it. */
body{display:flex;flex-direction:column}.hero,.viewer-copyright{flex-shrink:0}.layout{flex:1;min-height:0;height:auto}#togglePlayers{display:none}
@media(max-width:700px),(max-height:500px) and (pointer:coarse){
  .hero{height:72px;padding:8px 12px;gap:10px;background-size:auto 180px}.brandmark{width:32px;height:32px;font-size:22px}h1{font-size:18px;margin:3px 0}.soft{display:inline;font-size:13px;margin:0}.eyebrow{font-size:8px}.hero p{font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage{font-size:10px;padding:8px;max-width:76px;min-height:40px;display:flex;align-items:center}
  .layout{height:auto;flex-direction:column}aside{position:relative;z-index:5;width:100%;max-height:none;flex:none;padding:8px 12px;gap:6px 10px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
  .field{gap:4px;font-size:10px}.field select,.field input{padding:9px 10px;height:42px;font-size:16px}.field select{font-size:13px}.row{grid-column:1/-1;gap:8px;min-width:0}.row #count{flex:1;min-width:0}.row button{min-height:36px;padding:5px 12px}#togglePlayers{display:block;font-size:12px}#refresh{min-width:40px}
  .results{display:none;position:absolute;top:100%;left:0;right:0;max-height:min(260px,38dvh);overflow:auto;overscroll-behavior:contain;padding:8px 12px;background:#122635;box-shadow:0 12px 24px #0007;border-bottom:1px solid #507291;gap:6px;grid-column:auto}.results-open .results{display:flex}.result{min-height:44px;padding:10px 12px}.hint{display:none}
  main{flex:1;min-height:0}#selection{font-size:12px;padding:10px 12px;line-height:1.4;overflow-wrap:anywhere}.tools{top:8px;right:8px;gap:4px}.tools button{min-height:40px;min-width:40px;padding:8px}.viewer-copyright{height:22px;padding-right:12px;font-size:10px}
}
@media(max-height:500px) and (pointer:coarse){.hero{height:54px}.hero p,.eyebrow{display:none}.row{min-height:30px}.row button{min-height:30px;padding:2px 10px}aside{padding:5px 12px;gap:4px 10px}.field{gap:2px}.field input,.field select{height:36px}.results{max-height:min(180px,35dvh)}}
