:root{--navy:#102b46;--ink:#20374b;--muted:#66798b;--line:#dce6ed;--paper:#f3f7fa;--white:#fff;--green:#148965;--green-tint:#eaf7f1;--orange:#d76821;--orange-tint:#fff2e8;--blue:#3268d6;--blue-tint:#edf3ff;--gold:#edaa2e;--shadow:0 12px 35px #17304712}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.ptr-topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(22px,calc((100vw - 1440px)/2));gap:22px;position:sticky;top:0;z-index:5}.ptr-brand{text-decoration:none;font-weight:950;font-size:18px;color:var(--navy);letter-spacing:.04em}.ptr-brand span{font-size:10px;display:block;letter-spacing:.18em;color:var(--muted)}.ptr-course-label{margin:auto;color:#687c8f;font-size:12px;letter-spacing:.14em;font-weight:850}.ptr-back,.ptr-end .ptr-back{border:1px solid #cbd7e0;background:#fff;color:#27445e;border-radius:10px;padding:10px 14px;font:750 13px inherit;cursor:pointer}.ptr-shell{width:min(1420px,96vw);margin:24px auto 60px;display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start;gap:22px}.ptr-sidebar{position:sticky;top:86px;border:1px solid var(--line);border-radius:18px;padding:18px 12px;background:#fff;box-shadow:var(--shadow)}.ptr-side-heading{padding:2px 10px;color:#63768a;font-size:11px;letter-spacing:.13em;font-weight:900}.ptr-progress{height:6px;background:#edf1f5;border-radius:8px;margin:13px 9px 6px;overflow:hidden}.ptr-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--blue));transition:width .25s}.ptr-progress-text{font-size:11px;color:#728397;padding:0 10px 10px}.ptr-sidebar nav{display:grid;gap:4px}.ptr-sidebar nav button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:0;border-radius:10px;padding:9px 8px;background:transparent;color:#4c6074;cursor:pointer;font:700 12px/1.25 inherit}.ptr-sidebar nav button:hover,.ptr-sidebar nav button.is-current{background:#edf4f7;color:var(--navy)}.ptr-sidebar nav button b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#f0f3f6;color:#64788b;font-size:11px}.ptr-sidebar nav button.is-current b{background:var(--navy);color:#fff}.ptr-sidebar nav button small{display:block;color:#8795a4;font-size:10px;margin-top:3px}.ptr-side-note{margin:14px 5px 2px;padding:13px;border-radius:12px;background:#f2f7fa;color:#576f83;font-size:12px}.ptr-side-note strong,.ptr-side-note span{display:block}.ptr-side-note strong{color:var(--navy);margin-bottom:4px}.ptr-main{min-width:0}.ptr-screen{display:none;border:1px solid var(--line);border-radius:22px;background:#fff;padding:clamp(20px,3vw,40px);box-shadow:var(--shadow);min-height:70vh}.ptr-screen.is-active{display:block;animation:ptr-in .22s ease-out}@keyframes ptr-in{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}.ptr-cover.is-active{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);align-items:center;gap:28px;background:radial-gradient(ellipse at 88% 5%,#d8efe9 0,transparent 35%),#fff}.ptr-kicker{color:#47768b;font-size:11px;letter-spacing:.15em;font-weight:900}.ptr-cover h1{font-size:clamp(48px,6.4vw,86px);line-height:.92;letter-spacing:-.06em;color:var(--navy);margin:17px 0}.ptr-cover h1 em{font-style:normal;color:var(--green)}.ptr-subtitle{max-width:530px;font-size:19px;color:#5c7184}.ptr-objective{display:grid;grid-template-columns:12px 1fr;gap:9px 11px;align-items:center;margin:24px 0 15px;font-size:14px}.ptr-dot{width:11px;height:11px;border-radius:50%}.pp-dot{background:var(--green)}.pap-dot{background:var(--orange)}.pp-text{color:var(--green)}.pap-text{color:var(--orange)}.ps-text{color:var(--blue)}.ptr-anchor{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #d9e2f4;border-radius:10px;background:var(--blue-tint);font-size:12px}.ps-tag{flex:0 0 auto;color:var(--blue);font-size:10px;font-weight:950;letter-spacing:.08em}.ptr-primary{border:0;border-radius:10px;background:var(--navy);color:#fff;padding:13px 18px;font:850 14px inherit;cursor:pointer;box-shadow:0 5px 0 #091c30;transition:transform .15s,box-shadow .15s}.ptr-primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 #091c30}.ptr-cover .ptr-primary{margin-top:23px}.ptr-cover-meta{margin:13px 0 0;color:#8594a2;font-size:11px}.ptr-cover-art,.ptr-wide-figure{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#f7fafc}.ptr-cover-art img,.ptr-wide-figure img{display:block;width:100%;height:auto}.ptr-cover-art figcaption,.ptr-wide-figure figcaption{padding:10px 14px;color:#627589;font-size:12px;background:#fff}.ptr-heading{margin-bottom:23px}.ptr-heading h2{font-size:clamp(27px,3.7vw,42px);line-height:1.12;letter-spacing:-.03em;color:var(--navy);margin:8px 0}.ptr-heading>p{margin:0;color:var(--muted);font-size:15px}.ptr-stage-nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:19px;border-top:1px solid #e8edf1}.ptr-stage-nav button:not(.ptr-primary){border:1px solid #cbd7e0;border-radius:10px;background:white;color:#3e5870;padding:12px 15px;font:750 13px inherit;cursor:pointer}.ptr-diagnostic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.ptr-question{padding:17px;border:1px solid var(--line);border-top:4px solid #53778c;border-radius:14px;background:#fbfdfe}.ptr-qnum{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#eaf0f4;color:#32506b;font-weight:900;font-size:12px}.ptr-question h3{min-height:53px;font-size:16px;line-height:1.35;color:var(--navy);margin:11px 0}.ptr-question>button{display:block;width:100%;text-align:left;padding:9px 10px;margin:6px 0;border:1px solid #dde5eb;border-radius:9px;background:white;color:#334b60;font:600 12px/1.4 inherit;cursor:pointer}.ptr-question>button:hover{border-color:#829eb2;background:#f5f9fb}.ptr-question>button.is-right{border-color:#75c5a2;background:#ebf8f2;color:#176548}.ptr-question>button.is-wrong{border-color:#e4a19b;background:#fff2f1;color:#a44740}.ptr-feedback{min-height:46px;margin-top:9px;color:#657789;font-size:12px}.ptr-feedback strong{color:var(--green)}.ptr-callout,.ptr-instruction{margin-top:18px;padding:13px 16px;border-left:4px solid var(--gold);border-radius:0 11px 11px 0;background:#fff8e9;color:#596d7e;font-size:13px}.ptr-callout strong,.ptr-instruction b{color:#314d64}.ptr-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:18px}.ref-card{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}.ref-card>span{font-size:9px;letter-spacing:.1em;font-weight:900;color:#65798b}.ref-card h3{margin:7px 0;color:var(--navy);font-size:19px}.ref-card p{margin:7px 0;font-size:13px;color:#506578}.ref-now{border-top:4px solid var(--green)}.ref-now h3,.ref-now>span{color:var(--green)}.ref-then{border-top:4px solid var(--orange)}.ref-then h3,.ref-then>span{color:var(--orange)}.ref-finished{border-top:4px solid var(--blue)}.ref-finished h3,.ref-finished>span{color:var(--blue)}.mini-timeline{margin-top:15px;border-top:2px solid #d3dce4;padding-top:7px;display:flex;justify-content:space-between;gap:6px;align-items:center;color:#6b7d8d;font-size:9px}.mini-timeline b{font-size:10px;color:var(--navy);white-space:nowrap}.ptr-memory{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;margin-top:16px;padding:13px;border-radius:11px;background:#f1f6f8;font-size:12px}.ptr-memory b{flex:0 0 100%;color:var(--navy)}.ptr-memory span{font-weight:800}.ptr-wide-figure{margin:15px auto 19px;max-width:1000px}.ptr-wide-figure img{max-height:430px;object-fit:contain;background:#f5f8fb}.ptr-formula{padding:19px;border-radius:14px;text-align:center;margin:18px 0;color:var(--navy)}.pp-formula{background:var(--green-tint);border:1px solid #bde4d2}.pap-formula{background:var(--orange-tint);border:1px solid #f0cfb8}.tense-label{display:block;font-size:10px;letter-spacing:.12em;font-weight:950;color:var(--green);margin-bottom:6px}.pap-formula .tense-label{color:var(--orange)}.ptr-formula div{font-size:clamp(17px,2.8vw,25px);font-weight:800}.ptr-formula em{font-style:normal;color:#31485c}.ptr-formula div strong{color:var(--green)}.pap-formula div strong{color:var(--orange)}.ptr-formula div b{color:#304c66}.ptr-formula small{display:block;color:#7c695a;font-size:12px;margin-top:6px}.ptr-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ptr-forms article{padding:15px;border:1px solid #dce6e9;border-radius:13px;background:#fbfdfd}.ptr-forms h3{font-size:15px;color:var(--green);margin:0 0 8px}.pap-forms h3{color:var(--orange)}.formula-line{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 11px}.formula-line span{padding:3px 6px;border-radius:5px;background:var(--green-tint);color:#176d52;font-size:10px;font-weight:850}.pap-forms .formula-line span{background:var(--orange-tint);color:#995019}.ptr-forms article>b{display:block;margin:7px 0;color:#36536b;font-size:12px}.ptr-forms article small{color:#738496;font-size:11px}.ptr-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.ptr-use-grid article{border-radius:12px;padding:13px;background:#f5f8f9}.ptr-use-grid article>b{color:var(--green);font-size:10px;letter-spacing:.08em}.ptr-use-grid p{margin:6px 0;font-size:12px}.ptr-tip{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:13px;padding:12px 14px;background:#f2f6fb;border-radius:12px;font-size:12px}.ptr-tip>strong{color:var(--navy);margin-right:3px}.ptr-tip span:not(.tip-example){padding:4px 8px;border-radius:7px;background:#fff}.ptr-tip span b{color:var(--green)}.tip-example{flex-basis:100%;color:#536b80}.ptr-practice{margin-top:13px;padding:13px;border:1px dashed #98bba9;border-radius:12px;background:#f5fbf8;font-size:13px}.ptr-practice p{margin:5px 0}.ptr-answer-toggle{border:1px solid #c9d6df;border-radius:8px;background:#fff;color:#38536b;padding:8px 11px;font:750 12px inherit;cursor:pointer}.ptr-answer-toggle:hover{background:#f1f6f8}.ptr-answer{margin-top:10px;padding:11px;border-radius:9px;background:#eaf6ef;color:#315543;font-size:13px}.ptr-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.ptr-pair>div{padding:14px;border-radius:12px;text-align:center}.ptr-pair .earlier{background:var(--orange-tint);color:#a54e13}.ptr-pair .later{background:var(--blue-tint);color:#305bb8}.ptr-pair>div>b{font-size:10px;letter-spacing:.08em}.ptr-pair p{margin:6px 0;font-size:15px;font-weight:750}.ptr-pair .result-sentence{grid-column:1/-1;background:#f5f7fa;color:var(--navy);font-weight:850}.ptr-connectors{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 14px;padding:14px;border-radius:12px;background:#f7f9fb;font-size:12px}.ptr-connectors>b{grid-column:1/-1;color:var(--navy)}.ptr-connectors span strong{color:var(--orange);margin-right:5px}.ptr-quiz{display:grid;gap:9px}.ptr-quiz-item{display:grid;grid-template-columns:32px minmax(160px,1fr) minmax(280px,1.2fr);align-items:center;gap:10px;padding:11px 12px;border:1px solid #e1e8ed;border-radius:11px;background:#fcfdfe}.ptr-quiz-item>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf2f5;font-size:11px;font-weight:900}.ptr-quiz-item p{margin:0;font-size:13px}.ptr-quiz-item p small{color:#8593a0}.ptr-quiz-item>div{display:flex;gap:5px;flex-wrap:wrap}.ptr-quiz-item button{border:1px solid #d9e2e9;border-radius:7px;background:#fff;padding:6px 8px;color:#425a70;font:650 11px inherit;cursor:pointer}.ptr-quiz-item button:hover{border-color:#91a8b9}.ptr-quiz-item button.is-right{background:var(--green-tint);border-color:#7ec9a5;color:#17684c}.ptr-quiz-item button.is-wrong{background:#fff0ee;border-color:#e2a09a;color:#98443d}.ptr-quiz-item output{grid-column:2/-1;color:#66798b;font-size:11px;min-height:0}.ptr-score{margin-top:12px;padding:12px;background:#f0f5f8;border-radius:10px;color:#506980;font-size:12px}.ptr-reading{padding:19px;border-radius:15px;background:#f8fbfc;border:1px solid var(--line);font-size:15px;line-height:1.9}.ptr-story-label{font-size:10px;font-weight:950;letter-spacing:.12em;color:#506a7f}.mark-pp{color:var(--green);font-weight:850;background:#eaf7f1;padding:1px 4px;border-radius:4px}.mark-pap{color:var(--orange);font-weight:850;background:#fff2e8;padding:1px 4px;border-radius:4px}.mark-ps{color:var(--blue);font-weight:850;background:#edf3ff;padding:1px 4px;border-radius:4px}.ptr-legend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ptr-legend span{padding:6px 9px;border-radius:7px;font-size:10px;font-weight:800}.legend-pp{background:var(--green-tint);color:#176b50}.legend-pap{background:var(--orange-tint);color:#9a4c17}.legend-ps{background:var(--blue-tint);color:#315bb4}.ptr-reading-questions{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:13px}.ptr-reading-questions h3{margin:0 0 8px;color:var(--navy);font-size:16px}.ptr-reading-questions ol{padding-left:22px;font-size:13px}.ptr-reading-questions li{margin:5px 0}.ptr-storyboard img{max-height:560px}.ptr-speaking-prompt{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:start;margin-top:15px;padding:15px;border-radius:13px;background:#f1f6f8}.ptr-speaking-prompt>b{color:var(--navy);font-size:13px}.ptr-speaking-prompt>div{display:grid;gap:6px;font-size:12px}.ptr-models{margin-top:13px}.ptr-models .ptr-answer ol{margin:0;padding-left:21px}.ptr-three-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ptr-three-points article{padding:16px;border:1px solid var(--line);border-radius:14px}.ptr-three-points article>span{font-size:9px;letter-spacing:.08em;font-weight:900}.ptr-three-points h3{margin:6px 0;color:var(--navy);font-size:17px}.ptr-three-points p{min-height:42px;color:#5a6f81;font-size:12px}.now-point{border-top:4px solid var(--green)!important}.now-point>span{color:var(--green)}.past-point{border-top:4px solid var(--blue)!important}.past-point>span{color:var(--blue)}.before-point{border-top:4px solid var(--orange)!important}.before-point>span{color:var(--orange)}.writing-line{padding:10px;border-radius:8px;background:#f3f6f8;color:#496176;font-size:11px}.ptr-reflection{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;padding:14px;border-radius:12px;background:#f2f6f8;font-size:12px}.ptr-reflection b{flex-basis:100%;color:var(--navy)}.ptr-reflection span{padding:6px 9px;border:1px solid #dce5eb;border-radius:7px;background:white}.ptr-exit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ptr-exit-grid article{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fcfdfe}.ptr-exit-grid article>span{color:#7890a2;font-weight:950}.ptr-exit-grid p{min-height:54px;font-size:13px}.ptr-exit-grid p small{color:#8493a0}.ptr-takeaway{margin-top:17px;padding:15px;border-radius:13px;background:#f0f5f8}.ptr-takeaway>b{display:block;color:var(--navy);margin-bottom:9px}.ptr-takeaway>div{display:flex;flex-wrap:wrap;gap:9px}.ptr-takeaway span{padding:8px 10px;border-radius:8px;background:white;font-size:11px;font-weight:850}.ptr-end{margin-top:17px;padding:18px;border-radius:14px;background:var(--navy);color:#fff}.ptr-end h3{margin:0;font-size:23px}.ptr-end p{color:#d6e2eb}.ptr-end .ptr-primary{background:#fff;color:var(--navy);box-shadow:0 4px 0 #91a3b2;margin-right:9px}.ptr-end .ptr-back{border-color:#ffffff77;background:transparent;color:#fff}.ptr-screen[data-screen="0"]~.ptr-screen{}.ptr-screen[data-screen="0"]{display:none}.ptr-screen[data-screen="0"].is-active{display:grid}
@media(max-width:1000px){.ptr-shell{grid-template-columns:190px minmax(0,1fr);gap:13px}.ptr-sidebar{padding:13px 8px}.ptr-sidebar nav button{font-size:11px}.ptr-cover.is-active{grid-template-columns:1fr}.ptr-cover-art{max-width:680px}.ptr-diagnostic,.ptr-reference-grid{grid-template-columns:1fr}.ptr-question h3{min-height:0}.ptr-quiz-item{grid-template-columns:30px 1fr}.ptr-quiz-item>div,.ptr-quiz-item output{grid-column:2}.ptr-three-points{grid-template-columns:1fr}.ptr-three-points p{min-height:0}}
@media(max-width:680px){.ptr-topbar{height:58px;padding:0 12px;gap:9px}.ptr-brand{font-size:14px}.ptr-course-label{font-size:9px}.ptr-back{font-size:11px;padding:8px}.ptr-shell{width:100%;margin:0;display:block}.ptr-sidebar{position:relative;top:auto;border-radius:0;border-left:0;border-right:0;padding:10px 12px}.ptr-side-heading,.ptr-progress,.ptr-progress-text,.ptr-side-note{display:none}.ptr-sidebar nav{display:flex;overflow:auto;gap:6px}.ptr-sidebar nav button{flex:0 0 auto;width:auto;padding:6px;border:1px solid #e1e7eb}.ptr-sidebar nav button b{width:25px;height:25px;flex-basis:25px}.ptr-sidebar nav button span{max-width:100px}.ptr-sidebar nav button small{display:none}.ptr-main{padding:10px}.ptr-screen{padding:19px 15px;border-radius:16px;min-height:78vh}.ptr-cover h1{font-size:59px}.ptr-subtitle{font-size:16px}.ptr-forms,.ptr-use-grid,.ptr-exit-grid{grid-template-columns:1fr}.ptr-pair{grid-template-columns:1fr}.ptr-pair .result-sentence{grid-column:auto}.ptr-connectors{grid-template-columns:1fr}.ptr-connectors>b{grid-column:auto}.ptr-stage-nav{align-items:stretch}.ptr-stage-nav button{flex:1}.ptr-stage-nav .ptr-primary{font-size:12px;padding:10px}.ptr-speaking-prompt{grid-template-columns:1fr}.ptr-memory{align-items:flex-start}.ptr-memory span{flex:1 1 40%}.ptr-quiz-item{grid-template-columns:25px 1fr;gap:7px}.ptr-quiz-item>div{gap:4px}.ptr-quiz-item button{font-size:10px}.ptr-reading{padding:14px;font-size:13px;line-height:1.8}.ptr-takeaway>div{display:grid;grid-template-columns:1fr}.ptr-end .ptr-back{margin-top:13px}.ptr-cover.is-active{display:grid}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
