:root{color-scheme:dark;--bg:#121814;--panel:#202822;--lime:#d4f775;--text:#f6f8f3;--muted:#b5c0b4;--edge:#526055;font-family:system-ui,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text)}
main{max-width:520px;margin:auto;padding:24px 20px calc(100px + env(safe-area-inset-bottom))}
header p{color:var(--lime);text-transform:uppercase;font:700 .78rem ui-monospace,monospace;letter-spacing:.12em;margin:8px 0}
h1{font-family:ui-rounded,system-ui,sans-serif;font-weight:950;font-size:clamp(2.9rem,10vw,4.25rem);line-height:.95;letter-spacing:-.05em;margin:12px 0 24px}
h2{font-size:1.15rem;margin:0}
nav,.row{display:flex;align-items:center;gap:10px}
nav{margin-bottom:16px}
nav button{flex:1;border-radius:999px}
button,select,input{min-height:44px;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--edge);border-radius:12px;padding:8px 14px}
button{font-weight:700;cursor:pointer;touch-action:manipulation}
button:disabled{opacity:.46;cursor:default}
button[aria-pressed=true],.primary{background:var(--lime);color:#182010;border-color:var(--lime)}
select,input{width:100%;min-width:0;font-size:16px}
.card{background:var(--panel);border-radius:20px;padding:16px;margin:0 0 14px}
.spread{justify-content:space-between}
label{display:block;font-weight:700;margin-bottom:8px}
small,.muted,details,#status{color:var(--muted)}
small,#climber-name{display:block}
.link{color:var(--lime);background:transparent;border:0;padding-inline:5px}
.full{width:100%}
.wheel-wrap{position:relative;width:min(58vw,235px);margin:14px auto 0}
.wheel-wrap:before{content:"";position:absolute;z-index:1;top:-6px;left:50%;transform:translateX(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:17px solid white}
#wheel{width:100%;aspect-ratio:1;border:2px solid #49584c;border-radius:50%;display:grid;place-items:center;transition:transform var(--spin-duration, 1150ms) cubic-bezier(.12,.7,.16,1)}
#wheel span{width:20%;aspect-ratio:1;border-radius:50%;background:#121814;border:2px solid #f6f8f3}
@media(prefers-reduced-motion:reduce){#wheel{transition:none}}
#result{text-align:center;font-weight:800;margin:8px 0;min-height:1.5em}
#counter{position:fixed;inset:auto 0 0;background:#202822;border-top:1px solid var(--edge);padding:8px 20px calc(8px + env(safe-area-inset-bottom))}
#counter .row{max-width:480px;margin:auto}
#counter .row div{margin-right:auto}
#moves{font-size:1.7rem;font-variant-numeric:tabular-nums}
ol{list-style:none;padding:0}
li{display:grid;grid-template-columns:2.5rem 1fr auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--edge);overflow-wrap:anywhere}
li span:first-child{color:var(--lime);font-weight:700}
dialog{width:min(90%,400px);background:var(--panel);color:var(--text);border:1px solid var(--edge);border-radius:20px;padding:20px}
dialog::backdrop{background:#0009}
dialog h2{margin-bottom:14px}
#color-options label{display:flex;align-items:center;gap:8px}
#color-options input{width:22px;min-height:32px;accent-color:var(--lime)}
.swatch{display:inline-block;width:15px;height:15px;border-radius:50%;border:1px solid var(--edge)}
