.pl-hero h1{margin-top:6px}.pl-progress{max-width:520px;margin-top:18px}.pl-progress__bar{background:var(--brand-soft);border-radius:99px;height:12px;overflow:hidden}.pl-progress__bar span{background:var(--brand);border-radius:99px;height:100%;transition:width .3s;display:block}.pl-progress__t{color:var(--muted);margin:8px 0 0;font-size:15px}.pl-progress__t strong{color:var(--foreground)}.pl-tabs{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.pl-tabs button{font:inherit;border:2px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;border-radius:99px;padding:9px 16px;font-size:15px;font-weight:800}.pl-tabs button.is-on{border-color:var(--brand);background:var(--brand-pale,var(--brand-soft))}.pl-tabs .pl-print{margin-left:auto}.pl-wrap{max-width:820px;padding-top:8px;padding-bottom:56px}.pl-error{color:var(--danger,#be123c);background:#fff1f2;border-radius:10px;padding:10px 12px;font-size:14px}.pl-nights{gap:14px;margin:16px 0 0;padding:0;list-style:none;display:grid}.pl-night{border:2px solid var(--border);background:var(--card);border-radius:18px;padding:16px 18px}.pl-night.is-next{border-color:var(--brand);box-shadow:0 6px 20px #0000000f}.pl-night.is-done{opacity:.72}.pl-night.is-done .pl-night__title{text-decoration:line-through;text-decoration-thickness:2px}.pl-night--practice_exam{background:var(--violet-soft,#f3efff)}.pl-night--review{background:var(--brand-pale,var(--brand-soft))}.pl-night__head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.pl-night__date{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text);font-size:13px;font-weight:800}.pl-night.is-missed .pl-night__date:after{content:" · catch up";color:var(--muted)}.pl-night__title{color:var(--foreground);margin:0;font-size:19px;font-weight:900;line-height:1.3}.pl-tasks{gap:8px;margin:10px 0 0;padding-left:20px;font-size:15.5px;line-height:1.5;display:grid}.pl-tasks a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:3px}.pl-tasks li.is-app{font-weight:700}.pl-app{background:var(--brand);border-radius:99px;margin-left:8px;padding:3px 10px;font-size:13px;font-weight:800;display:inline-block;color:var(--on-brand,#fff)!important;text-decoration:none!important}.pl-check{cursor:pointer;align-items:center;gap:10px;margin-top:12px;font-size:15px;font-weight:800;display:inline-flex}.pl-check input{width:22px;height:22px;accent-color:var(--brand)}.pl-foot{color:var(--muted);margin-top:28px;font-size:14.5px}.pl-foot a{color:var(--brand-text);font-weight:800}.pl-parent{border:2px solid var(--brand-soft);background:var(--brand-pale,var(--brand-soft));border-radius:18px;margin-top:12px;padding:18px}.pl-parent h2{margin:0;font-size:20px;font-weight:900}.pl-parent__lead{color:var(--muted);margin:6px 0 0;font-size:15px;line-height:1.6}.pl-weeks{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pl-weeks__h{margin:0;font-weight:900}.pl-weeks__h span{color:var(--muted);font-size:14px;font-weight:600}.pl-weeks ul{margin:4px 0 0;padding-left:20px;font-size:15px;line-height:1.55}@media print{.pl-tabs,.pl-check,.pl-app,.pl-foot{display:none!important}.pl-night{break-inside:avoid;border-color:#999}}.sp-form{border:2px solid var(--border);background:var(--card);border-radius:22px;gap:22px;padding:22px;display:grid}.sp-field>p,.sp-field>label{color:var(--foreground);margin:0 0 8px;font-size:16px;font-weight:900;display:block}.sp-field small{color:var(--muted);margin-top:6px;font-size:13.5px;display:block}.sp-chips{flex-wrap:wrap;gap:8px;display:flex}.sp-chip{font:inherit;border:2px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:99px;padding:9px 14px;font-size:15px;font-weight:800}.sp-chip.is-on{border-color:var(--brand);background:var(--brand-pale,var(--brand-soft))}.sp-topics{gap:8px;display:grid}.sp-topic{border:2px solid var(--border);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:15px;font-weight:700;line-height:1.4;display:flex}.sp-topic.is-on{border-color:var(--brand);background:var(--brand-pale,var(--brand-soft))}.sp-topic input{width:20px;height:20px;accent-color:var(--brand);flex:none;margin:0}.sp-input{width:100%;max-width:360px;font:inherit;border:2px solid var(--border);background:var(--background);color:var(--foreground);border-radius:12px;padding:12px 14px;font-size:16px}.sp-error{color:var(--danger,#be123c);background:#fff1f2;border-radius:10px;margin:0;padding:10px 12px;font-size:14.5px}.sp-done{border:2px solid var(--brand);background:var(--brand-pale,var(--brand-soft));border-radius:22px;padding:22px}.sp-done h3{margin:0;font-size:22px;font-weight:900}.sp-done p{margin:8px 0 0;font-size:15.5px;line-height:1.6}.sp-optin{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.sp-optin input{width:18px;height:18px;accent-color:var(--brand);flex:none;margin:1px 0 0}@media (min-width:700px){.sp-topics{grid-template-columns:1fr 1fr}}.pl-hero .pl-progress{margin-left:auto;margin-right:auto}.pl-hero .pl-tabs{justify-content:center}.pl-hero .pl-tabs .pl-print{margin-left:0}.pl-weeks ul{list-style:outside}.sp-h2{color:var(--foreground);margin:8px 0 16px;font-size:clamp(26px,2.2vw + 14px,36px);font-weight:900;line-height:1.15}.pv{--pv-teal:var(--brand);--pv-teal-deep:var(--brand-edge);--pv-sun:#ffc23d;--pv-sun-ink:#7a5200;--pv-violet:var(--violet);--pv-coral:#ff7a59;--pv-line:#d5dde3;--pv-paper:var(--card);max-width:760px;font-family:var(--font-display);margin:0 auto;padding:28px 16px 72px}.pv-ticket{background:var(--pv-teal);color:#fff;box-shadow:0 8px 0 var(--pv-teal-deep);border-radius:22px;grid-template-columns:1fr auto;display:grid;position:relative}.pv-ticket__main{min-width:0;padding:22px 22px 22px 24px}.pv-ticket__k{opacity:.9;margin:0;font-size:16px;font-weight:800}.pv-ticket__date{letter-spacing:-.01em;margin:2px 0 0;font-size:clamp(26px,4vw + 10px,40px);font-weight:900;line-height:1.08}.pv-ticket__topics{opacity:.92;max-width:46ch;margin:10px 0 0;font-size:14.5px;font-weight:600;line-height:1.5}.pv-ticket__stub{text-align:center;border-left:3px dashed #ffffff8c;align-content:center;justify-items:center;min-width:112px;padding:18px 16px;display:grid;position:relative}.pv-ticket__stub:before,.pv-ticket__stub:after{content:"";background:var(--card);border-radius:50%;width:22px;height:22px;position:absolute;left:-13px}.pv-ticket__stub:before{top:-11px}.pv-ticket__stub:after{bottom:-11px}.pv-ticket__n{color:var(--pv-sun);font-size:56px;font-weight:900;line-height:.95}.pv-ticket__u{font-size:14px;font-weight:800}.pv-ticket__u--big{max-width:9ch;font-size:17px;line-height:1.25}.pv-beads{flex-wrap:wrap;gap:6px;margin:26px 0 0;display:flex}.pv-bead{border:2.5px solid var(--pv-line);background:var(--card);border-radius:50%;width:18px;height:18px;transition:background .25s,border-color .25s,transform .25s}.pv-bead--practice_exam{border-radius:5px;transform:rotate(45deg)scale(.86)}.pv-bead.is-done{background:var(--pv-teal);border-color:var(--pv-teal)}.pv-bead--practice_exam.is-done{background:var(--pv-violet);border-color:var(--pv-violet)}.pv-bead.is-next{border-color:var(--pv-teal)}.pv-count{color:var(--muted);margin:10px 0 0;font-size:15.5px}.pv-count strong{color:var(--foreground);font-weight:900}.pv-switch{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.pv-switch button{font:inherit;border:2px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;border-radius:99px;padding:8px 16px;font-size:15px;font-weight:800}.pv-switch button.is-on{border-color:var(--foreground);background:var(--foreground);color:var(--card)}.pv-switch .pv-print{margin-left:auto}.pv button:focus-visible,.pv a:focus-visible{outline:3px solid var(--pv-sun);outline-offset:2px}.pv-error{color:var(--danger,#be123c);background:#fff1f2;border-radius:12px;margin:16px 0 0;padding:10px 12px;font-size:15px}.pv-parent{background:var(--violet-soft);color:var(--foreground);border-radius:18px;margin-top:22px;padding:20px}.pv-parent h2{margin:0;font-size:21px;font-weight:900}.pv-parent>p{margin:6px 0 0;font-size:15.5px;line-height:1.6}.pv-weeks{gap:14px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pv-weeks__h{color:var(--violet-text);margin:0;font-weight:900}.pv-weeks ul{margin:4px 0 0;padding-left:20px;font-size:15px;line-height:1.55}.pv-trail{margin:30px 0 0;padding:0;list-style:none}.pv-stop{grid-template-columns:44px 1fr;gap:14px;padding-bottom:18px;display:grid;position:relative}.pv-stop:before{content:"";border-left:3px dashed var(--pv-line);position:absolute;top:44px;bottom:-2px;left:21px}.pv-stop.is-done:before{border-left:3px solid var(--pv-teal)}.pv-stop--finish:before{display:none}.pv-node{z-index:1;border:3px solid var(--pv-line);background:var(--card);width:44px;height:44px;color:var(--muted);border-radius:50%;place-items:center;font-size:17px;font-weight:900;display:grid;position:relative}.pv-stop.is-next .pv-node{border-color:var(--pv-teal);color:var(--pv-teal);box-shadow:0 0 0 6px var(--brand-soft)}.pv-node--done{border-color:var(--pv-teal);background:var(--pv-teal);color:#fff}.pv-stop--practice_exam .pv-node--exam{border-color:var(--pv-violet);color:var(--pv-violet)}.pv-stop--practice_exam.is-done .pv-node--done{border-color:var(--pv-violet);background:var(--pv-violet)}.pv-node--review{color:var(--pv-sun-ink);border-color:var(--pv-sun)}.pv-node--flag{border-color:var(--foreground);color:var(--foreground)}.pv-stop--finish.is-done .pv-node--flag{background:var(--pv-sun);border-color:var(--pv-sun);color:var(--foreground)}.pv-card{min-width:0;padding:8px 0 4px}.pv-stop.is-next .pv-card{border:3px solid var(--pv-teal);background:var(--card);box-shadow:0 6px 0 var(--brand-soft);border-radius:20px;padding:18px}.pv-stop--practice_exam.is-next .pv-card{border-color:var(--pv-violet);box-shadow:0 6px 0 var(--violet-soft)}.pv-card__head{padding-right:92px;position:relative}.pv-when{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:800;display:flex}.pv-tonight{background:var(--pv-sun);color:var(--foreground);border-radius:99px;padding:2px 10px}.pv-catch{color:#9a3412;background:#ffe9e2;border-radius:99px;padding:2px 10px}.pv-title{color:var(--foreground);margin:2px 0 0;font-size:19px;font-weight:900;line-height:1.28}.pv-stop.is-next .pv-title{font-size:clamp(21px,1.4vw + 14px,26px)}.pv-stop.is-done .pv-title{color:var(--muted)}.pv-stamp{border:3px solid var(--pv-teal);width:82px;color:var(--pv-teal-deep);background:var(--card);border-radius:12px;justify-items:center;padding:6px 4px;line-height:1.1;animation:.42s cubic-bezier(.2,1.6,.4,1) both pv-stamp;display:grid;position:absolute;top:-2px;right:0;transform:rotate(-8deg)}.pv-stamp span{font-size:18px;font-weight:900}.pv-stamp small{font-size:11px;font-weight:800}.pv-stop--practice_exam .pv-stamp{border-color:var(--pv-violet);color:var(--violet-text)}@keyframes pv-stamp{0%{opacity:0;transform:rotate(-24deg)scale(1.9)}to{opacity:1;transform:rotate(-8deg)scale(1)}}.pv-tasks{gap:4px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pv-task{font-family:var(--font-sans);color:var(--foreground);grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:8px 0;font-size:15.5px;line-height:1.5;display:grid}.pv-task+.pv-task{border-top:1px solid var(--border)}.pv-task__i{background:var(--brand-pale);width:34px;height:34px;color:var(--pv-teal-deep);border-radius:10px;place-items:center;display:grid}.pv-task--timer .pv-task__i{background:var(--violet-soft);color:var(--violet-text)}.pv-task--snap .pv-task__i,.pv-task--moon .pv-task__i,.pv-task--sheet .pv-task__i{color:var(--pv-sun-ink);background:#fff4d6}.pv-task__t{padding-top:5px}.pv-task__t a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--pv-teal);text-decoration-color:var(--pv-teal);text-underline-offset:3px;text-decoration-thickness:2px}.pv-task--snap .pv-task__t{font-weight:600}.pv-app{background:var(--foreground);font-family:var(--font-display);vertical-align:1px;border-radius:99px;margin:6px 0 0 6px;padding:3px 11px;font-size:13px;font-weight:800;display:inline-block;color:var(--card)!important;text-decoration:none!important}.pv-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:12px;display:flex}.pv-done-btn{font:inherit;background:var(--pv-teal);color:#fff;box-shadow:0 5px 0 var(--pv-teal-deep);cursor:pointer;border:0;border-radius:14px;padding:11px 20px;font-size:16px;font-weight:900;transition:transform 80ms,box-shadow 80ms;position:relative}.pv-stop--practice_exam .pv-done-btn{background:var(--pv-violet);box-shadow:0 5px #5a52b8}.pv-done-btn:active{box-shadow:0 1px 0 var(--pv-teal-deep);transform:translateY(4px)}.pv-stop:not(.is-next) .pv-done-btn{background:var(--card);color:var(--foreground);border:2px solid var(--border);box-shadow:none;border-radius:12px;padding:7px 14px;font-size:14.5px}.pv-done-btn:disabled{opacity:.75}.pv-undo,.pv-peek{font:inherit;color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:800;text-decoration:underline}.pv-peek{color:var(--brand-text)}.pv-burst{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.pv-bit{border-radius:50%;width:8px;height:8px;margin:-4px;animation:.75s cubic-bezier(.15,.7,.3,1) forwards pv-bit;position:absolute}.pv-bit--sq{border-radius:2px;width:7px;height:11px}@keyframes pv-bit{0%{transform:rotate(var(--a)) translateY(0) scale(1);opacity:1}to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(.6) rotate(140deg);opacity:0}}.pv-finish{justify-content:space-between;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.pv-finish__x{font-family:var(--font-sans);color:var(--muted);max-width:46ch;margin:4px 0 0;font-size:15.5px;line-height:1.55}.pv-stop--finish.is-done .pv-finish__x{color:var(--foreground);font-weight:600}.pv-quinn{flex:none}.pv-foot{font-family:var(--font-sans);color:var(--muted);margin:28px 0 0;font-size:14.5px}.pv-foot a{color:var(--brand-text);font-weight:700}.pv-toast{z-index:60;background:var(--foreground);max-width:calc(100% - 32px);color:var(--card);text-align:center;pointer-events:none;border-radius:16px;padding:12px 20px;font-size:16px;font-weight:800;transition:transform .35s cubic-bezier(.2,1.3,.4,1);position:fixed;bottom:22px;left:50%;transform:translate(-50%,140%)}.pv-toast.is-on{transform:translate(-50%)}@media (max-width:520px){.pv-ticket{grid-template-columns:1fr}.pv-ticket__stub{border-top:3px dashed #ffffff8c;border-left:0;grid-auto-flow:column;justify-content:start;align-items:baseline;gap:8px;padding:12px 24px 16px}.pv-ticket__stub:before,.pv-ticket__stub:after{top:-12px;bottom:auto}.pv-ticket__stub:before{left:-11px}.pv-ticket__stub:after{left:auto;right:-11px}.pv-ticket__n{font-size:44px}.pv-stop{grid-template-columns:38px 1fr;gap:10px}.pv-node{width:38px;height:38px;font-size:15px}.pv-stop:before{top:38px;left:18px}.pv-stop.is-next .pv-card{padding:16px 14px}.pv-card__head{padding-right:74px}.pv-stamp{width:70px}.pv-stamp span{font-size:16px}}@media (prefers-reduced-motion:reduce){.pv-stamp,.pv-bit{animation:none}.pv-bit{display:none}.pv-toast,.pv-bead{transition:none}}@media print{.pv-switch,.pv-actions,.pv-app,.pv-foot,.pv-toast{display:none!important}.pv-ticket{box-shadow:none;color:#000;background:#fff;border:2px solid #999}.pv-stop{break-inside:avoid}}.pv-tasks.is-collapsed{display:none}@media print{.pv-tasks.is-collapsed{display:grid}}.pv-topics{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.pv-topics li{background:var(--brand-pale);color:var(--brand-foreground,var(--brand-text));font-family:var(--font-sans);border-radius:8px;padding:4px 10px;font-size:13.5px;font-weight:600;line-height:1.35}.pv-stop--topic:not(.is-next) .pv-topics li{background:var(--background);color:var(--muted)}.pv-topics.is-collapsed{display:none}@media print{.pv-topics.is-collapsed{display:flex}}.pv-aside{padding:0 0 18px 58px;position:relative}.pv-aside:before{content:"";border-left:3px dashed var(--pv-line);position:absolute;top:-2px;bottom:-2px;left:21px}.pv-aside__card{background:var(--foreground);color:var(--card);border-radius:18px;padding:16px 18px}.pv-aside__t{margin:0;font-size:17px;font-weight:900;line-height:1.35}.pv-aside__m{font-family:var(--font-sans);color:#ffffffd1;margin:8px 0 0;font-size:14.5px;line-height:1.5}.pv-aside__m a{color:#ffc23d;text-underline-offset:3px;font-weight:800;text-decoration:underline}.pv-aside__list{font-family:var(--font-sans);gap:6px;margin:10px 0 0;padding-left:18px;font-size:14.5px;line-height:1.5;display:grid}.pv-aside__list strong{color:var(--pv-sun);font-weight:700}.pv-aside__btn{background:var(--pv-sun);border-radius:12px;margin-top:14px;padding:9px 16px;font-size:15px;font-weight:900;text-decoration:none;display:inline-block;box-shadow:0 4px #c99213;color:var(--foreground)!important}@media (max-width:520px){.pv-aside{padding-left:48px}.pv-aside:before{left:18px}}@media print{.pv-aside{display:none}}.pv-step{font-family:var(--font-display);vertical-align:2px;border-radius:999px;margin-right:8px;padding:1px 8px;font-size:12.5px;font-weight:800;line-height:1.6;text-decoration:none;display:inline-block}.pv-step--snap{background:var(--brand-soft);color:var(--brand-foreground)}.pv-step--fix{background:var(--violet-soft);color:var(--violet-text)}.pv-step--test{background:var(--success-soft);color:var(--success-text)}@media print{.pv-step{background:0 0;border:1px solid}}