.pf{--ground:var(--bg-primary);--raised:var(--bg-elevated);--ink:var(--text-primary);--body:var(--text-secondary);--muted:var(--text-muted);--accent:var(--accent-primary);--accent-hover:var(--accent-primary-hover);--line:var(--border-subtle);--line-strong:var(--border-strong);--chrome:23 35 30;--halo:4 12 9;--s-lime:var(--accent-primary);--s-lime-hi:var(--accent-primary-hover);--s-ink:var(--accent-on);--s-day:var(--bg-secondary);--s-day-raised:var(--bg-elevated);--s-day-line:var(--border-subtle);--s-day-accent:var(--accent-primary);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:80px;--sp-10:96px;--sp-11:128px;--sp-12:160px;--r-pill:999px;--r-panel:14px;--r-card:10px;--r-chip:6px;--ease:cubic-bezier(.22, 1, .36, 1);--t-fast:.18s;--t-base:.22s;--t-slow:.42s;--pf-1:4px;--pf-2:8px;--pf-3:12px;--pf-4:16px;--pf-5:24px;--pf-6:32px;--pf-7:48px;--pf-8:64px;--pf-9:80px;--pf-rail-w:252px;--pf-measure:1180px;--pf-gutter:clamp(20px, 3.4vw, 52px);--pf-ease:var(--ease);--pf-radius:var(--r-panel);--pf-radius-sm:var(--r-card);grid-template-columns:var(--pf-rail-w) minmax(0, 1fr);background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);font-family:var(--font-body), Inter, system-ui, sans-serif;transition:background-color .24s var(--ease), color .24s var(--ease);display:grid}.pf [data-ground=day]{--ground:var(--bg-elevated);--raised:var(--bg-primary);--chrome:16 32 26;--halo:255 250 240}.pf-skip{z-index:90;border-radius:var(--pf-radius-sm);background:var(--text-primary);color:var(--bg-primary);transition:transform .16s var(--pf-ease);padding:12px 18px;font-size:.93rem;font-weight:620;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.pf-skip:focus{transform:none}.pf-rail{z-index:40;gap:var(--pf-5);height:100dvh;padding:var(--pf-5) var(--pf-4) var(--pf-4);border-right:1px solid var(--border-subtle);background:var(--bg-secondary);transition:background-color .24s var(--pf-ease), border-color .24s var(--pf-ease);flex-direction:column;display:flex;position:sticky;top:0}.pf-rail__brand{padding-inline:var(--pf-2)}.pf-rail__brand .brand-mark,.pf-rail__brand .brand-mark__word{color:var(--text-primary)}.pf{--mark-shell:var(--accent-primary);--mark-seam:var(--bg-elevated);--mark-shoot:var(--text-primary)}:root[data-theme=dark] .pf{--mark-shell:var(--accent-primary);--mark-seam:#0a1b18;--mark-shoot:#f3ebd6}.pf-rail__brand .brand-mark__word{letter-spacing:-.015em;text-transform:none;font-size:1.06rem;font-weight:650}.pf-rail__nav{gap:var(--pf-5);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.pf-rail__group{gap:var(--pf-1);display:grid;position:relative}.pf-rail__group-label{margin:0 0 var(--pf-1) var(--pf-3);font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}.pf-rail__group ul{gap:1px;margin:0;padding:0;list-style:none;display:grid}.pf-rail__group ul:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:34px;bottom:12px;left:21px}.pf-rail__group a{align-items:center;gap:var(--pf-3);min-height:44px;padding:0 var(--pf-3);border-radius:var(--pf-radius-sm);color:var(--text-secondary);transition:background .16s var(--pf-ease), color .16s var(--pf-ease);font-size:.93rem;font-weight:520;text-decoration:none;display:flex;position:relative}.pf-rail__node{border:1px solid var(--border-strong);background:var(--bg-secondary);width:7px;height:7px;transition:background .2s var(--pf-ease), border-color .2s var(--pf-ease), box-shadow .2s var(--pf-ease), scale .2s var(--pf-ease);border-radius:50%;position:absolute;left:18px}.pf-rail__group a svg{color:var(--text-muted);transition:color .16s var(--pf-ease);flex:none;margin-left:15px}.pf-rail__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pf-rail__group a:hover{background:var(--surface-soft);color:var(--text-primary)}.pf-rail__group a:hover .pf-rail__node{border-color:var(--accent-primary)}.pf-rail__group a:hover svg{color:var(--text-secondary)}.pf-rail__group a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.pf-rail__group a[aria-current=page]{background:var(--accent-primary-soft);color:var(--text-primary);font-weight:620}.pf-rail__group a[aria-current=page] .pf-rail__node{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-primary) 18%, transparent);scale:1.28}.pf-rail__group a[aria-current=page] svg{color:var(--accent-primary)}.pf-rail__collapse{border:1px solid var(--border-subtle);border-radius:var(--pf-radius-sm);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:background .16s var(--pf-ease), color .16s var(--pf-ease);background:0 0;margin-top:auto}.pf-rail__collapse:hover{background:var(--surface-soft);color:var(--text-primary)}.pf-rail__collapse:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.pf:has(.pf-rail__nav[data-collapsed]){grid-template-columns:76px minmax(0,1fr)}.pf-rail__nav[data-collapsed] .pf-rail__label,.pf-rail__nav[data-collapsed] .pf-rail__group-label{display:none}.pf-rail__nav[data-collapsed] .pf-rail__collapse svg{rotate:180deg}.pf-rail:has(.pf-rail__nav[data-collapsed]){padding-inline:var(--pf-2);align-items:center}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-rail__brand{justify-items:center;padding-inline:0}.pf-rail:has(.pf-rail__nav[data-collapsed]) .brand-mark__word{display:none}.pf-rail:has(.pf-rail__nav[data-collapsed]) .brand-mark{justify-content:center;gap:0}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-rail__toggles{grid-template-columns:1fr}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-rail__toggles button{justify-content:center;padding-inline:0}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-rail__toggles button>span{display:none}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-account>summary{justify-content:center;gap:0;padding-inline:0}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-account__who{display:none}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-account>summary>svg{display:none}.pf-rail:has(.pf-rail__nav[data-collapsed]) .pf-account__panel{min-width:232px;left:0}.pf-rail__foot{gap:var(--pf-3);padding-top:var(--pf-3);border-top:1px solid var(--border-subtle);display:grid}.pf-rail__toggles{gap:var(--pf-2);grid-template-columns:1fr 1fr;display:grid}.pf-rail__toggles button{border:1px solid var(--border-subtle);border-radius:var(--pf-radius-sm);min-height:38px;color:var(--text-secondary);background:0 0;font-size:.8rem}.pf-rail__toggles button:hover{background:var(--surface-soft);color:var(--text-primary)}.pf-main{min-width:0;padding:var(--pf-7) var(--pf-gutter) var(--pf-9);position:relative}.pf-main__inner{z-index:1;width:min(100%, var(--pf-measure));margin-inline:auto;position:relative}.pf-field,.pf-topbar,.pf-tabs{display:none}@media (max-width:1040px){.pf .pf-tabs{display:grid}.pf .pf-topbar{display:flex}}.pf-page-header{justify-content:space-between;align-items:flex-end;gap:var(--pf-5);padding-bottom:var(--pf-5);margin-bottom:var(--pf-7);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.pf-rule{background:var(--border-subtle);border:0;height:1px;margin:0}.pf-actions{align-items:center;gap:var(--pf-3);flex-wrap:wrap;display:flex}.pf-panel{border:1px solid var(--border-subtle);border-radius:var(--pf-radius)}.pf-panel--raised{background:var(--bg-elevated)}.pf-panel--outline{background:0 0}.pf-chip{border:1px solid var(--border-subtle);font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.56rem;display:inline-flex}.pf-chip svg{stroke-width:2px;width:12px;height:12px}.pf-chip[data-tone=accent]{border-color:color-mix(in srgb, var(--accent-primary) 42%, transparent);color:var(--accent-on-soft,var(--accent-primary))}.pf-chip[data-tone=warning]{border-color:color-mix(in srgb, var(--warning) 42%, transparent);color:var(--warning)}.pf-chip[data-tone=danger]{border-color:color-mix(in srgb, var(--danger) 42%, transparent);color:var(--danger)}.pf-empty{justify-items:center;gap:var(--pf-3);padding:clamp(var(--pf-7), 7vw, var(--pf-9)) var(--pf-5);border:1px dashed var(--border-strong);border-radius:var(--pf-radius);text-align:center;display:grid}.pf-empty__title{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.32rem;font-weight:400}.pf-empty__text{max-width:46ch;color:var(--text-secondary);margin:0;font-size:.93rem;line-height:1.6}@media (prefers-reduced-motion:no-preference){.pf-skeleton>span{animation:1.5s ease-in-out infinite pf-pulse}.pf-skeleton>span:nth-child(2){animation-delay:.12s}.pf-skeleton>span:nth-child(3){animation-delay:.24s}}@keyframes pf-pulse{50%{opacity:.5}}.pf-overview{gap:clamp(var(--pf-7), 5vw, var(--pf-9));display:grid}.pf-overview__head{justify-content:space-between;align-items:flex-end;gap:var(--pf-4);padding-bottom:var(--pf-5);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.pf-overview__head>div:first-child{gap:var(--pf-2);display:grid}.pf-overview__level{justify-items:end;gap:var(--pf-2);text-align:right;display:grid}.pf-next{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);display:grid;overflow:hidden}.pf .pf-next{padding:0}.pf-next__copy{align-content:center;justify-items:start;gap:var(--pf-4);padding:clamp(var(--pf-5), 3.4vw, var(--pf-8));display:grid}.pf-next__title{max-width:15ch;font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.032em;color:var(--text-primary);margin:0;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400;line-height:1.04}.pf-next__scene{align-content:center;justify-items:center;gap:var(--pf-3);min-height:340px;padding:var(--pf-5);border-left:1px solid var(--border-subtle);background:var(--bg-secondary);display:grid;position:relative}.pf-next__scene-caption{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin:0;font-size:.56rem}@media (max-width:900px){.pf-next{grid-template-columns:minmax(0,1fr)}.pf-next__scene{border-left:0;border-top:1px solid var(--border-subtle);min-height:260px}}.pf-growth{width:min(100%,320px);height:auto;display:block;overflow:visible}.pf-growth__ground{fill:none;stroke:var(--chart-axis);stroke-width:1px;opacity:.5}.pf-growth__soil{fill:var(--soil)}.pf-growth__tick{fill:none;stroke:var(--chart-axis);stroke-width:1px;opacity:.55}.pf-growth__tick-label,.pf-growth__level-label,.pf-growth__stage,.pf-growth__lessons{font-family:var(--font-annotation), ui-monospace, monospace;fill:var(--text-muted)}.pf-growth__tick-label{letter-spacing:.04em;font-size:9px}.pf-growth__level{fill:none;stroke:var(--accent-primary);stroke-width:1px;stroke-dasharray:3 4;opacity:.7}.pf-growth__level-label{fill:var(--accent-primary);font-size:11px;font-weight:700}.pf-growth__stage{fill:var(--text-primary);letter-spacing:.02em;font-size:12px}.pf-growth__lessons{letter-spacing:.1em;text-transform:uppercase;font-size:8.5px}.pf-growth__axis{fill:none;stroke:var(--chart-axis);stroke-width:1px;opacity:.4}.pf-growth__stem{fill:var(--accent-primary)}.pf-growth__leaf-blade{fill:var(--accent-primary);opacity:.88}.pf-growth__leaf[data-index="1"] .pf-growth__leaf-blade,.pf-growth__leaf[data-index="3"] .pf-growth__leaf-blade,.pf-growth__leaf[data-index="5"] .pf-growth__leaf-blade{fill:color-mix(in srgb, var(--accent-primary) 78%, var(--text-primary))}.pf-growth__leaf-rib{fill:none;stroke:var(--bg-elevated);stroke-width:1.1px;opacity:.5;stroke-linecap:round}.pf-growth__tip{fill:var(--accent-primary-hover)}.pf-growth__seed{fill:var(--soil)}.pf-growth__seed-seam{fill:none;stroke:var(--bg-elevated);stroke-width:1.6px;opacity:.65;stroke-linecap:round}.pf-growth:has([data-tone=night]){--pf-sky:color-mix(in srgb, var(--chart-2,#0f6f66) 42%, transparent)}.pf-growth:has([data-tone=sunrise]){--pf-sky:color-mix(in srgb, var(--warning,#b8860b) 22%, transparent)}.pf-growth:has([data-tone=rainbow]){--pf-sky:color-mix(in srgb, var(--accent-secondary) 30%, transparent)}.pf-growth:has([data-tone=rain]){--pf-sky:color-mix(in srgb, var(--chart-1) 30%, transparent)}.pf-growth__sky-top{stop-color:var(--pf-sky,transparent)}.pf-growth__sky-bottom{stop-color:transparent}.pf-growth__star{fill:var(--bg-elevated);opacity:.9}.pf-growth__sun{fill:color-mix(in srgb, var(--warning,#b8860b) 40%, transparent)}.pf-growth__rain{fill:none;stroke:var(--chart-1);stroke-width:1.6px;opacity:.5;stroke-linecap:round}.pf-growth__rainbow{fill:none;stroke-width:4px;opacity:.38;stroke-linecap:round}.pf-growth__rainbow[data-band="0"]{stroke:var(--warning,#b8860b)}.pf-growth__rainbow[data-band="1"]{stroke:var(--accent-secondary)}.pf-growth__rainbow[data-band="2"]{stroke:var(--accent-primary)}.pf-growth__rainbow[data-band="3"]{stroke:var(--chart-1)}.pf-growth__pot{fill:var(--soil)}.pf-growth__pot[data-tone=speckled]{fill:color-mix(in srgb, var(--soil) 62%, var(--surface-strong))}.pf-growth__pot[data-tone=painted]{fill:color-mix(in srgb, var(--soil) 70%, var(--accent-secondary))}.pf-growth__pot-rim{fill:color-mix(in srgb, var(--soil) 76%, var(--bg-elevated))}.pf-growth__pot[data-tone=speckled] .pf-growth__pot-rim{fill:color-mix(in srgb, var(--surface-strong) 70%, var(--soil))}.pf-growth__pot[data-tone=painted] .pf-growth__pot-rim{fill:color-mix(in srgb, var(--accent-secondary) 55%, var(--soil))}.pf-growth__pot-fleck{fill:var(--bg-elevated);opacity:.75}.pf-growth__pot-band{fill:none;stroke:var(--accent-secondary);stroke-width:2.5px;opacity:.85;stroke-linecap:round}.pf-growth__pebble,.pf-growth__stone{fill:var(--text-muted);opacity:.45}.pf-growth__birdhouse{fill:var(--soil)}.pf-growth__birdhouse-post,.pf-growth__birdhouse-perch{fill:none;stroke:var(--soil);stroke-width:3px;stroke-linecap:round}.pf-growth__birdhouse-roof{fill:color-mix(in srgb, var(--soil) 62%, var(--text-primary))}.pf-growth__birdhouse circle{fill:var(--bg-primary)}.pf-growth__face-bridge{fill:none;stroke:var(--text-primary);stroke-width:1.8px;stroke-linecap:round}.pf-growth__lens{fill:color-mix(in srgb, var(--chart-1) 30%, var(--bg-elevated));stroke:var(--text-primary);stroke-width:1.8px}.pf-growth__lens-glint{fill:none;stroke:var(--bg-elevated);stroke-width:1.6px;stroke-linecap:round;opacity:.9}.pf-growth__star-lens{fill:var(--warning,#b8860b);stroke:var(--text-primary);stroke-width:1.2px;stroke-linejoin:round}.pf-growth__petal{fill:var(--bg-elevated);stroke:var(--text-primary);stroke-width:.7px}.pf-growth__crown-eye{fill:var(--warning,#b8860b)}.pf-growth__hat-brim{fill:color-mix(in srgb, var(--warning,#b8860b) 62%, var(--bg-elevated))}.pf-growth__hat-crown{fill:color-mix(in srgb, var(--warning,#b8860b) 78%, var(--text-primary))}.pf-growth__hat-band{fill:none;stroke:var(--accent-secondary);stroke-width:2.6px;stroke-linecap:round}.pf-growth__pendant-cord{fill:none;stroke:var(--text-muted);stroke-width:1.6px}.pf-growth__pendant-stone{fill:var(--accent-secondary);stroke:var(--bg-elevated);stroke-width:1px}.pf-growth__pendant[data-tone=gold] .pf-growth__pendant-stone,.pf-growth__firefly-core{fill:var(--warning,#b8860b)}.pf-growth__firefly-glow{fill:color-mix(in srgb, var(--warning,#b8860b) 26%, transparent)}.pf-growth__acorn-nut{fill:var(--soil)}.pf-growth__acorn-cap{fill:color-mix(in srgb, var(--soil) 60%, var(--text-primary))}.pf-growth__acorn-stalk{fill:none;stroke:var(--accent-primary);stroke-width:2px;stroke-linecap:round;opacity:.8}.pf-growth__dewdrop{fill:color-mix(in srgb, var(--chart-1) 55%, var(--bg-elevated));opacity:.85}@media (prefers-reduced-motion:no-preference){.pf-growth__firefly{animation:pf-firefly 3.6s var(--pf-ease) infinite}.pf-growth__firefly[data-index="1"]{animation-delay:.8s}.pf-growth__firefly[data-index="2"]{animation-delay:1.7s}}@keyframes pf-firefly{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:no-preference){.pf-growth__stem{transform-box:fill-box;transform-origin:bottom;animation:pf-grow .9s var(--pf-ease) both}.pf-growth__leaf,.pf-growth__tip{transform-box:fill-box;transform-origin:50%;animation:pf-settle .42s var(--pf-ease) both;animation-delay:.64s}.pf-growth__leaf{transform-origin:0}.pf-growth__leaf[data-index="0"]{animation-delay:.4s}.pf-growth__leaf[data-index="1"]{animation-delay:.48s}.pf-growth__leaf[data-index="2"]{animation-delay:.56s}.pf-growth__leaf[data-index="3"]{animation-delay:.64s}.pf-growth__leaf[data-index="4"]{animation-delay:.72s}.pf-growth__leaf[data-index="5"]{animation-delay:.8s}}@keyframes pf-grow{0%{transform:scaleY(0)}}@keyframes pf-draw{to{stroke-dashoffset:0}}@keyframes pf-settle{0%{opacity:0;transform:scale(.6)}}.pf-path{gap:var(--pf-2) 0;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pf-path>li{flex:132px;min-width:132px;position:relative}.pf-path>li:before{content:"";background:var(--border-strong);height:1px;position:absolute;top:10px;left:0;right:0}.pf-path>li:first-child:before{left:50%}.pf-path>li:last-child:before{right:50%}.pf-path>li>*{justify-items:center;gap:var(--pf-2);padding:0 var(--pf-2);color:inherit;text-decoration:none;display:grid;position:relative}.pf-path__node{z-index:1;border:1px solid var(--border-strong);background:var(--bg-primary);width:11px;height:11px;transition:background .2s var(--pf-ease), border-color .2s var(--pf-ease), scale .2s var(--pf-ease);border-radius:50%;display:block;position:relative}.pf-path__label{text-align:center;justify-items:center;gap:2px;display:grid}.pf-path__name{color:var(--text-secondary);font-size:.8rem;font-weight:560;line-height:1.3}.pf-path__sub{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}.pf-path>li[data-state=completed] .pf-path__node{background:var(--accent-primary);border-color:var(--accent-primary)}.pf-path>li[data-state=completed] .pf-path__name{color:var(--text-primary)}.pf-path>li[data-state=in-progress] .pf-path__node{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent-primary) 18%, transparent);scale:1.4}.pf-path>li[data-state=in-progress] .pf-path__name{color:var(--text-primary);font-weight:640}.pf-path>li[data-state=locked]{opacity:.62}.pf-path a:hover .pf-path__node{border-color:var(--accent-primary-hover)}.pf-path a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px;border-radius:var(--pf-radius-sm)}.pf-goal{gap:var(--pf-3);display:grid}.pf-goal__bar{background:var(--surface-soft);border-radius:999px;height:8px;overflow:hidden}.pf-goal__bar>span{border-radius:inherit;background:var(--accent-primary);width:100%;height:100%;transition:transform .5s var(--pf-ease);display:block}@media (prefers-reduced-motion:reduce){.pf-goal__bar>span{transition:none}}.pf-goal__meta{gap:var(--pf-2);flex-wrap:wrap;display:flex}.pf-activity{gap:0;margin:0;padding:0;list-style:none;display:grid}.pf-activity>li{align-items:center;gap:var(--pf-3);min-height:52px;padding:var(--pf-2) 0;border-top:1px solid var(--border-subtle);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.pf-activity>li:last-child{border-bottom:1px solid var(--border-subtle)}.pf-activity__dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.pf-activity>li[data-kind=lesson] .pf-activity__dot,.pf-activity>li[data-kind=course] .pf-activity__dot{background:var(--accent-primary)}.pf-activity>li[data-kind=achievement] .pf-activity__dot{background:var(--chart-3)}.pf-activity__label{color:var(--text-primary);font-size:.93rem}.pf-activity__when{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}.pf-overview__foot{align-items:center;gap:var(--pf-2);color:var(--text-secondary);font-size:.93rem;display:flex}.pf-overview__foot svg{color:var(--accent-primary);flex:none}@media (max-width:720px){.pf-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-strip>:nth-child(odd){border-left:0;padding-left:0}.pf-strip>:nth-child(n+3){border-top:1px solid var(--border-subtle)}.pf-overview__level{text-align:left;justify-items:start}}.pf-account{position:relative}.pf-account>summary{align-items:center;gap:var(--pf-3);width:100%;min-height:52px;padding:var(--pf-2);border-radius:var(--pf-radius-sm);cursor:pointer;transition:background .16s var(--pf-ease);list-style:none;display:flex}.pf-account>summary::-webkit-details-marker{display:none}.pf-account>summary::marker{content:""}.pf-account>summary:hover{background:var(--surface-soft)}.pf-account>summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.pf-account>summary>svg{color:var(--text-muted);flex:none;margin-left:auto}.pf-account__avatar{background:var(--accent-primary);width:32px;height:32px;color:var(--accent-on);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.pf-account__who{gap:1px;min-width:0;display:grid}.pf-account__who strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:620;overflow:hidden}.pf-account__who small,.pf-account__head small{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}.pf-account__panel{display:none}.pf-account[open]>.pf-account__panel{z-index:60;min-width:208px;padding:var(--pf-2);border:1px solid var(--border-subtle);border-radius:var(--pf-radius);background:var(--bg-elevated);box-shadow:var(--shadow-elevated);gap:1px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.pf-account__head{padding:var(--pf-2) var(--pf-3) var(--pf-3);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--pf-1);gap:1px;display:grid}.pf-account__head strong{color:var(--text-primary);font-size:.85rem}.pf-account__panel a,.pf-account__panel button{align-items:center;gap:var(--pf-2);width:100%;min-height:44px;padding:0 var(--pf-3);border-radius:var(--pf-radius-sm);color:var(--text-secondary);text-align:left;cursor:pointer;transition:background .14s var(--pf-ease), color .14s var(--pf-ease);background:0 0;border:0;font-size:.85rem;text-decoration:none;display:flex}.pf-account__panel a:hover,.pf-account__panel button:hover{background:var(--surface-soft);color:var(--text-primary)}.pf-account__panel svg{color:var(--text-muted);flex:none}.pf-account__panel form{display:contents}@media (max-width:1040px){:is(.pf,.pf:has(.pf-rail__nav[data-collapsed])){grid-template-columns:minmax(0,1fr)}.pf-rail{display:none}.pf-field{inset:0}.pf-topbar{z-index:50;justify-content:space-between;align-items:center;gap:var(--pf-3);height:62px;padding-inline:var(--pf-gutter);border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-primary) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;position:sticky;top:0}.pf-topbar__actions{align-items:center;gap:var(--pf-2);display:flex}.pf-topbar .brand-mark__word{text-transform:none;letter-spacing:-.015em;font-size:1rem;font-weight:650}.pf-topbar button{border:1px solid var(--border-subtle);border-radius:var(--pf-radius-sm);min-width:40px;min-height:40px;color:var(--text-secondary);background:0 0}.pf-account--compact[open]>.pf-account__panel{inset:calc(100% + 8px) 0 auto auto}.pf-main{padding:var(--pf-6) var(--pf-gutter) calc(var(--pf-9) + env(safe-area-inset-bottom))}.pf-tabs{z-index:50;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-secondary) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.pf-tabs a{min-height:58px;color:var(--text-muted);transition:color .16s var(--pf-ease);justify-items:center;gap:3px;padding:9px 4px;font-size:.63rem;font-weight:560;text-decoration:none;display:grid}.pf-tabs a[aria-current=page]{color:var(--accent-primary)}.pf-tabs a[aria-current=page]:before{content:"";background:var(--accent-primary);border-radius:2px;width:18px;height:2px;margin-top:-9px;position:absolute}.pf-tabs a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-3px}}@media (max-width:620px){.pf-next__copy{padding:var(--pf-5)}.pf-page-header,.pf-overview__head{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.pf *,.pf :before,.pf :after{transition:none!important;animation:none!important}.pf-growth__stem{transform:none}}.pf-course-rows{gap:var(--pf-3);margin:0;padding:0;list-style:none;display:grid}.pf-course-row>a{align-items:center;gap:var(--pf-4);padding:var(--pf-4) var(--pf-5);border:1px solid var(--border-subtle);border-radius:var(--pf-radius);background:var(--bg-elevated);color:inherit;transition:border-color .18s var(--pf-ease), transform .18s var(--pf-ease);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.pf-course-row>a:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.pf-course-row>a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.pf-course-row__glyph{border-radius:var(--pf-radius-sm);background:var(--accent-primary-soft);width:46px;height:46px;color:var(--accent-primary);flex:none;place-items:center;display:grid}.pf-course-row__glyph svg{width:22px;height:22px}.pf-course-row__body{gap:var(--pf-2);min-width:0;display:grid}.pf-course-row__top{align-items:center;gap:var(--pf-3);flex-wrap:wrap;display:flex}.pf-course-row__top strong{color:var(--text-primary);font-size:1.06rem;font-weight:620}.pf-course-row__next{color:var(--text-secondary);font-size:.93rem}.pf-course-row__bar{background:var(--surface-soft);border-radius:999px;height:5px;display:block;overflow:hidden}.pf-course-row__bar>span{border-radius:inherit;background:var(--accent-primary);height:100%;display:block}.pf-course-row__meta{align-items:center;gap:var(--pf-2) var(--pf-4);font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;font-size:.56rem;display:flex}.pf-course-row__meta>span{align-items:center;gap:5px;display:inline-flex}.pf-course-row__meta svg{stroke-width:2px;width:11px;height:11px}.pf-course-row__percent{color:var(--accent-on-soft,var(--accent-primary));margin-left:auto}.pf-course-row__go{width:18px;height:18px;color:var(--text-muted);transition:transform .18s var(--pf-ease);flex:none}.pf-course-row>a:hover .pf-course-row__go{color:var(--accent-primary);transform:translate(3px)}@media (max-width:640px){.pf-course-row>a{grid-template-columns:auto minmax(0,1fr)}.pf-course-row__go{display:none}.pf-course-row__percent{margin-left:0}}.pf-course-tiles{gap:var(--pf-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.pf-course-tile>a{align-items:center;gap:var(--pf-3);height:100%;padding:var(--pf-4);border:1px solid var(--border-subtle);border-radius:var(--pf-radius-sm);color:inherit;transition:border-color .18s var(--pf-ease), background .18s var(--pf-ease);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.pf-course-tile>a:hover{border-color:var(--accent-primary);background:var(--surface-soft)}.pf-course-tile>a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.pf-course-tile__glyph{background:var(--surface-soft);width:34px;height:34px;color:var(--accent-primary);border-radius:8px;place-items:center;display:grid}.pf-course-tile__glyph svg{width:17px;height:17px}.pf-course-tile__body{gap:2px;min-width:0;display:grid}.pf-course-tile__body small{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}.pf-course-tile__body strong{color:var(--text-primary);font-size:.93rem;font-weight:600}.pf-course-tile__body em{color:var(--text-secondary);font-size:.85rem;font-style:normal;line-height:1.5}.pf-course-tile svg:last-child{width:16px;height:16px;color:var(--text-muted);flex:none}.pf-archive{gap:0;margin:0;padding:0;list-style:none;display:grid}.pf-archive>li{justify-content:space-between;align-items:center;gap:var(--pf-3);padding:var(--pf-2) 0;border-top:1px solid var(--border-subtle);display:flex}.pf-archive>li:last-child{border-bottom:1px solid var(--border-subtle)}.pf-archive>li>span{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}.pf-main__inner>*+*{margin-top:clamp(var(--pf-7), 4.5vw, var(--pf-9))}.pf-main__inner>.pf-page-header+*{margin-top:0}.pf-main__inner>.pf-rule+*{margin-top:var(--pf-5)}@media (max-width:560px){.pf-topbar{padding-inline:var(--pf-4);gap:var(--pf-2)}.pf-topbar__actions button span:not(.sr-only){display:none}.pf-topbar__actions button{padding:0}.pf-topbar .pf-account--compact>summary{gap:var(--pf-1);padding:0}.pf-topbar .pf-account--compact>summary>svg{margin-left:0}}.pf-map{gap:0;margin:0;padding:0;list-style:none;display:grid}.pf-map__unit{padding-bottom:var(--pf-6);position:relative}.pf-map__unit:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:34px;bottom:0;left:19px}.pf-map__unit:last-child:before{height:0;bottom:auto}.pf-map__unit[data-state=locked],.pf-map__unit[data-state=coming_soon]{opacity:.62}.pf-map__station{align-items:start;gap:var(--pf-4);padding-bottom:var(--pf-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.pf-map__index{z-index:1;border:1px solid var(--border-strong);background:var(--bg-primary);width:39px;height:39px;font-family:var(--font-annotation), ui-monospace, monospace;color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:.63rem;display:grid;position:relative}.pf-map__unit[data-state=completed] .pf-map__index{border-color:var(--accent-primary);color:var(--accent-on-soft,var(--accent-primary))}.pf-map__unit[data-state=in-progress] .pf-map__index{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--text-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-primary) 15%, transparent)}.pf-map__station-copy{gap:var(--pf-1);padding-top:6px;display:grid}.pf-map__station-copy h3{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.022em;color:var(--text-primary);margin:0;font-size:1.24rem;font-weight:400}.pf-map__question{max-width:60ch;color:var(--text-secondary);margin:0;font-size:.93rem;line-height:1.55}.pf-map__count{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);margin:3px 0 0;font-size:.56rem}.pf-map__lessons{gap:0;margin:0 0 0 39px;padding:0;list-style:none;display:grid}.pf-map__lessons a{align-items:center;gap:var(--pf-3);min-height:46px;padding:var(--pf-2) var(--pf-3);border-radius:var(--pf-radius-sm);color:inherit;transition:background .15s var(--pf-ease);grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.pf-map__lessons a:hover{background:var(--surface-soft)}.pf-map__lessons a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.pf-map__module{justify-content:space-between;align-items:baseline;gap:var(--pf-3);margin-top:var(--pf-3);padding:0 var(--pf-3) var(--pf-1) 0;border-bottom:1px solid var(--line);display:flex}.pf-map__module:first-child{margin-top:0}.pf-map__module-name{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.56rem}.pf-map__module-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.pf-map__node{width:18px;height:18px;color:var(--text-muted);place-items:center;display:grid}.pf-map__node svg{width:16px;height:16px}.pf-map__lessons>li[data-state=done] .pf-map__node,.pf-map__lessons>li[data-state=current] .pf-map__node{color:var(--accent-primary)}.pf-map__lessons>li[data-state=current] a{background:var(--accent-primary-soft)}.pf-map__lessons>li[data-state=current] .pf-map__lesson-name{color:var(--text-primary);font-weight:640}.pf-map__lessons>li[data-state=done] .pf-map__lesson-name{color:var(--text-secondary)}.pf-map__lesson-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;overflow:hidden}@media (max-width:640px){.pf-map__lesson-name{white-space:normal;text-overflow:clip;line-height:1.35;overflow:visible}}.pf-map__lesson-time{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}.pf-map__gate{margin-top:var(--pf-2)}.pf-map__gate a{border:1px dashed var(--border-strong)}.pf-map__gate[data-state=done] a{border-color:color-mix(in srgb, var(--accent-primary) 46%, transparent)}.pf-map__gate[data-state=done] .pf-map__node{color:var(--accent-primary)}.pf-map__gate .pf-map__lesson-time{color:var(--accent-on-soft,var(--accent-primary))}@media (max-width:620px){.pf-map__station{grid-template-columns:auto minmax(0,1fr)}.pf-map__station>.pf-chip{grid-column:2;justify-self:start}.pf-map__lessons{margin-left:var(--pf-5)}}.pf-activity-chart{gap:var(--pf-3);margin:0;display:grid}.pf-activity-chart ol{grid-template-columns:repeat(28,minmax(0,1fr));grid-auto-rows:1fr;gap:4px;margin:0;padding:0;list-style:none;display:grid}.pf-activity-chart li{aspect-ratio:1;background:var(--surface-soft);border-radius:3px}.pf-activity-chart li[data-on]{background:color-mix(in srgb, var(--accent-primary) calc(30% + var(--level) * 70%), var(--surface-soft))}.pf-activity-chart figcaption{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}@media (max-width:620px){.pf-activity-chart ol{grid-template-columns:repeat(14,minmax(0,1fr))}}.pf-concept{gap:var(--pf-5);grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:start;display:grid}.pf-concept__families{gap:var(--pf-5);display:grid}.pf-concept__family h3{margin:0 0 var(--pf-3);font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:.63rem;font-weight:400}.pf-concept__family ul{gap:var(--pf-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pf-concept__family button{align-items:center;gap:var(--pf-2);border:1px solid var(--border-subtle);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:border-color .16s var(--pf-ease), background .16s var(--pf-ease), color .16s var(--pf-ease);background:0 0;border-radius:999px;padding:8px 14px;font-size:.85rem;display:inline-flex}.pf-concept__family button:hover{border-color:var(--accent-primary);color:var(--text-primary)}.pf-concept__family button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.pf-concept__family button[aria-pressed=true]{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--text-primary)}.pf-concept__dot{background:var(--border-strong);border-radius:50%;width:7px;height:7px}.pf-concept__family button[data-state=available] .pf-concept__dot{background:var(--text-muted)}.pf-concept__family button[data-state=in-progress] .pf-concept__dot{background:var(--chart-3)}.pf-concept__family button[data-state=proficient] .pf-concept__dot,.pf-concept__family button[data-state=mastered] .pf-concept__dot{background:var(--accent-primary)}.pf-concept__family button[data-state=locked]{opacity:.55}.pf-concept__detail{top:var(--pf-5);align-content:start;gap:var(--pf-2);padding:var(--pf-5);border:1px solid var(--border-subtle);border-radius:var(--pf-radius);background:var(--bg-elevated);display:grid;position:sticky}.pf-concept__detail h3{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.24rem;font-weight:400}.pf-concept__state{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.56rem}.pf-concept__state[data-state=proficient],.pf-concept__state[data-state=mastered]{color:var(--accent-on-soft,var(--accent-primary))}.pf-concept__state[data-state=in-progress]{color:var(--warning)}.pf-concept__desc{margin:var(--pf-1) 0 0;color:var(--text-secondary);font-size:.93rem;line-height:1.6}.pf-concept__prereqs{gap:var(--pf-1);margin:0;padding:0;list-style:none;display:grid}.pf-concept__prereqs li{color:var(--text-secondary);font-size:.85rem}.pf-concept__hint{color:var(--text-muted);margin:0;font-size:.93rem;line-height:1.6}@media (max-width:900px){.pf-concept{grid-template-columns:minmax(0,1fr)}.pf-concept__detail{position:static}}.pf-mastery{gap:0;margin:0;padding:0;list-style:none;display:grid}.pf-mastery>li{align-items:center;gap:var(--pf-3);min-height:52px;padding:var(--pf-2) 0;border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,14rem) minmax(0,1fr) auto auto;display:grid}.pf-mastery>li:last-child{border-bottom:1px solid var(--border-subtle)}.pf-mastery--points>li{grid-template-columns:minmax(0,14rem) minmax(0,1fr) auto}.pf-mastery__name{color:var(--text-primary);font-size:.93rem}.pf-mastery__bar{background:var(--surface-soft);border-radius:999px;height:7px;overflow:hidden}.pf-mastery__bar>span{border-radius:inherit;background:var(--accent-primary);height:100%;display:block}.pf-mastery__value{min-width:3.4ch;font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;font-size:1rem}.pf-mastery__evidence{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.56rem}@media (max-width:700px){.pf-mastery>li,.pf-mastery--points>li{grid-template-columns:minmax(0,1fr) auto}.pf-mastery__bar{grid-column:1/-1}.pf-mastery__evidence{display:none}}.pf-review{gap:var(--pf-3);margin:0;padding:0;list-style:none;display:grid}.pf-review__item{align-items:start;gap:var(--pf-1) var(--pf-4);padding:var(--pf-4);border:1px solid var(--line);border-radius:var(--pf-radius);background:var(--raised);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);grid-template-columns:auto minmax(0,1fr);display:grid}.pf-review__item:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.pf-review__item[data-tone=needs_review]{border-inline-start:3px solid var(--warning,var(--accent-secondary))}.pf-review__item[data-tone=developing]{border-inline-start:3px solid var(--accent-secondary)}.pf-review__item[data-tone=mastered],.pf-review__item[data-tone=strong_mastery]{border-inline-start:3px solid var(--accent)}.pf-review__rank{background:color-mix(in srgb, var(--ink) 7%, transparent);width:30px;height:30px;font-family:var(--font-annotation), ui-monospace, monospace;color:var(--muted);border-radius:999px;grid-row:1/span 2;place-items:center;margin:2px 0 0;font-size:.78rem;font-weight:700;display:grid}.pf-review__head{justify-content:space-between;align-items:baseline;gap:var(--pf-3);grid-column:2;display:flex}.pf-review__name{color:var(--ink);margin:0;font-size:1rem;font-weight:620}.pf-review__score{color:var(--muted);align-items:baseline;gap:1px;margin:0;display:flex}.pf-review__score-value{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1}.pf-review__score-unit{font-size:.8rem}.pf-review__item[data-tone=needs_review] .pf-review__score{color:var(--warning,var(--accent-secondary))}.pf-review__item[data-tone=developing] .pf-review__score{color:var(--accent-secondary)}.pf-review__item[data-tone=mastered] .pf-review__score,.pf-review__item[data-tone=strong_mastery] .pf-review__score{color:var(--accent)}.pf-review__label{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);grid-column:2;margin:0;font-size:.56rem}.pf-review__meter{margin-top:var(--pf-2);grid-column:2;position:relative}.pf-review__meter-track{background:color-mix(in srgb, var(--ink) 7%, transparent);height:8px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 9%, transparent);border-radius:999px;display:block;overflow:hidden}.pf-review__meter-fill{border-radius:inherit;background:var(--muted);height:100%;display:block}.pf-review__item[data-tone=needs_review] .pf-review__meter-fill{background:var(--warning,var(--accent-secondary))}.pf-review__item[data-tone=developing] .pf-review__meter-fill{background:var(--accent-secondary)}.pf-review__item[data-tone=mastered] .pf-review__meter-fill,.pf-review__item[data-tone=strong_mastery] .pf-review__meter-fill{background:var(--accent)}.pf-review__meter-line{background:color-mix(in srgb, var(--ink) 52%, transparent);border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px;transform:translate(-1px)}.pf-review__evidence{align-items:center;gap:var(--pf-2) var(--pf-4);margin:var(--pf-3) 0 0;color:var(--muted);flex-wrap:wrap;grid-column:2;font-size:.82rem;display:flex}.pf-review__evidence strong{color:var(--ink);font-weight:640}.pf-review__delta{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.pf-review__delta[data-direction=up]{color:var(--accent)}.pf-review__delta[data-direction=down]{color:var(--warning,var(--accent-secondary))}.pf-review__link{justify-self:start;align-items:center;gap:var(--pf-2);margin-top:var(--pf-3);padding:7px var(--pf-3);border:1px solid var(--line);color:var(--ink);transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);border-radius:999px;grid-column:2;font-size:.87rem;text-decoration:none;display:inline-flex}.pf-review__link:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.pf-review__link-label{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.56rem}.pf-review__link-lesson{color:var(--ink)}.pf-review__link svg{color:var(--accent)}@media (max-width:560px){.pf-review__item{grid-template-columns:minmax(0,1fr)}.pf-review__rank{grid-row:auto}.pf-review__head,.pf-review__label,.pf-review__meter,.pf-review__evidence,.pf-review__link{grid-column:1}}.pf-table-scroll{margin:0;overflow-x:auto}.pf-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.93rem}.pf-table th,.pf-table td{padding:var(--pf-2) var(--pf-3);text-align:right;border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap}.pf-table thead th{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:normal;font-size:.56rem}.pf-table th[scope=row]{text-align:left;font-weight:500}.pf-table tbody tr:hover{background:var(--surface-soft)}.pf-table--items .pf-table__prompt{white-space:normal;min-width:22rem;max-width:34rem}.pf-table__where{text-align:left;white-space:normal}.pf-table__sub{color:var(--muted);font-size:.72rem;display:block}.pf-table__concern{text-align:left;white-space:normal;color:var(--body)}.pf-table td[data-tone=bad]{color:var(--warning,var(--accent-secondary));font-weight:700}.pf-table tr[data-severity=high] th[scope=row]{border-inline-start:2px solid var(--warning,var(--accent-secondary));padding-inline-start:var(--pf-3)}:root[data-theme=dark] .pf{--chrome:251 250 244}.pf .site-panel{background:var(--raised);border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 2px rgb(var(--halo) / .04), 0 12px 32px -20px rgb(var(--halo) / .18)}:root[data-theme=dark] .pf .site-panel{box-shadow:0 1px 2px rgb(var(--halo) / .3), 0 18px 44px -26px rgb(var(--halo) / .6)}.pf .site-btn--secondary{background:var(--raised);border-color:var(--line-strong);color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}.pf .site-btn--secondary:hover{background:var(--surface-soft);border-color:var(--accent)}.pf .site-btn--primary{box-shadow:0 1px 2px rgb(var(--halo) / .12), 0 6px 18px -8px rgb(var(--halo) / .22)}.pf .site-btn--primary:hover{box-shadow:0 2px 4px rgb(var(--halo) / .16), 0 10px 24px -10px rgb(var(--halo) / .3)}:root[data-theme=dark] .pf .site-btn--primary{box-shadow:0 0 0 1px #8fe36a80,0 6px 22px #8fe36a38}:root[data-theme=dark] .pf .site-btn--primary:hover{box-shadow:0 0 0 1px #a8e878b3,0 8px 30px #8fe36a57}.pf-outline{gap:0;margin:0;padding:0;list-style:none;display:grid}.pf-outline>li{align-items:baseline;gap:var(--pf-3);padding:var(--pf-3) 0;border-top:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr) auto;display:grid}.pf-outline>li:last-child{border-bottom:1px solid var(--line)}.pf-outline__index{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.1em;color:var(--muted);font-size:.63rem}.pf-outline strong{color:var(--ink);font-size:.93rem;font-weight:600}.pf-outline p{color:var(--body);margin:2px 0 0;font-size:.85rem}.pf-outline__count{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.56rem}@media (max-width:640px){.pf-outline>li{grid-template-columns:2rem minmax(0,1fr)}.pf-outline__count{grid-column:2}}.pf .site-eyebrow{-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--muted);background:0 0;padding:0 0 0 10px}.pf .site-eyebrow svg{color:var(--accent)}.pf-page-header{justify-content:space-between;align-items:flex-end;gap:var(--sp-5);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.pf-page-header__copy{justify-items:start;gap:var(--sp-3);display:grid}.pf-page-header__lede{max-width:56ch}.pf-page-header__aside{justify-items:end;gap:var(--sp-2);display:grid}.pf-section{gap:var(--sp-4);display:grid}.pf-section__head{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.pf-section__head>div{gap:var(--sp-1);display:grid}.pf-section__desc{max-width:60ch;color:var(--body);margin:2px 0 0;font-size:.93rem;line-height:1.55}.pf-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pf-strip>*{padding:var(--sp-5) var(--sp-4);border-left:1px solid var(--line)}.pf-strip>:first-child{border-left:0;padding-left:0}@media (max-width:640px){.pf-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-strip>*{padding:var(--pf-4) var(--pf-3)}.pf-strip>:nth-child(odd){border-left:0;padding-left:0}.pf-strip>:nth-child(2n){border-left:1px solid var(--border-subtle)}.pf-strip>:nth-child(n+3){border-top:1px solid var(--border-subtle)}}.pf-stat{gap:3px;display:grid}.pf-stat__value{font-family:var(--font-heading), system-ui, sans-serif;letter-spacing:-.035em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:400;line-height:1}.pf-stat[data-tone=plain] .pf-stat__value{color:var(--ink)}.pf-stat__label{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.56rem}.pf-panel--sunken{background:var(--bg-secondary)}.pf-seed{width:34px;height:44px;overflow:visible}.pf-seed__shell{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.4}.pf-seed__root{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-linecap:round;opacity:.7}.pf-skeleton{gap:var(--sp-3);display:grid}.pf-skeleton>span{background:var(--surface-soft);border-radius:4px;height:14px}.pf-skeleton>span:nth-child(2){width:82%}.pf-skeleton>span:nth-child(3){width:64%}.pf-topics{gap:0;margin:0;padding:0;list-style:none;display:grid}.pf-topics>li{align-items:center;gap:var(--sp-4);min-height:62px;padding:var(--sp-3) 0;border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) minmax(0,12rem) auto;display:grid}.pf-topics>li:last-child{border-bottom:1px solid var(--line)}.pf-topics__index{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.63rem}.pf-topics__body{gap:2px;min-width:0;display:grid}.pf-topics__body strong{color:var(--ink);text-transform:capitalize;font-size:1rem;font-weight:600}.pf-topics__body small{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.56rem}.pf-topics__bar{background:var(--surface-soft);border-radius:999px;height:6px;overflow:hidden}.pf-topics__bar>span{border-radius:inherit;background:var(--accent);height:100%;display:block}@media (max-width:760px){.pf-topics>li{grid-template-columns:auto minmax(0,1fr) auto}.pf-topics__bar{grid-column:2/-1}}.pf-record-panel{padding:0;overflow:hidden}.pf-record{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:stretch;display:grid}.pf-record__figure{padding:var(--pf-5) var(--pf-4);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);place-items:center;display:grid}.pf-record__facts{align-content:start;gap:var(--pf-4);padding:var(--pf-5);display:grid}.pf-record__level-name{align-items:baseline;gap:var(--pf-2);margin:var(--pf-2) 0 var(--pf-3);letter-spacing:-.01em;color:var(--text-primary);flex-wrap:wrap;font-size:1.5rem;font-weight:650;display:flex}.pf-record__level-num{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);font-size:.68rem;font-weight:600}.pf-record__meter{background:color-mix(in srgb, var(--text-primary) 7%, transparent);height:8px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 9%, transparent);border-radius:999px;overflow:hidden}.pf-record__meter>span{border-radius:inherit;background:var(--accent-primary);height:100%;display:block}.pf-record__meter-note{margin:var(--pf-2) 0 0;font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.06em;color:var(--text-muted);font-size:.68rem}.pf-record__ladder{border-top:1px solid var(--border-subtle);gap:1px;margin:0;padding:0;list-style:none;display:grid}.pf-record__ladder>li{align-items:center;gap:var(--pf-3);padding:var(--pf-2) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:16px minmax(0,1fr) auto;display:grid}.pf-record__rung{border:1.5px solid var(--border-strong,var(--border-subtle));border-radius:999px;justify-self:center;width:9px;height:9px}.pf-record__ladder>li[data-state=passed] .pf-record__rung{background:var(--accent-primary);border-color:var(--accent-primary)}.pf-record__ladder>li[data-state=current] .pf-record__rung{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-primary) 22%, transparent)}.pf-record__rung-name{color:var(--text-secondary);font-size:.9rem}.pf-record__ladder>li[data-state=current] .pf-record__rung-name{color:var(--text-primary);font-weight:620}.pf-record__ladder>li[data-state=ahead] .pf-record__rung-name{color:var(--text-muted)}.pf-record__rung-points{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.06em;color:var(--text-muted);font-size:.68rem}.pf-record__next p,.pf-record__worn p{margin:var(--pf-2) 0 0;color:var(--text-secondary);font-size:.95rem}.pf-record__next p{color:var(--text-primary)}.pf-record__worn a{color:var(--accent-primary);text-underline-offset:3px;text-decoration:underline}.pf-record__worn-list{gap:var(--pf-2);margin:var(--pf-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}@media (max-width:900px){.pf-record{grid-template-columns:minmax(0,1fr)}.pf-record__figure{border-right:0;border-bottom:1px solid var(--border-subtle)}}.pf-note{gap:var(--sp-3);padding:var(--sp-5);display:grid}.pf-note p{color:var(--body);margin:0;font-size:.93rem;line-height:1.6}.pf-lesson{gap:var(--sp-7);display:grid}.pf-backlink{align-items:center;gap:var(--sp-2);color:var(--muted);letter-spacing:.01em;transition:color .18s var(--ease);font-size:.8rem;text-decoration:none;display:inline-flex}.pf-backlink:hover{color:var(--ink)}.pf-backlink svg{flex:none}.pf-lesson__head{gap:var(--sp-3);display:grid}.pf-lesson__head .site-eyebrow{margin-top:var(--sp-2)}.pf-lesson__title{max-inline-size:22ch;margin:0}.pf-lesson__meta{color:var(--muted);margin:0;font-size:.85rem}.pf-lesson__bar{block-size:2px;margin-top:var(--sp-2);background:var(--line);border-radius:999px;position:relative;overflow:hidden}.pf-lesson__bar>span{background:var(--accent);transition:inline-size .4s var(--ease);border-radius:999px;position:absolute;inset-block:0;inset-inline-start:0}.pf-lesson__body[data-single-column]{grid-template-columns:minmax(0,1fr)}.pf-lesson__body{gap:var(--sp-8);grid-template-columns:208px minmax(0,1fr);align-items:start;display:grid}.pf-lesson__main{gap:var(--sp-6);min-inline-size:0;display:grid}.pf-chapters{top:var(--sp-6);position:sticky}.pf-chapters ol{gap:var(--sp-1);padding:0 0 0 var(--sp-5);margin:0;list-style:none;display:grid;position:relative}.pf-chapters ol:before{content:"";background:var(--line);inline-size:1px;position:absolute;inset-block:14px;inset-inline-start:5px}.pf-chapters__step button{align-items:start;gap:var(--sp-2);inline-size:100%;padding:var(--sp-2) var(--sp-2) var(--sp-2) 0;border-radius:var(--r-chip);color:var(--muted);font:inherit;text-align:start;cursor:pointer;transition:color .18s var(--ease);background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);font-size:.85rem;display:grid;position:relative}.pf-chapters__step button:hover{color:var(--ink)}.pf-chapters__node{inset-inline-start:calc(var(--sp-5) * -1 + 1px);top:var(--sp-2);border:1px solid var(--line-strong);background:var(--ground);block-size:9px;inline-size:9px;transition:background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:50%;margin-top:4px;position:absolute}.pf-chapters__num{font-variant-numeric:tabular-nums;opacity:.7;font-size:.72rem;line-height:1.5}.pf-chapters__label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.pf-chapters__step[data-state=done] .pf-chapters__node{background:var(--line-strong);border-color:var(--line-strong)}.pf-chapters__step[data-state=done] button{color:var(--body)}.pf-chapters__step[data-state=current] .pf-chapters__node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.pf-chapters__step[data-state=current] button{color:var(--ink);font-weight:500}.pf-chapter{gap:var(--sp-3);animation:pf-chapter-in .32s var(--ease) both;display:grid}.pf-chapter__kicker{margin:0}.pf-chapter__title{margin:0 0 var(--sp-2);max-inline-size:26ch}.pf-chapter__body{gap:var(--sp-5);max-inline-size:68ch;display:grid}.pf-chapter__body>*{min-inline-size:0}@keyframes pf-chapter-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pf-chapter{animation:none}}.pf-objectives{gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);border:1px solid var(--line);border-radius:var(--r-card);background:var(--raised);display:grid}.pf-objectives__lede{color:var(--body);margin:0;font-size:.93rem;line-height:1.65}.pf-objectives__list{gap:var(--sp-2);margin:var(--sp-1) 0 0;padding:0;list-style:none;display:grid}.pf-objectives__list li{color:var(--ink);padding-inline-start:var(--sp-5);font-size:.93rem;line-height:1.6;position:relative}.pf-objectives__list li:before{content:"";inset-inline-start:0;background:var(--accent);block-size:1px;inline-size:10px;position:absolute;top:.62em}.pf-lesson__nav{gap:var(--sp-3);padding-top:var(--sp-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.pf-lesson__nav .site-btn:last-child:not(:first-child){margin-inline-start:auto}.pf-lesson__nav .site-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width:900px){.pf-lesson__body{gap:var(--sp-6);grid-template-columns:minmax(0,1fr)}.pf-chapters{margin-inline:calc(var(--pf-gutter) * -1);position:static}.pf-chapters ol{gap:var(--sp-2);padding:0 var(--pf-gutter) var(--sp-2);scrollbar-width:none;grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.pf-chapters ol::-webkit-scrollbar{display:none}.pf-chapters ol:before{block-size:1px;inline-size:auto;inset:auto 0 6px}.pf-chapters__step button{padding:var(--sp-2) var(--sp-3) var(--sp-4)}.pf-chapters__node{inset-inline-start:50%;margin:0 0 0 -4px;top:auto;bottom:2px}.pf-chapters__label{-webkit-line-clamp:1;line-clamp:1;white-space:nowrap;text-overflow:ellipsis;max-inline-size:14ch}}.pf-exam,.pf-final{gap:var(--sp-7);display:grid}.pf-exam__head{gap:var(--sp-3);display:grid}.pf-exam__head .site-eyebrow{margin-top:var(--sp-2)}.pf-exam__title{max-inline-size:20ch;margin:0}.pf-exam__meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.pf-final__stakes{margin:var(--sp-2) 0 0;max-inline-size:56ch;color:var(--body);font-size:.93rem;line-height:1.65}.pf-quiz{gap:var(--sp-5);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--raised);max-inline-size:780px;display:grid}.pf-quiz>h2{margin:0}.pf-quiz__meta{color:var(--muted);margin:0;font-size:.85rem}.pf-quiz__exhausted{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--raised);color:var(--body);margin:0}.pf-quiz__markers{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pf-quiz__markers button{border:1px solid var(--line-strong);background:var(--ground);block-size:30px;inline-size:30px;color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);border-radius:50%;place-items:center;padding:0;font-size:.8rem;display:grid}.pf-quiz__markers button:hover{border-color:var(--accent);color:var(--ink)}.pf-quiz__markers button[data-answered]{background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:color-mix(in srgb, var(--accent) 46%, transparent);color:var(--ink)}.pf-quiz__markers button[aria-current=step]{border-color:var(--accent);color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.pf-quiz__stage{gap:var(--sp-4);outline:none;display:grid}.pf-quiz__counter{color:var(--muted);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem}.pf-quiz__question{gap:var(--sp-4);display:grid}.pf-quiz__pager{gap:var(--sp-3);display:flex}.pf-quiz__pager .site-btn:last-child:not(:first-child){margin-inline-start:auto}.pf-quiz__pager .site-btn:disabled{opacity:.4;cursor:not-allowed}.pf-quiz__submit{justify-self:start}.pf-quiz__submit:disabled{opacity:.5;cursor:not-allowed}.pf-quiz__review{gap:var(--sp-6);display:grid}.pf-quiz__review .pf-quiz__question{padding-bottom:var(--sp-6);border-bottom:1px solid var(--line)}.pf-quiz__review .pf-quiz__question:last-child{border-bottom:0;padding-bottom:0}.pf-quiz__feedback{padding:var(--sp-3) var(--sp-4);border-inline-start:2px solid var(--line-strong);color:var(--body);margin:0;font-size:.93rem;line-height:1.6}.pf-quiz__feedback[data-tone=correct]{border-inline-start-color:var(--accent)}.pf-quiz__feedback[data-tone=incorrect]{border-inline-start-color:var(--warning,var(--accent-secondary))}.pf-quiz__feedback[data-tone=saved]{border-inline-start-color:var(--accent-secondary)}.pf-quiz__error{color:var(--danger,var(--warning));margin:0;font-size:.93rem}.pf-quiz__result{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--ground);color:var(--ink);margin:0;font-size:.93rem;line-height:1.55;display:flex}.pf-quiz__result svg{flex:none}.pf-quiz__result[data-tone=passed]{border-color:color-mix(in srgb, var(--accent) 46%, transparent)}.pf-quiz__result[data-tone=passed] svg{color:var(--accent)}.pf-quiz__result[data-tone=retry] svg{color:var(--muted)}.pf-final__end{justify-items:start;gap:var(--sp-4);padding:var(--sp-7) var(--sp-6);border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));border-radius:var(--r-panel);background:var(--raised);max-inline-size:780px;display:grid}.pf-final__end h2{margin:0}.pf-final__end p{max-inline-size:54ch;color:var(--body);margin:0;line-height:1.65}.pf-final__end .pf-seed{block-size:auto;inline-size:34px}@media (max-width:640px){.pf-quiz{padding:var(--sp-5) var(--sp-4)}.pf-quiz__markers button{block-size:27px;inline-size:27px}}.pf-settings-page{gap:var(--sp-8);display:grid}.pf-settings-page>.pf-page-header{margin-bottom:0}.pf-settings{gap:var(--sp-8);grid-template-columns:168px minmax(0,1fr);align-items:start;display:grid}.pf-settings__rail{top:var(--sp-6);position:sticky}.pf-settings__rail ol{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.pf-settings__rail a{padding:var(--sp-2) var(--sp-3);border-inline-start:1px solid var(--line);border-radius:0 var(--r-chip) var(--r-chip) 0;color:var(--muted);transition:color .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);font-size:.85rem;text-decoration:none;display:block}.pf-settings__rail a:hover{color:var(--ink);border-inline-start-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.pf-settings__body{gap:var(--sp-8);min-inline-size:0;display:grid}.pf-settings__group{gap:var(--sp-5);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--raised);max-inline-size:720px;scroll-margin-top:var(--sp-6);display:grid}.pf-settings__group>header{gap:var(--sp-2);display:grid}.pf-settings__group>header h2{margin:0}.pf-settings__pair{gap:var(--sp-6);display:grid}.pf-settings__aside{margin:0}.pf-form{gap:var(--sp-4);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--raised);max-inline-size:720px;scroll-margin-top:var(--sp-6);display:grid}.pf-settings__group .pf-form,.pf-settings__pair .pf-form{background:0 0;border:0;padding:0}.pf-form>header{gap:var(--sp-2);display:grid}.pf-form>header h2,.pf-form>header h3{margin:0}.pf-form__lede{max-inline-size:58ch;color:var(--body);margin:0;font-size:.93rem;line-height:1.6}.pf-form__submit{gap:var(--sp-3);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.pf-form__submit .auth-submit{inline-size:auto;min-inline-size:200px}.pf-checks,.pf-seeds{gap:var(--sp-3);border:0;margin:0;padding:0;display:grid}.pf-checks legend,.pf-seeds legend{color:var(--ink);padding:0;font-size:.85rem;font-weight:500}.pf-checks legend span{color:var(--muted);margin-inline-start:var(--sp-2);font-size:.8rem;font-weight:400}.pf-checks>div{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pf-checks label{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--body);cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);font-size:.85rem;display:inline-flex}.pf-checks label:hover{border-color:var(--accent);color:var(--ink)}.pf-checks label:has(input:checked){border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 14%, transparent)}.pf-checks label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.pf-seeds>div{gap:var(--sp-3);flex-wrap:wrap;display:flex}.pf-seeds label{justify-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line-strong);border-radius:var(--r-card);cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);display:grid}.pf-seeds label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.pf-seeds label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.pf-seeds b{color:var(--body);text-transform:capitalize;font-size:.72rem;font-weight:400}.pf-seeds input,.pf-checks input[type=checkbox]{accent-color:var(--accent)}.pf-choice{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:inline-flex}.pf-choice button{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--body);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);background:0 0;font-size:.85rem;display:inline-flex}.pf-choice button:hover{border-color:var(--accent);color:var(--ink)}.pf-choice button[aria-pressed=true]{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 14%, transparent)}.pf-switches{gap:var(--sp-1);display:grid}.pf-switch{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);display:flex}.pf-switches .pf-switch:last-child{border-bottom:0}.pf-switch>span{gap:2px;display:grid}.pf-switch strong{color:var(--ink);font-size:.93rem;font-weight:500}.pf-switch small{color:var(--muted);font-size:.8rem;line-height:1.5}.pf-switch button[role=switch]{border:1px solid var(--line-strong);background:var(--ground);cursor:pointer;block-size:24px;inline-size:42px;transition:background .2s var(--ease), border-color .2s var(--ease);border-radius:999px;flex:none;padding:0;position:relative}.pf-switch button[role=switch]>span{top:2px;background:var(--line-strong);block-size:18px;inline-size:18px;transition:transform .2s var(--ease), background .2s var(--ease);border-radius:50%;position:absolute;inset-inline-start:2px}.pf-switch button[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 26%, transparent)}.pf-switch button[aria-checked=true]>span{background:var(--accent);transform:translate(18px)}@media (prefers-reduced-motion:reduce){.pf-switch button[role=switch]>span{transition:none}}.pf-themes{gap:var(--sp-3);flex-wrap:wrap;display:flex}.pf-themes>button{gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-card);color:var(--body);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);background:0 0;font-size:.85rem;display:grid}.pf-themes>button:hover{border-color:var(--accent)}.pf-themes>button[aria-pressed=true]{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 10%, transparent)}.pf-themes>button>span:last-child{align-items:center;gap:var(--sp-2);display:inline-flex}.theme-preview{block-size:60px;inline-size:96px;padding:var(--sp-2);border:1px solid var(--line);border-radius:8px;align-content:start;gap:3px;display:grid;overflow:hidden}.theme-preview i{border-radius:2px;block-size:6px;display:block}.theme-preview b{border-radius:2px;block-size:4px;display:block}.theme-preview em{border-radius:3px;block-size:14px;margin-top:auto;display:block}.theme-preview--light{background:#fbfaf4}.theme-preview--light i{background:#0f2a22;inline-size:60%}.theme-preview--light b{background:#c9cec4;inline-size:85%}.theme-preview--light em{background:#8fe36a;inline-size:45%}.theme-preview--dark{background:#07131a}.theme-preview--dark i{background:#fffaf0;inline-size:60%}.theme-preview--dark b{background:#2a3d3a;inline-size:85%}.theme-preview--dark em{background:#8fe36a;inline-size:45%}.theme-preview--system{background:linear-gradient(105deg,#fbfaf4 0 50%,#07131a 50% 100%)}.theme-preview--system i{background:#7e9aa0;inline-size:60%}.theme-preview--system b{opacity:.6;background:#7e9aa0;inline-size:85%}.theme-preview--system em{background:#8fe36a;inline-size:45%}.pf-privacy{gap:var(--sp-2);display:grid}.pf-privacy__lede{margin:0 0 var(--sp-3);max-inline-size:58ch;color:var(--body);font-size:.93rem;line-height:1.65}.pf-privacy__lede a{color:var(--ink);text-underline-offset:3px}.pf-privacy__row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.pf-privacy__row h3{margin:0 0 2px}.pf-privacy__row p{color:var(--muted);margin:0;font-size:.85rem}.pf-privacy__row--danger{display:block}.pf-danger{gap:var(--sp-3);padding:var(--sp-5);margin-top:var(--sp-2);border:1px solid color-mix(in srgb, var(--danger,#c0563e) 40%, var(--line));border-radius:var(--r-card);background:color-mix(in srgb, var(--danger,#c0563e) 5%, transparent);display:grid}.pf-danger h3{margin:0}.pf-danger p{max-inline-size:56ch;color:var(--body);margin:0;font-size:.93rem;line-height:1.6}.pf-danger__reveal{justify-self:start}.pf-notice{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--raised);display:flex}.pf-notice[data-tone=warning]{border-color:color-mix(in srgb, var(--warning,#b8860b) 45%, var(--line))}.pf-notice svg{color:var(--warning,var(--accent-secondary));flex:none;margin-top:2px}.pf-notice strong{color:var(--ink);margin-bottom:2px;font-size:.93rem;display:block}.pf-notice p{color:var(--body);margin:0;font-size:.85rem;line-height:1.6}.pf-notice code{background:color-mix(in srgb, var(--ink) 8%, transparent);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);border-radius:4px;padding:1px 5px;font-size:.82em}@media (max-width:900px){.pf-settings{gap:var(--sp-5);grid-template-columns:minmax(0,1fr)}.pf-settings__rail{position:static}.pf-settings__rail ol{gap:var(--sp-2);scrollbar-width:none;padding-bottom:var(--sp-1);grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.pf-settings__rail ol::-webkit-scrollbar{display:none}.pf-settings__rail a{border:1px solid var(--line);border-radius:var(--r-pill);white-space:nowrap}.pf-settings__group,.pf-form{padding:var(--sp-5) var(--sp-4)}.pf-settings__group .pf-form,.pf-settings__pair .pf-form{padding:0}}.pf-guest-lesson{padding:var(--sp-8) var(--pf-gutter);background:var(--ground);min-block-size:100vh;display:block}.pf-guest-lesson>.pf-lesson{width:min(100%, var(--pf-measure));margin-inline:auto}.pf-guest-finish{gap:var(--sp-3);display:grid}.pf-guest-finish h3{margin:0}.pf-guest-finish p{color:var(--body);margin:0;line-height:1.65}.pf-guest-finish__saved{color:var(--muted);font-size:.85rem}.lesson-block--data-table{overflow-x:auto}.lesson-block--data-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;inline-size:100%;font-size:.93rem}.lesson-block--data-table th,.lesson-block--data-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);text-align:start;vertical-align:top}.lesson-block--data-table th{border-bottom-color:var(--line-strong);color:var(--ink);font-weight:500;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.lesson-block--data-table td{color:var(--body);line-height:1.55}.lesson-block--data-table tbody tr:last-child td{border-bottom:0}.lesson-block--bar-chart{margin:0}.bar-chart{align-items:flex-end;gap:var(--sp-4);block-size:220px;padding:var(--sp-5) var(--sp-4) 0;border-bottom:1px solid var(--line-strong);display:flex}.bar-chart__bar-group{justify-content:flex-end;align-items:center;gap:var(--sp-2);flex-direction:column;flex:1 1 0;block-size:100%;min-inline-size:0;display:flex}.bar-chart__bar{background:var(--accent);min-block-size:2px;inline-size:100%;max-inline-size:56px;transition:block-size .4s var(--ease);border-radius:3px 3px 0 0}.bar-chart__value{color:var(--ink);font-variant-numeric:tabular-nums;order:-1;font-size:.8rem}.bar-chart__label{color:var(--muted);text-align:center;margin-block-end:calc(var(--sp-5) * -1);padding-block-start:var(--sp-2);font-size:.8rem;line-height:1.3}.lesson-block--bar-chart{padding-block-end:var(--sp-6)}@media (prefers-reduced-motion:reduce){.bar-chart__bar{transition:none}}.lesson-block--reflection{gap:var(--sp-3);display:grid}.lesson-block--reflection label{color:var(--ink);font-size:1rem;line-height:1.65}.lesson-block--reflection textarea{inline-size:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--ground);color:var(--ink);font:inherit;resize:vertical;font-size:.93rem;line-height:1.6}.lesson-block--reflection textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.lesson-block--practice-question{gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--raised);display:grid}.lesson-block--practice-question__eyebrow{color:var(--muted);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem}.lesson-block--practice-question__prompt{color:var(--ink);margin:0;font-size:1rem;line-height:1.6}.lesson-block--practice-question>input[type=number],.lesson-block--practice-question>input[type=text]{inline-size:min(100%,220px);padding:var(--sp-2) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-chip);background:var(--ground);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;justify-self:start}.lesson-block--practice-question>input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.lesson-block__option{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-chip);color:var(--body);cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);font-size:.93rem;line-height:1.5;display:flex}.lesson-block__option:hover{border-color:var(--accent);color:var(--ink)}.lesson-block__option input{accent-color:var(--accent);margin-top:3px}.lesson-block__option:has(input:checked){border-color:var(--line-strong);color:var(--ink)}.lesson-block__option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.lesson-block__option--correct{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}.lesson-block__option--incorrect{border-color:color-mix(in srgb, var(--danger,#c0563e) 50%, var(--line));background:color-mix(in srgb, var(--danger,#c0563e) 7%, transparent)}.lesson-block--practice-question>button,.lesson-block__actions button{justify-self:start;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);background:0 0;font-size:.85rem;display:inline-flex}.lesson-block--practice-question>button:hover:not(:disabled),.lesson-block__actions button:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.lesson-block--practice-question>button:disabled,.lesson-block__actions button:disabled{opacity:.45;cursor:not-allowed}.lesson-block__actions{gap:var(--sp-3);flex-wrap:wrap;display:flex}.lesson-block__feedback{padding:var(--sp-3) var(--sp-4);border-inline-start:2px solid var(--line-strong);color:var(--body);border-radius:0 4px 4px 0;margin:0;font-size:.93rem;line-height:1.6}.lesson-block__feedback--correct{border-inline-start-color:var(--accent);color:var(--ink)}.lesson-block__feedback--incorrect{border-inline-start-color:var(--danger,#c0563e)}.lesson-block--sorter,.sorter-board{gap:var(--sp-4);display:grid}.sorter-board__pool{gap:var(--sp-2);min-block-size:56px;padding:var(--sp-3);border:1px dashed var(--line-strong);border-radius:var(--r-card);flex-wrap:wrap;display:flex}.sorter-board__empty{color:var(--muted);margin:auto;font-size:.85rem}.sorter-board__item{padding:var(--sp-2) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--raised);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);font-size:.85rem}.sorter-board__item:hover{border-color:var(--accent)}.sorter-board__categories{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.sorter-board__category{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-card);background:var(--raised);align-content:start;display:grid}.sorter-board__category-target{inline-size:100%;padding:var(--sp-2) var(--sp-3);border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border-radius:0;font-size:.93rem;font-weight:500}.sorter-board__category-target:hover{color:var(--accent-on-soft,var(--accent-primary))}.sorter-board__category-items{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.sorter-board__category-items li{display:flex}.sorter-board__category-items button{inline-size:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-chip);background:var(--ground);color:var(--body);font:inherit;text-align:start;cursor:pointer;font-size:.85rem}.sorter-board__category-items button:hover{border-color:var(--accent);color:var(--ink)}.sorter-board__instructions{color:var(--muted);margin:0;font-size:.8rem}.lesson-block--unsupported{padding:var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-card);color:var(--muted);margin:0;font-size:.85rem}.question-card{gap:var(--sp-3);border:0;min-inline-size:0;margin:0;padding:0;display:grid}.question-card legend,.question-card>label:first-child,.question-card__legend{color:var(--ink);margin:0;padding:0;font-size:1rem;font-weight:500;line-height:1.55}.question-card__hint{color:var(--muted);margin:0;font-size:.85rem;line-height:1.5}.question-card__option{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-chip);color:var(--body);cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);font-size:.93rem;line-height:1.5;display:flex}.question-card__option:hover{border-color:var(--accent);color:var(--ink)}.question-card__option input{accent-color:var(--accent);flex:none;margin-top:3px}.question-card__option:has(input:checked){border-color:var(--accent);color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}.question-card__option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.question-card__option:has(input:disabled){cursor:default}.question-card__option:has(input:disabled):hover{border-color:var(--line);color:var(--body)}.question-card input[type=number],.question-card input[type=text],.question-card textarea,.question-card select{inline-size:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-chip);background:var(--ground);color:var(--ink);font:inherit;font-size:.93rem}.question-card input[type=number]{font-variant-numeric:tabular-nums;inline-size:min(100%,220px)}.question-card textarea{resize:vertical;min-block-size:108px;line-height:1.6}.question-card :is(input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.question-card :is(input,textarea,select):disabled{opacity:.7}.pf-lab{gap:var(--sp-4);display:grid}.pf-lab__status{align-items:center;gap:var(--sp-2);color:var(--muted);margin:0;font-size:.85rem;display:inline-flex}.pf-lab__status svg{color:var(--accent);flex:none}.pf-lab__stage{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--raised)}.pf-lab__stage .game-of-the-day__inner{gap:var(--sp-4);display:grid}.pf-lab__stage .game-of-the-day__disclaimer{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.daily-game{gap:var(--sp-4);display:grid}.daily-game__missing{color:var(--muted);margin:0}.daily-game__meter{gap:5px;display:flex}.daily-game__meter>span{background:color-mix(in srgb, var(--ink) 10%, transparent);border-radius:999px;flex:1;height:4px}.daily-game__meter>span[data-state=done]{background:var(--accent)}.daily-game__meter>span[data-state=current]{background:color-mix(in srgb, var(--accent) 52%, transparent)}.daily-game__count{align-items:center;gap:var(--sp-3);font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.6rem;display:flex}.daily-game__streak{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:999px;padding:2px 8px}.daily-game__prompt{color:var(--ink);margin:0;font-size:1.06rem;line-height:1.5}.daily-game__choices{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.daily-game__choice{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-chip);background:var(--bg-elevated,var(--raised));color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);font-size:.95rem;display:flex}.daily-game__choice-label{flex:1}.daily-game__choice-detail{color:var(--muted);font-size:.85rem}.daily-game__choice[data-state=open]:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.daily-game__choice[data-state=correct]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, transparent);color:var(--ink)}.daily-game__choice[data-state=wrong]{border-color:var(--warning,var(--accent-secondary));background:color-mix(in srgb, var(--warning,var(--accent-secondary)) 12%, transparent)}.daily-game__choice[data-state=muted]{opacity:.5}.daily-game__choice:disabled{cursor:default}.daily-game__feedback{gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-chip);border-inline-start:3px solid var(--accent);background:color-mix(in srgb, var(--ink) 4%, transparent);display:grid}.daily-game__feedback[data-tone=wrong]{border-inline-start-color:var(--warning,var(--accent-secondary))}.daily-game__verdict{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.6rem}.daily-game__feedback[data-tone=wrong] .daily-game__verdict{color:var(--warning,var(--accent-secondary))}.daily-game__explanation{color:var(--body,var(--ink));margin:0;font-size:.92rem;line-height:1.6}.daily-game__next,.daily-game__replay{justify-self:start;align-items:center;gap:var(--sp-2);padding:8px var(--sp-4);border:1px solid var(--accent);background:var(--accent);color:var(--accent-on,#fff);font:inherit;cursor:pointer;border-radius:999px;font-size:.88rem;font-weight:600;display:inline-flex}.daily-game__replay{color:var(--accent);background:0 0}.daily-game--done{justify-items:start;gap:var(--sp-3)}.daily-game__summary-headline{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.5rem;font-weight:650}.daily-game__summary-headline[data-tone=great]{color:var(--accent)}.daily-game__summary-detail{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.68rem}.game-figure{padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-chip);background:color-mix(in srgb, var(--ink) 3%, transparent);overflow-x:auto}.game-figure__svg{width:100%;min-width:320px;height:auto;display:block}.game-figure__svg--spinner{max-width:420px;margin-inline:auto}.game-figure__axis{stroke:var(--chart-axis,var(--line-strong));stroke-width:1px}.game-figure__grid{stroke:var(--line);stroke-width:1px;opacity:.55}.game-figure__tickmark{stroke:var(--chart-axis,var(--line-strong));stroke-width:1px}.game-figure__tick,.game-figure__label,.game-figure__note,.game-figure__group{font-family:var(--font-annotation), ui-monospace, monospace;fill:var(--muted);font-size:10px}.game-figure__group{fill:var(--ink);font-size:10.5px}.game-figure__unit{font-family:var(--font-annotation), ui-monospace, monospace;fill:var(--muted);font-size:9.5px}.game-figure__note{fill:var(--warning,var(--accent-secondary));font-size:9px}.game-figure__value{font-family:var(--font-annotation), ui-monospace, monospace;fill:var(--ink);font-size:10.5px;font-weight:700}.game-figure__bar{fill:var(--accent);opacity:.85}.game-figure__bar[data-highlight]{fill:var(--accent-secondary);opacity:1}.game-figure__reference{stroke:var(--warning,var(--accent-secondary));stroke-width:1.4px;stroke-dasharray:4 4}.game-figure__reference-label{font-family:var(--font-annotation), ui-monospace, monospace;fill:var(--warning,var(--accent-secondary));font-size:9.5px}.game-figure__dot{fill:var(--accent);opacity:.88}.game-figure__dot[data-group="1"]{fill:var(--chart-1,var(--accent-secondary))}.game-figure__mark line{stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:3 3}.game-figure__mark text{font-family:var(--font-annotation), ui-monospace, monospace;fill:var(--accent);font-size:9.5px}.game-figure__mark[data-tone=warn] line{stroke:var(--warning,var(--accent-secondary))}.game-figure__mark[data-tone=warn] text{fill:var(--warning,var(--accent-secondary))}.game-figure__line{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.game-figure__point{fill:var(--accent)}.game-figure__wedge{stroke:var(--raised);stroke-width:1.5px}.game-figure__wedge[data-index="0"],.game-figure__swatch[data-index="0"]{fill:var(--accent)}.game-figure__wedge[data-index="1"],.game-figure__swatch[data-index="1"]{fill:var(--accent-secondary)}.game-figure__wedge[data-index="2"],.game-figure__swatch[data-index="2"]{fill:var(--chart-1,var(--soil))}.game-figure__wedge[data-index="3"],.game-figure__swatch[data-index="3"]{fill:var(--warning,var(--soil-light))}.game-figure__spindle{fill:var(--raised);stroke:var(--line-strong);stroke-width:1.5px}.game-figure__legend-label{font-family:var(--font-annotation), ui-monospace, monospace;fill:var(--ink);font-size:10.5px}@media (max-width:560px){.daily-game__prompt{font-size:1rem}.game-figure{padding:var(--sp-2)}}.pf .dashboard-action,.pf-lab__stage .dashboard-action{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);background:0 0;font-size:.85rem;text-decoration:none;display:inline-flex}.pf .dashboard-action:hover:not(:disabled),.pf-lab__stage .dashboard-action:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.pf .dashboard-action:disabled,.pf-lab__stage .dashboard-action:disabled{opacity:.45;cursor:not-allowed}.pf .dashboard-action--primary,.pf-lab__stage .dashboard-action--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-on)}.pf .dashboard-action--primary:hover:not(:disabled),.pf-lab__stage .dashboard-action--primary:hover:not(:disabled){background:var(--accent-primary-hover,var(--accent));color:var(--accent-on)}.pf .dashboard-kicker{align-items:center;gap:var(--sp-2);color:var(--muted);font-family:var(--font-annotation,ui-monospace, monospace);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.63rem;display:inline-flex}.pf .dashboard-kicker svg{width:13px;height:13px;color:var(--accent)}.pf-form__head{gap:var(--sp-2);display:grid}.pf-form__head h2,.pf-form__head h3{margin:0}.pf-children{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.pf-children>li{align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.pf-children>li:last-child{border-bottom:0}.pf-children__name{color:var(--ink);font-size:.93rem;font-weight:500}.pf-children__status{padding:2px var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--muted);font-family:var(--font-annotation,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;font-size:.63rem}.pf-children>li[data-status=active] .pf-children__status{border-color:color-mix(in srgb, var(--accent) 46%, transparent);color:var(--accent-on-soft,var(--accent-primary))}.pf-children__actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-inline-start:auto;display:flex}.pf-children__actions form{margin:0}.pf-child-courses,.pf-child-skills{gap:var(--sp-4);margin:0;padding:0;list-style:none;display:grid}.pf-child-courses>li,.pf-child-skills>li{gap:var(--sp-2);padding:var(--pf-4);border:1px solid var(--line);border-radius:var(--pf-radius);background:var(--raised);display:grid}.pf-child-courses__head,.pf-child-skills__head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);display:flex}.pf-child-courses__title,.pf-child-skills__name{color:var(--ink);font-size:.98rem;font-weight:600}.pf-child-courses__count,.pf-child-skills__score{font-family:var(--font-annotation), ui-monospace, monospace;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.88rem}.pf-child-courses__meter,.pf-child-skills__meter{background:color-mix(in srgb, var(--ink) 7%, transparent);height:8px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 9%, transparent);border-radius:999px;overflow:hidden}.pf-child-courses__meter>span,.pf-child-skills__meter>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.pf-child-courses__meta,.pf-child-skills__meta{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.66rem}.pf-child-skills>li[data-tone=needs_review] .pf-child-skills__meter>span{background:var(--warning,var(--accent-secondary))}.pf-child-skills>li[data-tone=developing] .pf-child-skills__meter>span{background:var(--accent-secondary)}.pf-child-skills>li[data-tone=needs_review] .pf-child-skills__score{color:var(--warning,var(--accent-secondary))}.pf-child-skills>li[data-tone=strong_mastery] .pf-child-skills__score,.pf-child-skills>li[data-tone=mastered] .pf-child-skills__score{color:var(--accent)}.pf-child-attempts{border-top:1px solid var(--line);gap:1px;margin:0;padding:0;list-style:none;display:grid}.pf-child-attempts>li{align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line);grid-template-columns:108px minmax(0,1fr) auto auto;display:grid}.pf-child-attempts__kind{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.pf-child-attempts__title{color:var(--ink);font-size:.93rem}.pf-child-attempts__score{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:640}.pf-child-attempts>li[data-passed=yes] .pf-child-attempts__score{color:var(--accent)}.pf-child-attempts>li[data-passed=no] .pf-child-attempts__score{color:var(--warning,var(--accent-secondary))}.pf-child-attempts__date{font-family:var(--font-annotation), ui-monospace, monospace;letter-spacing:.06em;color:var(--muted);font-size:.66rem}@media (max-width:640px){.pf-child-attempts>li{grid-template-columns:minmax(0,1fr) auto}.pf-child-attempts__kind,.pf-child-attempts__date{grid-column:1/-1}}.pf .auth-field label,.pf .auth-checkbox{color:var(--ink)}.pf .auth-checkbox input{accent-color:var(--accent)}.pf .auth-checkbox a{color:var(--ink);text-underline-offset:3px}.pf .auth-field input,.pf .auth-field select,.pf .auth-field textarea,.pf .password-input input{border-color:var(--line-strong);background:var(--ground);color:var(--ink)}.pf .auth-field :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.pf .auth-field input::placeholder,.pf .auth-field small,.pf .auth-hint{color:var(--muted)}.pf-gate{justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;display:flex}.pf-gate>div{gap:var(--sp-2);max-inline-size:62ch;display:grid}.pf-gate h2{margin:0}.pf-gate p{color:var(--body);margin:0;font-size:.93rem;line-height:1.6}.pf-gate[data-tone=final]{border-color:color-mix(in srgb, var(--accent) 46%, var(--line))}
