:root{color:#293c32;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#2e6650;--green-dark:#244f3f;--muted:#788077;--border:#e7eae1;--paper:#fff;--soft:#eff4ea;background:#f6f7f2;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Malgun Gothic,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}html,body,#root{width:100%;min-width:320px;min-height:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #9aac6e}h1,h2,h3,p{margin-top:0}button svg,a svg{flex-shrink:0}button{background:0 0;border:0}html.oneuldoeat-app-open,html.oneuldoeat-app-open body,html.oneuldoeat-app-open #root{overscroll-behavior:none;height:100%;min-height:0;overflow:hidden}html.oneuldoeat-app-open body{width:100%;position:fixed;inset:0}.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}.apple-login{color:#fff;background:#000;margin-top:10px}.app-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.app-header{border-bottom:1px solid var(--border);padding:18px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));padding-top:max(18px,env(safe-area-inset-top));background:#fff}.header-inner{justify-content:space-between;align-items:center;max-width:920px;margin:auto;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:15px 15px 15px 4px;place-items:center;width:39px;height:43px;display:grid}.brand-en{color:var(--green);letter-spacing:-.7px}.brand small{letter-spacing:1.2px;color:var(--muted);margin-top:4px;font-size:10px;font-weight:500;display:block}.header-actions,.inline{align-items:center;gap:8px;display:flex}.prototype-badge{color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:11px}.icon-button{width:36px;min-height:36px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--soft);color:var(--green)}.app-content{overscroll-behavior:contain;min-width:0;min-height:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);scroll-padding-block:16px;overflow:auto}.app-content:focus{outline:none}.content-inner{max-width:920px;margin:auto;padding:20px 24px 0}.local-note{color:var(--muted);align-items:center;gap:7px;margin:0 0 30px;font-size:11px;display:flex}.local-note>span:last-child{color:#8c948b;margin-left:auto}.dot{background:#8fab77;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.page-title{justify-content:space-between;align-items:center;gap:10px;margin:0 0 26px;display:flex}.eyebrow{letter-spacing:2px;color:#819371;margin-bottom:9px;font-size:10px;font-weight:700;display:block}h1{letter-spacing:-1.2px;margin-bottom:9px;font-size:28px;font-weight:750;line-height:1.4}h2{letter-spacing:-.5px;margin-bottom:0;font-size:18px}h3{letter-spacing:-.4px;align-items:center;gap:10px;margin:0;font-size:16px;display:flex}.page-title p.muted{margin-bottom:0;font-size:13px}.title-emoji{filter:saturate(.8);padding-right:8px;font-size:56px}.muted{color:var(--muted);line-height:1.7}.ink{color:#293c32}.card{border:1px solid var(--border);background:#fff;border-radius:18px}.week-card{padding:24px 20px 0;box-shadow:0 5px 20px #24362703}.section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-heading h2{align-items:center;gap:10px;display:flex}.section-heading>.inline{gap:2px}.text-button{color:var(--green);border-radius:7px;align-items:center;gap:3px;padding:7px;font-size:12px;font-weight:600;display:inline-flex}.text-button:hover{background:var(--soft)}.week-table{table-layout:fixed;border-collapse:separate;border-spacing:4px 7px;width:100%;margin:17px 0 13px}.week-table th:first-child{width:34px;color:var(--muted);font-size:11px;font-weight:500}.day{width:100%;color:var(--muted);border-radius:11px;flex-direction:column;align-items:center;gap:8px;padding:9px 1px;font-size:11px;display:flex}.day strong{color:#435143;font-size:18px}.day.today:not(.selected) strong{color:var(--green);text-underline-offset:5px;text-decoration:underline}.day.selected{background:var(--green);color:#e6eee5}.week-table td{vertical-align:middle;padding:0}.meal-cell{background:#fafbf8;border-radius:8px;justify-content:center;align-items:center;gap:2px;width:100%;min-height:43px;padding:4px 5px;font-size:11px;display:flex}.meal-cell>span{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.meal-cell small{font-size:9px}.meal-cell.filled{color:#586840;background:#eef3e5}.empty-dash{color:#c8cec2}.card-foot{border-top:1px solid var(--border);color:#63765b;align-items:center;gap:6px;padding:15px 0;font-size:11px;display:flex}.card-foot .muted{margin-left:auto;font-size:10px}.badge{color:#57733e;white-space:nowrap;background:#e9f1e2;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-block}.badge.neutral{color:#7c8477;background:#f1f3ed}.meal-sections{gap:11px;display:grid}.meal-section{padding:16px 20px}.meal-icon{border-radius:10px;place-items:center;width:31px;height:31px;font-size:21px;font-weight:400;display:inline-grid}.tone-0{color:#bb983e;background:#f8f0da}.tone-1{color:#8d9e58;background:#edf2e4}.tone-2{color:#8b93b1;background:#eef0f8}.empty-meal{color:#8b9585;text-align:left;border:1px dashed #dce2d5;border-radius:10px;justify-content:space-between;width:100%;margin-top:12px;padding:13px;font-size:12px;display:flex}.meal-row{border-top:1px solid #f0f1ed;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.record-button{text-align:left;overflow-wrap:anywhere;flex-direction:column;flex:1;gap:6px;min-width:0;padding:0;display:flex}.record-button strong{font-size:14px;font-weight:600}.record-button span{color:var(--muted);white-space:pre-wrap;font-size:11px}.delete-link{color:#a97a6b;flex-shrink:0;padding:8px;font-size:11px}.content-footer{text-align:center;color:#9a9e92;padding:30px 0 24px;font-size:10px}.content-footer span{color:#798c70;margin-top:8px;font-size:12px;font-weight:700;display:block}.bottom-nav{border-top:1px solid var(--border);padding:6px env(safe-area-inset-right) max(7px,env(safe-area-inset-bottom)) env(safe-area-inset-left);background:#fff}.bottom-nav>div{grid-template-columns:repeat(3,1fr);max-width:620px;margin:auto;display:grid}.bottom-nav a{color:#939b8d;flex-direction:column;align-items:center;gap:5px;padding:9px 0;font-size:11px;display:flex;position:relative}.bottom-nav a.active{color:var(--green);font-weight:700}.bottom-nav a.active:before{content:"";z-index:0;background:#edf3e7;border-radius:12px;width:43px;height:29px;position:absolute;top:5px}.bottom-nav svg,.bottom-nav span{position:relative}.primary,.secondary,.danger{border-radius:10px;justify-content:center;align-items:center;gap:5px;min-height:42px;padding:11px 17px;font-size:13px;font-weight:600;display:inline-flex}.primary{background:var(--green);color:#fff}.secondary{color:var(--green);background:#f0f3eb}.danger{color:#fff;background:#a65242}.pantry-groups{gap:17px;margin-top:17px;display:grid}.pantry-table{border-collapse:collapse;table-layout:fixed;text-align:left;width:100%;margin-top:16px}.pantry-table th{color:var(--muted);background:#fafbf8;padding:8px 0;font-size:11px;font-weight:500}.pantry-table td{overflow-wrap:anywhere;border-bottom:1px solid #f0f2eb;padding:14px 0;font-size:12px}.pantry-table th:first-child{width:44%;padding-left:8px}.pantry-table th:nth-child(2){width:22%}.pantry-table th:last-child{text-align:right;padding-right:8px}.pantry-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;padding-right:8px;font-size:11px}.pantry-table tr:last-child td{border-bottom:0}.item-link{text-align:left;color:#365b42;padding:3px 8px;font-weight:650;line-height:1.6}.item-link:hover{text-decoration:underline}.expired{color:#b36c57}.empty-copy{text-align:center;color:var(--muted);padding:20px 0 8px;font-size:12px}.subtle-note{color:#939989;margin:20px 5px 0;font-size:11px;line-height:1.9}.season-banner{background:#e8efdd;border:1px solid #dfe8d1;border-radius:17px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;padding:25px;display:flex}.season-banner h2{color:#49633e;font-size:22px}.season-banner p{color:#7b8a6a;margin:8px 0 0;font-size:12px}.month-picker select{background:#fff9;border:1px solid #cddabb;min-width:84px}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.food-card{transition:transform .2s;overflow:hidden}.food-card:hover{transform:translateY(-3px)}.food-art{background:#f6eddd;place-items:center;height:155px;display:grid;position:relative}.food-art>span:first-child{filter:drop-shadow(0 9px 8px #4b30171a);font-size:78px}.art-pear{background:#eef0dc}.art-sweet-potato{background:#eee5e4}.art-pumpkin{background:#f6e9d2}.food-sticker{color:#64734e;background:#fff9;border-radius:7px;padding:4px 8px;font-size:10px;position:absolute;top:13px;left:13px}.food-card-body{padding:17px}.food-card-body p{color:var(--muted);margin:9px 0 14px;font-size:11px;line-height:1.7}.food-kcal{color:#5f7350;font-size:12px;font-weight:600}.food-kcal small{color:#8b9683;font-weight:400}.back-link{color:var(--muted);align-items:center;gap:5px;padding:5px 0 16px;font-size:12px;display:inline-flex}.recipe-hero{text-align:center;background:#edf1e5;border-radius:18px;margin:0 0 20px;padding:25px 16px}.food-emoji{margin-bottom:17px;font-size:70px;display:block}.recipe-hero h1{font-size:26px}.recipe-hero p.muted{font-size:13px}.centered{justify-content:center}.recipe-section>p{margin:12px 0 0;font-size:13px;line-height:1.9}.recipe-list{gap:10px;display:grid}.recipe-link{justify-content:space-between;align-items:center;padding:20px;display:flex}.recipe-link strong{margin-bottom:5px;font-size:14px;display:block}.recipe-link .muted{font-size:11px}.ingredient-list{margin:15px 0 0;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--border);padding:10px 0;font-size:13px}.ingredient-list li:last-child{border:0}.recipe-steps{margin-bottom:0;padding-left:24px}.recipe-steps li{padding:10px 0 10px 5px;font-size:13px;line-height:1.8}.recipe-steps li::marker{color:var(--green);font-weight:800}.info-note{color:#6b7961;background:#f3f5ed;border-radius:10px;padding:13px;font-size:12px;line-height:1.8}.empty-state{text-align:center;padding:36px 18px}.empty-state>svg{color:#9cae87;margin-bottom:15px}.empty-state h2{margin-bottom:12px}.empty-state p{font-size:12px}.empty-state .secondary{margin-top:8px}.skip-link{z-index:10;background:#fff;padding:10px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}.toast{bottom:calc(86px + env(safe-area-inset-bottom));color:#fff;z-index:5;white-space:nowrap;background:#294c3eea;border-radius:12px;padding:12px 20px;font-size:13px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #19342b22}.error-note{color:#924b35;background:#fff0e9;border:1px solid #edc3ae;border-radius:10px;padding:13px;font-size:12px;line-height:1.8}dialog{border:1px solid var(--border);color:#293c32;border-radius:21px;width:calc(100% - 28px);max-width:460px;max-height:calc(100dvh - 36px);padding:24px;overflow:auto;box-shadow:0 25px 100px #1b362b33}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#20362960}.dialog-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.dialog-heading h2{font-size:20px}dialog p{font-size:13px;line-height:1.8}.dialog-heading .icon-button{margin-right:-6px}form label{flex-direction:column;gap:8px;margin-bottom:17px;font-size:12px;font-weight:600;display:flex}label>.muted{font-size:11px;font-weight:400}input,select,textarea{color:#293c32;background:#fbfcf9;border:1px solid #dce2d5;border-radius:9px;width:100%;min-width:0;padding:11px 12px;font-size:16px}input::placeholder,textarea::placeholder{color:#a0a695;font-size:13px}textarea{resize:vertical;min-height:88px}input[type=date]{min-height:45px}.required{display:none}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:22px;display:flex}.push-left{margin-right:auto}.full-width{width:100%}.guide strong{color:var(--green)}.guide p{margin-bottom:20px}@media (width>=760px){.content-inner{max-width:780px;padding-top:26px}.page-title{margin-bottom:30px}.week-table{border-spacing:7px}.meal-cell{min-height:53px;font-size:12px}.meal-section{padding:19px 24px}.food-art{height:180px}.food-card-body{padding:20px}.food-card-body p{font-size:13px}.local-note{margin-bottom:34px}.bottom-nav>div{max-width:600px}}@media (width<=480px){.app-header{padding:14px 19px;padding-top:max(14px,env(safe-area-inset-top))}.brand{font-size:20px}.brand-mark{width:35px;height:38px}.brand small{font-size:9px}.prototype-badge{padding:4px 6px;font-size:9px}.header-actions{gap:3px}.content-inner{padding:17px 16px 0}.local-note{margin-bottom:23px;font-size:9px}.local-note>span:last-child{display:none}.page-title{margin-bottom:21px}h1{font-size:23px}.eyebrow{letter-spacing:1.7px;font-size:9px}.page-title p.muted{font-size:11px}.title-emoji{padding:0;font-size:40px}.week-card{padding:18px 9px 0}.week-card>.section-heading{padding:0 6px}.week-card h2{font-size:13px}.week-card .eyebrow{letter-spacing:1.2px;font-size:8px}.week-card .icon-button{width:27px;min-height:34px}.week-table{border-spacing:2px 6px;margin-top:12px}.week-table th:first-child{width:25px;font-size:9px}.day{gap:7px;padding:8px 0;font-size:10px}.day strong{font-size:16px}.meal-cell{flex-direction:column;gap:0;min-height:43px;padding:4px 2px;font-size:9px}.meal-cell small{font-size:8px}.card-foot{gap:4px;margin:0 6px;padding:13px 0;font-size:9px}.card-foot .muted{font-size:8px}.detail-heading{margin-top:24px}.detail-heading h2{font-size:16px}.meal-section{padding:14px 16px}.meal-icon{width:28px;height:28px}.meal-row{margin-top:10px;padding-top:10px}.record-button strong{font-size:13px}.record-button span{font-size:10px}.food-grid{gap:11px}.food-art{height:127px}.food-art>span:first-child{font-size:65px}.food-card-body{padding:14px 11px}.food-card-body h2{font-size:16px}.food-card-body p{min-height:34px;font-size:10px}.food-kcal{font-size:10px}.food-kcal small{font-size:9px}.season-banner{padding:21px 18px}.season-banner h2{font-size:20px}.pantry-section{padding:17px}.pantry-table th:first-child{width:39%}.pantry-table th:nth-child(2){width:22%}.pantry-table td:last-child{font-size:10px}.pantry-table td{font-size:11px}.recipe-section{padding:19px}dialog{padding:21px}.subtle-note{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.pantry-item-actions{align-items:center;gap:3px;display:flex}.pantry-item-actions .item-link{overflow-wrap:anywhere;min-width:0}.consume-button{border:1px solid var(--border);color:var(--green);background:var(--soft);border-radius:6px;flex-shrink:0;min-height:30px;padding:5px 6px;font-size:10px}@media (width<=380px){.pantry-item-actions{flex-direction:column;align-items:flex-start}.pantry-item-actions .consume-button{margin-left:8px}}fieldset{border:0;min-width:0;margin:0;padding:0}.login-card{max-width:420px;margin:28px auto;padding:26px}.login-card>p{font-size:13px}.local-login{border-top:1px solid var(--border);margin-top:22px;padding-top:14px}.local-login p{font-size:11px}.local-login .inline{flex-wrap:wrap}.share-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:-6px 0 16px;display:flex}.share-row p{margin:0;font-size:11px}.share-row .secondary{min-height:35px;padding:8px 12px;font-size:11px}.category-tabs{flex-wrap:wrap;gap:6px;margin:0 0 20px;display:flex}.category-tabs button{border:1px solid var(--border);background:#fff;border-radius:20px;padding:9px 15px;font-size:12px}.category-tabs button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.season-period{gap:5px;display:flex}.season-period select{padding:9px 6px;font-size:12px}.source-text{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=480px){.season-banner{flex-direction:column;align-items:flex-start;gap:14px}.category-tabs button{padding:9px 12px}.login-card{padding:23px 18px}}.kakao-login{color:#191919;background:#fee500;margin-bottom:16px}.kakao-login:hover{background:#f6dc00}.remember-choice{align-items:center;gap:8px;display:flex}.remember-choice input{width:auto}.session-warning{z-index:100;background:#fff;border:1px solid #286140;border-radius:16px;max-width:90vw;padding:20px;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}.account-page{max-width:540px;margin:0 auto}.account-card h2{margin-bottom:18px;font-size:17px}.account-card dl{gap:8px;margin:0;display:grid}.account-card dt,.account-card .muted{color:var(--muted);font-size:12px}.account-card dd{overflow-wrap:anywhere;margin:0 0 12px;font-size:14px}.account-row,.account-link{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.account-row strong{color:var(--green);margin-left:10px}.account-link{padding:14px 0}.header-actions>a{align-items:center;min-height:44px;display:inline-flex}.account-page .back-link{margin-top:12px}.app-header{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}.content-inner{padding-top:12px}.local-note{margin-bottom:12px}.page-title{margin-bottom:14px}.page-title h1,.eyebrow{margin-bottom:4px}.week-share{flex-shrink:0;min-height:44px;padding:8px 10px;font-size:12px}.share-notice{margin:0 0 8px;font-size:12px}.week-card{padding-top:12px}.week-table{margin-top:8px;margin-bottom:6px}.card-foot{padding-top:9px;padding-bottom:9px}.detail-heading{margin:16px 2px 10px}.meal-sections{gap:8px}.meal-section{padding-top:10px;padding-bottom:10px}.empty-meal{min-height:44px;margin-top:8px;padding:10px}.pantry-groups{gap:10px;margin-top:10px}.pantry-section{padding:14px}.pantry-table{margin-top:8px}.pantry-table td{padding-top:9px;padding-bottom:9px}.season-banner{flex-flow:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:14px}.season-banner h2{font-size:18px}.category-tabs{margin-bottom:12px}.recipe-hero{margin-bottom:12px;padding:16px}.food-emoji{margin-bottom:8px;font-size:48px}.recipe-section{margin-top:10px;padding:16px}.subtle-note{margin-top:12px}.content-footer{padding:16px 0}.account-card{margin-top:10px;padding:16px}.account-card h2{margin-bottom:10px}.account-card dd{margin-bottom:6px}.login-card{margin:12px auto;padding:20px}.form-actions{margin-top:14px}form label{margin-bottom:12px}@media (width<=480px){.page-title h1{font-size:20px}.page-title p.muted{font-size:11px}.week-share{white-space:nowrap;max-width:none}.season-period select{min-height:44px}.food-art{height:100px}}.meal-cell{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (width<=759px){.meals-page .page-title{align-items:center;gap:8px;margin-bottom:8px}.meals-page .page-title>div{min-width:0}.meals-page .page-title h1{margin-bottom:2px;font-size:18px;line-height:1.3}.meals-page .eyebrow{letter-spacing:1px;margin-bottom:2px;font-size:8px}.meals-page .page-title p.muted{font-size:11px;line-height:1.4}.meals-page .week-card{border-radius:14px;padding:6px 8px 0}.meals-page .week-card h2{white-space:nowrap;font-size:13px}.meals-page .week-card>.section-heading{gap:4px;padding:0}.meals-page .week-card .inline{gap:0}.meals-page .week-card .icon-button{width:44px;min-height:44px}.meals-page .week-card .text-button{min-height:44px;padding:4px}.meals-page .week-table{border-spacing:2px 3px;margin:2px 0}.meals-page .day{gap:1px;min-height:44px;padding:3px 1px}.meals-page .day strong{font-size:16px}.meals-page .meal-cell{min-height:44px;padding:3px;font-size:10px}.meals-page .card-foot{flex-wrap:wrap;gap:4px;padding:5px 0;font-size:9px}.meals-page .card-foot .muted{font-size:9px;line-height:1.4}.meals-page .detail-heading{margin:8px 2px 5px}.meals-page .detail-heading h2{font-size:15px}.meals-page .meal-sections{gap:5px}.meals-page .meal-section{border-radius:12px;grid-template-columns:70px minmax(0,1fr) 44px;align-items:center;gap:4px 6px;min-height:60px;padding:7px 9px;display:grid}.meals-page .meal-section>.section-heading{display:contents}.meals-page .meal-section h3{grid-area:1/1;gap:4px;font-size:14px}.meals-page .meal-icon{border-radius:7px;width:24px;height:26px;font-size:18px}.meals-page .meal-section>.section-heading>.text-button{grid-area:1/3;gap:1px;min-height:44px;padding:0;font-size:11px}.meals-page .meal-row{border:0;grid-column:2;gap:2px;min-width:0;margin:0;padding:0}.meals-page .section-heading+.meal-row{grid-row:1}.meals-page .record-button{justify-content:center;gap:2px;min-height:44px}.meals-page .record-button strong{font-size:13px}.meals-page .record-button span{font-size:10px}.meals-page .delete-link{min-width:44px;min-height:44px;padding:4px;font-size:10px}.meals-page .empty-meal{grid-area:1/2;align-items:center;gap:4px;min-height:44px;margin:0;padding:5px 7px;font-size:11px}.meals-page+.content-footer{padding:8px 0;font-size:9px}.meals-page+.content-footer span{margin-top:3px;font-size:11px}}@media (width<=360px){.meals-page .week-card>.section-heading{flex-wrap:wrap}.meals-page .week-card>.section-heading>.inline{margin-left:auto}}.recipes-page .section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.recipes-page h1{font-size:22px}.recipe-search{gap:8px;margin:12px 0;display:flex}.recipe-search input{flex:1}.recipe-search button{white-space:nowrap;min-height:44px}.recipe-search .sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.recipe-category{align-items:center;gap:8px;margin:8px 0;display:flex}.recipe-category select{width:auto;max-width:75%;min-height:44px}.recipe-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;padding:0;list-style:none;display:grid}.recipe-result{text-align:left;flex-direction:column;gap:6px;width:100%;padding:14px;display:flex}.recipe-result strong{font-size:17px}.recipe-result span,.recipe-result small{color:var(--muted);font-size:12px}.recipe-pagination{justify-content:center;align-items:center;gap:20px;margin:14px 0;display:flex}.recipe-pagination button{min-width:44px;min-height:44px}.recipe-detail ul,.recipe-detail ol{padding-left:22px}.recipe-detail li{margin:8px 0;line-height:1.7}.recipe-detail h3{margin-top:16px}.recipe-detail .muted{font-size:12px}.bottom-nav>div{grid-template-columns:repeat(4,1fr)}.primary.apple-login{color:#fff;background:#000}.primary.apple-login:hover:not(:disabled){color:#fff;background:#222}.brand-mark{background:#238451}form label.expiry-choice{flex-direction:row;align-items:center;gap:8px;min-height:44px;display:flex}label.expiry-choice input{width:20px;height:20px;accent-color:var(--green);margin:0}.content-inner{padding-bottom:16px}@media (width<=759px){.meals-page .page-title{margin-bottom:12px}.meals-page .week-card{padding:10px 10px 0}.meals-page .week-table{border-spacing:3px 5px;margin:4px 0}.meals-page .day{gap:3px}.meals-page .card-foot{padding:8px 0}.meals-page .detail-heading{margin:14px 2px 8px}.meals-page .meal-sections{gap:8px}.meals-page .meal-section{gap:6px 8px;min-height:66px;padding:10px 11px}.meals-page .record-button{gap:4px}}.seasonal-summary{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin:8px 0 0;line-height:1.6;display:-webkit-box;overflow:hidden}.seasonal-grid .food-art{height:80px}.seasonal-grid .food-art>span:first-child{font-size:42px}.seasonal-grid .food-sticker{padding:2px 6px;top:6px;left:8px}.seasonal-grid .food-card-body{padding:10px}.seasonal-grid .seasonal-summary{min-height:0;margin:4px 0 0}.seasonal-grid .seasonal-months{font-size:var(--font-caption,12px);color:var(--green);margin-top:4px;font-weight:600;line-height:1.5;display:block}@media (width>=760px){.seasonal-grid .food-art{height:100px}}@media (width<=480px){.seasonal-grid .food-art{justify-content:flex-end;height:40px;padding-right:12px;display:flex}.seasonal-grid .food-art>span:first-child{font-size:30px}.seasonal-grid .food-sticker{top:10px}.seasonal-grid .food-card-body{padding:8px}}.pantry-section-actions{align-items:center;gap:6px;display:flex}.pantry-section-actions .text-button{white-space:nowrap;min-height:44px}.recipe-filter-row{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;display:flex}.recipe-filter-row .recipe-category{flex:1;min-width:0;margin:0}.recipe-filter-row .recipe-category select{min-width:0}.recipe-count{white-space:nowrap;font-size:var(--font-caption,12px)}.week-share-preview{border:1px solid var(--border);border-radius:14px;width:100%;height:auto;display:block}.week-share-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.week-share-actions>*{white-space:nowrap;flex:1}.week-share-status{min-height:1.5em}:root,:root[data-theme=pastel]{--green:#b64c3b;--green-dark:#963b2d;--text:#343d38;--muted:#706861;--border:#eadfd8;--paper:#fff;--soft:#fbe9df;--canvas:#fff5ef;--field:#fffaf7;--on-primary:#fff;--danger-text:#a64232;--error-bg:#fff0ea;--error-border:#e6b6a6;--focus:#b64c3b;color:var(--text);background:var(--canvas)}:root[data-theme=white]{--canvas:#fff;--soft:#f4f4f4;--field:#fafafa;--border:#e3e3e3;--muted:#666b68}:root[data-theme=black]{--green:#ffac9b;--green-dark:#ffc2b5;--text:#f5f5f7;--muted:#b6b4b2;--border:#414144;--paper:#1c1c1e;--soft:#342925;--canvas:#111214;--field:#252528;--on-primary:#291511;--danger-text:#ffb4a6;--error-bg:#3a2522;--error-border:#85564a;--focus:#ffac9b}:root[data-theme=mint]{--green:#236b59;--green-dark:#195342;--canvas:#f1faf6;--soft:#e0f1e9;--field:#f8fcfa;--border:#cfdfd6;--muted:#586c62;--focus:#236b59}:root:not([data-theme]),:root[data-theme=sky]{--green:#245f9e;--green-dark:#194b80;--canvas:#f1f7ff;--soft:#e1edfc;--field:#f8fbff;--border:#d0dceb;--muted:#5c6c7d;--focus:#245f9e}:root[data-theme=lavender]{--green:#69509c;--green-dark:#503b7b;--canvas:#f7f3ff;--soft:#ebe3f8;--field:#fcfaff;--border:#ddd3ea;--muted:#6c627b;--focus:#69509c}:root[data-theme=rose]{--green:#a33962;--green-dark:#82284c;--canvas:#fff3f7;--soft:#f9e2eb;--field:#fffafc;--border:#ebd2dc;--muted:#7c5e69;--focus:#a33962}:root[data-theme=lemon]{--green:#766015;--green-dark:#59470b;--canvas:#fffcec;--soft:#f5ecc5;--field:#fffef7;--border:#e5dbb8;--muted:#716b50;--focus:#766015}:root[data-theme=sand]{--green:#805936;--green-dark:#654324;--canvas:#faf5ec;--soft:#eee2d1;--field:#fdfaf5;--border:#dfd2bf;--muted:#756754;--focus:#805936}:root[data-theme=ocean]{--green:#086d7b;--green-dark:#065562;--canvas:#effbfc;--soft:#d9f0f2;--field:#f7fdfe;--border:#c8e0e4;--muted:#536e73;--focus:#086d7b}body,.app-shell{background:var(--canvas);color:var(--text)}.app-header,.bottom-nav,.card,dialog,.session-warning,.skip-link,.category-tabs button{background:var(--paper);color:var(--text)}.brand-logo{object-fit:contain;background:#fff;border-radius:10px;flex-shrink:0;width:44px;height:44px}.brand-en{color:var(--green)}.brand{color:var(--text)}.bottom-nav a{color:var(--muted);min-height:54px}.bottom-nav a.active{color:var(--green)}.bottom-nav a.active:before{background:var(--soft)}.bottom-nav svg{stroke-width:1.8px}.bottom-nav a.active svg{stroke-width:2.1px}.ink,.day strong,dialog{color:var(--text)}.primary,.day.selected,.category-tabs button[aria-pressed=true]{background:var(--green);color:var(--on-primary)}.primary:hover{background:var(--green-dark)}.day.selected strong{color:var(--on-primary)}.secondary,.badge,.badge.neutral,.meal-cell.filled,.season-banner,.recipe-hero,.info-note{background:var(--soft);color:var(--green)}.meal-cell,.pantry-table th{background:var(--field)}.meal-cell.filled{background:var(--soft)}.selected-column .meal-cell{box-shadow:inset 0 0 0 1px var(--green)}.empty-dash,.card-foot,.eyebrow,.empty-meal,.content-footer,.content-footer span,.subtle-note,.food-kcal small,.local-note>span:last-child{color:var(--muted)}.dot{background:var(--green)}.item-link,.food-kcal,.season-banner h2{color:var(--green)}.season-banner p{color:var(--muted)}.season-banner,.meal-row,.empty-meal{border-color:var(--border)}input,select,textarea,.month-picker select{background:var(--field);color:var(--text);border-color:var(--border)}input::placeholder,textarea::placeholder{color:var(--muted)}.error-note{background:var(--error-bg);border-color:var(--error-border);color:var(--danger-text)}.expired,.delete-link{color:var(--danger-text)}.consume-button:hover{background:var(--soft)}.session-warning{border-color:var(--border)}.toast{background:var(--text);color:var(--canvas)}.food-sticker{background:var(--paper);color:var(--text)}:root[data-theme=black] .food-art,:root[data-theme=black] .meal-icon{background:var(--field)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--focus)}.primary.apple-login,.primary.apple-login:hover:not(:disabled){color:#fff;background:#000;border:1px solid #777}.kakao-login{color:#191919;background:#fee500}.kakao-login:hover{color:#191919;background:#f6dc00}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-option{border:2px solid var(--border);text-align:center;min-height:88px;color:var(--text);border-radius:12px;gap:7px;padding:8px;font-size:13px;display:grid}.theme-option[aria-pressed=true]{border-color:var(--green);background:var(--soft)}.theme-preview{border-radius:6px;justify-content:space-between;align-items:center;min-height:36px;padding:6px;font-weight:700;display:flex}@media (width<=480px){.brand-logo{width:38px;height:38px}.brand{gap:7px}}.bottom-nav a{font-size:12px}.brand small{letter-spacing:.4px;font-size:11px}.card-foot,.card-foot .muted,.content-footer,.content-footer span,.subtle-note,.empty-meal,.record-button span,.pantry-table td,.pantry-table th,.food-card-body p,.food-kcal{font-size:12px}@media (width<=480px){.week-table th:first-child,.meals-page .day,.meals-page .meal-cell,.meals-page .card-foot,.meals-page .card-foot .muted,.meals-page .record-button span,.meals-page .empty-meal,.meals-page+.content-footer,.meals-page+.content-footer span{font-size:11px}.pantry-table td:last-child,.meals-page .meal-section>.section-heading>.text-button{font-size:12px}.eyebrow{font-size:11px}}:root{--font-title:22px;--font-section:16px;--font-body:14px;--font-caption:12px;--font-input:16px}body{font-size:var(--font-body);line-height:1.5}:root body #root h1{font-size:var(--font-title);line-height:1.4}:root body :is(#root,dialog) :is(h2,h3,.recipe-result strong,.recipe-link strong){font-size:var(--font-section);line-height:1.5}:root body :is(#root,dialog) :is(p,li,dd,td,.account-row,.account-link,.item-link,.record-button strong,.source-text){font-size:var(--font-body);line-height:1.6}:root body :is(#root,dialog) :is(.primary,.secondary,.danger,.text-button,.delete-link,.consume-button,.category-tabs button,.back-link,.theme-option,form label){font-size:var(--font-body);line-height:1.5}:root body :is(#root,dialog) :is(.eyebrow,.badge,.food-sticker,.card-foot,.card-foot .muted,.subtle-note,.info-note,.error-note,.record-button span,.recipe-result span,.recipe-result small,.recipe-detail .muted,.empty-meal,.local-note,.local-login p,.share-notice,dt,th,small,.bottom-nav a){font-size:var(--font-caption);line-height:1.5}:root body :is(#root,dialog) :is(input,select,textarea){font-size:var(--font-input);line-height:1.5}:root body :is(#root,dialog) :is(input,textarea)::placeholder{font-size:var(--font-body)}:root body #root :is(.day,.meal-cell,.meal-cell small){font-size:var(--font-caption)}:root body #root .day strong{font-size:var(--font-section)}.meals-page .page-title>div{min-width:0}.meals-page .week-card>.section-heading{flex-wrap:wrap}.meals-page .week-card>.section-heading>.inline{margin-left:auto}.theme-option{overflow-wrap:anywhere}
