.ps-page{padding-top:28px;padding-bottom:56px}.ps-page [hidden]{display:none!important}.ps-hero{border:1px solid var(--hairline);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),var(--panel));border-radius:20px;align-items:center;gap:28px;margin:8px 0 28px;padding:24px;display:flex}.ps-level{flex:none;width:132px;height:132px;position:relative}.ps-level-ring{width:100%;height:100%;transform:rotate(-90deg)}.ps-ring-track{fill:none;stroke:var(--hairline);stroke-width:10px}.ps-ring-fill{fill:none;stroke:var(--accent);stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .8s}.ps-level-num{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.ps-level-num small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.ps-level-num b{font-size:2.6rem;font-weight:850}.ps-hero-copy{min-width:0}.ps-hero-copy h1{margin:2px 0 8px;font-size:clamp(1.8rem,4vw,2.6rem)}.ps-xp{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;font-weight:750;display:flex}.ps-xp-bar{background:var(--hairline);border-radius:999px;flex:160px;max-width:320px;height:10px;overflow:hidden}.ps-xp-bar i,.ps-cat-bar i,.ps-badge-bar i{border-radius:inherit;background:var(--accent);width:0;height:100%;transition:width .6s;display:block}.ps-xp [data-xp-next]{color:var(--muted);font-size:.86rem;font-weight:650}.ps-lede{max-width:62ch;color:var(--muted);margin:0;font-size:.92rem}.ps-empty{border:1px dashed var(--hairline);color:var(--muted);border-radius:14px;padding:16px 18px}.ps-section{margin-top:36px}.ps-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;margin-bottom:14px;display:flex}.ps-head p{max-width:60ch;color:var(--muted);margin:0;font-size:.88rem}.ps-h2{margin:0;font-size:1.3rem}.ps-count{background:color-mix(in srgb,var(--accent) 18%,transparent);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 10px;font-size:.8rem}.ps-figures{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;display:grid}.ps-figures div{border:1px solid var(--hairline);background:var(--panel);border-radius:14px;padding:14px 16px}.ps-figures dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.ps-figures dd{margin:4px 0 0;font-size:1.7rem;font-weight:850}.ps-figures dd small{color:var(--muted);font-size:.9rem;font-weight:700}.ps-cal-wrap{padding-bottom:4px;overflow-x:auto}.ps-cal{grid-template-rows:repeat(7,14px);grid-auto-columns:14px;grid-auto-flow:column;gap:4px;width:max-content;display:grid}.ps-cal i,.ps-cal-key i{background:var(--hairline);border-radius:3px;width:14px;height:14px;display:block}.ps-cal i.l1,.ps-cal-key i.l1{background:color-mix(in srgb,var(--accent) 35%,var(--panel))}.ps-cal i.l2,.ps-cal-key i.l2{background:color-mix(in srgb,var(--accent) 55%,var(--panel))}.ps-cal i.l3,.ps-cal-key i.l3{background:color-mix(in srgb,var(--accent) 78%,var(--panel))}.ps-cal i.l4,.ps-cal-key i.l4{background:var(--accent)}.ps-cal i.is-future{border:1px dashed var(--hairline);background:0 0}.ps-cal-key{color:var(--muted);align-items:center;gap:4px;margin:8px 0 0;font-size:.78rem;display:flex}.ps-cal-key i{display:inline-block}.ps-cats{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px 24px;margin:0;padding:0;list-style:none;display:grid}.ps-cats li{border-bottom:1px solid var(--hairline);grid-template-columns:1fr auto;gap:4px 12px;padding:10px 0;display:grid}.ps-cat-name{font-weight:800}.ps-cat-num{font-variant-numeric:tabular-nums;font-weight:800}.ps-cat-bar{background:var(--hairline);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.ps-cat-sub{color:var(--muted);grid-column:1/-1;font-size:.8rem}.ps-cats li.is-done .ps-cat-num:after{content:" ✓";color:var(--accent)}.ps-insight{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:16px;display:grid}.ps-insight>div{border:1px solid var(--hairline);background:var(--panel);border-radius:14px;padding:14px 16px}.ps-insight h3{margin:0 0 6px;font-size:.95rem}.ps-insight ul{color:var(--muted);margin:0;padding-left:18px;font-size:.9rem}.ps-next{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ps-next a{border:1px solid var(--hairline);background:var(--panel);min-height:72px;color:inherit;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;font-weight:800;text-decoration:none;display:flex}.ps-next a:hover{border-color:var(--accent)}.ps-next img{border-radius:12px;flex:none;width:52px;height:52px}.ps-table-wrap{overflow-x:auto}.ps-table{border-collapse:collapse;width:100%;font-size:.92rem}.ps-table th,.ps-table td{border-bottom:1px solid var(--hairline);text-align:right;font-variant-numeric:tabular-nums;padding:9px 10px}.ps-table th:first-child{text-align:left}.ps-table thead th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem}.ps-ach-group{margin-top:18px}.ps-ach-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:.82rem;font-weight:850}.ps-ach{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.ps-badge{border:1px solid var(--hairline);background:var(--panel);opacity:.72;border-radius:14px;gap:12px;padding:12px 14px;display:flex}.ps-badge-icon{background:var(--hairline);fill:none;width:44px;height:44px;stroke:var(--muted);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;border-radius:50%;flex:none;padding:7px}.ps-badge.is-done{opacity:1;border-color:color-mix(in srgb,var(--accent) 55%,var(--hairline))}.ps-badge.is-done .ps-badge-icon{background:color-mix(in srgb,var(--accent) 22%,transparent);stroke:var(--accent)}.ps-badge-text{flex:1;gap:3px;min-width:0;display:grid}.ps-badge-text small{color:var(--muted);font-size:.8rem}.ps-badge-bar{background:var(--hairline);border-radius:999px;height:5px;overflow:hidden}.ps-badge-state{color:var(--muted);font-size:.74rem;font-weight:800}.ps-badge.is-done .ps-badge-state{color:var(--accent)}.ps-data-actions{flex-wrap:wrap;gap:10px;display:flex}.ps-file{cursor:pointer;position:relative}.ps-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.ps-file:focus-within{outline:3px solid var(--focus);outline-offset:3px}.ps-data-note{min-height:1.4em;color:var(--muted);margin:10px 0 0}@media (width<=620px){.ps-hero{flex-direction:column;align-items:flex-start;padding:18px}.ps-level{width:108px;height:108px}.ps-figures dd{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){.ps-ring-fill,.ps-xp-bar i,.ps-cat-bar i,.ps-badge-bar i{transition:none}}
