.gel-body { box-sizing:border-box; width:min(100%,480px); min-height:100vh; margin:0 auto; padding:8px 16px 14px; }
.gel-brand { height:84px; margin:0; }
.gel-brand .brand-copy { width:100%; }
.gel-back { display:flex; justify-content:space-between; min-height:18px; margin:0 3px; }
.gel-back a { color:#35607f; font-size:13px; font-weight:700; text-decoration:none; }
.gel-page { display:grid; gap:8px; }
.gel-intro,.gel-reply-panel { border:1.5px solid #96ddff; border-radius:24px; background:#ffffffdb; box-shadow:0 5px 18px #54b8e833; }
.gel-intro { padding:10px; text-align:center; }
.gel-intro h2 { margin:0 0 8px; color:#10274b; font-size:20px; line-height:1.2; font-weight:800; }
.gel-question { margin:0 0 6px; color:#6f829c; font-size:18px; font-weight:700; }
.gel-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.gel-card,.gel-product-art { border-radius:24px; background:#fff; box-shadow:0 5px 16px #355b7615; }
.gel-card { display:flex; min-width:0; min-height:110px; flex-direction:column; align-items:center; justify-content:center; padding:6px 2px; color:#12274a; text-decoration:none; }
.gel-card img { display:block; width:100%; height:86px; object-fit:contain; }
.gel-card span { display:block; min-height:24px; padding-top:4px; font-size:11px; line-height:1.15; font-weight:800; }
.gel-product-art { display:flex; height:145px; align-items:center; justify-content:center; margin-top:6px; }
.gel-product-art img { width:100px; height:132px; object-fit:contain; }
#gelChat { display:flex; flex-direction:column; }
.gel-reply-panel { box-sizing:border-box; display:flex; height:295px; min-height:220px; flex-direction:column; padding:12px; }
.gel-reply-panel .health-pill { align-self:flex-end; margin:0 0 8px; }
.gel-reply { flex:1; min-height:0; overflow:auto; padding:10px; border-radius:16px; background:#ffffffab; color:#14284b; white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; }
#question { box-sizing:border-box; width:100%; height:78px; min-height:78px; margin:8px 0 0; padding:12px; resize:vertical; border:1.5px solid #9edfff; border-radius:18px; background:#fff; color:#14284b; box-shadow:0 4px 14px #53b9e82b; font:inherit; font-size:16px; line-height:1.4; }
#question::placeholder { color:#7790a7; }
.gel-controls { display:flex; gap:8px; margin:8px 0 0; }
.gel-controls button { display:flex; min-width:0; min-height:58px!important; flex:1; align-items:center; justify-content:center; gap:7px; padding:8px 5px; border:0; border-radius:19px; color:white; font-size:14px; font-weight:750; box-shadow:0 7px 16px #1b578b2b; }
#gelStop { background:linear-gradient(145deg,#eef1f3,#dbe0e5); color:#536171; }
#gelTalk { background:linear-gradient(145deg,#04a3f4,#0868c9); }
#ask { background:linear-gradient(145deg,#ffb400,#ff8900); }
.gel-controls svg { width:25px; height:25px; flex:none; }
.gel-controls button:disabled { opacity:.55; }
.gel-mic-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.gel-mic-status { min-height:16px; margin:3px 3px 0; color:#58718b; font-size:11px; line-height:1.3; }
.gel-more { display:inline-block; min-height:24px; margin:3px 0 0; color:#35607f; font-size:13px; font-weight:700; text-decoration:none; }
.gel-error { margin:0; color:#aa3333; font-size:13px; }
.gel-entry-hitarea { position:absolute; z-index:4; top:145px; right:0; width:35%; height:135px; border-radius:18px; background:transparent; text-decoration:none; }
.gel-entry-hitarea:focus-visible { outline:2px solid #087fc0; outline-offset:2px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:390px) {
  .gel-intro h2 { font-size:16px; }
  .gel-card { min-height:110px; }
}
@media (prefers-reduced-motion:reduce) { .health-pill[data-state="idle"] .health-dot { animation:none; } }
