:root{font-family:ui-rounded,'Avenir Next',system-ui,sans-serif;color:#163f40;background:#f5f4ea;font-size:17px;--teal:#104e4c;--orange:#f19b52;--muted:#667b76}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #ccd7ca;background:#fffef7;color:var(--teal);border-radius:14px;padding:12px 18px;min-height:48px;font-weight:650}button:hover{background:#e6eddf}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #db752d;outline-offset:4px}button.primary{background:var(--teal);color:#fff8e9;border-color:var(--teal)}button.primary:hover{background:#1d6863}button.warm{background:#ffc984;border-color:#ffc984}button:disabled{opacity:.5;cursor:default}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 5vw;border-bottom:1px solid #dde2d5;background:#fbfaf3}nav{display:flex;gap:8px;flex-wrap:wrap}nav button{background:transparent;border-color:transparent;font-size:.85rem}.brand{display:flex;gap:12px;align-items:center;color:var(--teal);text-decoration:none;font-size:1.2rem;font-weight:850;letter-spacing:-.04em}.brandmark{font-size:2.5rem;color:#e28d36}small{display:block}.brand small{font-size:.5rem;letter-spacing:.15em;margin-top:5px;font-weight:750}main{max-width:1380px;margin:auto;padding:38px 5vw 70px;min-height:75vh}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.8rem,5.7vw,5.3rem);line-height:1.02;letter-spacing:-.065em;margin-bottom:24px;font-weight:850}h2{font-size:2rem;letter-spacing:-.045em}h3{letter-spacing:-.025em}p{line-height:1.6}.eyebrow{text-transform:uppercase;font-size:.67rem;letter-spacing:.2em;font-weight:850;color:#647b70;margin-bottom:16px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.hero p{max-width:470px;color:#5c726b;font-size:1.08rem}.hero-art{position:relative;border-radius:36px;overflow:hidden;box-shadow:0 22px 55px #0c4b4323;aspect-ratio:1}.hero-art img{width:100%;height:100%;object-fit:cover}.art-tag{position:absolute;bottom:18px;left:18px;right:18px;padding:15px 20px;border-radius:18px;background:#fff9e8ee;backdrop-filter:blur(8px);font-size:.8rem;display:flex;justify-content:space-between}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.stats{display:flex;gap:30px;margin-top:30px;border-top:1px solid #d5ddcf;padding-top:22px}.stats b{display:block;font-size:1.4rem}.stats span{font-size:.7rem;color:var(--muted)}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin:50px 0 20px;gap:20px}.sectionhead h2{margin-bottom:0}.route{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.destination{text-align:left;padding:24px;position:relative;min-height:185px;display:flex;flex-direction:column;align-items:start;gap:10px;background:#fffcf2;border-radius:22px;box-shadow:0 3px 0 #e3e6d8}.destination:nth-child(3n+2){background:#eaf0df}.destination:nth-child(3n){background:#e3efeb}.destination h3{font-size:1.35rem;margin:4px 0}.destination small{color:#668075;font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}.destination .num{font-size:.7rem;background:#fff9df;border-radius:30px;padding:7px 10px;align-self:end}.destination p{font-weight:400;font-size:.8rem;margin:0}.destination .stamp{position:absolute;right:22px;bottom:22px;transform:rotate(-12deg);border:2px solid #4d8570;padding:5px;border-radius:8px;font-size:.55rem}.banner{padding:25px 30px;border-radius:20px;background:#e8eddd;margin:25px 0;line-height:1.6}.lesson-header{display:flex;justify-content:space-between;gap:20px;align-items:start}.lesson-header h1{font-size:clamp(2.3rem,4.6vw,4rem)}.steps{display:flex;gap:8px;margin:25px 0 30px}.steps button{flex:1;font-size:.83rem}.steps button.active{background:var(--teal);color:white}.panel{background:#fffdf5;padding:30px;border:1px solid #d9e0d1;border-radius:26px;margin-bottom:20px}.lesson-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:22px}.phrase{border-top:1px solid #e0e5d7;padding:22px 0}.phrase:first-child{border-top:0}.spanish{font-size:clamp(1.4rem,2.7vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.4;margin-bottom:8px}.meaning{color:#62766e;font-size:.95rem}.cue{font-size:.78rem;padding-top:8px;color:#8a6744}.phrase .actions{margin:15px 0 0}.phrase button{font-size:.8rem;padding:9px 14px}.companion{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:18px;margin-bottom:20px}.bubble{background:#edf1e4;border-radius:20px;padding:20px;margin:15px 0}.bubble.robot{background:#e4efed}.speaker{font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.bubble p{margin:0}.learner{border:2px dashed #dfa361;background:#fff5e2}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.chips button{min-width:46px;padding:9px}.tasktitle{font-size:1.5rem;line-height:1.4}.big-input{width:100%;padding:15px;border:2px solid #bdcfc4;border-radius:14px;background:#fff;font-size:1.15rem;margin:10px 0}label{display:block;line-height:1.6;margin:15px 0}label.inline{display:flex;align-items:center;gap:12px}select{padding:10px;border:1px solid #a9bdb0;border-radius:12px;background:#fff}input[type=checkbox]{width:22px;height:22px;accent-color:var(--teal)}.subtle{font-size:.78rem;color:#677e73;line-height:1.6}.feedback{padding:15px;border-radius:12px;background:#eaf1e1;margin-top:15px}.badges{display:flex;flex-wrap:wrap;gap:12px}.badge{padding:18px;border:2px solid #c6d5b5;border-radius:18px;text-align:center;background:#f6f3d8}.progress-row{display:grid;grid-template-columns:1fr repeat(3,.6fr);gap:10px;padding:15px 0;border-bottom:1px solid #e0e4da;font-size:.85rem}.intro{animation:arrive .6s ease-out}.celebrate{animation:stamp .6s ease-out}.film{background:#104e4c;color:#fff8e8;text-align:center;overflow:hidden;min-height:330px;display:grid;place-items:center}.film img{width:min(390px,100%);border-radius:20px;animation:float 5s infinite ease-in-out}.film h2{margin-top:20px}.film p{max-width:500px;margin:0 auto}footer{padding:22px 5vw;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#6b7f72;font-size:.7rem;border-top:1px solid #dde2d5}footer button{font-size:.7rem}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#173e3c;color:#fff;padding:14px 24px;border-radius:20px;box-shadow:0 8px 20px #0002;display:none;max-width:90vw;z-index:9}details{line-height:1.7}summary{cursor:pointer;font-weight:700}a{color:#166c66}body.reduce *,body.reduce *:before{animation:none!important;transition:none!important}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-7px) rotate(1deg)}}@keyframes stamp{0%{transform:scale(.85) rotate(-8deg)}60%{transform:scale(1.05)}100%{transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:850px){header{align-items:start;flex-direction:column}.hero{gap:25px}.hero-art{border-radius:24px}.route{grid-template-columns:repeat(2,1fr)}.lesson-grid{grid-template-columns:1fr}.lesson-grid aside{order:2}.stats{gap:20px}.hero h1{font-size:3.2rem}}@media(max-width:600px){main{padding:25px 20px 50px}.hero{grid-template-columns:1fr}.hero-art{max-height:440px}.hero h1{font-size:3.2rem}.route{grid-template-columns:1fr}.destination{min-height:150px}.panel{padding:22px}.steps{flex-wrap:wrap}.steps button{min-width:40%}.lesson-header{flex-direction:column}header{padding:20px}nav{gap:0}nav button{padding:10px}.sectionhead{align-items:start;flex-direction:column}.progress-row{font-size:.65rem}.art-tag{font-size:.68rem}footer{flex-direction:column;align-items:start}}
.profile-page{max-width:1050px;margin:auto}.profile-page h1{font-size:clamp(2.3rem,5vw,4.4rem)}.profile-list,.avatar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.profile-choice{background:#fffdf5;padding:20px;border:1px solid #ccd7ca;border-radius:24px}.profile-choice h2{font-size:1.4rem;margin:12px 0;overflow-wrap:anywhere}.profile-avatar{display:inline-grid;place-items:center;width:80px;height:80px;border-radius:22px;vertical-align:middle}.robot-avatar{object-fit:cover;object-position:35% 40%}.shape-avatar{font-size:3rem;background:#e3efe7;color:#be6c22}.travel-circle{color:#167e84}.trail-triangle{color:#8274b8}.avatar-picker{border:0;padding:0;margin:24px 0}.avatar-picker legend{margin-bottom:14px;font-weight:750}.avatar-option{display:flex;align-items:center;flex-direction:column;gap:12px;padding:18px;border:2px solid #d8dfcd;border-radius:20px;cursor:pointer;margin:0}.avatar-option:has(input:checked){border-color:#c9792d;background:#fff0d6}.avatar-option input{width:24px;height:24px;accent-color:#104e4c}.profile-list{margin:24px 0}#learner-profile{display:inline-flex;align-items:center;gap:8px;max-width:220px;overflow-wrap:anywhere}#learner-profile .profile-avatar{width:28px;height:28px;border-radius:8px;font-size:1.2rem}@media(max-width:600px){.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-choice .actions{flex-direction:column}.profile-page .panel{padding:18px}}
