:root{
  --bg:#04040d;
  --bg2:#101333;
  --panel:rgba(255,255,255,.082);
  --panel2:rgba(255,255,255,.13);
  --gold:#f3d98b;
  --gold-bright:#ffe8a3;
  --champagne:#ead9aa;
  --gold2:#9f762e;
  --indigo:#282765;
  --violet:#4a397e;
  --text:#fff9e8;
  --muted:#d7ccb0;
  --line:rgba(234,217,170,.22);
  --shadow:0 24px 80px rgba(0,0,0,.42);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 10%,rgba(56,50,118,.22) 0,rgba(31,31,76,.16) 24%,rgba(12,14,39,.96) 52%,#04040d 88%);color:var(--text);font-family:Georgia,'Times New Roman',serif;line-height:1.62;overflow-x:hidden;-webkit-text-size-adjust:100%}
.cosmos{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#ffffff80 1px,transparent 1px),radial-gradient(#f7d97866 1px,transparent 1px);background-size:70px 70px,120px 120px;animation:floatStars 18s linear infinite;opacity:.32;z-index:-1}
@keyframes floatStars{to{background-position:70px 140px,120px 240px}}
.hero{padding:34px clamp(14px,3vw,28px) 20px;text-align:center;max-width:1220px;margin:0 auto}.brand-badge,.eyebrow,.tag{display:inline-block;border:1px solid rgba(247,217,120,.45);background:rgba(247,217,120,.10);color:var(--gold);border-radius:999px;padding:7px 13px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.tag{font-size:.72rem;padding:5px 10px}h1{font-size:clamp(2rem,6.2vw,4.7rem);line-height:1.04;margin:16px auto 12px;max-width:980px;text-shadow:0 2px 18px rgba(0,0,0,.48),0 0 18px rgba(247,217,120,.10)}.subtitle{max-width:820px;margin:0 auto 22px;color:#ead9a6;font-size:clamp(1rem,2.1vw,1.25rem);text-shadow:0 2px 12px rgba(0,0,0,.72)}
.main-nav{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;max-width:1080px;margin:22px auto 0}.main-nav button{min-height:58px}
button{border:0;border-radius:16px;padding:13px 16px;cursor:pointer;font-weight:700;font-family:inherit;font-size:1rem;color:#211501;background:linear-gradient(135deg,var(--gold),#fff0ad 48%,var(--gold2));box-shadow:0 8px 20px rgba(0,0,0,.24);transition:transform .2s,filter .2s,box-shadow .2s}button:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 11px 26px rgba(0,0,0,.31)}button:active{transform:translateY(0)}button.ghost{background:rgba(255,255,255,.10);color:var(--text);border:1px solid rgba(247,217,120,.28)}button.primary{font-size:1.06rem;padding:15px 22px}
main{width:min(1220px,100%);margin:0 auto;padding:12px clamp(12px,3vw,20px) 50px}.section{display:none}.section.active{display:block}.panel{background:linear-gradient(145deg,rgba(255,255,255,.125),rgba(255,255,255,.055));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,3.2vw,28px);margin:18px 0;backdrop-filter:blur(10px)}.intro-panel{max-width:900px;margin:20px auto}.sticky-tools{position:sticky;top:10px;z-index:10}h2{font-size:clamp(1.55rem,4.4vw,2.75rem);line-height:1.12;margin:10px 0 8px}h3{font-size:clamp(1.12rem,2.8vw,1.45rem);line-height:1.22;margin:12px 0 8px;color:var(--gold)}p{color:#fff6d8;margin:0 0 12px}strong{color:#fff2b9}input,textarea{width:100%;border-radius:16px;border:1px solid rgba(247,217,120,.35);background:rgba(5,5,17,.58);color:var(--text);padding:15px 16px;margin:8px 0 12px;font:inherit;outline:none;min-height:48px}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(247,217,120,.14)}.actions,.result-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.search-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.oracle-stage{margin:22px 0}.ritual{text-align:center;max-width:960px;margin:0 auto}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:10px;margin:22px auto 4px;max-width:1100px}.card-back{aspect-ratio:2/3;border-radius:12px;border:1px solid rgba(247,217,120,.42);background:radial-gradient(circle at 50% 30%,rgba(247,217,120,.40),rgba(247,217,120,.06) 35%,rgba(13,16,55,.96) 70%),linear-gradient(135deg,#151948,#060616);box-shadow:0 12px 28px rgba(0,0,0,.34),inset 0 0 0 2px rgba(255,255,255,.08);position:relative;min-height:82px;transition:transform .28s,box-shadow .28s}.card-back:before{content:'✦';position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:1.45rem;text-shadow:0 0 20px rgba(247,217,120,.7)}.card-back:hover{transform:translateY(-6px) rotate(1deg);box-shadow:0 18px 42px rgba(247,217,120,.20)}.shuffling .card-back{animation:shuffle .55s ease-in-out infinite alternate}@keyframes shuffle{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-10px) rotate(2deg)}}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin:20px 0}.single-result{grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:start}.card-box{background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(247,217,120,.24);border-radius:22px;padding:14px;box-shadow:var(--shadow);text-align:center;transition:transform .18s,outline-color .18s}.card-box img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:16px;display:block;box-shadow:0 15px 35px rgba(0,0,0,.45);background:#111}.card-box h3{font-size:1.06rem}.card-box p{font-size:.94rem;color:#efe4bd}.reading{background:rgba(255,255,255,.085);border:1px solid rgba(247,217,120,.20);border-radius:22px;padding:clamp(16px,3vw,24px);margin:18px 0;box-shadow:0 15px 45px rgba(0,0,0,.25);overflow-wrap:anywhere}.reading .part{border-top:1px solid rgba(247,217,120,.14);padding-top:14px;margin-top:14px}.reading .part:first-child{border-top:0;padding-top:0;margin-top:0}.library-card{cursor:pointer}.library-card:hover{outline:2px solid rgba(247,217,120,.55);transform:translateY(-3px)}.journey-progress{height:14px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin:14px 0}.journey-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:999px}.empty{text-align:center;color:var(--muted);padding:24px}.detail-wrap{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:22px;align-items:start}.detail-image{position:sticky;top:16px}.detail-image img{width:100%;height:auto;object-fit:contain;border-radius:20px;box-shadow:var(--shadow);background:#111}footer{text-align:center;color:var(--muted);padding:28px 16px 42px}
@media (min-width:1200px){.deck-grid{grid-template-columns:repeat(14,1fr)}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(195px,1fr))}}
@media (max-width:980px){.main-nav{grid-template-columns:repeat(2,1fr)}.single-result,.detail-wrap{grid-template-columns:1fr}.detail-image{position:static;max-width:430px;margin:0 auto}.sticky-tools{position:static}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}}
@media (max-width:620px){html{font-size:15px}.hero{padding-top:24px}.main-nav{grid-template-columns:1fr}.panel{border-radius:20px}.search-row{grid-template-columns:1fr}.actions button,.result-toolbar button{width:100%;min-height:50px}.deck-grid{grid-template-columns:repeat(4,1fr);gap:8px}.card-back{min-height:76px;border-radius:10px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.single-result{display:block}.card-box{padding:9px;border-radius:18px}.card-box h3{font-size:.94rem}.card-box p{display:none}.reading{border-radius:18px}.brand-badge,.eyebrow,.tag{font-size:.7rem}.detail-image{max-width:360px}}
@media (max-width:380px){.deck-grid{grid-template-columns:repeat(3,1fr)}.cards-grid{grid-template-columns:1fr}.card-box p{display:block}}

.install-wrap{max-width:520px;margin:18px auto 4px;text-align:center}.install-hint{font-size:.9rem;color:var(--muted);margin-top:8px}.install-wrap button{width:100%}

.ios-install-guide{position:relative;max-width:620px;margin:18px auto 24px;padding:22px 22px 18px;border:1px solid rgba(247,217,120,.55);border-radius:24px;background:linear-gradient(145deg,rgba(20,23,65,.98),rgba(5,5,18,.98));box-shadow:0 20px 60px rgba(0,0,0,.45);text-align:left}.ios-install-guide[hidden]{display:none}.ios-install-guide h2{text-align:center;color:var(--gold);margin:4px 32px 12px}.ios-install-guide p{color:var(--text)}.ios-install-guide ol{margin:12px 0 14px;padding-left:24px;color:#fff6d8}.ios-install-guide li{margin:10px 0}.ios-guide-icon{text-align:center;font-size:2rem}.ios-guide-close{position:absolute;right:12px;top:10px;width:38px;height:38px;min-height:0;padding:0;border-radius:50%;font-size:1.5rem;line-height:1;background:rgba(255,255,255,.10);color:var(--text);border:1px solid rgba(247,217,120,.28);box-shadow:none}.ios-guide-note{font-size:.9rem;color:var(--muted)!important;border-top:1px solid rgba(247,217,120,.18);padding-top:12px;margin-bottom:0!important}

/* Interpretação personalizada da carta */
.ai-reading-panel{max-width:920px;margin:24px auto 12px;border-color:rgba(247,217,120,.55)}
.ai-reading-panel h3{margin-top:0}.ai-reading-panel button:disabled{opacity:.6;cursor:wait}
.ai-interpretation{margin-top:16px}.ai-response-text{white-space:normal;line-height:1.85;background:rgba(5,5,18,.48);border:1px solid var(--line);padding:20px;border-radius:16px;overflow-wrap:anywhere}
.ai-disclaimer{font-size:.85rem;color:var(--muted);margin-top:18px}.ai-error{color:#ffd4ca}
#revealedCard:focus,#oracleResponseStart:focus{outline:3px solid rgba(247,217,120,.8);outline-offset:6px;border-radius:22px}

/* Controles de voz */
.voice-settings{flex-basis:100%;display:grid;grid-template-columns:auto minmax(220px,1fr) auto minmax(150px,.55fr) auto;gap:10px;align-items:center;margin-top:4px;padding:14px;border:1px solid rgba(247,217,120,.25);border-radius:16px;background:rgba(5,5,18,.48)}
.voice-settings[hidden]{display:none}.voice-settings label{color:var(--gold);font-weight:700}.voice-settings select{min-height:46px;border-radius:12px;border:1px solid rgba(247,217,120,.35);background:#11142f;color:var(--text);padding:9px 11px;font:inherit;max-width:100%}.voice-settings .voice-test{min-height:46px}
@media(max-width:720px){.voice-settings{grid-template-columns:1fr}.voice-settings label{margin-top:4px}.voice-settings select,.voice-settings .voice-test{width:100%}}

/* Player avançado de leitura */
.voice-player{flex-basis:100%;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(247,217,120,.25);border-radius:16px;background:rgba(5,5,18,.48)}
.voice-player[hidden]{display:none}.voice-progress{color:var(--muted);font-size:.9rem;flex:1;min-width:220px}.voice-readable{cursor:pointer;border-radius:12px;transition:background .2s,box-shadow .2s}.voice-readable:hover{background:rgba(247,217,120,.06)}.voice-readable:focus{outline:2px solid rgba(247,217,120,.65);outline-offset:3px}.voice-reading-now{background:rgba(247,217,120,.13)!important;box-shadow:0 0 0 2px rgba(247,217,120,.38) inset}.voice-readable::after{content:'🔊 Toque para ouvir a partir daqui';display:block;color:var(--muted);font-size:.76rem;margin-top:7px;opacity:.7}
@media(max-width:620px){.voice-player{display:grid;grid-template-columns:1fr 1fr}.voice-player .voice-progress{grid-column:1/-1;min-width:0}.voice-player button:nth-child(2){grid-column:span 1}}

/* Minha Jornada */
.journey-home{max-width:980px}.journey-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.journey-module{scroll-margin-top:14px}.journal-context{margin:12px 0 16px;padding:14px 16px;border:1px solid rgba(247,217,120,.32);border-radius:16px;background:rgba(247,217,120,.07)}.journal-context[hidden]{display:none}.journal-history-title{margin-top:28px}.journal-entry{margin-top:12px}.history-item{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:18px 0;border-top:1px solid rgba(247,217,120,.16)}.history-item:first-child{border-top:0}.history-item h3{margin:8px 0 5px}.history-item p{margin:4px 0}.daily-card-empty{text-align:center;padding:18px 4px 8px}.post-consult-actions{max-width:920px;margin:20px auto}.post-consult-ritual[hidden]{display:none}.post-consult-ritual{margin-top:18px}.ritual-practice{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ritual-practice>div{position:relative;padding:18px;border:1px solid rgba(247,217,120,.22);border-radius:18px;background:rgba(5,5,18,.42)}.ritual-practice>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(247,217,120,.16);color:var(--gold);font-weight:800}.ritual-practice h4{color:var(--gold);font-size:1.05rem;margin:10px 0 7px}.legacy-journey summary{cursor:pointer;color:var(--gold);font-size:1.1rem}.legacy-journey[open] summary{margin-bottom:16px}
@media(max-width:760px){.journey-nav,.ritual-practice{grid-template-columns:1fr 1fr}.history-item{grid-template-columns:1fr}.history-item button{width:100%}}
@media(max-width:520px){.journey-nav,.ritual-practice{grid-template-columns:1fr}}


/* Refinamento visual — Oráculo Celestial Premium */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.48;background-image:radial-gradient(circle at 8% 14%,rgba(255,232,163,.52) 0 1px,transparent 1.5px),radial-gradient(circle at 86% 20%,rgba(234,217,170,.40) 0 1px,transparent 1.4px),radial-gradient(circle at 24% 72%,rgba(255,255,255,.22) 0 1px,transparent 1.3px),radial-gradient(circle at 74% 82%,rgba(243,217,139,.30) 0 1px,transparent 1.4px);background-size:240px 240px,310px 310px,360px 360px,430px 430px}
.panel{border-color:rgba(234,217,170,.20);background:linear-gradient(145deg,rgba(35,34,78,.72),rgba(8,8,24,.66));box-shadow:0 24px 80px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.035)}
.brand-badge,.eyebrow,.tag{border-color:rgba(234,217,170,.40);background:rgba(234,217,170,.075);color:var(--champagne)}
button{background:linear-gradient(135deg,var(--gold),var(--gold-bright) 48%,#b88a39);color:#241802}
button.ghost{background:rgba(255,255,255,.065);border-color:rgba(234,217,170,.25)}

/* A revelação é o momento visual mais forte */
#revealedCard{position:relative;isolation:isolate;animation:cardRevealPremium 1.05s cubic-bezier(.2,.8,.2,1) both}
#revealedCard::before{content:"";position:absolute;inset:7% -10%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(255,232,163,.30) 0,rgba(110,91,190,.18) 38%,transparent 70%);filter:blur(22px);animation:oracleHalo 2.8s ease-in-out infinite alternate}
#revealedCard::after{content:"✦   ·   ✧   ·   ✦";position:absolute;left:0;right:0;top:-18px;text-align:center;color:rgba(255,232,163,.72);letter-spacing:.55em;font-size:.8rem;text-shadow:0 0 12px rgba(255,232,163,.7);animation:oracleSpark 1.6s ease-out both}
#revealedCard .card-box{border-color:rgba(255,232,163,.48);box-shadow:0 26px 70px rgba(0,0,0,.52),0 0 34px rgba(243,217,139,.13)}
@keyframes cardRevealPremium{0%{opacity:0;transform:translateY(18px) scale(.93)}55%{opacity:1;transform:translateY(-3px) scale(1.018)}100%{transform:none}}
@keyframes oracleHalo{from{opacity:.60;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}
@keyframes oracleSpark{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#revealedCard,#revealedCard::before,#revealedCard::after{animation:none!important}}

/* Mensagem autoral da carta: núcleo dourado */
#oracleResult .single-result>.reading{position:relative;border:1px solid rgba(243,217,139,.42);background:linear-gradient(145deg,rgba(243,217,139,.085),rgba(18,18,48,.72));box-shadow:0 18px 55px rgba(0,0,0,.30),inset 0 0 0 1px rgba(255,232,163,.035)}
#oracleResult .single-result>.reading::before{content:"✦  MENSAGEM DA CARTA";display:block;color:var(--champagne);font-size:.75rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid rgba(243,217,139,.18)}
#oracleResult .single-result>.reading h3{color:var(--gold-bright);text-shadow:0 0 18px rgba(243,217,139,.16)}

/* Aprofundamento: identidade índigo/violeta, sem competir com a carta */
.ai-reading-panel{border-color:rgba(151,132,218,.46)!important;background:linear-gradient(145deg,rgba(61,48,111,.42),rgba(11,11,31,.78))!important;box-shadow:0 20px 60px rgba(0,0,0,.34),inset 0 0 0 1px rgba(183,166,238,.04)}
.ai-reading-panel>h3{color:#e6d9ff;text-shadow:0 0 20px rgba(164,139,232,.18)}
.ai-response-text{background:linear-gradient(145deg,rgba(55,43,100,.28),rgba(6,6,21,.62));border-color:rgba(166,145,225,.32);box-shadow:inset 3px 0 0 rgba(202,184,255,.30)}
.ai-interpretation:not(:empty)::before{content:"✨  APROFUNDAMENTO PERSONALIZADO";display:block;color:#d9c8ff;font-size:.75rem;font-weight:800;letter-spacing:.10em;margin:16px 0 9px}

/* Carta do Dia: um pequeno ritual visual próprio */
#cartaDoDia{position:relative;overflow:hidden;border-color:rgba(243,217,139,.34);background:radial-gradient(circle at 50% 28%,rgba(243,217,139,.105),transparent 34%),linear-gradient(145deg,rgba(34,33,77,.78),rgba(7,7,23,.78))}
#cartaDoDia::after{content:"☀";position:absolute;right:24px;top:18px;font-size:4.8rem;line-height:1;color:rgba(243,217,139,.055);pointer-events:none}
#cartaDoDia h2{color:var(--gold-bright)}
.daily-card-wrap{position:relative;padding-top:12px}
.daily-card-wrap::before{content:"A energia que se apresenta para você hoje";grid-column:1/-1;text-align:center;color:var(--champagne);font-style:italic;letter-spacing:.025em;margin-bottom:4px}
.daily-card-wrap>div:first-child{position:relative;z-index:1}
.daily-card-wrap>div:first-child::before{content:"";position:absolute;inset:8% -8%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(255,232,163,.24),rgba(92,73,158,.12) 42%,transparent 70%);filter:blur(20px)}
.daily-card-wrap .reading{border-color:rgba(243,217,139,.30);background:linear-gradient(145deg,rgba(243,217,139,.065),rgba(10,10,29,.66))}

/* Minha Jornada: módulos mais reconhecíveis, mantendo unidade visual */
.journey-nav button{transition:transform .2s,box-shadow .2s,filter .2s}.journey-nav button:hover{box-shadow:0 14px 34px rgba(0,0,0,.35),0 0 22px rgba(243,217,139,.10)}
#diarioJornada{border-left:2px solid rgba(234,217,170,.28)}#historicoJornada{border-left:2px solid rgba(179,164,224,.24)}#favoritosJornada{border-left:2px solid rgba(243,217,139,.28)}

@media(max-width:620px){#revealedCard::after{top:-12px;font-size:.65rem;letter-spacing:.32em}.daily-card-wrap::before{font-size:.92rem;padding:0 10px}.ai-reading-panel,.reading{box-shadow:0 14px 38px rgba(0,0,0,.28)}}

/* Ajuste de contraste da tela inicial — sem halo claro */
body{
  background:linear-gradient(180deg,#111633 0%,#090d24 42%,#050716 72%,#04040d 100%);
}
/* Mantém somente o campo de estrelas discreto, sem manchas luminosas */
body::before{opacity:.30;}
.cosmos{opacity:.24;}

/* Menu principal centralizado em desktop e celular */
.main-nav{
  grid-template-columns:repeat(3,minmax(180px,1fr));
  width:min(100%,820px);
  max-width:820px;
  margin:22px auto 0;
  justify-content:center;
  justify-items:stretch;
}
.main-nav button{width:100%;margin:0 auto;}

@media (max-width:760px){
  .main-nav{
    grid-template-columns:1fr;
    width:min(100%,560px);
    max-width:560px;
    padding:0 10px;
  }
  .main-nav button{width:100%;}
}

/* Desktop: carta compacta à esquerda e mensagem aproveitando toda a largura restante */
@media (min-width: 621px){
  #oracleResult .single-result{
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:22px;
    width:100%;
    align-items:start;
  }
  #oracleResult .single-result > .card-box{
    width:100%;
    max-width:260px;
    justify-self:start;
  }
  #oracleResult .single-result > .reading{
    width:100%;
    max-width:none;
    min-width:0;
    margin-top:18px;
  }
}
@media (min-width: 1100px){
  #oracleResult .single-result{
    grid-template-columns:280px minmax(0,1fr);
    gap:24px;
  }
  #oracleResult .single-result > .card-box{max-width:280px}
}

/* Revisão responsiva final — celulares, tablets, iPhone/iPad e desktop */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{overflow-x:hidden;min-width:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.hero,main,footer{box-sizing:border-box}
.hero{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(50px,env(safe-area-inset-bottom))}
img,video,canvas,svg{max-width:100%}
button,input,textarea,select{max-width:100%;box-sizing:border-box;touch-action:manipulation}
button{min-height:44px}
input,textarea,select{font-size:16px} /* evita zoom automático do Safari/iPhone */
.result-toolbar,.actions,.voice-player{min-width:0}
.result-toolbar>*{max-width:100%}
.voice-settings{min-width:0}
.voice-settings select{min-width:0;width:100%}

/* Tablet e telas intermediárias */
@media (min-width:621px) and (max-width:980px){
  .hero{padding-top:28px}
  .main-nav{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,820px);padding:0}
  #oracleResult .single-result{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px}
  #oracleResult .single-result>.card-box{max-width:220px}
  #oracleResult .single-result>.reading{margin-top:18px}
  .voice-settings{grid-template-columns:1fr 1fr}
  .voice-settings label,.voice-settings .voice-test{align-self:stretch}
  .voice-settings .voice-test{width:100%}
  .journey-nav{grid-template-columns:repeat(2,1fr)}
}

/* Celulares e tablets estreitos */
@media (max-width:620px){
  .hero{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:14px}
  h1{font-size:clamp(2rem,10vw,3rem);line-height:1.03;overflow-wrap:normal;word-break:normal}
  .subtitle{font-size:1.05rem;line-height:1.5;padding:0 4px}
  .main-nav{padding:0;width:100%;gap:12px}
  .main-nav button{min-height:58px;font-size:1.05rem}
  .panel{padding:18px 16px;margin:14px 0}
  h2{font-size:clamp(1.7rem,8vw,2.35rem)}
  .result-toolbar,.actions{display:grid;grid-template-columns:1fr;gap:10px}
  .result-toolbar button,.actions button{width:100%;margin:0}
  #oracleResult .single-result{display:block;width:100%}
  #oracleResult .single-result>.card-box{width:min(100%,360px);max-width:360px;margin:18px auto}
  #oracleResult .single-result>.reading{width:100%;max-width:none;margin:18px 0}
  .voice-player{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .voice-player button{width:100%;min-width:0;padding-left:10px;padding-right:10px}
  .voice-player .voice-progress{grid-column:1/-1;width:100%;min-width:0;text-align:center;overflow-wrap:anywhere}
  .voice-settings{grid-template-columns:1fr;width:100%;padding:12px}
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-nav,.ritual-practice{grid-template-columns:1fr}
  .history-item{grid-template-columns:1fr}
  .daily-card-wrap{grid-template-columns:1fr!important}
  .detail-wrap{grid-template-columns:1fr}
}

/* Telefones muito estreitos / modo de tela dividida */
@media (max-width:390px){
  .hero{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  main{padding-left:max(9px,env(safe-area-inset-left));padding-right:max(9px,env(safe-area-inset-right))}
  .panel{padding:16px 13px}
  .voice-player{grid-template-columns:1fr}
  .voice-player .voice-progress{grid-column:1}
  .cards-grid{grid-template-columns:1fr}
  .deck-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  button{font-size:.98rem}
}

/* Orientação horizontal em aparelhos móveis */
@media (max-height:520px) and (orientation:landscape) and (max-width:980px){
  .hero{padding-top:16px}
  .hero h1{font-size:clamp(2rem,6vw,3.2rem);margin-top:10px}
  .subtitle{margin-bottom:12px}
  .main-nav{margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .main-nav button{min-height:48px}
  #oracleResult .single-result{display:grid;grid-template-columns:minmax(170px,230px) minmax(0,1fr);gap:16px}
  #oracleResult .single-result>.card-box{margin:18px 0;max-width:230px}
}

/* Acessibilidade de movimento e hover real */
@media (hover:none){button:hover,.library-card:hover,.card-back:hover{transform:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Leitura por voz: interface editorial limpa */
.voice-readable::after{content:none!important;display:none!important}
.voice-audio-hint{flex-basis:100%;margin:2px 2px 0;color:var(--muted);font-size:.86rem;opacity:.82}
