@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}}:root{--ink:#183d34;--forest:#1f5144;--leaf:#76964f;--lime:#a9bc62;--cream:#f5f0e5;--paper:#fbfaf6;--coral:#df604b;--gold:#ddb444;--line:#e3dccd;--muted:#7b827c}*{box-sizing:border-box}html{background:#e9e3d7}body{color:var(--ink);background:#e9e3d7;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif}button{font:inherit}.app-shell{background:var(--paper);width:100%;max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:102px;box-shadow:0 0 60px #213a2d18}.topbar{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfaf6e8;border-bottom:1px solid #ece6da;align-items:center;gap:11px;height:76px;padding:0 22px;display:flex;position:sticky;top:0}.brand-mark{border:1.5px solid var(--forest);border-radius:50%;place-items:center;width:35px;height:35px;display:grid;position:relative}.brand-mark:before,.brand-mark:after{content:"";background:var(--leaf);border-radius:10px 2px;width:9px;height:14px;position:absolute;top:7px}.brand-mark:before{left:8px;transform:rotate(-42deg)}.brand-mark:after{right:8px;transform:rotate(42deg)scaleX(-1)}.brand-mark span{background:var(--forest);width:1.5px;height:11px;margin-top:12px}.eyebrow,.section-label{letter-spacing:.18em;color:#849083;margin:0;font-size:9px;font-weight:750}.topbar h1{letter-spacing:.12em;margin:2px 0 0;font-family:serif;font-size:18px;font-weight:650}.profile{color:#765c45;background:#e8dbc5;border:0;border-radius:50%;place-items:center;width:36px;height:36px;margin-left:auto;font-weight:700;text-decoration:none;display:grid}.page-content{padding:0 19px 30px}.greeting{justify-content:space-between;align-items:flex-end;padding:25px 4px 18px;display:flex}.greeting p{color:#83877e;margin:0 0 5px;font-size:12px}.greeting h2,.subpage h2{letter-spacing:.04em;margin:0;font-family:serif;font-size:24px;font-weight:560}.weather{text-align:right;grid-template-columns:auto auto;align-items:center;gap:0 5px;display:grid}.weather span{color:var(--gold);font-size:18px}.weather strong{font-size:18px}.weather small{color:var(--leaf);grid-column:1/3;font-size:10px}.progress-card{background:var(--forest);color:#fff;border-radius:4px 24px;grid-template-columns:1fr auto;padding:21px;display:grid;box-shadow:0 10px 30px #1d4d4030}.weekly-progress-button{text-align:left;cursor:pointer;border:0;width:100%}.weekly-progress-button:active{transform:scale(.995)}.progress-tap-hint{color:#dce8e1;grid-column:1/3;justify-self:end;margin-top:12px;font-size:9px;font-weight:700}.section-label.light,.progress-card .section-label{color:#a9c6b8}.progress-message{margin:7px 0 0;font-size:13px}.progress-message strong{font-size:16px}.progress-number{align-items:baseline;gap:2px;display:flex}.progress-number strong{font-family:serif;font-size:38px}.progress-number span{color:#bed0c7;font-size:15px}.bar{background:#fff2;border-radius:20px;grid-column:1/3;height:9px;margin-top:17px;overflow:hidden}.bar span{background:linear-gradient(90deg,#a8bf63,#e1bd4c);border-radius:20px;height:100%;transition:width .5s;display:block}.progress-note{color:#c6d7cf;grid-column:1/3;margin:9px 0 0;font-size:10px}.camera-hero{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#edf0dd;border:0;border-radius:14px;align-items:center;gap:12px;margin:14px 0 31px;padding:16px 17px;display:flex}.camera-icon{background:var(--lime);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.camera-hero strong,.camera-hero small{display:block}.camera-hero strong{font-size:14px}.camera-hero small{color:#788074;margin-top:3px;font-size:10px}.camera-hero .arrow{color:#829167;margin-left:auto;font-size:24px}.section-block{padding:0 4px 28px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.section-heading h3,.season-card h3,.dish-card h3{margin:4px 0 0;font-family:serif;font-size:19px;font-weight:600}.section-heading>span{color:#71806f;font-size:12px}.vegetable-grid{grid-template-columns:repeat(6,1fr);gap:14px 5px;display:grid}.veg-item{text-align:center;min-width:0}.veg-shape{border-radius:50% 45% 48% 40%;place-items:center;width:42px;height:42px;margin:auto;font-size:22px;font-weight:800;display:grid}.veg-item small{white-space:nowrap;margin-top:6px;font-size:9px;display:block}.season-card{color:#fff;background:#294e3f;margin:0 -19px;padding:26px 23px 25px}.season-top{justify-content:space-between;align-items:start;display:flex}.season-badge{color:#f1d66d;border:1px solid #d5b956;border-radius:50%;place-items:center;width:36px;height:36px;font-size:10px;display:grid}.season-intro{color:#bdcdc4;max-width:330px;margin:12px 0 18px;font-size:11px;line-height:1.7}.suggestions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.suggestions button{color:#fff;text-align:left;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff19;border-radius:8px;align-items:center;gap:10px;min-height:66px;padding:10px;display:flex}.suggestions button>span{background:#f7f2e9;border-radius:50%;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.suggestions button div{min-width:0}.suggestions strong,.suggestions small{display:block}.suggestions strong{font-size:12px}.suggestions small{color:#aebeb5;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:8px;overflow:hidden}.suggestions b{color:#98ad9e;margin-left:auto;font-weight:400}.dish-card{background:#eee4cf;border-radius:22px 4px;grid-template-columns:46% 54%;min-height:220px;margin-top:18px;display:grid;overflow:hidden}.dish-visual{background:radial-gradient(circle at 50% 55%,#f8f2e7 0 31%,#b9c47c 32% 33%,#e4d7bd 34% 100%);flex-wrap:wrap;place-content:center;padding:24px;display:flex;transform:rotate(-2deg)}.dish-visual span{filter:drop-shadow(0 4px 3px #60402022);margin:-2px;font-size:35px}.dish-copy{padding:26px 17px 20px 7px}.dish-copy .section-label{color:#9a7752}.dish-copy h3{font-size:18px;line-height:1.55}.dish-copy p:not(.section-label){color:#85765e;font-size:9px}.dish-copy button{color:#5d523f;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #8b775b;padding:8px 0;font-size:10px;font-weight:700}.dish-copy .dish-change{color:#85765e;border-bottom:0;margin-top:4px;font-size:8px;display:block}.recipe-sheet{padding-bottom:max(34px,env(safe-area-inset-bottom))}.recipe-sheet h2{max-width:360px;margin-bottom:8px;padding-right:30px;line-height:1.45}.recipe-note{color:#737d76;margin:0;font-size:10px;line-height:1.7}.recipe-meta{gap:8px;margin:15px 0 22px;display:flex}.recipe-meta span{color:#5d7156;background:#e8edda;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:700}.recipe-sheet h3{margin:20px 0 9px;font-family:serif;font-size:15px}.recipe-ingredients,.recipe-pantry{margin:0;padding:0;list-style:none}.recipe-ingredients li{border-top:1px solid #e8e2d7;justify-content:space-between;gap:15px;padding:9px 2px;font-size:10px;display:flex}.recipe-ingredients li span{color:#52635b}.recipe-ingredients li strong{color:#7a7e76;text-align:right;font-weight:600}.recipe-pantry li{color:#666f69;background:#f0eee7;border-radius:10px;padding:11px 13px;font-size:9px;line-height:1.65}.recipe-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.recipe-steps li{grid-template-columns:27px 1fr;align-items:start;gap:10px;display:grid}.recipe-steps li>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:27px;height:27px;font-family:serif;font-size:11px;display:grid}.recipe-steps p{color:#5d6862;margin:3px 0 0;font-size:10px;line-height:1.7}.meals-section{padding:30px 4px 0}.meal-row{border-top:1px solid var(--line);grid-template-columns:50px 1fr 30px;align-items:center;gap:10px;padding:14px 0;display:grid}.meal-time{color:#8c8e85;font-size:10px}.meal-row strong{font-size:12px}.meal-row p{color:#85887e;margin:4px 0 0;font-size:9px;line-height:1.5}.meal-count{color:#657c49;background:#e6ecd6;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:grid}.bottom-nav{z-index:20;width:100%;max-width:480px;height:78px;padding:9px 13px max(10px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf9ed;border-top:1px solid #e7e0d4;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button,.bottom-nav a{color:#9b9d95;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:8px;text-decoration:none;display:flex}.bottom-nav button>span,.bottom-nav a>span{font-size:20px;line-height:22px}.bottom-nav button.active,.bottom-nav a.active{color:var(--forest);font-weight:700}.floating-camera{z-index:30;left:calc(50% + min(196px,50vw - 44px));bottom:calc(91px + env(safe-area-inset-bottom));background:var(--forest);color:#fff;cursor:pointer;border:3px solid #fbfaf6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:58px;height:58px;padding:0;display:flex;position:fixed;box-shadow:0 9px 25px #183d3450}.floating-camera span{font-size:25px;font-weight:300;line-height:20px}.floating-camera small{letter-spacing:.08em;margin-top:4px;font-size:7px}.floating-camera:active{transform:scale(.96)}.subpage{min-height:calc(100vh - 180px);padding:32px 23px}.subpage>h2{margin-top:6px}.week-summary{color:#fff;background:var(--forest);border-radius:4px 20px;margin:24px 0;padding:20px}.week-summary strong{font-family:serif;font-size:18px}.week-summary p{color:#bfd0c7;margin:6px 0 0;font-size:11px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.calendar-grid button{aspect-ratio:1;color:#777d75;background:#fff;border:1px solid #e6dfd3;border-radius:50%;font-size:10px}.calendar-grid button span,.calendar-grid button small{display:block}.calendar-grid button.logged{color:#526b42;background:#e8edda;border-color:#0000}.calendar-grid button.today{background:var(--forest);color:#fff;border:3px solid #cdd9b0}.calendar-grid small{margin-top:2px;font-size:7px}.idea-list{margin-top:23px}.idea-list article{border-top:1px solid var(--line);grid-template-columns:55px 1fr 30px;align-items:center;gap:12px;padding:17px 0;display:grid}.idea-icon{border-radius:50%;place-items:center;width:54px;height:54px;font-size:24px;display:grid}.idea-list small{color:#9b9d92;letter-spacing:.08em;font-size:8px}.idea-list h3{margin:3px 0;font-family:serif;font-size:17px}.idea-list p{color:#737a72;margin:0;font-size:10px}.idea-list button{color:#829278;background:0 0;border:0;font-size:24px}.overlay{z-index:50;background:#152e2870;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dismiss{background:0 0;border:0;width:100%;position:absolute;inset:0}.photo-sheet{background:var(--paper);width:100%;max-width:480px;max-height:91vh;padding:17px 22px max(28px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;position:relative;overflow:auto;box-shadow:0 -20px 60px #10201b30}.sheet-handle{background:#d4cec1;border-radius:5px;width:38px;height:4px;margin:0 auto 20px}.sheet-close{color:#6c746e;background:#ece7dc;border:0;border-radius:50%;width:31px;height:31px;font-size:20px;position:absolute;top:24px;right:20px}.photo-sheet h2{margin:5px 0 19px;font-family:serif;font-size:22px}.photo-drop{width:100%;min-height:184px;color:var(--ink);cursor:pointer;background:#eef1e3;border:1.5px dashed #9ca98b;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.photo-drop span{color:#fff;background:var(--leaf);border-radius:50%;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.photo-drop strong{font-size:14px}.photo-drop small{color:#858b80;font-size:9px}.preview-wrap{background:#e8e2d5;border-radius:18px;height:210px;position:relative;overflow:hidden}.preview-wrap img{object-fit:cover;width:100%;height:100%}.preview-wrap button{color:var(--ink);background:#fffffff0;border:0;border-radius:20px;padding:8px 12px;font-size:9px;position:absolute;bottom:10px;right:10px}.analyzing{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:130px;display:flex}.analyzing span{border:3px solid #dce3cb;border-top-color:var(--forest);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.analyzing strong{font-size:12px}.analyzing small{color:#9a9d95;font-size:9px}.detected{padding-top:19px}.detected-head{justify-content:space-between;display:flex}.detected-head strong{font-family:serif}.detected-head span{color:var(--leaf);font-size:11px}.detected>p{color:#92958e;margin:5px 0 12px;font-size:9px}.detected-chips{flex-wrap:wrap;gap:7px;display:flex}.detected-chips button{color:#80847c;background:#fff;border:1px solid #dcd7cb;border-radius:20px;padding:7px 10px;font-size:10px}.detected-chips button.selected{color:#536d3d;background:#e5ecd4;border-color:#aabc78;font-weight:700}.save-button{background:var(--forest);color:#fff;border:0;border-radius:14px;width:100%;margin-top:18px;padding:15px;font-size:12px;font-weight:700}.demo-note{color:#9b9c94;text-align:center;margin-top:8px;font-size:8px;display:block}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.weekly-vegetables-sheet h2{margin-bottom:14px}.weekly-sheet-summary{background:#e9eedc;border-radius:13px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:13px 15px;display:flex}.weekly-sheet-summary>span{color:#6f7b69;font-size:10px}.weekly-sheet-summary>strong{font-family:serif;font-size:25px}.weekly-sheet-summary small{color:#71806e;font-family:sans-serif;font-size:9px}.weekly-vegetable-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.weekly-vegetable-list>div{text-align:center;background:#fff;border:1px solid #e5dfd4;border-radius:13px;min-width:0;padding:11px 5px}.weekly-vegetable-list .veg-shape{width:34px;height:34px;font-size:17px}.weekly-vegetable-list strong{text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px;display:block;overflow:hidden}.weekly-count-note{color:#8b9089;text-align:center;margin:16px 0 0;font-size:8px}.detected-chips .add-candidate{width:34px;height:34px;color:var(--forest);border-style:dashed;border-color:#90a276;padding:0;font-size:20px;font-weight:400;line-height:1}.manual-add{grid-template-columns:1fr auto auto;gap:6px;margin-top:12px;display:grid}.manual-add input{min-width:0;color:var(--ink);background:#fff;border:1px solid #d5d2c7;border-radius:10px;outline:none;padding:10px 11px;font-size:11px}.manual-add input:focus{border-color:#8da269;box-shadow:0 0 0 3px #aabc7825}.manual-add button{background:var(--forest);color:#fff;border:0;border-radius:10px;padding:0 13px;font-size:10px;font-weight:700}.manual-add button:disabled{opacity:.4}.manual-add .manual-cancel{color:#737a72;background:#ece8df}.analysis-error{color:#8e493d;background:#f8e8e3;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;padding:10px 11px;font-size:9px;line-height:1.5;display:flex}.analysis-error button{color:inherit;background:0 0;border:0;border-bottom:1px solid;flex:none;padding:2px 0;font-size:9px;font-weight:700}.save-button:disabled{color:#f5f5f2;background:#b9c1ba}.brand-link{color:var(--ink);align-items:center;gap:11px;text-decoration:none;display:flex}.brand-link>span:last-child{flex-direction:column;display:flex}.brand-link strong{letter-spacing:.12em;font-family:serif;font-size:18px}.suggestion-static{color:#fff;background:#ffffff0b;border:1px solid #ffffff19;border-radius:8px;align-items:center;gap:10px;min-height:66px;padding:10px;display:flex}.suggestion-static>span{color:var(--leaf);background:#f7f2e9;border-radius:50%;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.suggestion-static strong,.suggestion-static small{display:block}.suggestion-static strong{font-size:12px}.suggestion-static small{color:#aebeb5;margin-top:4px;font-size:8px}.veg-shape.tone-0{color:#df5a45;background:#df5a4518}.veg-shape.tone-1{color:#4f7b45;background:#4f7b4518}.veg-shape.tone-2{color:#e98339;background:#e9833918}.veg-shape.tone-3{color:#705071;background:#70507118}.veg-shape.tone-4{color:#a98958;background:#a9895818}.muted-copy{color:#8b8f87;font-size:11px;line-height:1.7}.empty-state{text-align:center;color:#7d837b;border:1px dashed #d8d3c8;border-radius:16px;padding:28px 20px}.empty-state.compact{padding:20px 12px}.empty-state strong{color:var(--ink);font-family:serif}.empty-state p{margin:7px 0 0;font-size:10px;line-height:1.6}.success-message{color:#526d42;background:#e6eedb;border-radius:10px;margin:0 0 12px;padding:10px;font-size:10px;font-weight:700}.auth-page{background:radial-gradient(circle at 50% 10%,#f7f1e4 0,#e6dfd0 70%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--paper);text-align:center;border-radius:28px 6px;width:100%;max-width:430px;padding:42px 30px;box-shadow:0 22px 70px #213a2d20}.auth-card.wide{text-align:left;max-width:560px}.auth-logo{justify-content:center;margin-bottom:14px;display:flex}.auth-card h1{margin:7px 0 13px;font-family:serif;font-size:28px;font-weight:600;line-height:1.5}.auth-lead{color:#727a73;margin:0 0 25px;font-size:12px;line-height:1.9}.auth-legal{color:#92958f;margin:16px 0 0;font-size:9px;line-height:1.7}.auth-card a{color:var(--forest)}.google-button{color:#3d4642;background:#fff;border:1px solid #d9d6ce;border-radius:14px;justify-content:center;align-items:center;gap:11px;width:100%;padding:14px;font-weight:700;display:flex}.google-button:disabled{opacity:.6}.google-g{color:#4285f4;font-family:Arial,sans-serif;font-size:18px}.onboarding-page{align-items:start}.onboarding-form{gap:15px;display:grid}.onboarding-form>label:not(.check-row):not(.consent-box),.metric-form label,.settings-form>label:not(.consent-box),.invite-form label{gap:6px;display:grid}.onboarding-form label>span:first-child,.metric-form label>span,.settings-form label>span:first-child,.invite-form label>span{color:#626c65;font-size:10px;font-weight:700}input,select{font:inherit}.onboarding-form input:not([type=checkbox]),.onboarding-form select,.metric-form input,.settings-form input,.settings-form select,.inline-create input,.invite-form input{width:100%;color:var(--ink);background:#fff;border:1px solid #d8d4ca;border-radius:11px;outline:none;padding:12px;font-size:12px}.onboarding-form input:focus,.onboarding-form select:focus,.metric-form input:focus,.settings-form input:focus,.settings-form select:focus,.inline-create input:focus,.invite-form input:focus{border-color:#8ca069;box-shadow:0 0 0 3px #9fb67320}.check-row,.consent-box{text-align:left;align-items:flex-start;gap:10px;display:flex}.check-row input,.consent-box input{height:18px;accent-color:var(--forest);flex:0 0 18px;margin:1px 0 0;padding:0;width:18px!important}.check-row span{font-size:10px;line-height:1.7}.consent-box{background:#edf0e4;border-radius:13px;width:100%;min-width:0;padding:14px}.consent-box>span{flex:auto;min-width:0}.consent-box span,.consent-box strong,.consent-box small{display:block}.consent-box strong{font-size:11px;line-height:1.5}.consent-box small{color:#707970;overflow-wrap:anywhere;margin-top:5px;font-size:9px;line-height:1.65}.primary-button,.secondary-button{text-align:center;border:0;border-radius:13px;width:100%;padding:14px;font-size:11px;font-weight:750;text-decoration:none;display:block}.primary-button{background:var(--forest);color:#fff}.primary-button:disabled{opacity:.55}.secondary-button{color:var(--forest);background:#e8ecdf}.form-error,.form-success{border-radius:10px;padding:10px 12px;font-size:10px;line-height:1.6}.form-error{color:#974a3d;background:#f7e6e1}.form-success{color:#516b41;background:#e7eedc}.setup-list{text-align:left;grid-template-columns:32px 1fr;gap:12px;margin:24px 0;display:grid}.setup-list>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;display:grid}.setup-list p{margin:0}.setup-list strong,.setup-list small{display:block}.setup-list strong{font-size:11px}.setup-list small{color:#858a83;margin-top:4px;font-size:9px}.sublead{color:#7e847d;font-size:11px;line-height:1.8}.privacy-note{color:#617057;background:#edf0e4;border-radius:12px;padding:12px;font-size:9px;line-height:1.6}.summary-grid{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}.summary-grid>div{background:var(--forest);color:#fff;border-radius:16px 4px;padding:17px}.summary-grid span,.summary-grid small{color:#b9cdc2;font-size:8px;display:block}.summary-grid strong{margin:5px 0;font-family:serif;font-size:28px;display:block}.summary-grid.three-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.summary-grid.three-cards>div{min-width:0;padding:14px 10px}.summary-grid.three-cards span{min-height:24px;line-height:1.5}.summary-grid.three-cards strong{font-size:24px}.summary-grid.three-cards small{white-space:nowrap}.history-card,.form-card,.settings-section,.ranking-card{background:#fff;border:1px solid #e1dbcf;border-radius:17px;margin-top:18px;padding:19px}.history-card h3,.form-card h3,.settings-section h3,.ranking-card h3,.group-section h3,.member-section h3{margin:0 0 15px;font-family:serif;font-size:16px}.history-row{grid-template-columns:78px 1fr 24px;align-items:center;gap:8px;padding:8px 0;display:grid}.history-row time{color:#7f857e;font-size:9px}.history-row>div{background:#ece9e0;border-radius:8px;height:7px;overflow:hidden}.history-row>div span{background:linear-gradient(90deg,var(--leaf),var(--gold));border-radius:8px;height:100%;display:block}.history-row strong{text-align:right;font-size:10px}.weight-latest{background:var(--forest);color:#fff;border-radius:5px 22px;margin-top:20px;padding:22px}.weight-latest>span{color:#b9ccc2;font-size:9px}.weight-latest div{align-items:baseline;gap:5px;margin-top:5px;display:flex}.weight-latest strong{font-family:serif;font-size:42px}.weight-latest small{color:#c7d5ce}.weight-latest p{margin:4px 0 0;font-size:9px}.metric-form,.settings-form{gap:13px;display:grid}.weight-row{border-top:1px solid #eee9df;justify-content:space-between;padding:11px 0;display:flex}.weight-row time{color:#828880;font-size:10px}.weight-row strong{font-size:12px}.card-heading{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.card-heading h3{margin-bottom:3px}.card-heading p{color:#8a8f88;margin:0;font-size:8px}.trend-chart{width:100%;min-height:166px;margin-top:5px;position:relative}.trend-chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid-line{stroke:#e9e5dc;stroke-width:1px}.chart-y-label,.chart-x-label{fill:#8b918a;font-size:7px}.chart-line{fill:none;stroke:var(--forest);stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#f9f8f3;stroke:var(--forest);stroke-width:1.5px}.chart-target-line{stroke:var(--gold);stroke-width:1px;stroke-dasharray:4 4}.chart-target-label{fill:#ae8730;text-anchor:end;font-size:7px}.chart-latest{background:#eef1e5dd;border-radius:8px;align-items:baseline;gap:2px;padding:5px 7px;display:flex;position:absolute;top:4px;right:2px}.chart-latest span{color:#788175;margin-right:3px;font-size:7px}.chart-latest strong{font-family:serif;font-size:13px}.chart-latest small{color:#788175;font-size:7px}.chart-empty{text-align:center;color:#7d837b;border:1px dashed #d8d3c8;border-radius:12px;place-items:center;min-height:145px;padding:20px;font-size:9px;line-height:1.6;display:grid}.record-details{border-top:1px solid #eee9df;margin-top:10px}.record-details summary{color:#6e7b6d;cursor:pointer;padding:13px 0 4px;font-size:9px;font-weight:700}.record-details .weight-row:first-of-type{margin-top:6px}.loading-topbar{position:relative}.loading-brand,.loading-pulse,.loading-card{background:linear-gradient(90deg,#ece8df 25%,#f7f5ef 50%,#ece8df 75%) 0 0/200% 100%;animation:1.2s ease-in-out infinite loading-shimmer;display:block}.loading-brand{border-radius:9px;width:145px;height:31px}.page-loading{padding:35px 23px}.loading-pulse{border-radius:8px;width:72%;height:13px;margin-bottom:12px}.loading-pulse.short{width:44%;height:24px}.loading-pulse.medium{width:58%}.loading-card{border-radius:5px 22px;height:155px;margin:25px 0}.inline-create{grid-template-columns:1fr auto;gap:8px;display:grid}.inline-create button,.invite-form button{background:var(--forest);color:#fff;border:0;border-radius:11px;padding:0 15px;font-size:10px;font-weight:700}.inline-create small{color:#697567;grid-column:1/3}.group-section{margin-top:28px}.invitation-card,.group-link{color:var(--ink);background:#fff;border:1px solid #ded9ce;border-radius:14px;align-items:center;gap:12px;margin-top:9px;padding:15px;text-decoration:none;display:flex}.invitation-card>div:first-child,.group-link div{flex:1}.invitation-card strong,.invitation-card small,.group-link strong,.group-link small{display:block}.invitation-card small,.group-link small{color:#8a8f88;margin-top:4px;font-size:8px}.group-link>span{width:38px;height:38px;color:var(--forest);background:#e8edda;border-radius:50%;place-items:center;font-size:20px;display:grid}.group-link b{color:#8b9982}.invitation-buttons{gap:5px;display:flex}.invitation-buttons button{background:var(--forest);color:#fff;border:0;border-radius:9px;padding:8px;font-size:9px}.invitation-buttons button.quiet{color:#6e756e;background:#eeeae2}.id-card{background:#eee6d7;border-radius:4px 18px;margin-top:25px;padding:18px}.id-card span,.id-card strong,.id-card small{display:block}.id-card span,.id-card small{color:#847a69;font-size:8px}.id-card strong{letter-spacing:.12em;margin:7px 0;font-size:16px}.invite-form label>div{grid-template-columns:1fr auto;gap:8px;display:grid}.invite-form>small{color:#858a83;margin-top:8px;font-size:8px;display:block}.invite-form>p{color:#586a56;font-size:9px}.ranking-card.primary-ranking{background:var(--forest);color:#fff;border:0}.ranking-card.primary-ranking h3{color:#fff}.ranking-card>div:first-child>small{color:#898e87;font-size:8px}.ranking-list{gap:7px;display:grid}.ranking-row{color:var(--ink);background:#f3f1ea;border-radius:10px;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.primary-ranking .ranking-row{color:#fff;background:#ffffff10}.rank{background:#deddd5;border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;font-weight:800;display:grid}.rank-1{color:#5c4b1a;background:#e5bf50}.rank-2{color:#555;background:#d8dbd9}.rank-3{color:#fff;background:#c99669}.ranking-main{min-width:0}.ranking-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ranking-label strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.ranking-label b{flex:none;font-family:serif;font-size:17px}.ranking-label b small{margin-left:3px;font-family:sans-serif;font-size:7px;font-weight:400}.ranking-bar{background:#dfe3d5;border-radius:9px;height:7px;margin-top:6px;overflow:hidden}.ranking-bar span{background:linear-gradient(90deg,var(--leaf),var(--gold));border-radius:9px;min-width:0;height:100%;display:block}.primary-ranking .ranking-bar{background:#ffffff18}.primary-ranking .ranking-bar span{background:linear-gradient(90deg,#b7cc72,#edc759)}.member-section{margin-top:25px}.member-row{border-top:1px solid #e8e2d7;align-items:center;gap:10px;padding:10px 0;display:flex}.member-row>span{background:#e9e0d0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.member-row strong,.member-row small{display:block}.member-row strong{font-size:11px}.member-row small{color:#8a8f88;margin-top:3px;font-size:8px}.share-app-card{background:var(--forest);color:#fff;border-radius:5px 22px;grid-template-columns:minmax(0,1fr) 108px;align-items:center;gap:15px;margin-top:22px;padding:18px;display:grid}.share-app-card h3{margin:6px 0;font-family:serif;font-size:16px;line-height:1.5}.share-app-card p:not(.section-label){color:#c4d4cc;margin:0;font-size:8px;line-height:1.6}.share-app-card img,.qr-placeholder{background:#fff;border-radius:9px;width:108px;height:108px;padding:5px}.share-actions{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.share-actions button{color:var(--forest);background:#dfe9cd;border:0;border-radius:9px;padding:8px 10px;font-size:8px;font-weight:750}.share-actions button.quiet{color:#fff;background:#ffffff14;border:1px solid #ffffff38}.profile-card{background:var(--forest);color:#fff;border-radius:4px 18px;align-items:center;gap:13px;margin-top:22px;padding:18px;display:flex}.profile-card>span{color:#765c45;background:#e8dbc5;border-radius:50%;place-items:center;width:47px;height:47px;font-size:18px;display:grid}.profile-card strong,.profile-card small,.profile-card code{display:block}.profile-card small{color:#c3d2ca;margin:3px 0;font-size:8px}.profile-card code{color:#d8e2dc;font-size:9px}.settings-section dl{margin:0}.settings-section dl div{border-top:1px solid #ece7de;justify-content:space-between;padding:10px 0;font-size:10px;display:flex}.settings-section dd{margin:0;font-weight:700}.settings-section>small{color:#858a83;font-size:8px;line-height:1.6}.settings-links{border:1px solid #e1dbcf;border-radius:15px;margin-top:18px;overflow:hidden}.settings-links a{color:var(--ink);border-top:1px solid #eee9e0;justify-content:space-between;padding:14px 16px;font-size:10px;text-decoration:none;display:flex}.settings-links a:first-child{border-top:0}.account-actions{gap:12px;display:grid}.danger-link{color:#a04e43;background:0 0;border:0;font-size:9px;text-decoration:underline}.delete-confirm{background:#f7e7e3;border-radius:12px;padding:13px}.delete-confirm p{color:#87493f;font-size:9px;line-height:1.6}.delete-confirm>div{gap:7px;display:flex}.danger-button,.quiet-button{border:0;border-radius:9px;padding:9px;font-size:9px}.danger-button{color:#fff;background:#a64b3f}.quiet-button{color:#6b706b;background:#fff}.admin-page{background:#ebe5d9;min-height:100vh;padding:28px 18px 60px}.admin-shell{width:100%;max-width:980px;margin:auto}.admin-header{background:var(--forest);color:#fff;border-radius:6px 25px;justify-content:space-between;align-items:flex-start;gap:24px;padding:25px;display:flex}.admin-header h1{margin:6px 0 8px;font-family:serif;font-size:27px;font-weight:600}.admin-header p:not(.section-label){color:#c2d3ca;max-width:620px;margin:0;font-size:10px;line-height:1.7}.admin-header a{color:#fff;border:1px solid #ffffff40;border-radius:10px;flex:none;padding:9px 11px;font-size:9px;text-decoration:none}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px;display:grid}.admin-metrics article{background:var(--paper);border:1px solid #e1dbcf;border-radius:17px;min-width:0;min-height:145px;padding:18px}.admin-metrics article>span{color:#717a72;min-height:30px;font-size:10px;line-height:1.5;display:block}.admin-metrics article>strong{margin-top:8px;font-family:serif;font-size:34px;display:inline-block}.admin-metrics article>small{color:#858b84;margin-left:5px;font-size:8px}.admin-metrics dl{flex-wrap:wrap;gap:7px;margin:12px 0 0;display:flex}.admin-metrics dl div{background:#e9eedc;border-radius:8px;gap:5px;padding:5px 7px;font-size:8px;display:flex}.admin-metrics dt{color:#73806f}.admin-metrics dd{margin:0;font-weight:800}.admin-breakdowns{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.admin-breakdown{background:var(--paper);border:1px solid #e1dbcf;border-radius:17px;padding:20px}.admin-breakdown h2{margin:0 0 16px;font-family:serif;font-size:16px}.admin-breakdown-row{grid-template-columns:120px minmax(0,1fr) 30px;align-items:center;gap:10px;margin-top:10px;display:grid}.admin-breakdown-row>span{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.admin-breakdown-row>div{background:#e7e5dc;border-radius:9px;height:8px;overflow:hidden}.admin-breakdown-row i{background:linear-gradient(90deg,var(--leaf),var(--gold));border-radius:9px;height:100%;display:block}.admin-breakdown-row strong{text-align:right;font-size:10px}.admin-shell>footer{color:#7d837d;text-align:right;margin-top:15px;font-size:8px}.legal-page{background:var(--paper);color:#293d36;min-height:100vh}.legal-page>header{border-bottom:1px solid #e9e3d8;padding:18px 24px}.legal-page article{max-width:760px;margin:auto;padding:45px 28px 70px}.legal-page h1{margin:8px 0;font-family:serif;font-size:32px}.legal-version{color:#8b8f88;font-size:9px}.legal-page section{margin-top:32px}.legal-page h2{margin:0 0 10px;font-size:15px}.legal-page p,.legal-page li{color:#5d6761;font-size:11px;line-height:2}.legal-page ul{padding-left:20px}.legal-page footer{color:#fff;text-align:center;background:#203f36;padding:25px}.legal-page footer p{color:#c7d3cd;font-size:9px}.legal-page footer nav{justify-content:center;gap:18px;display:flex}.legal-page footer a{color:#fff;font-size:9px}.photo-source-options{gap:9px;display:grid}.gallery-button{width:100%;color:var(--ink);background:#fff;border:1px solid #d7d8c9;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:13px;font-size:11px;display:flex}.gallery-button span{color:var(--leaf);font-size:17px}.manual-source-button>span:last-child{color:var(--ink);text-align:left}.manual-source-button strong,.manual-source-button small{display:block}.manual-source-button small{color:#7c847b;margin-top:3px;font-size:8px}.meal-date-field{background:#edf0e4;border-radius:12px;gap:5px;margin-top:15px;padding:13px;display:grid}.meal-date-field>span{font-size:10px;font-weight:750}.meal-date-field input{width:100%;color:var(--ink);background:#fff;border:1px solid #d1d6c4;border-radius:9px;padding:10px;font-size:12px}.meal-date-field small{color:#737d72;font-size:8px;line-height:1.5}.manual-journal>p{color:#798078;margin:4px 0 0;font-size:10px;line-height:1.7}.source-back{color:#65785f;background:0 0;border:0;padding:0 0 10px;font-size:9px;font-weight:700}.manual-selected{border:1px solid #e2ddd2;border-radius:12px;flex-wrap:wrap;align-items:center;gap:7px;min-height:48px;margin-top:14px;padding:10px;display:flex}.manual-selected>span{color:#999c95;font-size:9px}.manual-selected button{color:#536d3d;background:#e5ecd4;border:1px solid #aabc78;border-radius:20px;padding:7px 9px;font-size:10px;font-weight:700}.manual-selected button span{margin-left:6px}.manual-search{margin-top:11px;position:relative}.manual-search>input{width:100%;color:var(--ink);background:#fff;border:1px solid #d5d3ca;border-radius:11px;padding:13px;font-size:12px}.manual-search>input:focus{border-color:#8ca069;outline:none;box-shadow:0 0 0 3px #9fb67320}.manual-search>small{color:#858b83;margin:6px 2px 8px;font-size:8px;display:block}.manual-suggestions{background:#fff;border:1px solid #e0dace;border-radius:12px;max-height:190px;overflow:auto}.manual-suggestions button{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-top:1px solid #eee9df;gap:9px;padding:11px 12px;font-size:11px;display:flex}.manual-suggestions button:first-child{border-top:0}.manual-suggestions button span{color:var(--leaf)}.custom-vegetable{color:#526a48;text-align:left;background:#f0f2e8;border:1px dashed #9eab89;border-radius:11px;width:100%;margin-top:8px;padding:11px;font-size:9px;line-height:1.5}.install-page{background:radial-gradient(circle at 50% 5%,#f8f3e8 0,#e4ddcf 72%);place-items:center;min-height:100vh;padding:24px;display:grid}.install-card{background:var(--paper);text-align:center;border-radius:30px 7px;width:100%;max-width:440px;padding:32px 28px;box-shadow:0 22px 70px #213a2d20}.install-icon{background:#fff;border-radius:25px;width:94px;height:94px;margin:0 auto 17px;padding:3px;overflow:hidden;box-shadow:0 10px 28px #183d3425}.install-icon img{border-radius:22px;width:88px;height:88px;display:block}.install-card h1{max-width:340px;margin:8px auto 10px;font-family:serif;font-size:26px;font-weight:600;line-height:1.45}.install-lead{color:#747c75;max-width:340px;margin:0 auto 23px;font-size:11px;line-height:1.8}.install-card>.primary-button,.install-card>.secondary-button{margin-top:13px}.android-install{margin-top:6px}.android-install p{color:#848a83;margin:10px 4px 0;font-size:9px;line-height:1.65}.ios-install{text-align:left;background:#edf0e4;border-radius:18px;margin:5px 0 17px;padding:18px}.ios-install h2{margin:0 0 13px;font-family:serif;font-size:16px}.ios-install ol{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ios-install li{grid-template-columns:28px 1fr;align-items:center;gap:10px;display:grid}.ios-install li span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:800;display:grid}.ios-install li strong{font-size:10px;line-height:1.55}.ios-install p{color:#6f786e;border-top:1px solid #d7ddca;margin:15px 0 0;padding-top:12px;font-size:8px;line-height:1.7}.install-success{text-align:left;background:#e5edd8;border-radius:16px;align-items:center;gap:11px;margin:8px 0 17px;padding:17px;display:flex}.install-success span{background:var(--forest);color:#fff;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-weight:800;display:grid}.install-success strong{font-size:10px;line-height:1.6}.gallery-button strong{font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.history-day-button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:78px minmax(0,1fr) 24px 12px}.history-day-button b{color:#829278;font-size:17px;font-weight:400;transition:transform .2s}.history-day-button[aria-expanded=true] b{transform:rotate(90deg)}.recent-day+.recent-day{border-top:1px solid #eee9df}.recent-day .history-row{border-top:0}.day-meal-details{background:#f1f2e9;border-radius:12px;margin:2px 0 12px;padding:13px}.day-detail-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.day-detail-heading strong{font-size:10px}.day-detail-heading span{color:#667660;font-size:9px}.day-meal-list{margin-top:8px}.day-meal-list article{border-top:1px solid #dde2d2;padding:9px 0}.day-meal-list article strong{font-size:10px}.day-meal-list article p{color:#727b71;margin:4px 0 0;font-size:9px;line-height:1.6}.month-controls{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;margin-top:15px;display:grid}.month-controls button{height:36px;color:var(--forest);background:#e8edda;border:0;border-radius:50%;font-size:20px}.month-controls button:disabled{opacity:.35}.month-controls input{width:100%;height:38px;color:var(--ink);text-align:center;background:#fff;border:1px solid #d8d5cc;border-radius:10px;padding:7px 10px;font-size:11px}.month-label{text-align:center;margin:15px 0 10px;font-family:serif;font-size:16px;display:block}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-weekdays span{color:#8b9088;text-align:center;padding:4px 0;font-size:8px}.calendar-days button,.calendar-days>span{aspect-ratio:1}.calendar-days button{color:#7b817a;background:#fff;border:1px solid #e5e0d7;border-radius:50%;font-size:9px;position:relative}.calendar-days button.has-record{color:#4f6746;background:#edf1e2;border-color:#cad6ae;font-weight:750}.calendar-days button.selected{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 0 0 3px #9fb67330}.calendar-days button small{background:var(--gold);color:#493d1e;border-radius:9px;place-items:center;min-width:15px;height:15px;padding:0 3px;font-size:7px;display:grid;position:absolute;bottom:-1px;right:-1px}.calendar-days button.selected small{background:#e5c45c}.month-select-hint,.month-empty{color:#8b9089;text-align:center;margin:13px 0 0;font-size:9px;line-height:1.6}.month-loading{color:#7d857c;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:190px;font-size:9px;display:flex}.month-loading span{border:3px solid #dce3cb;border-top-color:var(--forest);border-radius:50%;width:25px;height:25px;animation:.8s linear infinite spin}.monthly-history .day-meal-details{margin-top:13px}.affiliate-section{text-align:center;background:#f0ede5;border-top:1px solid #e4ded3;margin:32px -19px 0;padding:25px 0 7px}.affiliate-heading{padding:0 22px 17px}.affiliate-label{color:#9a7752;letter-spacing:.12em;margin:0;font-size:8px;font-weight:800}.affiliate-heading h3{margin:6px 0 7px;font-family:serif;font-size:16px}.affiliate-heading>p:last-child{color:#797d76;max-width:360px;margin:0 auto;font-size:8px;line-height:1.65}.affiliate-ad{margin:0 auto 10px}.affiliate-banner{width:320px;min-height:50px;line-height:0}.affiliate-banner img[width="320"]{width:320px;height:50px;display:block}.affiliate-text{background:#fffdf8;border:1px solid #ddd5c7;border-radius:11px;width:calc(100% - 44px);padding:12px 14px;line-height:1.5}.affiliate-text a{color:#315b4c;font-size:10px;font-weight:700}.affiliate-ad img[width="1"]{width:1px;height:1px;position:absolute}.affiliate-privacy-link{color:#777d76;margin:0 0 10px;font-size:8px;display:inline-block}.subpage>.affiliate-section{margin-left:-23px;margin-right:-23px}.language-tabs{justify-content:center;gap:6px;margin:0 0 22px;display:flex}.language-tabs a{color:#707970;border:1px solid #d9d6ce;border-radius:999px;min-width:58px;padding:7px 10px;font-size:10px;text-decoration:none}.language-tabs a.active{border-color:var(--forest);background:var(--forest);color:#fff}.public-site{background:var(--paper);min-height:100vh;color:var(--ink);overflow:hidden}.public-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;width:min(1160px,100% - 48px);height:88px;margin:auto;display:grid}.public-brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.public-brand>span:last-child{flex-direction:column;display:flex}.public-brand small{color:#78877c;letter-spacing:.18em;font-size:10px;font-weight:800}.public-brand strong{letter-spacing:.08em;margin-top:2px;font-family:serif;font-size:22px}.public-header nav{gap:28px;display:flex}.public-header nav a{color:#5e6c65;font-size:14px;font-weight:700;text-decoration:none}.public-login,.public-secondary{border-radius:999px;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:0 22px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.public-login{background:var(--forest);color:#fff;justify-self:end}.public-login.compact{min-height:42px;padding:0 18px;font-size:13px}.public-login.pale{color:var(--forest);background:#f4efdf}.public-secondary{color:var(--forest);border:1px solid #cfd4c6}.public-hero{background:linear-gradient(120deg,#eff1e5 0 54%,#dfe8d5 54% 100%);grid-template-columns:minmax(0,1fr) minmax(420px,1fr);align-items:center;gap:64px;min-height:650px;padding:74px max(48px,50vw - 580px);display:grid}.public-hero-copy{max-width:570px}.public-kicker,.public-label{color:#728557;letter-spacing:.18em;margin:0;font-size:13px;font-weight:850}.public-hero h1{letter-spacing:.02em;margin:18px 0 24px;font-family:serif;font-size:clamp(52px,6vw,82px);font-weight:560;line-height:1.12}.public-hero-copy>p:not(.public-kicker){color:#64716a;max-width:560px;margin:0;font-size:18px;line-height:1.9}.public-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.public-hero figure{margin:0;position:relative}.public-hero figure:before{content:"";border:1px solid #95a77a;border-radius:48% 5px;position:absolute;inset:-22px 24px 24px -22px}.public-hero figure img{border-radius:48% 5px;width:100%;height:auto;display:block;position:relative;box-shadow:0 28px 70px #183d3424}.public-hero figcaption{color:#45594f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfaf6e8;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:750;position:absolute;bottom:18px;right:20px}.public-section{width:min(1160px,100% - 48px);margin:auto;padding:112px 0}.public-section>h2,.public-how h2,.public-rule h2,.public-privacy h2,.public-cta h2{margin:14px 0 44px;font-family:serif;font-size:clamp(36px,4vw,54px);font-weight:560;line-height:1.3}.public-features{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.public-features article{border-right:1px solid var(--line);min-height:290px;padding:34px 36px 20px 0}.public-features article+article{padding-left:36px}.public-features article:last-child{border-right:0}.public-features article>span{color:#ac9360;font-family:serif;font-size:30px}.public-features h3{margin:50px 0 16px;font-family:serif;font-size:25px;font-weight:600}.public-features p,.public-rule p,.public-privacy p,.public-faq p{color:#66716a;font-size:16px;line-height:1.9}.public-how{background:var(--forest);color:#fff;grid-template-columns:1fr 1.1fr;gap:100px;padding:96px max(48px,50vw - 580px);display:grid}.public-how .public-label{color:#b8c99e}.public-how h2{margin-bottom:0}.public-how ol{margin:0;padding:0;list-style:none}.public-how li{border-top:1px solid #ffffff26;grid-template-columns:52px 1fr;align-items:start;gap:20px;padding:24px 0;display:grid}.public-how li span{color:#d7e1c3;border:1px solid #d7e1c3;border-radius:50%;place-items:center;width:44px;height:44px;font-family:serif;font-size:18px;display:grid}.public-how li p{color:#eef3ec;margin:7px 0 0;font-size:16px;line-height:1.7}.public-rule{grid-template-columns:1.1fr .9fr;align-items:center;gap:90px;width:min(1160px,100% - 48px);margin:auto;padding:110px 0;display:grid}.public-rule h2{margin-bottom:25px}.public-week{aspect-ratio:1.3;background:#e7ecd9;border-radius:6px 56px;flex-direction:column;justify-content:center;padding:52px;display:flex}.public-week>strong{font-family:serif;font-size:92px;font-weight:500;line-height:1}.public-week>span{color:#6d776d;font-size:16px;font-weight:750}.public-week>div{grid-template-columns:repeat(7,1fr);gap:7px;margin-top:34px;display:grid}.public-week i{aspect-ratio:1;color:#76806f;background:#d3dac4;border-radius:50%;place-items:center;font-size:11px;font-style:normal;font-weight:800;display:grid}.public-week i.filled{background:var(--leaf);color:#fff}.public-privacy{background:#eee6d8;grid-template-columns:120px minmax(0,760px);justify-content:center;gap:52px;padding:90px max(48px,50vw - 580px);display:grid}.public-shield{background:var(--forest);color:#fff;border-radius:50% 50% 45% 45%;place-items:center;width:110px;height:110px;font-size:42px;display:grid}.public-privacy h2{margin-bottom:20px}.public-privacy small{color:#687269;margin-top:20px;font-size:14px;font-weight:700;line-height:1.7;display:block}.public-faq{max-width:840px}.public-faq details{border-top:1px solid var(--line)}.public-faq summary{cursor:pointer;padding:24px 44px 24px 0;font-family:serif;font-size:21px;font-weight:600;list-style:none;position:relative}.public-faq summary:after{content:"＋";color:#839574;position:absolute;top:21px;right:4px}.public-faq details[open] summary:after{content:"−"}.public-faq details p{margin:0 0 28px}.public-cta{color:#1d453a;text-align:center;background:#d9b34d;padding:100px 24px}.public-cta .public-label{color:#725b24}.public-cta h2{max-width:780px;margin-bottom:16px;margin-left:auto;margin-right:auto}.public-cta>p:not(.public-label){margin:0 0 28px;font-size:16px}.public-cta .public-login{justify-self:auto}.public-footer{color:#fff;background:#153f34;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:54px max(48px,50vw - 580px);display:grid}.public-footer>div:first-child{align-items:center;gap:12px;display:flex}.public-footer>div:first-child .brand-mark{border-color:#fff}.public-footer>div:first-child .brand-mark span{background:#fff}.public-footer>div:first-child strong{letter-spacing:.08em;font-family:serif;font-size:22px}.public-footer>p{color:#b9cbc3;grid-column:1;margin:0;font-size:13px}.public-footer nav{grid-area:1/2;gap:8px;display:flex}.public-footer nav a,.public-legal a{color:#ccdad4;font-size:13px;text-decoration:none}.public-footer nav a{border:1px solid #ffffff20;border-radius:999px;padding:7px 10px}.public-footer nav a.active{color:var(--forest);background:#fff}.public-legal{grid-area:2/2;gap:20px;display:flex}@media (max-width:820px){.public-header{grid-template-columns:1fr auto;width:calc(100% - 32px)}.public-header nav{display:none}.public-header .public-login.compact{padding:0 13px;font-size:12px}.public-brand small{font-size:8px}.public-brand strong{font-size:18px}.public-hero{background:linear-gradient(160deg,#eff1e5 0 63%,#dfe8d5 63% 100%);grid-template-columns:1fr;gap:48px;min-height:0;padding:62px 24px 74px}.public-hero h1{font-size:49px}.public-hero-copy>p:not(.public-kicker){font-size:16px}.public-actions{display:grid}.public-login,.public-secondary{width:100%}.public-hero figure:before{inset:-12px 12px 12px -12px}.public-hero figcaption{font-size:10px;bottom:8px;right:8px}.public-section{width:calc(100% - 40px);padding:78px 0}.public-section>h2,.public-how h2,.public-rule h2,.public-privacy h2,.public-cta h2{font-size:36px}.public-features{grid-template-columns:1fr}.public-features article,.public-features article+article{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:28px 0 34px}.public-features h3{margin-top:24px}.public-how{grid-template-columns:1fr;gap:44px;padding:72px 24px}.public-rule{grid-template-columns:1fr;gap:38px;width:calc(100% - 40px);padding:78px 0}.public-week{padding:34px}.public-week>strong{font-size:76px}.public-privacy{grid-template-columns:1fr;gap:30px;padding:72px 24px}.public-shield{width:76px;height:76px;font-size:30px}.public-faq summary{font-size:18px}.public-footer{grid-template-columns:1fr;padding:48px 24px}.public-footer>p,.public-footer nav,.public-legal{grid-area:auto/1}.public-footer nav,.public-legal{flex-wrap:wrap}}@keyframes loading-shimmer{to{background-position:-200% 0}}@media (min-width:700px){.app-shell{border-radius:26px 26px 0 0;min-height:calc(100vh - 24px);margin-top:24px;overflow:hidden}.bottom-nav{border-radius:0}.topbar{position:relative}.photo-sheet{border-radius:28px;margin-bottom:18px}.overlay{align-items:center}}@media (max-width:700px){.admin-page{background:var(--paper);padding:0 0 45px}.admin-header{border-radius:0 0 24px 5px;padding:24px 20px;display:block}.admin-header a{margin-top:16px;display:inline-block}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 15px}.admin-breakdowns{grid-template-columns:1fr;padding:0 15px}.admin-shell>footer{padding:0 18px}.admin-breakdown-row{grid-template-columns:95px minmax(0,1fr) 26px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
