:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;font-optical-sizing:auto;font-synthesis:none;--font-scale: 1;--bg: #f5f5f2;--surface: #fbfbf9;--surface-raised: rgba(255, 255, 253, .86);--surface-solid: #ffffff;--surface-soft: #f0f1ed;--surface-code: #f7f7f4;--text: #111318;--text-strong: #07090d;--muted: #666b73;--muted-2: #8a8f97;--line: rgba(22, 27, 35, .11);--line-strong: rgba(22, 27, 35, .19);--blue: #0a5bd7;--blue-soft: rgba(10, 91, 215, .09);--orange: #bf5b08;--orange-soft: rgba(191, 91, 8, .08);--green: #16875d;--green-soft: rgba(22, 135, 93, .09);--purple: #6545d8;--purple-soft: rgba(101, 69, 216, .09);--danger: #d20d20;--shadow-float: 0 22px 70px rgba(16, 22, 31, .18), 0 2px 14px rgba(16, 22, 31, .08);--shadow-control: 0 1px 2px rgba(16, 22, 31, .08), 0 7px 24px rgba(16, 22, 31, .06);font-size:calc(16px * var(--font-scale))}:root[data-theme=dark]{color-scheme:dark;--bg: #111214;--surface: #17191c;--surface-raised: rgba(32, 34, 38, .86);--surface-solid: #202226;--surface-soft: #25272b;--surface-code: #15171a;--text: #f1f2f4;--text-strong: #ffffff;--muted: #a9adb5;--muted-2: #838891;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .18);--blue: #5da0ff;--blue-soft: rgba(93, 160, 255, .12);--orange: #ff9b45;--orange-soft: rgba(255, 155, 69, .11);--green: #57c596;--green-soft: rgba(87, 197, 150, .12);--purple: #9d87ff;--purple-soft: rgba(157, 135, 255, .12);--danger: #ff6270;--shadow-float: 0 24px 80px rgba(0, 0, 0, .48), 0 2px 14px rgba(0, 0, 0, .24)}@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--bg: #111214;--surface: #17191c;--surface-raised: rgba(32, 34, 38, .86);--surface-solid: #202226;--surface-soft: #25272b;--surface-code: #15171a;--text: #f1f2f4;--text-strong: #ffffff;--muted: #a9adb5;--muted-2: #838891;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .18);--blue: #5da0ff;--blue-soft: rgba(93, 160, 255, .12);--orange: #ff9b45;--orange-soft: rgba(255, 155, 69, .11);--green: #57c596;--green-soft: rgba(87, 197, 150, .12);--purple: #9d87ff;--purple-soft: rgba(157, 135, 255, .12);--danger: #ff6270}}*{box-sizing:border-box}html{background:var(--bg);text-rendering:optimizeLegibility}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--blue),transparent 55%);outline-offset:2px}code,pre{font-family:SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace}.workshop-app{width:100vw;height:100dvh;display:grid;grid-template-columns:17.5rem minmax(0,1fr);background:var(--bg);overflow:hidden}.course-sidebar{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:color-mix(in srgb,var(--surface) 90%,transparent);border-right:1px solid var(--line);overflow:hidden;z-index:5}.brand-block{min-height:5.25rem;display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:0 1.1rem;border-bottom:1px solid var(--line)}.brand-icon{width:2.5rem;height:2.5rem;border-radius:.72rem;display:grid;place-items:center;color:#fff;background:var(--blue);box-shadow:var(--shadow-control)}.brand-copy{min-width:0;display:flex;flex-direction:column;gap:.15rem}.brand-copy strong{color:var(--text-strong);font-size:1.12rem;line-height:1.15;letter-spacing:-.025em}.brand-copy span{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{width:2.25rem;height:2.25rem;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:transparent;color:var(--muted)}.icon-button:hover,.icon-button.is-active{background:var(--surface-soft);color:var(--text-strong)}.sidebar-search{height:2.7rem;margin:1rem 1rem .65rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:0 .75rem;background:var(--surface-soft);color:var(--muted);border:1px solid transparent;border-radius:.9rem}.sidebar-search:focus-within{background:var(--surface-solid);border-color:color-mix(in srgb,var(--blue),transparent 55%);box-shadow:0 0 0 3px var(--blue-soft)}.sidebar-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:.82rem}.sidebar-search kbd,.shortcut-note{min-width:1.35rem;padding:.18rem .34rem;border-radius:.38rem;background:var(--surface-solid);border:1px solid var(--line);color:var(--muted-2);font-size:.66rem;text-align:center;box-shadow:0 1px 1px #0000000d}.chapter-nav{padding:.25rem .75rem 1rem;overflow:auto;scrollbar-width:thin}.chapter-item{width:100%;min-height:4.15rem;position:relative;display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.62rem .7rem;border:0;border-radius:.9rem;text-align:left;background:transparent;cursor:pointer;isolation:isolate}.chapter-item:hover{background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.chapter-highlight{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.9rem;background:var(--blue-soft);border:1px solid color-mix(in srgb,var(--blue),transparent 72%);z-index:-1}.chapter-item.is-active:after{content:"";position:absolute;top:.55rem;right:-.74rem;bottom:.55rem;width:.18rem;background:var(--blue);border-radius:999px 0 0 999px}.chapter-number{width:2.15rem;height:2.15rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:.7rem;background:var(--surface-solid);color:var(--text-strong);font-size:.91rem;font-weight:720;box-shadow:0 1px 2px #0000000a}.chapter-item.is-active .chapter-number{background:var(--blue);border-color:var(--blue);color:#fff}.chapter-item:not(.is-active) .chapter-number.is-done{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green),transparent 70%)}.chapter-copy{min-width:0;display:flex;flex-direction:column;gap:.27rem}.chapter-copy strong{font-size:.84rem;line-height:1.25;font-weight:620}.chapter-item.is-active .chapter-copy strong{color:var(--blue)}.chapter-copy span{color:var(--muted);font-size:.68rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-search{padding:3rem 1rem;text-align:center;color:var(--muted)}.empty-search p{margin:.7rem 0}.empty-search button{border:0;background:transparent;color:var(--blue);cursor:pointer}.sidebar-footer{min-height:3.4rem;display:flex;align-items:center;gap:.6rem;padding:0 1.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.sidebar-footer .shortcut-note{margin-left:auto}.app-main{min-width:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.topbar{min-height:5.25rem;display:grid;grid-template-columns:minmax(15rem,1fr) minmax(15rem,.9fr) auto;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--surface-raised);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid color-mix(in srgb,var(--surface-solid),var(--line) 62%);z-index:4}.date-cluster{display:flex;gap:1.5rem}.date-cluster>div{display:grid;grid-template-columns:auto auto auto;gap:.55rem;align-items:baseline;font-size:.73rem;white-space:nowrap}.date-cluster span,.progress-cluster>span{color:var(--muted);letter-spacing:.03em}.date-cluster strong{font-weight:560}.date-cluster em,.progress-row em{color:var(--muted);font-style:normal}.progress-cluster{min-width:13rem;display:flex;flex-direction:column;gap:.35rem}.progress-cluster>span{font-size:.7rem}.progress-row{display:grid;grid-template-columns:auto minmax(5rem,10rem) auto;gap:.75rem;align-items:center}.progress-row strong{font-size:1.22rem;line-height:1;letter-spacing:-.03em}.progress-row em{font-size:.7rem}.progress-track{height:.3rem;position:relative;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--text),transparent 88%)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--blue)}.top-actions{display:flex;align-items:center;gap:.45rem}.toolbar-button{height:2.55rem;display:flex;align-items:center;gap:.42rem;padding:0 .78rem;border:1px solid var(--line);border-radius:.72rem;background:color-mix(in srgb,var(--surface-solid) 66%,transparent);color:var(--muted);font-size:.75rem;cursor:pointer;box-shadow:0 1px 2px #0000000a}.toolbar-button:hover{color:var(--text-strong);background:var(--surface-solid)}.toolbar-more{display:flex;margin-left:.2rem;padding-left:.45rem;border-left:1px solid var(--line)}.content-grid{min-height:0;display:grid;grid-template-columns:minmax(38rem,1fr) 22.5rem;overflow:hidden}.content-scroll{min-width:0;overflow:auto;scroll-behavior:smooth;scrollbar-width:thin}.step-article{width:min(100%,62rem);min-height:100%;margin:0 auto;padding:1.9rem 2rem 3rem}.step-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:1.35rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line-strong)}.display-number{color:var(--text-strong);font-size:clamp(4.8rem,7.2vw,7.4rem);line-height:.82;font-weight:760;letter-spacing:-.075em}.hero-copy{min-width:0;padding-bottom:.15rem}.hero-kicker{display:flex;align-items:center;gap:.35rem;margin-bottom:.45rem;color:var(--muted);font-size:.72rem;font-weight:550}.hero-copy h1{margin:0;color:var(--text-strong);font-size:clamp(1.75rem,2.6vw,3rem);line-height:1.06;font-weight:710;letter-spacing:-.045em}.hero-copy p{margin:.62rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.45}.complete-button{height:2.55rem;display:flex;align-items:center;gap:.45rem;padding:0 .85rem;border:1px solid var(--line);border-radius:.72rem;background:var(--surface-solid);color:var(--muted);font-size:.76rem;cursor:pointer;box-shadow:var(--shadow-control)}.complete-button.is-complete{color:var(--green);border-color:color-mix(in srgb,var(--green),transparent 65%);background:var(--green-soft)}.outcome-section,.actions-section,.manual-section,.examples-section{padding:1.2rem 0;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:flex-start;gap:.65rem;color:var(--text-strong)}.section-title>svg{flex:0 0 auto;margin-top:.08rem}.section-title h2,.section-title h3{margin:0;font-size:.98rem;line-height:1.2;font-weight:680;letter-spacing:-.012em}.section-title span{display:block;margin-top:.18rem;color:var(--muted);font-size:.67rem;font-weight:500}.section-title.orange{color:var(--orange)}.section-title.blue{color:var(--blue)}.section-title.green{color:var(--green)}.section-title.purple{color:var(--purple)}.outcome-section>p{margin:.7rem 0 0 1.85rem;color:var(--text);font-size:.82rem;line-height:1.75}.action-list{display:grid;gap:.62rem;margin:.8rem 0 0 1.85rem;padding:0;list-style:none}.action-list li{display:grid;grid-template-columns:1.55rem minmax(7rem,.28fr) minmax(0,1fr);align-items:center;gap:.7rem}.action-list li>span{width:1.45rem;height:1.45rem;display:grid;place-items:center;border-radius:.42rem;background:var(--blue);color:#fff;font-size:.72rem;font-weight:720}.action-list strong{font-size:.82rem;font-weight:660}.action-list p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.prompt-panel{margin-top:1.2rem;border:1px solid var(--line-strong);border-radius:.95rem;overflow:hidden;background:var(--surface-solid);box-shadow:var(--shadow-control)}.prompt-header{min-height:3.65rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .85rem .72rem 1rem;border-bottom:1px solid var(--line)}.prompt-title{color:var(--blue)}.prompt-title h3{color:var(--text-strong)}.prompt-actions{display:flex;gap:.5rem}.quiet-button,.copy-button{height:2.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:0 .72rem;border-radius:.62rem;font-size:.74rem;cursor:pointer}.quiet-button{border:1px solid var(--line);background:transparent;color:var(--muted)}.copy-button{border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:620;box-shadow:0 5px 14px color-mix(in srgb,var(--blue),transparent 75%)}.prompt-tabs{display:flex;gap:.35rem;padding:.6rem .85rem 0;background:var(--surface-code)}.prompt-tabs button{padding:.42rem .7rem;border:0;border-radius:.52rem;background:transparent;color:var(--muted);font-size:.7rem;cursor:pointer}.prompt-tabs button.is-active{background:var(--surface-solid);color:var(--blue);box-shadow:0 1px 4px #00000014}.code-frame{background:var(--surface-code)}.code-meta{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem 0;color:var(--muted);font-size:.65rem;font-weight:560}.code-frame pre{max-height:19rem;margin:0;padding:.75rem 1rem 1rem;overflow:auto;white-space:pre-wrap;color:var(--text);font-size:.72rem;line-height:1.62;-moz-tab-size:2;tab-size:2}.code-footer{display:flex;align-items:center;gap:.45rem;padding:.65rem 1rem;border-top:1px solid var(--line);color:var(--green);font-size:.67rem}.command-strip{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1rem;align-items:start;padding:1rem 0 1.2rem;border-bottom:1px solid var(--line)}.section-title.compact h3{font-size:.82rem}.command-list{display:flex;flex-wrap:wrap;gap:.45rem}.command-list button{max-width:100%;display:flex;align-items:center;gap:.5rem;padding:.48rem .62rem;border:1px solid var(--line);border-radius:.56rem;background:var(--surface-solid);color:var(--muted);cursor:pointer}.command-list code{max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem}.manual-list{margin:.95rem 0 0 1.85rem;padding:0;list-style:none}.manual-list li{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.manual-list li:last-child{border-bottom:0}.manual-list span{color:var(--purple);font-size:.8rem;font-weight:720}.manual-list p{margin:0;color:var(--text);font-size:.78rem;line-height:1.68}.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem;margin-top:.95rem}.example-grid button{min-height:6.2rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;padding:.85rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface-solid);text-align:left;cursor:pointer}.example-grid button:hover{border-color:color-mix(in srgb,var(--green),transparent 50%);background:var(--green-soft)}.example-grid button>span{color:var(--green);font-size:.72rem;font-weight:720}.example-grid p{margin:0;color:var(--text);font-size:.74rem;line-height:1.55}.example-grid svg{color:var(--muted-2)}.reflection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:1.2rem 0;border-bottom:1px solid var(--line)}.pause-card,.proof-card{padding-right:1.4rem}.proof-card{padding-right:0;padding-left:1.4rem;border-left:1px solid var(--line)}.pause-card>p{margin:.72rem 0 0 1.85rem;color:var(--muted);font-size:.75rem;line-height:1.7}.proof-card ul{display:grid;gap:.45rem;margin:.72rem 0 0 1.85rem;padding:0;list-style:none}.proof-card li{display:flex;align-items:flex-start;gap:.45rem;color:var(--text);font-size:.72rem;line-height:1.45}.proof-card li svg{flex:0 0 auto;margin-top:.12rem;color:var(--green)}.source-section{padding:1rem 0 1.2rem}.source-heading{display:flex;align-items:center;gap:.45rem}.source-heading strong{font-size:.8rem}.source-heading span{color:var(--muted);font-size:.68rem}.source-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.source-links a{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .62rem;border-radius:.55rem;background:var(--blue-soft);color:var(--blue);font-size:.68rem;font-weight:560;text-decoration:none}.source-links a:hover{text-decoration:underline}.step-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-top:1.2rem}.step-navigation button{width:max-content;min-height:2.5rem;display:flex;align-items:center;gap:.42rem;padding:0 .78rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface-solid);cursor:pointer}.step-navigation button:last-child{justify-self:end}.step-navigation button:disabled{opacity:.35;cursor:not-allowed}.step-navigation>div{display:flex;flex-direction:column;align-items:center;gap:.1rem}.step-navigation span{color:var(--muted);font-size:.63rem}.step-navigation strong{font-size:.78rem}.utility-rail{overflow:auto;padding:1.1rem 1rem 2rem;border-left:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);scrollbar-width:thin}.rail-section{margin-bottom:.9rem;padding:1rem;border:1px solid var(--line);border-radius:.92rem;background:var(--surface-solid)}.rail-heading{display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.rail-heading h2{margin:0;color:var(--text-strong);font-size:.84rem;font-weight:680}.rail-heading.orange{color:var(--orange)}.rail-heading.blue{color:var(--blue)}.toolchain-card ul{display:grid;gap:.65rem;margin:.8rem 0 0;padding:0;list-style:none}.toolchain-card li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.62rem;align-items:start}.status-dot{width:.48rem;height:.48rem;margin-top:.34rem;border-radius:50%;background:var(--muted-2);box-shadow:0 0 0 .22rem color-mix(in srgb,currentColor,transparent 86%)}.status-dot.blue{background:var(--blue);color:var(--blue)}.status-dot.orange{background:var(--orange);color:var(--orange)}.status-dot.green{background:var(--green);color:var(--green)}.status-dot.purple{background:var(--purple);color:var(--purple)}.toolchain-card strong{display:block;font-size:.74rem;font-weight:620}.toolchain-card p{margin:.14rem 0 0;color:var(--muted);font-size:.65rem}.correction-card{border-color:color-mix(in srgb,var(--orange),transparent 62%);background:color-mix(in srgb,var(--surface-solid) 92%,var(--orange-soft))}.correction-item{display:grid;grid-template-columns:2.45rem minmax(0,1fr);gap:.65rem;padding:.85rem 0;border-bottom:1px solid color-mix(in srgb,var(--orange),transparent 74%)}.correction-item:last-child{padding-bottom:0;border-bottom:0}.correction-item>span{color:var(--orange);font-size:1.35rem;line-height:1;font-weight:760;letter-spacing:-.045em}.correction-item strong{display:block;color:var(--text-strong);font-size:.72rem;line-height:1.35}.correction-item p{margin:.35rem 0 0;color:var(--muted);font-size:.65rem;line-height:1.6}.scope-card{border-color:color-mix(in srgb,var(--blue),transparent 60%);background:color-mix(in srgb,var(--surface-solid) 94%,var(--blue-soft))}.scope-count{display:block;margin-top:.9rem;color:var(--blue);font-size:2.2rem;line-height:1;letter-spacing:-.045em}.scope-label{margin:.25rem 0 .8rem;color:var(--blue);font-size:.74rem;font-weight:580}.scope-card dl{display:grid;gap:.38rem;margin:0}.scope-card dl>div{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.5rem}.scope-card dt,.scope-card dd{margin:0;font-size:.65rem}.scope-card dt{color:var(--muted)}.scope-card dd{color:var(--text)}.scope-disclaimer{margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid var(--line);color:var(--muted);font-size:.62rem;line-height:1.5}.app-footer{min-height:2.45rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:0 1.3rem;border-top:1px solid var(--line);background:var(--surface-raised);color:var(--muted);font-size:.65rem}.app-footer span:last-child{justify-self:end;display:flex;align-items:center;gap:.35rem}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;border:0;background:#04070c47;cursor:default}.sheet{position:fixed;top:.7rem;right:.7rem;bottom:.7rem;z-index:31;width:min(31rem,calc(100vw - 1.4rem));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%);border:1px solid color-mix(in srgb,white,var(--line) 62%);border-radius:1.35rem;box-shadow:var(--shadow-float);transform-origin:top right}.sheet-large{width:min(52rem,calc(100vw - 1.4rem))}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 .35rem;color:var(--blue);font-size:.61rem;font-weight:690;letter-spacing:.12em}.sheet-header h2{margin:0;color:var(--text-strong);font-size:1.32rem;line-height:1.15;letter-spacing:-.03em}.sheet-header p:not(.eyebrow){margin:.42rem 0 0;color:var(--muted);font-size:.73rem;line-height:1.5}.sheet-content{overflow:auto;padding:1.15rem 1.25rem 1.5rem;scrollbar-width:thin}.sheet-progress{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;margin-bottom:1rem}.sheet-progress>div:first-child{display:flex;flex-direction:column}.sheet-progress strong{font-size:1.2rem;letter-spacing:-.03em}.sheet-progress span{color:var(--muted);font-size:.65rem}.environment-list{display:grid;gap:.6rem}.environment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.7rem;padding:.85rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-solid)}.environment-row.is-checked{border-color:color-mix(in srgb,var(--green),transparent 60%);background:var(--green-soft)}.check-control{width:1.6rem;height:1.6rem;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--muted-2);cursor:pointer}.environment-row.is-checked .check-control{color:var(--green)}.environment-row strong{display:block;font-size:.79rem}.environment-row p{margin:.2rem 0 .5rem;color:var(--muted);font-size:.68rem;line-height:1.45}.environment-row code{display:block;color:var(--blue);font-size:.65rem;white-space:pre-wrap;word-break:break-word}.settings-stack{display:grid;gap:1.25rem}.settings-stack section{display:grid;gap:.7rem}.settings-stack h3,.help-sheet h3{margin:0;font-size:.78rem;font-weight:650}.segmented-control{display:grid;gap:.25rem;padding:.25rem;border-radius:.75rem;background:var(--surface-soft)}.segmented-control.three{grid-template-columns:repeat(3,1fr)}.segmented-control button{min-height:2.55rem;display:flex;align-items:center;justify-content:center;gap:.38rem;border:0;border-radius:.56rem;background:transparent;color:var(--muted);font-size:.72rem;cursor:pointer}.segmented-control button.is-active{color:var(--text-strong);background:var(--surface-solid);box-shadow:0 1px 5px #0000001a}.font-scale-control{min-height:3.3rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:0 .85rem;border-radius:.8rem;background:var(--surface-solid);border:1px solid var(--line)}.font-scale-control input{width:100%;accent-color:var(--blue)}.font-scale-control strong{font-size:.7rem}.wide-setting-button,.help-actions button,.expanded-toolbar button{min-height:2.75rem;display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface-solid);color:var(--text);font-size:.74rem;cursor:pointer}.wide-setting-button{color:#fff;background:var(--blue);border-color:var(--blue)}.accessibility-stack{gap:.65rem}.toggle-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-solid);cursor:pointer}.toggle-row strong{display:block;font-size:.78rem}.toggle-row p{margin:.2rem 0 0;color:var(--muted);font-size:.68rem;line-height:1.45}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle{width:2.7rem;height:1.6rem;padding:.15rem;display:flex;align-items:center;border-radius:999px;background:color-mix(in srgb,var(--text),transparent 80%)}.toggle span{width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .18s ease-out}.toggle-row input:checked+.toggle{background:var(--green)}.toggle-row input:checked+.toggle span{transform:translate(1.1rem)}.accessibility-note{display:flex;align-items:center;gap:.45rem;padding:.75rem;color:var(--muted);font-size:.67rem}.help-sheet{display:grid;gap:1.4rem}.help-sheet section{display:grid;gap:.75rem}.help-sheet dl{display:grid;gap:.45rem;margin:0}.help-sheet dl>div{display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:center;min-height:2.3rem;padding:0 .65rem;border-radius:.62rem;background:var(--surface-soft)}.help-sheet dt,.help-sheet dd{margin:0;font-size:.7rem}.help-sheet kbd{padding:.18rem .38rem;border-radius:.35rem;background:var(--surface-solid);border:1px solid var(--line);box-shadow:0 1px 2px #00000014}.help-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.help-principle{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:.9rem;border-radius:.85rem;background:var(--green-soft);color:var(--green)}.help-principle strong{display:block;font-size:.76rem}.help-principle p{margin:.25rem 0 0;color:var(--text);font-size:.68rem;line-height:1.5}.expanded-prompt{display:grid;gap:.75rem}.expanded-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.expanded-toolbar span{color:var(--muted);font-size:.7rem}.expanded-toolbar button{min-height:2.4rem;padding:0 .75rem;color:#fff;border-color:var(--blue);background:var(--blue)}.expanded-prompt pre{margin:0;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface-code);color:var(--text);white-space:pre-wrap;font-size:.74rem;line-height:1.7}.toast{position:fixed;left:50%;bottom:1.2rem;z-index:50;min-height:2.75rem;display:flex;align-items:center;gap:.55rem;padding:.6rem .9rem;border:1px solid color-mix(in srgb,white,var(--line) 50%);border-radius:999px;background:var(--surface-raised);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);color:var(--text-strong);font-size:.75rem;box-shadow:var(--shadow-float);transform:translate(-50%)}.toast svg{color:var(--green)}.sidebar-collapsed{grid-template-columns:5rem minmax(0,1fr)}.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar-search input,.sidebar-collapsed .sidebar-search kbd,.sidebar-collapsed .chapter-copy,.sidebar-collapsed .sidebar-footer span,.sidebar-collapsed .sidebar-footer .shortcut-note{display:none}.sidebar-collapsed .brand-block{grid-template-columns:1fr;justify-items:center;padding:.45rem 0}.sidebar-collapsed .brand-block .icon-button{width:2rem;height:1.55rem}.sidebar-collapsed .sidebar-search{grid-template-columns:1fr;justify-items:center;margin-inline:.65rem;padding:0}.sidebar-collapsed .chapter-item{grid-template-columns:1fr;justify-items:center;min-height:3.35rem;padding:.55rem}.sidebar-collapsed .sidebar-footer{justify-content:center;padding:0}[data-reduce-transparency=true] .topbar,[data-reduce-transparency=true] .sheet,[data-reduce-transparency=true] .toast{background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}[data-high-contrast=true]{--line: color-mix(in srgb, var(--text), transparent 60%);--line-strong: color-mix(in srgb, var(--text), transparent 36%);--muted: color-mix(in srgb, var(--text), transparent 20%)}[data-high-contrast=true] .rail-section,[data-high-contrast=true] .prompt-panel,[data-high-contrast=true] .chapter-highlight{border-width:2px}[data-reduce-motion=true] *,[data-reduce-motion=true] *:before,[data-reduce-motion=true] *:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media(prefers-reduced-transparency:reduce){.topbar,.sheet,.toast{background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){:root{--line: color-mix(in srgb, var(--text), transparent 55%);--line-strong: color-mix(in srgb, var(--text), transparent 30%);--muted: color-mix(in srgb, var(--text), transparent 18%)}}@media(max-width:1220px){.workshop-app{grid-template-columns:15rem minmax(0,1fr)}.content-grid{grid-template-columns:minmax(34rem,1fr) 18rem}.topbar{grid-template-columns:minmax(12rem,1fr) minmax(11rem,.75fr) auto;gap:.8rem;padding-inline:1rem}.date-cluster>div:nth-child(2),.toolbar-button{display:none}.step-article{padding-inline:1.45rem}}@media(max-width:980px){body{overflow:auto}.workshop-app,.sidebar-collapsed{height:auto;min-height:100dvh;display:block}.course-sidebar{height:auto;position:sticky;top:0;grid-template-rows:auto auto;background:var(--surface-raised);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-right:0;border-bottom:1px solid var(--line)}.brand-block{min-height:4.35rem}.sidebar-search,.chapter-nav,.sidebar-footer{display:none}.app-main{height:auto;display:block}.topbar{position:sticky;top:4.35rem;min-height:4rem;grid-template-columns:1fr auto}.date-cluster,.toolbar-button,.toolbar-more .icon-button:not(:last-child){display:none}.content-grid{display:block}.content-scroll{overflow:visible}.step-article{padding:1.25rem 1rem 2rem}.utility-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:1rem;border-left:0;border-top:1px solid var(--line);overflow:visible}.rail-section{margin:0}.app-footer{display:flex;justify-content:space-between}.app-footer span:nth-child(2){display:none}}@media(max-width:720px){.progress-cluster{min-width:0}.progress-row{grid-template-columns:auto minmax(4rem,1fr)}.progress-row em{display:none}.step-hero{grid-template-columns:auto minmax(0,1fr);align-items:start}.display-number{font-size:3.5rem}.complete-button{grid-column:1 / -1;width:100%;justify-content:center}.action-list{margin-left:0}.action-list li{grid-template-columns:1.55rem minmax(0,1fr)}.action-list p{grid-column:2}.prompt-header{align-items:flex-start;flex-direction:column}.prompt-actions{width:100%}.prompt-actions button{flex:1}.command-strip,.reflection-grid,.example-grid,.utility-rail{grid-template-columns:1fr}.proof-card{margin-top:1rem;padding:1rem 0 0;border-left:0;border-top:1px solid var(--line)}.sheet{top:.35rem;right:.35rem;bottom:.35rem;width:calc(100vw - .7rem);border-radius:1.1rem}.app-footer span:last-child{display:none}}@media print{body{overflow:visible;background:#fff}.workshop-app{display:block;height:auto;background:#fff}.course-sidebar,.topbar,.utility-rail,.app-footer,.complete-button,.prompt-actions,.prompt-tabs,.step-navigation,.toast,.sheet,.sheet-scrim{display:none!important}.app-main,.content-grid,.content-scroll{display:block;height:auto;overflow:visible}.step-article{width:100%;padding:1rem}.code-frame pre{max-height:none}}
