#screen-routes{min-height:calc(100dvh - 70px);background:linear-gradient(180deg,#fff7ed,#fffdf9 45%,#f2ede6)}
#routes-app{display:grid;gap:15px}.journey-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:12px;align-items:center;overflow:hidden;padding:19px;border-radius:24px;background:radial-gradient(circle at 92% 5%,#ff9b5538,transparent 34%),linear-gradient(145deg,#24302d,#101716);color:#fff;box-shadow:0 18px 38px #2a170d2c}.journey-hero:after{content:"";position:absolute;right:-28px;bottom:-54px;width:140px;height:140px;border:16px dashed #ed6b2c28;border-radius:50%;animation:route-spin 25s linear infinite}.journey-kicker,.routes-heading span,.badge-shelf>span,.future-routes>span{display:block;color:#ff8750;font-size:9px;font-weight:950;letter-spacing:.13em}.journey-hero h1{margin:7px 0 5px;color:#fff;font-size:26px;line-height:1.04}.journey-hero p{margin:0;color:#d8e0dd;font-size:12px}.roti-tip{display:flex;align-items:center;gap:5px;margin-top:10px;color:#ffd9c2;font-size:10px;font-weight:800}.roti-mini{display:grid;place-items:center;width:19px;height:19px;border-radius:50% 50% 50% 8px;background:#ed6b2c;color:#fff;font-size:5px;transform:rotate(-45deg)}.roti-mini:before{content:"";transform:rotate(45deg)}
.grade-medal{position:relative;z-index:1;display:grid;place-items:center;min-height:104px;padding:8px;border:1px solid #ffffff24;border-radius:20px;background:#ffffff0d;text-align:center}.grade-medal small{font-size:9px;color:#ffb38f}.grade-medal b{font-size:13px}.grade-medal span{font-size:10px;color:#d8e0dd}.sound-toggle{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border:1px solid #ffffff2c!important;border-radius:50%!important;background:#ffffff12!important;color:inherit!important;font:800 14px system-ui!important}.grade-medal .sound-toggle{position:absolute;right:5px;top:5px}
.journey-progress{padding:13px 15px;border:1px solid #e2d8cc;border-radius:17px;background:#fff;box-shadow:0 7px 18px #2b1c1110}.journey-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:11px}.journey-progress span{font-weight:900;text-transform:uppercase;color:#5c544c}.journey-progress strong{color:#c84e10}.progress-track,.mini-progress,.lesson-progress{display:block;overflow:hidden;height:7px;margin-top:9px;border-radius:99px;background:#eae4dc}.progress-track i,.mini-progress i,.lesson-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e95816,#ffad58);transition:width .55s cubic-bezier(.22,1,.36,1)}
.journey-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.journey-stats article{display:grid;gap:2px;padding:11px 8px;border:1px solid #e2d8cc;border-radius:16px;background:#fff;text-align:center;box-shadow:0 7px 16px #2b1c110c}.journey-stats small{color:#6f6659;font-size:9px;font-weight:900;letter-spacing:.08em}.journey-stats b{color:#c84e10;font-size:19px}.journey-stats i{color:#57504a;font-size:9px;font-style:normal}.daily-mission{position:relative;overflow:hidden;display:grid;gap:4px;padding:15px;border-radius:18px;background:linear-gradient(135deg,#2b3a35,#14201d);color:#fff;box-shadow:0 12px 26px #1d2b2530}.daily-mission:after{content:"✦";position:absolute;right:14px;bottom:-8px;color:#ff9b5533;font-size:52px}.daily-mission>span{color:#ff8750;font-size:9px;font-weight:950;letter-spacing:.13em}.daily-mission h2{margin:4px 0 0;font-size:19px;color:#fff}.daily-mission p{margin:0 0 9px;color:#d3dcda;font-size:11px}.daily-mission button{align-self:start;padding:10px 16px;border:0;border-radius:13px;background:linear-gradient(135deg,#ed6a28,#c94408);color:#fff;font-size:11px;font-weight:900}.daily-mission.done{border:1px solid #2f7a4f33;background:linear-gradient(135deg,#e9f6ee,#d9efe2)}.daily-mission.done>span,.daily-mission.done h2,.daily-mission.done p{color:#1f5e3c}.daily-mission.done:after{color:#2f7a4f22}.lesson-teach{background:radial-gradient(circle at 50% 4%,#e6f4ef,#fff 40%)}.lesson-teach-text{font-size:15px!important;line-height:1.55;color:#20302c!important}.teach-dots{display:flex;gap:6px}.teach-dots i{width:8px;height:8px;border-radius:99px;background:#ddd0c0;transition:background .3s}.teach-dots i.on{background:#e65a18;transform:scale(1.2)}.journey-profile-meta{display:flex;gap:8px;flex-wrap:wrap;margin:9px 2px}.journey-profile-meta span{padding:6px 10px;border-radius:99px;background:#f4ede4;color:#5f584f;font-size:10px;font-weight:800}.journey-profile-meta i{color:#c84e10;font-style:normal}
.continue-route{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:12px;border:0;border-radius:18px;background:linear-gradient(135deg,#ed6a28,#c94408);color:#fff;text-align:left;box-shadow:0 12px 24px #e95f1c38}.continue-route>i{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#fff2;font:25px Georgia}.continue-route span{display:grid;gap:2px}.continue-route small{font-size:9px}.continue-route strong{font-size:13px}.continue-route em{font-size:10px;font-style:normal;color:#ffe0cf}.continue-route>b{font-size:10px}
.routes-heading{display:flex;align-items:end;justify-content:space-between;margin:5px 2px 0}.routes-heading h2,.badge-shelf h2,.future-routes h2{margin:3px 0 0;font-size:19px}.routes-heading>b{display:grid;place-items:center;width:40px;height:28px;border-radius:99px;background:#222a27;color:#fff;font-size:10px}.mission-map{position:relative;display:grid;gap:11px}.mission-map:before{content:"";position:absolute;left:23px;top:34px;bottom:34px;width:3px;background:repeating-linear-gradient(#ed6b2c 0 8px,transparent 8px 14px)}
.mission-card{position:relative;display:grid;grid-template-columns:28px 49px minmax(0,1fr) 16px;gap:9px;align-items:center;width:100%;padding:13px 10px 13px 8px;border:1px solid #ded6cb;border-radius:18px;background:#fff;text-align:left;box-shadow:0 8px 22px #28180c12;transition:transform .18s}.mission-card:active{transform:scale(.975)}.mission-card.complete{border-color:#7eaf9a;background:#f6fff9}.map-marker{z-index:1;display:grid;place-items:center;width:28px;height:28px;border:4px solid #fff;border-radius:50%;background:#ed6b2c;color:#fff;font-size:9px;font-weight:900;box-shadow:0 0 0 2px #ed6b2c}.complete .map-marker{background:#2f7259;box-shadow:0 0 0 2px #2f7259}.mission-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:16px;background:#fff0e8;color:#d94e0b;font:27px Georgia}.mission-copy{display:grid;gap:3px;min-width:0}.mission-copy small{color:#c44d0b;font-size:9px;font-weight:900}.mission-copy strong{font-size:13px;color:#26211d;line-height:1.25}.mission-copy em{color:#57504a;font-size:10px;font-style:normal;line-height:1.4}.mission-copy>b{font-size:9px;color:#6a6259}.mini-progress{height:5px;margin:3px 0 0}.mission-arrow{font-size:23px;color:#a69c92}
.badge-shelf,.future-routes{padding:16px;border:1px solid #ded6cb;border-radius:20px;background:#fff}.badge-shelf>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.badge{display:grid;justify-items:center;gap:4px;text-align:center}.badge>i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#fff0c1,#e8a02b);color:#6f3a00;font:24px Georgia;box-shadow:inset 0 0 0 4px #fff7,0 7px 14px #9c5c1b29}.badge.locked{filter:grayscale(1);opacity:.4}.badge strong{font-size:10px;line-height:1.2}.badge span{font-size:9px;color:#6f675e}.future-routes article{display:grid;grid-template-columns:37px minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:9px;padding:10px;border:1px dashed #cfc6bb;border-radius:13px;background:#f7f3ee}.future-routes article>i{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#e8e3dc;font-style:normal}.future-routes article strong{font-size:11px}.future-routes article p{margin:2px 0 0;color:#645d54;font-size:10px}.future-routes article>b{font-size:8px;color:#a15a2e}.route-disclosure{margin:0 5px;color:#645d54;font-size:10px;line-height:1.5}
.next-event{position:relative;overflow:hidden;margin-top:6px;padding:20px 16px;border:1px solid #4a3a2d;border-radius:26px;background:radial-gradient(circle at 92% 4%,#ff9b5540,transparent 40%),linear-gradient(150deg,#2a2f2c,#121614);color:#fff;box-shadow:0 18px 38px #1d2b2528}.next-event:before{content:"📅";position:absolute;right:16px;top:14px;font-size:30px;opacity:.9;animation:route-float 3s ease-in-out infinite}.next-event .event-head{display:grid;gap:3px}.next-event .event-head>span{display:block;color:#ff8750;font-size:12px;font-weight:950;letter-spacing:.13em}.next-event .event-head h2{margin:0;font-size:24px;color:#fff}.next-event .event-head p{margin:4px 0 0;color:#d3dcda;font-size:13px;line-height:1.45}.event-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;margin-top:14px;padding:14px;border:1px solid #ffffff1c;border-radius:18px;background:#ffffff0d}.event-date{display:grid;place-items:center;align-content:center;width:64px;height:64px;border-radius:16px;background:linear-gradient(145deg,#ed6a28,#c94408);color:#fff;box-shadow:0 8px 18px #e35b2338}.event-date b{font-size:26px;line-height:1}.event-date i{font-size:11px;font-weight:900;letter-spacing:.08em;font-style:normal}.event-copy{min-width:0}.event-copy strong{font-size:16px;line-height:1.3}.event-copy p{margin:4px 0;color:#d3dcda;font-size:13px;line-height:1.45}.event-copy em{color:#ffb27e;font-size:12px;font-style:normal;font-weight:800}.event-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-actions a{display:grid;place-items:center;padding:13px;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:13px;font-weight:900;text-decoration:none;text-align:center}.event-actions a:first-child{background:linear-gradient(135deg,#ed6a28,#c94408)}.event-actions a.disabled{opacity:.5;pointer-events:none;filter:grayscale(1)}
.lesson-shell{display:grid;min-height:calc(100dvh - 190px)}.lesson-top{display:grid;grid-template-columns:37px minmax(0,1fr) auto 31px;gap:8px;align-items:center}.lesson-top>button:first-child{width:37px;height:37px;border:1px solid #ded6cb;border-radius:50%;background:#fff;font-size:18px}.lesson-top>div{display:grid}.lesson-top small{font-size:9px;color:#d35215;font-weight:900}.lesson-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.lesson-top>span{padding:5px 8px;border-radius:99px;background:#282a27;color:#fff;font-size:9px;font-weight:900}.lesson-top .sound-toggle{border-color:#ded6cb!important;background:#fff!important;color:#39332d!important}.lesson-count{display:grid;grid-template-columns:24px auto 24px;align-items:center;gap:2px}.lesson-count button{width:24px;height:24px;padding:0;border:1px solid #d8d0c6;border-radius:50%;background:#fff;color:#4a443d;font:900 13px system-ui;line-height:1;cursor:pointer}.lesson-count button:disabled{opacity:.35;cursor:default}.lesson-count b{font-size:9px;font-weight:900;color:#4a443d}.lesson-progress{height:6px;margin:12px 0 16px}
.lesson-card{display:grid;justify-items:center;align-content:center;gap:12px;min-height:395px;padding:21px 17px;border:1px solid #dfd5c8;border-radius:27px;background:radial-gradient(circle at 50% 4%,#fff0d8,#fff 38%);text-align:center;box-shadow:0 19px 43px #2d1b0d1a;animation:route-in .38s cubic-bezier(.2,.8,.2,1)}.lesson-eyebrow{color:#d04e12;font-size:9px;font-weight:950;letter-spacing:.12em}.lesson-scene{position:relative;width:100%;height:91px;overflow:hidden;border-radius:20px;background:linear-gradient(#cde9ee 0 60%,#72906b 60% 68%,#3e4642 68%);box-shadow:inset 0 -9px 0 #323a36}.lesson-scene:before{content:"";position:absolute;left:15px;top:13px;width:34px;height:13px;border-radius:99px;background:#fff9;box-shadow:48px 17px 0 -3px #fff8}.road-line{position:absolute;left:0;right:0;bottom:9px;height:3px;background:repeating-linear-gradient(90deg,#ffd56a 0 18px,transparent 18px 30px)}.lesson-symbol{position:absolute;left:calc(50% - 30px);top:14px;display:grid;place-items:center;width:60px;height:60px;border-radius:19px;background:linear-gradient(145deg,#ff8b43,#d74808);color:#fff;font:32px Georgia;box-shadow:0 10px 21px #df5c283d;animation:route-float 2.8s ease-in-out infinite}.roti{position:absolute;right:18px;bottom:16px;width:34px;height:39px;border-radius:50% 50% 50% 8px;background:#f27234;color:#fff;transform:rotate(-45deg);box-shadow:0 4px 8px #0002;animation:roti-bob 1.8s ease-in-out infinite}.roti i{position:absolute;inset:5px;border:2px solid #fff8;border-radius:50%}.roti b{position:absolute;left:5px;top:11px;width:25px;font-size:9px;transform:rotate(45deg)}.scene-comunidade{background:linear-gradient(#d9e8ff 0 60%,#83a175 60% 68%,#454b48 68%)}.scene-voz-estrada{background:linear-gradient(#ffd5b3 0 60%,#a7a269 60% 68%,#454b48 68%)}.scene-seguranca-digital{background:linear-gradient(#d6dbe0 0 60%,#6f7f6b 60% 68%,#3e4642 68%)}.scene-financas-estrada{background:linear-gradient(#ffe9c4 0 60%,#9aa06a 60% 68%,#454b48 68%)}.lesson-card h1{margin:0;max-width:290px;font-size:26px;line-height:1.05}.lesson-summary{margin:0;max-width:300px;color:#5f5953;font-size:13px;line-height:1.45}.lesson-card ul{display:grid;gap:6px;width:100%;padding:0;margin:0;text-align:left;list-style:none}.lesson-card li{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;border-radius:12px;background:#f7f3ed;color:#4c463f;font-size:15px;line-height:1.5}.lesson-card li i{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:50%;background:#237253;color:#fff;font:700 13px system-ui;font-style:normal}
.route-checkpoint{display:grid;gap:7px;width:100%;padding:12px;border-radius:15px;background:#f2ede6}.route-checkpoint>strong{font-size:12px}.route-checkpoint>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.route-checkpoint button{min-height:46px;padding:7px;border:1px solid #d7cec3;border-radius:11px;background:#fff;color:#312d29;font:800 11px system-ui}.route-checkpoint button.correct{border-color:#2d8a65;background:#daf4e7;color:#14583e;animation:route-pop .3s}.route-checkpoint button.wrong{border-color:#da7257;background:#fff0eb;color:#9b321b;animation:route-shake .28s}.route-checkpoint small{color:#645d54;font-size:9px}.lesson-action{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:49px;box-sizing:border-box;border:0;border-radius:14px;background:#1f2927;color:#fff;text-decoration:none;font:900 11px system-ui;box-shadow:0 8px 17px #17251f2b}.lesson-action.lesson-install{background:linear-gradient(135deg,#f06b28,#d84b09);box-shadow:0 9px 19px #e35b2338}.lesson-action:disabled{background:#c9b8a8;box-shadow:none;cursor:not-allowed;opacity:.7}.lesson-install-note{margin:0;color:#645d54;font-size:10px;line-height:1.45}html[data-theme="dark"] .lesson-install-note{color:#c8c0b6}html[data-theme="dark"] .lesson-action.lesson-install{background:linear-gradient(135deg,#f06b28,#d84b09)}html[data-theme="dark"] .lesson-action:disabled{background:#4a433c;color:#8b847b}.lesson-warning{margin:0;color:#7a4f1c;font-size:9px;line-height:1.4}.lesson-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:13px}.lesson-controls button{min-height:49px;border-radius:14px;font:900 11px system-ui}.lesson-later{border:1px solid #d8d0c6;background:transparent;color:#5b544c}.lesson-done{border:0;background:linear-gradient(135deg,#f06b28,#d84b09);color:#fff;box-shadow:0 9px 19px #e35b2338}.lesson-done:disabled{background:linear-gradient(135deg,#c9b8a8,#a99785);box-shadow:none;cursor:not-allowed;opacity:.7}html[data-theme="dark"] .lesson-done:disabled{background:linear-gradient(135deg,#4a433c,#3a352f);color:#8b847b}
.route-celebration{display:grid;justify-items:center;align-content:center;gap:12px;min-height:calc(100dvh - 190px);padding:24px;text-align:center;background:radial-gradient(circle at 50% 32%,#ffeec6 0,#ffeed9 34%,transparent 62%);animation:route-in .45s}.confetti{color:#ee6c29;font-size:27px;letter-spacing:7px;animation:confetti 1.2s ease-in-out infinite alternate}.earned-medal{display:grid;place-items:center;width:112px;height:112px;border:9px double #fff8d9;border-radius:50%;background:linear-gradient(145deg,#ffd96c,#e98c17);color:#774000;font:56px Georgia;box-shadow:0 18px 38px #b5641e45;animation:medal-in .65s cubic-bezier(.2,1.5,.4,1)}.route-celebration h1{margin:0;font-size:28px;color:#2a2118;text-shadow:0 1px 0 #fff8}.route-celebration>span{color:#8a6a3a;font-size:9px;font-weight:950;letter-spacing:.13em}.route-celebration p{margin:0;max-width:290px;color:#5b5247;font-size:11px}.route-celebration>strong{padding:7px 12px;border-radius:99px;background:#20302c;color:#fff;font-size:9px}.route-celebration button{min-height:50px;width:100%;margin-top:9px;border:0;border-radius:14px;background:#e65a18;color:#fff;font-weight:900}
.journey-profile{margin:15px 0;padding:15px;border:1px solid #d9cdbd;border-radius:18px;background:linear-gradient(145deg,#fff9eb,#f4ede3)}.journey-profile-head{display:flex;justify-content:space-between;gap:11px;align-items:center}.journey-profile-head small{color:#cc5419;font-size:9px;font-weight:900}.journey-profile-head h2{margin:3px 0 1px;font-size:18px}.journey-profile-head p{margin:0;color:#5f584f;font-size:10px}.journey-profile-head button{border:0;border-radius:99px;padding:8px 11px;background:#222a27;color:#fff;font-size:10px;font-weight:900}.profile-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.profile-badges .badge>i{width:44px;height:44px;font-size:19px}
@keyframes route-in{from{opacity:0;transform:translateX(20px) scale(.98)}to{opacity:1;transform:none}}@keyframes route-float{50%{transform:translateY(-5px) rotate(2deg)}}@keyframes roti-bob{50%{bottom:20px}}@keyframes route-pop{50%{transform:scale(1.05)}}@keyframes route-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes confetti{to{transform:translateY(-8px) rotate(3deg)}}@keyframes medal-in{from{transform:scale(.2) rotate(-20deg);opacity:0}}@keyframes route-spin{to{transform:rotate(360deg)}}
html[data-theme="dark"] #screen-routes{background:linear-gradient(#171717,#101010)}html[data-theme="dark"] .journey-progress,html[data-theme="dark"] .mission-card,html[data-theme="dark"] .badge-shelf,html[data-theme="dark"] .future-routes,html[data-theme="dark"] .lesson-card,html[data-theme="dark"] .journey-profile{background:#222;color:#f5f1eb;border-color:#49433c}html[data-theme="dark"] .mission-copy strong,html[data-theme="dark"] .lesson-card h1,html[data-theme="dark"] .future-routes article strong{color:#f5f1eb}html[data-theme="dark"] .mission-copy em,html[data-theme="dark"] .lesson-summary,html[data-theme="dark"] .route-celebration p{color:#c8c0b6}html[data-theme="dark"] .route-celebration{background:radial-gradient(circle at 50% 32%,#3a332a 0,#2e2821 40%,transparent 62%)}html[data-theme="dark"] .route-celebration h1{color:#f5f1eb;text-shadow:none}html[data-theme="dark"] .route-celebration>span{color:#e8a766}html[data-theme="dark"] .lesson-teach{background:radial-gradient(circle at 50% 4%,#26322e,#222 42%)}html[data-theme="dark"] .lesson-teach-text{color:#e8efe9!important}html[data-theme="dark"] .teach-dots i{background:#4a453e}html[data-theme="dark"] .teach-dots i.on{background:#ff8b43}html[data-theme="dark"] .daily-mission.done{border-color:#2f7a4f55;background:linear-gradient(135deg,#1c3529,#162a21)}html[data-theme="dark"] .daily-mission.done>span,html[data-theme="dark"] .daily-mission.done h2,html[data-theme="dark"] .daily-mission.done p{color:#7fd6a4}html[data-theme="dark"] .mission-icon{background:#542000;color:#ff9b54}html[data-theme="dark"] .future-routes article,html[data-theme="dark"] .route-checkpoint{background:#2b2926;border-color:#49433c}html[data-theme="dark"] .route-checkpoint button{background:#222;color:#f5f1eb;border-color:#5a544d}html[data-theme="dark"] .next-event{background:radial-gradient(circle at 92% 4%,#ff9b5522,transparent 40%),linear-gradient(150deg,#2a2f2c,#121614);border-color:#000;color:#f5f1eb}html[data-theme="dark"] .next-event .event-head p,html[data-theme="dark"] .event-copy p{color:#c8c0b6}html[data-theme="dark"] .lesson-top>button:first-child,html[data-theme="dark"] .lesson-top .sound-toggle{background:#222!important;color:#fff!important;border-color:#555!important}
@media(max-width:360px){.journey-hero{grid-template-columns:minmax(0,1fr) 93px;padding:15px}.journey-hero h1{font-size:22px}.grade-medal{min-height:92px}.mission-card{grid-template-columns:26px 42px minmax(0,1fr) 13px;gap:6px}.mission-icon{width:42px;height:42px}.lesson-card{min-height:355px;padding:17px 13px}.lesson-card h1{font-size:23px}.lesson-summary{font-size:12px}.lesson-controls{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.journey-hero:after,.lesson-card,.lesson-symbol,.roti,.route-celebration,.earned-medal,.confetti{animation:none!important}}

/* Rupi: mascote oficial; Faro: luz funcional da jornada */
.roti-tip{gap:7px;margin-top:8px}.roti-tip img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 4px 5px #0005)}.roti-mini,.roti{display:none}
.lesson-symbol{left:18px;top:16px;width:54px;height:54px;font-size:29px}.lesson-symbol:after{content:"";position:absolute;inset:-6px;border:2px solid #ffd66a55;border-radius:22px;animation:faro-pulse 1.8s ease-out infinite}
.rupi-scene{position:absolute;right:7px;bottom:-8px;width:116px;height:116px;object-fit:contain;filter:drop-shadow(0 6px 6px #0004);animation:rupi-bob 2.2s ease-in-out infinite}
.route-celebration{gap:10px;padding:22px}.rupi-celebrate{width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 10px 10px #7f471c38);animation:medal-in .65s cubic-bezier(.2,1.5,.4,1)}.route-celebration .earned-medal{width:78px;height:78px;border-width:7px;font-size:39px}
@keyframes rupi-bob{50%{transform:translateY(-5px) rotate(1deg)}}@keyframes faro-pulse{0%{opacity:.8;transform:scale(.9)}80%,100%{opacity:0;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.rupi-scene,.rupi-celebrate,.lesson-symbol:after{animation:none!important}}

/* Presença moderada do Rupi: destaque nos momentos-chave, sem cobrir conteúdo. */
.roti-tip img{width:52px;height:52px}
.rupi-scene{right:4px;bottom:-10px;width:136px;height:136px}
.rupi-celebrate{width:148px;height:148px}
.routes-gate>img{width:168px!important;height:168px!important}
.journey-ready{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px dashed #d7c9bc;border-radius:17px;background:#fffaf5}
.journey-ready img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 5px 6px #4126172a)}
.journey-ready span{display:grid;gap:2px;text-align:left}.journey-ready strong{font-size:12px}.journey-ready small{color:#645d54;font-size:10px}
html[data-theme="dark"] .journey-ready{background:#262320;border-color:#5b534b}html[data-theme="dark"] .journey-ready small{color:#c8c0b6}
@media(max-width:360px){.roti-tip img{width:46px;height:46px}.rupi-scene{width:124px;height:124px}.rupi-celebrate{width:136px;height:136px}.routes-gate>img{width:154px!important;height:154px!important}.journey-ready img{width:64px;height:64px}}

.journey-character{position:relative;grid-column:1/-1;display:flex;align-items:end;height:105px;margin:0 -7px -10px;overflow:hidden}.journey-character img{position:relative;z-index:2;width:140px;height:140px;margin-left:10px;object-fit:contain;filter:drop-shadow(0 9px 8px #0005);animation:rupi-walk 2.8s ease-in-out infinite}.journey-character small{z-index:2;margin:0 0 22px 4px;padding:6px 9px;border:1px solid #ffffff20;border-radius:99px;background:#ffffff0f;color:#ffd2bc;font-size:9px;font-weight:800}.character-road{position:absolute;left:0;right:0;bottom:13px;height:22px;border-radius:50%;background:#ffffff0b}.character-road:after{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:repeating-linear-gradient(90deg,#ffb16d 0 18px,transparent 18px 31px)}
.rupi-scene.is-moving{animation:rupi-step 2.4s ease-in-out infinite}.rupi-scene.is-thinking{animation:rupi-think 2.8s ease-in-out infinite;transform-origin:70% 90%}
.rupi-scene.is-correct{animation:route-pop .35s ease-out}
@keyframes rupi-walk{0%,100%{transform:translateX(0) rotate(-1deg)}50%{transform:translateX(13px) translateY(-4px) rotate(1deg)}}@keyframes rupi-step{0%,100%{transform:translateX(0) rotate(-1deg)}50%{transform:translateX(-8px) translateY(-4px) rotate(1deg)}}@keyframes rupi-think{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg) translateY(-3px)}}
@media(max-width:360px){.journey-character{height:94px}.journey-character img{width:126px;height:126px}.journey-character small{max-width:115px;margin-bottom:17px;line-height:1.25}}@media(prefers-reduced-motion:reduce){.journey-character img,.rupi-scene.is-moving,.rupi-scene.is-thinking{animation:none!important}}

/* Área suficiente para exibir o personagem inteiro. */
.lesson-scene{height:128px}.rupi-scene{right:4px;bottom:0;width:132px;height:132px}.journey-character{height:122px;overflow:visible}
.lesson-scene .rupi-scene{position:absolute;right:2px;bottom:-3px;z-index:3;width:128px;height:128px;object-fit:contain;filter:drop-shadow(0 7px 7px #0004);animation:rupi-step 2.4s ease-in-out infinite}
.lesson-scene .rupi-scene.is-thinking{animation:rupi-think 2.8s ease-in-out infinite;transform-origin:70% 90%}
.lesson-scene .rupi-scene.is-correct{animation:route-pop .35s ease-out}
.lesson-scene .scene-deco{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;min-width:52px;min-height:52px;font-size:34px;line-height:1;font-style:normal;filter:drop-shadow(0 5px 7px #0003);animation:scene-deco-float 2.8s ease-in-out infinite}
.scene-sun{position:absolute;right:26px;top:14px;z-index:1;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6d8,#ffcf5e 62%,#f2a93a);box-shadow:0 0 18px 4px #ffd75e88;animation:scene-sun-pulse 3.2s ease-in-out infinite}
.scene-sun:after{content:"";position:absolute;inset:-7px;border:1.5px dashed #ffd75e55;border-radius:50%;animation:scene-spin 14s linear infinite}
.scene-moon{position:absolute;right:28px;top:13px;z-index:1;width:19px;height:19px;border-radius:50%;background:radial-gradient(circle at 34% 34%,#f4f8ff,#c9d7f2 68%,#a7bce6);box-shadow:0 0 16px 4px #cddcff66}
.scene-star{position:absolute;z-index:1;color:#fff;font-size:10px;animation:scene-star 1.9s ease-in-out infinite;text-shadow:0 0 6px #fff8}
.scene-star.s1{right:64px;top:12px}.scene-star.s2{right:104px;top:26px;font-size:7px;animation-delay:.5s}.scene-star.s3{right:38px;top:34px;font-size:7px;animation-delay:1s}.scene-star.s4{right:122px;top:9px;animation-delay:.8s}
.scene-cloud{position:absolute;z-index:1;background:#ffffff99;border-radius:99px;opacity:.9;animation:scene-cloud-drift 26s linear infinite}
.scene-cloud:before,.scene-cloud:after{content:"";position:absolute;border-radius:50%;background:#ffffffcc}
.scene-cloud{width:30px;height:11px}.scene-cloud:before{width:16px;height:16px;top:-8px;left:6px}.scene-cloud:after{width:11px;height:11px;top:-5px;right:4px}
.scene-cloud.c1{left:-44px;top:17px}.scene-cloud.c2{left:-84px;top:31px;transform:scale(.7);animation-delay:-9s}.scene-cloud.c3{left:-30px;top:44px;transform:scale(.55);animation-delay:-16s}
.scene-bird{position:absolute;z-index:1;width:13px;height:8px;border-top:2px solid #ffffffb3;border-radius:50%;animation:scene-bird 9s ease-in-out infinite}
.scene-bird.b1{left:-20px;top:22px}.scene-bird.b2{left:-44px;top:15px;animation-delay:-4.5s;transform:scale(.8)}
.scene-rain{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(112deg,transparent 0 9px,#ffffff30 9px 10px);animation:scene-rain 1.1s linear infinite;opacity:.65}
.scene-fog{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#ffffff28,#ffffff00 42%,#ffffff3d 100%);opacity:.7}
.scene-bolt{position:absolute;right:46px;top:12px;z-index:2;font-size:20px;color:#ffe97a;animation:scene-bolt 3.4s ease-in-out infinite;filter:drop-shadow(0 0 8px #ffd75ecc)}
.scene-gust{position:absolute;left:8px;top:20px;z-index:1;width:22px;height:1.5px;border-radius:99px;background:#ffffff70;box-shadow:26px 5px 0 -1px #ffffff60,52px 10px 0 -1px #ffffff4d;animation:scene-gust 2.6s ease-in-out infinite}
.lesson-symbol{z-index:3}
.lesson-scene .rupi-scene.mood-mid{width:128px;height:128px}
.lesson-scene .rupi-scene.mood-far{right:14px;bottom:-2px;width:112px;height:112px;opacity:.92}
.lesson-scene .rupi-scene.mood-think{right:-4px;bottom:-4px;width:136px;height:136px}
.lesson-scene .rupi-scene.mood-alert{animation:rupi-alert 1s ease-in-out infinite;transform-origin:70% 90%}
.lesson-scene .rupi-scene.mood-eager{animation:rupi-eager 2.2s ease-in-out infinite;transform-origin:70% 90%}
.lesson-scene .rupi-scene.mood-happy{animation:rupi-happy 2.4s ease-in-out infinite}
/* Perspectivas de câmera: cada lição muda o enquadramento do cenário. */
.lesson-scene.shot-wide .rupi-scene{right:16px;bottom:-6px;width:118px;height:118px}.lesson-scene.shot-wide .scene-deco{font-size:40px}.lesson-scene.shot-wide .lesson-symbol{top:10px}
.lesson-scene.shot-close .rupi-scene{right:-2px;bottom:-14px;width:150px;height:150px}.lesson-scene.shot-close .scene-deco{min-width:44px;min-height:44px;font-size:28px;top:56%}.lesson-scene.shot-close .lesson-symbol{top:auto;bottom:8px;width:46px;height:46px;font-size:24px;border-radius:15px}
.lesson-scene.shot-side .rupi-scene{right:auto;left:6px;bottom:-6px;width:126px;height:126px}.lesson-scene.shot-side .scene-deco{left:auto;right:20%;top:44%}.lesson-scene.shot-side .lesson-symbol{left:auto;right:12px;top:12px}
.lesson-scene.shot-high .rupi-scene{right:30px;bottom:2px;width:104px;height:104px;opacity:.94}.lesson-scene.shot-high .scene-deco{font-size:44px;top:40%}.lesson-scene.shot-high .lesson-symbol{top:6px}
.lesson-scene.shot-travel .rupi-scene{right:50%;bottom:-10px;width:132px;height:132px;margin-right:-66px}.lesson-scene.shot-travel .scene-deco{left:14%;top:38%;font-size:36px}.lesson-scene.shot-travel .lesson-symbol{left:auto;right:10px;top:10px}.lesson-scene.shot-travel .road-line{bottom:20px}
.lesson-scene.shot-wide{animation:scene-shot-wide .55s cubic-bezier(.2,.8,.2,1)}
.lesson-scene.shot-close{animation:scene-shot-close .5s cubic-bezier(.2,.8,.2,1)}
.lesson-scene.shot-side{animation:scene-shot-side .5s cubic-bezier(.2,.8,.2,1)}
.lesson-scene.shot-high{animation:scene-shot-high .55s cubic-bezier(.2,.8,.2,1)}
.lesson-scene.shot-travel{animation:scene-shot-travel .6s cubic-bezier(.2,.8,.2,1)}
.lesson-scene.shot-wide .scene-deco,.lesson-scene.shot-close .scene-deco,.lesson-scene.shot-side .scene-deco,.lesson-scene.shot-high .scene-deco,.lesson-scene.shot-travel .scene-deco{animation:scene-deco-float 2.8s ease-in-out infinite,scene-shot-inner .55s cubic-bezier(.2,.8,.2,1)}
@keyframes scene-shot-wide{from{transform:scale(1.12);opacity:.55}to{transform:none;opacity:1}}
@keyframes scene-shot-close{from{transform:scale(1.02);opacity:.6}to{transform:none;opacity:1}}
@keyframes scene-shot-side{from{transform:translateX(-26px);opacity:.55}to{transform:none;opacity:1}}
@keyframes scene-shot-high{from{transform:translateY(-14px) scale(1.06);opacity:.55}to{transform:none;opacity:1}}
@keyframes scene-shot-travel{from{transform:translateX(22px) scale(.97);opacity:.5}to{transform:none;opacity:1}}
@keyframes scene-shot-inner{from{transform:translate(-50%,-50%) scale(.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@keyframes rupi-alert{0%,100%{transform:translateX(0) rotate(-2deg)}25%{transform:translateX(-4px) rotate(-1deg)}75%{transform:translateX(4px) rotate(1deg)}}
@keyframes rupi-eager{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}50%{transform:translateY(-6px) rotate(1deg) scale(1.04)}}
@keyframes rupi-happy{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}
@keyframes scene-deco-float{0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(-2deg)}50%{transform:translate(-50%,-50%) translateY(-5px) rotate(2deg)}}
@keyframes scene-sun-pulse{0%,100%{box-shadow:0 0 14px 3px #ffd75e77}50%{box-shadow:0 0 24px 7px #ffd75ea8}}
@keyframes scene-spin{to{transform:rotate(360deg)}}
@keyframes scene-star{0%,100%{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1.1)}}
@keyframes scene-cloud-drift{from{transform:translateX(0)}to{transform:translateX(calc(100vw - var(--scene-w,0px)))}}
@keyframes scene-bird{0%{transform:translateX(0)}to{transform:translateX(150px) translateY(-7px)}}
@keyframes scene-rain{to{background-position:0 10px}}
@keyframes scene-bolt{0%,70%,80%,100%{opacity:0;transform:scale(.7) rotate(-8deg)}74%,77%{opacity:1;transform:scale(1.05) rotate(-4deg)}}
@keyframes scene-gust{0%,100%{transform:translateX(0);opacity:.4}50%{transform:translateX(9px);opacity:1}}
@media(prefers-reduced-motion:reduce){.lesson-scene,.lesson-scene .rupi-scene,.lesson-scene .scene-deco,.scene-sun,.scene-sun:after,.scene-moon,.scene-star,.scene-cloud,.scene-bird,.scene-rain,.scene-bolt,.scene-gust,.lesson-scene .rupi-scene.mood-alert,.lesson-scene .rupi-scene.mood-eager,.lesson-scene .rupi-scene.mood-happy{animation:none!important}}
@media(max-width:360px){.lesson-scene{height:118px}.rupi-scene{width:120px;height:120px}.journey-character{height:110px}}

/* Acesso às Rotas */
.routes-gate{position:relative;display:grid;justify-items:center;overflow:hidden;gap:11px;min-height:calc(100dvh - 190px);padding:24px 18px;border:1px solid #ded4c8;border-radius:26px;background:radial-gradient(circle at 50% 8%,#fff1d2,#fff 38%,#fffaf3);text-align:center;box-shadow:0 18px 42px #2c190d18}.gate-glow{position:absolute;top:-80px;width:250px;height:250px;border:2px dashed #ef6b2d55;border-radius:50%;animation:route-spin 28s linear infinite}.routes-gate>img{z-index:1;width:146px;height:146px;object-fit:contain;filter:drop-shadow(0 12px 12px #6b3d2030);animation:rupi-bob 2.2s ease-in-out infinite}.routes-gate>span{color:#d65114;font-size:9px;font-weight:950;letter-spacing:.15em}.routes-gate h1{max-width:300px;margin:0;font-size:28px;line-height:1.04}.routes-gate>p{max-width:310px;margin:0;color:#67605a;font-size:13px;line-height:1.45}.gate-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin-top:4px}.gate-benefits article{display:grid;justify-items:center;gap:3px;padding:10px 5px;border:1px solid #e2d9cf;border-radius:14px;background:#fff}.gate-benefits i{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#fff0e7;color:#d85214;font-style:normal;font-weight:900}.gate-benefits b{font-size:9px}.gate-benefits small{color:#7b746c;font-size:7px;line-height:1.25}.gate-badges{display:flex;align-items:center;justify-content:center;gap:5px;margin:3px 0}.gate-badges i{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#d9d4cd;color:#fff;font-style:normal;font-size:11px;box-shadow:inset 0 0 0 3px #fff8}.gate-badges span{margin-left:3px;color:#726a63;font-size:8px}.routes-gate>button{width:100%;min-height:50px;border:0;border-radius:15px;background:linear-gradient(135deg,#f16b28,#d84a08);color:#fff;font:900 11px system-ui;box-shadow:0 10px 20px #e45a2438}.routes-gate .gate-login{min-height:43px;background:transparent;color:#413a34;border:1px solid #d6cdc2;box-shadow:none}.gate-note{color:#8a827a;font-size:8px}html[data-theme="dark"] .routes-gate{background:radial-gradient(circle at 50% 8%,#4a2a17,#222 40%);color:#f5f1eb;border-color:#514a43}html[data-theme="dark"] .routes-gate>p,html[data-theme="dark"] .gate-badges span{color:#c8c0b6}html[data-theme="dark"] .gate-benefits article{background:#292725;border-color:#514a43}html[data-theme="dark"] .routes-gate .gate-login{color:#f5f1eb;border-color:#625b53}@media(prefers-reduced-motion:reduce){.gate-glow,.routes-gate>img{animation:none!important}}
.next-mission{display:grid;gap:6px;margin-bottom:2px;padding:14px;border:1px solid #f0b889;border-radius:20px;background:linear-gradient(135deg,#fff5eb,#fffdf9);box-shadow:0 10px 24px #8f34000d}.next-mission>span{display:block;color:#a7430b;font-size:9px;font-weight:950;letter-spacing:.13em}.next-mission-body{display:flex;align-items:center;gap:12px;min-width:0}.next-mission-body>i{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#ffb25e,#e85d04);color:#fff;font-size:24px;font-style:normal;box-shadow:0 6px 14px #e85d0433}.next-mission-body>div{display:grid;gap:2px;min-width:0}.next-mission-body strong{font-size:16px;line-height:1.15}.next-mission-body em{color:#57504a;font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-mission-body .mini-progress{height:6px;margin-top:5px}.next-mission-body>div>b{font-size:10px;color:#6a6259}.next-mission-body>button{flex:0 0 auto;border:0;border-radius:12px;padding:11px 15px;background:linear-gradient(135deg,#ed6a28,#c94408);color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 16px #e95f1c38}.next-mission-body>button:active{transform:scale(.96)}html[data-theme="dark"] .next-mission{border-color:#76533a;background:linear-gradient(135deg,#34251b,#222)}html[data-theme="dark"] .next-mission>span{color:#ffb27c}html[data-theme="dark"] .next-mission-body em{color:#c7c0b8}html[data-theme="dark"] .next-mission-body>div>b{color:#c7c0b8}@media(max-width:380px){.next-mission-body{flex-wrap:wrap}.next-mission-body>button{width:100%}}
/* Legibilidade: rotas com textos e botões maiores */
.journey-kicker,.routes-heading span,.badge-shelf>span,.future-routes>span{font-size:12px}
.journey-hero h1{font-size:33px}.journey-hero p{font-size:15px}
.journey-hero{gap:14px}.journey-hero .roti-tip{font-size:13px}
.grade-medal{min-height:112px}.grade-medal small{font-size:12px}.grade-medal b{font-size:15px}.grade-medal span{font-size:13px}
.journey-progress>div:first-child{font-size:14px}.progress-track,.mini-progress,.lesson-progress{height:9px}
.journey-stats small{font-size:12px}.journey-stats b{font-size:22px}.journey-stats i{font-size:12px}
.daily-mission{padding:18px 17px;gap:6px}.daily-mission>span{font-size:13px}.daily-mission h2{font-size:26px}.daily-mission p{font-size:15px}.daily-mission button{font-size:15px;padding:15px 22px}
.lesson-teach-text{font-size:16px!important;line-height:1.6}
.continue-route{grid-template-columns:52px minmax(0,1fr) auto;gap:12px}.continue-route>i{width:52px;height:52px;font:28px Georgia}.continue-route small{font-size:12px}.continue-route strong{font-size:16px}.continue-route em{font-size:13px}.continue-route>b{font-size:13px}
.routes-heading h2,.badge-shelf h2,.future-routes h2{font-size:23px}
.mission-card{grid-template-columns:34px 62px minmax(0,1fr) 20px;gap:12px;padding:15px 12px 15px 10px}.map-marker{width:34px;height:34px;font-size:13px}.mission-icon{width:62px;height:62px;font:34px Georgia}
.mission-copy small{font-size:13px}.mission-copy strong{font-size:18px}.mission-copy em{font-size:14px}.mission-copy>b{font-size:13px}.mini-progress{height:8px}.mission-arrow{font-size:28px}
.badge>i{width:60px;height:60px;font:28px Georgia}.badge strong{font-size:13px}.badge span{font-size:12px}
.future-routes article strong{font-size:14px}.future-routes article p{font-size:13px}.future-routes article>b{font-size:11px}
.route-disclosure{font-size:13px}
.next-event>span{font-size:12px}.next-event .event-head>span{font-size:12px}.next-event .event-head h2{font-size:24px}.next-event .event-head p{font-size:13px}.event-date{width:64px;height:64px}.event-date b{font-size:26px}.event-date i{font-size:12px}.event-copy strong{font-size:16px}.event-copy p{font-size:13px}.event-copy em{font-size:12px}.event-actions a{font-size:13px;padding:13px}
.lesson-top small{font-size:12px}.lesson-top strong{font-size:14px}.lesson-top>span{font-size:12px}.lesson-count b{font-size:12px}
.lesson-eyebrow{font-size:12px}
.lesson-card h1{font-size:30px}
.lesson-summary{font-size:15px;line-height:1.5}
.lesson-card li{font-size:15px;line-height:1.5}
.route-checkpoint>strong{font-size:15px}.route-checkpoint button{min-height:54px;font-size:14px}.route-checkpoint small{font-size:12px}
.lesson-action{min-height:56px;font:900 14px system-ui}.lesson-install-note{font-size:12px}
.lesson-warning{font-size:12px}
.lesson-controls button{min-height:56px;font:900 14px system-ui}
.lesson-later{font-size:14px}
.lesson-done{font-size:14px}
.route-celebration h1{font-size:34px}.route-celebration>span{font-size:12px}.route-celebration p{font-size:14px}.route-celebration>strong{font-size:12px}.route-celebration button{min-height:58px;font:900 15px system-ui}
.journey-profile-head small{font-size:12px}.journey-profile-head h2{font-size:21px}.journey-profile-head p{font-size:13px}.journey-profile-head button{font-size:13px;padding:11px 14px}
.profile-badges .badge>i{font-size:22px}.profile-badges .badge span{font-size:12px}
.routes-gate>span{font-size:12px}.routes-gate h1{font-size:32px}.routes-gate>p{font-size:16px}.gate-benefits b{font-size:12px}.gate-benefits small{font-size:10px}.gate-badges span{font-size:11px}.routes-gate>button{min-height:56px;font:900 14px system-ui}.routes-gate .gate-login{min-height:52px;font-size:14px}.gate-note{font-size:11px}
.next-mission{padding:16px}.next-mission>span{font-size:13px}.next-mission-body{flex-wrap:wrap;gap:13px}.next-mission-body>i{width:62px;height:62px;font-size:31px}.next-mission-body strong{font-size:21px}.next-mission-body em{font-size:15px}.next-mission-body>div>b{font-size:14px}.next-mission-body .mini-progress{height:9px}.next-mission-body>button{font-size:16px;padding:15px 20px;width:100%}
