:root{
  --ink:#17313f;
  --muted:#6a7480;
  --cream:#fff8ef;
  --paper:#fffdf9;
  --coral:#ff6e6b;
  --hot:#ff4f88;
  --purple:#7b3aa8;
  --deep-purple:#5e2b83;
  --teal:#0eaa9c;
  --teal-dark:#087f77;
  --aqua:#67d7cc;
  --mango:#f7b733;
  --green:#2db47b;
  --shadow:0 14px 34px rgba(88,45,88,.14);
  --soft-shadow:0 8px 20px rgba(44,50,60,.09);
  --radius:24px;
}
*{box-sizing:border-box}
html{background:#f6efe8;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;background:linear-gradient(180deg,#fff8f0 0%,#f8f0ea 100%);min-height:100vh}
button,input{font:inherit}
button{cursor:pointer}
.app-shell{max-width:780px;margin:0 auto;min-height:100vh;background:var(--cream);position:relative;padding-bottom:94px;box-shadow:0 0 60px rgba(55,31,63,.08)}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(255,248,239,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(42,48,55,.06)}
.brand-mini{border:0;background:transparent;display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:850;font-size:18px;padding:6px 0}
.brand-sun{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--mango),#ffdf7b);box-shadow:0 5px 12px rgba(247,183,51,.25)}
.top-actions{display:flex;gap:8px;align-items:center}.icon-btn{border:0;background:#fff;border-radius:14px;width:42px;height:42px;box-shadow:var(--soft-shadow);color:var(--ink);font-size:18px}.pill{border:0;border-radius:999px;padding:10px 14px;font-weight:800}.pill.subtle{background:#fff;color:var(--purple);box-shadow:var(--soft-shadow)}
.screen{display:none;padding:0 14px 24px}.screen.active{display:block}
.hero{position:relative;margin:10px 0 16px;border-radius:32px;overflow:hidden;min-height:440px;background:linear-gradient(145deg,var(--coral),var(--hot) 42%,var(--purple));box-shadow:var(--shadow)}
.hero-bg{position:absolute;inset:0;background:url('assets/hero-LOCKED-v45.png') center/cover no-repeat;filter:saturate(1.05) contrast(1.01)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,20,53,.60) 0%,rgba(45,20,53,.36) 34%,rgba(45,20,53,.10) 58%,rgba(45,20,53,0) 78%),linear-gradient(180deg,rgba(25,13,33,.05),rgba(25,13,33,.22) 75%,rgba(25,13,33,.40))}
.hero-content{position:absolute;left:0;bottom:0;width:min(62%,520px);padding:28px 24px 24px;color:#fff;background:linear-gradient(90deg,rgba(40,18,48,.34),rgba(40,18,48,0));border-radius:0 24px 0 0}
.hero-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:900;opacity:.96;text-shadow:0 2px 12px rgba(0,0,0,.25)}.hero h1{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:54px;line-height:.92;margin:8px 0 8px;letter-spacing:-.04em;text-shadow:0 4px 18px rgba(0,0,0,.28)}.hero p{margin:0 0 18px;font-size:17px;max-width:510px;line-height:1.45;color:rgba(255,255,255,.96);text-shadow:0 2px 14px rgba(0,0,0,.24)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-small{border:0;border-radius:16px;font-weight:900}.btn-primary{padding:14px 18px;background:#fff;color:var(--deep-purple);box-shadow:0 12px 24px rgba(40,20,60,.2)}.btn-secondary{padding:14px 18px;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card,.quick-card,.topic-card,.lesson-card,.challenge-card,.search-result{background:var(--paper);border:1px solid rgba(52,49,64,.06);box-shadow:var(--soft-shadow)}
.stat-card{padding:16px;border-radius:20px}.stat-card b{font-size:26px;display:block;color:var(--purple)}.stat-card small{color:var(--muted);font-weight:650}
.section-title{display:flex;align-items:end;justify-content:space-between;margin:26px 4px 10px}.section-title h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:30px;margin:0;letter-spacing:-.02em}.section-title p{margin:0;color:var(--muted);font-size:13px}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-card{border-radius:22px;padding:18px;text-align:left;border:0;min-height:118px;position:relative;overflow:hidden}.quick-card::after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-16px;top:-18px;background:rgba(255,255,255,.22)}.quick-card .q-icon{font-size:28px;display:block;margin-bottom:10px}.quick-card b{display:block;font-size:18px}.quick-card small{color:rgba(23,49,63,.68);line-height:1.3}.quick-card.coral{background:linear-gradient(145deg,#ffd4ca,#ffc2d2)}.quick-card.purple{background:linear-gradient(145deg,#ead9ff,#d8c4ff)}.quick-card.teal{background:linear-gradient(145deg,#c8f5ee,#acf0e6)}.quick-card.mango{background:linear-gradient(145deg,#fff0ba,#ffdf89)}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:30;width:min(780px,100%);display:grid;grid-template-columns:repeat(5,1fr);padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:rgba(255,252,248,.94);backdrop-filter:blur(18px);border-top:1px solid rgba(42,48,55,.08)}.nav-item{border:0;background:transparent;color:#77808a;border-radius:16px;padding:7px 4px;display:flex;flex-direction:column;align-items:center;gap:1px;text-decoration:none}.nav-item span{font-size:22px;line-height:1.1}.nav-item small{font-size:11px;font-weight:800}.nav-item.active{color:var(--purple);background:rgba(123,58,168,.08)}
.learn-toolbar{display:flex;gap:8px;overflow:auto;padding:12px 2px 8px;scrollbar-width:none}.learn-toolbar::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid rgba(42,48,55,.08);background:#fff;border-radius:999px;padding:10px 13px;font-size:13px;font-weight:850;color:var(--ink)}.chip.active{background:var(--ink);color:#fff}.chip.voice{background:#e9faf7;color:var(--teal-dark)}
.deck-meta{display:flex;align-items:center;justify-content:space-between;margin:6px 4px 10px;color:var(--muted);font-size:13px;font-weight:700}.deck-wrap{touch-action:pan-y;user-select:none}.lesson-card,.challenge-card{border-radius:30px;overflow:hidden}.card-head{padding:22px;color:white;position:relative;background:linear-gradient(135deg,var(--coral),var(--hot) 50%,var(--purple))}.card-head.teal{background:linear-gradient(135deg,#0faaa0,#39c8b5)}.card-head.mango{background:linear-gradient(135deg,#f0a922,#ffc95d)}.card-head.purple{background:linear-gradient(135deg,#7c3aa8,#a94bb7)}.card-head.green{background:linear-gradient(135deg,#259e6c,#5bca93)}.card-head.coral{background:linear-gradient(135deg,#ff7a64,#ff4f83)}.card-head.sunset{background:linear-gradient(135deg,#ff7f5f,#ff4e86 50%,#8e3aa1)}
.card-count{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;opacity:.84}.card-topic{display:flex;gap:10px;align-items:center;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:31px;margin:7px 0 4px;line-height:1.05}.card-topic span{font-size:32px}.card-note{margin:0 0 11px;color:rgba(255,255,255,.87)}.tag-row{display:flex;gap:7px;flex-wrap:wrap}.tag{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.16);padding:6px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.card-actions{display:flex;gap:8px;padding:12px;background:linear-gradient(180deg,#fff,#fffaf6);border-bottom:1px solid rgba(45,48,55,.06);align-items:center;overflow:auto}.action-btn{border:0;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 5px 13px rgba(35,40,48,.07);font-weight:850;color:var(--ink);white-space:nowrap}.action-btn.primary{background:linear-gradient(135deg,var(--hot),var(--purple));color:#fff}.action-btn.on{background:#ffe4ef;color:#a22563}
.card-body{padding:4px 14px 18px;background:#fffdf9}.group-title{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8c7382;font-weight:950;margin:17px 5px 7px}.phrase-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 4px;border-bottom:1px solid rgba(42,48,55,.07);align-items:center}.phrase-row:last-child{border-bottom:0}.phrase-pt{font-size:17px;font-weight:850;color:#1d3340;line-height:1.25}.phrase-phon{font-size:13px;color:var(--teal-dark);font-weight:750;font-style:italic;margin-top:2px}.phrase-en{font-size:13px;color:#69737d;margin-top:3px}.audio-buttons{display:flex;gap:7px;align-items:center}.audio-btn{min-width:54px;height:50px;padding:4px 6px;border:0;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;box-shadow:0 5px 12px rgba(30,38,47,.1);font-size:19px;font-weight:900;transition:.15s transform,.15s filter;line-height:1}.audio-btn:active{transform:scale(.94)}.audio-btn .btn-label{font-size:10px;font-weight:900;letter-spacing:.02em;opacity:.96}.audio-btn.play{background:linear-gradient(145deg,#20b7aa,#0a8f86);color:white}.audio-btn.slow{background:linear-gradient(145deg,#ffd160,#f4a62b);color:#315646}.audio-btn.alt{background:linear-gradient(145deg,#ff7a8d,#8b3eb0);color:white}.audio-btn.playing{filter:saturate(1.35);outline:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 5px rgba(123,58,168,.16)}
.audio-svg{display:block;width:22px;height:22px}.turtle{display:block;width:24px;height:24px}.voice-icon{display:flex;align-items:center;gap:1px;font-size:12px}.audio-guide{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:4px 4px 10px;color:#705f6c}.audio-guide span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.audio-guide small{font-size:10px;color:#846f7c;text-transform:none;letter-spacing:0}.audio-guide.compact{padding-top:10px}
.deck-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 2px 0}.deck-nav button{border:0;border-radius:18px;padding:14px;font-weight:900}.deck-nav .prev{background:#fff;color:var(--ink);box-shadow:var(--soft-shadow)}.deck-nav .next{background:linear-gradient(135deg,var(--purple),var(--hot));color:#fff}.deck-nav button:disabled{opacity:.35}
.swipe-hint{text-align:center;color:#8d8990;font-size:12px;margin:10px 0 2px}.swipe-hint b{color:var(--purple)}
.topics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic-card{border-radius:22px;padding:18px;text-align:left;border:0;min-height:134px}.topic-card .emoji{font-size:30px}.topic-card h3{font-size:17px;margin:10px 0 4px}.topic-card p{margin:0;color:var(--muted);font-size:12px}.topic-card:nth-child(4n+1){background:linear-gradient(145deg,#ffe0dc,#ffd0e4)}.topic-card:nth-child(4n+2){background:linear-gradient(145deg,#e8dcff,#dac4ff)}.topic-card:nth-child(4n+3){background:linear-gradient(145deg,#d4f5ef,#bcefe7)}.topic-card:nth-child(4n+4){background:linear-gradient(145deg,#fff0bf,#ffe29a)}
.page-intro{padding:14px 4px 6px}.page-intro h1{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:40px;margin:0 0 4px}.page-intro p{margin:0;color:var(--muted);line-height:1.4}.progress-bar{height:9px;border-radius:99px;background:#eee5e5;overflow:hidden;margin:9px 0}.progress-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--coral),var(--hot),var(--purple));width:0}
.challenge-card{background:#fff}.challenge-prompt{padding:18px}.challenge-prompt h3{font-size:13px;color:var(--purple);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}.challenge-prompt .situation{font-size:20px;font-weight:820;line-height:1.35}.challenge-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.mic-btn,.reveal-btn{border:0;border-radius:16px;padding:12px 14px;font-weight:900}.mic-btn{background:linear-gradient(135deg,var(--coral),var(--purple));color:#fff}.mic-btn.recording{animation:pulse 1.1s infinite}.reveal-btn{background:#f5eef9;color:var(--purple)}@keyframes pulse{50%{transform:scale(1.03);box-shadow:0 0 0 8px rgba(255,79,136,.12)}}.answer-box{margin:0 14px 16px;padding:16px;border-radius:20px;background:linear-gradient(145deg,#fff1e6,#f6e8ff)}.answer-box .phrase-pt{font-size:20px}.recording-playback{width:100%;margin-top:10px}
.search-panel{padding:10px 0}.search-result{padding:14px;border-radius:18px;margin-bottom:9px}.search-result button{border:0;background:transparent;padding:0;text-align:left;width:100%}.search-result b{font-size:16px}.search-result small{display:block;color:var(--muted);margin-top:3px}
.empty{padding:34px 20px;text-align:center;background:#fff;border-radius:24px;box-shadow:var(--soft-shadow)}
.sheet-backdrop{position:fixed;inset:0;z-index:39;background:rgba(28,22,35,.38);backdrop-filter:blur(3px)}.sheet{position:fixed;z-index:40;left:50%;bottom:0;transform:translate(-50%,105%);transition:transform .25s ease;width:min(780px,100%);max-height:86vh;overflow:auto;background:#fffaf6;border-radius:28px 28px 0 0;padding:12px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(35,23,44,.2)}.sheet.open{transform:translate(-50%,0)}.sheet-handle{width:50px;height:5px;border-radius:999px;background:#d8cdd2;margin:2px auto 13px}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:30px;margin:4px 0 14px}.setting-block{margin:14px 0}.setting-block>label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#8b7685;font-weight:900;margin-bottom:8px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button{border:1px solid #eadfe5;background:white;border-radius:14px;padding:12px;font-weight:850}.segmented button.active{background:linear-gradient(135deg,var(--purple),var(--hot));color:white;border-color:transparent}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #eee5e8}.toggle-row span:first-child{display:flex;flex-direction:column}.toggle-row small{color:var(--muted);margin-top:2px}.switch input{display:none}.switch span{display:block;width:49px;height:28px;border-radius:999px;background:#d8ced4;position:relative;transition:.2s}.switch span::after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:white;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:.2s}.switch input:checked+span{background:linear-gradient(90deg,var(--coral),var(--purple))}.switch input:checked+span::after{transform:translateX(21px)}
.search-box{display:flex;gap:8px}.search-box input{flex:1;border:1px solid #e7dde3;background:white;border-radius:14px;padding:12px 13px;min-width:0}.search-box button{border:0;border-radius:14px;background:var(--ink);color:white;padding:0 14px;font-weight:850}.danger-link{border:0;background:transparent;color:#bc3158;font-weight:800;padding:12px 0}.tiny-note{font-size:11px;line-height:1.4;color:#8a8288}
.toast{position:fixed;z-index:55;left:50%;bottom:100px;transform:translateX(-50%);background:#203640;color:white;border-radius:999px;padding:10px 15px;font-weight:750;font-size:13px;box-shadow:0 10px 25px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}
@media(min-width:650px){.screen{padding-left:22px;padding-right:22px}.home-grid{grid-template-columns:repeat(4,1fr)}.quick-grid{grid-template-columns:repeat(4,1fr)}.topics-grid{grid-template-columns:repeat(3,1fr)}.hero{min-height:500px}.hero h1{font-size:68px}.phrase-row{grid-template-columns:minmax(0,1fr) 160px}.audio-btn{min-width:58px;height:52px}}
@media(max-width:390px){.hero{min-height:410px}.hero h1{font-size:46px}.audio-btn{min-width:50px;height:48px;padding:4px 5px}.card-topic{font-size:28px}.phrase-pt{font-size:16px}.screen{padding-left:10px;padding-right:10px}}

/* Quick translate / travel tool */

.version-badge{display:inline-block;margin-bottom:8px;padding:6px 9px;border-radius:999px;background:#fff;color:#6f2d90;font-size:10px;font-weight:950;letter-spacing:.08em;box-shadow:0 5px 15px rgba(0,0,0,.16)}

.challenge-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:950;color:#8b6682;margin-bottom:6px}
.speak-context{padding:2px 0 14px}
.situation-context{font-size:15px;line-height:1.42;color:#5e6972}
.say-this-box{padding:16px 17px;border-radius:20px;background:linear-gradient(145deg,#fff0e8,#f4e7ff);border:1px solid rgba(123,58,168,.08);box-shadow:0 7px 18px rgba(73,48,80,.07)}
.say-this-text{font-size:23px;line-height:1.28;font-weight:900;color:#1d3340}
.speak-instruction{font-size:13px;line-height:1.45;color:#717982;margin:13px 2px 0}

.quick-card.fav-home{background:linear-gradient(145deg,#ffe1ec,#ead8ff)}
.quick-card.challenge-home{background:linear-gradient(145deg,#dff5ff,#d9e4ff)}
.resume-challenge-card,.favourites-home-card{margin:14px 0;padding:16px 17px;border-radius:24px;background:#fff;box-shadow:var(--soft-shadow);border:1px solid rgba(60,48,70,.06);display:flex;align-items:center;justify-content:space-between;gap:14px}
.resume-challenge-card h3,.favourites-home-card h3{margin:2px 0 4px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:23px}.resume-challenge-card p,.favourites-home-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.resume-challenge-card button,.favourites-home-card button{border:0;border-radius:15px;padding:11px 13px;background:linear-gradient(135deg,var(--purple),var(--hot));color:white;font-weight:900;white-space:nowrap}.favourites-home-card>div{display:flex;align-items:center;gap:12px}.heart-big{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffe4ee;color:#d83268;font-size:23px;flex:0 0 auto}
.challenge-jumpbar{margin:8px 0 12px;padding:13px 14px;border-radius:20px;background:linear-gradient(145deg,#fff3eb,#f5ebff);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--soft-shadow)}.challenge-jumpbar>div:first-child{display:flex;flex-direction:column}.challenge-jumpbar small{color:var(--muted);margin-top:2px;font-size:11px}.challenge-jump-controls{display:flex;align-items:center;gap:6px}.challenge-jump-controls label{font-size:11px;font-weight:900;color:#795f73}.challenge-jump-controls input{width:64px;border:1px solid #dfd5df;background:white;border-radius:12px;padding:9px 8px;text-align:center;font-weight:850;color:var(--ink)}.challenge-jump-controls button{border:0;border-radius:12px;padding:9px 11px;background:var(--ink);color:white;font-weight:900}
@media(max-width:520px){.hero-content{width:68%;padding:23px 18px 20px}.hero h1{font-size:45px}.hero p{font-size:14px}.resume-challenge-card,.favourites-home-card{align-items:flex-start;flex-direction:column}.resume-challenge-card button,.favourites-home-card button{width:100%}.challenge-jumpbar{align-items:flex-start;flex-direction:column}.challenge-jump-controls{width:100%}.challenge-jump-controls input{flex:1}.bottom-nav{grid-template-columns:repeat(5,1fr)}}

/* V6: clearer learning colours + mobile hero + tap feedback + money tool */
:root{--speak:#2878d0;--speak-dark:#185aa5;--phonetic:#6f3aa8}
.hero-bg{background-image:url('assets/hero-LOCKED-v45.png')}
.phrase-phon,.translate-phon{color:var(--phonetic)!important}
.audio-btn.play,.translate-play{background:linear-gradient(145deg,#3d8ee7,var(--speak-dark))!important;color:#fff}
.quick-mic{background:#edf5ff!important;color:var(--speak-dark)!important}
.mic-btn{background:linear-gradient(135deg,#3d8ee7,var(--speak-dark))!important;color:#fff}
.audio-btn.slow{background:linear-gradient(145deg,#ffd160,#f4a62b)!important;color:#315646}
.audio-btn.alt{background:linear-gradient(145deg,#ff7a8d,#d24578)!important;color:#fff}
.phrase-row{transition:background .18s ease,box-shadow .18s ease,transform .18s ease;border-radius:14px}
.phrase-row .phrase-pt{transition:font-size .18s ease,color .18s ease,transform .18s ease}
.phrase-row.tap-feedback{background:#fff0f4;box-shadow:0 0 0 2px rgba(255,79,136,.17);transform:translateY(-1px)}
.phrase-row.tap-feedback .phrase-pt{font-size:21px;color:#c52e68;transform:scale(1.02);transform-origin:left center}
.answer-box.tap-feedback{box-shadow:0 0 0 3px rgba(40,120,208,.14)}
.quick-card.money-home{background:linear-gradient(145deg,#e4f4ff,#dce8ff)}
.money-intro{padding-top:16px}.back-home{border:0;background:#fff;border-radius:999px;padding:9px 12px;font-weight:850;color:var(--ink);box-shadow:var(--soft-shadow);margin-bottom:14px}
.fx-card{background:#fff;border-radius:28px;padding:18px;box-shadow:var(--shadow);border:1px solid rgba(51,56,68,.06)}
.fx-pair-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}.fx-field label,.fx-amount>label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#8b7485;margin-bottom:6px}.fx-field select{width:100%;border:1px solid #e3dbe1;background:#fff;border-radius:14px;padding:12px 10px;color:var(--ink);font-weight:800}.fx-swap{width:44px;height:44px;border:0;border-radius:50%;background:linear-gradient(145deg,#3d8ee7,var(--speak-dark));color:#fff;font-size:22px;font-weight:900;box-shadow:0 7px 18px rgba(40,120,208,.22)}
.fx-amount{margin-top:16px}.fx-amount>div{display:flex;align-items:center;border:1px solid #e3dbe1;background:#fff;border-radius:16px;overflow:hidden}.fx-amount span{padding-left:14px;font-size:18px;font-weight:900;color:var(--purple)}.fx-amount input{min-width:0;flex:1;border:0;outline:0;padding:13px 14px;font-size:24px;font-weight:900;color:var(--ink);background:transparent}
.fx-result{margin-top:14px;border-radius:22px;padding:18px;background:linear-gradient(145deg,#eff8ff,#f4eeff);text-align:center;min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center}.fx-big{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:36px;color:var(--deep-purple);font-weight:800}.fx-rate{font-weight:850;color:var(--ink);margin-top:3px}.fx-result small{color:var(--muted);margin-top:4px}.fx-loading{color:var(--muted);font-weight:800}.fx-result>b{font-size:18px}.fx-result>b+small{display:block}
.fx-refresh{width:100%;margin-top:10px;border:0;border-radius:15px;padding:12px;background:#edf5ff;color:var(--speak-dark);font-weight:900}.fx-note{font-size:11px;color:#847d84;line-height:1.4;margin:10px 2px 0}.fx-cheats{margin:18px 0}.fx-cheats h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0 0 10px;font-size:26px}.fx-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fx-quick-grid button{border:0;border-radius:18px;background:#fff;padding:13px;text-align:left;box-shadow:var(--soft-shadow);color:var(--ink)}.fx-quick-grid b,.fx-quick-grid span{display:block}.fx-quick-grid b{font-size:15px}.fx-quick-grid span{font-size:12px;color:var(--purple);font-weight:800;margin-top:3px}
@media(max-width:520px){
  .hero{display:block;min-height:0;background:#fff;border-radius:28px;overflow:hidden}
  .hero-bg{position:relative;inset:auto;width:100%;aspect-ratio:1600/930;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#f9d5c5}
  .hero-overlay{display:none}
  .hero-content{position:relative;left:auto;bottom:auto;width:100%;padding:18px 18px 20px;color:var(--ink);background:linear-gradient(180deg,#fffdf9,#fff5f5);border-radius:0}
  .hero-kicker{color:#9b4c71;text-shadow:none}.hero h1{color:var(--deep-purple);text-shadow:none;font-size:43px;margin-top:6px}.hero p{color:#5e6670;text-shadow:none;font-size:14px;margin-bottom:15px}
  .btn-primary{background:linear-gradient(135deg,var(--hot),var(--purple));color:white}.btn-secondary{background:#fff;color:var(--purple);border:1px solid #eadce8;box-shadow:var(--soft-shadow)}
  .version-badge{background:#fff0f6;color:#a43269;box-shadow:none}
  .phrase-row.tap-feedback .phrase-pt{font-size:20px}
  .fx-pair-row{grid-template-columns:1fr auto 1fr;gap:7px}.fx-field select{font-size:12px;padding:11px 7px}.fx-swap{width:40px;height:40px}.fx-big{font-size:31px}
}


/* V7: full-scene hero, travel clock/weather, bottom card playback, karaoke highlight */
.quick-card.clock-home{background:linear-gradient(145deg,#e8efff,#e2dcff)}
.quick-card.weather-home{background:linear-gradient(145deg,#dff7f4,#dff0ff)}
.card-play-footer{margin:14px 12px 16px;padding:15px;border-radius:20px;background:linear-gradient(145deg,#eef6ff,#fff4e6);display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(50,60,80,.06)}
.card-play-footer>div:first-child{display:flex;flex-direction:column}.card-play-footer b{font-size:14px}.card-play-footer small{color:var(--muted);margin-top:2px;line-height:1.35}.card-play-footer>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.phrase-row.phrase-speaking{background:#edf6ff;box-shadow:0 0 0 2px rgba(40,120,208,.14)}
.spoken-word{border-radius:5px;padding:0 1px;transition:background .08s ease,color .08s ease,box-shadow .08s ease}
.spoken-word.word-speaking{background:#ffe56a;color:#182f3b;box-shadow:0 0 0 2px rgba(247,183,51,.22)}
.time-card,.weather-card{background:#fff;border-radius:28px;padding:18px;box-shadow:var(--shadow);border:1px solid rgba(51,56,68,.06);margin-bottom:18px}
.time-select label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#8b7485;margin-bottom:6px}.time-select select{width:100%;border:1px solid #e3dbe1;background:#fff;border-radius:14px;padding:12px 10px;color:var(--ink);font-weight:800}
.dual-clock{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.clock-panel{border-radius:21px;padding:16px;background:linear-gradient(145deg,#f0f8ff,#f5efff)}.clock-panel.other{background:linear-gradient(145deg,#fff3e6,#fff0f4)}.clock-panel span,.clock-panel b{display:block}.clock-panel span{font-size:12px;color:var(--muted);font-weight:850}.clock-panel b{margin-top:7px;font-size:19px;line-height:1.25;color:var(--deep-purple)}
.call-window{margin-top:18px}.call-window h2,.tide-panel h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0 0 3px;font-size:25px}.call-window>p{margin:0 0 10px;color:var(--muted);font-size:12px}.call-slot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:11px 12px;border-radius:15px;background:#f8f7fb;margin-bottom:7px;font-size:12px}.call-slot span:last-child{text-align:right}.call-slot b{color:var(--teal-dark)}
.weather-status{margin-top:14px}.weather-now{display:flex;align-items:center;gap:15px;padding:14px;border-radius:22px;background:linear-gradient(145deg,#fff4dc,#eef9ff)}.weather-big{font-size:27px;white-space:nowrap}.weather-big b{font-size:36px;color:var(--deep-purple)}.weather-now h2{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:27px}.weather-now p{margin:3px 0 0;color:var(--muted);font-size:12px}.marine-mini{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.marine-mini>div{padding:13px;border-radius:17px;background:#edf8f7}.marine-mini span,.marine-mini b{display:block}.marine-mini span{font-size:11px;color:var(--muted);font-weight:850}.marine-mini b{font-size:20px;margin-top:3px;color:var(--teal-dark)}
.forecast-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:12px;overflow:auto}.forecast-day{padding:10px 7px;border-radius:15px;background:#faf7f3;text-align:center;min-width:72px}.forecast-day span,.forecast-day strong,.forecast-day small{display:block}.forecast-day span{font-size:18px}.forecast-day span b{font-size:10px;margin-left:2px}.forecast-day strong{font-size:13px;margin-top:4px}.forecast-day small{font-size:9px;color:var(--muted);margin-top:2px}
.tide-panel{margin-top:17px}.tide-row{display:grid;grid-template-columns:80px 1fr;gap:4px 10px;padding:10px 11px;border-bottom:1px solid #eee7ec}.tide-row span{font-size:12px;font-weight:900}.tide-row b{text-align:right;font-size:12px}.tide-row small{grid-column:1/-1;color:var(--muted);font-size:10px}.marine-warning,.data-credit{font-size:10px!important;color:#817981!important;line-height:1.4}.data-credit{text-align:center;margin:14px 0 0}
@media(max-width:520px){
  .hero-bg{aspect-ratio:1678/937;background-size:cover;background-position:center}
  .card-play-footer{align-items:flex-start;flex-direction:column}.card-play-footer>div:last-child{width:100%;justify-content:stretch}.card-play-footer .action-btn{flex:1}
  .dual-clock{grid-template-columns:1fr}.forecast-strip{grid-template-columns:repeat(5,80px)}
}


/* V8 — exact selected hero image, always fully visible */
.hero.hero-exact{
  min-height:0;
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.hero-exact-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  background:#fff2ec;
}

.travel-toolbox{
  margin:16px 0;
  padding:18px;
  border-radius:28px;
  background:linear-gradient(145deg,#eefaf7,#fff8e9 48%,#f7efff);
  border:1px solid rgba(55,75,78,.06);
  box-shadow:var(--soft-shadow);
}
.travel-toolbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.travel-toolbox-head h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:28px;line-height:1;margin:3px 0 5px;color:var(--deep-purple)}
.travel-toolbox-head p{margin:0;color:var(--muted);font-size:13px}
.travel-pin{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--teal-dark);font-size:24px;box-shadow:var(--soft-shadow)}
.directions-box{background:rgba(255,255,255,.82);padding:14px;border-radius:20px;border:1px solid rgba(55,65,70,.06)}
.directions-box>label{display:block;font-size:12px;font-weight:900;color:#6b5d68;margin-bottom:7px}
.directions-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
.directions-row input,.directions-row select{border:1px solid #e4dbe0;background:white;border-radius:14px;padding:12px;min-width:0;color:var(--ink)}
.directions-row button{border:0;border-radius:14px;padding:0 14px;background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:white;font-weight:900}
.directions-box small{display:block;margin-top:7px;color:#7b7d82;font-size:11px;line-height:1.35}
.travel-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}
.travel-link{border:0;border-radius:18px;background:white;padding:12px;box-shadow:0 5px 14px rgba(35,40,48,.06);display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;color:var(--ink)}
.travel-link>span{font-size:22px}.travel-link div{min-width:0}.travel-link b{display:block;font-size:13px}.travel-link small{display:block;color:var(--muted);font-size:10px;line-height:1.25;margin-top:2px}.travel-link strong{font-size:24px;font-weight:500;color:#8c7686}
.wise-link{background:linear-gradient(145deg,#eafaf0,#fff)}.pix-link{background:linear-gradient(145deg,#fff1c9,#fff)}.map-link{background:linear-gradient(145deg,#e8f3ff,#fff)}
.travel-privacy{margin:9px 2px 0;color:#8a858a;font-size:10px;line-height:1.35}

@media(max-width:520px){
  .hero.hero-exact{border-radius:24px}
  .hero-exact-img{width:100%;height:auto;object-fit:contain;object-position:center}
    .directions-row{grid-template-columns:1fr}
  .directions-row button{padding:12px 14px}
  .travel-link-grid{grid-template-columns:1fr}
}

.hero.hero-exact .hero-bg,.hero.hero-exact .hero-overlay,.hero.hero-exact .hero-content{display:none!important}


/* ================= V9 compact home ================= */
.compact-home-hero{margin-bottom:8px}
.home-resume-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 12px;padding:10px 12px;border-radius:18px;background:#fff;box-shadow:var(--soft-shadow);border:1px solid rgba(45,50,60,.06)}
.home-resume-strip div{min-width:0;display:grid;gap:1px}.home-resume-strip b{font-size:15px;color:var(--ink)}.home-resume-strip small{font-size:10px;color:var(--muted)}
.home-resume-strip button{border:0;border-radius:14px;padding:10px 13px;background:linear-gradient(135deg,var(--hot),var(--purple));color:#fff;font-weight:900;white-space:nowrap}
.compact-home-title{margin:9px 3px 7px}.compact-home-title h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:23px;margin:0}.compact-home-title p{font-size:11px;color:var(--muted);margin:1px 0 0}
.tools-intro,.contacts-intro{padding-top:10px}.back-chip{border:0;border-radius:999px;background:#fff;padding:8px 11px;box-shadow:var(--soft-shadow);font-weight:850;color:var(--purple);margin-bottom:8px}
.compact-tool-section{margin-top:10px}.v9-links{grid-template-columns:repeat(2,1fr)}.contacts-link{background:linear-gradient(145deg,#f1e9ff,#fff)}

/* ================= V9 Brazil contacts ================= */
.contact-form-card{background:#fff;border-radius:26px;padding:16px;box-shadow:var(--soft-shadow);border:1px solid rgba(45,50,60,.06)}
.contact-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.contact-form-head h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:27px;margin:2px 0 10px}.paste-btn{border:0;border-radius:13px;background:#edf7ff;color:#27668d;padding:9px 10px;font-size:11px;font-weight:900}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.contact-form-grid label{display:grid;gap:4px}.contact-form-grid label.wide{grid-column:1/-1}.contact-form-grid label span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#87727f;font-weight:900}.contact-form-grid input,.contact-form-grid select,.contact-form-grid textarea{width:100%;border:1px solid #e6dce2;background:#fffdfa;border-radius:13px;padding:11px;color:var(--ink);resize:vertical}
.save-contact-btn{width:100%;margin-top:10px;border:0;border-radius:15px;padding:12px;background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:white;font-weight:900}.contact-share-note{font-size:10px;color:#817b80;line-height:1.4;margin:9px 2px 0}
.contacts-list-head{display:flex;justify-content:space-between;align-items:center;margin:18px 3px 8px}.contacts-list-head h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:26px;margin:0}.contacts-list-head span{background:#eee4f5;color:var(--purple);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}
.contacts-list{display:grid;gap:10px}.saved-contact{background:#fff;border-radius:20px;padding:14px;box-shadow:var(--soft-shadow);border:1px solid rgba(45,50,60,.06)}.saved-contact-top{display:flex;justify-content:space-between;gap:10px}.saved-contact h3{font-size:18px;margin:3px 0}.saved-contact p{font-size:12px;color:var(--muted);margin:0;line-height:1.35}.contact-category{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--purple);font-weight:900}.delete-contact{border:0;background:#fff1f4;color:#a63358;border-radius:11px;width:34px;height:34px}.contact-notes{font-size:11px;color:#65717b;background:#faf6f4;border-radius:12px;padding:9px;margin-top:9px;line-height:1.35}.contact-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.contact-actions button{border:0;border-radius:12px;padding:9px 10px;background:#edf5ff;color:#315a75;font-size:11px;font-weight:900}.contact-actions button:first-child{background:#e6f8ed;color:#157043}.contact-empty{box-shadow:none;border:1px dashed #ded4da}

@media(max-width:520px){
  .compact-home-hero .hero-exact-img{width:100%;height:auto;object-fit:contain}
  .screen#screen-home{padding-left:8px;padding-right:8px}
  .compact-choice-grid{gap:6px}.compact-choice{min-height:66px;padding:7px 4px}.compact-choice span{font-size:19px}.compact-choice b{font-size:11px}.compact-choice small{font-size:8px}
  .contact-form-grid{grid-template-columns:1fr}.contact-form-grid label.wide{grid-column:auto}
  .v9-links{grid-template-columns:1fr}
}


/* ================= V10 cleaner home ================= */
.v10-hero{
  width:94%;
  margin:8px auto 7px;
}
.v10-hero .hero-exact-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.v10-resume{
  width:94%;
  margin:0 auto 9px;
  padding:8px 11px;
}
.v10-main-grid{
  width:94%;
  margin:0 auto;
}
.v10-main-grid .compact-choice{
  min-height:64px;
}
.home-search-line{
  width:94%;
  margin:7px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.search-line-btn{
  border:0;
  border-radius:16px;
  min-height:54px;
  padding:8px 10px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  text-align:left;
  color:var(--ink);
  box-shadow:0 4px 11px rgba(35,40,48,.05);
}
.search-line-btn.translate{background:linear-gradient(145deg,#e5faf4,#f8fffd)}
.search-line-btn.topics{background:linear-gradient(145deg,#f1e8ff,#fbf9ff)}
.search-line-btn>span{font-size:19px}
.search-line-btn div{min-width:0}
.search-line-btn b{display:block;font-size:11px}
.search-line-btn small{display:block;font-size:8.5px;color:var(--muted);margin-top:1px;line-height:1.15}
.search-line-btn strong{font-size:20px;font-weight:500;color:#8a7584}

.v10-mini-tools{
  width:94%;
  margin:7px auto 0;
}
.travel-tools-wide{
  width:94%;
  margin:7px auto 7px;
  border:0;
  border-radius:17px;
  min-height:52px;
  padding:9px 12px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  text-align:left;
  color:var(--ink);
  background:linear-gradient(135deg,#e7f3ff 0%,#f4eeff 52%,#fff4df 100%);
  box-shadow:var(--soft-shadow);
}
.travel-tools-wide-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#fff;
  font-size:18px;
}
.travel-tools-wide-copy b{display:block;font-size:13px}
.travel-tools-wide-copy small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.travel-tools-wide>strong{font-size:23px;color:#7e6a7a;font-weight:500}

/* Remove the old heading space completely on the home screen. */
#screen-home .compact-home-title{display:none!important}

@media(max-width:520px){
  .v10-hero,.v10-resume,.v10-main-grid,.home-search-line,.v10-mini-tools,.travel-tools-wide{width:96%}
  .v10-hero{margin-top:5px}
  .v10-main-grid .compact-choice{min-height:59px}
  .home-search-line{grid-template-columns:1fr 1fr}
  .search-line-btn{min-height:50px;padding:7px 8px}
  .travel-tools-wide{margin-bottom:3px}
}


/* ================= V11 travel-first bottom bar ================= */
.travel-bottom-nav{
  grid-template-columns:repeat(5,1fr);
  gap:2px;
  padding-top:7px;
}
.travel-bottom-nav .nav-item{
  padding:6px 2px;
  min-width:0;
}
.travel-bottom-nav .nav-item span{
  font-size:19px;
}
.travel-bottom-nav .nav-item small{
  font-size:9px;
  white-space:nowrap;
}
.travel-bottom-nav .nav-item:nth-child(1){color:#176c86}
.travel-bottom-nav .nav-item:nth-child(2){color:#6f3aa0}
.travel-bottom-nav .nav-item:nth-child(3){color:#14845c}
.travel-bottom-nav .nav-item:nth-child(4){color:#c58a13}
.travel-bottom-nav .nav-item:nth-child(5){color:#a94268}
.travel-bottom-nav .nav-item:active{
  transform:scale(.96);
  background:rgba(123,58,168,.06);
}
@media(max-width:390px){
  .travel-bottom-nav .nav-item small{font-size:8px}
  .travel-bottom-nav .nav-item span{font-size:18px}
}


/* ================= V12 — no Home duplicates; all tiles uniform ================= */
.v12-hero{
  width:92%;
  margin:6px auto 7px;
}
.v12-resume{
  width:92%;
  margin:0 auto 8px;
}
.home-uniform-grid{
  width:92%;
  margin:0 auto 8px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.home-tile{
  min-width:0;
  height:68px;
  border:0;
  border-radius:16px;
  padding:7px 4px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 4px 12px rgba(35,40,48,.06);
  color:var(--ink);
}
.home-tile span{font-size:19px;line-height:1}
.home-tile b{font-size:11px;line-height:1.05;margin-top:4px}
.home-tile small{font-size:8px;line-height:1.1;color:#68727b;margin-top:2px;max-width:100%}

.home-tile.learn{background:#ffe6e3}
.home-tile.study{background:#eee5ff}
.home-tile.listen{background:#ddf6f0}
.home-tile.speak{background:#e2efff}
.home-tile.fav{background:#ffe7ef}
.home-tile.challenge{background:#fff0cf}
.home-tile.topics{background:#f2eaff}
.home-tile.surprise{background:#ffe8dc}
.home-tile.rate{background:#e9f8ef}
.home-tile.clock{background:#e9f2ff}
.home-tile.weather{background:#fff2cb}
.home-tile.travel{background:#e4f6f6}

/* Hide old Home layout rows if any cached markup survives briefly. */
#screen-home .home-search-line,
#screen-home .compact-travel-row,
#screen-home .travel-tools-wide,
#screen-home .compact-choice-grid{display:none!important}

@media(max-width:520px){
  .v12-hero,.v12-resume,.home-uniform-grid{width:96%}
  .home-uniform-grid{gap:6px}
  .home-tile{height:62px;border-radius:15px;padding:6px 3px}
  .home-tile span{font-size:18px}
  .home-tile b{font-size:10.5px}
  .home-tile small{font-size:7.5px}
}


/* ================= V13 front screen cleanup ================= */
.home-tile.questions{background:#eef8ff}
.home-tile.weather b{font-size:10px}
.home-tile.weather small{font-size:7.5px}
@media(max-width:520px){
  .home-tile.weather b{font-size:9.5px}
  .home-tile.weather small{font-size:7px}
}

.home-tile.sympla{background:linear-gradient(145deg,#fff0dc,#ffe2ef)}


/* ================= V15 larger bottom tabs ================= */
.travel-bottom-nav{
  min-height:70px;
  align-items:stretch;
  padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));
}
.travel-bottom-nav .nav-item{
  min-height:54px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding:7px 2px;
}
.travel-bottom-nav .nav-item span{
  font-size:21px;
  line-height:1;
}
.travel-bottom-nav .nav-item small{
  font-size:9.5px;
  line-height:1.05;
}
@media(max-width:520px){
  .travel-bottom-nav{min-height:68px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));}
  .travel-bottom-nav .nav-item{min-height:52px;}
}
@media(max-width:390px){
  .travel-bottom-nav .nav-item span{font-size:19px}
  .travel-bottom-nav .nav-item small{font-size:8px}
}


/* ================= V16 grouped home + larger labels ================= */
.v16-hero{
  width:92%;
  margin:5px auto 6px;
}
.v16-resume{
  width:92%;
  margin:0 auto 7px;
}

.home-button-group{
  width:92%;
  margin:0 auto 8px;
  padding:7px 7px 8px;
  border-radius:20px;
  box-shadow:0 4px 14px rgba(35,40,48,.045);
}
.language-group{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,239,255,.82));
  border:1px solid rgba(111,58,160,.08);
}
.explore-group{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(236,248,244,.9));
  border:1px solid rgba(20,132,92,.08);
}
.home-group-label{
  height:24px;
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:0 3px 4px;
}
.home-group-label span{
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--purple);
}
.explore-group .home-group-label span{color:#16805d}
.home-group-label b{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  color:var(--ink);
}
.home-button-group .home-uniform-grid{
  width:100%;
  margin:0;
  gap:7px;
}
.home-button-group .home-tile{
  height:70px;
}
.home-button-group .home-tile span{
  font-size:20px;
}
.home-button-group .home-tile b{
  font-size:13px;
  line-height:1.05;
  margin-top:4px;
}
.home-button-group .home-tile small{
  font-size:9px;
  line-height:1.1;
  margin-top:3px;
}
.home-button-group .home-tile.weather b{
  font-size:11.5px;
}

/* Make permanent travel controls easier to read and tap. */
.travel-bottom-nav{
  min-height:78px;
  padding:8px 7px calc(9px + env(safe-area-inset-bottom,0px));
}
.travel-bottom-nav .nav-item{
  min-height:61px;
  border-radius:16px;
  padding:8px 2px;
  gap:4px;
}
.travel-bottom-nav .nav-item span{
  font-size:24px;
}
.travel-bottom-nav .nav-item small{
  font-size:10.5px;
  font-weight:800;
  line-height:1.05;
}

@media(max-width:520px){
  .v16-hero,.v16-resume,.home-button-group{width:96%}
  .home-button-group{padding:6px 6px 7px;margin-bottom:7px}
  .home-group-label{height:22px;padding-bottom:3px}
  .home-group-label b{font-size:15px}
  .home-button-group .home-uniform-grid{gap:6px}
  .home-button-group .home-tile{height:66px}
  .home-button-group .home-tile b{font-size:12.5px}
  .home-button-group .home-tile small{font-size:8.5px}
  .home-button-group .home-tile.weather b{font-size:11px}

  .travel-bottom-nav{
    min-height:76px;
    padding-top:8px;
    padding-bottom:calc(9px + env(safe-area-inset-bottom,0px));
  }
  .travel-bottom-nav .nav-item{min-height:59px}
  .travel-bottom-nav .nav-item span{font-size:23px}
  .travel-bottom-nav .nav-item small{font-size:10px}
}
@media(max-width:390px){
  .travel-bottom-nav .nav-item span{font-size:21px}
  .travel-bottom-nav .nav-item small{font-size:9px}
}


/* ================= V17 Home in permanent bottom bar ================= */
.travel-bottom-nav{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.travel-bottom-nav .nav-item{
  min-width:0;
  padding-left:1px;
  padding-right:1px;
}
.travel-bottom-nav .nav-item small{
  font-size:9.5px;
}
.travel-bottom-nav .nav-item:nth-child(1){color:#4f5963}
.travel-bottom-nav .nav-item:nth-child(2){color:#176c86}
.travel-bottom-nav .nav-item:nth-child(3){color:#6f3aa0}
.travel-bottom-nav .nav-item:nth-child(4){color:#14845c}
.travel-bottom-nav .nav-item:nth-child(5){color:#c58a13}
.travel-bottom-nav .nav-item:nth-child(6){color:#a94268}

@media(max-width:390px){
  .travel-bottom-nav .nav-item small{font-size:8.3px}
  .travel-bottom-nav .nav-item span{font-size:20px}
}


/* ================= V18 section jump + checkbox Master ================= */
.section-jump{
  margin:8px 0 9px;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(150px,1.45fr) minmax(0,.8fr);
  align-items:stretch;
  gap:6px;
  background:#fff;
  border:1px solid rgba(58,48,68,.08);
  border-radius:18px;
  padding:7px;
  box-shadow:0 4px 13px rgba(35,40,48,.045);
}
.section-edge{
  border:0;
  border-radius:13px;
  padding:7px 7px;
  min-width:0;
  background:#f6f1f7;
  color:#5d4567;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-weight:850;
}
.section-edge span{font-size:18px;flex:0 0 auto}
.section-edge small{
  display:block;
  min-width:0;
  font-size:8px;
  line-height:1.12;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.section-edge:disabled{opacity:.36}
.section-picker{
  min-width:0;
  background:linear-gradient(145deg,#f6ecff,#eef9f7);
  border-radius:13px;
  padding:5px 8px 6px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}
.section-picker small{
  font-size:7.5px;
  letter-spacing:.09em;
  font-weight:900;
  color:#80698a;
}
.section-picker select{
  width:100%;
  min-width:0;
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:11px;
  font-weight:900;
  outline:none;
  padding:1px 18px 1px 0;
}

.master-check{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  padding-left:10px!important;
  padding-right:12px!important;
}
.master-box{
  width:20px;
  height:20px;
  border:2px solid #7b6684;
  border-radius:5px;
  display:inline-grid;
  place-items:center;
  background:#fff;
  color:#fff;
  font-size:14px;
  font-weight:1000;
  line-height:1;
  flex:0 0 auto;
}
.master-check.on .master-box{
  background:var(--teal);
  border-color:var(--teal);
  color:#fff;
}
.master-check:not(.on){
  background:#fff!important;
  border:1px solid #d9ccd9!important;
}
.master-check:not(.on):hover .master-box{
  border-color:var(--purple);
}

@media(max-width:520px){
  .section-jump{
    grid-template-columns:65px minmax(0,1fr) 65px;
    gap:5px;
    padding:6px;
    margin-top:7px;
  }
  .section-edge{padding:6px 4px}
  .section-edge small{display:none}
  .section-edge span{font-size:20px}
  .section-picker{padding:5px 7px}
  .section-picker select{font-size:10.5px}
  .master-check{font-size:11px!important}
  .master-box{width:21px;height:21px}
}


/* ================= V19 typography cleanup ================= */
/* One clean app family throughout. Inter is preferred; the phone's native sans-serif is the fallback. */
:root{
  --app-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html,body,button,input,select,textarea{
  font-family:var(--app-font);
}
h1,h2,h3,h4,h5,h6,
.page-intro h1,
.section-title h2,
.card-topic,
.quick-translate-head h2,
.travel-toolbox-head h2,
.contact-form-head h2,
.contacts-list-head h2,
.fx-cheats h2,
.call-window h2,
.tide-panel h2,
.weather-now h2,
.home-group-label b{
  font-family:var(--app-font)!important;
  letter-spacing:-.02em;
}
h1,.page-intro h1{font-weight:850}
h2,h3,.section-title h2,.quick-translate-head h2,.travel-toolbox-head h2{font-weight:800}
.card-topic{font-weight:800}
.home-group-label b{font-weight:800}
.hero h1{font-family:var(--app-font)!important;font-weight:900}

/* Keep labels readable and consistent. */
button,.home-tile b,.travel-bottom-nav .nav-item small{
  font-family:var(--app-font);
}


/* ================= V20 simple phrase pop — no karaoke tracking ================= */
/* No word-by-word tracking, yellow highlighting or automatic scrolling. */
.spoken-word,
.spoken-word.word-speaking{
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}

/* Keep the row itself fixed in place. */
.phrase-row,
.phrase-row.tap-feedback,
.phrase-row.phrase-speaking{
  transform:none!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Tap/play makes only the complete Portuguese word or phrase pop visually.
   Transform does not change document flow, so nearby rows do not jump. */
.phrase-row .phrase-pt{
  display:inline-block;
  position:relative;
  z-index:1;
  transform:none;
  transform-origin:left center;
  transition:transform .16s ease,color .16s ease,box-shadow .16s ease,background .16s ease;
  border-radius:10px;
}

.phrase-row.tap-feedback .phrase-pt,
.phrase-row.phrase-speaking .phrase-pt{
  font-size:17px!important;
  transform:scale(1.075)!important;
  transform-origin:left center!important;
  color:#7b3aa8!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(62,47,76,.14)!important;
  padding:3px 7px!important;
}

/* Playback stays popped for the duration; a manual tap gives the same feedback.
   Details do not collapse in normal Learn mode anymore. */
.phrase-row.phrase-speaking .phrase-pt{
  z-index:4;
}

@media(max-width:520px){
  .phrase-row.tap-feedback .phrase-pt,
  .phrase-row.phrase-speaking .phrase-pt{
    font-size:17px!important;
    transform:scale(1.06)!important;
  }
}


/* ================= V21 — Contacts on Home, 5 larger bottom tabs ================= */
.home-tile.contacts{
  background:linear-gradient(145deg,#ffe6ef,#f5ecff);
}

/* Five bottom tabs now have more width and can be comfortably larger. */
.travel-bottom-nav{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  min-height:84px;
  padding:9px 10px calc(10px + env(safe-area-inset-bottom,0px));
  gap:4px;
}
.travel-bottom-nav .nav-item{
  min-height:66px;
  border-radius:17px;
  padding:9px 3px;
  gap:5px;
}
.travel-bottom-nav .nav-item span{
  font-size:27px;
  line-height:1;
}
.travel-bottom-nav .nav-item small{
  font-size:11.5px;
  font-weight:850;
  line-height:1.05;
}

/* Correct the colour positions after removing Contacts from the bar. */
.travel-bottom-nav .nav-item:nth-child(1){color:#4f5963}
.travel-bottom-nav .nav-item:nth-child(2){color:#176c86}
.travel-bottom-nav .nav-item:nth-child(3){color:#6f3aa0}
.travel-bottom-nav .nav-item:nth-child(4){color:#14845c}
.travel-bottom-nav .nav-item:nth-child(5){color:#c58a13}

@media(max-width:520px){
  .travel-bottom-nav{
    min-height:82px;
    padding:9px 8px calc(10px + env(safe-area-inset-bottom,0px));
  }
  .travel-bottom-nav .nav-item{min-height:64px}
  .travel-bottom-nav .nav-item span{font-size:26px}
  .travel-bottom-nav .nav-item small{font-size:11px}
}
@media(max-width:390px){
  .travel-bottom-nav .nav-item span{font-size:24px}
  .travel-bottom-nav .nav-item small{font-size:10px}
}


/* ================= V22 Favourites + Mastered summary ================= */
.home-tile.saved-summary small{
  display:block;
  white-space:nowrap;
  font-size:8.5px;
}
.home-tile.saved-summary small strong{
  font-size:9.5px;
  font-weight:900;
  color:#7a3158;
}
@media(max-width:390px){
  .home-tile.saved-summary small{font-size:7.8px}
  .home-tile.saved-summary small strong{font-size:8.8px}
}


/* ================= V23: four large bottom tabs + camera ================= */
.travel-bottom-nav{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  min-height:88px;
  padding:9px 12px calc(10px + env(safe-area-inset-bottom,0px));
  gap:6px;
}
.travel-bottom-nav .nav-item{
  min-height:69px;
  border-radius:18px;
  padding:9px 4px;
  gap:5px;
}
.travel-bottom-nav .nav-item span{
  font-size:29px;
  line-height:1;
}
.travel-bottom-nav .nav-item small{
  font-size:12px;
  font-weight:850;
}
.travel-bottom-nav .nav-item:nth-child(1){color:#4f5963}
.travel-bottom-nav .nav-item:nth-child(2){color:#176c86}
.travel-bottom-nav .nav-item:nth-child(3){color:#6f3aa0}
.travel-bottom-nav .nav-item:nth-child(4){color:#14845c}

.camera-capture-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.camera-top-btn{font-size:18px!important}

.camera-preview{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(20,24,30,.64);
  backdrop-filter:blur(5px);
}
.camera-preview[hidden]{display:none!important}
.camera-preview-card{
  width:min(94vw,520px);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border-radius:22px;
  padding:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.camera-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.camera-preview-head>div{display:grid;gap:2px}
.camera-preview-head b{font-size:17px}
.camera-preview-card img{
  display:block;
  width:100%;
  max-height:58vh;
  object-fit:contain;
  border-radius:16px;
  background:#f4f1f2;
}
.camera-preview-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.camera-preview-actions button{
  border:0;
  border-radius:14px;
  min-height:44px;
  font-weight:850;
}
#retakeCameraPhoto{background:#edf4ff;color:#315b76}
#closeCameraPhoto{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff}
.camera-preview-card>small{
  display:block;
  margin:9px 2px 1px;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}

@media(max-width:520px){
  .travel-bottom-nav{
    min-height:86px;
    padding:9px 10px calc(10px + env(safe-area-inset-bottom,0px));
  }
  .travel-bottom-nav .nav-item{min-height:67px}
  .travel-bottom-nav .nav-item span{font-size:28px}
  .travel-bottom-nav .nav-item small{font-size:11.5px}
}


/* ================= V24 themes ================= */
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.theme-options button{min-width:0;min-height:74px;border:1px solid #e2d7e2;border-radius:15px;background:#fff;padding:8px 5px;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.theme-options button>span{font-size:20px;line-height:1}.theme-options button>b{font-size:11px;margin-top:4px}.theme-options button>small{font-size:7.5px;color:var(--muted);line-height:1.15;margin-top:2px}.theme-options button.active{outline:3px solid var(--purple);outline-offset:1px}
body.theme-slate{--ink:#102b36;--muted:#536a73;--purple:#24566b;--hot:#29738b;--teal:#1d8790;--teal-dark:#14636b;--cream:#edf3f4;background:#e9f0f2}
body.theme-slate .topbar{background:rgba(238,244,246,.96)}body.theme-slate .brand-sun{color:#1d8790}
body.theme-slate .home-tile.learn,body.theme-slate .home-tile.speak{background:#dcebf0}body.theme-slate .home-tile.study,body.theme-slate .home-tile.topics{background:#e1e8ed}body.theme-slate .home-tile.listen,body.theme-slate .home-tile.clock{background:#d8efec}body.theme-slate .home-tile.fav,body.theme-slate .home-tile.contacts{background:#e6edf0}body.theme-slate .home-tile.challenge,body.theme-slate .home-tile.rate{background:#e8f1e9}body.theme-slate .home-tile.sympla,body.theme-slate .home-tile.weather{background:#e9eee5}
body.theme-slate .language-group,body.theme-slate .explore-group{background:#f7fafb;border-color:#cbd9dd}body.theme-slate .travel-bottom-nav{background:rgba(246,249,250,.98)}body.theme-slate .travel-bottom-nav .nav-item:nth-child(n){color:#24566b}
body.theme-lowvision{--ink:#000;--muted:#111;--purple:#0037ff;--hot:#a8001d;--teal:#006b3c;--teal-dark:#004d2b;--cream:#fff;background:#fff;font-size:19px}
body.theme-lowvision .topbar,body.theme-lowvision .bottom-nav,body.theme-lowvision .home-button-group,body.theme-lowvision .home-resume-strip,body.theme-lowvision .card-shell,body.theme-lowvision .contact-form-card,body.theme-lowvision .saved-contact,body.theme-lowvision .quick-translate,body.theme-lowvision .travel-toolbox{background:#fff!important;border:2px solid #000!important;box-shadow:none!important}
body.theme-lowvision .home-tile{background:#fff!important;border:2px solid #000!important;color:#000!important;height:82px!important}body.theme-lowvision .home-tile b{font-size:17px!important}body.theme-lowvision .home-tile small{font-size:13px!important;color:#000!important}body.theme-lowvision .home-group-label b{font-size:20px!important}body.theme-lowvision .home-group-label span{font-size:11px!important;color:#000!important}body.theme-lowvision .phrase-pt{font-size:22px!important;font-weight:900!important;color:#000!important}body.theme-lowvision .phrase-phon{font-size:18px!important;color:#0037ff!important;font-weight:800!important}body.theme-lowvision .phrase-en{font-size:18px!important;color:#000!important}body.theme-lowvision button,body.theme-lowvision input,body.theme-lowvision select,body.theme-lowvision textarea{font-size:17px!important;border-width:2px!important}body.theme-lowvision .travel-bottom-nav{min-height:104px!important}body.theme-lowvision .travel-bottom-nav .nav-item{min-height:82px!important;color:#000!important;border:2px solid #000!important;background:#fff!important}body.theme-lowvision .travel-bottom-nav .nav-item span{font-size:34px!important}body.theme-lowvision .travel-bottom-nav .nav-item small{font-size:15px!important;color:#000!important}body.theme-lowvision .theme-options button{border:2px solid #000!important}body.theme-lowvision .theme-options button.active{outline:4px solid #0037ff}
.camera-ocr-panel{margin-top:10px;display:grid;gap:8px}.extract-text-btn{min-height:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#e6efff,#efe6ff);color:#3e4164;font-weight:900}.extract-text-btn:disabled{opacity:.55}.camera-ocr-status{padding:8px 10px;border-radius:12px;background:#f7f3f5;color:#5f5960;font-size:10px;line-height:1.35}#cameraExtractedText{width:100%;border:1px solid #d9cfd6;border-radius:13px;padding:10px;background:#fff;color:var(--ink);resize:vertical;font:inherit}.camera-text-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.camera-text-actions button{min-height:42px;border:0;border-radius:13px;font-weight:850}#copyCameraText{background:#edf4ff;color:#315b76}#translateCameraText{background:linear-gradient(135deg,var(--purple),var(--hot));color:#fff}
@media(max-width:520px){.theme-options{grid-template-columns:1fr}.theme-options button{min-height:58px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;column-gap:8px}.theme-options button>span{grid-row:1/3}.theme-options button>b{margin:0;font-size:12px}.theme-options button>small{margin:0;font-size:8px}}


/* ================= V25 Uber + Topics in course strip ================= */
.resume-course-copy{
  min-width:0;
  display:grid;
  gap:1px;
}
.resume-course-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.resume-course-actions .resume-topics-btn{
  background:#f1ebf7!important;
  color:#664377!important;
  border:1px solid #decfe7!important;
  box-shadow:none!important;
}
.home-tile.uber{
  background:linear-gradient(145deg,#e5edf0,#f4f7f8);
}
body.theme-slate .home-tile.uber{
  background:#d9e5e9;
}
body.theme-lowvision .home-tile.uber{
  background:#fff!important;
  border:2px solid #000!important;
}

@media(max-width:520px){
  .resume-course-actions{
    gap:5px;
  }
  .resume-course-actions button{
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:10px!important;
  }
  .resume-course-actions .resume-topics-btn{
    min-width:auto!important;
  }
}


/* ================= V26 Travel Log ================= */
.journey-log-bar{
  margin:0 0 7px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
  align-items:stretch;
}
.journey-log-main,
.journey-track-toggle{
  border:0;
  border-radius:15px;
  min-height:48px;
}
.journey-log-main{
  background:#eef5f7;
  color:var(--ink);
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 10px;
  text-align:left;
}
.journey-log-main>div{display:grid;gap:1px}
.journey-log-main b{font-size:12px}
.journey-log-main small{font-size:8.5px;color:var(--muted)}
.journey-dot,.travel-live-dot{
  width:10px;height:10px;border-radius:50%;
  background:#8f9aa0;
  box-shadow:0 0 0 4px rgba(143,154,160,.12);
  flex:0 0 auto;
}
.journey-track-toggle{
  min-width:66px;
  padding:7px 10px;
  background:#dfecef;
  color:#1d5e6b;
  font-size:11px;
  font-weight:900;
}
.journey-log-bar.tracking-on .journey-dot,
.travel-log-status.on .travel-live-dot{
  background:#16a36f;
  box-shadow:0 0 0 4px rgba(22,163,111,.16);
}
.journey-log-bar.tracking-on .journey-track-toggle{
  background:#ffe4e7;
  color:#a22d45;
}

.travel-log-status{
  background:#fff;
  border:1px solid #e0d8dd;
  border-radius:20px;
  padding:13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  box-shadow:var(--soft-shadow);
}
.travel-status-copy{display:flex;align-items:center;gap:10px;min-width:0}
.travel-status-copy>div{display:grid;gap:2px}
.travel-status-copy b{font-size:15px}
.travel-status-copy small{font-size:9px;color:var(--muted);line-height:1.25}
.travel-log-status>button{
  border:0;border-radius:14px;padding:11px 13px;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:#fff;font-weight:900;white-space:nowrap;
}
.travel-log-status.on>button{background:#b74256}

.travel-log-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:10px 0;
}
.travel-log-stats>div{
  background:#fff;border:1px solid #ece4e7;border-radius:16px;
  padding:11px 7px;text-align:center;box-shadow:0 4px 12px rgba(35,40,48,.04);
}
.travel-log-stats b{display:block;font-size:17px}
.travel-log-stats small{display:block;font-size:8px;color:var(--muted);margin-top:2px}

.travel-log-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.travel-log-actions button{
  border:0;border-radius:14px;min-height:42px;padding:7px;
  background:#edf4ff;color:#315b76;font-size:9.5px;font-weight:900;
}
.travel-log-actions .danger-soft{background:#fff0f2;color:#a23850}
.travel-log-actions button:disabled{opacity:.4}

.travel-log-note{
  margin:10px 0;
  padding:11px 12px;
  border-radius:16px;
  background:#fff7df;
  border:1px solid #f1dfab;
}
.travel-log-note b{font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.travel-log-note p{font-size:9px;line-height:1.35;color:#665d48;margin:4px 0 0}

.travel-days-head h2{margin:14px 2px 7px;font-size:18px}
.travel-days{display:grid;gap:7px}
.travel-day-card{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  background:#fff;border:1px solid #ece4e7;border-radius:15px;
  padding:11px 12px;
}
.travel-day-card>div:first-child{display:grid;gap:2px}
.travel-day-card b{font-size:12px}
.travel-day-card small{font-size:8.5px;color:var(--muted)}
.travel-day-times{font-size:9px;color:#5b6670;white-space:nowrap}
.travel-empty{border:1px dashed #d8cfd4;box-shadow:none}

body.theme-slate .journey-log-main{background:#dbe8eb}
body.theme-slate .journey-track-toggle{background:#d2e3e7}
body.theme-lowvision .journey-log-main,
body.theme-lowvision .journey-track-toggle,
body.theme-lowvision .travel-log-status,
body.theme-lowvision .travel-log-stats>div,
body.theme-lowvision .travel-day-card,
body.theme-lowvision .travel-log-note{
  background:#fff!important;border:2px solid #000!important;color:#000!important;
}
body.theme-lowvision .journey-log-main b,
body.theme-lowvision .travel-status-copy b{font-size:18px!important}
body.theme-lowvision .journey-log-main small,
body.theme-lowvision .travel-status-copy small,
body.theme-lowvision .travel-log-stats small,
body.theme-lowvision .travel-day-card small,
body.theme-lowvision .travel-log-note p{font-size:13px!important;color:#000!important}

@media(max-width:520px){
  .journey-log-bar{gap:6px}
  .journey-log-main,.journey-track-toggle{min-height:45px}
  .travel-log-actions{grid-template-columns:1fr 1fr}
  .travel-log-actions button:first-child{grid-column:1/-1}
}


/* ================= V27 step counter ================= */
.travel-log-stats{
  grid-template-columns:repeat(4,1fr);
}
.travel-log-stats>div:first-child{
  background:linear-gradient(145deg,#e8f7ef,#f8fffb);
}
.travel-log-stats>div:first-child b{
  color:#147255;
}
body.theme-slate .travel-log-stats>div:first-child{
  background:#e0ecea;
}
body.theme-lowvision .travel-log-stats>div:first-child{
  background:#fff!important;
}
@media(max-width:520px){
  .travel-log-stats{
    grid-template-columns:repeat(2,1fr);
  }
}


/* ================= V28 simple feature screens ================= */
.simple-feature-intro{
  padding-top:12px;
}
.simple-feature-card{
  margin-top:10px;
}
#screen-translate .quick-translate,
#screen-directions .travel-toolbox{
  margin-bottom:20px;
}

/* ================= V28 two clear Home colour families ================= */
/* LANGUAGE = coral */
body.theme-original .language-group{
  background:linear-gradient(145deg,#fff7f4,#fff0eb)!important;
  border-color:#f2c9bd!important;
}
body.theme-original .language-group .home-group-label span,
body.theme-original .language-group .home-group-label b{
  color:#a8473d!important;
}
body.theme-original .language-group .home-tile{
  background:#f7c8bd!important;
  color:#54231f!important;
  border:1px solid #edb3a5!important;
}
body.theme-original .language-group .home-tile small,
body.theme-original .language-group .home-tile small strong{
  color:#6b312b!important;
}

/* EXPLORE & TRAVEL = purple */
body.theme-original .explore-group{
  background:linear-gradient(145deg,#fbf7ff,#f3ebff)!important;
  border-color:#d7c0ed!important;
}
body.theme-original .explore-group .home-group-label span,
body.theme-original .explore-group .home-group-label b{
  color:#70419a!important;
}
body.theme-original .explore-group .home-tile{
  background:#d9c2ed!important;
  color:#3f2456!important;
  border:1px solid #c8a9e2!important;
}
body.theme-original .explore-group .home-tile small,
body.theme-original .explore-group .home-tile small strong{
  color:#53346a!important;
}
body.theme-original .explore-group .journey-log-main{
  background:#e3d4f1!important;
  color:#44265c!important;
}
body.theme-original .explore-group .journey-track-toggle{
  background:#cdb1e5!important;
  color:#49245f!important;
}
body.theme-original .explore-group .journey-log-bar.tracking-on .journey-track-toggle{
  background:#f5ccd0!important;
  color:#8c3244!important;
}

/* Keep the direct bottom actions visually tied to their functions. */
body.theme-original #screen-translate .quick-translate{
  border:1px solid #e4b9e9;
  background:#fbf6ff;
}
body.theme-original #screen-directions .travel-toolbox{
  border:1px solid #efc8bd;
  background:#fff8f5;
}


/* ================= V29 Google shortcut ================= */
.google-top-btn{
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:-.03em;
}
body.theme-slate .google-top-btn{
  color:#24566b!important;
}
body.theme-lowvision .google-top-btn{
  color:#000!important;
  border:2px solid #000!important;
}


/* ================= V30 faster OCR ================= */
.ocr-language-toggle{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
}
.ocr-language-toggle button{
  border:1px solid #ddd0df;
  border-radius:11px;
  min-height:34px;
  background:#fff;
  color:#66556d;
  font-size:9px;
  font-weight:850;
}
.ocr-language-toggle button.active{
  background:#6f3aa0;
  color:#fff;
  border-color:#6f3aa0;
}
.camera-ocr-status{
  min-height:32px;
  display:flex;
  align-items:center;
}
.camera-ocr-status[hidden]{display:none!important}

/* ================= V30 themed surrounds + ombré navigation ================= */
body.theme-original{
  background:linear-gradient(180deg,#fffaf7 0%,#fbf4fb 52%,#f6eefb 100%)!important;
}
body.theme-original .home-resume-strip{
  background:linear-gradient(135deg,#fff0e9 0%,#f4e3f6 100%)!important;
  border:1px solid #e8c5dc!important;
}
body.theme-original .language-group{
  background:linear-gradient(145deg,#fff0eb 0%,#f8d4ca 100%)!important;
  border-color:#efb6a7!important;
}
body.theme-original .explore-group{
  background:linear-gradient(145deg,#f8f0ff 0%,#e5d1f5 100%)!important;
  border-color:#cca9e7!important;
}
body.theme-original .quick-translate,
body.theme-original .travel-toolbox,
body.theme-original .contact-form-card,
body.theme-original .saved-contact,
body.theme-original .travel-log-status,
body.theme-original .travel-log-stats>div,
body.theme-original .travel-day-card,
body.theme-original .section-jump,
body.theme-original .camera-preview-card{
  background:linear-gradient(145deg,#fffdfb 0%,#f7edf8 100%)!important;
  border-color:#e4cce1!important;
}
body.theme-original .topbar{
  background:linear-gradient(180deg,rgba(255,242,236,.98),rgba(246,229,247,.97))!important;
  border-bottom:1px solid rgba(126,61,124,.13)!important;
}
body.theme-original .top-actions .icon-btn{
  background:linear-gradient(145deg,#fff7f2,#eedff2)!important;
  border:1px solid #e2c7df!important;
}

/* Coral at top to deep purple at bottom */
body.theme-original .travel-bottom-nav{
  background:linear-gradient(180deg,#f1a08f 0%,#d66f99 38%,#984ead 70%,#623580 100%)!important;
  border-top:0!important;
  box-shadow:0 -10px 28px rgba(87,44,101,.20)!important;
}
body.theme-original .travel-bottom-nav .nav-item{
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.theme-original .travel-bottom-nav .nav-item span,
body.theme-original .travel-bottom-nav .nav-item small{
  color:#fff!important;
}

/* Rio Slate equivalent */
body.theme-slate{
  background:linear-gradient(180deg,#eef5f6 0%,#e2edef 52%,#d8e6e8 100%)!important;
}
body.theme-slate .home-resume-strip,
body.theme-slate .language-group,
body.theme-slate .explore-group{
  background:linear-gradient(145deg,#f5f9fa,#dcebed)!important;
  border-color:#b9d0d5!important;
}
body.theme-slate .quick-translate,
body.theme-slate .travel-toolbox,
body.theme-slate .contact-form-card,
body.theme-slate .saved-contact,
body.theme-slate .travel-log-status,
body.theme-slate .travel-log-stats>div,
body.theme-slate .travel-day-card,
body.theme-slate .section-jump,
body.theme-slate .camera-preview-card{
  background:linear-gradient(145deg,#f9fbfb,#e4eef0)!important;
  border-color:#bfd1d5!important;
}
body.theme-slate .topbar{
  background:linear-gradient(180deg,rgba(238,246,247,.98),rgba(218,233,236,.97))!important;
}
body.theme-slate .travel-bottom-nav{
  background:linear-gradient(180deg,#62a9aa 0%,#40838c 40%,#295d6d 72%,#173645 100%)!important;
  border-top:0!important;
  box-shadow:0 -10px 28px rgba(20,57,70,.20)!important;
}
body.theme-slate .travel-bottom-nav .nav-item{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.20)!important;
}
body.theme-slate .travel-bottom-nav .nav-item span,
body.theme-slate .travel-bottom-nav .nav-item small{
  color:#fff!important;
}

/* Low Vision stays flat and high contrast */
body.theme-lowvision .travel-bottom-nav{
  background:#fff!important;
  border-top:3px solid #000!important;
  box-shadow:none!important;
}
body.theme-lowvision .travel-bottom-nav .nav-item{
  background:#fff!important;
  color:#000!important;
}


/* ================= V31 working Speak recorder ================= */
.recording-box{
  margin-top:10px;
  min-height:38px;
}
.recording-ready{
  display:block;
  padding:9px 11px;
  border-radius:12px;
  background:rgba(255,255,255,.62);
  color:var(--muted);
  font-size:9px;
}
#recordBtn.recording{
  background:#b33952!important;
  color:#fff!important;
  box-shadow:0 0 0 4px rgba(179,57,82,.12)!important;
}
.recording-live{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border-radius:15px;
  background:#fff0f2;
  border:1px solid #efbdc6;
  color:#7b2638;
}
.recording-live>div{
  display:grid;
  gap:2px;
}
.recording-live b{
  font-size:12px;
}
.recording-live small{
  font-size:9px;
  color:#7b5961;
}
.recording-pulse{
  width:13px;
  height:13px;
  flex:0 0 auto;
  border-radius:50%;
  background:#c42f4e;
  box-shadow:0 0 0 0 rgba(196,47,78,.45);
  animation:recordPulse 1.15s infinite;
}
@keyframes recordPulse{
  0%{box-shadow:0 0 0 0 rgba(196,47,78,.40)}
  70%{box-shadow:0 0 0 9px rgba(196,47,78,0)}
  100%{box-shadow:0 0 0 0 rgba(196,47,78,0)}
}
.recording-message{
  padding:10px 11px;
  border-radius:13px;
  font-size:9.5px;
  line-height:1.35;
  background:#f2edf5;
  color:#5d4a64;
}
.recording-message.working{
  background:#fff6df;
  color:#675a38;
}
.recording-message.error{
  background:#fff0f2;
  color:#8b2f43;
  border:1px solid #efc0c9;
}
.my-recording-card{
  padding:11px;
  border-radius:16px;
  background:linear-gradient(145deg,#fff8f5,#f3e8f6);
  border:1px solid #e6c9df;
  display:grid;
  gap:9px;
}
.my-recording-head{
  display:flex;
  align-items:center;
  gap:8px;
}
.my-recording-head>span{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#dff2e7;
  color:#19734d;
  font-weight:900;
}
.my-recording-head>div{
  display:grid;
  gap:1px;
}
.my-recording-head b{
  font-size:12px;
}
.my-recording-head small{
  font-size:8.5px;
  color:var(--muted);
}
.my-recording-card audio{
  width:100%;
  min-height:42px;
}
.my-recording-actions{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:6px;
}
.my-recording-actions button{
  border:0;
  border-radius:11px;
  min-height:38px;
  padding:7px 8px;
  font-size:9px;
  font-weight:850;
}
#playMyRecording{
  background:#e8efff;
  color:#38557b;
}
#recordAgain{
  background:#f2e4f5;
  color:#714278;
}
#deleteMyRecording{
  background:#fff0f2;
  color:#9a354b;
}
body.theme-slate .my-recording-card{
  background:linear-gradient(145deg,#f5fafb,#dfecef);
  border-color:#bed1d6;
}
body.theme-lowvision .recording-live,
body.theme-lowvision .recording-message,
body.theme-lowvision .my-recording-card,
body.theme-lowvision .recording-ready{
  background:#fff!important;
  border:2px solid #000!important;
  color:#000!important;
}
body.theme-lowvision .my-recording-actions button{
  border:2px solid #000!important;
  background:#fff!important;
  color:#000!important;
}
@media(max-width:520px){
  .my-recording-actions{
    grid-template-columns:1fr 1fr;
  }
  #deleteMyRecording{
    grid-column:1/-1;
  }
}


/* ================= V33 no-jump phrase tap/listen ================= */
/*
   Previous pop styling added padding to .phrase-pt while active.
   On wrapped/long phrases that changed row height and pushed the page.
   V33 keeps the exact same document dimensions at all times.
*/
.phrase-row,
.phrase-row.tap-feedback,
.phrase-row.phrase-speaking{
  transform:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

.phrase-row .phrase-pt{
  display:inline-block!important;
  position:relative!important;
  z-index:1;
  padding:0!important;
  margin:0!important;
  font-size:17px!important;
  line-height:inherit!important;
  transform:none;
  transform-origin:left center!important;
  will-change:transform;
}

/* Visual pop only: transform + outline/shadow never changes layout size. */
.phrase-row.tap-feedback .phrase-pt,
.phrase-row.phrase-speaking .phrase-pt{
  padding:0!important;
  margin:0!important;
  font-size:17px!important;
  line-height:inherit!important;
  transform:scale(1.055)!important;
  color:#7b3aa8!important;
  background:#fff!important;
  box-shadow:
    0 0 0 5px rgba(255,255,255,.96),
    0 7px 18px rgba(62,47,76,.14)!important;
  border-radius:8px!important;
}

/* Give the visual pop room to paint without changing row measurements. */
.phrase-row{
  overflow:visible!important;
}
.phrase-text,
.card-body{
  overflow:visible!important;
}

body.theme-slate .phrase-row.tap-feedback .phrase-pt,
body.theme-slate .phrase-row.phrase-speaking .phrase-pt{
  color:#24566b!important;
  box-shadow:
    0 0 0 5px rgba(248,252,252,.98),
    0 7px 18px rgba(30,76,88,.13)!important;
}

body.theme-lowvision .phrase-row.tap-feedback .phrase-pt,
body.theme-lowvision .phrase-row.phrase-speaking .phrase-pt{
  color:#000!important;
  background:#fff!important;
  box-shadow:0 0 0 4px #000!important;
}

@media(max-width:520px){
  .phrase-row.tap-feedback .phrase-pt,
  .phrase-row.phrase-speaking .phrase-pt{
    padding:0!important;
    margin:0!important;
    font-size:17px!important;
    transform:scale(1.04)!important;
  }
}


/* ================= V35 hard fix: absolutely no layout movement on listening ================= */

/* Disable browser scroll anchoring inside the lesson card.
   This prevents mobile browsers from trying to "helpfully" move the page
   when the tapped/audio state changes. */
#deckWrap,
.lesson-card,
.card-body,
.phrase-row,
.phrase-text{
  overflow-anchor:none!important;
}

/* No scale, translate, font-size, line-height, padding or margin changes at all.
   Listening/tap feedback is colour + outline/shadow only. */
.phrase-row,
.phrase-row.tap-feedback,
.phrase-row.phrase-speaking{
  transform:none!important;
  margin:0!important;
}

.phrase-row .phrase-pt,
.phrase-row.tap-feedback .phrase-pt,
.phrase-row.phrase-speaking .phrase-pt{
  transform:none!important;
  padding:0!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.25!important;
  border-radius:0!important;
}

/* The whole phrase still visibly highlights, but its measured size never changes. */
.phrase-row.tap-feedback,
.phrase-row.phrase-speaking{
  background:rgba(244,226,248,.72)!important;
  box-shadow:inset 4px 0 0 #8b45aa!important;
}

.phrase-row.tap-feedback .phrase-pt,
.phrase-row.phrase-speaking .phrase-pt{
  color:#7a3998!important;
  background:transparent!important;
  box-shadow:none!important;
  font-weight:900!important;
}

body.theme-slate .phrase-row.tap-feedback,
body.theme-slate .phrase-row.phrase-speaking{
  background:rgba(214,233,237,.78)!important;
  box-shadow:inset 4px 0 0 #2d7180!important;
}
body.theme-slate .phrase-row.tap-feedback .phrase-pt,
body.theme-slate .phrase-row.phrase-speaking .phrase-pt{
  color:#24566b!important;
}

body.theme-lowvision .phrase-row.tap-feedback,
body.theme-lowvision .phrase-row.phrase-speaking{
  background:#fff!important;
  box-shadow:inset 5px 0 0 #000!important;
  outline:2px solid #000!important;
}
body.theme-lowvision .phrase-row.tap-feedback .phrase-pt,
body.theme-lowvision .phrase-row.phrase-speaking .phrase-pt{
  color:#000!important;
}

/* Prevent the pressed audio button itself from becoming a scroll anchor. */
.audio-btn{
  overflow-anchor:none!important;
  touch-action:manipulation;
}




/* ================= V39 cleanup build ================= */

/* Five language choices: 3 across, then two balanced wider tiles. */
.language-group .home-uniform-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.language-group .home-tile{
  grid-column:span 2;
}
.language-group .home-tile:nth-child(4),
.language-group .home-tile:nth-child(5){
  grid-column:span 3;
}

/* Top utilities are intentionally quieter than the main navigation. */
.top-actions{
  gap:5px!important;
}
.top-actions .icon-btn{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:12px!important;
  box-shadow:none!important;
  opacity:.88;
}
.google-top-btn{
  font-size:15px!important;
}

/* Cleaner settings sheet. */
.sheet-head h2{
  font-size:22px!important;
}
.app-version-stamp{
  margin-bottom:0!important;
}

/* Camera copy is simple and task-focused. */
.camera-preview-card>small{
  font-size:9px!important;
  line-height:1.35!important;
}

/* Keep the app icon/brand treatment consistent. */
.brand-mini{
  font-weight:900!important;
}

/* Low vision keeps its deliberately stronger sizing. */
body.theme-lowvision .top-actions .icon-btn{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  opacity:1;
}

@media(max-width:420px){
  .language-group .home-tile:nth-child(4),
  .language-group .home-tile:nth-child(5){
    min-height:74px;
  }
}


/* ================= V40 share-to-saved-places ================= */
.saved-places-strip{
  width:100%;
  min-height:58px;
  margin:0 0 8px;
  padding:9px 11px;
  border:1px solid #dcc3e8;
  border-radius:16px;
  background:linear-gradient(135deg,#fff0ea,#eadcf7);
  color:var(--ink);
  display:grid;
  grid-template-columns:32px 1fr auto;
  align-items:center;
  gap:9px;
  text-align:left;
}
.saved-places-strip>span{font-size:22px;text-align:center}
.saved-places-strip>div{display:grid;gap:1px;min-width:0}
.saved-places-strip b{font-size:12px}
.saved-places-strip small{font-size:8.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.saved-places-strip strong{font-size:9px;color:#6f3e84;white-space:nowrap}

.saved-add-card{
  margin-top:10px;
  padding:13px;
  border-radius:18px;
  background:linear-gradient(145deg,#fffaf7,#f5eaf8);
  border:1px solid #e4cfe4;
  display:grid;
  gap:8px;
}
.saved-add-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.saved-add-head h2{margin:0;font-size:17px}
.saved-add-head button{border:0;border-radius:11px;min-height:36px;padding:7px 11px;background:#eee2f6;color:#663e7b;font-weight:900}
.saved-add-card label{display:grid;gap:4px}
.saved-add-card label span{font-size:9px;font-weight:850;color:var(--muted)}
.saved-add-card input{width:100%;min-height:42px;border:1px solid #ddd0dd;border-radius:12px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit}
.saved-add-card>button{min-height:44px;border:0;border-radius:13px;background:linear-gradient(135deg,#e99181,#9651aa);color:#fff;font-weight:900}
.saved-add-card>small{font-size:8.5px;line-height:1.35;color:var(--muted)}
.saved-list-head{display:flex;justify-content:space-between;align-items:center;margin:15px 2px 7px}
.saved-list-head h2{font-size:18px;margin:0}
.saved-list-head span{min-width:28px;height:28px;border-radius:14px;display:grid;place-items:center;background:#eee4f4;color:#6d467e;font-size:10px;font-weight:900}
.saved-links-list{display:grid;gap:8px}
.saved-link-card{padding:11px 12px;border:1px solid #e7dce4;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(53,41,55,.04)}
.saved-link-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.saved-link-top>div{min-width:0}
.saved-link-type{display:inline-block;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#8b4f75}
.saved-link-card h3{font-size:13px;margin:3px 0 1px;overflow-wrap:anywhere}
.saved-link-card p{font-size:8.5px;color:var(--muted);margin:0;overflow-wrap:anywhere}
.delete-saved-link{border:0;background:transparent;color:#9a778b;font-size:14px;padding:4px}
.saved-link-note{margin-top:8px;padding:7px 8px;border-radius:10px;background:#f8f3f7;color:#645864;font-size:8.5px;line-height:1.3;white-space:pre-wrap;max-height:70px;overflow:hidden}
.saved-link-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.saved-link-actions button{border:0;border-radius:10px;min-height:35px;padding:7px 9px;background:#eee6f5;color:#5f3c74;font-size:8.5px;font-weight:900}
.saved-link-actions button:first-child{background:#e7f2f4;color:#285f69}
body.theme-slate .saved-places-strip,body.theme-slate .saved-add-card{background:linear-gradient(145deg,#eff6f7,#dae9ec);border-color:#b9d0d5}
body.theme-slate .saved-places-strip strong{color:#24566b}
body.theme-lowvision .saved-places-strip,body.theme-lowvision .saved-add-card,body.theme-lowvision .saved-link-card,body.theme-lowvision .saved-link-actions button,body.theme-lowvision .saved-add-head button{background:#fff!important;color:#000!important;border:2px solid #000!important}
@media(max-width:420px){.saved-places-strip{grid-template-columns:30px 1fr}.saved-places-strip strong{display:none}}


/* ================= V41 hero refresh ================= */
.v16-hero{
  width:94%;
  margin:4px auto -16px;
}
.hero.hero-exact{
  border-radius:28px;
  background:linear-gradient(180deg,#fff4ef 0%,#f9eef9 100%);
}
.hero-exact-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
  filter:saturate(.88) brightness(1.06) contrast(.95);
  background:linear-gradient(180deg,#fff4ef 0%,#f9eef9 100%);
}
.home-resume-strip.v16-resume{
  position:relative;
  z-index:3;
  margin:-4px auto 7px;
  background:rgba(255,250,247,.94);
  backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(98,53,128,.10);
}
body.theme-original .home-resume-strip.v16-resume{
  background:linear-gradient(135deg,rgba(255,242,233,.95) 0%,rgba(244,227,246,.95) 100%)!important;
}
@media(max-width:520px){
  .v16-hero,.v16-resume,.home-button-group{width:96%}
  .v16-hero{margin:4px auto -14px}
  .home-resume-strip.v16-resume{margin:-2px auto 6px;padding:9px 11px}
  .home-resume-strip b{font-size:14px}
  .home-resume-strip small{font-size:9.5px}
  .home-button-group{padding:5px 5px 6px;margin-bottom:6px}
  .home-group-label{height:20px;padding:0 2px 2px}
  .home-group-label b{font-size:14px}
  .home-button-group .home-uniform-grid{gap:5px}
  .home-button-group .home-tile{height:61px}
  .home-button-group .home-tile span{font-size:18px}
  .home-button-group .home-tile b{font-size:12px;margin-top:3px}
  .home-button-group .home-tile small{font-size:8px;margin-top:2px}
  .journey-log-bar{margin:0 0 6px;gap:6px}
  .journey-log-main,.journey-track-toggle{min-height:42px}
  .journey-log-main b{font-size:11.5px}
  .journey-log-main small{font-size:8px}
  .saved-places-strip{min-height:50px;margin:0 0 7px;padding:8px 10px}
  .saved-places-strip>span{font-size:20px}
  .saved-places-strip b{font-size:11.5px}
  .saved-places-strip small{font-size:8px}
}
@media(max-width:390px){
  .v16-hero{width:97%;margin:3px auto -12px}
  .home-resume-strip.v16-resume{padding:8px 10px}
  .resume-course-actions button{padding:9px 11px}
  .home-button-group .home-tile{height:58px}
  .home-button-group .home-tile b{font-size:11.5px}
  .home-button-group .home-tile small{font-size:7.6px}
  .journey-log-main,.journey-track-toggle{min-height:40px}
  .saved-places-strip{min-height:48px}
}


/* ================= V42 tidy + mobile one-screen fit ================= */

/* One font system everywhere. */
:root{
  --app-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html,body,button,input,select,textarea,
h1,h2,h3,h4,h5,h6,
.home-group-label b,.home-tile b,.home-tile small,
.resume-course-copy,.saved-places-strip,.journey-log-bar{
  font-family:var(--app-font)!important;
}

/* Smaller, calmer top bar. */
.topbar{
  padding:8px 12px!important;
  min-height:46px;
}
.brand-mini{
  font-size:16px!important;
  gap:6px!important;
}
.brand-sun{
  width:24px!important;
  height:24px!important;
}
.top-actions{
  gap:4px!important;
}
.top-actions .icon-btn{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
}

/*
  Hero: keep the COMPLETE Rio image visible, but stop it dominating the screen.
  The blurred copy behind it fills the width and visually blends into the controls.
*/
.v16-hero{
  position:relative;
  isolation:isolate;
  width:96%!important;
  height:166px;
  margin:4px auto -10px!important;
  overflow:hidden;
  border-radius:24px!important;
  background:#f8e8ec!important;
  box-shadow:0 7px 20px rgba(87,50,99,.10)!important;
}
.v16-hero::before{
  content:"";
  position:absolute;
  inset:-12px;
  z-index:0;
  background:url('assets/hero-LOCKED-v45.png') center/cover no-repeat;
  filter:blur(12px) saturate(.72) brightness(1.13);
  opacity:.45;
  transform:scale(1.06);
}
.v16-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(255,239,235,.16),rgba(245,226,248,.24));
  pointer-events:none;
}
.v16-hero .hero-exact-img{
  position:relative;
  z-index:1;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:saturate(.82) brightness(1.07) contrast(.94)!important;
  background:transparent!important;
}

/* Course strip lightly overlaps the faded hero. */
.home-resume-strip.v16-resume{
  width:94%!important;
  min-height:46px;
  padding:7px 10px!important;
  margin:0 auto 6px!important;
  border-radius:16px!important;
}
.resume-course-copy{
  gap:0!important;
}
.resume-course-copy .eyebrow{
  font-size:7.5px!important;
}
.home-resume-strip b{
  font-size:13px!important;
  line-height:1.05!important;
}
.home-resume-strip small{
  font-size:8.5px!important;
}
.resume-course-actions{
  gap:5px!important;
}
.resume-course-actions button{
  min-height:36px!important;
  padding:7px 9px!important;
  font-size:10px!important;
  border-radius:11px!important;
}

/* Both Home groups stay compact while retaining every V40/V41 button. */
.home-button-group{
  width:94%!important;
  padding:4px 5px 5px!important;
  margin:0 auto 5px!important;
  border-radius:17px!important;
}
.home-group-label{
  height:18px!important;
  padding:0 2px 1px!important;
  gap:5px!important;
}
.home-group-label span{
  font-size:7px!important;
}
.home-group-label b{
  font-size:13px!important;
  line-height:1!important;
}
.home-button-group .home-uniform-grid{
  gap:4px!important;
}
.home-button-group .home-tile{
  height:50px!important;
  min-height:50px!important;
  border-radius:13px!important;
  padding:4px 3px!important;
}
.home-button-group .home-tile span{
  font-size:16px!important;
}
.home-button-group .home-tile b{
  font-size:10.8px!important;
  margin-top:2px!important;
}
.home-button-group .home-tile small{
  font-size:7.2px!important;
  margin-top:1px!important;
  line-height:1.02!important;
}
.home-button-group .home-tile.weather b{
  font-size:9.8px!important;
}

/* Travel Log and Saved Places stay visible but use only one compact row each. */
.journey-log-bar{
  margin:0 0 4px!important;
  gap:5px!important;
}
.journey-log-main,
.journey-track-toggle{
  min-height:40px!important;
  border-radius:12px!important;
}
.journey-log-main{
  padding:5px 8px!important;
  gap:7px!important;
}
.journey-log-main b{
  font-size:10.5px!important;
}
.journey-log-main small{
  font-size:7.2px!important;
}
.journey-track-toggle{
  min-width:58px!important;
  padding:5px 8px!important;
  font-size:9.5px!important;
}
.saved-places-strip{
  min-height:42px!important;
  margin:0 0 5px!important;
  padding:6px 8px!important;
  border-radius:13px!important;
  grid-template-columns:26px 1fr auto!important;
  gap:6px!important;
}
.saved-places-strip>span{
  font-size:17px!important;
}
.saved-places-strip b{
  font-size:10.5px!important;
}
.saved-places-strip small{
  font-size:7.2px!important;
}
.saved-places-strip strong{
  font-size:8px!important;
}

/* Bottom navigation remains the same buttons, just a little more efficient. */
.travel-bottom-nav{
  min-height:67px!important;
  padding:6px 7px calc(7px + env(safe-area-inset-bottom,0px))!important;
  gap:3px!important;
}
.travel-bottom-nav .nav-item{
  min-height:51px!important;
  padding:6px 2px!important;
  border-radius:13px!important;
  gap:3px!important;
}
.travel-bottom-nav .nav-item span{
  font-size:21px!important;
}
.travel-bottom-nav .nav-item small{
  font-size:9px!important;
}

/* Common phone sizes: show the whole dashboard comfortably. */
@media(max-width:520px){
  .screen#screen-home{
    padding-left:6px!important;
    padding-right:6px!important;
    padding-bottom:76px!important;
  }
  .v16-hero{height:156px}
}

/* Smaller/shorter phones get a further compact pass without removing buttons. */
@media(max-width:420px){
  .v16-hero{
    width:97%!important;
    height:145px;
    margin-top:3px!important;
  }
  .home-resume-strip.v16-resume,
  .home-button-group{
    width:96%!important;
  }
  .home-button-group .home-tile{
    height:47px!important;
    min-height:47px!important;
  }
  .home-button-group .home-tile span{font-size:15px!important}
  .home-button-group .home-tile b{font-size:10.2px!important}
  .home-button-group .home-tile small{font-size:6.8px!important}
  .saved-places-strip strong{display:none!important}
  .saved-places-strip{grid-template-columns:24px 1fr!important}
}

@media(max-width:520px) and (max-height:740px){
  .topbar{
    min-height:42px!important;
    padding:6px 10px!important;
  }
  .brand-mini{font-size:15px!important}
  .top-actions .icon-btn{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
  }
  .v16-hero{
    height:118px!important;
    margin:2px auto -8px!important;
  }
  .home-resume-strip.v16-resume{
    min-height:40px!important;
    padding:5px 8px!important;
    margin-bottom:4px!important;
  }
  .home-resume-strip small{display:none!important}
  .resume-course-actions button{
    min-height:32px!important;
    padding:5px 7px!important;
  }
  .home-button-group{
    padding:3px 4px 4px!important;
    margin-bottom:4px!important;
  }
  .home-group-label{
    height:15px!important;
  }
  .home-group-label b{font-size:11.5px!important}
  .home-group-label span{font-size:6.4px!important}
  .home-button-group .home-tile{
    height:43px!important;
    min-height:43px!important;
  }
  .home-button-group .home-tile span{font-size:14px!important}
  .home-button-group .home-tile b{font-size:9.7px!important}
  .home-button-group .home-tile small{font-size:6.3px!important}
  .journey-log-main,.journey-track-toggle{min-height:35px!important}
  .journey-log-main small{display:none!important}
  .saved-places-strip{
    min-height:36px!important;
    padding:4px 7px!important;
  }
  .saved-places-strip small{display:none!important}
  .travel-bottom-nav{
    min-height:61px!important;
    padding-top:5px!important;
  }
  .travel-bottom-nav .nav-item{
    min-height:46px!important;
  }
  .travel-bottom-nav .nav-item span{font-size:19px!important}
  .travel-bottom-nav .nav-item small{font-size:8.3px!important}
}

/* Low Vision intentionally overrides compact sizing for accessibility. */
body.theme-lowvision .v16-hero{
  height:auto!important;
  min-height:180px!important;
}
body.theme-lowvision .v16-hero .hero-exact-img{
  height:auto!important;
}


/* ================= V44 Listen = music + real Brazilian audio ================= */
.listen-intro{padding-top:10px}
.listen-intro h1{margin-bottom:5px}
.listen-feature-grid{
  display:grid;
  gap:9px;
  margin:10px 0;
}
.listen-feature{
  width:100%;
  min-height:78px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid rgba(93,55,105,.10);
  border-radius:19px;
  text-align:left;
  color:var(--ink);
  box-shadow:var(--soft-shadow);
}
.listen-feature.radio-garden{background:linear-gradient(145deg,#e8f7f4,#f7fffd)}
.listen-feature.nova-brasil{background:linear-gradient(145deg,#fff0e7,#fff8f4)}
.listen-feature.lyrics-music{background:linear-gradient(145deg,#f8eafa,#fff4fa)}
.listen-feature.speaking-brazilian{background:linear-gradient(145deg,#edf2ff,#f9f7ff)}
.listen-icon{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.76);
  font-size:23px;
}
.listen-feature>div{min-width:0}
.listen-feature b{display:block;font-size:14px;line-height:1.08}
.listen-feature small{display:block;font-size:10px;line-height:1.25;color:var(--muted);margin-top:3px}
.listen-feature strong{font-size:10px;color:var(--purple);white-space:nowrap}
.listen-tip{
  margin:10px 0;
  padding:12px 14px;
  border-radius:18px;
  background:linear-gradient(145deg,#fff8df,#fffdf5);
  border:1px solid #f1e1a8;
}
.listen-tip b{font-size:13px}
.listen-tip p{font-size:10.5px;line-height:1.35;color:var(--muted);margin:4px 0 0}
.listen-course-link{
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid #dcc5e6;
  border-radius:17px;
  background:linear-gradient(145deg,#fff0eb,#f2e6fb);
  color:var(--ink);
  text-align:left;
}
.listen-course-link>span{font-size:21px}
.listen-course-link div{min-width:0}
.listen-course-link b{display:block;font-size:12px}
.listen-course-link small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.listen-course-link strong{font-size:9px;color:var(--purple)}
body.theme-slate .listen-feature,
body.theme-slate .listen-tip,
body.theme-slate .listen-course-link{
  background:linear-gradient(145deg,#f2f7f8,#dfecef)!important;
  border-color:#bed1d5!important;
}
body.theme-lowvision .listen-feature,
body.theme-lowvision .listen-tip,
body.theme-lowvision .listen-course-link{
  background:#fff!important;border:2px solid #000!important;color:#000!important;
}
@media(max-width:420px){
  .listen-feature{min-height:70px;padding:9px 10px;grid-template-columns:38px 1fr auto}
  .listen-icon{width:37px;height:37px;font-size:20px}
  .listen-feature b{font-size:13px}
  .listen-feature small{font-size:9px}
}


/* ================= V45 locked hero + slightly larger bottom tabs ================= */
/* This exact hero is deliberately locked to the user-approved artwork. */
.v16-hero::before{
  background-image:url('assets/hero-LOCKED-v45.png')!important;
}
.v16-hero .hero-exact-img{
  content:url('assets/hero-LOCKED-v45.png')!important;
}

/* Slightly larger, clearer bottom navigation without changing the four tabs. */
.travel-bottom-nav{
  min-height:72px!important;
  padding:7px 8px calc(8px + env(safe-area-inset-bottom,0px))!important;
}
.travel-bottom-nav .nav-item{
  min-height:55px!important;
  padding:7px 3px!important;
}
.travel-bottom-nav .nav-item span{
  font-size:23px!important;
}
.travel-bottom-nav .nav-item small{
  font-size:10px!important;
  font-weight:850!important;
}

/* Keep the compact short-phone version readable too. */
@media(max-width:520px) and (max-height:740px){
  .travel-bottom-nav{min-height:66px!important}
  .travel-bottom-nav .nav-item{min-height:50px!important}
  .travel-bottom-nav .nav-item span{font-size:21px!important}
  .travel-bottom-nav .nav-item small{font-size:9px!important}
}


/* ================= V46 Wise / Maps / Menu Translator ================= */
#openDirections{
  background:linear-gradient(135deg,#1a73e8,#1767cf)!important;
}
.camera-preview-card{
  max-height:min(92vh,820px);
  overflow:auto;
}
.camera-text-actions-v46{
  grid-template-columns:1fr 1fr!important;
}
.camera-text-actions-v46 button{
  min-height:44px;
  padding:8px 7px;
  font-size:10.5px;
}
#listenCameraText{
  background:#e7f6f2!important;
  color:#176c60!important;
}
#helpOrderCameraText{
  background:#fff1d8!important;
  color:#7c5313!important;
}
.camera-order-help{
  padding:10px 11px;
  border-radius:14px;
  background:linear-gradient(145deg,#fff7df,#fff1e7);
  border:1px solid #eed8a8;
  display:grid;
  gap:3px;
}
.camera-order-help[hidden]{display:none!important}
.camera-order-help b{
  font-size:13px;
  line-height:1.25;
  color:var(--ink);
}
.camera-order-help small{
  margin:0!important;
  font-size:9.5px!important;
  color:var(--muted);
}
.camera-order-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:6px;
}
.camera-order-actions button{
  min-height:38px;
  border:0;
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  font-weight:850;
}
body.theme-slate .camera-order-help{
  background:#e5eef0;
  border-color:#bdd0d4;
}
body.theme-lowvision .camera-order-help,
body.theme-lowvision .camera-order-actions button{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
}
@media(max-width:420px){
  .camera-text-actions-v46 button{font-size:9.5px}
}


/* ================= V47 voice contact capture ================= */
.contact-head-actions{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.voice-contact-btn{
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,#8b4bb1,#e16786);
  color:#fff;
  padding:9px 11px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.voice-contact-btn:disabled{opacity:.55}
.voice-contact-panel{
  margin:0 0 11px;
  padding:10px;
  border-radius:16px;
  background:linear-gradient(145deg,#fbf1ff,#fff6f1);
  border:1px solid rgba(126,74,145,.12);
}
.voice-contact-status{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:8px;
  align-items:center;
}
.voice-contact-status b{
  grid-column:2;
  font-size:11.5px;
  line-height:1.15;
}
.voice-contact-status small{
  grid-column:2;
  font-size:9px;
  color:var(--muted);
  line-height:1.3;
  margin-top:2px;
}
.voice-contact-status:not(.recording)::before{
  content:"🎙";
  grid-row:1/3;
  grid-column:1;
  font-size:20px;
}
.voice-live-dot{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#d33b57;
  box-shadow:0 0 0 0 rgba(211,59,87,.42);
  grid-row:1/3;
  grid-column:1;
  animation:voicePulse 1.25s infinite;
}
@keyframes voicePulse{
  0%{box-shadow:0 0 0 0 rgba(211,59,87,.38)}
  70%{box-shadow:0 0 0 8px rgba(211,59,87,0)}
  100%{box-shadow:0 0 0 0 rgba(211,59,87,0)}
}
.voice-contact-stop{
  width:100%;
  margin-top:8px;
  min-height:39px;
  border:0;
  border-radius:12px;
  background:#ffe4e8;
  color:#9b2d45;
  font-weight:900;
  font-size:10.5px;
}
.voice-contact-transcript{
  width:100%;
  margin-top:8px;
  border:1px solid #e0d1df;
  border-radius:12px;
  padding:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:10.5px;
  resize:vertical;
}
body.theme-slate .voice-contact-panel{
  background:linear-gradient(145deg,#edf5f6,#dfecef);
  border-color:#bfd3d7;
}
body.theme-slate .voice-contact-btn{
  background:linear-gradient(135deg,#2b667a,#438d93);
}
body.theme-lowvision .voice-contact-panel,
body.theme-lowvision .voice-contact-btn,
body.theme-lowvision .voice-contact-stop,
body.theme-lowvision .voice-contact-transcript{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
}
@media(max-width:420px){
  .contact-form-head{align-items:stretch}
  .contact-head-actions{width:100%;justify-content:stretch}
  .contact-head-actions button{flex:1}
}


/* ================= V48 hero larger + bigger elegant buttons ================= */
/* User request:
   - hero fills side to side
   - no filler colour behind hero
   - hero approx 12 mm higher
   - buttons taller and text larger
   - use lower-screen space more effectively
*/

.screen#screen-home{
  padding-left:8px!important;
  padding-right:8px!important;
  padding-bottom:82px!important;
}

/* Hero: full width, no colour fill, about 45 px taller. */
.v16-hero{
  width:100%!important;
  height:206px!important;
  margin:4px auto -6px!important;
  border-radius:22px!important;
  background:transparent!important;
  box-shadow:0 8px 22px rgba(74,42,83,.10)!important;
}
.v16-hero::before{
  display:none!important;
}
.v16-hero::after{
  display:none!important;
}
.hero.hero-exact{
  background:transparent!important;
}
.v16-hero .hero-exact-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
  border-radius:22px!important;
  filter:none!important;
}

/* Course strip a little larger and more readable */
.home-resume-strip.v16-resume{
  width:100%!important;
  min-height:54px!important;
  padding:10px 12px!important;
  margin:0 auto 8px!important;
  border-radius:17px!important;
}
.home-resume-strip .eyebrow{
  font-size:8px!important;
}
.home-resume-strip b{
  font-size:14px!important;
  line-height:1.08!important;
}
.home-resume-strip small{
  font-size:9px!important;
}
.resume-course-actions button{
  min-height:40px!important;
  padding:8px 11px!important;
  font-size:10.5px!important;
}

/* Bigger tiles and labels for easier use */
.home-button-group{
  width:100%!important;
  padding:6px 6px 7px!important;
  margin:0 auto 7px!important;
  border-radius:18px!important;
}
.home-group-label{
  height:20px!important;
  padding:0 3px 2px!important;
}
.home-group-label span{
  font-size:7.5px!important;
}
.home-group-label b{
  font-size:14px!important;
}
.home-button-group .home-uniform-grid{
  gap:6px!important;
}
.home-button-group .home-tile{
  height:58px!important;
  min-height:58px!important;
  border-radius:14px!important;
  padding:6px 4px!important;
}
.home-button-group .home-tile span{
  font-size:18px!important;
}
.home-button-group .home-tile b{
  font-size:12px!important;
  margin-top:3px!important;
  line-height:1.05!important;
}
.home-button-group .home-tile small{
  font-size:8px!important;
  margin-top:2px!important;
  line-height:1.08!important;
}

/* Use the lower gap more elegantly: make the utility rows taller and clearer */
.journey-log-bar{
  margin:0 0 6px!important;
  gap:6px!important;
}
.journey-log-main,
.journey-track-toggle{
  min-height:46px!important;
  border-radius:13px!important;
}
.journey-log-main{
  padding:7px 9px!important;
}
.journey-log-main b{
  font-size:11.5px!important;
}
.journey-log-main small{
  font-size:8px!important;
}
.journey-track-toggle{
  min-width:66px!important;
  font-size:10px!important;
}

.saved-places-strip{
  min-height:50px!important;
  margin:0 0 9px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  grid-template-columns:28px 1fr auto!important;
}
.saved-places-strip>span{
  font-size:19px!important;
}
.saved-places-strip b{
  font-size:11.5px!important;
}
.saved-places-strip small{
  font-size:8px!important;
}
.saved-places-strip strong{
  font-size:8.5px!important;
}

/* Bottom nav: slightly bigger still, elegant, easy to hit */
.travel-bottom-nav{
  min-height:76px!important;
  padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))!important;
  gap:4px!important;
}
.travel-bottom-nav .nav-item{
  min-height:58px!important;
  padding:8px 3px!important;
  border-radius:14px!important;
}
.travel-bottom-nav .nav-item span{
  font-size:24px!important;
}
.travel-bottom-nav .nav-item small{
  font-size:10.5px!important;
  font-weight:850!important;
}

/* Mid-size phones */
@media(max-width:520px){
  .v16-hero{height:194px!important}
  .home-button-group .home-tile{height:55px!important;min-height:55px!important}
  .saved-places-strip{min-height:48px!important}
}

/* Small phones still keep the larger feeling, just slightly compacted */
@media(max-width:420px){
  .screen#screen-home{
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .v16-hero{
    height:184px!important;
    border-radius:20px!important;
  }
  .v16-hero .hero-exact-img{
    border-radius:20px!important;
  }
  .home-resume-strip.v16-resume{
    min-height:51px!important;
    padding:9px 10px!important;
  }
  .home-button-group .home-tile{
    height:53px!important;
    min-height:53px!important;
  }
  .home-button-group .home-tile span{font-size:17px!important}
  .home-button-group .home-tile b{font-size:11.3px!important}
  .home-button-group .home-tile small{font-size:7.6px!important}
  .journey-log-main,.journey-track-toggle{min-height:43px!important}
  .saved-places-strip{min-height:46px!important}
  .travel-bottom-nav .nav-item{
    min-height:55px!important;
  }
}

/* Shorter phones: still use the space better without collapsing too much */
@media(max-width:520px) and (max-height:740px){
  .v16-hero{height:172px!important}
  .home-resume-strip.v16-resume{min-height:48px!important}
  .home-button-group .home-tile{
    height:50px!important;
    min-height:50px!important;
  }
  .home-button-group .home-tile span{font-size:16px!important}
  .home-button-group .home-tile b{font-size:10.8px!important}
  .journey-log-main,.journey-track-toggle{min-height:40px!important}
  .saved-places-strip{min-height:43px!important}
  .travel-bottom-nav{
    min-height:70px!important;
  }
  .travel-bottom-nav .nav-item{
    min-height:52px!important;
  }
}

/* Low vision still stays accessible */
body.theme-lowvision .v16-hero{
  height:auto!important;
  min-height:200px!important;
}


/* ================= V49 instant photo translation ================= */
.camera-instant-translate{
  gap:8px!important;
}
.camera-instant-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.camera-instant-head>div{
  display:grid;
  gap:1px;
}
.camera-instant-head b{
  font-size:14px;
  color:var(--ink);
}
.scan-again-btn{
  min-height:36px;
  border:0;
  border-radius:11px;
  padding:6px 10px;
  background:#f2e9f7;
  color:#67407a;
  font-size:9.5px;
  font-weight:900;
  white-space:nowrap;
}
.camera-translation-status{
  min-height:34px;
  border-radius:12px;
  padding:8px 10px;
  background:linear-gradient(145deg,#eef8f5,#f8fdfb);
  border:1px solid #d8ebe4;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:8px;
  color:var(--ink);
}
.camera-translation-status[hidden]{display:none!important}
.camera-translation-status b{
  font-size:11px;
}
.camera-translation-status small{
  display:block;
  grid-column:2;
  font-size:8.5px!important;
  margin:0!important;
  color:var(--muted);
}
.translate-spinner{
  width:16px;
  height:16px;
  border:2px solid #cfe4de;
  border-top-color:#2b8b77;
  border-radius:50%;
  animation:translateSpin .8s linear infinite;
}
@keyframes translateSpin{to{transform:rotate(360deg)}}
.camera-translation-results{
  display:grid;
  gap:7px;
  max-height:285px;
  overflow:auto;
  padding-right:2px;
}
.camera-translation-results[hidden]{display:none!important}
.camera-translation-row{
  border:1px solid #e8dfe7;
  border-radius:13px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 3px 9px rgba(49,39,55,.04);
}
.camera-translation-pt{
  padding:7px 9px 5px;
  font-size:10px;
  line-height:1.25;
  color:#7a6474;
  background:#fbf7fa;
  border-bottom:1px solid #eee7ec;
}
.camera-translation-en{
  padding:8px 9px 9px;
  font-size:13px;
  line-height:1.28;
  font-weight:760;
  color:#1d3340;
}
.camera-translation-error{
  padding:11px;
  border-radius:12px;
  background:#fff4ef;
  color:#755148;
  font-size:10px;
  line-height:1.35;
}
.camera-text-actions-v49{
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.camera-text-actions-v49 button{
  min-height:40px!important;
  border-radius:12px!important;
  font-size:9.5px!important;
  padding:7px 5px!important;
}
#copyCameraTranslation{
  background:#edf4ff!important;
  color:#315b76!important;
}
#showCameraOriginal,
#retranslateCameraText{
  background:#f5f1f5!important;
  color:#655763!important;
}
#translateCameraText{
  background:#f0e8f6!important;
  color:#6d4380!important;
}
.camera-quiet-action{
  background:#f7f5f5!important;
  color:#756c72!important;
}
.camera-language-advanced details{
  border-top:1px solid #eee6eb;
  padding-top:6px;
}
.camera-language-advanced summary{
  cursor:pointer;
  list-style:none;
  font-size:8.5px;
  color:#8b7e87;
  font-weight:800;
}
.camera-language-advanced summary::-webkit-details-marker{display:none}
.camera-language-advanced .ocr-language-toggle{
  margin-top:7px;
}
body.theme-slate .camera-translation-status,
body.theme-slate .camera-translation-row{
  background:#edf4f5!important;
  border-color:#bfd1d5!important;
}
body.theme-slate .camera-translation-pt{
  background:#e2ecee!important;
}
body.theme-lowvision .camera-translation-status,
body.theme-lowvision .camera-translation-row,
body.theme-lowvision .camera-translation-pt,
body.theme-lowvision .camera-translation-en,
body.theme-lowvision .scan-again-btn{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
}
@media(max-width:420px){
  .camera-translation-results{max-height:250px}
  .camera-translation-en{font-size:12.5px}
}


/* ================= V50 hero + section order + taller buttons ================= */
.screen#screen-home{
  padding-left:8px!important;
  padding-right:8px!important;
  padding-bottom:86px!important;
}

/* Hero: fill side-to-side and show the wording/leg/tiles cleanly */
.v16-hero{
  width:100%!important;
  height:222px!important;
  margin:4px auto 8px!important;
  border-radius:22px!important;
  background:transparent!important;
  box-shadow:0 8px 24px rgba(64,40,74,.11)!important;
}
.v16-hero::before,
.v16-hero::after{
  display:none!important;
}
.v16-hero .hero-exact-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:22px!important;
  background:transparent!important;
}

/* Reordered sections spacing */
.home-button-group.explore-group{margin-top:0!important}
.home-button-group.language-group{margin-top:0!important}
.home-resume-strip.v16-resume{margin:0 auto 8px!important}

/* Taller by roughly 4mm / about 15px */
.home-button-group{
  width:100%!important;
  padding:8px 7px 9px!important;
  margin:0 auto 8px!important;
  border-radius:18px!important;
}
.home-group-label{
  min-height:24px!important;
  margin-bottom:7px!important;
}
.home-group-label span{
  font-size:8px!important;
}
.home-group-label b{
  font-size:14.5px!important;
}

.home-button-group .home-uniform-grid{
  gap:7px!important;
}
.home-button-group .home-tile{
  height:73px!important;
  min-height:73px!important;
  border-radius:15px!important;
  padding:8px 5px!important;
}
.home-button-group .home-tile span{
  font-size:20px!important;
}
.home-button-group .home-tile b{
  font-size:13px!important;
  margin-top:4px!important;
  line-height:1.05!important;
}
.home-button-group .home-tile small{
  font-size:9px!important;
  line-height:1.08!important;
  margin-top:3px!important;
}

.journey-log-bar{
  margin:0 0 7px!important;
  gap:7px!important;
}
.journey-log-main,
.journey-track-toggle{
  min-height:61px!important;
  border-radius:14px!important;
}
.journey-log-main{
  padding:9px 10px!important;
}
.journey-log-main b{
  font-size:12px!important;
}
.journey-log-main small{
  font-size:8.6px!important;
}
.journey-track-toggle{
  min-width:72px!important;
  font-size:10.5px!important;
  font-weight:900!important;
}

.saved-places-strip{
  min-height:64px!important;
  padding:9px 11px!important;
  margin:0 0 8px!important;
  border-radius:15px!important;
  grid-template-columns:30px 1fr auto!important;
}
.saved-places-strip>span{
  font-size:19px!important;
}
.saved-places-strip b{
  font-size:12px!important;
}
.saved-places-strip small{
  font-size:8.6px!important;
}
.saved-places-strip strong{
  font-size:9px!important;
}

.home-resume-strip.v16-resume{
  width:100%!important;
  min-height:70px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
}
.home-resume-strip .eyebrow{
  font-size:8px!important;
}
.home-resume-strip b{
  font-size:15px!important;
  line-height:1.08!important;
}
.home-resume-strip small{
  font-size:9px!important;
}
.resume-course-actions button{
  min-height:48px!important;
  padding:8px 13px!important;
  font-size:11px!important;
  border-radius:13px!important;
}

/* Bottom buttons a bit bigger too */
.travel-bottom-nav{
  min-height:79px!important;
  padding:9px 8px calc(9px + env(safe-area-inset-bottom,0px))!important;
  gap:4px!important;
}
.travel-bottom-nav .nav-item{
  min-height:61px!important;
  padding:9px 4px!important;
  border-radius:15px!important;
}
.travel-bottom-nav .nav-item span{
  font-size:25px!important;
}
.travel-bottom-nav .nav-item small{
  font-size:11px!important;
  font-weight:850!important;
}

/* Smaller phones */
@media(max-width:420px){
  .v16-hero{
    height:206px!important;
  }
  .home-button-group .home-tile{
    height:68px!important;
    min-height:68px!important;
  }
  .journey-log-main,
  .journey-track-toggle{
    min-height:56px!important;
  }
  .saved-places-strip{
    min-height:58px!important;
  }
  .home-resume-strip.v16-resume{
    min-height:64px!important;
  }
  .resume-course-actions button{
    min-height:44px!important;
  }
  .travel-bottom-nav .nav-item{
    min-height:58px!important;
  }
}

/* Short phones */
@media(max-width:520px) and (max-height:740px){
  .v16-hero{
    height:188px!important;
  }
  .home-button-group .home-tile{
    height:63px!important;
    min-height:63px!important;
  }
  .home-button-group .home-tile span{
    font-size:18px!important;
  }
  .home-button-group .home-tile b{
    font-size:12px!important;
  }
  .journey-log-main,
  .journey-track-toggle{
    min-height:52px!important;
  }
  .saved-places-strip{
    min-height:54px!important;
  }
  .home-resume-strip.v16-resume{
    min-height:60px!important;
  }
  .travel-bottom-nav{
    min-height:73px!important;
  }
  .travel-bottom-nav .nav-item{
    min-height:54px!important;
  }
}


/* ================= V51 ombre purple → coral ================= */
/* Elegant top-to-bottom purple-to-coral ombre through tabs and buttons */

:root{
  --fb-ombre-top:#8b63cf;
  --fb-ombre-mid:#b767c9;
  --fb-ombre-low:#dc689d;
  --fb-ombre-bottom:#ff7b63;
  --fb-ombre-soft:linear-gradient(180deg, rgba(139,99,207,.14) 0%, rgba(183,103,201,.10) 35%, rgba(220,104,157,.09) 68%, rgba(255,123,99,.12) 100%);
  --fb-ombre-strong:linear-gradient(180deg, #8b63cf 0%, #b767c9 32%, #dc689d 68%, #ff7b63 100%);
  --fb-ombre-button:linear-gradient(180deg, #9a6fda 0%, #bb70ce 38%, #e06fa5 72%, #ff866d 100%);
  --fb-ombre-card:linear-gradient(180deg, rgba(149,112,214,.15) 0%, rgba(191,116,201,.12) 42%, rgba(233,127,151,.11) 74%, rgba(255,143,112,.12) 100%);
}

body{
  background:
    linear-gradient(180deg, #faf4ff 0%, #fff6fb 42%, #fff7f2 100%)!important;
}

/* Section shells with subtle ombre */
.home-button-group,
.home-resume-strip.v16-resume{
  background:var(--fb-ombre-soft)!important;
  border:1px solid rgba(163,119,198,.18)!important;
  box-shadow:0 8px 22px rgba(127,88,149,.08)!important;
}

/* Explore / language section headings */
.home-group-label b,
.home-group-label span,
.home-resume-strip .eyebrow{
  color:#5f3475!important;
}
.home-button-group .home-group-label{
  border-bottom:1px solid rgba(177,119,188,.16)!important;
}

/* Tiles now carry the ombre theme */
.home-button-group .home-tile,
.saved-places-strip,
.journey-log-main,
.journey-track-toggle{
  background:var(--fb-ombre-card)!important;
  border:1px solid rgba(173,116,193,.16)!important;
  box-shadow:0 5px 16px rgba(119,80,140,.07)!important;
}
.home-button-group .home-tile b,
.saved-places-strip b,
.journey-log-main b{
  color:#402258!important;
}
.home-button-group .home-tile small,
.saved-places-strip small,
.journey-log-main small{
  color:#684f67!important;
}

/* Icon accents */
.home-button-group .home-tile span,
.saved-places-strip>span{
  filter:saturate(1.05);
}

/* Resume / continue controls */
.resume-course-actions button,
.saved-places-strip strong{
  background:var(--fb-ombre-button)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 8px 20px rgba(170,93,136,.18)!important;
}

/* Top utility row */
.travel-topbar{
  background:linear-gradient(180deg, rgba(139,99,207,.08) 0%, rgba(255,123,99,.08) 100%)!important;
  border-bottom:1px solid rgba(176,117,195,.18)!important;
}
.travel-topbar .brand-mark{
  background:var(--fb-ombre-button)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(155,97,158,.22)!important;
}
.travel-topbar .brand-word,
.travel-topbar .brand-title{
  color:#351850!important;
}
.travel-topbar .install-btn,
.travel-topbar .top-icon-btn{
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,246,250,.98) 100%)!important;
  border:1px solid rgba(174,121,192,.18)!important;
  color:#482566!important;
}

/* Bottom nav stronger ombre */
.travel-bottom-nav{
  background:var(--fb-ombre-strong)!important;
  box-shadow:0 -10px 24px rgba(124,77,137,.16)!important;
}
.travel-bottom-nav .nav-item{
  background:transparent!important;
  color:rgba(255,255,255,.95)!important;
}
.travel-bottom-nav .nav-item small,
.travel-bottom-nav .nav-item span{
  color:#fff!important;
}
.travel-bottom-nav .nav-item.active{
  background:rgba(255,255,255,.14)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;
}

/* Camera / utility buttons also join palette */
button.extract-text-btn,
.scan-again-btn,
.camera-text-actions button,
.ocr-language-toggle button.active{
  background:var(--fb-ombre-button)!important;
  color:#fff!important;
  border:0!important;
}
.ocr-language-toggle button{
  border:1px solid rgba(173,116,193,.18)!important;
}

/* Low vision keeps accessibility */
body.theme-lowvision .home-button-group,
body.theme-lowvision .home-resume-strip.v16-resume,
body.theme-lowvision .home-button-group .home-tile,
body.theme-lowvision .saved-places-strip,
body.theme-lowvision .journey-log-main,
body.theme-lowvision .journey-track-toggle,
body.theme-lowvision .travel-topbar,
body.theme-lowvision .travel-bottom-nav,
body.theme-lowvision .resume-course-actions button,
body.theme-lowvision .travel-topbar .install-btn,
body.theme-lowvision .travel-topbar .top-icon-btn{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
  box-shadow:none!important;
}

/* Slightly softer on small phones */
@media(max-width:420px){
  .travel-bottom-nav{
    background:linear-gradient(180deg, #8c64cf 0%, #b967ca 35%, #de71a8 70%, #ff8368 100%)!important;
  }
}


/* ================= V52 final visual polish ================= */
/* Softer pastel ombre, cleaner premium typography, tighter spacing/alignment */

:root{
  --fb-v52-purple:#8f72cf;
  --fb-v52-lilac:#b08adf;
  --fb-v52-mauve:#d997c1;
  --fb-v52-coral:#f39b84;
  --fb-v52-peach:#f9e6df;
  --fb-v52-ink:#351f4e;
  --fb-v52-muted:#6b5b76;
  --fb-v52-line:rgba(138,111,184,.16);
  --fb-v52-shell:linear-gradient(180deg, rgba(143,114,207,.11) 0%, rgba(176,138,223,.085) 30%, rgba(217,151,193,.07) 66%, rgba(243,155,132,.09) 100%);
  --fb-v52-tile:linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,250,253,.92) 50%, rgba(255,247,243,.95) 100%);
  --fb-v52-button:linear-gradient(180deg, #9d7adb 0%, #bf84d1 42%, #df88b2 72%, #f59a80 100%);
  --fb-v52-nav:linear-gradient(180deg, #8e70cf 0%, #b17fd9 32%, #d787b7 66%, #f09078 100%);
}

body{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.86) 0%, rgba(255,255,255,0) 36%),
    linear-gradient(180deg, #fbf7ff 0%, #fff8fc 44%, #fff9f5 100%)!important;
  color:var(--fb-v52-ink)!important;
}

/* Cleaner brand and typography */
.travel-topbar{
  padding:11px 12px!important;
}
.travel-topbar .brand-word,
.travel-topbar .brand-title{
  color:var(--fb-v52-ink)!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
.travel-topbar .install-btn{
  min-height:44px!important;
  padding:10px 16px!important;
  font-size:12px!important;
  font-weight:850!important;
  border-radius:16px!important;
}
.travel-topbar .top-icon-btn{
  min-width:44px!important;
  min-height:44px!important;
  border-radius:15px!important;
}

/* Hero feels more premium with softer card chrome */
.v16-hero{
  border-radius:24px!important;
  box-shadow:0 10px 28px rgba(77,49,108,.12)!important;
  overflow:hidden!important;
}

/* Section cards */
.home-button-group,
.home-resume-strip.v16-resume{
  background:var(--fb-v52-shell)!important;
  border:1px solid var(--fb-v52-line)!important;
  border-radius:20px!important;
  box-shadow:0 8px 24px rgba(102,73,133,.07)!important;
  backdrop-filter:blur(4px);
}
.home-button-group{
  padding:10px 9px 10px!important;
  margin:0 auto 9px!important;
}
.home-group-label{
  min-height:26px!important;
  padding:0 2px 7px!important;
  margin-bottom:8px!important;
  align-items:end!important;
}
.home-group-label span{
  color:#76508d!important;
  font-size:8.2px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.home-group-label b{
  color:var(--fb-v52-ink)!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}

/* Buttons / tiles */
.home-button-group .home-uniform-grid{
  gap:8px!important;
}
.home-button-group .home-tile,
.saved-places-strip,
.journey-log-main,
.journey-track-toggle{
  background:var(--fb-v52-tile)!important;
  border:1px solid rgba(171,127,196,.16)!important;
  border-radius:16px!important;
  box-shadow:0 6px 18px rgba(105,74,134,.06)!important;
}
.home-button-group .home-tile{
  height:74px!important;
  min-height:74px!important;
  padding:9px 6px!important;
  align-items:center!important;
  justify-content:center!important;
}
.home-button-group .home-tile span{
  font-size:20px!important;
  line-height:1!important;
}
.home-button-group .home-tile b{
  color:var(--fb-v52-ink)!important;
  font-size:13.4px!important;
  font-weight:850!important;
  letter-spacing:-.015em!important;
  margin-top:5px!important;
}
.home-button-group .home-tile small{
  color:var(--fb-v52-muted)!important;
  font-size:9.2px!important;
  font-weight:650!important;
  line-height:1.14!important;
  margin-top:3px!important;
}

/* Continue section */
.home-resume-strip.v16-resume{
  min-height:74px!important;
  padding:11px 13px!important;
}
.home-resume-strip .eyebrow{
  color:#7b6292!important;
  font-size:8.1px!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.home-resume-strip b{
  color:var(--fb-v52-ink)!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.home-resume-strip small{
  color:var(--fb-v52-muted)!important;
  font-size:9.3px!important;
  font-weight:650!important;
}
.resume-course-actions{
  gap:7px!important;
}
.resume-course-actions button{
  background:var(--fb-v52-button)!important;
  color:#fff!important;
  min-height:49px!important;
  padding:9px 14px!important;
  border-radius:14px!important;
  border:0!important;
  font-size:11.2px!important;
  font-weight:850!important;
  box-shadow:0 8px 18px rgba(157,103,153,.18)!important;
}
.resume-course-actions .resume-topics-btn{
  background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(250,241,252,.95) 100%)!important;
  color:#734b8a!important;
  border:1px solid rgba(174,126,196,.16)!important;
  box-shadow:none!important;
}

/* Travel log / saved strip */
.journey-log-bar{
  gap:8px!important;
  margin-bottom:8px!important;
}
.journey-log-main,
.journey-track-toggle{
  min-height:62px!important;
}
.journey-log-main{
  padding:10px 11px!important;
}
.journey-log-main b,
.saved-places-strip b{
  color:var(--fb-v52-ink)!important;
  font-size:12.2px!important;
  font-weight:850!important;
}
.journey-log-main small,
.saved-places-strip small{
  color:var(--fb-v52-muted)!important;
  font-size:8.8px!important;
  font-weight:650!important;
}
.journey-track-toggle{
  background:var(--fb-v52-button)!important;
  color:#fff!important;
  border:0!important;
  font-size:10.8px!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(157,103,153,.18)!important;
}
.saved-places-strip{
  min-height:66px!important;
  padding:10px 12px!important;
}
.saved-places-strip strong{
  background:var(--fb-v52-button)!important;
  color:#fff!important;
  border-radius:12px!important;
  padding:9px 11px!important;
  font-size:9.2px!important;
  font-weight:850!important;
  border:0!important;
}

/* Bottom nav cleaner and a touch more elegant */
.travel-bottom-nav{
  background:var(--fb-v52-nav)!important;
  min-height:80px!important;
  padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px))!important;
  box-shadow:0 -10px 26px rgba(115,72,126,.18)!important;
}
.travel-bottom-nav .nav-item{
  min-height:62px!important;
  border-radius:16px!important;
}
.travel-bottom-nav .nav-item small{
  font-size:11.2px!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
}
.travel-bottom-nav .nav-item.active{
  background:rgba(255,255,255,.16)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)!important;
}

/* Camera / utility panels feel more polished too */
.camera-ocr-panel,
.camera-translation-status,
.camera-translation-row{
  border-radius:14px!important;
}
.camera-translation-en{
  font-weight:800!important;
}
.camera-text-actions button,
.scan-again-btn,
button.extract-text-btn{
  border-radius:12px!important;
  font-weight:850!important;
}
.camera-text-actions button{
  background:var(--fb-v52-button)!important;
}

/* Short screens: keep it elegant but compact */
@media(max-width:420px){
  .home-button-group .home-tile{
    height:70px!important;
    min-height:70px!important;
  }
  .home-button-group .home-tile b{
    font-size:12.8px!important;
  }
  .home-resume-strip.v16-resume{
    min-height:70px!important;
  }
}

@media(max-width:520px) and (max-height:740px){
  .v16-hero{
    height:192px!important;
  }
  .home-button-group{
    padding:8px 8px 9px!important;
    margin-bottom:8px!important;
  }
  .home-button-group .home-tile{
    height:64px!important;
    min-height:64px!important;
  }
  .home-button-group .home-tile span{
    font-size:18px!important;
  }
  .home-button-group .home-tile b{
    font-size:12.1px!important;
  }
  .home-button-group .home-tile small{
    font-size:8.4px!important;
  }
  .journey-log-main,
  .journey-track-toggle{
    min-height:56px!important;
  }
  .saved-places-strip{
    min-height:58px!important;
  }
  .home-resume-strip.v16-resume{
    min-height:62px!important;
  }
  .resume-course-actions button{
    min-height:45px!important;
  }
}

/* Preserve accessibility themes */
body.theme-lowvision .home-button-group,
body.theme-lowvision .home-resume-strip.v16-resume,
body.theme-lowvision .home-button-group .home-tile,
body.theme-lowvision .saved-places-strip,
body.theme-lowvision .journey-log-main,
body.theme-lowvision .journey-track-toggle,
body.theme-lowvision .travel-topbar,
body.theme-lowvision .travel-bottom-nav,
body.theme-lowvision .resume-course-actions button,
body.theme-lowvision .travel-topbar .install-btn,
body.theme-lowvision .travel-topbar .top-icon-btn{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
  box-shadow:none!important;
}


/* ================= V54 SAME BUTTONS / NEW FORMAT ================= */
/*
   IMPORTANT:
   This is a visual/layout update only.
   Existing button labels, IDs, data attributes and JavaScript actions remain unchanged.

   Requested look:
   - light at top, darker at bottom
   - natural pastel purple -> blush/coral ombre
   - each functional area uses ONE consistent tile colour
   - larger, clean, elegant mobile cards
*/

:root{
  --v54-ink:#2f2148;
  --v54-muted:#6d6376;
  --v54-top:#f7f2fb;
  --v54-mid:#f4dfe8;
  --v54-low:#e7b0bc;
  --v54-bottom:#9f659f;

  --v54-travel:#eee8fa;
  --v54-travel-border:#ddd1ef;
  --v54-language:#fae3df;
  --v54-language-border:#edccc6;
  --v54-continue:#fff1e8;
  --v54-continue-border:#efd9ce;
  --v54-white:#fffdfd;
}

/* One continuous page ombre: LIGHT TOP -> DARK BOTTOM */
body{
  background:
    linear-gradient(
      180deg,
      var(--v54-top) 0%,
      #f9eef4 28%,
      var(--v54-mid) 52%,
      var(--v54-low) 76%,
      var(--v54-bottom) 100%
    ) fixed!important;
  color:var(--v54-ink)!important;
}

.app-shell,
main,
.screen#screen-home{
  background:transparent!important;
}

/* Keep hero full width, clean and prominent */
.screen#screen-home{
  padding-left:8px!important;
  padding-right:8px!important;
  padding-bottom:90px!important;
}

.v16-hero{
  width:100%!important;
  margin:4px auto 12px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:0 10px 28px rgba(70,48,94,.12)!important;
}

/* Remove old individual gradients so the page ombre reads as one flow */
.home-button-group,
.home-resume-strip.v16-resume{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

/* section headings */
.home-button-group{
  padding:0 0 12px!important;
  margin:0 auto 4px!important;
}

.home-group-label{
  padding:0 8px 8px!important;
  margin:0!important;
  border:0!important;
  min-height:30px!important;
}

.home-group-label span{
  color:#7f6795!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.home-group-label b{
  color:var(--v54-ink)!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}

/* ===== Explore & Travel: all same soft lavender ===== */
.explore-group .home-tile,
.explore-group .journey-log-main,
.explore-group .journey-track-toggle,
.explore-group .saved-places-strip{
  background:var(--v54-travel)!important;
  border:1px solid var(--v54-travel-border)!important;
  color:var(--v54-ink)!important;
  box-shadow:0 8px 18px rgba(84,62,112,.08)!important;
}

.explore-group .journey-track-toggle{
  background:#e6dcf5!important;
  color:#593e7d!important;
}

/* ===== Language: all same soft coral/blush ===== */
.language-group .home-tile{
  background:var(--v54-language)!important;
  border:1px solid var(--v54-language-border)!important;
  color:var(--v54-ink)!important;
  box-shadow:0 8px 18px rgba(123,74,91,.07)!important;
}

/* tiles: preserve exact labels/functions, only restyle */
.home-button-group .home-uniform-grid{
  gap:8px!important;
  padding:0 4px!important;
}

.home-button-group .home-tile{
  height:76px!important;
  min-height:76px!important;
  border-radius:18px!important;
  padding:10px 6px!important;
  justify-content:center!important;
  align-items:center!important;
}

.home-button-group .home-tile span{
  font-size:21px!important;
  line-height:1!important;
}

.home-button-group .home-tile b{
  color:var(--v54-ink)!important;
  font-size:13.5px!important;
  font-weight:850!important;
  line-height:1.05!important;
  margin-top:5px!important;
}

.home-button-group .home-tile small{
  color:var(--v54-muted)!important;
  font-size:9px!important;
  font-weight:650!important;
  line-height:1.08!important;
  margin-top:3px!important;
}

/* Travel Log */
.journey-log-bar{
  gap:8px!important;
  margin:0 4px 8px!important;
}

.journey-log-main,
.journey-track-toggle{
  min-height:64px!important;
  border-radius:17px!important;
}

.journey-log-main{
  padding:10px 12px!important;
}

.journey-log-main b{
  color:var(--v54-ink)!important;
  font-size:12.5px!important;
  font-weight:850!important;
}

.journey-log-main small{
  color:var(--v54-muted)!important;
  font-size:8.8px!important;
}

.journey-track-toggle{
  min-width:74px!important;
  font-size:11px!important;
  font-weight:900!important;
}

/* Saved places */
.saved-places-strip{
  margin:0 4px 9px!important;
  min-height:66px!important;
  padding:10px 12px!important;
  border-radius:17px!important;
  grid-template-columns:30px 1fr auto!important;
}

.saved-places-strip b{
  color:var(--v54-ink)!important;
  font-size:12.2px!important;
  font-weight:850!important;
}

.saved-places-strip small{
  color:var(--v54-muted)!important;
  font-size:8.7px!important;
}

.saved-places-strip strong{
  background:transparent!important;
  color:#6c4a85!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  font-size:9px!important;
}

/* ===== Continue / course card: warm cream, just like the mockup placement ===== */
.home-resume-strip.v16-resume{
  width:calc(100% - 8px)!important;
  min-height:78px!important;
  margin:0 auto 14px!important;
  padding:12px 14px!important;
  background:rgba(255,241,232,.93)!important;
  border:1px solid var(--v54-continue-border)!important;
  border-radius:20px!important;
  box-shadow:0 9px 22px rgba(101,68,86,.08)!important;
}

.home-resume-strip .eyebrow{
  color:#a06f7e!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}

.home-resume-strip b{
  color:var(--v54-ink)!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}

.home-resume-strip small{
  color:var(--v54-muted)!important;
  font-size:9.3px!important;
  font-weight:650!important;
}

.resume-course-actions{
  gap:7px!important;
}

.resume-course-actions button{
  min-height:50px!important;
  padding:9px 14px!important;
  border-radius:15px!important;
  font-size:11px!important;
  font-weight:850!important;
  border:0!important;
  box-shadow:none!important;
}

.resume-course-actions .resume-topics-btn{
  background:#eee5f7!important;
  color:#5e4478!important;
}

.resume-course-actions button:not(.resume-topics-btn){
  background:#efc6bd!important;
  color:#5c3545!important;
}

/* ===== Bottom nav: KEEP original buttons Home / Directions / Translate / Wise ===== */
.travel-bottom-nav{
  background:rgba(255,250,252,.95)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:24px 24px 0 0!important;
  box-shadow:0 -10px 30px rgba(65,43,77,.16)!important;
  min-height:82px!important;
  padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px))!important;
  gap:5px!important;
}

.travel-bottom-nav .nav-item{
  min-height:62px!important;
  border-radius:17px!important;
  background:transparent!important;
  color:#554661!important;
  padding:8px 4px!important;
}

.travel-bottom-nav .nav-item span{
  color:#6e4d8b!important;
  font-size:25px!important;
}

.travel-bottom-nav .nav-item small{
  color:#554661!important;
  font-size:11px!important;
  font-weight:850!important;
}

.travel-bottom-nav .nav-item.active,
.travel-bottom-nav .nav-item:first-child{
  background:#eee5f7!important;
  color:#57357a!important;
}

/* Top controls: clean pale surface, no competing gradients */
.travel-topbar{
  background:rgba(248,244,252,.90)!important;
  border-bottom:1px solid rgba(117,91,141,.10)!important;
  box-shadow:none!important;
}

.travel-topbar .install-btn,
.travel-topbar .top-icon-btn{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(126,99,149,.14)!important;
  color:#4e3861!important;
  box-shadow:none!important;
}

/* Keep accessible theme behavior */
body.theme-lowvision .home-button-group .home-tile,
body.theme-lowvision .journey-log-main,
body.theme-lowvision .journey-track-toggle,
body.theme-lowvision .saved-places-strip,
body.theme-lowvision .home-resume-strip.v16-resume,
body.theme-lowvision .travel-bottom-nav,
body.theme-lowvision .travel-topbar .install-btn,
body.theme-lowvision .travel-topbar .top-icon-btn{
  background:#fff!important;
  color:#000!important;
  border:2px solid #000!important;
  box-shadow:none!important;
}

/* Shorter phones */
@media(max-width:420px){
  .home-group-label b{
    font-size:17px!important;
  }
  .home-button-group .home-tile{
    height:72px!important;
    min-height:72px!important;
  }
  .home-button-group .home-tile b{
    font-size:13px!important;
  }
}

@media(max-width:520px) and (max-height:740px){
  .v16-hero{
    height:190px!important;
  }
  .home-button-group .home-tile{
    height:66px!important;
    min-height:66px!important;
  }
  .journey-log-main,
  .journey-track-toggle{
    min-height:56px!important;
  }
  .saved-places-strip{
    min-height:58px!important;
  }
  .home-resume-strip.v16-resume{
    min-height:66px!important;
  }
}


/* V55 home grid + notes/memories */
.explore-grid-nine{grid-template-columns:repeat(3,1fr)!important}
.explore-grid-nine .home-tile,.language-grid-even .home-tile{min-height:96px}
.explore-grid-nine .home-tile b,.language-grid-even .home-tile b{font-size:16px}
.explore-grid-nine .home-tile small,.language-grid-even .home-tile small{font-size:11px;line-height:1.2}
@media(max-width:520px){
  .explore-grid-nine .home-tile,.language-grid-even .home-tile{min-height:92px}
  .explore-grid-nine .home-tile b,.language-grid-even .home-tile b{font-size:14px}
  .explore-grid-nine .home-tile small,.language-grid-even .home-tile small{font-size:10px}
}
.notes-card,.memory-card{background:#fff;border:1px solid rgba(125,82,160,.16);border-radius:26px;padding:18px;margin:0 auto 20px;box-shadow:0 10px 28px rgba(56,34,79,.07);display:grid;gap:12px;max-width:720px}
.notes-card label{font-weight:800;color:#6f3e84}
.notes-card textarea{width:100%;min-height:260px;border-radius:18px;border:1px solid rgba(125,82,160,.18);padding:14px;font:inherit;resize:vertical;background:#fcf8ff}
.notes-actions{display:flex;gap:10px;flex-wrap:wrap}
.memory-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.memory-add-btn{cursor:pointer}
.memory-nav{display:flex;gap:8px}
.memory-stage{background:#f7efff;border-radius:22px;overflow:hidden;display:grid;place-items:center;min-height:280px}
.memory-stage img{display:block;width:100%;height:min(62vw,380px);object-fit:cover}
.memory-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#6c6078}
.memory-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px}
.memory-thumb{padding:0;border:2px solid transparent;background:#fff;border-radius:14px;overflow:hidden;aspect-ratio:1}
.memory-thumb.active{border-color:#a64b8b;box-shadow:0 0 0 3px rgba(166,75,139,.15)}
.memory-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.memory-empty{border-radius:22px;background:#fcf8ff;padding:28px;text-align:center;color:#6c6078}
.home-tile.saved,.home-tile.travellog,.home-tile.memories{background:linear-gradient(180deg,#f4ebff 0%,#ebd9ff 100%)}


/* ================= V56 polish fixes ================= */
:root{--app-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
html,body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,.home-tile b,.home-tile small,.resume-course-copy,.home-group-label b,.home-group-label span,.saved-link-card,.notes-card,.memory-card{font-family:var(--app-font)!important;}
.screen#screen-home{padding-left:8px!important;padding-right:8px!important;padding-bottom:92px!important;}
.brand-sun.brand-flower{display:grid;place-items:center;background:#f4c93f;color:#1f2540;font-size:16px;font-weight:900;border-radius:999px;border:0;box-shadow:0 2px 6px rgba(0,0,0,.08);}
.topbar{min-height:56px!important;}
.v56-hero{width:100%!important;max-width:100%!important;height:190px!important;margin:6px 0 8px!important;border-radius:24px!important;overflow:hidden;background:transparent!important;box-shadow:none!important;}
.v56-hero::before,.v56-hero::after{display:none!important;}
.v56-hero .hero-exact-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;background:transparent!important;filter:saturate(.82) brightness(1.06) contrast(.93)!important;}
.home-button-group{width:100%!important;border-radius:20px!important;padding:10px 10px 12px!important;margin:0 0 10px!important;}
.home-group-label{height:auto!important;padding:0 2px 8px!important;}
.home-group-label span{font-size:10px!important;letter-spacing:.08em;text-transform:uppercase;font-weight:800;}
.home-group-label b{font-size:22px!important;}
.home-button-group .home-uniform-grid{gap:8px!important;}
.home-button-group .home-tile{height:86px!important;min-height:86px!important;border-radius:18px!important;padding:8px 6px!important;}
.home-button-group .home-tile span{font-size:24px!important;}
.home-button-group .home-tile b{font-size:15px!important;margin-top:4px!important;}
.home-button-group .home-tile small{font-size:10px!important;line-height:1.15!important;margin-top:2px!important;}
.explore-group .home-tile.purple-tile{background:linear-gradient(180deg,#efe5fb 0%,#e4d4f5 100%)!important;border:1px solid #d5bde8!important;color:#4f2f6b!important;}
.language-group .home-uniform-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
.language-group .home-tile{grid-column:span 2!important;}
.language-group .home-tile:nth-child(4),.language-group .home-tile:nth-child(5){grid-column:span 3!important;}
.home-resume-strip.v16-resume{width:100%!important;min-height:74px!important;padding:12px!important;margin:0 0 10px!important;border-radius:18px!important;}
.home-resume-strip b{font-size:18px!important;}
.home-resume-strip small{font-size:11px!important;}
.resume-course-actions{gap:8px!important;}
.resume-course-actions button{min-height:42px!important;padding:10px 14px!important;font-size:12px!important;border-radius:12px!important;}
.bottom-nav.travel-bottom-nav{grid-template-columns:repeat(4,1fr)!important;min-height:82px!important;padding:8px 8px calc(10px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#d784b3 0%,#8c59b0 100%)!important;border-top:0!important;}
.travel-bottom-nav .nav-item{min-height:62px!important;border-radius:16px!important;color:#fff!important;background:transparent!important;padding:8px 2px!important;}
.travel-bottom-nav .nav-item span{font-size:25px!important;}
.travel-bottom-nav .nav-item small{font-size:12px!important;color:#fff!important;font-weight:800;}
.travel-bottom-nav .nav-item.active{background:rgba(255,255,255,.14)!important;color:#fff!important;}
.notes-card textarea{font-size:16px!important;}
.memory-help{display:block;margin:8px 0 10px;color:var(--muted);font-size:12px;line-height:1.35;}
.memory-add-btn{min-height:42px!important;padding:10px 14px!important;}
@media(max-width:520px){.v56-hero{height:174px!important}.home-group-label b{font-size:20px!important}.home-button-group .home-tile{height:82px!important;min-height:82px!important}.home-button-group .home-tile b{font-size:14px!important}.home-button-group .home-tile small{font-size:9.4px!important}.home-resume-strip b{font-size:17px!important}.travel-bottom-nav .nav-item small{font-size:11px!important}}
@media(max-width:420px){.screen#screen-home{padding-left:6px!important;padding-right:6px!important}.v56-hero{height:162px!important}.home-button-group{padding:8px 8px 10px!important}.home-button-group .home-uniform-grid{gap:6px!important}.home-button-group .home-tile{height:74px!important;min-height:74px!important}.home-button-group .home-tile span{font-size:20px!important}.home-button-group .home-tile b{font-size:12.5px!important}.home-button-group .home-tile small{font-size:8.3px!important}.home-resume-strip.v16-resume{min-height:66px!important}.home-resume-strip small{font-size:10px!important}.resume-course-actions button{min-height:38px!important;padding:8px 10px!important}.travel-bottom-nav .nav-item span{font-size:22px!important}.travel-bottom-nav .nav-item small{font-size:10px!important}}


/* ================= V57 requested fixes ================= */
:root{--app-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
html,body,button,input,select,textarea,option,label,small,strong,b,p,a,h1,h2,h3,h4,h5,h6,.brand-mini,.page-intro,.home-button-group,.home-resume-strip,.sheet{font-family:var(--app-font)!important;}
.brand-flower{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;background:transparent!important;overflow:hidden!important;border-radius:50%!important;box-shadow:0 2px 7px rgba(78,54,24,.16)!important;}
.brand-flower svg{display:block;width:30px;height:30px;}
/* Show the complete new 16:9 hero; no old blurred duplicate or filler layer. */
.v56-hero,.v57-hero,.v16-hero{width:100%!important;height:auto!important;aspect-ratio:16/9!important;margin:6px 0 10px!important;border-radius:22px!important;overflow:hidden!important;background:transparent!important;box-shadow:0 8px 22px rgba(87,50,99,.09)!important;}
.v56-hero::before,.v56-hero::after,.v57-hero::before,.v57-hero::after,.v16-hero::before,.v16-hero::after{display:none!important;content:none!important;}
.v56-hero .hero-exact-img,.v57-hero .hero-exact-img,.v16-hero .hero-exact-img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;filter:saturate(.88) brightness(1.04) contrast(.96)!important;}
/* Four bottom actions fit on one line. */
.bottom-nav.travel-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:min(780px,100%)!important;gap:3px!important;}
.travel-bottom-nav .nav-item{min-width:0!important;}
.travel-bottom-nav .nav-item small{white-space:nowrap!important;font-size:10.5px!important;}
/* Notes as real saved note cards. */
.notes-new-card label{display:grid;gap:5px;}
.notes-new-card input,.notes-new-card textarea,.note-edit-body{width:100%;border:1px solid #dccfe0;border-radius:14px;background:#fff;padding:11px 12px;color:var(--ink);font:inherit;}
.notes-list{display:grid;gap:10px;margin-bottom:22px;}
.note-item{background:#fff;border:1px solid #e5d9e4;border-radius:18px;padding:12px;box-shadow:0 5px 16px rgba(53,41,55,.05);}
.note-item-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px;}
.note-item-head h3{margin:0 0 2px;font-size:16px;}.note-item-head small{color:var(--muted);font-size:9px;}
.note-item-actions{display:flex;justify-content:flex-end;margin-top:7px;}.note-item-actions button{border:0;border-radius:11px;background:#eee2f6;color:#633c78;padding:8px 10px;font-weight:900;}
/* Memories gallery / slideshow. */
.memory-card{background:#fff;border:1px solid #e5d9e4;border-radius:22px;padding:14px;box-shadow:0 7px 20px rgba(53,41,55,.06);}
.memory-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}.memory-nav{display:flex;gap:6px;}.memory-help{display:block;margin:8px 0 10px;color:var(--muted);font-size:10px;line-height:1.35;}
.memory-stage{background:#f7effb;border-radius:18px;overflow:hidden;display:grid;place-items:center;min-height:230px;}.memory-stage img{display:block;width:100%;max-height:62vh;object-fit:contain;background:#f7effb;}
.memory-meta{display:flex;justify-content:space-between;gap:10px;margin:8px 2px;color:var(--muted);}.memory-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}.memory-thumb{padding:0;border:2px solid transparent;background:#fff;border-radius:12px;overflow:hidden;aspect-ratio:1;}.memory-thumb.active{border-color:#8d4fa6;}.memory-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.memory-empty{padding:28px 12px;text-align:center;background:#faf5fc;border-radius:18px;color:var(--muted);}
/* Keep the 3x3 travel tools and five existing Language buttons evenly spaced. */
.explore-grid-nine{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.language-group .home-uniform-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;}
.language-group .home-tile{grid-column:span 2!important;}.language-group .home-tile:nth-child(4),.language-group .home-tile:nth-child(5){grid-column:span 3!important;}
@media(max-width:420px){.travel-bottom-nav .nav-item small{font-size:9px!important}.memory-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));}.brand-flower,.brand-flower svg{width:28px!important;height:28px!important;min-width:28px!important;}}


/* ================= V58 five-button bottom bar ================= */
.bottom-nav.travel-bottom-nav{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:2px!important;
  width:min(780px,100%)!important;
  padding-left:5px!important;
  padding-right:5px!important;
}
.travel-bottom-nav .nav-item{
  min-width:0!important;
  padding-left:1px!important;
  padding-right:1px!important;
}
.travel-bottom-nav .nav-item span{font-size:23px!important;}
.travel-bottom-nav .nav-item small{
  font-size:9.5px!important;
  white-space:nowrap!important;
  letter-spacing:-.02em!important;
}
@media(max-width:390px){
  .travel-bottom-nav .nav-item span{font-size:21px!important;}
  .travel-bottom-nav .nav-item small{font-size:8.4px!important;}
}


/* ================= V59 requested moves ================= */
/* Fill the curved hero completely — no white bands from aspect-ratio mismatch. */
.v56-hero,.v57-hero,.v16-hero{aspect-ratio:1774/887!important;background:transparent!important;}
.v56-hero .hero-exact-img,.v57-hero .hero-exact-img,.v16-hero .hero-exact-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;background:transparent!important;}
/* New top Explore & Travel shortcuts; keep the existing tab layout underneath. */
.explore-shortcuts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 8px;}
.explore-shortcuts-grid .home-tile{height:76px!important;min-height:76px!important;border-radius:17px!important;padding:8px 6px!important;background:linear-gradient(180deg,#eee3fb 0%,#ddc8f4 100%)!important;border:1px solid #ceb2e5!important;color:#4f2f6b!important;}
.explore-shortcuts-grid .home-tile span{font-size:22px!important;font-weight:900!important;}
.explore-shortcuts-grid .home-tile b{font-size:14px!important;}
.explore-shortcuts-grid .home-tile small{font-size:9px!important;}
/* Bottom bar back to four actions: Home, Directions, Translate, Wise. */
.bottom-nav.travel-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;padding-left:8px!important;padding-right:8px!important;}
.travel-bottom-nav .nav-item span{font-size:25px!important;}
.travel-bottom-nav .nav-item small{font-size:10.5px!important;letter-spacing:0!important;}
@media(max-width:420px){
  .explore-shortcuts-grid{gap:6px;margin-bottom:6px;}
  .explore-shortcuts-grid .home-tile{height:68px!important;min-height:68px!important;}
  .explore-shortcuts-grid .home-tile b{font-size:12.5px!important;}
  .explore-shortcuts-grid .home-tile small{font-size:8px!important;}
  .travel-bottom-nav .nav-item span{font-size:22px!important;}
  .travel-bottom-nav .nav-item small{font-size:9.5px!important;}
}


/* ================= V61 expanded Settings ================= */
.settings-subgroup{margin-top:12px}.settings-subtitle{display:block;font-size:10px;font-weight:900;color:#786b7d;margin:0 0 7px;text-transform:uppercase;letter-spacing:.06em}
.settings-three{grid-template-columns:repeat(3,1fr)!important}.settings-four{grid-template-columns:repeat(4,1fr)!important}
.settings-help{margin:-3px 0 9px;color:var(--muted);font-size:11px;line-height:1.35}
.tile-visibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tile-visibility-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #eadfe8;border-radius:12px;background:#fff;font-size:12px;font-weight:750}.tile-visibility-grid input{width:18px;height:18px;accent-color:#8d2c8f}
.quick-link-settings{display:grid;gap:8px}.quick-link-settings label{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:8px}.quick-link-settings label span{font-size:11px;font-weight:850;color:#716574}.settings-select,.quick-link-settings select{width:100%;min-height:42px;border:1px solid #dfd2e0;border-radius:12px;background:#fff;padding:8px 10px;color:var(--ink);font:inherit}
.settings-goal-progress{display:grid;gap:7px;margin-top:11px;padding:11px;border-radius:14px;background:#faf5fc;border:1px solid #eee2f2}.settings-goal-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.settings-goal-progress b{font-size:12px}.settings-goal-progress small{font-size:9px;color:var(--muted);text-align:right}.goal-progress-track{height:8px;border-radius:999px;background:#eadff0;overflow:hidden}.goal-progress-track span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#e99a87,#8c59b0);transition:width .25s ease}
.compact-toggle{margin-top:9px;padding-bottom:0}.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-action-btn{border:0;border-radius:13px;min-height:42px;padding:9px 10px;background:linear-gradient(135deg,#e99181,#9651aa);color:#fff;font-weight:900}.settings-action-btn.secondary{background:#eee5f7;color:#5f4077;border:1px solid #decee8}.about-card{padding:12px;border-radius:16px;background:#faf7fb;border:1px solid #eadfe8}.about-card>b{display:block;font-size:14px}.about-card p{font-size:10.5px;color:var(--muted);line-height:1.45;margin:6px 0 10px}
.daily-goal-home{width:100%;margin:-2px 0 10px;padding:9px 12px;border:1px solid #eadfea;border-radius:14px;background:rgba(255,250,252,.9)}.daily-goal-home>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.daily-goal-home b{font-size:11px}.daily-goal-home span{font-size:10px;color:#6f5d73;font-weight:800}
body.text-size-small{font-size:14px}body.text-size-standard{font-size:16px}body.text-size-large{font-size:18px}
body.text-size-small .home-tile b{font-size:12px!important}body.text-size-small .home-tile small{font-size:8px!important}body.text-size-large .home-tile b{font-size:16px!important}body.text-size-large .home-tile small{font-size:11px!important}
body.text-size-small .page-intro h1{font-size:34px!important}body.text-size-large .page-intro h1{font-size:44px!important}body.text-size-small .page-intro p{font-size:11px!important}body.text-size-large .page-intro p{font-size:15px!important}
body.text-size-small .phrase-pt{font-size:15px!important}body.text-size-large .phrase-pt{font-size:20px!important}body.text-size-small .phrase-phon,body.text-size-small .phrase-en{font-size:12px!important}body.text-size-large .phrase-phon,body.text-size-large .phrase-en{font-size:16px!important}
body.tile-size-compact .home-button-group .home-tile,body.tile-size-compact .explore-shortcuts-grid .home-tile{height:62px!important;min-height:62px!important;padding:5px 4px!important}body.tile-size-compact .home-button-group .home-tile span,body.tile-size-compact .explore-shortcuts-grid .home-tile span{font-size:18px!important}
body.tile-size-standard .home-button-group .home-tile{height:82px!important;min-height:82px!important}body.tile-size-standard .explore-shortcuts-grid .home-tile{height:72px!important;min-height:72px!important}
body.tile-size-large .home-button-group .home-tile,body.tile-size-large .explore-shortcuts-grid .home-tile{height:106px!important;min-height:106px!important;padding:10px 7px!important}body.tile-size-large .home-button-group .home-tile span,body.tile-size-large .explore-shortcuts-grid .home-tile span{font-size:29px!important}
body.theme-lowvision.text-size-small,body.theme-lowvision.text-size-standard,body.theme-lowvision.text-size-large{font-size:18px!important}
@media(max-width:420px){.tile-visibility-grid{grid-template-columns:1fr 1fr}.settings-four{grid-template-columns:repeat(2,1fr)!important}.backup-actions{grid-template-columns:1fr}.quick-link-settings label{grid-template-columns:76px 1fr}.settings-goal-progress>div:first-child{align-items:flex-start;flex-direction:column}.settings-goal-progress small{text-align:left}}


/* ================= V62 direct Maps + unified contemporary icons ================= */
.tile-icon{
  width:34px!important;height:34px!important;min-width:34px!important;
  display:grid!important;place-items:center!important;margin:0 auto!important;
  border-radius:12px!important;background:rgba(112,73,154,.55)!important;
  color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important;
  font-size:0!important;line-height:1!important;
}
.tile-icon svg,.nav-line-icon svg,.top-line-icon svg{
  width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.language-group .tile-icon{background:rgba(207,112,120,.58)!important;}
.explore-shortcuts-grid .tile-icon,.explore-group .purple-tile .tile-icon{background:rgba(105,69,148,.60)!important;}
.explore-group .home-tile:not(.purple-tile) .tile-icon{background:rgba(132,89,155,.48)!important;}
.home-button-group .home-tile>span.tile-icon{font-size:0!important;margin:0 auto!important;}
.explore-shortcuts-grid .home-tile>span.tile-icon{font-size:0!important;margin:0 auto!important;}
.nav-line-icon{width:25px;height:25px;display:grid;place-items:center;color:#fff;}
.travel-bottom-nav .nav-item .nav-line-icon{font-size:0!important;}
.travel-bottom-nav .nav-item .nav-line-icon svg{width:23px;height:23px;}
.modern-settings{background:#cba8dc!important;color:#fff!important;border:0!important;}
.top-line-icon{width:22px;height:22px;display:grid;place-items:center;color:#fff;}
.top-line-icon svg{width:19px;height:19px;}
/* Weather must use exactly the same title sizing as every other Home tile. */
body.text-size-standard .home-button-group .home-tile.weather b{font-size:15px!important;}
body.text-size-small .home-button-group .home-tile.weather b{font-size:12px!important;}
body.text-size-large .home-button-group .home-tile.weather b{font-size:16px!important;}
/* Google shortcut is search only; no Maps wording is shown under it. */
@media(max-width:520px){
  body.text-size-standard .home-button-group .home-tile.weather b{font-size:14px!important;}
  .tile-icon{width:31px!important;height:31px!important;min-width:31px!important;border-radius:11px!important;}
  .tile-icon svg{width:18px;height:18px;}
}
@media(max-width:420px){
  body.text-size-standard .home-button-group .home-tile.weather b{font-size:12.5px!important;}
  .tile-icon{width:29px!important;height:29px!important;min-width:29px!important;border-radius:10px!important;}
  .tile-icon svg{width:17px;height:17px;}
}
body.theme-lowvision .tile-icon{background:#000!important;color:#fff!important;border:2px solid #000!important;}


/* ================= V63 clearer Speak exercise ================= */
.speak-page-intro{padding-bottom:10px!important;}
.speaking-exercise-badge{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;background:#eee3f8;color:#6f3e84;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;}
.speak-page-intro h1{margin-top:0!important;}
.speak-exercise-card .challenge-prompt{padding:16px!important;}
.exercise-step-heading{display:flex;align-items:center;gap:10px;margin:0 0 9px;}
.exercise-step-heading>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#7d4e98;color:#fff;font-size:13px;font-weight:900;flex:0 0 auto;}
.exercise-step-heading>div{display:grid;gap:1px;}
.exercise-step-heading b{font-size:15px;color:#4d315d;}
.exercise-step-heading small{font-size:9.5px;color:var(--muted);line-height:1.25;}
.speak-primary-prompt{margin:0 0 10px!important;padding:15px!important;border:2px solid #d6bde8!important;border-radius:18px!important;background:linear-gradient(145deg,#fbf6ff,#f3e8fb)!important;}
.speak-primary-prompt .challenge-label{color:#7a4896!important;font-size:9px!important;font-weight:900!important;letter-spacing:.08em!important;}
.speak-primary-prompt .say-this-text{font-size:24px!important;line-height:1.2!important;font-weight:850!important;color:#34253c!important;margin-top:5px!important;}
.record-first-row{display:grid;grid-template-columns:minmax(0,auto) 1fr;align-items:center;gap:10px;margin-bottom:5px;}
.record-first-row .mic-btn{min-height:48px;padding:12px 17px;font-size:13px;border-radius:15px;}
.record-first-row>small{font-size:9.5px;line-height:1.3;color:var(--muted);}
.speak-context-lower{margin-top:16px!important;padding:11px 12px!important;border-radius:14px!important;background:#f8f5f9!important;border:1px solid #e9dfec!important;}
.speak-context-lower .situation-context{font-size:13px!important;line-height:1.35!important;}
.exercise-check-heading{margin-top:18px!important;}
.exercise-check-heading>span{background:#d88b74;}
.challenge-actions-check{margin-top:8px!important;}
.challenge-actions-check .reveal-btn{width:100%;min-height:46px;font-size:12px;}
@media(max-width:420px){
  .speak-primary-prompt .say-this-text{font-size:21px!important;}
  .record-first-row{grid-template-columns:1fr;}
  .record-first-row .mic-btn{width:100%;}
  .record-first-row>small{text-align:center;}
}
body.theme-lowvision .speaking-exercise-badge,body.theme-lowvision .exercise-step-heading>span,body.theme-lowvision .speak-primary-prompt,body.theme-lowvision .speak-context-lower{background:#fff!important;color:#000!important;border:2px solid #000!important;}


/* ================= V64 bilingual voice contact ================= */
.contact-head-actions .voice-contact-language{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:39px;
  padding:8px 10px;
}
.contact-mic-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  flex:0 0 auto;
}
.contact-mic-icon svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.voice-contact-btn.english{
  background:linear-gradient(135deg,#7f69b5,#b98bc9);
}
@media(max-width:520px){
  .contact-head-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr auto;
    width:100%;
  }
  .contact-head-actions .voice-contact-language{
    width:100%;
    font-size:10.5px;
  }
  .contact-head-actions .paste-btn{min-width:62px;}
}
@media(max-width:390px){
  .contact-head-actions{
    grid-template-columns:1fr 1fr;
  }
  .contact-head-actions .paste-btn{grid-column:1/-1;width:100%;}
}

/* V65 settings icon and app icon refresh */
.top-actions .icon-btn.modern-settings{background:linear-gradient(180deg,#ab78cf,#8d59b2)!important;color:#fff!important;border:2px solid rgba(255,255,255,.95)!important;box-shadow:0 8px 18px rgba(126,82,161,.28)!important;}
.top-actions .icon-btn.modern-settings .top-line-icon,
.top-actions .icon-btn.modern-settings svg{color:#fff!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;}


/* ================= V70 beautiful home + quiet help centre ================= */
.home-smart-search{margin:7px 0 10px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(250,244,255,.94));border:1px solid rgba(126,84,151,.13);border-radius:20px;padding:9px;box-shadow:0 8px 24px rgba(76,43,96,.07);position:relative;z-index:3}
.home-search-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;background:#fff;border:1px solid rgba(126,84,151,.16);border-radius:16px;padding:4px 6px 4px 10px;min-height:52px}
.home-search-icon,.home-search-mic-icon{display:grid;place-items:center;color:#76518f}.home-search-icon svg,.home-search-mic-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#homeSmartSearch{width:100%;border:0;outline:0;background:transparent;font:700 15px/1.25 var(--app-font);color:#3f3150;padding:10px 2px}
#homeSmartSearch::placeholder{color:#8d8197;font-weight:650}
.home-voice-search{width:42px;height:42px;border-radius:13px;border:0;background:linear-gradient(145deg,#f2e3fb,#e9d7f6);color:#6e4388;display:grid;place-items:center;padding:0;box-shadow:none}
.home-voice-search.listening{animation:v70MicPulse 1s infinite;background:linear-gradient(145deg,#ffe1e8,#ffd2dc)}
@keyframes v70MicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.home-search-hint{font-size:10.5px;color:#83768b;padding:6px 5px 0;line-height:1.3}
.home-search-results{display:grid;gap:5px;margin-top:7px;border-top:1px solid rgba(126,84,151,.10);padding-top:7px}
.home-search-result{border:0;background:#fff;border-radius:13px;padding:9px 11px;text-align:left;display:flex;justify-content:space-between;gap:10px;align-items:center;box-shadow:none;color:#463551}
.home-search-result span{font-weight:850}.home-search-result small{color:#8a7a92;font-size:10px;text-align:right}.home-search-empty{padding:10px;color:#7c6d84;font-size:12px}
.v70-bottom-hero{margin-top:12px!important;margin-bottom:5px!important;height:175px!important}
.home-tile.help{background:linear-gradient(180deg,#f4ebff 0%,#ebd9ff 100%)!important;border:1px solid #d5bde8!important;color:#4f2f6b!important}

/* Help is intentionally calm and visually secondary to the rest of Brazil. */
#screen-help{padding-bottom:104px}
.help-page-intro{margin-bottom:10px}.help-page-intro h1{margin-bottom:5px}.help-page-intro p{max-width:720px}
.help-calm-note{max-width:760px;margin:0 auto 13px;background:linear-gradient(145deg,#f6f1fb,#f1f8f8);border:1px solid rgba(100,81,127,.12);border-radius:20px;padding:14px 16px;display:grid;gap:3px;color:#51465b}.help-calm-note b{font-size:14px}.help-calm-note span{font-size:12px;line-height:1.45;color:#73677b}
.help-choice-grid{max-width:760px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.help-choice{border:1px solid rgba(84,65,98,.10);border-radius:20px;padding:15px 10px;background:#fff;display:grid;gap:4px;place-items:center;text-align:center;color:#44384e;min-height:112px;box-shadow:0 8px 22px rgba(60,41,75,.06)}
.help-choice>span{font-size:27px}.help-choice b{font-size:14px}.help-choice small{font-size:10.5px;line-height:1.25;color:#786d7e}.help-choice.active{box-shadow:0 0 0 2px rgba(135,87,162,.18),0 10px 24px rgba(60,41,75,.08)}
.help-choice.emergency{background:linear-gradient(145deg,#fff8f6,#fff)}.help-choice.health{background:linear-gradient(145deg,#f3fbf8,#fff)}.help-choice.scam{background:linear-gradient(145deg,#f6f3fc,#fff)}
.help-detail-panel{max-width:760px;margin:0 auto 18px;scroll-margin-top:72px}.help-panel-head{padding:4px 2px 11px}.help-panel-head>span{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#8a5aa0}.help-panel-head h2{font-size:23px;line-height:1.12;margin:3px 0 6px;color:#3f3150}.help-panel-head p{margin:0;color:#6f6576;font-size:13px;line-height:1.5}
.help-number-list{display:grid;gap:8px;margin-bottom:10px}.help-number-card{display:grid;grid-template-columns:64px 1fr auto;gap:11px;align-items:center;background:#fff;border:1px solid rgba(87,67,99,.11);border-radius:19px;padding:11px;text-decoration:none;color:#44384e;box-shadow:0 7px 18px rgba(62,41,75,.05)}.help-number{font-size:24px;font-weight:950;color:#7b4e91;text-align:center}.help-number-card div{display:grid;gap:2px}.help-number-card b{font-size:13.5px}.help-number-card small{font-size:10.5px;line-height:1.35;color:#766b7b}.help-number-card strong{background:#efe2f7;color:#6b3f82;border-radius:12px;padding:9px 10px;font-size:11px}
.help-step-card,.help-info-card,.help-consular-card,.help-phrases,.help-details{background:#fff;border:1px solid rgba(87,67,99,.11);border-radius:20px;padding:15px;margin:9px 0;box-shadow:0 7px 18px rgba(62,41,75,.045);color:#4b4054}.help-step-card h3,.help-info-card h3,.help-consular-card h3,.help-phrases h3{font-size:16px;margin:0 0 8px;color:#513862}.help-step-card ol{margin:0;padding-left:20px;display:grid;gap:7px}.help-step-card li,.help-info-card p,.help-consular-card p,.help-detail-copy p{font-size:12px;line-height:1.5;color:#685f6e}.help-info-card p,.help-consular-card p{margin:0 0 10px}.help-details summary{cursor:pointer;font-weight:850;color:#5c426d;font-size:13px}.help-detail-copy{padding-top:8px}.help-detail-copy p{margin:6px 0}
.help-action-row{display:flex;flex-wrap:wrap;gap:8px}.help-action-row a,.help-action-row button,.help-source-row button{border:0;text-decoration:none;background:#eee2f6;color:#623f78;border-radius:13px;padding:10px 12px;font:800 11px/1.25 var(--app-font);text-align:left}.help-action-row a b{font-size:11px}.help-consular-card small{display:block;margin-top:9px;color:#7d7182;font-size:10px;line-height:1.4}
.help-phrase-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid rgba(100,81,127,.08)}.help-phrase-row:first-of-type{border-top:0}.help-phrase-row>div:first-child{display:grid;gap:2px}.help-phrase-row b{font-size:13px;color:#3d3345}.help-phrase-row small{font-size:10.5px;color:#776d7c}.help-phrase-actions{display:flex;gap:5px}.help-phrase-actions button{border:0;border-radius:11px;background:#f1e8f7;color:#67457a;padding:8px 9px;font:800 10px var(--app-font)}
.help-source-row{display:flex;justify-content:flex-start;margin-top:9px}.help-footer-note{max-width:760px;margin:14px auto 0;padding:13px 15px;border-radius:18px;background:#f7f4f8;color:#716777;display:grid;gap:4px}.help-footer-note b{font-size:11px}.help-footer-note span{font-size:9.8px;line-height:1.4}
body.theme-lowvision .home-smart-search,body.theme-lowvision .help-choice,body.theme-lowvision .help-step-card,body.theme-lowvision .help-info-card,body.theme-lowvision .help-consular-card,body.theme-lowvision .help-phrases,body.theme-lowvision .help-details,body.theme-lowvision .help-number-card{background:#fff!important;color:#000!important;border:2px solid #000!important;box-shadow:none!important}
@media(max-width:520px){.help-choice-grid{gap:6px}.help-choice{min-height:100px;padding:12px 6px}.help-choice b{font-size:12px}.help-choice small{font-size:9px}.help-number-card{grid-template-columns:54px 1fr auto;gap:8px;padding:10px}.help-number{font-size:21px}.help-number-card b{font-size:12px}.help-number-card small{font-size:9.5px}.help-panel-head h2{font-size:21px}.v70-bottom-hero{height:160px!important}}
@media(max-width:380px){.help-choice-grid{grid-template-columns:1fr}.help-choice{grid-template-columns:auto 1fr;place-items:center start;text-align:left;min-height:70px;padding:10px 14px}.help-choice>span{grid-row:1/3;font-size:25px}.help-choice small{font-size:10px}.help-number-card{grid-template-columns:48px 1fr}.help-number-card strong{grid-column:2;justify-self:start;padding:7px 9px}.help-phrase-row{grid-template-columns:1fr}.help-phrase-actions{justify-content:flex-start}}
