@font-face{font-family:Road;src:local('Segoe UI')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f4ef;color:#142b39;font-family:Road,system-ui,sans-serif;font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:10px;padding:12px 20px;font-weight:650;background:#edb94b;color:#142b39}button:hover{filter:brightness(.96)}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #227e9a;outline-offset:3px}input,select{border:1px solid #cbd1cf;padding:13px;border-radius:9px;background:white;color:#142b39;width:100%}.top{height:88px;display:flex;align-items:center;gap:20px;justify-content:space-between;padding:16px 40px;background:#fff;border-bottom:1px solid #e1e4dd}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:20px;font-weight:850;letter-spacing:1px;line-height:1.2}.brand-small{display:block;letter-spacing:1.8px;font-size:10px;margin-top:4px}.edition{font-size:10px;letter-spacing:2px;color:#6b787c}.edition b{background:#edf0ed;border-radius:4px;padding:5px 7px;margin-left:8px}.outline{background:transparent;border:1px solid #c3cccb}.small{padding:8px 12px;font-size:12px}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1600px;margin:auto}.sidebar{padding:34px 22px;min-height:calc(100vh - 88px);border-right:1px solid #dfe3dc}.nav-label,.kicker{font-size:10px;letter-spacing:1.8px;font-weight:750;color:#73817f}.sidebar nav{display:grid;gap:8px;margin-top:24px}.sidebar nav a{display:flex;gap:14px;text-decoration:none;padding:12px 16px;border-radius:9px;color:#62726f;font-size:19px}.sidebar nav a span{font-size:14px;font-weight:600}.sidebar nav a.active{background:#142b39;color:white}.sidebar-note{border-top:1px solid #dde2d9;margin-top:42px;padding-top:24px;font-size:11px;color:#687e70;display:flex;gap:8px;align-items:center}.live-dot{width:6px;height:6px;background:#54826a;border-radius:50%;flex-shrink:0}.sidebar-caption{font-family:Georgia,serif;font-style:italic;color:#91a095;font-size:23px;line-height:1.3;padding:8px 16px}main{padding:36px 44px 60px;min-width:0;max-width:1250px;width:100%;margin:auto}.page-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:15px}.page-top p{margin:0}.badge{font-size:11px;border:1px solid #cbd5cb;border-radius:30px;padding:6px 12px;white-space:nowrap;color:#537461}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3.2vw,48px);line-height:1.1;letter-spacing:-1.8px;margin-bottom:18px}h2{font-size:25px;line-height:1.25;letter-spacing:-.7px}h3{font-size:18px;line-height:1.3}.hero{position:relative;overflow:hidden;background:#142b39;color:#fff;border-radius:20px;min-height:310px;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:center}.hero .kicker{color:#b8c7c6}.hero h1{margin-top:16px}.hero h1 em{font-style:normal;color:#edb94b}.hero p{color:#adbfca;font-size:14px;max-width:340px}.hero button{margin-top:10px}.hero-art{width:100%;min-width:0}.hero-art svg{width:100%;height:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 34px}.stat{background:#fff;border:1px solid #e2e5dc;border-radius:12px;padding:17px 20px;display:flex;gap:15px;align-items:center}.stat-icon{background:#eef3ed;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#54795f;font-size:21px}.stat b{font-size:24px;display:block;line-height:1.2}.stat span{font-size:11px;color:#6d7e7a}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.section-title h2{margin:0}.text-link{font-size:12px;color:#567866;text-underline-offset:4px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lesson-card{display:flex;flex-direction:column;border-radius:14px;border:1px solid #dde3d9;background:#fff;overflow:hidden;text-decoration:none;transition:transform .2s}.lesson-card:hover{transform:translateY(-3px)}.card-visual{height:125px;background:#e6ede3;display:flex;align-items:center;justify-content:center;position:relative}.card-visual.tone-1{background:#f1e8d5}.card-visual.tone-2{background:#e3eaf0}.card-visual svg{max-width:210px;height:100px;width:90%}.card-body{padding:18px;flex:1;display:flex;flex-direction:column}.card-meta{font-size:10px;letter-spacing:1px;color:#798a7f;display:flex;justify-content:space-between;margin-bottom:9px}.card-body h3{margin-bottom:8px}.card-body p{font-size:12px;color:#73817d;margin-bottom:15px;flex:1}.progress{background:#edf0e8;height:5px;border-radius:10px;overflow:hidden}.progress div{height:100%;background:#658a6d}.card-bottom{font-size:10px;color:#6a7d72;margin-top:8px;display:flex;justify-content:space-between}.note{border-left:3px solid #dbb861;background:#eeeee5;color:#67746d;font-size:12px;padding:12px 16px;border-radius:0 8px 8px 0;margin-top:25px}.page-title{margin-bottom:26px}.page-title h1{font-size:36px;margin:9px 0 13px}.muted{color:#74817e;font-size:13px}.exercise{max-width:760px;margin:auto}.exercise-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.exercise-head a{font-size:13px}.exercise-count{font-size:12px;color:#718179}.exercise-panel{background:white;border:1px solid #dde4da;border-radius:18px;padding:30px;margin-top:22px}.exercise-panel .kicker{color:#5b826a}.exercise-panel h2{margin:16px 0 12px;font-size:28px}.exercise-panel .context{color:#6a7e75;font-size:14px}.question-visual{background:#f2f4ee;border-radius:12px;margin:20px 0;padding:20px;display:flex;align-items:center;justify-content:center;min-height:120px}.question-visual svg{max-width:400px;width:100%;height:180px}.phrase{font-size:23px;font-weight:650;color:#243e4a;margin:18px 0}.audio-controls{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.audio-controls button{background:#edf3ef;color:#446c58;font-size:13px;padding:10px 14px}.answers{display:grid;gap:10px;margin:20px 0}.answer{text-align:left;background:#fff;border:1px solid #d8e0d7;color:#314c51;font-weight:500;display:flex;align-items:center;gap:13px}.answer .letter{font-size:11px;width:25px;height:25px;border-radius:6px;background:#f0f2ec;display:grid;place-items:center;flex-shrink:0}.answer.chosen{border:2px solid #d2a03b;background:#fff9e8;padding:11px 19px}.answer.correct{border:2px solid #588261;background:#edf7ef;padding:11px 19px}.answer.wrong{border:2px solid #b86758;background:#fff1ec;padding:11px 19px}.exercise-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.exercise-footer .muted{max-width:360px;font-size:11px}.feedback{border-radius:12px;padding:18px;margin-top:18px;background:#eef5ec;border:1px solid #d1e0c9;color:#42624d;font-size:14px}.feedback.wrong{background:#fbf0e4;border-color:#ebd3b6;color:#835d30}.feedback strong{display:block;margin-bottom:5px}.word-bank,.word-line{display:flex;gap:8px;flex-wrap:wrap;min-height:65px;padding:12px;border-radius:10px;margin:16px 0}.word-line{background:#f2f5ee;border:1px dashed #b7c7b5}.word-bank button,.word-line button{background:white;border:1px solid #cbd7c7;font-size:15px;padding:9px 13px}.word-bank button:disabled{visibility:hidden}.score-circle{width:120px;height:120px;border:9px solid #739778;border-radius:50%;display:grid;place-items:center;margin:25px auto;font-size:30px;font-weight:800}.summary-panel{text-align:center;background:white;border:1px solid #dce3d8;border-radius:20px;padding:35px}.summary-panel h1{font-size:35px}.flex{display:flex;gap:10px;flex-wrap:wrap}.center{justify-content:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;font-size:12px;color:#66806f;margin-bottom:7px}.full{grid-column:1/-1}.surface{padding:25px;border:1px solid #dce2d7;border-radius:15px;background:white;margin-bottom:20px}.phrase-list{display:grid;gap:14px}.phrase-item{padding:18px;background:white;border:1px solid #dce3d7;border-radius:12px;display:flex;gap:15px;align-items:center;justify-content:space-between}.phrase-item p{margin:3px 0}.phrase-item .en{font-size:17px;font-weight:650}.phrase-item .es{font-size:12px;color:#738078}.phrase-item button{flex-shrink:0;padding:10px 14px}.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter button{font-size:12px;background:white;border:1px solid #d2dbce;padding:9px 14px}.filter button.active{background:#142b39;color:white;border-color:#142b39}.search{margin:0 0 18px}.source-list a{display:block;margin:10px 0;font-size:13px}.update-banner{background:#e7eedf;padding:13px;text-align:center;font-size:13px}.update-banner button{margin-left:8px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#142b39;color:white;box-shadow:0 8px 25px #142b3930;padding:13px 22px;border-radius:10px;z-index:80;font-size:13px;max-width:90vw}dialog{border:0;border-radius:18px;padding:32px;max-width:500px;width:90%;box-shadow:0 15px 60px #0005;color:#142b39}dialog::backdrop{background:#102b3c88}.close{float:right;background:#f0f2ed;padding:2px 12px;font-size:24px}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:8px;z-index:100}.skip:focus{top:10px}.truck-part{cursor:pointer;fill:#c2d5c0;stroke:#325d55;stroke-width:2}.truck-part:hover,.truck-part:focus{fill:#edb94b;outline:0}.part-info{min-height:100px;background:#edf4e9;border-radius:9px;padding:15px;margin:15px 0}.part-info p{margin:4px 0}.truck-diagram svg{width:100%;height:auto;min-height:160px}.pill{font-size:11px;background:#edf3e9;border-radius:20px;padding:4px 9px;display:inline-block;color:#53745c}.list-row{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #e3e7dd}.recording{background:#aa493c!important;color:#fff!important}footer{font-size:11px;color:#78867c;margin-top:35px}footer a{margin-right:16px} [hidden]{display:none!important}@media(max-width:1100px){.layout{grid-template-columns:195px 1fr}.sidebar{padding:28px 13px}main{padding:30px 25px}.hero{padding:27px;grid-template-columns:1.2fr 1fr}.cards{gap:12px}.card-body{padding:14px}}@media(max-width:760px){.top{height:74px;padding:14px 20px}.edition{display:none}.layout{display:block}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:50;min-height:0;padding:0;background:#fff;border:0;border-top:1px solid #d7dfd3;padding-bottom:env(safe-area-inset-bottom)}.sidebar nav{display:flex;margin:0;gap:0;justify-content:space-around}.sidebar nav a{border-radius:0;display:flex;align-items:center;flex-direction:column;gap:0;padding:8px 5px;font-size:20px;flex:1}.sidebar nav a span{font-size:9px;white-space:nowrap}.sidebar nav a:last-child{display:none}.nav-label,.sidebar-note,.sidebar-caption{display:none}main{padding:24px 18px 105px}.hero{min-height:0;grid-template-columns:1fr;padding:25px}.hero-art{position:absolute;right:-40px;bottom:-8px;width:220px;opacity:.17;pointer-events:none}.hero>div:first-child{position:relative;z-index:1}.hero h1{font-size:38px;max-width:340px}.hero p{max-width:280px}.stats{gap:7px;margin:15px 0 28px}.stat{padding:12px 10px;gap:6px}.stat-icon{display:none}.stat b{font-size:22px}.stat span{font-size:10px}.cards{grid-template-columns:1fr 1fr;gap:12px}.card-visual{height:100px}.card-visual svg{height:82px}.card-body h3{font-size:16px}.card-body p{font-size:11px}.card-meta{font-size:8px}.page-title h1{font-size:32px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.exercise-panel{padding:21px}.exercise-panel h2{font-size:24px}.exercise-footer{align-items:flex-start}.exercise-footer>button{white-space:nowrap}.phrase{font-size:21px}.phrase-item .en{font-size:15px}.phrase-item button{padding:8px 10px}.section-title h2{font-size:22px}.surface{padding:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lesson-card{transition:none}}

.auth-wrap{max-width:600px;margin:auto}.auth-wrap .field{margin-bottom:18px}.auth-error{color:#a24334;font-size:13px}.show-password{display:flex;gap:9px;align-items:center;font-size:12px;color:#64796c;margin:14px 0}.show-password input{width:auto}.top .edition{margin-right:auto;margin-left:25px}@media(max-width:760px){.top{gap:8px}.top button{font-size:10px;padding:7px 9px}.brand{font-size:16px;gap:7px}.brand-small{font-size:8px}.brand img{width:32px;height:32px}}
