:root{--paper:#f6f5f0;--white:#fffefa;--ink:#1a2d2d;--muted:#5c6a68;--teal:#056c71;--teal-dark:#034f53;--line:#d9e0d9;--wash:#e9efe8;--orange:#b7552d;--radius:14px;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline-offset:4px;outline:3px solid #d77b37}::selection{color:#143b39;background:#b2ddd1}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:-.035em;line-height:1.12}h1{margin-bottom:26px;font-size:clamp(2.65rem,6vw,5.2rem);font-weight:500}h1 em,h2 em{color:var(--teal);font-family:Georgia,Times New Roman,serif;font-weight:400}h2{font-size:clamp(2rem,3.6vw,3.25rem);font-weight:500}h3{font-size:1.45rem;font-weight:550}p{margin-bottom:1em}img{max-width:100%;height:auto}ul,ol{padding-left:1.3em}li+li{margin-top:.55em}code{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em}:not(pre)>code{background:#e7ebe4;border-radius:4px;padding:.1em .3em}pre code{font-size:inherit;overflow-wrap:normal;background:0 0;border-radius:0;padding:0}button{border:0}section[id],header[id],div[id]{scroll-margin-top:110px}.page{max-width:1240px;margin:auto;padding:70px 42px}.narrow{max-width:1030px}.article{max-width:880px}.page-intro{max-width:820px;margin-bottom:40px}.page-intro>p:not(.eyebrow){max-width:750px;color:var(--muted);font-size:1.13rem}.eyebrow{letter-spacing:.13em;color:var(--teal);margin-bottom:20px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.7rem;font-weight:600;line-height:1.6}.eyebrow span{color:var(--muted)}.small-note,.availability{color:var(--muted);font-size:.83rem!important}.availability{border-left:3px solid var(--teal);background:var(--wash);padding:15px 18px;line-height:1.7}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:9px;padding:12px 20px;position:fixed;top:-80px;left:12px}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;max-width:1440px;margin:auto;padding:25px 42px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:11px;font-size:1.2rem;font-weight:750;line-height:1.15;text-decoration:none;display:flex}.brand small{letter-spacing:.16em;color:var(--muted);margin-top:5px;font-family:ui-monospace,monospace;font-size:.48rem;font-weight:500;display:block}.brand-mark{border:1.5px solid var(--teal);width:40px;height:43px;color:var(--teal);border-radius:10px;place-content:center;font-family:ui-monospace,monospace;font-size:1.6rem;display:grid;position:relative}.brand-mark span{font-size:1rem;position:absolute;bottom:4px;right:5px}.site-header nav{align-items:center;gap:25px;display:flex}.site-header nav a{font-size:.85rem;font-weight:550;text-decoration:none}.site-header nav a:hover{color:var(--teal)}.nav-app{border:1px solid var(--line);background:var(--white);border-radius:9px;padding:11px 17px}.button{background:var(--teal);color:#fff;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:14px 22px;font-size:.88rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.button:hover{background:var(--teal-dark);color:#fff}.button.secondary{border-color:var(--line);color:var(--ink);background:0 0}.button.secondary:hover{background:var(--wash)}.text-link,.back{color:var(--teal);font-size:.85rem;font-weight:600;text-decoration:none}.text-link:hover,.back:hover{text-decoration:underline}.back{margin-bottom:24px;display:inline-block}.text-button{color:var(--teal);text-underline-offset:4px;background:0 0;padding:7px 0;font-size:.85rem;text-decoration:underline}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding-top:78px;padding-bottom:88px;display:grid}.hero h1{letter-spacing:-.06em;margin-bottom:25px;font-size:clamp(3.5rem,6.4vw,6rem);line-height:1.015}.hero-copy>p:not(.eyebrow):not(.small-note){color:var(--muted);max-width:465px;font-size:1.02rem;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:29px 0 15px;display:flex}.status-dot{background:var(--teal);border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.hero-workbench{border-radius:var(--radius);color:#d9e7df;background:#142928;border:1px solid #153c3a;overflow:hidden;transform:rotate(-1deg);box-shadow:16px 18px #e1e8dd}.window-bar{color:#b5c9c1;background:#203b37;border-bottom:1px solid #36544e;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;font:10px ui-monospace,monospace;display:flex}.window-bar>span:first-child{gap:5px;display:flex}.window-bar i{border:1px solid #78938a;border-radius:100%;width:6px;height:6px;display:block}.hero-workbench .code-block{border:0;border-radius:0;margin:0}.hero-workbench .code-label{display:none}.hero-workbench pre{background:#142928!important;padding:27px 22px!important;font-size:12px!important;line-height:1.9!important}.terminal-output{background:#10211f;border-top:1px solid #314c44;padding:16px 22px;position:relative}.terminal-output>span:first-child{letter-spacing:.15em;color:#7ea399;font:9px ui-monospace,monospace}.terminal-output pre{color:#cce4d3;margin:0;background:0 0!important;padding:10px 0 2px!important;font-size:12px!important}.terminal-status{text-align:right;color:#8ab79f;font:9px ui-monospace,monospace;display:block}.hero-caption{color:#b0c8bd;border-top:1px solid #314c44;justify-content:space-between;padding:13px 22px;font-size:10px;display:flex}.stats-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:25px;max-width:1240px;margin:auto;padding:30px 42px;display:grid}.stats-band>div{border-left:1px solid var(--line);padding-left:28px}.stats-band>div:first-child{border-left:0;padding-left:0}.stats-band strong{color:var(--teal);font-family:Georgia,serif;font-size:2.4rem;font-weight:400;line-height:1.1;display:block}.stats-band span{color:var(--muted);margin-top:7px;font-size:.72rem;display:block}.section-space{padding-top:85px;padding-bottom:85px}.section-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:36px;display:flex}.section-heading h2{margin-bottom:0}.section-heading>.text-link{white-space:nowrap;margin-bottom:6px}.path-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.path-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);flex-direction:column;min-width:0;padding:27px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.path-card:hover,.lesson-card:hover,.blog-tile:hover{border-color:var(--teal);transform:translateY(-2px)}.path-card>span{letter-spacing:.13em;color:var(--teal);margin-bottom:31px;font:9px ui-monospace,monospace}.path-card h3{font-size:1.55rem;line-height:1.2}.path-card p{color:var(--muted);font-size:.88rem;line-height:1.75}.path-card strong{color:var(--teal);margin-top:auto;padding-top:18px;font-size:.79rem;font-weight:600}.comparison-link{border-radius:var(--radius);background:var(--wash);justify-content:space-between;align-items:center;gap:25px;margin-top:25px;padding:26px 29px;display:flex}.comparison-link h3{margin-bottom:8px;font-size:1.22rem}.comparison-link p{color:var(--muted);max-width:630px;margin:0;font-size:.85rem}.comparison-link .button{flex-shrink:0}.app-section{border-block:1px solid var(--line);background:#e8eee5}.app-grid{grid-template-columns:1fr 1.25fr;align-items:center;gap:10%;padding-top:70px;padding-bottom:70px;display:grid}.app-grid h2{font-size:3.5rem}.app-grid p{color:var(--muted)}.app-image{background:#dae3d4;border:1px solid #d4dfd0;border-radius:18px;justify-content:center;align-items:center;max-height:570px;padding:30px 55px;display:flex;overflow:hidden}.app-image img{filter:drop-shadow(0 10px 12px #203c3420);border-radius:10px;width:245px}.feature-list{margin:23px 0;padding:0;list-style:none}.feature-list li{color:var(--muted);border-top:1px solid #c9d5c4;margin-top:13px;padding-top:13px;font-size:.86rem}.feature-list strong{color:var(--ink)}.blog-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.blog-tile{border-top:2px solid var(--teal);flex-direction:column;padding:25px 5px 8px;text-decoration:none;transition:transform .15s;display:flex}.blog-tile h3{margin:6px 0 18px;font-family:Georgia,serif;font-size:1.7rem;font-weight:400;line-height:1.2}.blog-tile>p:not(.card-meta){color:var(--muted);font-size:.85rem}.blog-tile>span{color:var(--teal);margin-top:auto;padding-top:12px;font-size:.8rem}.closing{text-align:center;border-top:1px solid var(--line);padding-top:60px;padding-bottom:95px}.closing h2{font-size:clamp(2rem,4vw,3.5rem)}.closing>.text-link{margin-top:23px;display:block}.footer{color:#e4ece5;background:#152f2d;grid-template-columns:2fr 1fr 1fr;gap:35px;padding:55px max(42px,50vw - 578px);display:grid}.footer a{color:#bfcfc5;margin-bottom:8px;font-size:.8rem;text-decoration:none;display:block}.footer a:hover{color:#fff;text-decoration:underline}.footer .footer-brand{color:#fff;font-size:1.3rem;font-weight:650}.footer-brand span{color:#bfcfc5;margin:7px 0 20px;font-size:.78rem;font-weight:400;display:block}.footer p{color:#94aaa0;font-size:.75rem}.footer h2{letter-spacing:.07em;text-transform:uppercase;margin-bottom:20px;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:500}.copyright{border-top:1px solid #36504a;grid-column:1/-1;margin:0;padding-top:24px}.inline-stats{gap:25px;margin:28px 0;display:flex}.inline-stats span{color:var(--muted);font-size:.78rem}.inline-stats strong{color:var(--teal);font-size:1.3rem;display:block}.progress-summary{background:var(--wash);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding:23px 25px;display:flex}.progress-summary strong{font-size:.9rem}.progress-summary p{color:var(--muted);max-width:490px;margin:5px 0 0;font-size:.76rem}.progress-summary>.button{white-space:normal;text-align:left;max-width:44%;font-size:.77rem}.course-filters{grid-template-columns:2fr 1.3fr 1fr;gap:16px;margin:30px 0 20px;display:grid}label{color:var(--muted);font-size:.72rem;font-weight:600}input,select{background:var(--white);width:100%;color:var(--ink);border:1px solid #c8d4cb;border-radius:8px;min-width:0;min-height:47px;margin-top:7px;padding:12px 14px;font-size:.87rem;display:block}.result-count{color:var(--muted);margin:24px 0 18px;font-size:.8rem}.lesson-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.lesson-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);flex-direction:column;min-width:0;padding:23px;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.card-meta{color:var(--teal);letter-spacing:.01em;justify-content:space-between;gap:12px;font:10px/1.65 ui-monospace,monospace;display:flex}.lesson-card .card-meta{min-height:30px}.card-meta>span{white-space:nowrap;color:var(--muted)}.lesson-card h2{letter-spacing:-.025em;margin:18px 0 12px;font-size:1.22rem;font-weight:550;line-height:1.25}.lesson-card>p{color:var(--muted);font-size:.8rem;line-height:1.75}.lesson-kind{border-top:1px solid var(--line);color:var(--teal);justify-content:space-between;margin-top:auto;padding-top:12px;font-size:.72rem;display:flex}.local-note{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-top:32px;font-size:.75rem;display:flex}.local-note p{margin:0}.empty{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;padding:45px}.empty h2{font-size:1.8rem}.lesson-layout{grid-template-columns:245px minmax(0,790px);gap:60px;max-width:1320px;margin:auto;padding:55px 42px 85px;display:grid}.lesson-toc{align-self:start;max-height:calc(100vh - 55px);padding-right:18px;position:sticky;top:30px;overflow:auto}.lesson-toc .back{font-size:.78rem}.lesson-toc .eyebrow{margin:10px 0 17px;font-size:.6rem}.lesson-toc nav a{color:var(--muted);border-bottom:1px solid var(--line);padding:8px 0;font-size:.75rem;line-height:1.6;text-decoration:none;display:block}.lesson-toc nav a:hover{color:var(--teal)}.lesson-article{min-width:0}.lesson-article h1{margin-top:16px;font-size:clamp(2.3rem,4vw,3.6rem)}.lesson-article header .eyebrow{font-size:.63rem}.lesson-objective{color:var(--teal);margin:26px 0;font-size:1.15rem;line-height:1.6}.prose{overflow-wrap:anywhere;line-height:1.85}.prose p{margin:0 0 1.2em}.prose>:last-child{margin-bottom:0}.prose ul,.prose ol{margin:1.2em 0}.prose a,.references a,.legal a,.contact-card a{color:var(--teal)}.design-panel{background:var(--wash);border-radius:var(--radius);border:1px solid #d2ded0;margin:38px 0;padding:28px;font-size:.88rem}.design-panel h2{margin:20px 0 12px;font-size:1.1rem}.flow{gap:10px;margin:22px 0;padding:0;list-style:none;display:flex}.flow li{background:var(--white);border:1px solid #ccd8c8;border-radius:8px;flex:1;min-width:0;margin:0;padding:14px 13px;font-size:.75rem;line-height:1.6;position:relative}.flow li+li:before{content:"→";color:var(--teal);background:var(--wash);position:absolute;top:14px;left:-12px}.tradeoffs{grid-template-columns:1fr 1fr;gap:23px;display:grid}.tradeoffs h2{color:var(--teal)}.tradeoffs ul{margin-bottom:22px;font-size:.82rem}.ratings{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:17px;display:grid}.ratings>div{border:1px solid #ccd8c8;border-radius:8px;grid-template-columns:1fr auto;gap:9px;padding:12px;font-size:.73rem;line-height:1.5;display:grid}.ratings strong{color:var(--teal);font-family:ui-monospace,monospace}meter{width:100%;height:9px;accent-color:var(--teal);grid-column:1/-1}.reading-section{border-top:1px solid var(--line);margin-top:40px;padding-top:31px;position:relative}.reading-section h2{margin-bottom:22px;font-size:1.8rem;line-height:1.23}.reading-section h3{margin:30px 0 17px;font-size:1.35rem}.reading-section>p{line-height:1.85}.section-number{color:var(--teal);margin-bottom:14px;font:11px ui-monospace,monospace;display:block}.code-block{background:#0d1117;border:1px solid #263238;border-radius:10px;min-width:0;margin:24px 0;overflow:hidden}.code-label{color:#b9c9ce;text-transform:uppercase;letter-spacing:.09em;background:#172329;border-bottom:1px solid #293b41;justify-content:space-between;align-items:center;padding:9px 17px;font:10px ui-monospace,monospace;display:flex}.code-copy{color:#b8d9d0;background:0 0;border:1px solid #48645c;border-radius:5px;min-height:29px;padding:5px 10px;font:10px ui-monospace,monospace}.code-copy:hover{background:#29463c}.code-scroll{max-width:100%;overflow:auto}.code-scroll pre{tab-size:4;margin:0;padding:23px;font-size:15px;line-height:1.8}.walkthrough{background:#eef1e9;border-left:3px solid #81a59c;margin:20px 0;padding:20px 23px;font-size:.9rem}.walkthrough>strong{color:var(--teal);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:.74rem;display:block}.walkthrough p:last-child{margin-bottom:0}.takeaway{border-radius:var(--radius);background:#e8eee1;border:1px solid #b7cbbd;margin-top:42px;padding:27px}.takeaway .eyebrow{margin-bottom:12px}.quiz{border-radius:var(--radius);background:var(--white);border:1px solid #b8cfc7;margin-top:45px;padding:30px}.quiz h2{font-size:1.5rem;line-height:1.35}.answers{gap:10px;margin-top:25px;display:grid}.answer{text-align:left;background:var(--paper);min-height:50px;color:var(--ink);border:1px solid #d0dcd0;border-radius:8px;padding:16px;font-size:.9rem;line-height:1.65}.answer:hover:not(:disabled){border-color:var(--teal);background:var(--wash)}.answer.correct{background:#e1f0dd;border-color:#377155}.answer.incorrect{background:#f8e8df;border-color:#b25e3d}.feedback{background:#f6eae2;border-radius:9px;margin:18px 0;padding:17px 19px;font-size:.87rem}.feedback.good{background:#e3efdd}.feedback p{margin:9px 0 0}.references{overflow-wrap:anywhere;margin:40px 0;font-size:.82rem}.references h2{font-size:1.3rem}.references ul{padding:0;list-style:none}.completion{border-block:1px solid var(--line);margin:40px 0;padding:28px 0}.completion p{color:var(--muted);margin:12px 0 0;font-size:.77rem}.lesson-pagination{grid-template-columns:1fr 1fr;gap:25px;display:grid}.lesson-pagination a{border:1px solid var(--line);border-radius:10px;padding:20px;font-size:.95rem;line-height:1.5;text-decoration:none}.lesson-pagination small{letter-spacing:.05em;color:var(--teal);margin-bottom:10px;font:10px ui-monospace,monospace;display:block}.post-list{border-top:1px solid var(--line)}.post-card{border-bottom:1px solid var(--line);grid-template-columns:60px 1fr 35px;gap:20px;padding:35px 0;text-decoration:none;display:grid}.post-index{color:var(--teal);padding-top:4px;font:13px ui-monospace,monospace}.post-card h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.2}.post-card p:not(.card-meta){max-width:770px;color:var(--muted);margin:0;font-size:.9rem}.post-card .card-meta{margin-bottom:15px}.post-arrow{color:var(--teal);font-size:1.6rem}.post-card:hover h2{color:var(--teal)}.article>header h1{font-size:clamp(2.6rem,5vw,4.2rem);line-height:1.1}.article-lede{color:var(--muted);font-size:1.15rem;line-height:1.7}.article-byline{color:var(--muted);margin:25px 0 40px;font-family:ui-monospace,monospace;font-size:.68rem}.related{background:var(--wash);border-radius:var(--radius);margin:45px 0;padding:27px}.related h2{font-size:1.7rem}.related>a{color:var(--teal);border-top:1px solid #ccd8c8;justify-content:space-between;gap:20px;padding:13px 0;font-size:.9rem;text-decoration:none;display:flex}.scenario-picker{max-width:470px;margin:30px 0;font-size:.85rem;display:block}.scenario-picker select{min-height:56px;font-size:1rem}.architecture-list{border-top:1px solid var(--line)}.architecture-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 145px 20px;align-items:center;gap:25px;padding:25px 0;text-decoration:none;display:grid}.architecture-row h2{margin-bottom:9px;font-size:1.3rem;line-height:1.3}.architecture-row p{color:var(--muted);margin:0;font-size:.83rem;line-height:1.7}.architecture-row:hover h2{color:var(--teal)}.architecture-score strong{color:var(--teal);font-family:Georgia,serif;font-size:2.1rem;font-weight:400;line-height:1.1;display:block}.architecture-score small{color:var(--muted);font-size:1rem}.architecture-score>span{color:var(--muted);font-size:.7rem}.contact-card{background:var(--wash);border-radius:var(--radius);margin:35px 0;padding:27px}.contact-card h2{font-size:1.6rem}.budget-cards{grid-template-columns:1fr 1fr;gap:16px;margin:25px 0 35px;display:grid}.budget-cards>div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.budget-cards dt{color:var(--teal);margin-bottom:15px;font-weight:650;line-height:1.4}.budget-cards dd{color:var(--muted);margin:0;font-size:.85rem;line-height:1.8}details{border:1px solid var(--line);border-radius:9px;margin:23px 0;padding:18px 21px}summary{cursor:pointer;font-size:.9rem;font-weight:600}details p{margin:18px 0 0;font-size:.85rem;line-height:1.8}.release{border-top:1px solid var(--line);margin-top:25px;padding:35px 0}.release h2{margin-top:22px;font-size:2rem}.release h2 small{color:var(--muted);letter-spacing:0;margin-left:10px;font-family:ui-monospace,monospace;font-size:.75rem;display:inline-block}.release li,.release p{font-size:.95rem;line-height:1.8}.release-badge{color:var(--teal);letter-spacing:.05em;background:#dfeadb;border:1px solid #c1d4bc;border-radius:5px;padding:7px 9px;font:9px ui-monospace,monospace;display:inline-block}.release-badge.muted{color:#7b633c;background:#f0ebde;border-color:#dcd4bf}.native-preview{margin:30px 0}.native-preview img{border:1px solid var(--line);border-radius:10px;width:340px}.native-preview figcaption{color:var(--muted);margin-top:12px;font-size:.75rem}.legal h2{margin:38px 0 18px;font-size:1.6rem}.legal p{line-height:1.9}.legal>p:first-of-type{color:var(--muted);font-size:.85rem}@media (min-width:1500px){.site-header{padding-inline:90px}}@media (max-width:1000px){.hero{gap:5%}.hero-actions{gap:10px}.hero .button{padding:12px 15px;font-size:.8rem}.app-grid{gap:6%}.app-image{padding:25px}.lesson-grid{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:195px minmax(0,1fr);gap:32px}.lesson-toc{padding-right:5px}.lesson-article h1{font-size:2.5rem}.path-card{padding:22px}.path-card h3{font-size:1.35rem}}@media (max-width:760px){.page{padding:45px 23px}.site-header{flex-wrap:wrap;gap:15px;padding:19px 23px}.brand{font-size:1.1rem}.brand-mark{width:35px;height:38px}.site-header nav{gap:18px}.site-header nav a{font-size:.75rem}.site-header .nav-app{padding:8px 11px}.site-header nav a:nth-child(3){display:none}.hero{grid-template-columns:1fr;gap:38px;padding-top:43px;padding-bottom:53px}.hero h1{font-size:4.4rem}.hero-copy>p:not(.eyebrow):not(.small-note){max-width:580px}.hero-actions{margin-top:24px}.hero-workbench{max-width:580px;transform:none;box-shadow:8px 9px #e1e8dd}.hero-workbench pre{padding:22px 18px!important;font-size:12px!important}.stats-band{grid-template-columns:repeat(2,1fr);gap:26px 10px;padding:27px 23px}.stats-band>div{padding-left:20px}.stats-band>div:nth-child(3){border:0;padding-left:0}.stats-band strong{font-size:2.15rem}.section-heading{margin-bottom:25px;display:block}.section-heading .text-link{margin-top:20px;display:inline-block}.section-space{padding-block:50px}.path-grid{grid-template-columns:1fr;gap:14px}.path-card{padding:25px}.path-card>span{margin-bottom:20px}.path-card h3{max-width:380px;font-size:1.6rem}.path-card strong{padding-top:10px}.comparison-link{margin-top:20px;padding:23px;display:block}.comparison-link .button{margin-top:22px}.app-grid{grid-template-columns:1fr;gap:35px;padding-block:45px}.app-image{justify-self:center;width:100%;max-width:450px;max-height:430px}.app-image img{width:190px}.app-grid h2{font-size:3rem}.blog-grid{grid-template-columns:1fr}.blog-tile{padding-block:22px}.blog-tile h3{max-width:450px}.closing{padding-block:45px 60px}.footer{grid-template-columns:1fr 1fr;gap:25px;padding:40px 23px}.footer>div:first-child{grid-column:1/-1}.copyright{font-size:.65rem!important}.page-intro{margin-bottom:28px}.progress-summary{padding:22px;display:block}.progress-summary>.button{max-width:100%;margin-top:20px}.course-filters{grid-template-columns:1fr 1fr;gap:13px}.course-filters>label:first-child{grid-column:1/-1}.lesson-grid{gap:13px}.lesson-card{padding:20px}.lesson-card .card-meta{font-size:9px;display:block}.lesson-card .card-meta span{margin-top:4px;display:block}.lesson-card h2{font-size:1.15rem}.lesson-layout{padding:35px 23px 55px;display:block}.lesson-toc{max-height:none;margin-bottom:25px;padding:0;position:static;overflow:visible}.lesson-toc nav,.lesson-toc .eyebrow{display:none}.lesson-toc .back{margin:0}.lesson-article h1{font-size:2.45rem;line-height:1.15}.lesson-objective{font-size:1.05rem}.design-panel{padding:21px;font-size:.82rem}.flow{flex-direction:column;gap:13px}.flow li{font-size:.78rem}.flow li+li:before{content:"↓";top:-16px;left:20px}.tradeoffs{grid-template-columns:1fr;gap:0}.ratings{grid-template-columns:1fr;gap:10px}.ratings>div{grid-template-columns:1fr 40px;font-size:.8rem}.reading-section{margin-top:32px;padding-top:25px}.reading-section h2{font-size:1.55rem}.code-scroll pre{padding:18px;font-size:14px;line-height:1.8}.prose{font-size:.95rem;line-height:1.85}.walkthrough{padding:18px;font-size:.87rem}.takeaway,.quiz{padding:22px}.quiz h2{font-size:1.3rem}.answer{padding:14px;font-size:.85rem}.lesson-pagination{gap:13px}.lesson-pagination a{padding:16px;font-size:.82rem}.local-note{display:block}.post-card{grid-template-columns:27px 1fr 20px;gap:12px;padding:26px 0}.post-card h2{font-size:1.5rem}.post-card p:not(.card-meta){font-size:.85rem}.post-card .card-meta{margin-bottom:12px;font-size:9px}.post-arrow{font-size:1.1rem}.article>header h1{font-size:2.5rem}.article-lede{font-size:1.05rem}.architecture-row{grid-template-columns:minmax(0,1fr) 85px;gap:15px;padding:22px 0}.architecture-row>span{display:none}.architecture-row h2{font-size:1.12rem}.architecture-row p{font-size:.76rem}.architecture-score strong{font-size:1.8rem}.architecture-score>span{margin-top:7px;font-size:.6rem;line-height:1.5;display:block}.budget-cards{grid-template-columns:1fr}.budget-cards>div{padding:22px}.inline-stats{gap:20px}.inline-stats span{font-size:.69rem}.contact-card{padding:22px}}@media (max-width:420px){.site-header{gap:20px}.site-header nav{justify-content:space-between;gap:12px;width:100%}.site-header nav a:nth-child(3){display:inline}.site-header .nav-app{margin-left:auto}.hero h1{font-size:3.8rem}.hero .hero-actions{align-items:stretch}.hero .button{gap:10px;font-size:.75rem}.lesson-grid{grid-template-columns:1fr}.lesson-card .card-meta{display:flex}.lesson-card .card-meta span{margin-top:0}.lesson-card h2{font-size:1.25rem}.lesson-card .card-meta{min-height:20px}.inline-stats{justify-content:space-between;gap:12px}.lesson-pagination{grid-template-columns:1fr}.article h1,.lesson-article h1{font-size:2.2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.lesson-visual{background:var(--wash);border-radius:var(--radius);border:1px solid #c9d8c7;margin:38px 0;padding:27px}.lesson-visual>h2{margin-bottom:24px;font-size:1.55rem;line-height:1.25}.visual-nodes{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:0;list-style:none;display:grid}.visual-nodes>li{background:var(--white);border:1px solid #c9d8c7;border-radius:9px;min-width:0;margin:0;padding:17px}.visual-step{color:var(--teal);margin-bottom:13px;font:10px ui-monospace,monospace;display:block}.visual-nodes h3{letter-spacing:-.01em;font-size:.95rem;line-height:1.4}.visual-nodes p{color:var(--muted);margin-bottom:0;font-size:.78rem;line-height:1.75}.visual-nodes .code-block{margin:15px 0}.visual-nodes .code-label{display:none}.visual-nodes .code-scroll pre{padding:16px;font-size:14px;line-height:1.7}.visual-nodes.sequence,.visual-nodes.stack{grid-template-columns:1fr}.visual-nodes.fanout,.visual-nodes.shared{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-nodes.fanout>li:first-child,.visual-nodes.shared>li:first-child{grid-column:1/-1}.visual-caption{color:var(--teal);border-bottom:1px solid #c9d8c7;padding:10px 0 18px;font-size:.83rem;font-weight:600}.lesson-visual .tradeoffs h3{color:var(--teal);font-size:1rem;line-height:1.4}.lesson-visual .tradeoffs p{font-size:.85rem;line-height:1.8}@media (max-width:760px){.lesson-visual{padding:21px}.visual-nodes,.visual-nodes.fanout,.visual-nodes.shared{grid-template-columns:1fr}.visual-nodes .code-scroll pre{font-size:14px}}.progress-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;display:grid}.progress-summary .button{white-space:normal;text-align:left;justify-self:end;max-width:100%}.course-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-top:32px;display:grid}.course-search{color:var(--muted);gap:9px;font-size:.78rem;font-weight:600;display:grid}.course-search input{border:1px solid var(--line);background:var(--white);width:100%;min-width:0;min-height:48px;color:var(--ink);font:inherit;border-radius:9px;padding:12px 15px;font-size:.9rem}.progress-filter{border:0;min-width:0;margin:0;padding:0}.progress-filter legend{color:var(--muted);margin-bottom:9px;padding:0;font-size:.78rem;font-weight:600}.progress-filter>div{border:1px solid var(--line);background:var(--wash);border-radius:10px;gap:4px;padding:4px;display:flex}.progress-filter button{min-height:40px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:9px 15px;font-size:.78rem}.progress-filter button[aria-pressed=true]{background:var(--teal);color:#fff}.progress-filter button:hover:not([aria-pressed=true]){background:#dce6dd}.course-results{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 28px;display:flex}.course-results .result-count{margin:0}.course-results .text-button{font-size:.75rem}.course-forest{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:38px;display:grid}.course-directions{gap:6px;display:grid;position:sticky;top:24px}.course-directions .eyebrow{margin:0 0 12px;font-size:.59rem}.course-directions>button{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:11px;padding:13px 12px;font-size:.8rem;line-height:1.45;display:flex}.course-directions>button[aria-pressed=true]{background:var(--wash);border-color:#b9cfc1}.course-directions>button:hover{background:#edf1e8}.direction-number{color:var(--teal);flex:0 0 23px;padding-top:2px;font:12px/1.4 ui-monospace,monospace}.course-directions small{color:var(--muted);margin-top:5px;font-size:.66rem;font-weight:400;display:block}.course-trees{min-width:0}.course-tree+.course-tree{margin-top:48px}.tree-root{align-items:flex-start;gap:17px;display:flex}.tree-root-number{background:var(--teal);color:#fff;border-radius:12px;flex:0 0 42px;place-items:center;height:42px;font:14px ui-monospace,monospace;display:grid}.tree-root h2{margin:0;font-size:1.55rem;line-height:1.25}.tree-root p{color:var(--muted);max-width:60ch;margin:8px 0 0;font-size:.79rem;line-height:1.7}.tree-branches{border-left:2px solid #b7ccbf;margin:20px 0 0 20px;padding:0 0 3px 28px}.tree-unit{background:var(--white);border:1px solid #cbd8cc;border-radius:12px;min-width:0;margin:0;padding:0;position:relative}.tree-unit+.tree-unit{margin-top:14px}.tree-unit:before{content:"";border-top:2px solid #b7ccbf;width:28px;position:absolute;top:31px;left:-30px}.tree-unit>summary{cursor:pointer;border-radius:12px;align-items:center;gap:13px;padding:19px 18px;list-style:none;display:flex}.tree-unit>summary::-webkit-details-marker{display:none}.tree-unit>summary:hover{background:#f0f4ec}.tree-unit>summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.unit-node{width:27px;height:27px;color:var(--teal);background:var(--wash);border:1px solid #b1cbbd;border-radius:50%;flex:0 0 27px;place-items:center;font:17px ui-monospace,monospace;display:grid}.unit-heading{flex:1;min-width:0}.unit-heading strong{font-size:.95rem;font-weight:600;line-height:1.4;display:block}.unit-heading>span{color:var(--muted);margin-top:4px;font-size:.73rem;line-height:1.65;display:block}.unit-count{color:var(--teal);text-align:right;flex-shrink:0;font:13px ui-monospace,monospace}.unit-count small{font:10px/1.4 var(--font-sans), sans-serif;color:var(--muted);margin-top:3px;display:block}.unit-chevron{color:var(--teal);text-align:center;flex:0 0 16px}.tree-unit[open]>summary .unit-chevron{transform:rotate(180deg)}.tree-unit[open]>summary{border-bottom:1px solid var(--line);background:#f0f4ec;border-radius:12px 12px 0 0}.unit-lessons{margin:0;padding:5px 17px 11px 31px;list-style:none}.unit-lessons>li{border-left:1px solid #c6d5c9;margin:0;padding-left:18px;position:relative}.unit-lessons>li:before{content:"";border-top:1px solid #c6d5c9;width:17px;position:absolute;top:28px;left:0}.unit-lessons>li:last-child{border-left-color:#0000}.unit-lessons>li:last-child:after{content:"";border-left:1px solid #c6d5c9;height:28px;position:absolute;top:0;left:-1px}.tree-lesson{color:var(--ink);border-radius:8px;align-items:flex-start;gap:12px;min-width:0;padding:15px 10px;text-decoration:none;display:flex}.tree-lesson:hover{background:#f0f4ec}.lesson-node{z-index:1;background:var(--white);height:25px;color:var(--teal);border:1px solid #c6d5c9;border-radius:50%;flex:0 0 25px;place-items:center;font:10px ui-monospace,monospace;display:grid;position:relative}.is-completed .lesson-node{background:var(--teal);color:#fff;border-color:var(--teal)}.tree-lesson-text{flex:1;min-width:0}.tree-lesson-text strong{font-size:.88rem;font-weight:550;line-height:1.5;display:block}.tree-lesson-text>span:not(.tree-lesson-meta){color:var(--muted);margin-top:5px;font-size:.74rem;line-height:1.65;display:block}.tree-lesson-meta{color:var(--teal);margin-top:8px;font:10px/1.6 ui-monospace,monospace;display:block}.lesson-arrow{color:var(--teal);flex:0 0 15px}@media (max-width:1000px){.course-forest{grid-template-columns:195px minmax(0,1fr);gap:22px}.course-directions>button{padding:11px 8px}.course-controls{grid-template-columns:1fr;gap:17px}.progress-filter>div{width:fit-content}}@media (max-width:760px){.progress-summary{grid-template-columns:1fr;gap:18px}.progress-summary .button{justify-self:start}.course-forest{display:block}.course-directions{gap:8px;margin-bottom:20px;padding:0 0 14px;display:flex;position:static;overflow-x:auto}.course-directions .eyebrow{display:none}.course-directions>button{border-color:var(--line);flex:0 0 190px;padding:12px}.tree-root h2{font-size:1.45rem}.tree-root-number{border-radius:10px;flex-basis:36px;height:36px}.tree-root{gap:12px}.tree-branches{margin-left:17px;padding-left:17px}.tree-unit:before{width:17px;left:-19px}.tree-unit>summary{gap:9px;padding:15px 11px}.unit-heading>span{display:none}.unit-count{font-size:11px}.unit-count small{font-size:9px}.unit-node{flex-basis:23px;width:23px;height:23px}.unit-lessons{padding:4px 8px 10px 21px}.unit-lessons>li{padding-left:8px}.unit-lessons>li:before{width:8px}.tree-lesson{gap:9px;padding:13px 7px}.lesson-arrow{display:none}.tree-lesson-text strong{font-size:.83rem}.tree-lesson-text>span:not(.tree-lesson-meta){font-size:.74rem}}.learn-map-page{padding-top:38px}.course-map-intro{max-width:none;margin-bottom:24px}.course-map-intro h1{margin-bottom:16px;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.1}.course-map-intro>p:not(.eyebrow){max-width:78ch;font-size:.94rem}.course-map-intro .eyebrow{margin-bottom:16px}.course-map-intro .inline-stats{gap:28px;margin:20px 0}.course-map-intro .inline-stats span{align-items:baseline;gap:8px;display:flex}.course-map-intro .inline-stats strong{font-size:1.15rem}.course-map-intro p.availability{max-width:none;padding:10px 14px;font-size:.76rem}.course-map-intro+.progress-summary{margin-bottom:0;padding:17px 21px}.course-directions>button{font-size:.86rem}.tree-lesson-text strong{font-size:.94rem}.tree-lesson-text>span:not(.tree-lesson-meta){font-size:.81rem}.visual-nodes p{font-size:.87rem}@media (max-width:760px){.course-map-intro .inline-stats{flex-wrap:wrap;gap:15px}.course-map-intro .inline-stats span{font-size:.73rem}.tree-lesson-text strong{font-size:.9rem}.tree-lesson-text>span:not(.tree-lesson-meta){font-size:.8rem}}.course-search input{min-height:50px;margin-top:0}.interview-hero{max-width:980px;margin-bottom:48px}.level-route{counter-reset:level;flex-wrap:wrap;gap:12px;padding:0;list-style:none;display:flex}.level-route li{counter-increment:level;border:1px solid var(--line);background:var(--white);border-radius:100px;margin:0;padding:9px 16px}.level-route li:before{content:counter(level) " / ";color:var(--teal);font-family:monospace}.interview-tree{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0 44px;display:grid}.topic-branch{text-align:left;color:var(--ink);background:var(--wash);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius);flex-direction:column;gap:12px;padding:20px;display:flex}.topic-branch span{color:var(--teal);font:12px ui-monospace,monospace}.topic-branch strong{font-size:20px;line-height:1.3}.topic-branch small{color:var(--muted);line-height:1.6}.topic-branch.selected{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.interview-filters{grid-template-columns:2fr 1fr 1fr;gap:18px;margin:35px 0 18px;display:grid}.interview-filters label,.algorithm-lab label{flex-direction:column;gap:8px;min-width:0;font-weight:600;display:flex}.interview-filters input,.interview-filters select,.algorithm-lab select{width:100%;min-width:0;color:var(--ink);background:var(--white);font:inherit;border:1px solid #abbdb5;border-radius:10px;padding:14px}.interview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.interview-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-decoration:none}.interview-card:hover{border-color:var(--teal)}.interview-card h2{font-size:26px;line-height:1.25}.interview-card>strong{color:var(--teal)}.interview-answer{border:1px solid var(--line);background:var(--wash);border-radius:var(--radius);padding:22px}.interview-answer summary{cursor:pointer;color:var(--teal-dark);font-size:20px;font-weight:650}.interview-answer[open] summary{margin-bottom:24px}.interview-answer li+li{margin-top:22px}.interview-trap{border-left:3px solid var(--orange);margin:28px 0;padding-left:18px}.interview-trap h2{font-size:23px}.algorithm-lab{background:#e5eee9;border:1px solid #afc9be;border-radius:18px;min-width:0;padding:26px;overflow:hidden}.algorithm-lab h3{line-height:1.3}.trace-input{overflow-wrap:anywhere;margin-top:18px;font:14px/1.7 ui-monospace,monospace}.trace-row{min-width:0;margin:20px 0}.trace-row>strong{margin-bottom:9px;font-size:14px;display:block}.trace-cells{gap:8px;padding:4px 3px 12px;display:flex;overflow-x:auto}.trace-cell{background:var(--white);border:1px solid #b7c8bd;border-radius:9px;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;min-width:52px;padding:10px;display:flex}.trace-cell>span{font:700 19px ui-monospace,monospace}.trace-cell small{color:var(--muted);white-space:nowrap;font-size:10px}.trace-cell.active{border:2px solid var(--teal);background:#c2e3d4;padding:9px}.trace-cell.active small{color:var(--teal-dark)}.trace-controls{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.trace-controls .button{padding:11px 16px}.trace-controls button:disabled{opacity:.5}.trace-controls [aria-pressed=true]{outline:2px solid var(--teal);outline-offset:3px}.trace-result{color:var(--teal-dark);font-weight:700}.app-price{background:var(--wash);border:1px solid #b5cbbd;border-radius:14px;margin:26px 0;padding:22px}.app-price strong{font-size:32px;display:block}.app-price span{font-weight:650}.app-price p{margin:10px 0 0;font-size:14px}@media (max-width:900px){.interview-tree{grid-template-columns:repeat(2,minmax(0,1fr))}.interview-filters{grid-template-columns:1fr 1fr}.interview-filters label:first-child{grid-column:1/-1}}@media (max-width:600px){.interview-tree,.interview-grid,.interview-filters{grid-template-columns:1fr}.algorithm-lab{padding:18px}.interview-card{padding:22px}.trace-controls .button{flex:1;justify-content:center;font-size:14px}}@media (max-width:420px){.site-header nav a:nth-child(3){display:none}}@media (max-width:600px){.interview-tree{scroll-snap-type:x proximity;padding:4px 2px 16px;display:flex;overflow-x:auto}.topic-branch{scroll-snap-align:start;flex:0 0 86%}}.interview-levels{margin-top:18px}.interview-levels>div{flex-wrap:wrap}.is-current>.tree-lesson{background:var(--wash);box-shadow:inset 3px 0 var(--teal)}.home-continue{padding-top:24px}.home-continue .progress-summary{margin-bottom:0}.home-continue .eyebrow{margin-bottom:8px}@media (max-width:760px){.progress-filter>div{flex-wrap:wrap}.progress-summary .button{white-space:normal;text-align:left;max-width:100%}}
