.pf-wrap{max-width:62rem;margin:0 auto;padding:3rem 1.25rem 5rem}.pf-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.pf-hero-title{letter-spacing:-.02em;max-width:20ch;margin-bottom:1rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05}.pf-hero-lede{color:var(--color-muted);max-width:58ch;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.65}.pf-doors{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:46rem){.pf-doors{grid-template-columns:1fr 1fr}}.pf-door{text-align:left;background:var(--color-surface);border:1px solid var(--color-rule);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.75rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.pf-door:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 10px 30px #0000000f}.pf-door-index{letter-spacing:.14em;color:var(--color-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.pf-door-title{letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.pf-door-detail{color:var(--color-muted);font-size:.92rem;line-height:1.6}.pf-door-go{text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-top:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.pf-step,.pf-result,.pf-loading{animation:.35s both pf-rise}@keyframes pf-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pf-step,.pf-result,.pf-loading{animation:none}.pf-door:hover{transform:none}}.pf-back{cursor:pointer;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);background:0 0;border:none;margin-bottom:1.5rem;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.pf-back:hover{color:var(--color-foreground)}.pf-step-title{letter-spacing:-.015em;margin-bottom:.5rem;font-size:clamp(1.5rem,3.5vw,2.15rem);font-weight:700}.pf-step-detail{color:var(--color-muted);margin-bottom:2rem}.pf-rail{gap:.4rem;margin-bottom:1.75rem;display:flex}.pf-rail-node{background:var(--color-rule);width:3rem;height:3px}.pf-rail-node[data-state=current]{background:var(--color-accent)}.pf-rail-node[data-state=done]{background:var(--color-navy)}.pf-option-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:40rem){.pf-option-grid{grid-template-columns:repeat(2,1fr)}.pf-option-grid--three{grid-template-columns:repeat(3,1fr)}}@media (min-width:60rem){.pf-option-grid{grid-template-columns:repeat(3,1fr)}}.pf-option{text-align:left;background:var(--color-surface);border:1px solid var(--color-rule);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.45rem;padding:1.25rem;transition:border-color .15s,background .15s;display:flex}.pf-option:hover{border-color:var(--color-accent)}.pf-option[data-selected=true]{border-color:var(--color-accent);background:var(--color-warm)}.pf-option-code{letter-spacing:.12em;color:var(--color-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem}.pf-option-title{font-size:.98rem;font-weight:700}.pf-option-detail{color:var(--color-muted);font-size:.85rem;line-height:1.55}.pf-option-meta{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.pf-role-group{margin-bottom:2rem}.pf-role-group-title{text-transform:uppercase;letter-spacing:.14em;color:var(--color-muted);border-bottom:1px solid var(--color-rule-light);margin-bottom:.75rem;padding-bottom:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.pf-role-grid{flex-wrap:wrap;gap:.6rem;display:flex}.pf-role{background:var(--color-surface);border:1px solid var(--color-rule);cursor:pointer;padding:.6rem 1rem;font-size:.9rem;transition:border-color .15s,background .15s}.pf-role:hover{border-color:var(--color-accent);background:var(--color-warm)}.pf-role[data-selected=true]{border-color:var(--color-accent);background:var(--color-warm);font-weight:600}.pf-hours{background:var(--color-surface);border:1px solid var(--color-rule);max-width:34rem;padding:1.75rem}.pf-hours-head{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.pf-hours-head strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.4rem}.pf-slider{width:100%;accent-color:var(--color-accent)}.pf-hours-scale{color:var(--color-muted);justify-content:space-between;margin:.5rem 0 1.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;display:flex}.pf-result-title{letter-spacing:-.02em;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}.pf-result-tagline{color:var(--color-muted);max-width:60ch;margin:.5rem 0 2rem;line-height:1.6}.pf-stats{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);flex-wrap:wrap;gap:2.5rem;margin-bottom:2rem;padding:1.25rem 0;display:flex}.pf-stat{flex-direction:column;gap:.2rem;display:flex}.pf-stat-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.9rem;font-weight:600;line-height:1}.pf-stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem}.pf-cta-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.pf-cta{background:var(--color-accent);color:#fff;cursor:pointer;border:none;padding:.85rem 1.6rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.pf-cta:hover{background:var(--color-accent-hover)}.pf-cta:disabled{opacity:.45;cursor:not-allowed}.pf-cta-note{color:var(--color-muted);max-width:32ch;font-size:.88rem}.pf-secondary{color:var(--color-muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;font-size:.88rem;text-decoration:underline}.pf-secondary:hover{color:var(--color-foreground)}.pf-weeks{margin:0;padding:0;list-style:none}.pf-week{margin-bottom:2rem}.pf-week-head{border-bottom:2px solid var(--color-navy);align-items:baseline;gap:.85rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.pf-week-number{text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.pf-week-theme{flex:1;font-size:.98rem;font-weight:700}.pf-week-minutes{color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.pf-items{margin:0;padding:0;list-style:none}.pf-item{border-bottom:1px solid var(--color-rule-light);grid-template-columns:5.5rem 1fr auto auto;align-items:baseline;gap:.85rem;padding:.7rem 0;display:grid}@media (max-width:40rem){.pf-item{grid-template-columns:1fr auto;grid-template-areas:"kind minutes""title title""access access";gap:.35rem}.pf-item-kind{grid-area:kind}.pf-item-title{grid-area:title}.pf-item-minutes{grid-area:minutes}.pf-item-access{grid-area:access;justify-self:start}}.pf-item-kind{text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem}.pf-item-title{flex-direction:column;gap:.2rem;font-size:.94rem;display:flex}.pf-item-note{color:var(--color-muted);font-size:.78rem}.pf-item-minutes{color:var(--color-muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.pf-badge{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border:1px solid;padding:.15rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:inline-block}.pf-badge--free{color:#1a6b3c;background:#f0f9f3;border-color:#a8d5ba}.pf-badge--paid{color:var(--color-accent);background:var(--color-warm);border-color:#f0c4bd}.pf-item[data-access=paid] .pf-item-title{color:#4a4a4a}.pf-foot-cta{border-top:1px solid var(--color-rule);flex-wrap:wrap;align-items:center;gap:1.25rem;padding-top:2rem;display:flex}.pf-mono{color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.pf-progress{background:var(--color-rule);width:12rem;height:3px;margin-top:1rem;position:relative;overflow:hidden}.pf-progress:after{content:"";background:var(--color-accent);width:40%;animation:1.1s ease-in-out infinite pf-slide;position:absolute;inset:0}@keyframes pf-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion:reduce){.pf-progress:after{width:100%;animation:none}}.pf-error{background:var(--color-warm);border-left:3px solid var(--color-accent);margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.9rem}.pf-error-card{background:var(--color-surface);border:1px solid var(--color-rule);max-width:24rem;padding:1.25rem}.pf-error-card p{margin-bottom:.75rem;font-size:.92rem}.pf-shelf{border-top:1px solid var(--color-rule);margin-top:2.5rem;padding-top:1.75rem}.pf-shelf-title{margin-bottom:.35rem;font-size:1.05rem;font-weight:700}.pf-shelf-detail{color:var(--color-muted);max-width:56ch;margin-bottom:1rem;font-size:.88rem;line-height:1.6}.pf-shelf-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pf-shelf-item{background:var(--color-surface);border:1px solid var(--color-rule);align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.83rem;display:inline-flex}.pf-shelf-item--more{color:var(--color-muted);background:0 0;border-style:dashed;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.pf-shelf-badge{margin-left:.15rem}
