@font-face{font-family:LocalSans;src:local('Avenir Next')}*{box-sizing:border-box}body{margin:0;color:#203b36;background:#f5f5ee;font-family:LocalSans,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:#176f60}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3vw,44px);letter-spacing:-1.5px;line-height:1.15;font-weight:600;margin-bottom:18px}h2{font-size:23px;line-height:1.3;letter-spacing:-.5px}h3{font-size:18px;line-height:1.4;margin-bottom:9px}p{color:#53665e}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd7419;outline-offset:4px}.skip{position:absolute;left:12px;top:-60px;z-index:10;background:white;padding:12px}.skip:focus{top:0}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:#173e39;color:#fff;padding:34px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:23px;font-weight:700;letter-spacing:-.7px;color:inherit;text-decoration:none}.brand-mark{border:1px solid #96b4a6;border-radius:9px;width:33px;height:39px;display:grid;place-items:center;font-size:26px;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:1.5px;font-weight:400;color:#bed0c5;margin-top:-4px}.sidebar nav{display:grid;gap:6px;margin-top:58px}.nav{border:0;background:transparent;color:#c0d2c8;text-align:left;padding:13px 14px;border-radius:8px;display:flex;gap:13px;align-items:center}.nav:hover{background:#244d45}.nav.active{background:#d5e3bc;color:#173e39;font-weight:600}.nav i{font-style:normal;font-size:18px;width:21px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid #426159;padding-top:20px}.sidebar-bottom p{font-size:12px;color:#c0d2c8;margin:8px 0}.text-button{background:transparent;border:0;color:inherit;padding:6px 0;text-decoration:underline;text-underline-offset:4px;font-size:13px}.workspace{min-width:0}.topbar{height:80px;border-bottom:1px solid #dde1d6;padding:0 48px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#5f7167;gap:12px}.topbar .profile{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;background:#e1e9d6;display:grid;place-items:center;color:#355245;font-weight:600}.main{max-width:1240px;margin:0 auto;padding:44px 48px 60px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;font-weight:700;color:#6c7b66;display:block;margin-bottom:13px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.page-head p{max-width:650px;margin-bottom:0}.pill{display:inline-flex;border:1px solid #ccd6c5;background:#edf2e6;border-radius:40px;padding:5px 11px;font-size:11px;font-weight:600;white-space:nowrap;color:#496042}.pill.amber{background:#faf0de;color:#886224;border-color:#e8d6b4}.hero{border-radius:14px;background:#e5ebd8;display:grid;grid-template-columns:1.4fr 1fr;overflow:hidden;margin-bottom:27px;min-height:265px}.hero-copy{padding:32px}.hero-copy p{max-width:440px;font-size:14px}.hero-copy h2{font-size:29px;margin-bottom:14px}.rail-art{position:relative;overflow:hidden;min-height:200px;background:linear-gradient(150deg,#cddcbb,#e5ebd8)}.rail-art:before,.rail-art:after{content:'';position:absolute;width:240px;height:470px;border:2px solid #819b79;border-radius:50%;transform:rotate(34deg);left:100px;top:-150px}.rail-art:after{left:122px;width:220px;border-color:#9eb18d}.station{position:absolute;width:14px;height:14px;border:3px solid #e5ebd8;outline:1px solid #8fa27e;background:#345c49;border-radius:50%;left:148px;top:120px}.rail-caption{position:absolute;bottom:28px;left:28px;color:#345c49;max-width:145px;font-size:12px;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#204f43;color:white;border:1px solid #204f43;border-radius:7px;padding:11px 18px;font-size:13px;font-weight:600;text-decoration:none}.btn:hover{background:#123e33}.btn.secondary{background:#fff;color:#355549;border-color:#cbd4c5}.btn.secondary:hover{background:#f1f5e9}.btn.small{padding:8px 12px}.btn.ghost{background:transparent;border-color:#cbd4c5;color:#345a4b}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title{margin:30px 0 16px}.section-title h2{margin:0;font-size:20px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #dfe4d7;border-radius:11px;padding:23px;min-width:0}.card p{font-size:13px}.card .number{display:block;color:#6b8469;font-size:12px;margin-bottom:20px;font-weight:600}.card footer{padding-top:16px;margin-top:18px;border-top:1px solid #edf0e6;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.card .link{padding:0;border:0;background:none;color:#1d5d4b;font-weight:600;font-size:13px}.muted{font-size:12px;color:#69776c}.note{background:#eeefe6;border-radius:8px;padding:15px 18px;font-size:13px;color:#5e6f60;margin:20px 0}.note strong{color:#304f42}.stat{font-size:32px;line-height:1.1;letter-spacing:-1px;color:#224e3c;display:block;margin:12px 0}.empty{padding:32px;text-align:center;border:1px dashed #b9c7b0;border-radius:10px;background:#f2f5eb}.empty p{margin-bottom:15px}.step-list{display:flex;gap:24px;padding:0;list-style:none;counter-reset:steps;margin:25px 0 0}.step-list li{flex:1;font-size:12px;color:#5c7160}.step-list b{display:block;color:#2e5141;font-size:14px;margin-bottom:4px}.narrow{max-width:780px;margin:0 auto}.exercise{padding:35px;background:#fff;border:1px solid #dce3d5;border-radius:12px;margin-top:23px}.progress{height:5px;background:#e5eadb;border-radius:10px;margin:16px 0 27px;overflow:hidden}.progress span{height:100%;background:#6c8a56;display:block}.prompt{font-size:26px;line-height:1.5;margin:27px 0;white-space:pre-wrap}.code{font-family:ui-monospace,monospace;font-size:29px;letter-spacing:2px;overflow-wrap:anywhere}.options{display:grid;gap:10px;margin-bottom:24px}.option{display:flex;align-items:center;gap:12px;border:1px solid #dce1d3;border-radius:8px;padding:14px 16px;cursor:pointer}.option:has(input:checked){background:#eef4e6;border-color:#6b8a53}.option input{accent-color:#245843;width:17px;height:17px;flex-shrink:0}.option:focus-within{outline:2px solid #8b9f71;outline-offset:2px}.feedback{padding:20px;border-left:3px solid #8aab69;background:#f0f5e8;margin:20px 0}.feedback.error{border-color:#ba8e4d;background:#fbf5e9}.feedback p:last-child{margin-bottom:0}label.field{display:block;font-size:13px;font-weight:600;margin-bottom:18px}input[type=text],input[type=password],textarea,select{display:block;width:100%;border:1px solid #c7d2c0;background:#fff;border-radius:7px;padding:12px 13px;color:#233e32;margin-top:7px}textarea{min-height:100px;resize:vertical}.error-text{color:#9a3725;font-size:13px;min-height:20px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#173e39;padding:55px 14%;color:#fff;display:flex;flex-direction:column}.login-story h1{font-size:48px;margin-top:80px;max-width:420px}.login-story p{color:#c1d1c0;max-width:370px}.login-story .eyebrow{color:#b4cc98;margin-top:15px}.login-story .brand{margin-bottom:25px}.login-form{display:grid;place-items:center;padding:40px}.login-form>div{max-width:370px;width:100%}.login-form h2{font-size:29px}.login-form .btn{width:100%}.login-track{height:130px;border-top:1px solid #71886c;border-bottom:1px solid #71886c;transform:rotate(-9deg);margin:45px 0;position:relative;opacity:.8}.login-track:after{content:'';width:17px;height:17px;background:#d5e3bc;border-radius:50%;position:absolute;top:-9px;left:65%}.attention-target{font-size:90px;text-align:center;min-height:190px;display:grid;place-items:center;letter-spacing:20px}.attention-instruction{text-align:center;font-size:18px}.keycap{display:inline-block;border:1px solid #b6c8b1;border-bottom-width:3px;border-radius:5px;padding:1px 12px;font-family:monospace;background:#f0f4e8}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{color:#697a63;font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}td,th{padding:13px 10px;border-bottom:1px solid #e6ebdf;vertical-align:top}td:first-child,th:first-child{padding-left:0}.result-list{list-style:none;margin:0;padding:0}.result-list li{border-bottom:1px solid #e4e9db;padding:20px 0}.result-list p{margin-bottom:6px;font-size:13px}.outcome{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:#547741}.outcome.bad{color:#98622d}.readiness-list{list-style:none;padding:0;margin:0}.readiness-list li{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e4e9dc;padding:16px 0;font-size:13px}.readiness-list small{display:block;color:#6b7b61}.hidden{display:none!important}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203f35;color:#fff;border-radius:8px;box-shadow:0 4px 24px #0002;max-width:90vw;padding:0;z-index:30}#toast:not(:empty){padding:13px 20px}.detail-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#77816b}.review-box{background:#eaf0df;border:1px solid #d1ddc1}.bar-row{display:flex;gap:10px;align-items:center;font-size:12px;margin-top:10px}.bar-row meter{flex:1;height:15px}.footer{font-size:11px;color:#75826d;margin-top:40px;border-top:1px solid #dce3d2;padding-top:18px}.no-margin{margin:0}.full{width:100%}.stack{display:grid;gap:16px}.check{display:flex;gap:9px;align-items:flex-start;margin:15px 0;font-size:13px}.check input{margin-top:5px}.back{margin-bottom:20px;color:#56745d}.counts{font-size:12px;font-variant-numeric:tabular-nums}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.sr-only{position:absolute;left:-10000px}.live{display:flex;align-items:center;gap:7px}.live:before{content:'';height:6px;width:6px;background:#618345;border-radius:50%}.route-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.privacy{font-size:12px}.active-session{border:1px solid #baaa70;background:#faf6e8}.plan-status{margin-bottom:16px}.mono{font-variant-numeric:tabular-nums}
@media(max-width:1100px){.main{padding:30px}.topbar{padding:0 30px}.shell{grid-template-columns:200px 1fr}.sidebar{padding:30px 16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1.7fr 1fr}.hero-copy{padding:26px}.split{grid-template-columns:1fr}.rail-art:before{left:30px}.rail-art:after{left:52px}.station{left:78px}.login-story{padding:45px 10%}}
@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:18px 20px}.sidebar .brand small{display:none}.sidebar nav{margin-top:18px;display:flex;gap:5px;overflow-x:auto}.nav{padding:9px 12px;white-space:nowrap;font-size:12px}.nav i{display:none}.sidebar-bottom{display:none}.topbar{height:57px;padding:0 20px}.main{padding:26px 20px}.hero{display:block}.rail-art{display:none}.grid,.grid.two{grid-template-columns:1fr}.page-head{display:block}.page-head>.pill{margin-top:16px}.step-list{gap:15px}.login{display:block}.login-story{padding:28px}.login-story h1{font-size:33px;margin-top:26px}.login-story .brand{margin-bottom:0}.login-story p{margin-bottom:0}.login-track{display:none}.login-form{padding:30px}.exercise{padding:23px}.prompt{font-size:22px}.code{font-size:22px;letter-spacing:1px}.attention-target{font-size:65px}.readiness-list li{flex-wrap:wrap}.topbar>span{font-size:10px}.row .btn{flex-grow:1}}
.training-steps{padding-left:22px}.training-steps li{margin:12px 0;color:#53665e}.training-steps strong{color:#203b36}.grid-prompt{font-family:ui-monospace,monospace;font-size:20px;line-height:1.9}.grid-options .option span{white-space:pre-wrap;font-family:ui-monospace,monospace}.written-answer{white-space:pre-wrap}.progress-entry{border-bottom:1px solid #e4e9dc;padding:12px 0;font-size:12px}
.lesson{margin:24px 0;padding:22px;background:#f4f6ef;border:1px solid #d9e1cf;border-radius:10px}.lesson li{margin-bottom:9px}.worked-example{padding:18px;margin:18px 0;border:1px solid #cfdbc4;border-radius:8px;background:#f5f8f0}.worked-example p:last-child{margin-bottom:0}.alternatives{margin:20px 0;padding:15px;border:1px solid #d9e1cf;border-radius:8px}summary{cursor:pointer;font-weight:600}details>p:first-of-type{margin-top:18px}
