:root{font-family:Inter,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;color:#243447;background:#f7f8fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}p{line-height:1.85}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.45;letter-spacing:-.025em}h1{font-size:clamp(1.85rem,3vw,2.7rem)}h2{font-size:1.4rem}h3{font-size:1.12rem}code,pre{font-family:Consolas,Cascadia Code,SFMono-Regular,monospace}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e67a30;outline-offset:3px}.page-wrap{max-width:1440px;margin:auto;padding-left:40px;padding-right:40px}.skip-link{position:absolute;z-index:100;left:16px;top:-100px;padding:12px 18px;background:#fff;color:var(--brand-navy)}.skip-link:focus{top:8px}.site-header{background:#fff;border-bottom:1px solid #e4e8ed}.header-inner{max-width:1440px;min-height:76px;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:1.04rem;color:var(--brand-navy);white-space:nowrap;letter-spacing:-.03em}.brand strong{font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--brand-navy);color:#fff;font-weight:800;font-size:1.22rem}.brand-mark span{color:#f5a365}.top-nav{display:flex;align-items:center;gap:30px;font-size:.86rem;font-weight:700;color:#596879}.top-nav a{padding:27px 0;border-bottom:3px solid transparent}.top-nav a:hover,.top-nav a.active{color:var(--brand-navy);border-bottom-color:#e67a30}.site-footer{border-top:1px solid #e0e5ea;background:#fff;color:#72808f;font-size:.8rem}.site-footer .page-wrap{display:flex;justify-content:space-between;gap:16px;padding-top:26px;padding-bottom:26px}.eyebrow,.block-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#c26522;line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:10px 20px;border-radius:6px;border:1px solid transparent;font-size:.9rem;font-weight:750;line-height:1.4;transition:background-color .15s,color .15s}.button.primary{background:var(--brand-navy);color:#fff}.button.primary:hover{background:#264d70}.button.secondary{background:#fff;border-color:#cbd5df;color:var(--brand-navy)}.button.secondary:hover{background:#edf3f7}.button:disabled{opacity:.55;cursor:not-allowed}.text-button{border:0;background:none;padding:8px 0;color:var(--brand-navy);text-decoration:underline;text-underline-offset:3px;font-weight:750}.hero{background:#eef2f5;border-bottom:1px solid #e0e7ec}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:clamp(40px,6vw,96px);padding-top:78px;padding-bottom:84px}.hero .eyebrow{margin-bottom:20px}.hero h1{max-width:700px;margin-bottom:24px;color:var(--brand-navy);font-size:clamp(2rem,3.2vw,3rem);line-height:1.47}.hero h1 span{display:block;font-size:.5em;font-weight:750;margin-bottom:12px;letter-spacing:.01em}.hero-lead{max-width:640px;margin-bottom:30px;color:#405267;font-size:1rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.continue-note{font-size:.78rem;color:#718091}.hero-guide{background:#fff;border:1px solid #dce4ea;border-top:4px solid var(--brand-navy);padding:30px 34px;box-shadow:0 12px 30px #1c35520b}.guide-label{font-weight:800;color:var(--brand-navy);margin-bottom:14px}.hero-guide ol{margin:0;padding:0;list-style:none}.hero-guide li{display:flex;gap:18px;align-items:center;padding:17px 0;border-top:1px solid #e7ebee}.hero-guide li>span{font-size:.9rem;font-weight:800;color:#cc702d}.hero-guide li b,.hero-guide li small{display:block}.hero-guide li b{color:#203b56}.hero-guide li small{margin-top:4px;color:#718091}.hero-guide p{margin:18px 0 0;font-size:.8rem;color:#687c8d}.home-audience{display:grid;grid-template-columns:1fr 1.35fr;gap:36px;padding-top:65px;padding-bottom:64px;border-bottom:1px solid #e3e7eb}.home-audience h2{margin-bottom:0;color:var(--brand-navy)}.home-audience ul{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin:0;padding:0;list-style:none}.home-audience li{padding-left:20px;position:relative;font-size:.91rem}.home-audience li:before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;background:#e67a30;border-radius:50%}.entry-section{padding-top:64px;padding-bottom:90px}.section-heading{margin-bottom:31px}.section-heading h2{color:var(--brand-navy);margin-bottom:7px}.section-heading p:last-child{color:#657588;margin-bottom:0}.entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.entry-card{min-height:232px;padding:25px 23px;border:1px solid #dce4e9;background:#fff;display:flex;flex-direction:column;transition:border-color .15s,transform .15s}.entry-card:hover{border-color:#7f98ac;transform:translateY(-2px)}.entry-card.featured{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.entry-index{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:#ba6730}.featured .entry-index{color:#ffb87f}.entry-card h3{margin:20px 0 7px}.entry-card p{font-size:.85rem;color:#617286;margin-bottom:20px}.entry-card.featured p{color:#d4e0e9}.entry-arrow{margin-top:auto;font-size:.8rem;font-weight:800;color:var(--brand-navy)}.featured .entry-arrow{color:#fff}.simple-page{min-height:70vh;padding-top:62px;padding-bottom:100px;max-width:1120px}.page-intro{max-width:760px;margin-bottom:42px}.page-intro h1{margin-bottom:12px;color:var(--brand-navy)}.page-intro p:last-child{color:#5d6d7d}.course-list{display:grid;gap:46px}.chapter-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:17px}.chapter-heading span,.step-number{font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#bd672a}.chapter-heading h2{margin:0;color:var(--brand-navy)}.course-lessons{background:#fff;border:1px solid #dce4ea}.course-lesson{display:grid;grid-template-columns:100px minmax(0,1fr) 100px;gap:20px;align-items:center;padding:23px 28px}.course-lesson+.course-lesson{border-top:1px solid #e6eaed}.course-lesson:hover{background:#f5f8fa}.course-lesson h3{margin:0 0 4px;color:var(--brand-navy)}.course-lesson p{margin:0 0 7px;font-size:.86rem;color:#667686}.course-lesson small{color:#7d8a95}.course-status{text-align:right;font-size:.79rem;font-weight:800;color:var(--brand-navy)}.course-status.done{color:#277057}.course-note{margin-top:34px;font-size:.86rem;color:#7a8995}.search-label{display:block;margin-bottom:8px;font-weight:750;color:var(--brand-navy)}.search-input{width:min(100%,650px);height:48px;padding:0 16px;border:1px solid #b9c7d2;border-radius:5px;background:#fff}.goal-list{margin-top:25px;border-top:1px solid #dfe5ea}.goal-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 8px;border-bottom:1px solid #dfe5ea}.goal-row:hover{background:#edf3f7}.goal-row span:first-child{font-weight:800;color:var(--brand-navy)}.goal-row span:last-child{font-size:.84rem;color:#a85620}.empty-state{padding:20px 8px}.trouble-list{max-width:850px;border-top:1px solid #dce4ea}.trouble-list details{border-bottom:1px solid #dce4ea;background:#fff}.trouble-list summary{cursor:pointer;padding:22px 54px 22px 22px;position:relative;font-weight:800;color:var(--brand-navy)}.trouble-list summary::marker{content:""}.trouble-list summary:after{content:"+";position:absolute;right:24px;top:19px;font-size:1.4rem;font-weight:400}.trouble-list details[open] summary:after{content:"−"}.trouble-list details>div{padding:0 25px 24px;color:#526579}.trouble-list li{margin:9px 0}.trouble-list a,.reference-item a{color:#a7561e;font-size:.85rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reference-item{padding:25px;background:#fff;border:1px solid #dce4ea}.reference-item h2{font-size:1.1rem;color:var(--brand-navy)}.reference-item pre{overflow-x:auto;max-width:100%;padding:16px;background:#f1f4f6;color:#1f3c57;font-size:.78rem;line-height:1.6}.reference-item p{font-size:.85rem;color:#5e6d7d;margin-bottom:8px}.lesson-layout{display:grid;grid-template-columns:195px minmax(0,1fr) 248px;gap:clamp(20px,2.7vw,40px);align-items:start;padding-top:36px;padding-bottom:90px}.lesson-sidebar,.file-sidebar{position:sticky;top:24px}.lesson-sidebar{font-size:.79rem}.sidebar-back{display:inline-block;margin:8px 0 35px;color:#607588;font-weight:750}.sidebar-back:hover{text-decoration:underline}.sidebar-title{font-size:.75rem;font-weight:800;color:#253e55;padding-bottom:14px;border-bottom:1px solid #dce4e9}.sidebar-chapter{display:grid;gap:7px;margin:25px 0}.sidebar-chapter>span{color:#bc682d;font-size:.68rem;font-weight:800;letter-spacing:.1em}.sidebar-chapter>b{margin-bottom:8px;color:#435970;font-size:.76rem;line-height:1.5}.sidebar-lesson{display:flex;gap:9px;align-items:center;padding:9px 8px;border-radius:5px;color:#596d7f;line-height:1.5}.sidebar-lesson:hover{background:#eaf0f4}.sidebar-lesson.current{background:#e6edf2;color:var(--brand-navy);font-weight:800}.sidebar-lesson span{display:grid;place-items:center;flex:none;width:22px;height:22px;border:1px solid #b9c9d5;border-radius:50%;font-size:.66rem}.sidebar-lesson.current span{border-color:var(--brand-navy);background:var(--brand-navy);color:#fff}.lesson-body{min-width:0;background:#fff;border:1px solid #e0e6ea}.lesson-top{padding:39px clamp(28px,3vw,48px) 0}.lesson-top .eyebrow{margin-bottom:14px}.lesson-top h1{font-size:clamp(1.6rem,2.1vw,2.15rem);color:var(--brand-navy);margin-bottom:10px}.lesson-description{font-size:.94rem;color:#617286;margin-bottom:28px}.lesson-overview{border:1px solid #dce5ec;border-left:4px solid var(--brand-navy);background:#f5f8fa}.goal{display:grid;gap:8px;padding:22px 25px;border-bottom:1px solid #dce5ec}.goal span,.lesson-facts span,.file-current span,.file-tree>span{font-size:.71rem;color:#63778a;font-weight:800}.goal strong{font-size:.94rem;color:var(--brand-navy);line-height:1.6}.lesson-facts{display:grid;grid-template-columns:1fr 1fr 1.35fr}.lesson-facts>div{display:grid;align-content:start;gap:6px;padding:17px 20px}.lesson-facts>div+div{border-left:1px solid #dce5ec}.lesson-facts strong{font-size:.82rem;color:#273f56;overflow-wrap:anywhere}.lesson-content{padding:14px clamp(28px,3vw,48px) 0}.lesson-section{margin-top:40px}.lesson-section h2{margin-bottom:15px;color:var(--brand-navy);font-size:1.32rem}.lesson-section p{color:#405369;font-size:.92rem;margin-bottom:14px}.lesson-section p:last-child{margin-bottom:0}.lesson-section ul{padding-left:23px}.code-card{border:1px solid #dce4e9;overflow:hidden}.code-meta{display:grid;grid-template-columns:1.3fr 1fr .75fr;background:#f1f5f7;border-bottom:1px solid #dce4e9}.code-meta>div{display:grid;gap:5px;padding:13px 16px}.code-meta>div+div{border-left:1px solid #dce4e9}.code-meta span{font-size:.66rem;color:#677d8e;font-weight:750}.code-meta strong{font-size:.77rem;overflow-wrap:anywhere;color:var(--brand-navy)}.code-toolbar{display:flex;align-items:center;justify-content:space-between;background:#243444;color:#b8c9d8;padding:7px 13px;font-size:.67rem;letter-spacing:.1em;font-weight:800}.code-toolbar button{background:#354a5d;border:1px solid #526b80;border-radius:3px;color:#fff;padding:7px 10px;font-size:.7rem;letter-spacing:0}.code-toolbar button:hover{background:#4c6479}.code-card pre{margin:0;padding:22px;overflow-x:auto;max-width:100%;background:#243444;color:#e4edf4;font-size:.82rem;line-height:1.75;tab-size:2}.code-detail{background:#fff;border-top:1px solid #dce4e9;padding:12px 16px}.code-detail summary{color:var(--brand-navy);font-size:.8rem;font-weight:800;cursor:pointer}.code-detail p{margin:10px 0 0;font-size:.82rem}.vscode-block{border:1px solid #d8e3ec;background:#f6f9fb;padding:26px}.vscode-head{display:flex;gap:13px;align-items:center;margin-bottom:20px}.vscode-head .block-kicker{margin:0 0 3px;color:#316280}.vscode-head h2{margin:0}.vscode-icon{display:grid;place-items:center;width:36px;height:36px;background:#dbe8f0;color:#245274;border-radius:6px;font-size:1.3rem}.vscode-block ol{padding:0;margin:0;list-style:none}.vscode-block li{background:#fff;border:1px solid #dce5ea;padding:18px 20px}.vscode-block li+li{margin-top:12px}.operation-count{display:inline-block;margin-bottom:11px;color:#215b7b;font-size:.71rem;font-weight:800}.vscode-block dl{display:grid;gap:10px;margin:0}.vscode-block dl>div{display:grid;grid-template-columns:78px 1fr;gap:12px}.vscode-block dt{font-size:.7rem;color:#728394;font-weight:800}.vscode-block dd{margin:0;font-size:.82rem;line-height:1.7;color:#2c4054}.vscode-block .operation-caution dd{color:#9a511f}.flow-list{padding:0;margin:0;list-style:none;display:grid;gap:0}.flow-list li{position:relative;display:flex;align-items:center;gap:17px;min-height:70px;padding:14px 20px;background:#f1f5f7;border:1px solid #dbe4e9;color:var(--brand-navy)}.flow-list li+li{margin-top:14px}.flow-list li+li:before{content:"↓";position:absolute;top:-22px;left:31px;color:#bf6528;font-size:1rem;font-weight:800}.flow-list li span{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--brand-navy);color:#fff;font-size:.72rem}.flow-list li b{font-size:.85rem}.quiz,.challenge{padding:25px;border:1px solid #e7d8c6;background:#fdfaf6}.quiz .block-kicker,.challenge .block-kicker{margin-bottom:5px}.quiz-choices{display:grid;gap:9px;margin:17px 0}.quiz-choices button{text-align:left;padding:11px 15px;border:1px solid #cdd8e1;background:#fff;border-radius:4px;color:var(--brand-navy)}.quiz-choices button:hover,.quiz-choices button.selected{border-color:var(--brand-navy);background:#eef4f8}.quiz-result{padding:12px 15px;background:#fff2e9;color:#8c4a1f!important}.quiz-result.correct{background:#eaf5ef;color:#246a4d!important}.hint-actions{margin:15px 0}.hint{display:grid;gap:4px;padding:12px 15px;background:#fff;border-left:3px solid #e67a30}.hint b{font-size:.75rem;color:#a95a24}.hint code{overflow-wrap:anywhere}.hint.answer{border-color:#246a4d}.completion{margin:58px clamp(28px,3vw,48px) 0;padding:26px;background:#edf3f6;border-top:3px solid var(--brand-navy)}.completion h2{color:var(--brand-navy)}.completion>p:not(.block-kicker){font-size:.86rem;color:#5b6e7e}.check-items{display:grid;gap:9px;margin:22px 0 24px}.check-items label{display:flex;align-items:flex-start;gap:10px;background:#fff;padding:11px 13px;font-size:.83rem;cursor:pointer}.check-items input{accent-color:var(--brand-navy);width:17px;height:17px;flex:none;margin:1px 0}.completion small{display:block;color:#71818e;margin-top:10px}.lesson-bottom-nav{display:flex;justify-content:space-between;padding:28px clamp(28px,3vw,48px) 38px;font-size:.82rem;color:var(--brand-navy);font-weight:800}.lesson-bottom-nav a:hover{text-decoration:underline}.file-panel{border:1px solid #dce4e9;background:#fff;padding:21px}.file-panel .block-kicker{margin-bottom:5px;font-size:.67rem}.file-panel h2{font-size:1.08rem;margin-bottom:22px;color:var(--brand-navy)}.file-current{display:grid;gap:7px;padding:14px;background:#eaf2f7;border-left:3px solid #2b6585}.file-current strong{font-size:.85rem;color:var(--brand-navy);overflow-wrap:anywhere}.file-tree{margin-top:24px}.file-tree>div{margin-top:9px;padding:12px 8px;background:#f5f7f8;overflow-x:auto;white-space:pre;font:11px/1.85 Consolas,Cascadia Code,monospace;color:#586b7b}.file-tree .highlight-file{color:var(--brand-navy);font-weight:800;background:#e6edf2}.file-tree b{color:#a8571f;font-weight:800}.file-caution{margin-top:21px;border-top:1px solid #e2e8ec;padding-top:17px}.file-caution b{font-size:.73rem;color:#aa5c27}.file-caution p{font-size:.77rem;color:#5e7082;margin:6px 0 0}@media(max-width:1150px){.lesson-layout{grid-template-columns:170px minmax(0,1fr);gap:24px}.file-sidebar{grid-column:2;grid-row:1;position:static}.file-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.file-panel .block-kicker,.file-panel h2{grid-column:1/-1;margin:0}.file-tree{grid-column:2;grid-row:3/5;margin:0}.file-caution{margin:0;border:0;padding:0}.lesson-body{grid-column:2;grid-row:2}.lesson-sidebar{grid-row:1/3}.entry-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.page-wrap{padding-left:20px;padding-right:20px}.header-inner{padding:15px 20px;display:block}.top-nav{overflow-x:auto;gap:22px;margin-top:10px;white-space:nowrap}.top-nav a{padding:10px 0;font-size:.8rem}.hero-grid{grid-template-columns:1fr;padding-top:52px;padding-bottom:58px;gap:35px}.hero-guide{padding:23px}.home-audience{grid-template-columns:1fr;gap:24px;padding-top:45px;padding-bottom:45px}.entry-section{padding-top:48px;padding-bottom:65px}.lesson-layout{display:flex;flex-direction:column;padding-top:0;gap:0}.lesson-sidebar{position:static;order:0;width:calc(100% + 40px);margin:0 -20px 22px;padding:12px 20px;background:#edf2f5;border-bottom:1px solid #dce4e9}.sidebar-back{margin:0}.sidebar-title,.sidebar-chapter{display:none}.file-sidebar{order:1;width:100%;margin:0 0 20px}.file-panel{display:block}.file-panel h2{margin-bottom:15px}.file-tree,.file-caution{margin-top:16px}.lesson-body{order:2;width:calc(100% + 40px);margin:0 -20px;border-left:0;border-right:0}.lesson-top{padding:29px 20px 0}.lesson-content{padding:5px 20px 0}.completion{margin:48px 20px 0}.lesson-bottom-nav{padding:25px 20px 35px}.simple-page{padding-top:46px;padding-bottom:70px}}@media(max-width:520px){.top-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;overflow:visible;white-space:normal}.top-nav a{border-bottom-width:2px}.hero h1{font-size:1.5rem}.hero h1 span{font-size:.72em}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.home-audience ul,.entry-grid,.reference-grid{grid-template-columns:1fr}.entry-card{min-height:190px}.course-lesson{grid-template-columns:1fr auto;gap:8px;padding:18px}.course-lesson .step-number{grid-column:1/-1}.course-lesson p{line-height:1.55}.course-status{align-self:start;white-space:nowrap}.chapter-heading{display:block}.chapter-heading h2{margin-top:6px}.lesson-facts{grid-template-columns:1fr 1fr}.lesson-facts>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #dce5ec}.code-meta{grid-template-columns:1fr 1fr}.code-meta>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #dce4e9}.code-card pre{font-size:.75rem;padding:17px}.vscode-block{padding:19px 15px}.vscode-block dl>div{grid-template-columns:1fr;gap:2px}.goal-row{display:grid;gap:3px}.site-footer .page-wrap,.site-footer span{display:block}}.lesson-sidebar{max-height:calc(100vh - 48px);overflow-y:auto}.empty-file-tree{margin:8px 0 0;font-size:.77rem;color:#6b7f8e}.future-label{display:inline-block;margin-top:5px;color:#7c8a96;font-size:.78rem;font-weight:750}.reference-item,.hint{min-width:0}.hint p{margin:0!important}.hint pre{max-width:100%;overflow-x:auto;margin:0;white-space:pre;font-size:.77rem;line-height:1.65;color:#243f55}@media(max-width:760px){.lesson-sidebar{max-height:none;overflow:visible}}@media(min-width:761px)and (max-width:1150px){.lesson-facts{grid-template-columns:1fr 1fr}.lesson-facts>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #dce5ec}}.course-progress{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.course-progress span{display:inline-flex;gap:12px;align-items:center;padding:10px 14px;background:#fff;border:1px solid #dce4ea;color:#53697c;font-size:.83rem;font-weight:700}.course-progress strong{color:var(--brand-navy);font-size:1rem}.optional-chapter{padding-top:32px;border-top:2px solid #d9e3e9;scroll-margin-top:30px}.optional-badge{padding:5px 9px;border-radius:3px;background:#eaf1f5;color:#315571;font-size:.72rem;white-space:nowrap}.optional-intro,.optional-lesson-note{max-width:730px;color:#526a7c;font-size:.86rem}.optional-intro{margin:0 0 18px}.optional-lesson-note{padding:10px 14px;background:#eef4f7;border-left:3px solid #426e88;margin-bottom:24px}.home-optional{margin:24px 0 0;color:#5d6d7d;font-size:.85rem}.home-optional a{color:#a7561e;font-weight:800;text-decoration:underline;text-underline-offset:3px}.reference-group-title{margin:35px 0 17px;color:var(--brand-navy)}.reference-grid+.reference-group-title{margin-top:56px}.course-finish{margin:24px clamp(28px,3vw,48px) 0;padding:24px;background:#f5f8fa;border:1px solid #dbe5eb}.course-finish.completed{background:#eaf5ef;border-color:#b8d9c5}.course-finish h2{margin-bottom:10px;color:var(--brand-navy)}.course-finish p{margin-bottom:9px;color:#405369;font-size:.88rem}.course-finish p:last-child{margin-bottom:0}@media(max-width:760px){.course-finish{margin-left:20px;margin-right:20px}}@media(max-width:520px){.course-progress{display:grid}.chapter-heading .optional-badge{display:inline-block;margin-top:9px}}:root{--brand-navy:#0B3A6E;--brand-blue:#167CC1;--brand-teal:#0EA5C6;--brand-orange:#FF8A00;--text-primary:#333333;--background-soft:#F7F8FA;color:var(--text-primary);background:var(--background-soft)}.brand{display:inline-flex;align-items:center;flex:none;gap:0}.brand-logo-window{position:relative;display:block;width:113px;height:38px;overflow:hidden;flex:none}.brand-logo-image{position:absolute;display:block;width:158.1px;max-width:none;height:auto;left:-25.7px;top:-7.5px}.button.primary{background:#1579bc}.button.primary:hover{background:#0f649e}.top-nav a.active,.top-nav a:hover{border-bottom-color:var(--brand-orange)}.text-button,.reference-item a,.trouble-list a,.home-optional a,.goal-row span:last-child{color:#126ead}.course-progress strong{color:#126ead}.check-items input{accent-color:var(--brand-blue)}.step-number,.chapter-heading span,.sidebar-chapter>span{color:#995000}.sidebar-lesson.current span{border-color:var(--brand-orange);background:var(--brand-orange);color:var(--brand-navy)}.quiz-choices button.selected{border-color:var(--brand-blue);background:#eaf5fb}.file-current{border-left-color:var(--brand-teal)}.vscode-icon{background:#e8f6f8;color:#087e97}.operation-count{color:#126ead}@media(max-width:760px){.brand-logo-window{width:89px;height:30px}.brand-logo-image{width:124.8px;left:-20.3px;top:-5.9px}}.lesson-toc{margin-top:24px;padding:17px 20px;border:1px solid #dce5ec;background:#f7f9fa}.lesson-toc h2{margin:0 0 12px;color:var(--brand-navy);font-size:.9rem}.lesson-toc ol{display:flex;flex-wrap:wrap;gap:8px 15px;list-style:none;margin:0;padding:0}.lesson-toc a,.file-guide a{color:#126ead;font-size:.8rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}.lesson-section-anchor{display:flow-root;scroll-margin-top:20px}.file-sidebar,.file-panel,.file-tree{min-width:0}.file-guide{margin-top:20px}.file-guide h3{margin:0 0 10px;color:var(--brand-navy);font-size:.83rem}.file-guide-list{display:grid;gap:8px;margin:0;padding-left:21px}.file-guide-list li{padding:9px 8px;background:#f5f8fa;color:#405369;font-size:.77rem;overflow-wrap:anywhere}.file-guide-list strong,.file-guide-folder,.file-guide-role{display:block}.file-guide-list strong{color:var(--brand-navy);font-size:.83rem}.file-guide-folder{margin-top:2px;color:#657789;font-size:.72rem}.file-guide-role{margin-top:6px}.file-guide a{display:inline-block;margin-top:5px;font-size:.73rem}.file-tree .check-file{background:#f0f5f7}.mobile-file-guide{display:none}.mobile-file-caution{margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--brand-teal);background:#f5f8fa;color:#526579;font-size:.8rem}.example-image figure{margin:0}.example-image img{display:block;max-width:100%;height:auto;border:1px solid #dce4e9}.example-image figcaption{margin-top:9px;color:#5b6e7e;font-size:.8rem;line-height:1.6}.example-image a{color:#126ead;font-weight:750;text-decoration:underline;text-underline-offset:3px}.answer-blocks{min-width:0}.answer-blocks .lesson-section{margin-top:16px}.answer-blocks .code-card,.answer-blocks .code-meta{min-width:0}@media(max-width:1150px){.file-panel.multi-file-panel{display:block}}@media(max-width:760px){.multi-file-lesson .lesson-body{order:1}.multi-file-lesson .file-sidebar{order:2;margin-top:20px}.multi-file-lesson .file-sidebar .file-guide,.multi-file-lesson .file-sidebar .file-caution{display:none}.multi-file-lesson .file-sidebar .file-tree{margin-top:0}.multi-file-lesson .mobile-file-guide{display:block;padding:8px 20px 0}}.copy-status{margin:0;padding:8px 13px;font-size:.78rem;font-weight:700}.copy-status.success{background:#eaf5ef;color:#246a4d}.copy-status.error{background:#fff2e9;color:#8c4a1f}
