:root{--ink:#17231e;--muted:#5e6b65;--paper:#f6f7f2;--surface:#fff;--line:#dce2dc;--accent:#287652;--accent-deep:#175437;--sage:#dfeadf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(#17231e08 1px, transparent 1px), linear-gradient(90deg, #17231e08 1px, transparent 1px), var(--paper);-webkit-font-smoothing:antialiased;background-size:32px 32px;margin:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}a{color:inherit}main{min-height:100vh;overflow:hidden}.skip-link{z-index:100;border:1px solid var(--accent);color:var(--paper);background:var(--ink);border-radius:10px;padding:11px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .16s ease-out;position:fixed;top:12px;left:12px;transform:translateY(calc(-100% - 16px));box-shadow:0 10px 24px #17231e2e}.skip-link:focus-visible{outline:3px solid var(--surface);outline-offset:3px;transform:translateY(0)}.site-nav{border-bottom:1px solid #17231e24;justify-content:space-between;align-items:center;width:min(1184px,100% - 48px);min-height:88px;margin:0 auto;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:11px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark,.window-logo{background:var(--ink);color:var(--paper);place-items:center;font-family:Georgia,serif;font-style:italic;display:inline-grid}.brand-mark{border-radius:9px 9px 9px 3px;width:31px;height:31px}.nav-link{color:var(--muted);text-underline-offset:5px;font-size:14px;text-decoration:none;transition:color .16s ease-out}.nav-link:hover,.nav-link[aria-current=page]{color:var(--ink)}.nav-link[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.nav-actions{align-items:center;gap:24px;display:flex}.nav-account-link{min-height:42px;color:var(--ink);background:#ffffff85;border:1px solid #17231e38;border-radius:8px;justify-content:center;align-items:center;padding:0 15px;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .16s ease-out,background-color .16s ease-out;display:inline-flex}.nav-account-link:hover,.nav-account-link[aria-current=page]{border-color:var(--accent);background:var(--surface)}.nav-account-link:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.hero{grid-template-columns:minmax(0,.92fr) minmax(420px,.78fr);align-items:center;gap:88px;width:min(1184px,100% - 48px);margin:0 auto;padding:96px 0 112px;display:grid}.hero-copy{max-width:660px}.eyebrow{color:var(--accent-deep);letter-spacing:.14em;text-transform:uppercase;margin:0 0 19px;font-size:13px;font-weight:800;line-height:1.2}h1,h2,h3,p{text-wrap:pretty}h1{letter-spacing:-.055em;text-wrap:balance;max-width:690px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(56px,6.6vw,88px);font-weight:600;line-height:.96}.hero-lede{max-width:590px;color:var(--muted);margin:32px 0;font-size:19px;line-height:1.62}.primary-action{color:#fff;background:var(--accent-deep);border:1px solid var(--accent-deep);border-radius:9px;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:0 22px;font-weight:700;text-decoration:none;transition:transform .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out;display:inline-flex;box-shadow:0 10px 25px #1754372e}.primary-action:hover{background:#0f432b;transform:translateY(-1px);box-shadow:0 13px 28px #1754373d}.primary-action:active{transform:translateY(1px)}.primary-action:focus-visible{outline-offset:4px;outline:3px solid #28765257}.early-access{max-width:590px}.early-access-form{display:grid}.early-access-form>label{color:var(--ink);margin-bottom:9px;font-size:13px;font-weight:750}.early-access-fields{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.early-access-fields input{min-width:0;min-height:52px;color:var(--ink);font:inherit;background:#ffffffbd;border:1px solid #bfc9c1;border-radius:9px;padding:0 15px;font-size:16px;transition:border-color .16s ease-out,box-shadow .16s ease-out}.early-access-fields input::placeholder{color:#7d8982}.early-access-fields input:hover{border-color:#91a197}.early-access-fields input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #28765226}.early-access-fields input[aria-invalid=true]{border-color:#a83c35}.early-access-fields button{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:52px;font:inherit;cursor:pointer;border-radius:9px;padding:0 20px;font-size:14px;font-weight:750;transition:transform .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out;box-shadow:0 10px 25px #1754372e}.early-access-fields button:hover:not(:disabled){background:#0f432b;transform:translateY(-1px);box-shadow:0 13px 28px #1754373d}.early-access-fields button:active:not(:disabled){transform:translateY(1px)}.early-access-fields button:focus-visible{outline-offset:3px;outline:3px solid #28765257}.early-access-fields button:disabled,.early-access-fields input:disabled{opacity:.64;cursor:wait}.early-access-consent{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}.early-access-message{min-height:20px;color:var(--accent-deep);margin:7px 0 0;font-size:13px;font-weight:650;line-height:1.45}.early-access-message.is-error{color:#9c2f29}.learning-path-link{color:var(--muted);text-underline-offset:5px;margin-top:3px;font-size:13px;transition:color .16s ease-out;display:inline-block}.learning-path-link:hover{color:var(--ink)}.learning-path-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.launch-note{color:var(--muted);margin:16px 0 0;font-size:13px}.spelling-note{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.5}.course-window{background:var(--surface);border:1px solid #17231e29;border-radius:19px;position:relative;overflow:hidden;transform:rotate(1.4deg);box-shadow:0 30px 60px #17231e1f}.course-window:before{content:"";background:var(--sage);filter:blur(1px);border-radius:50%;width:220px;height:220px;position:absolute;top:82px;right:-80px}.window-topbar{z-index:1;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:74px;padding:0 24px;display:flex;position:relative}.window-brand{align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.window-logo{border-radius:7px 7px 7px 2px;width:26px;height:26px;font-size:13px}.progress-label{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.course-content{z-index:1;padding:46px 42px 54px;position:relative}.course-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.lesson-label{color:var(--accent-deep);margin:50px 0 9px;font-size:13px;font-weight:800}.course-content h2{letter-spacing:-.035em;max-width:410px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:34px;font-weight:600;line-height:1.06}.lesson-copy{max-width:420px;color:var(--muted);margin:18px 0 31px;font-size:15px;line-height:1.6}.lesson-checklist{gap:13px;display:grid}.lesson-checklist>div{color:#455149;align-items:center;gap:10px;font-size:13px;font-weight:650;display:flex}.lesson-checklist svg{color:var(--accent)}.lesson-checklist .current-step{color:var(--ink)}.step-dot{border:5px solid var(--sage);background:var(--accent);border-radius:50%;width:18px;height:18px}.progress-track{background:#e9ede9;height:5px}.progress-track span{background:var(--accent);width:33.333%;height:100%;display:block}.learning-path{background:var(--ink);color:#fff;padding:110px max(24px,50% - 592px) 116px}.section-heading{max-width:690px}.learning-path .eyebrow{color:#9fd9b8}.learning-path h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(42px,5vw,64px);font-weight:600;line-height:1}.path-grid{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:76px;display:grid}.path-step{border-top:1px solid #ffffff38;padding-top:22px}.step-number{color:#9fd9b8;letter-spacing:.1em;font-size:12px;font-weight:800}.path-step h3{margin:28px 0 12px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:29px;font-weight:600;line-height:1.1}.path-step p{color:#b8c2bd;max-width:31ch;margin:0;font-size:15px;line-height:1.65}.about-hero{grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);align-items:center;gap:96px;width:min(1184px,100% - 48px);margin:0 auto;padding:104px 0 120px;display:grid}.about-hero-copy{max-width:700px}.about-lede{max-width:620px;color:var(--muted);margin:32px 0;font-size:19px;line-height:1.62}.about-loop{background:var(--surface);border:1px solid #17231e29;border-radius:19px;overflow:hidden;box-shadow:0 28px 58px #17231e1a}.about-loop-label{color:var(--muted);border-bottom:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;margin:0;padding:22px 28px;font-size:12px;font-weight:800}.about-loop ol{margin:0;padding:10px 28px 14px;list-style:none}.about-loop li{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;gap:14px;padding:24px 0;display:grid}.about-loop li:last-child{border-bottom:0}.about-loop-number{color:var(--accent);letter-spacing:.08em;padding-top:5px;font-size:11px;font-weight:800}.about-loop h2{letter-spacing:-.025em;margin:0 0 8px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600;line-height:1.08}.about-loop li p{max-width:38ch;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.about-story{color:#fff;background:var(--ink);grid-template-columns:minmax(0,.86fr) minmax(420px,.74fr);gap:112px;padding:112px max(24px,50% - 592px) 120px;display:grid}.about-story .eyebrow{color:#9fd9b8}.about-story h2,.about-standard h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(42px,5vw,64px);font-weight:600;line-height:1}.about-story-copy{align-self:end}.about-story-copy p{color:#c7d0cb;max-width:55ch;margin:0;font-size:17px;line-height:1.7}.about-story-copy p+p{color:#fff;margin-top:24px}.about-standard{grid-template-columns:minmax(0,1fr) minmax(360px,.64fr);align-items:end;gap:96px;padding:104px max(24px,50% - 592px) 112px;display:grid}.about-standard-details{max-width:46ch;color:var(--muted);margin:0 0 5px;font-size:17px;line-height:1.7}.about-standard-label,.about-standard-planned span{color:var(--accent-deep);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.about-standard-label{margin:0 0 14px}.about-standard-list{gap:11px;margin:0;padding:0;list-style:none;display:grid}.about-standard-list li{padding-left:20px;position:relative}.about-standard-list li:before{background:var(--accent);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:0}.about-standard-planned{border-top:1px solid var(--line);margin:28px 0 0;padding-top:22px}.about-standard-planned span{margin-right:10px}.course-overview-hero{grid-template-columns:minmax(0,.94fr) minmax(430px,.76fr);align-items:center;gap:88px;width:min(1184px,100% - 48px);margin:0 auto;padding:96px 0 88px;display:grid}.course-overview-copy{max-width:680px}.course-overview-copy h1{font-size:clamp(56px,6.4vw,84px)}.course-overview-lede{max-width:590px;color:var(--muted);margin:32px 0;font-size:19px;line-height:1.62}.course-overview-note{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.5}.course-build-preview{background:var(--surface);border:1px solid #17231e2b;border-radius:19px 19px 7px;margin:0;overflow:hidden;transform:rotate(1deg);box-shadow:0 30px 60px #17231e1f}.course-build-preview figcaption{min-height:66px;color:var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:0 22px;font-size:12px;font-weight:750;display:flex}.preview-saved{color:var(--accent-deep);align-items:center;gap:7px;display:inline-flex}.preview-saved>span{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--sage);border-radius:50%}.course-build-stage{background:#e9eee8;grid-template-columns:.86fr 1.14fr;gap:14px;padding:26px;display:grid}.course-code-panel{color:#b8e2c8;background:#111b17;border-radius:10px;flex-direction:column;gap:12px;min-height:360px;padding:28px 22px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.course-code-panel .code-indent{padding-left:12px}.course-code-panel .code-indent-two{color:#f1f5f1;padding-left:24px}.course-page-panel{min-height:360px;color:var(--ink);background:#fbfcf8;border:1px solid #d9ded9;border-radius:10px;flex-direction:column;padding:38px 28px 28px;display:flex}.page-kicker{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.course-page-panel>strong{letter-spacing:-.035em;margin-top:36px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:28px;font-weight:600;line-height:1.02}.page-rule{background:var(--accent);width:42px;height:2px;margin-top:20px}.course-page-panel>p{color:var(--muted);margin:17px 0 0;font-size:12px;line-height:1.62}.page-check{color:var(--accent-deep);border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:auto;padding-top:24px;font-size:10px;font-weight:750;display:flex}.page-check svg{flex:none}.course-proof-strip{color:#fff;background:var(--ink);grid-template-columns:repeat(3,1fr);gap:48px;padding:34px max(24px,50% - 592px);display:grid}.course-proof-strip>div{border-left:1px solid #9fd9b885;gap:7px;padding-left:22px;display:grid}.course-proof-strip strong{letter-spacing:-.02em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:27px;font-weight:600}.course-proof-strip span{color:#b8c2bd;font-size:12px}.course-journey{grid-template-columns:minmax(0,.76fr) minmax(480px,.94fr);gap:112px;padding:112px max(24px,50% - 592px) 120px;display:grid}.course-journey-heading{align-self:start;position:sticky;top:48px}.course-journey-heading h2{letter-spacing:-.045em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(42px,5vw,64px);font-weight:600;line-height:1}.course-journey-heading>p:last-child{max-width:42ch;color:var(--muted);margin:25px 0 0;font-size:16px;line-height:1.7}.course-journey-steps{margin:0;padding:0;list-style:none}.course-journey-steps li{border-top:1px solid #17231e2e;grid-template-columns:54px minmax(0,1fr);gap:22px;padding:34px 0 40px;display:grid}.course-step-number{color:var(--accent);letter-spacing:.1em;padding-top:4px;font-size:12px;font-weight:800}.course-journey-steps li p{color:var(--accent-deep);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.course-journey-steps h3{letter-spacing:-.028em;max-width:18ch;margin:0 0 14px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:30px;font-weight:600;line-height:1.08}.course-journey-steps li div>span{max-width:52ch;color:var(--muted);font-size:14px;line-height:1.65;display:block}.course-step-link{width:fit-content;min-height:44px;color:var(--accent-deep);text-underline-offset:5px;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:750;text-decoration-line:underline;text-decoration-color:#28765257;text-decoration-thickness:1px;transition:color .16s ease-out,text-decoration-color .16s ease-out;display:inline-flex}.course-step-link svg{width:16px;height:16px;transition:transform .16s ease-out}.course-step-link:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.course-step-link:hover svg{transform:translate(3px)}.course-step-link:focus-visible{outline-offset:4px;border-radius:4px;outline:3px solid #28765247}@media (prefers-reduced-motion:reduce){.course-step-link svg{transition:none}}.submission-history-shell,.submission-snapshot-shell{width:min(1120px,100% - 48px);min-height:calc(100vh - 161px);margin:0 auto;padding:72px 0 112px}.submission-history-layout,.submission-snapshot-layout{gap:28px;display:grid}.submission-history-heading,.submission-snapshot-heading{border-bottom:1px solid #17231e29;grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:72px;padding-bottom:42px;display:grid}.submission-history-heading h1,.submission-snapshot-heading h1{max-width:820px;margin:24px 0 0;font-size:clamp(52px,6.4vw,78px)}.submission-history-heading>div>p:last-child,.submission-snapshot-heading>div>p:last-child{max-width:62ch;color:var(--muted);margin:25px 0 0;font-size:17px;line-height:1.62}.submission-history-privacy{border-left:1px solid #b8c7bc;grid-template-columns:10px 1fr;gap:13px;padding:18px 0 2px 22px;display:grid}.submission-history-privacy>span,.submission-snapshot-boundary>div>span{color:var(--accent);margin-top:5px;font-size:11px}.submission-history-privacy p,.submission-snapshot-boundary p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.submission-history-privacy strong,.submission-snapshot-boundary strong{color:var(--ink);font-size:13px;display:block}.submission-history-summary{color:#fff;background:radial-gradient(circle at 12% 20%, #66dc9d24 0 52px, transparent 53px), var(--ink);border-radius:16px 16px 6px;grid-template-columns:175px minmax(0,1fr) auto;align-items:center;gap:32px;min-height:126px;padding:26px 30px;display:grid}.submission-history-summary>div{align-items:baseline;gap:13px;display:flex}.submission-history-summary>div strong{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:51px;font-weight:600;line-height:.9}.submission-history-summary>div span{color:#a9dbba;letter-spacing:.07em;text-transform:uppercase;max-width:54px;font-size:10px;font-weight:800;line-height:1.35}.submission-history-summary>p{color:#becdc4;max-width:62ch;margin:0;font-size:12px;line-height:1.6}.submission-history-primary{min-height:46px;color:var(--ink);background:#fff;border:1px solid #fff;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:0 17px;font-size:12px;font-weight:800;text-decoration:none;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.submission-history-primary:hover{background:#eff7f1;transform:translateY(-1px)}.submission-history-primary:focus-visible{outline-offset:4px;outline:3px solid #66dc9d8a}.submission-history-record{background:#ffffffad;border:1px solid #17231e24;border-radius:15px;padding:38px 40px}.submission-history-record-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.submission-history-record-heading .course-kicker{margin:0 0 7px}.submission-history-record-heading h2{letter-spacing:-.03em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:31px;font-weight:600;line-height:1.05}.submission-history-record-heading>span{color:var(--muted);font-size:11px}.submission-history-record ol{border-top:1px solid var(--line);margin:28px 0 0;padding:0;list-style:none}.submission-history-record li{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(220px,1fr) 112px 90px 82px;align-items:center;gap:16px;min-height:86px;display:grid}.submission-history-number{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.submission-history-problem{gap:5px;display:grid}.submission-history-problem>a{width:fit-content;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;font-weight:600;text-decoration:none}.submission-history-problem>a:hover,.submission-history-open:hover,.submission-snapshot-back:hover{color:var(--accent)}.submission-history-problem>a:focus-visible,.submission-history-open:focus-visible,.submission-snapshot-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.submission-history-problem time,.submission-history-verdict span{color:var(--muted);font-size:10px}.submission-history-verdict{gap:5px;display:grid}.submission-history-verdict strong,.submission-snapshot-result strong{color:#8e3c35;font-size:11px}.submission-history-verdict strong.is-accepted,.submission-snapshot-result strong.is-accepted{color:var(--accent-deep)}.submission-history-source-state{width:fit-content;color:var(--accent-deep);letter-spacing:.04em;text-transform:uppercase;background:#eff5ef;border:1px solid #b8caba;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:800}.submission-history-open,.submission-snapshot-back{color:var(--accent-deep);font-size:11px;font-weight:800;text-decoration:none}.submission-history-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr);align-items:center;gap:24px;min-height:190px;margin-top:28px;padding:32px;display:grid}.submission-history-empty>span{color:#91a198;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:42px;font-style:italic}.submission-history-empty h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:23px;font-weight:600}.submission-history-empty p{max-width:54ch;color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.65}.submission-snapshot-back{align-items:center;gap:8px;width:fit-content;display:inline-flex}.submission-snapshot-heading{grid-template-columns:minmax(0,1fr) 245px;align-items:center;padding-top:18px}.submission-snapshot-result{color:#fff;background:var(--ink);border-radius:14px 14px 5px;padding:26px 28px}.submission-snapshot-result>span{color:#a9dbba;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.submission-snapshot-result strong{color:#f4b7ae;margin-top:20px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:29px;font-weight:600;display:block}.submission-snapshot-result strong.is-accepted{color:#9fe2bd}.submission-snapshot-result p{color:#b9c4be;margin:7px 0 0;font-size:11px}.submission-attempt-navigation{background:#ffffffad;border:1px solid #17231e24;border-radius:15px;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:30px;padding:26px 28px 28px;display:grid}.submission-attempt-navigation-heading p{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:9px;font-weight:800}.submission-attempt-navigation-heading h2{letter-spacing:-.02em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:23px;font-weight:600;line-height:1.12}.submission-attempt-navigation-links{border:1px solid var(--line);background:#f3f5f1;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.submission-attempt-navigation-links>*{min-height:88px;color:var(--ink);flex-direction:column;justify-content:center;padding:16px 18px;text-decoration:none;display:flex}.submission-attempt-navigation-links>*+*{border-left:1px solid var(--line)}.submission-attempt-navigation-links a{transition:background-color .16s ease-out}.submission-attempt-navigation-links a:hover{background:#fff}.submission-attempt-navigation-links a:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;position:relative}.submission-attempt-navigation-links span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.submission-attempt-navigation-links strong{color:var(--ink);margin-top:8px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:17px;font-weight:600}.submission-attempt-navigation-links small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.submission-attempt-navigation-links .is-selected{color:#fff;background:var(--ink)}.submission-attempt-navigation-links .is-selected span,.submission-attempt-navigation-links .is-selected small{color:#a9dbba}.submission-attempt-navigation-links .is-selected strong{color:#fff}.submission-attempt-navigation-links .is-unavailable{opacity:.54}.submission-comparison{background:#17231e;border:1px solid #17231e24;border-radius:16px 16px 6px;overflow:hidden;box-shadow:0 24px 52px #17231e14}.submission-comparison-heading{border-bottom:1px solid #ffffff1f;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;padding:28px 32px;display:grid}.submission-comparison-heading>div:first-child>p:first-child{color:#9fe2bd;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}.submission-comparison-heading h2{color:#fff;letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:31px;font-weight:600}.submission-comparison-heading>div:first-child>p:last-child{color:#b9c4be;max-width:66ch;margin:10px 0 0;font-size:12px;line-height:1.6}.submission-comparison-score{border-left:1px solid #9fe2bd59;min-width:164px;padding-left:22px}.submission-comparison-score>span{color:#9fe2bd;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.submission-comparison-score strong{color:#fff;font-variant-numeric:tabular-nums;margin-top:8px;font-family:SFMono-Regular,Consolas,monospace;font-size:17px;display:block}.submission-comparison-score p{color:#9daea4;margin:7px 0 0;font-size:10px}.submission-comparison-table-wrap{max-height:430px;overflow:auto}.submission-comparison-table-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}.submission-comparison table{border-collapse:collapse;table-layout:fixed;color:#e9f2ec;width:100%;min-width:720px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.submission-comparison th{color:#9daea4;letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#1c2b24;border-bottom:1px solid #ffffff1a;padding:12px 18px;font-size:9px}.submission-comparison th+th,.submission-comparison td+td{border-left:1px solid #ffffff1a}.submission-comparison td{vertical-align:top;height:31px;padding:0}.submission-comparison td>span{color:#718078;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff14;width:38px;min-height:31px;padding:7px 8px 6px 0;font-size:9px;display:inline-block}.submission-comparison td code{white-space:pre;padding:7px 12px 6px;display:inline-block}.submission-comparison tr.is-removed td:first-child{background:#b0493e33}.submission-comparison tr.is-removed td:first-child code:before{content:"− ";color:#f4b7ae}.submission-comparison tr.is-added td:last-child{background:#66dc9d24}.submission-comparison tr.is-added td:last-child code:before{content:"+ ";color:#9fe2bd}.submission-snapshot-code{background:var(--surface);border:1px solid #17231e24;border-radius:16px 16px 6px;overflow:hidden;box-shadow:0 24px 52px #17231e14}.submission-snapshot-code-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;padding:27px 32px;display:flex}.submission-snapshot-code-heading p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}.submission-snapshot-code-heading h2{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:29px;font-weight:600}.submission-snapshot-code-heading>span{color:var(--accent-deep);letter-spacing:.07em;text-transform:uppercase;background:#edf4ee;border:1px solid #a9c2b1;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}.submission-snapshot-code pre{color:#e9f2ec;tab-size:2;background:#17231e;min-height:320px;margin:0;padding:35px 38px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.75;overflow:auto}.submission-snapshot-code pre:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}.submission-source-reuse{color:#dce8df;background:#17231e;border-top:1px solid #ffffff1c;padding:0 32px}.submission-source-reuse summary{color:#c7d6cd;cursor:pointer;text-underline-offset:4px;align-items:center;gap:9px;min-height:56px;font-size:12px;font-weight:750;-webkit-text-decoration:underline #61746a;text-decoration:underline #61746a;list-style:none;display:flex}.submission-source-reuse summary::-webkit-details-marker{display:none}.submission-source-reuse summary:before{content:"+";color:#91cca9;font-family:SFMono-Regular,Consolas,monospace;font-size:14px;text-decoration:none}.submission-source-reuse[open] summary:before{content:"−"}.submission-source-reuse summary:hover{color:#fff;text-decoration-color:#91cca9}.submission-source-reuse summary:focus-visible{outline-offset:4px;outline:3px solid #66dc9d61}.submission-source-reuse>div{justify-content:space-between;align-items:flex-end;gap:28px;padding:2px 0 24px 23px;display:flex}.submission-source-reuse strong{font-size:13px}.submission-source-reuse p{color:#9eada5;max-width:67ch;margin:7px 0 0;font-size:11px;line-height:1.55}.submission-source-reuse a{color:#d5e9dc;border:1px solid #52635a;border-radius:7px;flex:none;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.submission-source-reuse a:hover{background:#1d2b25;border-color:#91cca9}.submission-source-reuse a:focus-visible{outline-offset:3px;outline:3px solid #66dc9d61}.submission-snapshot-unavailable{background:#f0f2ed;flex-direction:column;justify-content:center;min-height:260px;padding:52px 38px;display:flex}.submission-snapshot-unavailable h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:29px;font-weight:600}.submission-snapshot-unavailable p{max-width:58ch;color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.65}.submission-snapshot-boundary{background:#ffffff94;border:1px solid #17231e24;border-radius:14px;justify-content:space-between;align-items:center;gap:32px;padding:24px 28px;display:flex}.submission-snapshot-boundary>div{grid-template-columns:10px 1fr;gap:13px;display:grid}.submission-snapshot-boundary .submission-history-primary{color:#fff;border-color:var(--ink);background:var(--ink);flex:none}.submission-snapshot-boundary .submission-history-primary:hover{background:var(--accent-deep)}@media (max-width:900px){.submission-history-heading,.submission-snapshot-heading{grid-template-columns:1fr;align-items:start;gap:32px}.submission-history-privacy{max-width:420px}.submission-history-summary{grid-template-columns:150px minmax(0,1fr)}.submission-history-summary .submission-history-primary{grid-column:1/-1;justify-self:start}.submission-history-record li{grid-template-columns:36px minmax(180px,1fr) 112px 82px}.submission-attempt-navigation{grid-template-columns:1fr;align-items:start;gap:20px}.submission-history-source-state{display:none}}@media (max-width:560px){.submission-history-shell,.submission-snapshot-shell{width:min(100% - 32px,1120px);min-height:calc(100vh - 76px);padding:54px 0 80px}.submission-history-heading,.submission-snapshot-heading{gap:26px;padding-bottom:34px}.submission-history-heading h1,.submission-snapshot-heading h1{margin-top:20px;font-size:clamp(44px,13vw,60px)}.submission-history-heading>div>p:last-child,.submission-snapshot-heading>div>p:last-child{font-size:15px}.submission-history-summary{grid-template-columns:1fr;gap:20px;padding:28px 24px}.submission-history-summary .submission-history-primary{width:100%}.submission-history-record{padding:30px 22px}.submission-attempt-navigation{padding:24px 22px}.submission-attempt-navigation-links{grid-template-columns:1fr}.submission-attempt-navigation-links>*+*{border-top:1px solid var(--line);border-left:0}.submission-history-record-heading{flex-direction:column;align-items:flex-start;gap:12px}.submission-history-record li{grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:11px;padding:18px 0}.submission-history-verdict{grid-column:2}.submission-history-open{grid-area:1/3/span 2;align-self:center}.submission-history-empty{padding-inline:4px}.submission-snapshot-code-heading{flex-direction:column;align-items:flex-start;gap:16px;padding:24px 22px}.submission-comparison-heading{grid-template-columns:1fr;align-items:start;gap:20px;padding:24px 22px}.submission-comparison-score{border-left:0;padding:0}.submission-snapshot-code pre{min-height:280px;padding:28px 22px;font-size:12px}.submission-source-reuse{padding-inline:22px}.submission-source-reuse>div{flex-direction:column;align-items:stretch;gap:18px;padding-left:0}.submission-source-reuse a{width:100%}.submission-snapshot-unavailable{padding:42px 24px}.submission-snapshot-boundary{flex-direction:column;align-items:stretch;padding:24px}.submission-snapshot-boundary .submission-history-primary{width:100%}}.account-shell{grid-template-columns:minmax(0,.92fr) minmax(380px,.68fr);align-items:center;gap:104px;width:min(1080px,100% - 48px);margin:0 auto;padding:88px 0 112px;display:grid}.account-intro{max-width:620px}.account-intro h1{font-size:clamp(52px,6vw,78px)}.account-intro>p:not(.eyebrow){max-width:540px;color:var(--muted);margin:28px 0;font-size:18px;line-height:1.65}.account-intro ul{color:#455149;gap:11px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.account-intro li{align-items:center;gap:10px;display:flex}.account-intro li:before{background:var(--accent);content:"";border-radius:50%;flex:none;width:8px;height:8px}.account-card{background:var(--surface);border:1px solid #17231e2b;border-radius:18px;overflow:hidden;box-shadow:0 26px 60px #17231e1c}.account-card-loading{background:linear-gradient(100deg,#f6f7f2b3 20%,#ffffffe6 40%,#f6f7f2b3 60%) 0 0/200% 100%;min-height:510px;animation:1.5s linear infinite loading-sheen}.account-tabs{border-bottom:1px solid var(--line);background:#f0f3ee;grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.account-tab{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:13px;font-weight:750}.account-tab[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 2px 10px #17231e14}.account-tab:focus-visible{outline-offset:1px;outline:3px solid #2876524d}.account-form{gap:20px;padding:34px 34px 18px;display:grid}.account-form label{color:var(--ink);gap:8px;font-size:13px;font-weight:750;display:grid}.account-form input{width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fbfcf9;border:1px solid #cbd3cc;border-radius:8px;padding:0 13px;font-size:16px;transition:border-color .14s ease-out,box-shadow .14s ease-out}.account-form input:hover{border-color:#9baa9f}.account-form input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #28765226}.account-form small{color:var(--muted);font-size:12px;font-weight:500}.form-message{min-height:20px}.form-error{color:#9c2f29;margin:0;font-size:13px;line-height:1.45}.account-submit{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:50px;font:inherit;cursor:pointer;border-radius:9px;padding:0 20px;font-size:14px;font-weight:750;box-shadow:0 9px 22px #1754372b}.account-submit:hover:not(:disabled){background:#0f432b}.account-submit:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.account-submit:disabled{opacity:.62;cursor:wait}.account-free-access{color:#455149;text-align:center;margin:-4px 0 0;font-size:12px;font-weight:650;line-height:1.5}.account-privacy{color:var(--muted);text-align:center;margin:0;padding:0 34px 30px;font-size:12px;line-height:1.5}.dashboard-shell{width:min(1080px,100% - 48px);min-height:calc(100vh - 161px);margin:0 auto;padding:72px 0 112px}.dashboard-heading{justify-content:space-between;align-items:flex-end;gap:48px;display:flex}.dashboard-heading h1{font-size:clamp(52px,6.2vw,76px)}.dashboard-heading>div>p:last-child{color:var(--muted);margin:22px 0 0;font-size:17px}.dashboard-learning-path{background:var(--surface);border:1px solid #17231e29;border-radius:19px;margin-top:64px;overflow:hidden;box-shadow:0 25px 55px #17231e1a}.dashboard-learning-path-heading{grid-template-columns:minmax(0,1fr) 180px;align-items:end;gap:56px;padding:42px 46px 38px;display:grid}.dashboard-learning-path-heading .course-kicker{margin:0 0 11px}.dashboard-learning-path-heading h2{letter-spacing:-.045em;text-wrap:balance;max-width:700px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(38px,4.5vw,56px);font-weight:600;line-height:1}.dashboard-learning-path-heading>div:first-child>p:last-child{max-width:62ch;color:var(--muted);text-wrap:pretty;margin:18px 0 0;font-size:15px;line-height:1.65}.dashboard-path-summary{color:#fff;background:var(--ink);border-radius:12px;align-content:center;min-height:132px;padding:20px 22px;display:grid}.dashboard-path-summary>span{color:#9baba2;font-size:11px;font-weight:750}.dashboard-path-summary strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:3px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:38px;font-weight:600;line-height:1}.dashboard-path-summary a{color:#b9d8c5;width:fit-content;margin-top:15px;font-size:11px;font-weight:750;text-decoration:none}.dashboard-path-summary a:hover{color:#fff}.dashboard-path-summary a:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #9fd9b880}.dashboard-milestone-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.dashboard-milestone{color:#738078;background:#fafbf8;grid-template-columns:42px minmax(0,1fr) minmax(190px,auto);align-items:center;gap:24px;min-height:132px;padding:26px 46px;display:grid}.dashboard-milestone+.dashboard-milestone{border-top:1px solid var(--line)}.dashboard-milestone.is-current{color:var(--ink);background:#eff7f1}.dashboard-milestone.is-complete{color:var(--ink);background:var(--surface)}.dashboard-milestone-marker{color:#7e8a83;background:var(--surface);font-variant-numeric:tabular-nums;border:1px solid #cbd3cc;border-radius:50%;place-items:center;width:38px;height:38px;font-size:11px;font-weight:850;display:inline-grid}.dashboard-milestone.is-current .dashboard-milestone-marker{color:#fff;border-color:var(--accent);background:var(--accent)}.dashboard-milestone.is-complete .dashboard-milestone-marker{color:var(--accent-deep);background:#e5f1e7;border-color:#bcd5c3;font-size:16px}.dashboard-milestone-copy>span{color:inherit;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.dashboard-milestone-copy h3{color:inherit;letter-spacing:-.025em;text-wrap:balance;margin:5px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:23px;font-weight:600;line-height:1.15}.dashboard-milestone-copy p{max-width:60ch;color:inherit;text-wrap:pretty;margin:8px 0 0;font-size:12px;line-height:1.55}.dashboard-path-action{color:#fff;background:var(--accent-deep);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 17px;font-size:13px;font-weight:800;text-decoration:none;transition:background-color .16s ease-out,transform .16s ease-out;display:inline-flex;box-shadow:0 10px 22px #1754372b}.dashboard-path-action:hover{background:#0f432b;transform:translateY(-1px)}.dashboard-path-action:active{transform:translateY(0)}.dashboard-path-action:focus-visible{outline-offset:3px;outline:3px solid #28765252}.sign-out-control{align-items:center;gap:12px;min-height:44px;display:flex}.sign-out-control button{min-height:42px;color:var(--muted);font:inherit;cursor:pointer;background:#ffffff94;border:1px solid #17231e33;border-radius:8px;padding:0 15px;font-size:13px;font-weight:700}.sign-out-control button:hover:not(:disabled){color:var(--ink);border-color:var(--accent)}.sign-out-control button:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.sign-out-error{color:#9c2f29;font-size:12px}.dashboard-course{background:var(--surface);border:1px solid #17231e29;border-radius:19px;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);margin-top:64px;display:grid;overflow:hidden;box-shadow:0 25px 55px #17231e1a}.dashboard-course-copy{padding:48px}.course-status{color:var(--accent-deep);letter-spacing:.04em;text-transform:uppercase;background:#eef6ed;border:1px solid #c6ddcb;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.course-kicker{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:42px 0 9px;font-size:12px;font-weight:800}.dashboard-course h2{letter-spacing:-.04em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(38px,4vw,54px);font-weight:600;line-height:1}.dashboard-course-copy>p:last-child{max-width:55ch;color:var(--muted);margin:20px 0 0;font-size:16px;line-height:1.65}.course-next-step{color:#fff;background:var(--ink);flex-direction:column;justify-content:flex-end;padding:44px 36px;display:flex}.course-next-step>span{color:#9fd9b8;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.course-next-step strong{margin-top:13px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:27px;font-weight:600}.course-next-step p{color:#b8c2bd;margin:13px 0 0;font-size:13px;line-height:1.6}.dashboard-note{color:var(--muted);margin:20px 4px 0;font-size:12px}.dashboard-note strong{color:var(--ink);font-weight:650}.course-status-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.course-progress-value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.course-progress-track{background:#e7ebe5;border-radius:99px;height:7px;margin-top:34px;overflow:hidden}.course-progress-track span{border-radius:inherit;background:var(--accent);min-width:6px;height:100%;transition:width .18s ease-out;display:block}.dashboard-progress-action{min-height:44px;color:var(--accent-deep);text-underline-offset:4px;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:750;text-decoration-line:underline;text-decoration-color:#2876525c;text-decoration-thickness:1px;display:inline-flex}.dashboard-progress-action:hover{color:#0f432b;text-decoration-color:currentColor}.dashboard-progress-action:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #2876524d}.dashboard-project-ready{border-top:1px solid #d6ddd5;gap:5px;max-width:34rem;margin-top:18px;padding-top:16px;display:grid}.dashboard-project-ready>span{color:var(--accent-deep);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.dashboard-project-ready p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.dashboard-project-ready a{width:fit-content;min-height:44px;color:var(--accent-deep);align-items:center;gap:9px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-project-ready a:hover{color:#0f432b}.dashboard-project-ready a:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #2876524d}.course-lesson-action,.lesson-primary-action{min-height:50px;color:var(--ink);background:#fff;border:1px solid #fff;border-radius:9px;justify-content:space-between;align-items:center;gap:28px;margin-top:26px;padding:0 18px;font-size:13px;font-weight:800;text-decoration:none;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.course-lesson-action:hover,.lesson-primary-action:hover:not(:disabled){background:#eff7f1;transform:translateY(-1px)}.course-lesson-action:active,.lesson-primary-action:active:not(:disabled){transform:translateY(1px)}.course-lesson-action:focus-visible,.lesson-primary-action:focus-visible{outline-offset:3px;outline:3px solid #66dc9d7a}.lesson-page{overflow:visible}.lesson-shell{grid-template-columns:240px minmax(0,760px);justify-content:space-between;gap:64px;width:min(1184px,100% - 48px);margin:0 auto;padding:48px 0 112px;display:grid}.lesson-rail{align-self:start;padding:8px 0 32px;position:sticky;top:32px}.lesson-back-link{min-height:44px;color:var(--muted);align-items:center;gap:10px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.lesson-back-link:hover{color:var(--ink)}.lesson-back-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-rail>p{color:var(--ink);margin:32px 0 18px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600;line-height:1.2}.lesson-rail-progress{border-bottom:1px solid var(--line);grid-template-columns:4px 1fr;gap:14px;padding-bottom:24px;display:grid}.lesson-rail-progress>span{background:#dce2dc;border-radius:99px}.lesson-rail-progress>span.is-complete{background:var(--accent)}.lesson-rail-progress div,.lesson-rail li div{gap:5px;display:grid}.lesson-rail strong{font-size:12px;line-height:1.45}.lesson-rail small{color:var(--muted);font-size:11px}.lesson-rail ol{margin:22px 0 0;padding:0;list-style:none}.lesson-rail li{grid-template-columns:28px 1fr;gap:12px;display:grid}.lesson-rail li+li{margin-top:18px}.lesson-rail li>span{color:#fff;background:var(--accent-deep);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.lesson-rail li a{color:inherit;text-decoration:none}.lesson-rail li a:hover{color:var(--accent)}.lesson-rail li a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-content{min-width:0}.lesson-hero{color:#fff;background:radial-gradient(circle at 88% 18%, #66dc9d2e 0 78px, transparent 79px), var(--ink);border-radius:20px 20px 8px;padding:64px;box-shadow:0 26px 55px #17231e21}.lesson-meta{color:#9fd9b8;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:24px;font-size:11px;font-weight:800;display:flex}.lesson-hero h1{max-width:650px;margin-top:56px;font-size:clamp(52px,6vw,76px);line-height:.98}.lesson-hero>p{color:#c4cec9;max-width:56ch;margin:26px 0 0;font-size:17px;line-height:1.65}.lesson-start-link{color:#fff;text-underline-offset:6px;align-items:center;gap:12px;min-height:44px;margin-top:38px;font-size:13px;font-weight:800;display:inline-flex}.lesson-start-link:focus-visible{outline-offset:4px;outline:3px solid #66dc9d7a}.lesson-reading-progress{color:#e8f2ec;background:#ffffff0e;border:1px solid #9fd9b847;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 22px;width:min(100%,650px);margin-top:34px;padding:18px 20px;display:grid}.lesson-reading-kicker,.lesson-reading-status{margin:0}.lesson-reading-kicker{color:#9fd9b8;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.lesson-reading-status{color:#c4cec9;margin-top:5px;font-size:12px;line-height:1.45}.lesson-reading-progress ol{gap:7px;margin:0;padding:0;list-style:none;display:flex}.lesson-reading-progress li span:first-child{color:#9ba9a1;border:1px solid #c4cec94d;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;font-weight:800;display:grid}.lesson-reading-progress li.is-reached span:first-child{color:#17231e;background:#66dc9d;border-color:#66dc9d}.lesson-reading-progress a,.lesson-reading-progress button{color:#fff;min-height:36px;font:inherit;text-underline-offset:5px;grid-column:1/-1;justify-self:start;font-size:12px;font-weight:800}.lesson-reading-progress button{cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.lesson-reading-progress a:focus-visible,.lesson-reading-progress button:focus-visible{outline-offset:4px;outline:3px solid #66dc9d7a}.lesson-section{border-bottom:1px solid #17231e24;grid-template-columns:46px minmax(0,1fr);gap:34px;padding:80px 8px;display:grid}.lesson-section-number{color:var(--accent);letter-spacing:.12em;margin:8px 0 0;font-size:12px;font-weight:800}.lesson-section h2,.lesson-quiz h2,.quiz-complete h2{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,4vw,48px);font-weight:600;line-height:1.06}.lesson-section>div>p{color:#455149;max-width:64ch;margin:24px 0 0;font-size:16px;line-height:1.75}.lesson-section code,.lesson-note code{color:#174c34;background:#e8f0e8;border-radius:4px;padding:.1em .32em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.lesson-section pre{color:#dce8df;tab-size:2;background:#111b17;border-radius:13px;margin:34px 0 0;padding:28px 30px;font-size:13px;line-height:1.72;overflow-x:auto;box-shadow:0 16px 34px #17231e1f}.lesson-section pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.lesson-note,.lesson-practice{background:#edf4ec;border:1px solid #cddfce;border-radius:12px;margin-top:32px;padding:24px 26px}.lesson-note strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;font-weight:600}.lesson-note p,.lesson-practice p{color:#455149;margin:8px 0 0;font-size:14px;line-height:1.65}.semantic-map{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;margin-top:34px;padding:18px;display:grid}.semantic-map>div,.semantic-map-main>div{background:#f7f8f5;border:1px solid #d7ded7;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:17px 20px;display:flex}.semantic-map-main{background:#edf4ec!important;justify-content:stretch!important;gap:12px!important;display:grid!important}.semantic-map-main>div{background:#fff;width:100%}.semantic-map span{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:700}.semantic-map small{color:var(--muted);font-size:12px}.selector-trace{color:var(--accent-deep);background:#edf4ec;border:1px solid #cddfce;border-radius:12px;grid-template-columns:auto auto 1fr;align-items:center;gap:18px;margin-top:30px;padding:18px 20px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700;display:grid}.selector-trace span:nth-child(2){color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:inherit;font-size:10px}.box-model-diagram{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-top:34px;padding:22px}.box-model-diagram span{letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800;display:block}.box-model-margin,.box-model-border,.box-model-padding,.box-model-content{border-radius:9px;padding:18px}.box-model-margin{color:#625130;background:#eee4ca}.box-model-border{color:#253f31;background:#8fb99d}.box-model-padding{color:#23412f;background:#d9eadb}.box-model-content{color:#fff;background:var(--ink);text-align:center;font-size:13px;font-weight:750}.css-practice-workspace .workspace-editor textarea,.css-practice-workspace .workspace-preview iframe{min-height:380px}.lesson-practice{color:#fff;border-color:var(--ink);background:var(--ink)}.lesson-practice .quiz-kicker{color:#9fd9b8}.lesson-practice h3{margin:12px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:27px;font-weight:600}.lesson-practice p:last-child{color:#bdc8c2;max-width:58ch}.semantic-tutor{background:radial-gradient(circle at 92% 12%,#66dc9d21 0 78px,#0000 79px),#fff;border:1px solid #17231e24;border-radius:16px;margin-top:72px;padding:40px;box-shadow:0 18px 44px #17231e14}.semantic-tutor-heading{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.semantic-tutor-heading>div{max-width:570px}.semantic-tutor-heading .quiz-kicker{margin:0 0 12px}.semantic-tutor-heading h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(32px,4vw,44px);font-weight:600;line-height:1.06}.semantic-tutor-heading>div>p:last-child{color:#526058;text-wrap:pretty;max-width:58ch;margin:17px 0 0;font-size:14px;line-height:1.65}.semantic-tutor-heading>span{color:#245f43;background:#edf4ec;border:1px solid #c4dcca;border-radius:999px;flex:none;align-items:center;min-height:32px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex}.semantic-tutor-form{margin-top:32px}.semantic-tutor-form>label{color:var(--ink);font-size:12px;font-weight:800;display:block}.semantic-tutor-field{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:9px;display:grid}.semantic-tutor-field input{min-width:0;min-height:52px;color:var(--ink);font:inherit;background:#fbfcf9;border:1px solid #b9c5bc;border-radius:9px;padding:0 16px;font-size:14px}.semantic-tutor-field input::placeholder{color:#738078}.semantic-tutor-field input:hover{border-color:#7f9185}.semantic-tutor-field input:focus{border-color:var(--accent);outline-offset:1px;outline:3px solid #28765229}.semantic-tutor-field>button{color:#fff;border:1px solid var(--ink);background:var(--ink);min-height:52px;font:inherit;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:28px;padding:0 18px;font-size:13px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.semantic-tutor-field>button:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px)}.semantic-tutor-field>button:active:not(:disabled){transform:translateY(1px)}.semantic-tutor-field>button:focus-visible,.semantic-tutor-suggestions button:focus-visible{outline-offset:3px;outline:3px solid #28765247}.semantic-tutor-field>button:disabled{color:#8b9690;cursor:not-allowed;background:#e9ede9;border-color:#d8ded9}.semantic-tutor-suggestions{gap:9px;margin-top:18px;display:grid}.semantic-tutor-suggestions>span{color:var(--muted);font-size:11px;font-weight:700}.semantic-tutor-suggestions>div{flex-wrap:wrap;gap:8px;display:flex}.semantic-tutor-suggestions button{color:#385247;min-height:38px;font:inherit;cursor:pointer;background:0 0;border:1px solid #d3ddd5;border-radius:999px;padding:0 12px;font-size:11px;font-weight:700;transition:color .16s ease-out,border-color .16s ease-out,background-color .16s ease-out}.semantic-tutor-suggestions button:hover{color:var(--ink);background:#f1f6f0;border-color:#9db4a5}.semantic-tutor-response{background:#edf4ec;border:1px solid #c9daca;border-radius:11px;min-height:128px;margin-top:28px;padding:24px 26px}.semantic-tutor-response.is-empty{background:#f7f8f5;border-color:#d9ded8}.semantic-tutor-response.is-unsupported,.semantic-tutor-response.is-unsafe{background:#f8f2e8;border-color:#e0d1b8}.semantic-tutor-response-label{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.semantic-tutor-response.is-unsupported .semantic-tutor-response-label,.semantic-tutor-response.is-unsafe .semantic-tutor-response-label{color:#805a28}.semantic-tutor-response>p:last-child,.semantic-tutor-answer{color:#35443c;text-wrap:pretty;max-width:62ch;margin:9px 0 0;font-size:14px;line-height:1.7}.semantic-tutor-source{border-top:1px solid #28765233;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:22px;margin-top:18px;padding-top:16px;display:grid}.semantic-tutor-source>span{color:#37634d;font-size:11px;font-weight:800}.semantic-tutor-source p{color:#536259;margin:0;font-size:12px;line-height:1.6}.semantic-tutor-source strong{color:var(--ink)}.lesson-notes{background:linear-gradient(135deg, #dfeadfb3, transparent 58%), var(--surface);border:1px solid #17231e29;border-radius:20px 20px 8px;margin-top:80px;padding:44px;box-shadow:0 22px 48px #17231e17}.lesson-notes-heading{justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.lesson-notes-heading>div{max-width:590px}.lesson-notes-heading h2{color:var(--ink);letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,4vw,48px);font-weight:600;line-height:1.06}.lesson-notes-heading>div>p:last-child{max-width:57ch;color:var(--muted);margin:18px 0 0;font-size:14px;line-height:1.65}.lesson-notes-heading>span{color:var(--accent-deep);letter-spacing:.04em;text-transform:uppercase;background:#ffffffb8;border:1px solid #c6ddcb;border-radius:99px;flex:none;padding:8px 10px;font-size:10px;font-weight:800}.lesson-notes-field{margin-top:32px;display:grid}.lesson-notes-field>span{color:#34413a;margin-bottom:10px;font-size:12px;font-weight:800}.lesson-notes-field textarea{resize:vertical;width:100%;min-height:172px;color:var(--ink);font:inherit;background:linear-gradient(#fbfcf9 31px,#e4e9e3 32px) 0 0/100% 32px;border:1px solid #bdc9bf;border-radius:12px;padding:20px;font-size:15px;line-height:32px;transition:border-color .16s ease-out,box-shadow .16s ease-out}.lesson-notes-field textarea::placeholder{color:#7d8982}.lesson-notes-field textarea:hover{border-color:#91a197}.lesson-notes-field textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #28765226}.lesson-notes-field small{color:#76837b;text-align:right;margin-top:8px;font-size:10px;line-height:1.45}.lesson-notes-field small span{font-variant-numeric:tabular-nums}.lesson-notes-save{grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-top:20px;display:grid}.lesson-notes-save button{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:46px;font:inherit;cursor:pointer;border-radius:9px;padding:0 18px;font-size:12px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out;box-shadow:0 8px 18px #17543724}.lesson-notes-save button:hover:not(:disabled){background:#0f432b;transform:translateY(-1px)}.lesson-notes-save button:active:not(:disabled){transform:translateY(1px)}.lesson-notes-save button:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.lesson-notes-save button:disabled{opacity:.58;cursor:wait}.lesson-notes-save p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.lesson-notes-save p.is-error{color:#8b2e2e}.lesson-workspace{background:#e9eee8;border:1px solid #17231e29;border-radius:20px;margin-top:80px;padding:44px;box-shadow:0 24px 54px #17231e1a}.workspace-heading{justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.workspace-heading>div:first-child{max-width:650px}.workspace-heading h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,4vw,48px);font-weight:600;line-height:1.06}.workspace-heading>div:first-child>p:not(.quiz-kicker){color:#455149;max-width:60ch;margin:18px 0 0;font-size:14px;line-height:1.65}.assignment-outcome{border-left:2px solid var(--accent);background:#f6f8f3b8;gap:4px;max-width:620px;margin-top:24px;padding:16px 18px;display:grid}.assignment-outcome span{color:#647168;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.assignment-outcome strong{color:var(--ink);font-size:13px;line-height:1.5}.workspace-score{min-width:142px;color:var(--accent-deep);text-align:right;background:#f6f8f3;border:1px solid #bfd1c1;border-radius:11px;gap:3px;padding:16px 18px;display:grid}.workspace-score.is-complete{background:#e5f1e4;border-color:#8fbd9c}.workspace-score strong{font-variant-numeric:tabular-nums;font-size:28px;line-height:1}.workspace-score span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.workspace-score small{color:#536159;font-size:10px;font-weight:700}.workspace-panels{background:#fff;border:1px solid #b9c6bc;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:500px;margin-top:34px;display:grid;overflow:hidden}.workspace-editor,.workspace-preview{grid-template-rows:auto 1fr;min-width:0;display:grid}.workspace-editor{color:#dce8df;background:#111b17;border-right:1px solid #31423a}.workspace-panel-label{color:#8da198;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #8da19833;justify-content:space-between;align-items:center;gap:16px;min-height:45px;padding:0 16px;font-size:10px;font-weight:800;display:flex}.workspace-preview .workspace-panel-label{color:#607068;background:#f7f8f5;border-bottom-color:#dce1da}.workspace-editor label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.workspace-editor textarea{resize:vertical;color:#dce8df;tab-size:2;background:#111b17;border:0;outline:0;width:100%;min-height:455px;padding:22px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.7}.workspace-editor textarea:focus-visible{box-shadow:inset 0 0 0 3px #66dc9d6b}.workspace-preview iframe,.workspace-preview-loading{background:#fff;border:0;width:100%;min-height:455px}.workspace-preview-loading{color:var(--muted);place-items:center;font-size:13px;display:grid}.workspace-review{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-top:24px;display:grid}.workspace-rubric{min-width:0}.workspace-rubric-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:12px;display:flex}.workspace-rubric-heading .quiz-kicker{margin-bottom:5px}.workspace-rubric-heading h3{color:var(--ink);margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;line-height:1.2}.workspace-rubric-heading>span{color:#5f6e66;letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:10px;font-weight:800}.workspace-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.workspace-check{background:#f6f8f3;border:1px solid #c5cfc6;border-radius:9px;grid-template-columns:22px 1fr;gap:9px;min-height:78px;padding:13px 14px;display:grid}.workspace-check>span{color:#65736b;border:1px solid #b9c4bb;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.workspace-check.is-passed{background:#edf5ec;border-color:#afd0b7}.workspace-check.is-passed>span{color:#fff;border-color:var(--accent);background:var(--accent)}.workspace-check strong{color:var(--ink);font-size:12px;line-height:1.4;display:block}.workspace-check p{color:#68746d;margin:4px 0 0;font-size:10px;line-height:1.45}.workspace-save{width:206px}.workspace-save .lesson-primary-action{width:100%}.workspace-save p{color:#5f6e66;margin:10px 0 0;font-size:10px;line-height:1.45}.workspace-save p.is-error{color:#8b2e2e}.lesson-quiz,.quiz-complete{background:var(--surface);border:1px solid #17231e29;border-radius:20px;margin-top:80px;padding:56px;box-shadow:0 24px 54px #17231e1a}.quiz-heading{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.quiz-kicker{color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.quiz-heading>span{color:var(--accent-deep);background:#eef6ed;border:1px solid #c6ddcb;border-radius:99px;flex:none;padding:8px 10px;font-size:11px;font-weight:800}.quiz-intro{max-width:60ch;color:var(--muted);margin:22px 0 8px;font-size:14px;line-height:1.65}.quiz-question{border:0;border-bottom:1px solid var(--line);margin:0;padding:34px 0}.quiz-question legend{width:100%;color:var(--ink);grid-template-columns:38px 1fr;gap:14px;padding:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;font-weight:600;line-height:1.35;display:grid}.quiz-question legend span{color:var(--accent);letter-spacing:.12em;margin-top:3px;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:10px}.quiz-choices{gap:10px;margin:22px 0 0 52px;display:grid}.quiz-choices label{color:#455149;cursor:pointer;background:#fafbf8;border:1px solid #d5ddd6;border-radius:9px;align-items:center;gap:12px;min-height:48px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.quiz-choices label:hover{border-color:#9caf9f}.quiz-choices label:has(input:checked){color:var(--ink);border-color:var(--accent);background:#edf4ec}.quiz-choices input{width:17px;height:17px;accent-color:var(--accent-deep);flex:none}.quiz-choices input:focus-visible{outline-offset:3px;outline:3px solid #28765247}.quiz-submit-row{grid-template-columns:auto 1fr;align-items:center;gap:24px;padding-top:34px;display:grid}.lesson-primary-action{color:#fff;border-color:var(--accent-deep);background:var(--accent-deep);cursor:pointer;font:inherit;margin-top:0;font-size:13px;font-weight:800}.lesson-primary-action:hover:not(:disabled){background:#0f432b}.lesson-primary-action:disabled{opacity:.62;cursor:wait}.quiz-message{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.quiz-attempt-review{border-top:1px solid var(--line);text-align:left;margin-top:40px;padding-top:32px}.quiz-attempt-review-heading{max-width:60ch}.quiz-attempt-review-heading h3{color:var(--ink);letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(24px,3vw,34px);line-height:1.1}.quiz-attempt-review-heading>p:last-child{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.6}.quiz-attempt-review-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.quiz-attempt-review-item{background:#fafbf8;border:1px solid #d5ddd6;border-radius:12px;padding:20px}.quiz-attempt-review-item.is-correct{background:#f3f8f1;border-color:#c6ddcb}.quiz-attempt-review-meta{color:#68746d;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:10px;font-weight:750;display:flex}.quiz-attempt-review-status{color:#7a4e20}.quiz-attempt-review-item.is-correct .quiz-attempt-review-status{color:var(--accent-deep)}.quiz-attempt-review-item h4{color:var(--ink);margin:16px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:16px;line-height:1.35}.quiz-attempt-review-item p{color:#556159;margin:10px 0 0;font-size:12px;line-height:1.6}.quiz-complete{text-align:center}.completion-mark{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 22px;font-size:24px;display:grid;box-shadow:0 12px 24px #28765233}.quiz-complete>p:not(.quiz-kicker){max-width:54ch;color:var(--muted);margin:20px auto 0;font-size:15px;line-height:1.65}.quiz-complete .lesson-primary-action{margin-top:28px}.completion-dashboard-link{width:fit-content;color:var(--accent-deep);text-underline-offset:4px;margin:16px auto 0;font-size:12px;font-weight:750;display:block}.completion-dashboard-link:hover{color:var(--ink)}.completion-dashboard-link:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #28765247}.revision-pack{border-top:1px solid var(--line);text-align:left;background:#f1f4ee;margin:64px -56px -56px;padding:64px 56px 56px;scroll-margin-top:24px}.revision-heading{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.revision-heading h3{max-width:18ch;color:var(--ink);letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:38px;font-weight:600;line-height:1.04}.revision-heading>span{color:var(--accent-deep);background:#fbfcf8;border:1px solid #c6ddcb;border-radius:99px;flex:none;padding:8px 10px;font-size:10px;font-weight:800}.revision-intro{max-width:58ch;color:var(--muted);margin:22px 0 0;font-size:14px;line-height:1.65}.revision-mind-map{background:#fbfcf8;border:1px solid #cdd5cd;border-radius:16px 16px 6px;margin-top:40px;padding:34px}.mind-map-heading{grid-template-columns:minmax(0,.8fr) minmax(260px,1fr);align-items:end;gap:40px;display:grid}.mind-map-heading h4{max-width:17ch;color:var(--ink);letter-spacing:-.025em;text-wrap:balance;margin:8px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:28px;font-weight:600;line-height:1.08}.mind-map-heading>p{color:#5a675f;max-width:52ch;margin:0;font-size:12px;line-height:1.6}.mind-map-canvas{background-color:#f3f6f1;background-image:linear-gradient(#17231e09 1px,#0000 1px),linear-gradient(90deg,#17231e09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(150px,.78fr) minmax(0,1fr);grid-template-areas:"node-1 center node-2""node-3 center node-4";align-items:stretch;gap:18px 32px;margin-top:30px;padding:28px;display:grid}.mind-map-center{color:#fff;background:var(--ink);border-radius:12px 12px 4px;flex-direction:column;grid-area:center;justify-content:center;align-items:flex-start;min-height:196px;padding:22px 18px;display:flex;box-shadow:0 16px 30px #17231e29}.mind-map-center span{color:#9fd9b8;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.mind-map-center strong{letter-spacing:-.025em;text-wrap:balance;margin-top:10px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600;line-height:1.1}.mind-map-node{background:#fbfcf8f5;border:1px solid #c9d7cb;border-radius:10px 10px 3px;flex-direction:column;justify-content:center;min-height:112px;padding:17px;display:flex;position:relative}.mind-map-node:after{content:"";background:#8fb39b;width:33px;height:1px;position:absolute;top:50%}.mind-map-node-1{grid-area:node-1}.mind-map-node-2{grid-area:node-2}.mind-map-node-3{grid-area:node-3}.mind-map-node-4{grid-area:node-4}.mind-map-node-1:after,.mind-map-node-3:after{right:-33px}.mind-map-node-2:after,.mind-map-node-4:after{left:-33px}.mind-map-node>span{color:var(--accent);letter-spacing:.1em;font-size:9px;font-weight:850}.mind-map-node strong{color:var(--ink);margin-top:6px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:16px;font-weight:600;line-height:1.15}.mind-map-node small{color:#5a675f;margin-top:7px;font-size:9px;line-height:1.5}.mind-map-outline{border-top:1px solid #d7ded7;margin-top:28px;padding-top:26px}.mind-map-outline-heading{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.mind-map-outline-heading h5{max-width:26ch;color:var(--ink);letter-spacing:-.02em;text-wrap:balance;margin:7px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;font-weight:600;line-height:1.2}.mind-map-outline-heading a{min-height:44px;color:var(--accent-deep);text-underline-offset:4px;flex:none;align-items:center;gap:8px;font-size:11px;font-weight:800;display:inline-flex}.mind-map-outline-heading a:hover{color:var(--ink)}.mind-map-outline-heading a:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #28765247}.mind-map-outline>ol{border-top:1px solid #d7ded7;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;margin:24px 0 0;padding:0;list-style:none;display:grid}.mind-map-outline>ol>li{border-bottom:1px solid #d7ded7;grid-template-columns:28px 1fr;gap:8px;padding:20px 0 22px;display:grid}.mind-map-outline>ol>li>span{color:var(--accent);letter-spacing:.09em;padding-top:2px;font-size:9px;font-weight:850}.mind-map-outline strong{color:var(--ink);font-size:12px}.mind-map-outline p{color:#5a675f;margin:5px 0 0;font-size:11px;line-height:1.55}.mind-map-outline ul{flex-wrap:wrap;gap:5px;margin:10px 0 0;padding:0;list-style:none;display:flex}.mind-map-outline ul code{color:#305e48;background:#eaf1e9;border-radius:4px;padding:3px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:9px}.mind-map-outline .mind-map-self-check{color:var(--ink);margin-top:12px}.mind-map-self-check>span{color:var(--accent-deep);letter-spacing:.07em;text-transform:uppercase;margin-right:7px;font-size:9px;font-weight:850}.revision-summary{border-top:1px solid #cdd5cd;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin:34px 0 0;padding:0;list-style:none;display:grid}.revision-summary li{border-bottom:1px solid #cdd5cd;grid-template-columns:30px 1fr;gap:10px;padding:22px 0;display:grid}.revision-summary li>span{color:var(--accent);letter-spacing:.08em;padding-top:3px;font-size:10px;font-weight:800}.revision-summary strong{color:var(--ink);font-size:12px}.revision-summary p{color:#5a675f;margin:5px 0 0;font-size:12px;line-height:1.55}.revision-project-bridge{background:#fbfcf8;border:1px solid #c5d6c8;border-radius:12px 12px 4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin-top:34px;padding:24px 26px;display:grid}.revision-project-bridge h4{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600;line-height:1.15}.revision-project-bridge p:not(.quiz-kicker){max-width:58ch;color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.55}.revision-project-actions{gap:7px;min-width:min(100%,292px);display:grid}.revision-project-primary{color:#fff;background:var(--accent-deep);border-radius:8px 8px 8px 3px;align-items:center;gap:28px;min-height:44px;padding:0 16px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.revision-project-primary:hover{background:#0f432b}.revision-project-primary:focus-visible,.revision-practice-secondary:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.revision-practice-secondary{min-height:40px;color:var(--accent-deep);justify-content:space-between;align-items:center;gap:20px;padding:0 4px;font-size:11px;font-weight:750;text-decoration:none;display:inline-flex}.revision-practice-secondary:hover{color:#0f432b}.project-page{background:radial-gradient(circle at 88% 9%, #2876521c, transparent 26%), var(--paper)}.project-shell{width:min(1120px,100% - 48px);margin:0 auto;padding:34px 0 92px}.project-shell:focus{outline:none}.project-back-link{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.project-back-link:hover{color:var(--ink)}.project-back-link:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #28765247}.project-hero{color:#fff;background:var(--ink);border-radius:24px 24px 7px;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:64px;margin-top:28px;padding:64px;display:grid;box-shadow:0 28px 72px #17231e29}.project-hero-copy{align-self:end}.project-private-cue{color:#b7dec7;letter-spacing:.06em;text-transform:uppercase;border:1px solid #b7dec759;border-radius:99px;width:fit-content;margin:0 0 36px;padding:7px 10px;font-size:10px;font-weight:800}.project-hero .quiz-kicker{color:#9fd9b8}.project-hero h1{color:#fff;letter-spacing:-.055em;text-wrap:balance;max-width:12ch;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(48px,6vw,76px);font-weight:600;line-height:.96}.project-hero-copy>p:last-child{color:#cbd5cf;max-width:56ch;margin:26px 0 0;font-size:15px;line-height:1.7}.project-brief{color:var(--ink);background:#e7efe5;border-radius:14px 14px 4px;align-self:end;padding:24px}.project-brief>span{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.project-brief>strong{margin-top:12px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;font-weight:600;line-height:1.18;display:block}.project-brief>p{color:#4f5e55;margin:12px 0 0;font-size:12px;line-height:1.6}.project-brief dl{border-top:1px solid #c5d3c5;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 0;padding-top:16px;display:grid}.project-brief dl div{gap:3px;display:grid}.project-brief dt{color:#68766d;letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.project-brief dd{margin:0;font-size:11px;font-weight:800}.project-workspace{background:#e9eee8;border:1px solid #17231e29;border-radius:20px;margin-top:24px;padding:44px;box-shadow:0 24px 54px #17231e1a}.project-workspace-heading{justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.project-workspace-heading>div:first-child{max-width:650px}.project-workspace-heading h2{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,4vw,48px);font-weight:600;line-height:1.06}.project-workspace-heading>div:first-child>p:not(.quiz-kicker){color:#455149;max-width:58ch;margin:18px 0 0;font-size:14px;line-height:1.65}.project-score{min-width:154px;color:var(--accent-deep);text-align:right;background:#f6f8f3;border:1px solid #bfd1c1;border-radius:11px;gap:3px;padding:16px 18px;display:grid}.project-score.is-complete{background:#e5f1e4;border-color:#8fbd9c}.project-score span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.project-score strong{font-variant-numeric:tabular-nums;font-size:28px;line-height:1}.project-score small{color:#536159;font-size:10px;font-weight:700}.project-panels{background:#fff;border:1px solid #b9c6bc;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:540px;margin-top:34px;display:grid;overflow:hidden}.project-editor,.project-preview{grid-template-rows:auto 1fr;min-width:0;display:grid}.project-editor{color:#dce8df;background:#111b17;border-right:1px solid #31423a}.project-editor label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.project-editor textarea{resize:vertical;color:#dce8df;tab-size:2;background:#111b17;border:0;outline:0;width:100%;min-height:495px;padding:22px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.7}.project-editor textarea:focus-visible{box-shadow:inset 0 0 0 3px #66dc9d6b}.project-preview .workspace-panel-label{color:#607068;background:#f7f8f5;border-bottom-color:#dce1da}.project-preview iframe{background:#fff;border:0;width:100%;min-height:495px}.project-review{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:24px;margin-top:24px;display:grid}.project-rubric-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:12px;display:flex}.project-rubric-heading .quiz-kicker{margin-bottom:5px}.project-rubric-heading h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;line-height:1.2}.project-rubric-heading>span{color:#5f6e66;letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:10px;font-weight:800}.project-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-check{background:#f6f8f3;border:1px solid #c5cfc6;border-radius:9px;grid-template-columns:22px 1fr;gap:9px;min-height:92px;padding:14px;display:grid}.project-check>span{color:#65736b;border:1px solid #b9c4bb;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.project-check.is-passed{background:#edf5ec;border-color:#afd0b7}.project-check.is-passed>span{color:#fff;border-color:var(--accent);background:var(--accent)}.project-check strong{font-size:12px;line-height:1.4;display:block}.project-check p{color:#68746d;margin:4px 0 0;font-size:10px;line-height:1.45}.semantic-repair-drill{color:#f5f7f3;background:var(--ink);border-radius:14px 14px 5px;margin-top:18px;padding:24px;box-shadow:0 18px 38px #17231e29}.semantic-repair-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.semantic-repair-heading .quiz-kicker{color:#9fd9b8}.semantic-repair-heading h3{color:#fff;text-wrap:balance;max-width:22ch;margin:5px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600;line-height:1.16}.semantic-repair-heading>span{color:#b8c8bf;letter-spacing:.06em;text-transform:uppercase;border:1px solid #ffffff2b;border-radius:99px;flex:none;padding:6px 8px;font-size:9px;font-weight:800}.semantic-repair-context{color:#bfcac4;max-width:62ch;margin:16px 0 0;font-size:12px;line-height:1.62}.semantic-repair-context strong{color:#fff}.semantic-repair-example{background:#101814;border:1px solid #ffffff1f;border-radius:9px;margin-top:18px}.semantic-repair-example>span{color:#aebdb5;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #ffffff1a;padding:10px 13px;font-size:9px;font-weight:800;display:block}.semantic-repair-example pre{margin:0;padding:16px;overflow-x:auto}.semantic-repair-example code,.semantic-repair-choice code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.semantic-repair-example code{color:#dce8df;font-size:11px;line-height:1.65}.semantic-repair-drill fieldset{border:0;margin:20px 0 0;padding:0}.semantic-repair-drill legend{color:#fff;max-width:62ch;padding:0;font-size:12px;font-weight:750;line-height:1.5}.semantic-repair-choices{gap:8px;margin-top:12px;display:grid}.semantic-repair-choice{cursor:pointer;background:#ffffff09;border:1px solid #ffffff24;border-radius:8px;grid-template-columns:18px minmax(0,1fr);gap:5px 9px;min-width:0;padding:12px;transition:border-color .16s ease-out,background-color .16s ease-out;display:grid}.semantic-repair-choice:hover{background:#ffffff0f;border-color:#9fd9b88f}.semantic-repair-choice.is-selected{background:#66dc9d1a;border-color:#6eb78c}.semantic-repair-choice input{accent-color:#66dc9d;width:16px;height:16px;margin:1px 0 0}.semantic-repair-choice>span{color:#dce8df;font-size:10px;font-weight:800}.semantic-repair-choice code{color:#afbeb6;white-space:pre;grid-column:2;font-size:10px;line-height:1.55;overflow-x:auto}.semantic-repair-choice:has(input:focus-visible){outline-offset:2px;outline:3px solid #66dc9d6b}.semantic-repair-result{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin-top:16px;display:grid}.semantic-repair-result button{min-height:44px;color:var(--ink);cursor:pointer;background:#dfeee2;border:1px solid #a8d6bb;border-radius:8px;padding:0 15px;font-size:11px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out}.semantic-repair-result button:hover:not(:disabled){background:#f1f7f1;transform:translateY(-1px)}.semantic-repair-result button:active:not(:disabled){transform:translateY(1px)}.semantic-repair-result button:focus-visible,.semantic-repair-drill>a:focus-visible{outline-offset:3px;outline:3px solid #66dc9d7a}.semantic-repair-result button:disabled{opacity:.48;cursor:not-allowed}.semantic-repair-result p{color:#aebdb5;margin:0;font-size:10px;line-height:1.5}.semantic-repair-result p.is-correct{color:#b9e4c9}.semantic-repair-result p.is-incorrect{color:#efc8b5}.semantic-repair-drill>a{color:#b9e4c9;text-underline-offset:4px;align-items:center;gap:14px;width:fit-content;min-height:44px;margin-top:8px;font-size:11px;font-weight:800;display:inline-flex}.project-actions{background:#f6f8f3;border:1px solid #c4cec5;border-radius:12px 12px 4px;gap:10px;padding:22px;display:grid}.project-actions h3{margin:5px 0 8px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;line-height:1.18}.project-actions button{width:100%}.project-save-draft{min-height:45px;color:var(--accent-deep);cursor:pointer;background:0 0;border:1px solid #9fb4a3;border-radius:8px;font-size:12px;font-weight:800}.project-save-draft:hover:not(:disabled){background:#e7efe5}.project-save-draft:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.project-actions button:disabled{opacity:.58;cursor:wait}.project-actions>p{color:#5f6e66;margin:2px 0 0;font-size:10px;line-height:1.5}.project-actions>p.is-error{color:#8b2e2e}.project-actions>a{width:fit-content;color:var(--accent-deep);text-underline-offset:4px;gap:16px;margin-top:2px;font-size:11px;font-weight:800;display:inline-flex}.flashcard-workbench{color:#fff;background:var(--ink);border-radius:14px 14px 5px;margin-top:40px;overflow:hidden;box-shadow:0 22px 42px #17231e24}.flashcard-progress{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.flashcard-progress p,.flashcard-progress span{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.flashcard-progress p{color:#9fd9b8;font-variant-numeric:tabular-nums}.flashcard-progress span{color:#aeb9b2}.flashcard{flex-direction:column;justify-content:center;align-items:flex-start;min-height:280px;padding:48px;display:flex}.flashcard-label{color:#9fd9b8;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.flashcard h4{color:#fff;letter-spacing:-.025em;text-wrap:balance;max-width:20ch;margin:14px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:30px;font-weight:600;line-height:1.15}.flashcard-answer{color:#d8e0da;max-width:52ch;margin:22px 0 0;font-size:14px;line-height:1.65}.flashcard-reveal,.flashcard-next{min-height:46px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #fff;border-radius:8px;padding:0 16px;font-size:12px;font-weight:800}.flashcard-reveal{margin-top:28px}.flashcard-reveal:hover,.flashcard-next:hover:not(:disabled){background:#eff7f1}.flashcard-reveal:focus-visible,.flashcard-next:focus-visible,.flashcard-previous:focus-visible{outline-offset:3px;outline:3px solid #66dc9d99}.flashcard-controls{border-top:1px solid #ffffff1f;grid-template-columns:112px 1fr 112px;align-items:center;gap:18px;min-height:74px;padding:14px 18px;display:grid}.flashcard-previous{color:#c7d0ca;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:750;display:inline-flex}.flashcard-next{justify-content:space-between;align-items:center;gap:12px;display:inline-flex}.flashcard-previous:disabled,.flashcard-next:disabled{opacity:.38;cursor:default}.flashcard-dots{justify-content:center;align-items:center;gap:8px;display:flex}.flashcard-dots span{border:1px solid #738078;border-radius:50%;width:7px;height:7px}.flashcard-dots span.is-checked{border-color:var(--accent);background:var(--accent)}.flashcard-dots span.is-current{box-shadow:0 0 0 3px #66dc9d38}.revision-next-step{border-top:1px solid #cdd5cd;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding-top:24px;display:flex}.revision-next-step p{margin:0}.revision-next-step p:last-child{color:#5a675f;max-width:46ch;margin-top:7px;font-size:13px;line-height:1.55}.revision-practice-link{min-height:44px;color:var(--accent-deep);background:#fbfcf8;border:1px solid #b8cfbe;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:14px;padding:0 16px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.revision-practice-link:hover{color:var(--ink);background:#fff;border-color:#91b79c}.revision-practice-link:active{transform:translateY(1px)}.revision-practice-link:focus-visible{outline-offset:3px;outline:3px solid #28765247}.course-feedback{border-top:1px solid var(--line);text-align:left;max-width:650px;margin:52px auto 0;padding-top:42px}.course-feedback-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.course-feedback-heading h3{max-width:22ch;color:var(--ink);letter-spacing:-.025em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;line-height:1.15}.course-feedback-heading>span{color:var(--accent-deep);background:#eef6ed;border:1px solid #c6ddcb;border-radius:99px;padding:7px 9px;font-size:10px;font-weight:800}.course-feedback fieldset{border:0;margin:28px 0 0;padding:0}.course-feedback legend,.course-feedback-comment>label{color:#34413a;margin-bottom:10px;font-size:12px;font-weight:800}.course-feedback-choices{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.course-feedback-choices label{color:#536058;cursor:pointer;background:#fafbf8;border:1px solid #d5ddd6;border-radius:9px;align-items:center;gap:9px;min-height:44px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.course-feedback-choices label:has(input:checked){color:var(--ink);border-color:var(--accent);background:#edf4ec}.course-feedback-choices input{width:16px;height:16px;accent-color:var(--accent-deep)}.course-feedback-choices input:focus-visible{outline-offset:3px;outline:3px solid #28765247}.course-feedback-comment{margin-top:24px;display:grid}.course-feedback-comment small{color:#829087;font-size:10px;font-weight:650}.course-feedback-comment textarea{resize:vertical;width:100%;min-height:96px;color:var(--ink);font:inherit;background:#fbfcf9;border:1px solid #cbd3cc;border-radius:9px;padding:12px 13px;font-size:14px;line-height:1.5}.course-feedback-comment textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #28765226}.course-feedback-note{color:#78857d;justify-content:space-between;gap:12px;margin-top:7px;font-size:10px;line-height:1.45;display:flex}.course-feedback-remaining{color:#56645b;font-variant-numeric:tabular-nums;flex:none;font-weight:700}.course-feedback-submit{grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-top:22px;display:grid}.course-feedback-submit button{min-height:44px;color:var(--accent-deep);font:inherit;cursor:pointer;background:0 0;border:1px solid #91ad98;border-radius:8px;padding:0 16px;font-size:12px;font-weight:800}.course-feedback-submit button:hover:not(:disabled){border-color:var(--accent-deep);background:#f0f5ef}.course-feedback-submit button:focus-visible{outline-offset:2px;outline:3px solid #28765247}.course-feedback-submit button:disabled{opacity:.62;cursor:wait}.course-feedback-submit p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.course-feedback-submit p.is-error{color:#8b2e2e}.project-feedback{max-width:720px;margin-top:42px;padding-top:38px}.dashboard-loading,.dashboard-error{place-items:center;min-height:100vh;padding:32px;display:grid}.dashboard-loading-inner,.dashboard-error>div{width:min(760px,100%)}.loading-line,.loading-course{background:linear-gradient(100deg,#e7ebe5 20%,#f7f8f5 40%,#e7ebe5 60%) 0 0/200% 100%;border-radius:9px;animation:1.5s linear infinite loading-sheen;display:block}.loading-line-short{width:120px;height:14px}.loading-line-title{width:min(520px,80%);height:62px;margin-top:22px}.loading-course{width:100%;height:300px;margin-top:58px}.dashboard-error h1{font-size:clamp(48px,7vw,76px)}.dashboard-error p:not(.eyebrow){color:var(--muted);margin:24px 0;font-size:17px}.dashboard-error .account-submit{width:auto;padding-inline:24px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes loading-sheen{to{background-position-x:-200%}}.not-found-page{flex-direction:column;min-height:100vh;display:flex}.not-found-shell{grid-template-columns:minmax(360px,.78fr) minmax(0,1fr);align-items:center;gap:96px;width:min(1184px,100% - 48px);margin:auto;padding:80px 0 96px;display:grid}.not-found-code{min-height:370px;color:var(--ink);background:radial-gradient(circle at 78% 24%, var(--sage) 0 72px, transparent 73px), var(--surface);letter-spacing:-.075em;border:1px solid #17231e29;border-radius:19px;justify-content:center;align-items:center;gap:clamp(8px,1.8vw,24px);padding:48px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(88px,10vw,144px);font-weight:600;line-height:1;display:flex;overflow:hidden;box-shadow:0 28px 58px #17231e1a}.not-found-zero{width:clamp(88px,10vw,136px);height:clamp(112px,12vw,166px);color:var(--paper);background:var(--ink);border-radius:50%;place-items:center;display:grid;box-shadow:0 16px 32px #17231e2e}.not-found-zero span{letter-spacing:0;font-size:.45em;font-style:italic;transform:translate(-.04em)}.not-found-copy{max-width:650px}.not-found-copy h1{font-size:clamp(52px,6vw,78px)}.not-found-lede{max-width:48ch;color:var(--muted);margin:28px 0 32px;font-size:18px;line-height:1.62}.learn-entry-hero,.learn-outcome-section{width:min(1184px,100% - 48px);margin-inline:auto}.learn-entry-hero{grid-template-columns:minmax(0,.96fr) minmax(430px,.74fr);align-items:center;gap:88px;padding:88px 0 96px;display:grid}.learn-entry-copy{max-width:700px}.learn-entry-copy h1{font-size:clamp(56px,6.4vw,84px)}.learn-entry-lede{max-width:58ch;color:var(--muted);margin:30px 0;font-size:18px;line-height:1.65}.learn-entry-note{max-width:54ch;color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.55}.semantic-document-map,.javascript-judge-preview,.project-discovery-preview{background:var(--surface);border:1px solid #17231e2b;border-radius:19px 19px 7px;margin:0;overflow:hidden;box-shadow:0 30px 60px #17231e1f}.semantic-document-map{transform:rotate(1deg)}.javascript-judge-preview{transform:rotate(-1deg)}.project-discovery-preview{transform:rotate(.7deg)}.semantic-document-map figcaption,.javascript-judge-preview figcaption,.project-discovery-preview figcaption{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:0 22px;font-size:12px;font-weight:750;display:flex}.entry-proof-badge{color:var(--accent-deep);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.entry-proof-badge>span{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:inline-grid}.project-discovery-canvas{background:#e9eee8;grid-template-columns:minmax(0,1.08fr) minmax(155px,.72fr);gap:13px;padding:18px;display:grid}.project-discovery-document{min-height:385px;color:var(--ink);background:#fbfcf8;border:1px solid #cbd6cd;border-radius:10px;flex-direction:column;padding:22px;display:flex}.project-discovery-document small{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:9px;font-weight:750}.project-discovery-document-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.project-discovery-document-header>span{color:#7b8981;letter-spacing:.1em;font-size:8px;font-weight:800}.project-discovery-article{flex-direction:column;flex:1;padding:25px 0 20px;display:flex}.project-discovery-article>strong{letter-spacing:-.025em;max-width:11ch;margin:28px 0 22px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:26px;font-weight:600;line-height:1.04}.project-discovery-article>span{background:#dce3dc;border-radius:99px;width:100%;height:5px;margin-top:8px}.project-discovery-article>span:nth-of-type(2){width:72%}.project-discovery-article>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:23px;display:grid}.project-discovery-article>div span{color:var(--accent-deep);background:#edf4ec;border:1px solid #c6d8c9;border-radius:7px;padding:11px 9px;font-size:9px;font-weight:750}.project-discovery-article aside{color:#536159;border-left:2px solid var(--accent);background:#f1f4ee;margin-top:auto;padding:11px 12px;font-size:9px;line-height:1.45}.project-discovery-review{color:#fff;background:var(--ink);border-radius:10px;min-width:0;padding:22px 17px}.project-discovery-review>span{color:#9fd9b8;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.project-discovery-review>strong{margin-top:11px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;font-weight:600;line-height:1.08;display:block}.project-discovery-review ul{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.project-discovery-review li{color:#c5d0ca;grid-template-columns:17px minmax(0,1fr);gap:8px;font-size:9px;line-height:1.35;display:grid}.project-discovery-review li>span{width:16px;height:16px;color:var(--ink);background:#9fd9b8;border-radius:50%;place-items:center;font-size:8px;font-weight:800;display:grid}.semantic-page-canvas{background:#e9eee8;gap:11px;padding:25px;display:grid}.semantic-landmark{background:#fbfcf8;border:1px solid #cbd6cd;border-radius:9px;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;display:flex}.semantic-landmark code,.javascript-code-lines{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.semantic-landmark code{color:var(--accent-deep);font-size:11px;font-weight:750}.semantic-landmark>span{color:var(--muted);font-size:11px}.semantic-main-landmark{color:#fff;background:var(--ink);border-color:#2d4037;place-content:start stretch;gap:18px;min-height:290px;padding:18px;display:grid}.semantic-main-landmark>code{color:#9fd9b8}.semantic-article-landmark{background:#213128;border:1px solid #9fd9b857;border-radius:9px;flex-direction:column;min-height:215px;padding:25px;display:flex}.semantic-article-landmark code{color:#9fd9b8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px}.semantic-article-landmark strong{letter-spacing:-.025em;max-width:13ch;margin-top:44px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:27px;font-weight:600;line-height:1.05}.semantic-article-landmark span{color:#b8c2bd;max-width:32ch;margin-top:13px;font-size:11px;line-height:1.55}.javascript-code-preview{background:#e9eee8;gap:14px;padding:25px;display:grid}.javascript-code-lines{color:#e7efe9;background:#111b17;border-radius:10px;flex-direction:column;gap:12px;min-height:290px;padding:32px 27px;font-size:12px;line-height:1.5;display:flex;box-shadow:inset 0 0 0 1px #ffffff12}.javascript-code-lines b{color:#9fd9b8;font-weight:700}.javascript-code-lines .code-indent{padding-left:18px}.javascript-code-lines .code-indent-two{color:#b8c6be;padding-left:36px}.javascript-verdict{background:#eef6ed;border:1px solid #b7d1bd;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:6px 18px;padding:18px 20px;display:grid}.javascript-verdict>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:750}.javascript-verdict strong{color:var(--accent-deep);font-size:13px}.javascript-verdict>div{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.javascript-verdict>div span{background:var(--accent);border-radius:99px;height:5px}.learn-outcome-section{border-top:1px solid #17231e24;grid-template-columns:minmax(0,.76fr) minmax(480px,.94fr);gap:112px;padding:104px 0 116px;display:grid}.learn-outcome-heading h2{letter-spacing:-.045em;text-wrap:balance;max-width:12ch;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(42px,5vw,64px);font-weight:600;line-height:1}.learn-outcome-heading>p:last-child{max-width:44ch;color:var(--muted);margin:25px 0 0;font-size:16px;line-height:1.7}.learn-step-rail{margin:0;padding:0;list-style:none}.learn-step-rail li{border-top:1px solid #17231e2e;grid-template-columns:48px minmax(0,1fr);gap:20px;padding:31px 0 35px;display:grid}.learn-step-rail li>span{color:var(--accent);letter-spacing:.1em;padding-top:5px;font-size:11px;font-weight:800}.learn-step-rail h3{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:27px;font-weight:600;line-height:1.1}.learn-step-rail p{max-width:52ch;color:var(--muted);margin:11px 0 0;font-size:13px;line-height:1.65}.javascript-skill-list{background:var(--surface);border:1px solid #17231e24;border-radius:15px;overflow:hidden;box-shadow:0 20px 48px #17231e14}.javascript-skill-list>div{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:76px;padding:0 22px;display:grid}.javascript-skill-list>div:last-child{border-bottom:0}.javascript-skill-list>div>span:first-child{color:#87938d;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.javascript-skill-list div>div{gap:4px;display:grid}.javascript-skill-list strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;font-weight:600}.javascript-skill-list small{color:var(--muted);font-size:11px}.javascript-skill-list>div>span:last-child{color:var(--accent-deep);background:#eef6ed;border:1px solid #c9dfcf;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:750}.practice-hero,.problem-catalog,.coding-problem-shell{width:min(1184px,100% - 48px);margin-inline:auto}.practice-hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.55fr);align-items:end;gap:88px;padding:88px 0 76px;display:grid}.practice-hero-copy{max-width:750px}.practice-hero h1{max-width:760px;font-size:clamp(56px,6.5vw,86px)}.practice-hero-copy>p:not(.eyebrow){max-width:57ch;color:var(--muted);margin:30px 0;font-size:18px;line-height:1.65}.practice-progress-card{background:#ffffffb8;border:1px solid #17231e29;border-radius:17px 17px 5px;padding:31px;box-shadow:0 22px 50px #17231e17}.practice-progress-card>div:first-child{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.practice-progress-card>div:first-child span,.dashboard-practice-score>span{color:var(--muted);font-size:12px;font-weight:750}.practice-progress-card strong{letter-spacing:-.05em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:42px;font-weight:600}.practice-progress-track{background:#e1e8e1;border-radius:99px;height:7px;margin-top:22px;overflow:hidden}.practice-progress-track span{border-radius:inherit;background:var(--accent);min-width:0;height:100%;display:block}.practice-progress-card p{color:var(--muted);margin:19px 0 0;font-size:13px;line-height:1.55}.problem-catalog{padding:68px 0 112px}.problem-catalog-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px;display:flex}.problem-catalog-heading .eyebrow{margin-bottom:12px}.problem-catalog-heading h2{letter-spacing:-.04em;text-wrap:balance;max-width:720px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(38px,4.5vw,58px);font-weight:600;line-height:1.02}.problem-catalog-helper{max-width:62ch;color:var(--muted);text-wrap:pretty;margin:14px 0 0;font-size:14px;line-height:1.55}.catalog-progress-summary{text-align:right}.catalog-progress-summary span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:750}.catalog-progress-summary p{color:var(--muted);white-space:nowrap;margin:6px 0 0;font-size:12px;line-height:1.4}.catalog-submission-history-link{min-height:44px;color:var(--accent-deep);text-underline-offset:4px;align-items:center;gap:7px;margin-top:4px;font-size:12px;font-weight:760;text-decoration-line:underline;text-decoration-color:#28765257;transition:color .16s ease-out,text-decoration-color .16s ease-out;display:inline-flex}.catalog-submission-history-link:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.catalog-submission-history-link:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #28765245}.problem-table{background:var(--surface);border:1px solid #17231e24;border-radius:15px;overflow:hidden;box-shadow:0 20px 48px #17231e14}.problem-catalog-filters{flex-wrap:wrap;gap:8px;margin:-4px 0 32px;display:flex}.problem-catalog-filters a{min-height:44px;color:var(--muted);background:#ffffff8a;border:1px solid #17231e24;border-radius:99px;align-items:center;gap:9px;padding:0 15px;font-size:13px;font-weight:740;text-decoration:none;transition:color .16s ease-out,border-color .16s ease-out,background .16s ease-out;display:inline-flex}.problem-catalog-filters a span{min-width:22px;color:inherit;font-variant-numeric:tabular-nums;text-align:center;background:#17231e0f;border-radius:99px;padding:3px 7px;font-size:11px}.problem-catalog-filters a:hover{color:var(--ink);border-color:#28765266}.problem-catalog-filters a:focus-visible{outline-offset:3px;outline:3px solid #28765245}.problem-catalog-filters a.is-active{color:#f8fbf7;border-color:var(--accent-deep);background:var(--accent-deep)}.problem-catalog-filters a.is-active span{background:#ffffff24}.problem-groups{gap:38px;display:grid}.problem-group-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:13px;display:flex}.problem-group-heading h3{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600;line-height:1.1}.problem-group-heading p{max-width:58ch;color:var(--muted);text-wrap:pretty;margin:6px 0 0;font-size:13px;line-height:1.5}.problem-group-heading>span{color:var(--muted);letter-spacing:.08em;font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:780}.problem-group .problem-table{box-shadow:0 13px 32px #17231e0e}.problem-catalog-empty{text-align:center;background:#fff9;border:1px solid #17231e24;border-radius:15px;padding:44px 32px}.problem-catalog-empty strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:28px;font-weight:600}.problem-catalog-empty p{color:var(--muted);margin:10px 0 4px;font-size:13px;line-height:1.5}.problem-catalog-empty a{min-height:44px;color:var(--accent-deep);text-underline-offset:4px;align-items:center;font-size:13px;font-weight:760;display:inline-flex}.practice-playground-entry{background:#ffffff75;border:1px solid #17231e1f;border-radius:13px;justify-content:space-between;align-items:center;gap:32px;margin-top:20px;padding:22px 24px;display:flex}.saved-problems{background:linear-gradient(135deg,#eef6edd6,#0000 72%),#fff9;border:1px solid #17231e24;border-radius:13px;margin-top:20px;padding:27px}.mistake-review{background:#ffffffa3;border:1px solid #17231e24;border-radius:13px;margin-top:20px;padding:28px}.mistake-review-heading{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.mistake-review-heading .eyebrow{margin-bottom:7px}.mistake-review-heading h3{letter-spacing:-.03em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:31px;font-weight:600;line-height:1.1}.mistake-review-heading div>p:last-child{max-width:60ch;color:var(--muted);text-wrap:pretty;margin:9px 0 0;font-size:13px;line-height:1.55}.mistake-review-heading>span{color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:800}.mistake-review-list{gap:10px;margin:23px 0 0;padding:0;list-style:none;display:grid}.mistake-review-list li{border-top:1px solid #17231e1c;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:128px;padding:18px;display:grid}.mistake-review-number{gap:5px;display:grid}.mistake-review-number span{color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:32px;line-height:1}.mistake-review-number small,.mistake-review-copy>span{color:var(--muted);font-size:10px;line-height:1.4}.mistake-review-copy{gap:7px;display:grid}.mistake-review-copy strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;font-weight:600;line-height:1.25}.mistake-review-copy p{max-width:68ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.55}.mistake-review-list a{min-height:44px;color:var(--accent-deep);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:760;text-decoration:none;display:inline-flex}.mistake-review-list a:hover{text-underline-offset:4px;text-decoration:underline}.mistake-review-list a:focus-visible{outline-offset:4px;border-radius:4px;outline:3px solid #28765245}.mistake-review-empty{color:var(--muted);border-top:1px solid #17231e1a;margin:20px 0 0;padding-top:17px;font-size:13px;line-height:1.55}.practice-review-entry{color:#e9f1ec;background:var(--ink);border:1px solid #ffffff1a;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;margin-top:22px;padding:26px 28px;display:grid;box-shadow:0 18px 42px #17231e1f}.practice-review-entry .eyebrow{color:#91cca9;margin-bottom:8px}.practice-review-entry h3{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:30px;font-weight:600;line-height:1.1}.practice-review-entry>div:first-child>p:last-child{color:#aebbb4;text-wrap:pretty;max-width:62ch;margin:9px 0 0;font-size:13px;line-height:1.55}.practice-review-entry-action{justify-items:end;gap:9px;min-width:174px;display:grid}.practice-review-entry-action>span{color:#aebbb4;font-variant-numeric:tabular-nums;font-size:11px;font-weight:750}.practice-review-entry-action a{color:#dff5e7;border:1px solid #5c806a;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 15px;font-size:12px;font-weight:760;text-decoration:none;transition:color .16s ease-out,border-color .16s ease-out,background-color .16s ease-out;display:inline-flex}.practice-review-entry-action a:hover{color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.practice-review-entry-action a:focus-visible{outline-offset:3px;outline:3px solid #a0e9bd59}.review-session-shell{width:min(100% - 48px,1120px);margin:0 auto;padding:26px 0 96px}.review-session-breadcrumbs{min-height:44px;color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.review-session-breadcrumbs a{color:var(--ink);text-underline-offset:4px}.review-session-breadcrumbs a:hover{color:var(--accent-deep)}.review-session-breadcrumbs a:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #28765245}.review-session-hero{color:#edf4ef;background:var(--ink);border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:64px;margin-top:18px;padding:58px 62px;display:grid;box-shadow:0 24px 58px #17231e24}.review-session-hero .eyebrow{color:#91cca9;margin-bottom:15px}.review-session-hero h1{letter-spacing:-.05em;text-wrap:balance;max-width:820px;margin:0;font-size:clamp(46px,6vw,72px);line-height:.98}.review-session-hero div:first-child>p:last-child{color:#b3c0b9;text-wrap:pretty;max-width:64ch;margin:24px 0 0;font-size:15px;line-height:1.65}.review-session-count{font-variant-numeric:tabular-nums;border-left:1px solid #43564c;gap:4px;width:118px;padding-left:24px;display:grid}.review-session-count strong{color:#a0e9bd;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:58px;font-weight:600;line-height:.9}.review-session-count span{font-size:12px;font-weight:750}.review-session-count small{color:#87968e;font-size:10px}.review-session-plan,.review-session-empty{background:var(--surface);border:1px solid #17231e24;border-radius:17px;margin-top:24px;box-shadow:0 18px 44px #17231e12}.review-session-plan{padding:42px}.review-session-plan-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:28px;display:flex}.review-session-plan-heading .eyebrow{margin-bottom:9px}.review-session-plan-heading h2,.review-session-empty h2{letter-spacing:-.04em;text-wrap:balance;max-width:720px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.04}.review-session-plan-heading>p{max-width:32ch;color:var(--muted);text-align:right;text-wrap:pretty;margin:0;font-size:12px;line-height:1.55}.review-session-list{margin:0;padding:0;list-style:none}.review-session-list li{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr) auto;align-items:center;gap:30px;min-height:178px;padding:27px 20px;display:grid}.review-session-list li.is-first{background:#eef6ed;border-bottom-color:#c4dac9;border-radius:12px 12px 0 0;margin-inline:-18px;padding-inline:38px}.review-session-list li:last-child{border-bottom:0}.review-session-step{gap:8px;display:grid}.review-session-step>span{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:800}.review-session-step small,.review-session-copy>span,.review-session-copy>small{color:var(--muted);font-size:10px;line-height:1.45}.review-session-copy{gap:6px;display:grid}.review-session-copy>span{letter-spacing:.07em;text-transform:uppercase;font-weight:800}.review-session-copy h3{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:27px;font-weight:600;line-height:1.12}.review-session-copy strong{color:var(--accent-deep);font-size:12px}.review-session-copy p{max-width:62ch;color:var(--muted);text-wrap:pretty;margin:2px 0 0;font-size:12px;line-height:1.55}.review-session-primary-action,.review-session-link{white-space:nowrap;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:780;display:inline-flex}.review-session-primary-action{color:#fff;background:var(--accent);border-radius:999px;padding:0 17px;text-decoration:none;box-shadow:0 8px 18px #2876522e}.review-session-primary-action:hover{background:var(--accent-deep)}.review-session-link{color:var(--accent-deep);text-underline-offset:4px}.review-session-primary-action:focus-visible,.review-session-link:focus-visible{outline-offset:3px;border-radius:999px;outline:3px solid #2876524d}.review-session-empty{padding:62px}.review-session-empty .eyebrow{margin-bottom:11px}.review-session-empty>p:not(.eyebrow){max-width:58ch;color:var(--muted);margin:18px 0 26px;font-size:14px;line-height:1.6}.review-session-empty>a{min-height:44px;color:var(--accent-deep);text-underline-offset:4px;align-items:center;gap:8px;font-size:12px;font-weight:780;display:inline-flex}.review-session-empty.is-complete{background:linear-gradient(135deg, #eef6ede6, transparent 72%), var(--surface)}.review-session-return{align-items:center;min-height:68px;display:flex}.review-session-return a{color:var(--muted);text-underline-offset:4px;font-size:12px;font-weight:700}.review-session-return a:hover{color:var(--ink)}.css-completed-actions{justify-items:start;gap:12px;margin-top:18px;display:grid}.css-review-return-action{color:#fff;background:var(--accent);border-radius:999px;align-items:center;min-height:44px;padding:0 17px;font-size:12px;font-weight:780;text-decoration:none;display:inline-flex;box-shadow:0 8px 18px #2876522e}.css-review-return-action:hover{background:var(--accent-deep)}.css-review-return-action:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.css-completed-actions.is-review-session .css-next-challenge{color:var(--muted);margin-top:0;font-weight:700}.saved-problems-heading{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.saved-problems-heading .eyebrow{margin-bottom:7px}.saved-problems-heading h3{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:29px;font-weight:600;line-height:1.1}.saved-problems-heading div>p:last-child{color:var(--muted);margin:8px 0 0;font-size:12px}.saved-problems-heading>span{color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:800}.saved-problems-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px;padding:0;list-style:none;display:grid}.saved-problems-list li{min-width:0}.saved-problems-list a{min-height:64px;color:var(--ink);background:#ffffffbd;border:1px solid #17231e1f;border-radius:9px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px;text-decoration:none;transition:border-color .16s ease-out,background-color .16s ease-out;display:grid}.saved-problems-list a:hover{background:#fff;border-color:#28765280}.saved-problems-list a:focus-visible{outline-offset:2px;outline:3px solid #28765245}.saved-problems-list a>span:first-child{color:#77857d;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.saved-problems-list a>span:nth-child(2){gap:3px;display:grid}.saved-problems-list strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:17px;font-weight:600}.saved-problems-list small{color:var(--muted);font-size:10px}.saved-problems-list a>span:last-child{color:var(--accent)}.saved-problems-empty{color:var(--muted);border-top:1px solid #17231e1a;margin:20px 0 0;padding-top:17px;font-size:13px;line-height:1.55}.practice-playground-entry .eyebrow{margin-bottom:6px}.practice-playground-entry>div>p:last-child{max-width:58ch;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.practice-playground-action{min-height:44px;color:var(--ink);border:1px solid #17231e47;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:9px;padding:0 17px;font-size:13px;font-weight:760;text-decoration:none;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out;display:inline-flex}.practice-playground-action:hover{border-color:var(--accent);color:var(--accent)}.practice-playground-action:active{background:#28765214}.practice-playground-action:focus-visible{outline-offset:3px;outline:3px solid #28765245}.problem-row{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr) 110px 100px 24px;align-items:center;gap:18px;min-height:84px;padding:0 27px;text-decoration:none;transition:background-color .16s ease-out,color .16s ease-out;display:grid}.problem-row:last-child{border-bottom:0}.problem-row:hover{background:#f2f6f0}.problem-row:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #28765259;position:relative}.problem-number{color:#88948e;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.problem-row-copy{gap:5px;display:grid}.problem-row-copy strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;font-weight:600}.problem-row-copy small,.problem-difficulty,.problem-state{color:var(--muted);font-size:12px}.problem-difficulty{width:fit-content;color:var(--accent-deep);background:#eef6ed;border:1px solid #c9dfcf;border-radius:999px;padding:6px 9px;font-weight:750}.problem-state{font-weight:750}.problem-row.is-complete .problem-state{color:var(--accent-deep)}.problem-row.is-complete .problem-number:before{content:"✓";color:var(--accent);margin-right:7px}.problem-arrow{color:var(--accent);font-size:20px;transition:transform .16s ease-out}.problem-row:hover .problem-arrow{transform:translate(3px)}.coding-problem-shell{padding:34px 0 104px}.problem-breadcrumbs{min-height:42px;color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.problem-breadcrumbs a{text-underline-offset:4px}.problem-breadcrumbs a:hover{color:var(--ink)}.coding-problem-layout{grid-template-columns:minmax(320px,.72fr) minmax(540px,1.28fr);align-items:start;gap:26px;margin-top:22px;display:grid}.problem-brief,.coding-workspace{background:var(--surface);border:1px solid #17231e26;border-radius:17px;box-shadow:0 20px 50px #17231e14}.problem-brief{padding:40px}.problem-brief-heading{border-bottom:1px solid var(--line);padding-bottom:32px}.problem-brief-heading .eyebrow{margin-bottom:13px}.problem-brief h1{font-size:clamp(44px,5vw,62px)}.problem-meta{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.problem-meta span{border:1px solid var(--line);color:var(--muted);background:#f8faf6;border-radius:99px;padding:6px 9px;font-size:11px;font-weight:750}.problem-bookmark-control{justify-items:start;gap:7px;min-height:64px;margin-top:21px;display:grid}.problem-bookmark-button{color:#405047;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #17231e3d;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:760;transition:color .16s ease-out,border-color .16s ease-out,background-color .16s ease-out;display:inline-flex}.problem-bookmark-button svg{fill:#0000;stroke:currentColor;stroke-linejoin:round;stroke-width:1.5px;width:16px;height:16px}.problem-bookmark-button:hover:not(:disabled){color:var(--accent-deep);border-color:var(--accent);background:#f2f6f0}.problem-bookmark-button.is-bookmarked{color:var(--accent-deep);background:#eef6ed;border-color:#a9c9b1}.problem-bookmark-button.is-bookmarked svg{fill:currentColor}.problem-bookmark-button:focus-visible{outline-offset:3px;outline:3px solid #28765245}.problem-bookmark-button:disabled{cursor:wait;opacity:.58}.problem-bookmark-control [role=status]{min-height:15px;color:var(--muted);font-size:10px;line-height:1.45}.problem-brief>section{padding-top:30px}.problem-brief>section+section{border-top:1px solid var(--line);margin-top:30px}.problem-brief h2{margin:0 0 12px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600}.problem-brief>section>p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.problem-examples{gap:18px;display:grid}.problem-example{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.problem-example>div{background:#f4f7f2;padding:14px}.problem-example>div+div{border-left:1px solid var(--line)}.problem-example span,.sample-output span,.debug-output span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.problem-example pre,.sample-output pre,.debug-output pre{color:var(--ink);white-space:pre-wrap;margin:9px 0 0;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;overflow-x:auto}.problem-example p{color:var(--muted);border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding:13px 14px;font-size:12px;line-height:1.5}.coding-workspace{color:#eef4ef;background:#17231e;border-color:#26342e;position:sticky;top:24px;overflow:hidden;box-shadow:0 25px 58px #17231e38}.coding-workspace-heading{border-bottom:1px solid #31423a;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:31px 32px 27px;display:grid}.coding-workspace-heading .quiz-kicker{color:#91cca9}.coding-workspace-heading h2{margin:7px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:35px;font-weight:600;line-height:1}.coding-workspace-heading p:not(.quiz-kicker){color:#aebbb4;max-width:52ch;margin:13px 0 0;font-size:12px;line-height:1.55}.coding-workspace-heading code{color:#d5e9dc;font-family:SFMono-Regular,Consolas,monospace}.best-verdict{text-align:right;border-left:1px solid #31423a;align-content:center;min-width:130px;padding-left:24px;display:grid}.best-verdict span{color:#8c9b93;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.best-verdict strong{color:#d4ddd7;margin-top:7px;font-size:13px}.best-verdict.is-accepted strong{color:#83dda8}.code-editor-bar{color:#aebbb4;background:#1d2b25;border-bottom:1px solid #31423a;justify-content:space-between;align-items:center;gap:16px;min-height:43px;padding:0 18px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;display:flex}.code-editor label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.code-editor textarea{resize:vertical;color:#eef4ef;tab-size:2;background:linear-gradient(90deg,#1a2721 42px,#0000 42px),#111b17;border:0;border-bottom:1px solid #31423a;outline:none;width:100%;min-height:390px;margin:0;padding:24px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.7;display:block}.code-editor textarea:focus-visible{box-shadow:inset 0 0 0 3px #66dc9d61}.loaded-submission-cue{color:#dbe8df;background:#20342a;border-bottom:1px solid #486052;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;min-height:78px;padding:16px 18px;display:grid}.loaded-submission-cue>div{gap:4px;display:grid}.loaded-submission-cue span{color:#91cca9;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.loaded-submission-cue strong{font-variant-numeric:tabular-nums;font-size:12px}.loaded-submission-cue small{color:#91a198;font-size:9px}.loaded-submission-cue p{color:#b7c6bd;max-width:60ch;margin:0;font-size:11px;line-height:1.5}.loaded-submission-cue a{color:#dce8df;text-underline-offset:4px;align-items:center;min-height:44px;font-size:11px;font-weight:750;display:inline-flex}.loaded-submission-cue a:hover{color:#fff}.loaded-submission-cue a:focus-visible{outline-offset:3px;outline:3px solid #66dc9d61}.starter-restore{background:#15211c;border-bottom:1px solid #31423a;align-items:center;gap:12px;min-height:49px;padding:8px 18px;display:flex}.starter-restore-trigger,.starter-restore-cancel{color:#aebbb4;min-height:44px;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:11px;font-weight:700;-webkit-text-decoration:underline #52635a;text-decoration:underline #52635a}.starter-restore-trigger:hover,.starter-restore-cancel:hover{color:#eef4ef;text-decoration-color:#91cca9}.starter-restore-trigger:focus-visible,.starter-restore-cancel:focus-visible,.starter-restore-confirm:focus-visible{outline-offset:3px;outline:3px solid #66dc9d61}.starter-restore-trigger:disabled{color:#718078;cursor:default;text-decoration:none}.starter-restore-confirmation{justify-content:space-between;align-items:center;gap:20px;width:100%;padding:8px 0;display:flex}.starter-restore-confirmation strong{color:#eef4ef;font-size:12px}.starter-restore-confirmation p{color:#9eada5;max-width:62ch;margin:4px 0 0;font-size:11px;line-height:1.45}.starter-restore-confirmation>div:last-child{flex:none;align-items:center;gap:14px;display:flex}.starter-restore-confirm{color:#d5e9dc;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #52635a;border-radius:7px;padding:0 12px;font-size:11px;font-weight:800}.starter-restore-confirm:hover{background:#1d2b25;border-color:#91cca9}.coding-actions{background:#1a2721;border-bottom:1px solid #31423a;justify-content:flex-end;align-items:center;gap:12px;padding:18px 22px;display:flex}.coding-keyboard-hint{color:#9eada5;margin-right:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.45}.secondary-code-action,.submit-code-action{min-height:44px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 17px;font-size:12px;font-weight:800;display:inline-flex}.secondary-code-action{color:#cbd6d0;background:0 0;border:1px solid #52635a}.submit-code-action{color:#10231a;background:#83dda8;border:1px solid #83dda8;text-decoration:none;box-shadow:0 8px 20px #66dc9d1f}.secondary-code-action:hover:not(:disabled){border-color:#83dda8}.submit-code-action:hover:not(:disabled){background:#a0e9bd}.secondary-code-action:focus-visible,.submit-code-action:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.secondary-code-action:disabled,.submit-code-action:disabled,.custom-test-action:disabled{opacity:.58;cursor:wait}.custom-test-runner{background:#18241f;border:1px solid #34443c;border-radius:10px;margin:0 22px 22px}.custom-test-runner summary{color:#dce6e0;cursor:pointer;align-content:center;gap:4px;min-height:64px;padding:14px 18px;display:grid}.custom-test-runner summary::marker{color:#83dda8}.custom-test-runner summary span{font-size:13px;font-weight:800}.custom-test-runner summary small{color:#94a39b;font-size:11px;line-height:1.45}.custom-test-runner summary:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.custom-test-fields{border-top:1px solid #34443c;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:16px 18px 18px;display:grid}.custom-test-fields label{color:#aebbb4;grid-column:1/-1;font-size:11px;font-weight:700}.custom-test-fields textarea{resize:vertical;color:#e8efeb;background:#111b17;border:1px solid #415149;border-radius:8px;min-height:76px;padding:12px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}.custom-test-fields textarea:focus{outline-offset:1px;border-color:#83dda8;outline:3px solid #83dda838}.custom-test-action{color:#dff5e7;cursor:pointer;background:0 0;border:1px solid #659978;border-radius:8px;align-self:end;min-height:44px;padding:0 15px;font-size:11px;font-weight:800}.custom-test-actions{align-self:end;gap:7px;display:grid}.custom-test-action:hover{color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.custom-test-action:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.custom-test-save-action{color:#10231a;cursor:pointer;background:#83dda8;border:1px solid #83dda8;border-radius:8px;align-self:end;min-height:44px;padding:0 15px;font-size:11px;font-weight:800}.custom-test-save-action:hover:not(:disabled){background:#a0e9bd}.custom-test-save-action:focus-visible,.private-test-case button:focus-visible,.private-test-case input:focus-visible,.private-test-cases-save:focus-visible,.private-test-suite-run:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.custom-test-save-action:disabled{opacity:.58;cursor:not-allowed}.private-test-cases{background:#14201b;border-top:1px solid #34443c;padding:18px}.private-test-cases-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.private-test-cases-heading h3{color:#e8efeb;font-family:var(--font-newsreader), Georgia, serif;margin:0;font-size:18px;font-weight:600}.private-test-cases-heading p,.private-test-cases-empty,.private-test-cases-status{color:#94a39b;margin:5px 0 0;font-size:11px;line-height:1.5}.private-test-cases-heading>span{color:#b9d9c5;border:1px solid #40564a;border-radius:999px;flex:none;padding:4px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.private-test-case-list{gap:10px;margin-top:15px;display:grid}.private-test-suite-run{color:#dff5e7;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#1b2b23;border:1px solid #659978;border-radius:8px;margin-top:15px;font-size:11px;font-weight:800}.private-test-suite-run:hover:not(:disabled){color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.private-test-suite-run:disabled{opacity:.58;cursor:wait}.private-test-case{background:#101a16;border:1px solid #34483d;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;padding:12px;display:grid}.private-test-case label{color:#aebbb4;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.private-test-case-input,.private-test-case-expectation{align-content:start;gap:7px;min-width:0;display:grid}.private-test-case-expectation{border-left:1px solid #34483d;padding-left:10px}.private-test-case-expectation>label:first-child{color:#b9d9c5;cursor:pointer;align-items:center;gap:7px;min-height:20px;display:flex}.private-test-case-expectation input{accent-color:#83dda8;width:15px;height:15px;margin:0}.private-test-case-expectation p{color:#7f9087;margin:5px 0 0;font-size:10px;line-height:1.45}.private-test-case textarea{resize:vertical;color:#e8efeb;background:#0d1612;border:1px solid #415149;border-radius:7px;width:100%;min-height:58px;padding:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45}.private-test-case textarea:focus{outline-offset:1px;border-color:#83dda8;outline:3px solid #83dda838}.private-test-case-actions{grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex}.private-test-case button,.private-test-cases-save{color:#cad7d0;cursor:pointer;background:0 0;border:1px solid #475a50;border-radius:7px;min-height:34px;padding:0 10px;font-size:10px;font-weight:800}.private-test-case button:hover:not(:disabled),.private-test-cases-save:hover:not(:disabled){color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.private-test-case button:disabled{opacity:.58;cursor:wait}.private-test-cases-save{color:#dff5e7;border-color:#659978;min-height:40px;margin-top:12px}.private-test-cases-status.is-error{color:#f1afa4}.private-test-cases-status.is-saved{color:#a8cbb5}.coding-result{background:#1d2b25;border:1px solid #3c4b44;border-radius:10px;margin:22px;padding:20px}.coding-result>div:first-child{justify-content:space-between;align-items:center;gap:16px;display:flex}.coding-result>div:first-child span{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800}.coding-result>div:first-child strong{color:#c9d3cd;font-size:11px}.coding-result>p{color:#aebbb4;margin:10px 0 0;font-size:12px;line-height:1.55}.coding-result.is-accepted{background:#1b3428;border-color:#4b8f68}.coding-result.is-accepted>div:first-child span,.coding-result.is-accepted .accepted-progress{color:#83dda8}.accepted-continuation{border-top:1px solid #83dda83d;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding-top:14px;display:flex}.coding-result .accepted-continuation .accepted-progress{margin:0}.accepted-actions{flex:none;align-items:center;gap:14px;display:flex}.accepted-next-action{color:#dff5e7;border:1px solid #659978;border-radius:8px;flex:none;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.accepted-next-action:hover{color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.accepted-next-action:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.accepted-continuation.is-review-session .accepted-next-action{color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.accepted-continuation.is-review-session .accepted-next-action:hover{background:#c8f4d9;border-color:#c8f4d9}.accepted-secondary-action{color:#c9d3cd;text-underline-offset:4px;align-items:center;min-height:44px;font-size:11px;font-weight:750;display:inline-flex}.accepted-secondary-action:hover{color:#fff}.accepted-secondary-action:focus-visible{color:#fff;outline-offset:3px;border-radius:4px;outline:3px solid #83dda859}.accepted-explanation{background:#0d1f1675;border:1px solid #83dda840;border-radius:8px;gap:10px;margin-top:16px;padding:16px;display:grid}.accepted-explanation>div:first-child{gap:3px;display:grid}.accepted-explanation>div:first-child>span,.accepted-mistake>span{color:#83dda8;letter-spacing:.06em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.accepted-explanation h3{color:#edf5f0;letter-spacing:-.01em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;font-weight:600;line-height:1.2}.coding-result .accepted-explanation>p,.coding-result .accepted-mistake p{color:#c5d1ca;max-width:64ch;margin:0;font-size:12px;line-height:1.55}.accepted-mistake{border-top:1px solid #83dda829;gap:4px;padding-top:10px;display:grid}.accepted-mistake>span{color:#a9b7af}.accepted-code-review{border-top:1px solid #83dda83d;margin-top:20px;padding-top:19px}.accepted-code-review>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.accepted-code-review>header>div{gap:4px;display:grid}.accepted-code-review>header>div>span{color:#83dda8;letter-spacing:.07em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.accepted-code-review h3{color:#f1f7f3;letter-spacing:-.018em;text-wrap:balance;max-width:30ch;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600;line-height:1.18}.accepted-code-review-badge{color:#bde7cb;letter-spacing:.06em;text-transform:uppercase;background:#0d1f1661;border:1px solid #83dda84d;border-radius:999px;flex:none;padding:6px 8px;font-size:9px;font-weight:800}.accepted-code-review ol{margin:16px 0 0;padding:0;list-style:none}.accepted-code-review li{border-top:1px solid #83dda81f;grid-template-columns:24px minmax(0,1fr);gap:11px;padding:12px 0;display:grid}.accepted-code-review li>span{color:#173f2c;background:#8bd9a8;border-radius:50%;place-items:center;width:24px;height:24px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:850;display:grid}.accepted-code-review li.is-consideration>span{color:#d8e7dd;background:0 0;border:1px solid #5f7569}.accepted-code-review li>div{gap:3px;display:grid}.accepted-code-review li strong{color:#dce9e1;font-size:11px;font-weight:800}.coding-result .accepted-code-review li p,.coding-result .accepted-code-review-note{color:#b8c7be;text-wrap:pretty;max-width:64ch;margin:0;font-size:12px;line-height:1.55}.coding-result .accepted-code-review-note{color:#91a49a;border-top:1px solid #83dda81f;padding-top:11px;font-size:10px}.coding-result.is-wrong,.coding-result.is-error,.coding-result.is-timeout{border-color:#85504b}.coding-result.is-wrong>div:first-child span,.coding-result.is-error>div:first-child span,.coding-result.is-timeout>div:first-child span{color:#efaaa2}.wrong-answer-hint{background:#111b178a;border:1px solid #83dda838;border-radius:8px;gap:6px;margin-top:16px;padding:14px 15px;display:grid}.wrong-answer-hint>span{color:#83dda8;letter-spacing:.06em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.wrong-answer-hint p{color:#d5dfd9;max-width:64ch;margin:0;font-size:12px;line-height:1.55}.runner-recovery{border-top:1px solid #efaaa238;margin-top:16px;padding-top:14px}.runner-recovery>span{color:#efaaa2;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.coding-result .runner-recovery>p{color:#c3cec8;max-width:58ch;margin:7px 0 0;font-size:12px;line-height:1.55}.recovery-hint-ladder{gap:10px;margin:6px 0 0;padding:0;list-style:none;display:grid}.recovery-hint-ladder li{border-top:1px solid #83dda829;gap:5px;padding-top:10px;display:grid}.recovery-hint-ladder li>span{color:#a9b7af;letter-spacing:.05em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800}.recovery-hint-reveal{color:#d5dfd9;width:fit-content;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #4d6257;border-radius:7px;margin-top:6px;padding:0 12px;font-size:11px;font-weight:800}.recovery-hint-reveal:hover{background:#83dda814;border-color:#83dda8}.recovery-hint-reveal:focus-visible{outline-offset:2px;outline:3px solid #83dda857}.wrong-answer-hint .recovery-hint-complete{color:#a9b7af;margin-top:6px;font-size:11px}.practice-recovery-cue{border-top:1px solid #34443c;grid-template-columns:6px minmax(0,1fr);align-items:start;gap:9px;margin-top:16px;padding-top:14px;display:grid}.practice-recovery-cue>span{background:#83dda8;border-radius:50%;width:6px;height:6px;margin-top:5px}.practice-recovery-cue p{color:#94a39b;margin:0;font-size:11px;line-height:1.55}.practice-feedback{color:#eef4ef;background:#15231d;border:1px solid #3c4b44;border-radius:10px;max-width:none;margin:0 22px 24px;padding:22px}.practice-solution-note{color:#eef4ef;background:#15231d;border:1px solid #3c4b44;border-radius:10px;gap:18px;margin:0 22px 24px;padding:22px;display:grid}.practice-solution-note-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.practice-solution-note-heading>div{gap:6px;display:grid}.practice-solution-note .quiz-kicker{color:#91cca9}.practice-solution-note-heading h3{color:#eef4ef;letter-spacing:-.02em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;font-weight:600}.practice-solution-note-heading p:last-child{color:#aebbb4;max-width:54ch;margin:0;font-size:12px;line-height:1.55}.practice-solution-note-heading>span{color:#b8ebcc;letter-spacing:.05em;text-transform:uppercase;background:#1b3428;border:1px solid #4f775f;border-radius:999px;flex:none;padding:6px 9px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800}.practice-journal-stage{grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:10px;display:grid}.practice-journal-stage span{color:#74837b;letter-spacing:.08em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800}.practice-journal-stage span.is-complete{color:#b8ebcc}.practice-journal-stage span.is-active{color:#eef4ef}.practice-journal-stage i{background:#415149;height:1px}.practice-journal-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.practice-journal-field{background:#111b17;border:1px solid #35453d;border-radius:8px;grid-template-columns:auto 1fr;gap:4px 8px;min-width:0;padding:13px;display:grid}.practice-journal-field>span{color:#79bd94;grid-row:span 2;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800}.practice-journal-field strong{color:#d5e0da;font-size:11px}.practice-journal-field small{color:#8e9e96;font-size:10px;line-height:1.45}.practice-journal-field textarea{resize:vertical;color:#eef4ef;min-height:84px;font:inherit;background:#0d1612;border:1px solid #415149;border-radius:6px;grid-column:1/-1;margin-top:7px;padding:10px;font-size:11px;line-height:1.55}.practice-journal-field textarea::placeholder{color:#66736c}.practice-journal-field textarea:focus{border-color:#83dda8;outline:none;box-shadow:0 0 0 3px #83dda81f}.practice-solution-note-field{gap:8px;display:grid}.practice-solution-note-field>span{color:#d5e0da;font-size:12px;font-weight:700}.practice-solution-note-field>small:first-of-type{color:#8e9e96;font-size:10px}.practice-journal-reflection{border-top:1px solid #35453d;padding-top:16px}.practice-solution-note-field textarea{resize:vertical;color:#eef4ef;width:100%;min-height:112px;font:inherit;background:#111b17;border:1px solid #415149;border-radius:8px;padding:13px 14px;font-size:12px;line-height:1.55}.practice-solution-note-field textarea::placeholder{color:#718078}.practice-solution-note-field textarea:focus{border-color:#83dda8;outline:none;box-shadow:0 0 0 3px #83dda824}.practice-solution-note-field small{color:#94a39b;font-size:10px;line-height:1.5}.practice-solution-note-save{align-items:center;gap:14px;display:flex}.practice-solution-note-save button{color:#dff5e7;cursor:pointer;background:0 0;border:1px solid #659978;border-radius:8px;min-height:42px;padding:0 14px;font-size:11px;font-weight:800}.practice-solution-note-save button:hover:not(:disabled){color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.practice-solution-note-save button:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.practice-solution-note-save button:disabled{cursor:not-allowed;opacity:.54}.practice-solution-note-save p{color:#94a39b;margin:0;font-size:11px;line-height:1.45}.practice-solution-note-save p.is-error{color:#efaaa2}.practice-journal-privacy{color:#74837b;margin:-6px 0 0;font-size:9px;line-height:1.45}.practice-feedback .quiz-kicker{color:#91cca9}.practice-feedback .course-feedback-heading h3{color:#eef4ef}.practice-feedback .course-feedback-heading>span{color:#b8ebcc;background:#1b3428;border-color:#4f775f}.practice-feedback legend,.practice-feedback .course-feedback-comment>span:first-child{color:#d5e0da}.practice-feedback .course-feedback-choices label{color:#aebbb4;background:#1d2b25;border-color:#415149}.practice-feedback .course-feedback-choices label:has(input:checked){color:#eef4ef;background:#1b3428;border-color:#83dda8}.practice-feedback .course-feedback-comment small,.practice-feedback .course-feedback-note,.practice-feedback .course-feedback-submit p{color:#94a39b}.practice-feedback .course-feedback-comment textarea{color:#eef4ef;background:#111b17;border-color:#415149}.practice-feedback .course-feedback-comment textarea::placeholder{color:#718078}.practice-feedback .course-feedback-comment textarea:focus{border-color:#83dda8;box-shadow:0 0 0 3px #83dda824}.practice-feedback .course-feedback-remaining{color:#b0bdb6}.practice-feedback .course-feedback-submit button{color:#dff5e7;border-color:#659978}.practice-feedback .course-feedback-submit button:hover:not(:disabled){color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.practice-feedback .course-feedback-submit p.is-error{color:#efaaa2}.sample-output{background:#111b17;border-radius:7px;margin-top:15px;padding:13px}.sample-output span{color:#87968e}.sample-output pre{color:#e8efeb}.private-test-suite-results{gap:9px;margin:15px 0 0;padding:0;list-style:none;display:grid}.private-test-suite-results li{background:#111b17;border:1px solid #34443c;border-radius:8px;grid-template-columns:56px repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.private-test-suite-results li>span{color:#91cca9;border-right:1px solid #34443c;place-items:center;padding:13px 10px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800;display:grid}.private-test-suite-results li>div{min-width:0;padding:11px 12px}.private-test-suite-results li>div+div{border-left:1px solid #34443c}.coding-result .private-test-suite-results p{color:#87968e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:9px;font-weight:800}.private-test-suite-results pre{color:#e8efeb;white-space:pre-wrap;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}.private-test-suite-check>span{color:#b5c2ba;border:1px solid #46564e;border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.private-test-suite-check.is-matched>span{color:#a0e9bd;background:#83dda814;border-color:#49755a}.private-test-suite-check.is-mismatch>span{color:#f1afa4;background:#f1afa412;border-color:#745047}.debug-output{background:#16221c;border:1px solid #34443c;border-radius:7px;margin-top:10px;padding:13px}.debug-output span{color:#91cca9}.debug-output pre{color:#cbd6d0;white-space:pre-wrap;max-height:150px;margin:9px 0 0;overflow:auto}.attempt-history{padding:8px 22px 24px}.attempt-history .quiz-kicker{color:#91cca9}.attempt-history h3{margin:5px 0 17px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600}.attempt-history ol{border-top:1px solid #31423a;margin:0;padding:0;list-style:none}.attempt-history li{color:#96a49d;border-bottom:1px solid #31423a;grid-template-columns:36px minmax(100px,1fr) 80px auto minmax(74px,auto);align-items:center;gap:10px;min-height:45px;font-size:10px;display:grid}.attempt-history li strong{font-size:11px}.attempt-accepted{color:#83dda8}.attempt-wrong{color:#efaaa2}.attempt-source-link,.attempt-source-state{white-space:nowrap;justify-self:end;font-size:10px;font-weight:700}.attempt-source-link{color:#91cca9;text-underline-offset:3px;text-decoration:none}.attempt-source-link:hover{color:#b8eccd;text-decoration:underline}.attempt-source-link:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #83dda8}.attempt-source-state{color:#73827a;font-weight:600}.attempt-history-empty{color:#96a49d;border:1px dashed #415149;border-radius:8px;margin:0;padding:17px;font-size:11px;line-height:1.5}.problem-step-navigation{grid-template-columns:1fr 1fr;gap:16px;margin-top:25px;display:grid}.problem-step-navigation>a{background:#ffffff9e;border:1px solid #17231e24;border-radius:11px;align-content:center;gap:6px;min-height:88px;padding:21px 24px;text-decoration:none;display:grid}.problem-step-navigation>a:last-child{text-align:right}.problem-step-navigation>a:hover{border-color:var(--accent);background:var(--surface)}.problem-step-navigation>a:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.problem-step-navigation span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.problem-step-navigation strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:18px;font-weight:600}.css-practice-bridge{background:#ffffffa3;border:1px solid #17231e24;border-radius:13px;justify-content:space-between;align-items:center;gap:36px;margin-top:22px;padding:26px 28px;display:flex}.css-practice-bridge h2{max-width:620px;margin:7px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:26px;font-weight:600;line-height:1.1}.css-practice-bridge p:last-child{max-width:66ch;color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.55}.css-practice-bridge>a{min-height:44px;color:var(--accent-deep);border:1px solid #bfd4c5;border-radius:999px;flex:none;align-items:center;gap:12px;padding:0 16px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.css-practice-bridge>a:hover{border-color:var(--accent);background:#edf4ec}.css-practice-bridge>a:focus-visible,.css-challenge-row:focus-visible,.css-next-challenge:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.css-practice-hero,.css-challenge-catalog,.css-challenge-shell{width:min(1184px,100% - 48px);margin-inline:auto}.css-practice-hero{grid-template-columns:minmax(0,1.22fr) minmax(320px,.58fr);align-items:end;gap:88px;padding:88px 0 74px;display:grid}.css-practice-hero-copy{max-width:760px}.css-practice-hero h1{max-width:760px;font-size:clamp(54px,6.2vw,82px)}.css-practice-hero-copy>p:not(.eyebrow){max-width:60ch;color:var(--muted);text-wrap:pretty;margin:28px 0;font-size:18px;line-height:1.65}.css-path-progress{background:#ffffffb8;border:1px solid #17231e29;border-radius:17px 17px 5px;padding:31px;box-shadow:0 22px 50px #17231e17}.css-path-progress>div:first-child{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.css-path-progress>div:first-child span{color:var(--muted);font-size:12px;font-weight:750}.css-path-progress strong{letter-spacing:-.05em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:42px;font-weight:600}.css-path-progress p{color:var(--muted);margin:19px 0 0;font-size:13px;line-height:1.55}.css-challenge-catalog{padding:68px 0 112px}.css-challenge-list{background:var(--surface);border:1px solid #17231e24;border-radius:15px;overflow:hidden;box-shadow:0 20px 48px #17231e14}.css-challenge-row{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr) 170px 96px 24px;align-items:center;gap:18px;min-height:94px;padding:0 27px;text-decoration:none;transition:background-color .16s ease-out,color .16s ease-out;display:grid}.css-challenge-row:last-child{border-bottom:0}.css-challenge-row:hover{background:#f2f6f0}.css-challenge-row-copy{gap:6px;display:grid}.css-challenge-row-copy strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;font-weight:600}.css-challenge-row-copy small{max-width:62ch;color:var(--muted);font-size:11px;line-height:1.5}.css-challenge-row>span:last-child{color:var(--accent);font-size:20px}.css-challenge-shell{padding:34px 0 104px}.css-challenge-brief{background:#ffffffb8;border:1px solid #17231e26;border-radius:17px 17px 5px;grid-template-columns:minmax(0,1fr) minmax(250px,.4fr);align-items:end;gap:64px;margin-top:22px;padding:42px;display:grid}.css-challenge-brief h1{margin-top:10px;font-size:clamp(48px,6vw,70px)}.css-challenge-brief>div:first-child>p:last-child{max-width:62ch;color:var(--muted);margin:20px 0 0;font-size:16px;line-height:1.65}.css-challenge-outcome{border-left:1px solid var(--line);gap:9px;padding-left:25px;display:grid}.css-challenge-outcome span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.css-challenge-outcome strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600;line-height:1.25}.css-challenge-workspace{color:#edf4ef;background:#17231e;border:1px solid #26342e;border-radius:17px;margin-top:26px;overflow:hidden;box-shadow:0 25px 58px #17231e33}.css-challenge-workspace-heading{border-bottom:1px solid #31423a;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:31px 32px 27px;display:grid}.css-challenge-workspace-heading .quiz-kicker,.css-check-list .quiz-kicker,.css-attempt-history .quiz-kicker{color:#91cca9}.css-challenge-workspace-heading h2{margin:7px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:35px;font-weight:600;line-height:1}.css-challenge-workspace-heading p:not(.quiz-kicker){color:#aebbb4;max-width:60ch;margin:13px 0 0;font-size:12px;line-height:1.55}.css-best-result{text-align:right;border-left:1px solid #31423a;align-content:center;gap:6px;min-width:148px;padding-left:24px;display:grid}.css-best-result span,.css-best-result small{color:#8c9b93;font-size:10px;font-weight:750}.css-best-result span{letter-spacing:.07em;text-transform:uppercase}.css-best-result strong{color:#d4ddd7;font-size:13px}.css-best-result.is-complete strong{color:#83dda8}.css-challenge-panels{grid-template-columns:1fr 1fr;display:grid}.css-challenge-editor{border-right:1px solid #31423a}.css-challenge-editor label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.css-challenge-editor textarea,.css-challenge-preview iframe{border:0;width:100%;min-height:420px;display:block}.css-challenge-editor textarea{resize:vertical;color:#eef4ef;tab-size:2;background:linear-gradient(90deg,#1a2721 42px,#0000 42px),#111b17;outline:none;margin:0;padding:24px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.7}.css-challenge-editor textarea:focus-visible{box-shadow:inset 0 0 0 3px #66dc9d61}.css-challenge-preview{background:var(--paper)}.css-challenge-submit{background:#1a2721;border-top:1px solid #31423a;border-bottom:1px solid #31423a;align-items:center;gap:18px;padding:18px 22px;display:flex}.css-challenge-submit p{color:#aebbb4;margin:0;font-size:11px;line-height:1.5}.css-challenge-submit p.is-error{color:#efaaa2}.css-challenge-submit a{color:#83dda8;text-underline-offset:3px}.css-success-takeaway{background:#0d1f166b;border-bottom:1px solid #83dda833;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:center;gap:28px;padding:20px 30px;display:grid}.css-success-takeaway>div{gap:4px;display:grid}.css-success-takeaway span{color:#83dda8;letter-spacing:.06em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800}.css-success-takeaway h3{color:#edf5f0;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600;line-height:1.2}.css-success-takeaway p{color:#b9c6bf;max-width:62ch;margin:0;font-size:12px;line-height:1.55}.css-challenge-feedback{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);display:grid}.css-check-list,.css-attempt-history{padding:28px 30px 32px}.css-check-list{border-right:1px solid #31423a}.css-check-list-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.css-check-list-heading h3,.css-attempt-history h3{margin:6px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600}.css-check-list-heading>span{color:#aebbb4;font-size:11px;font-weight:750}.css-check{border-top:1px solid #31423a;grid-template-columns:24px minmax(0,1fr);gap:12px;min-height:74px;padding:15px 0;display:grid}.css-check>span{color:#819087;font-size:14px}.css-check.is-passed>span,.css-check.is-passed strong{color:#83dda8}.css-check strong{color:#e2e9e4;font-size:12px}.css-check-recovery{gap:8px;max-width:66ch;margin-top:10px;display:grid}.css-check-recovery p{color:#9eada5;margin:5px 0 0;font-size:11px;line-height:1.5}.css-check-recovery p:first-child{margin-top:0}.css-check-recovery span{color:#83dda8;letter-spacing:.05em;text-transform:uppercase;margin-right:7px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800}.css-attempt-history ol{margin:20px 0 0;padding:0;list-style:none}.css-attempt-history li{border-top:1px solid #31423a;justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.css-attempt-history li strong,.css-attempt-history li span{font-size:11px}.css-attempt-history li strong{color:#dce5df}.css-attempt-history li span{color:#8f9e96}.css-empty-attempts{color:#96a49d;border:1px dashed #415149;border-radius:8px;margin:20px 0 0;padding:16px;font-size:11px;line-height:1.5}.css-next-challenge{color:#dff5e7;border:1px solid #659978;border-radius:8px;align-items:center;gap:10px;min-height:44px;margin-top:20px;padding:0 14px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.css-next-challenge:hover{color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.dashboard-practice{background:#ffffffa8;border:1px solid #17231e24;border-radius:15px;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:54px;margin-top:24px;padding:35px 40px;display:grid}.dashboard-practice .course-kicker{margin:0 0 9px}.dashboard-practice h2{letter-spacing:-.03em;max-width:680px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:31px;font-weight:600;line-height:1.08}.dashboard-practice>div:first-child>p:not(.course-kicker){max-width:62ch;color:var(--muted);margin:13px 0 20px;font-size:13px;line-height:1.6}.dashboard-practice .course-lesson-action{color:var(--accent-deep);border-color:#c7d9cc}.dashboard-practice-score{background:var(--ink);border-radius:11px;align-content:center;min-height:132px;padding:22px;display:grid}.dashboard-practice-score>span{color:#9baba2}.dashboard-practice-score>strong{color:#fff;letter-spacing:-.04em;margin-top:5px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:38px;font-weight:600}.dashboard-practice-score .practice-progress-track{background:#35463e;margin-top:13px}.dashboard-account-tools{background:#ffffffad;border:1px solid #17231e24;border-radius:15px;grid-template-columns:minmax(0,1fr) minmax(220px,.38fr);align-items:center;gap:48px;margin-top:26px;padding:32px 36px;display:grid}.dashboard-account-tools .course-kicker{margin:0 0 8px}.dashboard-account-tools h2{letter-spacing:-.03em;max-width:680px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:29px;font-weight:600;line-height:1.08}.dashboard-account-tools p:not(.course-kicker){max-width:64ch;color:var(--muted);margin:13px 0 0;font-size:13px;line-height:1.6}.dashboard-account-actions{gap:9px;display:grid}.dashboard-account-actions a{min-height:46px;color:var(--accent-deep);background:var(--surface);border:1px solid #c7d9cc;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:0 14px;font-size:13px;font-weight:750;text-decoration:none;transition:border-color .16s ease-out,background-color .16s ease-out;display:flex}.dashboard-account-actions a:hover,.dashboard-account-actions a.is-earned{border-color:var(--accent);background:#eff7f1}.dashboard-account-actions a:focus-visible{outline-offset:3px;outline:3px solid #28765247}.settings-shell,.certificate-shell,.certificate-locked-shell{width:min(900px,100% - 48px);min-height:calc(100vh - 161px);margin:0 auto;padding:72px 0 112px}.settings-heading,.certificate-heading{max-width:760px}.settings-heading h1,.certificate-heading h1,.certificate-locked-shell h1{font-size:clamp(52px,6.2vw,76px)}.settings-heading>p:last-child,.certificate-heading>div>p:last-child,.certificate-locked-shell>p:not(.eyebrow){max-width:62ch;color:var(--muted);margin:22px 0 0;font-size:17px;line-height:1.65}.settings-panel{background:var(--surface);border:1px solid #17231e26;border-radius:17px;margin-top:56px;padding:42px;box-shadow:0 22px 48px #17231e17}.settings-panel-heading,.certificate-heading{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.settings-panel-heading .course-kicker{margin:0 0 8px}.settings-panel-heading h2{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:36px;font-weight:600;line-height:1.08}.settings-panel-heading>span,.certificate-heading>span{color:var(--accent-deep);letter-spacing:.04em;text-transform:uppercase;background:#eef6ed;border:1px solid #c6ddcb;border-radius:999px;flex:none;padding:7px 10px;font-size:11px;font-weight:800}.settings-form{margin-top:38px}.settings-field{gap:9px;display:grid}.settings-field>span{font-size:13px;font-weight:800}.settings-field input{width:100%;min-height:54px;color:var(--ink);font:inherit;background:#fbfcf8;border:1px solid #bfc9c1;border-radius:9px;padding:0 15px;font-size:18px}.settings-field input:hover{border-color:#91a197}.settings-field input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #28765226}.settings-field small{color:var(--muted);font-size:12px;line-height:1.5}.settings-save-row{align-items:center;gap:20px;margin-top:26px;display:flex}.settings-save-row button,.certificate-print-button{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:48px;font:inherit;cursor:pointer;border-radius:9px;padding:0 18px;font-size:13px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out}.settings-save-row button:hover:not(:disabled),.certificate-print-button:hover{background:#0f432b;transform:translateY(-1px)}.settings-save-row button:active:not(:disabled),.certificate-print-button:active{transform:translateY(1px)}.settings-save-row button:focus-visible,.certificate-print-button:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.settings-save-row button:disabled{opacity:.54;cursor:not-allowed}.settings-save-row p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.settings-save-row p.is-error{color:#9c2f29}.settings-footer-actions{justify-content:space-between;align-items:center;gap:24px;margin-top:22px;display:flex}.settings-footer-actions p{color:var(--muted);margin:0;font-size:13px}.settings-certificate-link{color:#fff;background:var(--accent-deep);border-radius:8px;align-items:center;gap:18px;min-height:46px;padding:0 15px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.settings-certificate-link:focus-visible,.text-link:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.text-link{color:var(--accent-deep);text-underline-offset:4px;font-size:13px;font-weight:750}.certificate-locked-shell{flex-direction:column;justify-content:center;align-items:flex-start;max-width:760px;display:flex}.certificate-lock-mark{width:74px;height:74px;color:var(--paper);background:var(--ink);border-radius:50%;place-items:center;margin-bottom:30px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:29px;font-weight:600;display:grid}.certificate-lock-mark:after{content:"%";color:#9fd9b8;margin-left:-4px;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:10px;font-weight:800}.certificate-locked-shell .primary-action{margin-top:30px}.certificate-locked-shell .text-link{margin-top:20px}.certificate-shell{width:min(980px,100% - 48px)}.certificate-heading{align-items:flex-end;max-width:none}.certificate-card{color:var(--ink);text-align:center;background:linear-gradient(135deg,#28765211,#0000 42%),#fffef9;border:1px solid #17231e3b;border-radius:4px;margin-top:54px;padding:54px 68px 48px;position:relative;overflow:hidden;box-shadow:0 28px 60px #17231e1f}.certificate-card:before,.certificate-card:after{content:"";pointer-events:none;border:1px solid #17231e1f;position:absolute}.certificate-card:before{inset:13px}.certificate-card:after{border-color:#28765233;inset:19px}.certificate-brand{z-index:1;align-items:center;gap:10px;font-size:13px;font-weight:800;display:inline-flex;position:relative}.certificate-brand-mark{width:27px;height:27px;color:var(--paper);background:var(--ink);border-radius:8px 8px 8px 3px;place-items:center;font-family:Georgia,serif;font-style:italic;display:grid}.certificate-kicker{z-index:1;color:var(--accent-deep);letter-spacing:.16em;text-transform:uppercase;margin:36px 0 0;font-size:12px;font-weight:850;position:relative}.certificate-intro,.certificate-copy{z-index:1;color:var(--muted);margin:27px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;position:relative}.certificate-card h2{z-index:1;letter-spacing:-.045em;margin:12px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(46px,7vw,76px);font-weight:600;line-height:1;position:relative}.certificate-copy{margin-top:22px}.certificate-card h3{z-index:1;color:var(--accent-deep);letter-spacing:-.025em;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(28px,4vw,42px);font-weight:600;line-height:1.05;position:relative}.certificate-detail{z-index:1;max-width:62ch;color:var(--muted);margin:22px auto 0;font-size:13px;line-height:1.7;position:relative}.certificate-rule{background:var(--accent);width:84px;height:1px;margin:36px auto}.certificate-meta{z-index:1;text-align:left;grid-template-columns:1fr auto 1fr;align-items:center;gap:38px;display:grid;position:relative}.certificate-meta>div:last-child{text-align:right}.certificate-meta span,.certificate-meta strong{display:block}.certificate-meta>div:not(.certificate-seal) span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.certificate-meta strong{margin-top:6px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:17px;font-weight:600}.certificate-seal{width:82px;height:82px;color:var(--paper);background:var(--accent-deep);text-align:center;border:5px double #9fd9b8;border-radius:50%;align-content:center;place-items:center;display:grid}.certificate-seal span{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;line-height:1}.certificate-seal small{letter-spacing:.09em;text-transform:uppercase;margin-top:4px;font-size:7px;font-weight:800}.certificate-actions{align-items:center;gap:22px;margin-top:24px;display:flex}.profile-shell{width:min(1120px,100% - 48px);min-height:calc(100vh - 161px);margin:0 auto;padding:72px 0 112px}.profile-layout{gap:28px;display:grid}.profile-heading{border-bottom:1px solid #17231e29;grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:72px;padding-bottom:42px;display:grid}.profile-heading h1{max-width:780px;font-size:clamp(52px,6.4vw,78px)}.profile-title-row{align-items:flex-end;gap:18px;margin-top:24px;display:flex}.profile-title-row h1{margin:0}.profile-private-badge{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;background:#edf4ee;border:1px solid #a9c2b1;border-radius:999px;flex:none;margin-bottom:9px;padding:7px 10px;font-size:10px;font-weight:800;line-height:1}.profile-heading>div:first-child>p:last-child{max-width:59ch;color:var(--muted);margin:25px 0 0;font-size:17px;line-height:1.62}.profile-privacy-note{border-left:1px solid #b8c7bc;grid-template-columns:10px 1fr;gap:13px;padding:18px 0 2px 22px;display:grid}.profile-privacy-note>span{color:var(--accent);margin-top:5px;font-size:11px}.profile-privacy-note p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.profile-privacy-note strong{color:var(--ink);font-size:13px;display:block}.profile-project-link{width:fit-content;color:var(--accent-deep);text-underline-offset:4px;grid-column:2;align-items:center;gap:7px;margin-top:9px;font-size:12px;font-weight:750;text-decoration-line:underline;text-decoration-color:#2876524d;display:inline-flex}.profile-project-link:hover{text-decoration-color:currentColor}.profile-project-link:focus-visible{outline-offset:4px;outline:3px solid #28765240}.profile-progress{background:var(--surface);border:1px solid #17231e29;border-radius:20px 20px 7px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);display:grid;box-shadow:0 24px 52px #17231e17}.profile-course-progress{padding:42px 44px}.profile-section-heading{justify-content:space-between;align-items:flex-start;gap:36px;display:flex}.profile-section-heading p,.profile-practice-progress>p:first-child{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800}.profile-section-heading h2{letter-spacing:-.035em;max-width:530px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:33px;font-weight:600;line-height:1.08}.profile-section-heading>strong{color:var(--accent-deep);letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:51px;font-weight:600;line-height:.9}.profile-progress-track{background:#e5ebe5;border-radius:99px;height:8px;margin-top:38px;overflow:hidden}.profile-progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.profile-course-progress dl{grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0 0;display:grid}.profile-course-progress dl>div{gap:5px;display:grid}.profile-course-progress dt{color:var(--muted);font-size:11px}.profile-course-progress dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:750}.profile-practice-progress{color:#fff;background:radial-gradient(circle at 82% 16%, #66dc9d29 0 54px, transparent 55px), var(--ink);border-radius:0 19px 6px 0;flex-direction:column;justify-content:center;padding:42px 36px;display:flex}.profile-practice-progress>p:first-child{color:#9fd9b8}.profile-practice-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px;display:grid}.profile-practice-counts>div{min-width:0}.profile-practice-counts>div+div{border-left:1px solid #ffffff29;padding-left:22px}.profile-practice-counts strong{letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:48px;font-weight:600;line-height:.85;display:block}.profile-practice-counts strong span{color:#81928a;font-size:23px}.profile-practice-counts h2{color:#fff;margin:14px 0 0;font-size:13px;font-weight:750;line-height:1.35}.profile-lab-progress{border-top:1px solid #ffffff29;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:24px;padding-top:20px;display:flex}.profile-lab-progress h2{color:#fff;margin:0;font-size:13px;line-height:1.35}.profile-lab-progress div>span{color:#9bada3;margin-top:4px;font-size:11px;line-height:1.4;display:block}.profile-lab-progress>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;flex:none;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:28px;font-weight:600;line-height:1}.profile-lab-progress>strong span{color:#81928a;font-size:17px}.profile-practice-progress>p:last-child{color:#b9c4be;margin:20px 0 0;font-size:12px;line-height:1.6}.profile-lower-grid{grid-template-columns:minmax(0,1fr) 345px;align-items:stretch;gap:28px;display:grid}.profile-attempts{background:#ffffffad;border:1px solid #17231e24;border-radius:15px;padding:37px 40px}.profile-attempts-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.profile-attempts-heading .course-kicker{margin:0 0 7px}.profile-attempts-heading h2{letter-spacing:-.03em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:31px;font-weight:600;line-height:1.05}.profile-attempts-heading>span{color:var(--muted);font-size:11px}.profile-attempts-heading>a{color:var(--accent-deep);font-size:11px;font-weight:800;text-decoration:none}.profile-attempts-heading>a:hover{color:var(--accent)}.profile-attempts-heading>a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.profile-attempts ol{border-top:1px solid var(--line);margin:27px 0 0;padding:0;list-style:none}.profile-attempts li{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;display:grid}.profile-attempt-number{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.profile-attempts li>div:nth-child(2){gap:5px;display:grid}.profile-attempts li a{width:fit-content;color:var(--ink);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:18px;font-weight:600;text-decoration:none}.profile-attempts li a:hover{color:var(--accent)}.profile-attempts li a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.profile-attempts time{color:var(--muted);font-size:10px}.profile-attempt-result{text-align:right;gap:5px;display:grid}.profile-attempt-result strong{color:#8e3c35;font-size:11px}.profile-attempt-result strong.is-accepted{color:var(--accent-deep)}.profile-attempt-result span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.profile-empty-attempts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:22px;min-height:168px;margin-top:27px;padding:28px;display:grid}.profile-empty-attempts span{color:#91a198;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:38px;font-style:italic}.profile-empty-attempts p{max-width:45ch;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.profile-next-action{color:#fff;background:var(--accent-deep);border-radius:15px 15px 5px;flex-direction:column;padding:38px 34px;display:flex;box-shadow:0 20px 45px #1754372b}.profile-next-action>p:first-child{color:#a9dbba;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.profile-next-action h2{color:#fff;letter-spacing:-.04em;margin:35px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:37px;font-weight:600;line-height:1.02}.profile-next-action>p:nth-of-type(2){color:#c2ddcb;margin:17px 0 0;font-size:13px;line-height:1.65}.profile-primary-action{min-height:50px;color:var(--ink);background:#fff;border:1px solid #fff;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding:0 17px;font-size:13px;font-weight:800;text-decoration:none;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.profile-primary-action:hover{background:#eff7f1;transform:translateY(-1px)}.profile-primary-action:active{transform:translateY(1px)}.profile-primary-action:focus-visible{outline-offset:4px;outline:3px solid #ffffff7a}.dashboard-playground{background:#ffffff7a;border:1px solid #17231e24;border-radius:12px;justify-content:space-between;align-items:center;gap:32px;margin-top:16px;padding:25px 32px;display:flex}.dashboard-playground .course-kicker{margin:0 0 6px}.dashboard-playground h2{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600}.dashboard-playground p:last-child{color:var(--muted);margin:8px 0 0;font-size:12px}.dashboard-playground-action{color:#fff;background:var(--ink);border-radius:8px;flex:none;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 18px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-playground-action:hover{background:var(--accent-deep)}.dashboard-playground-action:active{transform:translateY(1px)}.dashboard-playground-action:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.playground-page{background:radial-gradient(circle at 85% 9%, #28765217, transparent 25%), var(--paper);min-height:100vh}.playground-shell{width:min(1184px,100% - 48px);margin:0 auto;padding:64px 0 96px}.playground-intro{grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);align-items:end;gap:72px;display:grid}.playground-intro .eyebrow{margin:0 0 18px}.playground-title-row{align-items:flex-end;gap:18px;display:flex}.playground-intro h1{letter-spacing:-.055em;text-wrap:balance;max-width:720px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(52px,6vw,82px);font-weight:600;line-height:.97}.playground-private-badge{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;background:#edf4ee;border:1px solid #a9c2b1;border-radius:999px;flex:none;margin-bottom:9px;padding:7px 10px;font-size:10px;font-weight:800;line-height:1}.playground-intro-copy{padding-bottom:5px}.playground-intro-copy p{max-width:42ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:15px;line-height:1.65}.playground-intro-copy a{color:var(--accent-deep);text-underline-offset:4px;margin-top:17px;font-size:12px;font-weight:800;display:inline-block}.playground-intro-copy a:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.playground-workbench{color:#eff6f1;background:#111a16;border:1px solid #304239;border-radius:15px;margin-top:52px;overflow:hidden;box-shadow:0 28px 64px #17231e2b}.playground-filebar{background:#18241e;border-bottom:1px solid #304239;justify-content:space-between;align-items:center;gap:24px;min-height:60px;padding:0 24px;font-size:12px;display:flex}.playground-filebar>div,.playground-console header>div{align-items:center;gap:10px;display:inline-flex}.playground-filebar strong,.playground-console header strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:700}.playground-file-dot{background:#83dda8;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #83dda817}.playground-save-state{color:#aab8b0;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.playground-save-state.is-saved{color:#91dfae}.playground-save-state.is-error{color:#efaaa2}.playground-editor{position:relative}.playground-editor label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.playground-editor textarea{resize:vertical;color:#eaf1ed;tab-size:2;background:linear-gradient(90deg,#152019 0 43px,#24332b 43px 44px,#0000 44px),#111a16;border:0;border-radius:0;outline:none;width:100%;min-height:410px;padding:30px 32px 54px 58px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.75}.playground-editor textarea:focus-visible{box-shadow:inset 0 0 0 2px #7acb9a}.playground-editor-meta{color:#84958b;justify-content:flex-end;font-size:10px;display:flex;position:absolute;bottom:16px;left:58px;right:22px}.playground-actions{background:#18241e;border-top:1px solid #304239;border-bottom:1px solid #304239;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:14px 18px;display:grid}.playground-run,.playground-save{min-height:46px;font:inherit;cursor:pointer;border-radius:8px;padding:0 20px;font-size:12px;font-weight:850}.playground-run{color:#102018;background:#91dfae;border:1px solid #a3e5bd;align-items:center;gap:9px;display:inline-flex}.playground-run-hint{color:#84958b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.4}.playground-run:hover{background:#a3e5bd}.playground-save{color:#dbe5df;background:0 0;border:1px solid #43564c}.playground-save:hover{background:#223029;border-color:#6f8277}.playground-run:active,.playground-save:active{transform:translateY(1px)}.playground-run:focus-visible,.playground-save:focus-visible{outline-offset:3px;outline:3px solid #91dfae59}.playground-run:disabled,.playground-save:disabled{opacity:.55;cursor:wait}.playground-console{min-height:190px}.playground-console header{color:#b5c2ba;background:#141f19;border-bottom:1px solid #28372f;justify-content:space-between;align-items:center;min-height:49px;padding:0 24px;display:flex}.playground-console header>span{color:#829188;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.console-status-dot{border:1px solid #8da096;border-radius:50%;width:7px;height:7px}.playground-console-output{color:#cdd8d1;min-height:141px;padding:20px 24px 25px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.7}.playground-console-output ol{margin:0 0 10px;padding:0;list-style:none}.playground-console-output li{grid-template-columns:12px 1fr;gap:8px;display:grid}.playground-console-output li>span{color:#70c691}.playground-console-output code{color:#f1f6f3;white-space:pre-wrap}.playground-console-output p{color:#84958b;margin:0}.playground-console-output.is-error p{color:#efaaa2}.playground-checks{background:#18241e;border-top:1px solid #304239}.playground-checks>summary{color:#dbe5df;cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:0 24px;list-style:none;display:flex}.playground-checks>summary::-webkit-details-marker{display:none}.playground-checks>summary>span:first-child{gap:3px;display:grid}.playground-checks>summary strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;font-weight:600}.playground-checks>summary small,.playground-checks>summary>span:last-child{color:#84958b;font-size:10px}.playground-checks>summary>span:last-child{letter-spacing:.05em;text-transform:uppercase;font-weight:800}.playground-checks>summary:focus-visible{outline-offset:-4px;outline:2px solid #91dfae}.playground-checks-body{background:#111a16;border-top:1px solid #304239;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;padding:24px;display:grid}.playground-checks-input{align-content:start;display:grid}.playground-checks-input label,.playground-check-results>strong{color:#dbe5df;font-size:11px;font-weight:800}.playground-checks-input textarea{resize:vertical;color:#eaf1ed;background:#18241e;border:1px solid #43564c;border-radius:8px;outline:none;width:100%;min-height:116px;margin-top:9px;padding:14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.65}.playground-checks-input textarea::placeholder{color:#718077}.playground-checks-input textarea:focus-visible{border-color:#91dfae;box-shadow:0 0 0 3px #91dfae29}.playground-checks-input p{color:#84958b;margin:8px 0 0;font-size:10px;line-height:1.5}.playground-checks-run{color:#dbe5df;min-height:42px;font:inherit;cursor:pointer;background:0 0;border:1px solid #60756a;border-radius:8px;justify-self:start;margin-top:14px;padding:0 16px;font-size:11px;font-weight:800}.playground-checks-run:hover:not(:disabled){background:#223029;border-color:#91dfae}.playground-checks-run:active:not(:disabled){transform:translateY(1px)}.playground-checks-run:focus-visible{outline-offset:3px;outline:3px solid #91dfae4d}.playground-checks-run:disabled{opacity:.55;cursor:wait}.playground-check-results{background:#141f19;border:1px solid #304239;border-radius:10px;min-height:188px;padding:18px}.playground-check-results>p{color:#84958b;margin:6px 0 0;font-size:11px;line-height:1.5}.playground-check-results.is-error>p{color:#efaaa2}.playground-check-results ol{gap:9px;margin:16px 0 0;padding:0;list-style:none;display:grid}.playground-check-results li{background:#18241e;border:1px solid #304239;border-radius:7px;grid-template-columns:auto 1fr;gap:4px 10px;padding:11px 12px;display:grid}.playground-check-results li>span{color:#91dfae;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:850}.playground-check-results li.is-failed>span{color:#efaaa2}.playground-check-results code{overflow-wrap:anywhere;color:#eaf1ed;min-width:0;font-size:11px}.playground-check-results small{color:#efaaa2;grid-column:2;font-size:10px}.playground-boundary{border-top:1px solid #17231e29;border-bottom:1px solid #17231e29;grid-template-columns:repeat(3,1fr);margin-top:24px;display:grid}.playground-boundary>div{grid-template-columns:28px 1fr;column-gap:10px;padding:24px 26px 26px;display:grid}.playground-boundary>div+div{border-left:1px solid #17231e29}.playground-boundary span{color:var(--accent);grid-row:span 2;font-size:10px;font-weight:850}.playground-boundary strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:18px;font-weight:600}.playground-boundary p{max-width:34ch;color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.5}footer{color:var(--muted);background:var(--paper);align-items:center;padding:30px max(24px,50% - 592px);font-size:12px;display:flex}.footer-divider{margin:0 8px}.tin-credit{color:inherit;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.tin-credit:hover{color:var(--ink)}.tin-credit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tin-mark{background:#66dc9d;width:1em;height:1em}@media (max-width:900px){.project-hero{grid-template-columns:1fr;gap:42px;padding:52px 42px}.project-brief{max-width:520px}.project-panels,.project-review{grid-template-columns:1fr}.project-editor{border-bottom:1px solid #31423a;border-right:0}.project-actions{max-width:420px}.practice-hero,.css-practice-hero{grid-template-columns:1fr;gap:52px;padding-top:72px}.css-path-progress{max-width:620px}.css-challenge-brief{grid-template-columns:1fr;gap:32px}.css-challenge-outcome{border-top:1px solid var(--line);border-left:0;padding:22px 0 0}.css-challenge-feedback{grid-template-columns:1fr}.css-success-takeaway{grid-template-columns:1fr;gap:10px}.css-check-list{border-bottom:1px solid #31423a;border-right:0}.practice-progress-card{max-width:620px}.coding-problem-layout{grid-template-columns:1fr}.coding-workspace{position:static}.problem-brief{max-width:none}.hero{grid-template-columns:1fr;gap:64px;padding:72px 0 88px}.about-hero{grid-template-columns:1fr;gap:64px;padding:72px 0 96px}.not-found-shell{grid-template-columns:1fr;gap:56px;padding:64px 0 80px}.not-found-code{max-width:620px;min-height:290px}.about-loop{max-width:620px}.about-story,.about-standard{grid-template-columns:1fr;gap:48px}.course-overview-hero,.course-journey,.learn-entry-hero,.learn-outcome-section{grid-template-columns:1fr}.course-overview-hero{gap:64px}.course-build-preview,.semantic-document-map,.javascript-judge-preview,.project-discovery-preview{width:min(680px,100%);transform:none}.learn-entry-hero{gap:64px}.learn-outcome-section,.course-journey{gap:58px}.course-journey-heading{position:static}.about-story-copy{align-self:auto}.hero-copy{max-width:720px}h1{max-width:800px}.course-window{max-width:620px;transform:none}.path-grid{grid-template-columns:1fr;gap:48px}.path-step p{max-width:52ch}.account-shell{grid-template-columns:1fr;gap:56px;padding-top:72px}.account-card{max-width:620px}.dashboard-course{grid-template-columns:1fr}.dashboard-learning-path-heading{grid-template-columns:1fr;gap:28px}.dashboard-path-summary{max-width:240px}.dashboard-milestone{grid-template-columns:42px minmax(0,1fr)}.dashboard-path-action{grid-column:2;width:fit-content}.dashboard-practice{grid-template-columns:1fr;gap:28px}.dashboard-account-tools{grid-template-columns:1fr;gap:26px}.profile-heading{grid-template-columns:1fr;gap:28px}.profile-privacy-note{max-width:460px}.profile-progress{grid-template-columns:1fr}.profile-practice-progress{border-radius:0 0 6px 19px;min-height:250px}.profile-lower-grid{grid-template-columns:1fr}.profile-next-action{min-height:320px}.playground-intro{grid-template-columns:1fr;gap:28px}.playground-intro-copy{padding:0}.course-next-step{min-height:220px}.lesson-shell{grid-template-columns:1fr;gap:28px}.lesson-rail{padding-bottom:8px;position:static}.lesson-rail>p,.lesson-rail-progress,.lesson-rail ol{display:none}}@media (max-width:560px){.not-found-code{min-height:230px;padding:32px 20px}.site-nav,.hero,.course-overview-hero,.learn-entry-hero,.learn-outcome-section,.account-shell,.dashboard-shell,.profile-shell,.lesson-shell,.practice-hero,.problem-catalog,.coding-problem-shell,.css-practice-hero,.css-challenge-catalog,.css-challenge-shell,.settings-shell,.certificate-shell,.certificate-locked-shell,.playground-shell{width:min(100% - 32px,1184px)}.project-shell{width:min(100% - 32px,1184px);padding-top:24px}.project-hero{border-radius:16px 16px 5px;margin-top:22px;padding:42px 26px}.project-private-cue{margin-bottom:28px}.project-hero h1{font-size:clamp(45px,14vw,64px)}.project-workspace{border-radius:15px;margin-inline:-8px;padding:38px 24px}.project-workspace-heading{gap:22px;display:grid}.project-score{text-align:left;width:fit-content}.project-editor textarea,.project-preview iframe{min-height:390px}.project-rubric-heading{flex-direction:column;align-items:flex-start;gap:8px}.project-checks{grid-template-columns:1fr}.semantic-repair-drill{padding:20px}.semantic-repair-heading{gap:12px;display:grid}.semantic-repair-heading>span{width:fit-content}.semantic-repair-result{grid-template-columns:1fr}.semantic-repair-result button{width:100%}.project-actions{max-width:none}.revision-project-bridge{grid-template-columns:1fr;gap:20px}.revision-project-actions,.revision-project-primary,.revision-practice-secondary{width:100%}.revision-project-primary,.revision-practice-secondary{justify-content:space-between}.site-nav{min-height:76px}.brand>span:last-child,.nav-link{display:none}.nav-actions{gap:0}.nav-account-link{min-height:44px}.hero{gap:52px;padding-top:56px}.practice-hero,.css-practice-hero{gap:38px;padding:56px 0 42px}.css-practice-hero h1{font-size:clamp(47px,14vw,64px)}.css-practice-hero-copy>p:not(.eyebrow){margin:25px 0;font-size:16px}.css-path-progress{padding:25px}.css-challenge-catalog{padding:52px 0 80px}.css-challenge-row{grid-template-columns:34px minmax(0,1fr) 24px;gap:11px;min-height:100px;padding:0 18px}.css-challenge-row .problem-difficulty,.css-challenge-row .problem-state{display:none}.css-challenge-row-copy strong{font-size:20px}.css-challenge-brief{padding:32px 24px}.css-challenge-brief h1{font-size:47px}.css-challenge-panels{grid-template-columns:1fr}.css-challenge-editor{border-bottom:1px solid #31423a;border-right:0}.css-challenge-workspace-heading{grid-template-columns:1fr}.css-best-result{text-align:left;border-top:1px solid #31423a;border-left:0;padding:18px 0 0}.css-challenge-submit,.css-practice-bridge{flex-direction:column;align-items:stretch}.css-challenge-submit .submit-code-action,.css-practice-bridge>a{width:100%}.css-practice-bridge{padding:22px}.css-check-list-heading{flex-direction:column;align-items:flex-start;gap:10px}.css-success-takeaway{padding:20px 24px}.learn-entry-hero{gap:48px;padding:56px 0 72px}.learn-entry-copy h1{font-size:clamp(47px,14vw,62px)}.learn-entry-lede{margin:26px 0;font-size:16px}.semantic-document-map figcaption,.javascript-judge-preview figcaption,.project-discovery-preview figcaption{min-height:58px;padding:0 16px;font-size:10px}.semantic-page-canvas,.javascript-code-preview,.project-discovery-canvas{padding:15px}.project-discovery-canvas{grid-template-columns:1fr}.project-discovery-document{min-height:360px}.project-discovery-review{padding:21px}.project-discovery-review ul{grid-template-columns:repeat(2,minmax(0,1fr))}.semantic-main-landmark{min-height:250px}.semantic-article-landmark{min-height:185px;padding:21px}.semantic-article-landmark strong{margin-top:30px;font-size:25px}.javascript-code-lines{min-height:250px;padding:26px 18px;font-size:10px}.learn-outcome-section{padding:80px 0 88px}.learn-outcome-heading h2{font-size:42px}.learn-step-rail li{grid-template-columns:36px minmax(0,1fr);gap:12px}.javascript-skill-list>div{grid-template-columns:30px minmax(0,1fr);gap:10px;min-height:72px;padding:0 15px}.javascript-skill-list>div>span:last-child{display:none}.practice-hero h1{font-size:clamp(47px,14vw,64px)}.practice-hero-copy>p:not(.eyebrow){margin:25px 0;font-size:16px}.practice-progress-card{padding:25px}.problem-catalog{padding:52px 0 80px}.problem-catalog-heading{flex-direction:column;align-items:flex-start;gap:16px}.catalog-progress-summary{text-align:left}.problem-catalog-heading h2{font-size:39px}.problem-catalog-filters{margin-top:2px;margin-bottom:28px}.problem-group-heading{align-items:flex-start}.problem-group-heading>span{padding-top:4px}.problem-groups{gap:32px}.practice-playground-entry{flex-direction:column;align-items:flex-start;gap:18px;padding:20px}.practice-review-entry{grid-template-columns:1fr;gap:20px;padding:23px 21px}.practice-review-entry-action{justify-items:start;min-width:0}.saved-problems{padding:21px 20px}.mistake-review{padding:22px 20px}.mistake-review-heading{gap:16px}.mistake-review-list li{grid-template-columns:50px minmax(0,1fr);align-items:start;gap:14px;padding:18px 0}.mistake-review-number span{font-size:25px}.mistake-review-list a{grid-column:2;justify-self:start}.saved-problems-heading{gap:16px}.saved-problems-list{grid-template-columns:1fr}.practice-playground-action{width:100%}.review-session-shell{width:min(100% - 32px,1120px);padding-top:16px}.review-session-hero{grid-template-columns:1fr;align-items:start;gap:32px;padding:40px 25px}.review-session-count{border-top:1px solid #43564c;border-left:0;grid-template-columns:auto auto 1fr;align-items:baseline;gap:9px;width:auto;padding:18px 0 0}.review-session-count strong{font-size:42px}.review-session-plan,.review-session-empty{padding:29px 21px}.review-session-plan-heading{flex-direction:column;align-items:flex-start;gap:15px}.review-session-plan-heading>p{text-align:left;max-width:54ch}.review-session-list li,.review-session-list li.is-first{background:0 0;border-radius:0;grid-template-columns:1fr;align-items:start;gap:14px;min-height:0;margin-inline:0;padding:24px 0}.review-session-step{grid-template-columns:auto 1fr;align-items:baseline}.review-session-primary-action,.review-session-link{justify-self:start}.problem-row{grid-template-columns:34px minmax(0,1fr) 24px;gap:11px;min-height:92px;padding:0 18px}.problem-difficulty,.problem-state{display:none}.problem-row-copy strong{font-size:20px}.coding-problem-shell{padding:18px 0 72px}.coding-problem-layout{margin-top:12px}.problem-brief{padding:32px 24px}.problem-brief h1{font-size:47px}.problem-example{grid-template-columns:1fr}.problem-example>div+div{border-top:1px solid var(--line);border-left:0}.coding-workspace-heading{grid-template-columns:1fr;padding:28px 22px 24px}.best-verdict{text-align:left;border-top:1px solid #31423a;border-left:0;min-width:0;padding:15px 0 0}.code-editor textarea{background:#111b17;min-height:420px;padding:20px 16px;font-size:12px}.loaded-submission-cue{grid-template-columns:1fr;align-items:start;gap:10px;padding:18px 16px}.loaded-submission-cue a{justify-self:start}.starter-restore{padding:8px 16px}.starter-restore-confirmation{flex-direction:column;align-items:stretch;gap:14px;padding:12px 0}.starter-restore-confirmation>div:last-child{justify-content:space-between}.coding-actions{grid-template-columns:1fr 1.2fr;padding:16px;display:grid}.coding-keyboard-hint{grid-column:1/-1;margin-right:0}.coding-result{margin:16px}.practice-solution-note{margin:0 16px 20px;padding:18px}.practice-solution-note-heading,.practice-solution-note-save{flex-direction:column;align-items:stretch}.practice-solution-note-heading>span{width:fit-content}.practice-journal-fields{grid-template-columns:1fr}.practice-solution-note-save button{width:100%}.custom-test-runner{margin:0 16px 16px}.custom-test-fields{grid-template-columns:1fr}.custom-test-action,.custom-test-actions{width:100%}.private-test-case{grid-template-columns:1fr}.private-test-case-expectation{border-top:1px solid #34483d;border-left:0;padding-top:10px;padding-left:0}.private-test-case-actions{grid-column:1}.private-test-suite-results li{grid-template-columns:48px minmax(0,1fr)}.private-test-suite-results li>div+div{border-top:1px solid #34443c;border-left:0;grid-column:2}.accepted-continuation{flex-direction:column;align-items:stretch}.accepted-next-action{width:100%}.accepted-actions{flex-direction:column;align-items:stretch;gap:4px;width:100%}.accepted-secondary-action{justify-content:center}.attempt-history{padding:8px 16px 20px}.attempt-history li{grid-template-columns:28px minmax(88px,1fr) auto auto}.attempt-history li time{display:none}.problem-step-navigation{grid-template-columns:1fr}.problem-step-navigation>a:last-child{text-align:left}.about-hero{gap:48px;width:min(100% - 32px,1184px);padding-top:56px}.about-lede{margin:26px 0;font-size:17px}.course-overview-hero{gap:48px;padding:64px 0 72px}.course-overview-copy h1{font-size:clamp(47px,14vw,62px)}.course-overview-lede{margin:26px 0;font-size:17px}.course-build-stage{grid-template-columns:1fr;padding:16px}.course-code-panel{min-height:220px}.course-page-panel{min-height:300px}.course-proof-strip{grid-template-columns:1fr;gap:26px}.course-journey{padding-top:84px;padding-bottom:88px}.course-journey-steps li{grid-template-columns:38px 1fr;gap:14px}.about-loop-label,.about-loop ol{padding-inline:22px}.about-story,.about-standard{padding-top:84px;padding-bottom:88px}h1{font-size:clamp(48px,15vw,68px)}.hero-lede{margin:26px 0;font-size:17px}.early-access-fields{grid-template-columns:1fr}.early-access-fields button{width:100%}.course-content{padding:34px 24px 40px}.course-content h2{font-size:30px}.lesson-label{margin-top:36px}.learning-path{padding-top:84px;padding-bottom:88px}.account-shell{gap:42px;padding:56px 0 80px}.account-intro h1,.dashboard-heading h1{font-size:clamp(45px,14vw,62px)}.account-intro>p:not(.eyebrow){font-size:16px}.account-form{padding:28px 22px 16px}.account-privacy{padding:0 22px 24px}.dashboard-shell,.profile-shell{min-height:calc(100vh - 76px);padding:54px 0 80px}.profile-heading{padding-bottom:34px}.profile-heading h1{font-size:clamp(45px,14vw,62px)}.profile-title-row{flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px}.profile-private-badge{margin:0}.profile-heading>div:first-child>p:last-child{font-size:15px}.profile-privacy-note{padding-left:17px}.profile-course-progress,.profile-practice-progress{padding:31px 24px}.profile-section-heading{gap:24px;display:grid}.profile-section-heading>strong{font-size:44px}.profile-course-progress dl{grid-template-columns:1fr 1fr}.profile-practice-progress{min-height:230px}.profile-practice-counts{gap:18px}.profile-practice-counts>div+div{padding-left:18px}.profile-lab-progress{align-items:flex-start}.profile-attempts{padding:30px 22px}.profile-attempts li{grid-template-columns:28px minmax(0,1fr)}.profile-attempt-result{text-align:left;grid-column:2;margin-top:-7px;padding-bottom:13px}.profile-empty-attempts{padding-inline:4px}.profile-next-action{min-height:310px;padding:32px 26px}.dashboard-heading{flex-direction:column;align-items:flex-start;gap:28px}.dashboard-course{margin-top:46px}.dashboard-learning-path{border-radius:15px;margin-top:46px}.dashboard-learning-path-heading{padding:32px 24px}.dashboard-path-summary{width:100%;max-width:none;min-height:116px}.dashboard-milestone{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:15px;min-height:0;padding:25px 24px 28px}.dashboard-milestone-marker{width:34px;height:34px}.dashboard-milestone-copy h3{font-size:21px}.dashboard-path-action{grid-column:1/-1;width:100%;margin-top:4px}.dashboard-course-copy{padding:32px 24px 38px}.dashboard-practice,.dashboard-account-tools{padding:28px 24px}.settings-shell,.certificate-shell,.certificate-locked-shell{min-height:calc(100vh - 76px);padding:54px 0 80px}.settings-heading h1,.certificate-heading h1,.certificate-locked-shell h1{font-size:clamp(45px,14vw,62px)}.settings-panel{margin-top:42px;padding:30px 22px}.settings-panel-heading,.certificate-heading,.settings-footer-actions,.settings-save-row,.certificate-actions{flex-direction:column;align-items:flex-start}.settings-save-row button,.settings-certificate-link,.certificate-print-button{justify-content:center;width:100%}.certificate-card{margin-top:40px;padding:48px 30px 38px}.certificate-card h2{font-size:clamp(40px,13vw,60px)}.certificate-meta{grid-template-columns:1fr 72px 1fr;gap:14px}.certificate-seal{width:72px;height:72px}.dashboard-playground{flex-direction:column;align-items:flex-start;padding:24px}.dashboard-playground-action{width:100%}.course-next-step{min-height:190px;padding:32px 24px}.lesson-shell{padding-top:24px}.playground-shell{padding:52px 0 72px}.playground-intro h1{font-size:clamp(47px,14vw,62px)}.playground-title-row{flex-direction:column;align-items:flex-start;gap:14px}.playground-private-badge{margin:0}.playground-workbench{border-radius:12px;margin-top:38px}.playground-filebar{min-height:56px;padding:0 17px}.playground-editor textarea{background:linear-gradient(90deg,#152019 0 29px,#24332b 29px 30px,#0000 30px),#111a16;min-height:390px;padding:24px 17px 52px 40px;font-size:12px}.playground-editor-meta{left:40px;right:16px}.playground-actions{grid-template-columns:1fr 1fr;display:grid}.playground-run{grid-area:1/1}.playground-save{grid-area:1/2}.playground-run-hint{grid-area:2/1;padding-inline:2px}.playground-run,.playground-save{justify-content:center;padding:0 12px}.playground-console header,.playground-console-output{padding-inline:17px}.playground-checks>summary{min-height:74px;padding:0 17px}.playground-checks-body{grid-template-columns:1fr;gap:17px;padding:17px}.playground-checks-run{width:100%}.playground-boundary{grid-template-columns:1fr}.playground-boundary>div+div{border-top:1px solid #17231e29;border-left:0}.lesson-hero{border-radius:16px 16px 6px;padding:40px 28px}.lesson-meta{gap:8px;display:grid}.lesson-hero h1{margin-top:42px;font-size:clamp(45px,14vw,64px)}.lesson-reading-progress{grid-template-columns:1fr;padding:17px}.lesson-reading-progress ol{grid-row:2}.lesson-section{grid-template-columns:1fr;gap:15px;padding:64px 0}.lesson-section-number{margin:0}.lesson-section pre{border-radius:10px;margin-inline:-8px;padding:22px 20px;font-size:12px}.semantic-map>div,.semantic-map-main>div{flex-direction:column;align-items:flex-start;gap:5px}.selector-trace{grid-template-columns:1fr;gap:8px}.lesson-quiz,.quiz-complete,.lesson-workspace,.lesson-notes,.semantic-tutor{border-radius:15px;margin-inline:-8px;padding:38px 24px}.semantic-tutor{margin-top:52px}.semantic-tutor-heading,.semantic-tutor-source{grid-template-columns:1fr;display:grid}.semantic-tutor-heading{gap:16px}.semantic-tutor-heading>span{justify-self:start}.semantic-tutor-field{grid-template-columns:1fr}.semantic-tutor-field>button{width:100%}.lesson-notes-heading,.lesson-notes-save{grid-template-columns:1fr;display:grid}.lesson-notes-heading>span{width:fit-content}.lesson-notes-field textarea{min-height:192px}.lesson-notes-save button{width:100%}.revision-pack{margin:52px -24px -38px;padding:52px 24px 38px}.revision-heading{gap:20px;display:grid}.revision-heading>span{width:fit-content}.revision-heading h3{font-size:34px}.revision-mind-map{margin-inline:-8px;padding:28px 20px}.mind-map-heading{grid-template-columns:1fr;gap:14px}.mind-map-heading h4{font-size:26px}.mind-map-canvas{grid-template-columns:1fr;grid-template-areas:"center""node-1""node-2""node-3""node-4";gap:10px;margin-inline:-4px;padding:20px}.mind-map-center{min-height:142px}.mind-map-node{min-height:96px}.mind-map-node:after{display:none}.mind-map-outline-heading{flex-direction:column;align-items:flex-start;gap:16px}.mind-map-outline-heading a{align-self:flex-start}.mind-map-outline>ol,.revision-summary{grid-template-columns:1fr}.flashcard{min-height:310px;padding:38px 24px}.flashcard h4{font-size:27px}.flashcard-controls{grid-template-columns:1fr 1fr}.flashcard-dots{grid-area:1/1/auto/-1}.flashcard-previous,.flashcard-next{grid-row:2}.flashcard-next{justify-self:end}.revision-next-step{flex-direction:column;align-items:stretch}.revision-practice-link{justify-content:space-between;width:100%}.workspace-heading{gap:22px;display:grid}.workspace-score{text-align:left}.workspace-panels{grid-template-columns:1fr}.workspace-editor{border-bottom:1px solid #31423a;border-right:0}.workspace-editor textarea,.workspace-preview iframe,.workspace-preview-loading{min-height:390px}.workspace-review,.workspace-checks{grid-template-columns:1fr}.workspace-save{width:100%}.quiz-heading{display:grid}.quiz-heading>span{width:fit-content}.quiz-question legend{grid-template-columns:30px 1fr}.quiz-choices{margin-left:44px}.quiz-submit-row{grid-template-columns:1fr}.quiz-submit-row .lesson-primary-action{width:100%}.quiz-attempt-review-list{grid-template-columns:1fr}.course-feedback-heading,.course-feedback-submit{grid-template-columns:1fr;display:grid}.course-feedback-heading>span{width:fit-content}.course-feedback-choices{grid-template-columns:1fr}.course-feedback-note{flex-direction:column;align-items:flex-start;gap:4px}.course-feedback-submit button{width:100%}.path-grid{margin-top:58px}footer{flex-direction:column;align-items:flex-start;gap:8px}.footer-divider{display:none}}@media print{@page{size:landscape;margin:14mm}html,body,.certificate-page{color:#17231e;background:#fff}.certificate-screen-only,body>.posthog-reset{display:none!important}.certificate-shell{width:100%;min-height:auto;padding:0}.certificate-card{break-inside:avoid;box-shadow:none;margin:0;padding:42px 56px 38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-action,.skip-link,.early-access-fields button,.course-lesson-action,.lesson-primary-action,.settings-save-row button,.certificate-print-button,.flashcard-reveal,.flashcard-next{transition:none}}.dashboard-interview{background:#ffffff8c;border:1px solid #17231e24;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;margin-top:28px;padding:32px 36px;display:grid}.dashboard-interview .course-kicker{margin-top:0}.dashboard-interview h2{letter-spacing:-.035em;text-wrap:balance;max-width:18ch;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(31px,3vw,42px);line-height:1.02}.dashboard-interview>div:first-child>p:last-child{max-width:57ch;color:var(--muted);margin:16px 0 0;line-height:1.6}.dashboard-interview>div:last-child{justify-items:end;gap:12px;display:grid}.dashboard-interview>div:last-child>span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:750}.dashboard-interview-action{min-height:44px;color:var(--accent-deep);border:1px solid #8ba995;border-radius:8px;align-items:center;gap:18px;padding:0 16px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-interview-action:hover{border-color:var(--accent-deep);background:#edf4ee}.dashboard-interview-action:active{transform:translateY(1px)}.dashboard-interview-action:focus-visible{outline-offset:3px;outline:3px solid #28765247}.interview-shell{width:min(1040px,100% - 48px);min-height:calc(100vh - 161px);margin:0 auto;padding:64px 0 112px}.interview-hero{color:#fff;background:var(--ink);border-radius:20px 20px 8px;grid-template-columns:minmax(0,1.25fr) minmax(260px,.48fr);display:grid;overflow:hidden;box-shadow:0 28px 64px #17231e21}.interview-hero>div{padding:64px 58px 68px}.interview-hero .eyebrow{color:#a8d8ba}.interview-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:13ch;margin:28px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(52px,6.4vw,76px);font-weight:600;line-height:.97}.interview-hero>div>p:last-child{color:#b8c4be;max-width:53ch;margin:26px 0 0;font-size:16px;line-height:1.65}.interview-hero aside{background:#20362c;border-left:1px solid #ffffff1c;align-content:space-between;gap:40px;padding:46px 36px;display:grid}.interview-private-cue{gap:14px;display:grid}.interview-private-cue span{color:#a8d8ba;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.interview-private-cue p{color:#d8e2dc;max-width:24ch;margin:0;font-size:13px;line-height:1.55}.interview-format{gap:8px;display:grid}.interview-format strong{margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:36px;font-weight:600}.interview-format p{color:#b8c4be;margin:0;font-size:13px}.interview-start,.interview-round,.interview-complete{background:var(--surface);border:1px solid #17231e26;border-radius:8px 20px 20px;margin-top:24px;box-shadow:0 22px 50px #17231e14}.interview-start{grid-template-columns:minmax(0,1fr) minmax(245px,.42fr);align-items:end;gap:72px;padding:52px 56px;display:grid}.interview-start .quiz-kicker,.interview-round .quiz-kicker,.interview-complete .quiz-kicker,.interview-rubric .quiz-kicker{margin:0}.interview-start h2,.interview-complete h2{letter-spacing:-.04em;text-wrap:balance;max-width:18ch;margin:13px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,4vw,50px);font-weight:600;line-height:1.02}.interview-start>div:first-child>p:last-child,.interview-complete-heading>div>p:last-child{max-width:58ch;color:var(--muted);margin:20px 0 0;line-height:1.65}.interview-start-action{gap:14px;display:grid}.interview-start-action button,.interview-save-row button,.interview-finish-action a{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:48px;font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0 20px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.interview-start-action button:hover:not(:disabled),.interview-save-row button:hover:not(:disabled),.interview-finish-action a:hover{border-color:var(--ink);background:var(--ink)}.interview-start-action button:active:not(:disabled),.interview-save-row button:active:not(:disabled),.interview-finish-action a:active{transform:translateY(1px)}.interview-start-action button:focus-visible,.interview-save-row button:focus-visible,.interview-finish-action a:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.interview-start-action button:disabled,.interview-save-row button:disabled{opacity:.65;cursor:wait}.interview-start-action>p:not(.interview-message),.interview-finish-action>p{color:var(--muted);text-align:center;margin:0;font-size:11px;line-height:1.5}.interview-start-action>p.interview-remaining-count,.interview-round-heading>.interview-remaining-count{color:var(--accent-deep);font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.interview-message{min-height:18px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.interview-round{padding:54px 58px 58px}.interview-round-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.interview-round-heading>div>span{color:var(--ink);margin-top:8px;font-size:13px;font-weight:750;display:block}.interview-round-heading>strong{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.interview-progress-track{background:#dfe6df;border-radius:999px;height:6px;margin-top:22px;overflow:hidden}.interview-progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.interview-round>h2{letter-spacing:-.035em;text-wrap:balance;max-width:24ch;margin:48px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.08}.interview-answer-field{margin-top:36px;display:grid}.interview-answer-field>span,.interview-rating legend{color:var(--ink);font-size:12px;font-weight:800}.interview-answer-field textarea{resize:vertical;width:100%;min-height:180px;color:var(--ink);font:inherit;background:#fbfcf9;border:1px solid #c4cec6;border-radius:10px;margin-top:10px;padding:16px;font-size:15px;line-height:1.6}.interview-answer-field textarea::placeholder{color:#88948c}.interview-answer-field textarea:hover{border-color:#8da294}.interview-answer-field textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #28765226}.interview-answer-field small{color:var(--muted);text-align:right;margin-top:7px;font-size:10px}.interview-rubric{background:#f0f6ef;border:1px solid #cadccd;border-radius:12px;margin-top:30px;padding:26px 28px}.interview-rubric h3{margin:8px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600}.interview-rubric ul,.interview-answer-review details ul{color:#44564c;margin:17px 0 0;padding-left:20px;font-size:13px;line-height:1.65}.interview-rubric li+li,.interview-answer-review details li+li{margin-top:6px}.interview-rating{border:0;margin:30px 0 0;padding:0}.interview-rating>div{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:11px;display:grid}.interview-rating label{cursor:pointer;background:#fbfcf9;border:1px solid #c8d1ca;border-radius:9px;align-items:center;gap:10px;min-height:52px;padding:0 14px;display:flex}.interview-rating label:hover{border-color:#89a18f}.interview-rating label:has(input:checked){color:var(--accent-deep);background:#edf5ed;border-color:#79a489}.interview-rating input{width:17px;height:17px;accent-color:var(--accent-deep)}.interview-rating input:focus-visible{outline-offset:3px;outline:3px solid #28765247}.interview-rating span{font-size:12px;font-weight:700}.interview-save-row{grid-template-columns:auto 1fr;align-items:center;gap:20px;margin-top:28px;display:grid}.interview-save-row button{min-width:168px}.interview-complete{padding:54px 58px 58px}.interview-complete-heading{grid-template-columns:minmax(0,1fr) 180px;align-items:end;gap:48px;display:grid}.interview-result{color:#fff;background:var(--ink);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;min-height:150px;padding:24px;display:flex}.interview-result strong{font-variant-numeric:tabular-nums;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:48px;font-weight:600}.interview-result span{color:#b5c4bc;margin-top:5px;font-size:11px;font-weight:700}.interview-result small{color:#a8d8ba;font-variant-numeric:tabular-nums;margin-top:12px;font-size:10px;font-weight:800}.interview-answer-review{margin-top:48px}.interview-answer-review>h3{margin:0 0 15px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:26px;font-weight:600}.interview-answer-review details{border-top:1px solid #d5ddd6}.interview-answer-review details:last-child{border-bottom:1px solid #d5ddd6}.interview-answer-review summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:12px 4px;display:flex}.interview-answer-review summary:focus-visible{outline-offset:2px;outline:3px solid #28765240}.interview-answer-review summary span{font-size:13px;font-weight:750}.interview-answer-review .interview-review-question{gap:4px;display:grid}.interview-review-question small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;line-height:1.2}.interview-review-question>span{color:var(--ink)}.interview-answer-review summary strong{color:var(--accent-deep);font-size:11px}.interview-answer-review details>p{color:var(--ink);white-space:pre-wrap;margin:0;padding:0 24px 2px;line-height:1.65}.interview-answer-review details ul{margin:15px 24px 25px 44px}.interview-finish-action{grid-template-columns:auto 1fr;align-items:center;gap:20px;margin-top:36px;display:grid}.interview-finish-action a{gap:22px}.interview-finish-action>p{text-align:left}@media (max-width:800px){.dashboard-interview,.interview-hero,.interview-start{grid-template-columns:1fr}.dashboard-interview{align-items:start;gap:28px}.dashboard-interview>div:last-child{justify-items:start}.interview-hero aside{border-top:1px solid #ffffff1c;border-left:0;min-height:180px}.interview-start{align-items:start;gap:36px}.interview-complete-heading{grid-template-columns:1fr 150px}.interview-rating>div{grid-template-columns:1fr}}@media (max-width:560px){.interview-shell{width:min(100% - 32px,1040px);padding:32px 0 80px}.dashboard-interview{padding:28px 24px}.dashboard-interview-action{justify-content:space-between;width:100%}.interview-hero{border-radius:16px 16px 6px}.interview-hero>div{padding:42px 28px 46px}.interview-hero h1{font-size:clamp(46px,14vw,62px)}.interview-hero aside{min-height:150px;padding:32px 28px}.interview-start,.interview-round,.interview-complete{border-radius:6px 15px 15px;padding:38px 24px}.interview-start-action button,.interview-save-row button,.interview-finish-action a{width:100%}.interview-round-heading{align-items:start}.interview-round>h2{margin-top:38px}.interview-rubric{padding:24px 20px}.interview-save-row,.interview-complete-heading,.interview-finish-action{grid-template-columns:1fr}.interview-result{min-height:130px}.interview-finish-action>p{text-align:center}.interview-answer-review summary{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.dashboard-interview-action,.interview-start-action button,.interview-save-row button,.interview-finish-action a{transition:none}}.cheat-sheet-hero,.cheat-sheet-index,.cheat-sheet-content{width:min(1184px,100% - 48px);margin-inline:auto}.cheat-sheet-hero{grid-template-columns:minmax(0,.96fr) minmax(420px,.74fr);align-items:center;gap:88px;padding:88px 0 80px;display:grid}.cheat-sheet-hero-copy{max-width:700px}.cheat-sheet-hero h1{font-size:clamp(55px,6.3vw,84px)}.cheat-sheet-lede{max-width:61ch;color:var(--muted);margin:30px 0;font-size:18px;line-height:1.7}.cheat-sheet-lede code,.cheat-sheet-content code{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88em;font-weight:700}.semantic-anatomy-board{background:var(--surface);border:1px solid #17231e2e;border-radius:19px 19px 7px;margin:0;overflow:hidden;transform:rotate(1deg);box-shadow:0 30px 60px #17231e1f}.semantic-anatomy-board figcaption{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:0 22px;font-size:12px;font-weight:750;display:flex}.semantic-anatomy-board figcaption span:last-child{color:var(--accent-deep);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.anatomy-canvas{background:#e9eee8;gap:10px;padding:24px;display:grid}.anatomy-canvas code{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:750}.anatomy-header,.anatomy-footer,.anatomy-main{background:#fbfcf8;border:1px solid #c7d3ca;border-radius:9px;padding:16px 17px}.anatomy-header,.anatomy-footer{justify-content:space-between;align-items:center;gap:18px;display:flex}.anatomy-header>div{align-items:center;gap:12px;display:flex}.anatomy-canvas span{color:var(--muted);font-size:10px}.anatomy-main{color:#fff;background:var(--ink);border-color:#2d4037;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 92px;gap:13px;min-height:282px;display:grid}.anatomy-main>code{color:#9fd9b8;grid-column:1/-1}.anatomy-article,.anatomy-aside{background:#213128;border:1px solid #9fd9b852;border-radius:8px;flex-direction:column;padding:18px;display:flex}.anatomy-article>code,.anatomy-aside>code{color:#9fd9b8}.anatomy-article>div{gap:8px;margin-top:auto;display:grid}.anatomy-article span:first-child{color:#fff;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;line-height:1.05}.anatomy-aside{justify-content:space-between}.anatomy-aside span{color:#b8c2bd;writing-mode:vertical-rl;line-height:1.45;transform:rotate(180deg)}.cheat-sheet-index{white-space:nowrap;border-top:1px solid #17231e29;border-bottom:1px solid #17231e29;align-items:center;gap:24px;min-height:66px;padding:0 22px;display:flex;overflow-x:auto}.cheat-sheet-index span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:800}.cheat-sheet-index a{color:var(--ink);text-underline-offset:5px;font-size:12px;font-weight:700;text-decoration-color:#28765261}.cheat-sheet-index a:hover{color:var(--accent-deep)}.cheat-sheet-content{padding-bottom:120px}.cheat-sheet-introduction{max-width:820px;padding:112px 0 104px}.cheat-sheet-introduction h2,.section-kicker h2,.decision-guide-copy h2,.code-example-heading h2,.review-heading h2,.semantic-faq h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(42px,5vw,64px);font-weight:600;line-height:1}.cheat-sheet-introduction h2{max-width:13ch}.cheat-sheet-introduction>p:not(.eyebrow){max-width:68ch;color:var(--muted);margin:26px 0 0;font-size:16px;line-height:1.75}.semantic-tag-reference,.semantic-decision-guide,.semantic-code-example,.semantic-review-section,.semantic-faq{border-top:1px solid #17231e29;scroll-margin-top:24px}.semantic-tag-reference{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:96px;padding:104px 0 112px;display:grid}.section-kicker{align-self:start;position:sticky;top:32px}.section-kicker h2{max-width:9ch}.semantic-tag-list{border-top:1px solid #17231e2e}.semantic-tag-row{border-bottom:1px solid #17231e2e;grid-template-columns:minmax(150px,.46fr) minmax(0,1fr);gap:32px;padding:28px 0 31px;display:grid}.semantic-tag-name{align-self:start;gap:12px;display:grid}.semantic-tag-name code{color:#eaf4ed;background:var(--ink);border-radius:5px;width:fit-content;padding:7px 10px;font-size:12px}.semantic-tag-name strong{max-width:20ch;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600;line-height:1.1}.semantic-tag-row p{color:var(--muted);margin:0;font-size:13px;line-height:1.68}.semantic-tag-row p+p{margin-top:11px}.semantic-tag-row b{color:var(--ink)}.semantic-decision-guide{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:96px;padding:112px 0;display:grid}.decision-guide-copy{align-self:center}.decision-guide-copy h2{max-width:8ch}.decision-guide-copy>p:last-child,.review-heading>p:last-child{max-width:44ch;color:var(--muted);margin:24px 0 0;font-size:15px;line-height:1.7}.decision-path{background:#ffffff94;border:1px solid #17231e29;border-radius:15px 15px 5px;margin:0;padding:0;list-style:none;box-shadow:0 20px 46px #17231e12}.decision-path li{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);gap:18px;min-height:154px;padding:30px 32px;display:grid}.decision-path li:last-child{border-bottom:0}.decision-path li>span{color:var(--accent);letter-spacing:.1em;padding-top:4px;font-size:10px;font-weight:800}.decision-path h3{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600;line-height:1.12}.decision-path p{max-width:54ch;color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.65}.semantic-code-example{padding:112px 0}.code-example-heading{grid-template-columns:minmax(0,.92fr) minmax(280px,.58fr);align-items:end;gap:80px;display:grid}.code-example-heading h2{max-width:12ch}.code-example-heading>p{color:var(--muted);margin:0 0 5px;font-size:14px;line-height:1.7}.semantic-code-example pre{color:#e6eee8;tab-size:2;background:#111b17;border:1px solid #ffffff14;border-radius:17px 17px 6px;margin:56px 0 0;padding:42px 46px;font-size:13px;line-height:1.75;overflow-x:auto;box-shadow:0 26px 54px #17231e24}.semantic-code-example pre code{color:inherit;font-size:inherit;font-weight:500}.code-example-notes{background:#ffffff8f;border:1px solid #17231e29;border-top:0;border-radius:0 0 13px 13px;grid-template-columns:repeat(3,1fr);margin-top:1px;display:grid}.code-example-notes p{color:var(--muted);border-right:1px solid var(--line);margin:0;padding:25px 27px 28px;font-size:12px;line-height:1.65}.code-example-notes p:last-child{border-right:0}.code-example-notes span{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:24px;height:24px;margin-bottom:14px;font-size:9px;font-weight:800;display:grid}.semantic-review-section{grid-template-columns:minmax(260px,.66fr) minmax(0,1.34fr);gap:96px;padding:112px 0;display:grid}.review-heading{align-self:start;position:sticky;top:32px}.review-heading h2{max-width:9ch}.semantic-review-list{border-top:1px solid #17231e2e;margin:0;padding:0;list-style:none}.semantic-review-list li{border-bottom:1px solid #17231e2e;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:26px 0 29px;display:grid}.semantic-review-list li>span{color:var(--accent);letter-spacing:.1em;padding-top:4px;font-size:10px;font-weight:800}.semantic-review-list h3{letter-spacing:-.02em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600;line-height:1.1}.semantic-review-list p{max-width:55ch;color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.65}.lesson-continuation{color:var(--muted);grid-column:2;margin:-62px 0 0;padding-top:34px;font-size:13px;line-height:1.65}.lesson-continuation a,.learn-reference-link{color:var(--accent-deep);text-underline-offset:5px;font-weight:750;text-decoration-color:#2876526b}.learn-reference-link{align-items:center;gap:10px;width:fit-content;margin-top:25px;font-size:13px;display:inline-flex}.learn-reference-link svg{width:17px;height:17px}.semantic-faq{grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:96px;padding:112px 0 0;display:grid}.semantic-faq h2{max-width:8ch}.semantic-faq-list{border-top:1px solid #17231e2e}.semantic-faq-list details{border-bottom:1px solid #17231e2e}.semantic-faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:20px 4px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600;list-style:none;display:flex}.semantic-faq-list summary::-webkit-details-marker{display:none}.semantic-faq-list summary:after{content:"+";color:var(--accent);font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:20px;font-weight:500}.semantic-faq-list details[open] summary:after{content:"−"}.semantic-faq-list details>p{max-width:62ch;color:var(--muted);margin:0;padding:0 44px 25px 4px;font-size:13px;line-height:1.7}@media (max-width:900px){.cheat-sheet-hero,.semantic-tag-reference,.semantic-decision-guide,.semantic-review-section,.semantic-faq{grid-template-columns:1fr}.cheat-sheet-hero{gap:64px}.semantic-anatomy-board{width:min(680px,100%);transform:none}.section-kicker,.review-heading{position:static}.semantic-tag-reference,.semantic-decision-guide,.semantic-review-section,.semantic-faq{gap:56px}.section-kicker h2,.decision-guide-copy h2,.review-heading h2,.semantic-faq h2{max-width:13ch}.code-example-heading{grid-template-columns:1fr;gap:30px}.code-example-heading>p{max-width:58ch}.lesson-continuation{grid-column:1;margin-top:-34px}}@media (max-width:640px){.cheat-sheet-hero,.cheat-sheet-index,.cheat-sheet-content{width:min(100% - 32px,1184px)}.cheat-sheet-hero{padding:62px 0 68px}.cheat-sheet-hero h1{font-size:clamp(48px,14vw,66px)}.cheat-sheet-lede{font-size:16px}.cheat-sheet-hero .primary-action{text-align:left;justify-content:space-between;width:100%}.semantic-anatomy-board figcaption{padding:0 17px}.anatomy-canvas{padding:16px}.anatomy-main{grid-template-columns:minmax(0,1fr) 70px;min-height:250px}.anatomy-header>div{gap:7px}.cheat-sheet-index{margin-inline:16px;padding-inline:4px}.cheat-sheet-introduction,.semantic-tag-reference,.semantic-decision-guide,.semantic-code-example,.semantic-review-section,.semantic-faq{padding-top:80px;padding-bottom:80px}.semantic-tag-row{grid-template-columns:1fr;gap:20px}.semantic-tag-name{gap:10px}.decision-path li{padding:27px 23px}.semantic-code-example pre{margin-top:38px;padding:28px 24px;font-size:11px;line-height:1.7}.code-example-notes{grid-template-columns:1fr}.code-example-notes p{border-right:0;border-bottom:1px solid var(--line)}.code-example-notes p:last-child{border-bottom:0}.semantic-review-list li{grid-template-columns:42px minmax(0,1fr)}.lesson-continuation{margin-top:-22px}.semantic-faq-list summary{font-size:19px}}.practice-progress-link{width:fit-content;color:var(--accent-deep);text-underline-offset:4px;align-items:center;gap:8px;margin-top:15px;font-size:12px;font-weight:760;text-decoration-thickness:1px;display:inline-flex}.practice-progress-link:hover{color:var(--ink)}.practice-progress-link:focus-visible{outline-offset:4px;outline:3px solid #28765245}.practice-progress-links{justify-items:start;gap:9px;margin-top:15px;display:grid}.practice-progress-links .practice-progress-link{margin-top:0}.daily-challenge-shell{width:min(1184px,100% - 48px);margin-inline:auto;padding:28px 0 112px}.daily-challenge-breadcrumb{min-height:44px;color:var(--muted);align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.daily-challenge-breadcrumb a{color:var(--accent-deep);text-underline-offset:4px}.daily-challenge-hero{background:var(--ink);color:#f8faf6;border-radius:26px 26px 7px;grid-template-columns:minmax(0,1.2fr) minmax(250px,.55fr);align-items:center;gap:72px;padding:58px 64px;display:grid;box-shadow:0 30px 72px #17231e29}.daily-challenge-copy{max-width:700px}.daily-challenge-copy .eyebrow{color:#9ed8b9}.daily-challenge-copy h1{color:#f8faf6;max-width:760px;font-size:clamp(48px,6vw,78px);line-height:.98}.daily-challenge-copy>p:not(.eyebrow){color:#f8faf6b8;max-width:60ch;margin:25px 0 30px;font-size:17px;line-height:1.7}.daily-challenge-copy .primary-action{color:var(--ink);background:#f8faf6}.daily-challenge-copy .primary-action:hover{background:#d7eadf}.daily-challenge-status{background:#ffffff12;border:1px solid #ffffff29;border-radius:18px 18px 5px;flex-direction:column;justify-content:space-between;min-height:260px;padding:30px;display:flex}.daily-challenge-status.is-complete{background:#66dc9d1f}.daily-challenge-status>span{color:#9ed8b9;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800}.daily-challenge-status strong{font-family:var(--font-serif), Georgia, serif;font-size:clamp(76px,10vw,112px);font-weight:500;line-height:.8}.daily-challenge-status p{color:#f8faf6ad;margin:0;font-size:13px}.daily-challenge-problem{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(360px,.62fr);gap:80px;padding:72px 0;display:grid}.daily-challenge-problem h2{margin:8px 0 18px;font-size:clamp(34px,4vw,52px)}.daily-challenge-problem>div>p:last-child{max-width:64ch;color:var(--muted);line-height:1.7}.daily-challenge-problem dl{border-top:1px solid var(--line);margin:0}.daily-challenge-problem dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:18px 0;display:flex}.daily-challenge-problem dt{color:var(--muted);font-size:12px;font-weight:700}.daily-challenge-problem dd{text-align:right;margin:0;font-size:13px;font-weight:800}.daily-challenge-normal-path{justify-content:space-between;align-items:center;gap:32px;padding:28px 0;display:flex}.daily-challenge-normal-path span,.daily-problem-context{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.daily-challenge-normal-path p{color:var(--muted);margin:6px 0 0;font-size:13px}.daily-challenge-normal-path>a{color:var(--ink);text-underline-offset:4px;font-size:13px;font-weight:800}.daily-problem-context{margin:0 0 9px}.challenge-shell{width:min(1184px,100% - 48px);margin-inline:auto;padding:28px 0 112px}.challenge-hero{grid-template-columns:minmax(0,1.08fr) minmax(350px,.62fr);align-items:center;gap:88px;padding:48px 0 72px;display:grid}.challenge-hero-copy{max-width:690px}.challenge-hero h1{max-width:700px;font-size:clamp(54px,6.2vw,82px)}.challenge-hero-copy>p:not(.eyebrow):not(.challenge-next-note){max-width:58ch;color:var(--muted);margin:28px 0;font-size:18px;line-height:1.65}.challenge-next-note{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.5}.challenge-timer{background:#ffffffc7;border:1px solid #17231e29;border-radius:18px 18px 5px;padding:30px;box-shadow:0 24px 56px #17231e1a}.challenge-timer-heading{gap:26px;display:grid}.challenge-timer-heading .eyebrow{margin-bottom:8px}.challenge-timer-heading h2{margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600;line-height:1.05}.challenge-timer-value{color:var(--ink);letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(64px,7vw,90px);font-weight:600;line-height:.88}.challenge-timer-status{min-height:42px;color:var(--muted);margin:25px 0 0;font-size:13px;line-height:1.55}.challenge-timer-actions{align-items:center;gap:18px;margin-top:18px;display:flex}.challenge-timer-actions button{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #17231e52;border-radius:9px;padding:0 16px;font-size:12px;font-weight:760;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out}.challenge-timer-actions button:hover{border-color:var(--accent);color:var(--accent-deep);background:#f2f6f0}.challenge-timer-actions button:active{background:var(--sage)}.challenge-timer-actions button:focus-visible{outline-offset:3px;outline:3px solid #28765245}.challenge-timer-actions .challenge-timer-reset{color:var(--muted);text-underline-offset:4px;border-color:#0000;padding-inline:0;text-decoration:underline}.challenge-timer-boundary{border-top:1px solid var(--line);color:var(--muted);margin:24px 0 0;padding-top:20px;font-size:11px;line-height:1.55}.challenge-set-picker{border-top:1px solid #17231e24;padding:54px 0 68px}.challenge-set-picker-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:24px;display:flex}.challenge-set-picker-heading .eyebrow{margin-bottom:8px}.challenge-set-picker-heading h2{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(30px,3.4vw,42px);font-weight:600;line-height:1.05}.challenge-set-picker-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:760}.challenge-set-options{background:#ffffff8a;border:1px solid #17231e24;border-radius:15px 15px 5px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.challenge-set-options a{min-height:150px;color:var(--ink);border-right:1px solid #17231e24;flex-direction:column;justify-content:space-between;gap:12px;padding:24px;text-decoration:none;transition:background-color .16s ease-out,color .16s ease-out;display:flex}.challenge-set-options a:last-child{border-right:0}.challenge-set-options a:hover{background:#eef4ec}.challenge-set-options a:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #28765245;position:relative}.challenge-set-options a.is-selected{color:#eef4ef;background:var(--ink)}.challenge-set-options a>span,.challenge-set-options a>small{color:var(--muted);font-size:11px;line-height:1.4}.challenge-set-options a.is-selected>span,.challenge-set-options a.is-selected>small{color:#a7b8ae}.challenge-set-options strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600;line-height:1.08}.challenge-problem-set{border-top:1px solid #17231e24;padding-top:68px}.challenge-set-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:30px;display:flex}.challenge-set-heading .eyebrow{margin-bottom:10px}.challenge-set-heading h2{letter-spacing:-.04em;max-width:680px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(38px,4.2vw,56px);font-weight:600;line-height:1.02}.challenge-set-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:760}.challenge-problem-list{background:var(--surface);border:1px solid #17231e24;border-radius:15px;margin:0;padding:0;list-style:none;overflow:hidden;box-shadow:0 20px 48px #17231e14}.challenge-problem-list li{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) 112px 84px;align-items:center;gap:20px;min-height:104px;padding:0 26px;display:grid}.challenge-problem-list li:last-child{border-bottom:0}.challenge-problem-list li.is-complete{background:#f3f7f1}.challenge-problem-position{color:#8b978f;font-family:Georgia,serif;font-size:15px;font-style:italic}.challenge-problem-list li>div p{color:var(--muted);margin:0 0 5px;font-size:11px;line-height:1.4}.challenge-problem-list h3{letter-spacing:-.02em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600}.challenge-problem-state{color:var(--muted);font-size:11px;font-weight:760}.challenge-problem-list li.is-complete .challenge-problem-state{color:var(--accent-deep)}.challenge-problem-list a{min-height:44px;color:var(--accent-deep);justify-content:flex-end;align-items:center;gap:8px;font-size:12px;font-weight:760;text-decoration:none;display:inline-flex}.challenge-problem-list a:hover{color:var(--ink)}.challenge-problem-list a:focus-visible{outline-offset:3px;outline:3px solid #28765245}.challenge-rules{border-top:1px solid #17231e24;border-bottom:1px solid #17231e24;grid-template-columns:repeat(3,1fr);margin-top:24px;display:grid}.challenge-rules>div{border-right:1px solid #17231e24;min-height:154px;padding:28px 30px}.challenge-rules>div:last-child{border-right:0}.challenge-rules strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600}.challenge-rules p{max-width:32ch;color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.55}.practice-foundations-entry{color:#eef4ef;background:#17231e;border:1px solid #26342e;border-radius:17px 17px 5px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;margin-bottom:56px;padding:34px 38px;display:grid;box-shadow:0 22px 52px #17231e29}.practice-foundations-entry .eyebrow{color:#91cca9}.practice-foundations-entry h2{letter-spacing:-.035em;text-wrap:balance;max-width:620px;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(30px,3.5vw,44px);font-weight:600;line-height:1.04}.practice-foundations-entry p:last-child{color:#aebbb4;max-width:58ch;margin:16px 0 0;font-size:13px;line-height:1.6}.practice-foundations-action{color:#dff5e7;border:1px solid #659978;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 18px;font-size:12px;font-weight:800;text-decoration:none;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out;display:inline-flex}.practice-foundations-action:hover{color:#10231a;background:#a0e9bd;border-color:#a0e9bd}.practice-foundations-action:active{background:#83dda8}.practice-foundations-action:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.foundations-shell{width:min(1184px,100% - 48px);margin-inline:auto;padding:34px 0 104px}.foundations-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.62fr);align-items:end;gap:72px;padding:62px 0 54px;display:grid}.foundations-hero h1{max-width:770px;font-size:clamp(52px,6.2vw,82px)}.foundations-hero>p{max-width:50ch;color:var(--muted);margin:0;font-size:16px;line-height:1.7}.foundations-workbench{background:var(--surface);border:1px solid #17231e26;border-radius:18px 18px 6px;grid-template-columns:minmax(300px,.72fr) minmax(540px,1.28fr);display:grid;overflow:hidden;box-shadow:0 26px 62px #17231e21}.foundations-lesson{padding:42px}.foundations-step-row{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;font-size:11px;font-weight:800;display:flex}.foundations-step-row strong{color:var(--accent-deep);background:#eef6ed;border:1px solid #c9dfcf;border-radius:999px;padding:6px 9px;font-size:10px}.foundations-lesson h2{letter-spacing:-.04em;text-wrap:balance;margin:20px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(38px,4vw,52px);font-weight:600;line-height:1.02}.foundations-prompt{color:var(--muted);margin:22px 0 0;font-size:14px;line-height:1.7}.foundations-contract{gap:18px;margin:30px 0 0;display:grid}.foundations-contract div{border-top:1px solid var(--line);padding-top:17px}.foundations-contract dt,.foundations-example>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.foundations-contract dd{color:var(--ink);margin:7px 0 0;font-size:13px;line-height:1.55}.foundations-example{border:1px solid var(--line);background:#f4f7f2;border-radius:10px;margin-top:26px;padding:17px}.foundations-example>div{align-items:center;gap:12px;margin-top:10px;display:flex}.foundations-example code{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.foundations-example div>span{color:var(--accent)}.foundations-path{grid-template-columns:repeat(4,1fr);gap:8px;margin:32px 0 0;padding:0;list-style:none;display:grid}.foundations-path li{color:#87928c;border-top:2px solid #d9e0da;gap:5px;padding:12px;display:grid}.foundations-path li.is-current{color:var(--ink);border-color:var(--accent)}.foundations-path li.is-complete{color:var(--accent-deep);border-color:#83b99b}.foundations-path span{font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.foundations-path strong{font-size:11px}.foundations-editor{color:#eef4ef;background:#17231e;border-left:1px solid #31423a;min-width:0}.foundations-editor-bar{color:#aebbb4;background:#1d2b25;border-bottom:1px solid #31423a;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 22px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;display:flex}.foundations-editor label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.foundations-editor textarea{resize:vertical;color:#eef4ef;tab-size:2;background:#111b17;border:0;border-bottom:1px solid #31423a;outline:none;width:100%;min-height:430px;margin:0;padding:28px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.75;display:block}.foundations-editor textarea:focus-visible{box-shadow:inset 0 0 0 3px #66dc9d61}.foundations-actions{background:#1a2721;border-bottom:1px solid #31423a;justify-content:flex-end;gap:12px;padding:18px 22px;display:flex}.foundations-reset,.foundations-run{min-height:44px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 17px;font-size:12px;font-weight:800;display:inline-flex}.foundations-reset{color:#cbd6d0;background:0 0;border:1px solid #52635a}.foundations-run{color:#10231a;background:#83dda8;border:1px solid #83dda8;text-decoration:none}.foundations-reset:hover:not(:disabled){border-color:#83dda8}.foundations-run:hover:not(:disabled){background:#a0e9bd}.foundations-reset:focus-visible,.foundations-run:focus-visible{outline-offset:3px;outline:3px solid #83dda859}.foundations-reset:disabled,.foundations-run:disabled{opacity:.58;cursor:wait}.foundations-result{background:#1d2b25;border:1px solid #3c4b44;border-radius:10px;min-height:126px;margin:22px;padding:20px}.foundations-result>div{gap:8px;display:grid}.foundations-result span{color:#91cca9;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.foundations-result strong{color:#c9d3cd;font-size:12px}.foundations-result p{color:#aebbb4;border-top:1px solid #34443c;margin:14px 0 0;padding-top:14px;font-size:12px;line-height:1.6}.foundations-result.is-passed{background:#1b3428;border-color:#4b8f68}.foundations-result.is-passed span{color:#83dda8}.foundations-result.is-failed,.foundations-result.is-error{border-color:#85504b}.foundations-result.is-failed>div>span,.foundations-result.is-error>div>span{color:#efaaa2}.foundations-boundary{background:#ffffff85;border:1px solid #17231e21;border-radius:14px;grid-template-columns:repeat(3,1fr);margin-top:22px;display:grid}.foundations-boundary>div{padding:25px}.foundations-boundary>div+div{border-left:1px solid var(--line)}.foundations-boundary span{color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.foundations-boundary strong{margin-top:10px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;font-weight:600;display:block}.foundations-boundary p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.55}.practice-extension-list{grid-template-columns:1.08fr .92fr;gap:14px;margin-top:20px;display:grid}.practice-debugging-entry{background:#eef5ed;border:1px solid #2876523d;border-radius:13px 13px 4px;justify-content:space-between;align-items:center;gap:32px;padding:22px 24px;display:flex}.practice-debugging-entry .eyebrow{margin-bottom:6px}.practice-debugging-entry>div>p:last-child{max-width:45ch;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.practice-extension-action{min-height:44px;color:var(--ink);border:1px solid #17231e47;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:9px;padding:0 17px;font-size:13px;font-weight:760;text-decoration:none;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out;display:inline-flex}.practice-extension-action:hover{border-color:var(--accent);color:var(--accent)}.practice-extension-action:active{background:#28765214}.practice-extension-action:focus-visible{outline-offset:3px;outline:3px solid #28765245}.practice-learning-entries{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.practice-learning-entries .practice-playground-entry,.practice-efficiency-entry{margin-top:0}.practice-efficiency-entry{background:#eaf1e8;border:1px solid #17231e1f;border-radius:13px;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.practice-efficiency-entry .eyebrow{margin-bottom:6px}.practice-efficiency-entry>div>p:last-child{max-width:42ch;color:var(--muted);margin:0;font-size:14px;line-height:1.55}@media (max-width:900px){.daily-challenge-hero,.daily-challenge-problem{grid-template-columns:1fr}.daily-challenge-hero{gap:42px}.daily-challenge-status{max-width:430px}.challenge-hero{grid-template-columns:1fr;gap:52px}.practice-extension-list,.debugging-hero{grid-template-columns:1fr}.debugging-hero{gap:36px}.challenge-timer,.debugging-hero aside{max-width:620px}.challenge-set-options{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-set-options a:nth-child(2){border-right:0}.challenge-set-options a:nth-child(-n+2){border-bottom:1px solid #17231e24}.foundations-hero,.foundations-workbench{grid-template-columns:1fr}.foundations-hero{gap:32px}.foundations-hero>p{max-width:62ch}.foundations-editor{border-top:1px solid #31423a;border-left:0}.practice-secondary-paths,.tracing-hero,.tracing-grid{grid-template-columns:1fr}.tracing-hero{gap:36px}.tracing-grid{min-height:auto}.tracing-code-panel pre{margin-top:34px}.tracing-complete{padding:56px}.practice-secondary-paths{grid-template-columns:1fr}.test-design-hero{grid-template-columns:1fr;align-items:start;gap:38px}.test-design-hero aside{max-width:620px}.test-design-grid{grid-template-columns:1fr}.test-design-code-panel{min-height:390px}.test-design-complete{padding:58px}.practice-secondary-paths,.dom-lab-hero,.dom-lab-grid{grid-template-columns:1fr}.dom-lab-hero{gap:42px}.dom-lab-hero aside{max-width:520px}.dom-lab-lesson{border-bottom:1px solid #314239;border-right:0}.function-lab-hero,.function-lab-grid{grid-template-columns:1fr}.function-lab-hero aside{border-top:1px solid #ffffff1f;border-left:0;min-height:180px}.function-lab-lesson{border-right:0;border-bottom:1px solid var(--line)}.function-lab-path{grid-template-columns:repeat(4,minmax(0,1fr))}.function-lab-path li{grid-template-columns:30px minmax(0,1fr)}.data-lab-hero{grid-template-columns:1fr}.data-lab-hero aside{border-top:1px solid #ffffff1f;border-left:0;min-height:180px}.data-lab-grid{grid-template-columns:1fr}.data-lab-lesson{border-bottom:1px solid #d7dfd8;border-right:0}.data-lab-path{grid-template-columns:repeat(4,minmax(0,1fr))}.data-lab-path li{grid-template-columns:24px minmax(0,1fr)}.practice-learning-map-heading,.practice-learning-groups{grid-template-columns:1fr}.practice-learning-map-heading{gap:18px}.practice-learning-group>div:first-child>p{min-height:0}}@media (max-width:560px){.site-nav,.hero,.course-overview-hero,.learn-entry-hero,.learn-outcome-section,.account-shell,.dashboard-shell,.profile-shell,.lesson-shell,.practice-hero,.problem-catalog,.coding-problem-shell,.foundations-shell,.settings-shell,.certificate-shell,.certificate-locked-shell{width:min(100% - 32px,1184px)}.daily-challenge-shell{width:min(100% - 32px,1184px);padding-top:18px}.daily-challenge-hero{border-radius:20px 20px 6px;padding:38px 25px}.daily-challenge-copy h1{font-size:clamp(44px,13vw,61px)}.daily-challenge-status{min-height:220px;padding:25px}.daily-challenge-problem{gap:36px;padding:54px 0}.daily-challenge-normal-path{flex-direction:column;align-items:flex-start}.playground-shell{width:min(100% - 32px,1184px)}.challenge-shell{padding-top:18px}.challenge-hero{gap:38px;padding:36px 0 56px}.challenge-hero h1{font-size:clamp(47px,14vw,64px)}.challenge-hero-copy>p:not(.eyebrow):not(.challenge-next-note){margin:24px 0;font-size:16px}.challenge-timer{padding:25px}.challenge-timer-value{font-size:clamp(66px,21vw,86px)}.challenge-timer-actions{flex-direction:column;align-items:flex-start;gap:7px}.challenge-timer-actions button{width:100%}.challenge-problem-set{padding-top:52px}.challenge-set-picker{padding:46px 0 52px}.challenge-set-picker-heading{flex-direction:column;align-items:flex-start;gap:12px}.challenge-set-picker-heading h2{font-size:34px}.challenge-set-options{grid-template-columns:1fr}.challenge-set-options a{border-bottom:1px solid #17231e24;border-right:0;min-height:116px}.challenge-set-options a:nth-child(3){border-bottom:1px solid #17231e24}.challenge-set-options a:last-child{border-bottom:0}.challenge-set-heading{flex-direction:column;align-items:flex-start;gap:14px}.challenge-set-heading h2{font-size:39px}.challenge-problem-list li{grid-template-columns:34px minmax(0,1fr) 54px;gap:11px;min-height:118px;padding:18px}.challenge-problem-state{display:none}.challenge-problem-list h3{font-size:21px}.challenge-rules{grid-template-columns:1fr}.challenge-rules>div{border-bottom:1px solid #17231e24;border-right:0;min-height:0;padding:24px 0}.challenge-rules>div:last-child{border-bottom:0}.practice-foundations-entry{grid-template-columns:1fr;align-items:start;gap:24px;padding:28px 24px}.practice-foundations-action{width:100%}.foundations-shell{padding:18px 0 72px}.foundations-hero{padding:40px 0 38px}.foundations-hero h1{font-size:clamp(45px,13.5vw,60px)}.foundations-lesson{padding:32px 24px}.foundations-editor textarea{min-height:420px;padding:22px 18px;font-size:12px}.foundations-actions{grid-template-columns:1fr;padding:16px;display:grid}.foundations-result{margin:16px}.foundations-boundary{grid-template-columns:1fr}.foundations-boundary>div+div{border-top:1px solid var(--line);border-left:0}.debugging-shell{padding:48px 0 80px}.debugging-hero{margin-bottom:32px}.debugging-hero h1{font-size:clamp(45px,14vw,62px)}.debugging-workbench-heading{grid-template-columns:1fr;gap:24px;padding:27px 24px}.debugging-progress{text-align:left}.debugging-editor textarea{min-height:390px;padding:25px 20px;font-size:12px}.debugging-action-row,.debugging-takeaway{flex-direction:column;align-items:stretch}.debugging-action-row{padding:20px 24px}.debugging-action-row button,.debugging-takeaway button,.debugging-takeaway a{width:100%}.debugging-result{padding:25px 24px 28px}.test-design-shell{width:min(100% - 32px,1120px);padding:18px 0 80px}.test-design-hero{padding:50px 0 42px}.test-design-hero h1{font-size:clamp(45px,14vw,62px)}.test-design-progress{grid-template-columns:1fr;gap:13px}.test-design-code-panel{min-height:330px;padding:23px 20px}.test-design-code-panel pre{margin-top:42px;font-size:12px}.test-design-choice-panel{padding:38px 24px}.test-design-choices,.test-design-output-comparison{grid-template-columns:1fr}.test-design-action-row{flex-direction:column;align-items:stretch}.test-design-action-row button{justify-content:center}.test-design-complete{grid-template-columns:1fr;gap:36px;padding:46px 25px}.test-design-complete-mark{width:110px;height:110px;font-size:34px}.test-design-complete .primary-action,.test-design-return-link{justify-content:center;width:100%;margin-left:0}.test-design-return-link{margin-top:22px;display:inline-flex}.interview-start-action button,.interview-save-row button,.interview-finish-action button,.interview-finish-action a{width:100%}:is(.interview-save-row,.interview-save-row:has(.interview-summary-button),.interview-complete-heading,.interview-finish-action){grid-template-columns:1fr}.interview-finish-action>div{justify-items:center}.interview-finish-action>div>p{text-align:center}.data-lab-shell{width:min(100% - 32px,1184px);padding:20px 0 80px}.data-lab-hero{border-radius:17px 17px 5px;margin-top:18px}.data-lab-hero>div{padding:46px 27px 50px}.data-lab-hero h1{font-size:clamp(45px,14vw,62px)}.data-lab-hero aside{min-height:150px;padding:32px 27px}.data-lab-progress{grid-template-columns:1fr;gap:12px;padding:17px 20px}.data-lab-lesson,.data-lab-editor{padding:32px 22px}.data-lab-path{grid-template-columns:repeat(2,minmax(0,1fr))}.data-lab-editor textarea{min-height:310px;padding:18px;font-size:12px}.data-lab-actions{flex-direction:column-reverse;align-items:stretch}.data-lab-actions button{width:100%}.data-lab-complete{grid-template-columns:1fr;gap:30px;padding:42px 25px}.data-lab-complete-mark{width:112px;height:112px;font-size:32px}.data-lab-complete .primary-action,.data-lab-return-link{width:100%}.data-lab-return-link{text-align:center}.practice-learning-map{border-radius:16px 16px 5px;margin-top:38px;padding:26px 18px 18px}.practice-learning-start{padding:21px 19px}.practice-learning-start>span:last-child{display:none}.practice-learning-group{padding:20px 18px}.practice-learning-playground{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 4px 2px}}.efficiency-shell{width:min(1120px,100% - 48px);margin-inline:auto;padding:24px 0 112px}.efficiency-hero{grid-template-columns:minmax(0,1.35fr) minmax(260px,.48fr);align-items:end;gap:72px;padding:68px 0 56px;display:grid}.efficiency-hero>div{max-width:790px}.efficiency-hero h1{letter-spacing:-.045em;text-wrap:balance;max-width:780px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(52px,6vw,78px);font-weight:600;line-height:.98}.efficiency-hero>div>p:last-child{max-width:62ch;color:var(--muted);margin:28px 0 0;font-size:17px;line-height:1.65}.efficiency-hero aside{border-top:1px solid #17231e38;border-bottom:1px solid #17231e38;gap:7px;padding:26px;display:grid}.efficiency-hero aside strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:34px;font-weight:600}.efficiency-hero aside span{color:var(--accent-deep);font-size:12px;font-weight:800}.efficiency-hero aside p{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.55}.efficiency-workbench,.efficiency-complete{background:var(--surface);border:1px solid #17231e26;border-radius:18px 18px 6px;overflow:hidden;box-shadow:0 24px 60px #17231e1a}.efficiency-progress{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);align-items:center;gap:32px;min-height:78px;padding:18px 24px;display:grid}.efficiency-progress>div:first-child{align-items:baseline;gap:15px;display:flex}.efficiency-progress>div:first-child span{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.efficiency-progress>div:first-child strong{font-size:13px}.efficiency-progress-track{background:#e2e9e1;border-radius:99px;height:6px;overflow:hidden}.efficiency-progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .16s ease-out;display:block}.efficiency-body{padding:42px 46px 44px}.efficiency-prompt{grid-template-columns:minmax(0,.9fr) minmax(300px,.72fr);align-items:end;gap:56px;display:grid}.efficiency-prompt .eyebrow{margin-bottom:12px}.efficiency-prompt h2,.efficiency-complete h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.04}.efficiency-prompt>div:last-child p{max-width:54ch;color:var(--muted);margin:0 0 13px;line-height:1.6}.efficiency-prompt>div:last-child span{color:var(--accent-deep);font-size:12px;font-weight:800}.efficiency-body fieldset{border:0;margin:38px 0 0;padding:0}.efficiency-body legend{color:var(--muted);margin-bottom:13px;font-size:12px;font-weight:800}.efficiency-approaches{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.efficiency-approaches label{cursor:pointer;min-width:0;position:relative}.efficiency-approaches input{opacity:0;width:1px;height:1px;position:absolute}.efficiency-approach-card{background:#fbfcf9;border:1px solid #cdd6cf;border-radius:12px;grid-template-rows:auto 1fr auto;min-height:300px;transition:border-color .16s ease-out,box-shadow .16s ease-out,transform .16s ease-out;display:grid;overflow:hidden}.efficiency-approach-heading{gap:6px;padding:18px 20px 15px;display:grid}.efficiency-approach-heading small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.efficiency-approach-heading strong{font-size:17px}.efficiency-approach-card pre{color:#dce7e1;white-space:pre-wrap;background:#16221d;margin:0;padding:20px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.65;overflow-x:auto}.efficiency-cost{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:12px 18px;display:flex}.efficiency-cost>span{color:var(--muted);font-size:11px}.efficiency-cost strong{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,monospace;font-size:14px}.efficiency-approaches label:hover .efficiency-approach-card{border-color:var(--accent);transform:translateY(-2px)}.efficiency-approaches input:focus-visible+.efficiency-approach-card{outline-offset:3px;outline:3px solid #28765247}.efficiency-approaches input:checked+.efficiency-approach-card{border-color:var(--accent);box-shadow:0 0 0 2px #28765224}.efficiency-feedback{border:1px solid;border-radius:10px;margin-top:20px;padding:18px 20px;display:grid}.efficiency-feedback p{color:var(--muted);font-size:12px;line-height:1.6}.efficiency-feedback p:last-child{margin-bottom:0}.efficiency-feedback.is-wrong{background:#fff8ed;border-color:#e0c5aa}.efficiency-feedback.is-wrong strong{font-size:13px}.efficiency-feedback.is-correct{background:#eef6ed;border-color:#bdd8c3;grid-template-columns:112px minmax(0,1fr);column-gap:20px}.efficiency-feedback.is-correct>div{border-right:1px solid #17231e1f;grid-row:1/span 2;align-content:center;gap:6px;display:grid}.efficiency-feedback.is-correct>div span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.efficiency-feedback.is-correct>div strong{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,monospace;font-size:22px}.efficiency-feedback.is-correct>p{margin-top:0}.efficiency-takeaway span{color:var(--ink);font-weight:800}.efficiency-action-row{justify-content:space-between;align-items:center;gap:20px;margin-top:22px;display:flex}.efficiency-action-row button{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:48px;font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:18px;padding:0 19px;font-size:13px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.efficiency-action-row button:hover:not(:disabled){background:var(--accent);transform:translateY(-1px)}.efficiency-action-row button:active:not(:disabled){transform:translateY(0)}.efficiency-action-row button:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.efficiency-action-row button:disabled{opacity:.45;cursor:not-allowed}.efficiency-action-row>span{color:var(--muted);font-size:11px}.efficiency-complete{grid-template-columns:140px minmax(0,620px);place-content:center;gap:44px;min-height:450px;padding:68px;display:grid}.efficiency-complete-mark{color:#fff;background:var(--accent-deep);border-radius:50%;place-items:center;width:140px;height:140px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:38px;display:grid}.efficiency-complete p:not(.eyebrow){max-width:56ch;color:var(--muted);margin:20px 0 26px;line-height:1.65}.efficiency-return-link{color:var(--muted);margin-left:22px;font-size:13px;font-weight:700}@media (max-width:860px){.practice-learning-entries,.efficiency-hero,.efficiency-prompt{grid-template-columns:1fr}.efficiency-hero{gap:38px}.efficiency-prompt{gap:20px}.efficiency-approach-card{min-height:330px}}@media (max-width:640px){.efficiency-shell{width:min(100% - 28px,1120px);padding:18px 0 72px}.efficiency-hero{padding:46px 0 38px}.efficiency-hero h1{font-size:clamp(44px,13vw,62px)}.efficiency-hero aside{padding:22px 0}.efficiency-progress{grid-template-columns:1fr;gap:13px;padding:17px 18px}.efficiency-progress>div:first-child{justify-content:space-between}.efficiency-body{padding:30px 20px 32px}.efficiency-approaches{grid-template-columns:1fr}.efficiency-approach-card{min-height:280px}.efficiency-feedback.is-correct{grid-template-columns:1fr}.efficiency-feedback.is-correct>div{border-bottom:1px solid #17231e1f;border-right:0;grid-row:auto;padding-bottom:12px}.efficiency-feedback.is-correct>p{margin-top:12px}.efficiency-action-row,.practice-efficiency-entry{flex-direction:column;align-items:flex-start}.efficiency-action-row button,.practice-efficiency-entry .practice-playground-action{justify-content:center;width:100%}.efficiency-complete{grid-template-columns:1fr;padding:46px 24px}.efficiency-complete-mark{width:100px;height:100px;font-size:30px}.efficiency-return-link{margin:18px 0 0;display:block}.dom-lab-shell{width:min(100% - 32px,1184px);padding-top:22px}.dom-lab-hero{margin-top:30px}.dom-lab-hero h1{font-size:clamp(46px,14vw,62px)}.dom-lab-hero>div>p:last-child{font-size:15px}.dom-lab-workbench{margin-top:44px}.dom-lab-progress{grid-template-columns:1fr;gap:13px;padding:16px 20px}.dom-lab-lesson{padding:34px 24px}.dom-lab-editor textarea{background:linear-gradient(90deg,#152019 0 31px,#29382f 31px 32px,#0000 32px),#111a16;min-height:300px;padding:24px 20px 28px 43px;font-size:11px}.dom-lab-actions{flex-direction:column-reverse;align-items:stretch}.dom-lab-reset,.dom-lab-run{justify-content:center;width:100%}.dom-lab-complete{grid-template-columns:1fr;gap:32px;padding:42px 28px}.dom-lab-complete-mark{width:112px;height:112px;font-size:36px}.dom-lab-return-link{margin:16px 0 0;display:block}.practice-playground-entry{flex-direction:column;align-items:flex-start;gap:18px}.practice-playground-action{width:100%}.function-lab-shell{width:min(100% - 32px,1184px);padding:30px 0 80px}.function-lab-hero{border-radius:17px 17px 5px;margin-top:22px}.function-lab-hero>div{padding:42px 27px 46px}.function-lab-hero h1{font-size:clamp(44px,13.2vw,62px)}.function-lab-hero aside{min-height:150px;padding:30px 27px}.function-lab-progress{grid-template-columns:1fr;gap:14px;padding:20px 24px}.function-lab-progress>div:first-child{justify-content:space-between}.function-lab-lesson,.function-lab-editor{padding:34px 24px}.function-lab-path{grid-template-columns:1fr 1fr}.function-lab-editor textarea{min-height:310px;padding:19px;font-size:12px}.function-lab-actions{flex-direction:column-reverse;align-items:stretch}.function-lab-actions button{width:100%}.function-lab-complete{grid-template-columns:1fr;gap:30px;padding:40px 25px}.function-lab-complete-mark{width:132px;height:132px;font-size:36px}.function-lab-complete .primary-action,.function-lab-return-link{justify-content:center;width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.efficiency-progress-track span,.efficiency-approach-card,.efficiency-action-row button,.tracing-progress-track span,.tracing-choices span,.tracing-action-row button,.test-design-progress-track span,.test-design-choices label>span,.test-design-action-row button,.dom-lab-progress-track span,.dom-lab-run,.dashboard-interview-action,.interview-start-action button,.interview-save-row button,.interview-finish-action button,.interview-finish-action a,.function-lab-progress-track span,.function-lab-actions button,.data-lab-progress-track span,.practice-learning-start,.practice-learning-links a{transition:none}}.practice-tracing-entry{background:#edf3ea}.tracing-shell{width:min(1120px,100% - 48px);margin-inline:auto;padding:24px 0 112px}.tracing-hero{grid-template-columns:minmax(0,1.3fr) minmax(260px,.5fr);align-items:end;gap:72px;padding:68px 0 56px;display:grid}.tracing-hero>div{max-width:760px}.tracing-hero h1{max-width:720px;font-size:clamp(52px,6vw,78px)}.tracing-hero>div>p:last-child{max-width:59ch;color:var(--muted);margin:28px 0 0;font-size:17px;line-height:1.65}.tracing-hero aside{border-top:1px solid #17231e38;border-bottom:1px solid #17231e38;gap:7px;padding:26px;display:grid}.tracing-hero aside strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:34px;font-weight:600}.tracing-hero aside span{color:var(--accent-deep);font-size:12px;font-weight:800}.tracing-hero aside p{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.55}.tracing-workbench,.tracing-complete{background:var(--surface);border:1px solid #17231e26;border-radius:18px 18px 6px;overflow:hidden;box-shadow:0 24px 60px #17231e1a}.tracing-progress{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);align-items:center;gap:32px;min-height:78px;padding:18px 24px;display:grid}.tracing-progress>div:first-child{align-items:baseline;gap:15px;display:flex}.tracing-progress>div:first-child span{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.tracing-progress>div:first-child strong{font-size:13px}.tracing-progress-track{background:#e2e9e1;border-radius:99px;height:6px;overflow:hidden}.tracing-progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .16s ease-out;display:block}.tracing-grid{grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);min-height:590px;display:grid}.tracing-code-panel{color:#dce7e1;background:#16221d;padding:27px}.tracing-code-panel>span{color:#8fa098;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.tracing-code-panel pre{white-space:pre-wrap;margin:58px 0 0;font-family:SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.9;overflow-x:auto}.tracing-prediction-panel{padding:50px 52px}.tracing-prediction-panel .eyebrow{margin-bottom:12px}.tracing-prediction-panel h2,.tracing-complete h2{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.04}.tracing-prediction-panel>p:not(.eyebrow){color:var(--muted);margin:18px 0 28px;line-height:1.55}.tracing-prediction-panel fieldset{border:0;margin:0;padding:0}.tracing-prediction-panel legend{color:var(--muted);margin-bottom:10px;font-size:11px;font-weight:800}.tracing-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tracing-choices label{cursor:pointer;min-height:54px;position:relative}.tracing-choices input{opacity:0;width:1px;height:1px;position:absolute}.tracing-choices span{background:#fbfcf9;border:1px solid #cdd6cf;border-radius:9px;place-items:center;min-height:54px;padding:10px 12px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:750;transition:border-color .16s ease-out,background-color .16s ease-out;display:grid}.tracing-choices label:hover span{border-color:var(--accent)}.tracing-choices input:focus-visible+span{outline-offset:3px;outline:3px solid #28765247}.tracing-choices input:checked+span{color:var(--accent-deep);border-color:var(--accent);background:#e8f2e8}.tracing-feedback{border:1px solid;border-radius:10px;margin-top:22px;padding:18px 19px}.tracing-feedback strong{font-size:13px;display:block}.tracing-feedback p,.tracing-feedback li{color:var(--muted);font-size:12px;line-height:1.6}.tracing-feedback p:last-child{margin-bottom:0}.tracing-feedback p span{color:var(--ink);font-weight:800}.tracing-feedback ol{margin:12px 0;padding-left:20px}.tracing-feedback.is-wrong{background:#fff8ed;border-color:#e0c5aa}.tracing-feedback.is-correct{background:#eef6ed;border-color:#bdd8c3}.tracing-action-row{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.tracing-action-row button{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:48px;font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:16px;padding:0 18px;font-size:13px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.tracing-action-row button:hover:not(:disabled){background:#0f432b;transform:translateY(-1px)}.tracing-action-row button:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.tracing-action-row button:disabled{color:#718078;cursor:not-allowed;background:#e8ece8;border-color:#d1d9d3}.tracing-action-row>span{color:var(--muted);font-size:10px}.tracing-complete{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:58px;min-height:470px;padding:74px;display:grid}.tracing-complete-mark{width:150px;height:150px;color:var(--paper);background:var(--ink);border-radius:50% 50% 15%;place-items:center;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:42px;display:grid}.tracing-complete>div:last-child>p:not(.eyebrow){max-width:58ch;color:var(--muted);margin:22px 0 28px;line-height:1.65}.tracing-return-link{color:var(--muted);text-underline-offset:4px;margin-left:22px;font-size:13px}@media (max-width:620px){.tracing-shell{width:min(100% - 32px,1120px);padding-bottom:80px}.tracing-hero{padding:48px 0 40px}.tracing-hero h1{font-size:clamp(46px,14vw,62px)}.tracing-progress{grid-template-columns:1fr;gap:14px}.tracing-code-panel,.tracing-prediction-panel{padding:30px 24px}.tracing-code-panel pre{font-size:12px}.tracing-choices{grid-template-columns:1fr}.tracing-action-row{flex-direction:column;align-items:stretch}.tracing-action-row button{justify-content:center}.tracing-action-row>span{text-align:center}.tracing-complete{grid-template-columns:1fr;gap:36px;padding:46px 24px}.tracing-complete-mark{width:110px;height:110px;font-size:32px}.tracing-return-link{margin:18px 0 0;display:block}}.practice-secondary-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.practice-test-design-entry{background:#edf3ea}.test-design-shell{width:min(1120px,100% - 48px);margin-inline:auto;padding:24px 0 112px}.test-design-hero{grid-template-columns:minmax(0,1.3fr) minmax(260px,.5fr);align-items:end;gap:72px;padding:68px 0 56px;display:grid}.test-design-hero>div{max-width:770px}.test-design-hero h1{max-width:760px;font-size:clamp(52px,6vw,78px)}.test-design-hero>div>p:last-child{max-width:60ch;color:var(--muted);margin:28px 0 0;font-size:17px;line-height:1.65}.test-design-hero aside{border-top:1px solid #17231e38;border-bottom:1px solid #17231e38;gap:7px;padding:26px;display:grid}.test-design-hero aside strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:34px;font-weight:600}.test-design-hero aside span{color:var(--accent-deep);font-size:12px;font-weight:800}.test-design-hero aside p{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.55}.test-design-workbench,.test-design-complete{background:var(--surface);border:1px solid #17231e26;border-radius:18px 18px 6px;overflow:hidden;box-shadow:0 24px 60px #17231e1a}.test-design-progress{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);align-items:center;gap:32px;min-height:78px;padding:18px 24px;display:grid}.test-design-progress>div:first-child{align-items:baseline;gap:15px;display:flex}.test-design-progress>div:first-child span{color:var(--accent-deep);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800}.test-design-progress>div:first-child strong{font-size:13px}.test-design-progress-track{background:#e2e9e1;border-radius:99px;height:6px;overflow:hidden}.test-design-progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .16s ease-out;display:block}.test-design-grid{grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);min-height:620px;display:grid}.test-design-code-panel{color:#dce7e1;background:#16221d;padding:27px}.test-design-code-panel>div{justify-content:space-between;align-items:center;gap:20px;display:flex}.test-design-code-panel>div>span,.test-design-code-panel>div>small{color:#8fa098;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.test-design-code-panel>div>small{border:1px solid #43574e;border-radius:99px;padding:5px 8px}.test-design-code-panel pre{white-space:pre-wrap;margin:58px 0 0;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.9;overflow-x:auto}.test-design-choice-panel{padding:46px 48px}.test-design-choice-panel .eyebrow{margin-bottom:12px}.test-design-choice-panel h2,.test-design-complete h2{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.04}.test-design-problem{color:var(--muted);margin:18px 0 26px;line-height:1.55}.test-design-choice-panel fieldset{border:0;margin:0;padding:0}.test-design-choice-panel legend{color:var(--muted);margin-bottom:11px;font-size:11px;font-weight:800}.test-design-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.test-design-choices label{cursor:pointer;min-height:72px;position:relative}.test-design-choices input{opacity:0;width:1px;height:1px;position:absolute}.test-design-choices label>span{background:#fbfcf9;border:1px solid #cdd6cf;border-radius:9px;align-content:center;gap:6px;min-height:72px;padding:11px 12px;transition:border-color .16s ease-out,background-color .16s ease-out;display:grid}.test-design-choices small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.test-design-choices code{white-space:pre-wrap;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.35}.test-design-choices label:hover>span{border-color:var(--accent)}.test-design-choices input:focus-visible+span{outline-offset:3px;outline:3px solid #28765247}.test-design-choices input:checked+span{color:var(--accent-deep);border-color:var(--accent);background:#e8f2e8}.test-design-feedback{border:1px solid;border-radius:10px;margin-top:22px;padding:18px 19px}.test-design-feedback>strong{font-size:13px;display:block}.test-design-feedback>p{color:var(--muted);font-size:12px;line-height:1.6}.test-design-feedback>p:last-child{margin-bottom:0}.test-design-feedback.is-wrong{background:#fff8ed;border-color:#e0c5aa}.test-design-feedback.is-correct{background:#eef6ed;border-color:#bdd8c3}.test-design-output-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.test-design-output-comparison p{background:#ffffffb8;border:1px solid #17231e1f;border-radius:8px;gap:5px;margin:0;padding:10px 12px;display:grid}.test-design-output-comparison span,.test-design-output-comparison code{font-size:10px}.test-design-output-comparison span{color:var(--muted);font-weight:800}.test-design-output-comparison code{font-family:SFMono-Regular,Consolas,monospace}.test-design-takeaway span{color:var(--ink);font-weight:800}.test-design-action-row{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.test-design-action-row button{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:48px;font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:16px;padding:0 18px;font-size:13px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.test-design-action-row button:hover:not(:disabled){background:#0f432b;transform:translateY(-1px)}.test-design-action-row button:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.test-design-action-row button:disabled{color:#718078;cursor:not-allowed;background:#e8ece8;border-color:#d1d9d3}.test-design-action-row>span{color:var(--muted);font-size:10px}.test-design-complete{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:58px;min-height:470px;padding:74px;display:grid}.test-design-complete-mark{width:150px;height:150px;color:var(--paper);background:var(--ink);border-radius:50% 50% 15%;place-items:center;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:42px;display:grid}.test-design-complete>div:last-child>p:not(.eyebrow){max-width:58ch;color:var(--muted);margin:22px 0 28px;line-height:1.65}.test-design-return-link{color:var(--muted);text-underline-offset:4px;margin-left:22px;font-size:12px;font-weight:750}.test-design-return-link:hover{color:var(--accent-deep)}.test-design-return-link:focus-visible{outline-offset:3px;outline:3px solid #28765247}.practice-secondary-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.practice-secondary-paths .practice-playground-entry{margin-top:0}.practice-dom-lab-entry{background:linear-gradient(125deg,#dfeadfa8,#0000 58%),#ffffff94}.dom-lab-page{background:radial-gradient(circle at 88% 8%, #2876521a, transparent 25%), var(--paper)}.dom-lab-shell{width:min(1184px,100% - 48px);margin:0 auto;padding:34px 0 104px}.dom-lab-shell:focus{outline:none}.dom-lab-hero{grid-template-columns:minmax(0,1.35fr) minmax(250px,.48fr);align-items:end;gap:80px;margin-top:42px;display:grid}.dom-lab-hero h1{max-width:12ch;font-size:clamp(54px,6.5vw,82px)}.dom-lab-hero>div>p:last-child{max-width:58ch;color:var(--muted);margin:28px 0 0;font-size:17px;line-height:1.65}.dom-lab-hero aside{background:#ffffffb3;border:1px solid #17231e26;border-radius:14px 14px 5px;padding:26px 27px;display:grid;box-shadow:0 18px 44px #17231e14}.dom-lab-hero aside strong{letter-spacing:-.035em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:28px;font-weight:600;line-height:1.1}.dom-lab-hero aside>span{color:var(--accent-deep);letter-spacing:.06em;text-transform:uppercase;margin-top:7px;font-size:11px;font-weight:800}.dom-lab-hero aside p{color:var(--muted);border-top:1px solid var(--line);margin:18px 0 0;padding-top:17px;font-size:12px;line-height:1.55}.dom-lab-workbench{background:#111a16;border:1px solid #2f4238;border-radius:18px 18px 6px;margin-top:60px;overflow:hidden;box-shadow:0 28px 70px #17231e2b}.dom-lab-progress{color:#eef5f0;background:#18241e;border-bottom:1px solid #314239;grid-template-columns:minmax(220px,auto) minmax(180px,420px);justify-content:space-between;align-items:center;gap:40px;min-height:70px;padding:0 28px;display:grid}.dom-lab-progress>div:first-child{align-items:baseline;gap:13px;display:flex}.dom-lab-progress>div:first-child span{color:#98a9a0;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:750}.dom-lab-progress>div:first-child strong{color:#91dfae;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600}.dom-lab-progress-track{background:#314239;border-radius:99px;height:6px;overflow:hidden}.dom-lab-progress-track span{border-radius:inherit;background:#83dda8;height:100%;transition:width .16s ease-out;display:block}.dom-lab-grid{grid-template-columns:minmax(285px,.72fr) minmax(0,1.48fr);display:grid}.dom-lab-lesson{color:var(--ink);background:linear-gradient(150deg,#dfeadfd1,#0000 52%),#f8faf5;border-right:1px solid #314239;padding:42px 36px}.dom-lab-lesson .eyebrow{margin-bottom:14px}.dom-lab-lesson h2{letter-spacing:-.04em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(31px,3vw,42px);font-weight:600;line-height:1.03}.dom-lab-prompt{color:#526058;max-width:48ch;margin:20px 0 0;font-size:14px;line-height:1.65}.dom-lab-preview{background:#ffffffb8;border:1px solid #cbd8cd;border-radius:11px 11px 4px;gap:10px;margin-top:30px;padding:18px;display:grid}.dom-lab-preview>span{color:var(--accent-deep);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.dom-lab-preview code{overflow-wrap:anywhere;color:#263d31;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.55}.dom-lab-path{border-top:1px solid #cfd8d0;grid-template-columns:repeat(4,1fr);margin:34px 0 0;padding:0;list-style:none;display:grid}.dom-lab-path li{color:#8a958f;border-top:3px solid #0000;gap:5px;min-width:0;padding:15px 5px 0;display:grid;transform:translateY(-1px)}.dom-lab-path li:first-child{padding-left:0}.dom-lab-path li.is-current{color:var(--ink);border-top-color:var(--accent)}.dom-lab-path li.is-complete{color:var(--accent-deep)}.dom-lab-path li>span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.dom-lab-path li strong{text-overflow:ellipsis;font-size:10px;overflow:hidden}.dom-lab-editor{color:#eef5f0;background:#111a16;min-width:0}.dom-lab-editor-bar{color:#9baba2;background:#152019;border-bottom:1px solid #2a3a31;justify-content:space-between;align-items:center;gap:20px;min-height:52px;padding:0 24px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;display:flex}.dom-lab-editor>label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dom-lab-editor textarea{resize:vertical;color:#eaf1ed;tab-size:2;background:linear-gradient(90deg,#152019 0 39px,#29382f 39px 40px,#0000 40px),#111a16;border:0;border-radius:0;outline:none;width:100%;min-height:334px;padding:28px 30px 34px 54px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.75}.dom-lab-editor textarea:focus-visible{box-shadow:inset 0 0 0 2px #78c996}.dom-lab-actions{background:#18241e;border-top:1px solid #2a3a31;border-bottom:1px solid #2a3a31;justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:15px 22px;display:flex}.dom-lab-reset,.dom-lab-run{min-height:46px;font:inherit;cursor:pointer;border-radius:8px;padding:0 18px;font-size:12px;font-weight:800}.dom-lab-reset{color:#bdc9c2;background:0 0;border:1px solid #42564b}.dom-lab-run{color:#102018;background:#91dfae;border:1px solid #a3e5bd;align-items:center;gap:24px;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.dom-lab-reset:hover:not(:disabled){color:#fff;border-color:#708b7c}.dom-lab-run:hover:not(:disabled){background:#a3e5bd;transform:translateY(-1px)}.dom-lab-run:active:not(:disabled){transform:translateY(1px)}.dom-lab-reset:focus-visible,.dom-lab-run:focus-visible{outline-offset:3px;outline:3px solid #91dfae57}.dom-lab-reset:disabled,.dom-lab-run:disabled{opacity:.58;cursor:wait}.dom-lab-result{background:#152019;border:1px solid #314239;border-radius:11px 11px 4px;align-content:center;gap:13px;min-height:132px;margin:24px;padding:21px 22px;display:grid}.dom-lab-result>div{gap:6px;display:grid}.dom-lab-result>div span{color:#8fa198;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.dom-lab-result>div strong{color:#eaf1ed;font-size:13px;line-height:1.45}.dom-lab-result>p{color:#bac7c0;max-width:66ch;margin:0;font-size:12px;line-height:1.6}.dom-lab-result.is-failed{background:#241d18;border-color:#755847}.dom-lab-result.is-failed>div span{color:#e1af8f}.dom-lab-result.is-passed{background:#14261c;border-color:#3d6b51}.dom-lab-result.is-passed>div span,.dom-lab-takeaway>span{color:#91dfae}.dom-lab-takeaway>span{font-weight:800}.dom-lab-privacy{color:#84958b;margin:0 24px 25px;font-size:10px;line-height:1.55}.dom-lab-complete{color:#fff;background:radial-gradient(circle at 85% 20%, #66dc9d26, transparent 24%), var(--ink);border-radius:20px 20px 7px;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:54px;margin-top:60px;padding:64px;display:grid;box-shadow:0 28px 70px #17231e29}.dom-lab-complete-mark{color:#91dfae;border:1px solid #91dfae61;border-radius:50%;place-items:center;width:150px;height:150px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:46px;font-weight:600;display:grid}.dom-lab-complete .eyebrow{color:#91dfae}.dom-lab-complete h2{letter-spacing:-.045em;max-width:16ch;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(40px,5vw,62px);font-weight:600;line-height:1}.dom-lab-complete p:not(.eyebrow){color:#c4cec8;max-width:60ch;margin:22px 0 28px;font-size:14px;line-height:1.65}.dom-lab-return-link{color:#b9c6bf;text-underline-offset:4px;margin-left:19px;font-size:12px;font-weight:750}.dom-lab-return-link:hover{color:#fff}.dom-lab-return-link:focus-visible{outline-offset:4px;outline:3px solid #91dfae57}.interview-start-action button,.interview-save-row button,.interview-finish-action button,.interview-finish-action a{color:#fff;border:1px solid var(--accent-deep);background:var(--accent-deep);min-height:48px;font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0 20px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.interview-start-action button:hover:not(:disabled),.interview-save-row button:hover:not(:disabled),.interview-finish-action button:hover:not(:disabled),.interview-finish-action a:hover{border-color:var(--ink);background:var(--ink)}.interview-start-action button:active:not(:disabled),.interview-save-row button:active:not(:disabled),.interview-finish-action button:active:not(:disabled),.interview-finish-action a:active{transform:translateY(1px)}.interview-start-action button:focus-visible,.interview-save-row button:focus-visible,.interview-finish-action button:focus-visible,.interview-finish-action a:focus-visible{outline-offset:3px;outline:3px solid #2876524d}.interview-start-action button:disabled,.interview-save-row button:disabled,.interview-finish-action button:disabled{opacity:.65;cursor:wait}.interview-review-note{max-width:62ch;color:var(--muted);margin:18px 0 -12px;font-size:13px;line-height:1.6}.interview-save-row:has(.interview-summary-button){grid-template-columns:auto auto 1fr}.interview-save-row .interview-summary-button{min-width:0;color:var(--accent-deep);background:0 0;border-color:#0000;padding:0 8px}.interview-save-row .interview-summary-button:hover:not(:disabled){color:var(--ink);background:0 0;border-color:#0000}.interview-finish-action button{gap:22px}.interview-finish-action>div{justify-items:start;gap:7px;display:grid}.interview-finish-action>div>p{color:var(--muted);text-align:left;margin:0;font-size:11px;line-height:1.5}.interview-finish-action .interview-summary-link{min-height:0;color:var(--accent-deep);text-underline-offset:3px;background:0 0;border:0;border-radius:0;padding:0;font-size:12px;text-decoration:underline;display:inline}.interview-finish-action .interview-summary-link:hover{color:var(--ink);background:0 0;border-color:#0000}.practice-function-lab-entry{background:linear-gradient(120deg,#eef5ea,#ffffffb8);border-color:#2876523d}.function-lab-page{background:radial-gradient(circle at 88% 17%, #66dc9d21, transparent 24rem), linear-gradient(#17231e08 1px, transparent 1px), linear-gradient(90deg, #17231e08 1px, transparent 1px), var(--paper);background-size:auto,32px 32px,32px 32px,auto}.function-lab-shell{width:min(1184px,100% - 48px);margin-inline:auto;padding:42px 0 112px}.function-lab-hero{color:#fff;background:var(--ink);border-radius:20px 20px 6px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);margin-top:30px;display:grid;overflow:hidden;box-shadow:0 28px 70px #17231e2e}.function-lab-hero>div{padding:58px 62px 62px}.function-lab-hero .eyebrow{color:#9fddb9}.function-lab-hero h1{letter-spacing:-.052em;text-wrap:balance;max-width:820px;margin:18px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(48px,5.6vw,76px);font-weight:600;line-height:.98}.function-lab-hero>div>p:last-child{color:#bdc9c2;max-width:61ch;margin:26px 0 0;font-size:17px;line-height:1.65}.function-lab-hero aside{background:linear-gradient(#66dc9d1f,#66dc9d1f),repeating-linear-gradient(135deg,#0000 0 20px,#ffffff06 20px 21px);border-left:1px solid #ffffff1f;flex-direction:column;justify-content:flex-end;min-height:280px;padding:42px;display:flex}.function-lab-hero aside strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:30px;font-weight:600}.function-lab-hero aside span{color:#9fddb9;letter-spacing:.08em;text-transform:uppercase;margin-top:7px;font-size:12px;font-weight:800}.function-lab-hero aside p{color:#bdc9c2;margin:22px 0 0;font-size:12px;line-height:1.6}.function-lab-workbench,.function-lab-complete{background:var(--surface);border:1px solid #17231e26;border-radius:7px 19px 19px;margin-top:24px;overflow:hidden;box-shadow:0 22px 58px #17231e17}.function-lab-progress{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.42fr) minmax(240px,1fr);align-items:center;gap:40px;min-height:82px;padding:19px 30px;display:grid}.function-lab-progress>div:first-child{align-items:baseline;gap:15px;display:flex}.function-lab-progress span,.function-lab-progress strong{font-size:11px;font-weight:800}.function-lab-progress>div:first-child span{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.05em;text-transform:uppercase}.function-lab-progress>div:first-child strong{color:var(--accent-deep)}.function-lab-progress-track{background:#e4eae3;border-radius:99px;height:7px;overflow:hidden}.function-lab-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #66a570);height:100%;transition:width .18s ease-out;display:block}.function-lab-grid{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);display:grid}.function-lab-lesson{border-right:1px solid var(--line);background:#f8faf5;padding:46px 38px}.function-lab-lesson h2{letter-spacing:-.045em;text-wrap:balance;margin:15px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,3.5vw,50px);font-weight:600;line-height:1.03}.function-lab-prompt{color:var(--muted);margin:20px 0 0;font-size:15px;line-height:1.65}.function-lab-contract{border-block:1px solid #d8e0d8;gap:0;margin:30px 0 0;display:grid}.function-lab-contract div{grid-template-columns:68px 1fr;gap:12px;padding:15px 0;display:grid}.function-lab-contract div+div{border-top:1px solid #d8e0d8}.function-lab-contract dt,.function-lab-example>span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.function-lab-contract dd{margin:0;font-size:12px;font-weight:650;line-height:1.5}.function-lab-example{margin-top:27px}.function-lab-example>div{background:#fff;border:1px solid #d7dfd6;border-radius:9px;align-items:center;gap:10px;margin-top:9px;padding:13px 15px;display:flex}.function-lab-example code{white-space:normal;font-size:11px}.function-lab-example>div span{color:var(--accent)}.function-lab-path{gap:10px;margin:36px 0 0;padding:0;list-style:none;display:grid}.function-lab-path li{color:#849089;grid-template-columns:30px 1fr;align-items:center;gap:10px;min-height:36px;display:grid}.function-lab-path li span{font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.function-lab-path li strong{font-size:12px}.function-lab-path li.is-current{color:var(--ink)}.function-lab-path li.is-current span,.function-lab-path li.is-complete span{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.function-lab-path li.is-current span{color:#fff;background:var(--ink)}.function-lab-path li.is-complete{color:var(--accent-deep)}.function-lab-path li.is-complete span{background:#eaf4e9;border:1px solid #b8d2bf}.function-lab-editor{background:#fff;min-width:0;padding:40px}.function-lab-editor-bar{color:#aebbb4;background:#1d2924;border-radius:11px 11px 0 0;justify-content:space-between;align-items:center;gap:16px;min-height:42px;padding:0 16px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;display:flex}.function-lab-editor-bar span:first-child{color:#d7e1dc}.function-lab-editor>label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.function-lab-editor textarea{resize:vertical;color:#dce8e1;tab-size:2;background:#17231e;border:0;border-radius:0 0 11px 11px;outline:0;width:100%;min-height:330px;margin:0;padding:24px;font:13px/1.75 SFMono-Regular,Consolas,monospace}.function-lab-editor textarea:focus-visible{box-shadow:0 0 0 3px #28765257}.function-lab-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.function-lab-actions button{min-height:46px;font:inherit;cursor:pointer;border-radius:9px;padding:0 18px;font-size:12px;font-weight:800;transition:transform .16s ease-out,border-color .16s ease-out,background-color .16s ease-out}.function-lab-actions button:disabled{opacity:.62;cursor:wait}.function-lab-reset{color:var(--muted);background:0 0;border:1px solid #cfd8d0}.function-lab-run{color:#fff;border:1px solid var(--ink);background:var(--ink);justify-content:center;align-items:center;gap:18px;display:inline-flex}.function-lab-actions button:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.function-lab-run:hover:not(:disabled){background:var(--accent-deep)}.function-lab-actions button:active:not(:disabled){transform:translateY(1px)}.function-lab-actions button:focus-visible{outline-offset:3px;outline:3px solid #2876524a}.function-lab-result{background:#f8faf7;border:1px solid #d8dfd8;border-radius:11px;align-content:center;gap:12px;min-height:90px;margin-top:22px;padding:18px 20px;display:grid}.function-lab-result>div{gap:5px;display:grid}.function-lab-result>div span,.function-lab-takeaway span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:850}.function-lab-result strong{font-size:13px}.function-lab-result>p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.function-lab-result.is-failed,.function-lab-result.is-error{background:#fff8f4;border-color:#e4c9bd}.function-lab-result.is-passed{background:#edf6ec;border-color:#bcd7c2}.function-lab-result.is-passed>div span,.function-lab-takeaway span{color:var(--accent-deep)}.function-lab-takeaway{border-top:1px solid #cbdccb;padding-top:12px}.function-lab-privacy{color:#748079;margin:18px 3px 0;font-size:10px;line-height:1.55}.function-lab-complete{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:52px;padding:58px;display:grid}.function-lab-complete-mark{color:#fff;background:var(--ink);border-radius:50%;place-items:center;width:190px;height:190px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:48px;font-weight:600;display:grid;box-shadow:inset 0 0 0 12px #66dc9d1f}.function-lab-complete h2{letter-spacing:-.048em;text-wrap:balance;max-width:790px;margin:14px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(40px,4.6vw,62px);font-weight:600;line-height:1}.function-lab-complete>div:last-child>p:not(.eyebrow){max-width:62ch;color:var(--muted);margin:22px 0 0;line-height:1.65}.function-lab-complete .primary-action{margin-top:27px}.function-lab-return-link{min-height:46px;color:var(--muted);text-underline-offset:4px;align-items:center;margin-left:22px;font-size:12px;font-weight:750;display:inline-flex}.function-lab-return-link:focus-visible{outline-offset:3px;outline:3px solid #2876524a}.practice-secondary-paths{gap:12px;display:grid}.practice-data-lab-entry{background:#edf4ea;border-color:#b7cdbb}.data-lab-shell{width:min(1184px,100% - 48px);margin:0 auto;padding:30px 0 112px}.data-lab-hero{color:#fff;background:var(--ink);border-radius:22px 22px 7px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);margin-top:24px;display:grid;overflow:hidden;box-shadow:0 28px 58px #17231e29}.data-lab-hero>div{padding:64px 68px 68px}.data-lab-hero .eyebrow{color:#8ed0a8}.data-lab-hero h1{color:#fff;letter-spacing:-.055em;text-wrap:balance;max-width:14ch;margin:16px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(50px,5.6vw,76px);font-weight:600;line-height:.98}.data-lab-hero>div>p:last-child{color:#c7d2ca;max-width:57ch;margin:28px 0 0;font-size:16px;line-height:1.65}.data-lab-hero aside{background:radial-gradient(circle at 82% 18%,#66dc9d33,#0000 34%),#ffffff06;border-left:1px solid #ffffff1f;flex-direction:column;justify-content:flex-end;min-height:100%;padding:56px 44px;display:flex}.data-lab-hero aside strong{color:#fff;letter-spacing:-.035em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:32px;font-weight:600}.data-lab-hero aside span{color:#8ed0a8;margin-top:7px;font-size:12px;font-weight:800}.data-lab-hero aside p{color:#b8c5bd;margin:24px 0 0;font-size:12px;line-height:1.6}.data-lab-workbench,.data-lab-complete{background:var(--surface);border:1px solid #17231e24;border-radius:18px 18px 6px;margin-top:28px;overflow:hidden;box-shadow:0 24px 54px #17231e1a}.data-lab-progress{color:#fff;background:#203129;grid-template-columns:minmax(190px,auto) minmax(160px,1fr);align-items:center;gap:36px;min-height:74px;padding:18px 28px;display:grid}.data-lab-progress>div:first-child{align-items:baseline;gap:14px;display:flex}.data-lab-progress>div:first-child span{color:#a9b7ae;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.data-lab-progress>div:first-child strong{color:#fff;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;font-weight:600}.data-lab-progress-track{background:#ffffff1f;border-radius:99px;height:6px;overflow:hidden}.data-lab-progress-track span{border-radius:inherit;background:#66dc9d;height:100%;transition:width .18s ease-out;display:block}.data-lab-grid{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);display:grid}.data-lab-lesson{background:#f4f6f0;border-right:1px solid #d7dfd8;padding:48px 42px}.data-lab-lesson .eyebrow{margin-bottom:13px}.data-lab-lesson h2,.data-lab-complete h2{letter-spacing:-.04em;text-wrap:balance;max-width:16ch;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,3.4vw,46px);font-weight:600;line-height:1.04}.data-lab-prompt{max-width:47ch;color:var(--muted);margin:22px 0 0;font-size:14px;line-height:1.65}.data-lab-contract{gap:15px;margin:30px 0 0;display:grid}.data-lab-contract div{border-top:1px solid #cfd8d0;grid-template-columns:58px minmax(0,1fr);gap:13px;padding-top:13px;display:grid}.data-lab-contract dt{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.data-lab-contract dd{color:#4c5c53;margin:0;font-size:12px;line-height:1.55}.data-lab-example{background:#fff;border:1px solid #cbd6cc;border-radius:10px;margin-top:28px;padding:16px 17px}.data-lab-example>span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:800}.data-lab-example>div{align-items:center;gap:11px;margin-top:9px;display:flex}.data-lab-example code{color:var(--ink);white-space:pre-wrap;font-size:12px}.data-lab-example>div>span{color:var(--accent)}.data-lab-path{gap:4px;margin:34px 0 0;padding:0;list-style:none;display:grid}.data-lab-path li{color:#748078;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:42px;padding:0 12px;display:grid}.data-lab-path li>span{font-variant-numeric:tabular-nums;font-size:10px}.data-lab-path li>strong{font-size:11px}.data-lab-path li.is-current{color:var(--ink);background:#e2ece0}.data-lab-path li.is-complete{color:var(--accent-deep)}.data-lab-path li.is-complete>span:after{content:" ✓"}.data-lab-editor{color:#fff;background:#17231e;min-width:0;padding:40px}.data-lab-editor-bar{background:#203129;border:1px solid #35483e;border-bottom:0;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:20px;min-height:40px;padding:0 16px;display:flex}.data-lab-editor-bar span{color:#cad5ce;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.data-lab-editor-bar span:last-child{color:#8ed0a8;letter-spacing:.08em;text-transform:uppercase;font-family:inherit;font-size:9px;font-weight:800}.data-lab-editor>label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.data-lab-editor textarea{resize:vertical;color:#edf4ef;tab-size:2;background:#101914;border:1px solid #35483e;border-radius:0 0 10px 10px;outline:0;width:100%;min-height:340px;padding:24px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.72;display:block}.data-lab-editor textarea:focus-visible{border-color:#66dc9d;box-shadow:0 0 0 3px #66dc9d33}.data-lab-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;display:flex}.data-lab-actions button{min-height:46px;font:inherit;cursor:pointer;border-radius:8px;padding:0 18px;font-size:12px;font-weight:800}.data-lab-reset{color:#c6d1ca;background:0 0;border:1px solid #4b6055}.data-lab-run{color:#132019;background:#66dc9d;border:1px solid #66dc9d;justify-content:space-between;align-items:center;gap:20px;min-width:154px;display:inline-flex}.data-lab-reset:hover:not(:disabled){background:#ffffff0a;border-color:#738a7d}.data-lab-run:hover:not(:disabled){background:#7fe3aa}.data-lab-actions button:focus-visible{outline-offset:3px;outline:3px solid #66dc9d8c}.data-lab-actions button:disabled{opacity:.58;cursor:wait}.data-lab-result{background:#1e2d26;border:1px solid #34483d;border-radius:10px;gap:12px;min-height:94px;margin-top:18px;padding:20px;display:grid}.data-lab-result>div{gap:5px;display:grid}.data-lab-result>div>span{color:#8fa197;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:800}.data-lab-result>div>strong{color:#edf4ef;font-size:13px;line-height:1.5}.data-lab-result>p{color:#c1cdc5;max-width:62ch;margin:0;font-size:12px;line-height:1.6}.data-lab-result.is-failed{background:#2f2822;border-color:#765747}.data-lab-result.is-passed{background:#1d3327;border-color:#3a6f53}.data-lab-takeaway span{color:#8ed0a8;font-weight:800}.data-lab-privacy{color:#86968d;max-width:66ch;margin:18px 0 0;font-size:10px;line-height:1.55}.data-lab-complete{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:50px;min-height:380px;padding:58px;display:grid}.data-lab-complete-mark{color:#fff;background:var(--accent);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:150px;height:150px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:40px;display:grid}.data-lab-complete>div:last-child>p:not(.eyebrow){max-width:58ch;color:var(--muted);margin:22px 0 27px;line-height:1.65}.data-lab-return-link{width:fit-content;color:var(--accent-deep);text-underline-offset:4px;margin:18px 0 0;font-size:12px;font-weight:750;display:block}.data-lab-return-link:focus-visible{outline-offset:3px;outline:3px solid #28765240}.practice-learning-map{background:#ffffff80;border:1px solid #17231e24;border-radius:20px 20px 6px;margin-top:52px;padding:38px;box-shadow:0 20px 46px #17231e0f}.practice-learning-map-heading{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);align-items:end;gap:48px;display:grid}.practice-learning-map-heading .eyebrow{margin-bottom:9px}.practice-learning-map-heading h2{letter-spacing:-.04em;text-wrap:balance;max-width:640px;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,50px);font-weight:600;line-height:1.04}.practice-learning-map-heading>p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.practice-learning-start{min-height:100px;color:var(--ink);background:#eef5ed;border:1px solid #28765247;border-radius:14px 14px 4px;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:24px 27px;text-decoration:none;transition:border-color .16s ease-out,transform .16s ease-out;display:flex}.practice-learning-start:hover{border-color:var(--accent);transform:translateY(-1px)}.practice-learning-start:focus-visible,.practice-learning-links a:focus-visible,.practice-learning-playground a:focus-visible{outline-offset:3px;outline:3px solid #28765247}.practice-learning-start>span:first-child{gap:7px;display:grid}.practice-learning-start small{color:var(--accent-deep);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800}.practice-learning-start strong{letter-spacing:-.025em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(23px,2.7vw,31px);font-weight:600}.practice-learning-start>span:last-child{color:var(--accent-deep);font-size:24px}.practice-learning-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.practice-learning-group{background:#f6f7f2b8;border:1px solid #17231e1f;border-radius:14px 14px 5px;min-width:0;padding:24px}.practice-learning-group h3{letter-spacing:-.025em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600}.practice-learning-group>div:first-child>p{min-height:66px;color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.6}.practice-learning-links{gap:8px;margin-top:20px;display:grid}.practice-learning-links a{min-height:60px;color:var(--ink);background:#ffffffbd;border:1px solid #17231e1c;border-radius:10px 10px 3px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:border-color .16s ease-out,color .16s ease-out;display:flex}.practice-learning-links a:hover{color:var(--accent-deep);border-color:#2876527a}.practice-learning-links a>span:first-child{gap:3px;display:grid}.practice-learning-links strong{font-size:13px;line-height:1.35}.practice-learning-links small{color:var(--muted);font-size:11px}.practice-learning-links a>span:last-child{color:var(--accent-deep)}.practice-learning-playground{border-top:1px solid #17231e21;justify-content:space-between;align-items:center;gap:24px;margin-top:16px;padding:18px 22px;display:flex}.practice-learning-playground p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.practice-learning-playground p strong{color:var(--ink)}.practice-learning-playground a{color:var(--accent-deep);flex:none;font-size:13px;font-weight:780;text-decoration:none}.practice-learning-playground a:hover{text-underline-offset:4px;text-decoration:underline}.judge-basics-shell{width:min(1120px,100% - 40px);margin:0 auto;padding:34px 0 76px}.judge-basics-hero{background:radial-gradient(circle at 84% 17%,#66dc9d3d,#0000 25%),linear-gradient(135deg,#fbfcf7 0%,#eef4ea 100%);border:1px solid #17231e21;border-radius:24px 24px 7px;grid-template-columns:minmax(0,1.12fr) minmax(280px,.68fr);align-items:end;gap:70px;margin-top:34px;padding:56px 58px;display:grid;box-shadow:0 28px 72px #17231e14}.judge-basics-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:700px;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(46px,6vw,76px);font-weight:600;line-height:.98}.judge-unit-summary>p{max-width:48ch;color:var(--muted);margin:0;font-size:15px;line-height:1.72}.judge-unit-summary ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:24px 0 0;padding:0;list-style:none;display:grid}.judge-unit-summary li{color:#87928c;border-top:2px solid #d3ddd4;gap:4px;padding-top:10px;display:grid}.judge-unit-summary li.is-current{color:var(--ink);border-color:var(--accent)}.judge-unit-summary li span{font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.judge-unit-summary li strong{font-size:10px}.judge-trace{background:#ffffffb8;border:1px solid #17231e21;border-radius:7px 22px 22px;margin-top:22px;padding:50px 54px 54px}.judge-trace-heading{justify-content:space-between;align-items:end;gap:30px;display:flex}.judge-trace-heading h2,.judge-checkpoint h2{letter-spacing:-.04em;margin:8px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4.5vw,52px);font-weight:600;line-height:1.02}.judge-trace-steps{grid-template-columns:repeat(4,minmax(0,1fr));margin:34px 0 0;padding:0;list-style:none;display:grid}.judge-trace-steps li{border-block:1px solid #17231e21;background:#f6f7f2;border-left:1px solid #17231e21;gap:8px;min-width:0;padding:21px 19px;display:grid;position:relative}.judge-trace-steps li:first-child{border-radius:12px 0 0 12px}.judge-trace-steps li:last-child{background:#eaf3e8;border-right:1px solid #17231e21;border-radius:0 12px 12px 0}.judge-trace-steps li:not(:last-child):after{content:"→";z-index:1;width:20px;height:20px;color:var(--accent-deep);background:#fff;border:1px solid #17231e24;border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.judge-trace-steps span,.judge-rules article>span,.judge-answer-feedback>span{color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.judge-trace-steps small{color:var(--muted);font-size:11px;font-weight:700}.judge-trace-steps code{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(14px,1.7vw,18px);font-weight:700;overflow:hidden}.judge-code-card{background:#17231e;border-radius:14px 14px 5px;margin-top:22px;overflow:hidden;box-shadow:0 20px 40px #17231e29}.judge-code-bar{color:#a9b9b0;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ffffff1c;justify-content:space-between;gap:20px;padding:12px 18px;font-size:10px;font-weight:750;display:flex}.judge-code-card pre,.judge-checkpoint-copy pre{margin:0;overflow-x:auto}.judge-code-card pre{color:#eff8f0;padding:27px 30px 31px;font-size:14px;line-height:1.75}.judge-rules{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.judge-rules article{background:#f6f7f2a6;border:1px solid #17231e1c;border-radius:12px 12px 4px;padding:21px}.judge-rules h3{letter-spacing:-.02em;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px;font-weight:600}.judge-rules p{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.6}.judge-checkpoint{color:#f4f7f0;background:#17231e;border-radius:22px 7px 22px 22px;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:52px;margin-top:22px;padding:50px 54px;display:grid;box-shadow:0 28px 64px #17231e29}.judge-checkpoint-copy>p:not(.eyebrow){color:#b9c5be;max-width:55ch;margin:18px 0 0;line-height:1.65}.judge-checkpoint-copy pre{color:#dff5e5;background:#0e1813;border:1px solid #ffffff1f;border-radius:12px 12px 4px;margin-top:25px;padding:23px 25px;font-size:13px;line-height:1.72}.judge-answer-panel{background:#ffffff0e;border:1px solid #ffffff21;border-radius:14px 14px 5px;align-self:stretch;padding:28px}.judge-answer-panel fieldset{border:0;gap:9px;margin:0;padding:0;display:grid}.judge-answer-panel legend{color:#c1cec7;letter-spacing:.09em;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:800}.judge-answer-panel label{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:9px 9px 3px;align-items:center;gap:11px;min-height:51px;padding:12px 14px;display:flex}.judge-answer-panel label:has(input:checked){background:#66dc9d1c;border-color:#66dc9d}.judge-answer-panel input{accent-color:#66dc9d}.judge-answer-panel label span{font-size:13px;font-weight:650}.judge-check-button{cursor:pointer;border:0;width:100%;margin-top:18px}.judge-check-button:disabled{opacity:.46;cursor:not-allowed}.judge-answer-status{margin-top:18px}.judge-answer-feedback{border-top:1px solid #ffffff21;padding-top:18px}.judge-answer-feedback strong,.judge-answer-feedback h3{color:#fff;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;font-weight:600;display:block}.judge-answer-feedback h3{margin-top:8px}.judge-answer-feedback p{color:#bac7c0;margin:10px 0 0;font-size:12px;line-height:1.6}.judge-answer-feedback .primary-action{width:100%;margin-top:20px}.judge-privacy-note{color:var(--muted);margin:18px 4px 0;font-size:11px;line-height:1.55}@media (max-width:820px){.judge-basics-hero,.judge-checkpoint{grid-template-columns:1fr;gap:32px}.judge-basics-hero,.judge-trace,.judge-checkpoint{padding:36px 30px}.judge-trace-steps{grid-template-columns:1fr 1fr}.judge-trace-steps li,.judge-trace-steps li:first-child,.judge-trace-steps li:last-child{border:1px solid #17231e21;border-radius:8px}.judge-trace-steps li:after{display:none!important}.judge-rules{grid-template-columns:1fr}}@media (max-width:560px){.judge-basics-shell{width:min(100% - 24px,1120px);padding-bottom:48px}.judge-basics-hero{margin-top:22px}.judge-basics-hero,.judge-trace,.judge-checkpoint{padding:29px 22px}.judge-trace-steps{grid-template-columns:1fr;gap:8px}.judge-code-card pre,.judge-checkpoint-copy pre{padding:20px;font-size:11px}.judge-answer-panel{padding:20px}}.skill-record-shell{width:min(100% - 48px,1180px);margin:0 auto;padding:64px 0 112px}.skill-record-layout{gap:64px;display:grid}.skill-record-hero{grid-template-columns:minmax(0,1.18fr) minmax(320px,.72fr);align-items:stretch;gap:64px;display:grid}.skill-record-heading{padding:32px 0}.skill-record-heading h1{letter-spacing:-.045em;text-wrap:balance;max-width:780px;margin:18px 0 24px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(52px,6vw,78px);font-weight:500;line-height:.98}.skill-record-heading>p:not(.eyebrow){max-width:630px;color:var(--muted);margin:0;font-size:18px;line-height:1.65}.skill-record-primary-action{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:34px;width:fit-content;min-height:52px;margin-top:34px;padding:0 22px;font-size:13px;font-weight:800;text-decoration:none;transition:background .16s ease-out,transform .16s ease-out;display:inline-flex}.skill-record-primary-action:hover{background:var(--accent-deep);transform:translateY(-2px)}.skill-record-primary-action:focus-visible,.skill-record-list li>a:focus-visible,.skill-record-lab-list li>a:focus-visible{outline-offset:4px;border-radius:4px;outline:3px solid #28765247}.skill-record-summary{background:var(--ink);color:#fff;border-radius:20px 20px 7px;flex-direction:column;min-height:430px;padding:38px;display:flex}.skill-record-summary-topline{justify-content:space-between;align-items:end;gap:24px;display:flex}.skill-record-summary-topline span{color:#b5c4bc;letter-spacing:.08em;text-transform:uppercase;max-width:110px;font-size:11px;font-weight:800;line-height:1.3}.skill-record-summary-topline strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:56px;font-weight:500;line-height:.9}.skill-record-progress{background:#ffffff21;border-radius:99px;height:6px;margin-top:28px;overflow:hidden}.skill-record-progress span{border-radius:inherit;background:#66dc9d;height:100%;display:block}.skill-record-summary dl{grid-template-columns:1fr 1fr;gap:24px;margin:auto 0 0;display:grid}.skill-record-summary dl div{border-top:1px solid #ffffff21;padding-top:24px}.skill-record-summary dt{color:#b5c4bc;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.skill-record-summary dd{margin:8px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:38px;line-height:1}.skill-record-summary>p{color:#b5c4bc;margin:30px 0 0;font-size:11px;line-height:1.5}.skill-record-summary>p span{color:#66dc9d;margin-right:8px;font-size:8px}.skill-record-next{border:1px solid var(--line);background:#ffffff7a;border-radius:7px 18px 18px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:56px;padding:30px 34px;display:grid}.skill-record-next>div>p,.skill-record-path-heading .eyebrow{color:var(--accent-deep);letter-spacing:.1em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:850}.skill-record-next h2{letter-spacing:-.02em;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:32px;font-weight:500}.skill-record-next>p{max-width:620px;color:var(--muted);margin:0;line-height:1.7}.skill-record-path,.skill-record-labs{gap:30px;display:grid}.skill-record-path-heading,.skill-record-labs-heading{grid-template-columns:minmax(0,1fr) minmax(110px,auto) minmax(280px,.7fr);align-items:end;gap:40px;display:grid}.skill-record-path-heading{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)}.skill-record-path-heading h2,.skill-record-labs-heading h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,4vw,52px);font-weight:500}.skill-record-path-heading>p,.skill-record-labs-heading>p{color:var(--muted);margin:0 0 6px;font-size:13px;line-height:1.6}.skill-record-labs-summary{gap:4px;display:grid}.skill-record-labs-summary strong{color:var(--accent-deep);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:38px;font-weight:500;line-height:1}.skill-record-labs-summary span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800}.skill-record-list,.skill-record-lab-list{margin:0;padding:0;list-style:none}.skill-record-list{border-bottom:1px solid var(--line)}.skill-record-list li{border-top:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) 142px 86px;align-items:center;gap:22px;min-height:104px;padding:22px 18px 22px 10px;display:grid}.skill-record-list li.is-retry{background:linear-gradient(90deg,#edddbe5c,#0000 72%)}.skill-record-number,.skill-record-lab-number{color:#8a958e;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:30px}.skill-record-name,.skill-record-result,.skill-record-lab-name,.skill-record-lab-state{gap:5px;display:grid}.skill-record-name>span{color:var(--accent-deep);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.skill-record-name h3,.skill-record-lab-name h3{margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:22px;font-weight:500}.skill-record-result strong,.skill-record-lab-state strong{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:850}.skill-record-list .is-accepted .skill-record-result strong,.skill-record-lab-list .is-complete .skill-record-lab-state strong{color:var(--accent-deep)}.skill-record-list .is-retry .skill-record-result strong,.skill-record-lab-list .is-in-progress .skill-record-lab-state strong{color:#82520c}.skill-record-result span,.skill-record-lab-name span,.skill-record-lab-state span{color:var(--muted);font-size:11px}.skill-record-list li>a,.skill-record-lab-list li>a{min-height:44px;color:var(--ink);justify-content:flex-end;align-items:center;gap:12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.skill-record-list li>a:hover,.skill-record-lab-list li>a:hover{color:var(--accent-deep)}.skill-record-lab-list{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px;display:grid}.skill-record-lab-list li{border-top:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) 104px 72px;align-items:center;gap:14px;min-height:100px;padding:20px 8px;display:grid}.skill-record-lab-list li.is-in-progress{background:linear-gradient(90deg,#edddbe4d,#0000 86%)}.skill-record-lab-number{font-size:22px}.skill-record-lab-name h3{font-size:18px}@media (max-width:980px){.skill-record-labs-heading{grid-template-columns:minmax(0,1fr) auto}.skill-record-labs-heading>p{grid-column:1/-1}.skill-record-lab-list{grid-template-columns:1fr}}@media (max-width:900px){.skill-record-hero,.skill-record-path-heading{grid-template-columns:1fr}.skill-record-hero{gap:24px}.skill-record-heading{padding-bottom:22px}.skill-record-summary{min-height:340px}.skill-record-path-heading{gap:20px}}@media (max-width:700px){.skill-record-next{grid-template-columns:1fr;gap:18px}.skill-record-list li{grid-template-columns:48px minmax(0,1fr) 72px}.skill-record-result{grid-area:2/2/auto/-1}.skill-record-lab-list li{grid-template-columns:36px minmax(0,1fr) 72px}.skill-record-lab-state{grid-area:2/2/auto/-1}}@media (max-width:560px){.skill-record-shell{width:min(100% - 32px,1180px);padding:38px 0 84px}.skill-record-layout{gap:48px}.skill-record-heading h1{font-size:clamp(46px,14vw,62px)}.skill-record-heading>p:not(.eyebrow){font-size:16px}.skill-record-primary-action{justify-content:space-between;width:100%}.skill-record-summary,.skill-record-next{padding:28px 24px}.skill-record-labs-heading{grid-template-columns:1fr}.skill-record-labs-heading>p{grid-column:auto}.skill-record-list li,.skill-record-lab-list li{gap:14px;padding:20px 6px}.skill-record-number{font-size:24px}.skill-record-name h3{font-size:19px}}@media (prefers-reduced-motion:reduce){.skill-record-primary-action{transition:none}}.practice-capstone-entry{color:#f5f7f2;background:#17231e;border:1px solid #17231e30;border-radius:16px 16px 5px;grid-template-columns:58px minmax(0,1fr) minmax(170px,auto);align-items:center;gap:24px;min-height:166px;margin-top:16px;padding:28px 30px;text-decoration:none;display:grid;box-shadow:0 22px 42px #17231e21}.practice-capstone-number{color:#66dc9d;align-self:start;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:34px;line-height:1}.practice-capstone-copy{gap:7px;display:grid}.practice-capstone-copy small,.practice-capstone-state small{color:#91cda9;letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:800}.practice-capstone-copy>strong{letter-spacing:-.03em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(25px,3vw,34px);font-weight:600;line-height:1.05}.practice-capstone-copy>span{color:#b9c5be;max-width:66ch;font-size:13px;line-height:1.55}.practice-capstone-state{border-left:1px solid #ffffff21;gap:6px;min-width:170px;padding-left:24px;display:grid}.practice-capstone-state>strong{font-size:14px}.practice-capstone-state>span{color:#f5f7f2;font-size:12px;font-weight:760}.js-capstone-shell{width:min(1180px,100% - 48px);margin:0 auto;padding:34px 0 110px}.js-capstone-hero{background:#edf3e9;border:1px solid #17231e24;border-radius:25px 25px 7px;grid-template-columns:minmax(0,1.16fr) minmax(310px,.66fr);align-items:stretch;gap:72px;margin-top:24px;padding:58px;display:grid;box-shadow:0 28px 68px #17231e14}.js-capstone-hero-copy h1{letter-spacing:-.055em;text-wrap:balance;max-width:760px;margin:14px 0 22px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(52px,6.2vw,82px);font-weight:600;line-height:.94}.js-capstone-hero-copy>p:last-child{max-width:62ch;color:var(--muted);margin:0;font-size:17px;line-height:1.68}.js-capstone-brief{background:#ffffffb3;border:1px solid #17231e21;border-radius:16px 16px 5px;flex-direction:column;justify-content:space-between;padding:30px;display:flex}.js-capstone-brief>span{color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.js-capstone-brief>strong{letter-spacing:-.025em;margin-top:22px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:27px;font-weight:600;line-height:1.1}.js-capstone-brief>p{color:var(--muted);margin:15px 0 28px;font-size:13px;line-height:1.6}.js-capstone-brief dl{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:auto 0 0;display:grid}.js-capstone-brief dl div{padding:17px 8px 0 0}.js-capstone-brief dt{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:750}.js-capstone-brief dd{margin:5px 0 0;font-size:12px;font-weight:750}.js-capstone-workspace{background:#ffffffbd;border:1px solid #17231e24;border-radius:7px 24px 24px;margin-top:22px;padding:46px 48px 50px}.js-capstone-workspace-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:42px;display:grid}.js-capstone-workspace-heading h2,.js-capstone-review-heading h3,.js-capstone-actions h3{letter-spacing:-.035em;margin:9px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-weight:600;line-height:1.05}.js-capstone-workspace-heading h2{font-size:clamp(37px,4.6vw,56px)}.js-capstone-workspace-heading>div:first-child>p:last-child{max-width:62ch;color:var(--muted);margin:15px 0 0;font-size:14px;line-height:1.62}.js-capstone-score{color:#fff;background:#17231e;border-radius:13px 13px 4px;align-content:center;gap:4px;width:156px;min-height:136px;padding:19px;display:grid}.js-capstone-score span,.js-capstone-score small{color:#a8b9af;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:800}.js-capstone-score strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:42px;font-weight:600;line-height:1}.js-capstone-workbench{background:#17231e;border-radius:15px 15px 5px;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);margin-top:32px;display:grid;overflow:hidden;box-shadow:0 26px 56px #17231e2b}.js-capstone-editor{min-width:0;padding:0 28px 28px}.js-capstone-editor .workspace-panel-label{color:#a7b6ae;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ffffff1c;justify-content:space-between;margin:0 -28px 20px;padding:13px 20px;font-size:10px;font-weight:750;display:flex}.js-capstone-editor label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.js-capstone-editor textarea{resize:vertical;color:#e9f1eb;tab-size:2;background:0 0;border:0;outline:0;width:100%;min-height:510px;padding:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.75}.js-capstone-contract{color:#eef5ef;background:#0f1a15;border-left:1px solid #ffffff1c;padding:28px}.js-capstone-contract h3{margin:8px 0 13px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600}.js-capstone-sample{margin-top:22px}.js-capstone-sample>span,.js-capstone-output>span{color:#95a89c;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:800;display:block}.js-capstone-sample pre,.js-capstone-output pre{white-space:pre-wrap;color:#d7e6dc;margin:0;font-size:10px;line-height:1.65;overflow-x:auto}.js-capstone-contract>button{color:#dff3e4;width:100%;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #66dc9d8c;border-radius:8px 8px 3px;margin-top:22px;font-size:12px;font-weight:750}.js-capstone-contract button:disabled,.js-capstone-actions button:disabled{opacity:.46;cursor:not-allowed}.js-capstone-output{background:#ebac8f14;border:1px solid #ebac8f6b;border-radius:8px 8px 3px;margin-top:16px;padding:15px}.js-capstone-output.is-passed{background:#66dc9d14;border-color:#66dc9d6b}.js-capstone-review-layout{grid-template-columns:minmax(0,1.18fr) minmax(290px,.62fr);gap:18px;margin-top:22px;display:grid}.js-capstone-review,.js-capstone-actions{background:#f6f7f2;border:1px solid #17231e21;border-radius:14px 14px 5px;padding:30px}.js-capstone-review-heading{justify-content:space-between;align-items:end;gap:30px;display:flex}.js-capstone-review-heading h3,.js-capstone-actions h3{font-size:29px}.js-capstone-review-heading>span{color:var(--accent-deep);flex:none;font-size:11px;font-weight:800}.js-capstone-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px;display:grid}.js-capstone-checks article{background:#fff;border:1px solid #17231e1a;border-radius:10px 10px 3px;grid-template-columns:22px minmax(0,1fr);gap:9px;min-height:116px;padding:17px;display:grid}.js-capstone-checks article.is-passed{background:#edf5ec;border-color:#28765257}.js-capstone-checks article>span{color:var(--accent-deep);font-weight:850}.js-capstone-checks p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.5}.js-capstone-recovery{background:#edddbe75;border-left:3px solid #d28b63;margin-top:12px;padding:18px}.js-capstone-recovery span,.js-capstone-teaching>span{color:var(--accent-deep);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.js-capstone-recovery p{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.55}.js-capstone-actions{flex-direction:column;display:flex}.js-capstone-actions button{width:100%;min-height:48px;font:inherit;cursor:pointer}.js-capstone-actions .js-capstone-save{color:var(--ink);background:0 0;border:1px solid #17231e38;border-radius:8px 8px 3px;margin-top:26px;font-size:12px;font-weight:750}.js-capstone-actions .lesson-primary-action{border:0;margin-top:8px}.js-capstone-actions>p[role=status]{min-height:54px;color:var(--muted);margin:15px 2px 0;font-size:11px;line-height:1.55}.js-capstone-teaching{border-top:1px solid var(--line);margin-top:auto;padding-top:24px}.js-capstone-teaching a{color:var(--accent-deep);text-underline-offset:4px;font-size:11px;font-weight:760;display:block}.js-capstone-teaching .js-capstone-debrief-link{background:var(--ink);color:#fff;text-align:center;border-radius:8px 8px 3px;min-height:44px;margin-top:16px;padding:13px 15px;text-decoration:none}.js-capstone-teaching .js-capstone-record-link{width:fit-content;margin-top:13px}@media (max-width:900px){.practice-capstone-entry{grid-template-columns:46px minmax(0,1fr)}.practice-capstone-state{border-top:1px solid #ffffff21;border-left:0;grid-column:2;grid-template-columns:repeat(3,auto);min-width:0;padding:14px 0 0}.js-capstone-hero,.js-capstone-workbench,.js-capstone-review-layout{grid-template-columns:1fr}.js-capstone-hero{gap:34px}.js-capstone-contract{border-top:1px solid #ffffff1c;border-left:0}.js-capstone-editor textarea{min-height:430px}}@media (max-width:640px){.practice-capstone-entry{grid-template-columns:1fr;padding:24px 20px}.practice-capstone-number{display:none}.practice-capstone-state{grid-column:auto;grid-template-columns:1fr}.js-capstone-shell{width:min(100% - 24px,1180px);padding-bottom:70px}.js-capstone-hero,.js-capstone-workspace{padding:29px 22px}.js-capstone-hero-copy h1{font-size:clamp(46px,14vw,64px)}.js-capstone-brief dl{grid-template-columns:1fr}.js-capstone-brief dl div{justify-content:space-between;display:flex}.js-capstone-workspace-heading{grid-template-columns:1fr}.js-capstone-score{width:100%;min-height:98px}.js-capstone-editor,.js-capstone-contract,.js-capstone-review,.js-capstone-actions{padding:22px}.js-capstone-editor .workspace-panel-label{margin:0 -22px 20px}.js-capstone-checks{grid-template-columns:1fr}.js-capstone-review-heading{flex-direction:column;align-items:start;gap:10px}}.html-css-capstone-hero{background:linear-gradient(135deg,#fff3,#0000 52%),#f0eee2}.html-css-capstone-workbench{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}.html-css-capstone-editors{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.html-css-capstone-editor+.html-css-capstone-editor{border-left:1px solid #ffffff1c}.html-css-capstone-editor textarea{min-height:560px;font-size:11px;line-height:1.7}.html-css-capstone-preview{background:#0f1a15;border-left:1px solid #ffffff1c;min-width:0;padding:0 20px 20px}.html-css-capstone-preview .workspace-panel-label{color:#a7b6ae;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ffffff1c;justify-content:space-between;margin:0 -20px 20px;padding:13px 20px;font-size:10px;font-weight:750;display:flex}.html-css-capstone-preview iframe{background:#f6f7f2;border:0;border-radius:10px 10px 3px;width:100%;min-height:560px}.html-css-capstone-teaching a{width:fit-content;margin-top:14px}@media (max-width:1040px){.html-css-capstone-workbench,.html-css-capstone-editors{grid-template-columns:1fr}.html-css-capstone-editor+.html-css-capstone-editor,.html-css-capstone-preview{border-top:1px solid #ffffff1c;border-left:0}.html-css-capstone-editor textarea,.html-css-capstone-preview iframe{min-height:430px}}.project-debrief-shell{width:min(1120px,100% - 48px);margin:0 auto;padding:34px 0 110px}.project-debrief-hero{background:#edf3e9;border:1px solid #17231e24;border-radius:25px 25px 7px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);gap:64px;margin-top:24px;padding:58px;display:grid;box-shadow:0 28px 68px #17231e14}.project-debrief-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:760px;margin:14px 0 22px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(48px,6vw,76px);font-weight:600;line-height:.96}.project-debrief-hero>div>p:last-child{max-width:60ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:16px;line-height:1.68}.project-debrief-hero>aside{color:#fff;background:#17231e;border-radius:17px 17px 5px;flex-direction:column;min-height:310px;padding:30px;display:flex}.project-debrief-hero>aside>span,.project-debrief-hero dt{color:#91cda9;letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:800}.project-debrief-hero>aside>strong{color:#66dc9d;letter-spacing:-.06em;margin-top:24px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:72px;font-weight:600;line-height:.9}.project-debrief-hero>aside>p{color:#d7e2db;margin:12px 0 0;font-size:13px;font-weight:750}.project-debrief-hero dl{gap:12px;margin:auto 0 0;display:grid}.project-debrief-hero dl div{border-top:1px solid #ffffff1f;justify-content:space-between;gap:18px;padding-top:12px;display:flex}.project-debrief-hero dd{margin:0;font-size:11px;font-weight:750}.project-debrief-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.6fr);gap:18px;margin-top:22px;display:grid}.project-debrief-evidence,.project-debrief-portfolio,.project-debrief-architecture,.project-debrief-interview,.project-debrief-readme,.project-debrief-source{background:#ffffffb8;border:1px solid #17231e21;border-radius:15px 15px 5px}.project-debrief-evidence,.project-debrief-portfolio,.project-debrief-architecture,.project-debrief-interview,.project-debrief-readme{padding:34px}.project-debrief-section-heading{justify-content:space-between;align-items:end;gap:28px;display:flex}.project-debrief-section-heading h2,.project-debrief-portfolio h2,.project-debrief-interview h2,.project-debrief-readme h2{letter-spacing:-.04em;text-wrap:balance;margin:9px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(29px,3vw,40px);font-weight:600;line-height:1.02}.project-debrief-section-heading>span{color:var(--accent-deep);flex:none;font-size:11px;font-weight:800}.project-debrief-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:26px;display:grid}.project-debrief-checks article{background:#edf5ec;border:1px solid #28765240;border-radius:10px 10px 3px;grid-template-columns:22px minmax(0,1fr);gap:9px;min-height:112px;padding:17px;display:grid}.project-debrief-checks article>span{color:var(--accent-deep);font-weight:850}.project-debrief-checks p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.5}.project-debrief-portfolio{color:#fff;background:#17231e;flex-direction:column;display:flex}.project-debrief-portfolio .eyebrow{color:#91cda9}.project-debrief-portfolio blockquote{color:#ecf2ed;border-left:2px solid #66dc9d;margin:32px 0 0;padding-left:20px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;line-height:1.48}.project-debrief-portfolio>p:last-child{color:#9fafb6;margin:auto 0 0;padding-top:28px;font-size:10px;line-height:1.55}.project-debrief-architecture{margin-top:22px}.project-debrief-section-heading>div>p:last-child{max-width:68ch;color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.6}.project-debrief-architecture ol{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0 0;padding:0;list-style:none;display:grid}.project-debrief-architecture li{grid-template-columns:38px minmax(0,1fr);gap:12px;min-height:180px;padding:24px 24px 8px 0;display:grid}.project-debrief-architecture li+li{border-left:1px solid var(--line);padding-left:24px}.project-debrief-architecture li>span,.project-debrief-interview li>span{color:var(--accent-deep);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:21px}.project-debrief-architecture li strong,.project-debrief-interview li strong{font-size:13px}.project-debrief-architecture li p,.project-debrief-interview li p{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.58}.project-debrief-prep-grid{grid-template-columns:minmax(0,.78fr) minmax(360px,1fr)}.project-debrief-interview ol{gap:18px;margin:28px 0 0;padding:0;list-style:none;display:grid}.project-debrief-interview li{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);gap:12px;padding-top:18px;display:grid}.project-debrief-readme{background:#edf3e9}.project-debrief-readme pre{color:#dce9e0;white-space:pre-wrap;background:#17231e;border-radius:11px 11px 4px;margin:26px 0 0;padding:24px;font-size:11px;line-height:1.72;overflow-x:auto}.project-debrief-source{margin-top:18px;overflow:hidden}.project-debrief-source summary{cursor:pointer;min-height:58px;color:var(--accent-deep);align-items:center;padding:18px 24px;font-size:12px;font-weight:780;display:flex}.project-debrief-source>div{padding:0 24px 24px}.project-debrief-source p{color:var(--muted);font-size:11px}.project-debrief-source pre{color:#dce9e0;white-space:pre-wrap;background:#17231e;border-radius:11px 11px 4px;max-height:520px;margin:18px 0 0;padding:24px;font-size:11px;line-height:1.72;overflow:auto}.html-css-debrief-source-files{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.html-css-debrief-source-files section{min-width:0}.html-css-debrief-source-files h2{color:var(--ink);letter-spacing:.04em;margin:0;font-size:11px}.html-css-debrief-source-files pre{height:440px}.project-debrief-actions{align-items:center;gap:18px;margin-top:24px;display:flex}.project-debrief-print-button{background:var(--ink);color:#fff;min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:9px 9px 3px;padding:0 22px;font-size:12px;font-weight:760}.project-debrief-print-button:hover,.js-capstone-debrief-link:hover{background:var(--accent-deep)}.project-debrief-print-button:focus-visible,.js-capstone-debrief-link:focus-visible{outline-offset:3px;outline:3px solid #28765252}.project-debrief-locked{background:#edf3e9;border:1px solid #17231e24;border-radius:23px 23px 7px;width:min(680px,100% - 40px);margin:88px auto 120px;padding:54px}.project-debrief-lock-mark{color:#66dc9d;background:#17231e;border-radius:50%;place-items:center;width:72px;height:72px;margin-bottom:26px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:23px;display:grid}.project-debrief-locked h1{letter-spacing:-.05em;max-width:13ch;margin:12px 0 20px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(42px,6vw,64px);font-weight:600;line-height:.98}.project-debrief-locked>p:not(.eyebrow){max-width:58ch;color:var(--muted);margin:0 0 28px;line-height:1.65}@media (max-width:900px){.project-debrief-hero,.project-debrief-grid,.project-debrief-prep-grid{grid-template-columns:1fr}.project-debrief-hero{gap:34px}.project-debrief-portfolio>p:last-child{margin-top:28px}}@media (max-width:640px){.project-debrief-shell{width:min(100% - 24px,1120px);padding-bottom:70px}.project-debrief-hero,.project-debrief-evidence,.project-debrief-portfolio,.project-debrief-architecture,.project-debrief-interview,.project-debrief-readme{padding:28px 22px}.project-debrief-hero h1{font-size:clamp(44px,13vw,62px)}.project-debrief-hero>aside{min-height:280px}.project-debrief-checks,.project-debrief-architecture ol{grid-template-columns:1fr}.project-debrief-architecture li{min-height:auto;padding:22px 0}.project-debrief-architecture li+li{border-top:1px solid var(--line);border-left:0;padding-left:0}.project-debrief-actions{flex-direction:column;align-items:flex-start}.html-css-debrief-source-files{grid-template-columns:1fr}.project-debrief-print-button{width:100%}.project-debrief-locked{padding:38px 26px}}@media print{@page{size:portrait;margin:12mm}html,body,.project-debrief-page{color:#17231e;background:#fff}.project-debrief-screen-only,.project-debrief-source,body>.posthog-reset{display:none!important}.project-debrief-shell{width:100%;padding:0}.project-debrief-hero,.project-debrief-grid,.project-debrief-prep-grid{box-shadow:none;break-inside:avoid;grid-template-columns:1fr;margin-top:10mm}.project-debrief-hero{margin-top:0;padding:10mm}.project-debrief-hero h1{font-size:42px}.project-debrief-hero>aside{min-height:auto}.project-debrief-architecture{break-inside:avoid}}@media (prefers-reduced-motion:reduce){.project-debrief-print-button,.js-capstone-debrief-link{transition:none}}.project-portfolio-page{background:radial-gradient(circle at 91% 9%, #66dc9d21, transparent 28%), var(--background);min-height:100vh}.project-portfolio-shell{width:min(1160px,100% - 48px);min-height:calc(100vh - 161px);margin:0 auto;padding:72px 0 112px}.project-portfolio-hero{border-bottom:1px solid #17231e29;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:stretch;display:grid}.project-portfolio-intro{flex-direction:column;justify-content:flex-end;min-height:480px;padding:38px 76px 62px 0;display:flex}.project-portfolio-intro h1{letter-spacing:-.055em;margin:24px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(56px,6.8vw,88px);font-weight:600;line-height:.94}.project-portfolio-intro>p:last-child{max-width:57ch;color:var(--muted);margin:28px 0 0;font-size:17px;line-height:1.65}.project-portfolio-next{color:#fff;background:var(--ink);border-radius:24px 24px 7px;flex-direction:column;justify-content:space-between;gap:56px;min-height:480px;padding:34px 36px 38px;display:flex;box-shadow:0 28px 64px #17231e2e}.project-portfolio-count{align-items:flex-start;gap:14px;display:flex}.project-portfolio-count>span{letter-spacing:-.06em;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:72px;line-height:.8}.project-portfolio-count p{color:#aebbb4;letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:11px;font-weight:750}.project-portfolio-next>div:last-child>p:first-child{color:#9fd9b8;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.project-portfolio-next h2{letter-spacing:-.045em;margin:16px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(32px,3.6vw,47px);font-weight:600;line-height:1}.project-portfolio-next>div:last-child>p:nth-of-type(2){color:#bdc8c2;max-width:43ch;margin:18px 0 0;font-size:13px;line-height:1.65}.project-portfolio-primary-action{min-height:52px;color:var(--ink);background:#fff;border:1px solid #fff;border-radius:8px;justify-content:space-between;align-items:center;gap:22px;margin-top:28px;padding:0 17px;font-size:13px;font-weight:800;text-decoration:none;transition:transform .16s ease-out,background-color .16s ease-out;display:flex}.project-portfolio-primary-action:hover{background:#eff7f1;transform:translateY(-1px)}.project-portfolio-primary-action:active{transform:translateY(1px)}.project-portfolio-primary-action:focus-visible,.project-portfolio-row-links a:focus-visible{outline-offset:4px;outline:3px solid #66dc9d75}.project-portfolio-ledger{margin-top:88px}.project-portfolio-ledger-heading{grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:56px;display:grid}.project-portfolio-ledger-heading h2{letter-spacing:-.05em;margin:14px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(42px,5vw,62px);font-weight:600;line-height:1}.project-portfolio-ledger-heading>p{color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.65}.project-portfolio-ledger ol{border-top:1px solid #17231e33;margin:38px 0 0;padding:0;list-style:none}.project-portfolio-row{border-bottom:1px solid #17231e29;grid-template-columns:76px minmax(0,1fr) minmax(240px,.42fr);gap:34px;min-height:250px;padding:34px 0;display:grid}.project-portfolio-row-number{color:#9aa69f;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;line-height:1}.project-portfolio-row-copy>p:first-child{color:var(--accent-deep);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.project-portfolio-row-copy h3{letter-spacing:-.04em;margin:12px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(31px,3.5vw,43px);font-weight:600;line-height:1}.project-portfolio-row-copy>p:nth-of-type(2){max-width:61ch;color:var(--muted);margin:17px 0 0;font-size:14px;line-height:1.65}.project-portfolio-artifact{color:#53625a;background:#ffffff94;border:1px solid #d4ddd6;border-radius:6px;align-items:center;gap:9px;width:fit-content;margin-top:24px;padding:8px 11px;font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex}.project-portfolio-artifact span{background:var(--accent);border-radius:50%;width:7px;height:7px;display:block}.project-portfolio-row-status{border-left:1px solid #17231e1f;flex-direction:column;align-items:flex-start;padding-left:28px;display:flex}.project-portfolio-row-status>span{color:var(--ink);letter-spacing:.07em;text-transform:uppercase;border:1px solid #cbd5ce;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.project-portfolio-row.is-completed .project-portfolio-row-status>span{color:var(--accent-deep);background:#eaf4ea;border-color:#afcbb8}.project-portfolio-row.is-in-progress .project-portfolio-row-status>span{color:#6d4f19;background:#f8f0d9;border-color:#d8c68f}.project-portfolio-row-status>strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:17px;font-size:14px}.project-portfolio-row-status>p{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.55}.project-portfolio-row-links{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:auto;padding-top:25px;display:flex}.project-portfolio-row-links a{color:var(--accent-deep);text-underline-offset:4px;align-items:center;gap:7px;font-size:12px;font-weight:750;-webkit-text-decoration:underline #28765252;text-decoration:underline #28765252;display:inline-flex}.project-portfolio-row-links a:hover{text-decoration-color:currentColor}.project-portfolio-row-links a+a{color:var(--muted);font-weight:650}.project-portfolio-privacy{background:#ffffff80;border:1px solid #17231e21;border-radius:8px 8px 3px;grid-template-columns:12px 1fr;gap:12px;max-width:700px;margin:50px 0 0 auto;padding:19px 22px;display:grid}.project-portfolio-privacy>span{color:var(--accent);margin-top:4px;font-size:11px}.project-portfolio-privacy p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.project-portfolio-privacy strong{color:var(--ink);font-size:13px;display:block}@media (max-width:900px){.project-portfolio-hero{grid-template-columns:1fr;gap:28px;padding-bottom:48px}.project-portfolio-intro{min-height:auto;padding:36px 0 20px}.project-portfolio-next{min-height:420px}.project-portfolio-ledger-heading{grid-template-columns:1fr;gap:18px}.project-portfolio-row{grid-template-columns:60px minmax(0,1fr)}.project-portfolio-row-status{border-left:0;grid-column:1/-1;padding:0 0 0 94px}.project-portfolio-row-links{margin-top:10px}}@media (max-width:640px){.project-portfolio-shell{width:min(100% - 24px,1160px);min-height:calc(100vh - 76px);padding:50px 0 76px}.project-portfolio-intro h1{font-size:clamp(48px,15vw,66px)}.project-portfolio-intro>p:last-child{font-size:15px}.project-portfolio-next{min-height:390px;padding:28px 24px}.project-portfolio-next h2{font-size:36px}.project-portfolio-ledger{margin-top:64px}.project-portfolio-ledger-heading h2{font-size:43px}.project-portfolio-row{grid-template-columns:42px minmax(0,1fr);gap:18px;min-height:auto}.project-portfolio-row-copy h3{font-size:33px}.project-portfolio-row-status{padding-left:60px}.project-portfolio-row-links{flex-direction:column;align-items:flex-start}.project-portfolio-privacy{margin-top:38px}}@media (prefers-reduced-motion:reduce){.project-portfolio-primary-action{transition:none}}.practice-readiness-entry{border-top:1px solid #17231e24;border-bottom:1px solid #17231e24;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;margin-top:28px;padding:22px 24px;display:grid}.practice-readiness-entry div{gap:4px;display:grid}.practice-readiness-entry small{color:var(--accent-deep);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.practice-readiness-entry strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:20px;font-weight:600}.practice-readiness-entry p{max-width:70ch;color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.55}.practice-readiness-entry a{min-height:44px;color:var(--accent-deep);white-space:nowrap;align-items:center;gap:10px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.practice-readiness-entry a:hover{color:var(--ink)}.practice-readiness-entry a:focus-visible{outline-offset:3px;outline:3px solid #28765247}.readiness-shell{width:min(1120px,100% - 48px);margin-inline:auto;padding:28px 0 104px}.readiness-hero{grid-template-columns:minmax(0,1.18fr) minmax(280px,.62fr);align-items:end;gap:80px;padding:52px 0 64px;display:grid}.readiness-hero>div{max-width:720px}.readiness-hero h1{letter-spacing:-.052em;text-wrap:balance;max-width:690px;margin:11px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(48px,6vw,76px);font-weight:600;line-height:.98}.readiness-hero>div>p:last-child{max-width:61ch;color:var(--muted);text-wrap:pretty;margin:25px 0 0;font-size:17px;line-height:1.65}.readiness-hero aside{background:#ffffffa3;border:1px solid #17231e24;border-radius:15px 15px 5px;gap:7px;padding:25px 27px;display:grid;box-shadow:0 20px 45px #17231e12}.readiness-hero aside strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600}.readiness-hero aside span{color:var(--accent-deep);font-size:11px;font-weight:800}.readiness-hero aside p{color:var(--muted);border-top:1px solid var(--line);margin:12px 0 0;padding-top:14px;font-size:11px;line-height:1.55}.readiness-workspace,.readiness-result{background:var(--surface);border:1px solid #17231e26;border-radius:20px 20px 6px;min-height:470px;box-shadow:0 24px 64px #17231e17}.readiness-workspace{padding:36px 42px 30px}.readiness-progress{grid-template-columns:auto minmax(180px,340px);justify-content:space-between;align-items:center;gap:24px;display:grid}.readiness-progress>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.readiness-progress>div{background:#dce3dc;border-radius:999px;height:4px;overflow:hidden}.readiness-progress>div span{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s ease-out;display:block}.readiness-workspace form{margin-top:38px}.readiness-workspace fieldset{border:0;margin:0;padding:0}.readiness-workspace legend{max-width:780px;padding:0}.readiness-workspace legend span{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.readiness-workspace legend strong{letter-spacing:-.032em;text-wrap:balance;margin-top:9px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(28px,3.6vw,42px);font-weight:600;line-height:1.08;display:block}.readiness-workspace pre{color:#e7f2eb;background:var(--ink);border-radius:10px 10px 3px;max-width:760px;margin:22px 0 0;padding:17px 20px;font-size:13px;line-height:1.65;overflow-x:auto}.readiness-options{gap:10px;max-width:820px;margin-top:26px;display:grid}.readiness-options label{cursor:pointer;background:#fbfcf9;border:1px solid #17231e26;border-radius:10px 10px 3px;align-items:center;gap:14px;min-height:58px;padding:0 18px;transition:border-color .16s ease-out,background-color .16s ease-out;display:flex}.readiness-options label:hover{background:#f2f6f0;border-color:#2876527a}.readiness-options label:has(input:checked){border-color:var(--accent);background:#edf4ec}.readiness-options input{width:17px;height:17px;accent-color:var(--accent);flex:none}.readiness-options input:focus-visible{outline-offset:4px;outline:3px solid #28765247}.readiness-options label span{font-size:13px;line-height:1.45}.readiness-controls{justify-content:space-between;align-items:center;gap:22px;max-width:820px;margin-top:28px;display:flex}.readiness-controls button{min-height:46px;font:inherit;cursor:pointer;border-radius:9px;padding:0 17px;font-size:12px;font-weight:800}.readiness-back{color:var(--muted);text-underline-offset:4px;background:0 0;border:1px solid #0000;text-decoration:underline}.readiness-continue{color:#fff;border:1px solid var(--ink);background:var(--ink);justify-content:space-between;align-items:center;gap:20px;min-width:150px;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.readiness-continue:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px)}.readiness-continue:active:not(:disabled){transform:translateY(1px)}.readiness-controls button:focus-visible,.readiness-result-actions button:focus-visible,.readiness-result-actions a:focus-visible{outline-offset:3px;outline:3px solid #28765247}.readiness-controls button:disabled{color:#8d9992;cursor:not-allowed;background:#e8ece8;border-color:#d8ded9}.readiness-status{max-width:820px;min-height:20px;color:var(--muted);margin:14px 0 0;font-size:11px}.readiness-result{grid-template-columns:210px minmax(0,1fr);align-items:center;gap:62px;padding:52px;display:grid}.readiness-score{aspect-ratio:1;color:#fff;background:var(--ink);text-align:center;border-radius:50%;place-content:center;display:grid;box-shadow:0 18px 45px #17231e2e}.readiness-score span{font-variant-numeric:tabular-nums;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:74px;line-height:.8}.readiness-score small{color:#b9c6bf;letter-spacing:.08em;text-transform:uppercase;margin-top:13px;font-size:11px;font-weight:800}.readiness-result-copy h2{letter-spacing:-.042em;text-wrap:balance;max-width:680px;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(38px,4.5vw,58px);font-weight:600;line-height:1.02}.readiness-result-copy>p:not(.eyebrow):not(.readiness-saved-note){max-width:62ch;color:var(--muted);margin:20px 0 0;font-size:15px;line-height:1.65}.readiness-saved-note{color:#617068;border-top:1px solid var(--line);max-width:66ch;margin:22px 0 0;padding-top:17px;font-size:11px;line-height:1.55}.readiness-result-actions{align-items:center;gap:22px;margin-top:26px;display:flex}.readiness-result-actions button{min-height:44px;color:var(--muted);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:760;text-decoration:underline}.readiness-result-actions .readiness-retake-primary{color:#fff;border:1px solid var(--ink);background:var(--ink);border-radius:9px;justify-content:center;align-items:center;gap:12px;padding:0 18px;text-decoration:none;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.readiness-result-actions .readiness-retake-primary:hover{color:#fff;background:var(--accent-deep);transform:translateY(-1px)}.readiness-review-link{min-height:44px;color:var(--muted);text-underline-offset:4px;align-items:center;font-size:12px;font-weight:760;display:inline-flex}.readiness-review-link:hover{color:var(--ink)}@media (max-width:820px){.practice-readiness-entry,.readiness-hero,.readiness-result{grid-template-columns:1fr}.practice-readiness-entry{gap:14px}.practice-readiness-entry a{width:fit-content}.readiness-hero{gap:30px}.readiness-result{gap:34px}.readiness-score{width:170px}}@media (max-width:600px){.readiness-shell{width:min(100% - 24px,1120px);padding-bottom:76px}.readiness-hero{padding:38px 0 48px}.readiness-hero h1{font-size:clamp(44px,14vw,62px)}.readiness-hero>div>p:last-child{font-size:15px}.readiness-workspace,.readiness-result{min-height:0;padding:26px 22px}.readiness-progress{grid-template-columns:1fr;gap:12px}.readiness-workspace form{margin-top:30px}.readiness-controls,.readiness-result-actions{flex-direction:column-reverse;align-items:stretch}.readiness-controls>span{display:none}.readiness-controls button,.readiness-result-actions a,.readiness-result-actions button{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.readiness-progress>div span,.readiness-options label,.readiness-continue{transition:none}}.practice-mixed-review-entry{border-left:3px solid var(--accent);background:#ffffff75;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;margin-top:14px;padding:18px 24px;display:grid}.practice-mixed-review-entry div{gap:4px;display:grid}.practice-mixed-review-entry small{color:var(--accent-deep);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.practice-mixed-review-entry strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;font-weight:600}.practice-mixed-review-entry p{max-width:70ch;color:var(--muted);margin:1px 0 0;font-size:12px;line-height:1.55}.practice-mixed-review-entry a{min-height:42px;color:var(--accent-deep);white-space:nowrap;align-items:center;gap:10px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.practice-mixed-review-entry a:hover{color:var(--ink)}.practice-mixed-review-entry a:focus-visible{outline-offset:3px;outline:3px solid #28765247}.mixed-review-shell{width:min(1120px,100% - 48px);margin-inline:auto;padding:28px 0 104px}.mixed-review-hero{grid-template-columns:minmax(0,1.18fr) minmax(260px,.62fr);align-items:end;gap:80px;padding:52px 0 62px;display:grid}.mixed-review-hero>div{max-width:740px}.mixed-review-hero h1{letter-spacing:-.052em;text-wrap:balance;max-width:720px;margin:11px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(48px,6vw,76px);font-weight:600;line-height:.98}.mixed-review-hero>div>p:last-child{max-width:61ch;color:var(--muted);text-wrap:pretty;margin:25px 0 0;font-size:17px;line-height:1.65}.mixed-review-hero aside{background:#ffffffa3;border:1px solid #17231e24;border-radius:15px 15px 5px;gap:7px;padding:25px 27px;display:grid;box-shadow:0 20px 45px #17231e12}.mixed-review-hero aside strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:25px;font-weight:600}.mixed-review-hero aside span{color:var(--accent-deep);font-size:11px;font-weight:800}.mixed-review-hero aside p{color:var(--muted);border-top:1px solid var(--line);margin:12px 0 0;padding-top:14px;font-size:11px;line-height:1.55}.mixed-review-workspace,.mixed-review-complete,.mixed-review-locked{background:var(--surface);border:1px solid #17231e26;border-radius:20px 20px 6px;box-shadow:0 24px 64px #17231e17}.mixed-review-workspace{min-height:530px;padding:34px 42px 30px}.mixed-review-progress{grid-template-columns:auto minmax(180px,340px);justify-content:space-between;align-items:center;gap:24px;display:grid}.mixed-review-progress>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.mixed-review-progress>div{background:#dce3dc;border-radius:999px;height:4px;overflow:hidden}.mixed-review-progress>div span{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s ease-out;display:block}.mixed-review-question-heading{max-width:820px;margin-top:38px}.mixed-review-question-heading h2{letter-spacing:-.035em;margin:9px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(30px,3.8vw,44px);font-weight:600;line-height:1.06}.mixed-review-question-heading>strong{color:var(--ink);margin-top:17px;font-size:14px;display:block}.mixed-review-question-heading>p:last-child{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.6}.mixed-review-workspace form{max-width:820px;margin-top:25px}.mixed-review-workspace fieldset{border:0;margin:0;padding:0}.mixed-review-workspace legend{color:var(--muted);padding:0;font-size:11px;font-weight:750}.mixed-review-options{gap:9px;margin-top:12px;display:grid}.mixed-review-options label{cursor:pointer;background:#fbfcf9;border:1px solid #17231e26;border-radius:10px 10px 3px;align-items:center;gap:14px;min-height:56px;padding:11px 18px;transition:border-color .16s ease-out,background-color .16s ease-out;display:flex}.mixed-review-options label:hover{border-color:var(--accent);background:#edf4ec}.mixed-review-options label:has(input:checked){border-color:var(--accent);background:#edf4ec}.mixed-review-options input{width:17px;height:17px;accent-color:var(--accent);flex:none}.mixed-review-options input:focus-visible,.mixed-review-controls a:focus-visible,.mixed-review-controls button:focus-visible,.mixed-review-complete-actions a:focus-visible,.mixed-review-complete-actions button:focus-visible{outline-offset:3px;outline:3px solid #28765247}.mixed-review-options span{font-size:13px;line-height:1.45}.mixed-review-feedback{background:#f7f0e4;border-left:3px solid #b9853d;margin-top:17px;padding:16px 18px}.mixed-review-feedback.is-correct{border-color:var(--accent);background:#edf4ec}.mixed-review-feedback strong{font-size:13px;line-height:1.5;display:block}.mixed-review-feedback>p:last-child:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.55}.mixed-review-controls{justify-content:space-between;align-items:center;gap:22px;margin-top:24px;display:flex}.mixed-review-controls a{color:var(--muted);text-underline-offset:4px;font-size:12px;font-weight:750}.mixed-review-controls button{color:#fff;border:1px solid var(--ink);background:var(--ink);min-width:154px;min-height:46px;font:inherit;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:20px;padding:0 17px;font-size:12px;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out;display:inline-flex}.mixed-review-controls button:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px)}.mixed-review-controls button:disabled{color:#8d9992;cursor:not-allowed;background:#e8ece8;border-color:#d8ded9}.mixed-review-complete{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:58px;min-height:430px;padding:52px;display:grid}.mixed-review-score{aspect-ratio:1;color:#fff;background:var(--ink);text-align:center;border-radius:50%;place-content:center;gap:8px;display:grid}.mixed-review-score strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:70px;font-weight:600;line-height:.78}.mixed-review-score span{color:#b9c6bf;text-transform:uppercase;font-size:11px;font-weight:800}.mixed-review-complete h2,.mixed-review-locked h2{letter-spacing:-.042em;text-wrap:balance;max-width:680px;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(36px,4.5vw,56px);font-weight:600;line-height:1.02}.mixed-review-complete>div:last-child>p:not(.eyebrow),.mixed-review-locked>p:not(.eyebrow){max-width:62ch;color:var(--muted);margin:20px 0 0;font-size:14px;line-height:1.65}.mixed-review-complete-actions{align-items:center;gap:22px;margin-top:26px;display:flex}.mixed-review-complete-actions button{min-height:44px;color:var(--muted);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:760;text-decoration:underline}.mixed-review-record-link{min-height:44px;color:var(--muted);text-underline-offset:4px;align-items:center;font-size:12px;font-weight:760;display:inline-flex}.mixed-review-record-link:hover{color:var(--ink)}.mixed-review-save-status{min-height:20px;color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.5}.mixed-review-locked{padding:48px}.mixed-review-locked .primary-action{margin-top:27px}.foundations-review-hero h1{max-width:760px}.foundations-review-workspace .mixed-review-question-heading>p:last-child{max-width:66ch;margin-top:16px;font-size:16px}.dashboard-foundations-review{background:#ffffff94;border:1px solid #17231e24;border-radius:15px 15px 5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;margin-top:22px;padding:25px 27px;display:grid}.dashboard-foundations-review h2{letter-spacing:-.03em;max-width:720px;margin:7px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.08}.dashboard-foundations-review>div:first-child>p:last-child{max-width:68ch;color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.6}.dashboard-foundations-review>div:last-child{justify-items:end;gap:10px;min-width:190px;display:grid}.dashboard-foundations-review>div:last-child>span{color:var(--muted);font-size:11px;font-weight:750}.dashboard-foundations-review-action{min-height:42px;color:var(--accent-deep);background:#edf4eca6;border:1px solid #28765247;border-radius:8px;justify-content:space-between;align-items:center;gap:22px;padding:0 14px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-foundations-review-action:hover{color:var(--ink);border-color:var(--accent)}.dashboard-foundations-review-action:focus-visible{outline-offset:3px;outline:3px solid #28765247}@media (max-width:820px){.practice-mixed-review-entry,.mixed-review-hero,.mixed-review-complete{grid-template-columns:1fr}.practice-mixed-review-entry,.mixed-review-hero{gap:22px}.dashboard-foundations-review{grid-template-columns:1fr;gap:22px}.dashboard-foundations-review>div:last-child{justify-items:start}.practice-mixed-review-entry a{width:fit-content}.mixed-review-complete{gap:34px}.mixed-review-score{width:160px}}@media (max-width:600px){.mixed-review-shell{width:min(100% - 24px,1120px);padding-bottom:76px}.mixed-review-hero{padding:38px 0 48px}.mixed-review-hero h1{font-size:clamp(44px,14vw,62px)}.mixed-review-hero>div>p:last-child{font-size:15px}.mixed-review-workspace,.mixed-review-complete,.mixed-review-locked{min-height:0;padding:26px 22px}.mixed-review-progress{grid-template-columns:1fr;gap:12px}.mixed-review-controls,.mixed-review-complete-actions{flex-direction:column-reverse;align-items:stretch}.mixed-review-controls button,.mixed-review-complete-actions a,.mixed-review-complete-actions button{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.mixed-review-progress>div span,.mixed-review-options label,.mixed-review-controls button{transition:none}}.coding-activity-primary-action:focus-visible,.coding-practice-goal input:focus-visible,.coding-practice-goal button:focus-visible,.coding-activity-next a:focus-visible{outline-offset:4px;outline:3px solid #2876524d}.coding-activity-shell{background:radial-gradient(circle at 86% 7%, #2876521f, transparent 25%), var(--paper)}.coding-activity-layout{width:min(1120px,100% - 48px);margin-inline:auto;padding:88px 0 112px}.coding-activity-hero{grid-template-columns:minmax(0,1.3fr) minmax(280px,.55fr);align-items:end;gap:84px;display:grid}.coding-activity-heading{max-width:740px}.coding-activity-heading h1{letter-spacing:-.055em;text-wrap:balance;max-width:10ch;margin:14px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(54px,6.2vw,82px);font-weight:600;line-height:.98}.coding-activity-heading>p:not(.eyebrow){max-width:57ch;color:var(--muted);margin:27px 0 0;font-size:16px;line-height:1.7}.coding-activity-primary-action{color:#fff;background:var(--accent-deep);border-radius:9px 9px 9px 3px;justify-content:space-between;align-items:center;gap:34px;width:fit-content;min-height:46px;margin-top:32px;padding:0 18px;font-size:12px;font-weight:850;text-decoration:none;display:inline-flex}.coding-activity-primary-action:hover{background:#0f432b}.coding-activity-summary{color:#fff;background:var(--ink);border-radius:18px 18px 5px;padding:30px;box-shadow:0 24px 60px #17231e29}.coding-activity-summary>p{color:#a9b8b0;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.coding-activity-summary>strong{font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin-top:15px;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:76px;font-weight:600;line-height:.9;display:block}.coding-activity-summary>span{color:#cbd5cf;margin-top:10px;font-size:13px;display:block}.coding-activity-summary dl{border-top:1px solid #ffffff24;grid-template-columns:repeat(2,1fr);gap:18px;margin:28px 0 0;padding-top:20px;display:grid}.coding-activity-summary dt{color:#91a098;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.coding-activity-summary dd{font-variant-numeric:tabular-nums;margin:7px 0 0;font-size:22px;font-weight:750}.coding-practice-goal{background:linear-gradient(115deg,#ffffffeb,#edf4ecbd);border:1px solid #17231e26;border-radius:20px 20px 6px;grid-template-columns:minmax(0,1fr) minmax(330px,.7fr);align-items:center;gap:58px;margin-top:76px;padding:36px 40px;display:grid;box-shadow:0 22px 58px #17231e14}.coding-practice-goal-progress h2{letter-spacing:-.042em;text-wrap:balance;max-width:610px;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,50px);font-weight:600;line-height:1.02}.coding-practice-goal-progress>p:not(.eyebrow){max-width:61ch;color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.65}.coding-practice-goal-meter{background:#d9e2da;border-radius:999px;height:7px;margin-top:25px;overflow:hidden}.coding-practice-goal-meter span{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s ease-out;display:block}.coding-practice-goal form{border-left:1px solid #17231e24;padding-left:34px}.coding-practice-goal fieldset{border:0;margin:0;padding:0}.coding-practice-goal legend{color:var(--ink);padding:0;font-size:12px;font-weight:800}.coding-practice-goal-options{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.coding-practice-goal-options label{cursor:pointer;background:#ffffffb8;border:1px solid #17231e26;border-radius:10px 10px 3px;grid-template-columns:auto 1fr;align-content:center;column-gap:8px;min-height:66px;padding:9px;display:grid}.coding-practice-goal-options label:has(input:checked){border-color:var(--accent);background:#fff;box-shadow:0 7px 18px #2876521a}.coding-practice-goal-options input{width:15px;height:15px;accent-color:var(--accent);grid-row:1/3;align-self:center}.coding-practice-goal-options strong{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:23px;font-weight:600;line-height:1}.coding-practice-goal-options span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:800}.coding-practice-goal button{min-height:43px;color:var(--accent-deep);font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #2876524d;border-radius:8px;margin-top:15px;padding:0 15px;font-size:11px;font-weight:800}.coding-practice-goal button:hover:not(:disabled){color:#fff;background:var(--accent-deep)}.coding-practice-goal button:disabled{color:#89958e;cursor:not-allowed;background:#e7ebe6;border-color:#ced6cf}.coding-practice-goal-status{min-height:18px;color:var(--muted);margin:9px 0 0;font-size:10px;line-height:1.5}.coding-activity-calendar{background:#ffffffbd;border:1px solid #17231e26;border-radius:21px 21px 7px;margin-top:24px;padding:42px;box-shadow:0 24px 64px #17231e14}.coding-activity-calendar-heading{grid-template-columns:minmax(0,1fr) minmax(250px,.48fr);align-items:end;gap:48px;display:grid}.coding-activity-calendar-heading h2{letter-spacing:-.04em;margin:11px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.05}.coding-activity-calendar-heading>p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.coding-activity-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:11px;margin-top:36px;display:grid}.coding-activity-day{aspect-ratio:1;color:#748079;font-variant-numeric:tabular-nums;background:#edf0ea;border:1px solid #d8dfd7;border-radius:9px 9px 3px;align-items:flex-end;min-width:0;padding:9px;font-size:10px;font-weight:800;display:flex}.coding-activity-day.intensity-1{color:#2b6246;background:#dcebdc;border-color:#c2d9c5}.coding-activity-day.intensity-2{color:#18462f;background:#bcdabf;border-color:#a4c9ad}.coding-activity-day.intensity-3{color:#fff;background:#4f996e;border-color:#4c956b}.coding-activity-day.intensity-4{color:#fff;border-color:var(--accent-deep);background:var(--accent-deep)}.coding-activity-day.is-today{outline:2px solid var(--ink);outline-offset:3px}.coding-activity-range{color:var(--muted);justify-content:space-between;margin-top:17px;font-size:10px;font-weight:750;display:flex}.coding-activity-detail{background:#e9eee8;border:1px solid #17231e24;border-radius:14px 14px 5px;margin-top:24px;overflow:hidden}.coding-activity-detail dl{grid-template-columns:repeat(3,1fr);margin:0;display:grid}.coding-activity-detail dl>div{border-right:1px solid #17231e1f;min-width:0;padding:27px 28px}.coding-activity-detail dl>div:last-child{border-right:0}.coding-activity-detail dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.coding-activity-detail dd{font-variant-numeric:tabular-nums;letter-spacing:-.035em;margin:11px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:30px;font-weight:600;line-height:1}.coding-activity-detail p{max-width:31ch;color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.55}.coding-activity-next{color:#fff;background:var(--ink);border-radius:19px 19px 6px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:54px;margin-top:24px;padding:40px 42px;display:grid}.coding-activity-next .eyebrow{color:#9fd9b8}.coding-activity-next h2{color:#fff;letter-spacing:-.035em;margin:10px 0 0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(31px,4vw,44px);font-weight:600;line-height:1.05}.coding-activity-next p:not(.eyebrow){color:#cbd5cf;max-width:62ch;margin:15px 0 0;font-size:12px;line-height:1.65}.coding-activity-next a{color:#fff;border:1px solid #ffffff57;border-radius:8px;justify-content:space-between;align-items:center;gap:28px;min-height:44px;padding:0 17px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.coding-activity-next a:hover{background:#ffffff14;border-color:#fff}@media (max-width:800px){.coding-activity-layout{padding-top:64px}.coding-activity-hero,.coding-practice-goal,.coding-activity-calendar-heading,.coding-activity-next{grid-template-columns:1fr}.coding-activity-hero,.coding-practice-goal{gap:40px}.coding-activity-summary{max-width:520px}.coding-practice-goal form{border-top:1px solid #17231e24;border-left:0;padding:28px 0 0}.coding-activity-calendar-heading,.coding-activity-next{align-items:start;gap:24px}.coding-activity-detail dl{grid-template-columns:1fr}.coding-activity-detail dl>div{border-bottom:1px solid #17231e1f;border-right:0}.coding-activity-detail dl>div:last-child{border-bottom:0}.coding-activity-next a{width:fit-content}}@media (max-width:560px){.coding-activity-layout{width:min(100% - 32px,1120px);padding:48px 0 80px}.coding-activity-heading h1{font-size:clamp(48px,15vw,62px)}.coding-activity-primary-action,.coding-activity-next a{width:100%}.coding-practice-goal,.coding-activity-calendar{padding:28px 20px}.coding-practice-goal{margin-top:60px}.coding-practice-goal-options{gap:6px}.coding-practice-goal-options label{padding:8px 6px}.coding-activity-grid{gap:6px}.coding-activity-day{border-radius:7px 7px 2px;padding:6px;font-size:9px}.coding-activity-next{padding:34px 26px}}@media (prefers-reduced-motion:reduce){.coding-practice-goal-meter span{transition:none}}
