.pg{--rank:var(--brand);display:grid;gap:var(--sp-5)}.pg,.pg>*{min-width:0}.pg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pg-emblem{--em:88px;position:relative;display:inline-grid;place-items:center;width:var(--em);height:calc(var(--em) * 1.08);flex:none;isolation:isolate}.pg-emblem-hex{display:grid;place-items:center;width:100%;height:calc(var(--em) * .98);color:#fff;clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%);background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.5),transparent 46%),linear-gradient(155deg,color-mix(in srgb,var(--rank) 78%,#fff),var(--rank) 48%,color-mix(in srgb,var(--rank) 62%,#000));filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--rank) 40%,transparent))}.pg-emblem-plate{position:absolute;bottom:0;inset-inline:50% auto;translate:50% 0;min-width:calc(var(--em) * .36);padding:1px 8px;border-radius:99px;text-align:center;font-size:max(11px,calc(var(--em) * .15));font-weight:900;color:var(--rank);background:var(--surface);box-shadow:0 0 0 2px var(--rank),var(--shadow-sm)}[dir=rtl] .pg-emblem-plate{translate:50% 0}.pg-emblem[data-locked] .pg-emblem-hex{background:var(--surface-3);color:var(--faint);filter:none}.pg-chip{--rank:var(--brand);display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:0 8px 0 7px;border-radius:99px;font-size:11.5px;font-weight:800;white-space:nowrap;color:color-mix(in srgb,var(--rank) 78%,var(--text));background:color-mix(in srgb,var(--rank) 14%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rank) 30%,transparent)}.pg-chip-level{display:inline-grid;place-items:center;min-width:18px;height:16px;padding:0 4px;border-radius:99px;background:var(--rank);color:#fff;font-size:10.5px}.pg-frame{--rank:var(--brand);position:relative;display:inline-grid;place-items:center;padding:4px;border-radius:50%;background:conic-gradient(from 210deg,var(--rank),color-mix(in srgb,var(--rank) 45%,#fff),var(--rank));box-shadow:0 6px 18px -6px color-mix(in srgb,var(--rank) 60%,transparent);flex:none}.pg-frame>:first-child{box-shadow:0 0 0 3px var(--surface)}.pg-frame-ribbon{position:absolute;bottom:-8px;inset-inline:50% auto;translate:50% 0}.pg-frame-ribbon .pg-chip{background:var(--rank);color:#fff;box-shadow:0 0 0 2px var(--surface)}.pg-rank-name{color:var(--rank)}:root:not([data-theme=dark]) :is(.pg-chip-level,.pg-frame-ribbon .pg-chip){background:color-mix(in srgb,var(--rank) 60%,#000)}:root:not([data-theme=dark]) :is(.pg-emblem-plate,.pg-rank-name){color:color-mix(in srgb,var(--rank) 60%,#000)}.pg-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-4) var(--sp-5);align-items:center;padding:var(--sp-5);border-radius:var(--r-xl);border:1px solid color-mix(in srgb,var(--rank) 26%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--rank) 12%,var(--surface)),var(--surface) 60%);box-shadow:var(--shadow-sm)}.pg-hero-glow{position:absolute;inset-inline-start:-80px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--rank) 30%,transparent),transparent 70%);pointer-events:none}.pg-hero>:not(.pg-hero-glow){position:relative;min-width:0}.pg-eyebrow{color:color-mix(in srgb,var(--rank) 80%,var(--text));font-size:13px;font-weight:800}.pg-hero :is(h1,h2){font-size:var(--fs-3xl);font-weight:900;line-height:1.15;margin-top:2px}.pg-level-bar{display:flex;align-items:center;gap:10px;margin-top:10px}.pg-level-bar .ui-progress{flex:1;height:10px}.pg-level-bar .ui-progress i{background:linear-gradient(90deg,color-mix(in srgb,var(--rank) 70%,#fff),var(--rank))}.pg-level-bar small{color:var(--muted);font-weight:700;white-space:nowrap;font-size:12.5px}.pg-stage{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.pg-stage li{display:grid;place-items:center;height:26px;border-radius:8px;font-size:11px;font-weight:800;color:var(--faint);background:var(--surface-2)}.pg-stage li[data-state=done]{background:color-mix(in srgb,var(--rank) 22%,var(--surface));color:color-mix(in srgb,var(--rank) 80%,var(--text))}.pg-stage li[data-state=current]{background:var(--rank);color:#fff;box-shadow:0 4px 12px -4px var(--rank)}.pg-next{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--muted);font-size:13px}.pg-xp{grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.pg-xp div{padding:10px 12px;border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--border)}.pg-xp dt{color:var(--muted);font-size:12px}.pg-xp dd{margin:2px 0 0;font-size:var(--fs-xl);font-weight:900}.pg-xp div[data-live] dd>.num{color:var(--m-active)}.pg-xp-freeze{display:inline-flex;align-items:center;gap:2px;margin-inline-start:6px;color:var(--info);font-size:12px;font-weight:800;vertical-align:middle}@media (min-width:600px) and (max-width:899px){.pg-xp{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:900px){.pg-hero{grid-template-columns:auto minmax(0,1fr) 320px;padding:var(--sp-6)}.pg-xp{grid-column:auto}}@media (max-width:520px){.pg-hero{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.pg-hero-main{width:100%}.pg-next{justify-content:center}.pg-hero-emblem{--em:96px!important}}.pg-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5);align-items:start}.pg-grid>*{min-width:0}@media (min-width:1000px){.pg-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.pg-grid-even{grid-template-columns:repeat(2,minmax(0,1fr))}}.pg-side{display:grid;gap:var(--sp-5);min-width:0}.pg-card{display:grid;gap:var(--sp-4)}.pg-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.pg-card-head h2{font-size:var(--fs-lg);font-weight:850}.pg-card-head p{margin-top:2px}.pg-card-head p,.pg-empty{color:var(--muted);font-size:13px}.pg-empty{display:flex;align-items:center;gap:6px;margin:0}.pg-spin{animation:pg-spin .9s linear infinite}@keyframes pg-spin{to{rotate:1turn}}.pg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pg-stat{display:grid;justify-items:center;gap:2px;padding:12px 6px;border-radius:var(--r-md);background:var(--surface-2);text-align:center;color:var(--muted)}.pg-stat svg{color:var(--brand)}.pg-stat[data-active] svg{color:var(--warning)}.pg-stat b{color:var(--text);font-size:var(--fs-xl);font-weight:900;line-height:1.2}.pg-stat span{font-size:12px}.pg-stat-wide{grid-template-columns:auto auto minmax(0,1fr);justify-items:start;align-items:center;text-align:start;gap:8px;padding:12px 14px}.pg-sources{list-style:none;margin:0;padding:0;display:grid;gap:9px}.pg-sources li{display:grid;grid-template-columns:minmax(96px,.8fr) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px}.pg-sources .ui-progress{height:6px}.pg-sources li[data-over] .ui-progress i{background:var(--warning)}.pg-sources b{font-weight:850;min-width:56px;text-align:end}.pg-sources small{color:var(--faint);font-weight:600}.pg-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;height:96px;align-items:end}.pg-week span{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;gap:4px;justify-items:center}.pg-week i{align-self:end;width:100%;max-width:28px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--rank),color-mix(in srgb,var(--rank) 45%,transparent))}.pg-week i[data-empty]{background:var(--track)}.pg-week small{color:var(--muted);font-size:11px}.pg-week-note{margin-top:8px;color:var(--muted);font-size:11.5px;line-height:1.6}.pg-units{display:grid;gap:8px}.pg-difficulty{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.pg-difficulty li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:var(--surface-2);font-size:12px}.pg-difficulty b{font-weight:850}.pg-comp{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pg-comp li{display:grid;gap:1px}.pg-comp a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:4px 8px;border-radius:var(--r-md);color:inherit;text-decoration:none}.pg-comp a:hover{background:var(--surface-2)}.pg-comp-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:13.5px}.pg-comp .ui-ring>*,.pg-comp small{font-size:11.5px}.pg-comp small{padding-inline-start:32px;color:var(--muted)}.pg-ranks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.pg-ranks li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);min-width:0}.pg-ranks li[data-current]{border-color:var(--rank);box-shadow:0 0 0 2px color-mix(in srgb,var(--rank) 25%,transparent)}.pg-ranks li:not([data-reached]){opacity:.8}:root:not([data-theme=dark]) .pg-ranks li:not([data-reached]){opacity:.92}:root:not([data-theme=dark]) .pg-ranks li:not([data-reached]) small{color:var(--muted)}.pg-ranks div{display:grid;gap:1px;min-width:0}.pg-ranks strong{font-weight:850}.pg-ranks small{color:var(--muted);font-size:11.5px}.pg-rank-reward{display:inline-flex;align-items:center;gap:3px}.pg-history summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;min-height:44px}.pg-history summary::-webkit-details-marker{display:none}.pg-history summary h2{font-size:var(--fs-lg);font-weight:850}.pg-history summary svg{margin-inline-start:auto;transition:rotate var(--dur) var(--ease)}.pg-history[open] summary svg{rotate:180deg}.pg-history ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.pg-history li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid var(--border);font-size:13px}.pg-history li svg{color:var(--success)}.pg-footnote,.pg-history li small{color:var(--muted)}.pg-footnote{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:0;font-size:12.5px;text-align:center}.pg-home{display:grid;gap:10px;padding:14px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--rank) 25%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--rank) 9%,var(--surface)),var(--surface));color:inherit}.pg-home-head{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:inherit;min-height:44px}.pg-home-head>div{display:grid;min-width:0;flex:1}.pg-home-head strong{font-weight:900;font-size:15px}.pg-home-head small{color:var(--muted);font-size:12px}.pg-home-head .ui-progress{height:6px;margin-top:4px}.pg-home-head .ui-progress i{background:var(--rank)}.pg-celebrate{position:fixed;inset:0;z-index:var(--z-toast);display:grid;place-items:center;padding:max(16px,var(--safe-top)) 16px max(16px,var(--safe-bottom));background:var(--overlay);animation:pg-fade var(--dur-slow) var(--ease) both}.pg-celebrate-card{--rank:var(--brand);position:relative;overflow:hidden;width:min(440px,100%);max-height:100%;overflow-y:auto;display:grid;justify-items:center;gap:10px;padding:34px 22px 22px;border-radius:var(--r-2xl);text-align:center;background:radial-gradient(120% 70% at 50% 0,color-mix(in srgb,var(--rank) 22%,var(--surface)),var(--surface) 62%);box-shadow:var(--shadow-lg);animation:pg-pop .52s var(--ease-spring) both}.pg-celebrate-close{position:absolute;top:10px;inset-inline-end:10px;z-index:2}.pg-celebrate-emblem{animation:pg-rise .7s var(--ease-spring) .12s both}.pg-celebrate-eyebrow{margin:6px 0 0;color:color-mix(in srgb,var(--rank) 80%,var(--text));font-weight:800;font-size:13px}.pg-celebrate-card h2{font-size:var(--fs-2xl);font-weight:900;line-height:1.35}.pg-celebrate-card h2 b{color:var(--rank)}.pg-celebrate-text{margin:0;color:var(--text-2);line-height:1.8;font-size:14px}.pg-celebrate-rewards{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pg-celebrate-rewards li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:color-mix(in srgb,var(--rank) 14%,var(--surface));font-weight:800;font-size:13px}.pg-celebrate-actions{display:grid;gap:6px;width:100%;margin-top:8px}.pg-burst{position:absolute;top:96px;left:50%;width:0;height:0;pointer-events:none}.pg-burst i{--i:0;position:absolute;width:8px;height:14px;border-radius:3px;background:var(--rank);opacity:0;rotate:calc(var(--i) * 25.7deg);animation:pg-confetti 1.1s cubic-bezier(.16,.8,.3,1) calc(.16s + var(--i) * 18ms) both}.pg-burst i:nth-child(3n){background:var(--warning);height:8px;border-radius:50%}.pg-burst i:nth-child(3n+1){background:var(--success)}@keyframes pg-fade{0%{opacity:0}}@keyframes pg-pop{0%{opacity:0;transform:translateY(24px) scale(.94)}}@keyframes pg-rise{0%{opacity:0;transform:scale(.4) rotate(-12deg)}}@keyframes pg-confetti{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-150px) scale(.6)}}@media (prefers-reduced-motion:reduce){.pg-celebrate,.pg-celebrate-card,.pg-celebrate-emblem{animation:none}.pg-burst{display:none}.pg-spin{animation:none}}.pg-celebrate-card[data-kind=AWARD]{--tier:var(--t-gold,#d9a21b);background:radial-gradient(120% 70% at 50% 0,color-mix(in srgb,var(--tier) 28%,var(--surface)),var(--surface) 62%)}.pg-celebrate-card[data-kind=AWARD][data-tier=NONE]{--tier:var(--accent)}.pg-celebrate-card[data-kind=AWARD][data-tier=BRONZE]{--tier:#c07a45}.pg-celebrate-card[data-kind=AWARD][data-tier=SILVER]{--tier:#8e9aab}.pg-celebrate-card[data-kind=AWARD][data-tier=PLATINUM]{--tier:#7c8ba6}.pg-celebrate-card[data-kind=AWARD] h2 b{color:color-mix(in srgb,var(--tier) 70%,var(--text))}.pg-celebrate-card[data-kind=AWARD] .pg-burst i:nth-child(2n){background:var(--tier)}.pg-celebrate-card[data-kind=AWARD] .pg-celebrate-eyebrow{color:color-mix(in srgb,var(--tier) 75%,var(--text))}.pg-celebrate[data-compact] .pg-celebrate-card{gap:6px;padding-top:26px}@media (max-width:700px){.pg-celebrate[data-compact]{place-items:end stretch;padding:0}.pg-celebrate[data-compact] .pg-celebrate-card{width:100%;border-radius:var(--r-2xl) var(--r-2xl) 0 0;padding-bottom:calc(18px + var(--safe-bottom));animation:sheet-up var(--dur-slow) var(--ease) both}}@media (prefers-reduced-motion:reduce){.pg-celebrate[data-compact] .pg-celebrate-card{animation:none}}