.pg-wrap{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.pg-head{display:flex;flex-direction:column;gap:10px}.pg-title{font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.05;letter-spacing:-.01em;margin:0;color:var(--ink)}.pg-sub{font-size:1.0625rem;line-height:1.6;color:var(--muted);margin:0;max-width:62ch}.pg-block-label{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pg-block-label .micro-label{margin:0}.pg-note{font-size:.8125rem;color:var(--muted)}.pg-weeks{display:flex;flex-direction:column}.pg-week-card{padding:22px 24px}.pg-week-row{display:flex;flex-direction:column;gap:12px}.pg-week-line{display:flex;align-items:center;gap:14px}.pg-week-tag{font-family:Montserrat,sans-serif;font-weight:900;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);width:62px;flex-shrink:0}.pg-week-name{font-weight:700;font-size:.9375rem;color:var(--ink);min-width:0;flex:1}.pg-week-name .pg-week-topic{font-weight:500;color:var(--muted)}.pg-week-pct{font-family:Montserrat,sans-serif;font-weight:900;font-size:1rem;color:var(--green);width:52px;text-align:right;flex-shrink:0}[data-theme=dark] .pg-week-pct{color:#7fb452}.pg-week-pct.is-muted{color:var(--muted);width:auto}.pg-week-pct.is-muted .status-pill{white-space:nowrap}.pg-week-bars{display:grid;grid-template-columns:1fr;gap:14px}.pg-week-row.is-locked{opacity:.72}.pg-week-row.is-locked .pg-week-name{color:var(--muted)}.pg-outcome-card{padding:28px 30px}.pg-outcome-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.pg-outcome-titles{display:flex;flex-direction:column;gap:6px}.pg-outcome-title{font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:1.375rem;letter-spacing:-.01em;color:var(--ink);margin:0;line-height:1.1}.pg-outcome-line{font-size:.9375rem;color:var(--muted);margin:0}.pg-outcome-count{display:flex;align-items:baseline;gap:8px;flex-shrink:0}.pg-outcome-count .pg-count-num{font-family:Montserrat,sans-serif;font-weight:900;font-size:2.5rem;line-height:1;letter-spacing:-.02em}.pg-outcome-count .pg-count-of{font-family:Montserrat,sans-serif;font-weight:900;font-size:1.25rem;color:var(--muted)}.pg-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 32px}.pg-ck{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.pg-ck .pg-ck-mark{width:24px;height:24px;border-radius:9999px;flex-shrink:0;display:grid;place-items:center}.pg-ck.is-done .pg-ck-mark{background:var(--green);color:#fff}[data-theme=dark] .pg-ck.is-done .pg-ck-mark{background:#7fb452;color:#0a0a0a}.pg-ck.is-todo .pg-ck-mark{background:var(--surface);border:1px solid var(--line)}.pg-ck .pg-ck-mark svg{width:13px;height:13px}.pg-ck .pg-ck-dot{width:6px;height:6px;border-radius:50%;background:var(--line)}.pg-ck-body{display:flex;flex-direction:column;gap:1px;min-width:0}.pg-ck-name{font-size:.9375rem;font-weight:600;color:var(--ink)}.pg-ck.is-todo .pg-ck-name{color:var(--muted);font-weight:500}.pg-ck-week{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.pg-hw-table td.pg-hw-week{font-weight:700;color:var(--ink);white-space:nowrap}.pg-hw-table td.pg-hw-title{color:var(--muted)}.pg-hw-table td.pg-hw-status{text-align:right}.pg-hw-table td.pg-hw-when{color:var(--muted);font-size:.8125rem;white-space:nowrap;text-align:right}.pg-grad-card{padding:0;overflow:hidden}.pg-grad-grid{display:grid;grid-template-columns:260px 1fr}.pg-grad-left{padding:30px;display:flex;flex-direction:column;gap:8px;justify-content:center;background:#2f7f340d;border-right:1px solid var(--line)}[data-theme=dark] .pg-grad-left{background:#7fb4520f}.pg-grad-num{display:flex;align-items:baseline;gap:8px}.pg-grad-num .n{font-family:Montserrat,sans-serif;font-weight:900;font-size:3.5rem;line-height:.95;letter-spacing:-.02em}.pg-grad-num .of{font-family:Montserrat,sans-serif;font-weight:900;font-size:1.5rem;color:var(--muted)}.pg-grad-left .pg-grad-cap{font-size:.8125rem;color:var(--muted);font-weight:500}.pg-grad-right{padding:30px;display:flex;flex-direction:column;gap:16px;justify-content:center}.pg-grad-toprow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pg-grad-h{font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:1.125rem;letter-spacing:-.005em;color:var(--ink);margin:0}.pg-grad-next{font-size:.9375rem;color:var(--muted);line-height:1.6;margin:0}.pg-grad-next .pg-next-lbl{font-weight:700;color:var(--ink)}.pg-grad-track{margin-top:4px}.pg-grad-scale{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--muted);margin-top:6px;font-weight:600}.pg-states-div{border:none;border-top:1px solid var(--line);margin:8px 0 0}.pg-states{display:flex;flex-direction:column;gap:20px}.pg-state-caption{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pg-state-caption .pg-state-name{font-weight:800;font-size:.9375rem;color:var(--ink)}.pg-state-caption .pg-state-note{font-size:.8125rem;color:var(--muted)}.pg-empty-card{padding:0;overflow:hidden}.pg-empty-grid{display:grid;grid-template-columns:260px 1fr}.pg-empty-left{padding:30px;display:flex;flex-direction:column;gap:8px;justify-content:center;background:var(--surface);border-right:1px solid var(--line)}.pg-empty-num{display:flex;align-items:baseline;gap:8px}.pg-empty-num .n{font-family:Montserrat,sans-serif;font-weight:900;font-size:3.5rem;line-height:.95;letter-spacing:-.02em;color:var(--muted)}.pg-empty-num .of{font-family:Montserrat,sans-serif;font-weight:900;font-size:1.5rem;color:var(--muted)}.pg-empty-left .pg-empty-cap{font-size:.8125rem;color:var(--muted);font-weight:500}.pg-empty-right{padding:30px;display:flex;flex-direction:column;gap:16px;justify-content:center}@media(max-width:820px){.pg-checklist,.pg-grad-grid,.pg-empty-grid{grid-template-columns:1fr}.pg-grad-left,.pg-empty-left{border-right:none;border-bottom:1px solid var(--line)}.pg-hw-table td.pg-hw-title{display:none}}
