@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6eddd;--bg-deep:#efe3d1;--sidebar:#e9dcca;--card:#f9f2e5;--card-soft:#faf4e9f7;--code-bg:#f8f0e3;--line:#cec0ad;--line-soft:#e2d7c7;--navy:#18213d;--navy-2:#24304a;--ink:#4f535b;--muted:#696d74;--faint:#ada293;--teal:#1aa3a1;--teal-deep:#3f7f8e;--trace:#d3bea3;--track:#e3d8ca;--kw:#2a56a3;--fn:#c0652d;--gutter:#aaa59d;--sans:"Barlow", system-ui, sans-serif;--cond:"Barlow Semi Condensed", "Barlow", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:lang(zh-CN){--cjk:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC"}:root:lang(zh-TW){--cjk:"PingFang TC", "Microsoft JhengHei", "Noto Sans TC", "Noto Sans CJK TC", "Source Han Sans TC"}:root:lang(ja){--cjk:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", "Noto Sans CJK JP"}:root:lang(ko){--cjk:"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Noto Sans CJK KR";word-break:keep-all;overflow-wrap:break-word}:root:is(:lang(zh),:lang(ja),:lang(ko)){--sans:"Barlow", var(--cjk), system-ui, sans-serif;--cond:"Barlow Semi Condensed", "Barlow", var(--cjk), system-ui, sans-serif}:root:is(:lang(ar),:lang(he)){--mono:"JetBrains Mono", system-ui, sans-serif}:root:lang(ar) *{letter-spacing:0!important}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision}.loader{z-index:1000;background:var(--bg);place-items:center;transition:opacity .5s,visibility 0s linear .5s;display:grid;position:fixed;inset:0}.loader:before{content:"";background-image:linear-gradient(90deg,#cec0ad52 1px,#0000 1px),linear-gradient(#cec0ad52 1px,#0000 1px);background-position:50%;background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 62%);mask-image:radial-gradient(circle,#000 0,#0000 62%)}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{flex-direction:column;align-items:center;padding:0 16px;display:flex;position:relative}.loader-logo{width:58px;height:58px}.loader-logo .hex,.brand-logo .hex{fill:none;stroke:#26324d;stroke-width:5px;stroke-linejoin:round}.loader-logo .band,.brand-logo .band{fill:none;stroke:#26324d;stroke-width:2.2px}.loader-logo .zig,.brand-logo .zig{fill:none;stroke:#26324d;stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round}.loader-title{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--navy);white-space:nowrap;margin:18px 0 0;font-size:27px;font-weight:600;line-height:30px}.loader-track{background:var(--track);border-radius:4px;width:220px;height:8px;margin-top:22px;position:relative;overflow:hidden}.loader-fill{transform-origin:0;background:linear-gradient(#23b0ad,#149895);transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:scaleX(.04)}.loader-shine{background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);width:36%;animation:1.4s cubic-bezier(.4,0,.2,1) infinite loader-shine;position:absolute;top:0;bottom:0;left:0}@keyframes loader-shine{0%{transform:translate(-100%)}to{transform:translate(300%)}}.loader-step{min-height:18px;font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);white-space:nowrap;margin:12px 0 0;font-size:13.5px;font-weight:500;line-height:18px}.loader.is-failed .loader-track{display:none}.loader.is-failed .loader-step{max-width:340px;font-family:var(--sans);letter-spacing:0;text-transform:none;white-space:normal;text-align:center;color:var(--ink);font-size:15px;line-height:22px}.noscript{text-align:center;max-width:520px;margin-top:22px}.noscript p{color:var(--ink);margin:0;font-size:16px;line-height:24px}.noscript-lessons{text-align:left;color:var(--muted);margin:18px 0 0;padding:0;font-size:14.5px;line-height:21px;list-style:none}.noscript-lessons li+li{margin-top:6px}.noscript-lessons b{font-family:var(--cond);letter-spacing:.03em;color:var(--navy);font-weight:600}.noscript-lessons a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}@media (prefers-reduced-motion:reduce){.loader{transition-duration:10ms}.loader-shine{display:none}}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}svg{display:block}.artboard{transform-origin:0 0;background:radial-gradient(120% 90% at 45% 45%, #fffaf08c, transparent 60%), var(--bg);width:1672px;height:941px;position:absolute;top:0;left:0;overflow:hidden}.traces{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.traces path,.traces line{fill:none;stroke:var(--trace);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.traces circle{fill:var(--bg);stroke:var(--trace);stroke-width:1.5px}.traces .pix{fill:#d9c5ac;stroke:none}.sidebar{background:linear-gradient(90deg, #e7d9c6 0%, var(--sidebar) 70%, #eadecd 100%);z-index:2;width:72px;position:absolute;top:0;bottom:0;left:0;box-shadow:inset -1px 0 #c4b09659}.side-toggle{background:#f0e6d7b3;border:1.5px solid #d6c7b3;border-radius:9px;place-items:center;width:47px;height:50px;display:grid;position:absolute;top:47px;left:13px}.side-toggle svg{fill:none;width:22px;height:22px;stroke:var(--navy-2);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.side-nav li{place-items:center;width:72px;display:grid;position:absolute;left:0}.side-nav li:first-child{top:150px}.side-nav li:nth-child(2){top:230px}.side-nav li:nth-child(3){top:316px}.side-nav li:nth-child(4){top:400px}.side-nav li:nth-child(5){top:488px}.side-nav a{place-items:center;width:44px;height:40px;display:grid}.side-nav svg{fill:none;stroke:#33405c;stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round;width:34px;height:34px}.side-nav svg .fill,.side-nav svg.fill{fill:#2b364f;stroke:none}.side-nav li.is-muted svg{fill:#6c707a}.side-nav li.is-muted svg.line{fill:none;stroke:#6c707a}.side-lang{border:1.5px solid var(--sidebar);min-width:21px;font-family:var(--cond);letter-spacing:.04em;text-align:center;color:#fbf6ec;pointer-events:none;background:#4a5266;border-radius:5px;padding:1px 3px 0;font-size:10.5px;font-weight:700;line-height:13px;position:absolute;top:23px;left:27px}.brand{z-index:2;align-items:flex-start;display:flex;position:absolute;top:21px;left:95px}.brand-logo{width:58px;height:58px;margin-top:-3px}.brand-rule{width:2px;height:64px;margin:-4px 12px 0 16px;position:relative}.brand-text h1{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--navy);font-size:36.5px;font-weight:600;line-height:38px}.brand-text p{font-family:var(--cond);letter-spacing:.17em;text-transform:uppercase;color:var(--faint);white-space:nowrap;margin-top:2px;font-size:19.5px;font-weight:500}.brand-text p i{margin:0 .45em;font-style:normal}.stage-note{border:1.5px solid var(--line);background:var(--card-soft);text-align:center;z-index:3;border-radius:11px;width:min(380px,100% - 32px);padding:20px 22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stage-note b{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);font-size:17px;font-weight:700}.stage-note p{color:var(--ink);margin:8px 0 0;font-size:15px;line-height:22px}.stage.no-webgl #board-canvas,.stage.no-webgl .viewbar{display:none}.stage{z-index:1;position:absolute;inset:0 500px 140px 72px}#board-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.leaders path{fill:none;stroke:#1d2236;stroke-width:1.6px;stroke-dasharray:5 4;stroke-linecap:butt}.leaders .dot-end{fill:#fdf8ef;stroke:var(--teal);stroke-width:2.4px}.rig{width:0;height:0;position:absolute;top:calc(50% + 70px);left:calc(50% + 10px)}.callout{left:var(--x);top:var(--y);width:var(--w);border:1.5px solid var(--line);background:var(--card-soft);border-radius:9px;gap:16px;padding:17px 14px 15px 15px;display:flex;position:absolute;box-shadow:inset 0 1px #ffffffb3}.callout-icon{fill:none;width:36px;height:36px;stroke:var(--navy);stroke-width:2.3px;stroke-linejoin:round;stroke-linecap:round;flex:none;margin-top:2px}.callout-icon.tall{height:56px;margin-top:0}.callout-icon.wide{width:40px}.callout-icon .fill{fill:var(--navy);stroke:none}.callout h3{font-family:var(--cond);letter-spacing:.035em;text-transform:uppercase;color:var(--navy);font-size:18px;font-weight:700;line-height:22px}.callout p{color:#5c6066;margin-top:3px;font-size:15.7px;font-weight:400;line-height:20px}.status{border:1.5px solid var(--line);z-index:2;border-radius:11px;width:444px;height:87px;position:absolute;top:17px;right:79px}.progress-card{border:1.5px solid var(--line);background:var(--card-soft);border-radius:9px;align-items:center;gap:21px;width:253px;height:66px;padding:0 16px 0 18px;display:flex;position:absolute;top:10px;left:9px}.progress-icon{fill:none;width:39px;height:39px;stroke:var(--navy-2);stroke-width:2.2px;stroke-linejoin:round}.progress-body{flex:1}.progress-label{font-family:var(--cond);letter-spacing:.045em;text-transform:uppercase;color:var(--navy);white-space:nowrap;font-size:17px;font-weight:700;display:block}.progress-label.is-long{letter-spacing:.03em;font-size:14.5px}.progress-row{align-items:center;gap:12px;margin-top:4px;display:flex}.progress-track{background:var(--track);border-radius:7px;flex:1;height:13px;overflow:hidden}.progress-fill{background:linear-gradient(#23b0ad,#149895);border-radius:7px;height:100%;display:block}.progress-count{font-family:var(--cond);letter-spacing:.06em;color:var(--navy);font-size:19px;font-weight:700}.clock{font-family:var(--mono);letter-spacing:.05em;color:#5d6066;flex-direction:column;gap:3px;font-size:17.5px;line-height:23px;display:flex;position:absolute;top:17px;left:287px}.info-card{border:1.5px solid var(--line);z-index:2;background:#f6edde99;border-radius:12px;width:476px;position:absolute;top:120px;bottom:160px;right:20px}.tabs{align-items:flex-end;gap:33px;height:47px;padding:0 0 0 22px;display:flex}.tabs button{height:40px;font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;color:#686c73;font-size:17.5px;font-weight:500;position:relative}.tabs button.is-active{color:var(--navy);font-weight:700}.tabs button{white-space:nowrap;flex:none}html:not([lang^=en]) .tabs{justify-content:space-between;gap:12px;padding-right:24px}.tabs button.is-active:after{content:"";background:var(--navy);border-radius:3px 3px 1px 1px;height:4.5px;position:absolute;bottom:-2px;left:-7px;right:-9px}.info-body{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:16px 0 0 18px;position:absolute;inset:57px 8px -1.5px 3px;overflow:hidden}.info-body h2{font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);font-size:25px;font-weight:700;line-height:30px}.lede{color:#4f535a;max-width:372px;margin-top:8px;font-size:18.3px;line-height:23px}.features{gap:8px;margin-top:16px;display:grid}.features li{color:#4f535a;align-items:center;gap:27px;min-height:48px;font-size:17.2px;line-height:21px;display:flex}.feature-icon{border:1.5px solid var(--line);background:#f6eee1cc;border-radius:9px;flex:none;place-items:center;width:51px;height:48px;display:grid}.feature-icon svg{fill:none;width:31px;height:31px;stroke:var(--navy-2);stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round}.feature-icon .fill{fill:var(--navy-2);stroke:none}.btn-ghost{border:1.5px solid var(--line);background:var(--card);border-radius:8px;place-items:center;width:40px;height:38px;display:grid}.btn-ghost svg{fill:none;width:21px;height:21px;stroke:var(--navy-2);stroke-width:2px}.lessons{z-index:2;position:absolute;bottom:32px;left:100px}.lesson-list{gap:12px;display:flex}.lesson{width:calc(var(--w) * 1px);border:1.5px solid var(--line);background:var(--card-soft);cursor:pointer;border-radius:9px;align-items:center;height:91px;padding:0 16px 0 10px;transition:border-color .25s,box-shadow .25s,transform .25s,background .25s;display:flex;position:relative}.lesson:hover{border-color:#bfae97;transform:translateY(-2px);box-shadow:0 6px 14px -8px #503c1e59}.lesson:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lesson.is-active{border:2px solid var(--teal-deep);box-shadow:0 0 0 1px #3f7f8e14}.lesson-thumb{width:calc(var(--tw) * 1px);object-fit:contain;opacity:0;flex:none;height:84px;margin-right:2px}.lesson-thumb.is-ready{opacity:1}.lesson-title{font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:#4b505c;text-align:center;white-space:nowrap;flex:1;font-size:15.2px;font-weight:500;line-height:22px}.lesson.is-active .lesson-title{color:var(--navy);font-size:16.6px;font-weight:700}.chev{fill:none;stroke:#aaa59e;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:26px;height:26px}.lesson.is-active .chev{stroke:#2a6d86;stroke-width:2.6px}.stage{cursor:default;touch-action:none;-webkit-user-select:none;user-select:none}.stage.is-pointing{cursor:pointer}.stage[data-drag=pan],.stage[data-drag=touch]{cursor:grabbing}.stage[data-drag=rotate]{cursor:ew-resize}.keep-case{text-transform:none}.chart-card{border:1.5px solid var(--line);background:var(--card-soft);z-index:2;opacity:0;pointer-events:none;border-radius:12px;width:330px;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:9px;right:14px;transform:translateY(8px);box-shadow:0 12px 26px -18px #3c2d1499}.chart-card.is-on{opacity:1;pointer-events:auto;transform:none}.chart-card.is-raised{bottom:84px}.chart-head{font-family:var(--cond);letter-spacing:.07em;text-transform:uppercase;color:var(--navy);flex-wrap:wrap;align-items:center;gap:2px 8px;padding:7px 8px 6px 18px;font-size:12.5px;font-weight:700;display:flex}.chart-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;line-height:1.25;display:-webkit-box;overflow:hidden}.chart-value{min-height:15px;font-family:var(--mono,monospace);letter-spacing:.02em;text-transform:none;color:#127a78;white-space:nowrap;flex-basis:100%;order:3;font-weight:600}.chart-fold{border:1.5px solid var(--line);background:var(--card);width:26px;height:26px;color:var(--navy);cursor:pointer;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.chart-fold:hover{border-color:var(--navy-2)}.chart-grip{z-index:1;color:#a69c8b;cursor:nwse-resize;touch-action:none;border-radius:11px 0 6px;place-items:center;width:20px;height:20px;transition:color .2s,background .2s;display:grid;position:absolute;top:0;left:0}.chart-grip:hover,.chart-grip:focus-visible,.chart-card.is-resizing .chart-grip{color:var(--navy);background:#18213d12}.chart-grip svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.chart-card.is-folded .chart-grip{display:none}.chart-card.is-resizing{-webkit-user-select:none;user-select:none;transition:none}.chart-fold svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform .25s}.chart-card.is-folded .chart-fold svg{transform:rotate(180deg)}.chart-body{padding:0 6px 6px}.chart-card.is-folded .chart-body{display:none}.chart-body svg{background:#fbf7ee;border-radius:8px;display:block}.chart-body text{font-family:var(--cond);letter-spacing:.02em;font-weight:600}.cc-axis{fill:none;stroke:var(--navy-2);stroke-width:1.5px}.cc-grid{fill:none;stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.cc-tickmark{stroke:var(--navy-2);stroke-width:1.2px}.cc-tick{fill:#5d6066;font-size:11px}.cc-axis-label{fill:var(--navy);letter-spacing:.02em;stroke:#fbf7ee;stroke-width:4px;stroke-linejoin:round;paint-order:stroke;font-size:10.5px;font-weight:600}.cc-ghost{fill:none;stroke:#8f9aa6;stroke-width:1.3px;stroke-dasharray:3 3}.cc-mark{fill:none;stroke:#d0412f;stroke-width:1.2px;stroke-dasharray:5 4}.cc-mark-label,.cc-note{fill:#b5422f;stroke:#fbf7ee;stroke-width:4px;stroke-linejoin:round;paint-order:stroke;font-size:11px}.cc-trace{fill:none;stroke:#127a78;stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.cc-guide{fill:none;stroke:#127a78;stroke-width:1.2px;stroke-dasharray:3 3}.cc-dot{fill:#127a78;stroke:#fbf7ee;stroke-width:2px}html.compact .chart-card{width:auto;min-width:0;box-shadow:none;border-radius:14px;grid-area:chart;transition:opacity .3s;position:relative;bottom:auto;right:auto;transform:none}html.compact:not(.has-chart) .chart-card,html.compact .chart-grip{display:none}.circuit-dialog{z-index:6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:#efe8db9e;justify-content:center;align-items:center;padding:104px 26px 26px;transition:opacity .12s;display:flex;position:absolute;inset:0}.circuit-dialog.is-open{opacity:1}.circuit-dialog[hidden],.cd-tip[hidden]{display:none}.cd-card{border:1.5px solid var(--line);background:var(--card-soft);border-radius:14px;flex-direction:column;width:min(100%,1000px);height:min(100%,680px);transition:transform .16s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;transform:translateY(4px);box-shadow:0 22px 44px -26px #3c2d14a6}.circuit-dialog.is-open .cd-card{transform:none}.cd-head{border-bottom:1px solid #cec0ad99;align-items:center;gap:14px;padding:12px 12px 10px 20px;display:flex}.cd-heading{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.cd-title{font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);white-space:nowrap;margin:0;font-size:15px;font-weight:700}.cd-lesson{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.cd-switch{border:1.5px solid var(--line);background:#fffcf5b3;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.cd-switch button{height:30px;font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-radius:999px;padding:0 16px;font-size:13.5px;font-weight:700;transition:background .2s,color .2s}.cd-switch button:hover:not(:disabled):not(.is-active){color:var(--navy);background:#18213d0f}.cd-switch button.is-active{background:var(--navy);color:#fdf9f1}.cd-switch button:disabled{opacity:.42;cursor:not-allowed}.cd-close{width:34px;height:34px;color:var(--navy);border:1.5px solid #0000;border-radius:9px;flex:none;place-items:center;transition:border-color .2s;display:grid}.cd-close:hover{border-color:var(--line)}.cd-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.cd-body{flex:1;min-height:0;position:relative}.cd-body>svg{width:calc(100% - 48px);max-width:none;height:calc(100% - 24px);margin:0;display:block;position:absolute;inset:18px 24px 6px}.cd-zoom{z-index:1;border:1.5px solid var(--line);background:#fffcf5eb;border-radius:10px;gap:4px;padding:3px;display:none;position:absolute;bottom:12px;right:14px}.circuit-dialog[data-mode=board] .cd-zoom{display:flex}.cd-zoom button{width:30px;height:28px;color:var(--navy);border-radius:7px;place-items:center;display:grid}.cd-zoom button:hover:not(:disabled){background:#18213d12}.cd-zoom button[aria-pressed=true]{background:var(--navy);color:#fdf9f1}.cd-zoom-sep{background:var(--line);width:1px;margin:4px 2px}.cd-zoom button:disabled{opacity:.35;cursor:default}.cd-zoom svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.cd-body.is-zoomed{cursor:grab;touch-action:none}.cd-body.is-dragging{cursor:grabbing}.cd-note{min-height:18px;color:var(--ink);text-align:center;margin:0;padding:0 20px 12px;font-size:13px}.cd-tip{z-index:2;background:var(--navy);color:#fdf9f1;white-space:nowrap;pointer-events:none;border-radius:8px;flex-direction:column;gap:3px;padding:6px 11px;font-size:13px;display:flex;position:absolute}.cd-tip-name{font-weight:600}.cd-tip-pins{font-family:var(--mono);color:#d9e2f2;gap:12px;font-size:12px;display:flex}.cd-tip-pins b{color:#7fe0d9}.boardview .bv-board{fill:#f6f0e4;stroke:#d6cbb6;stroke-width:.3px}.boardview .bv-channel{fill:#e8dfcd}.boardview .bv-holes{fill:#4a4c57}.boardview .bv-plus,.boardview .bv-minus{stroke-width:.4px}.boardview .bv-plus{stroke:#d0412f}.boardview .bv-minus{stroke:#3d6fc4}.boardview .bv-board-text text{font-family:var(--cond);fill:#a69c8b;text-anchor:middle;dominant-baseline:central;font-size:1.5px;font-weight:600}.boardview .bv-board-text .bv-col{fill:#b9b0a0;font-size:1.05px}.boardview .bv-board-text .bv-col.is-five{fill:#a69c8b;font-size:1.45px}.boardview .bv-board-text .bv-plus-t,.boardview .bv-board-text .bv-minus-t{font-size:2px;font-weight:700}.boardview .bv-board-text .bv-plus-t{fill:#d0412f}.boardview .bv-board-text .bv-minus-t{fill:#3d6fc4}.boardview .bv-part path{stroke-linecap:round;stroke-linejoin:round}.boardview .bv-part path:not(.bv-fill){fill:none}.boardview .bv-fill{stroke-width:.14px}.boardview .bv-part:not(.is-wire){filter:drop-shadow(0 .5px .5px #281e0f47)}.boardview .bv-part.is-hover:not(.is-wire){filter:drop-shadow(0 0 .9px #1aa3a1f2)drop-shadow(0 0 .9px #1aa3a1f2)}.boardview .bv-glow{pointer-events:none}.boardview .bv-pin{fill:#fdfbf6;stroke:#127a78;stroke-width:.28px;pointer-events:none}.boardview .bv-pin.is-lit{fill:#1aa3a1;stroke:#fdfbf6}.boardview .bv-part.is-hover:not(.is-wire) .bv-fill{fill-opacity:.5}.boardview .bv-strips rect{fill:#1aa3a142;stroke:#127a78bf;stroke-width:.22px}.boardview .bv-pin-names text{font-family:var(--cond);fill:#0f5f5d;text-anchor:middle;stroke:#fdfbf6;stroke-width:.55px;stroke-linejoin:round;paint-order:stroke;pointer-events:none;font-size:1.7px;font-weight:700}.cd-body.is-xray .boardview .bv-part:not(.is-wire):not(.is-off) .bv-fill{fill-opacity:.32}.boardview .bv-label{font-family:var(--cond);fill:var(--navy-2);text-anchor:middle;font-size:2.6px;font-weight:700}html.compact.is-circuit-open .stage{z-index:60}html.compact .circuit-dialog{z-index:40;padding:12px;position:fixed}html.compact .cd-card{height:min(100%,620px)}html.compact .cd-head{flex-wrap:wrap;gap:10px;padding:10px 10px 10px 16px}html.compact .cd-heading{flex-basis:calc(100% - 50px)}html.compact .cd-switch{flex:1;order:3}html.compact .cd-switch button{flex:1}html.compact .circuit-dialog[data-mode=board] .cd-note{text-align:left;padding:0 164px 14px 16px}html.compact .cd-body>svg{width:calc(100% - 20px);height:calc(100% - 16px);inset:12px 10px 4px}@media (prefers-reduced-motion:reduce){.circuit-dialog,.cd-card{transition:none}}.callout{cursor:pointer;transition:opacity .45s,transform .55s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s}.callout:hover,.callout:focus-visible{border-color:#b9a892;outline:none;box-shadow:0 8px 18px -12px #3c2d1473}.callout.is-hidden{opacity:0;pointer-events:none;transform:translateY(10px)scale(.97)}.callout.is-leaving{opacity:0;pointer-events:none;transition-duration:.3s;transform:translateY(-8px)scale(.97)}.callout code,.info-content code{font-family:var(--mono);color:var(--kw);background:#2a56a312;border-radius:4px;padding:0 .25em;font-size:.86em}.rig.is-free .callout,.rig.is-off .callout{opacity:0;pointer-events:none;transform:scale(.96)}.leader-set{transition:opacity .4s}.leader-set.is-hidden{opacity:0}.leaders .leader path,.leaders .leader .dot-end{transition:opacity .35s,stroke .2s,stroke-width .2s}.leaders.is-free .leader path,.leaders.is-free .leader .dot-end{opacity:0}.leaders.is-off{opacity:0;pointer-events:none}.leaders .leader.is-hot path{stroke:var(--teal);stroke-width:2.2px}.tags{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tag{border:1.5px solid var(--line);background:var(--card-soft);font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);white-space:nowrap;opacity:0;pointer-events:none;border-radius:7px;padding:4px 9px 4px 8px;font-size:13px;font-weight:700;transition:opacity .3s;position:absolute;top:0;left:0;box-shadow:0 4px 10px -8px #3c2d1480}.tags.is-free .tag:not(.is-hidden){opacity:1;pointer-events:auto}.tags.is-off .tag{opacity:0!important;pointer-events:none!important}.tag:hover{border-color:var(--teal)}.readout{background:var(--navy);color:#f8f1e4;font-family:var(--mono);white-space:nowrap;opacity:0;border-radius:999px;padding:3px 9px;font-size:13.5px;font-weight:500;transition:opacity .25s;position:absolute;top:0;left:0;box-shadow:0 4px 10px -6px #18213d99}.readout.is-on{opacity:1}.tip{border:1.5px solid var(--line);pointer-events:none;opacity:0;z-index:3;background:#fcf7eef7;border-radius:9px;max-width:240px;padding:9px 12px 10px;transition:opacity .15s;position:absolute;top:0;left:0;box-shadow:0 10px 22px -14px #3c2d148c}.tip.is-on{opacity:1}.tip b{font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);font-size:15px;font-weight:700;display:block}.tip span{color:#5c6066;margin-top:2px;font-size:14px;line-height:18px;display:block}.viewbar{border:1.5px solid var(--line);background:var(--card-soft);z-index:2;border-radius:11px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:9px;left:calc(50% + 168px);transform:translate(-50%);box-shadow:0 6px 16px -12px #3c2d1480}.viewbar button{border-radius:7px;place-items:center;width:34px;height:32px;transition:background .15s;display:grid}.viewbar button:hover{background:#24304a12}.viewbar button:focus-visible{outline:2px solid var(--teal)}.viewbar svg{fill:none;width:19px;height:19px;stroke:var(--navy-2);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.viewbar button[aria-pressed=true]{background:#1aa3a124}.viewbar button[aria-pressed=true] svg{stroke:#127a78}.viewbar .compass svg{width:22px;height:22px}.viewbar .compass circle{stroke-width:1.6px}.compass-needle{transform-origin:12px 12px;transform-box:view-box}.compass-needle .fill{fill:#e0523f;stroke:none}.compass-needle path:not(.fill){fill:var(--navy-2);stroke:none}.viewbar.is-away .compass{background:#1aa3a121;animation:2.4s ease-in-out infinite nudge}@keyframes nudge{0%,to{box-shadow:0 0 #1aa3a100}50%{box-shadow:0 0 0 3px #1aa3a140}}.viewbar-sep{background:var(--line);width:1px;height:20px;margin:0 3px}.view-hint{background:var(--navy);color:#f6eee0;font-family:var(--cond);letter-spacing:.04em;white-space:nowrap;pointer-events:none;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;transition:opacity .5s,transform .5s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.view-hint.is-gone{opacity:0;transform:translate(-50%)translateY(4px)}.sidebar{z-index:6;transition:width .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;overflow:hidden}.sidebar.is-open{width:214px;box-shadow:8px 0 30px -18px #3c2d1480,inset -1px 0 #c4b09659}.side-toggle svg{transition:transform .35s}.sidebar.is-open .side-toggle svg{transform:rotate(180deg)}.side-nav li{place-items:center start;width:100%;padding-left:14px}.side-nav a{border-radius:9px;align-items:center;gap:16px;width:auto;min-width:44px;padding:0;text-decoration:none;transition:background .2s;display:flex;position:relative}.side-nav a svg{flex:none;margin-left:5px}.side-label{font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);white-space:nowrap;opacity:0;font-size:17px;font-weight:600;transition:opacity .25s,transform .3s;transform:translate(-6px)}.sidebar.is-open .side-label{opacity:1;transition-delay:80ms;transform:none}.sidebar.is-open .side-nav a{width:184px}.side-nav a:hover{background:#24304a0f}.side-nav li.is-on a{background:#24304a17}.side-nav li.is-on a:before{content:"";background:var(--teal);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.side-nav a:focus-visible{outline:2px solid var(--teal)}.flyout{left:84px;top:var(--top,140px);border:1.5px solid var(--line);z-index:7;opacity:0;pointer-events:none;background:#fbf6ecfa;border-radius:12px;width:300px;max-height:560px;padding:14px 12px 12px;transition:opacity .22s,transform .3s cubic-bezier(.2,.8,.2,1),left .35s cubic-bezier(.2,.8,.2,1);position:absolute;overflow:auto;transform:translate(-10px);box-shadow:0 18px 40px -22px #3c2d148c}.flyout.beside-open{left:226px}.flyout.is-open{opacity:1;pointer-events:auto;transform:none}.flyout header{border-bottom:1.5px solid var(--line-soft);justify-content:space-between;align-items:baseline;margin-bottom:6px;padding:0 6px 10px;display:flex}.flyout h2{font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);font-size:18px;font-weight:700}.flyout header span{font-family:var(--cond);letter-spacing:.04em;color:var(--muted);font-size:14px;font-weight:600}.fly-list{gap:2px;display:grid}.fly-list button,.fly-list label{text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:12px;width:100%;padding:8px 6px;transition:background .15s;display:flex}.fly-list button:hover,.fly-list label:hover{background:#24304a0f}.fly-list button.is-current{background:#1aa3a11a}.flyout[data-kind=language]{max-height:680px}.flyout[data-kind=language] .fly-list button{padding:5px 6px}.fly-num{border:1.5px solid var(--line);width:30px;height:30px;font-family:var(--cond);color:var(--navy);background:var(--card);border-radius:8px;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.fly-num svg{fill:none;width:17px;height:17px;stroke:var(--teal);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.fly-text{flex:1;min-width:0}.fly-text b{font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);font-size:15px;font-weight:700;display:block}.fly-text small{color:#6a6e74;font-size:13.5px;line-height:17px;display:block}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:#ddd1c0;border-radius:999px;flex:none;width:38px;height:22px;transition:background .2s;position:relative}.switch-track span{background:#fffaf2;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--teal)}.switch input:checked+.switch-track span{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--navy);outline-offset:2px}.fly-reset{border:1.5px solid var(--line);font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:#a0533f;border-radius:8px;margin:10px 6px 2px;padding:7px 12px;font-size:14px;font-weight:600}.fly-reset:hover{background:#e0523f14}.info-card{transition:height .45s cubic-bezier(.2,.8,.2,1),opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}.tabs button{transition:color .2s}.tabs button:hover{color:var(--navy)}.tabs button:after{content:"";background:var(--navy);opacity:0;border-radius:3px 3px 1px 1px;height:4.5px;transition:left .3s,right .3s,opacity .2s;position:absolute;bottom:-2px;left:50%;right:50%}.tabs button.is-active:after{opacity:1;left:-7px;right:-9px}.tabs button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.info-content{scrollbar-width:thin;scrollbar-color:#d8cbb8 transparent;height:100%;padding:0 24px 18px 0;transition:opacity .18s,transform .3s;overflow-y:auto}.info-content.is-out{opacity:0;transform:translateY(6px)}.info-content h2{padding-right:36px}.info-content .sub{color:var(--muted);margin-top:4px;font-size:15.5px}.btn-ghost{transition:transform .15s,background .2s,border-color .2s}.btn-ghost:hover{border-color:#bfae97}.btn-ghost.is-done svg{stroke:var(--teal);stroke-width:2.6px}.btn-ghost:active{transform:translateY(1px)}@keyframes pulse{50%{opacity:.4}}.lesson-done{background:var(--teal);width:22px;height:22px;box-shadow:0 0 0 2.5px var(--bg);opacity:0;border-radius:50%;place-items:center;transition:opacity .3s,transform .4s cubic-bezier(.3,1.6,.5,1);display:grid;position:absolute;top:-8px;right:-8px;transform:scale(.4)}.lesson-done svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.lesson.is-done .lesson-done{opacity:1;transform:none}.lesson.just-done{animation:.7s celebrate}@keyframes celebrate{30%{transform:translateY(-5px)scale(1.02)}}.lesson .lesson-thumb{transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .4s}.lesson:hover .lesson-thumb{transform:scale(1.06)rotate(-2deg)}.lesson-title,.chev{transition:color .25s,stroke .25s}.progress-fill{transition:width .8s cubic-bezier(.2,.8,.2,1)}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.stage[data-hand=slide],.stage[data-hand=knob]{cursor:grab}.stage[data-hand=press],.stage[data-hand=set]{cursor:pointer}.stage[data-drag=part]{cursor:grabbing}.insp-lines{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.insp-leader{opacity:0;transition:opacity .2s}.insp-leader.is-on{opacity:1}.insp-leader.is-away{opacity:0}.insp-leader path{fill:none;stroke:var(--teal);stroke-width:1.8px;stroke-dasharray:5 4}.insp-leader .dot-end{fill:#e9fbfa;stroke:var(--teal);stroke-width:2.6px}.inspector{border:1.5px solid var(--line);z-index:4;opacity:0;visibility:hidden;pointer-events:none;cursor:default;background:#fbf6edfa;border-radius:11px;width:292px;padding:14px 14px 12px 16px;transition:opacity .18s,visibility 0s linear .18s;position:absolute;top:0;left:0;box-shadow:0 18px 34px -22px #3c2d14a6,inset 0 1px #ffffffb3}.inspector.is-on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s;animation:.34s cubic-bezier(.2,.8,.2,1) insp-in}@keyframes insp-in{0%{opacity:0;translate:0 6px;scale:.95}}.insp-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.insp-head h3{font-family:var(--cond);letter-spacing:.035em;text-transform:uppercase;color:var(--navy);font-size:18px;font-weight:700;line-height:22px}.insp-close{border-radius:7px;flex:none;place-items:center;width:28px;height:28px;margin:-4px -4px 0 0;transition:background .15s;display:grid}.insp-close:hover{background:#24304a12}.insp-close svg{fill:none;width:16px;height:16px;stroke:var(--navy-2);stroke-width:2.2px;stroke-linecap:round}.insp-desc{color:#5c6066;margin-top:6px;font-size:14.5px;line-height:19px}.insp-rows{gap:12px;margin-top:10px;display:grid}.insp-row{border-top:1px dashed var(--line);border-radius:2px;padding-top:10px}.insp-row label,.insp-label{font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:#4b505c;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;font-weight:600;display:flex}.insp-row output{font-family:var(--mono);letter-spacing:0;text-transform:none;color:var(--navy);font-size:13.5px;font-weight:500}.insp-note{color:#6a6e74;margin-top:6px;font-size:13.5px;line-height:17px}.inspector input[type=range],.part-controls input[type=range]{appearance:none;cursor:pointer;--fill:50%;background:0 0;width:100%;height:22px;margin:4px 0 0;display:block}.inspector input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent,var(--teal)) var(--fill), var(--track) var(--fill));border-radius:3px;height:6px}.part-controls input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent,var(--teal)) var(--fill), var(--track) var(--fill));border-radius:3px;height:6px}.inspector input[type=range]::-moz-range-track{background:var(--track);border-radius:3px;height:6px}.part-controls input[type=range]::-moz-range-track{background:var(--track);border-radius:3px;height:6px}.inspector input[type=range]::-moz-range-progress{background:var(--accent,var(--teal));border-radius:3px;height:6px}.part-controls input[type=range]::-moz-range-progress{background:var(--accent,var(--teal));border-radius:3px;height:6px}.inspector input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2.5px solid var(--accent,var(--teal));background:#fdf8ef;border-radius:50%;width:18px;height:18px;margin-top:-6px;transition:transform .15s;box-shadow:0 1px 3px #18213d40}.part-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2.5px solid var(--accent,var(--teal));background:#fdf8ef;border-radius:50%;width:18px;height:18px;margin-top:-6px;transition:transform .15s;box-shadow:0 1px 3px #18213d40}.inspector input[type=range]::-moz-range-thumb{border:2.5px solid var(--accent,var(--teal));background:#fdf8ef;border-radius:50%;width:13px;height:13px;box-shadow:0 1px 3px #18213d40}.part-controls input[type=range]::-moz-range-thumb{border:2.5px solid var(--accent,var(--teal));background:#fdf8ef;border-radius:50%;width:13px;height:13px;box-shadow:0 1px 3px #18213d40}.inspector input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.part-controls input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.inspector input[type=range]:focus-visible,.part-controls input[type=range]:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:4px}.seg{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.seg button{border:1.5px solid var(--line);background:var(--card);font-family:var(--cond);letter-spacing:.03em;color:#4b505c;border-radius:8px;padding:5px 11px 4px;font-size:14.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.seg button:hover{border-color:#bfae97}.seg button.is-on{border-color:var(--navy);background:var(--navy);color:#fbf5ea}.seg button:focus-visible,.swatch:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.swatches{gap:9px;margin-top:8px;display:flex}.swatch{background:radial-gradient(circle at 35% 30%, #ffffff8c, transparent 55%), var(--c);border-radius:50%;width:26px;height:26px;transition:transform .15s,box-shadow .15s;box-shadow:inset 0 0 0 1.5px #18213d59}.swatch:hover{transform:scale(1.1)}.swatch.is-on{box-shadow:0 0 0 1.5px #18213d59 inset, 0 0 0 2.5px #fbf6ed, 0 0 0 4.5px var(--teal)}.is-swatch .insp-note{display:none}.swatches.is-many{grid-template-columns:repeat(10,1fr);gap:5px;display:grid}.swatches.is-many .swatch{aspect-ratio:1;width:100%;height:auto}.insp-row .insp-switch{cursor:pointer;text-transform:none;letter-spacing:.01em;justify-content:flex-start;align-items:center;gap:10px;font-size:15px}.insp-switch input{opacity:0;pointer-events:none;position:absolute}.insp-switch .track{background:#ddd1c0;border-radius:999px;flex:none;width:34px;height:20px;transition:background .2s;position:relative}.insp-switch .knob{background:#fffaf2;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.insp-switch input:checked+.track{background:var(--teal)}.insp-switch input:checked+.track .knob{transform:translate(14px)}.insp-switch input:focus-visible+.track{outline:2px solid var(--navy);outline-offset:2px}.insp-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.insp-focus{border:1.5px solid var(--line);background:var(--card);font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--navy-2);border-radius:8px;align-items:center;gap:6px;padding:4px 9px 4px 7px;font-size:13.5px;font-weight:600;transition:border-color .15s;display:inline-flex}.insp-focus:hover{border-color:#bfae97}.insp-focus svg{fill:none;width:16px;height:16px;stroke:var(--navy-2);stroke-width:2px}.insp-focus .fill{fill:var(--navy-2)}.insp-hint{font-family:var(--cond);color:#157f7d;text-align:right;font-size:13.5px;font-weight:500;line-height:16px}.insp-run{font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#157f7d;background:#e9f6f4;border:1.5px solid #9fd3cf;border-radius:8px;align-items:center;gap:5px;padding:4px 10px 4px 7px;font-size:13.5px;font-weight:600;transition:border-color .15s;display:inline-flex}.insp-run:hover{border-color:#157f7d}.insp-run svg{width:14px;height:14px}.insp-run .fill{fill:#157f7d}.inspector.is-running .insp-run{display:none}@keyframes param-flash{0%{color:#fbf6ed;background:#1aa3a18c}}@keyframes line-flash{0%{background:#1aa3a14d}}.lessons{right:max(30px,100% - 1540px)}.lesson-list{scrollbar-width:none;--fade-l:0px;--fade-r:0px;-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);mask-image:linear-gradient(90deg, transparent, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent);margin:-10px -10px -12px -2px;padding:10px 10px 12px 2px;scroll-padding:0 30px;overflow:auto hidden}.lesson-list::-webkit-scrollbar{display:none}.lessons.can-left .lesson-list{--fade-l:60px}.lessons.can-right .lesson-list{--fade-r:60px}.lesson{flex:none}.lesson-step{z-index:1;border:1.5px solid var(--line);background:var(--card);opacity:0;pointer-events:none;border-radius:50%;place-items:center;width:34px;height:34px;margin-top:4px;transition:opacity .2s,border-color .15s;display:grid;position:absolute;top:50%;box-shadow:0 6px 14px -8px #503c1e73}.lesson-step svg{fill:none;width:20px;height:20px;stroke:var(--navy-2);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.lesson-step:hover{border-color:#bfae97}.lesson-step.prev{left:-14px}.lesson-step.next{right:0}.lessons.can-left .lesson-step.prev,.lessons.can-right .lesson-step.next{opacity:1;pointer-events:auto}.credit{color:var(--navy);background:#f0e6d7b3;border:1.5px solid #d6c7b3;border-radius:9px;align-items:center;gap:12px;padding:9px 16px 9px 13px;text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}a.credit:hover{background:#f4ecdfeb;border-color:#bfae97}a.credit:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.credit-x{fill:#2b364f;flex:none;width:19px;height:19px}.credit-rule{background:#d6c7b3;flex:none;align-self:stretch;width:1.5px}.credit-text{white-space:nowrap;flex-direction:column;gap:2px;display:flex}.credit-text small{font-family:var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:11.5px;font-weight:600;line-height:13px}.credit-text b{font-family:var(--cond);letter-spacing:.03em;color:var(--navy);font-size:15.5px;font-weight:700;line-height:18px}.credit-side{flex-direction:column;gap:12px;width:47px;padding:15px 0 14px;position:absolute;bottom:22px;left:13px}.credit-side .credit-text{writing-mode:vertical-rl;flex-direction:column;align-items:flex-start;gap:3px;transform:rotate(180deg)}.credit-side .credit-rule{align-self:center;width:20px;height:1.5px}.app-foot{display:none}html.compact,html.compact body{height:auto;min-height:100%;overflow:hidden auto}html.compact .artboard{width:auto;height:auto;min-height:100dvh;padding:14px 12px calc(78px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand status""stage stage""lessons lessons""info info""foot foot";align-items:center;gap:14px;display:grid;position:relative;overflow:visible;transform:none}html.compact.has-chart .artboard{grid-template-areas:"brand status""stage stage""chart chart""lessons lessons""info info""foot foot"}html.compact .traces{display:none}html.compact .brand{grid-area:brand;align-items:center;min-width:0;position:static}html.compact .brand-logo{flex:none;width:38px;height:38px}html.compact .brand-rule{flex:none;height:40px;margin:0 10px 0 12px}html.compact .brand-text{min-width:0}html.compact .brand-text h1{letter-spacing:.11em;white-space:nowrap;font-size:22px;line-height:25px}html.compact .brand-text p{letter-spacing:.15em;font-size:12.5px}html.compact .status{border:0;grid-area:status;align-items:center;gap:14px;width:auto;height:auto;display:flex;position:static}html.compact .progress-card{gap:12px;width:200px;height:52px;padding:0 12px;position:static}html.compact .progress-icon{width:28px;height:28px}html.compact .progress-label{font-size:14px}html.compact .progress-row{gap:9px;margin-top:2px}html.compact .progress-track{height:10px}html.compact .progress-count{font-size:15px}html.compact .clock{gap:1px;font-size:13px;line-height:17px;position:static}html.compact .stage{border:1.5px solid var(--line);background:radial-gradient(90% 80% at 50% 45%,#fffaf0b3,#0000 70%),#f4ecde99;border-radius:14px;grid-area:stage;height:clamp(300px,58vh,660px);position:relative;inset:auto;overflow:hidden}html.compact.has-chart .stage{height:clamp(260px,46vh,560px)}html.compact .rig,html.compact .view-hint{display:none}html.compact .viewbar{bottom:8px;left:50%}html.compact .inspector{overscroll-behavior:contain;width:min(420px,100% - 20px);max-height:56%;padding:12px 14px 10px;overflow-y:auto}html.compact .inspector.is-on{animation-name:insp-up}@keyframes insp-up{0%{opacity:0;translate:0 14px}}html.compact .insp-desc{font-size:14px;line-height:18px}html.compact .insp-rows{gap:9px;margin-top:8px}html.compact .insp-row{padding-top:8px}html.compact .lessons{grid-area:lessons;min-width:0;position:relative;inset:auto}html.compact .lesson{width:calc(var(--w) * .8px);height:74px;padding:0 12px 0 8px}html.compact .lesson-thumb{width:calc(var(--tw) * .8px);height:64px}html.compact .lesson-title{font-size:13.5px;line-height:18px}html.compact .lesson.is-active .lesson-title{font-size:14.5px}html.compact .chev{width:20px;height:20px}html.compact .lesson-step{width:30px;height:30px;top:calc(50% + 2px)}html.compact .info-card{grid-area:info;width:auto;min-width:0;height:auto;position:relative;inset:auto}html.compact .tabs{scrollbar-width:none;justify-content:flex-start;gap:22px;padding:0 14px;overflow-x:auto}html.compact .tabs::-webkit-scrollbar{display:none}html.compact .tabs button{flex:none;font-size:15.5px}html.compact .info-body{margin:10px 3px 3px;padding:14px 16px 4px;position:relative;inset:auto}html.compact .info-content{height:auto;padding-right:0;overflow:visible}html.compact .info-body h2{font-size:21px;line-height:26px}html.compact .lede{max-width:none;font-size:16px;line-height:22px}html.compact .features li{gap:16px;font-size:15px;line-height:20px}html.compact .feature-icon{width:44px;height:42px}html.compact .feature-icon svg{width:26px;height:26px}html.compact .app-foot{flex-wrap:wrap;grid-area:foot;justify-content:space-between;align-items:center;gap:10px 16px;padding:6px 2px 0;display:flex}html.compact .sidebar{width:auto;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(180deg, #ece0cf, var(--sidebar));z-index:20;position:fixed;inset:auto 0 0;overflow:visible;box-shadow:0 -1px #c4b0968c,0 -12px 26px -20px #3c2d148c}html.compact .sidebar.is-open{width:auto}html.compact .side-toggle,html.compact .side-label,html.compact .credit-side{display:none}html.compact .side-nav{justify-content:space-around;align-items:center;max-width:560px;height:62px;margin:0 auto;display:flex}html.compact .side-nav li{width:auto;padding:0;position:static}html.compact .side-nav a,html.compact .sidebar.is-open .side-nav a{justify-content:center;gap:0;width:54px;height:46px}html.compact .side-nav a svg{width:28px;height:28px;margin:0}html.compact .side-nav li.is-on a:before{border-radius:3px 3px 0 0;width:auto;height:3px;inset:auto 14px -7px}html.compact .flyout,html.compact .flyout.beside-open{top:auto;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:21;width:auto;max-width:560px;max-height:min(70vh,560px);margin:0 auto;position:fixed;transform:translateY(10px)}html.compact .flyout.is-open{transform:none}@media (width<=600px){html.compact .artboard{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand""status""stage""lessons""info""foot";row-gap:12px}html.compact.has-chart .artboard{grid-template-areas:"brand""status""stage""chart""lessons""info""foot"}html.compact .progress-card{flex:1;width:auto}html.compact .brand-text h1{font-size:20px}html.compact .tabs{gap:18px}html.compact .tabs button{font-size:14.5px}}@media (orientation:landscape) and (height<=600px){html.compact .artboard{padding:8px calc(10px + env(safe-area-inset-right)) 14px calc(72px + env(safe-area-inset-left));grid-template-rows:repeat(4,auto) 1fr;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);grid-template-areas:"stage brand""stage status""stage lessons""stage info""stage foot";align-items:start;gap:12px 14px}html.compact.has-chart .artboard{grid-template-rows:repeat(5,auto) 1fr;grid-template-areas:"stage brand""stage status""stage chart""stage lessons""stage info""stage foot"}html.compact .stage,html.compact.has-chart .stage{height:calc(100dvh - 16px);min-height:240px;position:sticky;top:8px}html.compact .brand-logo{width:32px;height:32px}html.compact .brand-rule{height:34px;margin:0 8px 0 10px}html.compact .brand-text h1{font-size:18px;line-height:21px}html.compact .brand-text p{font-size:11px}html.compact .status{width:100%}html.compact .progress-card{flex:1;width:auto;height:46px}html.compact .sidebar{width:calc(62px + env(safe-area-inset-left));height:auto;padding:0 0 0 env(safe-area-inset-left);background:linear-gradient(90deg, #e7d9c6 0%, var(--sidebar) 70%, #eadecd 100%);inset:0 auto 0 0;box-shadow:inset -1px 0 #c4b09673}html.compact .side-nav{flex-direction:column;justify-content:center;gap:4px;height:100%;margin:0}html.compact .side-nav li.is-on a:before{border-radius:0 3px 3px 0;width:3px;height:auto;inset:10px auto 10px -4px}html.compact .flyout,html.compact .flyout.beside-open{left:calc(72px + env(safe-area-inset-left));width:320px;max-height:calc(100dvh - 16px);margin:0;top:8px;bottom:auto;right:auto;transform:translate(-10px)}}@media (orientation:landscape) and (height<=600px) and (width<=720px){html.compact .clock,html.compact .brand-text p{display:none}}html.compact .tag{padding:3px 7px 3px 6px;font-size:11.5px}.lesson-head{z-index:3;height:30px;margin:0 0 9px 1px;position:relative}.tutorial-pick{height:30px;font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);border-radius:7px;align-items:center;gap:9px;padding:0 8px 0 2px;font-size:18px;font-weight:700;transition:background .15s;display:inline-flex}.tutorial-pick:hover,.menu-open .tutorial-pick{background:#1aa3a114}.tutorial-pick:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tutorial-icon svg{fill:none;width:28px;height:26px;stroke:var(--navy-2);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.tutorial-icon .fill{fill:var(--navy-2);stroke:none}.tutorial-chev{fill:none;width:20px;height:20px;stroke:var(--navy-2);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}.menu-open .tutorial-chev{transform:rotate(180deg)}.tutorial-menu{border:1.5px solid var(--line);background:var(--card);border-radius:11px;width:340px;padding:6px;animation:.22s cubic-bezier(.2,.8,.2,1) menu-in;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 18px 40px -18px #3c2d1473}@keyframes menu-in{0%{opacity:0;transform:translateY(6px)}}.tut{text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:8px 10px 8px 8px;display:flex}button.tut:hover,button.tut:focus-visible{background:#1aa3a114;outline:none}.tut.is-current{background:#1aa3a11f}.tut-icon{border:1.5px solid var(--line);background:#f6eee1cc;border-radius:8px;flex:none;place-items:center;width:40px;height:36px;display:grid}.tut-icon svg{fill:none;width:25px;height:25px;stroke:var(--navy-2);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.tut-icon .fill{fill:var(--navy-2);stroke:none}.tut-text{flex-direction:column;flex:1;display:flex}.tut-text b{font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);font-size:16px;font-weight:700}.tut-text small{color:var(--muted);font-size:13.5px}.tut-count{font-family:var(--cond);letter-spacing:.05em;color:var(--teal-deep);font-size:16px;font-weight:700}.tut.is-soon{opacity:.55}.lesson-row{align-items:stretch;gap:14px;display:flex}.lesson-scroll{flex:1;min-width:0;position:relative}.lessons .lesson{flex:1 0 196px;width:auto;padding:0 14px 0 8px}.lessons .lesson-title{text-align:left;padding-left:4px;font-size:15px}.lessons .lesson.is-active .lesson-title{font-size:15.6px}.lessons .lesson .chev{opacity:0;width:22px}.lessons .lesson.is-active .chev,.lessons .lesson:hover .chev{opacity:1}.lesson.is-todo .lesson-title{color:#8f8a83}.lesson.is-todo .lesson-thumb.is-ready{opacity:.6;filter:saturate(.55)}.lesson.is-todo:hover .lesson-thumb.is-ready{opacity:1;filter:none}.lesson-nav{flex:none;gap:10px;display:flex}.lesson-prev,.lesson-next{border-radius:10px;place-items:center;width:62px;height:91px;transition:transform .2s,box-shadow .2s,opacity .2s,border-color .2s;display:grid}.lesson-prev{border:1.5px solid var(--line);background:var(--card-soft)}.lesson-next{background:linear-gradient(#2c3a5c,#1f2a46);box-shadow:0 6px 14px -8px #18213d99}.lesson-prev svg,.lesson-next svg{fill:none;width:30px;height:30px;stroke:var(--navy-2);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.lesson-next svg{stroke:#fbf6ed}.lesson-prev:hover:not(:disabled),.lesson-next:hover:not(:disabled){transform:translateY(-2px)}.lesson-prev:hover:not(:disabled){border-color:#bfae97}.lesson-prev:disabled,.lesson-next:disabled{opacity:.4;cursor:default}.lesson-prev:focus-visible,.lesson-next:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.parts-list{gap:8px;margin-top:14px;display:grid}.parts-list li{align-items:center;gap:18px;min-height:48px;display:flex}.part-text{flex-direction:column;display:flex}.part-text b{font-family:var(--cond);letter-spacing:.02em;color:var(--navy);font-size:17.5px;font-weight:600}.part-text small{color:var(--muted);font-size:15px}.schematic{width:100%;max-width:430px;height:auto;margin:10px 0 4px;display:block;overflow:visible}.schematic .wire,.schematic .sym{fill:none;stroke:var(--navy-2);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.schematic .sym.thick{stroke-width:4.2px}.schematic .sym.thin{stroke-width:1.6px}.schematic .wire.probe{stroke:#7f838a;stroke-dasharray:5 5}.schematic .led{fill:var(--card);transition:fill .3s}.schematic .led.is-lit{fill:#e8392e}.schematic .glow{fill:#e8392e29;stroke:none}.schematic .meter{fill:var(--card)}.schematic .diode{fill:var(--navy-2)}.schematic .contact{fill:var(--card)}.schematic .meter.is-on{fill:#1aa3a124}.schematic .sub{baseline-shift:sub;font-size:10px}.schematic .sym.burnt{stroke:#d0412f;stroke-width:2.6px}.schematic .warn{fill:#c0452f}.schematic .node{fill:var(--navy-2)}.schematic text{font-family:var(--cond);letter-spacing:.02em;fill:#5d6066;font-size:15px;font-weight:600}.schematic .val{fill:var(--navy)}.schematic .sign{fill:#d0412f;font-size:18px;font-weight:700}.schematic .meter-lbl{fill:var(--navy);font-size:19px;font-weight:700}.schematic .flow{fill:none;stroke:var(--teal);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.schematic .flow-lbl{font-family:var(--mono);fill:#127a78;font-size:13.5px;font-weight:500}.maths p{color:#4f535a;margin:10px 0 6px;font-size:16.2px;line-height:22px}.maths .eq{border:1.5px solid var(--line-soft);background:var(--code-bg);font-family:var(--mono);color:var(--navy);font-variant-ligatures:none;border-radius:8px;margin:6px 0;padding:8px 12px;font-size:15px;font-weight:500;line-height:21px}.maths .eq.big{text-align:center;font-family:var(--cond);letter-spacing:.06em;padding:10px 12px;font-size:22px;font-weight:700}.maths .eq b{color:#127a78;font-weight:600}.maths .note{color:var(--muted);font-size:15px}.truth{border-collapse:collapse;width:100%;font-family:var(--mono);color:#4f535a;text-align:center;margin:8px 0 4px;font-size:14px}.truth th{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--line);padding:5px 6px;font-size:13px;font-weight:600}.truth td{border-bottom:1px solid var(--line-soft);padding:5px 6px}.truth tr.is-now td{color:var(--navy);background:#1aa3a11f}.truth .lit{color:#c0452f;font-weight:600}.band-row{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:8px;margin:8px 0 4px;display:grid}.band-row>span{border:1.5px solid var(--line-soft);background:#f6eee1cc;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;display:flex}.band-row b{font-family:var(--mono);color:var(--navy);font-size:15px;font-weight:600}.band-row small{font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.band-chip{background:var(--c);border-radius:3px;width:30px;height:14px;box-shadow:inset 0 0 0 1.5px #141a2c40}.fly-soon{color:var(--muted);margin:10px 6px 2px;font-size:13.5px;line-height:19px}.fly-list button.is-used .fly-num{color:var(--teal-deep)}html.compact .lessons .lesson{flex:0 0 172px;height:74px}html.compact .lesson-prev,html.compact .lesson-next{width:46px;height:74px}html.compact .lesson-head{margin-bottom:6px}html.compact .tutorial-pick{font-size:16px}html.compact .tutorial-menu{width:min(340px,100vw - 24px)}.circuit-head{justify-content:space-between;align-items:center;gap:12px;padding-right:4px;display:flex}.info-content .circuit-head h2{padding-right:0}.circuit-actions{align-items:center;gap:8px;display:flex}.circuit-actions .btn-ghost{border-radius:8px;place-items:center;width:36px;height:34px;transition:border-color .2s,transform .15s;display:grid}.circuit-actions .btn-ghost svg{width:19px;height:19px}.power-pill{height:34px;font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:#fdf9f1;background:linear-gradient(#34436a,#283656);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 11px;font-size:14.5px;font-weight:700;transition:background .25s,transform .15s;display:inline-flex;box-shadow:0 1px 2px #18213d40}.power-pill:hover{transform:translateY(-1px)}.power-pill:active{transform:translateY(1px)}.power-pill:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.power-pill[hidden]{display:none}.power-dot{background:#8d93a3;border-radius:50%;width:10px;height:10px;transition:background .25s,box-shadow .25s;box-shadow:0 0 0 2px #ffffff2e}.power-pill.is-on{background:linear-gradient(#1f9a98,#16807e)}.power-pill.is-on .power-dot{background:#b9ffd0;box-shadow:0 0 0 2px #ffffff4d,0 0 8px #7dffb0}.circuit-sub{min-height:20px}.circuit-diagram .schematic{margin-top:6px}.schematic .part .hit{fill:#0000;stroke:none}.schematic .part.is-adjustable{cursor:pointer;outline:none}.schematic .part.is-adjustable .hit{fill:#1aa3a112;stroke:#1aa3a199;stroke-width:1.4px;stroke-dasharray:4 3;transition:fill .2s,stroke .2s}.schematic .part.is-adjustable .val{fill:#127a78}.schematic .part.is-adjustable:hover .hit{fill:#1aa3a126;stroke:var(--teal)}.schematic .part.is-selected .hit,.schematic .part.is-selected:hover .hit{fill:#1aa3a133;stroke:var(--teal);stroke-width:2px;stroke-dasharray:none}.schematic .part.is-held .hit{fill:#1aa3a157}.schematic .part.is-adjustable:focus-visible .hit{stroke:var(--navy);stroke-width:2.4px;stroke-dasharray:none}.circuit-diagram.is-new .part.is-adjustable .hit{animation:1.1s .35s 2 part-hint}@keyframes part-hint{50%{fill:#1aa3a14d;stroke:var(--teal)}}.part-controls{background:#1aa3a10d;border:1.5px solid #1aa3a173;border-radius:10px;margin-top:10px;padding:12px 14px 14px}.part-controls[hidden]{display:none}.pc-name{font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);font-size:18px;font-weight:700;line-height:22px}.pc-desc{color:#5c6066;margin-top:3px;font-size:14.5px;line-height:19px}.pc-rows{gap:12px;margin-top:8px;display:grid}.pc-rows:empty{display:none}.pc-hold{border:1.5px solid var(--line);background:var(--card);width:100%;min-height:46px;font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:center;align-items:center;gap:9px;margin-top:2px;font-size:15.5px;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:flex}.pc-hold svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.pc-hold:hover{border-color:var(--teal)}.pc-hold.is-held{background:var(--teal);border-color:var(--teal);color:#fdf9f1;transform:translateY(1px)}.pc-hold:focus-visible{outline:2px solid var(--teal);outline-offset:2px}html.compact .circuit-actions .btn-ghost{width:34px;height:32px}.schematic .sample{fill:#ead9bd}.schematic .sample.is-insulator{fill:var(--card);stroke-dasharray:3 3}.schematic .lamp{fill:var(--card)}.schematic .lamp.is-lit{fill:#ffe27a}.schematic .body{fill:#ead9bd}.schematic .band{stroke-width:1.6px}.schematic .band.is-picked{stroke:var(--teal);stroke-width:4px}.schematic .chip{fill:var(--card)}.schematic .chip.is-on{fill:#1aa3a124}.schematic .magnet{stroke:var(--navy-2);stroke-width:1.6px}.schematic .magnet-lbl{fill:#fff;font-size:14px;font-weight:700}.schematic .wire.short{stroke:#d0412f;stroke-width:2.6px}.circuit-globals{background:#1aa3a10d;border:1.5px solid #1aa3a173;border-radius:10px;margin-top:10px;padding:10px 12px 12px}.circuit-globals[hidden]{display:none}.circuit-globals .insp-row{border-top:0;padding-top:0}.schematic .wire.rail-plus{stroke:#d0412f;stroke-width:3.2px}.schematic .wire.rail-minus{stroke:#3d6fc4;stroke-width:3.2px}
