.fyl{padding:40px 0 70px}.fyl-head{text-align:center;max-width:60ch;margin:0 auto 30px}.fyl-head h1{margin:.3rem 0 .5rem}.fyl-head p{color:var(--slate);font-size:1.08rem}.fyl-app{max-width:640px;margin:0 auto}.fyl-pick{text-align:center}.fyl-q{color:var(--ink);margin:0 0 18px;font-size:1.15rem;font-weight:700}.fyl-subjects{grid-template-columns:1fr 1fr;gap:16px;display:grid}.fyl-subj{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;font-family:var(--font);flex-direction:column;align-items:center;gap:4px;padding:26px 18px;transition:transform .12s,box-shadow .2s,border-color .2s;display:flex}.fyl-subj:hover{box-shadow:var(--shadow-lg);border-color:var(--pn-blue);transform:translateY(-2px)}.fyl-subj .fyl-ic{font-size:2.2rem}.fyl-subj b{color:var(--ink);font-size:1.1rem}.fyl-subj span{color:var(--slate);font-size:.85rem}.fyl-bar-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.fyl-count{color:var(--slate);font-size:.9rem;font-weight:600}.fyl-tag{color:var(--slate-2);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:700}.fyl-bar{background:var(--surface-2);border-radius:6px;height:8px;margin-bottom:20px;overflow:hidden}.fyl-bar i{background:var(--pn-blue);border-radius:6px;height:100%;transition:width .25s;display:block}.fyl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px}.fyl-qtext{color:var(--ink);margin:0 0 18px;font-size:1.15rem;font-weight:700;line-height:1.4}.fyl-opts{gap:11px;display:grid}.fyl-opt{text-align:left;border:2px solid var(--border);font-size:1rem;font-weight:600;font-family:var(--font);cursor:pointer;color:var(--ink-2);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .12s,background .12s;display:flex}:where(.pn-dark) .fyl-opt{background:#12192a}.fyl-opt:hover{border-color:var(--pn-blue);background:#f5f8ff}:where(.pn-dark) .fyl-opt:hover{background:#0e1525}.fyl-opt .k{background:var(--surface-2);width:28px;height:28px;color:var(--slate);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.fyl-skip-row{text-align:left;min-height:1px;margin:14px 0 0}.fyl-back{color:var(--slate);cursor:pointer;font-weight:600;font-family:var(--font);background:0 0;border:none}.fyl-result{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:36px 28px}.fyl-badge{color:var(--pn-blue-700);text-transform:uppercase;letter-spacing:.05em;background:#e8efff;border-radius:20px;padding:5px 12px;font-size:.72rem;font-weight:800;display:inline-block}:where(.pn-dark) .fyl-badge{background:#222937}.fyl-result h2{margin:12px 0 8px}.fyl-headline{color:var(--ink-2);max-width:50ch;margin:0 auto 6px;font-size:1.05rem}.fyl-score{color:var(--slate);margin:0 0 20px;font-size:.9rem}.fyl-plan{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);max-width:460px;margin:0 auto 18px;padding:18px 22px}.fyl-plan h3{margin:0 0 8px;font-size:1.05rem}.fyl-plan ol{color:var(--ink-2);gap:8px;margin:0;padding-left:20px;display:grid}.fyl-plan a{color:var(--pn-blue-700);font-weight:600}.fyl-saved{color:var(--green);font-size:.9rem;font-weight:600}.fyl-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.fyl-disclaim{color:var(--slate-2);margin:16px 0 0;font-size:.8rem}@media (width<=480px){.fyl-subjects{grid-template-columns:1fr}}.fyl-bar i{transition:width var(--mo-slow) var(--ease-out)}.fyl-in{animation:fylIn var(--mo-slow) var(--ease-out)}.fyl-in-back{animation:fylInBack var(--mo-slow) var(--ease-out)}@keyframes fylIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes fylInBack{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:none}}.fyl-opt.fyl-picked,.fyl-opt.fyl-picked:hover{border-color:var(--pn-amber);background:#fff6e0}:where(.pn-dark) .fyl-opt.fyl-picked,:where(.pn-dark) .fyl-opt.fyl-picked:hover{background:#231a05}.fyl-opt.fyl-picked .k{background:var(--pn-amber);color:#3b2a06}.fyl-opt:disabled{cursor:default}.fyl-res-top{text-align:left;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin:14px 0 6px;display:flex}.fyl-res-txt{flex:260px;max-width:360px}.fyl-res-txt h2{margin:0 0 6px}.fyl-res-txt .fyl-headline{margin:0 0 14px}.fyl-ladder{flex:none;width:212px;height:176px;position:relative}.fyl-step{transform-origin:bottom;background:#eef2fb;border:1.5px solid #d5ddf2;border-bottom:0;border-radius:12px 12px 0 0;justify-content:center;width:64px;padding-top:8px;animation:.5s cubic-bezier(.3,1.3,.5,1) both fylStep;display:flex;position:absolute;bottom:0}:where(.pn-dark) .fyl-step{background:#22252d;border:1.5px solid #343a4b}.fyl-step span{color:var(--slate);font-size:.72rem;font-weight:800}.fyl-s1{height:56px;left:0}.fyl-s2{height:92px;animation-delay:.12s;left:74px}.fyl-s3{height:128px;animation-delay:.24s;left:148px}.fyl-step-on{animation:.5s cubic-bezier(.3,1.3,.5,1) both fylStep,.3s ease-out 1.15s both fylLit}.fyl-s2.fyl-step-on{animation-delay:.12s,1.15s}.fyl-s3.fyl-step-on{animation-delay:.24s,1.15s}.fyl-step-on,.fyl-step-on span{border-color:var(--pn-amber);color:#8a5300;background:#fff6e0}:where(.pn-dark) .fyl-step-on,:where(.pn-dark) .fyl-step-on span{color:#e9b26b;background:#231a05}.fyl-token{background:var(--pn-amber);width:32px;height:32px;left:calc((var(--lv) - 1) * 74px + 16px);bottom:calc(20px + var(--lv) * 36px);transform-origin:bottom;border-radius:50%;animation:.7s cubic-bezier(.4,0,.6,1) .75s both fylDrop;position:absolute;box-shadow:0 0 16px #f59e0b99}@keyframes fylStep{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes fylLit{0%{background:#eef2fb;border-color:#d5ddf2}}@keyframes fylDrop{0%{opacity:0;transform:translateY(-70px)}55%{opacity:1;transform:translateY(0)scale(1.12,.86)}75%{transform:translateY(-8px)scale(.96,1.05)}to{opacity:1;transform:none}}.fyl-start{margin-top:2px}@media (prefers-reduced-motion:reduce){.fyl-in,.fyl-in-back,.fyl-step,.fyl-token{animation:none!important}.fyl-bar i{transition:none}}html.a11y-reduce-motion .fyl-in,html.a11y-reduce-motion .fyl-in-back,html.a11y-reduce-motion .fyl-step,html.a11y-reduce-motion .fyl-token{animation:none!important}html.a11y-reduce-motion .fyl-bar i{transition:none}
