:root{color-scheme:light;--ink:#132f4b;--muted:#50677c;--line:#dce7ed;--blue:#075aab;--teal:#007b79;--pale:#eff7fc;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f5f9fc;font-size:17px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e79a26;outline-offset:4px}a{color:var(--blue)}button:disabled{cursor:default;opacity:.4}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.13;letter-spacing:-.045em;margin:.4rem 0 .8rem}h2{line-height:1.25}h3{line-height:1.35}p{overflow-wrap:anywhere}.topbar{max-width:1250px;margin:auto;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;color:var(--ink);font-weight:800;font-size:.94rem;display:flex;gap:12px;align-items:center;letter-spacing:.035em}.brand img{border-radius:10px}.brand small{display:block;font-size:.67rem;font-weight:600;letter-spacing:.13em;color:var(--muted)}.language{display:flex;gap:10px;align-items:center;font-size:.8rem}select{color:var(--ink);background:white;border:1px solid #b5c9d7;border-radius:10px;padding:10px 32px 10px 12px;max-width:100%;min-height:46px}main{max-width:1190px;margin:0 auto;padding:0 24px}.intro{display:grid;grid-template-columns:1.4fr .7fr;align-items:center;gap:28px;padding:34px 0 28px}.intro p:not(.eyebrow){color:var(--muted);max-width:660px}.eyebrow{font-size:.74rem;letter-spacing:.12em;font-weight:800;color:var(--teal)}.intro-photo{width:100%;height:180px;object-fit:cover;object-position:50% 27%;border-radius:20px}.setup{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 24px;display:flex;gap:28px;align-items:center}.setup h2{font-size:1rem;max-width:150px}.setup-controls{display:flex;gap:18px;flex:1}.setup-controls label{flex:1;min-width:0;font-size:.82rem;font-weight:600}.setup-controls label span{display:block;margin-bottom:5px}.setup select{width:100%;font-weight:400;font-size:.94rem}.guide-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:32px;margin-top:34px;align-items:start}.contents{position:sticky;top:20px}.contents-head{display:flex;justify-content:space-between;align-items:center}.contents-head h2{font-size:1.05rem}.contents-head span{font-size:.85rem;color:var(--teal)}progress{width:100%;height:6px;accent-color:var(--teal);margin:14px 0 18px;border:0}progress::-webkit-progress-bar{background:#dbe9ee;border-radius:8px}progress::-webkit-progress-value{background:var(--teal);border-radius:8px}.chapter{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:10px;width:100%;color:var(--muted);font-size:.85rem;min-height:44px;margin:2px 0}.chapter b{font-weight:400;color:var(--muted);font-size:.8rem;min-width:22px}.chapter[aria-current=step]{background:#e0f0fc;color:var(--blue);font-weight:700}.chapter[aria-current=step] b{color:var(--blue)}.chapter.done b{color:var(--teal);font-weight:700}.quiet{border:0;background:transparent;color:var(--muted);text-decoration:underline;font-size:.78rem;min-height:44px;padding:10px;margin-top:10px}.lesson{border:1px solid var(--line);border-radius:22px;padding:28px;background:white;box-shadow:0 6px 25px #15395406}.lesson-heading{display:flex;justify-content:space-between;margin-bottom:10px}.time{color:var(--muted);font-size:.8rem}#lessonTitle{font-size:clamp(1.55rem,2.4vw,2rem);letter-spacing:-.025em;scroll-margin-top:25px}.lesson-intro{color:var(--muted);margin-top:10px}.step-tabs{display:flex;gap:8px;margin:24px 0 26px}.step-tabs button{min-width:44px;min-height:44px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--muted);font-size:.9rem}.step-tabs button[aria-current=step]{background:var(--blue);border-color:var(--blue);color:white;font-weight:bold}.learning-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:25px;min-height:320px}.instruction h3{font-size:1.32rem;margin:7px 0 13px}.instruction>p:not(.eyebrow){font-size:.97rem}.tip{border-left:3px solid #d99926;background:#fff8e9;padding:12px 14px;margin-top:22px;font-size:.86rem;color:#654a13}.practice{padding:18px;background:var(--pale);border:1px solid #d5e7f3;border-radius:16px;align-self:start}.practice-top{display:flex;gap:8px;align-items:center}.practice h3{font-size:.74rem;letter-spacing:.07em}.demo-dot{width:8px;height:8px;border-radius:50%;background:var(--teal)}.demo-note{font-size:.75rem;color:var(--muted);margin:5px 0 17px}.demo-caption{font-size:.9rem;font-weight:700;margin-bottom:12px}.demo-buttons{display:grid;gap:9px}.demo-button{background:white;border:1px solid #bfd5e2;border-radius:10px;padding:12px;text-align:left;min-height:48px;font-size:.85rem;color:var(--ink);line-height:1.4}.demo-button:hover{border-color:var(--blue)}.demo-button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.demo-button small{display:block;font-weight:400;margin-top:3px;color:inherit;font-size:.77rem}.feedback{font-size:.85rem;color:#005d60;margin-top:13px;min-height:24px;white-space:pre-line}.lesson-controls{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:23px;margin-top:25px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 16px;border-radius:11px;font-size:.9rem;font-weight:700;text-decoration:none;line-height:1.3}.primary{color:#fff;border:1px solid var(--blue);background:var(--blue)}.secondary{border:1px solid #b9cedd;background:#fff;color:var(--ink)}#stepPosition{font-size:.77rem;color:var(--muted);white-space:nowrap}.topic-completion{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:24px;align-items:center}.topic-completion label{display:flex;gap:10px;align-items:center;font-size:.84rem;min-height:44px;cursor:pointer}.topic-completion input{width:21px;height:21px;accent-color:var(--teal)}#savedLabel{font-size:.72rem;color:var(--muted)}.quick-help{margin-top:24px;display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.quick-help h2{font-size:1.18rem;margin-top:7px}.help-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1}.help-links button{font-size:.87rem;color:var(--blue);background:none;border:0;padding:8px 0;text-align:left;min-height:40px;text-decoration:underline;text-underline-offset:3px}.guide-end{display:flex;gap:22px;align-items:center;padding:24px 0}.guide-end p{font-size:.84rem;color:var(--muted);flex:1}footer{max-width:1190px;margin:30px auto 0;padding:25px 24px 35px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 28px;font-size:.74rem;color:var(--muted)}footer strong{color:var(--ink)}footer a{margin-left:auto}.mobile-jump{display:none}.demo-field{display:block;font-size:.85rem;margin:12px 0}.demo-field input[type=range]{width:100%;accent-color:var(--blue);min-height:36px}.demo-field output{font-weight:bold}.load-example{padding:12px;border-radius:9px;background:#fff;text-align:center;font-size:1.1rem;font-weight:700}.demo-steps{list-style:none;padding:0;display:grid;gap:8px;font-size:.9rem}.demo-steps li{display:flex;align-items:center;gap:10px}.demo-steps input{width:21px;height:21px;accent-color:var(--teal)}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.mini-label{font-size:.74rem;color:var(--muted);margin:10px 0}.demo-input{width:100%;padding:12px;border:1px solid #b5c9d7;border-radius:8px;font-size:16px;background:white;color:var(--ink)}.complete-banner{background:#e7f5ee;color:#16633b;padding:18px;border-radius:12px;font-size:.94rem}.practice ul:not(.demo-steps){padding-left:20px;font-size:.85rem}.guide-layout button,.practice a{overflow-wrap:anywhere}@media(max-width:1000px){.setup{display:block}.setup h2{max-width:none;margin-bottom:15px}.guide-layout{grid-template-columns:205px minmax(0,1fr);gap:22px}.learning-grid{grid-template-columns:1fr}.instruction{min-height:190px}.lesson{padding:24px}.practice{width:100%}.intro-photo{height:150px}}@media(max-width:700px){.topbar{padding:16px 18px}.brand{font-size:.79rem;gap:9px}.brand small{font-size:.57rem}.language>span{display:none}.language select{padding:8px;font-size:.82rem}.brand img{width:34px;height:34px}main{padding:0 16px}.intro{grid-template-columns:1fr;padding:22px 0}.intro-photo{display:none}.intro h1{font-size:2.15rem}.intro p:not(.eyebrow){font-size:.96rem}.setup{padding:18px}.setup-controls{flex-wrap:wrap;gap:12px}.setup-controls label{flex-basis:calc(50% - 12px)}.setup-controls label:last-child{flex-basis:100%}.setup select{font-size:.87rem}.guide-layout{display:block;margin-top:24px}.contents{display:none}.mobile-jump{display:block;margin-bottom:15px}.mobile-jump label{display:block;font-size:.83rem;font-weight:700;margin-bottom:6px}.mobile-jump select{width:100%}.lesson{padding:22px 18px;border-radius:18px}.learning-grid{gap:20px;min-height:0}.instruction{min-height:0}.instruction>p:not(.eyebrow){font-size:1rem}.step-tabs{margin:20px 0}.lesson-controls{gap:8px}.lesson-controls .primary,.lesson-controls .secondary{font-size:.83rem;padding:11px 12px}#stepPosition{display:none}.topic-completion{display:block}#savedLabel{display:block;margin-top:6px}.quick-help{display:block}.help-links{margin-top:12px}.guide-end{display:block}.guide-end a{margin-top:16px;width:100%}footer{margin-top:10px;padding:23px 18px;display:grid;gap:9px}footer a{margin-left:0}.tip{font-size:.91rem}.demo-note{font-size:.79rem}.demo-button{font-size:.93rem}h1{letter-spacing:-.04em}}@media(prefers-reduced-motion:no-preference){.practice{animation:arrive .18s ease-out}@keyframes arrive{from{transform:translateY(4px)}to{transform:translateY(0)}}}@media print{.topbar,.setup,.contents,.mobile-jump,.step-tabs,.practice,.lesson-controls,.topic-completion,.quick-help,.guide-end{display:none}.guide-layout{display:block}.lesson{border:none;box-shadow:none}body{background:white}}
@media(max-width:420px){.setup-controls label{flex-basis:100%}.setup select{font-size:.94rem}.brand small{letter-spacing:.07em}}
