.boundary-lesson{--boundary-ink:#0a234f;--boundary-blue:#2f9ae6;--boundary-blue-dark:#1479d4;--boundary-pale:#eef8ff;--boundary-line:#d6e4ef;min-height:100dvh;color:var(--boundary-ink);background:#f7fbfd;grid-template-columns:18.5rem minmax(0,1fr);display:grid}.boundary-ladder{border-right:1px solid var(--boundary-line);background:#fff;align-self:start;height:100dvh;padding:1.25rem 1rem;position:sticky;top:0;overflow-y:auto}.boundary-exit,.boundary-mobile-head button{color:#587086;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.45rem .35rem;font-size:.78rem;font-weight:750;display:inline-flex}.boundary-exit:hover,.boundary-mobile-head button:hover{color:var(--boundary-blue-dark)}.boundary-ladder-title{background:linear-gradient(145deg,#eaf7ff,#f7fbff);border:1px solid #cce8f7;border-radius:14px;margin:1.2rem 0 1.15rem;padding:1.1rem}.boundary-ladder-title span,.boundary-ladder-title strong,.boundary-ladder-title small{display:block}.boundary-ladder-title span{color:var(--boundary-blue-dark);letter-spacing:.09em;text-transform:uppercase;font-size:.63rem;font-weight:850}.boundary-ladder-title strong{color:var(--boundary-ink);margin-top:.3rem;font-size:1rem}.boundary-ladder-title small{color:#688096;margin-top:.25rem;font-size:.72rem}.boundary-ladder ol{margin:0;padding:0;list-style:none}.boundary-ladder li{position:relative}.boundary-ladder li:not(:last-child):after{content:"";background:#dce7ef;width:2px;position:absolute;top:3.2rem;bottom:-.25rem;left:1.1rem}.boundary-ladder li.is-done:not(:last-child):after{background:#65b88a}.boundary-ladder li button{z-index:1;color:#5d7285;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:2.2rem minmax(0,1fr);gap:.7rem;width:100%;padding:.7rem .55rem;display:grid;position:relative}.boundary-ladder li button:disabled{cursor:default;opacity:.48}.boundary-ladder li.is-active button{background:var(--boundary-pale);color:var(--boundary-ink);border-color:#b9dff4}.boundary-ladder li button>span:first-child{color:#7890a2;background:#fff;border:2px solid #c8d6e0;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:.76rem;font-weight:850;display:flex}.boundary-ladder li.is-active button>span:first-child{border-color:var(--boundary-blue);background:var(--boundary-blue);color:#fff;box-shadow:0 0 0 4px #2f9ae61f}.boundary-ladder li.is-done button>span:first-child{color:#28754d;background:#e7f6ed;border-color:#4fa875}.boundary-ladder li button strong,.boundary-ladder li button small{display:block}.boundary-ladder li button strong{color:inherit;font-size:.78rem;line-height:1.35}.boundary-ladder li button small{color:#8294a3;margin-top:.18rem;font-size:.65rem;line-height:1.35}.boundary-stage{min-width:0}.boundary-stage-progress{z-index:3;background:#dfebf2;height:.35rem;position:sticky;top:0}.boundary-stage-progress span{background:linear-gradient(90deg, #65c7ee, var(--boundary-blue));border-radius:0 999px 999px 0;height:100%;transition:width .26s;display:block}.boundary-stage-inner{width:min(48rem,100% - 3rem);margin:0 auto;padding:clamp(2.2rem,6vw,5rem) 0 5rem;animation:.22s ease-out both boundary-enter}@keyframes boundary-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.boundary-overline,.boundary-activity-label{color:var(--boundary-blue-dark);letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;font-weight:850;display:block}.boundary-teach-block{max-width:43rem;margin-bottom:2rem}.boundary-teach-block h1{color:var(--boundary-ink);letter-spacing:-.04em;margin:.5rem 0 0;font-size:clamp(2rem,4.2vw,3.35rem);font-weight:800;line-height:1.08}.boundary-teach-block.is-compact h1{font-size:clamp(1.8rem,3.5vw,2.7rem)}.boundary-teach-block>p{color:#506a7f;max-width:40rem;margin:1rem 0 0;font-size:.98rem;line-height:1.75}.boundary-teach-block>p strong{color:var(--boundary-ink)}.boundary-equation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;margin-top:1.5rem;display:grid}.boundary-equation>div{background:#fff;border:1px solid #c9e2f1;border-radius:15px;min-height:7.6rem;padding:1.2rem;position:relative;overflow:hidden;box-shadow:0 8px 22px #0a234f0f}.boundary-equation>div>span{color:#2f9ae617;font-size:5rem;font-weight:900;line-height:1;position:absolute;top:-.6rem;right:.6rem}.boundary-equation strong,.boundary-equation small{display:block;position:relative}.boundary-equation strong{color:var(--boundary-ink);margin-top:.65rem;font-size:1.08rem}.boundary-equation small{color:#6d8496;margin-top:.3rem;font-size:.75rem}.boundary-equation>b{color:var(--boundary-blue);font-size:1.7rem}.boundary-mini-rule{color:#4a657a;background:#eaf6fd;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1.25rem;padding:.9rem 1rem;font-size:.82rem;display:flex}.boundary-mini-rule b{color:var(--boundary-ink)}.boundary-mini-rule strong{color:#28754d;background:#dff3e7;border-radius:7px;padding:.25rem .55rem}.boundary-activity-card{border:1px solid var(--boundary-line);background:#fff;border-radius:18px;padding:clamp(1.25rem,3.5vw,2.2rem);box-shadow:0 12px 30px #0a234f12}.boundary-activity-card h2{color:var(--boundary-ink);letter-spacing:-.02em;margin:.45rem 0 0;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:800;line-height:1.35}.boundary-activity-card blockquote{color:var(--boundary-ink);background:#f3faff;border:0;border-left:4px solid #78c7eb;border-radius:0 11px 11px 0;margin:1.35rem 0;padding:1rem 1.1rem;font-size:clamp(1rem,2.2vw,1.24rem);font-weight:650;line-height:1.65}.boundary-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.boundary-choice{color:#345166;text-align:left;cursor:pointer;background:#fff;border:2px solid #d8e3eb;border-radius:11px;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.4rem;padding:.7rem .9rem;font-weight:750;transition:border-color .13s,background .13s,transform .13s;display:flex}.boundary-choice:hover:not(:disabled){border-color:#7fc5e9;transform:translateY(-1px)}.boundary-choice.is-selected{border-color:var(--boundary-blue);color:var(--boundary-ink);background:#eef8ff}.boundary-choice.is-correct{color:#236542;background:#eaf7ef;border-color:#4fa875}.boundary-choice.is-wrong{color:#913846;background:#fff0f2;border-color:#df8792}.boundary-feedback{border:1px solid;border-radius:11px;margin-top:1rem;padding:.9rem 1rem}.boundary-feedback strong,.boundary-feedback p{margin:0;display:block}.boundary-feedback strong{font-size:.86rem}.boundary-feedback p{margin-top:.28rem;font-size:.8rem;line-height:1.55}.boundary-feedback.is-correct{color:#245e3f;background:#edf8f1;border-color:#a9d5bb}.boundary-feedback.is-try-again{color:#76522c;background:#fff7ec;border-color:#edc8a3}.boundary-next,.boundary-retry{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.5rem;min-height:2.85rem;margin:1.1rem 0 0 auto;padding:.65rem 1.05rem;font-weight:800;display:flex}.boundary-next{border:2px solid var(--button-primary-border);background:var(--button-primary-bg);color:#fff;box-shadow:0 3px 0 var(--button-primary-shadow)}.boundary-next:hover:not(:disabled){background:var(--button-primary-hover);transform:translateY(-1px)}.boundary-next:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.boundary-retry{color:var(--boundary-blue-dark);background:#fff;border:2px solid #d5e1e9}.boundary-split-sentence{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.75rem;margin:1.2rem 0;display:grid}.boundary-split-sentence>div{color:#536c7f;background:#fff;border:2px solid #d9e4ec;border-radius:13px;padding:1rem;font-size:.9rem;font-weight:650;line-height:1.55}.boundary-split-sentence>div.is-active{border-color:var(--boundary-blue);color:var(--boundary-ink);background:#eef8ff}.boundary-split-sentence>div.is-done{background:#edf8f1;border-color:#78bc94}.boundary-split-sentence span{color:#71889a;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.62rem;font-weight:850;display:block}.boundary-split-sentence>b{color:var(--boundary-blue);align-self:center;font-size:1.4rem}.boundary-formulas{gap:.65rem;margin-top:1.3rem;display:grid}.boundary-formulas>div{background:#fff;border:1px solid #d5e4ed;border-radius:11px;grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.85rem 1rem;display:grid}.boundary-formulas span{color:var(--boundary-blue-dark);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:850}.boundary-formulas strong{color:var(--boundary-ink);font-size:.94rem}.boundary-formulas small{color:#718698;grid-column:2;margin-top:-.55rem;font-size:.68rem}.boundary-guided-dots{gap:.35rem;margin-bottom:1.2rem;display:flex}.boundary-guided-dots span{background:#dce7ee;border-radius:999px;width:1.8rem;height:.3rem}.boundary-guided-dots span.is-on{background:var(--boundary-blue)}.boundary-mobile-head{display:none}@media (width<=900px){.boundary-lesson{display:block}.boundary-ladder{border-right:0;border-bottom:1px solid var(--boundary-line);width:100%;height:auto;padding:1rem;position:static;overflow:visible}.boundary-exit,.boundary-ladder-title small,.boundary-ladder li button small{display:none}.boundary-ladder-title{background:0 0;border:0;margin:0 0 .75rem;padding:0}.boundary-ladder ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;display:grid}.boundary-ladder li:not(:last-child):after{display:none}.boundary-ladder li button{text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .25rem;display:flex}.boundary-ladder li button>span:first-child{width:1.9rem;height:1.9rem}.boundary-ladder li button strong{font-size:.62rem}.boundary-mobile-head{border-bottom:1px solid var(--boundary-line);background:#fff;justify-content:space-between;align-items:center;min-height:3.25rem;padding:.35rem 1rem;display:flex}.boundary-mobile-head>span{color:#6c8294;font-size:.72rem;font-weight:800}}@media (width<=600px){.boundary-stage-inner{width:min(100% - 2rem,48rem);padding-top:2rem}.boundary-ladder{overflow-x:auto}.boundary-ladder ol{min-width:35rem}.boundary-equation{grid-template-columns:1fr}.boundary-equation>b{text-align:center}.boundary-choice-grid,.boundary-split-sentence{grid-template-columns:1fr}.boundary-split-sentence>b{text-align:center;transform:rotate(90deg)}.boundary-formulas>div{grid-template-columns:1fr}.boundary-formulas small{grid-column:1;margin-top:-.4rem}}@media (prefers-reduced-motion:reduce){.boundary-stage-inner{animation:none}.boundary-stage-progress span,.boundary-choice{transition:none}}.scaffold-rule-strip{gap:.4rem}.scaffold-rule-strip>span{color:#345166;background:#fff;border-radius:8px;align-items:center;min-height:2rem;padding:.32rem .58rem;font-weight:800;display:inline-flex}.scaffold-rule-strip>span:not(:last-child):after{content:"→";color:#77a9c7;margin-left:.58rem}.scaffold-rule-strip>span.is-result{color:#28754d;background:#dff3e7}.scaffold-patterns>div{grid-template-columns:5.5rem minmax(0,1fr)}.scaffold-patterns strong{line-height:1.5}@media (width<=600px){.scaffold-rule-strip>span:not(:last-child):after{display:none}.scaffold-patterns>div{grid-template-columns:1fr}}.punct-app-content{background:var(--qb-bg);min-width:0;min-height:100dvh;color:var(--text)}.punct-app-content button{font:inherit}.punct-home,.punct-report,.punct-lesson,.punct-complete,.punct-access-state,.punct-runner{min-height:100dvh}.punct-access-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.punct-access-state h1,.punct-access-state p{max-width:36rem;margin:0}.punct-access-state h1{color:var(--text);letter-spacing:-.035em;font-size:clamp(2rem,4vw,3.2rem)}.punct-access-state>p:not(.punct-kicker){color:var(--muted);line-height:1.6}.punct-kicker,.punct-card-label,.punct-question-eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem;font-weight:800}.punct-home{padding-bottom:4rem}.punct-hero{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr);align-items:stretch;gap:1.5rem;max-width:76rem;margin:0 auto;padding:2.25rem 1.5rem 1.5rem;display:grid}.punct-hero-copy,.punct-progress-card{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 10px 24px #0a234f12}.punct-hero-copy{background:radial-gradient(circle at 91% 18%,#5fc6f742 0 4rem,#0000 4.1rem),linear-gradient(145deg,#f9fcff,#eef8ff);flex-direction:column;justify-content:center;min-height:20rem;padding:clamp(1.7rem,4vw,3.2rem);display:flex}.punct-hero h1,.punct-report h1,.punct-complete h1{color:var(--text);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.08}.punct-hero-subtitle{max-width:42rem;color:var(--muted);margin:.9rem 0 0;font-size:1rem;line-height:1.7}.punct-hero-actions{flex-wrap:wrap;align-items:center;gap:.9rem 1.1rem;margin-top:1.5rem;display:flex}.punct-hero-actions>span{color:var(--muted-soft);font-size:.82rem;font-weight:700}.punct-primary,.punct-secondary{border-radius:var(--button-radius);border:var(--button-border-width) solid;cursor:pointer;min-height:2.9rem;transition:var(--button-transition);justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1.15rem;font-weight:800;display:inline-flex}.punct-primary{border-color:var(--button-primary-border);background:var(--button-primary-bg);color:var(--button-primary-fg);box-shadow:0 3px 0 var(--button-primary-shadow)}.punct-primary:hover:not(:disabled){background:var(--button-primary-hover);box-shadow:0 4px 0 var(--button-primary-shadow);transform:translateY(-1px)}.punct-primary:active:not(:disabled){box-shadow:0 1px 0 var(--button-primary-shadow);transform:translateY(2px)}.punct-primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.punct-secondary{border-color:var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-fg);box-shadow:0 3px 0 var(--button-secondary-shadow)}.punct-secondary:hover{background:var(--button-secondary-hover)}.punct-progress-card{padding:1.4rem}.punct-progress-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.punct-progress-head span,.punct-progress-head strong{display:block}.punct-progress-head span{color:var(--muted-soft);font-size:.75rem;font-weight:700}.punct-progress-head strong{color:var(--text);margin-top:.2rem;font-size:1rem}.punct-progress-head .punct-progress-count{color:var(--button-primary-hover);font-size:1.55rem;font-weight:800}.punct-progress-bar,.punct-runner-progress{background:var(--grey-bg);border-radius:999px;height:.55rem;overflow:hidden}.punct-progress-bar{margin:1.1rem 0 1.25rem}.punct-progress-bar span,.punct-runner-progress span{border-radius:inherit;background:var(--button-primary-bg);height:100%;transition:width .22s;display:block}.punct-progress-card dl{margin:0}.punct-progress-card dl>div{border-top:1px solid var(--card-border);justify-content:space-between;gap:1rem;padding:.72rem 0;font-size:.85rem;display:flex}.punct-progress-card dt{color:var(--muted-soft)}.punct-progress-card dd{color:var(--text);margin:0;font-weight:750}.punct-progress-card>p{background:var(--qb-accent-soft);color:var(--muted);border-radius:10px;margin:1rem 0 0;padding:.85rem;font-size:.78rem;line-height:1.55}.punct-map{max-width:76rem;margin:0 auto;padding:1.25rem 1.5rem}.punct-section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1rem;display:flex}.punct-section-heading h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:1.55rem;font-weight:800}.punct-section-heading>p{max-width:30rem;color:var(--muted-soft);text-align:right;margin:0;font-size:.85rem;line-height:1.55}.punct-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.punct-skill-card{border:2px solid var(--card-border);background:var(--surface);min-width:0;min-height:8.2rem;color:var(--text);text-align:left;cursor:pointer;border-radius:15px;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1.15rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative}.punct-skill-card:hover{border-color:var(--primary-light);transform:translateY(-1px);box-shadow:0 8px 18px #0a234f14}.punct-skill-card.is-recommended{border-color:var(--primary-light);background:linear-gradient(135deg, var(--surface), #eef9ff)}.punct-skill-order{color:var(--muted-soft);font-size:.68rem;font-weight:800;position:absolute;top:.8rem;right:.9rem}.punct-skill-mark,.punct-report-mark,.punct-lesson-mark{background:var(--qb-accent-soft);min-width:0;color:var(--button-primary-hover);text-align:center;border-radius:10px;justify-content:center;align-items:center;font-size:.92rem;font-weight:800;line-height:1.15;display:inline-flex;overflow:hidden}.punct-skill-mark{white-space:normal;width:3rem;height:3rem;padding:.25rem}.punct-skill-copy{min-width:0;padding-right:.4rem}.punct-skill-copy strong,.punct-skill-copy small{display:block}.punct-skill-copy strong{color:var(--text);font-size:1rem;font-weight:800}.punct-skill-copy small{max-width:29rem;color:var(--muted-soft);margin-top:.25rem;font-size:.76rem;line-height:1.45}.punct-level{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;justify-content:center;min-width:5.5rem;padding:.32rem .55rem;font-size:.62rem;font-weight:800;display:inline-flex}.punct-level.ready{color:var(--success);background:var(--success-soft)}.punct-level.practice{color:var(--warn);background:var(--warn-soft)}.punct-recommended{background:var(--button-primary-bg);color:var(--white);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.18rem .55rem;font-size:.58rem;font-weight:800;position:absolute;top:-.55rem;left:1rem}.punct-runner{background:var(--qb-bg);padding-bottom:4rem}.punct-runner-header{z-index:4;border-bottom:2px solid var(--card-border);backdrop-filter:blur(10px);background:#c8e7f6f5;grid-template-columns:7rem minmax(10rem,34rem) 7rem;justify-content:center;align-items:center;gap:1.2rem;min-height:4.25rem;padding:.7rem 1.25rem;display:grid;position:sticky;top:0}.punct-runner-header>span{color:var(--muted);text-align:right;font-size:.75rem;font-weight:800}.punct-back,.punct-text-button,.punct-hint-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-weight:750;display:inline-flex}.punct-back:hover,.punct-text-button:hover,.punct-hint-button:hover{color:var(--button-primary-hover)}.punct-runner-body{width:min(47rem,100% - 2rem);margin:0 auto;padding-top:clamp(1.5rem,4vw,3rem)}.punct-diagnostic-note,.punct-practice-label{color:var(--muted-soft);justify-content:space-between;gap:1rem;margin-bottom:.75rem;font-size:.76rem;font-weight:650;display:flex}.punct-diagnostic-note span,.punct-practice-label span{color:var(--muted);font-weight:800}.punct-question{border:2px solid var(--card-border);border-radius:var(--radius-md);background:var(--surface);padding:clamp(1.3rem,4vw,2.4rem);box-shadow:0 10px 22px #0a234f12}.punct-question h2{max-width:39rem;color:var(--muted);margin:0;font-size:.9rem;font-weight:650;line-height:1.6}.punct-sentence{color:var(--text);margin:1.7rem 0;font-size:clamp(1.15rem,2.7vw,1.55rem);font-weight:700;line-height:1.65}.punct-choices{gap:.65rem;display:grid}.punct-choice{border:2px solid var(--card-border);background:var(--white);min-height:3.5rem;color:var(--text);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:2rem 1fr auto;align-items:center;gap:.75rem;padding:.65rem .85rem;font-weight:700;transition:border-color .12s,background .12s,transform .12s;display:grid}.punct-choice:hover:not(:disabled){border-color:var(--primary-light);transform:translate(2px)}.punct-choice.is-selected{border-color:var(--button-primary-bg);background:var(--qb-accent-soft)}.punct-choice.is-correct{border-color:var(--success);background:var(--success-soft);color:#235f45}.punct-choice.is-wrong{border-color:var(--danger);background:var(--danger-soft);color:#8a2b36}.punct-choice-letter{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:800;display:inline-flex}.punct-hint,.punct-feedback{border:1px solid var(--primary-light);background:var(--qb-accent-soft);color:var(--muted);border-radius:10px;margin-top:1rem;padding:.95rem 1rem}.punct-hint span,.punct-trap span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem;font-size:.65rem;font-weight:800;display:block}.punct-hint p,.punct-feedback p{margin:0;line-height:1.6}.punct-feedback>strong{color:inherit;margin-bottom:.25rem;font-size:1rem;font-weight:800;display:block}.punct-feedback.is-correct{border-color:var(--success);background:var(--success-soft)}.punct-feedback.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.punct-trap{border-top:1px solid #0a234f21;margin-top:.75rem;padding-top:.7rem;font-size:.8rem}.punct-next{margin:1.35rem 0 0 auto}.punct-runner-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.punct-hint-button{text-underline-offset:.2rem;margin-top:1.35rem;text-decoration:underline}.punct-lesson{background:var(--qb-bg);padding:1.5rem 1.5rem 4rem}.punct-lesson>.punct-back,.punct-lesson-head,.punct-lesson-grid,.punct-lesson-cta{max-width:68rem;margin-left:auto;margin-right:auto}.punct-lesson>.punct-back{width:100%;margin-bottom:1.4rem;display:flex}.punct-lesson-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem 1rem;margin-bottom:1rem;display:grid}.punct-lesson-head>p{max-width:44rem;color:var(--muted-soft);grid-column:1/-1;margin:0;line-height:1.6}.punct-lesson-head>div>p{color:var(--muted);text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:800}.punct-lesson-head h1{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.15}.punct-lesson-mark{white-space:normal;max-width:8rem;min-height:3rem;padding:.6rem .85rem}.punct-lesson-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.punct-rule-card,.punct-worked-card{border:2px solid var(--card-border);border-radius:var(--radius-md);background:var(--surface);padding:clamp(1.25rem,3vw,2rem);box-shadow:0 8px 18px #0a234f0f}.punct-rule-card h2{color:var(--text);margin:0;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:750;line-height:1.55}.punct-rule-line{background:var(--button-primary-bg);border-radius:999px;width:3rem;height:3px;margin:1.4rem 0}.punct-rule-card ol{counter-reset:process;margin:0;padding:0;list-style:none}.punct-rule-card li{counter-increment:process;border-top:1px solid var(--card-border);color:var(--muted);grid-template-columns:1.7rem 1fr;gap:.65rem;padding:.75rem 0;font-size:.9rem;line-height:1.55;display:grid}.punct-rule-card li:before{content:counter(process);background:var(--qb-accent-soft);width:1.45rem;height:1.45rem;color:var(--button-primary-hover);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.punct-example{border:1px solid var(--card-border);color:var(--text);border-radius:10px;padding:1rem;font-size:1rem;font-weight:650;line-height:1.65}.punct-example span{letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.64rem;font-weight:800;display:block}.punct-example.is-wrong{background:var(--danger-soft)}.punct-example.is-wrong span{color:var(--danger)}.punct-example.is-right{background:var(--success-soft);border-color:#87ad96}.punct-example.is-right span{color:var(--success)}.punct-example-arrow{color:var(--muted-soft);text-align:center;padding:.25rem 0;font-size:1.2rem}.punct-worked-card>p:last-child{color:var(--muted);margin:1rem 0 0;font-size:.9rem;line-height:1.65}.punct-lesson-cta{width:fit-content;margin-top:1.25rem;margin-left:auto;margin-right:max(50% - 34rem,0px);display:flex}.punct-report{background:var(--qb-bg);grid-template-columns:minmax(19rem,.75fr) minmax(25rem,1.25fr);gap:1rem;max-width:72rem;margin:0 auto;padding:2rem 1.5rem 4rem;display:grid}.punct-report-intro,.punct-report-skills{border:2px solid var(--card-border);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 8px 18px #0a234f0f}.punct-report-intro{align-self:start;padding:1.6rem}.punct-report-intro h1{font-size:clamp(1.8rem,4vw,2.5rem)}.punct-report-intro>p:not(.punct-kicker){color:var(--muted);font-size:.9rem;line-height:1.65}.punct-report-intro .punct-primary{margin-top:.7rem}.punct-report-intro .punct-text-button{margin-top:1rem;display:flex}.punct-score-ring{border:8px solid var(--brand-sky);background:var(--qb-accent-soft);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:7rem;height:7rem;margin:1.25rem 0;display:flex}.punct-score-ring strong{color:var(--text);font-size:2.2rem;font-weight:800;line-height:1}.punct-score-ring span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800}.punct-report-skills{padding:.6rem 1.25rem}.punct-report-skills>button{border:0;border-bottom:1px solid var(--card-border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:3rem 1fr auto;align-items:center;gap:.9rem;padding:.9rem 0;display:grid}.punct-report-skills>button:last-child{border-bottom:0}.punct-report-skills>button:hover strong{color:var(--button-primary-hover)}.punct-report-mark{width:3rem;height:3rem;padding:.3rem;color:var(--button-primary-hover)!important}.punct-report-skills strong,.punct-report-skills small{display:block}.punct-report-skills strong{color:var(--text);font-size:.95rem;font-weight:800}.punct-report-skills small{color:var(--muted-soft);margin-top:.1rem;font-size:.75rem}.punct-complete{background:var(--qb-bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.punct-complete-mark{border:2px solid var(--primary-light);background:var(--surface);width:5rem;height:5rem;color:var(--button-primary-bg);box-shadow:0 4px 0 var(--frame-shadow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.3rem;font-size:1.2rem;font-weight:800;display:flex}.punct-complete h1{max-width:42rem;font-size:clamp(2rem,5vw,3rem)}.punct-complete>p:not(.punct-kicker){max-width:35rem;color:var(--muted);line-height:1.7}.punct-complete-actions{flex-direction:column;align-items:center;gap:.8rem;margin-top:1.2rem;display:flex}@media (width<=980px){.punct-hero,.punct-report{grid-template-columns:1fr}.punct-progress-card{max-width:none}}@media (width<=760px){.punct-hero,.punct-map,.punct-lesson,.punct-report{padding-left:1rem;padding-right:1rem}.punct-skill-grid,.punct-lesson-grid{grid-template-columns:1fr}.punct-section-heading{display:block}.punct-section-heading>p{text-align:left;margin-top:.35rem}.punct-runner-header{grid-template-columns:auto 1fr auto;gap:.75rem;padding-inline:1rem}}@media (width<=520px){.punct-hero-copy{min-height:auto;padding:1.4rem}.punct-skill-card{grid-template-columns:2.6rem minmax(0,1fr);min-height:0;padding:1rem}.punct-skill-mark{width:2.6rem;height:2.6rem;font-size:.76rem}.punct-skill-card .punct-level{grid-column:2;justify-self:start}.punct-diagnostic-note,.punct-practice-label{display:block}.punct-diagnostic-note span,.punct-practice-label span{margin-bottom:.15rem;display:block}.punct-runner-actions{align-items:flex-end}.punct-report-skills>button{grid-template-columns:2.7rem 1fr}.punct-report-mark{width:2.7rem;height:2.7rem}.punct-report-skills .punct-level{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){.punct-primary,.punct-skill-card,.punct-choice,.punct-progress-bar span,.punct-runner-progress span{transition:none}}
