:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#272823;background:#f6f4ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #272823;--muted: #77786f;--accent: #bc4f32;--leaf: #566b4c;--paper: #fffef9;--line: #e7e3d8}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.entry-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.entry-copy{min-height:100vh;padding:clamp(32px,7vw,100px);background:#bc4f32;color:#fff8ee;display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0;color:var(--leaf);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.entry-copy .eyebrow{color:#f5d3bd}.entry-copy h1{margin:26px 0 32px;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(76px,13vw,180px);line-height:.9;letter-spacing:-.08em}.entry-copy h1 span,.wordmark span{color:#eebf6e}.entry-line{margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(29px,4.2vw,55px);line-height:1.2}.entry-note{margin-top:42px;max-width:340px;color:#f9d8c8;font-size:14px;line-height:1.65}.sign-in{width:min(100%,560px);margin:auto;padding:clamp(32px,8vw,100px)}.sign-in h2{margin:22px 0 10px;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:400;letter-spacing:-.04em}.sign-in .eyebrow{color:var(--accent)}.sign-in-intro{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.sign-in form{display:grid;margin-top:42px}.sign-in label,.weight-form label{margin:0 0 8px;font-size:13px;font-weight:600}.sign-in input,.weight-form input{width:100%;height:52px;margin-bottom:24px;padding:0 14px;border:1px solid #d9d3c7;border-radius:9px;outline:none;color:var(--ink);background:var(--paper)}.sign-in input:focus,.weight-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #bc4f3220}.sign-in button,.weight-form button{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;border:0;border-radius:9px;color:#fffaf2;background:var(--ink);font-weight:600}.sign-in button:disabled{opacity:.7;cursor:wait}.sign-in button span{font-size:20px}.form-message{margin:0 0 12px;color:#a2351b;font-size:13px}.private-note{margin-top:26px;color:var(--muted);font-size:12px}.app-frame{min-height:100dvh}.topbar{position:sticky;z-index:2;top:0;display:flex;height:68px;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:#f6f4edeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar>div{display:flex;align-items:center;gap:22px}.wordmark{color:var(--ink);font:28px "DM Serif Display",Georgia,serif;letter-spacing:-.04em;text-decoration:none}.sync-indicator{color:var(--leaf);font-size:12px}.sync-indicator:first-letter{color:#6e9561}.text-button{padding:8px 0;border:0;color:var(--muted);background:none;font-size:12px}.app-body{display:grid;grid-template-columns:208px minmax(0,740px);justify-content:center;gap:64px;padding:55px 28px 100px}.side-rail{position:sticky;top:112px;display:flex;flex-direction:column;align-self:start;gap:8px}.side-rail .eyebrow{margin:12px 0 15px 12px}.nav-link{min-height:44px;padding:0 14px;border:0;border-radius:8px;color:#64665e;background:transparent;text-align:left}.nav-link.active{color:#34452e;background:#e5eadd;font-weight:700}.settings-link{margin-top:28px}.page-content{min-width:0}.page-heading{margin-bottom:32px}.page-heading .eyebrow{margin-bottom:9px}.page-heading h1{margin:0;font:48px/1.05 "DM Serif Display",Georgia,serif;letter-spacing:-.04em}.page-subtitle{margin:11px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.meal-list,.day-list{display:grid;gap:14px}.meal-card,.day-card,.settings-card{padding:24px 26px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.meal-meta{display:flex;align-items:center;justify-content:space-between;color:var(--leaf);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.meal-meta span+span{color:#96968d;font-weight:500;letter-spacing:0;text-transform:none}.meal-card h2,.snack-card h2,.day-card h2,.settings-card h2{margin:15px 0 7px;font:26px "DM Serif Display",Georgia,serif}.meal-card>p,.snack-card>p:not(.eyebrow),.menu-row p,.settings-card p{color:var(--muted);font-size:13px;line-height:1.6}.settings-page{display:grid;gap:14px}.reminder-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 14px}.reminder-form label{display:grid;gap:6px;color:#686a61;font-size:11px}.reminder-form input{width:100%;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:#fff}.reminder-form .reminder-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:9px}.reminder-form .reminder-toggle input{width:18px;height:18px;accent-color:var(--leaf)}.reminder-form small{color:var(--muted)}.reminder-form button,.push-button{min-height:44px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:var(--leaf);font-size:12px;font-weight:600}.push-button{width:100%;color:#42523b;background:#e5eadd}.install-note{padding-top:10px;border-top:1px solid var(--line);font-size:12px!important}details{margin-top:16px;color:var(--leaf);font-size:13px}summary{cursor:pointer;font-weight:600}details ol{padding-left:20px;color:#55574e;line-height:1.8}.meal-actions{display:flex;gap:9px;margin-top:21px}.meal-actions button,.conflict-card button{min-height:42px;padding:0 17px;border:0;border-radius:8px;color:#fff;background:var(--leaf);font-weight:600}.meal-actions .quiet-button{color:var(--muted);background:#f1f0ea}.snack-card{padding:20px 24px;border-radius:12px;background:#efe8d7}.snack-card .eyebrow{color:#946f37}.snack-card h2{margin-top:8px}.day-card>.eyebrow{padding-bottom:14px;border-bottom:1px solid var(--line)}.menu-row{display:grid;grid-template-columns:1fr auto;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.menu-row:last-child{border-bottom:0}.meal-type{color:var(--leaf);font-size:11px;text-transform:uppercase}.menu-row h2{margin:6px 0;font-size:21px}.menu-row details{min-width:80px}.rating-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.rating-actions button{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#64665e;background:transparent;font-size:11px}.rating-actions button[aria-pressed=true]{border-color:#c3ceb8;color:#405438;background:#e8ede3}.shopping-list{display:grid;gap:24px}.department h2{margin:0 0 8px;font-size:13px;color:#73746b;font-weight:700}.shopping-row{display:grid;grid-template-columns:23px 1fr auto;gap:12px;align-items:center;min-height:57px;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}.shopping-row input{width:19px;height:19px;accent-color:var(--leaf)}.shopping-label{font-size:14px}.shopping-label small{display:block;padding-top:3px;color:#977044;font-size:11px}.amount{color:var(--muted);font-size:12px;text-align:right}.shopping-row.is-done .shopping-label{color:#92938b;text-decoration:line-through}.weekend-note{padding:18px 20px;border-radius:10px;background:#e8ece2;color:#42523b}.weekend-note strong{font:18px "DM Serif Display",Georgia,serif}.weekend-note p{margin:6px 0 0;color:#687361;font-size:12px;line-height:1.6}.silpo-card{margin-top:20px;padding:23px 24px;border:1px solid #e7c9b8;border-radius:12px;background:#fffaf5}.silpo-card>.eyebrow{color:#a14b30}.silpo-card h2{margin:9px 0;font:24px "DM Serif Display",Georgia,serif}.silpo-card>p:not(.eyebrow),.silpo-notice p{color:var(--muted);font-size:12px;line-height:1.6}.silpo-card>button,.silpo-preview>button,.silpo-total button{min-height:42px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:#a9482f;font-size:12px;font-weight:700}.silpo-card button:disabled{opacity:.45;cursor:not-allowed}.silpo-notice{margin-top:15px;padding:13px 15px;border-radius:8px;background:#f2ebdf;color:#66583f;font-size:12px;line-height:1.5}.silpo-preview{margin-top:18px;padding-top:14px;border-top:1px solid #ead8cc}.silpo-preview h3{margin:0 0 12px;font-size:13px}.silpo-choice{display:grid;grid-template-columns:1fr 100px;gap:9px 14px;padding:14px 0;border-bottom:1px solid #f0e4dc}.silpo-choice>strong,.silpo-choice>p,.silpo-choice>details{grid-column:1 / -1}.silpo-choice>p{margin:-6px 0 0;color:var(--muted);font-size:11px}.silpo-choice label{display:grid;gap:5px;color:#777067;font-size:10px}.silpo-choice select,.silpo-choice input{width:100%;min-height:38px;padding:0 8px;border:1px solid #e4d6cc;border-radius:6px;background:#fff;font-size:11px}.silpo-choice pre{max-height:130px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#6e6257;font-size:10px}.silpo-preview>button{margin-top:15px}.silpo-total{margin-top:18px;padding:15px;border-radius:8px;background:#f4eee7}.silpo-total>span{display:block;color:#69655e;font-size:11px}.silpo-total>strong{display:block;margin:5px 0 9px;font:26px "DM Serif Display",Georgia,serif;color:#8d3f2a}.silpo-total>p{margin:0 0 12px;color:#847b70;font-size:10px}.silpo-total button{width:100%}.pantry-list{display:grid;gap:10px}.pantry-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.pantry-row h2{margin:0;font:20px "DM Serif Display",Georgia,serif}.pantry-row p,.pantry-row label span{margin:4px 0 0;color:var(--muted);font-size:11px}.pantry-row label{display:grid;gap:5px}.pantry-row select{min-height:37px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:#fff;font-size:12px}.weight-form,.weight-history{padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.weight-form>div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.weight-form input{margin:0}.weight-form button{min-height:52px}.weight-history{margin-top:16px}.weight-history h2{margin:0 0 13px;font:22px "DM Serif Display",Georgia,serif}.weight-history>p{color:var(--muted);font-size:13px}.weight-row{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.weight-row time{color:var(--muted)}.empty-state{padding:52px 24px;border:1px dashed #d8d6cb;border-radius:12px;color:var(--muted);text-align:center}.empty-state span{color:#9aab8b;font-size:23px}.empty-state p{max-width:300px;margin:12px auto 0;font-size:13px;line-height:1.6}.notice{margin:0 0 18px;padding:12px 15px;border-radius:8px;background:#e7ecdf;color:#4c6142;font-size:13px}.conflict-card{margin-bottom:20px;padding:18px;border:1px solid #e8c59a;border-radius:10px;background:#fff7e9;font-size:13px}.conflict-card p{color:#686359;line-height:1.5}.conflict-card pre{max-height:150px;overflow:auto;padding:10px;background:#f4ecdd;white-space:pre-wrap}.bottom-nav{display:none}@media(max-width:760px){.entry-page{min-height:100dvh;grid-template-columns:1fr;grid-template-rows:minmax(250px,38dvh) 1fr}.entry-copy{min-height:0;padding:34px 28px 28px;justify-content:flex-end}.entry-copy h1{margin:15px 0 12px;font-size:clamp(70px,20vw,118px)}.entry-line{font-size:clamp(25px,7vw,34px)}.entry-note{margin-top:14px;font-size:12px}.sign-in{padding:38px 28px 48px}.sign-in form{margin-top:30px}.topbar{height:60px;padding:0 19px}.sync-indicator{display:none}.topbar>div{gap:12px}.app-body{display:block;padding:35px 18px 100px}.side-rail{display:none}.page-heading{margin-bottom:24px}.page-heading h1{font-size:41px}.page-subtitle{font-size:13px}.meal-card,.day-card{padding:20px 18px}.meal-actions{flex-wrap:wrap}.meal-card h2{font-size:24px}.bottom-nav{position:fixed;z-index:3;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 5px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffef9f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-link{display:grid;justify-items:center;gap:2px;padding:4px 2px;border:0;color:#77786f;background:transparent;font-size:9px}.bottom-link span{font-size:19px;line-height:1}.bottom-link.active{color:var(--leaf);font-weight:700}.shopping-row{grid-template-columns:22px minmax(0,1fr) auto;gap:9px}.amount{max-width:105px;font-size:10px}.pantry-row{align-items:start;padding:14px}.pantry-row h2{font-size:18px}.pantry-row select{max-width:130px}.weight-form,.weight-history{padding:18px 16px}.weight-form>div{grid-template-columns:1fr}.reminder-form{grid-template-columns:1fr 1fr}}
