:root{--blue:#1359d7;--blue-dark:#0b409f;--ink:#142747;--muted:#566780;--line:#dce3ed;--paper:#fff;--bg:#f5f7fb;--tint:#edf3ff;--green:#176748;--radius:18px;font-family:"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
.language-picker{position:relative;flex:none}.language-toggle{display:flex;align-items:center;justify-content:center;gap:5px;min-width:52px;min-height:44px;padding:5px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);cursor:pointer}.language-toggle img,.language-menu img{display:block;object-fit:cover;border-radius:50%;border:1px solid #dce3ed}.language-toggle img{width:30px;height:30px}.language-toggle:focus-visible,.language-menu a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.language-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:65;min-width:190px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 35px #14274724}.language-menu a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:.85rem}.language-menu a:hover,.language-menu a[aria-current=true]{background:#edf4ff}.language-menu a>span:last-child:not(:nth-child(2)){margin-left:auto;color:var(--blue)}.language-toggle[hidden],.language-menu[hidden]{display:none!important}.brand-translated-tagline{display:none;position:absolute;left:69px;top:53px;width:120px;height:13px;background:white;color:#4aadb0;font:700 5.4px/13px Arial,sans-serif;letter-spacing:.8px;text-align:center;text-transform:uppercase}html:not([lang^=nl]) .brand-translated-tagline{display:block}@media(max-width:900px){.brand-translated-tagline{left:54px;top:41px;width:94px;height:11px;font-size:4.3px;line-height:11px;letter-spacing:.5px}}@media(max-width:760px){.topbar-actions{gap:7px}.language-toggle{min-width:44px;padding:4px;gap:2px}.language-menu{right:-8px}.language-picker noscript{font-size:.7rem}}
.personal-path-card{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:26px;margin:24px 0;border:1px solid #bdcfe9;border-radius:20px;background:#edf4ff}.personal-path-card h2{font-size:1.45rem;margin-bottom:8px}.personal-path-card p{margin-bottom:8px}.personal-path-card>.button{flex-shrink:0}.personal-path-page{max-width:900px;margin:auto;overflow-wrap:anywhere}.personal-path-header{padding:28px;border:1px solid #c7d8ed;border-radius:22px;background:linear-gradient(135deg,#edf4ff,#fff)}.personal-path-header h1{font-size:clamp(1.9rem,3vw,2.6rem);margin:18px 0 12px}.personal-path-header h2{font-size:1.3rem}.personal-path-header .intro{font-size:1rem}.personal-path-progress{display:flex;align-items:center;gap:15px;margin:22px 0;font-size:.82rem}.personal-path-progress progress{width:170px;max-width:45%;height:10px;accent-color:var(--blue)}.personal-style-tip{padding:13px 16px;background:#fff;border-radius:10px;font-size:.85rem}.personal-path-lessons{list-style:none;padding:0;margin:24px 0}.personal-path-lessons li{display:flex;gap:17px;padding:20px 0;border-bottom:1px solid var(--line)}.personal-step{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#edf4ff;border:1px solid #c7d8ed;font-weight:750;color:var(--blue)}.personal-path-lessons a{font-weight:700}.personal-path-lessons p{font-size:.87rem;margin:7px 0}.personal-project{padding:28px;background:#fff;border:1px solid #c7d8ed;border-radius:22px;scroll-margin-top:155px}.personal-project h2{font-size:1.6rem}.personal-project h3{font-size:1.05rem}.personal-project blockquote{margin:18px 0;padding:18px;border-left:4px solid #28a9ad;background:#f1f8f8;font-size:.92rem}.project-example{margin:20px 0;border:1px solid var(--line);border-radius:12px;padding:16px}.project-example summary{cursor:pointer;color:var(--blue);font-weight:650}.project-example h3{margin-top:18px}.project-example p{font-size:.88rem}.personal-project-inputs{border:0;margin:0;padding:0;min-width:0}.personal-project-inputs>label{display:block;font-weight:650;margin:22px 0 8px}.personal-project textarea{display:block;width:100%;max-width:100%;resize:vertical;padding:14px;border:1px solid #9bb2d1;border-radius:10px;font:inherit;font-size:16px;line-height:1.7}.project-checklist{display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);border-radius:12px;padding:18px;margin:22px 0}.project-checklist legend{padding:0 6px;font-weight:700}.project-checklist label{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;line-height:1.7}.project-checklist input{flex:none;margin-top:6px;width:18px;height:18px}.project-review-status{padding:14px 16px;border-radius:10px;background:#edf4ff;margin-top:20px;font-size:.88rem}.project-challenge{padding:14px 16px;background:#fff7e9;border-radius:10px}
@media(max-width:760px){.personal-path-card{display:block;padding:21px}.personal-path-card>.button{margin-top:12px}.personal-path-header,.personal-project{padding:21px}.personal-path-header h1{font-size:1.9rem}.personal-path-progress{flex-wrap:wrap;gap:10px}.personal-project h2{font-size:1.4rem}.personal-project .button{margin:5px 0;max-width:100%;white-space:normal}.project-checklist{padding:14px}.personal-project{scroll-margin-top:160px}}
/* Aldo moves independently of the wordmark; decorative effects never catch input. */
.brand-logo{clip-path:inset(0 0 0 37%)}.brand-mascot{position:absolute;left:0;top:0;width:68px;height:80px;pointer-events:none;transform-origin:50% 88%}.brand-mascot img{display:block;width:100%;height:100%;object-fit:contain}.brand-mascot.is-waving{animation:aldo-logo-wave 1.6s ease-in-out}.brand-mascot.is-peeking{animation:aldo-logo-peek 1.6s ease-in-out}
@keyframes aldo-logo-wave{0%,100%{transform:none}18%{transform:translateY(2px) rotate(-6deg) scaleY(.96)}38%{transform:translateY(-3px) rotate(5deg)}57%{transform:rotate(-5deg)}76%{transform:rotate(3deg)}}
@keyframes aldo-logo-peek{0%,100%{transform:none}25%,55%{transform:translateX(-2px) rotate(-9deg)}72%{transform:translateY(-2px) rotate(3deg)}}
.guide-dock.is-celebrating .robot-toggle img{animation:aldo-dance .72s ease-in-out 4;transform-origin:50% 88%}.guide-dock.is-celebrating.is-milestone .robot-toggle img{animation-iteration-count:6}
@keyframes aldo-dance{0%,100%{transform:none}18%{transform:translate(-3px,1px) rotate(-10deg) scaleY(.95)}40%{transform:translate(2px,-8px) rotate(9deg)}65%{transform:translate(-2px,-2px) rotate(-7deg)}82%{transform:translate(2px,-5px) rotate(6deg)}}
.aldo-party{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:44}.aldo-party span{position:absolute;width:7px;height:11px;animation:aldo-confetti 1.8s ease-out var(--delay) 2 both}.aldo-party .party-star{width:13px;height:13px;clip-path:polygon(50% 0,62% 34%,100% 38%,71% 61%,80% 100%,50% 78%,20% 100%,29% 61%,0 38%,38% 34%)}.aldo-party .party-confetti{border-radius:2px}
@keyframes aldo-confetti{0%{opacity:0;transform:translate(0,10px) rotate(0) scale(.3)}15%,65%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.85)}}
.aldo-celebration-note{position:fixed;z-index:46;pointer-events:none;width:max-content;max-width:min(220px,calc(100vw - 32px));margin:0;padding:12px 16px;border:1px solid #e7c06a;border-radius:16px;background:#fff9e9;color:#604319;box-shadow:0 6px 24px #60431918;font-size:.8rem;line-height:1.6;font-weight:650}.aldo-celebration-note::before{content:'✦';margin-right:7px;color:#a87308}.aldo-party[hidden],.aldo-celebration-note[hidden]{display:none!important}
@media(max-width:900px){.brand-mascot{width:53px;height:62px}}
@media(prefers-reduced-motion:reduce){.brand-mascot,.guide-dock.is-celebrating .robot-toggle img,.aldo-party span{animation:none!important}.aldo-party{display:none!important}}
@media print{.aldo-party,.aldo-celebration-note{display:none!important}}
.intro-welcome{max-width:900px;margin:auto}.intro-welcome-header{display:flex;gap:24px;align-items:center;margin:0 0 30px}.intro-welcome-header>img{width:130px;height:150px;object-fit:contain;flex:none}.intro-welcome-header h1{font-size:clamp(1.9rem,3.8vw,2.9rem);margin-bottom:13px}.intro-welcome-header p:last-child{font-size:.93rem;line-height:1.85;color:#425571;margin-bottom:0}.intro-demo{padding:27px;border:1px solid #c8d9e8;border-radius:23px;background:linear-gradient(135deg,#edf4ff,#fff9ef);scroll-margin-top:110px}.demo-heading{display:flex;align-items:flex-start;gap:15px;justify-content:space-between}.demo-heading h2{font-size:1.45rem;line-height:1.35;margin:0}.demo-heading .eyebrow{font-size:.64rem}.demo-stamp{background:#ffe1aa;color:#6b4c17;padding:8px 11px;border-radius:8px;font-size:.65rem;letter-spacing:.05em;font-weight:750;transform:rotate(5deg);flex-shrink:0}.demo-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;margin:23px 0;padding:0}.demo-stepper li{padding:10px 12px;border-radius:10px;border:1px solid #cbd9e9;background:#fff;font-size:.75rem;line-height:1.6;font-weight:600}.demo-stepper li>span{display:block;color:#1359d7;font-size:.66rem}.demo-stepper [aria-current=step]{background:#16375f;color:white;border-color:#16375f}.demo-stepper [aria-current=step]>span{color:#bcd4ff}.demo-coach{display:flex;align-items:center;gap:15px;margin:16px 0}.demo-coach img{width:70px;height:80px;object-fit:contain;flex:none}.demo-coach p{padding:15px 18px;border:1px solid #cbd9e9;border-radius:18px 18px 18px 3px;background:white;font-size:.84rem;line-height:1.8;margin:0;color:#354a67}.demo-coach strong{display:block;font-size:.76rem;color:#1359d7;margin-bottom:3px}.demo-workbench{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:20px;padding:23px;border:1px solid #d6e1eb;border-radius:15px;background:#ffffffd9;margin-top:20px}.demo-prop svg{width:110px;height:auto}.demo-workbench h3{font-size:1.06rem;line-height:1.4;margin:20px 0 10px}.demo-workbench p,.demo-workbench blockquote{font-size:.84rem;line-height:1.85;color:#354a67}.demo-workbench blockquote{padding:15px 17px;border-left:3px solid #3f7dbc;background:#edf4ff;margin:10px 0}.demo-facts{display:flex;gap:8px;flex-wrap:wrap}.demo-facts>span{padding:5px 10px;font-size:.76rem;border:1px solid #c8d8ea;background:#eff5ff;border-radius:30px;color:#204b7d;font-weight:600}.demo-feedback{min-height:60px;margin:18px 0;padding:14px 16px;border-radius:10px;background:#e5eef8;color:#284c75;font-size:.82rem;line-height:1.8}.demo-understood .demo-feedback{background:#e2f1e8;color:#225744}.demo-claims{display:grid;gap:9px}.demo-claims>button{font:inherit;font-size:.82rem;text-align:left;line-height:1.75;padding:12px 15px;background:white;border:1px solid #c4d6e9;border-radius:9px;color:#16375f;min-height:44px}.demo-claims>button:hover,.demo-claims>button.is-chosen{background:#e7f0ff;border-color:#1359d7}.demo-controls,.demo-to-questions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:17px 0 12px}.demo-controls .button{font-size:.77rem}.demo-to-questions .button{font-size:.8rem}.intro-questions{scroll-margin-top:115px;margin-top:30px}.intro-questions .onboarding{max-width:none}.intro-questions .onboarding h2{font-size:1.7rem}.onboarding .onboarding-inputs{padding:0!important;margin:0!important;border:0!important;background:none}.preference-illustration{display:flex;gap:12px;justify-content:space-around;margin:7px 0 14px;padding:12px;border-radius:10px;background:#f3f7fc}.preference-illustration>span{display:flex;flex-direction:column;align-items:center;flex:1;max-width:120px;gap:5px}.preference-illustration svg{display:block;width:67px;height:auto}.preference-illustration small{font-size:.71rem;color:#425b7a;text-align:center}.is-demonstrating .demo-prop{animation:demo-float 3s ease-in-out infinite}@keyframes demo-float{50%{transform:translateY(-5px)}}
.question-illustration{margin:18px 0 23px;padding:16px 20px;background:#edf3fa;border:1px solid #d0deeb;border-radius:13px}.question-picture{display:flex;align-items:center;justify-content:center;gap:24px}.question-drawing{display:flex;align-items:center;flex-direction:column;gap:6px;min-width:0;max-width:220px;flex:1}.question-drawing svg{width:100px;height:69px;display:block}.question-drawing span{font-size:.76rem;color:#365777;text-align:center;line-height:1.6}.question-connector{color:#83a3c2;font-size:1.2rem;letter-spacing:4px;flex:none}.question-illustration figcaption{font-size:.73rem;line-height:1.7;color:#526b85;text-align:center;margin-top:14px}.question-illustration figcaption>span{display:block;font-size:.67rem}
@media(max-width:640px){.intro-welcome-header{gap:12px;align-items:flex-start;margin-bottom:23px}.intro-welcome-header>img{width:75px;height:99px}.intro-welcome-header h1{font-size:1.8rem}.intro-welcome-header p:last-child{font-size:.83rem}.intro-demo{padding:20px 15px;border-radius:17px}.demo-heading h2{font-size:1.16rem}.demo-stamp{font-size:.55rem;padding:7px}.demo-stepper{gap:6px;margin:19px 0}.demo-stepper li{font-size:.66rem;padding:9px 8px}.demo-coach{gap:8px}.demo-coach img{width:47px;height:60px}.demo-coach p{font-size:.79rem;padding:12px}.demo-workbench{grid-template-columns:1fr;padding:17px;gap:8px}.demo-prop{display:none}.demo-workbench h3{font-size:.97rem}.demo-controls{align-items:stretch}.demo-controls .button{font-size:.71rem;padding:9px 10px}.demo-to-questions .button{font-size:.75rem;min-height:46px}.demo-feedback{font-size:.77rem}.question-illustration{padding:14px}.question-picture{gap:12px}.question-drawing svg{width:75px;height:52px}.question-drawing span{font-size:.7rem}.question-connector{letter-spacing:1px;font-size:1rem}.preference-illustration{padding:10px 6px;gap:6px}.preference-illustration svg{width:53px}.preference-illustration small{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){.is-demonstrating .demo-prop{animation:none!important}}
/* Doe-proeven: zichtbare invoer, een veranderend model en uitleg bij het effect. */
.experiment-note-choice{padding:13px 15px;background:#f5f8fc;border:1px solid #d9e4ed;border-radius:9px}.experiment-note-choice label{line-height:1.8;font-weight:600}.experiment-sort-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.experiment-sort-counts>div{padding:14px;background:white;border:1px solid #d1dfe4;border-radius:10px}.experiment-sort-counts dt{font-size:.76rem;color:#526a7b}.experiment-sort-counts dd{margin:5px 0 0;font-size:1.5rem;font-weight:700;color:#21634f}.experiment-sort-feedback{padding-left:20px}.experiment-sort-feedback li{margin:12px 0}.experiment-sort-feedback li>span{display:block;color:#21634f;font-size:.8rem}
.experiment-table-wrap{max-width:100%;overflow-x:auto;margin:15px 0}.experiment-table{width:100%;table-layout:fixed;border-collapse:collapse;background:white;font-size:.8rem;line-height:1.7;text-align:left}.experiment-table caption{text-align:left;color:#526a7b;font-size:.74rem;margin-bottom:8px}.experiment-table th,.experiment-table td{border:1px solid #ccdce6;padding:12px 10px;vertical-align:top;overflow-wrap:anywhere}.experiment-table thead{background:#e6eff8}.experiment-table tr.has-difference{background:#fff4e4}.experiment-table tr.is-matching>td:last-child{color:#21634f;font-weight:650}
.experiment-order{list-style:none;padding:0;margin:0;display:grid;gap:10px}.experiment-order li{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:13px;background:#f4f8fc;border:1px solid #cfdee7;border-radius:10px}.experiment-order li>span{min-width:0;font-size:.85rem;line-height:1.7}.experiment-order b{display:inline-block;color:#277b68;margin-right:8px;font-size:.72rem}.experiment-order li>div{display:flex;gap:6px;flex-shrink:0}.experiment-dependencies{padding-left:20px}.experiment-dependencies li{margin:9px 0}
.brief-preview-wrap{display:flex;justify-content:center;padding:22px;background:#e8eff5;border:1px solid #cbd9e3;border-radius:13px;margin:18px 0}.brief-preview{width:min(100%,360px);aspect-ratio:1;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;align-items:center;justify-items:center;gap:14px;padding:30px 24px;background:linear-gradient(145deg,#eaf7f2,#fff4e4);border:1px solid #bdd7cd;border-radius:15px;text-align:center;position:relative;overflow:hidden}.brief-preview.format-liggend{width:min(100%,480px);aspect-ratio:16/9;padding-top:35px;padding-bottom:20px}.brief-preview.format-staand{width:min(100%,300px);aspect-ratio:3/4}.brief-mark{position:absolute;top:13px;left:17px;font-size:.52rem;letter-spacing:.12em;font-weight:750;color:#396a5b}.brief-picture{width:min(100%,140px);min-width:0}.brief-picture svg{width:100%;display:block}.brief-copy{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}.brief-copy>strong{font-size:1.45rem;line-height:1.15;color:#163f35}.brief-copy>span{font-size:.72rem;line-height:1.6;color:#42665c}.brief-copy .brief-cta{display:inline-block;padding:6px 10px;border:1px solid #93bcae;border-radius:6px;background:#fffaf1;color:#2b6350;font-weight:650;font-size:.62rem}.brief-preview.position-links,.brief-preview.position-rechts{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);text-align:left;gap:12px}.brief-preview.position-rechts{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.position-rechts .brief-picture{grid-column:2;grid-row:1}.position-rechts .brief-copy{grid-column:1;grid-row:1}.position-links .brief-copy,.position-rechts .brief-copy{align-items:flex-start}.brief-preview.format-liggend.position-midden{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:640px){.experiment-note-choice{padding:11px}.experiment-sort-counts{gap:7px}.experiment-sort-counts>div{padding:11px 8px}.experiment-sort-counts dt{font-size:.67rem}.experiment-table{font-size:.72rem}.experiment-table td,.experiment-table th{padding:9px 6px}.experiment-order li{padding:10px 8px;gap:8px}.experiment-order li>span{font-size:.77rem}.experiment-order .visual-nav{min-width:38px;min-height:44px}.brief-preview-wrap{padding:14px 10px}.brief-preview{padding:32px 16px 20px;gap:9px}.brief-copy>strong{font-size:1.1rem}.brief-copy>span{font-size:.65rem}.brief-copy .brief-cta{font-size:.57rem;padding:5px 7px}.brief-picture{width:min(100%,105px)}.brief-preview.format-liggend{aspect-ratio:16/10}.brief-preview.format-liggend .brief-picture{width:90px}.brief-preview.format-liggend .brief-copy>strong{font-size:.95rem}.brief-preview.format-staand.position-links,.brief-preview.format-staand.position-rechts{grid-template-columns:minmax(0,1fr)}.format-staand.position-links .brief-picture{justify-self:start}.format-staand.position-rechts .brief-picture{justify-self:end;grid-column:1;grid-row:1}.format-staand.position-rechts .brief-copy{grid-row:2;grid-column:1;align-items:flex-end;text-align:right}.format-staand.position-links .brief-copy{align-items:flex-start;justify-self:start}}
.lesson-experiment{padding:28px;margin:28px 0;border:1px solid #afc9d2;border-top:4px solid #277b68;border-radius:18px;background:linear-gradient(145deg,#f3faf8,#f8fbff);scroll-margin-top:110px}
.lesson-experiment>h2{font-size:1.5rem;line-height:1.3;margin-bottom:12px}.lesson-experiment>.eyebrow{color:#21634f}.experiment-challenge{font-size:.91rem;color:#354a67;line-height:1.8}
.experiment-source{margin:18px 0;padding:17px 20px;border-left:3px solid #277b68;background:white;border-radius:0 9px 9px 0;font-size:.87rem;line-height:1.85}
.experiment-controls{padding:20px!important;border:1px solid #d2e3df!important;border-radius:12px;background:#fff;margin:22px 0!important;min-width:0;display:grid;gap:15px}
.experiment-controls legend{padding:0 7px;font-size:.83rem;color:#244b44}.experiment-check{display:flex;align-items:flex-start;gap:12px;font-size:.85rem;line-height:1.7;min-height:30px;cursor:pointer}.experiment-check input{flex:none;margin-top:7px;width:17px;height:17px;accent-color:#277b68}
.experiment-slider{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;font-size:.82rem;line-height:1.6}.experiment-slider output{color:#1e6754;font-size:.83rem;font-weight:750;font-variant-numeric:tabular-nums;min-width:45px;text-align:right}.experiment-slider input{grid-column:1/-1;display:block;width:100%;min-width:0;height:28px;margin:0;accent-color:#277b68;cursor:pointer}
.experiment-select{display:grid;gap:7px;font-size:.82rem;color:#354a67}.experiment-select select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #bdcfe0;background:#fff;border-radius:8px;font:inherit;color:#142747;white-space:normal}.experiment-actions{display:flex;flex-wrap:wrap;gap:9px}.experiment-actions .button{flex:1 1 220px;font-size:.77rem}
.experiment-feedback{padding:14px 16px;background:#e3f1ed;color:#1b5747;border-radius:9px;font-size:.83rem;line-height:1.8;margin-bottom:20px}.experiment-output{font-size:.85rem;line-height:1.8;overflow-wrap:anywhere}.experiment-output h3{font-size:1rem;line-height:1.5;margin:18px 0 9px}.experiment-output blockquote{margin:12px 0;padding:15px;background:#f2f5fa;border-radius:8px;font-size:.83rem}.experiment-output pre{white-space:pre-wrap;font-family:inherit;line-height:1.8;background:#f3f6fc;padding:16px;border-radius:9px;font-size:.82rem;overflow-wrap:anywhere}
.experiment-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.experiment-comparison>div,.experiment-comparison>article{padding:0 17px 17px;background:white;border:1px solid #d3e0e8;border-radius:12px;min-width:0}.experiment-insight{padding-left:15px;border-left:3px solid #69a391;margin:20px 0;color:#2a4d45;font-size:.85rem}.experiment-claim-results{padding-left:21px}.experiment-claim-results li{padding:12px 0;border-bottom:1px solid #d5e2e1}.experiment-claim-results p{margin:6px 0;font-size:.82rem}
.experiment-route,.experiment-agent-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:20px 0}.experiment-route li,.experiment-agent-route li{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 10px;border:1px solid #cadbe2;border-radius:12px;text-align:center;background:#fff;font-size:.8rem;min-width:0}.route-drawing{display:block;width:90px}.route-drawing svg,.experiment-agent-route svg{display:block;width:90px;height:auto}.experiment-route li small{font-size:.67rem;padding:3px 8px;border-radius:20px;margin-top:auto;background:#e1f0e8;color:#21634f}.experiment-route li.is-external{border-color:#c88636}.experiment-route li.is-external small{background:#fff0dc;color:#7e4d16}.experiment-agent-route li.is-current{border:2px solid #277b68;background:#ecf6f2;font-weight:700}.experiment-log{padding:15px 15px 15px 35px;background:white;border:1px solid #d3e0e8;border-radius:10px;font-size:.8rem}.experiment-log li{padding:5px 0}
.experiment-budget{display:flex;height:36px;background:#dce5ed;border-radius:9px;overflow:hidden;border:1px solid #c0d2df}.experiment-budget>span{display:block;min-width:0;transition:width .15s}.budget-input{background:#1359d7}.budget-output{background:#277b68}.experiment-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.69rem;margin:10px 0 20px;color:#425571}.experiment-metrics{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.experiment-metric{flex:1 1 180px;background:#fff;border:1px solid #cfdee4;padding:15px 17px;border-radius:11px;display:flex;flex-direction:column;gap:6px}.experiment-metric strong{font-size:1.3rem;color:#184c40;line-height:1.3}.experiment-metric span{font-size:.73rem;color:#526a7b}
.experiment-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 13px;margin:16px 0;font-size:.77rem;align-items:center}.experiment-meter>div{grid-row:2;grid-column:1/-1;height:13px;border-radius:7px;background:#e0e8ee;overflow:hidden}.experiment-meter i{display:block;height:100%;min-width:0;background:#1359d7;border-radius:7px}.experiment-meter .green{background:#277b68}.experiment-meter .orange{background:#b96b20}.experiment-meter>strong{font-variant-numeric:tabular-nums}.experiment-verdict{font-size:.8rem;color:#244b44}.experiment-retrieval{padding-left:22px}.experiment-retrieval li{margin:13px 0;padding:14px;background:white;border:1px solid #cfdee4;border-radius:10px}.experiment-retrieval li>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.experiment-retrieval blockquote{margin-bottom:0}.experiment-output details p{font-size:.83rem}
@media(max-width:640px){.lesson-experiment{padding:20px 16px}.lesson-experiment>h2{font-size:1.25rem}.experiment-controls{padding:14px!important}.experiment-comparison{grid-template-columns:1fr}.experiment-route,.experiment-agent-route{gap:9px}.experiment-route li,.experiment-agent-route li{padding:10px 6px;font-size:.7rem}.route-drawing,.route-drawing svg,.experiment-agent-route svg{width:65px}.experiment-route li small{font-size:.62rem;padding:3px 5px}.experiment-feedback{padding:12px;font-size:.8rem}.experiment-metrics{gap:9px}.experiment-metric{flex-basis:120px;padding:13px}.experiment-metric strong{font-size:1.15rem}.experiment-metric span{font-size:.7rem}.experiment-check{font-size:.81rem}.experiment-controls .button{font-size:.76rem}.experiment-retrieval{padding-left:17px}.experiment-retrieval li{padding:11px}}
@media(prefers-reduced-motion:reduce){.experiment-budget>span{transition:none!important}}
@media print{.lesson-experiment{background:white;break-inside:avoid}.experiment-controls,[data-experiment-reset]{display:none!important}.experiment-output{color:black}}
*{box-sizing:border-box}body{margin:0;line-height:1.65}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue);text-underline-offset:4px}button:disabled{cursor:default;opacity:.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{letter-spacing:-.045em;font-size:clamp(2.15rem,4.3vw,3.65rem);font-weight:750}h2{font-size:1.65rem;letter-spacing:-.025em}h3{font-size:1.12rem}p{margin-bottom:1rem}:focus-visible{outline:3px solid #165ed8;outline-offset:4px}[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px 20px}.skip-link:focus{top:8px}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px;position:sticky;top:0;z-index:20}.brand{font-size:1.85rem;letter-spacing:-.065em;font-weight:850;text-decoration:none;color:var(--ink);display:flex;align-items:center;white-space:nowrap}.brand>span:first-child{color:var(--blue)}.brand-caption{font-size:.77rem;letter-spacing:0;font-weight:500;margin-left:22px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:24px}.free-label{font-size:.8rem;color:var(--muted)}.top-link{font-size:.82rem;font-weight:650;text-decoration:none}.layout{max-width:1600px;display:grid;grid-template-columns:260px minmax(0,1fr);margin:auto}.sidebar{padding:30px 22px 28px;background:white;border-right:1px solid var(--line);height:calc(100dvh - 82px);position:sticky;top:82px;overflow:auto;scrollbar-width:thin}.overview-link{display:block;border-radius:8px;padding:9px 12px;text-decoration:none;font-weight:700;font-size:.88rem;color:var(--ink)}.overview-link[aria-current]{background:var(--tint);color:var(--blue)}.sidebar-progress{margin:22px 12px 25px}.sidebar-progress>div{display:flex;justify-content:space-between;font-size:.75rem}.sidebar-progress p{font-size:.7rem;color:var(--muted);margin:6px 0 0}progress{display:block;width:100%;height:6px;border:none;border-radius:20px;overflow:hidden;background:#e5ebf4;accent-color:var(--blue);margin-top:12px}progress::-webkit-progress-bar{background:#e5ebf4}progress::-webkit-progress-value{background:var(--blue);border-radius:20px}.nav-group-title{margin:23px 12px 8px;font-size:.65rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.lesson-link{display:flex;align-items:center;gap:10px;text-decoration:none;padding:8px 11px;border-radius:8px;margin:3px 0;font-size:.78rem;line-height:1.4;color:var(--muted);min-height:42px}.lesson-link:hover{background:var(--bg);color:var(--ink)}.lesson-link[aria-current]{background:var(--tint);color:var(--blue);font-weight:700}.nav-number{font-size:.65rem;font-weight:700;min-width:22px;letter-spacing:.04em}.lesson-link.is-complete .nav-number{color:var(--green)}.about-link{display:block;margin:26px 12px 0;font-size:.73rem;color:var(--muted)}.main{min-width:0;padding:42px clamp(24px,4vw,68px) 0;outline:none}.eyebrow{font-size:.69rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:var(--blue);margin-bottom:13px}.muted{color:var(--muted)}.hero{background:linear-gradient(125deg,#edf3ff 0%,#f9fbff 65%,#e9f0ff 100%);border:1px solid #d8e4fa;border-radius:24px;padding:42px 42px 30px}.hero h1{max-width:760px;margin-bottom:18px}.hero h1 span{color:var(--blue)}.hero .intro{max-width:640px;font-size:1rem;color:#425571;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:19px;flex-wrap:wrap;margin:25px 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid transparent;border-radius:9px;padding:11px 19px;font-size:.84rem;font-weight:650;min-height:44px;background:var(--blue);color:white;line-height:1.4}.button:hover:not(:disabled){background:var(--blue-dark)}.button.secondary{background:white;border-color:var(--line);color:var(--ink)}.button.secondary:hover{border-color:var(--blue);background:var(--tint)}.button.quiet{background:transparent;color:var(--blue);padding-left:0;padding-right:0}.button.quiet:hover{background:transparent;text-decoration:underline}.hero-facts{display:flex;gap:27px;border-top:1px solid #d8e4fa;padding-top:19px;font-size:.74rem;color:var(--muted);flex-wrap:wrap}.hero-facts strong{color:var(--ink);font-weight:700}.continue-card{background:var(--ink);color:white;padding:24px 29px;border-radius:var(--radius);margin:25px 0 38px;display:flex;align-items:center;justify-content:space-between;gap:25px}.continue-card .eyebrow{color:#a9c7ff;margin-bottom:8px}.continue-card h2{font-size:1.2rem;margin-bottom:5px;letter-spacing:-.015em}.continue-card p{margin:0;color:#c5d1e4;font-size:.81rem}.continue-card .button{background:white;color:var(--ink);flex-shrink:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{margin-bottom:7px}.section-heading p{font-size:.86rem;color:var(--muted);margin:0}.small-count{font-size:.75rem;color:var(--muted);white-space:nowrap}.catalog-controls{display:flex;justify-content:space-between;gap:18px;margin-bottom:26px;align-items:center;flex-wrap:wrap}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:white;border-radius:7px;padding:8px 14px;font-size:.76rem;min-height:40px;color:var(--muted);font-weight:600}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.search-field{display:flex;align-items:center;gap:9px;font-size:.75rem;color:var(--muted)}.search-field input{width:190px;border:1px solid var(--line);border-radius:7px;padding:9px 12px;background:white;min-height:42px;color:var(--ink)}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.lesson-card{background:white;border:1px solid var(--line);border-radius:14px;padding:23px 23px 19px;display:flex;flex-direction:column;min-height:250px;transition:border-color .16s,transform .16s}.lesson-card:hover{border-color:#8ab0ee;transform:translateY(-2px)}.card-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.64rem;margin-bottom:23px}.card-index{color:var(--blue);background:var(--tint);padding:4px 8px;border-radius:5px;font-weight:750;letter-spacing:.04em}.card-complete{color:var(--green);font-size:.68rem;font-weight:700}.lesson-card h3{font-size:1rem;margin-bottom:9px;line-height:1.35;letter-spacing:-.01em}.lesson-card p{font-size:.8rem;line-height:1.65;color:var(--muted);margin-bottom:18px}.card-link{margin-top:auto;font-weight:700;font-size:.77rem;text-decoration:none;min-height:30px;display:inline-flex;align-items:center}.empty-state{border:1px dashed var(--line);padding:30px;border-radius:12px;color:var(--muted)}.how-it-works{margin:38px 0 0;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:29px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps p{font-size:.8rem;color:var(--muted);margin-bottom:0}.steps h3{font-size:.9rem}.step-label{color:var(--blue);font-size:.68rem;font-weight:750;display:block;margin-bottom:9px}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0;margin-top:45px;color:var(--muted);font-size:.68rem}.footer a{color:var(--muted)}.menu-toggle{display:none}.lesson-shell{max-width:840px;margin:auto}.back-link{font-size:.78rem;display:inline-block;margin-bottom:28px}.lesson-title{font-size:clamp(2rem,3.7vw,2.8rem);margin-bottom:18px}.lesson-lead{font-size:1.04rem;color:var(--muted);max-width:700px;line-height:1.85}.lesson-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:22px 0 30px}.tag{font-size:.72rem;color:var(--muted);border:1px solid var(--line);background:white;border-radius:30px;padding:5px 11px}.learning-goal{padding:22px 26px;background:var(--tint);border-left:3px solid var(--blue);border-radius:0 12px 12px 0;margin-bottom:29px}.learning-goal h2{font-size:1rem;margin:0 0 8px}.learning-goal p{margin:0;font-size:.9rem}.reading-block{margin:29px 0}.reading-block h2{font-size:1.25rem}.reading-block p{color:#354a67;font-size:.95rem;line-height:1.9}.prompt-box,.exercise-box,.knowledge-check{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:28px;margin:28px 0}.block-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.block-heading h2{font-size:1.2rem;margin:0}.prompt-box pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f5fa;padding:20px;border-radius:10px;font-size:.85rem;line-height:1.8;font-family:inherit;margin:15px 0 12px}.hint{color:var(--muted);font-size:.76rem}.exercise-box{background:#f9fbff}.exercise-box>p{font-size:.9rem}label.field-label{display:block;font-size:.8rem;font-weight:700;margin:18px 0 8px}textarea,.text-input{width:100%;border:1px solid #bdcadc;padding:13px 15px;border-radius:9px;background:white;color:var(--ink);font-size:.9rem}textarea{resize:vertical;min-height:145px;line-height:1.7}.save-hint{font-size:.71rem;color:var(--muted);margin:7px 0 17px}details{border:1px solid var(--line);background:white;border-radius:9px;margin-top:12px}summary{padding:13px 16px;cursor:pointer;font-size:.82rem;font-weight:650;min-height:46px}details .details-body{padding:0 18px 15px;font-size:.88rem;line-height:1.85;color:#354a67}details .details-body p:last-child{margin-bottom:0}.knowledge-check h2{font-size:1.2rem}fieldset{border:0;margin:0;padding:0}legend{font-weight:650;font-size:.9rem;margin-bottom:14px}.answer-option{display:flex;gap:12px;padding:13px 15px;margin:8px 0;border:1px solid var(--line);border-radius:8px;font-size:.85rem;align-items:flex-start;cursor:pointer;line-height:1.65;background:white}.answer-option:has(input:checked){border-color:var(--blue);background:var(--tint)}input[type=radio]{accent-color:var(--blue);margin-top:6px;flex-shrink:0}.quiz-feedback{margin:15px 0 0;font-size:.85rem}.quiz-feedback.correct{color:var(--green)}.quiz-feedback.wrong{color:#a42727}.completion-box{border:1px solid #b8d5c9;background:#f1faf5;border-radius:var(--radius);padding:25px;margin-top:28px}.completion-box h2{font-size:1.15rem}.completion-box p{font-size:.83rem}.complete-requirements{font-size:.8rem;color:var(--muted);padding-left:20px}.complete-requirements li{margin:5px 0}.lesson-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:.82rem}.notice{padding:15px 19px;border:1px solid #d9bd79;background:#fff9e9;color:#624b15;border-radius:10px;margin-top:20px;font-size:.85rem}.info-section{max-width:820px;margin:auto}.info-section h1{font-size:2.8rem}.info-section h2{font-size:1.3rem;margin-top:30px}.info-section p,.info-section li{font-size:.92rem;line-height:1.9;color:#354a67}.source-list li{margin:12px 0}.certificate{background:white;border:1px solid #bbcdeb;border-top:6px solid var(--blue);padding:42px;text-align:center;border-radius:16px;margin-top:28px}.certificate .certificate-name{font-size:2.2rem;overflow-wrap:anywhere;font-weight:700;margin:24px 0}.certificate p{font-size:.9rem;color:var(--muted)}.certificate-date{font-size:.8rem}.certificate-form{margin-top:25px}.certificate-form .button{margin-top:14px}.certificate-form label{display:block;margin-bottom:7px;font-size:.85rem;font-weight:650}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);background:var(--ink);color:white;padding:12px 20px;font-size:.8rem;border-radius:10px;z-index:40;box-shadow:0 6px 25px #14274722}.section-heading,.reading-block,.exercise-box{scroll-margin-top:105px}
@media(min-width:1450px){.lesson-card{min-height:260px}.main{padding-top:48px}}@media(max-width:1200px){.brand-caption{display:none}.sidebar{padding-left:15px;padding-right:15px}.layout{grid-template-columns:225px minmax(0,1fr)}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding-left:28px;padding-right:28px}.hero{padding:32px}.free-label{display:none}}
@media(max-width:900px){.topbar{height:70px;padding:0 24px}.layout{display:block}.menu-toggle{display:inline-flex;padding:8px 12px!important}.sidebar{display:none;position:static;height:auto;max-height:65dvh;overflow:auto;border-bottom:1px solid var(--line);border-right:0;padding:18px 24px}.sidebar.is-open{display:block}.sidebar-progress{max-width:350px}.main{padding-top:28px}.topbar-actions{gap:18px}.hero h1{font-size:2.8rem}.lesson-link{min-height:44px}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-card{padding:20px;min-height:260px}}
@media(max-width:760px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:2.6rem}.top-link{font-size:.75rem}.hero-facts{gap:12px 22px}.steps{gap:17px}.hero .intro{font-size:.94rem}}
@media(max-width:520px){.topbar{padding:0 18px;gap:8px}.brand{font-size:1.65rem}.topbar-actions{gap:11px}.top-link{display:none}.menu-toggle{font-size:.78rem}.main{padding:21px 18px 0}.hero{border-radius:18px;padding:28px 23px 24px}.hero h1{font-size:2.35rem}.hero-actions{gap:8px;margin-bottom:23px}.hero-facts{display:grid;gap:7px}.continue-card{padding:22px;align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:31px}.continue-card .button{width:100%}.section-heading h2{font-size:1.4rem}.section-heading{align-items:flex-start}.small-count{padding-top:5px}.catalog-controls{align-items:stretch;gap:15px}.filter{padding:8px 12px;font-size:.72rem}.search-field{width:100%}.search-field input{width:auto;flex:1;min-width:0}.lesson-grid{grid-template-columns:1fr;gap:13px}.lesson-card{min-height:0;padding:22px}.card-meta{margin-bottom:15px}.lesson-card p{margin-bottom:13px}.card-link{min-height:36px}.how-it-works{padding:24px}.steps{grid-template-columns:1fr;gap:22px}.footer{flex-direction:column;gap:5px}.lesson-title{font-size:2.1rem}.lesson-lead{font-size:.95rem}.prompt-box,.exercise-box,.knowledge-check{padding:21px}.block-heading{align-items:flex-start;flex-wrap:wrap}.block-heading h2{font-size:1.1rem}.prompt-box pre{padding:16px}.learning-goal{padding:20px}.info-section h1{font-size:2.1rem}.certificate{padding:25px 18px}.certificate .certificate-name{font-size:1.7rem}.lesson-pagination{flex-wrap:wrap}.completion-box .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.topbar,.sidebar,.footer,.back-link,.certificate-form,.no-print,.toast,.skip-link{display:none!important}.layout{display:block}.main{padding:0}.certificate{border:2px solid #1359d7;box-shadow:none;margin:20mm 0;padding:20mm 12mm;break-inside:avoid}.print-hide{display:none!important}a{color:inherit}}

/* Course media and the local learning guide. */
/* Illustrations for every module: text remains readable without animation or JS. */
.visual-explainer{padding:26px;background:#f2f6fc;border:1px solid #d5e1f3;border-radius:20px;overflow:hidden}
.visual-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.visual-heading .eyebrow{margin:0 0 7px;font-size:.68rem;letter-spacing:.08em}
.visual-heading h2{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.35;margin:0;max-width:620px}
.visual-badge{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid #c7d8ed;border-radius:50%;font-size:.9rem;font-weight:650;color:#1359d7;background:#fff}
.visual-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0;position:relative}
.visual-step{position:relative;min-width:0;background:white;border:1px solid #d2dfee;border-radius:14px;transition:background-color .25s,border-color .25s,box-shadow .25s;overflow:visible}
.visual-step::after{content:'→';position:absolute;left:calc(100% + 5px);top:88px;width:16px;color:#507296;font-size:18px;text-align:center}
.visual-step:last-child::after{display:none}
.visual-choice{display:grid;grid-template-columns:1fr;width:100%;padding:17px 17px 0;border:0;border-radius:14px 14px 0 0;background:none;color:#152d51;text-align:left;font:inherit;cursor:pointer}
.visual-choice:disabled{cursor:default;opacity:1;color:#152d51}
.visual-choice:focus-visible{outline:3px solid #1359d7;outline-offset:4px}
.visual-step-index{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#edf3fc;color:#1359d7;font-size:.66rem;font-weight:700}
.visual-art{display:block;justify-self:center;width:min(100%,160px);margin:0 0 12px}
.visual-art svg{display:block;width:100%;height:auto}
.visual-step-label{display:block;font-size:.91rem;font-weight:700;line-height:1.45}
.visual-step>p{margin:9px 0 0;padding:0 17px 19px;font-size:.79rem;line-height:1.75;color:#4a607d}
.visual-step.is-active{border-color:#1359d7;background:#fbfdff;box-shadow:0 0 0 2px #1359d71a}
.visual-step.is-active .visual-step-index{background:#1359d7;color:white}
.visual-player{margin-top:22px}
.visual-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.visual-controls .button{font-size:.77rem;min-height:44px;padding:10px 16px;background:white}
.visual-nav{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #bdcfe5;background:white;border-radius:9px;color:#1359d7;font-size:1.1rem;cursor:pointer}
.visual-nav:disabled{color:#7e8b9e;background:#e9eff7;cursor:default}
.visual-nav:focus-visible,.visual-play:focus-visible{outline:3px solid #1359d7;outline-offset:3px}
.visual-status{margin:10px 0 0;font-size:.74rem;color:#385779;font-weight:600}
.visual-motion-hint{font-size:.75rem;margin:8px 0 0;color:#4a607d}
.visual-explainer figcaption{border-top:1px solid #d5e1f3;padding-top:16px;margin-top:19px;font-size:.78rem}
.visual-explainer figcaption a{display:inline-block;margin-top:5px;font-weight:600}
.visual-explainer[data-layout="compare"] .visual-step::after,.visual-explainer[data-layout="matrix"] .visual-step::after{content:'↔'}
.visual-explainer[data-layout="layers"] .visual-step::after{content:'+'}
.visual-explainer[data-layout="cycle"] .visual-step::after{content:'↻'}
.visual-explainer[data-layout="network"] .visual-step::after,.visual-explainer[data-layout="branch"] .visual-step::after{content:'·'}
.visual-explainer[data-layout="network"] .visual-steps::before,.visual-explainer[data-layout="branch"] .visual-steps::before{content:'';position:absolute;left:16%;right:16%;top:-10px;height:10px;border:1px dashed #90afca;border-bottom:0;border-radius:7px 7px 0 0}
.is-playing .visual-step.is-active .visual-art{animation:visual-breathe 1.8s ease-in-out infinite}
.is-playing .visual-step.is-active::before{content:'';position:absolute;left:13px;right:13px;top:-2px;height:3px;border-radius:3px;background:#1359d7;transform-origin:left;animation:visual-progress 3.6s linear infinite}
@keyframes visual-breathe{50%{transform:translateY(-4px)}}
@keyframes visual-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1100px) and (min-width:901px){.visual-explainer{padding:20px}.visual-steps{gap:15px}.visual-choice{padding:14px 12px 0}.visual-step>p{padding:0 12px 16px}.visual-step::after{left:calc(100% + 1px);width:13px;font-size:15px}.visual-step-label{font-size:.83rem}}
@media(max-width:640px){.visual-explainer{padding:20px 16px;border-radius:16px}.visual-heading{margin-bottom:20px}.visual-heading h2{font-size:1.16rem}.visual-badge{width:34px;height:34px;font-size:.78rem}.visual-steps{grid-template-columns:1fr;gap:17px}.visual-choice{grid-template-columns:70px minmax(0,1fr);column-gap:13px;align-items:center;padding:15px 15px 0}.visual-art{grid-column:1;grid-row:1/3;width:70px;margin:0}.visual-step-index{grid-column:2;grid-row:1;width:auto;height:auto;justify-self:start;background:none!important;color:#1359d7!important;font-size:.65rem}.visual-step-label{grid-column:2;grid-row:2;font-size:.9rem}.visual-step>p{padding:0 15px 16px;margin-top:10px;font-size:.82rem}.visual-step::after{left:25px;top:calc(100% + 1px);font-size:14px;line-height:16px;transform:rotate(90deg)}.visual-explainer[data-layout="network"] .visual-steps::before,.visual-explainer[data-layout="branch"] .visual-steps::before{display:none}.visual-status{font-size:.73rem;line-height:1.6}.visual-explainer figcaption{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.visual-explainer *,.visual-explainer *::before{animation:none!important;transition:none!important}}
@media print{.visual-explainer{break-inside:avoid;border-color:#c7d8ed;background:white}.visual-player{display:none!important}.visual-step{box-shadow:none!important}.visual-step::before{display:none!important}.visual-choice{color:#152d51}.visual-art{animation:none!important}}
.exercise-box fieldset{border:0;padding:0;margin:18px 0}.exercise-box legend{font-weight:700;font-size:1rem;line-height:1.6;margin-bottom:9px}.practice-scenario{padding:18px;border-left:3px solid var(--blue);background:white;border-radius:0 10px 10px 0;line-height:1.9}.optional-practice{margin:20px 0}.optional-practice h3{font-size:1rem;margin-top:20px}.optional-practice .details-body{font-size:.9rem;line-height:1.9}
.assistant-example{margin:28px 0;max-width:460px}.assistant-example img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:18px}.assistant-example figcaption{font-size:.79rem;line-height:1.8;color:var(--muted);margin-top:10px}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:24px}.hero>.eyebrow{grid-column:1;grid-row:1}.hero h1{grid-column:1;grid-row:2;font-size:clamp(2rem,2.7vw,3.2rem)}.hero .intro{grid-column:1;grid-row:3}.hero-actions{grid-column:1;grid-row:4;flex-wrap:wrap}.hero-facts{grid-column:1/-1;grid-row:5}.hero-art{grid-column:2;grid-row:1/5;margin:0;align-self:center;overflow:hidden;border-radius:20px;background:#fff8ee;box-shadow:0 12px 30px #152d510c}.hero-art img{display:block;width:100%;height:auto}.hero-art figcaption{font-size:.72rem;padding:10px 14px;color:#354a67;text-align:center}.tool-discovery{padding:25px 0 28px}.tool-discovery h2{font-size:1.35rem;margin-bottom:7px}.tool-discovery p{font-size:.88rem;color:var(--muted)}.tool-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.tool-shortcuts a{display:flex;align-items:center;gap:20px;border:1px solid #c7d8ed;border-radius:10px;background:white;padding:12px 17px;font-size:.83rem;text-decoration:none;font-weight:650;min-height:44px}.tool-shortcuts a:hover{background:var(--tint);border-color:var(--blue)}.tool-shortcuts span{color:var(--blue)}.card-visual{display:block;width:100%;height:auto;border-radius:10px;margin:0 0 17px}.lesson-visual{margin:25px 0 30px}.lesson-visual img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:18px}.lesson-visual figcaption{color:var(--muted);font-size:.79rem;line-height:1.7;margin-top:10px}.lesson-video{margin:30px 0;padding:24px;background:#edf3fc;border:1px solid #d5e1f3;border-radius:18px}.lesson-video h2{font-size:1.3rem;margin-bottom:17px}.lesson-video video{display:block;width:100%;height:auto;border-radius:12px;background:#152d51}.lesson-video li{margin:10px 0;line-height:1.8}.lesson-sources{padding:19px 23px;border-left:3px solid var(--blue);background:#f4f7fc;font-size:.85rem;margin:23px 0}.lesson-sources ul{padding-left:20px;line-height:1.9}.lesson-sources .hint{margin-bottom:0}.filters{flex-wrap:wrap}.footer{padding-bottom:95px}
.assistant-toggle{position:fixed;right:24px;bottom:22px;border:0;border-radius:100px;padding:15px 21px;background:var(--blue);color:white;font:inherit;font-size:.86rem;font-weight:700;z-index:45;box-shadow:0 7px 24px #1359d736;cursor:pointer;min-height:48px}.assistant-toggle span{margin-right:7px}.course-assistant{position:fixed;right:24px;bottom:88px;width:460px;max-width:calc(100vw - 32px);max-height:min(72dvh,720px);overflow:auto;background:white;border:1px solid #c7d8ed;border-radius:20px;box-shadow:0 18px 70px #152d5133;padding:23px;z-index:46;overscroll-behavior:contain}.assistant-header{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}.assistant-header h2{font-size:1.18rem;line-height:1.4;margin:4px 0 12px}.assistant-header .eyebrow{font-size:.65rem}.assistant-header button{padding:6px 10px;font-size:.76rem;flex-shrink:0;min-height:40px}.assistant-topics{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}.assistant-topics button{border:1px solid #c7d8ed;background:#f4f7fc;color:var(--ink);border-radius:100px;padding:8px 12px;min-height:40px;cursor:pointer;font:inherit;font-size:.76rem}.assistant-topics button:hover{background:#e2edff}.assistant-input{display:flex;gap:8px}.assistant-input input{width:100%;min-width:0;border:1px solid #9bb2d1;border-radius:8px;padding:11px;font:inherit;font-size:16px}.assistant-input button{padding:10px 15px}.course-assistant label{display:block;font-size:.83rem;font-weight:650;margin-bottom:8px}.assistant-answer{font-size:.87rem;line-height:1.8;margin-top:20px;color:#354a67;overflow-wrap:anywhere}.assistant-answer article{border-top:1px solid var(--line);padding:16px 0 7px}.assistant-answer h3{font-size:1rem;margin-bottom:7px;color:var(--ink)}.assistant-answer a{font-size:.8rem;font-weight:650}.assistant-answer p{margin-bottom:12px}.course-assistant[hidden],.assistant-toggle[hidden]{display:none!important}
@media(max-width:1180px){.hero{grid-template-columns:1fr}.hero>.eyebrow{grid-column:1;grid-row:1}.hero h1{grid-column:1;grid-row:2;font-size:2.7rem}.hero-art{grid-column:1;grid-row:3;width:100%;max-width:630px;margin:5px 0 22px}.hero-art img{aspect-ratio:2/1;object-fit:cover}.hero .intro{grid-row:4}.hero-actions{grid-row:5}.hero-facts{grid-row:6}}
@media(max-width:520px){.hero h1{font-size:2.25rem}.hero-art{margin-top:6px;border-radius:12px}.hero-art img{aspect-ratio:16/9}.hero-art figcaption{font-size:.68rem}.tool-shortcuts{display:grid;grid-template-columns:1fr 1fr}.tool-shortcuts a{font-size:.77rem;justify-content:space-between;padding:10px 12px;gap:8px}.tool-shortcuts a:last-child{grid-column:1/-1}.lesson-video{padding:15px}.lesson-video h2{font-size:1.12rem}.lesson-sources{padding:16px}.assistant-toggle{right:16px;bottom:16px}.course-assistant{right:12px;bottom:80px;width:calc(100vw - 24px);max-width:none;padding:19px;max-height:72dvh}.toast{bottom:82px}}
@media print{.assistant-toggle,.course-assistant{display:none!important}}

.onboarding{max-width:760px}.onboarding fieldset{border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:24px 0;background:white}.onboarding legend{padding:0 8px;font-weight:700}.onboarding fieldset label{display:flex;align-items:flex-start;gap:10px;padding:10px 0;cursor:pointer}.onboarding input[type=radio]{flex-shrink:0;margin-top:7px;accent-color:var(--blue)}.onboarding .text-input{display:block;max-width:420px;margin:8px 0}.onboarding .button{margin:0 8px 12px 0}

/* Active learning: retain the existing type, spacing and colour system. */
.practice-nav{display:grid;gap:4px;margin:12px 0 0}.practice-nav a{padding:8px 12px;min-height:42px;font-size:.8rem;text-decoration:none;font-weight:650}.learning-paths{margin:38px 0}.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.path-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:white}.path-card h3{font-size:1.15rem;margin:10px 0}.path-card h3 a{text-decoration:none;color:var(--ink)}.path-card p{font-size:.86rem;color:var(--muted)}.path-card progress{margin:18px 0 8px}.practice-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--tint);border:1px solid #cfdef6;border-radius:18px;padding:28px;margin:30px 0}.practice-banner h2{font-size:1.5rem}.practice-banner p{margin-bottom:0;max-width:600px}.banner-actions{display:grid;gap:8px;flex-shrink:0}.profile-link{font-size:.83rem;color:var(--muted);margin:32px 0}.path-lessons{padding:0;list-style:none;margin:30px 0}.path-lessons li{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin:12px 0}.path-lessons a{font-weight:700}.path-lessons p{margin:6px 0 0;font-size:.9rem;color:var(--muted)}.path-lessons .tag{white-space:nowrap}.review-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.review-stats>div{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.review-stats strong{display:block;font-size:1.8rem;color:var(--blue);line-height:1.3}.review-stats span{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.session-options{display:flex;flex-wrap:wrap;gap:10px}.lab-box{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;margin:28px 0;scroll-margin-top:106px}.lab-box h2{font-size:1.65rem}.lab-box blockquote{background:var(--tint);margin:20px 0;padding:18px;border-left:3px solid var(--blue)}.lab-nav,.lesson-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.lab-nav a,.lesson-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:9px;background:white;text-decoration:none;font-size:.83rem;font-weight:650}.lab-choices{border:0;padding:0;margin:22px 0}.lab-choices legend{font-weight:700;margin-bottom:10px}.lab-choices label{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin:8px 0;border:1px solid var(--line);border-radius:9px;cursor:pointer}.lab-choices input{margin-top:6px;accent-color:var(--blue);flex-shrink:0}.lab-box textarea{display:block;width:100%;max-width:100%;resize:vertical;padding:16px;margin:10px 0;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:.9rem;line-height:1.7;color:var(--ink)}.route-result{background:var(--tint);border-left:3px solid var(--blue);padding:18px}.route-result p{margin:8px 0 0}.practice-hint{margin:16px 0}.practice-hint summary{font-weight:650;color:var(--blue);cursor:pointer;min-height:40px;padding:8px 0}.practice-hint p{padding:12px 16px;background:white;border:1px solid var(--line);border-radius:9px}.review-method{margin:28px 0}.review-method summary{cursor:pointer;font-weight:650;min-height:44px}.review-method p{font-size:.88rem;color:var(--muted)}#review-session{scroll-margin-top:104px}#review-session progress{margin:12px 0 24px}.lab-page{padding-bottom:40px}#uitleg,#praktijk,#kennistest{scroll-margin-top:108px}
@media(max-width:760px){.practice-banner{align-items:stretch;flex-direction:column;padding:22px}.banner-actions{align-items:stretch}.review-stats{gap:8px}.review-stats>div{padding:12px}.lab-box{padding:20px}.path-lessons li{flex-direction:column;gap:10px}.lab-nav a,.lesson-jumps a{padding:8px 10px}.brand-caption{display:none}.brand{font-size:1.5rem}.lab-box h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Display the supplied logo unchanged; the frame hides its surrounding white margin. */
.brand{gap:18px;letter-spacing:normal}.brand-logo-frame{display:block;position:relative;width:188px;height:80px;overflow:hidden;flex-shrink:0}.brand-logo{display:block;position:absolute;width:200px;height:auto;max-width:none;transform:translate(-7px,-23px)}.brand .brand-caption{margin-left:0;color:var(--muted)}.hero-brand{background:white}
@media(max-width:900px){.brand{gap:0}.brand-logo-frame{width:146px;height:62px}.brand-logo{width:155px;transform:translate(-5px,-18px)}}
.menu-toggle{display:inline-flex}@media(min-width:901px){.layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.layout.sidebar-collapsed .sidebar{display:none}}
.topbar-actions{position:relative;flex-shrink:0;margin-left:auto}
.menu-toggle{background:white;color:var(--ink);border:1px solid var(--line);padding:10px 15px;gap:9px;white-space:nowrap}
.menu-toggle:hover:not(:disabled),.menu-toggle[aria-expanded=true]{background:var(--tint);color:var(--blue);border-color:#b8ccef}
.menu-toggle svg{flex-shrink:0}
.site-menu{position:absolute;right:0;top:calc(100% + 12px);width:260px;max-width:calc(100vw - 36px);padding:8px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px #1427471f;max-height:calc(100dvh - 100px);overflow:auto;z-index:30}
.site-menu[hidden]{display:none}
.site-menu a,.site-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:11px 13px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:.85rem;font-weight:550;text-decoration:none;text-align:left;cursor:pointer}
.site-menu a:first-child{color:var(--blue);font-weight:700;background:var(--tint)}
.site-menu a:hover,.site-menu button:hover{background:var(--bg)}
.site-menu-divider{height:1px;margin:7px 5px;background:var(--line)}
.profile-page{max-width:820px;padding-bottom:24px}
.profile-page>.intro{margin-bottom:28px}
.profile-card{padding:28px;margin:20px 0;background:white;border:1px solid var(--line);border-radius:18px}
.profile-card h2{margin:0 0 22px;font-size:1.25rem}
.profile-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 18px}
.profile-details dt{font-size:.77rem;color:var(--muted);margin-bottom:7px}
.profile-details dd{margin:0;font-size:.98rem;font-weight:650;overflow-wrap:anywhere}
.profile-status{display:inline-block;font-size:.83rem;color:var(--ink);background:var(--tint);padding:3px 8px;border-radius:6px}
.profile-form{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.profile-form label{display:block;font-size:.82rem;font-weight:650;margin-bottom:8px}
.profile-form-row{display:flex;align-items:center;gap:12px}
.profile-form input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;color:var(--ink);background:white}
.profile-form-row .button{flex-shrink:0}
.profile-form .hint:empty{display:none}
.profile-form .hint{margin:12px 0 0}
.profile-card .section-heading{align-items:center;margin-bottom:16px}
.profile-card .section-heading h2{margin:0}
.profile-percent{font-size:1.55rem;font-weight:750;color:var(--blue)}
.profile-card progress{height:10px;margin:0 0 12px}
.profile-card .profile-progress-copy{margin:0;font-size:.9rem}
.profile-stats{display:flex;gap:40px;margin:20px 0 24px}
.profile-stats>div{display:grid;gap:3px}
.profile-stats strong{font-size:1.4rem;color:var(--ink)}
.profile-stats span{font-size:.8rem;color:var(--muted)}
.profile-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin:24px 0 14px}
.profile-links a{min-height:44px;display:inline-flex;align-items:center;font-size:.85rem}
.profile-storage{max-width:640px}
.video-language{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.84rem;font-weight:650;margin:0 0 18px}
.video-language select{min-height:44px;padding:9px 34px 9px 12px;border:1px solid #9bb2d1;border-radius:9px;background:white;color:var(--ink);font:inherit;max-width:100%}
.video-language[hidden]{display:none}
.video-language-status:empty{display:none}
.lesson-video [data-video-transcript]{overflow-wrap:anywhere}
@media(max-width:520px){.profile-card{padding:22px 20px}.profile-details{grid-template-columns:1fr;gap:16px}.profile-details>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:baseline}.profile-details dt{margin:0}.profile-form-row{align-items:stretch;flex-direction:column}.profile-form-row .button{align-self:flex-start}.profile-page .intro{font-size:.94rem}}
.current-lesson{flex:1;min-width:0;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:650;text-decoration:none;color:var(--ink);background:var(--tint);border-radius:9px;padding:9px 14px}.current-lesson span{color:var(--blue);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:750;margin-right:8px}.current-lesson[hidden]{display:none}
@media(max-width:760px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;row-gap:8px}.current-lesson{order:3;flex-basis:100%;max-width:none;padding:7px 12px}}
.sidebar-streak{font-size:.72rem!important;color:var(--ink)!important;margin-top:10px!important;line-height:1.6}
.progress-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;margin:0 0 38px}.progress-panel .section-heading{margin-bottom:18px}.level-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 22px}.level-row{display:flex;justify-content:space-between;font-size:.78rem}.level-row span{color:var(--muted)}.level-progress progress{margin-top:8px}
.goal-box{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;padding:16px 18px;background:var(--bg);border-radius:12px}.goal-box>div{display:grid;gap:3px;min-width:200px;font-size:.82rem}.goal-box>div span{color:var(--muted);font-size:.78rem}.goal-box progress{margin-top:6px}.goal-select{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--muted)}.goal-select select{border:1px solid var(--line);border-radius:7px;padding:8px 10px;min-height:40px;background:white;color:var(--ink);font:inherit}
.listen-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-14px 0 28px}.rate-group{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white}.rate{border:0;background:white;padding:0 12px;min-height:44px;font-size:.78rem;font-weight:650;color:var(--muted);cursor:pointer}.rate+.rate{border-left:1px solid var(--line)}.rate[aria-pressed=true]{background:var(--ink);color:white}.listen-bar [data-action=audio-only][aria-pressed=true]{text-decoration:underline}
.audio-only .lesson-visual,.audio-only .lesson-video,.audio-only .assistant-example,.audio-only .prompt-box,.audio-only .exercise-box,.audio-only .optional-practice,.audio-only .knowledge-check,.audio-only .completion-box,.audio-only .lesson-sources,.audio-only .lesson-jumps{display:none}.audio-only-note{margin:-16px 0 24px}
.is-reading{background:#fff7d6;box-shadow:0 0 0 8px #fff7d6;border-radius:6px}
.milestone{display:flex;align-items:center;gap:14px;background:white;border:1px solid #b8d5c9;border-radius:12px;padding:14px 16px;margin-bottom:16px}.milestone span{font-size:1.5rem;color:#c58a00}.milestone p{margin:0;font-weight:650;color:var(--green)}
.example-answer{margin-top:20px;padding:18px 20px;background:white;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:0 12px 12px 0}.example-answer h3{font-size:.95rem;margin-bottom:8px}.example-answer p{font-size:.88rem;line-height:1.8}
.start-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:24px 0}.start-card h2{margin-top:0}
.assistant-greeting{font-size:.85rem;font-weight:600;margin:0 0 6px}.assistant-greeting:empty{display:none}.assistant-lesson,.assistant-recent{margin-top:10px}.assistant-lesson .hint,.assistant-recent .hint{margin:0 0 6px}
@media(max-width:520px){.progress-panel{padding:21px}.goal-box{flex-direction:column;align-items:stretch}.goal-select{justify-content:space-between}.listen-bar .button{flex:1 1 auto}}
@media print{.current-lesson{display:none!important}}

/* A short route through the course, with Aldo available on every screen. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.primary-nav{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:white;margin:0 0 26px}.primary-nav a{flex:1;text-align:center;padding:9px 8px;min-height:44px;border-radius:8px;text-decoration:none;color:var(--muted);font-size:.84rem;font-weight:650;display:flex;justify-content:center;align-items:center}.primary-nav a[aria-current=page]{background:var(--tint);color:var(--blue)}
.hero.home-hero{grid-template-columns:minmax(0,1fr) 150px;padding:30px 32px;gap:18px 20px}.home-intro{min-width:0}.home-hero h1{font-size:clamp(2.2rem,3.6vw,3.35rem);margin-bottom:18px}.home-hero .intro{font-size:1rem;line-height:1.75;margin-bottom:21px}.home-hero .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.home-progress{font-size:.8rem;color:var(--muted);margin:0}.hero-guide{display:flex;flex-direction:column;align-items:center;align-self:center;text-align:center;font-size:.8rem;font-weight:650;text-decoration:none;line-height:1.6;color:var(--ink);border-radius:18px;padding:10px}.hero-guide img{display:block;width:140px;height:150px;object-fit:contain;transition:transform .2s}.hero-guide:hover img{transform:translateY(-4px) rotate(-3deg)}.home-hero .hero-facts{grid-column:1/-1;margin-top:8px;padding-top:18px;border-top:1px solid #d9e4f5;font-size:.77rem}.home-footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;margin:28px 0}.catalog-disclosure{background:white;border:1px solid var(--line);border-radius:14px;margin:32px 0;padding:0 22px}.catalog-disclosure>summary{font-weight:750;cursor:pointer;padding:21px 0;min-height:60px}.catalog-disclosure>section{padding:15px 0 24px}.catalog-disclosure .lesson-card{min-height:0}.catalog-disclosure .card-visual{display:none}
.nav-category{border-bottom:1px solid var(--line);padding:8px 0}.nav-category>summary{font-size:.75rem;font-weight:750;cursor:pointer;min-height:44px;padding:11px 9px;color:var(--ink)}.nav-category>summary span{float:right;color:var(--muted);font-weight:500}.sidebar .progress-link{margin:8px 12px 18px}.sidebar .overview-link{margin-top:5px}
.lesson-toolbar{gap:10px;align-items:center;flex-wrap:wrap}.listening-options{flex-basis:100%;margin:0 0 10px}.listening-options>summary{cursor:pointer;color:var(--blue);font-size:.84rem;padding:9px 0;min-height:42px;font-weight:650}.listening-options .listen-bar{margin:12px 0}.lesson-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 26px;scroll-margin-top:115px}.lesson-stepper button{border:1px solid #c7d8ed;background:white;border-radius:12px;padding:12px 16px;min-height:64px;text-align:left;font:inherit;font-size:.9rem;font-weight:700;color:var(--ink);line-height:1.4}.lesson-stepper button>span{display:block;font-size:.69rem;color:var(--blue);margin-bottom:3px;letter-spacing:.08em}.lesson-stepper button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}.lesson-stepper button[aria-selected=true]>span{color:#b9d5ff}.lesson-step-panel{scroll-margin-top:120px}.quick-take{padding:20px 24px;border:1px solid #c7d8ed;border-radius:12px;background:white;margin:24px 0}.quick-take h2{font-size:1.05rem}.quick-take p{margin:0;font-size:1rem}.step-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:28px 0}.worked-example{background:white;border:1px solid var(--line);border-radius:16px;margin:30px 0;padding:25px}.worked-example h2{font-size:1.45rem}.worked-example blockquote{margin:22px 0;padding:18px 20px;background:var(--tint);border-left:3px solid var(--blue);font-size:.9rem}.worked-example blockquote p{margin:8px 0 0}.worked-example details{border-top:1px solid var(--line);padding:7px 0}.worked-example summary,.lesson-media>summary{cursor:pointer;font-size:.9rem;font-weight:650;min-height:44px;padding:10px 0;color:var(--blue)}.worked-example .details-body{padding:10px 0}.worked-example h3{font-size:1rem}.lesson-media{margin:24px 0;border:1px solid var(--line);padding:8px 20px;border-radius:12px;background:#fff}.audio-only .lesson-stepper,.audio-only .step-actions,.audio-only .worked-example,.audio-only .lesson-media{display:none}.reading-block{margin:26px 0}
.guide-dock{position:fixed;right:18px;bottom:15px;display:flex;align-items:flex-end;gap:9px;z-index:45;pointer-events:none}.guide-bubble{width:192px;padding:11px 14px;border:1px solid #c7d8ed;border-radius:15px 15px 4px 15px;background:white;font-size:.79rem;line-height:1.6;box-shadow:0 5px 22px #152d5112;margin:0 0 24px;color:var(--ink)}#assistant-toggle.robot-toggle{position:static;display:flex;align-items:center;flex-direction:column;width:86px;min-height:108px;padding:0;border:0;border-radius:13px;background:transparent;box-shadow:none;pointer-events:auto;color:var(--ink)}.robot-toggle img{display:block;width:86px;height:91px;object-fit:contain;transition:transform .2s}.robot-toggle>span{margin:0;padding:3px 9px;border-radius:30px;border:1px solid #c7d8ed;background:white;font-size:.72rem;white-space:nowrap;color:var(--ink)}.robot-toggle:hover img{transform:translateY(-3px) rotate(-3deg)}.guide-dock.is-open .guide-bubble,.guide-dock.is-compact .guide-bubble{display:none}.guide-dock.is-compact #assistant-toggle{width:62px;min-height:70px}.guide-dock.is-compact .robot-toggle img{width:52px;height:52px}.guide-dock.is-compact .robot-toggle>span{font-size:.65rem;padding:2px 7px}
.course-assistant{right:16px;bottom:138px;width:448px;max-width:calc(100vw - 24px);max-height:min(74dvh,calc(100dvh - 160px));padding:21px}.guide-avatar{width:48px;height:48px;object-fit:contain;flex-shrink:0}.assistant-header{gap:10px;align-items:flex-start}.assistant-header>div{flex:1}.assistant-header h2{font-size:1.05rem;line-height:1.35;margin:4px 0 12px}.assistant-greeting{font-size:.86rem;font-weight:500;line-height:1.7}.guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.guide-actions button{font:inherit;font-size:.8rem;font-weight:650;color:var(--blue);background:var(--tint);border:1px solid #c7d8ed;border-radius:9px;padding:10px;min-height:46px;line-height:1.5;text-align:left}.guide-actions [data-guide-action=next]{background:var(--blue);color:white;border-color:var(--blue)}.assistant-answer{margin-top:15px}.assistant-answer h3{margin-top:17px}.assistant-answer ol{padding-left:20px}.assistant-answer li{margin:12px 0}.guide-search{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.guide-search>summary{cursor:pointer;font-size:.82rem;font-weight:650;padding:10px 0;min-height:44px}.guide-disclosure{font-size:.72rem;line-height:1.7;margin:18px 0 12px}.guide-preference{display:flex!important;gap:9px;align-items:center;font-size:.75rem!important;font-weight:500!important;min-height:44px;cursor:pointer}.guide-preference input{accent-color:var(--blue)}.footer{padding-bottom:150px}.error-guide{display:flex;align-items:center;gap:20px;font-weight:700;text-decoration:none}.error-guide img{width:100px;height:110px;object-fit:contain}
@media(max-width:760px){.primary-nav{gap:2px;margin-bottom:20px}.primary-nav a{font-size:.74rem;padding:8px 4px}.hero.home-hero{display:block;position:relative;padding:25px 24px}.home-hero h1{font-size:2.2rem;max-width:calc(100% - 64px)}.home-hero .intro{font-size:.92rem}.hero-guide{position:absolute;top:24px;right:10px;width:86px;padding:0}.hero-guide img{width:82px;height:100px}.hero-guide span{display:none}.home-hero .hero-facts{font-size:.72rem}.home-hero .hero-actions .button{font-size:.8rem}.lesson-stepper{gap:6px;scroll-margin-top:165px}.lesson-stepper button{font-size:.78rem;padding:10px;min-height:62px}.worked-example{padding:20px}.worked-example h2{font-size:1.25rem}.step-actions .button{flex:1 1 auto}.lesson-step-panel{scroll-margin-top:165px}.guide-dock{right:12px;bottom:12px;gap:6px}.guide-bubble{width:170px;font-size:.74rem;padding:9px 11px}.course-assistant{right:12px;bottom:132px;padding:18px}.assistant-header h2{font-size:1rem}.topbar-actions{margin-left:auto}}
@media(max-width:360px){.guide-bubble{width:145px}.home-hero h1{font-size:2rem}.hero-guide img{width:70px;height:90px}.hero-guide{right:4px}.lesson-stepper button{font-size:.72rem;padding:9px 7px}}
@media(prefers-reduced-motion:reduce){.robot-toggle img,.hero-guide img{transition:none}.robot-toggle:hover img,.hero-guide:hover img{transform:none}}
@media print{.guide-dock,.course-assistant,.primary-nav{display:none!important}.lesson-step-panel[hidden]{display:block!important}.lesson-stepper{display:none}}

.home-hero .hero-facts{grid-row:auto}.home-intro,.home-hero .hero-guide{grid-row:1}.path-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}

.guide-bubble{opacity:0;visibility:hidden}.guide-dock:hover .guide-bubble,.guide-dock:focus-within .guide-bubble{opacity:1;visibility:visible}.guide-dock.did-well .robot-toggle>span{border-color:#8dbda8;background:#edf8f2}
@media(max-width:760px){.guide-bubble{display:none}#assistant-toggle.robot-toggle{width:74px;min-height:88px}.robot-toggle img{width:70px;height:72px}.course-assistant{bottom:112px;max-height:min(78dvh,calc(100dvh - 138px))}}

.listening-options{flex-basis:auto;margin:0}.listening-options>summary{padding:9px 8px}.listening-options[open]{flex-basis:100%}#sidebar-streak:empty{display:none}

/* Visible progress uses words and symbols as well as colour. */
.completion-summary progress::-webkit-progress-value{background:#26784e}.completion-summary progress::-moz-progress-bar{background:#26784e}
.lesson-status{display:inline-flex;align-items:center;gap:5px;width:fit-content;max-width:100%;border:1px solid #cbd5e1;border-radius:99px;padding:4px 9px;font-size:.72rem;font-weight:700;line-height:1.5;background:#f6f8fb;color:#4b5b72;white-space:normal}.lesson-status>span{font-size:.9em}.status-done{color:#17603f;background:#edf8f2;border-color:#9bc9af}.status-started,.status-ready{color:#805115;background:#fff6e5;border-color:#e4c58b}.status-new{color:#4b5b72;background:#f6f8fb;border-color:#cbd5e1}.lesson-card>.lesson-status,.path-card>.lesson-status{margin-bottom:12px}.lesson-state-done.lesson-card,.path-complete,.path-lessons li.lesson-state-done{border-color:#9bc9af;background:#f4fbf6}.lesson-state-started.lesson-card,.lesson-state-ready.lesson-card{border-color:#e4c58b}.nav-lesson-title{min-width:0}.lesson-link .lesson-status{display:flex;margin-top:5px;font-size:.6rem;padding:1px 6px}.lesson-link.is-complete{background:#f0f9f3}.lesson-link[aria-current=page]{outline:2px solid var(--blue);outline-offset:-2px}.nav-category>summary span{font-size:.65rem}.path-lesson-meta{display:flex;flex-direction:column;gap:7px;align-items:flex-end;min-width:135px}.path-lesson-meta .lesson-status{text-align:center}.completion-summary{border:1px solid #b6cfbf;background:#fff;border-radius:16px;padding:22px 25px;margin:24px 0 32px}.completion-total{display:flex;align-items:center;justify-content:space-between;gap:12px}.completion-total strong{font-size:1.7rem;color:#17603f}.completion-total strong span{font-size:.9rem;font-weight:600;color:var(--ink)}.completion-total>span{font-size:1.1rem;font-weight:750;color:#17603f}.completion-summary progress{width:100%;height:12px;accent-color:#26784e;margin:14px 0}.completion-counts{display:flex;gap:9px;flex-wrap:wrap}.completion-counts>span{border-radius:8px;padding:5px 9px;font-size:.78rem;font-weight:650}.completion-summary p{font-size:.8rem;color:var(--muted);margin:12px 0 0}.status-filter{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:650}.status-filter select{font:inherit;color:var(--ink);background:#fff;border:1px solid #b9c8db;border-radius:9px;min-height:44px;padding:8px 10px;max-width:100%}.lesson-progress-banner{border:1px solid #e4c58b;border-left:4px solid #b88636;background:#fffaf0;border-radius:12px;padding:16px 20px;margin:20px 0}.lesson-progress-banner.lesson-state-done{border-color:#9bc9af;background:#f0faf3}.lesson-progress-banner p{font-size:.85rem;line-height:1.7;margin:9px 0 12px}.lesson-checklist{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0;font-size:.77rem;font-weight:650}.check-done{color:#17603f}.check-open{color:#536174}.lesson-progress-banner .button{margin-top:16px}.lesson-stepper .step-result{display:block;font-size:.66rem;font-weight:500;line-height:1.45;letter-spacing:0;margin-top:6px}.lesson-stepper button[aria-selected=true] .step-result{color:#dce8fa}.progress-lesson-lists{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px;margin:30px 0}.progress-lesson-lists>p{color:var(--muted);font-size:.9rem}.progress-lesson-lists h3{font-size:1rem}.progress-lesson-lists summary{cursor:pointer;padding:15px 0;font-weight:700;min-height:44px;color:#17603f}.status-lesson-list{list-style:none;padding:0;margin:12px 0 20px}.status-lesson-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:.85rem}.status-lesson-list .lesson-status{flex-shrink:0}.status-lesson-list a{min-width:0}.progress-lesson-lists>.button{margin-top:16px}
@media(max-width:760px){.completion-summary{padding:19px}.completion-total strong{font-size:1.4rem}.completion-total strong span{font-size:.8rem}.completion-counts{gap:6px}.completion-counts>span{font-size:.7rem}.path-lesson-meta{align-items:flex-start;min-width:0;flex-direction:row;flex-wrap:wrap}.lesson-progress-banner{padding:15px}.lesson-checklist{font-size:.72rem;gap:7px 12px}.lesson-stepper .step-result{font-size:.6rem}.status-filter{width:100%;justify-content:space-between}.status-filter select{flex:1}.progress-lesson-lists{padding:20px}.status-lesson-list li{align-items:flex-start;flex-direction:column;gap:7px}}

/* Two recognisable course companions; Ende uses a soft pink surface and dark text. */
.companions-intro{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:26px;border:1px solid #d7c4d1;border-radius:16px;background:linear-gradient(110deg,#f4f8ff,#fff5f8);margin:26px 0}.companion-portraits{display:flex;align-items:flex-start;justify-content:center}.companion-portraits img{width:88px;height:112px;object-fit:contain}.companion-portraits img+img{margin:45px 0 0 -20px}.companions-intro h2{font-size:1.45rem;line-height:1.35;margin:7px 0 14px}.companions-intro p{font-size:.9rem;line-height:1.8}.companions-intro summary{cursor:pointer;color:var(--ink);font-size:.84rem;font-weight:650;min-height:44px;padding:10px 0}.companions-intro details p{font-size:.85rem}.companion-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.ende-button.button{background:#f9dce7;color:#682a47;border:1px solid #d8a8bc;font-weight:700}.ende-button.button:hover{background:#f4cbdc;color:#532039}.ende-page{max-width:860px;margin:auto}.ende-introduction{display:flex;align-items:center;gap:24px;margin:26px 0}.ende-introduction>img{width:135px;height:160px;object-fit:contain;flex-shrink:0}.ende-introduction h1{font-size:clamp(1.8rem,3vw,2.7rem);margin-bottom:15px}.ende-introduction p{font-size:.98rem}.ende-mode{border:1px solid #dab8c7;background:#fff4f8;border-radius:12px;padding:16px 20px;font-size:.84rem;line-height:1.8}.ende-mode strong{display:block;color:#682a47}.ende-flow{display:flex;gap:12px 30px;flex-wrap:wrap;padding-left:20px;font-size:.8rem;color:#682a47;margin:25px 0}.ende-page select{font:inherit;font-size:.88rem;color:var(--ink);background:white;border:1px solid #cdb7c2;border-radius:9px;min-height:44px;padding:9px 12px;width:100%;margin-bottom:9px}.ende-conversation{max-height:440px;overflow:auto;border:1px solid #dfcad4;border-radius:16px;padding:18px;background:#fffafb;margin:24px 0}.ende-message{border:1px solid #e9c3d3;background:#fce8f0;padding:16px 19px;border-radius:4px 15px 15px;margin:0 28px 15px 0;font-size:.87rem;line-height:1.8;color:#3c2430;overflow-wrap:anywhere}.ende-message:last-child{margin-bottom:0}.ende-message strong{font-size:.74rem;color:#682a47}.ende-message p{margin:8px 0}.ende-message ul{padding-left:18px}.ende-message li{margin:8px 0}.ende-message.user-message{background:white;border-color:#cbd9ec;border-radius:15px 4px 15px 15px;margin-left:28px;margin-right:0;color:var(--ink)}.user-message strong{color:var(--blue)}#ende-form{padding:22px;background:white;border:1px solid #dfcad4;border-radius:16px}#ende-prompt{display:block;width:100%;max-width:100%;font:inherit;font-size:.9rem;line-height:1.8;padding:13px 15px;border:1px solid #b9a4b0;border-radius:9px;resize:vertical;min-height:130px;margin:9px 0}#ende-form .hint{font-size:.76rem;line-height:1.7}.ende-form-actions{display:flex;flex-wrap:wrap;gap:9px}.ende-form-actions .button{font-size:.8rem}.prompt-box .block-heading{flex-wrap:wrap;gap:10px}.prompt-box .block-heading h2{flex:1}#assistant-ende{font-size:.78rem;line-height:1.5;display:flex;margin:15px 0}.companions-intro #intro-speech-status:empty{display:none}
@media(max-width:760px){.companions-intro{grid-template-columns:1fr;gap:12px;padding:21px}.companion-portraits{justify-content:flex-start;height:94px}.companion-portraits img{width:80px;height:94px}.companion-portraits img+img{margin:0 0 0 8px}.companions-intro h2{font-size:1.3rem}.companion-actions .button{flex:1 1 auto;font-size:.8rem}.ende-introduction{gap:12px;align-items:flex-start}.ende-introduction>img{width:75px;height:100px}.ende-introduction h1{font-size:1.65rem}.ende-introduction p{font-size:.88rem}.ende-mode{padding:15px}.ende-conversation{padding:12px;max-height:380px}.ende-message{padding:13px;margin-right:12px;font-size:.82rem}.ende-message.user-message{margin-left:12px}.ende-flow{gap:8px 24px;font-size:.74rem}#ende-form{padding:16px}.ende-form-actions .button{width:100%}}
@media print{.companion-actions,#ende-form{display:none}}

@media(max-width:760px){.ende-active .guide-dock{position:static;justify-content:flex-end;margin:0 12px 14px}.ende-active .course-assistant{bottom:12px;max-height:calc(100dvh - 30px)}.ende-active .footer{padding-bottom:36px}}
.guide-dock{flex-direction:column;align-items:center;gap:3px;pointer-events:none}.guide-dock .guide-bubble{position:absolute;right:calc(100% + 10px);bottom:35px;margin:0}.guide-dock.bubble-right .guide-bubble{right:auto;left:calc(100% + 10px)}.robot-toggle{touch-action:none;user-select:none}.robot-toggle img{cursor:grab;-webkit-user-drag:none}.guide-dock.is-dragging,.guide-dock.is-dragging *{cursor:grabbing!important}.guide-dock.is-dragging .robot-toggle img{transform:none!important}.guide-dock.has-custom-position{position:fixed!important;margin:0!important}.guide-dock.is-dragging .guide-bubble{display:none}#guide-reset-position{font-size:.72rem;line-height:1.7;text-align:left}
@media(max-width:760px){.ende-active .guide-dock{position:fixed;right:12px;bottom:12px;margin:0;align-items:center}}
@media print{.intro-demo .demo-controls,.demo-to-questions,[data-demo-reopen]{display:none!important}.intro-questions[hidden]{display:block!important}}

#ende-inputs{border:0;padding:0;margin:0;min-width:0}

.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}.aldo-ai-chat{border:1px solid #c7d8ed;border-radius:10px;margin:15px 0;padding:0 12px}.aldo-ai-chat>summary{padding:12px 0;cursor:pointer;font-weight:700;font-size:.82rem;min-height:44px}#aldo-chat-inputs{border:0;padding:0;margin:0;min-width:0}#aldo-chat-question{font:inherit;width:100%;max-width:100%;min-height:85px;padding:10px;border:1px solid #b9c8db;border-radius:8px;margin:8px 0;resize:vertical;font-size:.85rem}#aldo-chat-clear{font-size:.76rem}#aldo-chat-answer .chat-text{font-size:.85rem;line-height:1.75}.ende-page [data-ende-clear]{white-space:normal}

.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}.offer-card{padding:25px;border:1px solid #b9cfbf;border-radius:16px;background:#fff}.offer-card h2{font-size:1.4rem;margin:18px 0}.offer-card ul{padding-left:20px;font-size:.9rem}.offer-card li{margin:13px 0}.offer-planned{background:#f7f8fb;border-color:var(--line)}@media(max-width:760px){.offer-grid{grid-template-columns:1fr}.offer-card{padding:21px}}

.report-link{margin:14px 0 0;font-size:.85rem;color:var(--muted,#5b6470)}.report-link a{font-weight:600}
.soft-gate{margin:16px 0 0;padding:16px 18px;border:1px solid #b9cfbf;border-radius:14px;background:#f4faf6}.soft-gate p{margin:0 0 10px}
.offer-price{margin:18px 0 10px;font-size:1.05rem}
.trial-notice{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin:18px 0;padding:14px 18px;border:1px solid #b9cfbf;border-radius:14px;background:#f4faf6}.trial-notice p{margin:0}.trial-ended{background:#fff8ec;border-color:#e6c98f}
.billing-pay{display:none}.billing-on .billing-pay{display:flex}.billing-on .billing-off{display:none}.billing-on span.billing-pay{display:inline}
.pay-buttons{flex-wrap:wrap;gap:10px;margin:16px 0}.trial-notice .pay-buttons{margin:4px 0;width:100%}
.access-form{flex-direction:column;gap:8px;margin:22px 0;padding:16px 18px;border:1px solid var(--line,#d6dbe3);border-radius:14px;background:#fff}.access-form div{display:flex;flex-wrap:wrap;gap:8px}.access-form input{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid #b8c0cc;border-radius:10px;font:inherit}
.access-code{display:inline-block;max-width:100%;overflow-wrap:anywhere;padding:8px 10px;border-radius:8px;background:#f2f4f8;font-size:.95rem}
.link-button{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
