/* Shared visual language for the lesson library, teacher and interactive story. */
:root{--ink:#103443;--teal:#087f86;--coral:#d94436;--paper:#fffdf8}body{color:var(--ink);background:radial-gradient(ellipse at 5% 30%,#f9edcd55,transparent 45%),var(--paper)}header{max-width:1800px;margin:auto;padding:26px 30px 22px;display:grid;grid-template-columns:280px 1fr 230px;gap:25px;background:transparent;border:0;align-items:center}.journey-brand{text-decoration:none;font-size:35px;font-weight:850;letter-spacing:-1.8px;position:relative;line-height:1.05;color:#092e3c}.journey-brand>span:not(.brand-plane){color:#e24d42}.journey-brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:650;margin-top:13px;color:#234555}.brand-plane{display:block;color:#efb521;font-size:30px;margin-left:45px;transform:rotate(-15deg)}.journey-wordmark{text-align:center}.journey-wordmark strong{font-family:'Brush Script MT','Apple Chancery','Segoe Print',cursive;font-size:clamp(32px,3.8vw,65px);font-weight:500;display:inline-block;line-height:1.15;position:relative;white-space:nowrap}.journey-wordmark strong:after{content:'';display:block;height:9px;background:#ffdf75;border-radius:70% 30% 50% 30%;transform:rotate(-1deg);margin-top:3px}.journey-wordmark small{display:block;font-size:10px;letter-spacing:3px;margin-top:15px}.travel-stamps{display:flex;gap:20px;justify-content:center;color:#598f82}.travel-stamps span{font-size:10px;letter-spacing:1.2px;text-align:center;border:2px dashed currentColor;padding:12px;transform:rotate(-12deg);line-height:1.7}.travel-stamps span+span{border-radius:50%;color:#d97465;transform:rotate(13deg)}main{max-width:1800px;padding:8px 30px 30px}.lesson-ribbon{display:flex;align-items:center;gap:20px;margin:6px 0}.lesson-ribbon h1{font-family:system-ui;font-size:20px;letter-spacing:-.5px;margin:0}.lesson-ribbon button{border:0;padding:8px 0;background:transparent;font-size:12px;color:#486874}.lesson-subtitle{font-size:13px;margin:4px 0 16px!important;max-width:none!important}.journey-workspace{grid-template-columns:210px minmax(0,1fr) 310px;gap:20px;margin-top:15px}.illustrated-route{min-width:0;background:#f6f4ec;border-radius:22px;overflow:hidden;align-self:stretch}.route-caption{padding:18px 18px 0}.route-caption small{font-size:9px;letter-spacing:1.5px;display:block;color:#52747b}.route-caption strong{display:block;font-size:18px;margin-top:7px}.journey-workspace nav{background:transparent;position:static;padding:15px 10px;margin:0;gap:8px}.journey-workspace nav:before{display:none}.journey-workspace nav button{position:relative;display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.35;padding:10px 8px;min-height:82px}.route-icon{flex:0 0 58px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff2c7;margin:0;font-size:29px;border:3px solid white}.journey-workspace nav button[aria-current=true]{background:#ffdf74}.route-watercolor{min-height:310px;background:url('jornada-rua.png') center bottom/cover no-repeat;position:relative}.route-watercolor span{position:absolute;bottom:20px;left:14px;right:14px;font:24px/1.15 'Apple Chancery','Brush Script MT',cursive;background:#fffdf5d9;padding:12px;transform:rotate(-5deg);color:#174759}.scene{border-radius:20px}.scene video{object-fit:cover}.dialogue-strip{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #edf0e9;border-radius:20px;padding:18px;margin-top:10px;min-height:115px;box-shadow:0 5px 22px #214b4210}.dialogue-avatar{width:65px;height:65px;object-fit:cover;object-position:50% 20%;border-radius:50%;flex-shrink:0}.dialogue-copy,.translation-copy{flex:1;min-width:0}.dialogue-copy small{color:#007784;font-weight:700}.translation-copy{border-left:1px solid #dbe7e4;padding-left:18px}.translation-copy small{color:#c94135;font-weight:700}.dialogue-strip .line{font-size:clamp(18px,1.5vw,26px);margin:8px 0 0;font-weight:700}.dialogue-strip .translation{font-size:clamp(16px,1.3vw,23px);margin:8px 0 0;color:#315363}.journey-actions{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:12px;margin-top:18px}.journey-actions button{margin:0!important;min-height:80px;padding:15px 10px;font-size:15px;border:0;background:#e0f3ef;color:#095665;border-radius:20px}.journey-actions #practiceNow{font-size:19px;background:#e04c3d;color:white}.journey-actions #watchConversation{background:#e0f3ef;color:#095665}.quiet-caption{margin:8px 0;font-size:12px}.journey-settings{margin:14px 0;font-size:13px;color:#4e6c75}.journey-settings summary{padding:10px 0}.journey-workspace .layout>.card{padding:20px;border:0;box-shadow:0 6px 25px #284b4510}.mission-heading{font:36px/1.2 'Apple Chancery','Brush Script MT',cursive;background:#ffdf74;padding:12px 5px;text-align:center;border-radius:30% 12% 30% 8%;margin-bottom:20px}.mission-steps{display:grid;gap:24px;padding:0 2px;margin-bottom:16px}.mission-steps>div{display:flex;gap:14px;align-items:flex-start}.mission-steps b{display:grid;place-items:center;border-radius:50%;background:#087f86;color:#fff;flex:0 0 34px;height:34px;font-size:18px}.mission-steps>div:nth-child(2) b{background:#d94436}.mission-steps>div:nth-child(3) b{background:#ffdb67;color:#103443}.mission-steps strong{display:block;font-size:19px;color:#124657;margin:1px 0 5px}.mission-steps small{font-size:12px;color:#4b6571;line-height:1.6;display:block}.compact-scene-title{font-size:16px!important;margin:8px 0!important}.mini-mission{margin:10px 0;border:2px solid transparent;transition:border-color .2s}.mission-success{border-color:#14806f}.mini-mission h3{font-size:19px}.size-options button{padding:10px 5px;font-size:14px}.mission-feedback{min-height:55px}.journey-workspace #speaker{font-size:10px}.journey-workspace #status{margin:8px 0}.journey-workspace .voice-comparison{order:20}.journey-workspace footer{font-size:11px}.shell{max-width:1700px;padding:20px 30px;gap:25px;grid-template-columns:230px minmax(0,1fr)}.shell main{padding:0;min-width:0}.shell aside{background:#f5f1e7;border-radius:22px;padding:20px;overflow:hidden}.shell aside:after{content:'';display:block;height:230px;background:url('jornada-rua.png') center/cover;border-radius:16px;margin-top:15px}.shell .tag,.shell .eyebrow{color:var(--teal)}.shell h1{font-family:'Apple Chancery',Georgia,serif;color:var(--ink)}.shell .primary,.shell .steps .active{background:var(--coral);border-color:var(--coral);color:#fff}.shell #lessons button.active{background:#ffe184;color:#193e49;border-radius:14px}.shell .card{box-shadow:0 8px 25px #1647350b}.shell .callout{background:#e5f4ef;border-color:var(--teal)}.shell progress{accent-color:var(--teal)}.shell .options button:hover,.shell .vocab button:hover{background:#e6f4ef}.shell .stage{border-radius:22px}.shell #pilot-controls a{background:var(--coral)!important}#teacherIntro{max-width:1400px;margin:15px auto}#teacherIntro h1{font-family:'Apple Chancery',Georgia,serif}.teacher-layout .card{padding:28px}.teacher-layout{margin-top:20px}
@media(max-width:1250px){header{grid-template-columns:230px 1fr;gap:20px}.travel-stamps{display:none}.journey-brand{font-size:30px}.journey-workspace{grid-template-columns:160px minmax(0,1fr) 260px;gap:14px}.route-icon{width:40px;height:40px;flex-basis:40px;font-size:23px}.journey-workspace nav button{font-size:11px}.journey-workspace .layout>.card{grid-column:auto;padding:16px}.mission-heading{font-size:29px}.dialogue-avatar{width:48px;height:48px}.dialogue-strip{padding:14px;gap:10px}.journey-actions{gap:8px}.journey-actions button,.journey-actions #practiceNow{font-size:14px}.mission-steps{gap:16px}.route-caption{padding:15px 10px 0}.route-caption strong{font-size:15px}}
@media(max-width:980px){.journey-workspace{grid-template-columns:135px minmax(0,1fr)}.journey-workspace .layout>.card{grid-column:2}.illustrated-route{grid-row:1/3}.mission-steps{grid-template-columns:repeat(3,1fr);gap:10px}.mission-steps>div{gap:8px}.mission-steps b{flex-basis:26px;height:26px;font-size:14px}.mission-steps strong{font-size:16px}.route-watercolor{height:420px}.journey-workspace nav button{flex-direction:column;text-align:center}.dialogue-strip .translation{font-size:16px}.travel-stamps{display:none}}
@media(max-width:700px){header{display:block;padding:18px}.journey-brand{font-size:27px;display:block}.brand-plane{display:none}.journey-brand small{font-size:7px;margin-top:8px}.journey-wordmark{margin-top:20px}.journey-wordmark strong{font-size:36px;white-space:normal}.journey-wordmark small{font-size:8px;letter-spacing:1.6px}main{padding:10px 16px 24px}.lesson-ribbon{display:block}.lesson-ribbon h1{font-size:20px;margin-top:8px}.lesson-subtitle{font-size:12px}.journey-workspace{display:block}.illustrated-route{background:transparent}.route-caption,.route-watercolor{display:none}.journey-workspace nav{display:grid;grid-template-columns:repeat(4,1fr);padding:4px;margin-bottom:16px;gap:5px;background:#f5f2e9}.journey-workspace nav button{gap:7px;min-height:85px;padding:8px 2px;display:flex;font-size:10px}.route-icon{width:35px;height:35px;flex-basis:35px;font-size:20px}.dialogue-strip{display:grid;grid-template-columns:42px 1fr}.dialogue-avatar{width:42px;height:42px}.translation-copy{grid-column:2;border:0;padding:0}.dialogue-copy small,.translation-copy small{font-size:11px}.dialogue-strip .line{font-size:18px}.dialogue-strip .translation{font-size:16px}.journey-actions{grid-template-columns:1fr 1fr;gap:8px}.journey-actions #practiceNow{grid-column:1/-1;grid-row:1;font-size:18px;min-height:64px}.journey-actions button{min-height:55px;font-size:13px}.mission-steps{display:grid;grid-template-columns:1fr;gap:15px}.mission-steps>div{gap:15px}.mission-steps strong{font-size:18px}.mission-steps b{flex-basis:32px;height:32px}.shell{display:block;padding:16px}.shell aside:after{display:none}.shell main{padding-top:20px}.teacher-layout .card{padding:20px}.scene video{object-fit:contain}}
/* Illustrated stops echo the travel journal rather than generic menu icons. */
.route-icon{font-size:0!important;background-image:url('jornada-rua.png');background-size:200%;box-shadow:0 2px 9px #20493c16;border:3px solid #fffdf4}.journey-workspace nav button:nth-child(1) .route-icon{background-position:22% 6%}.journey-workspace nav button:nth-child(2) .route-icon{background-position:25% 47%}.journey-workspace nav button:nth-child(3) .route-icon{background-position:85% 83%}.journey-workspace nav button:nth-child(4) .route-icon{background-position:80% 26%}

/* Clear, generous navigation shared by the opening and lesson pages. */
body .opening-nav{gap:20px;flex-wrap:wrap;padding:22px 0;font-size:16px}
body .opening-nav>a,body .opening-footer>a,body .topline>a,body .lesson-footer>a,body .lesson-ribbon>button{
 display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:60px;
 padding:16px 26px;border:2px solid #08737a;border-radius:16px;
 background:#fffdf7;color:#075b63;font:750 18px/1.35 system-ui,sans-serif;
 text-align:center;text-decoration:none;box-shadow:0 4px 0 #075b6318;
 transition:background .15s,box-shadow .15s;
}
body .opening-nav>a{background:#08737a;color:#fff;box-shadow:0 5px 0 #064f55;min-width:250px}
body .opening-footer>a{margin-top:16px}
body .topline{gap:18px;flex-wrap:wrap;font-size:16px}
body .lesson-footer{gap:20px;padding:24px;background:#fff5d7;border:1px solid #ead9a4;border-radius:22px;margin:36px 0}
body .lesson-footer>a{flex:1;max-width:440px;min-height:68px;font-size:20px}
body .lesson-footer>a:last-child{background:#c43e32;border-color:#c43e32;color:white;box-shadow:0 5px 0 #913025}
body .opening-nav>a:hover{background:#075d64}
body .topline>a:hover,body .opening-footer>a:hover,body .lesson-footer>a:first-child:hover,body .lesson-ribbon>button:hover{background:#def1ec}
body .lesson-footer>a:last-child:hover{background:#a83229;border-color:#a83229}
body .scene-tabs{gap:14px}
body .scene-tabs>button{flex:1;min-height:66px;padding:16px 20px;border:2px solid #8fbeb7;font-size:18px;font-weight:700;line-height:1.4;box-shadow:0 3px 0 #0c615b12}
body .scene-tabs>button[aria-pressed=true]{background:#ffe184;border-color:#956b10;color:#173e49;box-shadow:inset 0 -4px 0 #956b10}
body .opening-nav>a:focus-visible,body .opening-footer>a:focus-visible,body .topline>a:focus-visible,body .lesson-footer>a:focus-visible,body .lesson-ribbon>button:focus-visible,body .scene-tabs>button:focus-visible{outline:3px solid #103443;outline-offset:5px}
@media(max-width:700px){
 body .opening-nav{align-items:stretch;flex-direction:column;font-size:14px}
 body .opening-nav>a,body .opening-footer>a,body .topline>a{width:100%;min-width:0;font-size:18px}
 body .lesson-footer{flex-direction:column;padding:18px;gap:16px}
 body .lesson-footer>a{width:100%;max-width:none;min-height:62px;font-size:18px}
 body .scene-tabs{flex-direction:column;gap:12px}
 body .scene-tabs>button{text-align:left;min-height:60px;font-size:17px}
}
@media(prefers-reduced-motion:reduce){body .opening-nav>a,body .opening-footer>a,body .topline>a,body .lesson-footer>a,body .lesson-ribbon>button{transition:none}}
body .pilot-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 28px}
body .pilot-navigation .tag{color:#526c76;font-size:15px}
body .flow button{min-height:52px;color:#103443;font-weight:700}
body .flow #stepListen{background:#ffe184;border-color:#d9b556}
@media(max-width:700px){body .pilot-navigation{flex-direction:column;align-items:stretch}body .flow{display:grid;grid-template-columns:1fr;gap:10px}body .flow button{text-align:left}}
.account-entry{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;min-height:44px;border:1px solid #087f86;border-radius:12px;color:#075b63;text-decoration:none;font:700 14px system-ui;white-space:nowrap}
body .account-entry{min-height:60px;padding:16px 24px;border:2px solid #08737a;border-radius:16px;background:#08737a;color:#fff;font:750 17px/1.35 system-ui;box-shadow:0 4px 0 #064f55;grid-column:1/-1;justify-self:end}
body .account-entry:hover{background:#075d64}body .account-entry:focus-visible,body #nextSceneGuide:focus-visible{outline:3px solid #103443;outline-offset:5px}
body #nextSceneGuide{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:18px 26px;margin-top:16px;border:2px solid #c43e32;border-radius:16px;background:#c43e32;color:#fff;font:750 18px/1.35 system-ui;box-shadow:0 5px 0 #913025;cursor:pointer}
@media(max-width:700px){body .account-entry{display:flex;width:100%;margin-top:18px;white-space:normal}body #nextSceneGuide{width:100%}}
