:root{--font-body:"BIZ UDPGothic", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;--font-display:"BIZ UDPGothic", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;font-family:var(--font-body);color:#343b35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#3f5b48;--green-dark:#2f4738;--green-pale:#e7ede7;--cream:#f7f6f1;--paper:#fffefa;--line:#dedfd8;--muted:#71786f;background:#f7f6f1}*{box-sizing:border-box}html{scroll-behavior:smooth;overscroll-behavior-y:none}body{min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button{cursor:pointer}body.modal-open{overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scrollbar-gutter:stable}.app-shell{--bottom-nav-height:54px;min-height:100svh}.space-theme-forest{--green:#3f5b48;--green-dark:#2f4738;--green-pale:#e7ede7}.space-theme-blue{--green:#4b6680;--green-dark:#344b61;--green-pale:#e6edf3}.space-theme-teal{--green:#3f6c68;--green-dark:#2d504d;--green-pale:#e3efed}.space-theme-amber{--green:#8a682d;--green-dark:#624a22;--green-pale:#f3ead7}.space-theme-terracotta{--green:#8a5847;--green-dark:#653f33;--green-pale:#f2e5df}.space-theme-plum{--green:#71536f;--green-dark:#513b50;--green-pale:#eee5ed}.app-content{padding-top:env(safe-area-inset-top);padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.bottom-navigation{z-index:15;width:auto;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefaf5;border-top:1px solid #65746533;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 22px #29362b0f}.bottom-navigation-inner{width:min(100%,680px);height:var(--bottom-nav-height);grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;margin:0 auto;display:grid}.bottom-navigation button{box-sizing:border-box;color:#929990;width:100%;min-width:0;height:100%;min-height:44px;font:inherit;background:0 0;border:0;border-radius:10px;grid-template-rows:22px 12px;align-content:center;justify-items:center;gap:2px;margin:0;padding:3px 0;font-weight:400;line-height:1;display:grid;transform:none}.bottom-navigation button.active{color:var(--green);background:#4065490b}.bottom-navigation svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px;display:block}.bottom-navigation button span{white-space:nowrap;font-size:10px;font-weight:400;line-height:12px;display:block}.bottom-navigation button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.auth-page{overscroll-behavior-y:contain;background:radial-gradient(circle at 50% 0,#eef1e9 0,var(--cream) 55%);place-items:center;width:100%;height:100dvh;min-height:100svh;padding:40px 20px;display:grid;overflow-y:auto}.auth-panel{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.auth-brand-icon{border-radius:18px;width:76px;height:76px;margin-bottom:12px;display:block}.auth-panel h1{margin:0 0 24px;font-size:34px}.auth-form{border:1px solid var(--line);text-align:left;background:#fff;border-radius:18px;width:100%;max-width:400px;padding:28px;box-shadow:0 12px 36px #34483612}.auth-form label{color:var(--ink);gap:7px;margin-bottom:18px;font-size:13px;font-weight:700;display:grid}.auth-form input{border:1px solid var(--line);width:100%;font:inherit;border-radius:9px;padding:12px 14px}.auth-form button,.sign-out-button{background:var(--green);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:999px;font-weight:700}.auth-form button{width:100%;padding:12px}.auth-form button:disabled{cursor:wait;opacity:.65}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-form .google-auth-button{border:1px solid var(--line);color:var(--ink);background:#fff}.sign-out-button{padding:8px 14px;font-size:12px}.google-link-button{color:var(--green-dark);background:#fff;border:1px solid #aeb9af;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:700}.google-link-button:disabled{cursor:wait;opacity:.65}.settings-screen{width:min(100%,720px);min-height:calc(100dvh - 54px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0 auto;padding:24px 24px 64px}.content-page-title{color:var(--ink);letter-spacing:.04em;margin:0 0 18px;font-size:clamp(21px,3vw,26px);line-height:1.35}.account-profile-section{border-bottom:1px solid var(--line)}.account-profile-section h2{margin:0 0 17px;font-size:16px}.display-name-form{gap:10px;margin-bottom:18px;display:grid}.display-name-form label{color:var(--ink);gap:7px;font-size:12px;font-weight:700;display:grid}.display-name-form input,.display-name-form select{border:1px solid var(--line);min-height:44px;font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.display-name-form label small{color:var(--muted);font-size:11px;font-weight:400}.birth-year-month-field{color:var(--ink);border:0;gap:7px;margin:0;padding:0;display:grid}.birth-year-month-field legend{margin:0 0 7px;padding:0;font-size:12px;font-weight:700}.birth-year-month-selects{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.display-name-form .birth-date-clear{border:1px solid var(--line);min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600}.birth-year-month-field>small{color:var(--muted);font-size:11px;font-weight:400}.birth-year-month-field>.birth-date-error{color:#883f31}.menu-screen{width:min(100%,960px);min-height:calc(100svh - var(--bottom-nav-height));margin:0 auto;padding:26px 28px 64px}.menu-heading h1{font-family:var(--font-display);margin:0;font-size:clamp(24px,3vw,30px);font-weight:600}.menu-heading p{color:var(--muted);margin:4px 0 0;font-size:13px}.menu-screen section{margin-top:32px}.find-section-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.find-section-heading h2,.find-explore h2,.find-recent h2{margin:0 0 14px;font-size:18px;font-weight:600}.find-section-heading span{color:var(--muted);font-size:11px}.find-stat-grid{grid-template-columns:1fr 1fr 1.5fr;gap:12px;display:grid}.find-stat-grid>p,.find-top-recipe{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-content:center;gap:4px;min-width:0;margin:0;padding:18px;display:grid}.find-stat-grid>p strong{font-size:28px;font-weight:600;line-height:1.1}.find-stat-grid>p strong small{margin-left:3px;font-size:13px}.find-stat-grid>p span,.find-top-recipe>span,.find-top-recipe>small{color:var(--muted);font-size:11px}.find-top-recipe button{text-align:left;color:var(--green-dark);font:inherit;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:15px;font-weight:600}.find-top-recipe>strong{overflow-wrap:anywhere;font-size:15px;font-weight:600}.find-candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.find-candidate-card{border:1px solid var(--line);background:var(--paper);text-align:left;min-width:0;color:var(--ink);font:inherit;border-radius:14px;grid-template-rows:130px 1fr;padding:0;display:grid;overflow:hidden;box-shadow:0 8px 24px #2230230a}.find-candidate-card:hover{border-color:#b7c8b7}.find-candidate-image{color:#a1afa2;background:#eef0e9;place-items:center;font-size:36px;display:grid;overflow:hidden}.find-candidate-image img{object-fit:cover;width:100%;height:100%}.find-candidate-copy{align-content:start;gap:7px;min-width:0;padding:14px;display:grid}.find-candidate-copy strong{overflow-wrap:anywhere;font-size:15px;line-height:1.5}.find-candidate-copy small{color:var(--muted);font-size:11px}.find-reason{background:var(--green-pale);color:var(--green-dark);border-radius:999px;justify-self:start;padding:4px 9px;font-size:10px}.find-explore-tabs{gap:8px;margin-bottom:12px;display:flex;overflow-x:auto}.find-explore-tabs button{border:1px solid var(--line);background:var(--paper);min-height:42px;color:var(--muted);font:inherit;border-radius:999px;flex:none;padding:0 14px;font-size:12px}.find-explore-tabs button[aria-pressed=true]{border-color:var(--green);background:var(--green-pale);color:var(--green-dark)}.find-explore-list{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.find-explore-list button{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:52px;color:var(--ink);font:inherit;background:0 0;justify-content:space-between;align-items:center;gap:15px;padding:11px 16px;font-size:13px;display:flex}.find-explore-list button:last-child{border-bottom:0}.find-explore-list button:hover{background:var(--green-pale)}.find-explore-list button>span{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.find-explore-list button>span i{background:#a9bdab;border-radius:3px;height:3px;display:block}.find-explore-list button small{color:var(--muted);flex:none;font-size:11px}.find-empty,.menu-state{border:1px dashed var(--line);background:var(--paper);color:var(--muted);border-radius:12px;padding:22px;font-size:13px}.find-empty p,.menu-state p{margin:0}.find-empty button,.menu-state button{border:1px solid var(--line);min-height:44px;color:var(--green-dark);font:inherit;background:#fff;border-radius:8px;margin-top:12px;padding:0 16px}.menu-screen button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.meal-entry{border-left:2px solid var(--green-pale)}.meal-add-kind{grid-template-columns:1fr 1fr;gap:8px;display:grid}.meal-add-kind button{border:1px solid var(--line);min-height:44px;color:var(--muted);font:inherit;background:#fff;border-radius:8px;font-size:13px}.meal-add-kind button[aria-pressed=true]{border-color:var(--green);background:var(--green-pale);color:var(--green-dark)}.meal-add-kind button:disabled{cursor:not-allowed;opacity:.45}.recipe-picker-recipe-section{min-height:0;margin-top:18px;display:grid}.recipe-picker-recipe-section h4{margin:0 0 8px;font-size:13px;font-weight:600}.freeform-meal-input{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:16px;font-size:12px;font-weight:600;display:grid}.freeform-meal-input input{border:1px solid var(--line);width:100%;min-height:44px;font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.freeform-meal-input button{border:1px solid var(--green);background:var(--green);color:#fff;min-height:44px;font:inherit;border-radius:8px;justify-self:start;padding:0 18px;font-size:13px;font-weight:600}.freeform-meal-input button:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed;opacity:1;background:#f0f1ec}.meal-add-hint{color:var(--muted);margin:16px 0 0;font-size:12px}.display-name-form button{background:var(--green);color:#fff;border:0;border-radius:999px;justify-self:start;min-height:44px;padding:10px 24px;font-weight:700}.display-name-form button:disabled{opacity:.65}.account-provider-section{border-bottom:1px solid var(--line)}.password-change-form{padding:25px 30px 30px;display:grid}.password-change-form h3{color:var(--ink);margin:0 0 20px;font-size:16px}.password-change-form label{color:var(--ink);gap:7px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.password-change-form input{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:11px 13px}.password-change-form>button{background:var(--green);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:999px;padding:12px;font-weight:700}.password-change-form>button:disabled{cursor:wait;opacity:.65}.form-success{color:var(--green-dark);font-size:12px}.account-settings-message{color:var(--muted);margin:0;padding:28px 30px 32px;font-size:13px}.placeholder-screen{text-align:center;place-items:center;min-height:calc(100dvh - 98px);padding:40px 24px 64px;display:grid}.placeholder-screen>div{border:1px solid var(--line);background:#fffefab8;border-radius:14px;width:min(100%,520px);padding:36px 28px}.placeholder-screen p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.intro{text-align:center;background:radial-gradient(circle at 50% 0,#eef1e9 0,var(--cream) 48%);padding:20px 24px 36px}.eyebrow,.section-label{color:#8a795e;letter-spacing:.23em;margin:0 0 15px;font-size:10px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-display);color:#303a32}h1{letter-spacing:.06em;margin-bottom:15px;font-size:clamp(32px,5vw,48px);line-height:1.3}.intro-copy{color:var(--muted);margin-bottom:34px;font-size:14px}.search-area{max-width:590px;margin:auto}.search-box{background:var(--paper);border:1px solid #d9d9d1;border-radius:7px;align-items:center;gap:12px;height:56px;padding:0 18px;display:flex;box-shadow:0 7px 25px #3741370f}.search-box:focus-within{outline-offset:2px;outline:2px solid #708976}.search-box svg,.cooking-time svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:20px;height:20px}.search-box svg{color:#858b83;flex:none}.search-box input{color:#303830;background:0 0;border:0;outline:0;width:100%;font-size:14px}.search-box input::placeholder{color:#9b9f98}.filters{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.filters button{color:#656d65;background:0 0;border:1px solid #d4d7d0;border-radius:99px;min-width:74px;padding:8px 16px;font-size:12px;transition:all .2s}.filters button:hover{border-color:var(--green);color:var(--green)}.filters button.active{background:var(--green);border-color:var(--green);color:#fff}.label-filter-wrap{max-width:760px;margin:18px auto 0;padding-top:8px}.label-filter-wrap>span{color:#81887f;letter-spacing:.08em;margin-bottom:9px;font-size:9px;display:block}.label-filters{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.label-filters button{color:#687168;background:#ffffff8c;border:1px solid #d7dbd4;border-radius:4px;padding:6px 10px;font-size:10px}.label-filters button:hover,.label-filters button.active{background:var(--green-pale);color:var(--green-dark);border-color:#819083}.recipe-section{max-width:1120px;margin:auto;padding:32px 28px 88px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:24px;padding-bottom:4px;display:flex}.section-heading .section-label{margin-bottom:7px}.section-heading h2{letter-spacing:.07em;margin:0;font-size:25px}.section-heading>p{color:var(--muted);margin:0 2px 3px;font-size:12px}.list-actions{align-items:center;gap:18px;display:flex}.list-actions p{color:var(--muted);margin:0;font-size:12px}.manage-labels-button{color:var(--green);background:#fff;border:1px solid #aeb9af;border-radius:5px;padding:9px 12px;font-size:11px;font-weight:600}.add-recipe-button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:5px;min-height:44px;padding:10px 15px;font-size:12px;font-weight:600}.add-recipe-button:hover{background:var(--green-dark)}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:9px;transition:transform .2s,box-shadow .2s;overflow:hidden}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #3a413914}.recipe-card:focus-visible{outline:2px solid var(--green);outline-offset:3px}.card-image{aspect-ratio:16/9;background:#e9ede7;position:relative;overflow:hidden}.card-image>img{object-fit:cover;width:100%;height:100%;display:block}.source-badge{box-sizing:border-box;color:#526655;pointer-events:none;background:#fffefaf5;border:1px solid #4652472e;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;padding:3px;display:inline-grid;box-shadow:0 2px 7px #2d362e1a}.card-source-badge{z-index:1;position:absolute;top:9px;right:9px}.source-badge img{object-fit:contain;width:100%;height:100%;display:block}.source-badge svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.source-badge .source-icon-fill{fill:currentColor;stroke:none}.source-brand-mark{font-family:var(--font-body);letter-spacing:-.04em;font-size:10px;font-weight:700;line-height:1}.source-instagram{color:#765b68}.source-youtube{color:#a8483b}.source-nadia{color:#78634d}.card-no-image,.no-image{color:#8a938a;background:linear-gradient(135deg,#eef1ec,#e2e8e1);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.card-no-image span,.no-image span{font-size:25px}.card-no-image p,.no-image p{margin:5px 0 0;font-size:10px}.card-top{background:#eef0e9;place-items:center;height:105px;padding:16px;display:grid;position:relative}.recipe-card:nth-child(3n+2) .card-top{background:#f1ece4}.recipe-card:nth-child(3n) .card-top{background:#e8eeec}.dish-icon{color:#647766;border:1px solid #495a4a3b;border-radius:50%;place-items:center;width:59px;height:59px;font-family:serif;font-size:39px;line-height:1;display:grid}.dish-icon span{transform:translateY(-8px)rotate(180deg)}.card-content{padding:21px 20px 18px}.card-content h3{color:#303730;font-family:var(--font-display);letter-spacing:.015em;overflow-wrap:anywhere;margin-bottom:9px;font-size:18px;font-weight:600;line-height:1.55}.card-meta{color:#747b73;align-items:center;gap:7px;margin-bottom:11px;font-size:10px;display:flex}.card-meta .cooking-time{font-size:10px}.description{color:var(--muted);min-height:44px;font-size:12px;line-height:1.8}.card-labels{gap:5px;height:24px;margin-top:11px;display:flex;overflow:hidden}.card-labels span,.detail-labels span{color:#586a5b;white-space:nowrap;background:#edf1eb;border-radius:3px;padding:4px 7px;font-size:9px}.card-submeta{color:#848a83;border-top:1px dotted #d8d9d3;justify-content:space-between;gap:9px;margin-top:11px;padding-top:10px;font-size:9px;display:flex}.card-submeta span:last-child{white-space:nowrap;text-overflow:ellipsis;text-align:right;min-width:0;overflow:hidden}.card-source{color:#848a83;white-space:nowrap;text-overflow:ellipsis;border-top:1px dotted #d8d9d3;margin:13px 0 0;padding-top:10px;font-size:10px;overflow:hidden}.card-source span{margin:0 3px}.cooking-time{color:#747b73;align-items:center;gap:6px;font-size:11px;display:inline-flex}.cooking-time svg{width:16px;height:16px}.empty-state{background:var(--paper);text-align:center;color:var(--muted);border:1px dashed #cfd2ca;border-radius:9px;padding:60px 20px}.empty-state>span{font-size:34px}.empty-state h3{color:#424a42;margin:10px 0;font-size:16px}.empty-state p{font-size:13px}.empty-state button{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:5px;margin-top:22px;padding:9px 17px;font-size:12px}.data-message{border:1px solid var(--line);background:var(--paper);color:var(--muted);text-align:center;border-radius:7px;padding:22px;font-size:12px}.data-error{color:#804c3c;background:#f8eeea;border-color:#e1c9c0;margin-bottom:18px}.data-error p{margin:0}.data-error button{color:inherit;background:#fff;border:1px solid;border-radius:5px;margin-top:14px;padding:8px 16px;font-size:12px}.calendar-screen{width:min(100%,760px);min-height:calc(100dvh - 54px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0 auto;padding:24px 24px 72px}.calendar-toolbar{justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px;display:flex}.day-history-modal header p{color:#887a65;letter-spacing:.15em;margin:0 0 5px;font-size:9px;font-weight:700}.calendar-toolbar h2,.day-history-modal header h2{letter-spacing:.05em;margin:0;font-size:23px}.calendar-navigation{align-items:center;gap:6px;display:flex}.calendar-navigation button{background:var(--paper);min-width:44px;min-height:44px;color:var(--green-dark);border:1px solid #d3d8d0;border-radius:50%;font-size:24px}.calendar-navigation .today-button{border-radius:999px;width:auto;padding:0 14px;font-size:11px;font-weight:700}.calendar-panel{border:1px solid var(--line);background:#fffefac2;border-radius:12px;overflow:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{border-bottom:1px solid var(--line);background:#f3f4ef}.calendar-weekdays span{color:#7c847b;text-align:center;padding:10px 0;font-size:10px}.calendar-grid{gap:3px;padding:7px}.calendar-day,.calendar-blank{min-height:146px}.calendar-day{color:#4e574f;cursor:pointer;min-width:0;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-rows:44px minmax(0,1fr);align-content:stretch;padding:4px;display:grid;overflow:hidden}.calendar-day:hover{background:#f1f4ef}.calendar-day.adjacent-month{color:var(--muted);background:#f0f3ed5c}.calendar-day.adjacent-month .calendar-recipe{opacity:.72}.calendar-day.adjacent-month:hover,.calendar-day.adjacent-month.selected{background:var(--green-pale);color:var(--green-dark)}.calendar-day.selected{background:var(--green-pale);color:var(--green-dark);border-color:#8ba08e}.calendar-date-button{width:100%;height:44px;min-height:44px;color:inherit;border-radius:50%;place-items:center;font-size:12px;line-height:1;display:grid}.calendar-day.today .calendar-date-button{text-underline-offset:4px;-webkit-text-decoration:underline #8ba08e;text-decoration:underline #8ba08e}.calendar-day:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.calendar-recipes{grid-auto-rows:18px;align-content:start;gap:3px;min-width:0;min-height:0;display:grid;overflow:hidden}.calendar-recipe{box-sizing:border-box;width:100%;min-width:0;height:18px;color:var(--green-dark);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#e7ede5;border-radius:4px;padding:3px 5px;font-size:9px;line-height:12px;display:block;overflow:hidden}.calendar-recipe.archived{color:#858a84;cursor:default;background:#efefeb;display:block}.calendar-overflow{height:18px;color:var(--muted);white-space:nowrap;padding:2px 5px;font-size:9px;line-height:14px;overflow:hidden}.day-history-backdrop{z-index:30}.day-history-modal{--day-detail-inline:28px;background:var(--paper);border-radius:10px;width:min(600px,100%);max-height:min(720px,100dvh - 48px);position:relative;overflow-y:auto;box-shadow:0 22px 70px #00000040}.day-history-modal:not(.dragging){transition:transform .22s cubic-bezier(.22,.8,.28,1)}.day-history-modal.dragging{transition:none}.day-history-backdrop{transition:background-color .18s ease-out}.day-history-modal>header{border-bottom:1px solid var(--line);padding:24px var(--day-detail-inline) 22px;background:#eef0e9;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.day-history-modal>header h2{font-size:20px}.day-history-heading{min-width:0}.day-history-title-row{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.day-history-count{color:var(--muted);flex:none;font-size:13px;font-weight:400;line-height:1.45}.day-history-modal>.close-button{width:44px;height:44px}.day-history-content{padding:24px var(--day-detail-inline) max(28px,env(safe-area-inset-bottom))}.calendar-state{color:var(--muted);text-align:center;border:1px dashed #d5d9d1;border-radius:8px;padding:30px 18px;font-size:12px}.calendar-state p{margin:0}.calendar-error{color:#804c3c;border-color:#ddc7be}.calendar-error button{color:inherit;background:#fff;border:1px solid;border-radius:5px;margin-top:14px;padding:8px 16px}.history-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.history-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:14px 2px;display:flex}.history-item-copy{min-width:0}.history-recipe-link{color:var(--green-dark);text-align:left;font-family:var(--font-display);background:0 0;border:0;padding:4px 0;font-size:16px;display:inline}.history-recipe-link:not(:disabled):hover{text-underline-offset:3px;text-decoration:underline}.history-recipe-link:disabled{cursor:default;color:#555e56}.archived-label{color:#7d837c;vertical-align:2px;border:1px solid #d4d7d0;border-radius:3px;margin-left:8px;padding:2px 5px;font-size:8px;display:inline-block}.history-item-copy p{color:#626b63;margin:5px 0 3px;font-size:12px}.history-item-copy small{color:#899087;font-size:9px}.calendar-feedback{color:var(--green-dark);margin:14px 0 0;font-size:11px}.calendar-feedback.error{color:#883f31}footer{border-top:1px solid var(--line);text-align:center;color:#8a8e86;letter-spacing:.08em;padding:27px 20px;font-family:Noto Serif JP,serif;font-size:11px}footer span{margin:0 7px}.activity-screen{width:min(100%,760px);min-height:calc(100dvh - 54px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0 auto;padding:24px 24px 88px}.activity-heading{padding:4px 2px 18px}.activity-heading p{color:var(--muted);margin:0;font-size:13px}.activity-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.activity-list li{border:1px solid var(--line);background:#fffefad1;border-radius:10px;padding:16px 18px;box-shadow:0 4px 16px #37413709}.activity-list p{color:#424a42;margin:0;font-size:14px;line-height:1.7}.activity-card-heading{align-items:center;gap:10px;margin-bottom:10px;display:flex}.activity-avatar{background:var(--green-pale);width:34px;height:34px;color:var(--green-dark);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.activity-list .activity-actor{color:var(--green-dark);font-size:12px;font-weight:700;line-height:1.35}.activity-list time{color:var(--muted);margin-top:2px;font-size:10px;display:block}.activity-summary strong{font-family:Noto Serif JP,serif;font-weight:600}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f27209e;place-items:center;padding:24px;animation:.18s ease-out fade-in;display:grid;position:fixed;inset:0}.recipe-modal{background:var(--paper);border-radius:10px;width:min(820px,100%);max-height:min(840px,100vh - 48px);animation:.2s ease-out rise-in;position:relative;overflow-y:auto;box-shadow:0 22px 70px #00000040}.close-button{color:#5c635c;z-index:1;background:#fff;border:1px solid #d4d7d0;border-radius:50%;width:35px;height:35px;font-size:22px;line-height:1;position:absolute;top:17px;right:17px}.close-button:hover{background:var(--green-pale)}.modal-heading{text-align:left;border-bottom:1px solid var(--line);background:#eef0e9;align-items:center;gap:27px;padding:31px 60px 31px 34px;display:flex}.modal-heading h2{margin:13px 0 9px;font-size:28px}.modal-heading>p{color:var(--muted);margin-bottom:16px;font-size:13px}.detail-image{aspect-ratio:4/3;background:#dde4dc;border-radius:7px;flex:none;width:185px;overflow:hidden}.detail-image img{object-fit:cover;width:100%;height:100%;display:block}.detail-heading-copy{min-width:0}.detail-heading-copy>p{color:var(--muted);margin-bottom:16px;font-size:13px;line-height:1.7}.detail-labels{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.recipe-facts{color:var(--green);justify-content:flex-start;align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.recipe-facts span{align-items:center;gap:5px;display:inline-flex}.recipe-facts svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:17px;height:17px}.cooking-content{grid-template-columns:.88fr 1.12fr;gap:46px;padding:38px 42px 32px;display:grid}.cooking-content h3,.note-box h3{color:#354039;margin-bottom:14px;font-family:Noto Serif JP,serif;font-size:18px}.ingredients-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.ingredients-heading h3{margin:0}.servings-controls{align-items:center;gap:10px;min-width:0;display:flex}.servings-controls>p{color:var(--muted);white-space:nowrap;margin:0;font-size:11px;line-height:1.5}.servings-selector{border:1px solid var(--line);background:#fff;border-radius:999px;grid-template-columns:40px minmax(64px,auto) 40px;align-items:center;display:grid;overflow:hidden}.servings-selector button{width:40px;height:40px;color:var(--green-dark);background:0 0;border:0;font-size:20px}.servings-selector button:disabled{opacity:.3}.servings-selector output{text-align:center;color:var(--ink);white-space:nowrap;font-size:12px;font-weight:700}.ingredients-panel h3{border-bottom:2px solid var(--green);justify-content:space-between;align-items:baseline;padding-bottom:10px;display:flex}.ingredients-panel h3 small{color:var(--muted);font-family:Noto Sans JP,sans-serif;font-size:11px;font-weight:500}.ingredients-panel ul{margin:0;padding:0;list-style:none}.ingredients-panel .ingredient-display-row{color:#4c554d;border-bottom:1px dotted #cfd2ca;grid-template-columns:minmax(8rem,.9fr) minmax(0,1.1fr);gap:20px;padding:10px 2px;font-size:13px;line-height:1.5;display:grid}.ingredients-panel .ingredient-group-heading{background:linear-gradient(90deg,var(--green-pale),transparent 76%);color:var(--green-dark);letter-spacing:.05em;border-bottom:1px solid #c8d3c7;margin-top:20px;padding:7px 8px 6px;font-size:12px;font-weight:650;line-height:1.5}.ingredients-panel .ingredient-group-heading:first-child{margin-top:5px}.ingredients-panel .ingredient-group-member{background:color-mix(in srgb,var(--green-pale) 55%,transparent);border-bottom-color:#d6dfd5;padding-left:10px;padding-right:10px}.ingredients-panel .ingredient-group-heading+.ingredient-group-member{border-radius:0 0 6px 6px}.ingredients-panel .ingredient-group-member:has(+.ingredient-group-member){border-bottom-color:#0000;border-radius:0}.ingredients-panel .ingredient-group-member:not(:has(+.ingredient-group-member)){border-radius:0 0 6px 6px;margin-bottom:7px}.preparations-panel ul{margin:0;padding:0;list-style:none}.preparations-panel li{color:#4c554d;padding:8px 0 8px 18px;line-height:1.75;position:relative}.preparations-panel li:before{content:"・";color:var(--green);position:absolute;left:0}.ingredients-panel .ingredient-display-row>span,.ingredients-panel .ingredient-display-row strong{overflow-wrap:anywhere;min-width:0}.ingredients-panel .ingredient-display-row strong{color:#303a32;text-align:right;font-weight:600}.steps-panel h3{border-bottom:2px solid var(--green);padding-bottom:10px}.steps-panel ol{counter-reset:step;margin:0;padding:0;list-style:none}.steps-panel li{counter-increment:step;color:#454f47;grid-template-columns:30px 1fr;gap:12px;margin-bottom:18px;font-size:14px;line-height:1.85;display:grid}.steps-panel li:before{content:counter(step);background:var(--green);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;margin-top:1px;font-size:12px;font-weight:700;display:grid}.step-note{color:#6f786f;background:#f2f5f0;border-left:2px solid #b5c2b4;border-radius:0 4px 4px 0;margin:8px 0 0;padding:7px 9px;font-size:11px;line-height:1.7}.notes-content{grid-template-columns:1fr 1fr;gap:14px;padding:0 42px 34px;display:grid}.note-box{border-radius:7px;padding:19px 20px}.note-box h3{margin-bottom:8px;font-size:14px}.note-box p{color:#596159;margin:0;font-size:12px;line-height:1.8}.tip-box{background:#f2efe5;border:1px solid #e5ddc9}.memo-box{background:#edf2ed;border:1px solid #d8e1d8}.source-section{border-top:1px solid var(--line);background:#f8f7f2;justify-content:space-between;align-items:center;gap:20px;padding:22px 42px 25px;display:flex}.source-identification{align-items:center;gap:11px;min-width:0;display:flex}.source-section p{color:#697069;margin:0;font-size:12px}.source-section p strong{color:#414a42}.source-section p span{margin:0 5px}.source-label{letter-spacing:.15em;font-weight:700;color:#8a795e!important;margin-bottom:5px!important;font-size:9px!important}.source-section a{border:1px solid var(--green);color:var(--green);border-radius:5px;flex:none;padding:9px 13px;font-size:11px;font-weight:600;text-decoration:none}.source-section a:hover{background:var(--green);color:#fff}.detail-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:18px 42px 22px;display:flex}.detail-actions button{border-radius:5px;padding:9px 18px;font-size:11px;font-weight:600}.edit-recipe-button{border:1px solid var(--green);background:var(--green);color:#fff}.edit-recipe-button:hover{background:var(--green-dark)}.delete-recipe-button{color:#8a4c3e;background:#fff;border:1px solid #cbaea5}.delete-recipe-button:hover{background:#f8ece8}.confirm-backdrop{z-index:40}.confirm-modal{background:var(--paper);text-align:center;border-radius:10px;width:min(430px,100%);padding:36px 34px 30px;animation:.2s ease-out rise-in;box-shadow:0 22px 70px #00000047}.danger-mark{color:#914d3d;background:#f2dfd9;border-radius:50%;place-items:center;width:42px;height:42px;margin:0 auto 17px;font-family:serif;font-size:22px;font-weight:700;display:grid}.confirm-modal h2{margin-bottom:13px;font-size:21px}.confirm-modal>p{color:#697069;margin-bottom:0;font-size:12px;line-height:1.8}.confirm-modal .form-error{text-align:left;margin:18px 0 0}.confirm-actions{border-top:1px solid var(--line);justify-content:center;gap:9px;margin-top:25px;padding-top:20px;display:flex}.confirm-actions button{color:#626a62;background:#fff;border:1px solid #ccd1ca;border-radius:5px;min-width:120px;padding:11px 16px;font-size:12px;font-weight:600}.confirm-actions .confirm-delete-button{color:#fff;background:#914d3d;border-color:#914d3d}.confirm-actions button:disabled{cursor:wait;opacity:.6}.label-manager-backdrop{z-index:35}.label-manager-modal{background:var(--paper);border-radius:10px;width:min(540px,100%);max-height:min(680px,100vh - 48px);animation:.2s ease-out rise-in;position:relative;overflow-y:auto;box-shadow:0 22px 70px #00000047}.label-manager-modal>header{border-bottom:1px solid var(--line);background:#eef0e9;padding:27px 58px 22px 28px;position:relative}.label-manager-modal>header .section-label{margin-bottom:5px}.label-manager-modal>header h2{margin:0 0 6px;font-size:22px}.label-manager-modal>header p:last-child{color:var(--muted);margin:0;font-size:11px}.label-manager-modal>header .close-button{top:20px;right:20px}.label-manager-content{min-height:150px;padding:22px 28px 28px}.label-manager-content .form-error{margin:0 0 15px}.label-manager-content ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.label-manager-content li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 55px 62px;align-items:center;gap:10px;padding:12px 2px;display:grid}.label-manager-content li>span{color:#3e483f;overflow-wrap:anywhere;font-size:13px;font-weight:600}.label-manager-content li>small{color:var(--muted);text-align:right;font-size:10px}.label-manager-content li>button{color:#8a4e3d;background:#fff;border:1px solid #d3bcb4;border-radius:4px;padding:7px 9px;font-size:10px}.label-manager-message{color:var(--muted);text-align:center;padding:40px 0;font-size:12px}.label-confirm-backdrop{z-index:50}.label-confirm-modal{border:1px solid #ddc4bb}.add-backdrop{align-items:center}.add-modal{background:var(--paper);border-radius:10px;width:min(800px,100%);max-height:calc(100vh - 48px);animation:.2s ease-out rise-in;overflow-y:auto;box-shadow:0 22px 70px #00000040}.add-modal-header{border-bottom:1px solid var(--line);background:#eef0e9;padding:30px 60px 25px 34px;position:relative}.add-modal-header .section-label{margin-bottom:6px}.add-modal-header h2{margin:0 0 8px;font-size:24px}.add-modal-header>div>p:last-child{color:var(--muted);margin:0;font-size:12px}.add-modal-header .close-button{top:25px;right:25px}.add-stage-url,.add-stage-loading{width:min(570px,100%)}.url-import-panel{text-align:center;padding:44px 46px 38px}.import-method-heading{color:var(--green-dark);margin:12px 0 6px;font-family:Noto Serif JP,serif;font-size:18px}.import-method-copy{color:var(--muted);margin:0 0 20px;font-size:11px;line-height:1.7}.import-mark{background:var(--green-pale);width:52px;height:52px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 23px;font-size:24px;display:grid;transform:rotate(-45deg)}.url-field{text-align:left;flex-direction:column;gap:8px;display:flex}.url-field span{color:#4e574f;font-size:11px;font-weight:600}.url-field input{color:#303830;background:#fff;border:1px solid #cdd2cb;border-radius:6px;outline:none;width:100%;height:54px;padding:0 15px;font-size:15px;box-shadow:0 5px 18px #3741370d}.url-field input:focus{border-color:#708976;box-shadow:0 0 0 3px #70897626}.url-error{color:#883f31;text-align:left;margin:8px 0 0;font-size:11px}.analyze-button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:6px;width:100%;margin-top:14px;padding:14px 18px;font-size:13px;font-weight:600}.analyze-button:hover{background:var(--green-dark)}.analyze-button:disabled{cursor:not-allowed;opacity:.45}.analyze-button span{margin-left:7px}.supported-sites{flex-wrap:wrap;justify-content:center;gap:6px;margin:14px 0 0;display:flex}.supported-sites span{color:#6e776f;background:#f7f8f5;border:1px solid #d9ddd6;border-radius:99px;padding:4px 8px;font-size:9px}.support-note{color:#929790;margin:8px 0 0;font-size:9px}.manual-divider{color:#9a9f98;align-items:center;gap:12px;margin:30px 0 15px;font-size:10px;display:flex}.manual-divider:before,.manual-divider:after{content:"";background:var(--line);flex:1;height:1px}.manual-entry-button{min-height:44px;color:var(--green);background:#fff;border:1px solid #aeb9af;border-radius:6px;padding:10px 18px;font-size:12px;font-weight:600}.manual-entry-button:hover{border-color:var(--green);background:var(--green-pale)}.analysis-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:70px 30px;display:flex}.analysis-spinner{border:3px solid #dce4dc;border-top-color:var(--green);border-radius:50%;width:46px;height:46px;margin-bottom:25px;animation:.8s linear infinite spin}.analysis-panel h3{color:#354039;margin-bottom:9px;font-family:Noto Serif JP,serif;font-size:19px}.analysis-panel p{color:var(--muted);margin-bottom:25px;font-size:12px}.analysis-panel small{color:#9a9f98;font-size:9px}@keyframes spin{to{transform:rotate(360deg)}}.recipe-form{padding:0}.import-warnings{background:#faf6ed;border:1px solid #e2d2b8;border-radius:7px;margin:24px 34px 0;padding:17px 19px}.import-warnings h3{color:#65583f;margin-bottom:6px;font-family:Noto Serif JP,serif;font-size:14px}.import-warnings p,.import-warnings li{color:#756a56;font-size:11px;line-height:1.7}.import-warnings p{margin-bottom:8px}.import-warnings ul{margin:0;padding-left:19px}.partial-import-notice{border:1px solid var(--line);background:var(--green-pale);border-radius:7px;margin:24px 34px 0;padding:16px 19px}.partial-import-notice h3{color:var(--green-dark);margin:0 0 5px;font-size:14px}.partial-import-notice p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.recipe-form:has(.partial-import-notice) .form-section-title h3 em{display:none}@media (width<=760px){.partial-import-notice{margin:18px 20px 0}}.image-form-section>h3{color:#354039;margin-bottom:15px;font-family:Noto Serif JP,serif;font-size:16px}.image-editor{align-items:center;gap:20px;display:flex}.image-editor>img,.image-editor>.no-image{aspect-ratio:16/10;object-fit:cover;border:1px solid #d8ddd5;border-radius:7px;flex:none;width:190px}.image-editor>div:last-child{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.image-editor>div:last-child>p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.image-editor button{color:var(--green);background:#fff;border:1px solid #aeb9af;border-radius:5px;padding:8px 12px;font-size:11px;font-weight:600}.image-editor small{color:#8a776f;font-size:9px;line-height:1.5}.recipe-image-input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.image-editor .remove-photo-button{color:#883f31}.image-url-field{margin-top:15px}.form-section{border-bottom:1px solid var(--line);padding:27px 34px}.form-section>h3,.form-section-title h3{color:#354039;margin:0 0 17px;font-family:Noto Serif JP,serif;font-size:16px}.registrant-field{border-top:1px dotted #d5d8d1;grid-template-columns:80px auto 1fr;align-items:center;gap:14px;margin-top:22px;padding-top:19px;display:grid}.registrant-field>span{color:#4e574f;font-size:11px;font-weight:600}.registrant-field>small{color:#8a9088;font-size:9px}.current-registrant{color:var(--green-dark);font-size:12px}.registrant-options{gap:6px;display:flex}.registrant-options button{color:#626a62;background:#fff;border:1px solid #ccd2ca;border-radius:5px;width:58px;padding:8px;font-size:11px}.registrant-options button.active{border-color:var(--green);background:var(--green);color:#fff}.label-form-section>p{color:var(--muted);margin:-7px 0 14px;font-size:11px}.label-candidates{flex-wrap:wrap;gap:7px;display:flex}.label-candidates button{color:#687068;background:#fff;border:1px solid #d4d9d2;border-radius:99px;padding:7px 11px;font-size:10px}.label-candidates button.selected{background:var(--green-pale);color:var(--green-dark);border-color:#819382}.custom-label-input{gap:7px;max-width:380px;margin-top:17px;display:flex}.custom-label-input input{border:1px solid #d3d6cf;border-radius:5px;outline:none;flex:1;min-width:0;padding:10px 11px;font-size:12px}.custom-label-input input:focus{border-color:#708976;box-shadow:0 0 0 2px #70897626}.custom-label-input button{border:1px solid var(--green);color:var(--green);background:#fff;border-radius:5px;padding:8px 14px;font-size:11px}.selected-labels{border-top:1px dotted #d5d8d1;margin-top:18px;padding-top:13px}.selected-labels>span{color:#858b84;margin-bottom:8px;font-size:9px;display:block}.selected-labels>div{flex-wrap:wrap;gap:6px;display:flex}.selected-labels button{background:var(--green);color:#fff;border:0;border-radius:3px;padding:6px 8px;font-size:10px}.selected-labels button span{opacity:.75;margin-left:6px}.form-section h3 em{color:#9a654e;margin-left:8px;font-family:Noto Sans JP,sans-serif;font-size:9px;font-style:normal;font-weight:500}.form-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field-wide{grid-column:1/-1}.field>span{color:#4e574f;font-size:11px;font-weight:600}.field em{color:#9a654e;margin-left:5px;font-size:9px;font-style:normal}.field input,.field select,.field textarea,.ingredient-row input,.step-row textarea{color:#303830;background:#fff;border:1px solid #d3d6cf;border-radius:5px;outline:none;width:100%;padding:11px 12px;font-size:13px}.field textarea,.step-row textarea{resize:vertical;line-height:1.7}.field input:focus,.field select:focus,.field textarea:focus,.ingredient-row input:focus,.step-row textarea:focus{border-color:#708976;box-shadow:0 0 0 2px #70897626}.unit-input{align-items:center;display:flex;position:relative}.unit-input input{padding-right:45px}.unit-input span{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;right:13px}.form-section-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.form-section-title h3{margin:0}.source-form-title{justify-content:flex-start}.manage-labels-link{color:#667168;background:0 0;border:0;border-bottom:1px solid #9ca59d;padding:3px 1px;font-size:10px}.add-row-button{color:var(--green);background:#f9faf7;border:1px solid #aeb9af;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:600}.dynamic-list{flex-direction:column;gap:9px;display:flex}.ingredient-group-helper{color:var(--muted);margin:-5px 0 13px;font-size:11px;line-height:1.6}.ingredient-row{grid-template-columns:28px minmax(7rem,.7fr) minmax(0,1.4fr) minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.ingredient-group-input{font-weight:600;background:var(--green-pale)!important;color:var(--green-dark)!important;border-color:#c5d1c5!important}.preparation-row{grid-template-columns:28px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.preparation-row textarea{width:100%;font:inherit;resize:vertical;border:1px solid #d3d6cf;border-radius:5px;padding:11px 12px}.form-helper{color:var(--muted);margin:8px 0 0;font-size:13px}.reimport-section{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.reimport-section h3{margin:0}.secondary-action{border:1px solid var(--green);color:var(--green);background:0 0;border-radius:8px;padding:10px 14px;font-weight:600}.reimport-section .reimport-feedback{grid-column:1/-1;margin:0}.reimport-section .form-error{padding:11px 13px}.reimport-success{color:#546b58;font-size:13px;line-height:1.5}.step-row{grid-template-columns:28px minmax(0,1fr) 44px;align-items:start;gap:8px;display:grid}.step-inputs{flex-direction:column;gap:7px;display:flex}.step-note-input{background:#f5f7f3!important;border-color:#dce1d9!important;font-size:12px!important}.row-number{background:var(--green-pale);width:26px;height:26px;color:var(--green);border-radius:50%;place-items:center;margin-top:2px;font-size:11px;font-weight:700;display:grid}.remove-row{color:#8a7770;background:0 0;border:0;border-radius:50%;width:44px;height:44px;margin-top:2px;font-size:19px}.remove-row:hover:not(:disabled){color:#8a4e3d;background:#f2e8e4}.remove-row:disabled{cursor:default;opacity:.25}.memo-field{background:#edf2ed;border:1px solid #d8e1d8;border-radius:7px;padding:16px}.memo-field textarea{min-height:120px}.memo-field small{color:#788078;font-size:10px;line-height:1.5}.form-error{color:#883f31;background:#f8eae6;border:1px solid #e6c7be;border-radius:5px;margin:20px 34px 0;padding:11px 13px;font-size:12px}.form-action-spacer{display:none}.form-actions{letter-spacing:0;border:0;justify-content:flex-end;gap:10px;padding:22px 34px 28px;font-family:Noto Sans JP,sans-serif;display:flex}.form-actions button{border-radius:5px;padding:11px 21px;font-size:12px;font-weight:600}.form-actions button:disabled{cursor:wait;opacity:.65}.cancel-button{color:#687068;background:#fff;border:1px solid #cdd1ca}.submit-button{border:1px solid var(--green);background:var(--green);color:#fff}.submit-button:hover{background:var(--green-dark)}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}@media (width<=760px){.header-inner{height:58px;padding:0 18px}.brand{font-size:17px}.brand-mark{width:32px;height:32px;font-size:14px}.header-note{display:none}.intro{padding:38px 18px 32px}h1{font-size:32px}.intro-copy{margin-bottom:27px;font-size:12px}.search-box{height:52px}.filters{gap:7px}.filters button{min-width:61px;padding:7px 11px}.recipe-section{padding:36px 18px 45px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.card-image{aspect-ratio:4/3}.card-content{padding:13px 11px 12px}.card-content h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.9em;margin-bottom:7px;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.card-meta{margin-bottom:7px}.card-meta .cooking-time{font-size:9px}.description{display:none}.card-labels{height:22px;margin-top:7px}.card-labels span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.card-submeta{display:none}.modal-backdrop{align-items:end;padding:0}.recipe-modal,.day-history-modal{border-radius:12px 12px 0 0;max-height:94vh}.day-history-modal>header{padding:25px var(--day-detail-inline) 20px}.day-history-content{padding:20px var(--day-detail-inline) max(24px,env(safe-area-inset-bottom))}.modal-heading{gap:17px;padding:27px 53px 25px 22px}.detail-image{width:112px}.modal-heading h2{margin:10px 0 6px;font-size:22px}.detail-heading-copy>p{margin-bottom:10px;font-size:11px}.recipe-facts{flex-wrap:wrap;gap:6px;font-size:10px}.cooking-content{grid-template-columns:1fr;gap:34px;padding:30px 22px}.cooking-content h3{font-size:19px}.ingredients-panel li{padding:12px 2px;font-size:15px}.steps-panel li{grid-template-columns:34px 1fr;gap:12px;margin-bottom:23px;font-size:16px;line-height:1.9}.steps-panel li:before{width:32px;height:32px;font-size:13px}.notes-content{grid-template-columns:1fr;padding:0 22px 30px}.note-box{padding:18px}.note-box p{font-size:14px}.source-section{flex-direction:column;align-items:stretch;padding:22px}.source-section a{text-align:center;padding:12px;font-size:13px}.settings-screen{min-height:calc(100dvh - 126px);padding:35px 16px 44px}.screen-heading h1,.placeholder-screen h1{font-size:26px}.password-change-form,.sign-out-section{padding-left:20px;padding-right:20px}.account-profile-section dl>div{grid-template-columns:1fr;gap:3px}.placeholder-screen{min-height:calc(100dvh - 126px);padding:28px 16px 48px}.placeholder-screen>div{padding:36px 20px}.section-heading{align-items:flex-end}.list-actions{flex-direction:column-reverse;align-items:flex-end;gap:8px}.add-recipe-button{padding:9px 11px}.add-backdrop{align-items:end}.add-modal{--mobile-form-action-clearance:82px;max-height:96vh;scroll-padding-bottom:calc(var(--mobile-form-action-clearance) + env(safe-area-inset-bottom));border-radius:12px 12px 0 0}.add-stage-url,.add-stage-loading{min-height:min(570px,96vh)}.add-modal-header{padding:26px 55px 22px 20px}.add-modal-header h2{font-size:21px}.add-modal-header .close-button{top:21px;right:17px}.url-import-panel{padding:32px 20px 36px}.url-field input{height:56px;font-size:16px}.analyze-button{min-height:50px;padding:15px;font-size:14px}.analysis-panel{min-height:350px}.import-warnings{margin:18px 20px 0}.form-section{padding:25px 20px}.image-editor{align-items:flex-start;gap:14px}.image-editor>img,.image-editor>.no-image{width:130px}.image-editor>div:last-child>p{font-size:10px}.form-grid{grid-template-columns:1fr;gap:16px}.field-wide{grid-column:auto}.field input,.field select,.field textarea,.ingredient-row input,.step-row textarea{padding:12px;font-size:16px}.ingredient-row{grid-template-columns:28px minmax(0,1fr) 44px}.ingredient-row .ingredient-group-input,.ingredient-row input:nth-of-type(2),.ingredient-row input:nth-of-type(3){grid-column:2}.ingredient-row .remove-row{grid-area:1/3/4;align-self:center}.reimport-section{grid-template-columns:1fr}.step-row textarea{min-height:86px}.memo-field{padding:14px}.form-error{margin:18px 20px 0}.form-action-spacer{height:calc(var(--mobile-form-action-clearance) + env(safe-area-inset-bottom));display:block}.form-actions{z-index:2;border-top:1px solid var(--line);padding:14px 20px max(14px,env(safe-area-inset-bottom));background:#fffefaf5;position:sticky;bottom:0}.form-actions button{flex:1;min-height:48px;padding:13px 10px;font-size:13px}.label-manager-backdrop,.label-confirm-backdrop{align-items:center;padding:18px}.label-manager-modal{max-height:calc(100vh - 36px)}.label-manager-modal>header{padding:24px 52px 20px 21px}.label-manager-content{padding:18px 21px 23px}.manage-labels-button{padding:8px 10px}}@media (width>=761px) and (width<=980px){.recipe-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.day-history-backdrop{padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));align-items:center}.day-history-modal{border-radius:12px;width:100%;max-height:86dvh;overflow-y:auto}.intro{padding-top:24px;padding-bottom:30px}.settings-screen{min-height:calc(100dvh - 98px);padding-top:28px;padding-bottom:40px}.placeholder-screen{min-height:calc(100dvh - 98px);padding-top:24px;padding-bottom:40px}.auth-page{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom))}.auth-brand-icon{border-radius:16px;width:68px;height:68px}.auth-panel h1{margin-bottom:20px;font-size:30px}.section-heading{flex-direction:column;align-items:flex-start;gap:15px}.list-actions{flex-flow:wrap;align-items:center;gap:8px;width:100%}.list-actions p{margin-right:auto}.manage-labels-button,.add-recipe-button{min-height:44px}.modal-backdrop{min-height:100dvh}.recipe-modal,.add-modal{max-height:96dvh}.image-editor>div:last-child{flex:1;min-width:0}.label-filter-wrap{margin-left:-18px;margin-right:-18px}.label-filter-wrap>span{text-align:left;padding:0 18px}.label-filters{scrollbar-width:thin;scroll-snap-type:x proximity;flex-wrap:nowrap;justify-content:flex-start;padding:0 18px 8px;overflow-x:auto}.label-filters button{scroll-snap-align:start;flex:none;padding:8px 12px}.card-labels{margin-top:10px}.card-submeta{font-size:10px}.registrant-field{grid-template-columns:65px 1fr}.registrant-field>small{grid-column:1/-1}.registrant-options button{width:64px;padding:10px}.label-candidates button{padding:9px 12px;font-size:11px}.custom-label-input{max-width:none}.custom-label-input input{font-size:16px}.custom-label-input button{padding:10px 16px;font-size:12px}.detail-actions{padding:16px 22px max(18px,env(safe-area-inset-bottom))}.detail-actions button{flex:1;padding:12px;font-size:13px}.confirm-backdrop{align-items:center;padding:20px}.confirm-modal{padding:31px 22px 24px}.calendar-screen{min-height:calc(100dvh - 98px);padding:26px 14px 48px}.calendar-toolbar{align-items:center}.calendar-toolbar h2{font-size:20px}.calendar-navigation button{min-width:42px;min-height:42px}.calendar-navigation .today-button{padding:0 11px}.calendar-grid{gap:1px;padding:4px}.calendar-day,.calendar-blank{min-height:140px}.calendar-day{padding:2px}.calendar-date-button{width:100%;min-height:44px}.calendar-recipe{padding:3px;font-size:8px}.history-list li{align-items:flex-start}.confirm-actions button{flex:1;min-width:0;padding:13px 8px}}@media (width<=420px){.header-inner{padding-left:14px;padding-right:14px}.brand{gap:8px;font-size:16px}.recipe-section{padding-left:14px;padding-right:14px}.label-manager-content li{grid-template-columns:minmax(0,1fr) 48px 58px;gap:7px}.url-import-panel{padding-left:16px;padding-right:16px}.image-editor{flex-direction:column;align-items:stretch}.image-editor>img,.image-editor>.no-image{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.search-area{top:env(safe-area-inset-top);z-index:6;background:linear-gradient(var(--cream,#fffefa) 78%,#fffefaf0);padding:8px 0 10px;position:sticky;box-shadow:0 7px 16px -15px #2d362e8c}.sort-control{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.sort-control select{color:#465047;background:#fff;border:1px solid #ccd2ca;border-radius:6px;min-height:44px;padding:0 30px 0 10px}.recipe-detail-page{min-height:100dvh;padding:0 0 calc(84px + env(safe-area-inset-bottom));background:#fffefa}.recipe-detail-fullscreen{width:min(100%,980px);max-height:none;box-shadow:none;border-radius:0;margin:0 auto;overflow:visible}.detail-back-button{top:max(10px,env(safe-area-inset-top));z-index:7;border:1px solid var(--line);background:#fffffff0;border-radius:50%;width:44px;height:44px;margin:10px;font-size:22px;position:sticky}.activity-changes{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.activity-changes span{color:#607063;background:#f1f4ef;border:1px solid #d8ded5;border-radius:999px;padding:4px 8px;font-size:10px}.sheet-handle{background:#c5cbc4;border-radius:99px;width:42px;height:5px;margin:8px auto 0}.day-history-modal{animation:.2s ease-out sheet-up}@keyframes sheet-up{0%{transform:translateY(100%)}}@media (width<=760px){.intro{padding-top:0}.intro-copy{display:none}.search-area{margin:0 -18px;padding:8px 18px 10px}.recipe-section{padding-top:14px}.settings-screen,.activity-screen{padding-top:12px}.calendar-screen{height:calc(100dvh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0;padding:8px 10px 10px;overflow:hidden}.calendar-toolbar{margin-bottom:5px}.calendar-panel{flex-direction:column;height:calc(100% - 52px);display:flex}.calendar-grid{flex:1;grid-auto-rows:minmax(0,1fr)}.calendar-day,.calendar-blank{min-height:0}.calendar-day{grid-template-rows:30px minmax(0,1fr)}.calendar-date-button{height:30px;min-height:30px}.calendar-recipes{grid-auto-rows:12px;gap:1px}.calendar-recipe{height:12px;padding:1px 2px;font-size:8px;line-height:10px}.calendar-overflow{height:12px;padding:0 2px;font-size:8px;line-height:12px}.day-history-backdrop{padding:max(8px,env(safe-area-inset-top)) 0 0;align-items:flex-end}.day-history-modal{height:calc(100dvh - max(18px,env(safe-area-inset-top)));max-height:none;padding-bottom:env(safe-area-inset-bottom);border-radius:18px 18px 0 0;overflow-y:auto}.recipe-modal{border-radius:0;max-height:none}.activity-list li{padding:15px}}.find-explore-list button.find-frequent-row{grid-template-columns:minmax(0,1fr) 100px 36px;gap:12px;display:grid}.find-explore-list button>.find-frequent-track{background:var(--green-pale);border-radius:3px;min-width:0;height:3px;display:block}.find-frequent-track i{border-radius:inherit;background:#a9bdab;height:100%;display:block}@media (width<=560px){.find-explore-list button.find-frequent-row{grid-template-columns:minmax(0,1fr) 72px 36px;gap:8px}}.intro{padding:0 24px 28px}.search-area{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffefaf7;max-width:none;margin:0 -24px;padding:10px max(24px,50vw - 532px);box-shadow:0 7px 18px -17px #2d362ea6}.search-box{max-width:1064px;box-shadow:none;background:#ffffffb8;margin:0 auto}.list-actions{flex-wrap:nowrap;justify-content:space-between;gap:20px;width:100%}.list-actions>p{white-space:nowrap}.recipe-controls{justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.activity-card-heading{align-items:baseline;gap:9px;margin-bottom:9px}.activity-list time{margin:0;display:inline}.activity-changes{align-items:center}.activity-changes .activity-changes-label{color:var(--muted);background:0 0;border:0;padding-left:0}.day-history-add-toggle{width:44px;height:44px;color:var(--green-dark);background:#fff;border:1px solid #b8c4b8;border-radius:50%;flex:none;justify-self:end;place-items:center;font-size:25px;line-height:1;display:grid}.day-history-add-toggle:hover{background:var(--green-pale)}.day-history-add-toggle:focus-visible{outline:2px solid var(--green);outline-offset:2px}.day-history-add-toggle:disabled{cursor:not-allowed;opacity:.4}@media (width<=760px){.intro{padding:0 18px 28px}.search-area{margin:0 -18px;padding:8px 18px 10px}.list-actions{align-items:center}.recipe-controls{flex-wrap:nowrap;width:auto}.recipe-detail-page,.recipe-detail-fullscreen{overflow:visible}}.mobile-sort-button{display:none}.sort-dialog-backdrop{padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));place-items:center}.sort-dialog,.recipe-picker-dialog{border:1px solid var(--line);background:var(--paper);border-radius:11px;width:min(400px,100%);max-height:calc(100dvh - 40px);padding:25px;overflow-y:auto;box-shadow:0 22px 70px #00000040}.sort-dialog h2,.recipe-picker-dialog h3{margin:0 0 18px;font-size:19px}.sort-dialog label{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:48px;font-size:13px;display:flex}.sort-dialog input{width:18px;height:18px;accent-color:var(--green)}.sort-dialog>button{min-height:44px;color:var(--green-dark);background:#fff;border:1px solid #cbd2ca;border-radius:6px;margin-top:17px;padding:0 18px}.recipe-history-state{color:var(--muted);font-size:12px}.recipe-history-state.error{color:#883f31}.recipe-picker-backdrop{z-index:31;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f272075;place-items:center;display:grid;position:fixed;inset:0}.recipe-picker-dialog>p{color:var(--muted);font-size:11px}.recipe-picker-dialog label{color:var(--ink);gap:7px;font-size:12px;font-weight:600;display:grid}@media (width<=760px){.section-heading{display:block}.sort-control{display:none}.mobile-sort-button{width:44px;height:44px;color:var(--green-dark);background:#fff;border:1px solid #aeb9af;border-radius:6px;flex:0 0 44px;place-items:center;font-size:20px;display:grid}.recipe-controls{flex-wrap:nowrap;gap:5px}.manage-labels-button,.add-recipe-button{white-space:nowrap;min-width:0;padding-left:7px;padding-right:7px;font-size:10px}.list-actions{flex-wrap:nowrap;gap:6px}.list-actions>p{font-size:10px}.recipe-picker-dialog{padding:22px 19px}}.current-space-button{border:1px solid var(--line);text-align:left;width:100%;min-height:58px;color:inherit;background:#fff;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.current-space-button span:nth-child(2),.space-dialog button span:nth-child(2){gap:3px;display:grid}.current-space-button small,.space-dialog small{color:var(--muted);font-size:10px}.space-color-dot,.space-color-choice{--dot:#3f5b48;background:var(--dot)}.color-forest{--dot:#3f5b48}.color-blue{--dot:#4b6680}.color-teal{--dot:#3f6c68}.color-amber{--dot:#8a682d}.color-terracotta{--dot:#8a5847}.color-plum{--dot:#71536f}.space-color-dot{border-radius:50%;width:14px;height:14px}.space-color-choice{color:#fff;border:3px solid #0000;border-radius:50%;width:44px;height:44px;font-weight:700}.space-color-choice[aria-checked=true]{outline:2px solid var(--green-dark);outline-offset:2px}.space-color-choice:disabled{cursor:not-allowed;opacity:.55}.space-dialog-backdrop{place-items:center}.space-dialog{background:var(--paper);border-radius:12px;width:min(420px,100% - 32px);max-height:calc(100dvh - 40px);padding:24px;overflow-y:auto}.space-dialog h2{margin:0 0 18px;font-size:20px}.space-dialog>button:not(.space-dialog-close):not(.space-settings-link){border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px;display:grid}.space-settings-link,.space-dialog-close{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-height:44px;margin-top:16px}.space-settings-link{color:var(--green-dark);font-weight:700}.settings-subpage .app-content{padding-bottom:0}.settings-hub-panel,.account-management-sections{border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden;box-shadow:0 12px 32px #2633280d}.settings-hub-section{border-bottom:1px solid var(--line);padding:22px 30px}.settings-hub-section:last-child{border-bottom:0}.settings-hub-section h2{margin:0 0 12px;font-size:14px;font-weight:700;line-height:1.4}.settings-summary-row{border:1px solid var(--line);text-align:left;width:100%;min-height:60px;color:inherit;background:#fff;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:grid}.account-summary-row{grid-template-columns:1fr auto}.account-summary-row>span:first-child{gap:3px;display:grid}.settings-summary-row small{color:var(--muted);font-size:10px}.logout-action-section .sign-out-button{color:#8a4c3e;background:#fff;border:1px solid #cbaea5;min-width:0;min-height:44px;padding:9px 18px;font-size:12px}.settings-subpage-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.settings-subpage-header button{border:1px solid var(--line);width:44px;height:44px;color:var(--green-dark);background:#fff;border-radius:50%;flex:none;font-size:20px}.settings-subpage-header h1{margin:0;font-size:clamp(21px,3vw,26px)}.space-settings-screen,.account-management-screen,.password-change-screen{width:min(100%,720px);min-height:100svh;margin:0 auto;padding:18px 24px 48px}.space-preferences-form{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:24px;padding:26px 30px;display:grid;box-shadow:0 12px 32px #2633280d}.space-preferences-form>label{gap:8px;font-size:13px;font-weight:700;display:grid}.space-preferences-form input{width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #cbd2c9;border-radius:8px;padding:0 13px}.space-preferences-form input[readonly]{color:var(--muted);background:#f2f3ef}.space-preferences-form fieldset{border:0;margin:0;padding:0}.space-preferences-form legend{margin-bottom:12px;font-size:13px;font-weight:700}.space-preferences-form [role=radiogroup]{flex-wrap:wrap;gap:12px;display:flex}.space-read-only-note{color:var(--muted);margin:0;font-size:12px}.space-save-button{background:var(--green);color:#fff;border:0;border-radius:999px;justify-self:start;min-width:120px;min-height:44px;padding:0 24px;font-weight:700}.space-save-button:disabled{cursor:not-allowed;opacity:.5}.account-management-sections>section{border-bottom:1px solid var(--line);padding:24px 30px}.account-management-sections>section:last-child{border-bottom:0}.account-section-title{color:var(--ink);font-weight:700;line-height:1.4;margin:0 0 14px!important;font-size:16px!important}.account-email{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.account-email p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.account-settings-row{box-sizing:border-box;border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-height:48px;padding:11px 14px;font-size:12px;line-height:1.4}.login-method-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.login-method-row span{color:var(--muted)}.password-change-row{text-align:left;color:var(--ink);grid-template-columns:1fr auto;align-items:center;display:grid}.password-change-row>span:last-child{color:var(--muted);font-size:19px}.account-provider-section .google-link-button{margin-top:12px}.password-change-page-form{border:1px solid var(--line);background:var(--paper);border-radius:14px;box-shadow:0 12px 32px #2633280d}@media (width<=560px){.settings-hub-section{padding:20px 18px}.space-settings-screen,.account-management-screen,.password-change-screen{padding:14px 18px 40px}.space-preferences-form{padding:22px 18px}.space-preferences-form [role=radiogroup]{justify-content:space-between;gap:8px}.account-management-sections>section,.password-change-page-form{padding-left:18px;padding-right:18px}}.feedback-screen{width:min(100%,720px);min-height:100svh;margin:0 auto;padding:18px 24px 48px}.feedback-form{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:12px;padding:26px 30px;display:grid;box-shadow:0 12px 32px #2633280d}.feedback-form>label{font-size:13px;font-weight:700}.feedback-form textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:150px;font:inherit;background:#fff;border:1px solid #cbd2c9;border-radius:9px;padding:13px;line-height:1.65}.feedback-form>small{color:var(--muted);justify-self:end;font-size:11px}.feedback-form>button{background:var(--green);color:#fff;border:0;border-radius:999px;justify-self:start;min-width:100px;min-height:44px;padding:0 24px;font-weight:700}.feedback-form>button:disabled{opacity:.5}@media (width<=560px){.feedback-screen{padding:14px 18px 40px}.feedback-form{padding:22px 18px}}.recipe-picker-dialog{overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.recipe-picker-search{flex:none;display:block}.recipe-picker-search input{background:#fff;border:1px solid #cbd2c9;border-radius:7px;width:100%;min-height:46px;padding:0 12px;font-size:16px}.recipe-picker-results{border-block:1px solid var(--line);margin-top:12px!important;display:block!important}.recipe-picker-results button{text-align:left;width:100%;min-height:48px;display:block;border:0!important;border-bottom:1px solid var(--line)!important;color:var(--ink)!important;background:0 0!important;padding:10px 5px!important}.recipe-picker-results button:hover{background:var(--green-pale)!important}.recipe-picker-results p{color:var(--muted);padding:16px 4px;font-size:12px}.recipe-picker-cancel{background:#fff;border:1px solid #cbd2ca;border-radius:6px;flex:none;width:100%;min-height:44px;margin-top:16px}.recipe-picker-dialog button:disabled{cursor:wait;opacity:.6}.recipe-picker-dialog{box-sizing:border-box;max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));display:block;overflow-y:auto}.recipe-picker-recipe-section{min-height:auto;display:block}.recipe-picker-results{max-height:none!important;overflow:visible!important}.recipe-picker-results button{white-space:normal;overflow-wrap:anywhere;height:auto;line-height:1.45}.recipe-picker-cancel{display:block}.recipe-picker-dialog .freeform-meal-input{min-height:auto}.meal-plan-note{color:var(--muted);white-space:pre-wrap;margin:5px 0;font-size:12px}.meal-plan-note-toggle{min-height:34px;color:var(--green-dark);text-align:left;background:0 0;border:0;margin-top:4px;padding:4px 0;font-size:11px;display:block}.meal-plan-note-editor{gap:8px;margin-top:7px;display:grid}.meal-plan-note-editor textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:68px;font:inherit;border-radius:7px;padding:8px;font-size:12px}.meal-plan-note-editor>div{gap:8px;display:flex}.meal-plan-note-editor button{border:1px solid var(--line);min-height:36px;color:var(--green-dark);background:#fff;border-radius:7px;padding:4px 10px}.push-settings-section>p{color:var(--muted);margin:0;font-size:12px}.push-enable-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.push-enable-row span{font-size:12px}.push-enable-row button{border:1px solid var(--green);min-height:44px;color:var(--green-dark);background:#fff;border-radius:8px;padding:8px 12px}.push-enable-row button:disabled{opacity:.5}.push-preferences{border:0;gap:9px;margin:18px 0 0;padding:0;display:grid}.push-preferences legend{margin-bottom:10px;font-size:12px;font-weight:600}.push-preferences label{align-items:center;gap:9px;min-height:36px;font-size:12px;display:flex}.push-preferences input{width:18px;height:18px;accent-color:var(--green)}.push-settings-screen{width:min(100%,720px);min-height:100svh;margin:0 auto;padding:18px 24px 48px}.push-enable-row button{flex-shrink:0}.push-preferences label{min-width:0}.push-preferences input{flex:none}@media (width<=560px){.push-settings-screen{padding:14px 18px 40px}.push-enable-row{flex-wrap:wrap}.push-enable-row button{max-width:100%}}@media (prefers-reduced-motion:reduce){.day-history-modal,.day-history-backdrop{transition:none!important;animation:none!important}}.auth-panel h1,.card-content h3,.calendar-toolbar h2,.day-history-modal header h2,.empty-state h3,.modal-heading h2,.cooking-content h3,.note-box h3,.activity-summary strong,.import-method-heading,.analysis-panel h3,.import-warnings h3,.image-form-section>h3,.form-section>h3,.form-section-title h3{font-family:var(--font-display);letter-spacing:.015em}.form-section h3 em,.ingredients-panel h3 small,.form-actions{font-family:var(--font-body)}.calendar-recipe.meal-plan{color:#755d2e;background:#fff9e9;border:1px solid #c7a96c;padding-top:1px;padding-bottom:1px}.calendar-recipe.meal-plan small{margin-right:3px;font-size:7px;font-weight:700}.day-section{margin-bottom:22px}.day-section h3,.day-section-title{font-family:var(--font-display);color:var(--green-dark);margin:0 0 10px;font-size:14px}.recipe-plan-section{border-top:1px solid var(--line);background:#fffaf0}.source-cookpad{color:#b06b36}.source-kurashiru{color:#4f716b}.source-delish{color:#a85e4d}.source-rakuten{color:#8a4f50}h1,h2,.card-content h3{letter-spacing:.005em;font-weight:600;line-height:1.62}.calendar-toolbar h2{letter-spacing:0;font-size:22px}button,label{font-weight:500}.recipe-record-section{border-top:1px solid var(--line);background:#fafbf8;padding:24px 34px}.recipe-record-section>h3{margin:0 0 14px;font-size:17px}.recipe-plan-section{background:#fffaf0}.record-entry-form{background:#f3f5f0;border:1px solid #dfe3dc;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:0 0 16px;padding:14px;display:grid}.recipe-plan-section .record-entry-form{background:#fffdf7;border-color:#e5d8bd}.record-entry-form label{min-width:0;color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.record-entry-form input{background:#fff;border:1px solid #cbd2c9;border-radius:6px;min-width:0;min-height:44px;padding:0 10px}.record-entry-form>button{border-radius:6px;min-width:100px;min-height:44px}.record-entry-form>p{grid-column:1/-1;margin:0}.record-success-message{color:var(--muted);font-size:14px;font-weight:400;line-height:1.45}.record-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.record-list>li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:54px;padding:8px 2px;display:flex}.record-list time{font-size:13px;font-weight:600}.record-list p{color:var(--muted);margin:3px 0 0;font-size:11px}.record-row-actions{align-items:center;gap:7px;display:flex}.mark-cooked-button{color:#684f24;background:#fff9e9;border:1px solid #aa9366;border-radius:999px;min-height:36px;padding:0 14px;font-size:11px}.record-trash-button{color:#7d655d;background:0 0;border:1px solid #0000;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.record-trash-button:hover{background:#fff;border-color:#ddcfc9}.record-trash-button:focus-visible,.mark-cooked-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.record-trash-button:disabled,.mark-cooked-button:disabled{cursor:not-allowed;opacity:.45}.past-plan{opacity:.72}.meal-plan-section .history-list li{gap:12px}.meal-plan-section .record-row-actions{margin-left:auto}@media (width<=560px){.recipe-record-section{padding:20px 18px}.record-entry-form{grid-template-columns:minmax(0,1fr) auto}.record-entry-form label{gap:5px;display:grid}.record-entry-form>button{align-self:end;width:auto}.record-list>li{min-height:58px}}.record-primary-button{border:1px solid var(--green);background:var(--green);color:#fff;font:inherit;padding:0 16px;font-size:11px;font-weight:700;transition:background-color .16s,border-color .16s,transform 80ms,opacity .16s}.record-primary-button:hover:not(:disabled){border-color:var(--green-dark);background:var(--green-dark)}.record-primary-button:active:not(:disabled){transform:translateY(1px)}.record-primary-button:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}.record-primary-button:disabled{cursor:not-allowed;opacity:.52}.record-trash-button{font-size:0}.record-trash-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px;display:block}.record-trash-button:hover:not(:disabled){color:#884f42;background:#f8eeea;border-color:#ddcfc9}.recipe-tree-confirm-backdrop{z-index:60;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));place-items:center}.recipe-tree-confirm-modal{text-align:left;background:var(--paper);border:1px solid #e1d8cf;border-radius:14px;width:min(390px,100%);padding:28px 26px 24px}.recipe-tree-confirm-modal h2{font-family:var(--font-display);margin:0 0 9px;font-size:18px;font-weight:600;line-height:1.5}.recipe-tree-confirm-modal>p{color:var(--muted);font-size:13px;line-height:1.7}.recipe-tree-confirm-modal .confirm-actions{justify-content:flex-end}.recipe-tree-confirm-modal .confirm-actions button{border-radius:7px;min-height:44px}.recipe-tree-confirm-modal .confirm-delete-button{background:#914d3d;border-color:#914d3d}.recipe-tree-confirm-modal .confirm-delete-button:hover:not(:disabled){background:#7f4336;border-color:#7f4336}.recipe-tree-confirm-modal .confirm-primary-button{border-color:var(--green);background:var(--green);color:#fff}.recipe-tree-confirm-modal .confirm-primary-button:hover:not(:disabled){border-color:var(--green-dark);background:var(--green-dark)}.recipe-tree-confirm-modal .confirm-actions button:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media (width<=480px){.recipe-tree-confirm-modal{padding:25px 20px 20px}.recipe-tree-confirm-modal .confirm-actions{grid-template-columns:1fr 1fr;display:grid}.recipe-tree-confirm-modal .confirm-actions button{min-width:0}}.history-list .day-record-row{align-items:center;gap:10px;min-height:58px;padding:8px 0;display:grid}.meal-plan-day-row{grid-template-columns:minmax(0,1fr) auto auto}.history-day-row{grid-template-columns:minmax(0,1fr) auto}.day-record-title{overflow-wrap:anywhere;min-width:0}.day-record-title strong{font-weight:600}.meal-plan-day-row .mark-cooked-button{white-space:nowrap;justify-self:end}.day-record-row .record-trash-button{justify-self:end}@media (width<=760px){.day-history-modal{--day-detail-inline:20px}}@media (width<=400px){.day-history-modal>header{gap:10px}.day-history-title-row{gap:4px 8px}.day-history-modal>header h2{font-size:18px}.history-list .day-record-row{gap:7px}.mark-cooked-button{padding-inline:11px}}.space-preference-helper{color:var(--muted);font-size:10px;font-weight:400;line-height:1.6}.space-servings-input{position:relative}.space-servings-input input{padding-right:42px}.space-servings-input>span{color:var(--muted);font-size:12px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.clear-space-servings{color:var(--muted);background:0 0;border:0;border-bottom:1px solid;justify-self:start;padding:2px 0;font-size:11px}@media (width<=560px){.ingredients-heading{flex-direction:column;align-items:flex-start}.servings-controls{flex-wrap:wrap;width:100%}.servings-selector{grid-template-columns:44px minmax(64px,auto) 44px}.servings-selector button{width:44px;height:44px}.birth-year-month-selects{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.display-name-form .birth-date-clear{grid-column:1/-1;justify-self:start}.menu-screen{padding:20px 18px 40px}.menu-screen section{margin-top:27px}.find-stat-grid{grid-template-columns:1fr 1fr}.find-top-recipe{grid-column:1/-1}.find-candidate-grid{grid-template-columns:1fr}.find-candidate-card{grid-template-rows:minmax(120px,auto);grid-template-columns:100px minmax(0,1fr)}.find-candidate-copy{padding:12px}.find-candidate-image{min-height:120px}.find-section-heading h2,.find-explore h2,.find-recent h2{font-size:17px}}
