/* Compact interactive elements for the course picker, learning hub and calculator. */
.pf-finder,.pf-tools,.pf-week{min-width:0;color:var(--text,#f4f2ef)}
.pf-conversion-heading{max-width:680px;margin-bottom:24px}
.pf-kicker{display:block;color:var(--accent,#d63d35);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.pf-conversion-heading h3{font-family:var(--font-display,inherit);font-size:clamp(22px,3vw,34px);line-height:1.1;letter-spacing:-.04em;margin:0 0 14px;font-weight:800}
.pf-conversion-heading p{font-size:14px;line-height:1.65;color:var(--muted,#a6aaa7);margin:0}
.pf-quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;color:inherit;font:inherit;font-size:13px;font-weight:600;line-height:1.4;text-align:center;border:1px solid var(--line,#373a37);border-radius:7px;background:transparent;text-decoration:none;cursor:pointer}
.pf-quiet-button:hover{border-color:var(--accent,#d63d35);background:rgba(214,61,53,.06)}
.pf-finder button:focus-visible,.pf-tools button:focus-visible,.pf-week input:focus-visible,.pf-comparison-toggle:focus-visible,.pf-quiet-button:focus-visible{outline:2px solid var(--accent,#d63d35);outline-offset:4px}
.pf-finder [hidden],.pf-week [hidden],.price-comparison [hidden]{display:none!important}
.pf-finder-progress{display:flex;align-items:center;gap:18px;margin-bottom:20px;font-size:11px;letter-spacing:.12em;color:var(--muted,#a6aaa7);font-variant-numeric:tabular-nums}
.pf-finder-progress>div{flex:1;height:3px;background:var(--line,#373a37);border-radius:2px;overflow:hidden}
.pf-finder-progress i{display:block;height:100%;background:var(--accent,#d63d35);transition:width .25s ease}
.pf-finder-question{margin:0;padding:0;border:0;min-width:0}
.pf-finder-question legend{font-size:22px;line-height:1.25;font-weight:750;letter-spacing:-.025em;margin:0 0 10px;max-width:100%}
.pf-finder-question>p{margin:0 0 20px;color:var(--muted,#a6aaa7);font-size:13px;line-height:1.55}
.pf-finder-options{display:grid;gap:10px}
.pf-finder-option{position:relative;display:flex;align-items:center;gap:14px;min-height:76px;padding:17px 18px;border:1px solid var(--line,#373a37);border-radius:10px;background:rgba(255,255,255,.025);cursor:pointer;transition:background .18s,border-color .18s}
.pf-finder-option>span{flex:1;min-width:0}
.pf-finder-option strong,.pf-finder-option small{display:block;line-height:1.5}
.pf-finder-option strong{font-size:14px;font-weight:650}
.pf-finder-option small{font-size:12px;color:var(--muted,#a6aaa7);margin-top:3px}
.pf-finder-option input{position:absolute;width:1px;height:1px;opacity:0}
.pf-finder-option>i{flex:none;width:20px;height:20px;border:1px solid #656765;border-radius:50%;display:grid;place-items:center}
.pf-finder-option>i:after{content:'';width:8px;height:8px;border-radius:50%;background:transparent}
.pf-finder-option:has(input:checked){border-color:var(--accent,#d63d35);background:rgba(214,61,53,.09)}
.pf-finder-option:has(input:checked)>i{border-color:var(--accent,#d63d35)}
.pf-finder-option:has(input:checked)>i:after{background:var(--accent,#d63d35)}
.pf-finder-option:has(input:focus-visible){outline:2px solid var(--accent,#d63d35);outline-offset:3px}
.pf-finder-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.pf-finder-actions [data-finder-back]{margin-right:auto}
.pf-finder-actions .button{min-height:48px;padding:13px 22px;font-size:14px}
.pf-finder-actions button:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}
.pf-finder-note{font-size:11px;line-height:1.6;color:var(--muted,#a6aaa7);margin:22px 0 0}
.pf-finder-result{padding:22px;border:1px solid rgba(214,61,53,.4);border-radius:12px;background:linear-gradient(130deg,rgba(214,61,53,.08),rgba(255,255,255,.015))}
.pf-finder-result h4{font-size:32px;letter-spacing:-.035em;margin:0 0 12px;line-height:1.1}
.pf-finder-result>p{font-size:14px;line-height:1.6;color:var(--muted,#a6aaa7)}
.pf-finder-result .pf-finder-result-price{font-size:30px;color:var(--text,#f4f2ef);font-weight:700;margin:14px 0 4px;line-height:1.2}
.pf-finder-result-price span{font-size:18px;font-weight:500}
.pf-finder-result .pf-finder-result-document{font-size:12px;margin-top:8px;color:var(--text,#f4f2ef)}
.pf-finder-answer-summary{border-top:1px solid var(--line,#373a37);margin-top:22px;padding-top:6px}
.pf-finder-answer-summary summary{cursor:pointer;min-height:44px;font-size:13px;padding:13px 0}
.pf-finder-answer-summary ul{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:12px}
.pf-finder-answer-summary li span,.pf-finder-answer-summary li strong{display:block;font-size:12px;line-height:1.5}
.pf-finder-answer-summary li span{color:var(--muted,#a6aaa7);font-weight:400}
.pf-finder-answer-summary li strong{font-weight:500;margin-top:3px}
.pf-finder-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pf-finder-result-actions .button{width:100%;min-height:48px;font-size:14px;padding:14px 18px}
.pf-finder-result-actions .pf-quiet-button{flex:1}
.pf-comparison-control{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;flex-wrap:wrap}
.pf-comparison-toggle{display:inline-flex;align-items:center;gap:11px;min-height:44px;border:0;padding:0;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.pf-comparison-toggle>i{display:block;position:relative;width:34px;height:20px;border-radius:20px;border:1px solid #616561;background:#292c29;transition:background .2s}
.pf-comparison-toggle>i:after{position:absolute;content:'';width:12px;height:12px;border-radius:50%;background:#e7e8e6;left:3px;top:3px;transition:transform .2s}
.pf-comparison-toggle[aria-pressed=true]>i{background:var(--accent,#d63d35);border-color:var(--accent,#d63d35)}
.pf-comparison-toggle[aria-pressed=true]>i:after{transform:translateX(14px)}
.pf-comparison-count{font-size:11px;line-height:1.5;color:var(--muted,#a6aaa7)}
.pf-comparison-empty{padding:20px 0;font-size:14px;line-height:1.6;color:var(--muted,#a6aaa7)}
.pf-tool-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line,#373a37);padding-bottom:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent,#d63d35) transparent}
.pf-tool-tabs>button{flex:1;min-width:140px;min-height:48px;padding:12px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:6px;background:transparent;font:inherit;font-size:13px;line-height:1.4;text-align:center;color:var(--muted,#a6aaa7);cursor:pointer}
.pf-tool-tabs>button>span{font-size:10px;opacity:.55;letter-spacing:.05em}
.pf-tool-tabs>button[aria-selected=true]{border-color:rgba(214,61,53,.45);color:var(--text,#f4f2ef);background:rgba(214,61,53,.08)}
.pf-tool-panel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:30px;padding-top:24px}
.pf-tool-copy{padding-top:10px;min-width:0}
.pf-tool-status{display:flex;align-items:center;gap:7px;color:var(--muted,#a6aaa7);font-size:10px;line-height:1.5;letter-spacing:.05em;text-transform:uppercase}
.pf-tool-status>i{flex:none;width:5px;height:5px;border-radius:50%;background:var(--accent,#d63d35)}
.pf-tool-copy h4{font-size:25px;font-weight:650;letter-spacing:-.035em;line-height:1.2;margin:16px 0}
.pf-tool-copy>p{font-size:14px;line-height:1.65;color:var(--muted,#a6aaa7);margin:0 0 22px}
.pf-tool-pending{font-size:12px;color:var(--muted,#a6aaa7);display:inline-flex;min-height:44px;align-items:center;border-top:1px solid var(--line,#373a37);padding-top:12px}
.pf-tool-download{min-height:44px!important;font-size:12px!important;padding:12px 18px!important}
.pf-tool-document{background:#e7e5df;color:#262724;border-radius:6px;padding:24px;min-width:0;position:relative;box-shadow:0 12px 36px #0002}
.pf-tool-document-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #bbbcb5;padding-bottom:15px;margin-bottom:20px}
.pf-tool-document-top>span{font-size:13px;font-weight:900;font-style:italic;letter-spacing:-.04em}
.pf-tool-document-top>span>span{color:#b9322b}
.pf-tool-document-top>i{font-size:10px;font-style:normal;color:#66695f}
.pf-tool-document pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;font-weight:400;line-height:1.65;margin:0;max-height:360px;overflow-y:auto;padding-right:5px;tab-size:2}
.pf-week-controls{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:22px;margin:20px 0 28px}
.pf-week-control label{font-size:12px;line-height:1.5;display:block;color:var(--muted,#a6aaa7);margin-bottom:10px}
.pf-week-control-value{display:flex;align-items:center;gap:8px;color:var(--muted,#a6aaa7);font-size:14px;border-bottom:1px solid var(--line,#373a37);padding-bottom:6px;margin-bottom:4px;min-height:44px}
.pf-week-control-value input{min-width:0;width:100%;background:transparent;border:0!important;padding:5px 0!important;color:var(--text,#f4f2ef);font-weight:600;line-height:1.3;font-size:24px!important;font-family:inherit;box-shadow:none;border-radius:0;min-height:38px}
.pf-week-control input[type=range]{width:100%;height:44px;cursor:pointer;accent-color:var(--accent,#d63d35);background:transparent;margin:0;box-sizing:border-box}
.pf-week-expenses small{font-size:10px;line-height:1.6;color:var(--muted,#a6aaa7);display:block;margin-top:10px}
.pf-week-stats{display:flex;gap:30px;padding:18px 0;border-top:1px solid var(--line,#373a37);border-bottom:1px solid var(--line,#373a37);margin-bottom:20px}
.pf-week-stats>div{display:grid;gap:7px}
.pf-week-stats span{font-size:11px;color:var(--muted,#a6aaa7);line-height:1.5}
.pf-week-stats output{font-size:28px;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.pf-week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;padding:10px 0 20px}
.pf-week-day{text-align:center;min-width:0}
.pf-week-day-count{font-size:14px;min-height:35px;font-variant-numeric:tabular-nums}
.pf-week-day-count span{display:block;font-size:9px;color:var(--muted,#a6aaa7);margin-top:3px}
.pf-week-track{height:84px;position:relative;margin:10px 0 12px;background:rgba(255,255,255,.03);border-radius:4px;overflow:hidden}
.pf-week-track>i{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#9c302a,var(--accent,#d63d35));border-radius:4px;transition:height .3s ease;min-height:0}
.pf-week-day>strong{font-size:12px;font-weight:550;display:block;line-height:1.5}
.pf-week-day>small{font-size:10px;color:var(--muted,#a6aaa7);line-height:1.4;display:block;margin-top:3px;overflow-wrap:anywhere}
.pf-week-day.is-off{opacity:.55}
.pf-week-overload{font-size:12px;line-height:1.6;border-left:2px solid var(--accent,#d63d35);padding:10px 14px;background:rgba(214,61,53,.06);color:var(--muted,#a6aaa7);margin:0 0 20px}
.pf-week-remainder{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;border:1px solid rgba(214,61,53,.35);background:rgba(214,61,53,.045);border-radius:10px;padding:22px}
.pf-week-remainder>div>span{font-size:12px;color:var(--muted,#a6aaa7)}
.pf-week-remainder output{font-size:clamp(25px,3.5vw,36px);font-weight:700;line-height:1.2;letter-spacing:-.04em;display:block;margin-top:10px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pf-week-remainder output.is-negative{color:#f09287}
.pf-week-remainder p,.pf-week-remainder>small{font-size:11px;line-height:1.65;color:var(--muted,#a6aaa7)}
.pf-week-remainder p{margin:9px 0 0;font-variant-numeric:tabular-nums}
@media(max-width:700px){.pf-tool-panel{grid-template-columns:1fr;gap:18px}.pf-tool-copy{padding:0}.pf-tool-copy h4{font-size:22px;margin:12px 0}.pf-tool-copy>p{margin-bottom:10px}.pf-week-controls{grid-template-columns:1fr 1fr;gap:16px}.pf-week-expenses{grid-column:1/-1}.pf-week-remainder{grid-template-columns:1fr;gap:15px}.pf-week-chart{gap:8px}.pf-finder-result{padding:20px}.pf-tool-tabs>button{flex:none;min-width:140px}.pf-conversion-heading h3{font-size:26px}.pf-conversion-heading p{font-size:13px}.pf-week-stats{gap:24px}}
@media(max-width:420px){.pf-finder-option{padding:13px;gap:10px}.pf-finder-question legend{font-size:20px}.pf-finder-option strong{font-size:13px}.pf-finder-option small{font-size:11px}.pf-finder-actions .button{padding:12px 16px}.pf-finder-result-actions{display:grid}.pf-finder-result-actions .button{white-space:normal}.pf-tool-document{padding:18px}.pf-tool-document pre{font-size:11px}.pf-week-chart{gap:6px}.pf-week-day>small{font-size:9px}.pf-week-stats{gap:18px}.pf-week-stats span{font-size:10px}.pf-week-remainder{padding:17px}.pf-week-control label{font-size:11px}.pf-week-controls{gap:14px}.pf-week-control-value input{font-size:21px!important}.pf-comparison-control{gap:2px}.pf-comparison-count{width:100%;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.pf-finder-progress i,.pf-finder-option,.pf-comparison-toggle>i,.pf-comparison-toggle>i:after,.pf-week-track>i{transition:none}}
body.motion-paused .pf-finder-progress i,body.motion-paused .pf-finder-option,body.motion-paused .pf-comparison-toggle>i,body.motion-paused .pf-comparison-toggle>i:after,body.motion-paused .pf-week-track>i{transition:none}
