:root{
  --brand-blue:#004F9E;
  --brand-green:#ACB150;
  --forest:#0b2e24;
  --forest-2:#123d30;
  --forest-3:#1b4c3c;
  --gold:#c89a3b;
  --gold-soft:#e4c77d;
  --paper:#f5eedf;
  --paper-2:#fbf7ee;
  --ink:#233129;
  --muted:#6e746e;
  --line:#ddcfad;
  --shadow:0 18px 55px rgba(10,35,27,.16);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#e9e1d0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:
  radial-gradient(circle at 20% 0%,rgba(172,177,80,.22),transparent 35%),
  linear-gradient(180deg,#e8dfcc,#f6f0e4 48%,#e4dac4)}
button,textarea,input{font:inherit}
button{cursor:pointer}
.app-shell{width:min(100%,760px);margin:0 auto;min-height:100vh;background:var(--paper);box-shadow:0 0 60px rgba(0,0,0,.12);padding-bottom:calc(78px + var(--safe-bottom))}
.topbar{position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;gap:10px;padding:8px 14px;background:rgba(10,44,34,.97);color:#fff;border-bottom:1px solid rgba(228,199,125,.35);backdrop-filter:blur(14px)}
.icon-btn,.lang-btn{border:0;background:transparent;color:inherit;min-width:42px;height:42px;border-radius:14px;font-size:21px;display:grid;place-items:center}
.icon-btn:hover,.lang-btn:hover{background:rgba(255,255,255,.07)}
.lang-btn{margin-left:auto;display:flex;gap:5px;font-size:12px;color:#f4e5ba}
.brand-mini{display:flex;align-items:center;gap:9px;min-width:0}
.brand-mini img{width:42px;height:36px;object-fit:contain;background:#fff;border-radius:9px;padding:4px}
.brand-mini div{display:flex;flex-direction:column;min-width:0}
.brand-mini strong{font-family:Georgia,"Times New Roman",serif;font-size:15px;color:#f1d795;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-mini span{font-size:9px;letter-spacing:.08em;color:#ddd2b8;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero{position:relative;overflow:hidden;min-height:360px;padding:44px 24px 98px;display:flex;align-items:flex-end;background:
  linear-gradient(180deg,rgba(8,38,29,.14),rgba(8,38,29,.84) 82%),
  radial-gradient(circle at 50% 15%,rgba(228,199,125,.38),transparent 25%),
  linear-gradient(145deg,#274b37 0%,#55704a 35%,#b79c64 63%,#274535 100%)}
.hero::before{content:"";position:absolute;inset:0;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='180' viewBox='0 0 220 180'%3E%3Cg fill='none' stroke='%23fff6df' stroke-opacity='.45' stroke-width='1'%3E%3Cpath d='M-20 40 C25 10 55 80 110 43 S195 42 240 20'/%3E%3Cpath d='M-20 70 C28 43 70 112 120 75 S192 77 240 48'/%3E%3Cpath d='M-10 104 C40 82 61 140 125 112 S205 114 238 84'/%3E%3Cpath d='M-10 142 C25 114 78 168 126 144 S196 151 240 120'/%3E%3C/g%3E%3C/svg%3E")}
.hero::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-28px;height:132px;background:linear-gradient(160deg,transparent 0 44%,rgba(16,58,44,.55) 45% 52%,rgba(13,45,35,.9) 53%);clip-path:polygon(0 62%,9% 51%,20% 58%,31% 38%,42% 55%,56% 27%,69% 48%,82% 25%,100% 48%,100% 100%,0 100%)}
.topo-lines{position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 70% 28%,transparent 0 22px,rgba(255,255,255,.06) 23px 24px,transparent 25px 42px);opacity:.6}
.hero-glow{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(222,192,118,.28),transparent 68%);right:-50px;top:-40px;filter:blur(1px)}
.hero-content{position:relative;z-index:2;max-width:540px}
.hero-logo{width:145px;max-height:90px;object-fit:contain;background:rgba(255,255,255,.92);border-radius:18px;padding:9px;margin-bottom:14px;box-shadow:0 8px 28px rgba(0,0,0,.13)}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--gold);text-transform:uppercase}
.hero h1{margin:8px 0 10px;color:#fff;font:700 clamp(32px,7vw,48px)/1.02 Georgia,"Times New Roman",serif;max-width:620px;text-wrap:balance;text-shadow:0 3px 20px rgba(0,0,0,.28)}
.hero p{max-width:530px;margin:0;color:#f6ecd6;font-size:15px;line-height:1.55}
.hero-path{position:absolute;left:50%;bottom:34px;z-index:3;width:170px;height:50px;transform:translateX(-50%) rotate(-4deg);border-top:3px solid rgba(255,209,94,.95);border-radius:50%;filter:drop-shadow(0 0 8px rgba(255,206,88,.35))}
.hero-path span{position:absolute;right:-4px;top:-7px;width:13px;height:13px;border-radius:50%;background:#ffd15b;box-shadow:0 0 0 5px rgba(255,209,91,.14)}
.ask-card{position:relative;z-index:5;margin:-46px 16px 0;padding:12px;border-radius:24px;background:rgba(255,251,241,.97);border:1px solid rgba(198,159,73,.36);box-shadow:var(--shadow)}
.ask-row{display:flex;gap:8px;align-items:flex-end}
#questionInput{width:100%;resize:none;border:0;outline:none;background:transparent;min-height:50px;max-height:150px;padding:13px 10px;color:var(--ink);font-size:16px;line-height:1.35}
.ask-btn{flex:0 0 50px;width:50px;height:50px;border:0;border-radius:17px;background:linear-gradient(145deg,var(--forest-3),var(--forest));color:#fff;font-size:24px;box-shadow:0 7px 18px rgba(10,46,36,.24)}
.ask-btn:disabled{opacity:.55;cursor:wait}
.status-line{display:flex;align-items:center;justify-content:center;gap:7px;color:#7c776b;font-size:10px;padding:4px 0 2px}
.status-dot{width:7px;height:7px;background:#5d934b;border-radius:50%;box-shadow:0 0 0 3px rgba(93,147,75,.12)}
.sep{opacity:.45}
.examples,.themes{padding:25px 16px 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{border:1px solid #d9c99f;background:rgba(255,255,255,.58);padding:9px 12px;border-radius:999px;color:#354138;font-size:12px;transition:.18s}
.chip:hover{transform:translateY(-1px);border-color:#b69243;background:#fff9e9}
.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}
.theme-card{min-height:92px;border:1px solid #d8c99e;background:linear-gradient(180deg,#fbf7ed,#f2ead8);border-radius:18px;padding:13px 9px;text-align:center;color:#26382f;box-shadow:0 6px 18px rgba(45,48,38,.06)}
.theme-card .ico{display:block;font-size:24px;margin-bottom:7px;filter:saturate(.8)}
.theme-card strong{font-size:11px;line-height:1.2;display:block}
.promise{margin:26px 16px 18px;border:1px solid rgba(172,177,80,.45);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,#efe5cd,#f9f3e7)}
.promise div{padding:16px;display:grid;grid-template-columns:26px 1fr;column-gap:8px;align-items:start}
.promise div+div{border-left:1px solid #daccaa}
.promise span{grid-row:1/3;font-size:22px;color:var(--brand-blue)}
.promise strong{font:700 14px Georgia,serif;color:#29382f}
.promise small{font-size:10px;color:#777267;line-height:1.4}
.hidden{display:none!important}
.conversation{padding:18px 12px 30px}
.message{margin:12px 0;animation:rise .28s ease both}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.message.user{display:flex;justify-content:flex-end}
.user-bubble{max-width:86%;background:var(--forest);color:#fff;border-radius:18px 18px 5px 18px;padding:13px 15px;font-size:14px;box-shadow:0 9px 22px rgba(11,46,36,.16)}
.answer-card{background:linear-gradient(180deg,#fffaf0,#f7efdc);border:1px solid #dccca7;border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(50,45,31,.09)}
.answer-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.answer-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #c7a350;overflow:hidden}.answer-mark img{width:36px;height:28px;object-fit:contain;padding:2px}
.answer-head div{display:flex;flex-direction:column}
.answer-head strong{font:700 18px Georgia,serif;color:#1f342a}
.answer-head small{color:#8c836f;font-size:10px}
.answer-text{font:15px/1.7 Georgia,"Times New Roman",serif;color:#2a332e}
.answer-text p{margin:0 0 12px}
.answer-text strong{color:#123c2f}
.evidence-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid #e2d5b8}
.evidence-pill{font-size:9px;font-weight:800;padding:6px 8px;border-radius:999px;background:#e2eadc;color:#27553c;border:1px solid #bdd0b6}
.sources-btn{margin-top:13px;width:100%;border:1px solid #b8954a;background:#fff7e4;color:#2f422f;border-radius:13px;padding:10px 12px;font-weight:800;font-size:12px}
.typing{display:flex;gap:6px;padding:12px 5px;color:#706c62;align-items:center}
.typing i{width:7px;height:7px;border-radius:50%;background:#6d7d6e;animation:bounce 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-5px);opacity:1}}
.bottom-nav{position:fixed;z-index:25;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,760px);height:calc(70px + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(9,43,33,.98);border-top:1px solid rgba(226,193,112,.36);box-shadow:0 -10px 35px rgba(0,0,0,.12)}
.bottom-nav button{border:0;background:transparent;color:#d8d3c7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:20px}
.bottom-nav small{font-size:9px}.bottom-nav button.active{color:#f1d37d}.bottom-nav button.active span{transform:translateY(-1px)}
.drawer{position:fixed;z-index:50;top:0;bottom:0;left:max(calc((100vw - 760px)/2),0px);width:min(88vw,380px);transform:translateX(-110%);transition:.24s ease;background:linear-gradient(180deg,#0a3025,#0b281f);color:#fff;padding:16px;box-shadow:30px 0 70px rgba(0,0,0,.28);display:flex;flex-direction:column}
.drawer.open{transform:none}.scrim{position:fixed;z-index:45;inset:0;background:rgba(3,18,13,.48);opacity:0;pointer-events:none;transition:.2s}.scrim.show{opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;gap:10px;padding:6px 0 18px;border-bottom:1px solid rgba(255,255,255,.1)}.seal{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid #c9a44f;background:#fff;overflow:hidden}.seal img{width:42px;height:32px;object-fit:contain;padding:2px}.drawer-head div:nth-child(2){display:flex;flex-direction:column;flex:1}.drawer-head strong{font:700 16px Georgia;color:#f4d889}.drawer-head span{font-size:10px;color:#aeb9b1}.drawer-items{display:grid;gap:4px;padding:15px 0;overflow:auto}.drawer-items button{border:0;background:transparent;color:#f1eee7;text-align:left;border-radius:12px;padding:12px;font-size:13px}.drawer-items button:hover{background:rgba(255,255,255,.06)}.return-btn{margin-top:auto;border:1px solid #c49f4a;background:rgba(196,159,74,.13);color:#f3d787;padding:13px;border-radius:14px;font-weight:700}
.modal{border:1px solid #cdbb91;border-radius:24px;padding:0;width:min(92vw,620px);max-height:86vh;background:#faf5e9;color:#26332c;box-shadow:0 28px 90px rgba(0,0,0,.3)}.modal::backdrop{background:rgba(5,26,19,.62);backdrop-filter:blur(3px)}.modal.compact{width:min(92vw,430px)}.modal-head{position:sticky;top:0;background:#0b3025;color:#fff;padding:18px;display:flex;align-items:center;justify-content:space-between;z-index:2}.modal-head h2{font:700 22px Georgia;margin:3px 0 0;color:#f7e6b8}.sources-list,.cities-list,.language-list{padding:12px;display:grid;gap:9px;overflow:auto}.source-card,.city-card,.language-item{border:1px solid #ddd0b0;background:#fffaf0;border-radius:16px;padding:13px}.source-card{display:grid;grid-template-columns:1fr auto;gap:8px}.source-card strong,.city-card strong{font:700 14px Georgia;color:#24392f}.source-card small,.city-card small{color:#777063;font-size:10px}.source-card a{color:var(--brand-blue);font-size:11px;text-decoration:none}.class-badge{align-self:start;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:800;background:#e2eddc;color:#2d5a3b}.search-input{margin:13px 12px 0;width:calc(100% - 24px);padding:12px 14px;border:1px solid #d4c5a2;border-radius:13px;background:#fffdf7;outline:none}.city-card{display:flex;align-items:center;justify-content:space-between;gap:8px}.city-card button{border:0;background:#123b2e;color:#fff;border-radius:11px;padding:8px 10px}.language-item{display:flex;align-items:center;justify-content:space-between}.language-item button{width:100%;border:0;background:transparent;text-align:left;padding:3px;color:#263a30;font-weight:700}.language-item.active{border-color:#a98433;background:#fff6de}
@media(max-width:520px){.hero{min-height:340px;padding-left:18px;padding-right:18px}.hero-logo{width:125px}.theme-grid{grid-template-columns:repeat(2,1fr)}.theme-card{min-height:82px}.promise{grid-template-columns:1fr}.promise div+div{border-left:0;border-top:1px solid #daccaa}.brand-mini span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* V0.5 — entrada por voz */
.voice-btn{flex:0 0 50px;width:50px;height:50px;border:1px solid rgba(169,132,51,.35);border-radius:17px;background:linear-gradient(180deg,#fffdf7,#f2ead6);color:var(--forest);display:grid;place-items:center;box-shadow:0 5px 14px rgba(10,46,36,.08);transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.voice-btn:active{transform:scale(.96)}
.voice-btn .voice-icon{position:relative;width:14px;height:20px;border:2px solid currentColor;border-radius:9px;display:block;background:transparent;font-size:0}
.voice-btn .voice-icon:before{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);width:22px;height:12px;border:2px solid currentColor;border-top:0;border-radius:0 0 13px 13px}
.voice-btn .voice-icon:after{content:"";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);width:2px;height:6px;background:currentColor;border-radius:2px;box-shadow:-6px 6px 0 -0.2px currentColor,6px 6px 0 -0.2px currentColor}
.voice-btn.listening{background:linear-gradient(145deg,#7f1e18,#a93327);color:#fff;border-color:#b45247;box-shadow:0 0 0 5px rgba(169,51,39,.12),0 8px 20px rgba(90,20,15,.22);animation:voicePulse 1.35s ease-in-out infinite}
.voice-btn.processing{color:#9a7626;cursor:wait}
.voice-btn:disabled{opacity:.55;cursor:not-allowed;animation:none}
.voice-status{margin-left:auto;color:#7f6f55;font-weight:700;white-space:nowrap}
.voice-status.active{color:#9b2c24}
@keyframes voicePulse{0%,100%{box-shadow:0 0 0 4px rgba(169,51,39,.10),0 8px 20px rgba(90,20,15,.18)}50%{box-shadow:0 0 0 9px rgba(169,51,39,.04),0 8px 22px rgba(90,20,15,.25)}}
@media (max-width:380px){.voice-btn,.ask-btn{flex-basis:46px;width:46px;height:46px}.ask-row{gap:6px}.voice-status{max-width:120px;overflow:hidden;text-overflow:ellipsis}}

/* V0.6 — resposta natural, fontes discretas no final */
.evidence-row,.evidence-pill{display:none!important}
.answer-sources{margin-top:18px;padding-top:12px;border-top:1px solid rgba(83,68,35,.16);display:flex;gap:10px;align-items:flex-start;justify-content:space-between;color:#766b56;font-size:11px;line-height:1.45}
.answer-sources>span{flex:1;opacity:.86}
.answer-sources .sources-btn{flex:0 0 auto;margin:0;padding:7px 10px;border-radius:999px;background:transparent;border:1px solid rgba(70,95,55,.28);color:#35553b;font-size:11px;font-weight:700}
