[hidden]{display:none !important}
html:has(#app:not([hidden])),
html:has(#app:not([hidden])) body{height:100%;max-height:100%;min-height:0;overflow:hidden}
.gate{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;z-index:2}
.gate-card{width:min(440px,100%);padding:1.6rem;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 40px rgba(16,36,31,.08)}
.gate-card h1{margin:.8rem 0 .4rem;letter-spacing:-.04em}
.gate-card p{color:var(--mute,#5f746c);line-height:1.5}
.gate-card .cta{display:flex;gap:10px;margin-top:1.2rem;flex-wrap:wrap}
.gate-live{width:min(560px,100%)}
.intro-log{flex:none;height:auto;max-height:none;overflow:visible;margin:1rem 0 .4rem;border-radius:18px}
.gate-error{margin:.7rem 0 0;color:#9c341f;font-weight:700;text-align:center}
.gate-login{margin:.85rem 0 0;text-align:center}
.gate-login a{color:#5f746c;font-size:.92rem;font-weight:700;text-decoration:none}
.profile-ask{display:grid;gap:.55rem;margin:0 12px;padding:.8rem .9rem;border-radius:16px;background:#f4faf7;border:1px solid rgba(16,36,31,.08)}
.profile-ask p{margin:0;color:#5f746c;line-height:1.4}
.profile-ask label{display:grid;gap:.25rem;font-weight:700;font-size:.9rem}
.profile-ask input{width:100%;border:1px solid rgba(16,36,31,.12);border-radius:12px;padding:.6rem .75rem;font:inherit}
.profile-actions{display:flex;align-items:center;gap:12px}
.brand,.logo{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:800}
.brand img,.logo img{width:36px;height:36px;display:block}
.vera{position:relative;z-index:2;height:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.vera-shell{position:relative;display:flex;flex-direction:column;padding:0 4vw 16px;flex:1;min-height:0}
.vera-side,.vera-chat{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 18px 40px rgba(16,36,31,.06)}
.side-shade{position:absolute;z-index:4;left:4vw;right:4vw;top:0;bottom:16px;margin:0;padding:0;border:0;border-radius:24px;background:rgba(16,36,31,.32);cursor:pointer}
.vera-side{position:absolute;z-index:5;left:4vw;top:0;bottom:16px;width:min(360px,88%);padding:1.2rem 1.15rem 1.3rem;overflow:auto;background:#fff;transform:translateX(calc(-100% - 28px));transition:transform .28s ease;visibility:hidden}
.vera-shell.panel-open .vera-side{transform:translateX(0);visibility:visible}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.side-close,.side-open{border:1px solid rgba(16,36,31,.12);background:#fff;color:#10241f;font:inherit;font-weight:800;border-radius:14px;cursor:pointer}
.side-close{padding:.45rem .7rem}
.side-open{margin-left:auto;padding:.55rem .8rem}
.vera-kicker{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1ec8a5}
.vera-side h1{font-size:2.2rem;letter-spacing:-.05em;line-height:1;margin:.2rem 0 .6rem}
.vera-lead,.vera-note{color:#5f746c;line-height:1.5;margin-bottom:.7rem}
.vera-form{display:grid;gap:.7rem;margin:1rem 0}
.vera-form label{display:grid;gap:.3rem;font-weight:700;font-size:.92rem}
.vera-form select,.composer textarea{width:100%;border:1px solid rgba(16,36,31,.12);border-radius:14px;padding:.7rem .8rem;font:inherit;background:#fff;color:#10241f}
.analysis{display:grid;gap:.45rem;margin:0 0 1rem;padding:.85rem .9rem;border-radius:16px;background:rgba(30,200,165,.1);border:1px solid rgba(30,200,165,.28)}
.analysis h2{font-size:.95rem;letter-spacing:-.02em;margin:0}
.analysis p{color:#5f746c;line-height:1.45;margin:0;font-weight:600}
.analysis ul{margin:0;padding-left:1.1rem;color:#10241f;font-weight:700}
.analysis li{margin:.15rem 0}
.help{display:grid;gap:.7rem;margin-bottom:1rem}
.help.insist{padding:.8rem;border-radius:16px;background:#fff6f2;border:1px solid rgba(176,74,42,.25)}
.help h2{font-size:1rem;letter-spacing:-.02em}
.help p,.help li{color:#5f746c;line-height:1.45}
.help ul{margin:.3rem 0 0;padding-left:1.1rem}
.help-card{padding:.75rem .8rem;border-radius:14px;background:#fff;border:1px solid rgba(16,36,31,.08);color:#10241f}
.help-card a{color:#10241f;font-weight:800}
.vera-chat{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#fff}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(16,36,31,.08);background:#fff;flex-shrink:0}
.chat-ava{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#10241f;color:#f4faf7;font-weight:800;font-size:1.1rem}
.chat-who{display:grid;gap:2px}
.chat-who strong{font-size:1.05rem;letter-spacing:-.03em;color:#10241f}
.chat-who span{font-size:.82rem;font-weight:600;color:#3d524c;letter-spacing:.01em}
.insist{margin:14px 14px 0;padding:.85rem 1rem;border-radius:16px;background:#10241f;color:#f4faf7;display:grid;gap:.25rem}
.insist span{color:rgba(244,250,247,.82);line-height:1.4}
.log{flex:1;min-height:0;overflow:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#f4faf7,#fff)}
.row{display:flex;flex-direction:column;gap:4px;max-width:min(680px,92%);flex-shrink:0}
.row.user{align-self:flex-end;align-items:flex-end}
.row.reply{align-self:flex-start;align-items:flex-start}
.row .who{font-size:.75rem;font-weight:800;color:#5f746c}
.bubble{width:fit-content;max-width:100%;padding:.7rem .9rem;border-radius:18px;line-height:1.45;white-space:pre-wrap;color:#10241f}
.bubble.reply{background:#f7f8f7;border:1px solid rgba(16,36,31,.1);border-left:3px solid #1a9e86;color:#10241f !important;border-radius:4px 12px 12px 4px;box-shadow:0 1px 0 rgba(16,36,31,.04)}
.bubble.user{background:#10241f;color:#ffffff !important;border-bottom-right-radius:6px}
.typing{padding:0 16px 8px;color:#5f746c;font-weight:700;font-size:.9rem}
.typing::after{content:'';animation:veraDots 1.2s steps(4,end) infinite}
@keyframes veraDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}
.quota{margin:0;padding:10px 14px 0;color:#5c6f68;font-size:.92rem}
.composer{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:12px;border-top:1px solid rgba(16,36,31,.08);background:#fff;align-items:end;flex-shrink:0}
.composer textarea{resize:none;min-height:52px;max-height:140px;border-radius:18px}
.composer .mic{width:48px;height:48px;border:1px solid rgba(16,36,31,.12);border-radius:16px;background:#fff;color:#10241f;display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.composer .mic.live{background:#fff;color:#0c8f78;border-color:#1ec8a5;box-shadow:0 0 0 4px rgba(30,200,165,.28);animation:micPulse 1.2s ease-in-out infinite}
@keyframes micPulse{50%{box-shadow:0 0 0 7px rgba(30,200,165,.12)}}
.composer .send{border:0;border-radius:16px;padding:.85rem 1.1rem;background:#1ec8a5;color:#10241f;font:inherit;font-weight:800;cursor:pointer}
.composer .send:disabled,.composer .mic:disabled{opacity:.55;cursor:default}
.voice-status,.vera-error{padding:0 14px 12px;font-weight:700;flex-shrink:0}
.voice-status{color:#1a6b5c}
.vera-error{color:#9c341f}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.linkish{background:none;border:0;color:#5f746c;font:inherit;font-weight:700;cursor:pointer}
body.in-app .top nav a[href="index.html"],
body.in-app .top nav a[href="download.html"]{display:none}
@media(max-width:900px){
  .composer{grid-template-columns:auto 1fr}
  .composer textarea{grid-column:1 / -1}
  .composer .send{justify-self:end}
}
