:root{--ink:#17352e;--muted:#6f7f79;--green:#1d5a48;--green-2:#2d8068;--lime:#dff473;--cream:#f6f4ed;--paper:#fffefa;--line:#e4e7df;--gold:#dba84f;--coral:#df7c62;--blue:#6698a8;--danger:#a84336;--shadow:0 18px 50px rgba(25,59,50,.08);--radius:22px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:var(--ink);font-family:Inter,Avenir,"Segoe UI",Helvetica,Arial,sans-serif;background:var(--cream);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:var(--green);text-decoration:none}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(2rem,3vw,3.15rem);line-height:1.05;margin-bottom:.65rem}h2{font-size:1.5rem;margin-bottom:.35rem}h3{font-size:1rem;margin-bottom:.25rem}.subtle{color:var(--muted);line-height:1.6}.eyebrow{margin:0 0 .55rem;color:var(--green-2);font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);font-size:1.25rem;font-weight:800;letter-spacing:-.04em}.brand-mark{display:grid;width:34px;height:34px;border-radius:11px;color:var(--lime);background:var(--green);place-items:center}.brand-mark svg{width:25px;height:25px;stroke-width:2.2}.button{display:inline-flex;min-height:44px;padding:.68rem 1.15rem;border:1px solid transparent;border-radius:13px;align-items:center;justify-content:center;gap:.65rem;cursor:pointer;font-weight:750;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--green);box-shadow:0 8px 20px rgba(29,90,72,.18)}.button-primary:hover{background:#134a3a}.button-soft{color:var(--green);background:#ebf1e7}.button-outline{border-color:#cfd8d2;color:var(--ink);background:transparent}.button-ghost{color:var(--muted);background:transparent}.button-wide{width:100%}.button-large{min-height:54px}.button-plus{font-size:1.4rem;font-weight:400;line-height:1}.icon-button{display:grid;width:36px;height:36px;padding:0;border:0;border-radius:10px;color:var(--muted);background:transparent;cursor:pointer;place-items:center}.icon-button:hover{color:var(--ink);background:#edf0eb}.icon-button svg{width:19px}.card{border:1px solid rgba(218,224,216,.85);border-radius:var(--radius);background:var(--paper);box-shadow:0 10px 35px rgba(31,61,53,.045)}.card-kicker{display:flex;margin-bottom:1.3rem;align-items:center;justify-content:space-between;color:var(--ink);font-size:.84rem;font-weight:750}.card-kicker small{color:var(--muted);font-weight:600}.status-pill{display:inline-flex;padding:.35rem .65rem;border-radius:999px;align-items:center;gap:.4rem;font-size:.67rem;font-weight:800}.status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}.on-track{color:#30705d;background:#ebf5e9}.over{color:#aa4f40;background:#fbece8}.toast{position:fixed;z-index:50;top:20px;right:24px;display:flex;max-width:390px;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;align-items:center;gap:.65rem;background:#fff;box-shadow:var(--shadow);animation:toast-in .3s ease}.toast-dot{width:9px;height:9px;border-radius:50%;background:var(--green-2)}.toast-error .toast-dot{background:var(--danger)}.toast-close{margin-left:.4rem}@keyframes toast-in{from{opacity:0;transform:translateY(-10px)}}
/* Authentication */
.auth-body{min-height:100vh;background:#f4f1e8}.auth-shell{display:grid;min-height:100vh;grid-template-columns:minmax(480px,43%) 1fr}.auth-panel{display:flex;padding:2.2rem clamp(2rem,5vw,5.5rem) 1.5rem;flex-direction:column;background:var(--paper)}.auth-form-wrap{width:100%;max-width:430px;margin:auto}.register-wrap{padding-top:1.5rem}.auth-form-wrap h1{max-width:390px}.auth-form-wrap>.subtle{margin-bottom:1.8rem}.stack-form{display:flex;flex-direction:column;gap:1rem}.stack-form label,.form-row label,.nutrition-form-grid label{display:flex;flex-direction:column;gap:.48rem;color:#31463f;font-size:.78rem;font-weight:750}.stack-form label small,.form-row label small{color:#89958f;font-weight:500}.stack-form input,.stack-form select,.form-row input,.form-row select,.nutrition-form-grid input{width:100%;height:48px;padding:0 .9rem;border:1px solid #d9ded7;border-radius:12px;outline:0;color:var(--ink);background:#fff;transition:border .15s,box-shadow .15s}.stack-form input:focus,.stack-form select:focus,.form-row input:focus,.form-row select:focus,.nutrition-form-grid input:focus{border-color:#5f9785;box-shadow:0 0 0 3px rgba(45,128,104,.12)}.checkbox-label{display:grid!important;margin:.25rem 0;grid-template-columns:18px 1fr;align-items:start;line-height:1.4;font-weight:500!important}.checkbox-label input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--green)}.auth-switch{margin:1.25rem 0 0;text-align:center;color:var(--muted);font-size:.85rem}.auth-switch a{font-weight:800}.auth-foot{margin:1.3rem 0 0;color:#97a09b;font-size:.7rem;text-align:center}.form-error{margin-bottom:1rem;padding:.8rem 1rem;border:1px solid #efc3b8;border-radius:12px;color:#923f32;background:#fff1ed;font-size:.85rem}.auth-art{position:relative;display:flex;overflow:hidden;padding:clamp(3rem,6vw,6rem);align-items:center;justify-content:center;background:linear-gradient(145deg,#173e34,#285d4e);isolation:isolate}.auth-art:before,.auth-art:after{position:absolute;z-index:-1;width:460px;height:460px;border:1px solid rgba(223,244,115,.09);border-radius:50%;content:""}.auth-art:before{top:-170px;right:-110px}.auth-art:after{bottom:-300px;left:-100px;box-shadow:0 0 0 75px rgba(255,255,255,.018),0 0 0 150px rgba(255,255,255,.015)}.art-copy{position:absolute;top:9%;left:10%;color:#fff}.art-copy h2{margin:.9rem 0;font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.5rem);font-weight:400;line-height:1.02;letter-spacing:-.05em}.art-copy p{max-width:380px;color:#c8d8d1;line-height:1.6}.mini-pill{display:inline-flex;padding:.4rem .7rem;border:1px solid rgba(255,255,255,.19);border-radius:999px;color:var(--lime);font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.preview-card{position:relative;width:min(480px,75%);margin-top:21%;padding:1.4rem;border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 35px 70px rgba(0,0,0,.22);transform:rotate(-2deg)}.preview-head{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:800}.preview-date{color:#88958f;font-size:.6rem;letter-spacing:.1em}.preview-center{display:grid;padding:1.5rem;place-items:center}.preview-ring{display:flex;width:165px;height:165px;border-radius:50%;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#fff 60%,transparent 62%),conic-gradient(var(--lime) 0 78%,#edf0e7 78%)}.preview-ring strong{font-size:2rem}.preview-ring span{color:var(--muted);font-size:.7rem}.preview-macros{display:grid;padding-top:1rem;border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr)}.preview-macros div{display:grid;grid-template-columns:10px 1fr;gap:.15rem .4rem}.preview-macros span{font-size:.65rem;color:var(--muted)}.preview-macros strong{grid-column:2;font-size:.9rem}.dot{width:7px;height:7px;margin-top:3px;border-radius:50%}.protein{background:var(--green-2)}.carbs{background:var(--gold)}.fat{background:var(--coral)}.floating-food{position:absolute;display:flex;padding:.8rem 1rem;border-radius:15px;align-items:center;gap:.75rem;background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.18);font-size:1.15rem}.floating-food span{display:flex;flex-direction:column}.floating-food strong{font-size:.75rem}.floating-food small{margin-top:.15rem;color:var(--muted);font-size:.62rem}.food-one{right:7%;bottom:17%}.food-two{bottom:7%;left:8%;color:var(--green)}.auth-art-register{background:linear-gradient(145deg,#264d42,#18372f)}.habit-grid{display:grid;width:min(500px,82%);margin-top:23%;grid-template-columns:1fr 1fr;gap:1rem;transform:rotate(1.5deg)}.habit-grid>div{display:flex;padding:1.5rem;border-radius:22px;flex-direction:column;color:var(--ink);background:#fff;box-shadow:var(--shadow)}.habit-grid span{font-family:Georgia,serif;font-size:3.2rem}.habit-grid small{color:var(--muted)}.habit-wide{grid-column:1/-1}.habit-wide b{margin-bottom:1rem}.week-dots{display:grid;margin-bottom:.55rem;grid-template-columns:repeat(7,1fr);gap:.6rem}.week-dots i{display:grid;width:32px;height:32px;border-radius:50%;place-items:center;color:#fff;background:var(--green);font-size:.7rem;font-style:normal}.week-dots i:nth-last-child(-n+2){color:#a1ada7;background:#edf0eb}
/* App shell */
.app-shell{display:grid;min-height:100vh;grid-template-columns:244px 1fr}.sidebar{position:sticky;top:0;display:flex;height:100vh;padding:1.6rem 1.15rem 1rem;border-right:1px solid #e1e5dd;flex-direction:column;justify-content:space-between;background:#fbfaf5}.sidebar-brand{padding:0 .65rem}.main-nav{display:flex;margin-top:3rem;flex-direction:column;gap:.35rem}.nav-link{display:flex;padding:.76rem .85rem;border-radius:12px;align-items:center;gap:.85rem;color:#65756f;font-size:.86rem;font-weight:700}.nav-link:hover{color:var(--ink);background:#f0f1eb}.nav-link.active{color:var(--green);background:#e9f0e5}.nav-link svg{width:20px;height:20px}.nav-link:nth-child(2) svg{stroke-width:2.3}.profile-chip{display:grid;padding:.75rem .55rem;border-top:1px solid var(--line);grid-template-columns:34px 1fr 36px;align-items:center;gap:.6rem}.avatar{display:grid;width:34px;height:34px;border-radius:11px;place-items:center;color:#fff;background:var(--green);font-size:.8rem;font-weight:800}.profile-copy{display:flex;min-width:0;flex-direction:column}.profile-copy strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.profile-copy span{overflow:hidden;color:#8b9792;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.app-main{min-width:0;padding:2.5rem clamp(1.5rem,3.5vw,4rem) 5rem}.page-header{display:flex;margin:0 auto 2rem;max-width:1420px;align-items:flex-end;justify-content:space-between}.page-header h1{margin-bottom:.45rem}.page-header .subtle{margin-bottom:0}.dashboard-header{align-items:center}.date-picker{display:flex;align-items:center;gap:.35rem}.date-picker label{display:flex;height:42px;padding:0 .8rem;border:1px solid #d9ded7;border-radius:11px;align-items:center;background:#fff}.date-picker svg{width:17px;color:var(--muted)}.date-picker input{width:136px;border:0;outline:0;color:var(--ink);background:transparent;font-size:.8rem;font-weight:700}.summary-grid{display:grid;max-width:1420px;margin:0 auto 2.5rem;grid-template-columns:1.5fr 1.2fr .8fr;gap:1rem}.summary-grid>.card{padding:1.25rem}.energy-body{display:flex;align-items:center;gap:1.6rem}.energy-ring{position:relative;width:144px;height:144px;flex:0 0 144px}.energy-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.energy-ring circle{fill:none;stroke-width:10}.ring-bg{stroke:#edf0e9}.ring-value{stroke:var(--lime);stroke-linecap:round}.energy-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.energy-ring strong{font-size:1.65rem}.energy-ring span{color:var(--muted);font-size:.65rem}.energy-stats{display:flex;flex:1;flex-direction:column}.energy-stats div{display:flex;padding:.75rem 0;align-items:center;justify-content:space-between}.energy-stats div+div{border-top:1px solid var(--line)}.energy-stats span{color:var(--muted);font-size:.7rem}.energy-stats strong{font-size:1rem}.energy-stats small{color:var(--muted);font-size:.6rem;font-weight:600}.macro-list{display:flex;flex-direction:column;gap:.9rem}.macro-label{display:flex;margin-bottom:.4rem;align-items:center;justify-content:space-between;font-size:.7rem}.macro-label>span{display:flex;align-items:center;gap:.4rem}.macro-dot{width:7px;height:7px;border-radius:50%}.macro-dot.green{background:var(--green-2)}.macro-dot.gold{background:var(--gold)}.macro-dot.coral{background:var(--coral)}.macro-label small{color:#93a09a;font-weight:500}progress{width:100%;height:6px;border:0;border-radius:99px;appearance:none}progress::-webkit-progress-bar{border-radius:99px;background:#edf0eb}progress::-webkit-progress-value{border-radius:99px;background:var(--green-2)}progress.progress-gold::-webkit-progress-value{background:var(--gold)}progress.progress-coral::-webkit-progress-value{background:var(--coral)}progress::-moz-progress-bar{border-radius:99px;background:var(--green-2)}.micro-row{display:grid;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line);grid-template-columns:1fr 1fr}.micro-row div{display:flex;justify-content:space-between;font-size:.7rem}.micro-row div+div{padding-left:1rem;border-left:1px solid var(--line)}.micro-row span{color:var(--muted)}.weight-mini-card{display:flex;flex-direction:column}.weight-mini-card .button{margin-top:auto}.weight-number strong{font-family:Georgia,serif;font-size:2.65rem;font-weight:500}.weight-number span{margin-left:.25rem;color:var(--muted)}.empty-weight-icon{display:grid;width:42px;height:42px;margin-bottom:.8rem;border-radius:14px;place-items:center;color:var(--green);background:#edf3e7;font-size:1.25rem}.weight-mini-card h3{margin-bottom:.25rem}.weight-mini-card p{font-size:.72rem}.content-grid{display:grid;max-width:1420px;margin:auto;grid-template-columns:minmax(0,1.85fr) minmax(270px,.7fr);gap:1.5rem}.section-heading{display:flex;margin-bottom:1rem;align-items:flex-end;justify-content:space-between}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:.35rem}.meal-list{display:flex;flex-direction:column;gap:.75rem}.meal-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.meal-head{display:flex;padding:1rem 1.15rem;align-items:center;justify-content:space-between}.meal-title{display:flex;align-items:center;gap:.75rem}.meal-icon{display:grid;width:37px;height:37px;border-radius:12px;place-items:center;color:var(--green);background:#edf2e8}.meal-title h3{margin:0 0 .1rem;font-size:.9rem}.meal-title span{color:var(--muted);font-size:.65rem}.meal-head>strong{font-size:.83rem}.meal-head>strong small{color:var(--muted);font-size:.62rem;font-weight:500}.meal-items{border-top:1px solid #edf0eb}.food-row{display:grid;padding:.75rem 1rem;grid-template-columns:35px 1fr auto 28px;align-items:center;gap:.7rem}.food-row+.food-row{border-top:1px solid #edf0eb}.food-avatar{display:grid;width:34px;height:34px;border-radius:10px;place-items:center;color:var(--green);background:#eef2e8;font-size:.72rem;font-weight:800}.food-copy,.food-nutrition{display:flex;min-width:0;flex-direction:column}.food-copy strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.food-copy span,.food-nutrition span{margin-top:.15rem;color:var(--muted);font-size:.61rem}.food-nutrition{text-align:right}.food-nutrition strong{font-size:.72rem}.row-delete{width:28px;height:28px}.empty-meal-add{display:flex;padding:.65rem 1.15rem;border-top:1px dashed #dfe4dc;align-items:center;gap:.5rem;color:#77867f;font-size:.7rem;font-weight:700}.empty-meal-add span{font-size:1rem}.insights-column{display:flex;flex-direction:column;gap:1rem}.week-card{padding:1.25rem}.trend-up{color:var(--green-2);font-size:.63rem}.bar-chart{display:flex;height:150px;padding-top:.5rem;align-items:end;justify-content:space-around;gap:.55rem}.bar-column{display:flex;height:100%;flex:1;flex-direction:column;align-items:center;gap:.5rem}.bar-track{display:flex;width:100%;max-width:25px;height:125px;border-radius:8px;align-items:end;background:#eef0eb}.bar-fill{width:100%;min-height:5%;border-radius:8px;background:#cbd8ce}.bar-fill.today{background:var(--green)}.bar-column span{color:var(--muted);font-size:.6rem}.insight-copy{display:flex;margin:1rem 0 0;padding:.8rem;border-radius:12px;gap:.55rem;color:#65766f;background:#f2f5ed;font-size:.68rem;line-height:1.45}.insight-copy span{color:var(--green)}.coach-card{display:flex;padding:1.2rem;border-radius:20px;gap:.85rem;color:#fff;background:var(--green)}.coach-icon{display:grid;width:35px;height:35px;border-radius:12px;flex:0 0 35px;place-items:center;color:var(--lime);background:rgba(255,255,255,.1)}.coach-card .eyebrow{color:var(--lime)}.coach-card h3{font-size:1rem}.coach-card p:last-child{margin:0;color:#c9dad4;font-size:.7rem;line-height:1.5}.mobile-nav,.mobile-header{display:none}
/* Forms and search */
.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--muted);font-size:.75rem;font-weight:700}.form-layout,.settings-layout{display:grid;max-width:1100px;margin:0 auto;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.5rem}.form-card{padding:clamp(1.2rem,3vw,2rem)}.search-field{position:relative;display:flex;height:58px;border:1px solid #cad4cd;border-radius:16px;align-items:center;background:#fff;box-shadow:0 8px 24px rgba(24,65,53,.06)}.search-field:focus-within{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(45,128,104,.1)}.search-field svg{width:21px;margin:0 .8rem 0 1rem;color:#82918a}.search-field input{height:100%;border:0;outline:0;flex:1;color:var(--ink);background:transparent}.search-spinner{width:18px;height:18px;margin-right:1rem;border:2px solid #dce3de;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-hint{display:flex;min-height:370px;padding:3rem 1rem;flex-direction:column;align-items:center;justify-content:center;text-align:center}.search-empty-visual{display:grid;width:54px;height:54px;margin-bottom:1rem;border-radius:18px;place-items:center;color:var(--green);background:#edf3e8;font-size:1.5rem}.search-hint h3{font-size:1.1rem}.search-hint p{color:var(--muted);font-size:.8rem}.search-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.search-suggestions button{padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;color:#687a72;background:#fff;cursor:pointer;font-size:.7rem}.food-results{display:flex;margin-top:1rem;flex-direction:column}.result-item{display:grid;width:100%;padding:.8rem;border:0;border-radius:13px;grid-template-columns:38px 1fr auto;align-items:center;gap:.75rem;color:var(--ink);background:transparent;cursor:pointer;text-align:left}.result-item:hover{background:#f3f5ef}.result-item .result-copy{display:flex;min-width:0;flex-direction:column}.result-item strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.result-item span{margin-top:.2rem;color:var(--muted);font-size:.65rem}.result-nutrition{text-align:right}.result-nutrition b{display:block;font-size:.75rem}.result-nutrition small{color:var(--muted);font-size:.58rem}.selected-food{margin-top:1rem;padding:1rem;border-radius:17px;background:#f2f5ee}.selected-head{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.8rem}.selected-avatar{width:42px;height:42px}.selected-head span{color:var(--muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.selected-head h3{margin:.15rem 0;font-size:.9rem}.selected-head p{margin:0;color:var(--muted);font-size:.65rem}.button-link{border:0;color:var(--green);background:transparent;cursor:pointer;font-size:.68rem;font-weight:800}.nutrition-preview{display:grid;margin-top:1rem;padding-top:1rem;border-top:1px solid #dce3da;grid-template-columns:repeat(4,1fr)}.nutrition-preview div{display:flex;flex-direction:column;align-items:center}.nutrition-preview div+div{border-left:1px solid #dce3da}.nutrition-preview strong{font-size:.9rem}.nutrition-preview span{color:var(--muted);font-size:.6rem}.log-fields{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.form-row{display:grid;margin-bottom:1rem;grid-template-columns:1fr 1fr;gap:1rem}.form-aside{display:flex;flex-direction:column;gap:1rem}.tip-card{display:flex;padding:1.15rem;border-radius:18px;gap:.8rem;color:#fff;background:var(--green)}.tip-card>span{color:var(--lime)}.tip-card h3{margin-bottom:.35rem}.tip-card p{margin:0;color:#cadbd5;font-size:.7rem;line-height:1.55}.custom-prompt{padding:1.4rem;border:1px solid var(--line);border-radius:20px;text-align:center;background:#fff}.custom-icon{display:grid;width:44px;height:44px;margin:0 auto .8rem;border-radius:14px;place-items:center;color:var(--green);background:#edf3e8;font-size:1.3rem}.custom-prompt p{color:var(--muted);font-size:.72rem;line-height:1.5}.data-source{padding:0 .5rem;color:#89958f;font-size:.62rem;line-height:1.5;text-align:center}.custom-food-card{max-width:880px;margin:auto}.form-section+.form-section{margin-top:1.8rem;padding-top:1.8rem;border-top:1px solid var(--line)}.form-section-title{display:flex;margin-bottom:1.3rem;align-items:center;gap:.8rem}.form-section-title>span{display:grid;width:36px;height:36px;border-radius:12px;place-items:center;color:var(--green);background:#edf3e8;font-weight:800}.form-section-title h2{margin:0;font-size:1.05rem}.form-section-title p{margin:.2rem 0 0;color:var(--muted);font-size:.68rem}.nutrition-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.nutrition-form-grid label span{display:flex;justify-content:space-between}.nutrition-form-grid small{color:var(--muted);font-weight:500}.form-actions{display:flex;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line);justify-content:flex-end;gap:.7rem}
/* Weight and settings */
.weight-summary-grid{display:grid;max-width:1200px;margin:0 auto 1.5rem;grid-template-columns:1fr 1fr 1.35fr;gap:1rem}.weight-stat{padding:1.35rem}.weight-stat>span{color:var(--muted);font-size:.7rem}.weight-stat>div{margin:.5rem 0}.weight-stat strong{font-family:Georgia,serif;font-size:2.2rem;font-weight:500}.weight-stat b{margin-left:.3rem;color:var(--muted);font-size:.75rem}.weight-stat small{color:var(--muted);font-size:.62rem}.weight-message{display:flex;align-items:center;gap:1rem;color:#fff;background:var(--green)}.weight-message .coach-icon{font-family:inherit}.weight-message strong{font-family:inherit;font-size:.9rem}.weight-message p{margin:.25rem 0 0;color:#c8d9d3;font-size:.68rem;line-height:1.5}.positive-change{color:var(--green-2)}.trend-card,.history-section{max-width:1200px;margin:0 auto 1.5rem}.trend-card{padding:1.5rem}.weight-chart{height:270px;padding:1rem 0}.weight-chart svg{width:100%;height:100%;overflow:visible}.weight-chart line{stroke:#e7eae4;stroke-width:1}.weight-chart polyline{fill:none;stroke:var(--green-2);stroke-width:3;vector-effect:non-scaling-stroke}.weight-chart circle{fill:var(--paper);stroke:var(--green);stroke-width:3;vector-effect:non-scaling-stroke}.chart-empty{display:flex;padding:3rem 1rem;flex-direction:column;align-items:center;text-align:center}.chart-empty p{color:var(--muted);font-size:.75rem}.history-card{overflow:hidden}.history-row{display:grid;padding:1rem 1.2rem;grid-template-columns:42px 1fr auto;align-items:center;gap:.8rem}.history-row+.history-row{border-top:1px solid var(--line)}.history-date-icon{display:grid;width:40px;height:40px;border-radius:12px;place-items:center;color:var(--green);background:#edf3e8;font-family:Georgia,serif;font-size:1.05rem}.history-row>div:nth-child(2){display:flex;flex-direction:column}.history-row>div:nth-child(2) strong{font-size:.78rem}.history-row>div:nth-child(2) span{margin-top:.2rem;color:var(--muted);font-size:.63rem}.history-weight{display:flex;align-items:center;gap:.7rem}.history-weight strong{font-size:.85rem}.history-weight small{color:var(--muted)}.list-empty{padding:2rem;color:var(--muted);text-align:center;font-size:.8rem}.modal{width:min(440px,calc(100% - 2rem));padding:0;border:0;border-radius:24px;color:var(--ink);background:var(--paper);box-shadow:0 30px 80px rgba(10,35,28,.28)}.modal::backdrop{background:rgba(17,39,33,.55);backdrop-filter:blur(4px)}.modal form{padding:1.5rem}.modal-head{display:flex;align-items:start;justify-content:space-between}.modal-head h2{font-size:1.5rem}.input-with-unit{display:grid;grid-template-columns:1fr 85px}.input-with-unit input{border-radius:12px 0 0 12px!important}.input-with-unit select{border-left:0;border-radius:0 12px 12px 0!important;background:#f2f4ef}.modal-note{margin:0;color:var(--muted);font-size:.62rem;line-height:1.5;text-align:center}.settings-card .form-section:first-child{padding-top:0}.settings-avatar{width:52px;height:52px;margin:0 auto 1rem;font-size:1rem}.settings-card label>small{display:block;margin-top:-.15rem;color:var(--muted);font-size:.6rem;font-weight:500}.error-page{display:grid;min-height:100vh;padding:1rem;place-items:center;background:var(--cream)}.error-card{max-width:500px;padding:3rem;text-align:center}.error-card .brand{margin-bottom:2rem}.error-number{color:#d8ded8;font-family:Georgia,serif;font-size:5rem}.error-card p{margin-bottom:1.5rem;color:var(--muted)}
.height-0,.height-5{height:5%}.height-10{height:10%}.height-15{height:15%}.height-20{height:20%}.height-25{height:25%}.height-30{height:30%}.height-35{height:35%}.height-40{height:40%}.height-45{height:45%}.height-50{height:50%}.height-55{height:55%}.height-60{height:60%}.height-65{height:65%}.height-70{height:70%}.height-75{height:75%}.height-80{height:80%}.height-85{height:85%}.height-90{height:90%}.height-95{height:95%}.height-100{height:100%}
@media(max-width:1100px){.summary-grid{grid-template-columns:1fr 1fr}.weight-mini-card{grid-column:1/-1}.content-grid{grid-template-columns:1fr}.insights-column{display:grid;grid-template-columns:1fr 1fr}.auth-shell{grid-template-columns:1fr 1fr}.auth-art{padding:2rem}.art-copy{left:7%}.preview-card{width:90%}.nutrition-form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.app-shell{display:block}.sidebar{display:none}.app-main{padding:0 1rem 6.5rem}.mobile-header{display:flex;height:72px;align-items:center;justify-content:space-between}.mobile-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:flex;height:72px;padding:6px max(18px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);align-items:center;justify-content:space-around;background:rgba(255,254,250,.96);backdrop-filter:blur(12px)}.mobile-nav a{display:flex;min-width:64px;flex-direction:column;align-items:center;gap:3px;color:#809089;font-size:.6rem}.mobile-nav svg{width:21px;height:21px}.mobile-nav a.active{color:var(--green)}.mobile-nav .mobile-add{position:relative;top:-13px}.mobile-add svg{width:45px!important;height:45px!important;padding:12px;border-radius:16px;color:#fff;background:var(--green);stroke-width:2.2;box-shadow:0 8px 20px rgba(29,90,72,.25)}.page-header{margin-bottom:1.5rem;align-items:start}.page-header h1{font-size:2rem}.dashboard-header{gap:1rem}.dashboard-header .subtle{display:none}.date-picker label{padding:0 .5rem}.date-picker input{width:112px}.summary-grid{grid-template-columns:1fr}.weight-mini-card{grid-column:auto}.content-grid{display:block}.insights-column{display:grid;margin-top:1rem}.form-layout,.settings-layout{grid-template-columns:1fr}.form-aside{grid-row:auto}.weight-summary-grid{grid-template-columns:1fr 1fr}.weight-message{grid-column:1/-1}.auth-shell{display:block}.auth-panel{min-height:100vh;padding:1.5rem}.auth-form-wrap{padding:2rem 0}.auth-art{display:none}.toast{right:12px;left:12px;top:12px;max-width:none}}
@media(max-width:540px){.summary-grid{gap:.75rem}.energy-body{gap:.75rem}.energy-ring{width:125px;height:125px;flex-basis:125px}.energy-stats div{flex-direction:column;align-items:flex-start;gap:.2rem}.insights-column{display:flex}.page-header{flex-direction:column;gap:1rem}.dashboard-header{align-items:stretch}.date-picker{justify-content:space-between}.date-picker label{flex:1;justify-content:center}.date-picker input{width:125px}.section-heading .button{padding:.55rem .75rem;font-size:.72rem}.food-row{grid-template-columns:35px 1fr 25px}.food-nutrition{display:none}.form-row{grid-template-columns:1fr}.nutrition-form-grid{grid-template-columns:1fr 1fr;gap:.75rem}.nutrition-preview{grid-template-columns:repeat(2,1fr);gap:.8rem}.nutrition-preview div:nth-child(3){border-left:0}.weight-summary-grid{grid-template-columns:1fr}.weight-message{grid-column:auto}.history-row{grid-template-columns:40px 1fr}.history-weight{grid-column:2;justify-content:space-between}.auth-form-wrap h1{font-size:2.25rem}.auth-foot{margin-top:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Diary editing and faster search-result presentation */
[hidden]{display:none!important}.food-page-header{margin-bottom:1.25rem}.food-search-card{overflow:visible}.food-results:not(:empty){max-height:430px;margin-top:.55rem;padding:.35rem;border:1px solid var(--line);border-radius:15px;overflow-y:auto;background:#fff;box-shadow:0 16px 35px rgba(25,59,50,.09)}.search-hint{min-height:210px;padding:1.8rem 1rem}.compact-search-hint{min-height:155px}.food-actions{display:flex;align-items:center}.food-actions form{display:flex}.row-edit,.row-delete{width:28px;height:28px}.row-edit svg{width:15px}.auto-meal-note{margin:-.2rem 0 1rem;color:var(--muted);font-size:.66rem;line-height:1.5}.edit-actions{display:flex;padding-top:.35rem;align-items:center;justify-content:flex-end;gap:.6rem}
@media(min-width:541px){.food-row{grid-template-columns:35px 1fr auto 64px}}
@media(max-width:540px){.food-row{grid-template-columns:35px 1fr 58px}.food-actions{grid-column:3;grid-row:1}.food-page-header .back-link{margin-bottom:1rem}.food-results:not(:empty){max-height:55vh}.edit-actions .button{flex:1}}
.quick-searches{display:flex;padding:.7rem .2rem .15rem;align-items:center;gap:.7rem}.quick-searches>span{color:var(--muted);font-size:.65rem;font-weight:750;white-space:nowrap}.search-no-results{display:flex;min-height:150px;padding:1.5rem;flex-direction:column;align-items:center;justify-content:center;text-align:center}.search-no-results h3{margin-bottom:.3rem}.search-no-results p{margin-bottom:.8rem;color:var(--muted);font-size:.75rem}
.predictive-input{position:relative;display:flex;height:100%;min-width:0;flex:1;align-items:center}.predictive-input input{position:relative;z-index:1;width:100%;padding:0;background:transparent}.food-completion{position:absolute;z-index:0;right:0;left:0;overflow:hidden;color:#aab7b0;font:inherit;line-height:58px;pointer-events:none;white-space:pre}.food-completion .completion-entered{color:transparent}.predictive-help{margin:.38rem .25rem 0;color:#85938c;font-size:.6rem}.result-item.top-result{position:relative;background:#f4f8f1}.result-item.top-result::after{position:absolute;top:.38rem;right:.5rem;padding:.15rem .38rem;border-radius:999px;color:#446657;background:#e4efe3;content:'Best match';font-size:.48rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.result-item.top-result .result-nutrition{padding-top:.5rem}
.theme-storybook .food-completion{font-family:Kalam,cursive}

/* Nourishly 2.0 — expressive product system */
:root{--electric:#b9f227;--violet:#7c66e8;--peach:#ff9a72;--cyan:#77d7d1;--night:#102d27}.app-body{background:radial-gradient(circle at 82% 4%,rgba(185,242,39,.13),transparent 24rem),radial-gradient(circle at 37% 45%,rgba(124,102,232,.06),transparent 32rem),var(--cream)}.app-main{position:relative}.app-main:before{position:fixed;z-index:-1;top:18%;right:-90px;width:220px;height:220px;border:45px solid rgba(119,215,209,.045);border-radius:45% 55% 65% 35%;content:"";transform:rotate(24deg)}.button-acid{color:var(--night);background:var(--electric);box-shadow:0 10px 30px rgba(185,242,39,.2)}.button-acid:hover{background:#cbff45}.mobile-header-actions{display:flex;align-items:center;gap:.65rem}.mobile-admin{padding:.38rem .65rem;border-radius:9px;color:var(--electric);background:var(--night);font-size:.65rem;font-weight:800}

/* Sidebar calendar */
.sidebar{overflow-y:auto}.sidebar-top{display:flex;min-height:0;flex-direction:column}.main-nav{margin-top:1.75rem;gap:.12rem}.nav-link{padding:.62rem .85rem}.admin-nav-link{position:relative;margin-top:.35rem;color:#fff!important;background:linear-gradient(110deg,var(--night),#225848)!important}.admin-nav-link b{margin-left:auto;padding:.18rem .35rem;border-radius:5px;color:var(--night);background:var(--electric);font-size:.48rem;letter-spacing:.08em}.sidebar-calendar{margin:.95rem .5rem 0;padding:.7rem;border:1px solid rgba(211,219,210,.9);border-radius:16px;background:rgba(255,255,255,.65)}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head strong{font-size:.68rem}.calendar-head .icon-button{width:25px;height:25px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-week{margin:.35rem 0 .25rem}.calendar-week span{color:#a1aaa5;font-size:.48rem;text-align:center}.calendar-grid>a,.calendar-grid>span{position:relative;display:grid;aspect-ratio:1;place-items:center;border-radius:7px;color:#60736b;font-size:.55rem;font-weight:700}.calendar-grid>a:hover{background:#eaf0e7}.calendar-grid>a.today{box-shadow:inset 0 0 0 1px var(--green)}.calendar-grid>a.selected{color:#fff;background:var(--green)}.calendar-grid>a.has-entries:after{position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;content:"";background:var(--peach)}.calendar-grid>a.selected:after{background:var(--electric)}.calendar-today{display:flex;margin-top:.45rem;padding-top:.5rem;border-top:1px solid var(--line);justify-content:space-between;color:var(--green);font-size:.55rem;font-weight:800}

/* Recipes */
.recipe-hero{padding:1.7rem 2rem;border-radius:25px;color:#fff;background:linear-gradient(120deg,#123b31 0%,#256c55 62%,#79a744 100%);box-shadow:0 24px 60px rgba(20,66,53,.15)}.recipe-hero .eyebrow{color:var(--electric)}.recipe-hero .subtle{color:#d7e7e1}.recipe-grid{display:grid;max-width:1250px;margin:auto;grid-template-columns:repeat(3,1fr);gap:1rem}.recipe-card{overflow:hidden;border:1px solid rgba(222,226,218,.9);border-radius:25px;background:#fff;box-shadow:0 16px 45px rgba(29,66,55,.07);transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-4px) rotate(-.35deg);box-shadow:0 24px 55px rgba(29,66,55,.12)}.recipe-art{display:flex;height:125px;padding:1rem;align-items:flex-end;justify-content:space-between;background:linear-gradient(135deg,#dff473,#8ec9a2)}.recipe-art span{font-size:2.7rem}.recipe-art small{padding:.35rem .55rem;border-radius:99px;background:rgba(255,255,255,.65);font-size:.58rem;font-weight:800}.recipe-tone-1 .recipe-art{background:linear-gradient(135deg,#ffb491,#f5dd75)}.recipe-tone-2 .recipe-art{background:linear-gradient(135deg,#a99af2,#79d6cf)}.recipe-tone-3 .recipe-art{background:linear-gradient(135deg,#84d7b0,#d1ee85)}.recipe-card-copy{padding:1.25rem}.recipe-card-copy>p{margin:0 0 .35rem;color:var(--green-2);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.recipe-card-copy h2{margin-bottom:.3rem}.recipe-card-copy>span{display:block;min-height:35px;color:var(--muted);font-size:.68rem;line-height:1.5}.recipe-macros{display:grid;margin:1rem 0;padding:1rem 0;border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr)}.recipe-macros div{display:flex;flex-direction:column}.recipe-macros div+div{padding-left:.7rem;border-left:1px solid var(--line)}.recipe-macros strong{font-size:.9rem}.recipe-macros small{color:var(--muted);font-size:.55rem}.recipe-actions{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.recipe-actions form{flex:1}.recipe-actions form .button{width:100%;font-size:.7rem}.recipe-empty{display:flex;max-width:760px;margin:5vh auto;padding:2rem;flex-direction:column;align-items:center;text-align:center}.recipe-empty>p:not(.eyebrow){max-width:500px;color:var(--muted);line-height:1.6}.recipe-empty-orbit{position:relative;display:grid;width:180px;height:180px;margin-bottom:2rem;border:1px dashed #b8c9bd;border-radius:50%;place-items:center;animation:orbit-float 5s ease-in-out infinite}.recipe-empty-orbit b{display:grid;width:68px;height:68px;border-radius:23px;place-items:center;color:var(--night);background:var(--electric);font-size:2rem}.recipe-empty-orbit span{position:absolute;display:grid;width:43px;height:43px;border-radius:15px;place-items:center;background:#fff;box-shadow:var(--shadow)}.recipe-empty-orbit span:nth-child(1){top:5px;left:12px}.recipe-empty-orbit span:nth-child(2){top:42px;right:-8px}.recipe-empty-orbit span:nth-child(3){bottom:-3px;left:39px}@keyframes orbit-float{50%{transform:translateY(-8px) rotate(2deg)}}.recipe-builder{display:grid;max-width:1150px;margin:auto;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:1.2rem}.recipe-workbench{padding:1.5rem}.editor-label{display:flex;margin-bottom:1rem;flex-direction:column;gap:.48rem;color:#31463f;font-size:.78rem;font-weight:750}.editor-label input,.editor-label textarea{width:100%;padding:.8rem .9rem;border:1px solid #d9ded7;border-radius:12px;outline:0;color:var(--ink);background:#fff}.ingredient-search-wrap{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid var(--line)}.recipe-food-results:not(:empty){max-height:280px}.recipe-ingredient-list{margin-top:1rem}.recipe-ingredient-row{display:grid;padding:.75rem;border:1px solid var(--line);border-radius:13px;grid-template-columns:36px 1fr 105px 28px;align-items:center;gap:.65rem;background:#fff}.recipe-ingredient-row+.recipe-ingredient-row{margin-top:.5rem}.recipe-ingredient-copy{display:flex;min-width:0;flex-direction:column}.recipe-ingredient-copy strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.recipe-ingredient-copy span{color:var(--muted);font-size:.6rem}.ingredient-grams{display:flex;height:38px;border:1px solid var(--line);border-radius:10px;align-items:center;background:#fafbf8}.ingredient-grams input{min-width:0;height:100%;padding:0 .4rem;border:0;outline:0;text-align:right;background:transparent}.ingredient-grams span{padding-right:.5rem;color:var(--muted);font-size:.65rem}.ingredient-empty{display:flex;padding:2rem;flex-direction:column;align-items:center;color:var(--muted);text-align:center}.ingredient-empty>span{display:grid;width:40px;height:40px;margin-bottom:.5rem;border-radius:13px;place-items:center;color:var(--green);background:#edf3e8}.ingredient-empty p{margin:0;font-size:.68rem}.recipe-summary{position:sticky;top:2rem;overflow:hidden;border-radius:25px;color:#fff;background:var(--night);box-shadow:0 25px 55px rgba(16,45,39,.2)}.recipe-summary-top{padding:1.5rem}.recipe-summary .eyebrow{color:var(--electric)}.recipe-calorie{display:flex;margin:1.3rem 0;align-items:baseline;gap:.4rem}.recipe-calorie strong{font-family:Georgia,serif;font-size:3.5rem;font-weight:400}.recipe-calorie span{color:#a9c1b9;font-size:.7rem}.recipe-summary-macros{display:grid;padding:1rem 0;border-block:1px solid rgba(255,255,255,.12);grid-template-columns:repeat(3,1fr)}.recipe-summary-macros div{display:flex;flex-direction:column}.recipe-summary-macros span{color:#9eb6ae;font-size:.55rem}.recipe-total{display:flex;padding-top:1rem;justify-content:space-between;font-size:.68rem}.recipe-summary>.button{width:calc(100% - 2rem);margin:0 1rem .6rem}.recipe-summary>p{padding:0 1.2rem 1rem;color:#92aba3;font-size:.56rem;line-height:1.45;text-align:center}

/* Reports */
.report-hero{padding:2rem;border-radius:26px;color:#fff;background:radial-gradient(circle at 84% 10%,rgba(185,242,39,.35),transparent 12rem),linear-gradient(120deg,#182d52,#503f8c 58%,#6b5fc8)}.report-hero .eyebrow{color:#dff473}.report-hero p{margin:0;color:#d7d4eb}.range-switch{display:flex;padding:.3rem;border-radius:12px;background:rgba(255,255,255,.12)}.range-switch a{padding:.55rem .75rem;border-radius:9px;color:#d9d6ec;font-size:.65rem;font-weight:800}.range-switch a.active{color:#2f275b;background:#fff}.report-score-grid{display:grid;max-width:1420px;margin:0 auto 1rem;grid-template-columns:1.7fr repeat(3,1fr);gap:1rem}.report-score{display:flex;min-height:155px;padding:1.25rem;border:1px solid var(--line);border-radius:22px;flex-direction:column;justify-content:center;background:#fff}.primary-score{flex-direction:row;align-items:center;gap:1.2rem;color:#fff;background:var(--night)}.score-orbit{display:flex;width:100px;height:100px;border:9px solid var(--electric);border-right-color:rgba(255,255,255,.12);border-radius:50%;flex:0 0 100px;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg)}.score-orbit>*{transform:rotate(10deg)}.score-orbit strong{font-size:1.25rem}.score-orbit span{color:#b5cbc3;font-size:.5rem}.primary-score h2{font-size:1.15rem}.primary-score p:last-child{margin:0;color:#b7ccc5;font-size:.65rem;line-height:1.5}.report-score>.report-icon{display:grid;width:35px;height:35px;margin-bottom:.8rem;border-radius:12px;place-items:center;color:#413774;background:#eeeaff}.report-score>strong{font-family:Georgia,serif;font-size:2rem;font-weight:500}.report-score>p{margin:.1rem 0;color:var(--ink);font-size:.72rem;font-weight:800}.report-score>small{color:var(--muted);font-size:.57rem}.report-chart-card{max-width:1420px;margin:0 auto 1.5rem;padding:1.5rem}.chart-legend{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.6rem}.chart-legend i{width:12px;border-top:2px dashed var(--peach)}.report-bars{position:relative;display:flex;height:230px;padding-top:15px;align-items:end;gap:3px}.report-bar{position:relative;z-index:2;display:flex;height:200px;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:.35rem}.report-bar-fill{width:100%;max-width:18px;border-radius:6px 6px 3px 3px;background:#e9ece7;transition:transform .15s}.report-bar-fill.has-data{background:linear-gradient(to top,var(--green),#83c785)}.report-bar:hover .report-bar-fill{transform:scaleX(1.25)}.report-bar small{height:10px;color:var(--muted);font-size:.5rem}.target-line{position:absolute;z-index:1;right:0;bottom:calc(10px + 80%);left:0;border-top:2px dashed rgba(255,154,114,.65)}.report-columns{display:grid;max-width:1420px;margin:auto;grid-template-columns:1.45fr 1fr;gap:1.5rem}.nutrient-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.nutrient-report{display:grid;padding:1rem;border:1px solid var(--line);border-radius:17px;grid-template-columns:9px 1fr;align-items:center;gap:.7rem;background:#fff}.nutrient-report progress,.nutrient-report>small{grid-column:2}.nutrient-report p{margin:0;color:var(--muted);font-size:.62rem}.nutrient-report strong{font-size:1rem}.nutrient-symbol{width:8px;height:35px;border-radius:99px;background:var(--green)}.nutrient-symbol.lime{background:var(--electric)}.nutrient-symbol.coral{background:var(--peach)}.nutrient-symbol.gold{background:var(--gold)}.nutrient-symbol.violet{background:var(--violet)}.nutrient-symbol.blue{background:var(--blue)}.nutrient-report>small{color:var(--muted);font-size:.52rem}.report-caveat{padding:.7rem;color:var(--muted);font-size:.58rem;line-height:1.5}.insight-stack{display:flex;flex-direction:column;gap:.65rem}.pattern-insight{display:flex;padding:1rem;border-radius:17px;gap:.75rem;background:#edf5e8}.pattern-insight>span{display:grid;width:34px;height:34px;border-radius:11px;flex:0 0 34px;place-items:center;background:rgba(255,255,255,.65)}.pattern-insight h3{margin-bottom:.25rem}.pattern-insight p{margin:0;color:#566b63;font-size:.65rem;line-height:1.5}.insight-violet{background:#eeeafa}.insight-coral{background:#fff0e9}.insight-gold{background:#faf2dc}.evidence-footer{display:flex;max-width:1420px;margin:2rem auto 0;padding:1.2rem;border:1px solid #d9ded6;border-radius:18px;align-items:center;justify-content:space-between;gap:1rem;background:rgba(255,255,255,.6)}.evidence-footer>div{display:flex;max-width:800px;align-items:center;gap:.7rem}.evidence-footer>div>span{font-size:1.3rem}.evidence-footer p{margin:0;color:var(--muted);font-size:.62rem;line-height:1.5}.evidence-footer nav{display:flex;gap:.8rem}.evidence-footer a{font-size:.6rem;font-weight:800;white-space:nowrap}

/* Admin studio */
.admin-hero{padding:2rem;border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 30%,rgba(185,242,39,.3),transparent 14rem),linear-gradient(120deg,#0d2823,#164b3d)}.admin-hero .eyebrow{color:var(--electric)}.admin-hero p:last-child{margin:0;color:#b8cec6}.admin-stat-grid{display:grid;max-width:1420px;margin:0 auto 1rem;grid-template-columns:repeat(4,1fr);gap:.75rem}.admin-stat{position:relative;overflow:hidden;display:flex;min-height:145px;padding:1.2rem;border-radius:20px;flex-direction:column;justify-content:center;color:#243b34;background:#e3f288}.admin-stat:after{position:absolute;right:-25px;bottom:-35px;width:90px;height:90px;border:15px solid rgba(255,255,255,.28);border-radius:50%;content:""}.admin-stat-2{background:#ffb18f}.admin-stat-3{background:#a99bea}.admin-stat-4{background:#84d7d0}.admin-stat span{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-stat strong{font-family:Georgia,serif;font-size:2.7rem;font-weight:400}.admin-stat small{font-size:.58rem}.admin-grid{display:grid;max-width:1420px;margin:auto;grid-template-columns:1.3fr 1fr;gap:1rem}.admin-panel{padding:1.25rem}.admin-panel .section-heading a{font-size:.62rem;font-weight:800}.admin-audit{grid-column:1/-1}.admin-user-row{display:grid;padding:.65rem;border-radius:13px;grid-template-columns:35px 1fr auto 65px;align-items:center;gap:.65rem;color:var(--ink)}.admin-user-row:hover{background:#f2f4ee}.admin-user-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.admin-user-row strong{font-size:.72rem}.admin-user-row small{overflow:hidden;color:var(--muted);font-size:.58rem;text-overflow:ellipsis}.admin-user-row em{color:var(--muted);font-size:.56rem;font-style:normal;text-align:right}.role-badge{display:inline-flex;padding:.27rem .45rem;border-radius:7px;color:#62716b;background:#edf0eb;font-size:.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.role-admin{color:#392f70;background:#e9e4ff}.mini-tip-list{display:flex;flex-direction:column}.mini-tip-list a{display:grid;padding:.55rem;border-radius:12px;grid-template-columns:40px 1fr;align-items:center;gap:.65rem;color:var(--ink)}.mini-tip-list a:hover{background:#f2f4ee}.mini-tip-list img,.mini-tip-list>a>span{width:40px;height:40px;border-radius:11px;object-fit:cover}.mini-tip-list>a>span{display:grid;place-items:center;background:#e8f1df}.mini-tip-list div{display:flex;min-width:0;flex-direction:column}.mini-tip-list strong{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.mini-tip-list small{color:var(--muted);font-size:.55rem}.audit-row{display:flex;padding:.55rem;align-items:center;gap:.7rem}.audit-row>span{display:grid;width:28px;height:28px;border-radius:9px;place-items:center;color:var(--green);background:#edf3e8;font-size:.65rem}.audit-row>div{display:flex;flex-direction:column}.audit-row strong{font-size:.65rem}.audit-row small{color:var(--muted);font-size:.55rem}.admin-search{display:flex;height:44px;border:1px solid var(--line);border-radius:13px;align-items:center;background:#fff}.admin-search svg{width:18px;margin-left:.8rem;color:var(--muted)}.admin-search input{height:100%;padding:0 .6rem;border:0;outline:0;background:transparent}.admin-search button{height:100%;padding:0 1rem;border:0;border-radius:0 12px 12px 0;color:#fff;background:var(--green);font-size:.65rem;font-weight:800}.admin-table-card{max-width:1420px;margin:auto;overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{padding:.9rem 1rem;color:var(--muted);font-size:.55rem;text-align:left;text-transform:uppercase;letter-spacing:.08em}.admin-table td{padding:.75rem 1rem;border-top:1px solid var(--line);font-size:.68rem}.table-person{display:flex;align-items:center;gap:.7rem;color:var(--ink)}.table-person>span:last-child{display:flex;flex-direction:column}.table-person strong{font-size:.72rem}.table-person small{color:var(--muted);font-size:.58rem}.table-arrow{font-size:1rem}.admin-profile-title{display:flex;align-items:center;gap:1rem}.admin-profile-title>.avatar{width:54px;height:54px;border-radius:17px;font-size:1rem}.admin-profile-title h1{margin:0}.role-form{display:flex;align-items:end;gap:.6rem}.role-form label{display:flex;flex-direction:column;gap:.4rem;color:var(--muted);font-size:.58rem;font-weight:800}.role-form select{height:44px;padding:0 .8rem;border:1px solid var(--line);border-radius:11px;background:#fff}.user-stat-grid .admin-stat{min-height:125px}.admin-log-row{display:grid;padding:.7rem;grid-template-columns:35px 1fr auto;align-items:center;gap:.7rem}.admin-log-row+ .admin-log-row{border-top:1px solid var(--line)}.admin-log-row>div{display:flex;flex-direction:column}.admin-log-row strong{font-size:.7rem}.admin-log-row small{color:var(--muted);font-size:.56rem}.admin-log-row>b{font-size:.65rem}.privacy-banner{display:flex;max-width:1420px;margin:1rem auto 0;padding:1rem 1.2rem;border-radius:16px;align-items:center;gap:.7rem;color:#564b27;background:#fff4cf}.privacy-banner p{margin:0;font-size:.62rem;line-height:1.45}.tip-admin-grid{display:grid;max-width:1250px;margin:auto;grid-template-columns:repeat(3,1fr);gap:1rem}.admin-tip-card{overflow:hidden;border:1px solid var(--line);border-radius:23px;background:#fff}.admin-tip-image{position:relative;display:grid;height:170px;place-items:center;background:linear-gradient(135deg,#e2f48a,#7ed0ad)}.admin-tip-image img{width:100%;height:100%;object-fit:cover}.admin-tip-image>span{font-size:2rem}.tip-status{position:absolute;top:.7rem;right:.7rem;padding:.3rem .5rem;border-radius:99px;color:#fff;background:rgba(17,53,43,.85);font-size:.5rem;text-transform:uppercase}.tip-status.draft{color:#3b4140;background:rgba(255,255,255,.86)}.admin-tip-copy{padding:1.15rem}.tip-category{color:var(--green-2);font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.admin-tip-copy h2{margin:.45rem 0;font-size:1.15rem}.admin-tip-copy>p{display:-webkit-box;overflow:hidden;min-height:55px;color:var(--muted);font-size:.65rem;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical}.admin-tip-copy>small{color:#9aa49f;font-size:.52rem}.tip-actions{display:flex;margin-top:1rem;gap:.4rem}.tip-editor{display:grid;max-width:1050px;margin:auto;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:1rem}.editor-label textarea{resize:vertical}.switch-row{display:flex;gap:1.5rem}.upload-card{padding:1rem}.upload-preview{display:grid;overflow:hidden;height:180px;margin-bottom:1rem;border-radius:17px;place-items:center;color:var(--muted);background:linear-gradient(135deg,#edf2e8,#e8e5f5)}.upload-preview img{width:100%;height:100%;object-fit:cover}.upload-preview span{font-size:2rem}.upload-preview p{margin:0;font-size:.65rem}.upload-button{display:flex;height:43px;border:1px dashed #aebdb4;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;font-size:.68rem;font-weight:800}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.upload-card>p{color:var(--muted);font-size:.55rem;line-height:1.45;text-align:center}.upload-card>label:last-of-type{display:flex;margin:1rem 0;flex-direction:column;gap:.4rem;color:var(--ink);font-size:.65rem;font-weight:800}.upload-card>label input{height:43px;padding:0 .7rem;border:1px solid var(--line);border-radius:11px}

.dashboard-tip{overflow:hidden;padding:0}.dashboard-tip>img{width:100%;height:120px;object-fit:cover}.dashboard-tip>div{padding:1rem}.dashboard-tip.has-tip-image{display:block}.dashboard-tip p:last-of-type{display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical}.dashboard-tip a{display:inline-block;margin-top:.6rem;color:var(--electric);font-size:.58rem;font-weight:800}
@media(max-width:1100px){.recipe-grid,.tip-admin-grid{grid-template-columns:repeat(2,1fr)}.report-score-grid{grid-template-columns:1fr 1fr}.primary-score{grid-column:1/-1}.admin-stat-grid{grid-template-columns:1fr 1fr}.recipe-builder,.tip-editor{grid-template-columns:1fr}.recipe-summary{position:static}.report-columns{grid-template-columns:1fr}}
@media(max-width:800px){.recipe-hero,.report-hero,.admin-hero{padding:1.3rem}.recipe-grid,.tip-admin-grid{grid-template-columns:1fr}.report-score-grid,.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-audit{grid-column:auto}.tip-editor{grid-template-columns:1fr}.admin-table{min-width:760px}.role-form{width:100%}.role-form label{flex:1}.report-bars{overflow:hidden}.evidence-footer{align-items:flex-start;flex-direction:column}.mobile-nav{justify-content:space-between}.mobile-nav a{min-width:50px}}
@media(max-width:540px){.report-score-grid,.admin-stat-grid{grid-template-columns:1fr}.primary-score{grid-column:auto}.nutrient-report-grid{grid-template-columns:1fr}.report-hero .range-switch{width:100%;justify-content:space-between}.recipe-ingredient-row{grid-template-columns:34px 1fr 90px}.recipe-ingredient-row>.row-delete{grid-column:3}.recipe-actions{align-items:stretch;flex-direction:column}.recipe-actions form{width:100%}.admin-user-row{grid-template-columns:34px 1fr auto}.admin-user-row em{display:none}.switch-row{flex-direction:column;gap:.3rem}.evidence-footer nav{align-items:flex-start;flex-direction:column}.report-chart-card{padding:1rem}.report-bar-fill{max-width:12px}}
.security-card{padding:1.1rem}.security-card h3{margin:0}.security-card input{height:42px!important}.security-card label{font-size:.65rem}

/* Theme worlds and resilient app shell */
html,body{max-width:100%;overflow-x:hidden}.app-body img{display:block;max-width:100%;height:auto}.app-shell{width:100%;max-width:100%;grid-template-columns:286px minmax(0,1fr);overflow-x:clip}.app-main{width:100%;max-width:100%;overflow-x:clip}.sidebar{z-index:20;overflow-y:auto;overscroll-behavior:contain}.sidebar-top{flex:0 0 auto;min-height:max-content}.sidebar-calendar{display:block!important;flex:0 0 auto;min-height:246px}.calendar-grid{min-height:152px}.profile-chip{position:sticky;bottom:-1rem;z-index:3;margin-top:1rem;background:inherit}.sidebar-theme-link{display:flex;margin:.65rem .5rem 0;padding:.65rem .75rem;border:1px dashed var(--line);border-radius:13px;align-items:center;gap:.6rem;color:var(--ink);font-size:.58rem;font-weight:850}.sidebar-theme-link>b{margin-left:auto}.theme-dots{display:flex}.theme-dots i{width:11px;height:11px;margin-left:-2px;border:2px solid var(--paper);border-radius:50%;background:#f16f8e}.theme-dots i:nth-child(2){background:#c8ee35}.theme-dots i:nth-child(3){background:#7a6de0}

.theme-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.theme-choice{position:relative;cursor:pointer}.theme-choice>input{position:absolute;width:1px!important;height:1px!important;opacity:0}.theme-preview{position:relative;display:flex;min-height:140px;padding:1rem;border:2px solid transparent;border-radius:20px;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.theme-preview:before,.theme-preview:after{position:absolute;border-radius:50%;content:""}.theme-preview:before{top:-30px;right:-22px;width:95px;height:95px;border:14px solid rgba(255,255,255,.45)}.theme-preview:after{top:23px;left:23px;width:32px;height:32px;background:rgba(255,255,255,.45)}.theme-preview i{position:absolute;top:18px;left:18px;z-index:1;font-family:Georgia,serif;font-size:1.7rem;font-style:normal}.theme-preview b,.theme-preview small{position:relative;z-index:1}.theme-preview small{margin-top:.2rem;font-weight:600}.storybook-choice .theme-preview{color:#362d26;background:#f8d9cf;box-shadow:inset 0 0 0 1px #382f28}.electric-choice .theme-preview{color:#fff;background:#5e43ce}.calm-choice .theme-preview{color:#193c34;background:#cbe5d7}.theme-choice>input:checked+.theme-preview{border-color:var(--ink);box-shadow:0 0 0 4px var(--paper),0 0 0 7px var(--ink);transform:rotate(-1deg) translateY(-3px)}

/* Original Storybook world */
.theme-storybook{--ink:#332d28;--muted:#756b61;--green:#df5d78;--green-2:#d64d6d;--lime:#f6c64e;--cream:#fbf1dc;--paper:#fffaf0;--line:#493f3529;--chart-accent:#ed6684;--chart-fill:rgba(237,102,132,.17);--chart-target:#72a45b;--chart-grid:rgba(62,52,43,.1);--macro-protein:#73a95b;--macro-carbs:#efbd45;--macro-fat:#ec7691;background:#fbf1dc}.theme-storybook,.theme-storybook button,.theme-storybook input,.theme-storybook select{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",Avenir,sans-serif}.theme-storybook h1,.theme-storybook h2,.theme-storybook h3{font-family:Georgia,"Times New Roman",serif}.theme-storybook .sidebar{border-right:2px solid #3b3329;background-color:#fff7e6;background-image:radial-gradient(#dcbd8526 1px,transparent 1px);background-size:8px 8px}.theme-storybook .brand-mark{border:2px solid #332d28;border-radius:50%;color:#fff;background:#ef6e89;transform:rotate(-7deg);box-shadow:2px 3px 0 #332d28}.theme-storybook .nav-link{border:1px solid transparent}.theme-storybook .nav-link.active{border-color:#332d28;color:#332d28;background:#fac7d2;box-shadow:3px 3px 0 #332d28;transform:rotate(-1deg)}.theme-storybook .sidebar-calendar{border:2px solid #3b3329;border-radius:8px 19px 10px 18px;background:#fffaf0;box-shadow:4px 5px 0 #e8cdb4;transform:rotate(.4deg)}.theme-storybook .calendar-grid>a.selected{color:#fff;background:#e75e7c;box-shadow:1px 2px 0 #332d28}.theme-storybook .card,.theme-storybook .meal-card,.theme-storybook .report-score,.theme-storybook .nutrient-report{border:1.5px solid #3e352d;border-radius:12px 24px 15px 21px;box-shadow:4px 5px 0 rgba(74,60,47,.13)}.theme-storybook .button{border:1.5px solid #332d28;border-radius:10px 16px 11px 15px;box-shadow:3px 4px 0 #332d28}.theme-storybook .button:active{transform:translate(2px,2px);box-shadow:1px 2px 0 #332d28}.theme-storybook .app-main{background-image:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.2)),radial-gradient(#bf9c6b24 .8px,transparent .8px);background-size:auto,7px 7px}

.storybook-welcome{position:relative;isolation:isolate;display:grid;overflow:hidden;min-height:390px;max-width:1420px;margin:0 auto 1.7rem;border:2px solid #332d28;border-radius:24px 12px 28px 15px;grid-template-columns:minmax(310px,.82fr) minmax(440px,1.35fr);align-items:center;background:#fff5dd;box-shadow:7px 9px 0 rgba(70,56,44,.16);transform:rotate(-.15deg)}.storybook-welcome:after{position:absolute;z-index:-1;inset:0;background:radial-gradient(#b88e5928 .8px,transparent .8px);background-size:7px 7px;content:"";pointer-events:none}.storybook-welcome>img{align-self:stretch;width:100%;height:100%;min-width:0;object-fit:cover;object-position:center}.welcome-copy{z-index:2;padding:clamp(1.6rem,4vw,3.5rem)}.welcome-sticker{display:inline-block;padding:.42rem .65rem;border:1.5px solid #332d28;background:#f3c34e;box-shadow:2px 2px 0 #332d28;font-size:.58rem;font-weight:900;letter-spacing:.09em;transform:rotate(-2deg)}.welcome-copy h1{margin:1rem 0 .75rem;font-family:Georgia,serif;font-size:clamp(2.4rem,4.6vw,5rem);font-weight:500;line-height:.85;letter-spacing:-.07em}.welcome-copy h1 em{color:#e45475;font-style:italic}.welcome-copy p{max-width:470px;color:#62574e;font-size:.84rem;line-height:1.65}.welcome-button{margin-top:.45rem;color:#332d28!important;background:#f8bfd0!important}.doodle{position:absolute;z-index:3}.doodle-one{top:25px;left:46%;color:#eb5e7c;font-size:2.5rem;transform:rotate(12deg)}.doodle-two{right:28px;top:25px;color:#dc9d22;font-size:2rem}.doodle-three{right:26px;bottom:22px;padding:.7rem;border:2px solid #332d28;border-radius:50%;color:#332d28;background:#fff9ec;font-size:.54rem;font-weight:900;line-height:1.15;text-align:center;transform:rotate(9deg)}
.theme-electric{--ink:#171126;--muted:#706881;--green:#5f3fda;--green-2:#6548de;--lime:#cdf42b;--cream:#f2effc;--paper:#fff;--line:#21174724;--chart-accent:#ff4f87;--chart-fill:rgba(255,79,135,.18);--chart-target:#6548de;--chart-grid:rgba(45,30,90,.09);--macro-protein:#9edf31;--macro-carbs:#ffb52e;--macro-fat:#ff5086;background:#f2effc}.theme-electric .sidebar{color:#fff;border:0;background:#211642}.theme-electric .sidebar .brand,.theme-electric .nav-link,.theme-electric .profile-chip,.theme-electric .sidebar-theme-link{color:#eae4ff}.theme-electric .nav-link.active{color:#171126;background:#cdf42b;box-shadow:0 9px 25px #07031266}.theme-electric .sidebar-calendar{border-color:#ffffff24;background:#33225c}.theme-electric .calendar-grid>a,.theme-electric .calendar-head,.theme-electric .calendar-today{color:#eee8ff}.theme-electric .calendar-grid>a.selected{color:#171126;background:#cdf42b}.theme-electric .profile-chip{border-color:#ffffff24}.theme-electric .app-main{background:radial-gradient(circle at 95% 5%,#ff64a52e,transparent 34rem),#f2effc}.theme-electric .card,.theme-electric .meal-card,.theme-electric .report-score,.theme-electric .nutrient-report{border:1px solid #1d123b;box-shadow:5px 7px 0 #1d123b}.theme-electric .storybook-welcome{border-radius:35px;color:#fff;background:#25164f;box-shadow:9px 11px 0 #c9f42b}.theme-electric .storybook-welcome>img{filter:saturate(1.25) contrast(1.05);mix-blend-mode:screen}.theme-electric .welcome-copy p{color:#ded5f5}.theme-electric .welcome-copy h1 em{color:#cdf42b}.theme-electric .welcome-sticker{color:#171126;background:#cdf42b}.theme-electric .welcome-button{color:#fff!important;background:#ff4f87!important}.theme-electric .doodle{color:#cdf42b}
.theme-calm{--ink:#153b31;--muted:#607b72;--green:#245e4e;--green-2:#39816c;--lime:#bdd9a7;--cream:#edf5ef;--paper:#fbfdf9;--line:#315e4d29;--chart-accent:#39816c;--chart-fill:rgba(57,129,108,.15);--chart-target:#b38a66;--chart-grid:rgba(32,79,64,.08);--macro-protein:#4f947c;--macro-carbs:#d8a45d;--macro-fat:#c88482;background:#edf5ef}.theme-calm .sidebar{background:#e2eee6}.theme-calm .storybook-welcome{border:0;border-radius:38px;background:#dbeadf;box-shadow:none}.theme-calm .storybook-welcome>img{filter:saturate(.7) opacity(.88)}.theme-calm .welcome-copy h1 em{color:#39816c}.theme-calm .welcome-sticker{border:0;border-radius:99px;background:#f8fbf6;box-shadow:none}.theme-calm .welcome-button{color:#fff!important;background:#245e4e!important;box-shadow:none}.theme-calm .doodle-three{display:none}

/* Chart.js visual reporting */
.report-visual-grid{display:grid;max-width:1420px;margin:0 auto 1.5rem;grid-template-columns:minmax(0,2fr) minmax(280px,.72fr);gap:1rem}.report-chart-card{min-width:0;margin:0;padding:1.5rem}.chart-wrap{position:relative;width:100%;min-width:0}.chart-energy-wrap{height:330px}.chart-doughnut-wrap{height:265px;margin-top:1rem}.doughnut-center{position:absolute;inset:0;display:flex;pointer-events:none;flex-direction:column;align-items:center;justify-content:center}.doughnut-center strong{font-family:Georgia,serif;font-size:1.55rem}.doughnut-center span{color:var(--muted);font-size:.58rem}.macro-legend{display:flex;justify-content:center;gap:1rem}.macro-legend span{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.55rem;font-weight:750}.macro-legend i{width:8px;height:8px;border-radius:50%}.chart-help{margin:1rem 0 0;color:var(--muted);font-size:.58rem}.theme-storybook .energy-visual{transform:rotate(.2deg)}.theme-storybook .macro-visual{transform:rotate(-.5deg);background:#fff7e8}

@media(max-width:1150px){.storybook-welcome{grid-template-columns:minmax(280px,.8fr) 1fr;min-height:350px}.report-visual-grid{grid-template-columns:1fr}.macro-visual{display:grid;grid-template-columns:1fr 300px;align-items:center}.macro-visual .macro-legend{grid-column:2}.chart-doughnut-wrap{grid-column:2;grid-row:1/3}}
@media(max-height:760px) and (min-width:801px){.sidebar{padding-top:1rem}.main-nav{margin-top:.8rem}.nav-link{padding:.48rem .75rem}.sidebar-calendar{margin-top:.55rem;min-height:214px;padding:.5rem}.calendar-grid{min-height:130px}.calendar-today{margin-top:.2rem;padding-top:.3rem}.sidebar-theme-link{display:none}}
@media(max-width:800px){.app-shell{display:block}.storybook-welcome{min-height:520px;grid-template-columns:1fr;grid-template-rows:auto 280px}.welcome-copy{padding:1.5rem}.welcome-copy h1{font-size:2.7rem}.storybook-welcome>img{grid-row:2;object-position:center 44%}.doodle-one{left:auto;right:24px}.doodle-three{display:none}.theme-picker{grid-template-columns:1fr}.theme-preview{min-height:105px}.report-visual-grid{grid-template-columns:1fr}.chart-energy-wrap{height:280px}.macro-visual{display:block}.chart-doughnut-wrap{height:245px;margin:auto}.macro-visual .macro-legend{display:flex}.app-main>*{min-width:0}}
@media(max-width:480px){.storybook-welcome{min-height:500px;grid-template-rows:auto 240px;border-radius:18px}.welcome-copy h1{font-size:2.35rem}.welcome-copy p{font-size:.72rem}.welcome-button{width:100%}.chart-energy-wrap{height:245px}.report-chart-card{padding:1rem}.chart-legend{display:none}}

/* Complete illustrated interface — reference-led, no dashboard hero */
@font-face{font-family:Kalam;src:url('/fonts/kalam-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Kalam;src:url('/fonts/kalam-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Gaegu;src:url('/fonts/gaegu-700.woff2') format('woff2');font-weight:700;font-display:swap}
.width-0{width:0}.width-5{width:5%}.width-10{width:10%}.width-15{width:15%}.width-20{width:20%}.width-25{width:25%}.width-30{width:30%}.width-35{width:35%}.width-40{width:40%}.width-45{width:45%}.width-50{width:50%}.width-55{width:55%}.width-60{width:60%}.width-65{width:65%}.width-70{width:70%}.width-75{width:75%}.width-80{width:80%}.width-85{width:85%}.width-90{width:90%}.width-95{width:95%}.width-100{width:100%}
.storybook-topbar{display:none}.theme-storybook .storybook-welcome{display:none!important}.theme-storybook{font-family:Kalam,"Segoe Print",cursive}.theme-storybook h1,.theme-storybook h2,.theme-storybook h3{font-family:Gaegu,Kalam,cursive;letter-spacing:.005em}.theme-storybook .eyebrow{font-family:Kalam,cursive}.theme-storybook .app-main{padding-top:0}.theme-storybook .storybook-topbar{position:sticky;z-index:18;top:0;display:flex;height:76px;margin:0 calc(-1 * clamp(1.5rem,3.5vw,4rem)) 1.25rem;padding:0 clamp(1.5rem,3.5vw,4rem);border-bottom:2px solid #332d28;align-items:center;justify-content:space-between;background:rgba(255,248,230,.94);backdrop-filter:blur(10px)}.storybook-heart{display:grid;width:38px;height:38px;border:2px solid #332d28;border-radius:50%;place-items:center;color:#332d28!important;background:#f57895;box-shadow:2px 2px 0 #332d28;font-size:1.15rem;transform:rotate(-7deg)}.storybook-topbar nav{display:flex;align-self:stretch;align-items:center;gap:clamp(1.1rem,2.5vw,2.7rem)}.storybook-topbar nav a{position:relative;color:#332d28;font-family:Gaegu,cursive;font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em}.storybook-topbar nav a:after{position:absolute;right:0;bottom:-8px;left:0;height:4px;border-radius:50%;content:"";transform:rotate(-2deg)}.storybook-topbar nav a:hover:after,.storybook-topbar nav a.active:after{background:#ed6d89}.storybook-topbar>div{display:flex;align-items:center;gap:.7rem}.storybook-settings{color:#332d28!important;font-size:1.35rem}.storybook-profile{padding:.45rem 1rem;border:2px solid #332d28;border-radius:9px 14px;color:#332d28!important;background:#f7a6bb;box-shadow:2px 3px 0 #332d28;font-family:Gaegu,cursive;font-size:1rem;text-transform:uppercase;transform:rotate(1deg)}
@media(min-width:801px){.theme-storybook .sidebar .main-nav{display:none}.theme-storybook .sidebar-brand{margin-bottom:1rem}.theme-storybook .sidebar-calendar{margin-top:1rem}.theme-storybook .sidebar-theme-link{margin-top:1rem}.theme-storybook.admin-context .storybook-topbar{display:none}.theme-storybook.admin-context .sidebar .main-nav{display:flex}.theme-storybook.admin-context .app-main{padding-top:2.5rem}}

.paper-dashboard{position:relative;display:grid;max-width:1420px;margin:0 auto 2.7rem;padding:clamp(1rem,2vw,1.8rem);border:2px solid #332d28;border-radius:12px 25px 18px 27px;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);grid-template-rows:auto auto auto auto;gap:1rem 1.4rem;background-color:#fff4dc;background-image:radial-gradient(#a97a4923 .8px,transparent .8px);background-size:7px 7px;box-shadow:7px 8px 0 rgba(64,48,35,.14);transform:rotate(-.08deg)}.paper-dashboard:before{position:absolute;top:-9px;left:5%;width:90px;height:24px;background:#f393a9aa;content:"";transform:rotate(-2deg)}.paper-welcome{position:relative;display:flex;min-height:270px;padding:1rem clamp(.5rem,3vw,2.4rem);flex-direction:column;justify-content:center}.paper-welcome>p{margin:0;font-family:Gaegu,cursive;font-size:clamp(1.6rem,2.7vw,2.8rem);text-transform:uppercase}.paper-welcome h1{margin:-.25rem 0 .2rem;color:#ef607f;font-size:clamp(4.8rem,9vw,8.5rem);line-height:.72;text-transform:uppercase;text-shadow:2px 2px 0 #332d28}.paper-welcome h1 span{color:#ef7791;font-size:.45em;text-shadow:none}.paper-welcome h2{margin:1.2rem 0 0;font-family:Kalam,cursive;font-size:clamp(1rem,1.55vw,1.35rem);font-weight:700;line-height:1.35}.paper-welcome h2 b{color:#ec6684}.welcome-bubble{position:absolute;top:28px;right:8%;padding:1rem 1.35rem;border:2px solid #332d28;border-radius:50%;background:#fffaf0;font-family:Kalam,cursive;font-weight:700;line-height:1.1;text-align:center;transform:rotate(3deg)}.welcome-bubble:after{position:absolute;bottom:-12px;left:21px;width:20px;height:20px;border-bottom:2px solid #332d28;border-left:2px solid #332d28;background:#fffaf0;content:"";transform:rotate(-28deg)}.welcome-bubble i{color:#f06e8b}.welcome-sparkles{position:absolute;top:10px;left:53%;color:#f06e8b;font-size:1.5rem}.welcome-sparkles small{font-size:.7em}
.paper-summary,.paper-mood{position:relative;border:2px solid #332d28;background:#fff8e9;box-shadow:4px 5px 0 #dcc8ad}.paper-summary{padding:1.25rem 1.2rem;border-radius:7px 14px 10px 9px;transform:rotate(1.2deg)}.paper-summary h2,.paper-mood h2{margin:0 0 .8rem;font-family:Gaegu,cursive;font-size:1.35rem;text-align:center;text-transform:uppercase}.paper-tape{position:absolute;top:-11px;left:36%;width:88px;height:24px;background:#f48ba4b8;transform:rotate(-1deg)}.summary-calories{display:flex;margin-bottom:.7rem;justify-content:space-between;font-weight:700}.summary-calories strong{color:#ef607f}.sketch-meter{display:grid;margin:.48rem 0;grid-template-columns:53px minmax(80px,1fr) 42px;align-items:center;gap:.45rem;font-size:.75rem}.sketch-meter>div{height:17px;padding:2px;border:1.5px solid #594b3e;border-radius:50px;transform:rotate(-.5deg)}.sketch-meter i{display:block;height:100%;border-radius:50px;background:#76aa5e}.sketch-meter .meter-pink{background:#ec7793}.sketch-meter .meter-gold{background:#edbb41}.sketch-meter .meter-blue{background:#6ca4b5}.sketch-meter small{text-align:right}.paper-summary>a{display:block;margin-top:.75rem;color:#d94f6e;font-size:.68rem;font-weight:700;text-align:right}
.paper-mood{padding:.9rem 1rem;border-radius:16px 8px 18px 10px;transform:rotate(-.7deg)}.mood-faces{display:flex;min-height:65px;align-items:flex-end;justify-content:space-between;gap:.2rem}.mood-faces label{cursor:pointer}.mood-faces input{position:absolute;width:1px;height:1px;opacity:0}.mood-faces span{display:flex;min-width:43px;padding:.28rem .16rem;border:2px solid transparent;border-radius:50px;flex-direction:column;align-items:center;transition:transform .15s,background .15s,border-color .15s}.mood-faces b{display:grid;width:38px;height:38px;place-items:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.75rem;font-weight:400;line-height:1;filter:drop-shadow(1px 2px 0 rgba(51,45,40,.18));transition:transform .15s}.mood-faces label:nth-child(4) b{width:42px;height:42px;font-size:1.95rem}.mood-faces label:nth-child(5) b{width:47px;height:47px;font-size:2.2rem}.mood-faces small{display:block;margin-top:.12rem;color:#6e6259;font-family:Kalam,cursive;font-size:.48rem;line-height:1}.mood-faces input:checked+span{border-color:#ed6684;background:#fff;transform:translateY(-2px)}.mood-faces input:checked+span b{transform:scale(1.08)}.mood-faces input:focus-visible+span{outline:3px solid #7a6de0}.paper-mood button{display:block;margin:.65rem auto 0;padding:.25rem .7rem;border:0;border-bottom:2px solid #ed6684;color:#332d28;background:transparent;cursor:pointer;font-family:Kalam,cursive;font-weight:700}
.storybook-board{display:grid;grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.board-card{display:flex;min-width:0;min-height:245px;padding:.75rem;border:2px solid #332d28;border-radius:19px 13px 20px 14px;flex-direction:column;align-items:center;color:#332d28!important;background:#fff8e9;box-shadow:3px 4px 0 #dbb3bd;text-align:center;transition:transform .18s}.board-card:hover{transform:translateY(-5px) rotate(-1deg)}.board-green{box-shadow:3px 4px 0 #a6c494}.board-blue{box-shadow:3px 4px 0 #8abed0}.board-coral{box-shadow:3px 4px 0 #e68e89}.board-gold{box-shadow:3px 4px 0 #e7c35f}.board-art{display:grid;overflow:hidden;width:100%;height:105px;margin-bottom:.4rem;place-items:center}.board-art img{width:100%;height:100%;object-fit:contain}.board-card h2{min-height:42px;margin:.2rem 0;font-size:1.35rem;line-height:.85;text-transform:uppercase}.board-card p{margin:auto 0 0;font-family:Kalam,cursive;font-size:.72rem;line-height:1.25}.board-book:before{display:block;width:80px;height:65px;border:3px double #332d28;border-radius:5px 12px 12px 5px;background:linear-gradient(90deg,#fff 48%,#332d28 49%,#332d28 51%,#fff 52%);box-shadow:3px 3px 0 #93b777;content:"";transform:rotate(-4deg)}.board-book span{position:absolute;color:#ed6684;font-size:1.3rem}.board-chart{display:flex;align-items:flex-end;justify-content:center;gap:7px}.board-chart i{width:15px;border:2px solid #332d28;border-radius:7px 7px 2px 2px;background:#81bccc}.board-chart i:nth-child(1){height:35px}.board-chart i:nth-child(2){height:67px;background:#ef7692}.board-chart i:nth-child(3){height:48px;background:#edbd45}.board-chart i:nth-child(4){height:82px;background:#8cac69}.board-mountain:before{width:0;height:0;border-right:62px solid transparent;border-bottom:83px solid #ed9caf;border-left:62px solid transparent;content:""}.board-mountain span{position:absolute;margin:-76px 0 0 47px;font-size:1.5rem}.storybook-motto{display:flex;grid-column:1/-1;width:min(720px,80%);margin:.25rem auto -.1rem;padding:.5rem 1rem;border:2px solid #332d28;border-radius:50px;align-items:center;justify-content:center;gap:.9rem;background:#f6b3c2;box-shadow:3px 3px 0 #332d28;transform:rotate(.4deg)}.storybook-motto span{font-size:1.5rem}.storybook-motto strong{font-family:Kalam,cursive;font-size:1rem}.storybook-motto i{color:#ef5878;font-size:1.5rem}

.advice-shelf{max-width:1420px;margin:0 auto 3rem}.advice-shelf>.section-heading>a{font-size:.7rem;font-weight:700}.advice-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.advice-paper{display:grid;overflow:hidden;min-height:220px;border:2px solid #332d28;border-radius:9px 20px 13px 17px;grid-template-columns:42% 58%;background:#fff8e9;box-shadow:4px 5px 0 #e3c3aa}.advice-paper-1{box-shadow:4px 5px 0 #b7cf9f;transform:rotate(.4deg)}.advice-paper-2{box-shadow:4px 5px 0 #adc8df;transform:rotate(-.3deg)}.advice-image{min-width:0;background:#f4e9d2}.advice-image img{width:100%;height:100%}.advice-paper>div:last-child{padding:1rem}.advice-paper small,.inspiration-copy>span{color:#d94f6e;font-size:.56rem;font-weight:700;text-transform:uppercase}.advice-paper h3{margin:.3rem 0;font-size:1.05rem;line-height:1}.advice-paper p{display:-webkit-box;overflow:hidden;margin:0;color:#665b51;font-size:.64rem;line-height:1.45;-webkit-line-clamp:4;-webkit-box-orient:vertical}.advice-paper a{display:inline-block;margin-top:.45rem;font-size:.56rem;font-weight:700}.diary-anchor{padding-top:1rem;border-top:2px dashed #685b4d}.diary-content-grid{margin-bottom:2rem}

/* Image framing shared by dashboard, advice, and admin uploads */
.fit-cover img,img.fit-cover{object-fit:cover}.fit-contain img,img.fit-contain{object-fit:contain;background:#f8f2e6}.pos-center img,img.pos-center{object-position:center}.pos-top img,img.pos-top{object-position:center top}.pos-bottom img,img.pos-bottom{object-position:center bottom}.pos-left img,img.pos-left{object-position:left center}.pos-right img,img.pos-right{object-position:right center}.admin-tip-image,.inspiration-image,.selected-art-preview,.media-thumb,.embedded-media span{overflow:hidden}.admin-tip-image img,.inspiration-image img,.selected-art-preview img,.media-thumb img,.embedded-media img{display:block;width:100%;height:100%}.admin-tip-image.fit-cover img,.inspiration-image.fit-cover img,.selected-art-preview.fit-cover img{object-fit:cover}.admin-tip-image.fit-contain img,.inspiration-image.fit-contain img,.selected-art-preview.fit-contain img{object-fit:contain;background:#f8f2e6}

.inspiration-hero{padding:2rem;border:2px solid #332d28;border-radius:18px 8px 24px 11px;background:#f8bfd0;box-shadow:5px 6px 0 #332d28}.inspiration-grid{display:grid;max-width:1420px;margin:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.inspiration-card{overflow:hidden;border:2px solid #332d28;border-radius:12px 23px 15px 19px;background:#fff9eb;box-shadow:5px 6px 0 #e7b8c2}.inspiration-tone-1{box-shadow:5px 6px 0 #a8c894}.inspiration-tone-2{box-shadow:5px 6px 0 #9dc8d5}.inspiration-tone-3{box-shadow:5px 6px 0 #e7c75a}.inspiration-image{height:210px;background:#f1e8d3}.inspiration-copy{padding:1.25rem}.inspiration-copy h2{margin:.45rem 0;font-size:1.45rem;line-height:.95}.inspiration-copy p{color:var(--muted);font-size:.75rem;line-height:1.6}.inspiration-copy a{font-size:.65rem;font-weight:700}

/* Proper admin media library */
.header-actions{display:flex;gap:.6rem}.media-hero{padding:1.5rem;border-radius:25px;background:linear-gradient(110deg,#ffd4df,#fff0b8)}.media-workspace{display:grid;max-width:1420px;margin:auto;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1.4rem}.media-uploader{position:sticky;top:95px;padding:1rem}.media-drop-preview{display:flex;overflow:hidden;height:190px;margin-bottom:1rem;border:2px dashed #9d8d7e;border-radius:18px;flex-direction:column;align-items:center;justify-content:center;background:#fff8e9}.media-drop-preview>span{font-size:2rem}.media-drop-preview>small{color:var(--muted);font-size:.55rem}.media-drop-preview img{width:100%;height:100%;object-fit:contain}.media-uploader>label:not(.upload-button){display:flex;margin:1rem 0;flex-direction:column;gap:.4rem;font-size:.65rem;font-weight:700}.media-uploader input{height:43px;padding:0 .7rem;border:1px solid var(--line);border-radius:11px}.media-uploader>p{color:var(--muted);font-size:.55rem;line-height:1.4}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.media-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.media-thumb{display:grid;height:165px;place-items:center;background:#f4f0e8}.media-thumb img{object-fit:contain}.media-card-copy{padding:.85rem}.media-card-copy>strong,.media-card-copy>span,.media-card-copy>small{display:block}.media-card-copy>strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.media-card-copy>span,.media-card-copy>small{color:var(--muted);font-size:.55rem}.media-card-copy>div{display:flex;margin-top:.7rem;gap:.35rem}.media-card-copy .button{min-height:34px;padding:.4rem .6rem;font-size:.58rem}.media-card-copy button:disabled{cursor:not-allowed;opacity:.4}.tip-editor-expanded{max-width:1200px;grid-template-columns:minmax(0,1.4fr) 350px}.tip-editor-expanded .embedded-gallery{grid-column:1/-1;padding:1.2rem}.selected-art-preview{display:grid;height:240px;margin-bottom:1rem;border-radius:17px;place-items:center;background:#f3ecdc}.selected-art-preview span{font-size:2rem}.selected-art-preview p{font-size:.65rem}.image-controls{grid-template-columns:1fr 1fr}.embedded-media-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem}.embedded-media{cursor:pointer}.embedded-media>input{position:absolute;width:1px;height:1px;opacity:0}.embedded-media>span{display:flex;height:125px;padding:.35rem;border:2px solid transparent;border-radius:13px;flex-direction:column;background:#f5f1e9}.embedded-media img{min-height:0;flex:1;object-fit:contain}.embedded-media b{overflow:hidden;padding:.3rem .2rem 0;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}.embedded-media>input:checked+span{border-color:#e55d7a;box-shadow:0 0 0 3px #f8c2ce}.gallery-picker>label:not(.upload-button){display:flex;margin:.7rem 0;flex-direction:column;gap:.4rem;font-size:.65rem;font-weight:700}.gallery-picker select,.gallery-picker input{height:42px;padding:0 .6rem;border:1px solid var(--line);border-radius:10px;background:#fff}

/* Carry the hand-made language through all functional pages */
.theme-storybook .page-header:not(.dashboard-header):not(.inspiration-hero):not(.media-hero){padding:1.3rem 1.5rem;border:2px solid #332d28;border-radius:9px 21px 13px 17px;background:#fff8e9;box-shadow:4px 5px 0 #dec6ac}.theme-storybook .recipe-hero{color:#332d28;background:#cfe4bd}.theme-storybook .report-hero{color:#332d28;background:#c9dded}.theme-storybook .report-hero p,.theme-storybook .report-hero .eyebrow{color:#332d28}.theme-storybook .range-switch{border:1px solid #332d28;background:#fff9ec}.theme-storybook .range-switch a{color:#665b51}.theme-storybook .range-switch a.active{color:#332d28;background:#f5acc0}.theme-storybook .recipe-card,.theme-storybook .trend-card,.theme-storybook .history-card,.theme-storybook .form-card,.theme-storybook .security-card{border:2px solid #332d28;box-shadow:4px 5px 0 #ddc5aa}.theme-storybook .report-score-grid .report-score:nth-child(2){background:#ffd2dc}.theme-storybook .report-score-grid .report-score:nth-child(3){background:#dcebc9}.theme-storybook .report-score-grid .report-score:nth-child(4){background:#d1e6ee}.theme-storybook .primary-score{color:#332d28;background:#f4c44f}.theme-storybook .primary-score p:last-child{color:#594d42}.theme-storybook .score-orbit{border-color:#ef6e8a;border-right-color:#fff7e8}.theme-storybook .app-main input,.theme-storybook .app-main select,.theme-storybook .app-main textarea{font-family:Kalam,cursive}

@media(max-width:1200px){.storybook-topbar nav{gap:1rem}.storybook-topbar nav a{font-size:1rem}.paper-dashboard{grid-template-columns:1.3fr minmax(280px,.8fr)}.welcome-bubble{right:2%}.board-card{min-height:225px}.advice-paper{grid-template-columns:1fr}.advice-image{height:130px}.media-grid{grid-template-columns:repeat(2,1fr)}.embedded-media-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:950px) and (min-width:801px){.storybook-topbar nav a:nth-child(5),.storybook-topbar nav a:nth-child(6){display:none}.paper-welcome h1{font-size:5rem}.storybook-board{grid-template-columns:repeat(3,1fr)}.board-card:nth-child(n+4){min-height:210px}.advice-strip{grid-template-columns:1fr 1fr}.advice-paper:last-child{display:none}}
@media(max-width:800px){.theme-storybook .storybook-topbar{display:none}.paper-dashboard{display:block;padding:.9rem}.paper-welcome{min-height:240px;padding:1rem}.paper-welcome h1{font-size:4.8rem}.welcome-bubble{top:13px;right:2%;font-size:.72rem}.paper-summary,.paper-mood{margin-top:1rem}.storybook-board{margin-top:1rem;grid-template-columns:1fr 1fr}.board-card{min-height:220px}.board-card:last-child{grid-column:1/-1}.storybook-motto{width:95%;margin-top:1rem}.advice-strip{grid-template-columns:1fr}.advice-paper{grid-template-columns:36% 64%}.media-workspace{grid-template-columns:1fr}.media-uploader{position:static}.media-grid{grid-template-columns:repeat(2,1fr)}.tip-editor-expanded{grid-template-columns:1fr}.tip-editor-expanded .embedded-gallery{grid-column:auto}.embedded-media-grid{grid-template-columns:repeat(3,1fr)}.inspiration-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.paper-welcome h1{font-size:3.8rem}.paper-welcome>p{font-size:1.4rem}.welcome-bubble{display:none}.storybook-board{grid-template-columns:1fr 1fr;gap:.55rem}.board-card{min-height:200px}.board-art{height:80px}.board-card h2{font-size:1.15rem}.storybook-motto strong{font-size:.72rem;text-align:center}.advice-paper{grid-template-columns:1fr}.advice-image{height:160px}.mood-faces span{min-width:39px}.mood-faces b{width:35px;height:35px;font-size:1.6rem}.mood-faces label:nth-child(4) b{width:39px;height:39px;font-size:1.8rem}.mood-faces label:nth-child(5) b{width:43px;height:43px;font-size:2rem}.media-grid,.inspiration-grid{grid-template-columns:1fr}.embedded-media-grid{grid-template-columns:1fr 1fr}.header-actions{width:100%;flex-direction:column}.header-actions .button{width:100%}}

/* Final dashboard alignment corrections */
@media(min-width:801px){.paper-welcome{min-height:440px;grid-row:1/3}.paper-mood{grid-column:2}.paper-welcome h1{font-size:clamp(4.8rem,8vw,7.2rem)}.paper-welcome.long-name h1{font-size:clamp(3.5rem,6.2vw,5.7rem)}.paper-welcome.long-name .welcome-bubble{display:none}.welcome-bubble{top:38px;right:3%}}
@media(max-width:800px){.paper-welcome.long-name h1{font-size:4.1rem}.paper-welcome.long-name .welcome-bubble{display:none}}
.paper-quick-actions{display:flex;margin-top:2.2rem;gap:.7rem}.paper-quick-actions a{padding:.55rem .9rem;border:2px solid #332d28;border-radius:11px 16px 9px;color:#332d28;background:#f7b1c1;box-shadow:2px 3px 0 #332d28;font-size:.72rem;font-weight:700}.paper-quick-actions a:last-child{background:#dceacb}
@media(max-width:800px){.paper-welcome.long-name h1{font-size:3.25rem}.paper-quick-actions{margin-top:1.4rem;flex-wrap:wrap}}

/* Gentle engagement system */
.gentle-engagement-row{display:grid;max-width:1420px;margin:0 auto 2.2rem;grid-template-columns:minmax(0,1.65fr) minmax(260px,.55fr);align-items:stretch;gap:1rem}.daily-tip-paper{display:grid;overflow:hidden;min-height:245px;border:2px solid #332d28;border-radius:10px 24px 16px 19px;grid-template-columns:minmax(190px,34%) 1fr;background:#fff9e9;box-shadow:5px 6px 0 #efb5c3;transform:rotate(-.15deg)}.daily-tip-art{display:grid;min-width:0;min-height:230px;place-items:center;background:#f2e7d2}.daily-tip-art img{display:block;width:100%;height:100%}.daily-tip-art>span{font-size:3rem}.daily-tip-copy{padding:1.35rem 1.5rem}.daily-tip-label{display:flex;align-items:center;justify-content:space-between}.daily-tip-label span{padding:.28rem .65rem;border:1.5px solid #332d28;border-radius:50px;background:#f6afc0;font-family:Gaegu,Kalam,cursive;font-size:.8rem;font-weight:700;text-transform:uppercase}.daily-tip-label small{color:#d94f6e;font-weight:700;text-transform:uppercase}.daily-tip-copy h2{margin:.75rem 0 .4rem;font-size:1.65rem}.daily-tip-copy>p{color:#665b51;font-size:.77rem;line-height:1.65}.daily-tip-actions{display:flex;margin-top:1rem;align-items:center;flex-wrap:wrap;gap:.55rem 1rem}.daily-tip-actions form{margin:0}.daily-tip-actions a,.tip-text-button{padding:0;border:0;border-bottom:1.5px solid #e86884;color:#b8405c;background:transparent;cursor:pointer;font:700 .64rem Kalam,cursive}.tip-text-button.quiet{border-color:transparent;color:#8d8176}.rhythm-note{display:flex;padding:1.35rem;border:2px solid #332d28;border-radius:21px 9px 19px 13px;align-items:flex-start;gap:1rem;background:#d8e9c7;box-shadow:4px 5px 0 #332d28;transform:rotate(.5deg)}.rhythm-note.has-mission{background:#cce3ec}.rhythm-doodle{display:grid;flex:0 0 48px;height:48px;border:2px solid #332d28;border-radius:50%;place-items:center;background:#fff8e8;font-size:1.45rem}.rhythm-note h2{margin:.2rem 0 .4rem;font-size:1.35rem}.rhythm-note p:not(.eyebrow){color:#61584e;font-size:.7rem;line-height:1.55}.rhythm-note a{display:inline-block;margin-top:.65rem;border-bottom:2px solid #ef6e8b;color:#332d28;font-size:.67rem;font-weight:700}.rhythm-note small{display:block;color:#655c53;font-size:.58rem}.mission-progress{overflow:hidden;height:9px;margin:.7rem 0;border:1.5px solid #332d28;border-radius:99px;background:#fff8e9}.mission-progress i{display:block;height:100%;border-radius:99px;background:#ef718d}
.progressive-question-card{position:relative;display:grid;max-width:1120px;margin:0 auto 2.7rem;padding:1.25rem 1.4rem;border:2px dashed #6f6257;border-radius:18px 9px 21px 13px;grid-template-columns:58px 1fr auto;align-items:start;gap:1rem;background:#fffaf0;box-shadow:3px 4px 0 #d8c3aa}.question-doodle{display:grid;width:50px;height:50px;border:2px solid #332d28;border-radius:45% 55% 48% 52%;place-items:center;background:#f6bc49;font-family:Gaegu,cursive;font-size:1.8rem;font-weight:700;transform:rotate(-7deg)}.question-main h2{margin:.15rem 0 .35rem;font-size:1.35rem}.question-main details{margin:.25rem 0 .85rem;color:#776c62;font-size:.65rem}.question-main summary{cursor:pointer;font-weight:700}.question-main details p{margin:.4rem 0 0;line-height:1.5}.question-answer-form{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.question-options,.scale-options{display:flex;flex:1;flex-wrap:wrap;gap:.45rem}.question-options input,.scale-options input{position:absolute;width:1px;height:1px;opacity:0}.question-options span,.scale-options span{display:block;padding:.48rem .72rem;border:1.5px solid #86776a;border-radius:50px;background:#fff;font-size:.65rem;cursor:pointer}.question-options input:checked+span,.scale-options input:checked+span{border-color:#332d28;background:#f6acc0;box-shadow:2px 2px 0 #332d28}.scale-options span{display:grid;width:38px;height:38px;padding:0;place-items:center}.question-text{display:flex;min-width:240px;flex:1;flex-direction:column;font-size:.65rem;font-weight:700}.question-text input{height:42px;padding:0 .7rem;border:1.5px solid #86776a;border-radius:10px;background:#fff}.progressive-question-card .button{min-height:39px;padding:.5rem .9rem;font-size:.68rem}.question-skip{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.question-skip form{margin:0}.question-skip button{padding:.2rem;border:0;color:#877a70;background:transparent;cursor:pointer;font-size:.6rem;text-decoration:underline}

/* Mission library */
.missions-hero{align-items:center}.mission-complete-count{display:flex;padding:1rem 1.2rem;border:2px solid #332d28;border-radius:50%;align-items:center;gap:.6rem;background:#f5b2c2;box-shadow:3px 3px 0 #332d28;transform:rotate(3deg)}.mission-complete-count strong{font-family:Gaegu,cursive;font-size:2.2rem}.mission-complete-count span{font-size:.6rem;font-weight:700;line-height:1.25}.active-mission-card{display:grid;margin:1.5rem 0;padding:1.4rem;border:2px solid #332d28;border-radius:24px 10px 21px 13px;grid-template-columns:70px 1fr auto;align-items:center;gap:1.2rem;background:#cce4ed;box-shadow:5px 5px 0 #332d28}.active-mission-icon{display:grid;width:64px;height:64px;border:2px solid #332d28;border-radius:50%;place-items:center;background:#fff8e9;font-size:2rem}.active-mission-card h2{margin:.15rem 0}.active-mission-card p:not(.eyebrow){margin:0;color:#5e5851;font-size:.72rem}.active-mission-card .mission-progress{max-width:500px}.mission-actions{display:flex;flex-direction:column;gap:.4rem}.mission-actions form{margin:0}.mission-actions .button{width:100%;min-height:38px;font-size:.62rem}.mission-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mission-choice{display:flex;min-height:270px;padding:1.35rem;border:2px solid #332d28;border-radius:12px 24px 16px 19px;flex-direction:column;background:#fff8e9;box-shadow:4px 5px 0 #efb4c2}.mission-tone-1{box-shadow:4px 5px 0 #abc797}.mission-tone-2{box-shadow:4px 5px 0 #9fc9d6}.mission-tone-3{box-shadow:4px 5px 0 #eac450}.mission-choice>span{font-size:2rem}.mission-choice>small{color:#9a4b61;font-size:.58rem;font-weight:700;text-transform:uppercase}.mission-choice h2{margin:.5rem 0;font-size:1.45rem}.mission-choice p{color:#685f56;font-size:.7rem;line-height:1.55}.mission-choice form,.mission-complete-label,.mission-active-label{margin-top:auto}.mission-complete-label,.mission-active-label{color:#34705c;font-size:.65rem}.mission-choice .button{min-height:40px;font-size:.65rem}.mission-choice button:disabled{cursor:not-allowed;opacity:.5}

/* Professional content studio */
.content-studio-tabs{display:flex;overflow-x:auto;margin:1rem 0 1.4rem;padding:.35rem;border:1px solid #dcded7;border-radius:15px;gap:.3rem;background:#fff}.content-studio-tabs a{padding:.65rem 1rem;border-radius:11px;color:#65736d;font-size:.72rem;font-weight:800;white-space:nowrap}.content-studio-tabs a.active{color:#fff;background:#17352e}.campaign-overview{display:grid;margin-bottom:1.2rem;grid-template-columns:repeat(3,1fr);gap:.8rem}.campaign-overview article{display:flex;padding:1rem 1.2rem;border-radius:18px;align-items:baseline;gap:.7rem;background:#e7efe4}.campaign-overview article:nth-child(2){background:#e4eff3}.campaign-overview article:nth-child(3){background:#f9dfe6}.campaign-overview strong{font-size:1.7rem}.campaign-overview span{color:#65736d;font-size:.7rem}.campaign-grid .admin-tip-card{align-items:stretch}.campaign-metrics{display:flex;margin:.8rem 0;gap:.45rem}.campaign-metrics span{padding:.4rem .55rem;border-radius:9px;background:#f0f2ed;color:#67756f;font-size:.58rem}.campaign-metrics b{display:block;color:#17352e;font-size:.72rem}.campaign-editor{align-items:start}.campaign-main{display:flex;flex-direction:column;gap:1rem}.editor-section-head{display:flex;margin-bottom:1rem;align-items:center;gap:.7rem}.editor-section-head>span{display:grid;width:30px;height:30px;border-radius:9px;place-items:center;color:#fff;background:#17352e;font-size:.72rem;font-weight:800}.editor-section-head p,.editor-section-head h2{margin:0}.editor-section-head h2{font-size:1.05rem}.editor-label{display:flex;margin:.8rem 0;flex-direction:column;gap:.45rem;color:#31463f;font-size:.78rem;font-weight:750}.editor-label textarea,.stack-form textarea{width:100%;padding:.8rem;border:1px solid #d9ded7;border-radius:12px;outline:0;resize:vertical;font:inherit;background:#fff}.editor-label small{color:#89958f;font-weight:500}.form-row.thirds{grid-template-columns:repeat(3,1fr)}.campaign-settings small{line-height:1.35}.engagement-admin-list{display:flex;flex-direction:column;gap:.75rem}.engagement-admin-row{display:grid;padding:1rem 1.15rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1.2rem}.engagement-row-main{display:flex;align-items:flex-start;gap:.8rem}.engagement-row-main h2{margin:.2rem 0;font-size:1.05rem}.engagement-row-main p{margin:0;color:var(--muted);font-size:.7rem}.engagement-row-main small{color:#84918c;font-size:.57rem;text-transform:uppercase}.status-dot{flex:0 0 10px;width:10px;height:10px;margin-top:.4rem;border-radius:50%;background:#9aa39e}.status-published{background:#3c8a69}.status-scheduled{background:#dbac3c}.status-archived{background:#9b8cae}.engagement-metrics{display:flex;gap:.45rem}.engagement-metrics span{min-width:65px;padding:.45rem;border-radius:10px;background:#f2f4ef;color:#78847f;font-size:.55rem;text-align:center}.engagement-metrics strong{display:block;color:#17352e;font-size:.82rem}.question-editor{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem}.gentle-rules{padding:1.3rem;background:#e8f0e3}.gentle-rules>span{font-size:2rem}.gentle-rules ul{padding-left:1rem;color:#5f6d67;font-size:.7rem;line-height:1.7}.answer-list{display:flex;max-width:1000px;flex-direction:column;gap:.75rem}.answer-row{display:flex;padding:1.2rem;align-items:center;justify-content:space-between;gap:1rem}.answer-row small{color:#8b9691;font-size:.58rem;text-transform:uppercase}.answer-row h2{margin:.2rem 0;font-size:1.05rem}.answer-row p{margin:.2rem 0;color:var(--muted);font-size:.7rem}.answer-row strong{font-size:.76rem}
.admin-content-launcher{display:grid;margin:1rem 0 1.4rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.admin-content-launcher>a{display:grid;padding:1rem;border:1px solid #dce1da;border-radius:17px;grid-template-columns:38px 1fr auto;align-items:center;gap:.7rem;color:#17352e;background:#fff;box-shadow:0 8px 25px rgba(23,53,46,.05)}.admin-content-launcher>a>span{display:grid;width:38px;height:38px;border-radius:11px;place-items:center;background:#f7ccd6;font-size:1.1rem}.admin-content-launcher>a:nth-child(2)>span{background:#f7df91}.admin-content-launcher>a:nth-child(3)>span{background:#d7e8c8}.admin-content-launcher>a:nth-child(4)>span{background:#cae2eb}.admin-content-launcher small,.admin-content-launcher strong,.admin-content-launcher p{display:block;margin:0}.admin-content-launcher small{color:#7e8b85;font-size:.52rem;text-transform:uppercase}.admin-content-launcher strong{font-size:.72rem}.admin-content-launcher p{margin-top:.2rem;color:#83908b;font-size:.54rem;line-height:1.35}.admin-content-launcher>a>b{font-size:1rem}

/* Confidence-aware outlook */
.looking-ahead-card{display:grid;margin:1rem 0 1.5rem;padding:1.3rem 1.5rem;border:1px solid #d5dfd7;border-radius:24px;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:1rem;background:linear-gradient(120deg,#edf5e8,#fffdf8);box-shadow:0 12px 35px rgba(28,67,56,.06)}.outlook-orbit{display:grid;width:58px;height:58px;border:2px dashed #487965;border-radius:50%;place-items:center;background:#fff;font-size:1.4rem}.looking-ahead-card h2{margin:.1rem 0 .3rem;font-size:1.3rem}.looking-ahead-card p:not(.eyebrow){margin:0;color:#66756f;font-size:.72rem;line-height:1.55}.looking-ahead-card small{color:#8b9692;font-size:.56rem}.looking-ahead-card>a{font-size:.65rem;font-weight:800}.outlook-low{background:linear-gradient(120deg,#f6f0dc,#fffdf8)}.saved-tip-badge{position:absolute;top:.7rem;right:.7rem;padding:.3rem .55rem;border:1.5px solid #332d28;border-radius:30px;background:#f7acc0;font-size:.58rem}.inspiration-image{position:relative}

@media(max-width:1100px){.gentle-engagement-row{grid-template-columns:1fr}.rhythm-note{min-height:150px}.mission-choice-grid{grid-template-columns:1fr 1fr}.admin-content-launcher{grid-template-columns:1fr 1fr}.question-editor{grid-template-columns:1fr}.gentle-rules{position:static}.engagement-admin-row{grid-template-columns:1fr auto}.engagement-metrics{grid-row:2;grid-column:1/-1}.form-row.thirds{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.daily-tip-paper{grid-template-columns:150px 1fr}.progressive-question-card{grid-template-columns:45px 1fr}.question-doodle{width:42px;height:42px}.question-skip{grid-column:2;flex-direction:row;align-items:center}.active-mission-card{grid-template-columns:55px 1fr}.active-mission-icon{width:50px;height:50px}.mission-actions{grid-column:1/-1;flex-direction:row}.campaign-overview{grid-template-columns:1fr}.looking-ahead-card{grid-template-columns:50px 1fr}.looking-ahead-card>a{grid-column:2}.outlook-orbit{width:48px;height:48px}.answer-row{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.daily-tip-paper{grid-template-columns:1fr}.daily-tip-art{height:180px;min-height:180px}.daily-tip-copy{padding:1rem}.progressive-question-card{display:block}.question-doodle{float:left;margin:0 .8rem .5rem 0}.question-answer-form{clear:both}.question-options{width:100%;flex-basis:100%}.question-answer-form>.button{width:100%}.question-skip{margin-top:.6rem;justify-content:flex-end}.mission-choice-grid,.admin-content-launcher{grid-template-columns:1fr}.active-mission-card{display:block}.active-mission-icon{margin-bottom:.7rem}.mission-actions{margin-top:1rem;flex-wrap:wrap}.engagement-admin-row{display:flex;align-items:stretch;flex-direction:column}.engagement-metrics{overflow-x:auto}.form-row.thirds{grid-template-columns:1fr}.looking-ahead-card{display:block}.outlook-orbit{margin-bottom:.7rem}.looking-ahead-card>a{display:inline-block;margin-top:.7rem}}

/* Water tracking */
.paper-water{position:relative;padding:.8rem 1rem;border:2px solid #332d28;border-radius:8px 18px 11px 15px;background:#d6ebf3;box-shadow:4px 5px 0 #9fc7d5;transform:rotate(.45deg)}.water-title{display:flex;align-items:center;justify-content:space-between}.water-title h2{margin:0;font-family:Gaegu,cursive;font-size:1.25rem;text-transform:uppercase}.water-title p{margin:0;color:#5a6d73;font-size:.62rem}.water-title p strong{color:#2f7e99;font-size:.92rem}.water-title>span{font-size:1.4rem}.water-cups{display:flex;margin:.45rem 0 .55rem;align-items:flex-end;justify-content:center;gap:.38rem}.water-cup{position:relative;display:block;overflow:hidden;width:21px;height:29px;border:2px solid #332d28;border-top-width:1px;border-radius:2px 2px 7px 7px;background:#fffaf0;transform:perspective(30px) rotateX(-4deg)}.water-cup b{position:absolute;right:1px;bottom:1px;left:1px;height:0;border-radius:1px 1px 5px 5px;background:#63b9da;transition:height .2s}.water-cup.filled b{height:82%}.water-controls{display:flex;align-items:center;justify-content:center;gap:.45rem}.water-controls form{margin:0}.water-controls button,.water-controls summary{min-height:31px;padding:.3rem .55rem;border:1.5px solid #332d28;border-radius:9px;color:#332d28;background:#fffaf0;box-shadow:1px 2px 0 #332d28;cursor:pointer;font-family:Kalam,cursive;font-size:.58rem;font-weight:700}.water-controls button:disabled{cursor:not-allowed;opacity:.4}.water-controls .add-water{background:#79c9e5}.water-controls details{position:relative}.water-controls summary{display:flex;align-items:center;list-style:none}.water-controls details>div{position:absolute;z-index:8;right:0;top:38px;display:flex;padding:.4rem;border:1.5px solid #332d28;border-radius:10px;gap:.25rem;background:#fffaf0;box-shadow:3px 4px 0 #332d28}.water-controls details>div button{box-shadow:none}.quick-water-card{padding:1rem;border:2px solid #332d28;border-radius:15px 8px 18px 11px;background:#d9eef5;box-shadow:4px 5px 0 #95bdca;transform:rotate(-.4deg)}.quick-water-card>div:first-child{display:flex;align-items:center;gap:.65rem}.quick-water-card>div:first-child>span{font-size:1.7rem}.quick-water-card h3,.quick-water-card p{margin:0}.quick-water-card>small{display:block;margin-top:.7rem;color:#65777c;font-size:.56rem;line-height:1.4}.quick-water-buttons{display:grid!important;margin-top:.8rem;grid-template-columns:repeat(3,1fr);gap:.4rem}.quick-water-buttons form{margin:0}.quick-water-buttons button{display:flex;width:100%;min-height:55px;border:1.5px solid #332d28;border-radius:10px;flex-direction:column;align-items:center;justify-content:center;color:#332d28;background:#fffaf0;box-shadow:2px 3px 0 #332d28;cursor:pointer}.quick-water-buttons strong{font-size:.8rem}.quick-water-buttons small{font-size:.5rem}
@media(min-width:801px){.paper-welcome{grid-row:1/4}.paper-water{grid-column:2}.paper-dashboard{grid-template-rows:auto auto auto auto auto}}
@media(max-width:800px){.paper-water{margin-top:1rem}.water-cups{gap:clamp(.3rem,2vw,.7rem)}}
@media(max-width:420px){.water-cups{gap:.22rem}.water-cup{width:18px;height:26px}.water-controls{flex-wrap:wrap}}

/* One connected plate estimator: fraction shortcuts, weight reference and nutrition hub */
.plate-quick-picks{margin-top:1rem}.plate-quick-picks>span{display:block;margin-bottom:.45rem;color:#756960;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.plate-quick-picks>div{display:flex;gap:.4rem}.plate-quick-picks button{display:flex;width:49px;height:55px;padding:.3rem;border:1.5px solid #8c7d71;border-radius:12px;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:#443b35;background:rgba(255,250,240,.9);box-shadow:1px 2px 0 rgba(51,45,40,.35);cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s}.plate-quick-picks button:hover{transform:translateY(-2px)}.plate-quick-picks button.active{border-color:#332d28;background:#f6b3c3;box-shadow:2px 3px 0 #332d28;transform:translateY(-2px)}.plate-quick-picks button i{display:block;width:23px;height:23px;border:1.5px solid #332d28;border-radius:50%;background:conic-gradient(from -90deg,#ed7895 var(--plate-fill),#fffaf0 0)}.plate-quick-picks button b{font-family:Gaegu,Kalam,cursive;font-size:.72rem}.portion-visualizer{grid-template-columns:minmax(190px,1fr) 310px}.plate-stage{min-height:292px}.plate-shell{width:268px;height:268px}.plate-center{width:126px;height:126px;padding:9px;border-width:2px}.plate-calorie-value{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.plate-calorie-value strong{font-size:1.15rem}.plate-calorie-value span{font-size:.5rem!important}.plate-center-macros{display:grid;width:100%;margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(51,45,40,.23);grid-template-columns:repeat(3,1fr);gap:.15rem}.plate-center-macros span{display:flex;min-width:0;flex-direction:column;align-items:center;color:#332d28!important}.plate-center-macros span+span{border-left:1px solid rgba(51,45,40,.18)}.plate-center-macros b{font-size:.56rem;line-height:1.15}.plate-center-macros small{font-size:.35rem;line-height:1.2;text-transform:uppercase}.plate-center-macros .protein b{color:#3b8063}.plate-center-macros .carbs b{color:#a87900}.plate-center-macros .fat b{color:#317f9f}
@media(max-width:680px){.portion-visualizer{grid-template-columns:1fr}.plate-quick-picks>div{justify-content:center}.plate-stage{min-height:268px}.plate-shell{width:238px;height:238px}.plate-center{width:116px;height:116px;padding:8px}.plate-center-macros b{font-size:.52rem}.plate-center-macros small{font-size:.32rem}}

/* Recipe photos stay in the same create/edit transaction as the recipe. */
.recipe-photo-editor{margin-top:1.45rem;padding-top:1.35rem;border-top:1px solid var(--line)}.recipe-photo-heading{display:flex;margin-bottom:.8rem;align-items:end;justify-content:space-between;gap:1rem}.recipe-photo-heading h2{margin:.05rem 0;font-size:1.05rem}.recipe-photo-heading>span,.recipe-photo-help{color:#766a62;font-size:.55rem}.recipe-photo-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.recipe-photo-slot{min-width:0;padding:.55rem;border:1.5px dashed #c9b9ab;border-radius:18px;background:#fffaf0;transition:opacity .2s,border-color .2s}.recipe-photo-slot.has-photo{border-style:solid;border-color:#423a33}.recipe-photo-slot.is-removing{opacity:.48;border-color:#d58192}.recipe-photo-preview{overflow:hidden;display:grid;aspect-ratio:4/3;margin-bottom:.55rem;border-radius:13px;place-items:center;background:#f5e9d8}.recipe-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}.recipe-photo-preview img[hidden],.recipe-photo-placeholder[hidden]{display:none}.recipe-photo-placeholder{display:grid;width:100%;height:100%;place-items:center;align-content:center;color:#7b6f66}.recipe-photo-placeholder span{color:#ed6d8e;font-size:1.45rem}.recipe-photo-placeholder small{font-weight:800}.recipe-photo-pick{display:flex;width:100%;justify-content:center;cursor:pointer}.recipe-photo-pick input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.recipe-photo-remove{display:flex;margin:.5rem .15rem 0;align-items:center;gap:.35rem;color:#a14f64;font-size:.55rem;font-weight:800;cursor:pointer}.recipe-photo-help{margin:.65rem 0 0;line-height:1.45}
@media(max-width:680px){.recipe-photo-heading{align-items:flex-start;flex-direction:column}.recipe-photo-slots{grid-template-columns:1fr 1fr}.recipe-photo-slot:last-child{grid-column:1/-1}}

/* Private custom-food library */
.custom-food-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr);gap:1.4rem;align-items:start}.custom-food-card{overflow:hidden}.custom-food-library{position:sticky;top:96px;padding:1.3rem;border:2px solid #39322c;border-radius:28px 18px 30px 16px;background:linear-gradient(145deg,#fff8e8,#fce4e8);box-shadow:5px 6px 0 rgba(57,50,44,.14)}.custom-food-library>div:first-child{margin-bottom:1rem}.custom-food-library h2{margin:.1rem 0}.custom-food-library p{color:#75695f;font-size:.68rem;line-height:1.5}.custom-food-library-row{display:grid;padding:.72rem .35rem;border-top:1px dashed rgba(57,50,44,.22);grid-template-columns:38px 1fr auto;align-items:center;gap:.65rem;color:inherit;text-decoration:none}.custom-food-library-row>span{display:grid;width:34px;height:34px;border:1.5px solid #39322c;border-radius:50%;place-items:center;background:#f59ab0;font-weight:900}.custom-food-library-row div{display:flex;min-width:0;flex-direction:column}.custom-food-library-row strong,.custom-food-library-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-food-library-row small{color:#766a62;font-size:.56rem}.custom-food-library-row b{color:#b84e68;font-size:.6rem}.custom-library-empty{padding:1.2rem;border:1px dashed #bcae9f;border-radius:18px;text-align:center}.custom-library-empty>span{font-size:1.6rem}.custom-food-delete{padding:0 1.4rem 1.4rem;text-align:right}

/* The selected day's existing nutrition totals, permanently beside the diary. */
.diary-workspace{display:grid;grid-template-columns:minmax(285px,340px) minmax(0,1fr);gap:1.35rem;align-items:start}.daily-nutrition-plate{position:sticky;top:92px;overflow:hidden;padding:1.15rem 1.1rem 1rem;border:2px solid #39322c;border-radius:30px 16px 32px 18px;background:radial-gradient(circle at 15% 12%,rgba(255,255,255,.86) 0 2px,transparent 3px),linear-gradient(145deg,#fff8e8,#f8dfe6 54%,#dcebed);background-size:19px 19px,auto;box-shadow:5px 7px 0 rgba(57,50,44,.13)}.daily-nutrition-plate:before{position:absolute;top:-7px;left:33%;width:92px;height:22px;content:"";background:rgba(239,129,157,.45);transform:rotate(-2deg)}.daily-plate-heading{text-align:center}.daily-plate-heading h3{margin:.1rem 0;font-size:1.18rem}.daily-plate-heading>p:last-child{margin:.25rem 0;color:#766a62;font-size:.58rem}.daily-plate-stage{min-height:268px}.daily-nutrition-plate .plate-shell{width:245px;height:245px}.daily-nutrition-plate .plate-center{width:120px;height:120px}.daily-plate-extras{display:grid;margin-top:.15rem;grid-template-columns:1fr 1fr;gap:.55rem}.daily-plate-extras span{display:flex;padding:.55rem;border:1px solid rgba(57,50,44,.18);border-radius:13px;flex-direction:column;align-items:center;background:rgba(255,255,255,.58);color:#75695f;font-size:.52rem}.daily-plate-extras b{color:#39322c;font-size:.72rem}.daily-plate-empty{margin:.7rem 0 0;color:#806e64;font-size:.58rem;line-height:1.45;text-align:center}

/* Readable recipe book and secure photo gallery */
.recipe-readable-card{position:relative;color:inherit;text-decoration:none}.recipe-readable-card .recipe-card-link{position:absolute;z-index:1;inset:0;border-radius:inherit}.recipe-readable-card a:not(.recipe-card-link),.recipe-readable-card button{position:relative;z-index:2}.recipe-cover{overflow:hidden;margin:-1rem -1rem .85rem;aspect-ratio:16/9;border-bottom:2px solid #39322c;background:#f8e3e6}.recipe-cover img{width:100%;height:100%;object-fit:cover}.recipe-detail-head>div:last-child{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.recipe-detail-head form{margin:0}.recipe-photo-gallery{display:grid;margin-bottom:1.3rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.recipe-photo-gallery figure{overflow:hidden;margin:0;border:2px solid #39322c;border-radius:24px 14px 26px 16px;background:#fff8e9;box-shadow:4px 5px 0 rgba(57,50,44,.12)}.recipe-photo-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.recipe-photo-gallery figcaption{display:flex;padding:.55rem .7rem;align-items:center;justify-content:space-between;font-size:.58rem;font-weight:800}.recipe-photo-gallery figcaption form{margin:0}.recipe-photo-gallery figcaption button{border:0;background:transparent;color:#b84e68;font:inherit;cursor:pointer}.recipe-photo-gallery.is-empty{display:block;padding:2.2rem;border:2px dashed #b9aa9d;border-radius:26px;background:rgba(255,248,232,.68);text-align:center}.recipe-photo-gallery.is-empty span{color:#ef6f90;font-size:2rem}.recipe-photo-gallery.is-empty h2{margin:.2rem}.recipe-photo-gallery.is-empty p{margin:0;color:#766a62}.recipe-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr);gap:1.25rem;align-items:start}.recipe-detail-layout main{display:grid;gap:1rem}.recipe-detail-layout>aside{display:grid;position:sticky;top:92px;gap:1rem}.recipe-read-section{padding:1.25rem}.recipe-readable-ingredients{padding:0;list-style:none;counter-reset:ingredients}.recipe-readable-ingredients li{display:flex;padding:.7rem .15rem;border-bottom:1px dashed rgba(57,50,44,.2);align-items:center;justify-content:space-between;gap:1rem;counter-increment:ingredients}.recipe-readable-ingredients li>span:before{display:inline-grid;width:24px;height:24px;margin-right:.6rem;border:1.5px solid #39322c;border-radius:50%;content:counter(ingredients);place-items:center;background:#f7adc0;font-size:.56rem;font-weight:900}.recipe-readable-ingredients li>span{display:flex;align-items:center;font-weight:800}.recipe-readable-ingredients small{display:block;margin-left:.45rem;color:#81746b;font-weight:500}.recipe-prose,.recipe-notes p{white-space:pre-line;line-height:1.75}.recipe-missing-copy{padding:1rem;border:1px dashed #c1b4a7;border-radius:14px;color:#7c7067}.recipe-notes{margin-top:1rem;padding:1rem;border-radius:16px;background:#fff2c7}.recipe-detail-nutrition{padding:1.4rem;border:2px solid #39322c;border-radius:50% 48% 45% 51% / 38% 44% 56% 62%;background:#fff8e9;box-shadow:inset 0 0 0 7px #fff8e9,inset 0 0 0 9px #d9cfc1,5px 7px 0 rgba(57,50,44,.13);text-align:center}.recipe-detail-nutrition>strong{font-size:2.2rem}.recipe-detail-nutrition>span{display:block;color:#81746b;font-size:.55rem}.recipe-detail-nutrition>div{display:grid;margin:.8rem 0;grid-template-columns:1fr 1fr;gap:.5rem}.recipe-detail-nutrition>div span{display:flex;padding:.45rem;border-radius:12px;flex-direction:column;background:#f7dfe6;color:#786c63;font-size:.48rem}.recipe-detail-nutrition b{color:#39322c;font-size:.7rem}.recipe-detail-nutrition>small{display:block;color:#786c63;font-size:.5rem;line-height:1.4}.recipe-photo-manager{padding:1rem}.recipe-photo-manager h3{margin:.1rem 0}.recipe-photo-manager>p:not(.eyebrow){color:#766a62;font-size:.58rem}.recipe-photo-manager form{display:grid;padding:.55rem 0;border-top:1px dashed rgba(57,50,44,.2);grid-template-columns:1fr auto;align-items:end;gap:.5rem}.recipe-photo-manager label{min-width:0;font-size:.56rem;font-weight:800}.recipe-photo-manager input{display:block;width:100%;margin-top:.25rem;font-size:.48rem}.recipe-photo-manager .button{padding:.55rem .65rem}.recipe-photo-manager>small{display:block;margin-top:.5rem;color:#7b6f66;font-size:.49rem;line-height:1.45}

/* Practical report prompts: a quiet heartbeat, then a long rest. */
.pattern-insight{position:relative;overflow:hidden;padding-right:2.6rem!important;border:1.5px solid rgba(57,50,44,.24)!important;border-radius:24px 13px 25px 15px!important;box-shadow:3px 4px 0 rgba(57,50,44,.1)}.pattern-insight:after{position:absolute;right:-16px;bottom:-25px;width:72px;height:72px;border:2px solid rgba(239,104,136,.16);border-radius:50%;content:""}.pattern-insight .insight-icon{display:grid;width:40px;height:40px;border:1.5px solid #39322c;border-radius:50%;place-items:center;background:#fff8e9}.report-heart-attention{position:absolute;top:.62rem;right:.72rem;color:#e95e7f;font-family:Gaegu,Kalam,cursive;font-size:.78rem;font-style:normal;font-weight:900;transform:rotate(-8deg);animation:report-heart-rest 5.2s ease-in-out infinite}.pattern-insight h3{padding-right:.4rem}@keyframes report-heart-rest{0%,7%,14%,100%{transform:rotate(-8deg) scale(1)}3.5%,10.5%{transform:rotate(-8deg) scale(1.22)}}

/* My Most Used: permanent illustrated furniture, dynamic food stickers. */
.most-used-pantry{position:relative;overflow:hidden;margin:1.4rem 0;padding:1.3rem 1.4rem 1.5rem;border:2px solid #39322c;border-radius:32px 17px 34px 20px;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.75) 0 2px,transparent 3px),linear-gradient(150deg,#fff8e6,#f7dfe5 52%,#dbeaec);background-size:21px 21px,auto;box-shadow:6px 8px 0 rgba(57,50,44,.12)}.most-used-pantry:before{position:absolute;top:-8px;left:41%;width:120px;height:24px;content:"";background:rgba(242,142,166,.46);transform:rotate(1deg)}.most-used-pantry>header{position:relative;z-index:2;display:flex;margin-bottom:1rem;align-items:flex-end;justify-content:space-between;gap:1rem}.most-used-pantry>header h2{margin:.08rem 0}.most-used-pantry>header p:last-child{max-width:600px;margin:.25rem 0 0;color:#74685f;font-size:.62rem}.most-used-pantry>header>span{padding:.45rem .7rem;border:1.5px solid #39322c;border-radius:999px;background:#fff4bd;font-size:.57rem;font-weight:900}.pantry-top{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}.pantry-shelf{position:relative;min-width:0;padding:2.25rem .65rem 1rem;border:2px solid #39322c;border-bottom-width:6px;border-radius:9px 9px 5px 5px;background:linear-gradient(90deg,rgba(172,116,76,.14),rgba(255,250,230,.7) 12% 88%,rgba(172,116,76,.14));box-shadow:inset 9px 0 rgba(156,100,66,.13),inset -9px 0 rgba(156,100,66,.13),3px 5px 0 rgba(57,50,44,.14)}.pantry-shelf .pantry-label{position:absolute;top:.45rem;left:50%;display:flex;padding:.23rem .48rem;border:1.5px solid #39322c;border-radius:8px;align-items:center;gap:.25rem;background:#fff8dd;transform:translateX(-50%) rotate(-1deg);white-space:nowrap}.pantry-label span{font-size:.75rem}.pantry-label strong{font:700 .68rem Gaegu,Kalam,cursive}.pantry-shelf .pantry-stickers{min-height:115px}.shelf-board{position:absolute;right:-5px;bottom:-13px;left:-5px;height:13px;border:2px solid #39322c;border-radius:3px;background:linear-gradient(#c89469,#a96c46);box-shadow:0 5px 0 rgba(57,50,44,.14)}.pantry-bottom{display:grid;margin-top:1.8rem;grid-template-columns:repeat(4,1fr);gap:.9rem}.pantry-plate{position:relative;min-height:205px;padding:2.5rem .55rem .65rem;border:3px solid #39322c;border-radius:50%;background:#fff9ea;box-shadow:inset 0 0 0 7px #fff9ea,inset 0 0 0 9px #d6cbbd,4px 7px 0 rgba(57,50,44,.13)}.pantry-plate .pantry-label{position:absolute;top:1rem;left:50%;display:flex;z-index:2;align-items:center;gap:.25rem;transform:translateX(-50%);white-space:nowrap}.pantry-stickers{display:flex;position:relative;z-index:2;height:100%;flex-wrap:nowrap;align-items:flex-end;justify-content:space-evenly;gap:.25rem}.pantry-plate .pantry-stickers{min-height:130px;align-items:center;flex-wrap:wrap}.pantry-sticker{position:relative;min-width:0;text-align:center}.pantry-sticker>a{display:flex;color:inherit;flex-direction:column;align-items:center;text-decoration:none}.pantry-sticker img{display:block;width:74px;height:74px;object-fit:contain;filter:drop-shadow(2px 4px 2px rgba(57,50,44,.2));transition:transform .2s ease}.pantry-plate .pantry-sticker img{width:68px;height:68px}.pantry-sticker:hover img,.pantry-sticker:focus-within img{transform:translateY(-5px) rotate(-2deg) scale(1.07)}.pantry-sticker span{max-width:82px;margin-top:-.15rem;overflow:hidden;font:700 .62rem Gaegu,Kalam,cursive;text-overflow:ellipsis;white-space:nowrap}.pantry-sticker small{color:#7b6e65;font-size:.43rem}.pantry-sticker form{position:absolute;z-index:3;top:-3px;right:0;margin:0}.pantry-sticker form button{display:grid;width:20px;height:20px;padding:0;border:1px solid #39322c;border-radius:50%;place-items:center;background:#fff8e9;color:#b84e68;cursor:pointer;font-size:.65rem;line-height:1}.pantry-empty{display:flex;margin:1.4rem auto 0;padding:.75rem 1rem;border:1px dashed #ad9f92;border-radius:999px;align-items:center;justify-content:center;gap:.6rem;background:rgba(255,255,255,.46);color:#75695f;text-align:center}.pantry-empty span{color:#ed6d8b;font-size:1.2rem}.pantry-empty p{margin:0;font-size:.62rem}

@media(max-width:1150px){.diary-workspace{grid-template-columns:280px minmax(0,1fr)}.daily-nutrition-plate .plate-shell{width:220px;height:220px}.pantry-bottom{grid-template-columns:repeat(2,1fr)}.pantry-plate{border-radius:40px}}
@media(max-width:860px){.custom-food-layout,.recipe-detail-layout,.diary-workspace{grid-template-columns:1fr}.custom-food-library,.recipe-detail-layout>aside,.daily-nutrition-plate{position:relative;top:auto}.daily-nutrition-plate{max-width:440px;margin:0 auto;width:100%}.pantry-top{grid-template-columns:1fr}.pantry-shelf .pantry-stickers{min-height:96px}.recipe-photo-gallery{grid-template-columns:1fr 1fr}.recipe-photo-gallery.has-1{grid-template-columns:1fr}.recipe-photo-gallery.has-1 figure{max-width:640px}}
@media(max-width:560px){.most-used-pantry{padding:1rem .7rem}.most-used-pantry>header{align-items:flex-start;flex-direction:column}.pantry-bottom{grid-template-columns:1fr}.pantry-plate{min-height:165px;border-radius:46px}.recipe-photo-gallery{grid-template-columns:1fr}.recipe-detail-head>div:last-child{align-items:stretch;flex-direction:column}.recipe-detail-head>div:last-child .button{width:100%}.recipe-photo-manager form{grid-template-columns:1fr}.daily-nutrition-plate .plate-shell{width:230px;height:230px}}
@media(prefers-reduced-motion:reduce){.report-heart-attention{animation:none}.pantry-sticker img{transition:none}.pantry-sticker:hover img,.pantry-sticker:focus-within img{transform:none}}

.recipe-card-readable{display:block;color:inherit;text-decoration:none}.recipe-card-readable .recipe-art{position:relative;overflow:hidden}.recipe-card-readable .recipe-art.has-photo{padding:0}.recipe-card-readable .recipe-art img{width:100%;height:100%;object-fit:cover}.recipe-card-readable .recipe-art small{position:absolute;right:.75rem;bottom:.7rem}.recipe-card>.recipe-actions{padding:0 1.25rem 1.15rem}.recipe-open-label{display:block;color:#b84e68;font:700 .72rem Gaegu,Kalam,cursive}

/* Food comfort check-ins: optional, warm, and deliberately free of alarm styling. */
:root{--comfort-positive:#78b798;--comfort-neutral:#e7d9b4;--comfort-notice:#e9a5a0;--comfort-symptom:#a9a0d9}
.comfort-checkin-button{display:flex;width:max-content;max-width:100%;margin-top:.34rem;padding:.22rem .48rem;border:1px solid #d9d5cb;border-radius:999px;align-items:center;gap:.3rem;color:#746a62;background:#fffaf2;cursor:pointer;font-size:.55rem;font-weight:750;line-height:1.15;transition:transform .16s,background .16s,border-color .16s}.comfort-checkin-button:hover{border-color:#ae9e90;background:#fff3e7;transform:translateY(-1px)}.comfort-checkin-button span{font-size:.72rem}.comfort-checkin-button.has-checkin{border-color:#c8d8ca;background:#edf5ea}.comfort-checkin-button.comfort-rough,.comfort-checkin-button.comfort-uncomfortable{border-color:#e5c5bd;background:#fff0eb}.comfort-checkin-button.comfort-neutral{background:#f8f1df}
.comfort-dialog{width:min(760px,calc(100vw - 28px));max-height:min(880px,calc(100vh - 28px));padding:0;border:0;border-radius:26px 14px 27px 17px;color:var(--ink);background:#fffdf7;box-shadow:0 30px 90px rgba(36,32,29,.28)}.comfort-dialog::backdrop{background:rgba(33,39,36,.47);backdrop-filter:blur(4px)}.comfort-form{padding:1.35rem}.comfort-form>header{display:flex;padding:.35rem .25rem 1rem;align-items:flex-start;justify-content:space-between;gap:1rem}.comfort-form>header h2{margin:.1rem 0 .3rem;font-family:Gaegu,Inter,sans-serif;font-size:1.8rem}.comfort-form>header h2 span{color:#d45f7c}.comfort-form>header p:last-child{margin:0;color:var(--muted);font-size:.68rem}.comfort-close{width:36px;height:36px;border:1px solid #ded9cf;border-radius:50%;color:#746c65;background:#fff;cursor:pointer;font-size:1.25rem}.comfort-form fieldset{padding:0;border:0}.comfort-form legend{margin-bottom:.65rem;font-size:.7rem;font-weight:800}.comfort-scale>div{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem}.comfort-scale label{cursor:pointer}.comfort-scale input{position:absolute;opacity:0;pointer-events:none}.comfort-scale span{display:flex;min-height:86px;padding:.65rem .3rem;border:1.5px solid #ddd8ce;border-radius:16px 9px 17px 12px;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:#fff;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}.comfort-scale b{font-size:1.75rem;filter:saturate(.82)}.comfort-scale small{font-size:.57rem;font-weight:800}.comfort-scale input:focus-visible+span{outline:3px solid rgba(45,128,104,.25);outline-offset:2px}.comfort-scale input:checked+span{border-color:#574f48;background:#fff0d9;box-shadow:2px 3px 0 #574f48;transform:translateY(-2px)}.comfort-scale label:nth-child(4) input:checked+span,.comfort-scale label:nth-child(5) input:checked+span{background:#eaf4e9}.comfort-details{margin-top:1rem;border:1px solid #e0dcd3;border-radius:16px;background:#faf8f1}.comfort-details>summary{padding:.8rem 1rem;cursor:pointer;font-size:.7rem;font-weight:800;list-style-position:inside}.comfort-details>summary small{color:var(--muted);font-weight:500}.comfort-details-body{padding:0 1rem 1rem}.comfort-symptom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.comfort-symptom{display:flex;padding:.58rem;border:1px solid #ddd9d0;border-radius:11px;flex-direction:column;gap:.45rem;background:#fff}.comfort-symptom>span{display:flex;align-items:center;gap:.4rem}.comfort-symptom b{font-size:.6rem}.comfort-symptom select{height:28px;border:1px solid #e0ddd5;border-radius:7px;color:#776f68;background:#faf9f5;font-size:.54rem}.comfort-symptom:not(:has(input:checked)) select{opacity:.43}.comfort-symptom:has(input:checked){border-color:#9c94c9;background:#f5f1ff}.comfort-custom{display:flex;margin-top:.55rem;flex-direction:column;gap:.35rem;font-size:.62rem;font-weight:750}.comfort-custom input,.comfort-context-row select,.comfort-details textarea{width:100%;border:1px solid #d9d6ce;border-radius:10px;background:#fff}.comfort-custom input{height:38px;padding:0 .7rem}.comfort-context-row{display:grid;margin-top:.8rem;grid-template-columns:1fr 1fr;gap:.65rem}.comfort-context-row label,.comfort-details-body>label{display:flex;flex-direction:column;gap:.35rem;font-size:.62rem;font-weight:750}.comfort-context-row select{height:40px;padding:0 .65rem}.comfort-details textarea{padding:.7rem;resize:vertical}.comfort-details-body>label{margin-top:.7rem}.comfort-details-body>label small{color:var(--muted);font-weight:500}.comfort-reassurance{margin:.85rem .2rem;color:#766e66;font-size:.58rem;line-height:1.5}.comfort-form>footer{display:flex;padding-top:.9rem;border-top:1px dashed #ddd6c9;align-items:center;justify-content:space-between;gap:.75rem}.comfort-form>footer>div{display:flex;gap:.5rem}.comfort-delete{border:0;color:#9a554d;background:transparent;cursor:pointer;font-size:.61rem;text-decoration:underline}.comfort-reminder-card{position:relative;overflow:hidden;padding:1.1rem;border:1.5px solid #9e8dc7;border-radius:19px 9px 21px 13px;background:linear-gradient(135deg,#fbf4ff,#fff7e5);box-shadow:3px 4px 0 #cfc1e5;transform:rotate(-.25deg)}.comfort-reminder-card .comfort-reminder-doodle{position:absolute;right:.75rem;top:.45rem;color:#e27a98;font-family:Gaegu,cursive;font-size:1.8rem;transform:rotate(10deg)}.comfort-reminder-card h3{margin:.1rem 2rem .35rem 0;font-family:Gaegu,cursive;font-size:1.25rem}.comfort-reminder-card>p:not(.eyebrow){margin-bottom:.8rem;color:#6e6570;font-size:.65rem;line-height:1.55}.comfort-reminder-card>div{display:flex;align-items:center;gap:.6rem}.comfort-reminder-card form{margin:0}.comfort-reminder-card button:not(.button),.comfort-reminder-card details button{border:0;color:#776d78;background:transparent;cursor:pointer;font-size:.57rem;text-decoration:underline}.comfort-reminder-card details{margin-top:.6rem;color:#83798a;font-size:.53rem}.comfort-reminder-card details summary{cursor:pointer}.comfort-history-hint{display:flex;padding:1rem;border:1.5px solid #a898cb;border-radius:18px 9px 20px 12px;gap:.75rem;background:linear-gradient(135deg,#faf3ff,#fff8e9);box-shadow:3px 4px 0 #d7cce8}.comfort-hint-icon{display:grid;width:39px;height:39px;border-radius:13px;flex:0 0 39px;place-items:center;background:#fff;font-size:1.15rem}.comfort-history-hint h3{margin:.1rem 0 .3rem;font-family:Gaegu,cursive;font-size:1.2rem}.comfort-history-hint p:not(.eyebrow){margin:0;color:#6f6570;font-size:.63rem;line-height:1.55}.comfort-history-hint div>div{display:flex;margin-top:.65rem;align-items:center;gap:.8rem}.comfort-history-hint a,.comfort-history-hint button{border:0;color:#735c91;background:transparent;cursor:pointer;font-size:.58rem;font-weight:750}.comfort-history-hint button{text-decoration:underline}

/* Food & comfort report */
.comfort-report{max-width:1420px;margin:2rem auto 1.5rem;padding:1.5rem;border:1px solid #ded8cd;border-radius:28px 15px 30px 18px;background:linear-gradient(145deg,#fffdf7,#faf5ed);box-shadow:var(--shadow)}.comfort-report-head{display:flex;margin-bottom:1.2rem;align-items:flex-end;justify-content:space-between;gap:1rem}.comfort-report-head h2{margin:.1rem 0 .3rem;font-family:Gaegu,cursive;font-size:2rem}.comfort-report-head p:last-child{margin:0;color:var(--muted);font-size:.7rem}.comfort-report-head>a{font-size:.66rem;font-weight:800}.comfort-empty{display:flex;padding:1.3rem;border:1px dashed #cfc6b8;border-radius:17px;align-items:center;gap:1rem;background:#fffaf1}.comfort-empty>span{display:grid;width:50px;height:50px;border-radius:50%;place-items:center;color:#df6d8a;background:#f9dce4;font-size:1.5rem}.comfort-empty h3{margin-bottom:.2rem}.comfort-empty p{margin:0;color:var(--muted);font-size:.68rem}.comfort-score-grid{display:grid;margin-bottom:1rem;grid-template-columns:repeat(4,1fr);gap:.7rem}.comfort-score-grid article{display:flex;min-height:115px;padding:1rem;border:1px solid #e0dbd1;border-radius:17px 10px 18px 12px;flex-direction:column;background:#fff}.comfort-score-grid article:nth-child(2){background:#eef7ed}.comfort-score-grid span{color:var(--muted);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.comfort-score-grid strong{margin:.3rem 0;font-family:Georgia,serif;font-size:1.7rem}.comfort-score-grid .comfort-word{font-family:Gaegu,cursive;font-size:1.2rem;line-height:1.15}.comfort-score-grid small{margin-top:auto;color:#867e76;font-size:.52rem}.comfort-chart-grid{display:grid;margin-bottom:1.2rem;grid-template-columns:1.35fr .8fr;gap:1rem}.comfort-timeline-wrap,.comfort-symptom-wrap{height:260px;margin-top:.8rem}.comfort-chart-legend{display:flex;margin-top:.7rem;justify-content:center;gap:1rem}.comfort-chart-legend span{display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.54rem}.comfort-chart-legend i{width:9px;height:9px;border-radius:3px}.comfort-chart-legend .comfortable{background:var(--comfort-positive)}.comfort-chart-legend .neutral{background:var(--comfort-neutral)}.comfort-chart-legend .uncomfortable{background:var(--comfort-notice)}.comfort-pattern-layout{display:grid;grid-template-columns:1.35fr .8fr;gap:1.3rem}.comfort-pattern-layout .section-heading small{color:var(--muted);font-size:.52rem}.comfort-pattern-list,.comfort-timeline{display:flex;flex-direction:column;gap:.55rem}.comfort-pattern-card{padding:.9rem;border:1px solid #e1ddd5;border-radius:15px;background:#fff}.comfort-pattern-title{display:flex;align-items:center;gap:.65rem}.comfort-pattern-title>span{display:grid;width:34px;height:34px;border-radius:10px;flex:0 0 34px;place-items:center;color:#70618d;background:#eee8f8;font-size:.7rem;font-weight:800}.comfort-pattern-title>div{min-width:0;flex:1}.comfort-pattern-title h4{overflow:hidden;margin:0;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.comfort-pattern-title p,.comfort-pattern-card>p{margin:.15rem 0 0;color:var(--muted);font-size:.54rem}.comfort-pattern-title>small{padding:.25rem .45rem;border-radius:999px;color:#6e6870;background:#f1eee8;font-size:.49rem;font-weight:800}.comfort-pattern-title>small.pattern-comfortable{color:#3f7758;background:#e8f3e7}.comfort-pattern-title>small.pattern-discomfort{color:#8d5d57;background:#f9e8e3}.comfort-split{display:flex;overflow:hidden;height:7px;margin-top:.65rem;border-radius:99px;background:#eeeae2}.comfort-split span{display:block;flex:0 0 var(--share)}.comfort-split .comfortable{background:var(--comfort-positive)}.comfort-split .neutral{background:var(--comfort-neutral)}.comfort-split .uncomfortable{background:var(--comfort-notice)}.comfort-timeline article{display:grid;padding:.75rem;border-bottom:1px solid #e6e1d9;grid-template-columns:34px 1fr;gap:.55rem}.timeline-face{font-size:1.15rem}.comfort-timeline strong{display:block;font-size:.68rem}.comfort-timeline small{color:var(--muted);font-size:.5rem}.comfort-timeline p{margin:.2rem 0 0;color:#6e675f;font-size:.55rem}.comfort-timeline blockquote{margin:.35rem 0 0;padding:.35rem .55rem;border-left:2px solid #bdafd8;color:#786f7c;background:#f7f3fa;font-size:.53rem;font-style:italic}.comfort-safety-note{display:flex;margin-top:1.2rem;padding:1rem;border-radius:14px;gap:.7rem;background:#f4f0e7}.comfort-safety-note>span{color:#8e7eb2;font-size:1.2rem}.comfort-safety-note p{margin:0;color:#6e6962;font-size:.57rem;line-height:1.55}
@media(max-width:1000px){.comfort-score-grid{grid-template-columns:1fr 1fr}.comfort-chart-grid,.comfort-pattern-layout{grid-template-columns:1fr}.comfort-symptom-wrap{height:230px}}
@media(max-width:680px){.comfort-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.comfort-form{padding:1rem}.comfort-scale>div{gap:.28rem}.comfort-scale span{min-height:74px;padding:.45rem .15rem}.comfort-scale b{font-size:1.35rem}.comfort-scale small{font-size:.45rem}.comfort-symptom-grid{grid-template-columns:1fr 1fr}.comfort-context-row{grid-template-columns:1fr}.comfort-form>footer{align-items:flex-start;flex-direction:column-reverse}.comfort-form>footer>div{width:100%}.comfort-form>footer .button{flex:1}.comfort-report{padding:1rem}.comfort-report-head{align-items:flex-start;flex-direction:column}.comfort-score-grid{grid-template-columns:1fr 1fr}.comfort-score-grid article{min-height:105px;padding:.8rem}.comfort-chart-grid{grid-template-columns:1fr}.comfort-timeline-wrap{height:235px}.comfort-pattern-title{align-items:flex-start;flex-wrap:wrap}.comfort-pattern-title>small{margin-left:40px}.comfort-food-row .food-copy{overflow:visible}}

/* Admin launchpad can grow without squeezing cards into a fixed four-item layout. */
.admin-content-launcher{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-content-launcher>a:nth-child(5)>span{background:#e4d4f4}
@media(max-width:1250px){.admin-content-launcher{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.admin-content-launcher{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.admin-content-launcher{grid-template-columns:1fr}.mobile-nav a{min-width:45px;font-size:.52rem}}

/* Readable nutrition lives inside the plate, not in a tiny tooltip. */
.portion-visualizer{grid-template-columns:minmax(190px,1fr) 320px}.plate-stage{min-height:304px}.plate-shell{width:280px;height:280px}.plate-center{width:154px;height:120px;padding:10px 11px;border-radius:38px}.plate-calorie-value strong{font-size:1.3rem}.plate-calorie-value span{font-size:.56rem!important}.plate-center-macros{margin-top:.4rem;padding-top:.45rem;gap:.28rem}.plate-center-macros span{padding:.25rem .12rem;border:1px solid rgba(51,45,40,.16)!important;border-radius:7px}.plate-center-macros span.protein{background:rgba(120,183,152,.24)}.plate-center-macros span.carbs{background:rgba(240,195,79,.25)}.plate-center-macros span.fat{background:rgba(133,191,218,.27)}.plate-center-macros b{font-size:.68rem}.plate-center-macros small{font-size:.38rem;font-weight:800}
@media(max-width:680px){.plate-stage{min-height:280px}.plate-shell{width:250px;height:250px}.plate-center{width:144px;height:112px;padding:8px 9px}.plate-center-macros b{font-size:.62rem}.plate-center-macros small{font-size:.35rem}}

/* Satisfying live portion plate */
.portion-visualizer{position:relative;display:grid;overflow:hidden;margin:1.2rem 0;padding:1.1rem 1.2rem;border:1.5px solid #d6d1c7;border-radius:23px 11px 25px 15px;grid-template-columns:minmax(190px,1fr) 270px;align-items:center;gap:1rem;background:radial-gradient(circle at 12% 14%,rgba(255,255,255,.9) 0 3px,transparent 4px),linear-gradient(135deg,#fff7e6,#f8e3e7 55%,#dcecf0);background-size:24px 24px,auto;box-shadow:0 16px 36px rgba(62,49,42,.09)}.portion-visualizer:before{position:absolute;width:100px;height:18px;top:-5px;left:23%;content:"";background:rgba(241,151,175,.45);transform:rotate(-2deg)}.portion-visual-copy{position:relative;z-index:2}.portion-visual-copy h3{margin:.15rem 0 .35rem;font-size:1.3rem}.portion-visual-copy>p:not(.eyebrow){max-width:350px;margin:.2rem 0;color:#72665c;font-size:.68rem;line-height:1.55}.portion-measure{display:flex;margin-top:.8rem;flex-direction:column}.portion-measure strong{font-family:Gaegu,Kalam,cursive;font-size:1.1rem}.portion-measure span{color:#b64f69;font-size:.64rem;font-weight:800}.plate-macro-key{display:flex;margin-top:.85rem;flex-wrap:wrap;gap:.35rem .7rem}.plate-macro-key span{display:flex;align-items:center;gap:.3rem;color:#71665e;font-size:.55rem;font-weight:700}.plate-macro-key i{width:9px;height:9px;border:1px solid #332d28;border-radius:50%}.macro-protein{background:#78b798}.macro-carbs{background:#f0c34f}.macro-fat{background:#85bfda}.plate-stage{position:relative;display:grid;min-height:250px;place-items:center}.plate-shell{position:relative;width:222px;height:222px;padding:13px;border:3px solid #39322c;border-radius:50%;background:#fffaf0;box-shadow:inset 0 0 0 7px #fffaf0,inset 0 0 0 9px #d9cfc1,0 13px 18px rgba(70,52,42,.2);transform:rotate(-1deg)}.plate-shell:after{position:absolute;inset:18px;border:1px dashed rgba(79,66,57,.24);border-radius:50%;content:"";pointer-events:none}.plate-shell canvas{position:relative;z-index:1;width:100%!important;height:100%!important}.plate-center{position:absolute;z-index:3;top:50%;left:50%;display:flex;width:62px;height:62px;border:1.5px solid #332d28;border-radius:50%;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,250,240,.94);box-shadow:2px 3px 0 rgba(51,45,40,.3);transform:translate(-50%,-50%)}.plate-center strong{font-size:1.05rem;line-height:1}.plate-center span{color:#81756b;font-size:.48rem;font-weight:700}.plate-fork,.plate-knife{position:absolute;top:55px;width:10px;height:152px;border:2px solid #4a433d;border-radius:8px;background:linear-gradient(90deg,#fff,#cbd4d2,#fff);box-shadow:2px 4px 7px rgba(51,45,40,.15)}.plate-fork{left:5px;transform:rotate(-4deg)}.plate-fork:before{position:absolute;top:-17px;left:-4px;width:14px;height:24px;border:2px solid #4a433d;border-width:0 2px;border-radius:4px;content:"";box-shadow:5px 0 0 -3px #4a433d,-5px 0 0 -3px #4a433d}.plate-knife{right:5px;border-radius:2px 11px 8px 4px;transform:rotate(4deg)}.plate-spark{position:absolute;z-index:4;color:#ec6483;font-family:Gaegu,cursive;font-size:1.3rem}.plate-spark-one{top:16px;right:28px}.plate-spark-two{right:12px;bottom:18px}.portion-footnote{position:absolute;right:1rem;bottom:.45rem;left:1rem;margin:0!important;color:#887d74!important;font-size:.5rem!important;text-align:center}.portion-pop .plate-shell{animation:plate-settle .58s cubic-bezier(.2,.9,.25,1.25)}.portion-pop .plate-spark-one{animation:spark-twinkle .65s ease-out}.portion-pop .plate-spark-two{animation:spark-twinkle .65s .08s ease-out}@keyframes plate-settle{0%{opacity:.78;transform:scale(.92) rotate(-5deg)}65%{transform:scale(1.025) rotate(1deg)}100%{opacity:1;transform:scale(1) rotate(-1deg)}}@keyframes spark-twinkle{0%{opacity:0;transform:scale(.3) rotate(-25deg)}65%{opacity:1;transform:scale(1.35) rotate(8deg)}100%{transform:scale(1) rotate(0)}}.theme-storybook .portion-visualizer{border:2px solid #332d28;box-shadow:4px 5px 0 #d9b9a5;background:radial-gradient(circle at 12% 14%,rgba(255,255,255,.78) 0 2px,transparent 3px),linear-gradient(135deg,#fff7e6,#f8dce4 55%,#d6e9ef);background-size:19px 19px,auto}.theme-electric .portion-visualizer{background:linear-gradient(135deg,#fff3a6,#ffc9dc 55%,#b9f4e8)}.theme-calm .portion-visualizer{background:linear-gradient(135deg,#f4f1e7,#e1ede5 55%,#dbe9eb)}
@media(max-width:680px){.portion-visualizer{grid-template-columns:1fr;padding:1.1rem 1rem 2rem;text-align:center}.portion-visual-copy>p:not(.eyebrow){margin-right:auto;margin-left:auto}.portion-measure,.plate-macro-key{align-items:center;justify-content:center}.plate-stage{min-height:235px}.plate-shell{width:205px;height:205px}.plate-fork,.plate-knife{height:135px}.plate-fork{left:calc(50% - 130px)}.plate-knife{right:calc(50% - 130px)}}@media(prefers-reduced-motion:reduce){.portion-pop .plate-shell,.portion-pop .plate-spark{animation:none!important}}

/* Final estimator sizing follows the content styles above. */
.portion-visualizer{grid-template-columns:minmax(190px,1fr) 310px}.plate-stage{min-height:292px}.plate-shell{width:268px;height:268px}.plate-center{width:126px;height:126px;padding:9px;border-width:2px}.plate-calorie-value{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.plate-calorie-value strong{font-size:1.15rem}.plate-calorie-value span{font-size:.5rem!important}.plate-center-macros{display:grid;width:100%;margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(51,45,40,.23);grid-template-columns:repeat(3,1fr);gap:.15rem}.plate-center-macros span{display:flex;min-width:0;flex-direction:column;align-items:center;color:#332d28!important}.plate-center-macros span+span{border-left:1px solid rgba(51,45,40,.18)}.plate-center-macros b{font-size:.56rem;line-height:1.15}.plate-center-macros small{font-size:.35rem;line-height:1.2;text-transform:uppercase}.plate-center-macros .protein b{color:#3b8063}.plate-center-macros .carbs b{color:#a87900}.plate-center-macros .fat b{color:#317f9f}
@media(max-width:680px){.portion-visualizer{grid-template-columns:1fr}.plate-quick-picks>div{justify-content:center}.plate-stage{min-height:268px}.plate-shell{width:238px;height:238px}.plate-center{width:116px;height:116px;padding:8px}.plate-center-macros b{font-size:.52rem}.plate-center-macros small{font-size:.32rem}}
