.chat-page .chat-card{background:transparent;box-shadow:none;border-radius:0;padding:0}.chat-page .chat-card.dragging{box-shadow:none;outline:2px dashed var(--primary);outline-offset:4px;border-radius:var(--radius)}.chat-page .composer{border-top:0;padding-top:8px}.chat-page .composer-pill{background:var(--surface);border-color:var(--border)}.chat-page .composer-pill:focus-within{border-color:var(--primary);box-shadow:none}.chat-page .cmp-send:disabled{background:#e5e5ea;color:#aeaeb2}.chat-page .chat-suggest .chip{background:transparent;border:1px solid var(--border);color:var(--text)}.chat-page .chat-suggest .chip:hover{background:#78788014}.chat-page .care-banner{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);box-shadow:inset 3px 0 0 var(--danger)}.chat-page .care-banner.done{box-shadow:none}.landing{width:100%;min-height:100dvh;background:var(--surface)}.landing-banner{padding:12px 16px;background:var(--primary-soft);color:var(--text);font-size:15px;text-align:center}.landing-banner a{color:var(--primary);font-weight:600}.landing-banner a:hover{text-decoration:underline}.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .6s ease-out,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 90ms)}.reveal-ready [data-reveal].revealed{opacity:1;transform:none}.landing-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;max-width:1200px;margin:0 auto;padding:20px 32px}.landing-brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700}.landing-brand .logo-mark,.landing-brand .logo-mark svg{width:44px;height:44px}.landing-links{display:flex;gap:8px}.landing-links a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--radius-sm);font-size:17px;transition:background-color .15s ease-out}.landing-links a:hover{background:#7878801f}.landing-auth{display:flex;align-items:center;gap:8px}.landing-login{min-height:48px;padding:0 20px;border-radius:var(--radius-sm);font-size:17px;font-weight:500;transition:background-color .15s ease-out}.landing-login:hover{background:#7878801f}.landing-signup{min-height:48px;padding:0 24px;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:17px;font-weight:600;transition:background-color .15s ease-out}.landing-signup:hover{background:var(--primary-strong)}.landing-hero{display:flex;flex-direction:column;align-items:center;padding:88px 24px 56px;text-align:center}.landing-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 20px 10px 16px;border-radius:var(--radius-sm);background:var(--text);color:#fff;font-size:17px;font-weight:600}.landing-pill svg{width:20px;height:20px;fill:#a8c4f0;overflow:visible}.pill-star,.pill-glint{transform-box:fill-box;transform-origin:center}.pill-star{animation:star-twinkle 2.8s ease-in-out infinite}.pill-glint{opacity:0;animation:star-glint 2.8s ease-in-out infinite}@keyframes star-twinkle{0%,60%,to{transform:rotate(0) scale(1);fill:#a8c4f0}30%{transform:rotate(90deg) scale(1.25);fill:#fff}}@keyframes star-glint{0%,25%,70%,to{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1.1)}}.landing-title{margin:32px 0 24px;font-size:clamp(52px,9vw,112px);font-weight:700;line-height:1}.landing-accent{color:var(--primary)}.landing-lede{max-width:640px;font-size:clamp(18px,2.2vw,22px);color:var(--muted)}.landing-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px}.landing-cta{min-height:52px;padding:0 28px;font-size:17px}.landing-peek{max-width:1088px;margin:0 auto;padding:0 24px}.peek-frame{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px;padding:20px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border)}.peek-frame small{display:block;font-size:13px;color:var(--muted)}.peek-frame strong{display:block;font-size:17px;font-weight:600}.peek-frame span{display:block;font-size:14px;color:var(--muted)}.peek-risk{display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;padding:20px;border-radius:var(--radius);background:#155b32;color:#fff}.peek-risk small,.peek-risk span{color:#ffffffd9}.peek-risk strong{font-size:64px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.peek-stack{display:flex;flex-direction:column;gap:16px}.peek-card{flex:1;padding:16px 20px;border-radius:var(--radius);background:var(--surface)}.peek-card strong{margin:2px 0}.peek-frame .peek-bar{height:6px;margin-top:10px;border-radius:3px;background:#78788029;overflow:hidden}.peek-bar i{display:block;width:66%;height:100%;border-radius:3px;background:var(--primary)}.peek-chat{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:16px;border-radius:var(--radius);background:var(--surface)}.peek-msg{max-width:90%;padding:10px 14px;border-radius:var(--radius-sm);background:#7878801f;font-size:14px}.peek-msg.user{align-self:flex-end;background:var(--primary);color:#fff}.landing-section{max-width:1136px;margin:0 auto;padding:112px 24px 0;scroll-margin-top:24px}.landing-h2{margin-bottom:40px;font-size:clamp(32px,4.5vw,48px);font-weight:700;line-height:1.1;text-align:center}.landing-features,.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0;padding:0;list-style:none}.landing-feature,.landing-steps li{padding:28px;border-radius:var(--radius);background:var(--bg)}.landing-features h3,.landing-steps h3{margin:16px 0 6px;font-size:19px;font-weight:600}.landing-features p,.landing-steps p{font-size:15px;color:var(--muted)}.landing-icon{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.landing-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.landing-step-num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:#fff;font-weight:700;font-variant-numeric:tabular-nums}.landing-section.landing-privacy{display:flex;align-items:center;gap:24px;width:min(1088px,calc(100% - 48px));margin-top:112px;padding:36px;border-radius:var(--radius);background:var(--bg)}.landing-privacy .landing-h2{margin-bottom:8px;font-size:28px;text-align:left}.landing-privacy p{max-width:640px;color:var(--muted)}.landing-final{display:flex;flex-direction:column;align-items:center;padding:128px 24px 112px;text-align:center}.landing-final .landing-h2{margin-bottom:28px}.landing-footer{position:relative;overflow:hidden;color:#fff;background:linear-gradient(180deg,#0c3477,#124aa8)}.landing-footer:before{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:55%;pointer-events:none;background:radial-gradient(45% 70% at 18% 100%,rgba(168,196,240,.35),transparent 70%),radial-gradient(40% 60% at 55% 105%,rgba(214,228,250,.25),transparent 70%),radial-gradient(45% 75% at 92% 100%,rgba(168,196,240,.3),transparent 70%)}.footer-inner{position:relative;max-width:1136px;margin:0 auto;padding:72px 24px 28px}.footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;text-align:center}.footer-cols h2{margin-bottom:12px;font-size:17px;font-weight:600}.footer-cols ul{display:flex;flex-direction:column;align-items:center;gap:4px}.footer-cols a,.footer-cols button{display:inline-flex;align-items:center;min-height:36px;padding:0;color:#ffffffd9;font-size:16px;text-align:center}@media (max-width: 900px){.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.footer-cols{grid-template-columns:1fr}}.footer-cols a:hover,.footer-cols button:hover{color:#fff;text-decoration:underline}.footer-note li{padding:6px 0;font-size:15px;color:#ffffffd9}.landing-footer :focus-visible{outline-color:#fff}.footer-brand{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,28px);margin:72px 0 56px}.footer-brand .logo-mark,.footer-brand .logo-mark svg{width:clamp(64px,13vw,180px);height:clamp(64px,13vw,180px)}.footer-brand .logo-mark svg{stroke:#fff;stroke-width:1.4}.footer-brand .lm-hand{fill:#ffffff24}.footer-brand .lm-cuff{fill:#ffffff3d}.heart-drop .logo-mark svg{overflow:visible}.heart-drop.playing :is(.lm-heart,.lm-cross),.revealed .heart-drop :is(.lm-heart,.lm-cross){animation:heart-fall 3.6s infinite}.heart-drop{position:relative;display:inline-grid}.burst{position:absolute;left:60.4%;top:43.75%;width:12%;aspect-ratio:1;margin:-6% 0 0 -6%;opacity:0;pointer-events:none}.burst svg{display:block;width:100%;height:100%;fill:#ff375f}.burst:nth-child(odd) svg{fill:#ff8fa8}.heart-drop.playing .burst,.revealed .heart-drop .burst{animation:heart-burst 3.6s infinite}@keyframes heart-burst{0%,31%{opacity:0;transform:translate(0) scale(.3);animation-timing-function:cubic-bezier(.2,.7,.3,1)}35%{opacity:1}54%,to{opacity:0;transform:translate(calc(var(--x) * 100%),calc(var(--y) * 100%)) scale(1) rotate(var(--r))}}@keyframes heart-fall{0%{opacity:0;transform:translateY(-16px);animation-timing-function:cubic-bezier(.3,.7,.4,1)}8%{opacity:1}32%{transform:translateY(.6px);animation-timing-function:ease-out}38%{transform:translateY(-.5px);animation-timing-function:ease-in-out}44%,78%{opacity:1;transform:translateY(0);animation-timing-function:ease-in}92%,to{opacity:0;transform:translateY(-8px)}}.footer-brand span{font-size:clamp(44px,13vw,184px);font-weight:700;line-height:1}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.25);font-size:14px}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.footer-bottom a:hover{text-decoration:underline}@media (max-width: 900px){.landing-links{display:none}.peek-frame{grid-template-columns:1fr 1fr}.peek-chat{grid-column:1 / -1}}@media (max-width: 600px){.landing-nav{gap:12px;padding:16px}.landing-brand span{display:none}.landing-login,.landing-signup{min-height:44px;padding:0 16px;font-size:16px}.landing-hero{padding-top:56px}.peek-frame{grid-template-columns:1fr;padding:12px;gap:12px}.peek-risk{min-height:160px}.landing-section{padding-top:80px}.landing-section.landing-privacy{flex-direction:column;align-items:flex-start;margin-top:80px;padding:28px 24px}}sup{font-size:.45em;font-weight:500;vertical-align:top;position:relative;top:.2em;margin-left:3px}.app{width:100%;max-width:1560px;margin:0 auto;min-height:100dvh;padding:24px 32px 32px;position:relative}.topbar{position:absolute;top:16px;right:32px;z-index:10;display:flex;justify-content:flex-end}.content>.page>:first-child{padding-right:120px}.logo-mark{width:40px;height:40px;display:grid;place-items:center}.logo-mark svg{width:40px;height:40px;stroke:var(--text);stroke-width:1.8;stroke-linejoin:round}.logo-mark .lm-heart{fill:#ff375f}.logo-mark .lm-cross,.logo-mark .lm-hand{fill:#fff}.logo-mark .lm-cuff{fill:#f5f5f7}.logo-mark .lm-sleeve{fill:#a8c4f0}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:44px;height:44px;border-radius:var(--radius-sm);display:grid;place-items:center;transition:background-color .2s ease-out;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}.icon-btn:hover{background:var(--glass-bg-strong)}.icon-btn svg{width:20px;height:20px;fill:none;stroke:var(--text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notif-wrap,.notif-wrap .icon-btn{position:relative}.notif-wrap .icon-btn svg{width:22px;height:22px}.notif-badge{position:absolute;top:7.5px;left:20px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:15px;text-align:center;font-variant-numeric:tabular-nums;animation:badge-pop .2s ease-out}@keyframes badge-pop{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}.notif-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:20;width:min(360px,calc(100vw - 32px));padding:8px;border-radius:var(--radius);border:1px solid var(--glass-edge);background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffffe6,0 0 0 .5px #0000000f,0 16px 48px #00000024;animation:notif-in .2s ease-out}@keyframes notif-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.notif-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 12px}.notif-head h2{font-size:17px;font-weight:600}.notif-mark{min-height:36px;padding:0 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--primary)}.notif-mark:hover{background:var(--primary-soft)}.notif-list{display:flex;flex-direction:column;gap:2px;max-height:min(420px,70vh);overflow-y:auto}.notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:var(--radius-sm)}.notif-item:hover{background:#0000000a}.notif-item.unread{background:#155bd00f}.notif-item.unread:hover{background:#155bd01a}.notif-icon{width:36px;height:36px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.notif-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notif-icon.appointment{background:#e3eefc;color:#0f4aad}.notif-icon.medication{background:#fdf1dc;color:#8a4b00}.notif-icon.lab{background:#efe7fb;color:#6b2fb3}.notif-icon.alert{background:#fde7e9;color:var(--danger)}button.notif-item{width:100%;text-align:left}.notif-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:13px;color:var(--muted)}.notif-text strong{font-size:15px;font-weight:600;color:var(--text)}.notif-text small{font-size:12px}.notif-dot{width:8px;height:8px;flex-shrink:0;margin-top:8px;border-radius:50%;background:var(--primary)}.notif-empty{padding:24px 8px;text-align:center;color:var(--muted);font-size:14px}.avatar{width:44px;height:44px;flex:none;border-radius:50%;background:linear-gradient(180deg,#8e8e93,#636366);color:#fff;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 .5px #00000014,0 4px 12px #00000014;display:grid;place-items:center;font-weight:600;font-size:15px}button.avatar{transition:filter .15s ease-out}button.avatar:hover{filter:brightness(1.1)}.account-wrap{position:relative}.account-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:20;width:min(300px,calc(100vw - 32px));padding:6px;display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--glass-edge);background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffffe6,0 0 0 .5px #0000000f,0 16px 48px #00000024;animation:notif-in .2s ease-out}.account-head{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}.account-head strong{font-size:15px;font-weight:600}.account-head small{font-size:13px;color:var(--muted)}.account-menu button{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:12px;font-size:15px;font-weight:500;text-align:left}.account-menu button:hover{background:#0000000d}.account-menu button.danger{color:var(--danger)}.account-menu svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.account-sep{height:1px;margin:6px 12px;background:var(--separator)}.grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.left{display:flex;flex-direction:column;gap:20px;min-width:0}h1{font-size:40px;font-weight:700;margin:4px 0 0;line-height:1.1}.subtitle{color:var(--muted);font-size:17px;margin-bottom:4px}h2{font-size:20px;font-weight:600;line-height:1.25}h2 sup{color:var(--muted)}.card{background:var(--surface);border:0;border-radius:var(--radius);padding:20px 24px;box-shadow:0 0 0 .5px #0000000a,0 2px 12px #0000000a}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.label{font-size:15px;color:var(--muted)}.small{font-size:14px}.row-top{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.risk{color:#fff;border:0;min-height:220px;display:flex;flex-direction:column;background:var(--r-bg, #1550ad)}.risk .label{color:#ffffffeb}.risk-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.risk-meta{font-size:13px;color:#ffffffeb}.risk .big{font-size:56px;font-weight:700;margin:8px 0 4px;line-height:1.1;font-variant-numeric:tabular-nums}.risk .big sup{font-size:.3em;font-weight:600;top:.5em}.risk-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn-dark{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:#fff;color:var(--primary);padding:0 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600}.btn-dark svg{width:18px;height:18px;fill:currentColor}.btn-light{min-height:44px;color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;gap:12px;padding:0 6px 0 20px;font-size:15px;font-weight:500;background:#ffffff29;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);box-shadow:inset 0 1px #ffffff59}.btn-dark:hover{background:#f5f5f7}.btn-light:hover{background:#ffffff3d}.dial{width:32px;height:32px;border-radius:6px;background:#ffffff38;display:grid;place-items:center}.dial svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.stack{display:flex;flex-direction:column;gap:20px}.risk-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px}.risk-main{display:flex;flex-direction:column;gap:12px;min-width:0}.risk-main .risk{flex:none;min-height:0}.risk-main .risk .big{margin:4px 0 2px;font-size:48px}.risk-main .risk-actions{margin-top:16px}.risk-graphs{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chart-card{display:flex;flex-direction:column;gap:12px;min-height:0;padding:16px 20px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.chart-head h3{margin:0;font-size:15px;font-weight:600}.chart-tag{padding:1px 8px;border-radius:999px;background:#7878801f;font-size:11px;font-weight:600;color:var(--muted)}.bar-chart{flex:1;display:flex;align-items:stretch;gap:8px;min-height:96px}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.bar-col small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.bar-col i{display:block;width:100%;max-width:28px;min-height:4px;border-radius:6px;background:var(--primary-soft)}.bar-col.now i{background:var(--primary)}.bar-col.now small{color:var(--text);font-weight:600}.bar-labels{display:flex;gap:8px;margin-top:-6px}.bar-labels span{flex:1;text-align:center;font-size:11px;color:var(--muted)}.ring-chart{flex:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px}.ring-chart svg{width:96px;height:96px;flex:none;transform:rotate(-90deg)}.ring-chart circle{fill:none;stroke-width:6}.ring-chart .ring-track{stroke:#7878801f}.ring-legend{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:13px}.ring-legend li{display:flex;align-items:center;gap:8px}.ring-legend i{width:8px;height:8px;flex:none;border-radius:50%}.ring-legend span{flex:1;color:var(--muted)}.ring-legend strong{font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 600px){.risk-graphs{grid-template-columns:1fr}}.condition-group{display:flex;flex-direction:column;gap:12px;min-width:0}.condition-group-head{position:relative}.condition-group-head h2{font-size:17px;font-weight:600}.cg-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:-10px 0 -10px -8px;padding:0 8px;border-radius:var(--radius-sm);text-align:left}.cg-toggle:hover{background:#78788014}.cg-toggle svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-out}.cg-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.cg-about{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 32px #0000001a;font-size:14px;color:var(--muted);animation:cg-drop .15s ease-out}@keyframes cg-drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.cg-legend{display:flex;flex-direction:column;gap:6px}.cg-legend li{display:flex;align-items:center;gap:10px}.cg-legend i{flex:none}.cg-legend .legend-tick{margin:0 9px;height:14px}.cg-fill{width:20px;height:8px;border-radius:4px;background:var(--ok-ink)}.cg-bands{width:20px;height:8px;border-radius:4px;background:linear-gradient(90deg,#1a7f3759 0,#1a7f3759 33%,#c26a0066 33%,#c26a0066 66%,#d7001559 66%)}.legend-tick{display:inline-block;width:2px;height:11px;margin:0 4px -1px 0;border-radius:1px;background:var(--text);opacity:.55}.condition-risks{flex:1;display:flex;flex-direction:column;gap:12px}.condition-risks li{flex:1;display:flex}.risk-tone{--bar: var(--ok-ink)}.risk-tone.moderate{--bar: #c26a00}.risk-tone.high{--bar: var(--danger)}.condition-risk{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px 20px;color:var(--text)}.condition-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.condition-name{font-size:15px;font-weight:600}.condition-score{font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.condition-score small{margin-left:2px;font-size:12px;font-weight:500;color:var(--muted)}.risk-bar{position:relative;display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(26,127,55,.16) 0 var(--m),rgba(194,106,0,.2) var(--m) var(--h),rgba(215,0,21,.16) var(--h) 100%)}.risk-bar-fill{position:absolute;top:0;bottom:0;left:0;min-width:6px;border-radius:inherit;background:var(--bar);transition:width .4s ease-out}.risk-bar-typical{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--text);opacity:.55}.condition-foot{display:block;font-size:12px;line-height:1.4;color:var(--muted)}.sheet.condition-sheet{width:min(560px,calc(100vw - 32px));background:var(--glass-bg)}.sheet.condition-sheet::backdrop{background:#00000024}.condition-sheet .sheet-body{align-items:stretch;gap:16px}.condition-summary{display:flex;flex-direction:column;gap:12px}.condition-summary p{font-size:15px}.condition-summary .condition-head{align-items:center}.condition-big{font-size:34px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.condition-big small{font-size:15px;font-weight:500;color:var(--muted)}.condition-chip{flex:none;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--bar);background:#7878801f;background:color-mix(in srgb,var(--bar) 12%,transparent)}.condition-sheet .risk-bar{height:12px}.condition-sheet .risk-bar-typical{top:-4px;bottom:-4px}.risk-legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--muted)}.risk-legend span{display:inline-flex;align-items:center;gap:6px}.risk-legend i{display:inline-block}.legend-you{width:14px;height:8px;border-radius:4px;background:var(--bar)}.legend-typical{width:2px;height:12px;border-radius:1px;background:var(--text);opacity:.55}.condition-summary .condition-plain{font-weight:500}.icon-array{display:grid;grid-template-columns:repeat(20,1fr);gap:4px;max-width:340px}.icon-array span{aspect-ratio:1;border-radius:50%;background:#78788038}.icon-array span.on{background:var(--bar)}.evidence{padding:12px 16px;border-radius:var(--radius-sm);background:#ffffff8c;box-shadow:inset 0 1px #fffc,0 0 0 .5px #0000000d}.evidence h3{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:13px;font-weight:600;color:var(--muted)}.evidence h3 svg{width:16px;height:16px;fill:none;stroke:var(--primary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.evidence-list li{display:flex;flex-direction:column;gap:2px;padding:8px 0;font-size:14px}.evidence-list li+li{border-top:1px solid var(--separator)}.evidence-list q{font-size:15px;font-style:italic}.evidence-list small{font-size:12px;color:var(--muted)}.evidence-list a{color:var(--primary);font-weight:600}.evidence-list a:hover{text-decoration:underline}.evidence-source{font-weight:600}.evidence-empty{padding:4px 0;font-size:14px;color:var(--muted)}.condition-level{font-weight:600;color:var(--bar)}@media (max-width: 900px){.risk-row{grid-template-columns:1fr}}.vital{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.vital.watch{background:#fffaf0;box-shadow:0 0 0 1px #f5dcae,0 2px 12px #0000000a}.amt{font-size:32px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.amt sup{font-size:.42em;font-weight:500;color:var(--muted);top:.7em}.vital-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.badge{font-style:normal;font-size:13px;font-weight:600;padding:4px 12px;border-radius:999px;white-space:nowrap}.badge.normal{background:var(--ok-bg);color:var(--ok-ink)}.badge.watch{background:var(--warn-bg);color:var(--warn-ink)}.badge.alert{display:inline-block;margin-bottom:8px;background:#fde7e9;color:#b0000f}.dev-risk{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.dev-risk-pill,.dev-risk-panel{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}.dev-risk-pill{min-height:44px;padding:0 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.dev-risk-panel{width:248px;padding:16px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px;font-size:13px}.dev-risk-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:600}.dev-risk-head output{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.dev-risk input[type=range]{width:100%;accent-color:var(--primary)}.dev-risk-presets,.dev-risk-foot{display:flex;gap:8px}.dev-risk-presets button,.dev-risk-foot button{flex:1;min-height:36px;border-radius:10px;background:#7878801f;font-size:13px;font-weight:600}.dev-risk-presets button[aria-pressed=true]{background:var(--primary);color:#fff}.dev-risk-foot button{color:var(--primary)}.dev-risk-panel p{color:var(--muted)}.dev-view-toggle{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;border-radius:var(--radius-sm);background:#7878801f}.dev-view-toggle button{min-height:32px;border-radius:6px;font-size:13px;font-weight:600;color:var(--muted)}.dev-view-toggle button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border)}.dev-info{display:flex;flex-direction:column;gap:4px;margin:0;padding-top:10px;border-top:1px solid var(--separator)}.dev-info div{display:flex;justify-content:space-between;gap:8px}.dev-info dt{color:var(--muted)}.dev-info dd{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dev-risk.user-view .dev-risk-pill{opacity:.45;transition:opacity .15s ease-out}.dev-risk.user-view .dev-risk-pill:hover,.dev-risk.user-view .dev-risk-pill:focus-visible,.dev-risk.user-view .dev-risk-pill[aria-expanded=true]{opacity:1}.row-mid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.head-actions{display:flex;gap:8px;align-items:center}.chip{min-height:36px;background:var(--primary-soft);color:var(--primary);padding:0 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500}.chip-static{display:inline-flex;align-items:center;cursor:default}.round-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--surface-soft);border:0;color:var(--text);font-size:16px}.round-btn:hover{background:#e8e8ed}.bars{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:180px}.bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;flex:1;height:100%;position:relative}.bar{width:100%;max-width:48px;border-radius:12px;background:#e8e8ed;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;font-size:12px;font-weight:500;color:var(--text);position:relative;transition:height .6s ease;font-variant-numeric:tabular-nums}.bar.active{background:var(--primary);color:#fff}.ring{position:absolute;top:8px;left:50%;transform:translate(-50%);width:14px;height:14px;border:2px solid #fff;border-radius:50%}.bar-label{font-size:13px;color:var(--muted)}.tip{position:absolute;top:0;right:10px;display:flex;gap:8px;align-items:center;background:var(--text);color:#fff;border-radius:12px;padding:6px 12px;white-space:nowrap;z-index:2}.tip b{font-size:13px;font-weight:600;display:block}.tip em{font-style:normal;color:#a8c4f0;font-size:12px}.tip-dot{width:20px;height:20px;border-radius:50%;background:#fff;color:var(--text);font-style:normal;font-size:11px;display:grid;place-items:center}.focus-body{display:flex;align-items:center;gap:20px}.donut{width:140px;height:140px;border-radius:50%;flex:none;position:relative}.donut-center{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:var(--muted)}.donut-center strong{font-size:24px;color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.legend{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;font-size:13px;color:var(--muted)}.legend b{display:block;font-size:15px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.legend b:before{content:"";display:inline-block;width:4px;height:12px;border-radius:2px;margin-right:8px;vertical-align:-1px;background:var(--c)}.appt-row{display:grid;grid-template-columns:40px 1.3fr 1fr 1.3fr 1.1fr .7fr 44px;align-items:center;gap:12px;font-size:14px;padding:8px 0;border-top:1px solid var(--separator)}.appt-row:first-of-type{border-top:0}.appt-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600}.appt-name{font-weight:600}.appt-date,.appt-place{color:var(--muted)}.status{font-weight:600;font-size:13px;padding:4px 12px;border-radius:999px;width:fit-content}.status.confirmed{background:var(--ok-bg);color:var(--ok-ink)}.status.pending{background:var(--warn-bg);color:var(--warn-ink)}.appt-amt{font-size:14px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.see-all{font-size:15px;font-weight:500;color:var(--primary);min-height:44px;display:inline-flex;align-items:center}.see-all:hover{text-decoration:underline}.dots{color:var(--muted);width:44px;height:44px;border-radius:var(--radius-sm);font-size:18px;text-align:center}.dots:hover{background:var(--surface-soft)}.panel{padding:20px;display:flex;flex-direction:column;gap:20px}.add-btn{min-height:44px;background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:0 6px 0 20px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:12px}.add-btn:hover{background:var(--primary-strong)}.add-btn i{width:32px;height:32px;border-radius:6px;background:#ffffff38;color:#fff;font-style:normal;font-size:18px;display:grid;place-items:center}.coverage-stack{position:relative;height:216px}.plan{position:absolute;left:0;right:0;border-radius:var(--radius);padding:12px 16px;font-size:12px;font-weight:500;display:flex;justify-content:space-between;align-items:flex-start}.plan-1{top:0;left:24px;right:24px;height:60px;background:#d6e4fa;color:#0f3a80;justify-content:flex-end}.plan-2{top:20px;left:12px;right:12px;height:68px;background:#a8c4f0;color:#0f2f66}.plan-3{top:40px;height:100px;background:linear-gradient(135deg,#1d1d1f,#3a3a3c);color:#fff;padding-top:16px}.plan-3 b,.plan-2 b{font-size:15px;font-weight:700}.plan-4{top:104px;height:112px;background:#ffffffd9;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);color:var(--text);border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 1px #fff,0 0 0 .5px #0000000f,0 8px 24px #0000001f;flex-direction:column;justify-content:flex-start;gap:8px;padding:16px}.plan-4 .num{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.plan-4 .holder{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.meds h2{font-size:17px}.med-icons{display:flex;margin:0 0 16px}.med-icons i,.med-list li>i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:14px;font-weight:600;border:2px solid #fff;margin-right:-4px}.med-list{background:var(--surface-soft);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:4px}.med-list li{background:var(--surface);border-radius:14px;padding:8px 4px 8px 12px;display:flex;align-items:center;gap:12px}.med-list li>i{background:var(--primary-soft);color:var(--primary);border-radius:12px;margin:0;border:0}.med-list li div{flex:1;font-size:14px;min-width:0}.med-list b{display:block;font-weight:600}.med-list small{color:var(--muted);font-size:12px}.med-list strong{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.med-list strong small{color:var(--muted);font-size:12px;font-weight:500;margin-left:2px}.tappable{position:relative;overflow:hidden;cursor:pointer;text-align:left;width:100%;transition:transform .2s ease-out,box-shadow .2s ease-out}.tappable:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .2s ease-out;background:linear-gradient(135deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.08) 45%,transparent 60%);box-shadow:inset 0 1px #fffc}.tappable:hover{transform:translateY(-2px);box-shadow:0 0 0 .5px #0000000a,0 12px 32px #0000001a}.tappable:hover:after{opacity:1}.tappable:active{transform:scale(.98)}.risk.tappable:after{background:#00000014;box-shadow:none}.card-hit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:0}.risk .risk-actions{position:relative;z-index:1}.sheet{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;overflow:auto;border:1px solid var(--glass-edge);border-radius:var(--radius);color:var(--text);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(32px) saturate(190%);backdrop-filter:blur(32px) saturate(190%);box-shadow:inset 0 1px #ffffffe6,0 0 0 .5px #0000000f,0 24px 64px #0003}.sheet[open]{animation:sheet-in .2s ease-out}.sheet::backdrop{background:#0000003d}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.sheet-body{padding:24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%}.sheet-value{font-size:40px;font-weight:700;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums}.sheet-value sup{font-size:.38em;font-weight:500;color:var(--muted);top:.4em;margin-left:2px}.sheet-close{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);display:grid;place-items:center;background:#7878801f}.sheet-close:hover{background:#78788033}.sheet-close svg{width:18px;height:18px;fill:none;stroke:var(--text);stroke-width:2;stroke-linecap:round}.sheet-about{font-size:15px}.sheet-rows{margin:0;width:100%;border-radius:var(--radius-sm);background:#ffffffb3}.sheet-rows div{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;font-size:15px}.sheet-rows div+div{border-top:1px solid var(--separator)}.sheet-rows dt{color:var(--muted)}.sheet-rows dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.sheet-sub{margin:4px 0 0;font-size:17px;font-weight:600}.sheet-tips{display:flex;flex-direction:column;gap:8px;font-size:15px}.sheet-tips li{position:relative;padding-left:20px}.sheet-tips li:before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--primary)}@media (max-width: 1000px){.grid{grid-template-columns:1fr}}@media (max-width: 640px){.app{padding:24px 16px 16px}.topbar{top:12px;right:16px}.content>.page>:first-child{padding-right:104px}h1{font-size:32px}.row-top,.row-mid{grid-template-columns:1fr}.appt-row{grid-template-columns:40px 1fr auto}.appt-date,.appt-place,.appt-amt{display:none}.focus-body{flex-direction:column}}.signin-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;background:var(--bg);pointer-events:none;animation:splash-out .27s ease-in .82s forwards}.signin-splash .logo-mark,.signin-splash .logo-mark svg{width:112px;height:112px;overflow:visible}.signin-splash .logo-mark{animation:splash-in .18s ease-out both}.signin-splash .lm-heart,.signin-splash .lm-cross{animation:heart-drop .5s cubic-bezier(.3,.7,.4,1) .1s both}.signin-splash .burst{animation:splash-burst .5s cubic-bezier(.2,.7,.3,1) .42s both}@keyframes splash-burst{0%{opacity:0;transform:translate(0) scale(.3)}15%{opacity:1}to{opacity:0;transform:translate(calc(var(--x) * 100%),calc(var(--y) * 100%)) scale(1) rotate(var(--r))}}@keyframes splash-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes heart-drop{0%{opacity:0;transform:translateY(-14px)}15%{opacity:1}70%{transform:translateY(.8px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-out{to{opacity:0}}.page{display:flex;flex-direction:column;gap:20px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}h1:focus{outline:none}.section-title{margin-bottom:12px}.section-title sup{color:var(--muted)}h3{margin:0;font-size:17px;font-weight:600}.btn-primary{min-height:44px;padding:0 24px;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:15px;font-weight:600;transition:background-color .15s ease-out}.btn-primary:hover{background:var(--primary-strong)}.vitals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vital-tile{display:flex;flex-direction:column;gap:8px}.vital-tile.watch{background:#fffaf0;box-shadow:0 0 0 1px #f5dcae,0 2px 12px #0000000a}.tile-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.tile-head h2{font-size:15px;color:var(--muted);font-weight:600}.sparkline{width:100%;max-width:160px;height:36px;fill:none}.sparkline polyline{stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sparkline circle{fill:var(--primary)}.vital-tile.watch .sparkline polyline{stroke:#c26a00}.vital-tile.watch .sparkline circle{fill:#c26a00}.range{font-size:13px;color:var(--muted)}.page-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.readings li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--separator);font-size:14px}.readings li:first-child{border-top:0}.readings li>div{flex:1;min-width:0}.readings b{display:block;font-weight:600}.readings small{color:var(--muted);font-size:13px}.reading-value{font-weight:600;font-variant-numeric:tabular-nums}.appt-list{display:flex;flex-direction:column;gap:12px}.appt-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto 44px;align-items:center;gap:16px}.appt-icon{width:44px;height:44px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:14px;font-weight:600}.appt-meta{font-size:14px;color:var(--muted)}.appt-note{font-size:14px;margin-top:4px}.appt-when{text-align:right;font-size:14px}.appt-when b{display:block;font-weight:600}.appt-when span{color:var(--muted)}.status.completed{background:#ebebf0;color:#48484a}.rec-section{scroll-margin-top:16px;display:flex;flex-direction:column;gap:12px}.rec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.rec-head .section-title{margin-bottom:2px}.rec-locate{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius-sm);background:var(--surface);border:0;box-shadow:0 0 0 .5px #00000014,0 2px 8px #0000000d;font-size:15px;font-weight:500;color:var(--primary)}.rec-locate:hover:not(:disabled){background:var(--primary-soft)}.rec-locate:disabled{cursor:not-allowed;opacity:.5}.rec-locate svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rec-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:16px;box-shadow:0 0 0 1px #c9daf6,0 2px 12px #0000000a}.rec-why{font-size:14px;margin-top:4px}.rec-why b{color:var(--primary)}.rec-book{min-width:112px}.rec-book:disabled{background:#8e8e93}.rec-done{min-width:112px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--ok-bg);color:var(--ok-ink);font-size:14px;font-weight:600}.section-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-left:-12px;padding:0 12px;border-radius:var(--radius-sm);font:inherit;color:inherit;transition:background-color .15s ease-out}.section-toggle:hover{background:#0000000d}.section-toggle sup{color:var(--muted)}.section-chevron{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-out}.section-toggle[aria-expanded=true] .section-chevron{transform:rotate(90deg)}.section-reveal{animation:section-in .2s ease-out}.section-body{display:flex;flex-direction:column;gap:12px}.section-body>.subtitle{margin-top:-8px}.rec-head .subtitle{flex:1;min-width:0}@keyframes section-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.status.requested,.badge.requested{background:var(--primary-soft);color:var(--primary)}.sheet.book-detail,.sheet.book-sheet{background:var(--glass-bg)}.book-detail .sheet-head{align-items:center}.book-detail-who{display:flex;align-items:center;gap:12px;min-width:0}.book-detail-why{padding:12px 16px;border-radius:var(--radius-sm);background:#155bd012}.book-detail-why h3{font-size:13px;font-weight:600;color:var(--primary);margin-bottom:4px}.book-detail-why p{font-size:15px}.book-detail .sheet-rows dd{display:flex;flex-direction:column;align-items:flex-end;max-width:65%}.book-detail .sheet-rows dd small{font-size:13px;font-weight:400;color:var(--muted)}.book-slots .book-chip{min-height:56px;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center}.sheet.confirming{width:min(360px,calc(100vw - 32px));text-align:center}.confirm-body{display:flex;flex-direction:column;align-items:stretch;gap:8px}.book-describe-label{font-size:15px;font-weight:600}.book-describe textarea{width:100%;min-height:88px;resize:vertical;padding:12px 14px;border-radius:14px;border:1px solid transparent;background:#7878801f;color:var(--text);font:inherit;font-size:15px;line-height:1.45;transition:background-color .15s ease-out,border-color .15s ease-out}.book-describe textarea::placeholder{color:var(--muted)}.book-describe textarea:focus-visible{outline:none;background:#ffffffd9;border-color:var(--primary);box-shadow:0 0 0 4px #155bd026}.book-hint{font-size:13px;color:var(--muted)}.book-pick{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius-sm);background:#fff9;box-shadow:inset 0 1px #fffc,0 0 0 .5px #0000000d}.book-pick-who{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center}.book-pick-who h3{font-size:15px;font-weight:500}.book-pick .book-summary q{font-style:italic}.confirm-when{display:inline-block;margin-top:4px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.appt-menu-wrap{position:relative}.appt-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:15;min-width:220px;padding:6px;display:flex;flex-direction:column;border-radius:var(--radius-sm);border:1px solid var(--glass-edge);background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffffe6,0 0 0 .5px #0000000f,0 12px 32px #00000024;animation:notif-in .2s ease-out}.appt-menu a,.appt-menu button{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:10px;font-size:15px;font-weight:500;text-align:left;color:var(--text)}.appt-menu a:hover,.appt-menu button:hover{background:#0000000d}.appt-menu .danger{color:var(--danger)}.appt-menu svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.confirm-sheet{width:min(360px,calc(100vw - 32px));text-align:center}.confirm-sheet .sheet-body{align-items:stretch;gap:8px}.confirm-title{font-size:20px;font-weight:700}.confirm-desc{font-size:15px;color:var(--muted)}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.btn-danger{min-height:44px;padding:0 16px;border-radius:var(--radius-sm);background:var(--danger);color:#fff;font-size:15px;font-weight:600;transition:background-color .15s ease-out}.btn-danger:hover:not(:disabled){background:#b00012}.empty-state{display:flex;flex-direction:column;align-items:center;gap:4px;padding:32px 24px;text-align:center}.empty-state>p:first-child{font-size:17px;font-weight:600}.empty-state .btn-secondary{margin-top:12px}.provider-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:16px}.provider-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.provider-type{font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px;background:#7878801f;color:var(--muted)}.provider-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:8px 0 0;font-size:14px}.provider-facts div{display:contents}.provider-facts dt{color:var(--muted)}.provider-facts dd{margin:0}.provider-facts a,.provider-call{color:var(--primary)}.provider-call{display:inline-flex;align-items:center}.btn-secondary{min-height:44px;padding:0 20px;border-radius:var(--radius-sm);background:#7878801f;color:var(--primary);font-size:15px;font-weight:600;transition:background-color .15s ease-out}.btn-secondary:hover{background:#78788033}.book-sheet{width:min(560px,calc(100vw - 32px))}.book-sheet .sheet-body{gap:24px;align-items:stretch}.book-title{font-size:28px;font-weight:700;line-height:1.15}.book-sub{margin-top:4px;font-size:15px;color:var(--muted)}.book-field{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px}.book-field legend{padding:0;margin-bottom:8px;font-size:15px;font-weight:600}.book-optional{margin-left:4px;font-size:13px;font-weight:400;color:var(--muted)}.book-chips{display:flex;flex-wrap:wrap;gap:8px}.book-chip{min-width:56px;min-height:44px;padding:0 16px;border-radius:var(--radius-sm);background:#7878801f;font-size:15px;font-weight:500;transition:background-color .15s ease-out,color .15s ease-out}.book-chip:hover{background:#78788033}.book-chip[aria-pressed=true]{background:var(--primary);color:#fff}.book-chip small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.book-chip[aria-pressed=true] small{color:#ffffffd9}.book-times .book-chip{flex:1;min-height:60px;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center}.segmented{display:flex;padding:2px;border-radius:12px;background:#7878801f}.segmented label{flex:1;position:relative;cursor:pointer}.segmented input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.segmented span{display:grid;place-items:center;min-height:40px;border-radius:10px;font-size:14px;font-weight:500;transition:background-color .15s ease-out}.segmented input:checked+span{background:#fff;font-weight:600;box-shadow:0 0 0 .5px #0000000a,0 3px 8px #0000001f}.segmented input:focus-visible+span{outline:var(--focus-ring);outline-offset:2px}.book-from{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.book-link{min-height:44px;padding:0 4px;color:var(--primary);font-size:14px;font-weight:500}.book-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px}.book-options-head{display:flex;flex-direction:column;gap:4px}.book-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px 0 0;color:var(--primary);font-size:15px;font-weight:500}.book-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.book-summary{font-size:14px;color:var(--muted)}.book-options{display:flex;flex-direction:column;gap:8px;max-height:min(440px,55dvh);overflow-y:auto;margin:0 -4px;padding:0 4px}.book-option{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-sm);background:#ffffffbf;box-shadow:0 0 0 .5px #0000000d}.book-option h3{font-size:14px;font-weight:500}.book-option .btn-primary{min-width:88px;padding:0 16px}.book-error{grid-column:2 / -1;margin-top:0}.book-when{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.book-meta{font-size:13px;color:var(--muted)}.book-done{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:8px 0}.book-done .btn-primary{margin-top:16px;min-width:160px}.book-check{width:64px;height:64px;margin-bottom:8px;border-radius:50%;display:grid;place-items:center;background:var(--ok-bg);color:var(--ok-ink)}.book-check svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.btn-ghost{min-height:44px;padding:0 12px;border-radius:var(--radius-sm);color:var(--muted);font-size:15px;font-weight:500}.btn-ghost:hover{background:#0000000d;color:var(--text)}.autobook-reason{padding:12px 16px;border-radius:var(--radius-sm);background:#d700150f}.autobook-reason h3{font-size:13px;font-weight:600;color:#b0000f;margin-bottom:4px}.autobook-reason p{font-size:15px}.autobook-sheet .sheet-rows dd{display:flex;flex-direction:column;align-items:flex-end;max-width:65%}.autobook-sheet .sheet-rows dd small{font-size:13px;font-weight:400;color:var(--muted)}.autobook-map{min-height:32px;display:inline-flex;align-items:center;color:var(--primary);font-size:14px;font-weight:500}.autobook-map:hover{text-decoration:underline}.autobook-actions{flex-wrap:wrap}.autobook-actions .btn-ghost{margin-right:auto}.autobook-note{font-size:12px;color:var(--muted);text-align:center}.autobook-sheet .book-check{width:48px;height:48px;margin-bottom:8px}.autobook-sheet .book-check svg{width:26px;height:26px}.care-banner{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--radius);background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow),inset 3px 0 0 var(--danger)}.care-banner h2{font-size:17px}.care-banner p{font-size:14px;color:var(--muted)}.care-banner-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fde7e9;color:var(--danger)}.care-banner-icon svg,.care-banner.done svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.care-banner.done{display:flex;gap:8px;padding:12px 16px;box-shadow:var(--glass-shadow);font-size:15px;font-weight:500;color:var(--ok-ink)}.care-banner.done svg{flex:none}.sheet-body.book-done{padding:24px}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-field>label{font-size:15px;font-weight:600}.text-input,.input-unit{width:100%;min-height:44px;border-radius:12px;border:1px solid transparent;background:#7878801f;color:var(--text);font:inherit;font-size:16px;transition:background-color .15s ease-out,border-color .15s ease-out}.text-input{padding:0 14px}.text-input::placeholder{color:var(--muted)}.text-input:focus-visible,.input-unit:focus-within{outline:none;background:#ffffffd9;border-color:var(--primary);box-shadow:0 0 0 4px #155bd026}.input-unit{display:flex;align-items:center;gap:8px;padding:0 14px}.input-unit input{flex:1;min-width:0;height:42px;border:0;background:transparent;color:var(--text);font:inherit;font-size:16px;font-variant-numeric:tabular-nums}.input-unit input:focus-visible{outline:none}.input-unit .unit{flex:none;font-size:15px;color:var(--muted)}.text-input[aria-invalid=true],.input-unit.invalid{border-color:var(--danger)}.field-error{font-size:13px;color:var(--danger)}.field-hint{margin-top:-12px;font-size:13px;color:var(--muted)}.reading-fields{display:grid;gap:12px}.reading-fields.two{grid-template-columns:1fr 1fr}.choice-list{border-radius:var(--radius-sm);background:#fff9;box-shadow:0 0 0 .5px #0000000d;overflow:hidden}.choice-list li+li{border-top:1px solid var(--separator)}.choice{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;cursor:pointer}.choice input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--primary)}.choice-text{display:flex;flex-direction:column;min-width:0}.choice-text b{font-size:15px;font-weight:600}.choice-text small{font-size:13px;color:var(--muted)}.choice.disabled{cursor:not-allowed;opacity:.55}.care-team{border-radius:var(--radius-sm);background:#fff9;box-shadow:0 0 0 .5px #0000000d}.care-team li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px}.care-team li+li{border-top:1px solid var(--separator)}.care-name{font-size:15px;font-weight:600}.care-actions{display:flex;gap:8px}.icon-action{width:44px;height:44px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);transition:background-color .15s ease-out}.icon-action:hover{background:#d6e4fa}.icon-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-who{display:flex;align-items:center;gap:12px;min-width:0}.profile-section{display:flex;flex-direction:column;gap:8px}.profile-section .sheet-sub{margin:0}.profile-sheet .sheet-rows dd{display:flex;flex-direction:column;align-items:flex-end;max-width:65%}.profile-head-actions{display:flex;align-items:center;gap:8px;flex:none}.profile-saved{font-size:14px;font-weight:500;color:var(--ok-ink)}.profile-form{display:flex;flex-direction:column;gap:24px}.profile-form .profile-section{gap:14px}.profile-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-list{margin:0;padding:0;border:0}.profile-list legend{padding:0;margin-bottom:6px;font-size:15px;font-weight:600}.profile-none{font-size:14px;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;gap:2px;padding:0 2px 0 12px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);font-size:14px;font-weight:500}.tag button{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--primary)}.tag button:hover{background:#d6e4fa}.tag button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.tag-add{display:flex;gap:8px;margin-top:8px}.tag-add .text-input{flex:1;min-width:0}.profile-remove,.profile-add-contact{align-self:flex-start}@media (max-width: 480px){.profile-row{grid-template-columns:1fr}}.inline-link{color:var(--primary);font-weight:500}.inline-link:hover{text-decoration:underline}.vital-sheet .sheet-head .badge{display:inline-block;margin-top:8px}.trend-figure{margin:0;display:flex;flex-direction:column;gap:6px}.trend-figure figcaption{font-size:13px;color:var(--muted)}.trend-chart{width:100%;height:auto;overflow:visible}.trend-chart polyline{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trend-chart circle{fill:var(--primary)}.trend-band{fill:#1a7f371f}.reading-actions{display:flex;flex:none;margin-right:-8px}.row-action{width:44px;height:44px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--muted);transition:background-color .15s ease-out,color .15s ease-out}.row-action:hover{background:#0000000d;color:var(--text)}.row-action.danger:hover{color:var(--danger)}.row-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.med-sheet-who{display:flex;align-items:center;gap:12px;min-width:0}.med-sheet-dose{font-size:17px;font-weight:500;color:var(--muted)}.med-section{display:flex;flex-direction:column;gap:6px}.med-section .sheet-sub{margin:0}.med-section>p{font-size:15px}.med-refill{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--radius-sm);background:#fff9;box-shadow:0 0 0 .5px #0000000d}.med-refill p{display:flex;flex-direction:column;font-size:15px}.med-refill small{font-size:13px;color:var(--muted)}.btn-secondary-danger{color:var(--danger)}.readings li.just-added{animation:row-flash 1.8s ease-out;border-radius:10px}@keyframes row-flash{0%{background:var(--primary-soft)}to{background:transparent}}.progress-text{font-size:15px;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}.progress{height:10px;background:var(--primary-soft);border-radius:999px;overflow:hidden;margin-bottom:8px}.progress span{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.schedule li{border-top:1px solid var(--separator)}.schedule li:first-child{border-top:0}.dose-check{display:flex;align-items:center;gap:14px;min-height:52px;cursor:pointer;font-size:15px}.dose-check input{width:24px;height:24px;accent-color:var(--primary);flex:none}.dose-check input:focus-visible{border-radius:6px}.dose-time{width:80px;font-weight:600;flex:none;font-variant-numeric:tabular-nums}.dose-name small{color:var(--muted);font-size:13px;margin-left:4px}.dose-check input:checked~.dose-name{text-decoration:line-through;color:var(--muted)}.med-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.med-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.med-top .badge{margin-left:auto}.med-glyph{width:44px;height:44px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:600;flex:none}.med-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:0}.med-facts dt{font-size:13px;color:var(--muted)}.med-facts dd{margin:0;font-size:14px;font-weight:500}@media (max-width: 1000px){.vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-split{grid-template-columns:1fr}}@media (max-width: 640px){.vitals-grid,.med-grid,.med-facts{grid-template-columns:1fr}.appt-card{grid-template-columns:44px minmax(0,1fr) 44px}.appt-when,.appt-card .status{grid-column:2;text-align:left}.appt-card>.appt-menu-wrap{grid-column:3;grid-row:1}.rec-card{grid-template-columns:44px minmax(0,1fr)}.rec-card .appt-when,.rec-book,.rec-done{grid-column:2;text-align:left;justify-self:start}.dose-time{width:72px}.book-option{grid-template-columns:44px minmax(0,1fr)}.book-option .btn-primary{grid-column:2;justify-self:start}.book-times{flex-direction:column}.reading-fields.two{grid-template-columns:1fr}.care-team li{grid-template-columns:44px minmax(0,1fr)}.care-actions{grid-column:2}.provider-card{grid-template-columns:44px minmax(0,1fr)}.provider-card>.rec-book,.provider-card>.rec-done,.provider-call{grid-column:2;justify-self:start}.care-banner{grid-template-columns:44px minmax(0,1fr)}.care-banner .btn-primary{grid-column:2;justify-self:start}.autobook-sheet .sheet-rows div{flex-direction:column;gap:2px}.autobook-sheet .sheet-rows dd{align-items:flex-start;max-width:none;text-align:left}}.print-area{display:none}@media print{@page{margin:18mm}body{background:#fff}body>#root{display:none!important}.print-area{display:block;color:#000;font-size:11pt;line-height:1.45}.print-head{margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #000}.print-head h1{margin:0;font-size:20pt}.print-head p{margin-top:2px;color:#444}.print-area section{margin-bottom:16px;break-inside:avoid}.print-area h2{margin:0 0 6px;font-size:13pt}.print-area dl{display:grid;grid-template-columns:130px 1fr;gap:4px 12px;margin:0}.print-area dt{color:#444}.print-area dd{margin:0}.print-area table{width:100%;border-collapse:collapse}.print-area th,.print-area td{padding:4px 8px 4px 0;border-bottom:1px solid #ccc;text-align:left}.print-area th{font-weight:600}.print-lines span{display:block;height:28px;border-bottom:1px solid #999}}.login-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0;border:0;border-radius:var(--radius);color:var(--text);background:var(--surface);box-shadow:0 0 0 .5px #0000000f,0 24px 80px #00000038}.login-dialog[open]{animation:sheet-in .2s ease-out}.login-dialog::backdrop{background:#f5f5f773;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}.login-body{display:flex;flex-direction:column;gap:20px;padding:36px 36px 32px}.login-logo .logo-mark,.login-logo .logo-mark svg{width:56px;height:56px}.login-title{font-size:30px;font-weight:700;line-height:1.15}.login-sub{margin-top:6px;font-size:16px;color:var(--muted)}.text-input.login-input{min-height:50px;background:#fff;border-color:var(--border)}.login-continue,.login-provider{width:100%;min-height:52px;font-size:16px}.login-provider{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-sm);background:#7878801f;color:var(--text);font-weight:600;transition:background-color .15s ease-out}.login-provider:hover:not(:disabled){background:#78788033}.login-provider svg{width:20px;height:20px;flex:none}.login-provider+.login-provider{margin-top:-8px}.login-or{display:flex;align-items:center;gap:12px;margin:-4px 0;font-size:14px;color:var(--muted)}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--separator)}.login-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.login-switch{margin-top:-4px;font-size:15px;color:var(--muted);text-align:center}.login-switch-btn{min-height:44px;padding:0 4px;color:var(--primary);font-weight:600}.login-switch-btn:hover:not(:disabled){text-decoration:underline}@media (max-width: 480px){.login-body{padding:28px 24px 24px}.login-title{font-size:26px}}.login-guest{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:-4px;text-align:center}.login-guest-btn{min-height:44px;padding:0 16px;border-radius:var(--radius-sm);color:var(--primary);font-size:16px;font-weight:600}.login-guest-btn:hover:not(:disabled){background:var(--primary-soft)}.login-guest p{font-size:13px;color:var(--muted)}.login-dev{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border-radius:12px;border:1.5px dashed rgba(120,120,128,.45);color:var(--muted);font-size:14px;font-weight:600}.login-dev:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.login-dev-tag{padding:1px 6px;border-radius:6px;background:var(--text);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.guest-gate{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;text-align:center}.guest-gate h2{font-size:20px}.guest-gate p{max-width:420px;color:var(--muted)}.guest-gate .btn-primary{margin-top:8px;min-width:140px}.guest-icon{width:52px;height:52px;margin-bottom:4px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.guest-icon svg,.avatar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{width:100%;--history-open: 248px;--history-rail: 80px}.shell.with-history{display:grid;grid-template-columns:var(--history-w, var(--history-open)) minmax(0,1fr);transition:grid-template-columns .2s ease-out}.shell.with-history.rail{grid-template-columns:var(--history-w, var(--history-rail)) minmax(0,1fr)}.shell[data-resizing]{transition:none;cursor:ew-resize;user-select:none;-webkit-user-select:none}.content{min-width:0}.history{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border-right:1px solid var(--separator)}.history-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;padding:24px 12px 12px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.history-scroll::-webkit-scrollbar{display:none}.history-edge{position:absolute;top:0;right:0;bottom:0;z-index:2;width:10px;cursor:ew-resize;touch-action:none}.history-edge:after{content:"";position:absolute;top:50%;right:3px;width:4px;height:40px;border-radius:2px;background:#3c3c434d;transform:translateY(-50%);opacity:0;transition:opacity .2s ease-out}.history-edge:hover:after,.shell[data-resizing] .history-edge:after{opacity:1}.history-top{display:flex;align-items:center;gap:4px;min-height:48px;margin-bottom:8px}.history-brand{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:0 4px;border-radius:12px;font-size:20px;font-weight:600;color:var(--text);white-space:nowrap}.history-brand b{font-weight:700;color:var(--primary)}.history-icon{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--muted)}.history-icon:hover{background:#0000000d;color:var(--text)}.history svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.history .logo-mark svg{width:40px;height:40px;stroke:var(--text)}.side-nav{position:relative;display:flex;flex-direction:column;gap:4px}.side-nav-item{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;transition:background-color .2s ease-out,box-shadow .2s ease-out,transform .2s ease-out}.history-row.side-nav-item svg{color:inherit}.side-nav-item.active{color:var(--primary);font-weight:600;background:var(--primary-soft)}.side-nav-item.active:hover{background:#dce8fb}.side-nav.reordering .side-nav-item{cursor:grabbing}.side-nav.reordering .side-nav-item:not(.dragging):hover{background:none}.side-nav-item.dragging{position:relative;z-index:1;transition:none;background:var(--surface);box-shadow:0 0 0 1px var(--border)}.side-nav.settling .side-nav-item{transition:none}.history-divider{flex:none;width:calc(100% - 24px);height:1px;margin:8px auto;background:var(--separator)}.history-actions{display:flex;flex-direction:column;gap:4px}.history-row{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--radius-sm);font-size:15px;font-weight:500;color:var(--text);text-align:left;white-space:nowrap;transition:background-color .2s ease-out}.history-row:hover{background:#0000000d}.history-row svg{color:var(--primary)}.history-search-wrap{position:relative;display:flex;align-items:center;margin-top:4px}.history-search-wrap>svg{position:absolute;left:12px;width:18px;height:18px;color:var(--muted);pointer-events:none}.history-search{width:100%;min-height:40px;font:inherit;font-size:15px;color:var(--text);background:#7878801f;border:0;border-radius:var(--radius-sm);padding:0 12px 0 36px}.history-search::placeholder{color:var(--muted)}.history-toggle{width:100%}.history-toggle .history-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.history-count{min-width:22px;padding:0 6px;border-radius:999px;background:#7878801f;color:var(--muted);font-size:12px;font-weight:600;line-height:20px;text-align:center;font-variant-numeric:tabular-nums}.history-row .history-chevron{width:16px;height:16px;color:var(--muted);stroke-width:2;transition:transform .2s ease-out}.history-toggle[aria-expanded=true] .history-chevron{transform:rotate(90deg)}.history-panel{flex:1 1 0;min-height:280px;display:flex;flex-direction:column;animation:history-in .2s ease-out}@keyframes history-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.history-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:4px -4px 0;padding:0 4px}@supports not selector(::-webkit-scrollbar){.history-list{scrollbar-width:thin}}.history-group{font-size:12px;font-weight:600;color:var(--muted);margin:12px 12px 4px}.history-list li{position:relative;display:flex;align-items:center;border-radius:var(--radius-sm);transition:background-color .2s ease-out}.history-list li:hover{background:#0000000d}.history-list li a{flex:1;min-width:0;min-height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:var(--radius-sm);font-size:15px;color:var(--text);white-space:nowrap}.history-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.history-time{flex:none;font-size:12px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums;transition:opacity .15s ease-out}.history-list li:hover .history-time,.history-list li:focus-within .history-time{opacity:0}.history-list li:has(a.active){background:var(--primary-soft)}.history-list li a.active{color:var(--primary);font-weight:600}.history-delete{position:absolute;right:0;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);opacity:0;color:var(--muted)}.history-delete svg{width:18px;height:18px}.history-list li:hover .history-delete,.history-list li:focus-within .history-delete{opacity:1}.history-delete:hover{color:var(--danger)}.history-empty{font-size:14px;color:var(--muted);padding:8px 12px}@media (hover: none){.history-delete{opacity:1}.history-list li a{padding-right:44px}.history-list li:hover .history-time,.history-list li:focus-within .history-time{opacity:1}}.history.collapsed .history-scroll{align-items:center;padding:24px 8px 12px}.history.collapsed .history-top{flex-direction:column;gap:8px}.history.collapsed .history-brand{flex:none;padding:0}.history.collapsed .history-label{display:none}.history.collapsed .history-actions,.history.collapsed .side-nav{align-items:center;gap:8px}.history.collapsed .history-divider{width:32px}.history.collapsed .history-row{width:44px;padding:0;justify-content:center}@media (max-width: 640px){.shell{--history-open: 244px;--history-rail: 72px}}.chat-card{display:flex;flex-direction:column;height:min(640px,calc(100dvh - 220px));min-height:420px;padding:16px 20px 20px}.chat-log{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 2px 12px}.chat-hello{font-size:24px;font-weight:700}.chat-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chat-suggest .chip{min-height:44px;padding:8px 16px;font-size:15px;border-radius:var(--radius-sm);text-align:left}.chat-suggest .chip:hover{background:#d6e4fa}.chat-card.start{height:calc(100dvh - 56px);min-height:420px;justify-content:center;align-items:center;gap:16px}.chat-card.start .chat-log{flex:none;overflow:visible;padding:0}.chat-card.start .chat-hello{font-size:32px;line-height:1.2;text-align:center}.chat-card.start .composer,.chat-card.start .chat-suggest,.chat-card.start .chat-note{width:min(760px,100%)}.chat-card.start .composer{border-top:0;padding-top:0}.chat-card.start .composer-pill{padding:8px}.chat-card.start .composer-pill textarea{padding:14px 8px;font-size:18px}.chat-card.start .typewriter{top:14px;font-size:18px}.chat-card.start .chat-suggest{justify-content:center;margin-top:0}.chat-card.start .chat-note{margin-top:0;text-align:center}@media (max-width: 640px){.chat-card.start .chat-hello{font-size:26px}}.msg{max-width:min(640px,88%);padding:8px 16px;border-radius:var(--radius);font-size:16px;line-height:1.45;overflow-wrap:anywhere}.msg p{white-space:pre-wrap}.msg.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:6px}.msg.assistant{align-self:flex-start;background:#e9e9eb;color:var(--text);border-bottom-left-radius:6px}.msg.error{background:var(--warn-bg);color:var(--warn-ink)}.msg-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.msg-sources li{font-size:12px;font-weight:500;padding:2px 12px;border-radius:999px;background:#ffffffb3;color:var(--primary)}.msg-retry{margin-top:8px;min-height:44px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--warn-ink);color:var(--warn-ink);font-size:15px;font-weight:600}.typing{display:flex;gap:4px;padding:16px}.typing span{width:8px;height:8px;border-radius:50%;background:var(--muted);animation:chat-dot 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-note{font-size:12px;color:var(--muted);margin-top:8px}.composer{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--separator)}.composer-pill{display:flex;align-items:center;gap:2px;padding:4px;border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--border);transition:border-color .15s ease-out,box-shadow .15s ease-out}.composer-pill.tall{align-items:flex-end}.composer-pill:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #155bd026}.composer-pill textarea{flex:1;min-width:0;resize:none;border:0;background:transparent;color:var(--text);font:inherit;font-size:16px;line-height:24px;padding:10px 8px;max-height:164px;overflow-y:auto}.composer-pill textarea::placeholder{color:var(--muted)}.composer-input{position:relative;flex:1;min-width:0;display:flex}.typewriter{position:absolute;top:10px;left:8px;right:8px;pointer-events:none;font-size:16px;line-height:24px;color:var(--muted);white-space:nowrap;overflow:hidden}.typewriter-caret{display:inline-block;width:2px;height:18px;margin-left:1px;vertical-align:-3px;border-radius:1px;background:var(--primary)}.typewriter-caret.blink{animation:caret-blink 1.06s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.composer-pill textarea:focus-visible{outline:none}.cmp-btn{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--muted);transition:background-color .15s ease-out}.cmp-btn:hover:not(:disabled){background:#0000000d;color:var(--text)}.cmp-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cmp-send{margin-left:4px;background:var(--primary);color:#fff}.cmp-send:hover:not(:disabled){background:var(--primary-strong);color:#fff}.cmp-send:disabled{opacity:1;background:#d1d1d6;color:#fff}.mic-btn.listening{background:var(--danger);color:#fff;animation:mic-pulse 1.4s ease-out infinite}.mic-btn.listening:hover{background:#b00012}@keyframes mic-pulse{0%{box-shadow:0 0 #d7001566}to{box-shadow:0 0 0 12px #d7001500}}.composer-menu-wrap{position:relative;display:flex}.composer-menu{position:absolute;bottom:calc(100% + 12px);left:0;z-index:5;min-width:248px;padding:8px;display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--glass-edge);background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffffe6,0 0 0 .5px #0000000f,0 16px 40px #00000024}.composer-menu.right{left:auto;right:0}.composer-menu button{min-height:48px;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;text-align:left;font-size:15px;font-weight:500}.composer-menu button:hover{background:#155bd014}.composer-menu button>span{display:flex;flex-direction:column;flex:1}.composer-menu small{font-size:13px;font-weight:400;color:var(--muted)}.composer-menu svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:var(--primary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.composer-menu .check{stroke-width:2.4}.composer-live{display:flex;align-items:center;gap:8px;padding:0 12px;font-size:13px;color:var(--muted);font-style:italic}.live-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--danger);animation:chat-dot 1.2s infinite ease-in-out}.composer-error{padding:0 12px;font-size:13px;color:var(--warn-ink)}.chat-card{position:relative}.chat-card.dragging{box-shadow:0 0 0 2px var(--primary)}.chat-drop{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:2;display:grid;place-items:center;pointer-events:none;border:2px dashed var(--primary);border-radius:calc(var(--radius) - 6px);background:#e8f0fce0;color:var(--primary);font-size:18px;font-weight:600}.composer-files ul{display:flex;flex-wrap:wrap;gap:8px}.file-chip{display:flex;align-items:center;gap:8px;max-width:260px;padding:4px 4px 4px 12px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--border);font-size:13px}.file-chip button{width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-sm);display:grid;place-items:center}.file-chip button:hover{background:#0000000f}.file-chip button svg{width:14px;height:14px;fill:none;stroke:var(--text);stroke-width:2;stroke-linecap:round}.file-chip>svg,.msg-files svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.file-size{flex-shrink:0;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.file-error{margin-top:8px;font-size:13px;color:var(--warn-ink)}.msg-files{display:flex;flex-direction:column;gap:4px}.msg-files+p{margin-top:8px}.msg-files li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#ffffff29;font-size:13px}.msg.user .file-size{color:#ffffffd9}.quick-chat{display:flex;flex-direction:column;gap:4px}.quick-chat-title{font-size:20px;font-weight:600}.quick-chat-sub{color:var(--muted)}.quick-chat .composer{border-top:0;padding-top:8px}.quick-chat-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-chat-prompts .chip{min-height:44px}.quick-chat-prompts .chip:hover{background:#d6e4fa}@media (max-width: 1000px){.chat-card{height:70dvh}}:root{--bg: #f5f5f7;--surface: #ffffff;--surface-soft: #f5f5f7;--border: #e3e3e8;--separator: rgba(60, 60, 67, .12);--text: #1d1d1f;--muted: #6e6e73;--primary: #155bd0;--primary-strong: #0f4aad;--primary-soft: #e8f0fc;--accent: #155bd0;--ok-bg: #e3f5e8;--ok-ink: #1a7f37;--warn-bg: #fdf1dc;--warn-ink: #8a4b00;--danger: #d70015;--radius: 12px;--radius-sm: 8px;--focus-ring: 2px solid var(--primary);--glass-bg: rgba(255, 255, 255, .58);--glass-bg-strong: rgba(255, 255, 255, .78);--glass-edge: rgba(255, 255, 255, .75);--glass-blur: blur(24px) saturate(190%);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(255, 255, 255, .25), 0 0 0 .5px rgba(0, 0, 0, .06), 0 8px 32px rgba(0, 0, 0, .08);--font: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;font-family:var(--font);font-optical-sizing:auto;font-size:16px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;display:flex;justify-content:center}h1,h2,h3{text-wrap:balance}[hidden]{display:none!important}p{text-wrap:pretty}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:2px}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}h1,h2,p{margin:0}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{min-height:40px;border:3px solid transparent;border-radius:999px;background:#155bd052 padding-box}::-webkit-scrollbar-thumb:hover{background-color:#155bd08c}::-webkit-scrollbar-thumb:active{background-color:var(--primary)}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:rgba(21,91,208,.4) transparent}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass-bg: rgba(255, 255, 255, .96);--glass-bg-strong: rgba(255, 255, 255, .98)}}@media (prefers-reduced-transparency: reduce){:root{--glass-bg: rgba(255, 255, 255, .97);--glass-bg-strong: #fff;--glass-blur: none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
