/* Grouped main menu (Learn / Scan / Track), notices, examples, lab presets and footer links */
.ng{position:relative;display:flex;align-items:center}
.ngb{font:inherit;font-size:14px;background:none;border:0;color:var(--mut);padding:8px 11px;border-radius:8px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px}
.ngb::after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-2px) rotate(45deg);opacity:.7}
.ngb:hover,.ng.open .ngb,.ngb.on{color:var(--tx);background:var(--card)}
.ngm{display:none;position:absolute;top:calc(100% + 6px);inset-inline-start:0;min-width:200px;flex-direction:column;gap:2px;padding:6px;background:rgba(5,13,28,.98);border:1px solid var(--bd);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.45);z-index:30}
.ng.open .ngm{display:flex}
.ngm a{display:block}
#slang{width:auto;padding:6px 8px;font-size:13px;margin-inline-start:6px;border-radius:8px;background:rgba(11,26,49,.8)}
@media(min-width:961px){#mnav{overflow:visible;align-items:center}}
@media(hover:hover) and (min-width:961px){.ng:hover .ngm{display:flex}.ng:hover::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px}}
@media(max-width:960px){
#mnav .ng{display:block}
#mnav .ngb{cursor:default;padding:12px 14px 2px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ac);background:none}
#mnav .ngb::after{display:none}
#mnav .ngm{display:flex;position:static;background:none;border:0;box-shadow:none;padding:0 0 0 10px;min-width:0}
#slang{width:100%;margin:10px 0 0;font-size:16px;padding:10px}
}
/* Consent boxes that block an AI upload */
.need-ck{outline:2px solid var(--bad);outline-offset:4px;border-radius:6px}
label.ck a{color:var(--ac)}
/* Emergency banner above Aria's reply */
.emgb{background:#b91c1c;color:#fff;border:1px solid #fecaca;border-radius:12px;padding:10px 14px;margin:8px 0;font-size:15px;line-height:1.4}
.emgb b{display:block}
/* "Want tests that a phone cannot do?" */
.ckline,.rcheck{margin:12px 0 0;font-size:14px;color:var(--mut)}.ckline a{color:var(--ac)}
.rfinal{margin:10px 0 0;font-size:14px}
/* Accuracy line under the scanner heading */
.accn{margin:-4px 0 12px;font-size:14px;color:#fde68a}.accn a{color:var(--ac)}
.bfpm{font-size:.5em;font-weight:600;opacity:.85}
/* Example block */
.exblk{margin-top:18px}
.exblk>summary{cursor:pointer;list-style:none;font-weight:700;font-size:16px;display:flex;align-items:center;gap:10px}
.exblk>summary::-webkit-details-marker{display:none}
.exblk>summary::before{content:"▸";color:var(--ac);transition:transform .2s}.exblk[open]>summary::before{transform:rotate(90deg)}
.extag{display:inline-block;background:#facc15;color:#1f1300;font-size:11px;font-weight:800;letter-spacing:.12em;padding:3px 8px;border-radius:99px}
.exg{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:12px}
.excard{position:relative;border:1px dashed #facc15;border-radius:14px;padding:14px;background:color-mix(in srgb,#facc15 5%,var(--card));overflow:hidden}
.excard::after{content:"EXAMPLE";position:absolute;right:-34px;top:16px;transform:rotate(35deg);background:#facc15;color:#1f1300;font-size:10px;font-weight:800;letter-spacing:.14em;padding:3px 40px}
.excard h4{margin:6px 0 8px}
.exstat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}
.exstat div{background:var(--bg);border:1px solid var(--bd);border-radius:10px;padding:8px}.exstat span{display:block;font-size:11.5px;color:var(--mut)}.exstat b{font-size:18px}
.excard ul{margin:4px 0;padding-inline-start:18px;font-size:14px}
/* Lab presets and trends */
.labp{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px 8px;margin:8px 0;align-items:end}
.labp label{margin:0}.labp .w2{grid-column:span 2}
.labp button{height:40px}
.ltr{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),400px));gap:12px;margin-top:8px}
.ltr .card{padding:10px 12px}.ltr .band{fill:rgba(52,211,153,.12)}.ltr .pt.out{fill:#f87171}.ltr .pt{fill:var(--ac)}
/* Footer links */
.flinks{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:8px;font-size:14px}
.flinks a{color:var(--tx);text-decoration:none}.flinks a:hover{color:var(--ac);text-decoration:underline}
/* First-visit storage notice */
#cnotice{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:45;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(5,13,28,.97);border:1px solid var(--ac);border-radius:14px;padding:12px 14px;box-shadow:0 12px 30px rgba(0,0,0,.5);font-size:14px}
#cnotice p{margin:0;flex:1;min-width:200px}#cnotice a{color:var(--ac)}#cnotice .btn{padding:8px 18px}
@media(max-width:760px){#cnotice{bottom:calc(78px + env(safe-area-inset-bottom,0px))}}
/* Right-to-left languages */
[dir=rtl] .ngm{text-align:right}
[dir=rtl] #mnav .ngm{padding:0 10px 0 0}

/* ---- Body Tracker: connect a device ---- */
.dv{margin-top:14px}
.dv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dv-card{border:1px solid rgba(34,211,238,.22);border-radius:12px;padding:10px 12px;background:rgba(14,116,144,.12);min-width:0}
.dv-card h4{margin:0 0 4px;font-size:15px}.dv-card p{font-size:13px;margin:0 0 8px}
.dv-card .btn{margin:2px 0 6px}.dv-card select{font:inherit;background:rgba(2,10,24,.7);color:inherit;border:1px solid rgba(34,211,238,.35);border-radius:8px;padding:4px 6px;margin:0 4px 6px}
.dv-st{font-size:12.5px!important;margin:4px 0 0!important}
.dv-file{cursor:pointer}
.dv-log{font-size:11px;white-space:pre-wrap;word-break:break-all;max-height:120px;overflow:auto;background:rgba(2,10,24,.7);border-radius:8px;padding:6px;margin:6px 0 0}
.dv-live{margin-top:10px}.dv-big{display:flex;align-items:baseline;gap:8px}.dv-big>b{font-size:40px;line-height:1.1;color:#fda4af}.dv-big small{color:var(--mut)}
.dv-pend{margin-top:10px;border:1px solid rgba(250,204,21,.45);border-radius:12px;padding:10px 12px;background:rgba(66,52,8,.25)}
.dv-list{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:4px}
.dv-row{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;padding:4px 0;border-bottom:1px solid rgba(143,166,196,.15);cursor:pointer}.dv-row input{margin-top:3px}
.dv-more{margin-top:10px}.dv-more summary{cursor:pointer;color:var(--ac);font-size:13.5px}.dv-more p{font-size:13px}
.dv-dev{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 0;font-size:13.5px}
@media(max-width:900px){.dv-grid{grid-template-columns:1fr}}
