@font-face{font-family:Archivo;src:url('/fonts/ArchivoBlack-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:light;--ink:#111;--paper:#F4F0E6;--sun:#F2B632;--green:#167447;--red:#C9252D}
*{box-sizing:border-box}
.legal-page{width:min(100%,900px)}
.legal-page article{background:#fff9;border-radius:20px;padding:clamp(16px,4vw,32px);overflow-wrap:anywhere}
.legal-page h2{font-size:22px;margin-top:32px}
.legal-page li{margin-bottom:10px}
.legal-page a,.legal-links a{color:var(--ink);text-underline-offset:4px}
.legal-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:32px;font-size:14px}
.legal-links a{display:inline-flex;align-items:center;min-height:44px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.55}
main{width:min(100%,520px);margin:0 auto;padding:28px 24px 40px}
.brand{display:flex;justify-content:space-between;align-items:center;min-height:48px;color:inherit;text-decoration:none;font-weight:800;font-size:14px;letter-spacing:1.4px}
.brand span{font-size:28px}
.brand:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;margin:22px 0 10px}
h1,h2{font-family:Archivo,Arial,sans-serif;line-height:1.08;overflow-wrap:anywhere}
h1{font-size:clamp(30px,8.8vw,46px);letter-spacing:-1px;margin:12px 0 28px}
h2{font-size:26px;margin:12px 0 18px}
.card{background:var(--sun);border:2px solid var(--ink);border-radius:18px;padding:24px;box-shadow:5px 5px 0 var(--ink)}
.card p{overflow-wrap:anywhere}
.spectrum{display:flex;align-items:center;justify-content:space-between;height:64px;position:relative;margin:0 0 24px;border-bottom:5px solid var(--ink)}
.spectrum span{width:3px;height:22px;background:var(--ink);transform:translateY(32px)}
.spectrum span:nth-child(2){height:32px}.spectrum span:nth-child(3){height:44px}.spectrum span:nth-child(4){height:32px}
.note{font-size:13px;border-top:1px solid var(--ink);padding-top:18px;margin:24px 0 0}
.footer{font-weight:800;margin:32px 0 0}.notice{border:2px solid var(--red);padding:14px}
@media(min-width:700px){main{padding-top:60px}}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.endpoints{display:flex;justify-content:space-between;gap:20px;margin-top:28px;font-size:11px;letter-spacing:.6px;font-weight:800}
.endpoints span{max-width:47%;overflow-wrap:anywhere}.endpoints span:last-child{text-align:right}
input[type=range]{appearance:none;width:100%;height:48px;background:transparent;margin:16px 0;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:5px;background:var(--ink)}
input[type=range]::-moz-range-track{height:5px;background:var(--ink)}
input[type=range]::-webkit-slider-thumb{appearance:none;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;background:var(--red);margin-top:-12px}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border:2px solid var(--ink);border-radius:50%;background:var(--red)}
button{font:800 14px Manrope,Arial,sans-serif;background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:8px;min-height:48px;padding:12px 16px;cursor:pointer}
button:disabled{background:transparent;color:var(--ink);opacity:.55;cursor:default}
button:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.adjustments{display:flex;justify-content:space-between;align-items:center;gap:12px}
.adjustments button{background:transparent;color:var(--ink);width:48px;font-size:24px;padding:0}
output{font:28px Archivo,Arial,sans-serif}.help{font-size:12px;margin:18px 0}#lock,#retry{width:100%}#status-message:empty{display:none}
[type="text"] { display:block; width:100%; min-height:48px; margin-top:8px; padding:10px; border:2px solid #181818; border-radius:8px; background:#fffaf0; font:inherit; }
.match-score { font:clamp(27px,8vw,40px) Archivo,Arial,sans-serif; margin:24px 0 8px; }
.tier { font-weight:800; font-size:19px; margin:8px 0; }
.comparison-track { position:relative; margin:30px 14px 24px; height:44px; }
.comparison-track::before { content:''; position:absolute; top:20px; left:0; right:0; height:5px; background:var(--ink); }
.result-marker { position:absolute; width:24px; height:24px; border:2px solid var(--ink); transform:translateX(-50%); }
.creator-marker { top:0; border-radius:50%; background:var(--red); }
.your-marker { top:22px; background:var(--green); transform:translateX(-50%) rotate(45deg); width:18px; height:18px; }
.positions { font-size:14px; font-weight:800; line-height:1.8; }
.result-actions { display:grid; gap:12px; margin-top:24px; }
.cta { display:block; padding:14px; min-height:48px; text-align:center; font-weight:800; font-size:13px; color:var(--paper); background:var(--ink); border-radius:8px; text-decoration:none; overflow-wrap:anywhere; }
.cta:focus-visible { outline:3px solid var(--green); outline-offset:4px; }

/* Shared game visual refresh. Keep all existing response states and semantics. */
:root{--ink:#124e45;--mint:#d1f3e4;--teal:#124e45}
body{background:radial-gradient(ellipse at top right,#d1f3e4a6,transparent 65%),var(--paper);color:var(--teal)}
.card{background:linear-gradient(135deg,#f2b632,#ffe49b);border:1px solid #124e4526;border-radius:24px;box-shadow:0 8px 20px #124e451a;animation:enter .5s ease-out both}
button,.cta{border-radius:18px;background:var(--teal);border-color:var(--teal);transition:transform .15s ease,background .15s ease;box-shadow:0 4px 12px #124e4512}
button:active:not(:disabled),.cta:active{transform:scale(.98)}
button:disabled{background:#124e4510;color:var(--teal);box-shadow:none}
.adjustments button{border:0;background:var(--mint);border-radius:50%;color:var(--teal)}
output{background:var(--mint);border-radius:16px;padding:8px 20px;min-width:110px;text-align:center}
[type="text"]{border:1px solid #124e4540;border-radius:16px;background:#fff}
input[type=range]::-webkit-slider-runnable-track{height:12px;border-radius:8px;background:linear-gradient(90deg,var(--teal),var(--green),var(--sun),var(--red))}
input[type=range]::-moz-range-track{height:12px;border-radius:8px;background:linear-gradient(90deg,var(--teal),var(--green),var(--sun),var(--red))}
input[type=range]::-webkit-slider-thumb{width:32px;height:32px;margin-top:-10px;background:var(--sun);border-color:var(--teal);box-shadow:0 3px 8px #124e4526}
input[type=range]::-moz-range-thumb{width:30px;height:30px;background:var(--sun);border-color:var(--teal)}
.comparison-track::before{height:12px;top:17px;border-radius:8px;background:linear-gradient(90deg,var(--teal),var(--green),var(--sun),var(--red))}
.notice{border:1px solid #c9252d40;background:#ffe7dd;border-radius:16px}
.spectrum{border-bottom-color:var(--teal)}
.note{border-top-color:#124e4533}
@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.card{animation:none}button,.cta{transition:none}button:active:not(:disabled),.cta:active{transform:none}}
