.pg-meter{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);padding:clamp(1.1rem,2.5vw,1.6rem);margin:0 0 1.5rem}.pg-main{display:flex;gap:clamp(1rem,3vw,1.75rem);align-items:center}.pg-score{position:relative;flex:none;width:112px;height:112px}.pg-ring{display:block}.pg-ring-track{fill:none;stroke:var(--border-light)}.pg-ring-value{fill:none;stroke:var(--accent-color);stroke-linecap:round;transition:stroke-dashoffset .9s ease}.pg-score-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-numeral);font-variant-numeric:lining-nums;font-size:2.3rem;font-weight:500;color:var(--text-primary);line-height:1}.pg-score-num small{font-size:.95rem;margin-left:.1rem;color:var(--text-muted)}.pg-body{min-width:0;flex:1}.pg-kicker{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.pg-level{margin:.2rem 0 .6rem;font-family:var(--font-display);font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem)}.pg-levels{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 0 .75rem;padding:0;max-width:320px}.pg-levels li{height:2px;background:var(--border-light)}.pg-levels li.is-reached{background:var(--accent-color)}.pg-next{margin:0 0 .9rem;color:var(--text-secondary);font-size:.9rem;line-height:1.55}.pg-next strong{color:var(--text-primary);font-weight:600}.pg-points{font-family:var(--font-numeral);font-variant-numeric:lining-nums;font-size:1rem;color:var(--accent-text);white-space:nowrap}.pg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}.pg-cta,.pg-toggle{padding:.55rem 1.1rem;font-size:.85rem}.pg-tour{background:none;border:0;padding:0;font:inherit;font-size:.85rem;cursor:pointer}.pg-detail{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-light);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem}.pg-list,.pg-milestones ul{list-style:none;margin:0;padding:0}.pg-list li,.pg-milestones li{display:flex;align-items:center;gap:.65rem;padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.9rem}.pg-list li:last-child,.pg-milestones li:last-child{border-bottom:0}.pg-list .pg-item{flex:1;min-width:0;color:var(--text-primary)}.pg-list a.pg-item{text-decoration:none}.pg-list a.pg-item:hover,.pg-list a.pg-item:focus-visible{color:var(--accent-text)}.pg-list li.is-done .pg-item,.pg-milestones li.is-done span:not(.pg-check){color:var(--text-muted)}.pg-list li.is-done .pg-points{color:var(--text-muted);font-family:var(--font-body);font-size:.75rem}.pg-check{flex:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--primary-contrast)}li.is-done>.pg-check{background:var(--accent-color);border-color:var(--accent-color)}.pg-milestones h3{margin:0 0 .25rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-body);font-weight:600}.pg-milestones li{justify-content:flex-start}.pg-milestones li .cw-link{margin-left:auto;font-size:.8rem}.pg-meter.is-complete{border-color:var(--accent-line)}.pg-meter.is-celebrating .pg-ring-value{animation:pg-draw 1.4s ease both}.pg-meter.is-celebrating .pg-level{animation:pg-rise .7s ease both .3s}@keyframes pg-draw{0%{stroke-dashoffset:330}}@keyframes pg-rise{0%{opacity:0;transform:translateY(6px)}}.pg-compact{position:relative;display:inline-flex;align-items:center;gap:.6rem}.pg-compact .pg-ring{flex:none}.pg-compact-num{position:absolute;left:0;top:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-numeral);font-variant-numeric:lining-nums;font-size:1rem;color:var(--text-primary)}.pg-compact-num small{font-size:.6rem}.pg-compact-level{font-size:.8rem;color:var(--text-secondary)}@media(max-width:640px){.pg-main{align-items:flex-start}.pg-score,.pg-score .pg-ring{width:84px;height:84px}.pg-score-num{font-size:1.8rem}.pg-detail{grid-template-columns:minmax(0,1fr)}}.tour-layer{position:fixed;inset:0;z-index:10001;pointer-events:none}.tour-blocker{position:fixed;inset:0;pointer-events:auto;background:transparent}.tour-spot{position:fixed;border-radius:10px;box-shadow:0 0 0 1px var(--accent-color),0 0 0 9999px #0a0a0a9e;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease;pointer-events:none}.tour-spot.is-none{box-shadow:0 0 0 9999px #0a0a0a9e;width:0;height:0}.tour-card{position:fixed;pointer-events:auto;width:min(360px,calc(100vw - 32px));background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:1.1rem 1.15rem 1rem;box-shadow:0 18px 50px #00000059;transition:top .25s ease,left .25s ease}.tour-card:focus{outline:none}.tour-arrow{position:absolute;width:14px;height:14px;background:var(--bg-card);border:1px solid var(--border-default);transform:rotate(45deg)}.tour-card[data-side=below] .tour-arrow{top:-8px;border-right:0;border-bottom:0}.tour-card[data-side=above] .tour-arrow{bottom:-8px;border-left:0;border-top:0}.tour-card[data-side=center] .tour-arrow{display:none}.tour-step{margin:0 0 .35rem;font-family:var(--font-numeral);font-variant-numeric:lining-nums;font-size:.95rem;color:var(--accent-text)}.tour-card h2{margin:0 0 .4rem;font-size:1.15rem;font-family:var(--font-display)}.tour-card p.tour-text{margin:0 0 1rem;font-size:.88rem;line-height:1.6;color:var(--text-secondary)}.tour-foot{display:flex;align-items:center;gap:.5rem}.tour-skip{margin-right:auto;background:none;border:0;padding:.4rem 0;color:var(--text-muted);font:inherit;font-size:.82rem;cursor:pointer}.tour-skip:hover,.tour-skip:focus-visible{color:var(--text-primary)}.tour-foot .btn-outline,.tour-foot .btn-primary{padding:.45rem .95rem;font-size:.82rem}.tour-dots{display:flex;gap:4px;margin:0 0 .85rem}.tour-dots span{width:18px;height:2px;background:var(--border-light)}.tour-dots span.is-on{background:var(--accent-color)}@media(prefers-reduced-motion:reduce){.pg-ring-value,.tour-spot,.tour-card{transition:none}.pg-meter.is-celebrating .pg-ring-value,.pg-meter.is-celebrating .pg-level{animation:none}}.rv-notice{margin:0 0 1.25rem;padding:.85rem 1rem;border-left:2px solid var(--accent-color);background:var(--accent-soft);font-size:.88rem;line-height:1.55}.rv-notice strong{display:block;margin-bottom:.2rem;color:var(--text-primary)}.rv-notice p{margin:0;color:var(--text-secondary)}.rv-notice.is-rejected{border-left-color:var(--warning-color);background:color-mix(in srgb,var(--warning-color) 10%,transparent)}@media(max-width:480px){.pg-main{gap:.9rem}.pg-score,.pg-score .pg-ring{width:68px;height:68px}.pg-score-num{font-size:1.5rem}.pg-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.pg-cta,.pg-toggle{padding:.55rem .5rem;justify-content:center;text-align:center}.pg-tour{grid-column:1 / -1;justify-self:start;padding:.3rem 0}}@media(max-width:480px){.pg-actions{display:flex;flex-wrap:wrap}.pg-cta,.pg-toggle{flex:1 0 auto}.pg-tour{flex-basis:100%}}.pg-tour{text-align:left}
