@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/nutriduo/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/nutriduo/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/nutriduo/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/nutriduo/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/nutriduo/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/nutriduo/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/nutriduo/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/nutriduo/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/nutriduo/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/nutriduo/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}.duo-greeting:has(.companion){flex-direction:column;align-items:stretch}.companion{--dog-accent: var(--duo-1);display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px;align-items:center;min-width:0;width:100%;margin-top:8px}.companion-stage{position:relative;display:block;width:94px;height:110px;padding:0;border:0;border-radius:14px;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}.companion-stage:disabled{opacity:1;cursor:default}.companion-art{position:absolute;inset:0;display:block}.companion-art svg{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:100%}.companion-copy{min-width:0}.companion-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.companion-pause{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--ink);touch-action:manipulation}.companion-pause:disabled{opacity:.65}.companion .companion-message{margin:4px 0;font-size:13px;line-height:1.6}.companion-focus{min-height:44px;padding:4px 0;text-align:start;justify-content:flex-start;font-size:13px;flex-wrap:wrap}.companion-stage:focus-visible,.companion-pause:focus-visible{outline:2px solid var(--duo-1);outline-offset:3px}.ingredient.item-with-quantity .ingredient-top{grid-template-columns:minmax(0,1fr) 44px;align-items:end}.ingredient.item-with-quantity .ingredient-top .icon-button{margin-bottom:12px;width:44px;min-width:44px;min-height:44px}.meal-quantity-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;align-items:start}.meal-quantity-fields .field{min-width:0;margin-bottom:8px}.meal-quantity-fields .choice-field{min-width:0}.meal-quantity-fields .choice-trigger{min-height:48px}.meal-equivalence{margin-top:8px}.meal-equivalence .field{max-width:260px;margin-bottom:8px}.meal-equivalence p,.meal-quantity-summary{margin:0 0 12px}:root{--primary: #193f66;--accent: #d6b55e;--ink: #243d50;--muted: #77888f;--surface: #fff;--bg: #f5f7f8;--border: #e6ecee;--soft: #edf2f7}.theme-ari{--primary: #97486b;--accent: #dc94b2;--ink: #563744;--soft: #f8edf2}.dark{--ink: #e2ebed;--muted: #a5b7c0;--surface: #182630;--bg: #101b24;--border: #2b404d;--soft: #253742;--primary: #7babc9}.app-shell{color:var(--ink);background:var(--bg);min-height:100dvh}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{color:inherit}a{color:var(--primary);text-underline-offset:3px}button{min-height:44px}input,select,textarea{width:100%;background:var(--surface);color:var(--ink);border:1px solid #d8e2e6;border-radius:10px;min-height:46px;padding:11px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5688a718}textarea{resize:vertical}label.field{display:flex;flex-direction:column;gap:8px;margin:12px 0 18px;min-width:0}.field>span{font-size:14px;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;background:var(--primary);color:#fff!important;border:1px solid transparent;border-radius:11px;padding:12px 19px;font-weight:600;font-size:14px;min-height:46px;transition:filter .2s}.button:hover{filter:brightness(1.08)}.button.secondary{background:var(--surface);color:var(--ink)!important;border:1px solid var(--border)}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 0;color:var(--primary);font-size:14px;font-weight:500;background:none;text-align:left}.icon-button{display:inline-grid;place-items:center;min-width:42px;height:42px;border-radius:9px;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--soft)}.danger{color:#b7474f!important}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.6}.small svg{vertical-align:middle}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}.actions .field{margin:0}.error{background:#fff0f0;color:#a83840;border-radius:10px;padding:13px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.notice{padding:17px 20px;border-radius:12px;border:1px solid var(--border);background:var(--soft);line-height:1.7;margin:15px 0}.notice p:last-child{margin-bottom:0}.checkbox{display:flex;gap:10px;align-items:center;font-size:14px;line-height:1.5;margin:20px 0}.checkbox input{width:18px;height:18px;min-height:18px;accent-color:var(--primary)}.gate-panel{width:min(580px,100%);margin:40px auto 70px;flex:1}.gate-panel>form{background:#fff;border:1px solid var(--border);padding:35px;border-radius:24px;margin-top:18px}.gate-panel h1{font-size:32px;margin:22px 0 14px}.gate-panel .avatar{margin-bottom:25px}.gate-panel .field{margin-top:20px}.gate-panel .button{width:100%;margin-top:10px}.goal-preview{background:var(--soft);padding:25px;border-radius:15px;margin:24px 0}.goal-preview strong{font:700 36px Manrope;display:block;margin-bottom:10px}.goal-preview small{font-size:15px;font-weight:400}.goal-preview div{font-size:14px}.loading{padding:80px;text-align:center;color:#75838e}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:var(--surface);border-right:1px solid var(--border);padding:32px 22px 20px;display:flex;flex-direction:column;z-index:10}.sidebar .brand{font-size:25px;margin-bottom:56px}.sidebar .brand-icon{width:39px;height:39px;border-radius:12px;background:var(--primary);color:#efd184}.sidebar-label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:1.8px;margin:0 12px 14px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav button{display:flex;align-items:center;gap:13px;width:100%;background:transparent;color:var(--muted);padding:15px;font-size:14px;text-align:left;border-radius:11px;min-height:50px}.sidebar nav button.active{background:var(--soft);color:var(--primary);font-weight:600}.nav-mark{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--accent)}.sidebar-note{margin-top:auto;padding:30px 12px 28px;line-height:1.7}.sidebar-note>svg{color:var(--accent);display:block;margin-bottom:13px}.sidebar-note strong{font-size:13px;font-weight:500}.sidebar-note p{font-size:12px;color:var(--muted);margin-top:6px}.profile-switch{display:flex;align-items:center;gap:11px;background:transparent;border-top:1px solid var(--border);padding:21px 0 2px;text-align:left}.profile-switch .avatar{height:39px;width:39px;font-size:17px;border-radius:12px;background:var(--soft);color:var(--primary)}.profile-switch strong{display:block;font-size:14px;font-weight:600}.profile-switch small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.profile-switch>svg{margin-left:auto;color:var(--muted)}.main-shell{margin-left:228px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;border-bottom:1px solid var(--border);background:var(--surface)}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb span{padding:0 14px;color:#afbec3}.topbar-right{display:flex;align-items:center;gap:22px}.local-badge{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.local-dot{width:5px;height:5px;border-radius:50%;background:#7d9e8e}.mini-avatar{display:grid;place-items:center;background:var(--soft);border:1px solid var(--border);color:var(--primary);width:37px;height:37px;min-height:37px;border-radius:50%;font-size:14px;font-weight:600}.main-content{max-width:1450px;padding:26px 44px 24px;margin:auto}.date-control{display:flex;align-items:center;gap:5px;margin-bottom:23px;color:var(--muted);font-size:12px}.date-control>button{background:transparent;display:flex;align-items:center;justify-content:center;min-height:35px;min-width:30px;padding:3px;color:var(--muted)}.date-control label{position:relative;cursor:pointer;text-transform:capitalize}.date-control input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}.date-control input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;cursor:pointer}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-title h1{font-size:clamp(26px,2.6vw,36px);font-weight:700;margin:10px 0 8px;line-height:1.25}.section-title .eyebrow{font-size:12px;letter-spacing:1.7px;color:var(--muted)}.page-subtitle{font-size:14px;color:var(--muted);margin:0 0 30px;line-height:1.7}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr);gap:22px}.card{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:25px;margin-bottom:22px;min-width:0}.dashboard-grid .card{margin:0}.card h2{font-size:17px;letter-spacing:-.5px;font-weight:700;margin-bottom:18px}.card h3{font-size:15px}.card p{line-height:1.7}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.card-heading h2{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;letter-spacing:-.35px}.card-heading .text-button{font-size:12px;min-height:28px}.pill{border:1px solid #ffffff2e;border-radius:7px;padding:6px 8px;font-size:12px;white-space:nowrap;color:#c3d1df}.energy-card{background:var(--primary);border-radius:18px;padding:25px 28px;color:#fff}.energy-card h2{font-size:16px;font-weight:500;letter-spacing:-.3px}.energy-body{display:flex;align-items:center;gap:24px;padding:6px 0 23px}.energy-ring{width:184px;height:184px;flex-shrink:0;position:relative}.energy-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.energy-ring circle{fill:none;stroke-width:10}.ring-track{stroke:#ffffff17}.ring-value{stroke:#efd085;stroke-linecap:round;transition:stroke-dasharray .6s}.ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-text svg{height:20px;width:20px;color:#efd085;transform:none;margin-bottom:5px}.ring-text strong{font:600 36px Manrope;letter-spacing:-1.5px}.ring-text>span{font-size:12px;color:#c4d2e2;margin-top:6px}.energy-copy .eyebrow{font-size:12px;letter-spacing:1.2px;color:#c3d0dd}.energy-copy>strong{display:block;font:600 38px Manrope;margin:7px 0;letter-spacing:-1px}.energy-copy strong small{font:400 15px DM Sans;color:#bac8d5}.energy-copy p{font-size:13px;line-height:1.8;color:#c1d0dd;max-width:240px;margin-bottom:15px}.energy-note{font-size:12px;display:flex;align-items:center;gap:6px;color:#b9c9d8;line-height:1.6}.macro-row{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;border-top:1px solid #ffffff20;padding-top:22px}.macro>span{display:flex;align-items:center;gap:6px;font-size:12px;color:#c2d0dd}.macro i{width:5px;height:5px;display:inline-block;border-radius:50%}.gold{background:#e5c576}.blue{background:#82b2d8}.peach{background:#dcb29c}.macro strong{display:block;font-size:21px;margin:10px 0 13px;font-weight:500}.macro strong small{font-size:12px;color:#bdccdc;font-weight:400}.progress-track{height:4px;background:#ffffff18;border-radius:4px;overflow:hidden}.progress-track div{height:100%;border-radius:4px;transition:width .5s}.hydration-card{display:flex;flex-direction:column}.hydration-card h2 svg{color:#7ca5c3}.water-number{font:600 38px Manrope;letter-spacing:-1.5px;margin:15px 0 22px}.water-number small{font:400 15px DM Sans;color:var(--muted);letter-spacing:0}.water-glasses{display:flex;gap:3px;margin-bottom:18px}.water-glasses div{color:#dce9f0;display:flex;flex:1}.water-glasses .filled{color:#719ebd}.water-glasses .filled svg{fill:#719ebd22}.hydration-card .muted{font-size:12px;margin-bottom:13px}.water-actions{display:flex;gap:9px}.water-actions button{flex:1;font-size:13px;min-height:42px;padding:9px 5px}.hydration-card .text-button{font-size:12px;font-weight:400;justify-content:flex-start;min-height:35px}.fiber{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:17px;font-size:13px;color:var(--muted)}.fiber strong{color:var(--ink);font-size:16px}.fiber small{font-size:12px;color:var(--muted);font-weight:400}.empty{text-align:center;padding:33px 15px}.empty-icon{height:40px;width:40px;border-radius:12px;display:inline-grid;place-items:center;color:var(--primary);background:var(--soft);margin-bottom:15px}.empty h3{font-size:17px;margin-bottom:9px}.empty p{font-size:14px;color:var(--muted);max-width:360px;margin:0 auto 20px;line-height:1.8}.empty .button{font-size:13px;min-height:42px}.meals-today{display:flex;flex-direction:column}.meals-today .empty{padding:14px 0 23px}.meal-row{display:flex;align-items:center;gap:13px;text-align:left;background:none;padding:12px 0;width:100%;border-bottom:1px solid var(--border)}.meal-row:last-child{border:0}.meal-emoji{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--soft);color:var(--primary);overflow:hidden;flex-shrink:0}.meal-emoji img{height:100%;width:100%;object-fit:cover}.meal-row>span:nth-child(2){min-width:0}.meal-row strong{font-weight:500;font-size:14px;display:block;margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:290px}.meal-row small{font-size:12px;color:var(--muted);display:block}.meal-row>b{margin-left:auto;font-size:14px;font-weight:500;text-align:right;white-space:nowrap}.meal-row b small{font-weight:400;margin-top:3px}.day-complete{display:flex;align-items:center;gap:8px;text-align:left;background:none;color:var(--muted);border-top:1px solid var(--border);padding-top:13px;margin-top:auto;font-size:12px}.day-complete>span{border:1px solid #b9c9cc;height:17px;width:17px;border-radius:4px;display:grid;place-items:center;flex-shrink:0}.day-complete.checked{color:var(--primary)}.day-complete.checked>span{background:var(--soft)}.training-preview{border:1px solid #e5dcc4;background:#f5f0e4;border-radius:18px;padding:26px;color:#574a2e}.training-preview .eyebrow{font-size:12px;letter-spacing:1.2px;color:#8b7958}.training-preview .card-heading>svg{color:#a79267}.training-preview h2{font-size:27px;line-height:1.3;margin:22px 0 14px;font-weight:600}.training-preview p{font-size:13px;line-height:1.9;color:#7a6b51}.training-footer{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.training-footer>span{font-size:13px;font-weight:600;line-height:1.6}.training-footer small{font-size:12px;font-weight:400;color:#867558}.training-footer button{width:43px;height:43px;border-radius:50%;background:#e4d6b5;color:#63512e!important}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:30px 0 18px}.section-heading h2{font-size:18px;font-weight:700;margin:0;letter-spacing:-.5px}.section-heading>span{font-size:12px;letter-spacing:1.2px;white-space:nowrap}.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.suggestion{display:flex;align-items:flex-start;gap:13px;padding:21px 18px;margin:0}.suggestion-icon{width:37px;height:39px;display:grid;place-items:center;background:#edf2e9;color:#788d68;border-radius:12px;flex-shrink:0}.s1{background:#f9eee2;color:#ae886b}.s2{background:#edf1f5;color:#7393ac}.suggestion h3{font-size:14px;letter-spacing:-.2px;margin:1px 0 6px}.suggestion p{font-size:12px;line-height:1.6;margin:0 0 8px;color:var(--muted)}.suggestion small{font-size:12px;color:var(--muted);line-height:1.5;display:block}.dashboard-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-top:22px}.dashboard-bottom .card{margin:0}.stats-inline{display:flex;gap:20px;justify-content:space-between;margin-top:25px}.stats-inline strong{font:600 24px Manrope;letter-spacing:-1px}.stats-inline strong small,.stats-inline>div>small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.stats-inline span{display:block;font-size:12px;color:var(--muted);margin-top:9px}.coach-note{display:flex;gap:17px;padding:21px 6px}.coach-icon{width:38px;height:38px;border-radius:13px;background:var(--primary);color:#efcc77;display:grid;place-items:center;font:600 20px Manrope;flex-shrink:0}.coach-note .eyebrow{font-size:12px;letter-spacing:1px}.coach-note h3{font-size:16px;line-height:1.5;margin:9px 0}.coach-note p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:4px}.coach-note .text-button{font-size:13px}.app-footer{border-top:1px solid var(--border);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.bottom-nav,.mobile-add{display:none}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);padding:16px 23px;border-radius:13px;background:#223c45;color:#fff;box-shadow:0 6px 30px #14273130;z-index:1000;max-width:90vw;width:max-content;font-size:14px;line-height:1.6}.modal{width:min(740px,calc(100% - 30px));max-height:92dvh;overflow:auto;border:1px solid var(--border);padding:0;border-radius:22px;color:var(--ink);background:var(--surface);box-shadow:0 20px 100px #12344435}.modal::backdrop{background:#12243270;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-head{position:sticky;top:0;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid var(--border);z-index:5}.modal-head h2{font-size:21px;margin:0}.modal-content{padding:22px 26px 30px}.modal-content>p,.modal-content form>p{font-size:14px;line-height:1.8}.modal-content h3{margin:24px 0 13px;font-size:18px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:26px;overflow:auto}.tabs button{white-space:nowrap;padding:13px 18px;background:transparent;color:var(--muted);font-size:14px;display:flex;gap:7px;align-items:center;border-bottom:2px solid transparent}.tabs button.active{color:var(--primary);border-color:var(--primary);font-weight:600}.tabs.compact button{padding:10px 12px;font-size:12px}.summary-strip{display:flex;gap:15px;flex-wrap:wrap;padding:18px 21px;background:var(--soft);border-radius:12px;margin:20px 0;font-size:13px}.summary-strip strong{font-size:18px;font-weight:600}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.record-grid>.card{margin:0}.calorie-label{font:600 28px Manrope;letter-spacing:-1px;display:block;margin:20px 0}.calorie-label small{font:400 13px DM Sans;color:var(--muted)}.ingredients-list{margin:20px 0}.ingredients-list>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--border);font-size:14px}.ingredients-list small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.ingredients-list strong{font-weight:500;white-space:nowrap}.record-photo{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:20px}.meal-detail .actions{margin-bottom:0}.meal-detail .button{padding:9px 12px;font-size:13px}.ingredient{border:1px solid var(--border);border-radius:13px;padding:16px 18px;margin-bottom:15px}.ingredient-top{display:grid;grid-template-columns:1.8fr 1fr 30px;gap:12px;align-items:center}.ingredient-top .field{margin:0 0 12px}.ingredient details summary{font-size:13px;color:var(--primary);cursor:pointer;min-height:35px;padding:7px 0}.macro-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:0 10px}.macro-fields .field>span{font-size:12px}.item-total{background:var(--soft);border-radius:8px;padding:11px 12px;font-size:12px;line-height:1.8;margin-top:10px}.photo-inputs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 20px}.photo-inputs .field{margin:0}.upload-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed #b5c5cd;min-height:44px;padding:10px 15px;font-size:13px;border-radius:10px;cursor:pointer}.upload-button input{display:none}.meal-photo-preview{display:flex;gap:15px;align-items:center;margin-bottom:18px}.meal-photo-preview img{width:100px;height:100px;object-fit:cover;border-radius:12px}.meal-photo-gallery{margin:12px 0 18px;min-width:0}.meal-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.meal-photo-card{min-width:0}.meal-photo-open{display:block;padding:0;width:100%;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--soft);color:var(--ink);cursor:pointer}.meal-photo-open img{display:block;width:100%;height:110px;object-fit:cover}.meal-photo-open span{display:block;padding:5px;font-size:12px}.meal-photo-card .text-button{font-size:12px;margin-top:5px}.meal-photo-expanded{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:12px auto 0;border-radius:10px}.editor-total{display:flex;flex-direction:column;gap:8px;background:var(--soft);border-radius:13px;padding:21px;margin:24px 0}.editor-total>span{font-size:13px;color:var(--muted)}.editor-total strong{font:600 28px Manrope}.editor-total small{font-size:13px;color:var(--muted)}.list-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;background:transparent;border-bottom:1px solid var(--border);padding:16px 0;font-size:14px;line-height:1.5}.list-button small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.list-button>span:last-child{display:flex;align-items:center;gap:10px;font-size:13px}.scanner{width:100%;border-radius:15px;max-height:320px;background:#000;margin-top:20px}.food-row{display:flex;align-items:center;gap:15px;padding:17px 20px}.food-row>div{flex:1}.food-row strong{font-size:14px}.food-row small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.metric>span{display:block;font-size:13px;color:var(--muted)}.metric>strong{display:block;font:600 36px Manrope;letter-spacing:-1.4px;margin:14px 0}.metric>strong small{font:400 15px DM Sans;letter-spacing:0}.metric>small{font-size:12px;color:var(--muted)}.segmented{display:flex;background:var(--soft);padding:3px;border-radius:9px}.segmented button{background:none;font-size:12px;padding:8px 12px;min-height:36px;border-radius:6px}.segmented button.active{background:var(--surface);box-shadow:0 2px 6px #13233308}.line-chart{width:100%;height:auto;max-height:300px;margin-top:15px;overflow:visible}.line-chart text{fill:var(--muted);font:12px DM Sans}.history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}.history-row:last-child{border:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:22px 0}.photo-tile{position:relative}.photo-tile>button:first-child{width:100%;padding:6px;background:var(--surface);border:2px solid transparent;border-radius:15px}.photo-tile>button.selected{border-color:var(--accent)}.photo-tile img{width:100%;height:220px;object-fit:cover;border-radius:10px}.photo-tile span{display:block;font-size:12px;padding:12px}.photo-tile>.icon-button{position:absolute;top:10px;right:10px;background:#fff}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparison figure{margin:0}.comparison img{width:100%;height:400px;object-fit:contain;background:var(--soft);border-radius:12px}.comparison figcaption{font-size:12px;margin:12px 0;color:var(--muted)}.upload-preview{display:block;max-width:200px;border-radius:10px}.coach-analysis>.eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:18px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.achievement-grid>span{padding:17px;background:var(--soft);border:1px solid var(--border);border-radius:12px;font-size:13px;line-height:1.8;color:var(--muted)}.achievement-grid>span.earned{color:var(--primary);border-color:var(--accent)}.workout-intro{display:flex;justify-content:space-between;align-items:center;background:var(--primary);color:#fff;padding:26px 28px;border-radius:18px;margin-bottom:20px;gap:20px}.workout-intro .eyebrow{color:#d5deea;font-size:12px}.workout-intro h2{font-size:25px;margin:11px 0}.workout-intro p{font-size:14px;color:#d6e0e8;line-height:1.7;margin:0}.exercise-row{display:flex;align-items:center;gap:21px;padding:23px;margin-bottom:14px}.exercise-number{font:500 25px Manrope;color:var(--muted);opacity:.65;min-width:40px}.exercise-row h3{font-size:17px;margin:0 0 9px}.exercise-row p{font-size:14px;color:var(--muted);margin:0}.exercise-row small{display:block;color:var(--muted);font-size:12px;line-height:1.8;margin-top:8px}.exercise-rest{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap;color:var(--muted)}.session-history{padding:15px 0;border-bottom:1px solid var(--border);font-size:14px}.session-history summary{cursor:pointer;line-height:1.7}.session-history p{font-size:13px;margin:12px 0 0;color:var(--muted)}.set-row{display:grid;grid-template-columns:1.7fr repeat(3,1fr) 25px;gap:10px;align-items:center;border-bottom:1px solid var(--border);padding:14px 0}.set-row>strong{font-size:13px;line-height:1.5;font-weight:500}.set-row small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:6px}.set-row .field{margin:0}.set-row .field>span{font-size:12px}.set-row input{padding:10px 6px}.plan-exercise{display:grid;grid-template-columns:1.7fr repeat(3,1fr) 25px;gap:8px;align-items:center}.plan-exercise .field>span{font-size:12px}.plan-exercise input{padding:9px 7px}.plan-day{padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:25px}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:25px}.settings-card{text-align:left;position:relative;padding:26px 24px;margin:0;transition:transform .2s}.settings-card:hover{transform:translateY(-3px)}.settings-icon{display:grid;place-items:center;width:46px;height:46px;background:var(--soft);color:var(--primary);border-radius:14px;margin-bottom:22px}.settings-card h2{font-size:17px;margin:0 0 11px}.settings-card p{font-size:13px;color:var(--muted);max-width:210px;margin-bottom:26px}.settings-card>svg{color:var(--muted)}.export-buttons{display:flex;flex-direction:column;gap:12px;margin:25px 0}.calendar-list{max-height:500px;overflow:auto}.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}.dark .energy-card,.dark .workout-intro{background:#22476a}.dark .training-preview{background:#3e382a;border-color:#5f533b;color:#eddbb9}.dark .training-preview p{color:#c3b18f}.dark .modal{color:var(--ink)}body:has(dialog[open]) .toast{display:none}.reminder-row{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:18px}.reminder-row button{font-size:13px}@media(min-width:1550px){.main-content{padding-top:35px}.energy-body{gap:42px}.energy-ring{width:200px;height:200px}.energy-copy>strong{font-size:44px}}@media(max-width:1200px){.sidebar{width:195px;padding-left:16px;padding-right:16px}.main-shell{margin-left:195px}.main-content{padding:25px}.topbar{padding:0 25px}.energy-card{padding:23px}.energy-body{gap:15px}.energy-ring{width:155px;height:155px}.energy-copy>strong{font-size:31px}.energy-copy .eyebrow{font-size:12px}.energy-note{display:none}.macro-row{gap:12px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr)}.suggestions{gap:12px}.suggestion{padding:18px 13px;gap:10px}.suggestion-icon{display:none}.dashboard-bottom{grid-template-columns:1fr 1fr}.stats-inline{gap:10px}.stats-inline strong{font-size:21px}.settings-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.sidebar{width:85px;padding:25px 12px}.sidebar .brand{font-size:0;gap:0;margin-bottom:40px;justify-content:center}.sidebar .brand>span:not(.brand-icon){font-size:0}.sidebar .brand-icon{margin:0}.sidebar-label,.sidebar nav button>span,.sidebar-note,.profile-switch>span:not(.avatar),.profile-switch>svg{display:none}.sidebar nav button{justify-content:center;padding:15px}.profile-switch{margin-top:auto;justify-content:center}.main-shell{margin-left:85px}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr)}.energy-body{flex-direction:column;gap:5px;align-items:center}.energy-copy{text-align:center}.energy-copy>strong{font-size:26px;margin:3px 0}.energy-copy p{display:none}.energy-ring{width:170px;height:170px}.energy-card .pill{font-size:12px}.energy-card .card-heading{gap:5px;flex-wrap:wrap}.hydration-card{justify-content:center}.hydration-card .card-heading{margin-bottom:auto}.water-number{margin-top:35px}.water-glasses{margin-bottom:30px}.fiber{margin-top:30px}.macro-row{padding-top:17px}.macro>span{font-size:12px}.energy-card h2{font-size:14px}.metric-grid{gap:15px}.metric{padding:20px}.metric>strong{font-size:30px}.workout-intro{flex-direction:column;align-items:flex-start}.workout-intro .actions{margin:0}.dashboard-bottom,.suggestions{grid-template-columns:1fr}.suggestion{align-items:center;padding:18px;gap:15px}.suggestion-icon{display:grid}.suggestion h3{font-size:15px}.suggestion p{font-size:14px;margin:0}.suggestion small{display:none}.coach-note{padding:15px 8px}}@media(max-width:650px){.sidebar{display:none}.main-shell{margin:0}.topbar{height:67px;padding:0 20px}.breadcrumb{font-size:12px}.breadcrumb span{padding:0 10px}.local-badge{font-size:12px;max-width:160px;line-height:1.5}.topbar-right{gap:13px}.main-content{padding:20px 18px 110px}.date-control{margin-bottom:18px;font-size:12px}.section-title{align-items:flex-start}.section-title h1{font-size:27px;max-width:300px}.section-title>.button{display:none}.section-title .eyebrow{font-size:12px}.page-subtitle{font-size:14px;margin-bottom:22px}.dashboard-grid{grid-template-columns:1fr;gap:17px}.energy-body{flex-direction:row;gap:15px;justify-content:center;align-items:center;padding:10px 0 24px}.energy-copy{text-align:left;flex:1}.energy-ring{height:150px;width:150px}.energy-copy .eyebrow{font-size:12px;letter-spacing:.5px}.energy-copy strong{font-size:30px;margin:9px 0}.energy-copy p{display:block;font-size:12px;line-height:1.7}.energy-card{padding:21px}.energy-card h2{font-size:15px}.energy-card .pill{font-size:12px}.macro-row{gap:13px;padding-top:20px}.macro>span{font-size:12px}.macro strong{font-size:21px}.hydration-card{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.hydration-card .card-heading{grid-column:1/3;margin:0 0 5px}.water-number{font-size:32px;margin:14px 0;align-self:center;white-space:nowrap}.water-glasses{margin:0;align-self:center}.water-glasses svg{width:17px}.hydration-card>.muted{grid-column:1/3;margin:3px 0 10px}.water-actions{grid-column:1/3}.hydration-card .text-button{grid-column:1/3;font-size:12px;padding:8px 0}.fiber{grid-column:1/3;margin-top:6px;padding-top:14px}.training-preview{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.training-preview .card-heading{grid-column:1/3;margin-bottom:6px}.training-preview h2{font-size:24px;margin:10px 0}.training-preview p{font-size:12px;align-self:center;margin:0}.training-footer{grid-column:1/3;margin-top:15px}.section-heading{margin-top:28px}.section-heading h2{font-size:17px;line-height:1.5}.section-heading>span{display:none}.dashboard-bottom{gap:8px;margin-top:17px}.trend-card{padding:22px}.stats-inline{gap:10px}.stats-inline strong{font-size:23px}.stats-inline span{font-size:12px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:space-around;padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;color:var(--muted);font-size:12px;min-width:55px;min-height:45px}.bottom-nav button.active{color:var(--primary)}.bottom-nav button.active svg{stroke-width:2.5}.mobile-add{display:grid;place-items:center;position:fixed;bottom:calc(85px + env(safe-area-inset-bottom));right:20px;width:52px;height:52px;z-index:15;border-radius:17px;background:var(--primary);color:#fff!important;box-shadow:0 6px 15px #213c6430}.toast{bottom:150px;font-size:13px;max-height:30dvh;overflow:auto}.tabs{gap:0;margin-bottom:22px}.tabs button{padding:12px 15px;font-size:14px}.tabs.compact button{font-size:12px;padding:10px;gap:5px}.tabs.compact button svg{width:14px}.modal{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0}.modal-head{padding:18px 20px}.modal-head h2{font-size:20px}.modal-content{padding:20px 18px calc(26px + env(safe-area-inset-bottom))}.form-grid{gap:0 12px}.field>span{font-size:14px}input,select,textarea{font-size:16px}.ingredient{padding:15px 12px}.ingredient-top{grid-template-columns:1.6fr 1fr 25px;gap:8px}.ingredient-top .field>span{font-size:12px}.ingredient-top input{padding:10px 7px}.ingredient-top .icon-button{min-width:28px}.macro-fields{grid-template-columns:1fr 1fr;gap:0 10px}.record-grid{grid-template-columns:1fr;gap:17px}.record-grid .card{padding:22px}.record-grid .button{font-size:13px}.metric-grid{grid-template-columns:1fr 1fr;gap:13px}.metric-grid .metric:last-child{grid-column:1/3}.metric{padding:20px;margin-bottom:0}.metric>strong{font-size:29px}.metric>span{font-size:12px}.chart-card{margin-top:20px;padding:20px 16px}.card-heading h2{font-size:15px}.segmented button{font-size:12px;padding:8px}.photo-grid{grid-template-columns:1fr 1fr;gap:12px}.photo-tile img{height:190px}.comparison img{height:260px}.comparison figcaption{font-size:12px;line-height:1.7}.achievement-grid{grid-template-columns:1fr}.workout-intro{padding:24px}.workout-intro h2{font-size:24px}.workout-intro .actions{gap:8px}.workout-intro .button{font-size:13px;padding:10px 13px}.exercise-row{gap:13px;padding:20px 15px}.exercise-row h3{font-size:15px}.exercise-row p{font-size:13px}.exercise-number{font-size:20px;min-width:26px}.exercise-rest{display:none}.set-row{grid-template-columns:repeat(3,1fr) 28px;gap:10px}.set-row>strong{grid-column:1/5;display:flex;justify-content:space-between;align-items:center;font-size:14px}.set-row small{margin:0}.plan-exercise{grid-template-columns:repeat(3,1fr) 27px;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:10px}.plan-exercise>.field:first-child{grid-column:1/5;margin-bottom:0}.plan-exercise .icon-button{min-width:27px}.settings-grid{grid-template-columns:1fr 1fr;gap:14px}.settings-card{padding:22px 17px;border-radius:15px}.settings-card h2{font-size:16px;line-height:1.4}.settings-card p{font-size:12px;line-height:1.7;margin-bottom:17px}.settings-icon{width:40px;height:40px;border-radius:12px;margin-bottom:18px}.settings-icon svg{width:21px}.summary-strip{padding:16px;gap:15px;font-size:13px}.summary-strip strong{font-size:16px}.food-row{padding:15px 12px;gap:8px}.food-row .button{padding:10px 13px}.gate-panel>form{padding:25px 20px}.gate-panel h1{font-size:28px}.gate-panel{margin-top:30px}.goal-preview strong{font-size:30px}.goal-preview div{font-size:13px}}@media(max-width:370px){.energy-body{flex-direction:column}.energy-copy{text-align:center}.energy-copy p{display:none}.energy-card .card-heading{flex-direction:column}.macro-row{gap:8px}.macro>span{font-size:12px}.macro strong small{display:block}.settings-grid{grid-template-columns:1fr}.stats-inline{flex-wrap:wrap}.topbar .breadcrumb{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:650px){.section-title{flex-wrap:wrap}.section-title>.button{display:inline-flex;margin:6px 0 13px}.section-title h1{max-width:100%}}:root{font-family:DM Sans,sans-serif;color:#203b43;background:#f5f7f8;font-synthesis:none;font-size:16px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #cc9635;outline-offset:4px}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em}.welcome{min-height:100dvh;padding:40px 6vw;display:flex;flex-direction:column;background:radial-gradient(ellipse at 80% 25%,#e8eef2 0,transparent 55%),#f5f7f8}.brand{font:800 28px Manrope;letter-spacing:-1.5px;display:flex;align-items:center;gap:5px}.brand>span:not(.brand-icon){font-weight:450}.brand-icon{display:grid;place-items:center;width:44px;height:44px;background:#123e47;color:#eacc87;border-radius:14px;margin-right:6px}.brand small{font:600 10px DM Sans;letter-spacing:1.8px;margin-left:20px;color:#6c8084}.welcome-content{margin:auto;width:min(790px,100%);padding:70px 0}.eyebrow{font-size:12px;letter-spacing:2.1px;font-weight:700;color:#6f858b}.welcome h1{font-size:clamp(40px,6vw,68px);font-weight:750;line-height:1.12;margin:22px 0}.welcome em{font-style:normal;color:#69868e}.welcome p{color:#6d7e84;line-height:1.8}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0 24px}.profile-card{display:flex;align-items:center;text-align:left;gap:16px;border:1px solid #dbe3e8;padding:28px 22px;border-radius:22px;background:#fff;color:#183958;box-shadow:0 10px 30px #14394906;transition:transform .2s,box-shadow .2s}.profile-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #14394910}.profile-card>svg{margin-left:auto;flex-shrink:0}.avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#e9eef7;font:700 25px Manrope;flex-shrink:0}.profile-card strong{display:block;font:750 23px Manrope;letter-spacing:-.6px}.profile-card small{display:block;color:#75818b;font-size:12px;margin-top:7px;line-height:1.5}.ari{color:#a04369}.ari .avatar{background:#f9e9f0}.privacy{display:flex;align-items:center;gap:8px;font-size:12px}.welcome footer{display:flex;justify-content:space-between;font-size:12px;color:#869499;border-top:1px solid #e0e7e9;padding-top:22px}@media(max-width:650px){.welcome{padding:24px}.brand small{display:none}.welcome-content{padding:65px 0}.profile-grid{grid-template-columns:1fr;gap:14px}.profile-card{padding:22px}.welcome footer span{display:none}}:root{--muted: #536671;--border: #dce3e8;--bg: #f4f6f8;--primary: #203d5b;--soft: #eaf0f5}.cloud-backup-status{display:inline-flex;align-items:center;gap:7px;min-height:44px;border:0;background:transparent;color:var(--muted);padding:4px 0;text-align:left;font:inherit;cursor:pointer;max-width:100%}.cloud-backup-status span{overflow-wrap:anywhere}.cloud-backup-status svg{flex-shrink:0}.cloud-account form{display:grid;gap:14px;margin:22px 0}.cloud-backup-prompt{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px;margin-bottom:24px}.cloud-backup-prompt>div{flex:1;min-width:170px}.cloud-backup-prompt p{margin:4px 0 0;color:var(--muted);font-size:13px}.cloud-backup-prompt>svg{color:var(--primary);flex-shrink:0}.cloud-backup-prompt button{min-height:44px}.cloud-account-state{display:flex;gap:12px;align-items:flex-start}.cloud-account-state p{margin:5px 0}.cloud-account .actions{flex-wrap:wrap}.weekly-menu .history-row>strong{flex-shrink:0;white-space:nowrap}.cloud-account .field input,.cloud-account .field select{max-width:100%}html[data-theme=dark],.dark{--ink: #e8edf2;--muted: #aab7c4;--surface: #18212c;--bg: #101720;--border: #334151;--soft: #233041;--primary: #aac8ed;color-scheme:dark}html[data-theme=dark]{background:#101720;color:#e8edf2}.theme-ari{--primary: #854361;--accent: #c585a1;--soft: #f3eaf0}.theme-ari.dark{--primary: #edb1cb;--soft: #342334}.app-shell{font-family:DM Sans,system-ui,sans-serif}h1,h2,h3{letter-spacing:-.025em;font-weight:600}.section-title h1{font-size:28px;font-weight:600}.eyebrow{letter-spacing:1px;font-size:12px;font-weight:600}.card,.energy-card,.training-preview,.workout-intro{border-radius:12px;box-shadow:none}.card{padding:23px}.main-content{max-width:1270px}.sidebar .brand-icon,.brand-icon{border-radius:9px;overflow:hidden;flex-shrink:0}.brand-icon img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.sidebar-note>svg{display:none}.sidebar-note p{line-height:1.7}.energy-card{background:#203d5b}.theme-ari .energy-card{background:#793954}.dark .energy-card,.dark .workout-intro{background:#1f3550}.theme-ari.dark .energy-card,.theme-ari.dark .workout-intro{background:#4a2840}.training-preview,.dark .training-preview{background:var(--surface);border-color:var(--border);color:var(--ink)}.training-preview p,.dark .training-preview p,.training-preview .eyebrow{color:var(--muted)}.training-preview h2{font-size:23px;margin:14px 0}.training-preview .training-footer button{border-radius:9px;background:var(--soft);color:var(--primary)!important}.energy-note,.suggestion-icon{display:none}.suggestions{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:0 22px}.suggestion.card{border:0;border-radius:0;padding:18px 0;background:none}.suggestion+.suggestion{border-top:1px solid var(--border)}.suggestion h3{font-size:15px}.suggestion p{font-size:14px;margin:0;color:var(--muted)}.suggestion small,.coach-icon{display:none}.coach-note{padding:23px 0}.coach-note .eyebrow{font-size:12px}.coach-note p{font-size:14px}.welcome{background:var(--bg);color:var(--ink)}.welcome p,.welcome .privacy,.welcome footer{color:var(--muted)}.welcome h1{font-size:38px;font-weight:600}.welcome-content{width:min(680px,100%);padding:45px 0}.profile-card,.gate-panel>form{background:var(--surface);border-color:var(--border);border-radius:14px;box-shadow:none}.profile-card:hover{transform:none;box-shadow:none;border-color:var(--primary)}.profile-card small{color:var(--muted);font-size:14px}.profile-card strong{font-size:23px;font-weight:600}.dark .profile-card.luca{color:#b6cdee}.dark .profile-card.ari{color:#edb1cb}.dark .profile-card .avatar{background:var(--soft)}.avatar,.profile-card .avatar{border-radius:11px}.theme-toggle{display:flex;gap:3px;background:var(--soft);border:1px solid var(--border);padding:3px;border-radius:8px;flex-shrink:0}.theme-toggle button{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;min-height:44px;min-width:44px;padding:5px 10px;border-radius:5px;background:none;color:var(--muted)}.theme-toggle button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000010}.welcome-theme{position:absolute;top:38px;right:6vw;z-index:5}.dark input,.dark select,.dark textarea{border-color:var(--border)}.settings-card{border-radius:12px}.settings-card:hover{transform:none;border-color:var(--primary)}.settings-icon{border-radius:9px;width:40px;height:40px}.dark .notice,.dark .item-total,.dark .summary-strip{background:var(--soft)}.dark .suggestion{color:var(--ink)}.dark .button:not(.secondary),.dark .mobile-add{color:#102238!important}.dark .button.secondary{color:var(--ink)!important}.dark .photo-tile>.icon-button{background:var(--surface)}@media(max-width:650px){.topbar{height:auto;min-height:68px;padding:12px 18px;gap:12px}.topbar-right{gap:10px;flex:1;justify-content:flex-end}.local-badge{display:none}.breadcrumb{font-size:14px}.breadcrumb span{padding:0 7px}.main-content{padding:20px 16px 110px}.section-title h1{font-size:25px}.page-subtitle{margin-bottom:20px}.card{padding:20px}.card-heading h2{font-size:16px}.theme-toggle button{min-height:44px}.theme-toggle button span{display:none}.theme-toggle button{width:44px;padding:6px}.welcome-theme{top:23px;right:24px}.welcome-theme .theme-toggle button span{display:inline}.welcome-theme .theme-toggle button{width:auto;font-size:12px}.welcome .brand{font-size:25px}.welcome .brand-icon{width:37px;height:37px}.welcome h1{font-size:31px}.welcome-content{padding-top:70px}.welcome .profile-grid{gap:12px}.profile-card{padding:21px}.bottom-nav{padding-top:8px}.bottom-nav button{font-size:12px}.mobile-add{border-radius:12px}.section-title>.button{margin-top:2px}.dashboard-bottom{gap:0}.stats-inline{gap:14px}.stats-inline strong{font-size:24px}.stats-inline span{font-size:12px;line-height:1.6}.training-preview{display:block}.training-preview h2{font-size:23px}.training-preview p br{display:none}.suggestions{padding:0 20px}.energy-copy .eyebrow{font-size:12px}.energy-copy p{font-size:13px}.energy-copy>strong{font-size:31px}.card-heading .pill{font-size:12px}.section-heading h2{font-size:18px}.modal{border-radius:14px 14px 0 0}.actions .button{min-height:46px}.settings-card h2{font-size:16px}.app-footer{font-size:12px}}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar .breadcrumb{display:flex;align-items:center;min-width:0;gap:3px}.breadcrumb button{background:transparent;color:var(--muted);font-size:inherit;white-space:nowrap;padding:6px;border-radius:7px;min-height:44px}.breadcrumb button:hover,.breadcrumb button:focus-visible{color:var(--primary);background:var(--soft)}.breadcrumb button[aria-current]{color:var(--ink)}.breadcrumb span{padding:0 2px}.profile-avatar{display:inline-grid;place-items:center;flex-shrink:0;overflow:hidden}.profile-avatar img{display:block;width:100%;height:100%;object-fit:cover}.mini-avatar{width:44px;height:44px;min-height:44px;padding:0;flex-shrink:0}.header-profile-photo{width:100%;height:100%;border-radius:inherit}.account-summary{display:flex;align-items:center;gap:16px;margin-bottom:14px}.account-summary p{margin:6px 0 0}.account-avatar,.profile-photo-preview{background:var(--soft);color:var(--primary);border:1px solid var(--border);border-radius:50%;width:64px;height:64px;font-size:24px}.profile-photo-preview{width:112px;height:112px;font-size:38px}.profile-editor-photo{display:flex;align-items:center;gap:20px;margin-bottom:18px}.profile-editor-photo p{margin:0}.account-actions .list-button>span{display:grid;grid-template-columns:22px 1fr;gap:4px 10px}.account-actions .list-button>span>svg{grid-row:span 2;align-self:center}.account-actions .list-button small{grid-column:2}@media(min-width:651px){dialog.account-menu{width:min(400px,calc(100% - 30px));margin:calc(76px + env(safe-area-inset-top,0px)) 20px auto auto}}@media(max-width:650px){.topbar{flex-wrap:wrap}.topbar .topbar-right{flex:0 0 auto;margin-left:auto}.topbar .breadcrumb button{padding:4px}}@media(max-width:430px){.topbar .topbar-left{flex:1 1 auto}.topbar .breadcrumb{font-size:11px;gap:0}}@media(prefers-reduced-motion:no-preference){.section-view{animation:section-enter .18s ease-out both}.modal[open]{animation:dialog-enter .16s ease-out both}.modal[open]::backdrop{animation:backdrop-enter .16s ease-out}.breadcrumb button,.theme-toggle button,.account-actions .list-button{transition:background-color .12s ease,color .12s ease}}@keyframes section-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}.back-button{display:flex;align-items:center;gap:5px;min-height:44px;padding:5px 9px;color:var(--primary);background:transparent;border-radius:8px;font-size:14px}.back-button:hover{background:var(--soft)}@media(max-width:650px){.topbar-left{gap:4px}.back-button{padding:5px;min-width:44px}.back-button>span{display:none}.topbar-left .breadcrumb{font-size:12px}}.ai-connection,.ai-result{margin:16px 0}.micronutrients,.nutrition-lookup{margin:12px 0;padding:12px 0;border-top:1px solid var(--border)}.micronutrients summary,.nutrition-lookup summary{cursor:pointer;padding:10px 0;font-weight:600}.micro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:14px;margin:16px 0}.micro-grid dt{font-size:13px}.micro-grid dd{margin:4px 0 0;font-weight:600}.micro-grid small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.ai-analyzer textarea{min-height:130px}.app-update{position:fixed;z-index:220;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translate(-50%);width:min(460px,calc(100% - 24px));padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 12px 36px #0003}.app-update p{margin:8px 0 14px;font-size:14px}.usage-guide details{margin:12px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.usage-guide summary{padding:16px;cursor:pointer;font-weight:600}.usage-guide ol{padding:0 20px 4px 38px}.usage-guide li{margin-bottom:12px;line-height:1.6}.app-shell.theme-luca{--primary: #2563d9;--accent: #5ccaff;--ink: #1b2c4a;--soft: #e6effc;--bg: #eef4fc;--border: #d6e3f5;--duo-1: #2f7bff;--duo-2: #4aa8ff;--duo-3: #8fd3ff;--duo-bar: #ffffff;--duo-frame-fill: rgba(150, 195, 255, .32);--duo-frame-stroke: #ffffff;--duo-glow: rgba(74, 168, 255, .2);--duo-button: linear-gradient(100deg, #2a6ff0, #3f9bff 55%, #5ccaff);--duo-shadow: rgba(47, 123, 255, .45)}.app-shell.theme-luca.dark{--primary: #8fc2ff;--ink: #e6eeff;--muted: #9fb2d6;--surface: #0f1a36;--bg: #071029;--border: #22325a;--soft: #13224a;--duo-bar: #0f1f47;--duo-frame-fill: rgba(90, 150, 255, .06);--duo-frame-stroke: rgba(130, 185, 255, .32);--duo-glow: rgba(47, 123, 255, .22)}.app-shell.theme-ari{--primary: #c42f74;--accent: #f47cae;--ink: #4a2238;--soft: #fbe7f0;--bg: #fcf0f5;--border: #f2d6e3;--duo-1: #e8478f;--duo-2: #f47cae;--duo-3: #ffb3d1;--duo-bar: #ffffff;--duo-frame-fill: rgba(255, 170, 200, .42);--duo-frame-stroke: #ffffff;--duo-glow: rgba(244, 124, 174, .2);--duo-button: linear-gradient(100deg, #d93b84, #ee5f9f 55%, #f78bb9);--duo-shadow: rgba(232, 71, 143, .42)}.app-shell.theme-ari.dark{--primary: #f7a3c8;--ink: #fbe9f2;--muted: #d3a9bf;--surface: #24101f;--bg: #170816;--border: #45203d;--soft: #331729;--duo-bar: #3a1232;--duo-frame-fill: rgba(255, 120, 180, .07);--duo-frame-stroke: rgba(255, 160, 205, .32);--duo-glow: rgba(232, 71, 143, .22)}.app-shell{background:radial-gradient(130% 55% at 50% -12%,var(--duo-glow, transparent),transparent 62%) no-repeat,var(--bg)}.theme-control{display:inline-flex;flex-shrink:0;padding-top:36px}.duo-switch{--sw-track: #e6eaf3;--sw-track-shadow: inset 4px 4px 8px #c5ccdb, inset -4px -4px 8px #ffffff;--sw-knob: #f4f6fb;--sw-knob-shadow: 3px 3px 7px #c3cad9, -3px -3px 7px #ffffff;--sw-walker: #4b5476;position:relative;flex-shrink:0;width:76px;height:44px;min-height:44px;padding:0;border:0;border-radius:999px;background:var(--sw-track);box-shadow:var(--sw-track-shadow);cursor:pointer;overflow:visible;transition:background .5s ease,box-shadow .5s ease}.theme-luca .duo-switch{--sw-track: #e2ebf7;--sw-track-shadow: inset 4px 4px 8px #c4d3e8, inset -4px -4px 8px #ffffff;--sw-knob: #f3f7fd;--sw-knob-shadow: 3px 3px 7px #c2d0e4, -3px -3px 7px #ffffff;--sw-walker: #33507e}.theme-ari .duo-switch{--sw-track: #f5e3ea;--sw-track-shadow: inset 4px 4px 8px #e2c6d2, inset -4px -4px 8px #ffffff;--sw-knob: #fff7fa;--sw-knob-shadow: 3px 3px 7px #dcc0cc, -3px -3px 7px #ffffff;--sw-walker: #7a3357}.duo-switch.is-dark{--sw-track: #0d1233;--sw-track-shadow: inset 4px 4px 8px rgba(0, 0, 0, .6), inset -3px -3px 7px rgba(80, 90, 160, .25);--sw-knob: #1a2150;--sw-knob-shadow: 3px 3px 8px rgba(0, 0, 0, .55), -2px -2px 6px rgba(110, 120, 200, .25);--sw-walker: #9bdcff}.theme-luca .duo-switch.is-dark{--sw-track: #0a1636;--sw-knob: #14275a;--sw-walker: #8fd3ff}.theme-ari .duo-switch.is-dark{--sw-track: #260b21;--sw-track-shadow: inset 4px 4px 8px rgba(0, 0, 0, .6), inset -3px -3px 7px rgba(170, 80, 140, .25);--sw-knob: #43173a;--sw-knob-shadow: 3px 3px 8px rgba(0, 0, 0, .55), -2px -2px 6px rgba(200, 110, 170, .25);--sw-walker: #ffb3d1}.duo-switch:focus-visible{outline:2px solid var(--primary, #2563d9);outline-offset:3px}.duo-switch-knob{position:absolute;top:50%;left:5px;width:34px;height:34px;transform:translateY(-50%);border-radius:50%;display:grid;place-items:center;background:var(--sw-knob);box-shadow:var(--sw-knob-shadow);transition:transform .55s cubic-bezier(.34,1.56,.64,1),background .5s ease,box-shadow .5s ease}.duo-switch.is-dark .duo-switch-knob{transform:translate(32px,-50%)}.duo-switch-knob svg{grid-area:1 / 1;transition:opacity .3s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}.duo-switch-knob .sun{color:#f29d38}.duo-switch-knob .moon{color:var(--sw-walker);opacity:0;transform:rotate(-60deg) scale(.5)}.duo-switch.is-dark .sun{opacity:0;transform:rotate(60deg) scale(.5)}.duo-switch.is-dark .moon{opacity:1;transform:none}.duo-switch-stars i{position:absolute;border-radius:50%;opacity:0;transition:opacity .6s ease}.duo-switch-stars i:nth-child(1){left:12px;top:11px;width:3px;height:3px;background:var(--sw-walker)}.duo-switch-stars i:nth-child(2){left:22px;top:23px;width:2px;height:2px;background:#fff}.duo-switch-stars i:nth-child(3){left:30px;top:10px;width:2px;height:2px;background:var(--sw-walker)}.duo-switch.is-dark .duo-switch-stars i{opacity:.9}@media(prefers-reduced-motion:reduce){.theme-control *{animation:none!important;transition:none!important}}@media(max-width:650px){.app-shell .bottom-nav.notch-nav{display:block;position:fixed;left:0;right:0;bottom:calc(12px + env(safe-area-inset-bottom));height:96px;padding:0;border:0;background:none;z-index:20;pointer-events:none}.notch-nav-shape{position:absolute;left:0;top:0;overflow:visible;filter:drop-shadow(0 10px 18px rgba(10,20,50,.16))}.notch-nav-bar{fill:var(--duo-bar);transition:fill .5s ease}.notch-nav-circle{position:absolute;left:0;top:7px;width:48px;height:48px;display:grid;place-items:center;color:var(--primary)}.notch-nav-circle svg{grid-area:1 / 1;opacity:0;transform:scale(.4) rotate(-40deg);transition:opacity .25s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}.notch-nav-circle svg.on{opacity:1;transform:none}.app-shell .bottom-nav.notch-nav button{position:absolute;top:31px;height:65px;min-width:0;min-height:0;display:block;padding:0;border:0;background:none;color:var(--muted);pointer-events:auto;-webkit-tap-highlight-color:transparent}.app-shell .bottom-nav.notch-nav button.active{color:var(--ink)}.notch-nav-icon{position:absolute;left:0;right:0;top:12px;display:flex;justify-content:center;transition:opacity .25s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}.notch-nav button.active .notch-nav-icon{opacity:0;transform:translateY(-20px) scale(.5)}.notch-nav-label{position:absolute;left:0;right:0;top:37px;font-size:11px;font-weight:600;letter-spacing:.01em;text-align:center;white-space:nowrap}.notch-nav button.active .notch-nav-label{font-weight:800}.app-shell .mobile-add{bottom:calc(122px + env(safe-area-inset-bottom));border-radius:50%;background:var(--duo-button, var(--primary));box-shadow:0 10px 24px -8px var(--duo-shadow, #213c6450)}.app-shell main{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.toast{bottom:calc(190px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:no-preference){.section-view.from-right{animation:duo-in-right .42s cubic-bezier(.22,1,.36,1) both}.section-view.from-left{animation:duo-in-left .42s cubic-bezier(.22,1,.36,1) both}}@keyframes duo-in-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}@keyframes duo-in-left{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:none}}.app-shell.theme-luca{--duo-score: radial-gradient( 120% 130% at 100% 0%, #5ccaff 0%, #2f7bff 45%, #1a3fa8 100% );--duo-warm: linear-gradient( 135deg, rgba(143, 211, 255, .38), rgba(255, 255, 255, .75) )}.app-shell.theme-luca.dark{--duo-warm: linear-gradient( 135deg, rgba(47, 123, 255, .24), rgba(255, 255, 255, .03) )}.app-shell.theme-ari{--duo-score: radial-gradient( 120% 130% at 100% 0%, #ffb3d1 0%, #ee5f9f 45%, #a8236a 100% );--duo-warm: linear-gradient( 135deg, rgba(255, 179, 209, .42), rgba(255, 255, 255, .75) )}.app-shell.theme-ari.dark{--duo-warm: linear-gradient( 135deg, rgba(232, 71, 143, .24), rgba(255, 255, 255, .03) )}.duo-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:20px}.duo-greeting,.duo-rings-card,.duo-score{border-radius:26px;padding:20px;min-width:0}.duo-greeting{display:flex;align-items:center;gap:14px;background:var(--duo-warm, var(--soft));border:1px solid var(--border)}.duo-greeting>div{flex:1;min-width:0}.duo-greeting .eyebrow{color:var(--primary);font-weight:800;letter-spacing:.08em;font-size:12px}.duo-greeting h2{margin:6px 0 4px;font-size:20px;font-weight:800;line-height:1.25}.duo-greeting p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.duo-buddy{flex-shrink:0}.duo-buddy-shadow{fill:#0a14321f}.dark .duo-buddy-shadow{fill:#00000059}.duo-rings-card{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--border)}.duo-rings{width:120px;height:120px;flex-shrink:0;transform:rotate(-90deg)}.duo-rings circle{fill:none;stroke-width:12}.duo-ring-track{stroke:var(--soft)}.duo-ring{stroke-linecap:round;transition:stroke-dasharray 1.3s cubic-bezier(.22,1,.36,1)}.duo-ring.r1{stroke:var(--duo-1, var(--primary))}.duo-ring.r2{stroke:var(--duo-2, var(--accent));transition-delay:.12s}.duo-ring.r3{stroke:var(--duo-3, var(--accent));transition-delay:.24s}.duo-rings-card dl{display:grid;gap:10px;margin:0}.duo-rings-card dt{font-size:11px;font-weight:800;letter-spacing:.06em}.duo-rings-card dt.r1{color:var(--duo-1, var(--primary))}.duo-rings-card dt.r2{color:var(--duo-2, var(--primary))}.duo-rings-card dt.r3{color:var(--primary)}.duo-rings-card dd{margin:0;font-family:Manrope,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.02em}.duo-rings-card dd small{font-size:12px;font-weight:600;color:var(--muted)}.duo-score{background:var(--duo-score, var(--primary));color:#fff;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 36px -20px var(--duo-shadow, rgba(0, 0, 0, .4))}.duo-score-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.duo-score .eyebrow{color:#ffffffd9;font-weight:800;letter-spacing:.08em;font-size:11px}.duo-score strong{display:block;font:800 44px/1 Manrope,sans-serif;letter-spacing:-.04em}.duo-chip{padding:7px 12px;border-radius:999px;background:#fff3;font-size:12px;font-weight:800;white-space:nowrap}.duo-score p{margin:0;font-size:13px;line-height:1.5;color:#ffffffeb}.duo-week{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.duo-week li{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;font-weight:800}.duo-week i{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.55)}.duo-week li.done i{background:#fffffff2}.app-shell .energy-card{background:var(--duo-score, var(--primary));border-radius:26px}.app-shell .energy-card .ring-value{stroke:url(#duoEnergy);transition:stroke-dasharray 1.3s cubic-bezier(.22,1,.36,1)}.app-shell .energy-card .ring-text svg{color:#fff}.duo-burst-anchor{position:relative}.duo-burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:3}.duo-burst i{position:absolute;left:0;top:0;border-radius:50%;animation:duo-spark 1.1s cubic-bezier(.16,1,.3,1) both}.duo-burst i.c0{background:var(--duo-1, #2f7bff)}.duo-burst i.c1{background:var(--duo-2, #4aa8ff)}.duo-burst i.c2{background:var(--duo-3, #8fd3ff)}.duo-burst i.c3{background:#ffd27a}@keyframes duo-spark{0%{transform:translate(0) scale(.4);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}.app-shell .button,.app-shell .day-complete,.app-shell .water-actions button{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.app-shell .button:active,.app-shell .day-complete:active,.app-shell .water-actions button:active{transform:scale(.95)}@media(prefers-reduced-motion:no-preference){.duo-buddy{animation:duo-bob 3.2s ease-in-out infinite}.duo-buddy-eyes{transform-origin:42px 42px;animation:duo-blink 4.5s infinite}.duo-week li{animation:duo-pop .5s cubic-bezier(.34,1.56,.64,1) both}.section-view>*,.duo-hero>*,.dashboard-grid>*{animation:duo-rise .6s cubic-bezier(.22,1,.36,1) both}.section-view>*:nth-child(2),.duo-hero>*:nth-child(2),.dashboard-grid>*:nth-child(2){animation-delay:.07s}.section-view>*:nth-child(3),.duo-hero>*:nth-child(3),.dashboard-grid>*:nth-child(3){animation-delay:.14s}.section-view>*:nth-child(4),.dashboard-grid>*:nth-child(4){animation-delay:.21s}.section-view>*:nth-child(n+5){animation-delay:.28s}}@keyframes duo-rise{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}@keyframes duo-pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes duo-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes duo-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@media(max-width:1100px){.duo-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.duo-greeting{grid-column:1 / -1}}@media(max-width:650px){.duo-hero{grid-template-columns:minmax(0,1fr);gap:12px}.duo-greeting h2{font-size:18px}.duo-rings{width:108px;height:108px}}.duo-switch{margin-top:0}.duo-switch-buddy{position:absolute;left:0;right:0;top:-27px;height:28px;pointer-events:none}.duo-switch-buddy svg{position:absolute;left:24px;top:0;overflow:visible;fill:none;stroke:var(--sw-walker);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:bd-in .35s ease-out both}.duo-switch-buddy circle{fill:var(--sw-track)}.bd-book{fill:var(--duo-2, #f47cae);stroke:none;transform-origin:18px 12.5px}.bd-bottle{fill:var(--duo-3, #8fd3ff);stroke:none;transform:rotate(35deg);transform-origin:17.8px 5.5px}.bd-canopy{fill:var(--duo-2, #f47cae);stroke:none}.bd-prop{stroke-width:1.2}.bd-z{fill:var(--sw-walker);stroke:none;font:800 5px Manrope,sans-serif;opacity:0}.bd-rain{position:absolute;inset:-6px 0 0}.bd-rain i{position:absolute;top:0;width:1.5px;height:5px;border-radius:2px;background:var(--duo-3, #8fd3ff);opacity:0}.bd-rain i:nth-child(1){left:6px}.bd-rain i:nth-child(2){left:18px;animation-delay:.3s!important}.bd-rain i:nth-child(3){left:58px;animation-delay:.55s!important}.bd-rain i:nth-child(4){left:68px;animation-delay:.15s!important}.bd-frame-b{opacity:0}@media(prefers-reduced-motion:no-preference){.bd-walk{animation:bd-walk 7.5s linear infinite}.bd-leg-a,.bd-leg-b{transform-origin:14px 17px;animation:bd-leg .45s ease-in-out infinite alternate}.bd-leg-b{animation-direction:alternate-reverse}.bd-book{animation:bd-page 2.4s ease-in-out infinite}.bd-frame-a{animation:bd-frame .7s steps(1,end) infinite}.bd-frame-b{animation:bd-frame .7s steps(1,end) infinite reverse}.act-squat .bd-frame-a,.act-squat .bd-frame-b{animation-duration:1.4s}.bd-bounce{animation:bd-bounce .35s ease-in-out infinite alternate}.bd-tilt{transform-origin:14px 8px;animation:bd-tilt 2.2s ease-in-out infinite}.bd-wave-arm{transform-origin:14px 10px;animation:bd-wave .5s ease-in-out infinite alternate}.bd-sway{transform-origin:14px 25px;animation:bd-sway 3s ease-in-out infinite}.bd-z{animation:bd-z 2.4s ease-in-out infinite}.bd-z.z2{animation-delay:.6s}.bd-z.z3{animation-delay:1.2s}.bd-hop{animation:bd-hop .5s cubic-bezier(.34,1.56,.64,1) 2 alternate}.bd-rain i{animation:bd-drop .9s linear infinite}}@keyframes bd-in{0%{opacity:0;transform:translateY(4px) scale(.85)}to{opacity:1;transform:none}}@keyframes bd-walk{0%{transform:translate(-20px) scaleX(1)}46%{transform:translate(26px) scaleX(1)}50%{transform:translate(26px) scaleX(-1)}96%{transform:translate(-20px) scaleX(-1)}to{transform:translate(-20px) scaleX(1)}}@keyframes bd-leg{0%{transform:rotate(24deg)}to{transform:rotate(-24deg)}}@keyframes bd-page{0%,80%,to{transform:scaleX(1)}88%{transform:scaleX(-1)}}@keyframes bd-frame{0%{opacity:1}50%{opacity:0}}@keyframes bd-bounce{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes bd-tilt{0%,30%,to{transform:rotate(0)}50%,80%{transform:rotate(-18deg)}}@keyframes bd-wave{0%{transform:rotate(-20deg)}to{transform:rotate(25deg)}}@keyframes bd-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes bd-z{0%{opacity:0;transform:translateY(2px)}40%{opacity:1}to{opacity:0;transform:translate(3px,-5px)}}@keyframes bd-hop{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes bd-drop{0%{opacity:0;transform:translateY(0)}20%{opacity:.9}to{opacity:0;transform:translateY(26px)}}.duo-switch-buddy .bd-fill{fill:var(--duo-2, #f47cae);stroke:none}.duo-switch-buddy .bd-fill-2{fill:var(--duo-3, #8fd3ff);stroke:none}.duo-switch-buddy .bd-leaf{fill:#5bc98a;stroke:none}.duo-switch-buddy .bd-ball{fill:#fff;stroke:var(--sw-walker);stroke-width:.9}.duo-switch-buddy .bd-star{fill:#fff6c9;stroke:none}.duo-switch-buddy .bd-bubble{fill:#fff;stroke:var(--duo-3, #8fd3ff);stroke-width:.5;opacity:0}.duo-switch-buddy .bd-flash{fill:#fff7d6;stroke:none;opacity:0}.duo-switch-buddy .bd-shadow{fill:var(--sw-walker);stroke:none;opacity:.18;transform-origin:14px 25.5px}.bd-hoop{stroke:var(--duo-2, #f47cae);stroke-width:1.3;transform-origin:14px 15.5px}.bd-scope{stroke-width:2.4}.bd-steam{stroke-width:.9;opacity:0}@media(prefers-reduced-motion:no-preference){.act-jog .bd-walk{animation-duration:3.75s}.act-jog .bd-leg-a,.act-jog .bd-leg-b,.act-jog .bd-bounce{animation-duration:.22s}.act-skate .bd-walk{animation-timing-function:ease-in-out}.act-skate .bd-bounce{animation-duration:.9s}.act-rope .bd-frame-a,.act-rope .bd-frame-b,.act-guitar .bd-frame-a,.act-guitar .bd-frame-b{animation-duration:.5s}.act-rope .bd-bounce{animation-duration:.25s}.act-pushup .bd-frame-a,.act-pushup .bd-frame-b{animation-duration:1.2s}.act-curl .bd-frame-a,.act-curl .bd-frame-b,.act-eat .bd-frame-a,.act-eat .bd-frame-b{animation-duration:1.6s}.act-stretch .bd-frame-a,.act-stretch .bd-frame-b{animation-duration:2.6s}.act-dance .bd-frame-a,.act-dance .bd-frame-b{animation-duration:.8s}.act-mate .bd-tilt{transform-origin:12px 6px;animation-duration:3s}.bd-steam{animation:bd-steam 2s ease-out infinite}.bd-juggle{animation:bd-juggle .35s cubic-bezier(.2,.7,.4,1) infinite alternate}.bd-orbit{transform-origin:14px 1px;animation:bd-spin 1.1s linear infinite}.bd-cartwheel{transform-origin:14px 14px;animation:bd-cartwheel 3.75s ease-in-out infinite alternate}.bd-flash{animation:bd-flash 1.8s ease-out infinite}.bd-hoop{animation:bd-hoop .3s ease-in-out infinite alternate}.act-hula .bd-sway{animation-duration:.6s}.bd-float{animation:bd-float 1.8s ease-in-out infinite alternate}.bd-shadow{animation:bd-shadow 1.8s ease-in-out infinite alternate}.bd-kite{transform-origin:15px 11px;animation:bd-kite 1.6s ease-in-out infinite alternate}.bd-star{animation:bd-twinkle 1.2s ease-in-out infinite alternate}.bd-star.s2{animation-delay:.4s}.bd-star.s3{animation-delay:.8s}.bd-brush{animation:bd-brush .18s ease-in-out infinite alternate}.bd-bubble{animation:bd-z 1.6s ease-out infinite}.bd-bubble.z2{animation-delay:.5s}.bd-bubble.z3{animation-delay:1s}}@keyframes bd-steam{0%{opacity:0;transform:translateY(1px)}40%{opacity:.8}to{opacity:0;transform:translateY(-4px)}}@keyframes bd-juggle{0%{transform:translateY(0)}to{transform:translateY(-9px)}}@keyframes bd-spin{to{transform:rotate(360deg)}}@keyframes bd-cartwheel{0%{transform:translate(-18px) rotate(0)}to{transform:translate(24px) rotate(720deg)}}@keyframes bd-flash{0%,78%{opacity:0}84%{opacity:.95}to{opacity:0}}@keyframes bd-hoop{0%{transform:translate(-1.5px) rotate(-8deg)}to{transform:translate(1.5px) rotate(8deg)}}@keyframes bd-float{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes bd-shadow{0%{transform:scaleX(1)}to{transform:scaleX(.7)}}@keyframes bd-kite{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}@keyframes bd-twinkle{0%{opacity:.25}to{opacity:1}}@keyframes bd-brush{0%{transform:translateY(0)}to{transform:translateY(-.8px)}}.app-shell{font-family:Manrope,DM Sans,system-ui,sans-serif}.app-shell h1,.app-shell h2,.app-shell h3{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.03em}.app-shell .eyebrow{color:var(--primary);font-weight:800;letter-spacing:.12em}.app-shell .card,.app-shell .cloud-backup-prompt,.app-shell .coach-note{border-radius:26px;border:1px solid var(--border);background:var(--surface);box-shadow:0 16px 36px -28px #14285a59}.app-shell .button:not(.secondary){border:none;background:var(--duo-button, var(--primary));color:#fff;box-shadow:0 12px 24px -14px var(--duo-shadow, rgba(0, 0, 0, .4))}.app-shell .button{border-radius:999px;font-weight:800}.app-shell .topbar{background:transparent;border-bottom-color:transparent;height:auto;min-height:104px;padding-top:12px;padding-bottom:12px}.app-shell .topbar-right{align-items:flex-end}.app-shell .topbar-left{align-self:flex-end}.app-shell .day-complete{border-radius:999px;font-weight:800}.app-shell .day-complete.checked{background:var(--duo-button, var(--primary));color:#fff;border-color:transparent}@media(max-width:650px){.app-shell main{min-height:calc(100lvh + 2px)}.app-shell .loading{min-height:100lvh}.app-shell .bottom-nav.notch-nav{transform:translateZ(0)}.app-shell .section-title{align-items:flex-end}.app-shell .section-title h1{font-size:30px}.app-shell .section-title>.button{display:none}.app-shell .page-subtitle{display:none}.app-shell .cloud-backup-prompt{margin:20px 0 0;padding:14px 16px}.app-shell .dashboard-grid{gap:12px}}.app-shell .duo-score .eyebrow{color:#ffffffd9}.app-shell.theme-luca{--neo-bg: #e4ebf5;--neo-hi: #ffffff;--neo-lo: #c3d0e3}.app-shell.theme-ari{--neo-bg: #f4e6ec;--neo-hi: #ffffff;--neo-lo: #dfc7d2}.app-shell.theme-luca.dark{--neo-bg: #0e1631;--neo-hi: rgba(78, 104, 176, .2);--neo-lo: rgba(0, 0, 0, .6)}.app-shell.theme-ari.dark{--neo-bg: #200d1d;--neo-hi: rgba(170, 80, 140, .18);--neo-lo: rgba(0, 0, 0, .6)}.app-shell{--bg: var(--neo-bg);--surface: var(--neo-bg);--soft: color-mix(in srgb, var(--neo-lo) 35%, var(--neo-bg));--border: transparent;--neo-out: 5px 6px 14px color-mix(in srgb, var(--neo-lo) 70%, transparent), -4px -4px 12px color-mix(in srgb, var(--neo-hi) 60%, transparent);--neo-out-sm: 3px 3px 8px color-mix(in srgb, var(--neo-lo) 70%, transparent), -2px -2px 7px color-mix(in srgb, var(--neo-hi) 55%, transparent);--neo-in: inset 5px 5px 10px var(--neo-lo), inset -5px -5px 10px var(--neo-hi);background:var(--neo-bg)}.app-shell .card,.app-shell .cloud-backup-prompt,.app-shell .coach-note,.app-shell .duo-greeting,.app-shell .duo-rings-card,.app-shell .duo-score,.app-shell .energy-card,.app-shell .training-preview,.app-shell .suggestion{background:var(--neo-bg);border:none;box-shadow:var(--neo-out);color:var(--ink)}.app-shell .duo-greeting{background:var(--neo-bg)}.app-shell .duo-score strong,.app-shell .energy-card .ring-text strong,.app-shell .energy-copy>strong{background:var(--duo-button, var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.app-shell .duo-score p,.app-shell .duo-score .eyebrow,.app-shell .energy-card h2,.app-shell .energy-copy p,.app-shell .energy-copy .eyebrow,.app-shell .ring-text>span,.app-shell .energy-note,.app-shell .macro>span,.app-shell .macro strong small{color:var(--muted)}.app-shell .energy-card .macro strong,.app-shell .energy-card h2{color:var(--ink)}.app-shell .energy-card .ring-text svg{color:var(--primary)}.app-shell .energy-card .ring-track{stroke:var(--soft)}.app-shell .energy-card .pill,.app-shell .duo-chip{background:var(--neo-bg);color:var(--primary);border:none;box-shadow:var(--neo-out-sm)}.app-shell .duo-week i{border:none;box-shadow:var(--neo-in)}.app-shell .duo-week li.done i{background:var(--duo-button, var(--primary));box-shadow:var(--neo-out-sm)}.app-shell .duo-week li{color:var(--muted)}.app-shell .progress-track{background:var(--neo-bg);box-shadow:var(--neo-in);height:10px;border-radius:99px}.app-shell .progress-track div{border-radius:99px;background:var(--duo-button, var(--primary))!important}.app-shell .duo-ring-track{stroke:var(--soft)}.app-shell .button.secondary,.app-shell .water-actions button,.app-shell .day-complete{background:var(--neo-bg);border:none;box-shadow:var(--neo-out-sm);color:var(--ink)}.app-shell .button.secondary:active,.app-shell .water-actions button:active,.app-shell .day-complete:active{box-shadow:var(--neo-in);transform:none}.app-shell .day-complete.checked{box-shadow:var(--neo-in);background:var(--neo-bg);color:var(--primary)}.app-shell input,.app-shell select,.app-shell textarea{background:var(--neo-bg);border-color:transparent;box-shadow:var(--neo-in)}.app-shell .meal-row,.app-shell .suggestion-icon,.app-shell .meal-emoji{background:var(--neo-bg)}.app-shell .meal-emoji,.app-shell .suggestion-icon{box-shadow:var(--neo-in);border-radius:16px}.app-shell .suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;border:0;background:transparent}.app-shell .suggestion.card{padding:20px;margin:0;min-width:0;align-items:center;border-radius:24px}.app-shell .suggestion>div,.app-shell .coach-note>div{min-width:0}.app-shell .suggestion p{line-height:1.6;overflow-wrap:anywhere}.app-shell .coach-note{padding:22px;align-items:flex-start}.app-shell .coach-note .eyebrow{display:block;line-height:1.5}@media(max-width:900px){.app-shell .suggestions{grid-template-columns:minmax(0,1fr)}}.app-shell .mobile-add{box-shadow:var(--neo-out-sm),0 10px 24px -8px var(--duo-shadow, #213c6450)}.app-shell .topbar .profile-avatar{box-shadow:var(--neo-out-sm)}.app-shell .duo-switch{--sw-track: var(--neo-bg);--sw-track-shadow: var(--neo-in);--sw-knob: var(--neo-bg);--sw-knob-shadow: var(--neo-out-sm);margin-top:0}@media(max-width:650px){.app-shell .topbar{height:auto;min-height:108px;padding:12px 18px}.app-shell .notch-nav-bar{fill:var(--neo-bg)}.app-shell .notch-nav-shape{filter:drop-shadow(6px 8px 12px var(--neo-lo)) drop-shadow(-4px -4px 8px var(--neo-hi))}.app-shell .notch-nav-circle{border-radius:50%;box-shadow:var(--neo-out-sm)}}html,body,.app-shell{overflow-x:clip}.app-shell .bottom-nav.notch-nav{max-width:100vw}.notch-nav-shape{max-width:100%}.choice-field{margin:12px 0 18px;min-width:0}.choice-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}.choice-trigger,.choice-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;text-align:left;line-height:1.5;background:var(--surface);color:var(--ink);border:1px solid color-mix(in srgb,var(--muted) 20%,transparent);border-radius:16px}.choice-trigger{box-shadow:var(--neo-in)}.choice-trigger>span,.choice-option>span:first-child{min-width:0;overflow-wrap:anywhere}.choice-trigger>svg{flex-shrink:0}.choice-options{display:grid;gap:10px}.choice-option[aria-pressed=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.choice-check{display:grid;place-items:center;flex:0 0 24px;height:24px;border:1px solid var(--muted);border-radius:50%}.choice-option[aria-pressed=true] .choice-check{background:var(--primary);border-color:var(--primary);color:var(--bg)}dialog.modal.choice-sheet{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:min(80dvh,680px);border:1px solid color-mix(in srgb,var(--muted) 20%,transparent);border-radius:22px;overflow:hidden;background:var(--surface);color:var(--ink);box-shadow:0 20px 70px #00000035}dialog.modal.choice-sheet[open]{display:flex;flex-direction:column;animation:none}.choice-sheet .modal-head{position:static;flex-shrink:0;padding:18px 20px;align-items:flex-start;gap:12px}.choice-sheet .modal-head h2{font-size:19px;line-height:1.4;overflow-wrap:anywhere}.choice-sheet .modal-head .icon-button{flex-shrink:0}.choice-sheet .modal-content{padding:16px 20px 22px;min-height:0;overflow-y:auto;overscroll-behavior:contain}@media(prefers-reduced-motion:no-preference){dialog.modal.choice-sheet[open]{animation:choice-appear .14s ease-out both}}@keyframes choice-appear{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.appearance-frame{--bg: var(--g-bg);--surface: var(--g-card);--ink: var(--g-ink);--muted: var(--g-muted);--border: var(--g-border);--primary: #2563d9;--g-bg: #f3f6fc;--g-ink: #121a33;--g-muted: #5f6b86;--g-card: #ffffff;--g-border: rgba(18, 26, 51, .08);--g-luca: linear-gradient(135deg, #2a6ff0, #5ccaff);--g-ari: linear-gradient(135deg, #d93b84, #f78bb9);--g-shadow: 0 18px 40px -24px rgba(20, 40, 90, .35)}.appearance-frame .welcome.theme-ari{--primary: #c42f74}.appearance-frame.dark{--g-bg: #070b1f;--g-ink: #eef2ff;--g-muted: #9aa6c6;--g-card: #10162f;--g-border: rgba(255, 255, 255, .08);--g-shadow: 0 18px 40px -24px rgba(0, 0, 0, .8)}.appearance-frame .welcome{position:relative;overflow:hidden;color:var(--g-ink);font-family:Manrope,DM Sans,system-ui,sans-serif;background:radial-gradient(70% 45% at 0% 0%,rgba(74,168,255,.22),transparent 70%),radial-gradient(70% 45% at 100% 8%,rgba(244,124,174,.2),transparent 70%),var(--g-bg)}.appearance-frame .welcome .brand{font:800 26px Manrope,sans-serif;letter-spacing:-.04em;position:relative;z-index:1}.appearance-frame .welcome .brand small{display:none}.appearance-frame .welcome-content{position:relative;z-index:1;padding-top:28px}.gate-duo{display:flex;align-items:flex-end;gap:2px;margin-bottom:18px}.gate-duo .duo-buddy.tone-luca{--duo-1: #2f7bff;--duo-3: #8fd3ff}.gate-duo .duo-buddy.tone-ari{--duo-1: #e8478f;--duo-3: #ffb3d1;margin-left:-10px;animation-delay:-1.4s}.appearance-frame .welcome .eyebrow{color:#3d7dfa;font-weight:800;letter-spacing:.14em}.appearance-frame .welcome h1{font:800 38px/1.08 Manrope,sans-serif;letter-spacing:-.035em;margin:10px 0 12px;color:var(--g-ink)}.appearance-frame .welcome p{color:var(--g-muted);font-size:16px;line-height:1.55}.appearance-frame .profile-grid{gap:14px;margin:28px 0 22px}.appearance-frame .profile-card{position:relative;gap:16px;padding:18px;border-radius:26px;border:1px solid var(--g-border);background:var(--g-card);color:var(--g-ink);box-shadow:var(--g-shadow);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.appearance-frame .profile-card:hover{border-color:var(--g-border);transform:translateY(-2px)}.appearance-frame .profile-card:active{transform:scale(.97)}.appearance-frame .profile-card .avatar{width:60px;height:60px;flex-shrink:0;display:grid;place-items:center;border-radius:20px;color:#fff;font:800 24px Manrope,sans-serif;overflow:hidden}.appearance-frame .profile-card.luca .avatar{background:var(--g-luca);box-shadow:0 10px 22px -10px #2f7bffcc}.appearance-frame .profile-card.ari .avatar{background:var(--g-ari);box-shadow:0 10px 22px -10px #e8478fcc}.appearance-frame .profile-card strong{font:800 21px Manrope,sans-serif;letter-spacing:-.02em}.appearance-frame .profile-card.luca strong{color:#2563d9}.appearance-frame .profile-card.ari strong{color:#c42f74}.appearance-frame.dark .profile-card.luca strong{color:#8fc2ff}.appearance-frame.dark .profile-card.ari strong{color:#f7a3c8}.appearance-frame .profile-card small{color:var(--g-muted);font-size:14px;line-height:1.45}.appearance-frame .profile-card>svg{flex-shrink:0;width:40px;height:40px;padding:10px;border-radius:50%;background:var(--g-bg);color:var(--g-ink)}.appearance-frame .welcome .privacy{display:flex;align-items:center;gap:8px;color:var(--g-muted);font-size:13px}.appearance-frame .welcome-content>.button.secondary{width:100%;min-height:52px;margin-top:14px;border-radius:999px;border:1px solid var(--g-border);background:var(--g-card);color:var(--g-ink);font-weight:800}.appearance-frame .welcome footer{color:var(--g-muted);border-color:var(--g-border)}.appearance-frame .gate-panel{position:relative;z-index:1;margin-top:22px}.appearance-frame .gate-panel>.text-button{color:var(--g-muted);font-weight:700}.appearance-frame .gate-panel>form{border-radius:30px;border:1px solid var(--g-border);background:var(--g-card);box-shadow:var(--g-shadow);padding:28px 22px 24px}.appearance-frame .gate-panel>form:has(input[type=password]){text-align:center}.appearance-frame .gate-panel>form .avatar{width:84px;height:84px;margin:0 auto 6px;display:grid;place-items:center;border-radius:50%;color:#fff;font:800 34px Manrope,sans-serif;background:var(--g-luca);box-shadow:0 0 0 6px var(--g-card),0 0 0 8px #2f7bff40,0 16px 30px -12px #2f7bffb3;overflow:hidden}.appearance-frame .welcome.theme-ari .gate-panel>form .avatar{background:var(--g-ari);box-shadow:0 0 0 6px var(--g-card),0 0 0 8px #e8478f40,0 16px 30px -12px #e8478fb3}.appearance-frame .gate-panel h1{font:800 28px/1.15 Manrope,sans-serif;letter-spacing:-.03em;margin:18px 0 6px}.appearance-frame .gate-panel>form>p{margin:0 auto;max-width:300px}.appearance-frame .gate-panel .field{margin-top:22px;text-align:left}.appearance-frame .gate-panel .field>span{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--g-muted)}.appearance-frame .gate-panel .field:has(input[type=password])>span{text-align:center}.appearance-frame .gate-panel .field input,.appearance-frame .gate-panel .field select{min-height:52px;border-radius:16px;border:1.5px solid var(--g-border);background:var(--g-bg);color:var(--g-ink);font:700 16px Manrope,sans-serif}.appearance-frame .gate-panel .field input[type=password]{height:64px;border-radius:20px;border:1.5px solid var(--g-border);background:var(--g-bg);color:var(--g-ink);text-align:center;font:800 30px Manrope,sans-serif;letter-spacing:.6em;padding-left:.6em;transition:border-color .2s ease,box-shadow .2s ease}.appearance-frame .gate-panel .field input:focus,.appearance-frame .gate-panel .field select:focus{outline:none;border-color:#3d7dfa;box-shadow:0 0 0 4px #3d7dfa26}.appearance-frame .welcome.theme-ari .gate-panel .field input:focus{border-color:#e8478f;box-shadow:0 0 0 4px #e8478f26}.appearance-frame .gate-panel>form>.muted{margin-top:14px;display:flex;justify-content:center;gap:6px;font-size:12px;line-height:1.5;color:var(--g-muted)}.appearance-frame .gate-panel>form .button{min-height:56px;border-radius:999px;border:none;background:linear-gradient(100deg,#2a6ff0,#3f9bff 55%,#5ccaff);color:#fff;font-weight:800;font-size:16px;box-shadow:0 14px 28px -14px #2f7bffe6;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.appearance-frame .welcome.theme-ari .gate-panel>form .button{background:linear-gradient(100deg,#d93b84,#ee5f9f 55%,#f78bb9);box-shadow:0 14px 28px -14px #e8478fe6}.appearance-frame .gate-panel>form .button:active{transform:scale(.96)}@media(prefers-reduced-motion:no-preference){.appearance-frame .welcome-content>*,.appearance-frame .gate-panel>form{animation:duo-rise .6s cubic-bezier(.22,1,.36,1) both}.appearance-frame .welcome-content>*:nth-child(2){animation-delay:.05s}.appearance-frame .welcome-content>*:nth-child(3){animation-delay:.1s}.appearance-frame .welcome-content>*:nth-child(4){animation-delay:.15s}.appearance-frame .welcome-content>*:nth-child(n+5){animation-delay:.2s}}@media(max-width:650px){.appearance-frame .welcome{padding:28px 20px}.appearance-frame .welcome h1{font-size:34px}.appearance-frame .profile-grid{grid-template-columns:minmax(0,1fr)}}.my-runs{display:grid;gap:16px;margin:8px 0 22px}.my-runs-head{display:flex;align-items:center;justify-content:space-between}.my-runs-head h2{margin:0;font-size:22px;letter-spacing:-.02em}.run-label{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--duo-1, var(--primary))}.run-muted{color:var(--muted);font-size:13px;font-weight:600;line-height:1.5}.run-muted.small{font-size:12px}.run-gradient{background:linear-gradient(100deg,var(--duo-1),var(--duo-3));-webkit-background-clip:text;background-clip:text;color:transparent}.my-runs-week{display:flex;align-items:center;gap:18px;padding:16px 18px;border-radius:28px;background:var(--neo-bg);box-shadow:var(--neo-out)}button.my-runs-week{position:relative;width:100%;border:0;color:inherit;text-align:left;font-family:Manrope,sans-serif;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}button.my-runs-week:active{transform:scale(.98)}.my-runs-goal{display:grid;justify-items:center;gap:12px;padding:16px;border-radius:24px;box-shadow:var(--neo-in);animation:run-in .35s cubic-bezier(.22,1,.36,1) both}.my-runs-goal-row{display:flex;align-items:center;gap:22px}.my-runs-goal-row strong{min-width:110px;text-align:center;font-size:34px;font-weight:800;letter-spacing:-.03em}.run-heart-link{display:grid;justify-items:center;gap:6px;text-align:center;max-width:300px}.run-voice:disabled{opacity:.7}.my-runs-import{justify-self:center;min-height:44px;padding:0 18px;border:0;border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--duo-1);font:800 13px Manrope,sans-serif;cursor:pointer}.my-runs-steps{margin:0 0 10px;padding-left:20px;display:grid;gap:8px;line-height:1.5}.run-heart strong{display:inline-flex;align-items:center;gap:6px;color:#e5486f}.run-share{align-items:center;gap:14px;padding:calc(14px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));box-sizing:border-box}.run-share .run-top{width:100%;max-width:480px}.run-share-preview{height:min(56vh,560px);aspect-ratio:9 / 16;border-radius:24px;overflow:hidden;display:grid;place-items:center;box-shadow:var(--neo-out);background:var(--neo-bg)}.run-share-preview.sticker{background:repeating-conic-gradient(color-mix(in srgb,var(--neo-lo) 40%,transparent) 0 25%,transparent 0 50%) 0 0 / 22px 22px,#556}.run-share-preview img{width:100%;height:100%;object-fit:contain}.run-share-actions{width:100%;max-width:480px;display:grid;gap:4px;margin-top:auto}.run-share-actions .run-text{display:inline-flex;align-items:center;justify-content:center;gap:6px}.run-metrics:not(.three)>div:nth-child(n+3){grid-column:span 1}.my-runs-week svg{width:96px;height:96px;flex-shrink:0;transform:rotate(-90deg)}.my-runs-week circle{fill:none;stroke-width:12}.my-runs-week .track{stroke:color-mix(in srgb,var(--neo-lo) 45%,transparent)}.my-runs-week .fill{stroke:var(--duo-1);stroke-linecap:round;stroke-dasharray:301.6;transition:stroke-dashoffset 1.2s cubic-bezier(.22,1,.36,1)}.my-runs-week>div{display:grid;gap:2px}.my-runs-week strong{font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1.05}.my-runs-resume{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:22px;background:var(--neo-bg);box-shadow:var(--neo-in);font-size:13px;font-weight:700}.my-runs-resume>div{display:flex;gap:4px}.my-runs-start{display:grid;justify-items:center;gap:16px}.run-segmented{display:flex;gap:4px;padding:5px;border-radius:999px;box-shadow:var(--neo-in)}.run-segmented button{min-width:84px;height:40px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:800 13px Manrope,sans-serif;cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease}.run-segmented button[aria-pressed=true]{background:var(--neo-bg);color:var(--duo-1);box-shadow:var(--neo-out-sm)}.run-start-wrap{position:relative;width:168px;height:168px;display:grid;place-items:center}.run-pulse{position:absolute;inset:16px;border-radius:50%;background:var(--duo-2);opacity:0}.run-start{position:relative;width:140px;height:140px;border:0;border-radius:50%;display:grid;place-items:center;align-content:center;gap:6px;background:var(--duo-button);color:#fff;font:800 14px Manrope,sans-serif;cursor:pointer;box-shadow:0 18px 34px -14px var(--duo-shadow),var(--neo-out);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.run-start:active,.run-round:active,.run-primary:active{transform:scale(.94)}.run-voice{height:40px;padding:0 16px;border:0;border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:var(--neo-bg);box-shadow:var(--neo-out-sm);color:var(--muted);font:800 13px Manrope,sans-serif;cursor:pointer}.run-voice.on{color:var(--duo-1)}.my-runs-list{display:grid;gap:10px}.my-runs-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:22px;background:var(--neo-bg);box-shadow:var(--neo-out-sm);color:inherit;text-align:left;font-family:Manrope,sans-serif;cursor:pointer}.my-runs-item span{display:grid;gap:2px}.my-runs-item small{color:var(--muted);font-size:12px;font-weight:700}.my-runs-item strong{font-size:16px;font-weight:800}.run-thumb{width:52px;height:44px;flex-shrink:0;border-radius:14px;box-shadow:var(--neo-in)}.run-thumb polyline{fill:none;stroke:var(--duo-1);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.run-thumb.empty{display:grid;place-items:center;color:var(--duo-1)}.run-screen{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--neo-bg);color:var(--ink, inherit);font-family:Manrope,sans-serif;overflow-y:auto;overscroll-behavior:contain;animation:run-in .35s cubic-bezier(.22,1,.36,1) both}.run-screen h2{margin:0;font-size:25px;font-weight:800;letter-spacing:-.03em}.run-grow{flex-grow:1}.run-primary{min-height:56px;width:100%;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--duo-button);color:#fff;font:800 16px Manrope,sans-serif;cursor:pointer;box-shadow:0 16px 30px -14px var(--duo-shadow);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.run-primary.small{min-height:40px;width:auto;padding:0 18px;font-size:13px}.run-text{min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:800 14px Manrope,sans-serif;cursor:pointer}.run-text.small{min-height:40px;font-size:13px}.run-perm{min-height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:16px;padding:calc(48px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));text-align:center;max-width:480px;margin:0 auto;width:100%}.run-orb{position:relative;width:150px;height:150px;display:grid;place-items:center}.run-orb-core{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:var(--neo-bg);box-shadow:var(--neo-out);color:var(--duo-1)}.run-options{width:100%;display:grid;gap:10px;text-align:left}.run-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:22px;background:var(--neo-bg);box-shadow:var(--neo-out-sm)}.run-option>svg{flex-shrink:0;color:var(--duo-1)}.run-option>div{display:grid;gap:1px;flex-grow:1}.run-option strong{font-size:14px}.run-option span{color:var(--muted);font-size:12px;font-weight:600}.run-toggle{position:relative;width:50px;height:30px;flex-shrink:0;border:0;border-radius:999px;background:var(--neo-bg);box-shadow:var(--neo-in);cursor:pointer;transition:background .3s ease}.run-toggle i{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:var(--neo-bg);box-shadow:var(--neo-out-sm);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.run-toggle[aria-checked=true]{background:var(--duo-2)}.run-toggle[aria-checked=true] i{background:#fff;transform:translate(20px)}.run-count{flex-grow:1;display:grid;place-items:center;align-content:center;gap:22px;background:var(--duo-button);color:#fff}.run-count-number{font-size:140px;font-weight:800;line-height:1;letter-spacing:-.05em;animation:run-count .8s cubic-bezier(.34,1.56,.64,1) both}.run-count-gps{font-weight:700;opacity:.9}.run-ghost{margin-top:24px;height:44px;padding:0 22px;border:2px solid rgba(255,255,255,.6);border-radius:999px;background:transparent;color:#fff;font:800 14px Manrope,sans-serif;cursor:pointer}.run-live{flex-grow:1;display:flex;flex-direction:column;min-height:100%}.run-live-map{position:relative;height:min(50vh,430px);flex-shrink:0;border-radius:0 0 36px 36px;overflow:hidden;box-shadow:var(--neo-out-sm)}.run-chips{position:absolute;left:14px;right:14px;top:calc(14px + env(safe-area-inset-top));display:flex;justify-content:space-between;pointer-events:none}.run-chip{height:34px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;background:color-mix(in srgb,var(--neo-bg) 86%,transparent);font-size:12px;font-weight:800}.run-chip i{width:8px;height:8px;border-radius:50%;background:#f2b33d}.run-chip.good i{background:#3ccf8e}.run-chip.paused{color:var(--duo-1)}.run-cue{position:absolute;left:50%;bottom:18px;transform:translate(-50%);height:46px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;background:var(--ink, #121735);color:var(--neo-bg);font-size:14px;font-weight:800;animation:run-cue .45s cubic-bezier(.34,1.56,.64,1) both}.run-live-panel{flex-grow:1;display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 20px calc(26px + env(safe-area-inset-bottom))}.run-big{display:grid;justify-items:center}.run-big strong{font-size:76px;font-weight:800;letter-spacing:-.05em;line-height:1}.run-big span,.run-metrics span,.run-stats span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em}.run-metrics{width:100%;max-width:420px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.run-metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.run-metrics>div,.run-stats>div{display:grid;justify-items:center;gap:2px;padding:12px 6px;border-radius:22px;box-shadow:var(--neo-in)}.run-metrics strong{font-size:24px;font-weight:800;letter-spacing:-.02em}.run-controls{display:flex;justify-content:center;gap:22px}.run-round{width:92px;height:92px;border:0;border-radius:50%;display:grid;place-items:center;align-content:center;gap:4px;background:var(--neo-bg);box-shadow:var(--neo-out);color:inherit;font:800 12px Manrope,sans-serif;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.run-round.big{color:var(--duo-1)}.run-round.accent{background:var(--duo-button);color:#fff;box-shadow:0 16px 30px -14px var(--duo-shadow)}.run-round.small{width:44px;height:44px;box-shadow:var(--neo-out-sm)}.run-short{display:grid;justify-items:center;gap:12px;text-align:center;font-weight:700}.run-short p{margin:0}.run-summary{display:flex;flex-direction:column;gap:14px;padding:calc(18px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));max-width:520px;width:100%;margin:0 auto;box-sizing:border-box;min-height:100%}.run-top{display:flex;align-items:center;justify-content:space-between}.run-top-spacer{width:44px}.run-summary-head{position:relative}.route-map.run-summary-map{height:240px;flex-shrink:0;border-radius:28px;box-shadow:var(--neo-in)}.run-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.run-stats>div{box-shadow:var(--neo-out-sm)}.run-stats strong{font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--duo-1)}.run-extras{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;color:var(--muted);font-size:13px;font-weight:600}.run-extras b{color:var(--ink, inherit);font-weight:800}.run-splits{display:grid;gap:8px;padding:14px 16px;border-radius:24px;box-shadow:var(--neo-in)}.run-split{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;font-size:12px;font-weight:800}.run-split>span:first-child{color:var(--muted)}.run-split>span:last-child{text-align:right}.run-split-track{height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--neo-lo) 40%,transparent)}.run-split-track i{display:block;height:100%;border-radius:999px;background:color-mix(in srgb,var(--duo-2) 55%,transparent);transform-origin:left center;animation:run-bar .9s cubic-bezier(.22,1,.36,1) both}.run-split-track i.fast{background:var(--duo-button)}.run-summary-actions{display:grid;gap:6px;margin-top:auto}.route-map{position:relative;width:100%;height:100%;overflow:hidden;background:color-mix(in srgb,var(--neo-lo) 30%,var(--neo-bg))}.route-map-tile{position:absolute;width:256px;height:256px;-webkit-user-select:none;user-select:none;pointer-events:none}.route-map-tile{filter:saturate(.45) brightness(1.04) contrast(.92)}.route-map.dark .route-map-tile{filter:invert(1) hue-rotate(180deg) saturate(.35) brightness(.82) contrast(.9)}.route-map-tint{position:absolute;inset:0;background:var(--duo-1);opacity:.1;mix-blend-mode:color;pointer-events:none}.route-map-route{position:absolute;inset:0}.route-map-start{fill:var(--neo-bg);stroke:var(--duo-1);stroke-width:3}.route-map-here{fill:var(--duo-1);stroke:#fff;stroke-width:3}.route-map-halo{fill:var(--duo-1);transform-box:fill-box;transform-origin:center}.route-map-credit{position:absolute;right:8px;bottom:6px;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,var(--neo-bg) 75%,transparent);color:var(--muted);font-size:9px;font-weight:700}@media(prefers-reduced-motion:no-preference){.run-pulse{animation:run-pulse 2.4s ease-out infinite}.route-map-halo{animation:run-halo 1.6s ease-out infinite}.run-runner{animation:bd-bounce .35s ease-in-out infinite alternate}}@media(prefers-reduced-motion:reduce){.run-screen,.run-count-number,.run-cue,.run-split-track i{animation:none}}@keyframes run-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes run-pulse{0%{transform:scale(1);opacity:.45}to{transform:scale(1.45);opacity:0}}@keyframes run-halo{0%{transform:scale(.8);opacity:.6}to{transform:scale(2.6);opacity:0}}@keyframes run-count{0%{transform:scale(.3);opacity:0}40%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes run-cue{0%{transform:translate(-50%,14px) scale(.9);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes run-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.app-shell .run-start,.app-shell .run-primary,.app-shell .run-round.accent,.app-shell .run-ghost,.app-shell .run-count{color:#fff}.run-recovery{display:grid;gap:8px;padding:14px 16px;border-radius:24px;background:var(--neo-bg);box-shadow:var(--neo-out-sm)}.run-recovery p{margin:0;font-size:14px;line-height:1.5}.run-recovery-actions{display:flex;flex-wrap:wrap;gap:8px}.run-today{display:flex;align-items:center;gap:12px;width:100%;border:0;color:inherit;text-align:left;font-family:Manrope,sans-serif;cursor:pointer}.run-today>span:nth-child(2){display:grid;gap:2px;flex-grow:1}.run-today small{color:var(--muted);font-size:12px;font-weight:600}.run-today-icon{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--duo-button);color:#fff}.run-screen>*{flex-shrink:0}.scanner-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000;color:#fff;overflow:hidden}.scanner-dialog::backdrop{background:#000}.scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scanner-shade{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.scanner-frame{position:relative;width:min(78vw,340px);height:min(46vw,200px);border-radius:24px;box-shadow:0 0 0 100vmax #0000008c;outline:3px solid rgba(255,255,255,.92);overflow:hidden}.scanner-frame i{position:absolute;left:8%;right:8%;top:50%;height:2px;border-radius:2px;background:var(--duo-2, #4aa8ff);box-shadow:0 0 14px var(--duo-2, #4aa8ff)}@media(prefers-reduced-motion:no-preference){.scanner-frame i{animation:scanner-line 1.8s ease-in-out infinite alternate}}@keyframes scanner-line{0%{transform:translateY(-70px)}to{transform:translateY(70px)}}.scanner-top{position:absolute;top:calc(16px + env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between}.scanner-round{width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:#14182899;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scanner-round.on{background:#ffd36b;color:#1b1b1b}.scanner-bottom{position:absolute;left:16px;right:16px;bottom:calc(26px + env(safe-area-inset-bottom));display:grid;justify-items:center;gap:14px;text-align:center}.scanner-bottom p{margin:0;font:700 15px Manrope,sans-serif;text-shadow:0 1px 8px rgba(0,0,0,.6)}.scanner-type{min-height:46px;padding:0 20px;border:0;border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:#ffffffeb;color:#121735;font:800 14px Manrope,sans-serif;cursor:pointer}.scanner-manual{display:flex;gap:8px;width:min(100%,380px)}.scanner-manual input{flex:1;min-width:0;height:50px;padding:0 16px;border:0;border-radius:999px;font:700 18px Manrope,sans-serif;letter-spacing:.06em}.scanner-manual button{height:50px;padding:0 20px;border:0;border-radius:999px;background:var(--duo-button, #2f7bff);color:#fff;font:800 15px Manrope,sans-serif}.products-panel{display:grid;gap:14px}.products-scan{display:flex;align-items:center;gap:14px;width:100%;min-height:76px;padding:14px 18px;border:0;border-radius:24px;background:var(--duo-button, var(--primary));color:#fff;text-align:left;font-family:Manrope,sans-serif;cursor:pointer;box-shadow:0 14px 28px -14px var(--duo-shadow, rgba(47, 123, 255, .5));transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.app-shell .products-scan,.products-scan{color:#fff}.products-scan:active{transform:scale(.97)}.products-scan span{display:grid;gap:2px}.products-scan strong{font-size:17px}.products-scan small{opacity:.9;font-size:13px}.products-code{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.products-code .button{min-height:52px;margin-bottom:1px}.products-library{display:grid;gap:10px}.products-library-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.products-search{display:flex;align-items:center;gap:8px;padding:0 14px;min-height:44px;border-radius:999px;box-shadow:var(--neo-in, inset 0 0 0 1px var(--border));color:var(--muted)}.products-search input{flex:1;border:0;background:transparent;color:var(--ink, inherit);font:600 14px Manrope,sans-serif;outline:none}.products-list{display:grid;gap:8px;max-height:360px;overflow-y:auto;padding:4px}.products-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:20px;background:var(--neo-bg, var(--surface));box-shadow:var(--neo-out-sm, 0 1px 3px rgba(0, 0, 0, .1));color:inherit;text-align:left;font-family:Manrope,sans-serif;cursor:pointer}.products-item>span:last-child{display:grid;gap:2px;min-width:0}.products-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.products-item small{color:var(--muted)}.products-item img,.product-head img,.product-initial{width:46px;height:46px;flex-shrink:0;border-radius:14px;object-fit:contain;background:#fff}.product-initial{display:grid;place-items:center;background:var(--duo-button, var(--primary));color:#fff;font:800 20px Manrope,sans-serif}.product-head{display:flex;gap:14px;align-items:flex-start}.product-head img,.product-head .product-initial{width:84px;height:84px;border-radius:20px}.product-head>div{display:grid;gap:4px;min-width:0}.product-head strong{font-size:18px;line-height:1.25}.product-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.nutri-score,.product-chip{padding:4px 10px;border-radius:999px;font:800 11px Manrope,sans-serif}.product-chip{box-shadow:var(--neo-in, inset 0 0 0 1px var(--border));color:var(--muted)}.nutri-score{color:#fff}.ns-a{background:#1e8f4e}.ns-b{background:#63a83c}.ns-c{background:#c99a0a}.ns-d{background:#d9701a}.ns-e{background:#c63a2a}.product-amount{display:grid;gap:8px;margin-top:16px}.product-amount>span{font-weight:800}.product-amount-chips{display:flex;flex-wrap:wrap;gap:8px}.product-amount-chips button{min-height:40px;padding:0 14px;border:0;border-radius:999px;background:var(--neo-bg, var(--surface));box-shadow:var(--neo-out-sm, 0 1px 3px rgba(0, 0, 0, .1));color:var(--muted);font:800 13px Manrope,sans-serif;cursor:pointer}.product-amount-chips button[aria-pressed=true]{color:var(--duo-1, var(--primary));box-shadow:var(--neo-in, inset 0 0 0 2px var(--primary))}.product-table{width:100%;margin-top:16px;border-collapse:collapse;font-size:14px}.product-table th,.product-table td{padding:9px 4px;border-bottom:1px solid color-mix(in srgb,var(--neo-lo, #c3d0e3) 45%,transparent);text-align:right}.product-table th[scope=row],.product-table thead th:first-child{text-align:left}.product-table thead th{color:var(--muted);font-size:12px;font-weight:800}.product-table tbody th{font-weight:700}.product-table td:last-child{font-weight:800;color:var(--duo-1, var(--primary))}.product-table tr.sub th{padding-left:16px;color:var(--muted);font-weight:600}.product-allergens{margin:14px 0 0}.product-ingredients{margin-top:12px}.product-ingredients summary{font-weight:800;cursor:pointer}.product-ingredients p{font-size:13px;line-height:1.55}.product-source{display:flex;align-items:flex-start;gap:6px;margin-top:14px}.product-source svg{flex-shrink:0;margin-top:2px}.product-edit{display:grid;gap:12px}.product-category{font-size:13px;font-weight:700;color:var(--duo-1, var(--primary))}.product-photo{min-height:64px}.product-photo:disabled{opacity:.75}dialog.modal.product-sheet,.app-shell dialog.modal.product-sheet{background:var(--neo-bg, var(--surface));backdrop-filter:none;-webkit-backdrop-filter:none}
