:root{font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:#483b32;background:#fcfaf6;font-synthesis:none;--orange: #cc542d;--orange-dark: #ac4120;--light-orange: #fff0e6;--cream: #fff9ef;--muted: #86776b;--line: #eee6dd;--green: #567657;--shadow: 0 4px 24px #74472109}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:not-allowed}button{border:0;background:none}input,select,textarea{font-size:16px;min-width:0;color:#483b32}input:not([type=checkbox]):not([type=file]),textarea,select{width:100%;border:1px solid #dcd2c6;border-radius:11px;background:#fff;padding:12px 13px;line-height:1.5;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #cc542d15}input[type=checkbox]{width:20px;height:20px;accent-color:var(--orange);flex-shrink:0}textarea{resize:vertical;min-height:90px}a{color:var(--orange)}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:.01em;line-height:1.4;font-weight:750}h2{font-size:20px;line-height:1.5}h3{font-size:16px;line-height:1.6}p{line-height:1.85}small,.small{font-size:14px;line-height:1.75}.muted{color:var(--muted)}strong{font-weight:650}img{max-width:100%;display:block}.button{min-height:46px;padding:12px 18px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:650;text-decoration:none;line-height:1.5;transition:background .15s,transform .15s}.button:active{transform:scale(.98)}.primary{background:var(--orange);color:#fff}.primary:hover{background:var(--orange-dark)}.secondary{border:1px solid #e9d8c8;background:#fffbf5;color:#8b502e}.compact{padding:10px 14px}.full{width:100%}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--orange);padding:10px 2px;min-height:44px;font-size:14px;font-weight:600}.icon-button{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.icon-button:hover{background:#eee6dc75}.danger{color:#b33b36}.danger-outline{color:#a63732;border:1px solid #e8c0b9;background:snow}.liked,.stars{color:#bd6f27}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.mascot{width:92px;height:auto;object-fit:contain;flex-shrink:0}.app-shell{max-width:1600px;margin:auto;display:flex;min-height:100vh}.sidebar{width:252px;flex-shrink:0;padding:35px 22px 22px;border-right:1px solid var(--line);background:#fffcf7;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;z-index:20}.brand{display:flex;align-items:center;padding:0;gap:8px;text-align:left}.brand .mascot{width:48px}.brand b{font-size:19px;letter-spacing:.04em;font-weight:800}.brand small{font-size:10px;display:block;color:#a18d7b;white-space:nowrap;margin-top:5px}.sidebar nav{display:flex;flex-direction:column;gap:8px;margin-top:43px}.sidebar nav button{display:flex;align-items:center;gap:16px;padding:15px 18px;border-radius:12px;font-size:15px;font-weight:600;color:#847464;text-align:left}.sidebar nav button.active{background:#f9e9dc;color:#b74724}.count{margin-left:auto;background:#efd0bb;border-radius:20px;padding:1px 6px;font-size:12px}.sidebar-bottom{margin-top:auto;padding:30px 12px 0}.sidebar-bottom .mascot{width:78px;margin:0 auto 15px}.sidebar-bottom p{font-size:13px;color:#958474;text-align:center}.sidebar-bottom .text-button{margin-top:25px;font-size:13px;color:#847464}.app-main{margin-left:252px;min-width:0;flex:1}.mobile-header{display:none}main{padding:38px 44px 0;max-width:1230px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;color:#a47e5a}.page-heading h1{margin-top:7px}.desktop-date{color:#a18c77;font-size:14px;letter-spacing:.07em}.date-selector{display:flex;align-items:center;gap:5px;margin-bottom:22px;width:max-content;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 5px}.date-selector label{display:flex;align-items:center;gap:8px;position:relative;font-weight:650;font-size:14px}.date-selector label input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;padding:0}.date-selector .text-button{padding:0 10px}.home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:26px}.home-primary,.home-secondary{min-width:0}.greeting{display:flex;justify-content:space-between;align-items:center;background:#f7eede;border-radius:16px 16px 0 0;padding:16px 22px 8px;min-height:108px}.greeting .mascot{width:95px;margin-top:-9px;margin-bottom:-11px}.pill{font-size:10px;letter-spacing:.04em;color:#9b764d;border:1px solid #d8c3a3;border-radius:20px;padding:3px 8px}.greeting p{font-size:15px;font-weight:650;margin-top:10px}.hero-meal{background:#fff;border-radius:0 0 18px 18px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line);border-top:0}.hero-image-button{display:block;width:100%;padding:0;position:relative;text-align:left}.food-image{overflow:hidden;background:#f5eddf;position:relative;aspect-ratio:1.5;isolation:isolate;flex-shrink:0}.food-image>img{width:100%;height:100%;object-fit:cover}.food-image.illustration>img{object-fit:contain;padding:22px}.atlas-window{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.atlas-window img{object-fit:fill}.photo-label{position:absolute;bottom:6px;right:8px;color:#fff;font-size:10px;text-shadow:0 1px 5px #000b;background:#35231540;border-radius:4px;padding:1px 4px}.hero-meal .food-image{aspect-ratio:1.58}.hero-badge{position:absolute;top:16px;left:16px;background:#fffffff0;border-radius:20px;display:flex;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:650}.hero-body{padding:20px 22px}.hero-body h2{font-size:23px;margin:10px 0 12px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:#927e6e}.meta>span{display:inline-flex;align-items:center;gap:5px}.status{display:inline-block;font-size:11px;padding:3px 9px;border-radius:5px;background:#f9eddc;color:#a07038;white-space:nowrap}.status.cooked{background:#e8f0e3;color:#57734b}.status.cancelled{background:#eee;color:#777}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 12px}.section-heading h2{font-size:17px;display:flex;align-items:center;gap:8px}.section-heading>span{font-size:12px;color:var(--muted)}.day-meals{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.day-meals>section{padding:16px 18px;border-bottom:1px solid var(--line)}.day-meals>section:last-child{border-bottom:0}.meal-period{display:flex;align-items:center;gap:8px;color:#947c62;margin-bottom:5px}.meal-period h3{font-size:13px}.empty-slot{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;color:#a79787;padding:7px 0}.meal-row{display:flex;align-items:center;gap:13px;width:100%;padding:10px 0;text-align:left}.meal-row .food-image{width:65px;aspect-ratio:1;border-radius:11px}.meal-row .food-image .photo-label{display:none}.meal-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.meal-info strong{font-size:14px}.meal-info small{color:var(--muted);font-size:12px}.meal-row>svg{color:#ae967f;flex-shrink:0}.meal-row.cancelled{opacity:.5}.import-banner{display:flex;align-items:center;gap:13px;padding:21px 18px;text-align:left;border-radius:16px;width:100%;background:#c75532;color:#fff;box-shadow:0 4px 15px #c7553220}.import-banner small{font-size:11px;display:block;color:#ffe4d8;margin-bottom:6px}.import-banner strong{font-size:15px}.import-banner>svg{margin-left:auto;flex-shrink:0}.import-symbol{width:47px;height:47px;border-radius:13px;background:#fff2;display:grid;place-items:center;flex-shrink:0}.shopping-summary{margin-top:18px;display:flex;align-items:center;gap:12px;padding:20px 15px;background:#fff;border:1px solid var(--line);border-radius:15px;width:100%;text-align:left}.basket-icon{display:grid;place-items:center;width:45px;height:45px;background:#f5ead7;color:#ad7d36;border-radius:50%}.shopping-summary strong{font-size:15px}.shopping-summary small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.shopping-summary>b{margin-left:auto;font-size:27px;font-weight:600;color:#b76935;display:flex;align-items:baseline;gap:3px}.shopping-summary>b small{font-size:11px}.prep-card{background:#f8f5ef;border:1px solid var(--line);border-radius:15px;margin-top:18px;padding:0 18px 15px}.prep-card .section-heading{margin-top:15px}.prep-item{display:flex;align-items:flex-start;gap:11px;padding:10px 0;width:100%;text-align:left}.prep-dot{width:7px;height:7px;border-radius:50%;background:#d89a5b;flex-shrink:0;margin-top:7px}.prep-item strong{font-size:13px;display:block}.prep-item small{font-size:12px;display:block;color:var(--muted);margin-top:5px;line-height:1.8}.small-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;border:1px dashed #dfd4c3;border-radius:14px;padding:22px;color:#a9947c}.small-empty p{font-size:13px}.recent-row{display:flex;gap:12px;text-align:left;align-items:center;width:100%;padding:8px 0}.recent-row .food-image{width:66px;aspect-ratio:1;border-radius:10px}.recent-row .photo-label{display:none}.recent-row strong{font-size:14px;display:block}.recent-row small{font-size:11px;display:block;margin-top:5px;color:var(--muted)}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-recipes{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.card-open{width:100%;padding:0;text-align:left;display:block}.recipe-card .food-image{aspect-ratio:1.15}.recipe-card-body{padding:16px}.recipe-card h3{font-size:16px;margin:7px 0 10px}.recipe-card .eyebrow{font-size:10px;letter-spacing:.04em}.recipe-card .meta{gap:9px}.heart{position:absolute;right:10px;top:10px;width:35px;height:35px;display:grid;place-items:center;background:#fffffff0;border-radius:50%;color:#a7927a}.heart.active{color:#c66547}.bottom-section{margin-top:28px}.page-footer{text-align:center;font-size:10px;color:#ad9b87;letter-spacing:.09em;padding:40px 0 24px}.page-footer span{padding:0 8px}.empty-card{border:1px solid var(--line);background:#fff;border-radius:0 0 16px 16px}.empty{text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px;padding:35px 20px}.empty .mascot{width:95px}.empty p{font-size:14px;color:var(--muted)}.next-meal{display:flex;align-items:center;gap:12px;margin:0 18px 20px;padding:14px;background:#fbf1e5;border-radius:12px;text-align:left;font-size:12px;max-width:calc(100% - 36px)}.next-meal strong{display:block;font-size:14px;margin-top:5px}.next-meal>svg{flex-shrink:0}.next-meal>svg:last-child{margin-left:auto}.bottom-nav{display:none}.calendar-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.calendar-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:18px;height:max-content}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar-month h2{font-size:18px}.calendar-month h2 b{font-size:28px;margin-left:5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekday{text-align:center;color:#9d8c7a;font-size:12px;padding:10px 0}.weekday.w0{color:#c97055}.weekday.w6{color:#6e8ea5}.calendar-day{min-width:0;min-height:78px;border-radius:11px;padding:6px 3px;display:flex;align-items:center;flex-direction:column;position:relative;border:1px solid transparent;gap:4px;font-size:14px}.calendar-day.selected{background:#fff0e3;border-color:#d97c50}.calendar-day.today>span:first-child{background:#cd6039;color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;margin-top:-2px;margin-bottom:-2px}.calendar-day .food-image{width:37px;height:32px;aspect-ratio:auto;border-radius:7px}.calendar-day .photo-label{display:none}.calendar-day i{font-size:9px;position:absolute;bottom:4px;right:4px;background:#fff8;border-radius:3px;font-style:normal;color:#8f5d39}.calendar-caption{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:15px;flex-wrap:wrap}.calendar-caption>span:last-child{margin-left:auto}.legend-dot{width:6px;height:6px;background:#cd6039;border-radius:50%}.calendar-detail{background:#fff;border:1px solid var(--line);border-radius:20px;padding:0 20px 20px}.calendar-detail .section-heading{margin-top:12px}.calendar-period{border-bottom:1px solid var(--line);padding:10px 0}.calendar-period>h3{font-size:13px;color:#a38160}.calendar-detail>.button{margin-top:22px}.shopping-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:25px}.shopping-list-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.shopping-progress{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 5px}.shopping-progress h2{font-size:17px}.shopping-progress p{font-size:12px;color:var(--muted);margin-top:5px}.shopping-progress .mascot{width:80px}.progress-track{height:5px;margin:0 22px 15px;background:#f2e9dd;border-radius:5px;overflow:hidden}.progress-track span{display:block;height:100%;background:#d88552;transition:width .3s}.shopping-toolbar{display:flex;justify-content:space-between;align-items:center;padding:5px 20px;gap:10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.shopping-toolbar .check-label,.shopping-toolbar .text-button{font-size:12px;margin:0}.shopping-items{list-style:none;margin:0;padding:0 20px}.shopping-items li{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:8px 0}.shopping-items li:last-child{border-bottom:0}.shopping-items label{display:flex;align-items:center;gap:14px;flex:1;padding:9px 0;position:relative;cursor:pointer;min-width:0}.shopping-items label input{position:absolute;opacity:0;width:24px;height:24px;left:0}.custom-check{border:1.5px solid #d7c7b8;border-radius:7px;width:24px;height:24px;display:grid;place-items:center;flex-shrink:0;color:transparent}.checked .custom-check{background:#779672;border-color:#779672;color:#fff}.shopping-items label input:focus-visible+.custom-check{outline:3px solid #eebd96}.shopping-items strong{font-size:15px;display:block;overflow-wrap:anywhere}.shopping-items small{font-size:12px;color:var(--muted);display:block;margin-top:3px}.shopping-items .checked strong{text-decoration:line-through;color:#a69c8f}.shopping-items .checked small{color:#b6ac9f}.shopping-actions>p{margin-top:15px}.tip-card{background:#f4efdf;border-radius:16px;padding:25px;margin-top:22px;text-align:center}.tip-card .mascot{width:87px;margin:auto}.tip-card h3{margin:13px 0 10px;font-size:15px}.tip-card p{font-size:13px;color:#9b8264}.search-bar{display:flex;align-items:center;gap:12px;padding:0 16px;background:#fff;border:1px solid var(--line);border-radius:12px;color:#a18d7b}.search-bar input{border:0!important;background:transparent!important;box-shadow:none!important;padding:14px 0!important}.filter-scroll{display:flex;gap:9px;overflow:auto;scrollbar-width:none;padding:18px 0 4px}.filter-scroll button{white-space:nowrap;border:1px solid #e6ddd1;border-radius:30px;padding:9px 17px;font-size:13px;background:#fff}.filter-scroll button.selected{background:#c15c39;color:#fff;border-color:#c15c39}.filter-select{display:flex;align-items:center;gap:6px;color:#947b65}.filter-select select{padding:8px 4px;background:transparent;border:0;font-size:13px}.log-intro{display:flex;align-items:center;gap:18px;background:#f7eddf;padding:18px 25px;border-radius:18px;margin-bottom:24px}.log-intro .mascot{width:90px}.log-intro h2{font-size:20px}.log-intro p{font-size:14px;margin-top:7px;color:#917c65}.log-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.log-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.log-card .food-image{aspect-ratio:1.5}.log-body{padding:20px}.log-body h2{font-size:18px;margin:8px 0}.log-body small,.log-body .stars{font-size:12px}.log-body p{font-size:14px}.family-note{background:#f8f3e9;padding:10px;margin-top:10px;border-radius:10px}.log-actions{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:6px 15px;flex-wrap:wrap}.log-actions .text-button{font-size:12px}.log-actions .icon-button{margin-left:auto}.modal{border:0;border-radius:23px;padding:0;width:min(620px,calc(100% - 40px));max-height:90dvh;box-shadow:0 22px 80px #3b24152e;background:#fffcf7;color:#483b32;overflow:auto;overscroll-behavior:contain}.modal.wide{width:min(740px,calc(100% - 40px))}.modal::backdrop{background:#31221766;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{position:sticky;top:0;background:#fffcf7f5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px}.modal-content{padding:24px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin-bottom:20px;min-width:0}.field small{font-weight:400;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.photo-picker{margin-bottom:22px}.photo-picker>img{max-height:220px;border-radius:12px;margin-bottom:14px;object-fit:cover}.photo-picker small{display:block;margin-top:8px;color:var(--muted);font-size:12px}.ingredient-editor{margin:25px 0}.ingredient-editor h3{margin-bottom:12px}.ingredient-column-labels{display:grid;grid-template-columns:minmax(0,1fr) 70px 65px 32px;gap:7px;font-size:11px;color:#9f8b77;margin-bottom:5px}.ingredient-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 65px 32px;gap:7px;margin-bottom:9px}.ingredient-edit-row input{padding:10px 8px!important}.ingredient-edit-row .icon-button{width:32px}.check-label{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.7;margin:18px 0}.form-footer{padding-top:24px;margin-top:8px;padding-bottom:12px}.error{padding:14px;color:#a32e2d;background:#fff0eb;border:1px solid #ecc9bd;border-radius:11px;font-size:14px;line-height:1.7;margin:15px 0}.notice{background:#fff2d9;border:1px solid #e9d6b5;border-radius:12px;padding:14px;line-height:1.8;margin:15px 0;color:#866435}.success-note{display:flex;align-items:center;gap:10px;color:#4f7851;background:#eff6e9;border-radius:10px;padding:14px;font-size:14px}.rating{display:flex;gap:10px}.rating button{min-height:44px;padding:4px}details{font-size:14px;color:#8d7058}summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}details>textarea{margin:5px 0 12px}details li{line-height:1.9}.help-panel{background:#f5efe5;border-radius:12px;padding:0 16px;margin-bottom:22px}.help-panel p{font-size:13px;margin:8px 0}.help-panel .button{margin-bottom:15px}.import-intro{text-align:center;padding:5px 10px 25px}.round-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#f5dfcc;color:#b56839;margin:0 auto 15px}.import-intro h3{font-size:22px;margin-bottom:10px}.import-intro p{font-size:14px;color:var(--muted)}.paste-area{font-family:inherit;font-size:16px;line-height:1.8}.import-flow>.button{margin-top:20px}.import-preview{border:1px solid var(--line);background:#fff;border-radius:13px;padding:16px;margin-top:20px}.import-preview .row{margin-bottom:15px}.import-preview .food-image{width:65px;aspect-ratio:1;border-radius:9px}.import-preview .row>div:nth-child(2){flex:1}.import-preview .row>div:nth-child(2) .muted{font-size:12px}.import-preview .food-image .photo-label{display:none}.recipe-detail>.food-image{border-radius:15px;aspect-ratio:1.75;margin-bottom:23px}.detail-title h2{font-size:26px;margin:8px 0 14px}.detail-actions{display:flex;align-items:center;gap:10px;margin:24px 0;flex-wrap:wrap}.detail-actions .button{flex:1}.detail-actions .icon-button{background:#f6eadf}.servings-control{display:flex;align-items:center;gap:7px;font-size:13px;color:#8e7056}.servings-control input{width:72px!important;padding:8px!important}.ingredients{list-style:none;padding:0;margin:0 0 20px}.ingredients li{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 2px;font-size:14px}.ingredients strong{font-weight:550;white-space:nowrap}.recipe-detail>.muted{margin:16px 0}.detail-section-title{margin:30px 0 15px;font-size:19px}.steps{list-style:none;padding:0}.steps li{display:flex;gap:15px;margin-bottom:18px;align-items:flex-start}.steps li>button{width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#f4e5d3;color:#a96937;font-size:12px;display:grid;place-items:center;margin-top:3px}.steps li p{font-size:15px}.steps li.done>button{background:#6e8a62;color:#fff}.steps li.done p{color:#a59c8e}.recipe-note{display:flex;gap:14px;background:#f4ecdc;padding:20px;border-radius:12px}.recipe-note>svg{color:#a58155;flex-shrink:0;margin-top:3px}.recipe-note h3{font-size:14px;margin-bottom:7px}.recipe-note p{font-size:14px;white-space:pre-wrap}.history-note{font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}.detail-bottom{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:25px}.generate-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.generate-row .food-image{width:60px;height:60px;border-radius:9px}.generate-row .photo-label{display:none}.generate-row strong{display:block;font-size:14px}.generate-row small{display:block;color:var(--muted);font-size:12px}.picker-list{margin:15px 0;max-height:58dvh;overflow:auto}.picker-list .meal-row{border-bottom:1px solid var(--line)}.settings-brand{text-align:center;margin-bottom:30px}.settings-brand .mascot{margin:auto}.settings-brand h3{font-size:21px;letter-spacing:.06em}.settings-brand span{font-size:12px;color:var(--muted);display:block;margin-top:5px}.settings section{border-top:1px solid var(--line);padding:22px 0}.settings h3{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-size:17px}.settings p{font-size:14px;margin:10px 0}.settings .small{font-size:12px}.backup-counts{display:flex;justify-content:space-around;padding:18px 0 24px}.backup-counts span{font-size:11px;text-align:center;color:#9a8672}.backup-counts b{display:block;font-size:24px;color:#795c40}.startup{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;gap:20px;text-align:center}.startup h1{font-size:24px}.startup p{font-size:15px}.startup .mascot{width:130px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:200;background:#fffdf7;box-shadow:0 5px 30px #3d291b30;border:1px solid #d8c7af;border-radius:17px;padding:12px 15px;display:flex;align-items:center;gap:10px;max-width:calc(100% - 30px);width:max-content;font-size:14px;line-height:1.65}.toast .mascot{width:38px}.toast .icon-button{width:27px;height:30px}.toast-error{background:#fff2ea;border-color:#d18269}.offline,.update-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;font-size:13px;background:#eeeadd;border-radius:10px;margin-bottom:20px}.update-banner{justify-content:space-between;background:#f7e7d5}.startup img{animation:bob 1.8s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-5px)}}:focus-visible{outline:3px solid #d68e5a;outline-offset:3px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (min-width: 1600px){.sidebar{left:calc((100vw - 1600px)/2)}}@media (max-width: 1200px){.sidebar{width:210px;padding:30px 17px}.brand b{font-size:16px}.brand small{font-size:8px}.sidebar .brand .mascot{width:40px}.app-main{margin-left:210px}main{padding:30px 28px 0}.home-grid{gap:20px;grid-template-columns:minmax(0,1.15fr) minmax(260px,1fr)}.home-recipes{grid-template-columns:repeat(3,minmax(0,1fr))}.home-recipes .recipe-card:last-child{display:none}.greeting{padding:15px}.greeting p{font-size:13px}.greeting .mascot{width:76px}.hero-body{padding:18px}.hero-body h2{font-size:21px}.hero-body .row:last-child{flex-wrap:wrap}.hero-body .text-button{padding:4px 0;min-height:30px}.import-banner{gap:9px;padding:19px 13px}.import-symbol{width:38px;height:42px}.import-banner strong{font-size:13px}.import-banner small{font-size:10px}.calendar-layout{grid-template-columns:1.2fr 1fr}.shopping-layout{grid-template-columns:1.4fr 1fr}.recipe-card-body{padding:13px}.recipe-card h3{font-size:15px}}@media (max-width: 900px){.sidebar{display:none}.app-main{margin-left:0}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 22px 12px;border-bottom:1px solid var(--line);background:#fffdf7}.mobile-header .brand b{font-size:19px}.mobile-header .brand .mascot{width:43px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#fffdf8f5;border-top:1px solid #e7dccf;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);justify-content:space-around}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;min-width:55px;padding:4px;color:#a79583}.bottom-nav button.active{color:var(--orange)}.bottom-nav button>span{display:block;position:relative}.bottom-nav button.active>span:before{content:"";position:absolute;top:-3px;right:-14px;bottom:-3px;left:-14px;background:#f6e7d9;border-radius:14px;z-index:-1}.bottom-nav i{width:5px;height:5px;background:#cb714a;border:1px solid #fff;border-radius:50%;position:absolute;right:-4px;top:0}main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.toast{bottom:calc(90px + env(safe-area-inset-bottom))}.calendar-layout{grid-template-columns:1.2fr 1fr}}@media (max-width: 620px){main{padding:23px 20px calc(88px + env(safe-area-inset-bottom))}.mobile-header{padding:calc(8px + env(safe-area-inset-top)) 20px 8px}.mobile-header .brand .mascot{width:37px}.mobile-header .brand b{font-size:17px}.mobile-header .icon-button{width:38px;height:38px}h1{font-size:26px}.page-heading{margin-bottom:16px}.page-heading .eyebrow{font-size:10px}.desktop-date{display:none}.date-selector{margin-bottom:19px}.date-selector label{font-size:13px}.home-grid{display:flex;flex-direction:column;gap:22px}.greeting{min-height:100px;padding:17px 18px 10px}.greeting .mascot{width:93px}.greeting p{font-size:14px}.hero-meal .food-image{aspect-ratio:1.45}.hero-body{padding:18px}.hero-body h2{font-size:21px}.hero-body .meta{font-size:12px}.hero-body .row:last-child{flex-wrap:nowrap}.hero-body .text-button{font-size:12px}.hero-badge{font-size:11px;top:12px;left:12px}.home-secondary{display:flex;flex-direction:column}.import-banner{order:-2;padding:19px 17px;gap:13px}.import-symbol{width:43px;height:43px}.import-banner strong{font-size:16px}.import-banner small{font-size:11px}.shopping-summary{order:-1;margin-top:14px}.shopping-summary small{font-size:12px}.prep-card{margin-top:15px}.home-primary .section-heading{margin-top:22px}.section-heading h2{font-size:16px}.text-button{font-size:13px}.day-meals>section{padding:13px 16px}.meal-info strong{font-size:14px}.recipe-grid,.home-recipes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-recipes .recipe-card:last-child{display:block}.recipe-card-body{padding:12px}.recipe-card h3{font-size:14px;line-height:1.7;margin:6px 0 8px}.recipe-card .meta{gap:6px;font-size:10px}.recipe-card .meta svg{width:12px}.heart{width:32px;height:32px;top:8px;right:8px}.recipe-card .food-image{aspect-ratio:1.1}.bottom-section{margin-top:24px}.empty{padding:27px 15px}.empty h3{font-size:16px}.calendar-layout{display:flex;flex-direction:column;gap:18px}.calendar-card{padding:12px}.calendar-grid{gap:1px}.calendar-day{min-height:67px;padding:5px 1px;font-size:13px}.calendar-day .food-image{width:31px;height:29px}.calendar-day i{font-size:8px;right:1px;bottom:1px}.calendar-month{margin-bottom:5px}.calendar-caption{font-size:10px;gap:4px}.calendar-detail{padding:0 16px 17px}.shopping-layout{display:flex;flex-direction:column-reverse;gap:17px}.shopping-actions>p,.tip-card{display:none}.shopping-progress{padding:18px 17px 4px}.shopping-progress h2{font-size:15px}.shopping-progress .mascot{width:70px}.shopping-toolbar{padding:5px 15px;gap:0}.shopping-toolbar .check-label,.shopping-toolbar .text-button{font-size:11px}.shopping-items{padding:0 16px}.search-bar{padding:0 13px}.search-bar input{font-size:15px}.filter-scroll{margin-right:-20px;padding-right:20px}.filter-scroll button{font-size:12px;padding:8px 14px}.log-intro{padding:15px;gap:10px}.log-intro .mascot{width:72px}.log-intro h2{font-size:16px}.log-intro p{font-size:12px}.log-grid{grid-template-columns:1fr;gap:20px}.log-actions .text-button{font-size:13px}.modal,.modal.wide{width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);margin:auto 0 0;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}.modal-content{padding:20px}.modal-head{padding:10px 16px}.modal-head h2{font-size:15px}.form-grid{gap:0 12px}.ingredient-edit-row,.ingredient-column-labels{grid-template-columns:minmax(0,1fr) 61px 55px 28px;gap:5px}.ingredient-edit-row input{padding:9px 6px!important}.ingredient-edit-row .icon-button{width:28px}.detail-title h2{font-size:23px}.recipe-detail>.food-image{aspect-ratio:1.5;border-radius:13px}.detail-actions{gap:8px}.detail-actions .button{font-size:12px;padding:11px 10px}.detail-actions .icon-button{width:38px;height:38px}.detail-bottom{gap:10px}.recipe-detail .meta{font-size:11px}.ingredients li,.steps li p{font-size:14px}.import-preview{padding:13px}.import-preview .row{gap:10px}.import-preview .food-image{width:52px}.import-preview h3{font-size:14px}.import-preview .row .icon-button{width:34px}.modal input,.modal textarea,.modal select,.search-bar input{font-size:16px!important}.toast{font-size:13px;padding:10px 12px}.page-footer{padding:30px 0 5px}}@media (max-width: 355px){main{padding-left:14px;padding-right:14px}.hero-body .row:last-child{flex-wrap:wrap}.greeting p{font-size:12px}.greeting .mascot{width:75px}.ingredient-edit-row,.ingredient-column-labels{grid-template-columns:minmax(0,1fr) 50px 45px 28px}.button.compact{font-size:12px;padding:9px}.date-selector{gap:0}}.bottom-nav button,.status,.photo-label,.pill,.weekday,.recipe-card .meta,.recipe-card .eyebrow,.meal-period h3,.empty-slot,.calendar-caption{font-size:12px}@media (max-width: 620px){.bottom-nav button{min-width:0;flex:1}.page-heading>.row{gap:0}.page-heading>.row .button{font-size:13px;padding:10px 12px}.hero-body .row:last-child{flex-wrap:wrap}}
