:root{--hs-font-sans: "Rubik", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--hs-text-xs: .72rem;--hs-text-sm: .82rem;--hs-text-base: 1rem;--hs-text-lg: 1.05rem;--hs-leading-tight: 1.35;--hs-leading-body: 1.55;--hs-space-1: .25rem;--hs-space-2: .5rem;--hs-space-3: .75rem;--hs-space-4: 1rem;--hs-space-5: 1.25rem;--hs-space-6: 1.5rem;--hs-radius-sm: 10px;--hs-radius-md: 14px;--hs-radius-lg: 18px;--hs-radius-pill: 999px;--hs-ease-out: cubic-bezier(.22, 1, .36, 1);--hs-duration-fast: .16s;--hs-duration-base: .24s;--hs-focus-ring: 0 0 0 3px rgba(15, 118, 110, .45);--hs-focus-ring-inner: 0 0 0 2px #f0fdfa;--hs-tap-min: 44px}html{-webkit-text-size-adjust:100%;color-scheme:light}body{margin:0;font-family:var(--hs-font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus:not(:focus-visible){outline:none}:focus-visible{outline:none;box-shadow:var(--hs-focus-ring-inner),var(--hs-focus-ring);border-radius:var(--hs-radius-sm)}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{border-radius:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.typing .dot{animation:none!important}}:root{--bg: #e5ddd5;--bg-pattern: radial-gradient(at 25% 18%, rgba(255, 255, 255, .22), transparent 36%), radial-gradient(at 78% 12%, rgba(255, 255, 255, .16), transparent 32%), radial-gradient(at 58% 82%, rgba(255, 255, 255, .14), transparent 40%), linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, transparent 42%);--surface: rgba(255, 255, 255, .92);--surface-strong: #ffffff;--text: #111b21;--muted: #667781;--border: rgba(11, 20, 26, .08);--shadow: 0 14px 40px rgba(11, 20, 26, .14);--shadow-soft: 0 1px 1px rgba(11, 20, 26, .06), 0 1px .5px rgba(11, 20, 26, .05);--brand-1: #008069;--brand-2: #00a884;--brand-3: #25d366;--danger: #dc2626;--bubble-user: #d9fdd3;--bubble-user-border: rgba(0, 128, 105, .12);--bubble-assistant: #ffffff;--bubble-assistant-border: rgba(11, 20, 26, .06);--bubble-meta: rgba(11, 20, 26, .45);--check-mark: rgba(83, 188, 235, 1);font-family:var(--hs-font-sans, "Rubik", "Segoe UI", Arial, sans-serif);color:var(--text);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;overflow-x:clip;background-color:var(--bg);background-image:var(--bg-pattern)}.miniapp-shell{max-width:900px;margin:0 auto;min-height:100dvh;padding-top:max(1rem,env(safe-area-inset-top,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));padding-inline:max(1rem,env(safe-area-inset-start,0px)) max(1rem,env(safe-area-inset-end,0px))}.miniapp-header{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;padding:.9rem 1rem;box-shadow:var(--shadow-soft)}.miniapp-header h1{margin:0;font-size:1.12rem}.miniapp-header p{margin:.35rem 0 0;color:var(--muted)}.miniapp-header-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.miniapp-nav-actions{display:flex;flex-wrap:wrap;gap:.45rem}.miniapp-nav-btn{display:inline-flex;align-items:center;border:1px solid var(--border);background:#14b8a61f;color:var(--text);border-radius:999px;padding:.35rem .75rem;font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}.miniapp-cards{margin-top:.8rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.miniapp-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;padding:.7rem .75rem;display:grid;gap:.2rem;box-shadow:var(--shadow-soft)}.miniapp-card strong{font-size:1.25rem}.miniapp-card span{font-size:.82rem;color:var(--muted)}.miniapp-panel{margin-top:.8rem;background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;padding:.75rem;box-shadow:var(--shadow-soft)}.miniapp-panel h2{margin:0 0 .55rem;font-size:.96rem}.miniapp-linechart{width:100%;height:170px;border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#f8fcffe6}.miniapp-linechart polyline{fill:none;stroke:#14b8a6;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.miniapp-linechart-weight polyline{stroke:#22c55ef2}.miniapp-chart-note{margin:.45rem 0 0;font-size:.77rem;color:var(--muted)}.miniapp-weight-list{display:grid;gap:.45rem}.miniapp-weight-row{display:flex;justify-content:space-between;align-items:center;gap:.7rem;font-size:.84rem}.miniapp-list{display:grid;gap:.45rem}.miniapp-item{border:1px solid rgba(15,23,42,.12);border-radius:10px;padding:.5rem .6rem;background:#ffffffb3}.miniapp-item p{margin:0;font-size:.9rem;white-space:pre-wrap}.miniapp-item time{display:block;margin-top:.3rem;font-size:.72rem;color:var(--muted)}.miniapp-topic-item{display:flex;justify-content:space-between;align-items:center}.miniapp-topic-item p{margin:0}.miniapp-topic-item strong{font-size:.95rem}.centered,.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding-top:max(1rem,env(safe-area-inset-top,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));padding-inline:max(1rem,env(safe-area-inset-start,0px)) max(1rem,env(safe-area-inset-end,0px))}.auth-card{width:100%;max-width:420px;background:var(--surface-strong);border-radius:18px;padding:1.1rem 1.15rem 1.15rem;box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-row{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#14b8a61f;border:1px solid rgba(20,184,166,.22);overflow:hidden}.brand-mark-image{width:100%;height:100%;object-fit:cover;border-radius:12px}.auth-card h1{margin:0;font-size:1.25rem;letter-spacing:-.02em}.auth-card .muted{margin:.15rem 0 0;color:var(--muted);font-size:.92rem}.auth-card form{display:flex;gap:.55rem;margin-top:.75rem}.auth-card input{flex:1;padding:.75rem .8rem;border:1px solid rgba(148,163,184,.55);border-radius:12px;outline:none;background:#fff}.auth-card input:focus{border-color:#14b8a68c;box-shadow:0 0 0 4px #14b8a61f}.auth-card button{border:0;background:linear-gradient(135deg,var(--brand-2),var(--brand-1));color:#fff;border-radius:12px;padding:.75rem .95rem;font-weight:600;cursor:pointer}.auth-card button:disabled{opacity:.65;cursor:not-allowed}.app-shell{max-width:820px;margin:0 auto;min-height:100dvh;height:100dvh;display:flex;flex-direction:column;background:var(--bg);background-image:var(--bg-pattern);border:1px solid var(--border);position:relative;isolation:isolate}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:clamp(.35rem,1.2vw,.7rem);padding-top:calc(env(safe-area-inset-top,0px) + clamp(.45rem,1.2vw,.62rem));padding-bottom:clamp(.45rem,1.2vw,.62rem);padding-inline:max(env(safe-area-inset-start,0px),clamp(.5rem,2.2vw,1rem)) max(env(safe-area-inset-end,0px),clamp(.5rem,2.2vw,1rem));color:#fff;background:linear-gradient(120deg,#ffffff0f,#fff0 60%),linear-gradient(180deg,#00997e 0%,var(--brand-1) 100%);box-shadow:0 1px #0000000f,0 8px 24px -10px #00695a73;position:sticky;top:0;z-index:10;min-height:52px;flex-wrap:nowrap}.chat-header-left{display:flex;align-items:center;gap:clamp(.45rem,1.6vw,.7rem);min-width:0;flex:1 1 auto}.chat-header-text{min-width:0;display:flex;flex-direction:column;line-height:1.15}.title-row{display:flex;align-items:center;gap:.45rem;min-width:0}.chat-header h1{margin:0;font-size:clamp(.96rem,1.4vw + .6rem,1.12rem);font-weight:700;letter-spacing:-.012em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-header p{margin:.08rem 0 0;font-size:clamp(.7rem,.4vw + .65rem,.82rem);opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header .avatar.assistant-avatar{flex-shrink:0;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);box-shadow:0 0 0 3px #ffffff0d;color:#fff}.pill{display:inline-flex;align-items:center;gap:.32rem;font-size:clamp(.62rem,.4vw + .55rem,.74rem);font-weight:600;padding:0;border-radius:0;background:transparent;border:0;color:#ffffffeb;flex-shrink:0}.pill:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand-3);box-shadow:0 0 0 2px #25d36647}.pill-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.hdr-btn-menu-only{width:44px;height:44px;border-radius:13px;background:#0000001f;border-color:#ffffff47}.hdr-btn{display:inline-grid;place-items:center;width:clamp(34px,8vw,40px);height:clamp(34px,8vw,40px);padding:0;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#fff;border-radius:12px;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .1s ease,box-shadow .14s ease;-webkit-tap-highlight-color:transparent}.hdr-btn:hover{background:#ffffff2e;border-color:#fff6}.hdr-btn:active{transform:scale(.94)}.hdr-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff73}.hdr-btn[data-active=on]{background:#ffffffeb;color:var(--brand-1);border-color:#ffffffeb}.hdr-btn.danger{background:#dc262638;border-color:#ffffff47}.hdr-btn.danger:hover{background:#dc26266b;border-color:#ffffff80}.mini-header-btn{border:1px solid rgba(255,255,255,.32);background:#ffffff1a;color:#fff;border-radius:999px;min-height:calc(var(--hs-tap-min, 44px) - 6px);padding:.35rem .7rem;font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--hs-duration-fast, .16s)}.mini-header-btn:hover{background:#ffffff2e}.mini-header-btn.danger{border-color:#ffffff52;background:#dc262647}.mini-header-btn.danger:hover{background:#dc26266b}.header-menu-wrap{position:relative}.header-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:228px;max-width:min(280px,calc(100vw - 1.25rem));background:#fff;color:#0b141a;border:1px solid var(--border, rgba(15, 23, 42, .08));border-radius:14px;box-shadow:0 12px 28px #00000024,0 2px 8px #0000000f;list-style:none;margin:0;padding:6px;z-index:30;animation:hsMenuIn .13s ease-out}@keyframes hsMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-menu li{margin:0;padding:0;list-style:none}.header-menu-divider{height:1px;margin:6px 4px;background:#0f172a14}.header-menu-section-label{padding:.35rem .7rem .2rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#0f172a73;-webkit-user-select:none;user-select:none}.header-menu li>button{display:flex;width:100%;align-items:center;gap:.55rem;padding:.6rem .7rem;border:0;background:transparent;color:inherit;font:inherit;font-size:.92rem;font-weight:600;text-align:start;cursor:pointer;border-radius:8px;min-height:40px}.header-menu li>button:hover,.header-menu li>button:focus-visible{background:#0f172a0f;outline:none}.header-menu li>button.danger{color:#b91c1c}.header-menu li>button.danger:hover,.header-menu li>button.danger:focus-visible{background:#dc262614}.header-menu li>button.is-current{background:#00997e1a;color:var(--brand-1, #00997e)}.header-menu-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;line-height:1.25}.header-menu-hint{font-size:.76rem;font-weight:500;color:#0f172a80}.header-menu li>button.is-current .header-menu-hint{color:#00695abf}.header-menu-check{margin-inline-start:auto;font-size:.9rem;font-weight:700;color:var(--brand-1, #00997e)}.header-menu-icon{display:inline-grid;place-items:center;width:22px;height:22px;color:#0f172a8c;flex-shrink:0}.header-menu li>button.danger .header-menu-icon{color:#b91c1c}@media (max-width: 360px){.chat-header .avatar.assistant-avatar{width:30px;height:30px;flex:0 0 30px}}.onboarding-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem max(.85rem,env(safe-area-inset-start,0px)) .55rem max(.85rem,env(safe-area-inset-end,0px));border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fffffff5,#f8fafceb);font-size:.88rem;box-shadow:0 1px #ffffffb3 inset}.muted-inline{color:var(--muted);font-weight:600}.link-btn{border:0;background:transparent;color:#14b8a6;font-weight:800;cursor:pointer;padding:.25rem .35rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0206177a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));padding-inline:max(1rem,env(safe-area-inset-start,0px)) max(1rem,env(safe-area-inset-end,0px));z-index:50}.modal{width:min(720px,100%);max-height:min(88dvh,900px);display:flex;flex-direction:column;background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.modal-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border-bottom:1px solid rgba(15,23,42,.08)}.modal-header h2{margin:0;font-size:1.05rem}.modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.85rem .95rem .95rem}.modal-body h3{margin:0 0 .35rem;font-size:.98rem}.muted{margin:0;color:var(--muted);font-size:.86rem;line-height:1.35}.progress{height:10px;background:#0f172a0f;border-bottom:1px solid rgba(15,23,42,.06)}.progress-bar{height:100%;background:linear-gradient(90deg,#14b8a6,#22c55ed9);width:0%;transition:width .22s ease}.field-grid{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:.75rem}@media (min-width: 720px){.field-grid{grid-template-columns:1fr 1fr}}.field{display:grid;gap:.35rem;font-size:.86rem;font-weight:700;color:#0f172adb}.field input{width:100%;border-radius:12px;border:1px solid rgba(15,23,42,.12);padding:.65rem .75rem;font:inherit;background:#ffffffeb}.modal-actions{display:flex;gap:.55rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.85rem}.primary-btn{border:0;border-radius:999px;padding:.55rem .95rem;font-weight:800;cursor:pointer;color:#fff;background:linear-gradient(135deg,#14b8a6,#22c55eeb)}.secondary-btn{border:1px solid rgba(15,23,42,.14);border-radius:999px;padding:.55rem .85rem;font-weight:800;cursor:pointer;background:#ffffffbf}.primary-btn:disabled,.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;cursor:pointer}.icon-btn:active{transform:translateY(1px)}.ghost{border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;border-radius:9px;padding:.4rem .65rem}.chat-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:.65rem max(.55rem,env(safe-area-inset-start,0px)) .5rem max(.55rem,env(safe-area-inset-end,0px));display:flex;flex-direction:column;gap:.22rem;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.msg-row{display:flex;align-items:flex-end;gap:.4rem;margin:1px 0}.msg-row.user{justify-content:flex-end}.msg-row.assistant{justify-content:flex-start}.msg-row.user .avatar{display:none}.avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;color:#0f172a;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-user-select:none;user-select:none;align-self:flex-end;margin-bottom:2px}.user-avatar{background:linear-gradient(135deg,#fde68a,#fbbf24)}.assistant-avatar{background:#00a8841a;color:var(--brand-1);border-color:#00a8842e}.bubble{max-width:min(560px,88vw);padding:.48rem .58rem .36rem;border-radius:14px;line-height:1.5;border:1px solid transparent;box-shadow:var(--shadow-soft);position:relative;font-size:clamp(.94rem,.2vw + .9rem,1rem);word-wrap:break-word;overflow-wrap:anywhere}.bubble-text{white-space:pre-wrap;padding-inline-end:3.5rem}.bubble-foot{position:absolute;bottom:4px;inset-inline-end:8px;display:inline-flex;align-items:center;gap:3px;font-size:.66rem;color:var(--bubble-meta);line-height:1;-webkit-user-select:none;user-select:none;white-space:nowrap}.bubble-foot time{font-feature-settings:"tnum" 1;letter-spacing:-.01em}.bubble-foot .checks{color:var(--check-mark);font-size:.78rem;line-height:1;letter-spacing:-3px}.bubble.user{background:var(--bubble-user);border-color:var(--bubble-user-border);border-bottom-left-radius:4px;border-bottom-right-radius:12px}.bubble.assistant{background:var(--bubble-assistant);border-color:var(--bubble-assistant-border);border-bottom-right-radius:4px;border-bottom-left-radius:12px}.bubble:after{content:"";position:absolute;bottom:0;width:8px;height:13px;background:inherit;border:0}.bubble.user:after{inset-inline-start:-7px;clip-path:polygon(100% 0,100% 100%,0 100%);background:var(--bubble-user)}.bubble.assistant:after{inset-inline-end:-7px;clip-path:polygon(0 0,100% 100%,0 100%);background:var(--bubble-assistant)}.bubble-voice-btn{margin-top:.35rem;display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(11,20,26,.1);background:#ffffffd1;color:var(--muted);border-radius:999px;padding:.35rem .55rem;min-height:40px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background var(--hs-duration-fast, .16s)}.bubble-voice-btn:hover{background:#fff;color:var(--brand-1)}.attachment{margin-top:.35rem;display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;border-radius:10px;border:1px solid rgba(11,20,26,.06);background:#0b141a0a}.attachment-icon{display:grid;place-items:center;color:#0f172ab8}.attachment-name{font-size:.85rem;color:#0f172ac7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{margin:auto;padding:.5rem .25rem 1rem}.empty-card{width:min(420px,92vw);margin:0 auto;text-align:center;padding:1.35rem 1.2rem 1.4rem;border-radius:20px;background:linear-gradient(165deg,#fffffffa,#ffffffe0);border:1px solid rgba(255,255,255,.65);box-shadow:0 1px #ffffffe6 inset,0 12px 40px #0b141a14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.empty-icon{width:64px;height:64px;margin:0 auto .75rem;border-radius:50%;display:grid;place-items:center;background:#00a8841f;border:1px solid rgba(0,168,132,.18);color:var(--brand-1)}.empty-card h2{margin:.25rem 0 .35rem;font-size:1.05rem}.empty-card p{margin:0;color:var(--muted);line-height:1.55;font-size:.95rem}.composer{flex-shrink:0;background:linear-gradient(180deg,#f7f8fa,#f0f2f5);padding:.45rem max(.55rem,env(safe-area-inset-start,0px)) .45rem max(.55rem,env(safe-area-inset-end,0px));padding-bottom:calc(.45rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(11,20,26,.07);display:flex;flex-direction:column;gap:.38rem;box-shadow:0 -4px 18px #0b141a0a}.composer-inner{display:flex;align-items:flex-end;gap:.4rem;background:transparent;border:0;box-shadow:none;overflow:visible}.composer-inner:before{content:none}.composer-pill{flex:1;min-width:0;display:flex;align-items:flex-end;gap:.25rem;background:#fff;border-radius:24px;padding:.25rem .45rem;border:1px solid rgba(11,20,26,.07);box-shadow:0 1px 2px #0b141a0f,0 1px #ffffffe6 inset}.composer textarea{flex:1;width:100%;resize:none;min-height:40px;max-height:160px;border:0;padding:.55rem .65rem;font:inherit;font-size:1rem;outline:none;background:transparent;line-height:1.45}.composer textarea::placeholder{color:#0b141a73}.composer-actions{display:flex;align-items:center;gap:.1rem;flex:0 0 auto}.composer-action{position:relative;width:36px;height:36px;min-height:36px;display:inline-grid;place-items:center;border-radius:50%;border:0;background:transparent;color:#364b58eb;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--hs-duration-fast, .16s),color var(--hs-duration-fast, .16s)}.composer-action:hover{background:#00a8841a;color:var(--brand-1)}.composer-action:active{transform:scale(.94)}.composer-action-icon{display:grid;place-items:center;line-height:0}.composer-action-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.composer-action-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}.composer-action-live{background:#ef444424;color:#b91c1c;animation:pulse-rec 1.2s ease-in-out infinite}.composer-action-live .composer-action-icon{color:#b91c1c}.composer-bottom{display:contents}@keyframes pulse-rec{0%,to{box-shadow:0 0 #ef444440}50%{box-shadow:0 0 0 6px #ef444400}}.send-fab{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:0;cursor:pointer;color:#fff;display:grid;place-items:center;background:var(--brand-2);box-shadow:0 1px 1px #0b141a1f;transition:background var(--hs-duration-fast, .16s),transform var(--hs-duration-fast, .16s)}.send-fab:hover{background:#009e7d}.send-fab:active{transform:scale(.94)}.send-fab:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.media-preview,.audio-preview{margin:0;display:flex;align-items:center;justify-content:space-between;gap:.55rem;border:1px solid rgba(11,20,26,.06);border-radius:12px;padding:.4rem .55rem;background:#fff;box-shadow:var(--shadow-soft)}.media-preview img{width:56px;height:56px;object-fit:cover;border-radius:12px;border:1px solid rgba(15,23,42,.08)}.audio-left{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#00a8841f;border:1px solid rgba(0,168,132,.18);color:var(--brand-1)}.audio-text{flex:1;min-width:0;font-size:.9rem;color:#0f172ac7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linkish{border:0;background:transparent;color:#0ea5e9f2;font-weight:700;cursor:pointer;padding:.25rem .35rem;border-radius:10px}.linkish:active{transform:translateY(1px)}.error{color:#b91c1c;margin:.55rem .15rem 0;font-size:.9rem;line-height:1.45}.typing-bubble{padding-bottom:.5rem}.typing-bubble .bubble-text{padding-inline-end:0}.typing-label{display:none}.typing{display:inline-flex;align-items:center;gap:.28rem;padding:.2rem .1rem}.typing .dot{width:6px;height:6px;border-radius:999px;background:#0b141a73;animation:bounce 1.1s infinite ease-in-out}.typing .dot:nth-child(2){animation-delay:.15s}.typing .dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.55}40%{transform:translateY(-4px);opacity:1}}@media (max-width: 767px){.app-shell{max-width:none;width:100%;margin:0;border-radius:0;border:0;box-shadow:none}.miniapp-cards{grid-template-columns:1fr}.link-btn{min-height:44px;padding:.4rem .75rem;border-radius:12px}.composer-action{width:44px;height:44px;min-height:44px;min-width:44px}.send-fab{width:48px;height:48px;min-width:48px;min-height:48px;box-shadow:0 2px 8px #00806947}.hdr-btn{width:44px;height:44px;min-width:44px;min-height:44px}.auth-card{border-radius:22px;padding:1.25rem 1.2rem 1.3rem}.primary-btn,.secondary-btn{min-height:48px;padding-inline:1.1rem}}@media (max-width: 639px){.modal-overlay{display:flex;align-items:flex-end;justify-content:center;padding:0;padding-bottom:env(safe-area-inset-bottom,0px)}.modal{width:100%;max-width:none;max-height:min(92dvh,900px);border-radius:20px 20px 0 0;border-bottom:0}.modal-header{padding-top:max(.95rem,env(safe-area-inset-top,0px))}}@media (min-width: 768px){body{background:#d1d7db}.app-shell{margin:1rem auto;border-radius:8px;overflow:hidden;height:calc(100dvh - 2rem);box-shadow:var(--shadow)}}@media (prefers-reduced-motion: reduce){.typing .dot{animation:none}}.app-main,.app-tab-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-tab-panel.is-hidden{display:none}.panel-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:.65rem max(.65rem,env(safe-area-inset-start,0px)) 1rem max(.65rem,env(safe-area-inset-end,0px))}.panel-muted{color:var(--muted);font-size:.9rem;text-align:center;margin:1.5rem 0}.centered-inline{padding:2rem 0}.panel-notice{text-align:center;color:var(--brand-1);font-weight:700;font-size:.88rem;margin:.5rem 0 1rem}.bottom-nav{flex-shrink:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#fffffff5;border-top:1px solid rgba(11,20,26,.08);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 20px #0b141a0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:52px;padding:.35rem .25rem;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .14s ease,background .14s ease}.bottom-nav-item.is-active{color:var(--brand-1);background:#00806914}.bottom-nav-icon{display:grid;place-items:center;line-height:0}.bottom-nav-label{letter-spacing:-.01em}.hs-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;padding:.85rem .9rem;margin-bottom:.65rem;box-shadow:var(--shadow-soft)}.hs-hero-card{background:linear-gradient(145deg,#fff,#f0fdf9 55%,#ecfdf5);border-color:#0080691f}.hs-card-title{margin:0 0 .25rem;font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.hs-section-title{margin:0;font-size:.98rem;font-weight:800;color:var(--text)}.hs-card-sub{margin:0 0 .65rem;font-size:.86rem;color:var(--muted);line-height:1.45}.hs-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem;flex-wrap:wrap}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.stat-chip{background:#ffffffbf;border:1px solid rgba(0,128,105,.1);border-radius:12px;padding:.5rem .35rem;text-align:center;display:grid;gap:.1rem}.stat-chip strong{font-size:1.15rem;color:var(--brand-1);line-height:1.1}.stat-chip span{font-size:.72rem;color:var(--muted);font-weight:600}.inline-form{display:flex;gap:.45rem;align-items:stretch;margin-bottom:.5rem}.inline-form .hs-input{flex:1;min-width:0}.hs-input{width:100%;border:1px solid rgba(11,20,26,.12);border-radius:12px;padding:.65rem .75rem;font:inherit;font-size:1rem;background:#fff;outline:none}.hs-input:focus{border-color:#00a8848c;box-shadow:0 0 0 3px #00a88426}.hs-input-compact{padding:.45rem .55rem;font-size:.9rem}.hs-field-label{display:grid;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--muted)}.hs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem .9rem;border-radius:12px;border:0;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .14s ease}.hs-btn:active:not(:disabled){transform:scale(.97)}.hs-btn:disabled{opacity:.5;cursor:not-allowed}.hs-btn-primary{background:linear-gradient(135deg,var(--brand-2),var(--brand-1));color:#fff;box-shadow:0 2px 8px #00806940}.hs-btn-secondary{background:#fff;color:var(--brand-1);border:1px solid rgba(0,128,105,.25)}.hs-btn-ghost{background:#0080691a;color:var(--brand-1);min-height:40px;padding-inline:.65rem}.hs-btn-danger-text{background:transparent;color:#b91c1c;min-height:36px;padding:.25rem .5rem;font-size:.82rem}.meta-line{margin:.35rem 0 .5rem;font-size:.8rem;color:var(--muted)}.journey-chart{width:100%;height:140px;border-radius:12px;background:linear-gradient(180deg,rgba(0,168,132,.06),transparent);border:1px solid rgba(0,128,105,.1)}.journey-chart polyline{fill:none;stroke:var(--brand-2);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.check-list,.timeline-list,.insight-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.check-row{display:flex;align-items:flex-start;gap:.55rem;cursor:pointer;font-size:.92rem;line-height:1.4}.check-row input{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--brand-1)}.done-text{text-decoration:line-through;color:var(--muted)}.timeline-list li{border:1px solid var(--border);border-radius:10px;padding:.45rem .55rem;background:#ffffffb3}.timeline-list p{margin:0;font-size:.9rem}.timeline-list time{font-size:.72rem;color:var(--muted)}.insight-list li{padding:.45rem .55rem;border-radius:10px;background:#00a88414;font-size:.88rem;line-height:1.4}.training-hero-actions{display:flex;flex-wrap:wrap;gap:.45rem}.weekday-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.65rem;padding:.15rem}.weekday-chip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.weekday-chip.is-active{background:var(--brand-1);color:#fff;border-color:var(--brand-1);box-shadow:0 2px 8px #00806947}.weekday-badge{position:absolute;top:4px;inset-inline-start:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--brand-3);color:#fff;font-size:.62rem;font-weight:800;line-height:16px;text-align:center}.weekday-chip.is-active .weekday-badge{background:#fff;color:var(--brand-1)}.training-session-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.training-session-card{border:1px solid var(--border);border-radius:14px;padding:.55rem .65rem;background:#f8fafce6;display:grid;gap:.45rem}.session-fields{display:grid;gap:.4rem}.session-done{font-size:.82rem;font-weight:700;color:var(--muted)}.app-shell.has-tabs .composer{flex-shrink:0}.app-shell.has-tabs{padding-bottom:0}@media (min-width: 768px){.bottom-nav{max-width:420px;margin-inline:auto;border-radius:16px 16px 0 0;margin-bottom:.5rem}}
