:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f1e9;--cream:#e9e1d6;--ink:#16150f;--ink2:#5b5750;--line:#ddd3c4;--accent:#e0662a;--accent2:#ff8a3d;--link:#b44a16;--white:#fffdfa;--ok:#1e7a4b;--bad:#b3261e;--serif:"New York", "Iowan Old Style", Georgia, "Times New Roman", serif;--sans:-apple-system, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--mono:"SF Mono", Menlo, monospace}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans)}body{min-height:100vh;margin:0;line-height:1.55}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}article a,.notes a,.hint a{text-underline-offset:2px;text-decoration:underline}h1,h2,h3{font-family:var(--serif);margin:0 0 .5em;font-weight:400;line-height:1.15}code,.mono{font-family:var(--mono)}.kicker{letter-spacing:3px;text-transform:uppercase;color:var(--ink2);font-size:12px}.serif{font-family:var(--serif)}.container{max-width:1080px;margin:0 auto;padding:0 32px}@media (max-width:600px){.container{padding:0 16px}}.page{padding-top:32px}.brand{font-size:22px}@media (max-width:480px){.brand{gap:6px;font-size:17px}.brand-sub{display:none}header .btn{padding:0 14px}}.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:20px}.btn{border:1px solid var(--line);background:var(--white);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--accent);text-decoration:none}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn:disabled{opacity:.5;cursor:default}.input{border:1px solid var(--line);background:var(--white);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:0 14px}.input:focus{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--ink2)}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ok{color:var(--ok)}.bad{color:var(--bad)}.with-nav{padding-top:36px}@media (min-width:900px){.with-nav{grid-template-columns:260px 1fr;gap:48px;display:grid}}.with-nav aside a{min-height:44px;color:var(--ink);border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:15px;text-decoration:none;display:flex}.with-nav aside a:hover{border-color:var(--line);text-decoration:none}.with-nav aside a.cur{background:var(--white);border-color:var(--line)}.with-nav aside .n{font-family:var(--mono);color:var(--ink2);width:14px;font-size:12px}.with-nav aside .st{color:var(--ok);margin-left:auto;font-size:12px}.notes code{background:var(--white);border-radius:6px;padding:2px 6px}.notes pre{background:var(--white);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:14px 0;padding:14px 16px;font-size:14px;line-height:1.5}.notes pre code{background:0 0;padding:0}.practice{background:var(--white);border:1.5px solid var(--accent);border-radius:18px;margin:30px 0;padding:22px 24px}.practice h3{margin:6px 0 10px;font-size:26px}.practice p:last-child{margin-bottom:0}.practice-check{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.practice-check-title{font-weight:600}.practice-check ul{margin:8px 0 0;padding-left:20px}.practice .practice-check li{margin:6px 0}details.more{margin:18px 0 26px}details.more summary{cursor:pointer;color:var(--link);text-underline-offset:2px;box-sizing:border-box;min-height:44px;padding:10px 0;text-decoration:underline}details.more[open] summary{margin-bottom:10px}@media (max-width:600px){.practice{padding:18px 16px}.practice h3{font-size:22px}}.video-box{aspect-ratio:16/9;border:1px solid var(--line);background:#000;border-radius:18px;width:100%;position:relative;overflow:hidden}.video-box iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-box video{background:#000;width:100%;height:100%;position:absolute;inset:0}.poster-badge{color:var(--ink);white-space:nowrap;background:#fffdfaeb;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.with-nav main h1{margin:8px 0 22px;font-size:44px;line-height:1.1}.chips{color:var(--ink2);flex-wrap:wrap;gap:10px;margin:14px 0 36px;font-size:13px;display:flex}.chips span{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:4px 12px}.chips span a{color:inherit}.article{max-width:680px}.article h2{font-family:var(--serif);margin:38px 0 12px;font-size:30px;font-weight:400}.article p,.article li{margin:0 0 16px;font-size:18px}.lesson-outcome{color:var(--ink2);max-width:620px;margin:-8px 0 24px;font-size:19px}.guided-lesson{margin-top:28px}.lesson-route{border:1px solid var(--line);background:var(--white);border-radius:18px;padding:24px}.route-heading{justify-content:space-between;font-size:13px}.lesson-route ol{margin:18px 0 0;padding:0;list-style:none}.lesson-route li+li{border-top:1px solid var(--line)}.lesson-route li a,.route-locked{min-height:48px;color:var(--ink);align-items:center;gap:14px;padding:12px 0;display:flex}.route-number{font:12px var(--mono);color:var(--ink2);letter-spacing:1px;flex-shrink:0}.route-locked{color:var(--ink2)}.route-current a{font-weight:600}.route-current .route-number{color:var(--link)}.route-done a:after{content:"✓";color:var(--ok);margin-left:auto}.route-start{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.route-start p{color:var(--ink2);margin:0 0 16px}.route-resume{margin-top:18px}.journey-save{margin:14px 0 30px;font-size:13px}.lesson-step{border-top:1px solid var(--line);padding:32px 0}.lesson-step>h2,.lesson-recap>h2{margin-top:12px}.lesson-step .notes h2{font-family:var(--sans);margin:26px 0 12px;font-size:21px;font-weight:600}.step-clips{margin:4px 0 18px}.step-clip-buttons{flex-wrap:wrap;gap:8px;display:flex}.step-clip{gap:8px;min-height:40px;padding:0 14px;font-size:14px}.step-clip span[aria-hidden]{color:var(--accent)}.step-clip.on{border-color:var(--accent)}.step-clip-time{font-family:var(--mono);color:var(--ink2);font-size:12px}.step-clip-video{margin-top:12px}.step-clip-video video{aspect-ratio:16/9;background:#000;border-radius:14px;width:100%;display:block}.step-check{margin-top:30px}.step-check .quiz{margin-top:12px}.step-next{margin-top:22px}.article .step-hint{margin:16px 0 0;font-size:14px}.lesson-step h2[id],#lesson-video,#lesson-recap{scroll-margin-top:24px}.lesson-step h2[id]:focus,#lesson-video:focus,#lesson-recap:focus{outline:none}.guided-lesson :is(a,button,input,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.practice-fields{gap:24px;margin:26px 0;display:grid}.practice-field>label{align-items:baseline;gap:12px;margin-bottom:10px;font-weight:600;display:flex}.practice-field textarea{resize:vertical;border:1px solid var(--line);background:var(--white);width:100%;min-height:108px;font:inherit;color:var(--ink);border-radius:12px;padding:14px;font-size:16px;line-height:1.5;display:block}.practice-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.practice-example summary{color:var(--link);cursor:pointer;min-height:44px;padding:10px 0;font-size:14px}.article .practice-example p{border-left:2px solid var(--accent);margin:4px 0 0;padding-left:16px;font-size:16px}.practice-self-check{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px}.practice-self-check h3{font-size:24px}.article .practice-self-check p{font-size:15px}.practice-self-check .opt{cursor:pointer}.practice-self-check .opt input,.guided-lesson .quiz input{flex-shrink:0}.practice-actions{margin-top:22px}.lesson-recap{border-top:2px solid var(--accent);padding-top:28px}.with-nav main{min-width:0}@media (max-width:600px){.lesson-route,.practice-self-check{padding:18px 16px}.guided-lesson .quiz{padding:20px 16px}.guided-lesson .btn{white-space:normal;text-align:center;max-width:100%;padding-top:10px;padding-bottom:10px}.lesson-step{padding:26px 0}.lesson-outcome{font-size:17px}}figure{margin:26px 0}.frame{aspect-ratio:16/9;border:1px solid var(--line);background:#0f1117;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 10px 30px #16150f1a}figcaption{color:var(--ink2);margin-top:10px;padding-left:2px;font-size:14px}.anim-start{z-index:1;color:#e8eaf0;min-height:52px;font:inherit;cursor:pointer;background:#0f1117e0;border:1px solid #ff8a3d;border-radius:999px;align-items:center;gap:10px;padding:0 24px;font-size:16px;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #00000073}.anim-start span{color:#ff8a3d}.anim-start:hover{background:#171a23}.anim-start:focus-visible{outline-offset:3px;outline:2px solid #ff8a3d}.anim-controls{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.anim-controls .btn{min-height:44px;padding:0 14px;font-size:14px}.anim-overlay{z-index:50;background:#0f1117;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.anim-overlay .close{z-index:1;position:absolute;top:16px;right:16px}.anim-overlay .stage{aspect-ratio:16/9;width:min(100vw,177.778vh)}@media (orientation:portrait){.anim-overlay .stage{aspect-ratio:auto;transform-origin:50%;width:177.778vw;max-width:100vh;height:100vw;max-height:56.25vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}}.quiz{background:var(--white);border:1px solid var(--line);border-radius:18px;margin-top:18px;padding:24px}.quiz h3{font-family:var(--serif);margin:0 0 14px;font-size:24px;font-weight:400}.opt{border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;min-height:44px;margin-bottom:8px;padding:10px 14px;font-size:16px;display:flex}.opt input{width:18px;height:18px;accent-color:var(--ink)}.opt.ok{border-color:var(--ok);color:var(--ink);background:#eef7f1}.opt.bad{border-color:var(--bad);color:var(--ink);background:#fbedec}.opt.ok input{accent-color:var(--ok)}.opt.bad input{accent-color:var(--bad)}.expl{margin-top:12px;font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.task-with-poster{margin-top:18px}.task-with-poster .quiz{margin-top:10px}.task-poster{max-width:420px}.task-poster .video-box{border-radius:14px}.order-list{margin:0 0 8px;padding:0;list-style:none}.order-item{-webkit-user-select:none;user-select:none;gap:12px;display:flex}.order-num{font-family:var(--mono);color:var(--ink2);text-align:right;min-width:18px;font-size:13px}.order-text{overflow-wrap:anywhere;flex:1;min-width:0}.order-moves{gap:6px;display:flex}.order-move{min-width:44px;padding:0;font-size:18px}.sort-card{flex-direction:column;align-items:stretch;gap:10px}.sort-text{overflow-wrap:anywhere}.sort-choices{flex-wrap:wrap;gap:8px;display:flex}.sort-choice{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:999px;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:0 14px;font-size:15px;display:inline-flex}.sort-choice:has(input:checked){border-color:var(--ink)}.sort-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.sort-choice input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin:0}.sort-choice:has(input:disabled){cursor:default}.quiz .sort-explain{color:var(--ink2);margin:0;font-size:15px}.quiz.task-stage{color:#e8eaf0;background:#0f1117;border-color:#252b3a;border-radius:14px;box-shadow:0 10px 30px #16150f24}.task-stage h3{font-family:var(--sans);text-align:center;color:#e8eaf0;margin:4px 0 8px;font-size:22px;font-weight:700;line-height:1.3}.task-stage .stage-hint{text-align:center;color:#8b93a7;margin:0 0 16px;font-size:14px}.task-stage .muted,.task-stage .stage-muted,.task-stage figcaption{color:#8b93a7}.task-stage .opt{color:#e8eaf0;background:#171a23;border-color:#252b3a;border-radius:10px}.task-stage .opt.ok{color:#e8eaf0;background:#3dd68c14;border-color:#3dd68c}.task-stage .opt.bad{color:#e8eaf0;background:#ff5c5c14;border-color:#ff5c5c}.task-stage .order-num{font-family:var(--sans);color:#ff8a3d;font-size:18px;font-weight:700}.task-stage .order-grip{color:#8b93a7;cursor:grab;touch-action:none;padding:6px 2px;font-size:20px;line-height:1}.task-stage .order-item{cursor:grab;transition:border-color .2s,background-color .2s}.task-stage .order-item.ok,.task-stage .order-item.bad{cursor:default}.task-stage .order-item:hover:not(.ok):not(.bad){border-color:#3a4256}.order-list.dragging .order-item:not(.lifted){transition:transform .18s}.task-stage .order-item.lifted{z-index:2;cursor:grabbing;background:#241b17;border-color:#ff8a3d;position:relative;box-shadow:0 14px 34px #0000008c}.task-stage .order-item.just-moved{background:#241b17;border-color:#ff8a3d}.task-stage .btn{color:#e8eaf0;background:0 0;border-color:#252b3a}.task-stage .btn:hover{border-color:#ff8a3d}.task-stage .btn:disabled{opacity:.35}.task-stage .btn-primary{color:#0f1117;background:#ff8a3d;border-color:#ff8a3d}.task-stage .btn-primary:disabled{opacity:.45}.task-stage .expl.ok{color:#3dd68c}.task-stage .expl.bad{color:#ff5c5c}.task-stage .sort-choice{color:#e8eaf0;background:0 0;border-color:#252b3a}.task-stage .sort-choice:has(input:checked){color:#ffb27d;border-color:#ff8a3d}.task-stage .sort-choice input{accent-color:#ff8a3d}.task-stage .sort-explain{color:#8b93a7}.task-stage .task-reward{margin-top:18px}.task-stage .task-reward figure{margin:0}.task-stage .task-reward .frame{border-color:#252b3a}@media (max-width:480px){.quiz{padding:20px 16px}.order-moves{flex-direction:column}}.next{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:48px 0 80px;padding-top:24px;display:flex}.hero{background:var(--cream);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero svg{opacity:.55;width:100%;height:100%;position:absolute;inset:0}.hero .kicker{letter-spacing:4px;margin-bottom:18px}.hero .container{padding-top:72px;padding-bottom:64px;position:relative}.hero h1{max-width:760px;font-size:56px}.hero .lead{color:var(--ink2);max-width:640px;margin:0 0 28px;font-size:20px}@media (max-width:600px){.hero h1{font-size:36px}}#lessons h2{margin:56px 0 24px;font-size:34px}.grid{grid-template-columns:1fr;gap:24px;display:grid}@media (min-width:600px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.grid{grid-template-columns:repeat(3,1fr)}}.cover{aspect-ratio:16/9;border-radius:18px 18px 0 0;position:relative;overflow:hidden}.cover .video-box{aspect-ratio:auto;border:0;border-radius:0;width:100%;height:100%}.cover .dur{color:#fff;font-size:12px;font-family:var(--mono);background:#16150fcc;border-radius:6px;padding:4px 8px;position:absolute;bottom:12px;right:12px}.body{padding:18px 20px 20px}.num{color:var(--ink2);letter-spacing:1px;text-transform:uppercase;font-size:12px}.grid .card h3{margin:6px 0 8px;font-size:24px}.grid .card p{color:var(--ink2);margin:0 0 14px;font-size:15px}.status{color:var(--ink2);align-items:center;gap:8px;font-size:13px;display:flex}.bar{background:var(--cream);border-radius:3px;flex:1;height:6px;display:block;overflow:hidden}.bar i{background:var(--accent2);height:100%;display:block}.done{color:var(--ok);font-weight:600}footer{border-top:1px solid var(--line);color:var(--ink2);margin-top:80px;padding:28px 0;font-size:14px}.article .practice-steps{margin:18px 0 24px;padding-left:24px}.article .practice-steps li{margin-bottom:10px}
