.results-title{color:var(--muted);margin:1rem 0 0;font-size:1rem;font-weight:600}.results-empty{max-width:var(--text-width);margin-top:1rem}[data-h=empty]{margin-bottom:3rem}.results-note{max-width:var(--text-width);color:var(--muted);margin:1.5rem 0 0;font-size:.9rem}.level{margin:.5rem 0 2.5rem}.level-goal{font-family:var(--font-brand);margin:0;font-size:clamp(2.25rem,7vw,4rem);font-weight:400;line-height:1.1}.level-trend{margin:.6rem 0 0;font-size:1.05rem}.level-track{--pos:0;margin-top:3.25rem;position:relative}.level-bar{grid-template-columns:repeat(5,1fr);gap:4px;height:1.25rem;display:grid}.level-bar span{border-radius:5px}.level-bar-base span{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.level-bar-fill{clip-path:inset(0 calc(100% - var(--pos) * 100%) 0 0);animation:.9s cubic-bezier(.2,.7,.2,1) both level-fill;position:absolute;inset:0}.level-bar-fill span{background:var(--best);box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--on-best) 22%, var(--best))}@keyframes level-fill{0%{clip-path:inset(0 100% 0 0)}}.level-caret{top:-.4rem;bottom:-.4rem;left:calc(var(--pos) * 100%);z-index:1;background:var(--accent);border-radius:2px;width:3px;margin-left:-1px;animation:.9s cubic-bezier(.2,.7,.2,1) both level-caret;position:absolute}@keyframes level-caret{0%{left:0}}.level-caret-label{transform:translateX(calc(var(--pos) * -100%));color:var(--accent);font-family:var(--font-mono);white-space:nowrap;font-size:1.05rem;position:absolute;bottom:calc(100% + .2rem);left:0}.level-names{color:var(--muted);grid-template-columns:repeat(5,1fr);gap:4px;margin:.65rem 0 0;padding:0;font-size:.85rem;line-height:1.3;list-style:none;display:grid}.level-names small{font-family:var(--font-mono);font-size:.75rem;display:block}.level-names [aria-current]{color:var(--text);font-weight:650}.next-steps{border-block:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1.5rem 3rem;margin:0 0 3rem;padding:1.5rem 0;display:grid}.next-steps h2{font-family:var(--font-brand);margin:0 0 .3rem;font-size:1.6rem;font-weight:400}.next-steps p{margin:0}.challenge{flex-direction:column;align-items:flex-start;gap:.9rem;display:flex}.challenge h2{margin-bottom:-.6rem}.week{grid-template-columns:repeat(7,minmax(0,2.6rem));gap:.35rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.week li{border:1px dashed var(--border);height:2.5rem;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;font-size:.8rem;display:flex}.week li.tested{border:0;border-bottom:3px solid color-mix(in srgb, var(--on-best) 30%, var(--best));background:var(--best);color:var(--on-best);font-weight:650}.week li.today{outline:2px solid var(--accent);outline-offset:1px}.next-steps .streak-longest{color:var(--muted);margin-top:.7rem;font-size:.9rem}.achievements{margin:0 0 3rem}.achievements-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:1rem;display:flex}.achievements-head h2{font-family:var(--font-brand);margin:0;font-size:1.6rem;font-weight:400}.achievements-head p{color:var(--muted);margin:0}.keys{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.key{border:1px dashed var(--border);border-radius:12px;flex-direction:column;min-height:10.5rem;padding:.75rem .85rem .8rem;display:flex;position:relative}.key-legend{font-family:var(--font-brand);color:var(--muted);font-size:2rem;line-height:1.15}.key-title{margin-top:.35rem;font-size:.95rem;line-height:1.3}.key-how{color:var(--muted);margin-top:.15rem;font-size:.8rem;line-height:1.35}.key-how a{color:inherit}.key-state{color:var(--muted);font-family:var(--font-mono);margin-top:auto;padding-top:.5rem;font-size:.75rem}.key-meter{background:var(--surface);height:5px;box-shadow:inset 0 0 0 1px var(--border);border-radius:3px;margin-top:.3rem;display:block;overflow:hidden}.key-meter span{background:var(--accent);height:100%;display:block}.key.is-unlocked{border:0;border-bottom:6px solid color-mix(in srgb, var(--on-best) 32%, var(--best));background:var(--best);color:var(--on-best);padding:calc(.75rem + 1px) calc(.85rem + 1px) .8rem}.key.is-unlocked .key-legend,.key.is-unlocked .key-how,.key.is-unlocked .key-state{color:var(--on-best)}.key.is-unlocked .key-state{font-family:var(--font-ui);font-size:.8rem;font-weight:650}.key-new{background:var(--accent);color:var(--on-accent);border-radius:99px;padding:.05rem .5rem;font-size:.75rem;font-weight:650;position:absolute;top:.65rem;right:.65rem}.key.is-new{animation:.5s cubic-bezier(.2,1.4,.4,1) .6s both key-rise}@keyframes key-rise{0%{transform:translateY(6px)scale(.96)}}.totals{flex-wrap:wrap;gap:.75rem 3rem;margin:0;display:flex}.totals dt{color:var(--muted);font-size:.9rem}.totals dd{font-family:var(--font-mono);margin:0;font-size:1.5rem}#history-page td{white-space:nowrap}@media (width<=40rem){.next-steps{grid-template-columns:1fr}.keys{grid-template-columns:repeat(2,minmax(0,1fr))}.level-names{font-size:.72rem}}
