.pf-app{--brand-green:#1e7a3e;--brand-green-dark:#155c2f;--brand-green-light:#e8f4ec;--brand-green-pale:#f4faf6;--requires-color:#d99a2b;--requires-light:#fff5df;--build-color:#1e7a3e;--build-light:#e8f4ec;--ink:#2b2f2e;--ink-soft:#5b625f;--border:#dde7e0;--white:#fff;--danger:#b23a3a;--radius-lg:18px;--radius-md:12px;--radius-sm:8px;--shadow:0 4px 18px #1e7a3e14;--maxw:760px}.pf-app,.pf-app *{box-sizing:border-box}.pf-app,.pf-app{margin:0;padding:0}.pf-app{background:var(--brand-green-pale);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}.pf-app .app{max-width:var(--maxw);margin:0 auto;padding:24px 18px 60px}.pf-app .screen{animation:.35s fadeIn;display:none}.pf-app .screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pf-app .logo-wrap{text-align:center;margin-bottom:18px}.pf-app .logo-wrap img{width:100%;max-width:170px;height:auto;display:inline-block}.pf-app h1{color:var(--brand-green-dark);text-align:center;margin:0 0 8px;font-size:1.5rem;line-height:1.3}.pf-app h2{color:var(--brand-green-dark);margin:0 0 10px;font-size:1.2rem}.pf-app h3{color:var(--brand-green-dark);margin:0 0 8px;font-size:1.05rem}.pf-app .subtitle{text-align:center;color:var(--ink-soft);margin:0 0 18px;font-size:1rem}.pf-app .meta-time{text-align:center;color:var(--brand-green);margin-bottom:18px;font-size:.85rem;font-weight:600}.pf-app p{color:var(--ink)}.pf-app .muted{color:var(--ink-soft);font-size:.92rem}.pf-app .card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:16px;padding:22px 20px}.pf-app .card.compact{padding:16px 18px}.pf-app .btn{cursor:pointer;text-align:center;border:none;border-radius:999px;min-height:48px;padding:14px 22px;font-size:1rem;font-weight:600;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-block}.pf-app .btn:active{transform:scale(.98)}.pf-app .btn-primary{background:var(--brand-green);color:#fff;box-shadow:0 3px 10px #1e7a3e40}.pf-app .btn-primary:hover{background:var(--brand-green-dark)}.pf-app .btn-primary:disabled{cursor:not-allowed;box-shadow:none;background:#b9cfc0}.pf-app .btn-secondary{background:var(--white);color:var(--brand-green-dark);border:1.5px solid var(--brand-green)}.pf-app .btn-secondary:hover{background:var(--brand-green-light)}.pf-app .btn-text{color:var(--ink-soft);background:0 0;border:none;padding:10px 4px;font-weight:500;text-decoration:underline}.pf-app .btn-block{width:100%;display:block}.pf-app .btn-row{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.pf-app .btn-row .btn{flex:1;min-width:120px}.pf-app .progress-outer{background:var(--border);border-radius:999px;height:8px;margin-bottom:6px;overflow:hidden}.pf-app .progress-inner{background:var(--brand-green);border-radius:999px;height:100%;transition:width .3s}.pf-app .progress-label{color:var(--ink-soft);text-align:right;margin-bottom:18px;font-size:.78rem}.pf-app label.field-label{color:var(--ink);margin-bottom:6px;font-size:.95rem;font-weight:600;display:block}.pf-app input[type=text]{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--white);width:100%;color:var(--ink);padding:13px 14px;font-size:1rem}.pf-app input[type=text]:focus{border-color:var(--brand-green);outline:none}.pf-app .field{margin-bottom:20px}.pf-app .req-mark{color:var(--brand-green);font-weight:700}.pf-app .field-error{color:var(--danger);margin-top:6px;font-size:.85rem;display:none}.pf-app .field-error.show{display:block}.pf-app .options{flex-direction:column;gap:10px;margin-top:6px;display:flex}.pf-app .option{border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:var(--white);align-items:flex-start;gap:12px;padding:13px 14px;transition:border-color .15s,background .15s;display:flex}.pf-app .option:hover{border-color:var(--brand-green)}.pf-app .option.selected{border-color:var(--brand-green);background:var(--brand-green-light)}.pf-app .option input{accent-color:var(--brand-green);flex-shrink:0;width:18px;height:18px;margin-top:3px}.pf-app .option .opt-label{color:var(--ink);font-size:.98rem}.pf-app .option.disabled{opacity:.45;cursor:not-allowed}.pf-app .helper-text{background:var(--brand-green-light);border-radius:var(--radius-sm);color:var(--brand-green-dark);margin:8px 0 14px;padding:10px 12px;font-size:.88rem}.pf-app .select-hint{color:var(--ink-soft);margin:2px 0 4px;font-size:.82rem}.pf-app .question-eyebrow{letter-spacing:.04em;color:var(--brand-green);text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:700}.pf-app .question-text{color:var(--ink);margin-bottom:4px;font-size:1.12rem;font-weight:700}.pf-app .path-grid{flex-direction:column;gap:12px;margin:16px 0;display:flex}.pf-app .path-mini{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--white);padding:14px 16px}.pf-app .path-mini .num{background:var(--brand-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-right:8px;font-size:.8rem;font-weight:700;display:inline-flex}.pf-app .path-mini strong{color:var(--brand-green-dark)}.pf-app .result-card{border:2px solid var(--brand-green);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow);break-inside:avoid;page-break-inside:avoid;margin-bottom:18px;padding:22px 20px}.pf-app .result-card.rank2{border-color:#4c9a6b}.pf-app .result-card.rank3{border-color:#8ac0a0}.pf-app .rank-badge{background:var(--brand-green);color:#fff;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;margin-bottom:10px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.pf-app .result-card.rank2 .rank-badge{background:#4c9a6b}.pf-app .result-card.rank3 .rank-badge{color:#1e4a2e;background:#8ac0a0}.pf-app .result-path-name{color:var(--brand-green-dark);margin:0 0 10px;font-size:1.25rem;font-weight:800}.pf-app .result-section-label{color:var(--ink);margin:12px 0 3px;font-size:.85rem;font-weight:700}.pf-app .result-section-label:first-of-type{margin-top:4px}.pf-app .result-body{color:var(--ink);font-size:.95rem}.pf-app .dash-path{border-bottom:1px solid var(--border);break-inside:avoid;page-break-inside:avoid;margin-bottom:26px;padding-bottom:18px}.pf-app .dash-path:last-child{border-bottom:none}.pf-app .dash-path h4{color:var(--brand-green-dark);margin:0 0 12px;font-size:1.05rem}.pf-app .dash-group-label{text-transform:uppercase;letter-spacing:.03em;margin:14px 0 8px;padding:3px 0;font-size:.78rem;font-weight:700}.pf-app .dash-group-label.requires{color:var(--requires-color)}.pf-app .dash-group-label.build{color:var(--build-color)}.pf-app .dash-legend{background:var(--brand-green-pale);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;gap:16px;margin:10px 0 18px;padding:12px 14px;display:flex}.pf-app .dash-legend-item{color:var(--ink);align-items:center;gap:8px;font-size:.85rem;display:flex}.pf-app .dash-legend-swatch{border-radius:999px;flex-shrink:0;width:22px;height:10px;display:inline-block}.pf-app .dash-legend-swatch.requires{background:var(--requires-color)}.pf-app .dash-legend-swatch.build{background:var(--build-color)}.pf-app .bar-row{grid-template-columns:170px 1fr 108px;align-items:center;gap:10px;margin-bottom:9px;font-size:.85rem;display:grid}.pf-app .bar-row .bar-criterion{color:var(--ink)}.pf-app .bar-track{border:1px solid var(--border);background:#ededed;border-radius:999px;width:100%;height:12px;display:block;position:relative;overflow:hidden}.pf-app .bar-track.requires{background:var(--requires-light)}.pf-app .bar-track.build{background:var(--build-light)}.pf-app .bar-fill{border-radius:999px;min-width:2px;height:100%;display:block;position:absolute;top:0;left:0}.pf-app .bar-fill.requires{background:var(--requires-color);border-right:1px solid #00000014}.pf-app .bar-fill.build{background:var(--build-color);border-right:1px solid #00000014}.pf-app .bar-fill.flexible{background:var(--brand-green)}.pf-app .bar-rating{text-align:right;font-size:.8rem;font-weight:700;line-height:1.25}.pf-app .bar-rating .bar-rating-word{display:block}.pf-app .bar-rating .bar-rating-num{color:var(--ink-soft);font-size:.75rem;font-weight:500;display:block}.pf-app .bar-row.requires .bar-rating{color:var(--requires-color)}.pf-app .bar-row.build .bar-rating{color:var(--build-color)}.pf-app .bar-flex-label{color:var(--brand-green-dark);font-weight:700}.pf-app .dash-note{color:var(--ink-soft);margin-top:6px;font-size:.82rem;font-style:italic}.pf-app .disclaimer{background:var(--brand-green-light);border-radius:var(--radius-md);color:var(--brand-green-dark);margin-top:20px;padding:16px 18px;font-size:.82rem}.pf-app .footer{text-align:center;color:var(--ink-soft);margin-top:28px;font-size:.78rem}.pf-app .footer img{opacity:.85;max-width:90px;margin-bottom:6px}.pf-app details.review-block{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--white);margin-top:20px;padding:14px 16px}.pf-app details.review-block summary{cursor:pointer;color:var(--brand-green-dark);font-weight:700}.pf-app .review-item{border-top:1px solid var(--border);margin-top:12px;padding-top:10px;font-size:.88rem}.pf-app .review-item .rq{color:var(--ink);font-weight:600}.pf-app .review-item .ra{color:var(--ink-soft)}.pf-app .center{text-align:center}.pf-app .top-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.pf-app .toast{background:var(--ink);color:#fff;z-index:999;opacity:0;pointer-events:none;border-radius:999px;padding:12px 18px;font-size:.88rem;transition:opacity .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.pf-app .toast.show{opacity:1}.pf-app .modal-backdrop{z-index:1000;background:#141e1973;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.pf-app .modal-backdrop.show{display:flex}.pf-app .modal-box{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:380px;padding:22px;box-shadow:0 10px 40px #00000040}.pf-app .modal-box h3{margin-top:0}.pf-app .modal-actions{gap:10px;margin-top:18px;display:flex}.pf-app .modal-actions .btn{flex:1}.pf-app .why-box p{margin:0 0 12px}.pf-app .why-box ul{margin:0 0 12px;padding-left:20px}.pf-app .why-box li{margin-bottom:6px}.pf-app .intro-lead{text-align:center;color:var(--ink);margin-bottom:18px;font-size:1.02rem}@media (width<=480px){.pf-app h1{font-size:1.28rem}.pf-app .bar-row{grid-template-columns:1fr;grid-template-areas:"label""track""rating";row-gap:4px;margin-bottom:14px;font-size:.8rem}.pf-app .bar-row .bar-criterion{grid-area:label}.pf-app .bar-row .bar-track{grid-area:track}.pf-app .bar-row .bar-rating{text-align:left;grid-area:rating;align-items:baseline;gap:6px;display:flex}.pf-app .bar-row .bar-rating .bar-rating-word,.pf-app .bar-row .bar-rating .bar-rating-num{display:inline}.pf-app .dash-legend{font-size:.8rem}}.pf-print{display:none}@media print{@page{size:A4 portrait;margin:14mm 12mm}body,.pf-app{background:#fff!important}.pf-app .app{max-width:100%;padding:0}.pf-app .no-print,.pf-app .screen{display:none!important}.pf-print{display:block!important}.pf-print .result-card,.pf-print .dash-path{break-inside:avoid;page-break-inside:avoid}.pf-app *,.pf-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pf-app .card,.pf-print .card{box-shadow:none}}
