:root{color:#26342f;font-synthesis:none;--green:#255b46;--muted:#899089;--line:#e4e7df;background:#f6f6f3;font-family:Manrope,Segoe UI,Arial,sans-serif;font-weight:500}*{box-sizing:border-box}body{margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:0 0;border-radius:8px;padding:12px 18px;transition:background .2s,transform .2s}button:hover:not(:disabled){background:#e8ece4}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #bfaa50}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;height:91px;padding:0 5%;display:flex}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand svg{width:34px;height:34px;color:var(--green)}.brand>span{letter-spacing:-1.5px;font-size:29px;font-weight:800}.brand-dot{color:#669877}.brand small{color:#7a827b;border-left:1px solid #d5d9d0;margin-left:12px;padding-left:18px;font-size:11px;font-weight:500}nav{gap:7px;display:flex}nav button{border:0;padding:11px 19px;font-size:12px}nav button.active{color:#26563f;background:#e7ece3;font-weight:800}.header-right{align-items:center;gap:8px;display:flex}.engine{color:#7a847b;margin-right:16px;font-size:10px}.live-dot{background:#55956c;border-radius:50%;width:6px;height:6px;display:inline-block}#languages{background:#edefe8;border:1px solid #e2e5dc;border-radius:7px;padding:3px;display:flex}#languages button{border:0;border-radius:4px;padding:5px 9px;font-size:10px}#languages .selected{background:#fff;font-weight:800;box-shadow:0 1px 4px #00000009}main{max-width:1440px;margin:auto;padding:42px 5% 20px}.intro{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.eyebrow{letter-spacing:2px;color:#758672;font-size:9px;font-weight:800}h1{letter-spacing:-2px;margin:12px 0 13px;font-size:43px;font-weight:600;line-height:1.18}.intro p{color:#828880;margin:0;font-size:12px}.edition{letter-spacing:2px;text-align:right;color:#a1a79a;font-family:monospace;font-size:10px;line-height:2.5}.edition span{color:#63715e;letter-spacing:4px;font-size:20px}.workspace{grid-template-columns:minmax(0,1fr) 326px;align-items:start;gap:22px;display:grid}.stage{background:radial-gradient(at 50% 45%,#fafbf6 0%,#eef1e6 68%,#e9eddf 100%);border:1px solid #e0e4d9;border-radius:13px;height:577px;position:relative;overflow:hidden}.stage:before{content:"";pointer-events:none;opacity:.4;background-image:radial-gradient(#aeb6a0 .65px,#0000 .65px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.stage-top{z-index:2;justify-content:space-between;align-items:center;font-size:11px;display:flex;position:absolute;top:23px;left:25px;right:25px}.stage-top>div{align-items:center;gap:8px;display:flex}.status{color:#4d7359;background:#edf3e7;border:1px solid #cddcc6;border-radius:5px;padding:6px 10px;font-size:9px}.status.mixed{color:#8a7445;background:#f3eddc;border-color:#e0d6b9}#viewport{position:absolute;inset:32px 0 116px}#viewport canvas{touch-action:none;width:100%;height:100%;display:block}.stage-tools{flex-direction:column;gap:7px;display:flex;position:absolute;top:72px;right:20px}.square{color:#737f6a;background:#f9faf5a8;border-color:#dce2d2;width:33px;height:33px;padding:0;font-size:20px}.axis-label{background:linear-gradient(90deg,#0000 48%,#94a38c 49% 51%,#0000 52%);width:45px;height:44px;font-family:monospace;font-size:10px;position:absolute;bottom:152px;left:30px;transform:rotate(-12deg)}.axis-label span{background:#edf0e5;padding:2px;position:absolute;transform:rotate(12deg)}.axis-y{top:-9px;left:16px}.axis-z{color:#377b59;bottom:0;left:-2px}.axis-x{color:#b9654b;bottom:0;right:-2px}.stage-bottom{justify-content:space-between;align-items:end;gap:10px;display:flex;position:absolute;bottom:83px;left:25px;right:25px}#drag{color:#89917d;max-width:240px;font-size:9px}.stats{gap:24px;display:flex}.stats>div{flex-direction:column;gap:5px;display:flex}.stats strong{letter-spacing:-1px;font-family:monospace;font-size:23px;font-weight:400}.stats small{letter-spacing:1.6px;color:#929985;font-size:7px}.stage-actions{background:#f3f5edaa;border-top:1px solid #dde3d3;justify-content:center;align-items:center;gap:11px;height:65px;display:flex;position:absolute;bottom:0;left:0;right:0}.stage-actions button{padding:11px 22px;font-size:10px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover:not(:disabled){background:#367057}aside{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:577px;padding:23px}.panel-heading{justify-content:space-between;align-items:center;display:flex}.panel-heading h2{letter-spacing:-.35px;margin:0;font-size:15px;font-weight:800}.panel-heading>span{color:#7c8a75}.muted{color:#95998e;margin:7px 0 22px;font-size:10px}.segments{background:#f4f5f0;border:1px solid #e9ece3;border-radius:7px;gap:2px;margin-bottom:18px;padding:3px;display:flex}.segments button{white-space:nowrap;border:0;border-radius:4px;flex:1;padding:8px 3px;font-size:8px}.segments .selected{background:#fff;font-weight:800;box-shadow:0 1px 4px #0000000d}.move-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.move-grid button{background:#fafbf8;border-color:#e3e7dc;flex-direction:column;align-items:center;gap:5px;padding:14px 5px 10px;display:flex}.move-grid button:hover:not(:disabled){background:#edf3e8;border-color:#8baa82}.move-grid span{font-size:22px;font-weight:600;line-height:1.2}.move-grid small{color:#939a8c;font-size:8px}.help{color:#9ba08f;margin:15px 0;font-size:9px;line-height:1.8}.keyboard{color:#98a08e;border-bottom:1px solid #edf0e8;align-items:center;gap:7px;padding:0 0 18px;font-size:16px;display:flex}.keyboard span{font-size:8px}.history-heading{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.history-heading h3{margin:0;font-size:10px}.history-heading>span{color:#8e9784;font-family:monospace;font-size:9px}#history{color:#a4aa9a;flex-wrap:wrap;align-items:center;gap:5px;height:50px;margin:6px 0 10px;font-size:9px;display:flex;overflow:auto}#history span{color:#57724a;background:#eff3e9;border-radius:4px;padding:4px 6px;font-family:monospace}.return-button{text-align:left;width:100%;padding:10px 12px;font-size:10px}.return-button small{color:#9fa593;margin-top:5px;padding-left:15px;font-size:8px;display:block}.learn-banner{border:1px solid var(--line);background:#fdfdf9;border-radius:12px;align-items:center;gap:23px;min-height:164px;margin-top:22px;padding:27px 32px;display:flex;position:relative;overflow:hidden}.book-icon{color:#7b9463;background:#eef1e6;border:1px solid #e1e8d5;border-radius:12px;flex-shrink:0;place-items:center;width:61px;height:66px;display:grid;transform:rotate(-5deg)}.book-icon svg{width:30px;height:30px}.banner-copy{z-index:1}.banner-copy .eyebrow{letter-spacing:1.6px;font-size:8px}.banner-copy h2{letter-spacing:-.6px;margin:9px 0;font-size:20px}.banner-copy p{color:#999f90;margin:0;font-size:10px}.benefits{color:#7f8d70;gap:21px;margin-top:15px;font-size:8px;display:flex}.learn-banner>button{z-index:1;white-space:nowrap;background:#fff;margin-left:auto;font-size:10px}.learn-banner>button span{margin-left:28px}.banner-art{opacity:.2;grid-template-columns:1fr 1fr;gap:5px;width:140px;height:140px;display:grid;position:absolute;bottom:-45px;right:-13px;transform:rotate(25deg)}.banner-art i{border:1px solid #a8b998;border-radius:8px}footer{color:#a5ad9a;justify-content:space-between;padding:22px 0 15px;font-size:8px;display:flex}.watermark{letter-spacing:1.7px;color:#687860;z-index:20;background:#f6f6f3db;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:800;position:fixed;bottom:12px;right:20px}.watermark b{color:#255b46}.setting{flex-direction:column;gap:13px;margin:25px 0;font-size:12px;display:flex}.setting select{border:1px solid var(--line);color:#42613a;background:#f5f7f0;border-radius:7px;padding:12px;font-size:12px}.setting input{accent-color:var(--green);width:100%}.range-label{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}.toggle-setting{border-top:1px solid var(--line);justify-content:space-between;padding-top:20px;font-size:12px;display:flex}.toggle-setting input{accent-color:var(--green);width:18px;height:18px}.settings-note{color:#a1aa96;margin-top:50px;font-family:monospace;font-size:11px;line-height:2}.tutorial{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:270px 1fr;margin-top:22px;display:grid;overflow:hidden}.lesson-nav{background:#f0f3e9;padding:25px 18px}.lesson-nav>.eyebrow{margin:0 10px 18px}.lesson-nav button{text-align:left;border:0;align-items:center;gap:10px;width:100%;padding:14px 10px;font-size:10px;display:flex}.lesson-nav button span{color:#94a188;font-family:monospace}.lesson-nav button b{margin-left:auto}.lesson-nav .active{color:var(--green);background:#fff}.lesson-body{padding:30px 35px;font-size:12px;line-height:1.9}.lesson-body h2{letter-spacing:-1px;margin:6px 0;font-size:28px}.lesson-lead{color:#79876f}.why{background:#f3f6ed;border-left:2px solid #8aab6e;margin:20px 0;padding:15px 20px}.why>span{letter-spacing:1.2px;font-size:9px;font-weight:800}.why p{margin:6px 0}.lesson-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lesson-actions code{letter-spacing:1px;margin-right:auto;font-size:16px}.lesson-actions button{font-size:10px}.disclaimer{color:#929b86;font-size:9px;line-height:1.8}.lesson-body summary{cursor:pointer;color:#486b3a}.training{padding-top:18px}.training p{font-size:11px}.algorithm{flex-wrap:wrap;gap:4px;display:flex}.algorithm span{color:#8c9681;background:#f2f4ed;border-radius:4px;padding:5px 7px;font-family:monospace}.algorithm .current{color:#fff;background:#255b46}.algorithm .done{color:#436a30;background:#dbe8ce}.text-button{border:0;margin-top:10px;padding-left:0;font-size:9px}.error{text-align:center;padding:70px 30px;font-size:14px}#toast{color:#fff;opacity:0;pointer-events:none;z-index:30;background:#254b3b;border-radius:8px;max-width:90vw;padding:14px 22px;font-size:12px;transition:all .25s;position:fixed;bottom:55px;left:50%;transform:translate(-50%,15px);box-shadow:0 5px 25px #0002}#toast.show{opacity:1;transform:translate(-50%)}#preloader{z-index:100;color:#255b46;background:#f3f5ed;flex-direction:column;justify-content:center;align-items:center;gap:17px;transition:opacity .4s;display:flex;position:fixed;inset:0}#preloader strong{letter-spacing:3px;font-size:13px}#preloader span{color:#8a9680;font-size:11px}.loader-mark{font-size:60px;animation:1s infinite alternate pulse}#preloader.loaded{opacity:0;pointer-events:none}@keyframes pulse{to{opacity:.5;transform:rotate(90deg)}}@media (width>=1450px){.stage,aside{height:640px}.stage-bottom{bottom:90px}.stage-actions{height:70px}}@media (width<=1000px){header{gap:10px;padding:0 4%}.brand small,.engine,.header-right>.live-dot{display:none}main{padding:32px 4% 15px}.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:15px}aside{padding:19px}.stage-top,.stage-bottom{left:17px;right:17px}#drag{max-width:140px;line-height:1.7}.stats{gap:15px}.banner-copy h2{font-size:17px}.learn-banner{gap:16px;padding:24px}.book-icon{display:none}.tutorial{grid-template-columns:220px 1fr}}@media (width<=720px){header{flex-wrap:wrap;height:auto;min-height:77px;padding:16px 5% 10px}.brand>span{font-size:24px}.brand svg{width:28px;height:28px}nav{order:3;justify-content:center;width:100%;padding-top:8px}nav button{flex:1;font-size:11px}main{padding:28px 5% 20px}.intro{margin-bottom:24px}.intro .eyebrow{font-size:7px}h1{letter-spacing:-1.5px;font-size:33px}.intro p{max-width:280px;font-size:10px;line-height:1.8}.edition{display:none}.workspace{grid-template-columns:1fr}.stage{height:500px}aside{min-height:0}.stage-top{font-size:10px}.stage-bottom{bottom:82px}#viewport{inset:35px 0 110px}.move-grid{grid-template-columns:repeat(6,1fr);gap:6px}.move-grid button{padding:12px 1px}.move-grid small{font-size:7px}.segments{max-width:330px}.history-heading{margin-top:14px}#history{height:38px}.help{max-width:400px}.keyboard{padding-bottom:12px}.learn-banner{flex-wrap:wrap;align-items:start;padding:24px}.learn-banner>button{margin:3px 0 0}.banner-copy h2{font-size:19px}.banner-copy p{line-height:1.7}.benefits{flex-wrap:wrap;gap:8px 15px}.tutorial{grid-template-columns:1fr}.lesson-nav{gap:8px;padding:12px;display:flex;overflow:auto}.lesson-nav>.eyebrow{display:none}.lesson-nav button{white-space:nowrap;flex-shrink:0;width:auto}.lesson-body{padding:24px}.lesson-body h2{font-size:25px}footer{padding-bottom:30px;font-size:7px}.watermark{font-size:8px;right:10px}.settings-note{margin-top:25px}.training{padding-bottom:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.lesson-visuals{margin:24px 0}.visual-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.visual-heading h3{margin:0;font-size:16px}.visual-heading>span{color:#718169;font-size:10px}.visual-orientation{color:#56734d;font-size:11px;line-height:1.8}.visual-grid{direction:ltr;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"before after";gap:16px;display:grid}.visual-before{grid-area:before}.visual-after{grid-area:after}.photo-heading{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 15px;font-size:14px;font-weight:800;display:flex}.photo-heading span{color:var(--green)}.course-guide{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:22px;padding:24px 30px;font-size:12px;line-height:1.9}.course-guide h2{margin:0 0 10px;font-size:22px}.course-route{color:#385d35;background:#eef3e8;border-radius:8px;padding:14px;font-weight:700;line-height:2.2}.course-practice-note{margin-bottom:0}.stage-check{background:#f1f5ea;border-radius:8px;margin:18px 0;padding:15px 18px}.stage-check strong{font-size:12px}.stage-check p{margin:6px 0}.stage-check small{font-size:11px}.stage-goal{border-left:3px solid #86a875}.formula-label{margin:18px 0 10px;font-size:11px;font-weight:700}.walkthrough{margin:22px 0}.walkthrough>h3{margin-bottom:5px;font-size:16px}.walkthrough>p{font-size:11px}.walkthrough-block{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:14px 16px}.walkthrough-block strong{color:var(--green);font-size:11px}.walkthrough-block p{margin:6px 0}.walkthrough-block code{overflow-wrap:anywhere;font-size:14px;font-weight:700;display:block}.training-context{border-left:2px solid var(--green);margin-bottom:12px;padding:5px 10px}.training-context strong{font-size:10px}.training-context p{line-height:1.8}.training .algorithm{max-height:135px;margin-bottom:14px;overflow:auto}#course-next{width:100%;font-size:11px}.course-success{border:1px solid var(--green);border-radius:8px;padding:12px;line-height:1.8}.general-method{margin:15px 0}.workspace aside{height:auto}[data-theme=dark] .course-guide{background:var(--surface)}[data-theme=dark] :is(.course-route,.stage-check){color:#d3e4cd;background:#283c2d}.visual-grid figure{border:1px solid var(--line);border-radius:10px;min-width:0;margin:0;overflow:hidden}.lesson-photo{cursor:zoom-in;background:#203027;border:0;border-radius:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.lesson-photo img{width:100%;height:auto;display:block}.photo-face{color:#fff;pointer-events:none;background:#17231be8;border:1px solid #a4bd9c;border-radius:5px;padding:3px 6px;font:700 12px monospace;position:absolute}.face-up{color:#f5d04a;top:7%;left:48%}.face-front{color:#9dd7b3;top:53%;left:13%}.face-right{color:#ffa187;top:48%;right:15%}.photo-zoom{color:#dcebd4;font-size:20px;position:absolute;top:9px;right:10px}.visual-grid figcaption{padding:13px 15px}.visual-grid figcaption strong{font-size:12px}.visual-grid figcaption strong span{color:#7f9673;margin-right:5px;font-family:monospace}.visual-grid figcaption p{margin:8px 0 0;font-size:11px;line-height:1.8}.visual-notice{color:#718169;font-size:10px;line-height:1.8}.photo-dialog{border:1px solid var(--line);color:#26342f;background:#f6f6f3;border-radius:14px;width:min(860px,94vw);max-height:92vh;padding:40px 18px 18px}.photo-dialog::backdrop{background:#07110beb}.photo-dialog>img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:68vh;display:block}.photo-dialog>p{margin:14px 4px 0;font-size:12px;line-height:1.8}.photo-close{border:0;padding:1px 10px;font-size:25px;position:absolute;top:4px;right:8px}[data-theme=dark] :is(.visual-heading>span,.visual-notice){color:var(--muted)}[data-theme=dark] .visual-orientation{color:var(--accent)}[data-theme=dark] .photo-dialog{background:var(--surface);color:#e2ebe4}@media (width<=850px){.visual-grid{grid-template-columns:1fr;grid-template-areas:"before""after"}.course-guide{padding:20px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-toggle{flex-shrink:0;place-items:center;width:34px;height:34px;margin-right:5px;padding:7px;display:grid}.theme-toggle svg{width:18px;height:18px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e2ebe4;--green:#95c9a5;--muted:#a4b3a7;--line:#34433a;--surface:#1a241f;--raised:#233128;--accent:#afd5a8;background:#111916}[data-theme=dark] :is(aside,.tutorial,.learn-banner){background:var(--surface)}[data-theme=dark] button:hover:not(:disabled){background:#304337}[data-theme=dark] :is(nav button.active,.lesson-nav .active){color:#c1e4bd;background:#2c4031}[data-theme=dark] :is(.brand small,.engine,.intro p,.edition,.muted,.move-grid small,.help,.keyboard,.history-heading>span,#history,.return-button small,.banner-copy p,.benefits,footer,.range-label,.settings-note,.lesson-nav button span,.lesson-lead,.disclaimer,#drag,.stats small,#preloader span){color:var(--muted)}[data-theme=dark] :is(.eyebrow,.edition span,.panel-heading>span,.lesson-body summary){color:var(--accent)}[data-theme=dark] :is(.brand small,.keyboard,.segments,#languages,.stage,.stage-actions,.square,.book-icon,.move-grid button){border-color:var(--line)}[data-theme=dark] :is(#languages,.segments,.lesson-nav){background:#141d18}[data-theme=dark] :is(#languages .selected,.segments .selected){color:#e0f2de;background:#344738;box-shadow:0 1px 4px #0003}[data-theme=dark] .stage{background:radial-gradient(at 50% 40%,#33483b 0%,#202e25 53%,#19241e 100%)}[data-theme=dark] .stage:before{opacity:.18;background-image:radial-gradient(#8db699 .65px,#0000 .65px)}[data-theme=dark] .stage-actions{background:#18231de6}[data-theme=dark] .square{color:#c0d1bc;background:#233128c9}[data-theme=dark] .axis-label span{background:#202e25}[data-theme=dark] .axis-z{color:#90cba4}[data-theme=dark] .axis-x{color:#e3a18d}[data-theme=dark] .status{color:#b5deb5;background:#2a3e2f;border-color:#4b6c4d}[data-theme=dark] .status.mixed{color:#e8d19a;background:#393424;border-color:#6a5a38}[data-theme=dark] :is(.move-grid button,.learn-banner>button,.setting select){background:var(--raised);color:#e2ebe4}[data-theme=dark] .move-grid button:hover:not(:disabled){background:#344b39;border-color:#8db593}[data-theme=dark] :is(.primary,.algorithm .current){color:#14251a;background:#a6cfa0;border-color:#a6cfa0}[data-theme=dark] .primary:hover:not(:disabled){background:#c0e2b9}[data-theme=dark] :is(#history span,.book-icon,.why,.algorithm .done){color:#c1deba;background:#293c2d}[data-theme=dark] .why{border-color:#a6cfa0}[data-theme=dark] .algorithm span{color:#b5c5b6;background:#253229}[data-theme=dark] .algorithm .current{color:#14251a;background:#a6cfa0}[data-theme=dark] .algorithm .done{color:#c1deba;background:#293c2d}[data-theme=dark] .watermark{color:#b2c3ae;background:#111916e6}[data-theme=dark] .watermark b{color:#c3e2b8}[data-theme=dark] #toast{color:#16251b;background:#c0ddb6;box-shadow:0 5px 25px #0005}[data-theme=dark] #preloader{color:#a6cfa0;background:#111916}[data-theme=dark] ::selection{color:#fff;background:#55785c}
