:root{--navy:#20205e;--ink:#252b49;--muted:#656d88;--violet:#7454d6;--violet-dark:#5d3fc1;--blue:#dfeafe;--line:#dce3f3;--surface:#fff;--bg:#f5f7fc;--success:#236d81;--radius:16px;font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-size:17px;line-height:1.85;overflow-wrap:break-word}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{vertical-align:middle}button:disabled{cursor:default;opacity:.4}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #efb737;outline-offset:4px}button,input,textarea{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.55}p{margin-bottom:1em}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}code{overflow-wrap:anywhere}pre code{overflow-wrap:normal}pre{tab-size:4}summary{cursor:pointer}details>summary::marker{color:var(--violet)}[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:16px;z-index:1000;transform:translateY(-180%);background:#fff;border:2px solid var(--violet);border-radius:8px;padding:8px 15px}.skip-link:focus{transform:translateY(0)}.student-topbar{height:80px;padding:0 max(28px,calc((100vw - 1320px)/2));background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 2px 0 #10103615}.student-brand{display:flex;align-items:center;gap:13px;font-size:20px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:#fff;color:var(--navy);width:40px;height:40px;border-radius:11px;transform:rotate(-8deg);font-weight:900;font-size:23px;line-height:1}.brand-mark svg{transform:rotate(8deg)}.student-toplinks{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:700}.student-toplinks>a{display:flex;align-items:center;gap:8px;padding:8px 0}.student-toplinks>a:hover{color:#c8d9ff}.text-size{background:#ffffff13;border:1px solid #ffffff40;color:white;min-width:50px;height:41px;border-radius:8px;padding:0 10px;font-weight:700}.text-size[aria-pressed=true]{background:#fff;color:var(--navy)}.student-main{max-width:1320px;margin:0 auto;padding:40px 40px 0;min-height:calc(100vh - 80px)}.student-footer{display:flex;justify-content:center;gap:14px;margin:70px 0 0;padding:24px 0 28px;border-top:1px solid #e4e8f3;font-size:12px;color:#7c829b;text-align:center}.button,.start-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;border:1px solid transparent;border-radius:10px;padding:12px 25px;background:var(--violet);color:#fff;font-weight:800;font-size:16px;line-height:1.55;box-shadow:0 5px 0 #583da318;transition:background .15s,transform .15s}.button:hover,.start-button:hover{background:var(--violet-dark);transform:translateY(-1px)}.button.secondary{border-color:#b9b0df;background:#fff;color:#5b45a3;box-shadow:none}.button.secondary:hover{background:#f4f0ff}.button.small{min-height:44px;font-size:14px;padding:9px 16px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:8px;min-width:44px;min-height:44px}.loading,.error-panel{padding:70px 30px;text-align:center;max-width:800px;margin:0 auto}.loading{color:var(--muted)}.error-panel h1{font-size:26px}.error-panel p{color:var(--muted)}
.student-home{position:relative;padding:20px 0 0}.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:520px}.welcome-art{position:relative;min-width:0;padding:20px 0;display:grid;place-items:center}.welcome-art:before{content:"";position:absolute;inset:14% -8% 12%;z-index:-1;background:repeating-linear-gradient(30deg,transparent 0 55px,#dae7fb 56px 57px,transparent 58px 110px),repeating-linear-gradient(-30deg,transparent 0 55px,#dae7fb 56px 57px,transparent 58px 110px);mask-image:radial-gradient(ellipse,#000 25%,transparent 70%)}.welcome-art svg{width:100%;max-width:560px;height:auto;filter:drop-shadow(0 15px 20px #32447a0c)}.welcome-panel{padding:38px 36px;background:#e6efffdd;border:2px solid #fff;border-radius:20px;box-shadow:0 14px 38px #35477b13}.welcome-label{display:inline-flex;align-items:center;gap:8px;color:#575d98;font-size:13px;font-weight:800;letter-spacing:.08em;margin-bottom:15px}.welcome-panel h1{font-size:35px;line-height:1.6;letter-spacing:.01em;margin-bottom:15px;color:var(--navy)}.welcome-panel>p{font-size:16px;color:#596783;line-height:1.95}.home-progress{padding:17px 0 21px;margin:17px 0 8px;border-top:1px solid #c5d5f2}.progress-caption{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;gap:12px;color:#515d7c;font-weight:700}.progress-caption b,.progress-caption strong{font-size:23px;color:var(--navy)}.progress-caption small{font-size:14px;font-weight:500}.progress-track{height:10px;background:#cbd9f3;border-radius:20px;overflow:hidden;margin-top:10px}.progress-track>span,.progress-track>i{height:100%;display:block;background:linear-gradient(90deg,#8c66e1,#647fdf);border-radius:inherit;min-width:0}.start-button{display:flex;width:100%;min-height:73px;font-size:20px;letter-spacing:.04em;border-radius:12px;background:linear-gradient(100deg,#9160d7,#6654d4);box-shadow:0 8px 20px #7761c52e}.start-button:hover{background:linear-gradient(100deg,#8052c4,#5746c2)}.home-secondary{display:flex;justify-content:center;gap:8px;margin-top:18px;font-size:15px;color:#54478b;font-weight:700}.home-secondary:hover{text-decoration:underline;text-underline-offset:5px}.home-recent{margin:28px 0 0;padding:18px 23px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.home-recent a{font-weight:700;color:#5f4aa2}.home-recent p{margin:0;color:var(--muted);font-size:14px}
.catalog-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.catalog-header h1{font-size:28px;margin-bottom:6px;color:var(--navy)}.catalog-header p{font-size:14px;color:var(--muted);margin:0}.lesson-search{display:flex;align-items:center;gap:9px;min-width:280px;background:#fff;border:1px solid #cfd7eb;border-radius:9px;padding:0 13px;color:#727b98}.lesson-search input{width:100%;min-height:45px;padding:7px 0;border:0;background:transparent;font-size:14px;outline:none}.lesson-search:focus-within{outline:3px solid #d5caf7;border-color:#8e78c9}.catalog-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:36px;align-items:start}.chapter-list{border:1px solid #dce1ef;background:#e7ebf4;border-radius:12px;overflow:hidden;max-height:calc(100vh - 230px);min-height:420px;overflow-y:auto;scrollbar-color:#b3bdd5 #e9edf5;scrollbar-width:thin;overscroll-behavior:contain}.chapter-list nav{display:grid;gap:5px;padding:5px}.chapter-row{position:relative;display:grid;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:10px;min-height:93px;padding:18px 16px;background:#fff;border:2px solid transparent;border-radius:8px}.chapter-row:hover{background:#f7f5ff;border-color:#d9cff3}.chapter-row[aria-current]{background:#eff1ff;border-color:#8871cd;box-shadow:0 2px 7px #61519810}.chapter-number{font-size:25px;font-weight:900;color:#454969;text-align:center;line-height:1.3;font-variant-numeric:tabular-nums}.chapter-row-title{font-size:14px;font-weight:700;line-height:1.7;padding-top:5px}.chapter-status{position:absolute;right:8px;top:2px;font-size:9px;font-weight:800;color:#9297a9;line-height:1.7;letter-spacing:.02em}.chapter-status.cleared{color:#3a7c96}.chapter-status.current{color:#7654c1}.chapter-detail{min-width:0;padding-top:5px}.mission-banner{position:relative;padding:26px 28px 25px;background:#e8effe;border:1px solid #ccdbf4;border-radius:15px;box-shadow:0 5px 0 #dfe5f166}.mission-mark{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;color:#5e6c9a;font-size:13px;font-weight:800;letter-spacing:.04em}.mission-mark svg{color:#7661c4}.mission-banner h2{font-size:25px;color:var(--navy);margin-bottom:12px}.mission-banner p{font-size:15px;color:#596783;line-height:1.9;margin-bottom:8px}.mission-banner .mission-goal{color:#454d76;margin:15px 0 0;padding-top:14px;border-top:1px solid #c7d8f1;font-size:15px}.mission-goal strong{color:#45558d;font-size:12px;display:block;margin-bottom:4px}.mission-summary{margin:24px 0 15px;font-size:14px;color:#737b96}.mission-steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mission-step{display:flex;align-items:center;min-width:0;gap:15px;padding:19px 16px;background:#fff;border:1px solid #e1e4ef;border-radius:12px;box-shadow:0 5px 10px #28315908;min-height:95px;transition:transform .15s,border-color .15s}.mission-step:hover{transform:translateY(-2px);border-color:#a996d6}.mission-step-number{font-size:25px;color:#7c7d96;font-weight:800;line-height:1;flex:0 0 28px;text-align:center}.mission-step>div{flex:1;min-width:0}.mission-step strong{display:block;font-size:15px;color:#353d63}.mission-step p{font-size:12px;line-height:1.5;color:#9195a8;margin:4px 0 0}.step-check{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;border:1px solid #e3e6f0;color:#d4d8e4;font-size:13px;line-height:1}.mission-step.is-done .step-check{color:#fff;background:#86a9e8;border-color:#86a9e8}.mission-step.is-done .mission-step-number{color:#6478a4}.mission-start{display:flex;justify-content:flex-end;margin-top:25px}.mission-start .button{min-width:220px}
.lesson-topline{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#747c98;margin-bottom:12px;gap:15px}.lesson-topline>a{display:flex;align-items:center;gap:8px;font-weight:700;color:#676087}.lesson-topline>a:hover{text-decoration:underline}.lesson-title{margin:0 0 24px;font-size:27px;color:var(--navy)}.lesson-rail{display:flex;justify-content:center;gap:0;margin:0 auto 30px;max-width:920px}.rail-step{position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;flex:1;min-width:0;padding:0 4px;color:#8b91a8;font-size:13px;font-weight:700;line-height:1.5;text-align:center}.rail-step:before{content:"";position:absolute;top:16px;height:2px;left:-50%;width:100%;background:#d5dcee;z-index:0}.rail-step:first-child:before{display:none}.rail-dot{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid #d1d9ec;background:var(--bg);color:#9098af;font-size:13px;font-weight:800;line-height:1}.rail-step.active{color:#604ab0}.rail-step.active .rail-dot{background:var(--violet);border-color:var(--violet);color:#fff;box-shadow:0 0 0 5px #e9e2fb}.rail-step.is-done .rail-dot{background:#b1c7ef;border-color:#b1c7ef;color:#fff}.rail-step.active.is-done .rail-dot{background:var(--violet);border-color:var(--violet)}.rail-step:hover .rail-label{text-decoration:underline;text-underline-offset:4px}.focus-panel{max-width:1050px;margin:0 auto;background:#fff;border:1px solid #e0e5f0;border-radius:17px;box-shadow:0 8px 23px #353d6808;overflow:hidden}.focus-header{padding:24px 33px 23px;background:#eaf0fe;border-bottom:1px solid #dce4f7}.focus-kicker{display:block;color:#6d72a1;font-size:12px;font-weight:800;margin-bottom:6px;letter-spacing:.05em}.focus-header h2{font-size:24px;margin:0;color:#323669}.focus-body{padding:30px 34px 34px;min-width:0}.focus-body>p{line-height:2;color:#4a526f}.lesson-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e6e9f3;padding:22px 32px;background:#fdfdff}.lesson-nav .button{min-width:180px}.lesson-nav .quiet-button,.lesson-nav>a:not(.button){font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:8px;color:#7b7792}.coach-note{display:flex;align-items:flex-start;gap:19px;margin:0 0 26px}.coach-icon{display:grid;place-items:center;flex:0 0 51px;width:51px;height:51px;background:#e2ebfd;border:2px solid #fff;border-radius:14px;color:#6374aa;box-shadow:0 0 0 1px #d1dcf2;font-size:23px}.coach-icon svg{width:34px;height:34px}.coach-message{position:relative;background:#f0f4fd;border:1px solid #e2e8f7;padding:20px 23px;border-radius:3px 13px 13px;flex:1}.coach-message:before{content:"";position:absolute;left:-10px;top:13px;width:16px;height:16px;transform:rotate(45deg);background:#f0f4fd;border-left:1px solid #e2e8f7;border-bottom:1px solid #e2e8f7}.coach-message p{position:relative;margin:0 0 9px;font-size:17px;color:#465174;line-height:1.95}.coach-message p:last-child{margin-bottom:0}.concept-code,.code-block{margin:24px 0;border:1px solid #d4dcef;border-radius:11px;overflow:hidden;background:#f8faff}.concept-code pre,.code-block pre{margin:0;padding:22px 25px;overflow:auto;color:#364366;font:16px/1.9 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.code-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 17px;border-bottom:1px solid #dbe2f2;font-size:12px;color:#737b9a;background:#edf2fc}.code-label>span{display:flex;align-items:center;gap:8px}.copy-button{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid #c9d1e8;color:#6c6398;padding:5px 10px;border-radius:5px;font-size:12px}.kw{color:#8b4cb6}.str{color:#9c5f29}.num{color:#2b8e9e}.comment{color:#818ca5}.meaning-list{margin:24px 0;padding:0;list-style:none;display:grid;gap:10px}.meaning-list>li{padding:13px 17px;background:#f8f9fd;border:1px solid #e5e9f3;border-radius:8px;line-height:1.9;font-size:16px}.meaning-list code{color:#6850a8}.prediction-label{display:block;font-size:15px;color:#5e6683;margin:22px 0 10px;font-weight:700}.prediction-input{display:block;width:100%;resize:vertical;min-height:110px;border:1px solid #ccd5eb;border-radius:10px;padding:15px 18px;background:#fcfdff;line-height:1.8;font-size:16px}.prediction-input::placeholder{color:#9b9fb3}.expected{background:#f0f6ff;border:1px solid #d6e4f9;border-radius:10px;margin:23px 0;padding:18px 22px;color:#526a8a}.expected>strong{display:block;font-size:14px;margin-bottom:8px}.expected pre{font-size:16px;line-height:1.8;margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.expected summary,.hint summary{font-size:14px;font-weight:700}.expected details{margin:8px 0 0}.hint{padding:15px 18px;background:#fffbef;border:1px solid #eee3b7;border-radius:9px;color:#89723d;margin:22px 0}.hint p{font-size:15px;line-height:1.9;margin:10px 0 0}.studio-task-heading{font-size:20px;color:#333c69;margin:0 0 14px}.studio-check-label{display:flex;align-items:flex-start;gap:12px;border:1px solid #bdcdeb;background:#edf4ff;border-radius:10px;padding:18px 20px;margin-top:25px;font-size:16px;font-weight:700;cursor:pointer;color:#4b5f88}.studio-check-label input{width:21px;height:21px;flex:0 0 21px;margin:4px 0 0;accent-color:var(--violet)}.studio-check-label:has(input:checked){background:#eaf5f9;border-color:#a6cedb;color:#2e6c82}.experiment-switch{display:flex;gap:10px;margin:0 0 21px;flex-wrap:wrap}.experiment-switch button{background:#fff;border:1px solid #d4daeb;color:#7b7f97;padding:10px 18px;border-radius:8px;font-size:15px;font-weight:700;min-height:44px}.experiment-switch button.active{background:#ede8fc;border-color:#a995db;color:#6747af}.experiment-card{background:#fafaff;border:1px solid #e0d9f3;border-radius:12px;padding:25px}.experiment-card h3{font-size:21px;color:#51457d;margin-bottom:13px}.experiment-card p{font-size:17px;line-height:2;color:#575b78}.experiment-card details{margin-top:23px;border-top:1px solid #e1daef;padding-top:16px}.experiment-card summary{font-size:14px;color:#7b669e;font-weight:700}.experiment-card details p{font-size:15px;margin:13px 0 0}.experiment-card>span{color:#8b7cb1;font-size:12px;font-weight:800}.experiment-note{font-size:14px;color:#7b7e96;line-height:1.8;margin:18px 0}.quiz-card{border:1px solid #dfe4f1;border-radius:12px;padding:23px;margin:0 0 22px;background:#fff}.quiz-card h3{font-size:18px;line-height:1.9;margin:0 0 17px;color:#363f66}.quiz-number{display:block;color:#8c83ac;font-size:11px;letter-spacing:.1em;margin-bottom:4px}.quiz-options{display:grid;gap:10px}.quiz-choice{display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:13px 16px;background:#f7f9fd;border:1px solid #dde3f1;border-radius:8px;font-size:16px;line-height:1.8;min-height:51px}.quiz-choice:hover{background:#f0edfc;border-color:#c1b2e4}.quiz-choice>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:7px;background:#e8edf7;color:#818caa;font-weight:800;font-size:13px;line-height:1}.quiz-choice.correct{background:#edf6f9;border-color:#89bfce;color:#2b677e}.quiz-choice.correct>span{background:#5d9db3;color:#fff}.quiz-choice.wrong{background:#fff4ee;border-color:#e0b49c;color:#a16145}.quiz-choice.wrong>span{background:#e8c1aa;color:#81523c}.quiz-feedback{background:#eef5fa;padding:12px 15px;margin:16px 0 0;color:#3d7187;border-radius:7px;font-size:14px;line-height:1.9}.quiz-feedback.wrong{background:#fff5ed;color:#9a6c50}.completion-gates{margin-top:22px;padding:19px 22px;background:#f3f0fc;border:1px solid #e0d8f2;border-radius:10px;font-size:15px;color:#726394}.completion-gates p{margin:0 0 10px}.completion-gates p:last-child{margin:0}.completion-gates a{text-decoration:underline;text-underline-offset:4px;font-weight:700}.completion-gates li{line-height:1.9}.complete-banner{text-align:center;padding:27px 25px;border-radius:12px;background:#eaf3fd;border:1px solid #c8daf5;margin-top:25px;color:#4d69a0}.complete-banner h3{font-size:23px;color:#5051a0;margin-bottom:10px}.complete-banner p{font-size:16px;margin:0;line-height:1.9}.empty{padding:35px 20px;text-align:center;color:#9298ae;font-size:15px}
/* In-lesson practice tools share the same child-facing palette. */
.cloze-workbench{margin:0;border-color:#dce2f3;border-radius:12px}.cw-heading{padding-top:23px}.cw-eyebrow{color:#8a80af;font-size:11px}.cw-heading h3{color:#4a426c;font-size:20px}.cw-count{color:#8370aa;background:#efe9fa;font-size:12px}.cw-intro{color:#626b87!important;line-height:1.95!important}.cw-file-target{color:#7f82a0;font-size:13px!important}.cw-file-target code{color:#64578c}.cw-prompts>li{background:#f5f7fd;border-color:#e5e9f5}.cw-question label{color:#505a7b;font-size:16px}.cw-question-number,.cw-blank-number{background:#e3eafa;color:#6b76a4}.cw-hint,.cw-hint summary{color:#8c79b0}.cw-hint p{color:#7b7293!important}.cw-blank-feedback{color:#a06c49!important}.cw-blank-feedback.is-correct{color:#367e92!important}.cw-code-heading{color:#999eb2}.cw-code-heading>span:first-child{color:#7783a3}.cw-code{background:#f3f6fd;border-color:#e0e6f3;color:#3c496e}.cw-blank{border-color:#bac8e6;box-shadow:0 2px 4px #3954820b}.cw-code-input{background:#fff;color:#574276;font-size:16px;min-height:28px}.cw-blank-number{border-color:#d4dff2;color:#7984a9;font-size:11px;min-width:25px}.cw-blank:focus-within{outline-color:#ae93e9}.cw-blank.is-correct{border-color:#79aebe}.cw-blank.is-correct .cw-blank-number{background:#d5eaf1;color:#598293}.cw-blank.is-correct .cw-code-input{background:#f0f8fa}.cw-blank.is-wrong{border-color:#dfa788}.cw-blank.is-wrong .cw-blank-number{background:#f6e0d0;color:#a37553}.cw-blank.is-wrong .cw-code-input{background:#fff8f3}.cw-check{background:var(--violet);border-color:var(--violet);font-size:16px;min-height:48px;padding:11px 19px;border-radius:8px}.cw-check:hover{background:var(--violet-dark)}.cw-reveal{color:#9585ad;font-size:13px}.cw-status{color:#8a849a!important;min-height:24px}.cw-status.is-complete{color:#467e93!important}.cw-ready{background:#eff5fe;border-color:#d7e3f7}.cw-ready.is-revealed{background:#fffaf0;border-color:#ede2c7}.cw-ready-heading>div>span{color:#7d8fb5;font-size:12px}.cw-ready-heading h4{color:#4f598c;font-size:19px}.cw-copy{color:#7256ad;border-color:#c8b7e4;font-size:14px;border-radius:7px;min-height:44px;padding:10px 14px}.cw-copy:hover{background:#f7f2ff}.cw-answer-code{border-color:#d8e1f3;color:#52638b;font-size:15px}.cw-studio-steps{font-size:14px;color:#65789f}.cw-copy-feedback{color:#6a7ea5!important}.cw-revealed-note{color:#9b8962!important}.cw-check:focus-visible,.cw-copy:focus-visible,.cw-reveal:focus-visible{outline-color:#efb737}.cw-actions{gap:17px}.cw-code-input::placeholder{color:#aaaec1;font-size:12px}
.session-starter{margin:0 0 26px;border-color:#d9e3f3;background:#f2f7ff;padding:23px;border-radius:12px}.session-starter>div>strong{color:#4b5b83;font-size:18px}.session-starter p{color:#657492;font-size:15px!important}.session-starter .button{margin:3px 0 8px}.focus-file{background:#fff;border-left-color:#91a9dc;border-radius:0 7px 7px 0;padding:15px 18px}.focus-file>span{color:#8595b8}.focus-file>code{color:#515f89}.focus-file>b{background:#e8effc;color:#7793be}.focus-file p{color:#7c89a6;font-size:14px!important}.support-files,.session-debug,.session-reflection{border-color:#e4e6f1;margin:26px 0 0;padding-top:23px}.support-files>h3,.session-debug>h3,.session-reflection>h3{font-size:19px;color:#5d5385}.support-files p,.session-debug p,.session-reflection p{font-size:15px!important;color:#72738d}.support-files details,.session-debug details{border-color:#e2ddf0;background:#fcfbff}.support-files summary,.session-debug summary{color:#7a6d9f;font-size:14px}.session-code{border-color:#dfd9ed}.session-code>div{background:#ede9f7;color:#817197}.session-code button{border-color:#c9bddc;color:#84709b}.session-code pre{background:#faf9fd;color:#645878;font-size:14px}.session-reflection li{color:#6e6685;font-size:15px;padding:7px 0;line-height:1.9}.session-reflection ol{padding-left:24px}.support-files>summary{color:#7d7397;padding:10px 0;font-size:14px;font-weight:700}.studio-workspace .visual-guide{margin:25px 0;border-color:#d9e2f3}.vg-heading h3{color:#4b5c83;font-size:20px}.vg-heading .extras-eyebrow{color:#929db9;font-size:10px}.vg-total{background:#e9effc;color:#8192b8;font-size:12px}.vg-intro,.vg-caption,.vg-language-note{color:#657493!important;font-size:15px!important;line-height:1.9!important}.vg-language-note{padding:0 23px;margin-top:0}.vg-nav{padding-bottom:17px}.vg-tab{color:#8390ae;border-color:#dce4f3;font-size:13px;border-radius:7px;min-height:42px}.vg-tab>span:first-child{background:#edf1fa;color:#8c9bb9}.vg-tab.is-current{color:#6c55a6;background:#f1ecfc;border-color:#c3b4e3}.vg-tab.is-current>span:first-child{background:#8b74bd;color:#fff}.vg-slides{border-color:#e4e9f4}.vg-slide-heading h4{color:#4d5d81;font-size:17px}.vg-step-count{color:#8f9fbd;font-size:12px}.vg-callouts li{background:#f2f6fd}.vg-callouts li.is-active{border-color:#c5b2e5;background:#f1ecfc}.vg-callouts strong{color:#556791;font-size:15px}.vg-callouts p{color:#7989a7!important;font-size:14px!important}.vg-marker,.vg-callout-number{background:#8d6dca}.vg-marker:hover,.vg-marker.is-active{background:#624a9b;box-shadow:0 0 0 4px #e4d7ffb0,0 1px 4px #0006}.vg-frame{border-color:#d1dbee}.vg-image-tools{color:#a0abc1}.vg-zoom{color:#899bbb;font-size:12px}.vg-controls{background:#f8faff;border-color:#e4e9f4}.vg-controls button{color:#7b74a3;border-color:#d7d8e9;min-height:43px;font-size:14px!important}.vg-controls>span{color:#a0abc1;font-size:12px}.vg-notes,.vg-notes summary,.vg-notes p{color:#9b9db3!important;font-size:12px!important}.vg-tab:focus-visible,.vg-marker:focus-visible,.vg-controls button:focus-visible,.vg-zoom:focus-visible,.vg-image-button:focus-visible{outline-color:#efb737}
#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);padding:13px 22px;z-index:1000;background:#30315d;color:#fff;border-radius:9px;font-size:14px;box-shadow:0 6px 24px #24244b30;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;max-width:calc(100vw - 30px);width:max-content}#toast.show{opacity:1;transform:translate(-50%,0)}#image-dialog{max-width:min(94vw,1500px);max-height:94vh;padding:40px 20px 12px;border:1px solid #cad2e4;border-radius:14px;box-shadow:0 20px 100px #1f274955;background:#f8faff}#image-dialog::backdrop{background:#1e224cc9;backdrop-filter:blur(3px)}#image-dialog img{display:block;max-width:100%;max-height:calc(90vh - 90px);width:auto;height:auto;object-fit:contain;margin:auto}#image-dialog p{font-size:12px;color:#858da7;text-align:center;margin:12px 0 0}.dialog-close{position:absolute;right:9px;top:6px;background:transparent;border:0;color:#717b9b;font-size:28px;line-height:1;width:32px;height:32px}
.large-text{font-size:20px}.large-text .coach-message p,.large-text .focus-body>p,.large-text .prediction-input,.large-text .experiment-card p,.large-text .quiz-choice{font-size:20px}.large-text .meaning-list>li,.large-text .quiz-card h3{font-size:20px}.large-text .cw-question label,.large-text .cw-intro,.large-text .cw-status,.large-text .cw-blank-feedback,.large-text .cw-code-input,.large-text .cw-code{font-size:19px!important}.large-text .vg-caption,.large-text .vg-intro,.large-text .vg-callouts p,.large-text .session-starter p{font-size:18px!important}
@media(min-width:1500px){.student-main{padding-top:50px}.welcome-grid{min-height:620px;gap:80px}.welcome-panel{padding:43px}.welcome-panel h1{font-size:39px}.chapter-list{max-height:calc(100vh - 260px)}}
@media(max-width:1100px){.student-main{padding:30px 26px 0}.student-topbar{padding:0 26px}.welcome-grid{gap:30px;min-height:480px}.welcome-panel{padding:28px}.welcome-panel h1{font-size:29px}.welcome-panel>p{font-size:15px}.catalog-layout{grid-template-columns:280px minmax(0,1fr);gap:24px}.chapter-row{padding:17px 10px;gap:7px;grid-template-columns:36px 1fr}.chapter-number{font-size:23px}.mission-banner{padding:23px}.mission-banner h2{font-size:22px}.mission-steps{gap:12px}.mission-step{padding:17px 11px;gap:9px}.mission-step-number{font-size:22px;flex-basis:24px}.step-check{width:20px;height:20px;flex-basis:20px}.focus-body{padding:27px}.focus-header{padding:22px 27px}.lesson-nav{padding:21px 27px}}
@media(max-width:800px){body{font-size:16px}.student-topbar{height:70px;padding:0 22px}.student-brand{font-size:18px;gap:10px}.brand-mark{width:34px;height:34px;font-size:20px;border-radius:9px}.student-toplinks{gap:15px;font-size:13px}.text-size{min-width:45px;height:37px}.student-main{padding:27px 22px 0;min-height:calc(100vh - 70px)}.welcome-grid{gap:22px}.welcome-panel{padding:24px 20px}.welcome-panel h1{font-size:26px}.welcome-panel>p{font-size:14px}.welcome-label{font-size:11px}.start-button{min-height:65px;font-size:18px}.home-progress{margin-top:12px}.progress-caption{font-size:12px}.progress-caption b{font-size:21px}.catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}.chapter-row{grid-template-columns:30px 1fr;gap:7px;padding:20px 9px 14px;min-height:84px}.chapter-row-title{font-size:12px}.chapter-number{font-size:21px}.chapter-status{font-size:8px;right:6px}.chapter-list{min-height:400px;max-height:calc(100vh - 210px)}.catalog-header h1{font-size:25px}.catalog-header p{font-size:12px}.lesson-search{min-width:220px}.mission-banner{padding:21px}.mission-banner h2{font-size:20px}.mission-banner p,.mission-banner .mission-goal{font-size:14px}.mission-steps{grid-template-columns:1fr;gap:11px}.mission-step{padding:16px;min-height:78px;gap:15px}.mission-step strong{font-size:14px}.mission-step p{font-size:11px}.mission-start .button{min-width:0;width:100%;font-size:14px}.lesson-title{font-size:24px}.lesson-rail{margin-bottom:26px}.rail-step{font-size:11px}.rail-dot{width:31px;height:31px;font-size:12px}.rail-step:before{top:15px}.focus-header h2{font-size:22px}.focus-header{padding:20px 24px}.focus-body{padding:25px}.coach-message{padding:18px 20px}.coach-message p{font-size:16px}.coach-note{gap:15px}.coach-icon{width:43px;height:43px;flex-basis:43px;border-radius:12px}.coach-icon svg{width:29px;height:29px}.lesson-nav{padding:20px 24px}.lesson-nav .button{min-width:150px;font-size:14px}.lesson-nav .quiet-button,.lesson-nav>a:not(.button){font-size:13px}.cw-code{font-size:15px!important}.cw-code-input{font-size:15px}.focus-body .cw-intro,.focus-body .cw-question label{font-size:15px!important}.cw-heading h3{font-size:19px}.vg-tab{font-size:12px}.student-footer{margin-top:50px;font-size:11px}}
@media(max-width:600px){.student-topbar{height:65px;padding:0 17px;gap:15px}.student-brand{font-size:16px;gap:8px}.brand-mark{width:31px;height:31px;font-size:18px;border-radius:8px}.student-toplinks{gap:12px}.student-toplinks>a{font-size:12px}.student-toplinks>a svg{display:none}.text-size{min-width:39px;padding:0 6px;height:34px;font-size:14px}.student-main{padding:22px 17px 0;min-height:calc(100vh - 65px)}.student-home{padding-top:0}.welcome-grid{display:flex;flex-direction:column;gap:5px;min-height:0}.welcome-art{max-width:300px;width:75%;padding:0}.welcome-art:before{inset:0 -20%}.welcome-panel{width:100%;padding:25px 25px 24px;border-radius:15px}.welcome-panel h1{font-size:29px;margin-bottom:12px}.welcome-label{font-size:11px;margin-bottom:10px}.welcome-panel>p{font-size:15px;margin-bottom:10px}.home-progress{padding:14px 0 20px;margin-top:15px}.progress-caption{font-size:13px}.start-button{min-height:64px;font-size:19px}.home-secondary{font-size:14px;margin-top:17px}.home-recent{margin-top:22px;padding:17px;display:block}.home-recent p{font-size:13px;margin-bottom:7px}.home-recent a{font-size:14px}.student-footer{display:block;margin-top:36px;padding:20px 0}.student-footer span{display:block}.catalog-header{gap:16px;margin-bottom:20px}.catalog-header h1{font-size:25px}.catalog-header p{font-size:13px}.lesson-search{width:100%;min-width:0}.lesson-search input{min-height:43px}.catalog-layout{display:flex;flex-direction:column;gap:21px}.chapter-list{width:100%;height:214px;min-height:0;max-height:none;border-radius:10px}.chapter-list nav{grid-template-columns:1fr;gap:4px;padding:4px}.chapter-row{grid-template-columns:35px 1fr;min-height:63px;padding:9px 15px;gap:13px}.chapter-row-title{font-size:13px;padding-top:0;padding-right:45px}.chapter-number{font-size:21px}.chapter-status{top:22px;right:13px;font-size:9px}.chapter-detail{padding:0;width:100%}.mission-banner{padding:22px}.mission-mark{font-size:12px;margin-bottom:10px}.mission-banner h2{font-size:22px}.mission-banner p{font-size:15px}.mission-banner .mission-goal{font-size:14px;margin-top:13px}.mission-summary{font-size:13px;margin:21px 0 13px}.mission-steps{grid-template-columns:1fr;gap:10px}.mission-step{padding:17px;min-height:78px}.mission-step-number{font-size:25px;flex-basis:30px}.mission-step strong{font-size:15px}.mission-step p{font-size:12px}.step-check{width:23px;height:23px;flex-basis:23px}.mission-start{margin-top:20px}.lesson-topline{font-size:11px;gap:9px;margin-bottom:10px}.lesson-topline>a{gap:5px}.lesson-title{font-size:23px;margin-bottom:23px}.lesson-rail{margin:0 -4px 25px;gap:0}.rail-step{padding:0 1px;font-size:10px;gap:8px;line-height:1.3}.rail-dot{width:28px;height:28px;font-size:11px}.rail-step:before{top:13px}.rail-step.active .rail-dot{box-shadow:0 0 0 4px #e9e2fb}.rail-label{max-width:60px}.focus-panel{border-radius:12px}.focus-header{padding:19px 20px}.focus-kicker{font-size:10px;margin-bottom:5px}.focus-header h2{font-size:21px}.focus-body{padding:23px 17px}.focus-body>p{font-size:16px}.coach-note{gap:10px;margin-bottom:23px}.coach-icon{width:33px;height:33px;flex-basis:33px;border-radius:9px;font-size:18px;margin-top:4px}.coach-icon svg{width:25px;height:25px}.coach-message{padding:16px 17px;border-radius:3px 11px 11px}.coach-message p{font-size:15px;line-height:1.95}.coach-message:before{left:-7px;top:13px;width:11px;height:11px}.concept-code pre,.code-block pre{font-size:14px;padding:17px 18px;line-height:1.9}.code-label{font-size:11px;padding:9px 12px}.meaning-list>li{font-size:15px;padding:12px 14px}.prediction-label{font-size:14px}.prediction-input{font-size:15px;padding:14px;min-height:100px}.expected{padding:16px 18px;font-size:14px}.expected pre{font-size:15px}.hint{padding:13px 16px}.hint summary,.hint p{font-size:14px}.lesson-nav{padding:18px 17px;gap:12px}.lesson-nav .button{min-width:0;max-width:75%;font-size:13px;padding:11px 15px;min-height:47px;gap:8px}.lesson-nav .quiet-button,.lesson-nav>a:not(.button){font-size:12px}.button{font-size:15px;padding:11px 20px;min-height:48px}.button.small{font-size:13px;padding:9px 13px}.studio-check-label{padding:16px;font-size:14px;gap:10px}.studio-check-label input{width:20px;height:20px;flex-basis:20px}.experiment-card{padding:19px}.experiment-card h3{font-size:19px}.experiment-card p{font-size:15px}.experiment-switch{gap:8px}.experiment-switch button{font-size:14px;padding:9px 15px}.experiment-card summary{font-size:13px}.experiment-card details p{font-size:14px}.quiz-card{padding:19px 15px;margin-bottom:19px}.quiz-card h3{font-size:16px;line-height:1.8}.quiz-choice{padding:11px 12px;gap:10px;font-size:14px}.quiz-choice>span{flex-basis:25px;width:25px;height:25px;font-size:12px}.quiz-feedback{padding:11px 13px;font-size:13px}.completion-gates{font-size:14px;padding:17px}.complete-banner{padding:23px 18px}.complete-banner h3{font-size:21px}.complete-banner p{font-size:15px}.cw-heading{padding:20px 16px 0}.cw-heading h3{font-size:18px}.cw-eyebrow{font-size:9px}.cw-file-target{padding:0 16px;font-size:12px!important}.cw-file-target code{font-size:12px}.cw-prompts{padding:0 13px!important}.cw-question-number{width:22px;height:22px;flex-basis:22px;font-size:11px}.focus-body .cw-question label{font-size:14px!important}.focus-body .cw-intro{font-size:14px!important}.cw-prompts>li{padding:12px!important}.cw-hint,.cw-hint summary{font-size:12px}.cw-hint p,.cw-blank-feedback{font-size:12px!important}.cw-code-heading{font-size:11px;padding-top:19px}.cw-code{font-size:14px!important;line-height:2.8!important;padding:16px!important}.cw-code-input{font-size:14px;min-height:26px;padding:7px}.cw-blank-number{font-size:10px;min-width:22px}.cw-actions{padding-top:18px;gap:12px}.cw-check{font-size:14px;min-height:46px;padding:10px 14px;gap:9px}.cw-reveal{font-size:12px}.cw-status{font-size:12px!important}.cw-ready-heading h4{font-size:17px}.cw-copy{font-size:13px;min-height:42px;padding:9px 12px}.cw-answer-code{font-size:13px;padding:14px}.cw-studio-steps{font-size:12px}.cw-copy-feedback,.cw-revealed-note{font-size:12px!important}.session-starter{padding:18px}.session-starter>div>strong{font-size:17px}.session-starter p{font-size:14px!important}.focus-file{padding:14px}.focus-file>span{font-size:12px}.focus-file>code{font-size:13px}.focus-file p{font-size:13px!important}.support-files>h3,.session-debug>h3,.session-reflection>h3{font-size:18px}.session-debug p,.session-reflection p,.support-files p,.session-reflection li{font-size:14px!important}.session-code pre{font-size:12px;padding:14px}.session-code>div{font-size:11px;padding:10px 12px}.visual-guide{margin-top:23px}.vg-heading h3{font-size:18px}.vg-intro,.vg-caption,.vg-language-note{font-size:14px!important}.vg-language-note{padding:0 15px;font-size:12px!important}.vg-nav{padding-bottom:15px}.vg-tab{font-size:11px;min-height:40px}.vg-slide-heading h4{font-size:15px}.vg-step-count{font-size:10px}.vg-callouts p{font-size:13px!important}.vg-callouts strong{font-size:14px}.vg-controls button{font-size:13px!important;min-height:41px;padding:7px 11px}.vg-controls>span{font-size:11px}.vg-zoom{font-size:11px}.vg-notes,.vg-notes summary,.vg-notes p{font-size:11px!important}.large-text .coach-message p,.large-text .focus-body>p,.large-text .prediction-input,.large-text .experiment-card p,.large-text .quiz-choice{font-size:18px}.large-text .cw-question label,.large-text .cw-intro,.large-text .cw-status,.large-text .cw-blank-feedback,.large-text .cw-code-input,.large-text .cw-code{font-size:17px!important}}
.welcome-art-label{position:absolute;bottom:1%;right:6%;font-size:11px;font-weight:800;letter-spacing:.18em;color:#6c7fa9;background:#edf3fe;border:1px solid #d7e3f7;border-radius:20px;padding:5px 13px}.home-recent>span{display:flex;flex-direction:column;color:#7c8199;font-size:11px;white-space:nowrap;min-width:93px;line-height:1.6}.home-recent>span>b{font-size:29px;line-height:1.5;color:#6978a4;font-weight:800}.home-recent>div{flex:1}.home-recent>div>strong{font-size:16px;color:#53547d}.home-recent>div>p{margin:3px 0 0;color:#727b94;font-size:13px}.home-recent>svg{color:#9b91b6;flex:0 0 24px}.home-recent:hover{border-color:#c3b4e1;background:#fdfcff}.mission-banner{display:flex;align-items:flex-start;gap:18px}.mission-mark{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;margin:5px 0 0;border-radius:13px;color:#8072b9;background:#f9fbff;border:1px solid #d2dff4}.mission-banner h2{margin-bottom:8px}.mission-banner p{margin-bottom:0}.mission-goal{padding:22px 2px 23px;color:#586783;font-size:15px;line-height:1.9}.mission-goal>strong{font-size:12px;color:#7186ad;display:block;margin-bottom:5px}.mission-goal p{margin:0}.meaning-list{display:block;padding:20px 24px;border:1px solid #e4e5f1;border-radius:10px;background:#fafaff;margin:24px 0 0}.meaning-list>span{display:block;font-size:12px;font-weight:700;color:#847b9e;margin-bottom:7px}.meaning-list>strong{display:block;font-size:19px;color:#675581;margin-bottom:7px}.meaning-list>p{font-size:15px;line-height:1.95;color:#74708a;margin:0}.coach-icon{position:relative;display:block;background:#edf4ff;border-color:#fff}.coach-icon>i{position:absolute;width:7px;height:9px;border-radius:5px;background:#6a80a9;top:14px;left:11px}.coach-icon>i:nth-child(2){left:auto;right:11px}.coach-icon>b{position:absolute;font:800 23px/1 Arial,sans-serif;top:20px;left:50%;transform:translateX(-50%);color:#6a80a9}.coach-message>strong{display:block;font-size:11px;font-weight:800;color:#8a83a6;line-height:1.6;margin:0 0 7px;letter-spacing:.025em}.studio-code-ready{padding:20px 22px;border:1px solid #d5c9ed;background:#f4efff;border-radius:11px;margin:25px 0}.studio-code-ready>strong{display:block;font-size:16px;line-height:1.8;color:#735a9e;margin-bottom:13px}.studio-code-ready>.hint{background:#fff;border-color:#e1d7f1;margin:17px 0 0}.studio-code-ready .concept-code{margin:13px 0 0}.studio-task-heading{margin:28px 0 0}.studio-task-heading>h3{font-size:20px;color:#52648c;margin:0 0 9px}.studio-task-heading>p{font-size:15px;line-height:1.9;font-weight:400;color:#7887a5;margin:0}.studio-task-heading code{color:#636b91}.completion-gates>strong{display:block;margin-bottom:12px;color:#82749e;font-size:14px}.completion-gates>a:not(.button){display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;font-size:14px;padding:11px 0;border-top:1px solid #e2daef;line-height:1.8;color:#7b649c}.completion-gates>a:not(.button):hover{color:#5b3d89;text-decoration:underline;text-underline-offset:4px}.bonus-task{margin:26px 0 0;border:1px solid #e6e3ef;border-radius:10px;background:#fcfbff;padding:16px 19px}.bonus-task>summary{font-size:14px;font-weight:700;color:#8c7e9f}.bonus-task .session-debug{margin-top:17px;padding-top:17px}.bonus-task .session-debug>h3{font-size:17px}.experiment-card .experiment-restart{font-size:13px;color:#8b839e;background:#f1edf9;border-radius:7px;padding:12px 15px;margin:20px 0 0;line-height:1.85}.first-studio{margin:27px 0 0;border-top:1px solid #e6e8f3;padding-top:25px}.first-studio>h3{font-size:20px;color:#62749a;margin-bottom:10px}.first-studio>p{font-size:15px;color:#7a88a3;line-height:1.95}.first-studio .visual-guide{margin-bottom:0}.text-size>span{font-size:20px;margin-left:3px}.concept-code [data-copy]{background:#fff;border:1px solid #c5cbe2;border-radius:5px;padding:5px 10px;color:#796c9d;font-size:12px}
/* Readable supporting labels remain quieter without fading into the canvas. */
.catalog-header p,.mission-step p,.lesson-topline,.mission-summary,.student-footer{color:#66708b}.vg-callouts p{color:#586c90!important}.vg-callouts strong{color:#465b83}.vg-notes,.vg-notes summary,.vg-notes p{color:#6f7791!important}.vg-image-tools,.vg-controls>span,.vg-step-count{color:#6d7b99}.vg-zoom{color:#667ca3}.vg-tab{color:#677895}.vg-heading .extras-eyebrow{color:#6e7e9f}.vg-total{color:#63789e}.cw-reveal{color:#7d689a}.cw-code-heading{color:#737e99}.cw-status{color:#746d88!important}.cw-hint,.cw-hint summary{color:#80669f}.cw-ready-heading>div>span{color:#697ca4}.cw-file-target{color:#747b97}.session-starter p,.focus-file p{color:#5d7094}.support-files>summary,.support-files summary{color:#77618f}.coach-message>strong{color:#7a6d95}.focus-kicker{color:#6a6f9a}
@media(max-width:800px){.coach-icon>i{top:11px;left:9px;width:6px;height:8px}.coach-icon>i:nth-child(2){right:9px}.coach-icon>b{font-size:21px;top:16px}.mission-mark{width:38px;height:38px;flex-basis:38px;border-radius:11px}.mission-banner{gap:13px}.meaning-list{padding:19px 21px}.meaning-list>strong{font-size:18px}.studio-task-heading>h3{font-size:19px}}
@media(max-width:600px){.welcome-art-label{bottom:-2%;right:3%;font-size:9px;padding:3px 9px}.home-recent{display:flex;gap:15px}.home-recent>span{min-width:50px;max-width:65px;white-space:normal;font-size:10px}.home-recent>span>b{font-size:26px}.home-recent>div>strong{font-size:14px}.home-recent>div>p{font-size:11px;line-height:1.75}.home-recent>svg{flex-basis:18px;width:18px;height:18px}.mission-banner{gap:13px}.mission-mark{flex-basis:36px;width:36px;height:36px;margin-top:6px}.mission-mark svg{width:23px;height:23px}.mission-banner h2{font-size:21px}.mission-goal{padding:20px 2px;font-size:14px}.meaning-list{padding:17px 19px;margin-top:20px}.meaning-list>span{font-size:11px}.meaning-list>strong{font-size:18px}.meaning-list>p{font-size:14px}.coach-icon>i{top:8px;left:6px;width:5px;height:6px}.coach-icon>i:nth-child(2){right:6px}.coach-icon>b{font-size:17px;top:11px}.coach-message>strong{font-size:10px;line-height:1.5;margin-bottom:6px}.studio-code-ready{padding:18px;margin:22px 0}.studio-code-ready>strong{font-size:15px}.studio-task-heading>h3{font-size:18px}.studio-task-heading>p{font-size:14px}.bonus-task{padding:15px 16px;margin-top:23px}.bonus-task>summary{font-size:13px}.experiment-card .experiment-restart{font-size:12px;padding:11px 13px}.first-studio{padding-top:22px;margin-top:24px}.first-studio>h3{font-size:18px}.first-studio>p{font-size:14px}.completion-gates>a:not(.button){font-size:13px}.text-size>span{font-size:18px}}
.workspace-strip{position:sticky;top:10px;z-index:10;display:flex;align-items:stretch;gap:11px;max-width:1050px;margin:0 auto 22px;padding:9px;background:#f5f7fcf5;backdrop-filter:blur(8px);border:1px solid #dbe2f1;border-radius:12px;box-shadow:0 4px 13px #353d6809}.workspace-place{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:9px 15px;border:1px solid #dce2ee;border-radius:8px;background:#fff;color:#7a829c;font-size:12px;line-height:1.7}.workspace-place:before{content:"";flex:0 0 24px;width:24px;height:21px;border:2px solid currentColor;border-radius:4px;background:linear-gradient(currentColor,currentColor) 0 4px/100% 2px no-repeat;opacity:.7}.workspace-place.studio:before{height:22px;border:5px solid currentColor;border-radius:2px;background:none;transform:rotate(-14deg);flex-basis:23px;width:23px}.workspace-place>div{min-width:0}.workspace-place strong{display:block;font-size:13px;font-weight:800;color:#6b7292}.workspace-place span{font-size:12px;line-height:1.6}.workspace-place.browser.is-active{border-color:#b5a2dc;background:#f1ecfb;color:#7c60ad;box-shadow:inset 0 0 0 1px #e1d6f3}.workspace-place.browser.is-active strong{color:#6a4f9e}.workspace-place.studio.is-active{border-color:#9db9e5;background:#eaf3ff;color:#5d81b9;box-shadow:inset 0 0 0 1px #d4e4fb}.workspace-place.studio.is-active strong{color:#5575aa}.workspace-strip>.workspace-arrow,.workspace-strip>.arrow{display:grid;place-items:center;align-self:center;color:#a3abc3;font-size:17px;min-width:17px}.workspace-strip>svg{align-self:center;flex:0 0 20px;color:#9b9fba}.launch-workflow{display:grid;gap:19px;margin:0}.launch-card{display:flex;align-items:flex-start;gap:16px;padding:22px;border:1px solid #dce4f2;border-radius:12px;background:#fafcff;min-width:0}.launch-card-number{display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px;border-radius:50%;background:#dce8fc;color:#6e83b2;font-size:15px;font-weight:800;line-height:1;margin-top:4px}.launch-card-body{flex:1;min-width:0}.launch-card-body>h3{font-size:19px;color:#506187;margin:7px 0 10px;line-height:1.7}.launch-card-body>p{font-size:15px;color:#66799a;line-height:1.95;margin:0 0 15px}.launch-card-body>p:last-child{margin-bottom:0}.launch-card-body>.visual-guide{margin:18px 0 0}.launch-card-body>.button{margin:0 0 11px}.launch-card-body>ol,.launch-card-body>ul{padding-left:23px;margin:12px 0 0;color:#647a9e;font-size:15px;line-height:2}.where-tag{display:inline-flex;align-items:center;gap:7px;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:800;line-height:1.7;letter-spacing:.025em;background:#e9edf8;color:#7b86a5}.where-tag:before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:currentColor}.where-tag.browser{background:#eee7fa;color:#846bad}.where-tag.studio{background:#e3edfd;color:#6e8fbd}.workspace-tip{padding:13px 17px;margin:20px 0 0;border:1px solid #dfe4ef;border-radius:9px;background:#f8faff;color:#7d87a1;font-size:13px;line-height:1.9}.workspace-tip>summary{font-size:13px;font-weight:700;color:#7c85a1}.workspace-tip p{font-size:14px;line-height:1.95;color:#6d7b98;margin:12px 0 0}.workspace-tip ol,.workspace-tip ul{padding-left:23px;margin:12px 0 0;font-size:14px;color:#6d7b98}.workspace-tip code{font-size:13px;color:#6d6795}.launch-card .session-starter{margin:18px 0 0}.large-text .workspace-place span{font-size:14px}.large-text .launch-card-body>p,.large-text .launch-card-body>ol,.large-text .launch-card-body>ul,.large-text .workspace-tip p{font-size:18px}
@media(max-width:800px){.workspace-strip{top:8px;gap:8px;padding:8px;margin-bottom:20px}.workspace-place{gap:9px;padding:9px 11px}.workspace-place strong{font-size:12px}.workspace-place span{font-size:11px}.workspace-place:before{flex-basis:20px;width:20px;height:18px}.workspace-place.studio:before{height:19px;width:20px;flex-basis:20px;border-width:4px}.launch-card{padding:19px;gap:13px}.launch-card-number{width:29px;height:29px;flex-basis:29px;font-size:14px}.launch-card-body>h3{font-size:18px}.launch-card-body>p{font-size:14px}}
@media(max-width:600px){.lesson-rail{gap:0}.rail-step{font-size:9px}.rail-label{max-width:49px}.workspace-strip{top:5px;margin-bottom:18px;gap:5px;padding:6px;border-radius:10px}.workspace-place{padding:8px;gap:7px;align-items:flex-start;border-radius:7px;line-height:1.5}.workspace-place:before{width:15px;flex-basis:15px;height:14px;border-width:1.5px;background-position:0 3px;background-size:100% 1.5px;margin-top:3px}.workspace-place.studio:before{width:15px;height:15px;flex-basis:15px;border-width:3px;margin-top:2px}.workspace-place strong{font-size:10px;line-height:1.5}.workspace-place span{font-size:9px;line-height:1.5;display:block;margin-top:2px}.workspace-strip>.workspace-arrow,.workspace-strip>.arrow{font-size:14px;min-width:10px}.workspace-strip>svg{width:12px;flex-basis:12px}.launch-workflow{gap:16px}.launch-card{padding:17px 13px;gap:10px;border-radius:10px}.launch-card-number{width:25px;height:25px;flex-basis:25px;font-size:12px;margin-top:3px}.launch-card-body>h3{font-size:16px;margin-top:6px;margin-bottom:9px}.launch-card-body>p{font-size:14px}.launch-card-body>.visual-guide{margin-top:15px}.launch-card-body>.visual-guide .vg-heading{padding-left:12px;padding-right:12px}.launch-card-body>.visual-guide .vg-heading h3{font-size:16px}.launch-card-body>.visual-guide .vg-nav{padding-left:12px;padding-right:12px}.launch-card-body>.visual-guide .vg-slides{padding-left:9px;padding-right:9px}.launch-card-body>.visual-guide .vg-intro,.launch-card-body>.visual-guide .vg-language-note{padding-left:12px;padding-right:12px;font-size:12px!important}.launch-card-body>.visual-guide .vg-callouts li{padding:9px!important;gap:7px}.launch-card-body>.visual-guide .vg-callouts strong{font-size:12px}.launch-card-body>.visual-guide .vg-callouts p{font-size:12px!important}.launch-card-body>.visual-guide .vg-controls{padding-left:11px;padding-right:11px}.launch-card-body>.visual-guide .vg-controls button{font-size:12px!important;padding:7px 9px}.launch-card-body>ol,.launch-card-body>ul{padding-left:19px;font-size:13px}.where-tag{font-size:9px;padding:3px 8px}.workspace-tip{padding:13px 15px;font-size:12px}.workspace-tip>summary{font-size:12px}.workspace-tip p,.workspace-tip ol,.workspace-tip ul{font-size:13px}.large-text .workspace-place span{font-size:11px}.large-text .workspace-place strong{font-size:12px}.large-text .launch-card-body>p,.large-text .workspace-tip p{font-size:16px}}
.focus-header{scroll-margin-top:140px}.launch-task-nav{display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:1px 1px 10px;max-width:100%;scrollbar-width:thin;scrollbar-color:#c0b3df #f4f1fa;scroll-padding:8px}.launch-task-nav>button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1 0 auto;min-height:43px;padding:8px 11px;font-size:12px;font-weight:700;line-height:1.5;border:1px solid #dce2ef;border-radius:8px;background:#fff;color:#7d88a4;white-space:nowrap}.launch-task-nav>button>span{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px;border-radius:50%;background:#eef2fa;color:#8d9ab8;font-size:10px;font-weight:800;line-height:1}.launch-task-nav>button:hover{border-color:#b5a3da;background:#faf7ff}.launch-task-nav>button.is-current{border-color:#b9a6dd;background:#f2ecfc;color:#795caa;box-shadow:inset 0 0 0 1px #e7ddf6}.launch-task-nav>button.is-current>span{background:#9277c4;color:#fff}.launch-workflow>.launch-card{display:block;padding:25px 25px 23px;margin:0;min-width:0}.launch-card-heading{display:flex;align-items:flex-start;gap:15px;margin:0 0 20px}.launch-count{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:50%;margin-top:4px;background:#dce8fc;color:#6e83b2;font-size:16px;line-height:1;font-weight:800}.launch-card-heading>div{flex:1;min-width:0}.launch-card-heading h3{font-size:21px;line-height:1.7;color:#52688c;margin:7px 0 0}.launch-workflow .launch-card-body{width:100%;min-width:0}.launch-card-body p{font-size:16px;line-height:1.95;color:#637697}.launch-card-body p code{font-size:.9em;color:#6c6a99;overflow-wrap:anywhere}.launch-task-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dfe4f2;border-radius:10px;padding:13px 16px;background:#f7faff}.launch-task-controls>button{border:1px solid #cfd7eb;border-radius:7px;background:#fff;color:#77729d;min-height:43px;padding:9px 15px;font-size:13px;font-weight:700;line-height:1.5}.launch-task-controls>button:not(:disabled):hover{background:#f3edfc;border-color:#bdaaDB;color:#74589f}.launch-task-status{font-size:12px;color:#7d8ba9;white-space:nowrap}.launch-help{background:#f5f4fb;border:1px solid #e2deef;border-radius:8px;padding:13px 16px;margin:18px 0 0;color:#82739e}.launch-help>summary{font-size:14px;font-weight:700;color:#82719f}.launch-help>p{font-size:14px;line-height:1.95;color:#7d7295;margin:12px 0 0}.launch-key-diagram{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;padding:18px 13px;margin-top:15px;border:1px solid #e3dff1;border-radius:8px;background:#fff;color:#b4a4cd;font-size:13px}.launch-key-diagram code{font-size:13px;color:#8d7da9;background:#f6f3fb;border-radius:5px;padding:5px 9px;white-space:normal}.launch-workflow kbd{display:inline-flex;align-items:center;justify-content:center;min-height:27px;min-width:28px;padding:3px 8px;border:1px solid #ccd5e6;border-bottom-width:3px;border-radius:5px;background:#fff;color:#7688a7;box-shadow:0 2px 2px #3b527307;font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;vertical-align:middle;white-space:nowrap}.launch-arrange-diagram{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px;border:1px solid #d4dfef;border-radius:11px;background:#e9eff9;margin:20px 0 0}.launch-arrange-diagram>div{border:1px solid #d7deed;border-radius:8px;background:#fff;padding:20px 16px 18px;min-width:0;position:relative}.launch-arrange-diagram>div:before{content:"";display:block;height:7px;background:radial-gradient(circle,#d6dded 2px,transparent 3px) 0 0/12px 7px no-repeat,radial-gradient(circle,#d6dded 2px,transparent 3px) 12px 0/12px 7px no-repeat,radial-gradient(circle,#d6dded 2px,transparent 3px) 24px 0/12px 7px no-repeat;border-bottom:1px solid #e9edf5;margin:-8px -4px 15px;padding-bottom:15px}.launch-arrange-diagram>div p{font-size:14px;line-height:1.8;color:#7d8ba8;margin:10px 0 12px}.launch-arrange-diagram>div>div{font-size:11px;color:#bdc5d8;line-height:1.8}.launch-diagram-caption{font-size:11px!important;text-align:center;color:#99a5bb!important;margin:8px 0 21px!important}.launch-image-note{padding:1px 2px;color:#9195ae;font-size:12px}.launch-image-note>summary{font-size:12px;color:#82869f}.launch-image-note p{font-size:13px;color:#79849f;line-height:1.95;margin:11px 0 0}.launch-file-name{font-size:12px!important;color:#8b98b5!important;margin:0 0 4px!important}.launch-download{max-width:100%;text-align:center;white-space:normal}.paired-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;margin:23px 0 0;padding:14px;background:#edf2fc;border:1px solid #d5e0f1;border-radius:11px;min-width:0}.paired-workspace>figure{margin:0;min-width:0;border:1px solid #cfdced;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 4px 8px #3b527307}.workspace-photo-head{padding:9px 10px;border-bottom:1px solid #dce5f3;background:#f8fbff;display:flex;align-items:center;gap:7px;font-size:11px;color:#6b82aa;font-weight:700;line-height:1.5;min-height:38px}.workspace-photo-head label{color:#6b82aa;font-size:11px;font-weight:700}.paired-workspace img{display:block;width:100%;height:auto;max-width:100%;border:0;object-fit:contain}.paired-workspace figure>button{display:block;width:100%;max-width:100%;border:0;background:#fff;padding:0;cursor:zoom-in}.paired-workspace figcaption{font-size:11px;line-height:1.8;padding:10px 11px;color:#788eaf;border-top:1px solid #e4ebf6}.paired-workspace>.launch-diagram-caption,.paired-workspace>.workspace-photo-caption{grid-column:1/-1;margin:0!important;font-size:11px;text-align:center;color:#7185a9;line-height:1.8}.paired-workspace .where-tag{font-size:9px;padding:2px 7px}.large-text .launch-task-nav>button,.large-text .launch-task-controls>button{font-size:15px}.large-text .launch-card-heading h3{font-size:23px}.large-text .launch-card-body p{font-size:19px}.large-text .workspace-photo-head,.large-text .paired-workspace figcaption{font-size:13px}
@media(max-width:800px){.launch-task-nav>button{font-size:11px;padding:8px 9px;gap:6px}.launch-task-nav>button>span{width:19px;height:19px;flex-basis:19px;font-size:9px}.launch-workflow>.launch-card{padding:22px 20px}.launch-card-heading h3{font-size:19px}.launch-count{width:32px;height:32px;flex-basis:32px;font-size:15px}.launch-card-body p{font-size:15px}.launch-arrange-diagram{gap:10px;padding:12px}.launch-arrange-diagram>div{padding:18px 12px 15px}.paired-workspace{padding:10px;gap:10px}.paired-workspace figcaption{font-size:10px;padding:8px 9px}.workspace-photo-head{padding:8px;font-size:10px}.workspace-photo-head label{font-size:10px}}
@media(max-width:600px){.focus-header{scroll-margin-top:130px}.launch-task-nav{gap:6px;padding-bottom:8px}.launch-task-nav>button{font-size:10px;padding:8px 9px;min-height:40px;flex-grow:0}.launch-task-nav>button>span{width:18px;height:18px;flex-basis:18px;font-size:9px}.launch-workflow>.launch-card{padding:19px 15px}.launch-card-heading{gap:11px;margin-bottom:17px}.launch-count{width:28px;height:28px;flex-basis:28px;font-size:13px;margin-top:4px}.launch-card-heading h3{font-size:17px;line-height:1.75;margin-top:5px}.launch-card-body p{font-size:14px;line-height:1.95}.launch-task-controls{padding:12px 11px;gap:8px}.launch-task-controls>button{font-size:12px;min-height:41px;padding:8px 10px}.launch-task-status{font-size:11px}.launch-help{padding:12px 13px;margin-top:15px}.launch-help>summary{font-size:13px}.launch-help>p{font-size:13px}.launch-key-diagram{gap:6px;padding:13px 9px;font-size:11px}.launch-key-diagram code{font-size:11px;padding:4px 6px}.launch-workflow kbd{font-size:10px;min-width:21px;min-height:24px;padding:3px 6px}.launch-arrange-diagram{gap:7px;padding:9px;margin-top:18px}.launch-arrange-diagram>div{padding:15px 8px 12px}.launch-arrange-diagram>div:before{margin:-4px 0 12px;padding-bottom:12px}.launch-arrange-diagram .where-tag{font-size:8px;padding:2px 6px;gap:4px}.launch-arrange-diagram .where-tag:before{width:4px;height:4px;flex-basis:4px}.launch-arrange-diagram>div p{font-size:12px;margin:9px 0 10px}.launch-arrange-diagram>div>div{font-size:9px}.launch-arrange-diagram kbd{font-size:9px;min-width:18px;padding:3px 5px}.launch-diagram-caption{font-size:10px!important;margin-bottom:18px!important}.launch-image-note{font-size:11px}.launch-image-note>summary{font-size:11px}.launch-image-note p{font-size:12px}.launch-file-name{font-size:11px!important}.launch-download{font-size:13px;padding:11px 13px}.paired-workspace{gap:7px;padding:7px;margin-top:18px;border-radius:9px}.paired-workspace>figure{border-radius:6px}.workspace-photo-head{font-size:9px;padding:6px;min-height:34px;gap:4px;flex-wrap:wrap;line-height:1.5}.workspace-photo-head label{font-size:9px}.paired-workspace figcaption{font-size:9px;padding:7px;line-height:1.7}.paired-workspace .where-tag{font-size:8px;padding:2px 5px;gap:4px}.paired-workspace .where-tag:before{width:4px;height:4px;flex-basis:4px}.paired-workspace>.launch-diagram-caption,.paired-workspace>.workspace-photo-caption{font-size:9px}.large-text .launch-task-nav>button,.large-text .launch-task-controls>button{font-size:12px}.large-text .launch-card-heading h3{font-size:19px}.large-text .launch-card-body p{font-size:16px}.large-text .workspace-photo-head,.large-text .paired-workspace figcaption{font-size:11px}}
.launch-task-nav>button{color:#657391}.launch-task-status{color:#657591}.launch-help>summary,.launch-help>p{color:#6f6289}.launch-key-diagram code{color:#76638f}.launch-workflow kbd{color:#627696}.launch-arrange-diagram>div p{color:#657895}.launch-diagram-caption{color:#667997!important}.launch-image-note>summary,.launch-image-note p{color:#657593}.launch-file-name{color:#667998!important}.workspace-photo-head,.workspace-photo-head label{color:#536f99}.paired-workspace figcaption{color:#5e7597}.paired-workspace>.launch-diagram-caption,.paired-workspace>.workspace-photo-caption{color:#607598}.where-tag.browser{color:#735a9c}.where-tag.studio{color:#5477a5}
.concept-scene{margin:25px 0;padding:25px;border:1px solid #d9e1f0;border-radius:13px;background:#fbfcff;min-width:0;overflow:hidden}.scene-heading{margin:0 0 22px}.scene-heading h3{color:#4b5b85;font-size:20px;margin:0 0 8px;line-height:1.65}.scene-heading p{font-size:14px;line-height:1.9;color:#667697;margin:0}.scene-flow,.scene-row{display:flex;align-items:stretch;justify-content:center;gap:13px;min-width:0}.scene-node{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:7px;flex:1;min-width:0;padding:19px 15px;border:1px solid #cfdbef;border-radius:11px;background:#eaf1ff;color:#4d638f;font-size:16px;line-height:1.7;box-shadow:0 4px 0 #d9e2f233}.scene-node:last-child{border-color:#bfdbd8;background:#eaf7f5;color:#386d6b}.scene-node.scene-process,.scene-node.is-process,.scene-node.scene-condition{background:#f1eafa;border-color:#d5c5e9;color:#6f5390}.scene-node.scene-result,.scene-node.is-result{background:#eaf7f5;border-color:#bfdbd8;color:#386d6b}.scene-node.scene-input,.scene-node.is-input{background:#eaf1ff;border-color:#cfdbef;color:#4d638f}.scene-node>strong{font-size:19px;font-weight:800;line-height:1.6}.scene-node>p{font-size:14px;line-height:1.8;margin:0;color:inherit}.scene-node small{font-size:12px;color:inherit}.scene-label{display:block;font-size:12px;font-weight:700;letter-spacing:.015em;color:#6d7fa3;line-height:1.7}.scene-node .scene-label{color:inherit;font-size:11px;opacity:.9}.scene-code{display:block;max-width:100%;overflow-wrap:anywhere;color:#5d4e83;font:600 15px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:8px 11px;border:1px solid #e0d8f1;border-radius:7px;background:#fff}.scene-node .scene-code{align-self:stretch;font-size:14px;padding:8px;border-color:#d9e2f1;background:#ffffffb8;color:inherit}.scene-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 27px;min-width:0;font-size:24px;line-height:1;color:#8b97b6;align-self:center;text-align:center}.scene-arrow>span{display:block;font-size:11px;line-height:1.6;color:#7b87a5}.scene-arrow svg{width:25px;height:25px}.scene-branch{display:grid;grid-template-columns:1fr 1fr;gap:17px;position:relative;min-width:0;margin-top:20px;padding-top:23px}.scene-branch:before{content:"";position:absolute;top:0;left:25%;right:25%;height:16px;border-top:2px solid #cbd6e9;border-left:2px solid #cbd6e9;border-right:2px solid #cbd6e9;border-radius:5px 5px 0 0}.scene-branch:after{content:"";position:absolute;top:-15px;left:50%;height:15px;border-left:2px solid #cbd6e9}.scene-branch>.scene-node{position:relative}.scene-branch>.scene-node:before{content:"";position:absolute;left:50%;top:-24px;transform:translateX(-50%);height:18px;border-left:2px solid #cbd6e9}.scene-branch .scene-label{font-size:12px;font-weight:800}.scene-branch .scene-node:first-child{background:#edf7f4;border-color:#c5dfd5;color:#477b68}.scene-branch .scene-node:last-child{background:#fff3e9;border-color:#ebd2be;color:#916d4f}.scene-branch .scene-arrow{margin:auto}.scene-caption,.scene-note{font-size:13px;color:#6f7c99;margin:18px 0 0;line-height:1.9}.scene-heading+.scene-code{margin-bottom:20px}.scene-value{font:800 25px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:inherit}.scene-node dl{margin:0;display:grid;gap:6px}.scene-node dt{font-size:11px;color:inherit;opacity:.85}.scene-node dd{margin:0;font-size:21px;font-weight:800;line-height:1.6}.vg-platform-note{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;background:#f1f4fa;color:#697997;font-size:10px;font-weight:600;line-height:1.65;border:1px solid #e3e8f2;white-space:normal}.vg-heading .vg-platform-note{margin:7px 0 0}.vg-platform-note:before{content:"";display:inline-block;width:7px;height:7px;border:1px solid #91a2be;border-radius:2px;flex:0 0 7px}.large-text .scene-heading p,.large-text .scene-node>p,.large-text .scene-caption,.large-text .scene-note{font-size:17px}.large-text .scene-node>strong{font-size:22px}.large-text .scene-code{font-size:17px}
@media(max-width:800px){.concept-scene{padding:22px}.scene-heading h3{font-size:19px}.scene-flow,.scene-row{gap:9px}.scene-node{padding:17px 12px;font-size:15px}.scene-node>strong{font-size:17px}.scene-node>p{font-size:13px}.scene-arrow{flex-basis:22px;font-size:21px}.scene-code,.scene-node .scene-code{font-size:13px;padding:7px}.scene-branch{gap:13px}.vg-platform-note{font-size:9px}}
@media(max-width:600px){.concept-scene{padding:20px 16px;margin:22px 0;border-radius:11px}.scene-heading{margin-bottom:19px}.scene-heading h3{font-size:18px}.scene-heading p{font-size:13px}.scene-flow,.scene-row{flex-direction:column;align-items:stretch;gap:8px}.scene-node{padding:17px 16px;gap:6px;min-height:85px}.scene-node>strong{font-size:18px}.scene-node>p{font-size:13px}.scene-node .scene-label{font-size:10px}.scene-arrow{flex:0 0 auto;min-height:23px;font-size:20px;align-self:center}.scene-arrow svg{width:23px;height:23px}.scene-code,.scene-node .scene-code{font-size:13px;padding:8px 10px}.scene-branch{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:19px;padding-top:23px}.scene-branch>.scene-node{padding:15px 9px;min-height:90px}.scene-branch>.scene-node>strong{font-size:15px}.scene-branch>.scene-node>p{font-size:12px}.scene-branch .scene-label{font-size:11px}.scene-branch .scene-code{font-size:11px;padding:7px 6px}.scene-caption,.scene-note{font-size:12px;margin-top:16px}.scene-label{font-size:11px}.scene-value{font-size:23px}.scene-node dd{font-size:20px}.vg-platform-note{font-size:9px;padding:3px 7px}.large-text .scene-heading p,.large-text .scene-node>p,.large-text .scene-caption,.large-text .scene-note{font-size:15px}.large-text .scene-node>strong{font-size:20px}.large-text .scene-code{font-size:15px}.large-text .scene-branch>.scene-node>strong{font-size:17px}.large-text .scene-branch .scene-code{font-size:12px}}
.concept-scene>h3{font-size:20px;color:#4b5b85;margin:6px 0 22px;line-height:1.65}.concept-scene>.scene-label{font-size:11px;color:#7c7a9f;font-weight:800}.scene-node>span:not(.scene-label){font-size:13px;line-height:1.85;color:inherit}.concept-scene>p{font-size:14px;line-height:1.95;margin:20px 0 0;color:#647495}.scene-example-note{display:block;font-size:10px;line-height:1.85;color:#7d88a0;margin-top:11px}.scene-flow.scene-branch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px;margin-top:0;padding-top:0}.scene-flow.scene-branch:before,.scene-flow.scene-branch:after{display:none}.scene-flow.scene-branch>.scene-node{grid-column:1/-1;max-width:75%;width:100%;margin:0 auto 0;flex:none;background:#f1eafa;border-color:#d5c5e9;color:#6f5390}.scene-flow.scene-branch>.scene-node:before{display:none}.scene-branch-path{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding-top:10px}.scene-branch-path>.scene-arrow{font-size:13px;font-weight:800;line-height:1.7;min-height:35px;color:#7889a9}.scene-branch-path>.scene-node{height:100%;background:#edf7f4;border-color:#c5dfd5;color:#477b68}.scene-branch-path:last-child>.scene-node{background:#fff3e9;border-color:#ebd2be;color:#916d4f}.scene-branch-path .scene-code{font-size:13px}.concept-scene[data-scene=module] .scene-node:nth-of-type(2),.concept-scene[data-scene=remote] .scene-node:nth-of-type(2){background:#f1eafa;border-color:#d5c5e9;color:#6f5390}.large-text .concept-scene>p{font-size:17px}.large-text .scene-node>span:not(.scene-label){font-size:16px}
@media(max-width:800px){.concept-scene>h3{font-size:19px;margin-bottom:20px}.scene-node>span:not(.scene-label){font-size:12px}.scene-flow.scene-branch{gap:0 13px}.scene-branch-path .scene-code{font-size:12px}}
@media(max-width:600px){.concept-scene>h3{font-size:18px;margin-bottom:18px}.scene-node>span:not(.scene-label){font-size:13px}.concept-scene>p{font-size:13px;margin-top:18px}.scene-example-note{font-size:9px}.scene-flow:not(.scene-branch)>.scene-arrow{transform:rotate(90deg);width:24px;height:24px;min-height:24px;flex:0 0 24px}.scene-flow.scene-branch{gap:0 10px}.scene-flow.scene-branch>.scene-node{max-width:100%}.scene-branch-path{padding-top:8px;gap:8px}.scene-branch-path>.scene-arrow{font-size:12px;min-height:31px}.scene-branch-path>.scene-node{padding:15px 9px}.scene-branch-path>.scene-node>strong{font-size:15px}.scene-branch-path>.scene-node>span:not(.scene-label){font-size:11px}.scene-branch-path .scene-code{font-size:11px}.large-text .concept-scene>p{font-size:15px}.large-text .scene-node>span:not(.scene-label){font-size:15px}.large-text .scene-branch-path>.scene-node>span:not(.scene-label){font-size:13px}}
/* Lesson chrome stays short so the next action is visible beside Studio. */
body:has(.lesson-rail) .student-topbar{height:64px}.student-main:has(.lesson-rail){padding-top:20px;min-height:calc(100vh - 64px)}.lesson-topline{margin-bottom:4px;line-height:1.6;min-height:22px}.lesson-title{font-size:22px;margin-bottom:16px;line-height:1.55}.lesson-rail{margin-bottom:18px}.rail-step{gap:6px;font-size:12px;color:#64708b}.rail-dot{width:30px;height:30px;font-size:12px;color:#64708b}.rail-step:before{top:14px}.workspace-strip{padding:7px;gap:8px;margin-bottom:18px;min-height:56px}.workspace-place{padding:6px 12px;gap:10px;min-height:40px}.workspace-place>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.workspace-place strong{font-size:12px;line-height:1.5;white-space:nowrap}.workspace-place span{font-size:11px;line-height:1.5;color:#64708b}.workspace-place:before{width:20px;height:18px;flex-basis:20px}.workspace-place.studio:before{width:19px;height:19px;flex-basis:19px;border-width:4px}.focus-header{display:flex;align-items:center;gap:14px;padding:12px 22px;min-height:58px}.focus-header>.focus-kicker{flex:0 0 auto;margin:0;font-size:11px;color:#64708b}.focus-header>h2{font-size:20px;line-height:1.6;margin:0}.focus-body{padding:24px}.launch-workflow{gap:14px}.launch-task-nav{gap:7px;padding:0;min-height:36px}.launch-task-nav>button{min-height:36px;padding:6px 10px;font-size:11px;color:#64708b}.launch-task-nav>button>span{width:18px;height:18px;flex-basis:18px;font-size:9px;color:#64708b}.launch-task-nav>button.is-current>span{color:#fff}.launch-workflow>.launch-card{padding:18px 21px}.launch-card-heading{gap:12px;margin-bottom:14px}.launch-count{width:31px;height:31px;flex-basis:31px;font-size:14px;margin-top:2px}.launch-card-heading h3{font-size:19px;line-height:1.65;margin-top:5px}.launch-card-body p{font-size:17px;line-height:1.9}.launch-card-body>.visual-guide{margin-top:18px}.rail-step:not(.active) .rail-label,.launch-task-status,.vg-tab:not(.is-current),.vg-controls>span,.vg-total,.mission-step p,.scene-example-note{color:#64708b}.student-main:has(.lesson-rail) .student-footer{margin-top:40px}
@media(max-width:800px){.student-main:has(.lesson-rail){padding-top:18px}.lesson-title{font-size:22px;margin-bottom:15px}.rail-step{font-size:11px}.workspace-place>div{gap:2px;display:block}.workspace-place span{font-size:10px;line-height:1.4}.workspace-place strong{font-size:11px}.workspace-place{padding:6px 10px;gap:8px}.focus-header{padding:12px 21px;min-height:56px}.focus-header>h2{font-size:19px}.focus-body{padding:23px}.launch-workflow>.launch-card{padding:18px}.launch-card-heading h3{font-size:18px}.launch-card-body p{font-size:16px}}
@media(max-width:600px){body:has(.lesson-rail) .student-topbar{height:60px}.student-main:has(.lesson-rail){padding-top:16px;min-height:calc(100vh - 60px)}.lesson-topline{font-size:11px;min-height:20px;margin-bottom:5px}.lesson-title{font-size:21px;margin-bottom:16px}.lesson-rail{margin-bottom:17px}.rail-step{font-size:9px;gap:6px}.rail-dot{width:26px;height:26px;font-size:10px}.rail-step:before{top:12px}.workspace-strip{padding:6px;gap:5px;margin-bottom:16px;min-height:54px}.workspace-place{padding:6px 7px;gap:6px;min-height:38px}.workspace-place strong{font-size:10px}.workspace-place span{font-size:9px;line-height:1.4;margin-top:2px}.workspace-place:before{width:14px;height:13px;flex-basis:14px}.workspace-place.studio:before{width:14px;height:14px;flex-basis:14px;border-width:3px}.focus-header{gap:11px;padding:12px 17px;min-height:55px}.focus-header>.focus-kicker{font-size:10px}.focus-header>h2{font-size:18px}.focus-body{padding:20px 16px}.launch-workflow{gap:13px}.launch-task-nav{gap:6px}.launch-task-nav>button{min-height:35px;padding:6px 8px;font-size:10px}.launch-task-nav>button>span{font-size:8px;width:17px;height:17px;flex-basis:17px}.launch-workflow>.launch-card{padding:17px 14px}.launch-card-heading{gap:10px;margin-bottom:14px}.launch-count{width:27px;height:27px;flex-basis:27px;font-size:12px}.launch-card-heading h3{font-size:17px;line-height:1.7;margin-top:5px}.launch-card-body p{font-size:15px}.launch-card-body>.visual-guide{margin-top:17px}.large-text .launch-card-body p{font-size:17px}}
.workspace-strip>span{display:grid;place-items:center;align-self:center;color:#7b87a6;font-size:17px;min-width:16px;line-height:1.2}
@media(max-width:600px){.workspace-strip>span{font-size:14px;min-width:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.start-button,.mission-step,#toast{transition:none}}

/* Keep two- and three-digit lesson numbers on one line at every breakpoint. */
.chapter-list .chapter-row{grid-template-columns:max-content minmax(0,1fr)}
.chapter-number{min-width:3ch;white-space:nowrap}
