:root{font-family:system-ui,sans-serif;color:#263c36;background:#f6f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:10px;background:#24755b;color:white;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;transition:background .15s}button:hover{background:#195e48}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #eab45c;outline-offset:3px}a{color:inherit}small{font-size:12px;color:#7c8a82}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin:8px 0}h3{font-size:18px;margin-bottom:16px}p{line-height:1.8;font-size:14px}aside{width:230px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid #e7ede7;padding:32px 20px;display:flex;flex-direction:column;z-index:20}.brand{font-size:22px;display:flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap;font-weight:700}.brand b{font-size:18px;font-weight:500}.logo{display:flex;background:#276c51;color:white;padding:7px;border-radius:12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#889b8d}aside>.eyebrow{margin:15px 0 40px;letter-spacing:1.5px}nav{display:grid;grid-gap:8px;gap:8px}nav button{background:transparent;color:#7a8880;justify-content:flex-start;font-size:13px;font-weight:500;padding:14px}nav .selected,nav button:hover{background:#eaf3ec;color:#286b50}.dot{width:6px;height:6px;border-radius:50%;background:#398e6d;margin-left:auto}.sidebar-bottom{margin-top:auto;background:#f6f8f2;border:1px solid #edf0e5;padding:18px 14px;border-radius:14px;margin-bottom:25px}.sidebar-bottom b{display:block;font-size:12px;margin:12px 0}.sidebar-bottom p{font-size:11px;color:#899486}.sidebar-bottom .ghost{padding:0;font-size:11px}.workspace{margin-left:230px}header{height:82px;border-bottom:1px solid #e9eee8;justify-content:space-between;padding:0 42px;background:#ffffffa0;font-size:12px;color:#7c8a82}header,header>div{display:flex;align-items:center}header>div{gap:16px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#66a585;margin-right:8px}.badge{font-size:10px;display:inline-flex;padding:6px 10px;border-radius:5px;background:#eaf1e5;color:#668064;letter-spacing:.4px}.avatar{background:#dde9d7;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#527249}.icon{background:transparent;color:#6d8172;padding:6px}.icon:hover{background:#e8eee6}.ghost{color:#36765a;padding:9px 0;font-size:12px}.ghost,.ghost:hover{background:transparent}.ghost:hover{color:#163f2e}.right{float:right}main{max-width:1350px;margin:auto;padding:34px 42px 30px}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.title-row p{color:#889389;font-size:12px;margin:10px 0 0}.date{font-size:12px;color:#7b887c}.hero{min-height:286px;background:#e8efdf;border-radius:18px;padding:34px 40px;display:flex;justify-content:space-between;overflow:hidden;position:relative}.hero h2{font-size:36px;line-height:1.5;letter-spacing:2px;margin:14px 0 8px}.hero p{font-size:12px;color:#76846e;margin-bottom:22px}.hero .badge{background:#ffffff80}.hero button{font-size:12px}.hero-bowl{width:38%;position:relative;display:grid;place-items:center}.bowl{font-size:140px;width:230px;height:230px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#fff 0 57%,#e2e7d8 58% 61%,#fff 62% 70%,transparent 71%);filter:drop-shadow(8px 16px 14px #58714125);transform:rotate(-12deg)}.float-tag{position:absolute;bottom:5px;right:10px;background:#fffdf3;border:1px solid white;padding:10px 18px;border-radius:9px;font-size:11px;box-shadow:0 8px 20px #3e583017}.card{background:#fff;border:1px solid #e5ebe3;border-radius:16px;overflow:hidden}.pad{padding:24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin:22px 0}.stats article{padding:22px}.stats article>span{font-size:12px;color:#7d8c80;display:flex;justify-content:space-between}.stats strong{display:block;font-size:32px;font-weight:500;margin:18px 0 6px;letter-spacing:-1px}.stats strong small{font-weight:400;letter-spacing:0}.stats p{font-size:11px;color:#91a08f;margin:0 0 14px}.stats article>small{font-size:9px}.mini-bar{height:5px;background:#eef1e8;border-radius:4px;margin-bottom:6px}.mini-bar i{display:block;height:100%;background:#a8c3a0;border-radius:4px}.color-dots{display:flex;gap:7px}.color-dots i{background:#b4c692;border-radius:50%;width:15px;height:15px}.color-dots i:nth-child(2){background:#eccd92}.color-dots i:nth-child(3){background:#d69e84}.color-dots i:nth-child(4){background:#c8d6ac}.color-dots i:nth-child(5){background:#e6e4ce}.text-button{font-size:11px;padding:0;background:transparent;color:#398164}.grid-two{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:20px;gap:20px;margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h3{font-size:16px;margin:0}.chart{display:flex;justify-content:space-between;gap:18px;height:155px;margin:24px 8px 10px}.chart>div{flex:1 1;display:flex;align-items:center;flex-direction:column;gap:6px}.chart small{font-size:10px}.bar-track{flex:1 1;max-width:30px;background:#f3f6ee;position:relative}.bar-track,.bar-track i{width:100%;border-radius:5px}.bar-track i{position:absolute;bottom:0;background:#94b39a}.muted{color:#8c988d;font-size:12px}.inspiration{background:#fbf8ef;position:relative}.inspiration h3{font-size:26px;line-height:1.65;margin:15px 0 9px}.inspiration p{font-size:12px;color:#92927f}.gift-art{position:absolute;right:25px;bottom:50px;color:#c3b88a;transform:rotate(12deg)}.record{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #eef1eb}.record:last-child{border:0}.record>div{flex:1 1}.record b{font-size:13px}.record p{font-size:11px;color:#98a193;margin:5px 0 0}.record strong{font-size:16px;font-weight:500}.food-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#f0f4e7;font-size:25px}.empty{padding:30px;text-align:center;color:#93a08e}footer{margin-top:30px;padding:15px 0;font-size:10px;color:#9da895;gap:15px}.notice,footer{display:flex;justify-content:space-between}.notice{padding:14px 18px;background:#fff4dc;border-radius:10px;margin-bottom:20px;font-size:13px;align-items:center}label{display:block;font-size:12px;color:#6c7d6e;margin:15px 0}input,select{display:block;width:100%;border:1px solid #dce4d9;background:#fbfcf9;padding:11px;border-radius:8px;margin-top:8px;color:#344b3c;min-width:0}input[type=checkbox]{width:18px;height:18px;accent-color:#287657;flex-shrink:0}input[type=file]{font-size:11px}hr{border:0;border-top:1px solid #edf1e9;margin:20px 0}.welcome{display:grid;grid-template-columns:1fr 1fr;min-height:460px}.welcome>div{background:#e8efdf;padding:45px;position:relative}.welcome h2{font-size:36px;line-height:1.6;margin:20px 0}.welcome p{color:#819075}.welcome form{padding:35px}.leaf-art{position:absolute;right:30px;bottom:15px;font-size:110px}.upload{background:#f3f6ed;border:1px dashed #bbceb3;border-radius:15px;min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;color:#6c8a5b}.upload img{max-width:100%;max-height:230px;object-fit:contain;border-radius:10px}.upload p{font-size:12px;margin-top:15px}.upload .button{position:relative;background:#fff;padding:10px 18px;border-radius:8px;cursor:pointer}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.check{gap:10px;line-height:1.8}.check,.item-row{display:flex;align-items:center}.item-row{gap:12px}.item-row label:first-child{flex:1 1}.item-row label:nth-child(2){width:90px}.item-row small{width:100%;margin-top:-15px}.form-grid{display:grid;grid-template-columns:1fr 2fr 1fr;grid-gap:16px;gap:16px}.meal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin:20px 0}.meal-art{height:170px;background:#e8efdf;display:grid;place-items:center}.meal-art span{font-size:110px;filter:drop-shadow(0 8px 5px #526b381c)}.meal-art.tofu{background:#edf1dc}.meal-art.egg{background:#f8ecd9}.meal h3{margin:12px 0}.meal small{font-size:9px}.actions{display:flex;gap:16px;flex-wrap:wrap}.box-empty{text-align:center;padding:55px;color:#8d9d7e}.box-empty h3{margin:25px 0 10px}.reveal{animation:reveal .5s ease-out}@keyframes reveal{0%{opacity:0;transform:translateY(20px) rotate(-2deg)}to{opacity:1;transform:none}}.pre{white-space:pre-line;margin:20px 0;color:#7e8e76}.consent{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0e8;padding:20px 0;gap:15px}.consent small{display:block;margin-top:8px;line-height:1.8}.danger{background:#a75f4f}.chat-toggle{position:fixed;bottom:25px;right:30px;box-shadow:0 5px 24px #15392325;border:4px solid #fff;border-radius:50px;z-index:25;font-size:12px}.chat-toggle .live-dot{background:#b2d4a0;margin:0}.chat{position:fixed;bottom:95px;right:30px;width:390px;height:560px;max-height:75vh;background:#fff;border:1px solid #dae4d4;border-radius:18px;box-shadow:0 20px 80px #1f3d2830;z-index:30;display:flex;flex-direction:column}.chat-head{padding:18px;display:flex;justify-content:space-between;border-bottom:1px solid #e5ecdf}.chat-head small{display:block;margin-top:6px}.chat-messages{padding:15px;overflow-y:auto;flex:1 1}.message{background:#f1f5ea;padding:12px;border-radius:12px;margin:12px 0;font-size:13px;overflow-wrap:anywhere}.message p{font-size:13px;margin-bottom:8px}.message.user{background:#e0eedd;margin-left:30px}.message a{display:block;font-size:11px;color:#38835d}.step{display:block;margin:6px}.chat form{display:flex;padding:12px;gap:8px;border-top:1px solid #e5ecdf}.chat form input{margin:0}.dark{background:#18251e;color:#dbe5d7;min-height:100vh}.dark .card,.dark .chat,.dark aside{background:#233329;border-color:#354536}.dark header{background:#1d2c23}.dark input,.dark select{background:#1e2d23;color:#dbe5d7;border-color:#4a5a46}.dark .hero,.dark .inspiration,.dark .sidebar-bottom,.dark .welcome>div{background:#334431}.dark .message{color:#273e2c}.dark h2{color:inherit}.dark .record{border-color:#354536}@media(min-width:1500px){main{padding-top:45px}.hero{min-height:310px}}@media(max-width:1100px){aside{width:195px;padding:25px 14px}.workspace{margin-left:195px}main{padding:25px}.hero{padding:30px}.hero h2{font-size:30px}.bowl{width:190px;height:190px;font-size:110px}.meal-grid{grid-template-columns:repeat(2,1fr)}.stats{gap:12px}.stats article{padding:16px}.gift-art{opacity:.3}.date{display:none}header{padding:0 25px}}@media(max-width:760px){aside{inset:auto 0 0;width:100%;height:69px;padding:0;border:0;border-top:1px solid #e0e8da;background:#fff;overflow-x:auto}.brand,.sidebar-bottom,aside>.eyebrow,aside>small{display:none}nav{display:flex;gap:0;min-width:520px;height:100%}nav button{flex:1 1;flex-direction:column;gap:5px;font-size:9px;padding:10px 8px;border-radius:0;white-space:nowrap}nav .dot{display:none}.workspace{margin:0}header{height:60px;padding:0 18px;font-size:10px}header>div{gap:10px}.avatar{width:27px;height:27px}.badge{font-size:9px}main{padding:23px 16px 130px}.title-row{margin-bottom:20px}h1{font-size:26px}.hero{padding:25px;min-height:270px}.hero h2{font-size:29px;position:relative;z-index:2}.hero p{max-width:180px}.hero-bowl{position:absolute;right:-34px;top:48px;width:180px}.bowl{font-size:100px;width:180px;height:180px;opacity:.85}.float-tag{font-size:8px;right:20px;bottom:-30px}.hero button{position:relative;z-index:2}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.stats article:last-child{grid-column:1/-1}.stats article:last-child strong{margin:10px 0}.stats strong{font-size:29px}.grid-two{grid-template-columns:1fr;gap:15px}.pad{padding:20px}.inspiration{min-height:245px}.gift-art{opacity:.8;right:35px;bottom:65px}.welcome{grid-template-columns:1fr}.welcome>div{padding:25px}.welcome h2{font-size:28px}.welcome form{padding:25px}.leaf-art{font-size:80px}.form-grid{grid-template-columns:1fr}.form-grid label{margin:6px 0}.meal-grid{grid-template-columns:1fr}.meal-art{height:180px}.chat-toggle{bottom:82px;right:16px;padding:12px;border-width:3px}.chat{bottom:145px;right:12px;width:calc(100% - 24px);max-height:65vh}.record{gap:10px}.record strong{font-size:12px}.record small{font-size:9px}footer{flex-direction:column;padding-bottom:20px}.chart{gap:15px}.consent{gap:12px}.actions button{font-size:12px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.auth-shell .workspace{margin-left:0}.auth-shell main{max-width:1080px}.auth-shell .welcome{min-height:540px}.auth-shell .welcome form{display:flex;flex-direction:column;align-items:stretch}.captcha-block{margin:10px 0 20px}.captcha-image-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-height:86px}.captcha-image-row img{max-width:100%;border-radius:10px;border:1px solid #dae5d3}.captcha-block small{line-height:1.8;display:block}.captcha-block input{text-transform:uppercase;letter-spacing:4px}.auth-error{color:#ad3b2c;background:#fff1ec;padding:12px;border-radius:8px;font-size:13px}.auth-shell input:disabled{opacity:.55}.auth-shell form>.ghost{margin-top:8px}@media(max-width:760px){.auth-shell main{padding-bottom:25px}.auth-shell .welcome{min-height:0}.auth-shell .welcome form{padding:22px}.captcha-image-row{gap:8px}.auth-shell .date{display:none}}.food-picker{position:relative;min-width:150px;flex:1 1}.food-options{position:absolute;z-index:15;top:100%;left:0;min-width:220px;max-height:280px;overflow:auto;background:var(--card,#fff);border:1px solid #dce5d7;border-radius:12px;padding:10px;box-shadow:0 10px 30px #23402b20}.food-options button{display:block;width:100%;text-align:left;margin:4px 0}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:16px;gap:16px;max-height:580px;overflow:auto;margin:18px 0}.catalog-tile{border:1px solid #e0e7dc;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:7px}.catalog-tile>img,.food-placeholder{width:100%;height:125px;object-fit:cover;border-radius:10px;background:#ecf1e5}.food-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:38px}.food-placeholder small{font-size:11px}.catalog-tile small{color:#728273}.catalog-form{border-top:1px solid #e0e7dc;padding-top:20px}.advisor-link{padding:12px 18px;font-size:13px;border-bottom:1px solid #e1e9dc}.item-row{flex-wrap:wrap}nav .nav-advisor{display:flex;align-items:center;gap:8px;color:#7a8880;font-size:13px;font-weight:500;padding:14px;border-radius:10px;text-decoration:none;white-space:nowrap}nav .nav-advisor:hover{background:#eaf3ec;color:#286b50}@media(max-width:760px){nav .nav-advisor{flex:1 1;flex-direction:column;justify-content:center;gap:5px;font-size:9px;padding:10px 8px;border-radius:0}}:root{--brand:#24765d;--page:#f7f9f6;--surface:#fff;--accent:#e8f1e9;--text:#283f36;--muted:#748579;--border:#e0e8df;--radius:16px;--sidebar:230px;--shadow:0 12px 35px #203e2910}.app,:root{color:var(--text);background:var(--page)}.app{min-height:100dvh}.dark{--page:#18251e;--surface:#233329;--accent:#334431;--text:#dbe5d7;--muted:#b2c0b4;--border:#455849}button{background:var(--brand)}.card{border-color:var(--border);border-radius:var(--radius)}.card,.global-sidebar{background:var(--surface)}.global-sidebar{width:var(--sidebar);overflow-y:auto}.global-header{background:var(--surface)}.global-sidebar nav{flex-shrink:0}.global-sidebar .sidebar-bottom{margin-top:24px}.workspace{margin-left:var(--sidebar)}input,select,textarea{border-color:var(--border)}.lifeos-dialog,input,select,textarea{background:var(--surface);color:var(--text)}.lifeos-dialog{border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:min(620px,calc(100% - 28px));max-height:85dvh;box-shadow:var(--shadow);overflow:auto}.lifeos-dialog::-webkit-backdrop{background:#183b3059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.lifeos-dialog::backdrop{background:#183b3059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dialog-head h2{margin:0;font-size:21px}.dark .lifeos-dialog{background:var(--surface);color:var(--text)}.global-sidebar nav .selected{background:var(--accent);color:var(--brand)}@media(max-width:1100px) and (min-width:761px){:root{--sidebar:195px}}@media(max-width:760px){.global-sidebar{width:100%;overflow-x:auto;overflow-y:hidden}.workspace{margin-left:0}.global-sidebar nav{width:max-content;min-width:100%}.global-sidebar nav a,.global-sidebar nav button{min-width:70px}.lifeos-dialog{padding:18px}.lifeos-dialog .form-grid{grid-template-columns:1fr 1fr}.lifeos-dialog .form-grid label{min-width:0}}.catalog-search,.catalog-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.catalog-toolbar p{margin-bottom:0}.catalog-toolbar h3{margin-bottom:8px}.catalog-search{margin:22px 0}.catalog-search label{max-width:440px;flex:1 1}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:none;overflow:visible;gap:18px}.catalog-tile{padding:0;overflow:hidden;background:var(--surface);border-color:var(--border);box-shadow:none;gap:0;transition:transform .15s,box-shadow .15s}.catalog-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.catalog-cover{position:relative;width:100%;padding:0;background:var(--accent);border-radius:0;display:block;aspect-ratio:4/3;overflow:hidden}.catalog-cover img{display:block;width:100%;height:100%;object-fit:cover}.catalog-cover small{position:absolute;bottom:8px;left:8px;background:#ffffffe0;color:#527249;padding:3px 7px;border-radius:5px;font-size:9px}.catalog-body{padding:16px}.catalog-body>b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.catalog-body>p{margin:14px 0}.catalog-body .actions{justify-content:space-between;align-items:center}.catalog-body button{font-size:12px;padding:9px 14px}.food-detail-image{width:100%;aspect-ratio:4/3;max-height:260px;object-fit:cover;border-radius:12px;margin-bottom:18px}.nutrition-details{display:grid;grid-template-columns:90px 1fr;grid-gap:12px;gap:12px;font-size:13px}.nutrition-details dt{color:var(--muted)}.nutrition-details dd{margin:0;overflow-wrap:anywhere}.add-methods{display:grid;grid-gap:14px;gap:14px}.add-methods button{display:flex;flex-wrap:wrap;justify-content:flex-start;background:var(--accent);color:var(--text);padding:18px}.add-methods small{width:100%;text-align:left}.catalog-form{border:0;padding:0}.catalog-skeleton{aspect-ratio:3/4;background:var(--accent);border-radius:var(--radius)}.image-job{display:block}.proposal-list{display:grid;margin-top:16px}@media(max-width:1250px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.catalog-toolbar{align-items:flex-start;gap:12px}.catalog-toolbar>button{font-size:12px;white-space:nowrap;padding:12px}.catalog-search{gap:10px}.catalog-grid{gap:12px}.catalog-body{padding:12px}.catalog-body .actions{gap:4px}.catalog-body button{padding:9px;font-size:11px}.catalog-search>button,.catalog-toolbar p{font-size:11px}}@media(max-width:360px){.catalog-grid{grid-template-columns:1fr}}.vision-drafts fieldset{border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.vision-drafts label{min-width:0}.global-sidebar a.ghost{display:flex;align-items:center;text-decoration:none}.logo{background:var(--brand)}.muted{color:var(--muted)}.primary-link{display:inline-flex;gap:8px;align-items:center;background:var(--brand);color:white;text-decoration:none;padding:12px 18px;border-radius:10px}.ai-action{margin:16px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--page)}.ai-action pre{white-space:pre-wrap;max-height:220px;overflow:auto;font-size:12px}.card textarea{width:100%;min-height:90px;border:1px solid var(--border);border-radius:10px;padding:12px;font:inherit;margin:8px 0 16px}.context-card{display:block;padding:8px 20px;background:var(--accent);font-size:11px}.voice-control{display:flex;align-items:center;gap:6px;max-width:45%;font-size:10px}.voice-control small{font-size:9px}.voice-control button{white-space:nowrap}.advisor-toolbar{flex-wrap:wrap}.global-header .badge{white-space:nowrap}@media(max-width:760px){.global-header>span{display:none}.global-header>div{width:100%;justify-content:space-between;gap:5px}.composer-actions{flex-wrap:wrap}.voice-control{max-width:100%}.context-card{padding:6px 12px;font-size:10px}.advisor-toolbar{gap:8px}}