:root{color:#111;background:#ececec;font-family:Manrope,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}#root{display:flex;justify-content:center;min-height:100dvh}.phone{width:min(100%,440px);height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:calc(16px + env(safe-area-inset-top)) 22px calc(18px + env(safe-area-inset-bottom));background:#f7f7f7;border-inline:1px solid #e4e4e4}.nav{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:center;min-height:42px}.back{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:#111;box-shadow:0 8px 18px #11111114}.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0;min-height:2px}.progress-gap{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;min-height:2px}.progress span{height:2px;background:#dedede}.progress span.on{background:#111}.stage{flex:1;min-height:0;display:flex;flex-direction:column}.stage-body{flex:1;min-height:0;overflow:auto;scrollbar-width:none}.stage-body::-webkit-scrollbar{display:none}.eyebrow{margin:20px 0 0;color:#8a8a8a;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}h1{margin:10px 0 0;font-size:36px;line-height:1.08;letter-spacing:-.03em;font-weight:600}.lead{margin:8px 0 0;max-width:26ch;color:#5c5c5c;font-size:16px;line-height:1.45;font-weight:400}.greet{display:flex;flex-direction:column;justify-content:center;padding-bottom:8vh}.greet h1{font-size:44px;line-height:1.05}.pick{display:flex;flex-direction:column}.pick-head{flex:0 0 auto}.choices{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:2px;margin:8px 0 0}.choice{width:100%;display:block;text-align:center;padding:14px 12px;border:0;border-radius:22px;background:transparent;transition:background .18s ease,color .18s ease}.choice:focus,.choice:focus-visible{outline:none}.choice[aria-checked=true]{background:#111;color:#fff}.choice[aria-checked=true] .note{color:#ffffffad}.choice-title,.note{display:block}.choice-title{font-size:17px;font-weight:600;letter-spacing:-.02em}.note{margin-top:4px;color:#6a6a6a;font-size:13px;font-style:normal;font-weight:400}.pick .metrics{flex:1;align-content:center;margin:24px 0 8px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}.field{display:block;padding:16px 0 12px;border-bottom:1px solid #111111}.field span,.field em{color:#8a8a8a;font-size:12px;font-style:normal;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.field input{display:block;width:100%;margin:12px 0 8px;padding:0;border:0;background:transparent;font-size:40px;font-weight:500;letter-spacing:-.03em;outline:none}.field input::placeholder{color:#d0d0d0}.summary{margin:32px 0 0;padding:0}.summary div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #e6e6e6}.summary div:last-child{border-bottom:1px solid #e6e6e6}.summary dt{color:#8a8a8a;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.summary dd{margin:0;font-weight:600;text-align:right}.footer{padding-top:16px}.primary,.ghost{width:100%;border:0}.primary{height:52px;border-radius:12px;background:#111;color:#fff;font-size:15px;font-weight:600;letter-spacing:.01em}.primary:disabled{background:#d5d5d5;color:#fff;cursor:default}.ghost{height:44px;border-radius:12px;background:transparent;color:#111;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.hint{margin:0 0 12px;color:#4a4a4a;font-size:14px;font-weight:500}.finish{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-bottom:8vh}.finish h1,.finish .lead{max-width:22ch}.seal{width:96px;height:96px;margin-bottom:28px}.seal-ring,.seal-tick{fill:none;stroke:#111;stroke-linecap:round;stroke-linejoin:round}.seal-ring{stroke-width:1.6;stroke-dasharray:176;stroke-dashoffset:176;animation:draw .95s cubic-bezier(.22,1,.36,1) forwards}.seal-tick{stroke-width:2.5;stroke-dasharray:48;stroke-dashoffset:48;animation:draw .45s .72s cubic-bezier(.22,1,.36,1) forwards}.finish-title{animation-delay:1.05s}.finish-lead{animation-delay:1.32s}.splash,.center-copy{margin:auto}.splash{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#111}.center-copy{display:grid;align-content:center}.reveal{animation:rise .85s cubic-bezier(.22,1,.36,1) both}.reveal-1{animation-delay:.05s}.reveal-2{animation-delay:.28s}.reveal-3{animation-delay:.52s}.reveal-4{animation-delay:.78s}.choices .choice{animation:rise .7s cubic-bezier(.22,1,.36,1) both}.choices .choice:nth-child(1){animation-delay:.4s}.choices .choice:nth-child(2){animation-delay:.52s}.choices .choice:nth-child(3){animation-delay:.64s}.choices .choice:nth-child(4){animation-delay:.76s}@keyframes draw{to{stroke-dashoffset:0}}.home-shell{background:#fff;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.home-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:none;padding-top:18px}.home-scroll::-webkit-scrollbar{display:none}.home-shell--ai{height:min(100dvh,var(--tg-viewport-stable-height, 100dvh));padding-top:calc(4px + env(safe-area-inset-top))}.home-shell--ai .home-scroll{overflow-x:hidden;padding-top:0}.home-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.home-kicker{margin:0;color:#8a8a8a;font-size:15px;font-weight:500}.home-title{margin:2px 0 0;font-size:34px;line-height:1.05;letter-spacing:-.03em}.home-date{margin:8px 0 0;color:#8a8a8a;font-size:14px}.home-goal{display:flex;align-items:center;gap:8px;margin:0;max-width:46%;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.2;text-align:right}.home-goal svg{width:22px;height:22px;flex:none}.tiles{display:flex;flex-direction:column;gap:10px;margin-top:22px}.tile{padding:14px 16px 16px;border-radius:20px;background:#f5f5f5}.weight-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.height-note{margin:0;color:#8a8a8a;font-size:13px;font-weight:500}.profile-line{margin:12px 2px 0;color:#8a8a8a;font-size:14px;font-weight:500}.tile-label{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600}.tile-icon{width:16px;height:16px}.tile-value{margin:16px 0 0;font-size:40px;font-weight:600;letter-spacing:-.04em;line-height:1}.tile-value span{margin-left:4px;color:#8a8a8a;font-size:14px;font-weight:500;letter-spacing:0}.start{width:100%;height:46px;margin-top:14px;border:0;border-radius:14px;background:#111;color:#fff;font-size:15px;font-weight:600}.session-panel{padding-bottom:24px}.session-kicker{margin:8px 0 0;color:#8a8a8a;font-size:13px;font-weight:600}.session-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;color:#1a1a1a;font-size:16px;font-weight:600}.session-meta span{color:#b0b0b0}.session-progress{margin:8px 0 0;color:#8a8a8a;font-size:14px}.session-actions,.session-rest{margin-top:36px}.session-rest-label{margin:0;color:#8a8a8a;font-size:13px;font-weight:600}.session-timer{margin:8px 0 0;font-size:56px;font-weight:600;letter-spacing:-.04em;line-height:1}.session-main{margin-top:24px}.session-skip{width:100%;margin-top:8px}.session-finish{width:100%;margin-top:28px;color:#8a8a8a}.attendance{margin-top:22px;padding-bottom:8px}.attendance-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.attendance-head h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.03em}.attendance-head p{margin:0;color:#8a8a8a;font-size:13px;font-weight:500}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays{margin-top:14px;color:#9a9a9a;font-size:11px;font-weight:600;letter-spacing:.02em;text-align:center}.days{margin-top:8px}.day{aspect-ratio:1;border-radius:12px;background:#f3f3f3;display:grid;place-items:center;color:#111;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.day.is-pad{background:transparent}.day.is-future{background:#f7f7f7;color:#c8c8c8}.day.is-today{background:#fff;box-shadow:inset 0 0 0 1.5px #111}.day.is-done{background:#111;color:#fff;box-shadow:none}.ring{width:46px;height:46px;flex:none}.ring-track,.ring-value,.arc-track,.arc-value{fill:none;stroke-linecap:round}.ring-track{stroke:#dedede;stroke-width:4.5}.ring-value{stroke:#111;stroke-width:4.5;transform:rotate(-90deg);transform-origin:22px 22px}.spark{width:72px;height:38px;flex:none}.spark-base{fill:none;stroke:#dedede;stroke-width:2;stroke-linecap:round}.spark-dot{fill:#111}.panel{padding-top:12px}.muscles{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-bottom:8px}.muscle{min-height:108px;padding:12px 18px 12px 20px;border:0;border-radius:22px;background:#f5f5f5;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-size:18px;font-weight:600;letter-spacing:-.02em}.muscle-mark{width:44px;height:88px;flex:none}.muscle-heart{width:40px;height:40px}.muscle-ghost{fill:#c5c5c5}.muscle-hot{fill:#111}.exercise-list{display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-bottom:16px}.exercise{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;border:0;border-radius:18px;background:#f5f5f5;text-align:left}.exercise-name{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.25}.exercise-meta,.exercise-gear{color:#8a8a8a;font-size:13px;font-weight:500}.exercise-gear{margin:12px 0 0;font-size:14px}.exercise-about{margin:14px 0 0;color:#3a3a3a;font-size:15px;line-height:1.45}.how-label{margin:18px 0 0;color:#8a8a8a;font-size:13px;font-weight:600}.tips{margin:8px 0 0;padding:0;list-style:none}.tips li{position:relative;margin:0;padding:7px 0 7px 16px;color:#1a1a1a;font-size:15px;line-height:1.4}.tips li:before{content:"";position:absolute;top:14px;left:0;width:5px;height:5px;border-radius:50%;background:#111}.tips-bad li{color:#3a3a3a}.tips-bad li:before{background:transparent;border:1px solid #111}.source-note{margin:4px 0 16px;color:#8a8a8a;font-size:12px;line-height:1.4}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag{padding:4px 9px;border-radius:999px;background:#f3f3f3;color:#111;font-size:12px;font-weight:600;line-height:1.3}.tag-easy{background:#fff;box-shadow:inset 0 0 0 1px #111}.tag-medium{background:#d4d4d4}.tag-hard{background:#111;color:#fff}.steps{margin:18px 0 0;padding:0 0 16px;list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:12px}.steps li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;color:#2a2a2a;font-size:15px;line-height:1.45}.steps li:before{content:counter(step);counter-increment:step;width:28px;height:28px;border-radius:50%;background:#111;color:#fff;font-size:13px;font-weight:600;display:grid;place-items:center}.sections{display:flex;flex-direction:column;gap:10px;margin-top:22px;padding-bottom:16px}.program-create{margin-top:18px}.program-create:disabled{background:#d5d5d5}.program-empty{margin:14px 0 0;color:#8a8a8a;font-size:15px;font-weight:500}.program-name{display:block;margin-top:18px}.program-name span{color:#8a8a8a;font-size:13px;font-weight:600}.program-name input{display:block;width:100%;margin-top:8px;padding:14px 16px;border:0;border-radius:16px;background:#f5f5f5;font-size:16px;font-weight:600;outline:none}.program-name input::placeholder{color:#b5b5b5;font-weight:500}.picker-label{margin:18px 0 0;color:#8a8a8a;font-size:13px;font-weight:600}.group-picks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.group-pick{border:0;border-radius:999px;padding:8px 12px;background:#f3f3f3;font-size:14px;font-weight:600}.group-pick.is-on{background:#111;color:#fff}.draft-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:#f5f5f5}.draft-row>span{min-width:0;display:flex;flex-direction:column;gap:3px}.draft-row button,.dose-head button,.program-delete{border:0;background:transparent;color:#8a8a8a;font-size:13px;font-weight:600}.dose{margin-top:14px;padding:16px;border-radius:20px;background:#f5f5f5}.dose-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dose-head p{margin:0;font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.25}.dose-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.reps-field{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#fff}.reps-field span{color:#8a8a8a;font-size:12px;font-weight:600}.reps-field input{width:100%;border:0;background:transparent;font:inherit;font-size:20px;font-weight:700;letter-spacing:-.03em;color:#111}.reps-field input:focus{outline:none}.builder-choices{flex:0 0 auto;min-height:auto;justify-content:flex-start;margin-top:18px}.stepper{padding:12px;border-radius:14px;background:#fff}.stepper span{display:block;color:#8a8a8a;font-size:12px;font-weight:600}.stepper div{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.stepper button{width:28px;height:28px;border:0;border-radius:50%;background:#f3f3f3;font-size:18px;line-height:1}.stepper button:disabled{color:#c8c8c8}.stepper strong{font-size:18px;font-weight:600}.add-move,.program-delete{width:100%;margin-top:12px}.add-move{height:42px;border:0;border-radius:14px;background:#111;color:#fff;font-size:14px;font-weight:600}.program-delete{margin-top:18px;color:#8a8a8a}.exercise-copy-inline{min-width:0}.section{width:100%;display:flex;align-items:center;gap:12px;padding:16px;border:0;border-radius:20px;background:#f5f5f5;text-align:left}.section-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:14px;background:#fff}.section-icon svg{width:20px;height:20px}.section--my-programs .section-icon{width:88px;height:88px;border-radius:20px}.section--my-programs .section-icon svg{width:30px;height:30px}.section-avatar{width:88px;height:88px;flex:none;object-fit:contain}.twins-head{display:flex;align-items:center;gap:14px;margin-top:8px}.twins-avatar{width:104px;height:104px;flex:none;object-fit:contain}.twins-head .home-title{margin-top:0}.twins-note{margin:4px 0 0;color:#8a8a8a;font-size:14px;font-weight:500;line-height:1.35}.twins-index{width:40px;flex:none;color:#8a8a8a;font-size:13px;font-weight:600}.section-copy{flex:1;min-width:0}.section-title{display:block;font-size:16px;font-weight:600;letter-spacing:-.02em}.section-note{display:block;margin-top:3px;color:#8a8a8a;font-size:13px;font-weight:500}.section-chevron{width:18px;height:18px;flex:none;color:#8a8a8a}.section-back{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#f3f3f3;color:#111}.progress-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:28px}.progress-panel .lead,.progress-panel .home-title{max-width:18ch}.arc-wrap{position:relative;width:168px;height:168px;margin-bottom:18px}.arc{width:168px;height:168px}.arc-track,.arc-value{stroke-width:10;transform:rotate(135deg);transform-origin:60px 60px}.arc-track{stroke:#ececec}.arc-value{stroke:#111}.arc-wrap p{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}.arc-wrap strong{font-size:36px;letter-spacing:-.04em;line-height:1}.arc-wrap span{margin-top:4px;color:#8a8a8a;font-size:13px}.dock{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin-top:8px;padding:4px;border-radius:22px;background:#111;isolation:isolate}.dock-thumb{position:absolute;top:4px;bottom:4px;left:0;border-radius:18px;background:#fff;opacity:0;pointer-events:none;z-index:0;transition:transform .34s cubic-bezier(.22,1,.36,1),width .34s cubic-bezier(.22,1,.36,1),opacity .2s ease;will-change:transform,width}.dock-thumb.is-ready{opacity:1}.dock button{position:relative;z-index:1;min-width:0;min-height:48px;padding:4px 1px;border:0;border-radius:18px;background:transparent;color:#ffffff8c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden;font-size:9px;font-weight:600;transition:color .28s ease}.dock button[aria-current=page]{background:transparent;color:#111}.dock-label{display:block;width:100%;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:0;max-height:0;line-height:1.15;letter-spacing:-.03em;font-size:8px;transform:translateY(3px);transition:opacity .24s ease,max-height .28s ease,transform .28s cubic-bezier(.22,1,.36,1)}.dock-label.is-on{opacity:1;max-height:12px;transform:translateY(0)}.dock-icon{width:18px;height:18px;flex:none;transition:transform .28s cubic-bezier(.22,1,.36,1)}.dock button[aria-current=page] .dock-icon{transform:scale(1.04)}.dock .dock-ai .dock-icon{width:22px;height:22px}.tab-pane{animation:tab-in .34s cubic-bezier(.22,1,.36,1) both}@keyframes tab-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.dock-thumb,.dock button,.dock-label,.dock-icon,.tab-pane{transition:none!important;animation:none!important}}.ai-panel button:focus-visible,.ai-panel input:focus-visible,.ai-panel select:focus-visible,.ai-file-action:focus-within{outline:2px solid #555;outline-offset:3px}.dock button:focus-visible{outline:2px solid #fff;outline-offset:-3px}.home-scroll [hidden]{display:none}.ai-tab-host{height:100%}.ai-panel{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0}.ai-chat-head{display:flex;align-items:center;gap:12px;padding:2px 0 15px;border-bottom:1px solid #ededed}.ai-chat-avatar{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:15px;background:#111;color:#fff}.ai-chat-avatar svg{width:23px;height:23px}.ai-chat-head h1{margin:0;font-size:20px;letter-spacing:-.03em}.ai-chat-head p{margin:3px 0 0;color:#777;font-size:11px;line-height:1.3}.ai-chat-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:10px 0 0;padding:4px;border-radius:14px;background:#f2f2f2}.ai-chat-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;border-radius:11px;background:transparent;color:#666;font-size:13px;font-weight:700}.ai-chat-tabs button svg{width:16px;height:16px;flex:none}.ai-chat-tabs button[aria-pressed=true]{background:#111;color:#fff}.ai-mode-host{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.ai-conversation{flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:12px 10px 16px;scrollbar-width:thin}.ai-trainer-row{display:flex;align-items:flex-end;gap:8px;width:100%}.ai-trainer-row--continued{margin-top:-8px}.ai-message-avatar{display:grid;place-items:center;width:25px;height:25px;flex:none;border-radius:9px;background:#111;color:#fff}.ai-message-avatar--empty{visibility:hidden}.ai-message-avatar svg{width:16px;height:16px}.ai-chat-offer{display:grid;gap:0;min-width:0;width:min(100%,330px)}.ai-chat-offer .ai-chat-message{max-width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.ai-chat-message{position:relative;max-width:90%;padding:11px 13px;border-radius:18px;font-size:14px;line-height:1.48;overflow-wrap:anywhere}.ai-chat-message p{margin:0}.ai-chat-message p+p{margin-top:6px}.ai-chat-message--trainer{align-self:flex-start;background:#f3f3f3}.ai-chat-message--trainer:has(>.ai-message-tail){border-bottom-left-radius:6px}.ai-chat-message--user{align-self:flex-end;background:#111;color:#fff;white-space:pre-wrap}.ai-chat-message--user:has(>.ai-message-tail){border-bottom-right-radius:6px}.ai-chat-message .ai-chat-note{color:#777;font-size:12px}.ai-chat-card{align-self:flex-start;width:100%;padding:12px;border:1px solid #eaeaea;border-radius:18px;background:#fff}.ai-chat-offer .ai-chat-card{position:relative;border:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:6px;background:#f3f3f3}.ai-message-tail{position:absolute;bottom:0;width:12px;height:16px;pointer-events:none}.ai-message-tail--trainer{left:-8px;fill:#f3f3f3}.ai-message-tail--user{right:-8px;fill:#111;transform:scaleX(-1)}.ai-photo-offer{display:grid;gap:8px;margin-bottom:14px}.ai-photo{display:flex;gap:12px;min-width:0;padding:8px;border-radius:12px;background:#f5f5f5}.ai-photo img,.ai-photo-placeholder{width:56px;height:70px;flex:none;border-radius:9px;object-fit:cover}.ai-photo-placeholder{display:grid;place-items:center;background:#e9e9e9;color:#777;font-size:18px}.ai-photo-info{display:flex;flex-direction:column;min-width:0;gap:4px;font-size:14px}.ai-photo-info span{overflow:hidden;color:#777;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ai-photo-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.ai-photo-actions button,.ai-file-action{padding:0;border:0;background:transparent;font-size:13px;font-weight:700}.ai-file-action{position:relative;cursor:pointer}.ai-file-action input{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.ai-chat-card>label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.ai-chat-card select{width:100%;height:42px;padding:0 10px;border:1px solid #dedede;border-radius:11px;background:#f7f7f7;font-size:16px}.ai-chat-card>p,.ai-load-error{margin:8px 0 0;color:#777;font-size:12px;line-height:1.4}.ai-load-error p{margin:0 0 6px}.ai-load-error button{padding:0;border:0;background:transparent;font-weight:700;text-decoration:underline}.ai-chat-bottom{padding:10px 0 0;border-top:1px solid #ededed;background:#fff}.ai-chat-status{margin:0 0 9px;color:#777;font-size:11px;line-height:1.35}.ai-attachment-count{margin:0 0 8px;font-size:12px;font-weight:700}.ai-attachment-tray{display:flex;gap:8px;padding:0 0 10px}.ai-attachment-tray .ai-file-action{flex:1;padding:10px 4px;border-radius:11px;background:#f1f1f1;text-align:center}.ai-composer{display:flex;align-items:center;gap:8px;min-height:50px;padding:5px 6px 5px 14px;border:1px solid #e8e8e8;border-radius:17px;background:#f6f6f6}.ai-composer input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:16px}.ai-composer input:focus-visible{outline:none}.ai-composer button{display:grid;place-items:center;width:38px;height:38px;flex:none;border:0;border-radius:12px;background:#111;color:#fff}.ai-composer .ai-attach-button{width:30px;background:transparent;color:#555}.ai-composer .ai-attach-button[aria-expanded=true]{color:#111}.ai-meal-attach{position:relative;display:grid;place-items:center;height:38px;flex:none;cursor:pointer}.ai-meal-attach input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.ai-meal-attach:focus-within{outline:2px solid #555;outline-offset:2px;border-radius:8px}.ai-composer button:disabled{opacity:.35;cursor:not-allowed}.ai-composer svg{width:20px;height:20px}.ai-meal-message img{display:block;max-width:min(100%,190px);max-height:240px;border-radius:11px;object-fit:cover}.ai-meal-message p{margin:8px 0 0}.ai-meal-preview{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:9px;padding:7px;border-radius:12px;background:#f2f2f2}.ai-meal-preview img{width:42px;height:42px;flex:none;border-radius:8px;object-fit:cover}.ai-meal-preview span{min-width:0;flex:1;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ai-meal-preview button{padding:5px;border:0;background:transparent;font-size:12px;font-weight:700}.ai-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:350px){.home-shell{padding-inline:12px}.dock{gap:0;padding:3px}.dock-thumb{top:3px;bottom:3px}.dock button{min-height:46px}.dock-label.is-on{font-size:7.5px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
