.app-main:has(.restaurant-menu){padding-bottom:0}.restaurant-menu.page{padding:0 0 80px;max-width:760px;height:calc(100dvh - 76px - env(safe-area-inset-bottom));display:flex;flex-direction:column}.menu-cover{height:104px;flex-shrink:0;background:#e8decb url(../kitchen-cover.svg) center 62% / cover;position:relative}.menu-cover>span{position:absolute;top:max(15px,env(safe-area-inset-top));left:18px;color:#7e715e;font-size:9px;letter-spacing:2px}.meal-mode-switch{position:absolute;top:10px;right:12px;display:inline-flex;gap:3px;padding:3px;border:1px solid #d6c4a9;border-radius:12px;background:#fffdf8ed;box-shadow:0 2px 8px #5e45390a}.meal-mode-switch a{position:relative;display:flex;align-items:center;gap:4px;min-height:27px;padding:4px 8px;border-radius:8px;font-size:11px;color:#a0876b;white-space:nowrap}.meal-mode-switch a:before{content:"";position:absolute;inset:-6px 0}.meal-mode-switch a[aria-current=page]{background:#896244;color:#fffdf8}@media(max-width:359px){.menu-cover>span{top:53px;font-size:8px}.meal-mode-switch{top:10px}}.menu-sheet{position:relative;margin-top:-14px;border-radius:20px 20px 0 0;background:#fffdf8;min-height:0;flex:1;display:flex;flex-direction:column;overflow:clip}.menu-identity,.menu-action-bar,.menu-search-field{flex-shrink:0}.menu-identity{display:flex;align-items:center;gap:11px;padding:12px 15px 9px}.menu-avatar{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:grid;place-items:center;color:#8b6748;background:#eddfc5;border:1px solid #e3cfad}.menu-avatar>svg{width:26px;height:26px}.menu-identity-copy{min-width:0}.menu-identity h1{font-size:21px;line-height:1.4;font-weight:650;letter-spacing:-.5px}.menu-identity p{margin-top:3px;color:#94816a;font-size:11px}.menu-identity p strong{font-weight:650;color:#896244}.menu-action-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 12px 0 15px;border-bottom:1px solid #eee7dc;min-height:48px}.menu-action-bar h2{align-self:stretch;display:flex;align-items:center;position:relative;white-space:nowrap;font-size:17px;gap:3px}.menu-action-bar h2:after{content:"";position:absolute;bottom:0;height:3px;left:0;right:0;border-radius:2px;background:#896244}.menu-action-bar h2 span{font-size:12px;color:#967a5e;font-weight:400}.menu-actions{display:flex;gap:5px;min-width:0}.menu-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid #d9c5ac;color:#896244;background:transparent;border-radius:16px;padding:5px 8px;font-size:11px;min-height:32px;white-space:nowrap}.menu-pill:before{content:"";position:absolute;inset:-6px 0}.menu-pill>svg{width:12px;height:12px}.menu-pill-add{background:#896244;border-color:#896244;color:#fffdf8}.menu-search-button{min-width:44px;background:#f3f0ea;color:#918576;border-color:#e8e1d6}.menu-search-button.is-active{color:#896244;border-color:#bd9b75}.menu-search-field{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#faf6ef;border-bottom:1px solid #eee7dc;color:#a48c70}.menu-search-field input{min-height:44px;background:#fffdf8;padding:8px 10px;font-size:16px}.menu-browser{display:grid;grid-template-columns:86px minmax(0,1fr);min-height:0;flex:1;overflow:hidden}.menu-category-rail{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#f5f2ec;border-right:1px solid #eee7dc;min-width:0}.menu-category-buttons{display:flex;flex-direction:column;overflow-y:auto;min-height:0;scrollbar-width:none}.menu-category-buttons::-webkit-scrollbar{display:none}.menu-category-button{position:relative;width:100%;min-height:48px;background:transparent;color:#93816c;font-size:12px;padding:11px 6px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;overflow-wrap:anywhere;line-height:1.5}.menu-category-button span{font-size:10px;opacity:.65}.menu-category-button.is-active{color:#896244;background:#fffdf8;font-weight:600}.menu-category-button.is-active:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:#896244}.menu-category-manage{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;min-height:48px;flex-shrink:0;color:#9a7e5c;padding:10px 4px;margin-top:6px;border-top:1px solid #eae2d7}.menu-dishes-pane{min-width:0;min-height:0;padding:11px 11px 24px;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.menu-category-title{font-size:13px;line-height:1.6;font-weight:550;margin-bottom:9px;overflow-wrap:anywhere}.menu-category-title span{font-size:12px;color:#a08a71;margin-left:3px;font-weight:400}.menu-empty-card{min-height:151px;border-radius:13px;background:#f4f1eb;color:#b5a995;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:22px 10px;text-align:center}.menu-empty-card p{margin-top:12px;font-size:13px;line-height:1.6}.menu-empty-card>span{margin-top:5px;font-size:10px;line-height:1.6;color:#b8ad9d}.menu-start-guide{margin-top:25px;padding:0 4px}.menu-start-guide h4{font-size:14px;font-weight:550;margin:0 0 10px}.menu-start-guide p{font-size:12px;color:#9d8d78;line-height:1.9;margin-bottom:10px}.menu-guide-link{display:flex;align-items:center;gap:6px;min-height:40px;color:#896244;font-size:12px}.menu-dish-list{display:grid;gap:9px}.menu-category-section{scroll-margin-top:16px}.menu-category-section:last-child{min-height:var(--menu-reading-height, 0)}.menu-category-section+.menu-category-section{margin-top:17px}.menu-category-section>h4{margin:0 0 7px;font-size:11px;color:#9b8161;font-weight:550;display:flex;gap:7px;align-items:center}.menu-category-section>h4 span{font-size:9px;color:#b5a28a;font-weight:400}.menu-category-empty{min-height:43px;padding:10px 0;font-size:10px;line-height:1.7;color:#b6a38a}.restaurant-menu .dish-card{display:flex;padding:8px;border-radius:13px;box-shadow:none;align-items:center;gap:5px}.dish-card-detail{display:flex;min-width:0;flex:1;align-items:flex-start;gap:10px}.restaurant-menu .dish-card-photo{width:56px;height:56px;aspect-ratio:1;flex-shrink:0;border-radius:9px}.restaurant-menu .dish-card-body{min-width:0;flex:1;padding:3px 0 0}.restaurant-menu .dish-category{font-size:9px}.restaurant-menu .dish-card h3{font-size:14px;margin-top:0}.restaurant-menu .dish-card-footer{border-top:0;padding-top:0;margin-top:6px;font-size:9px;gap:4px}.menu-load-state{padding:16px}.dish-card-selection{align-self:center;display:flex;flex-direction:column;gap:6px;align-items:center;flex-shrink:0}.dish-card-selection>span{font-size:10px;color:#896244;white-space:nowrap}.dish-add-button{width:44px;height:44px;border-radius:50%;background:#896244;color:#fffdf8;display:grid;place-items:center;padding:0}.menu-dish-marks{display:flex;justify-content:center;gap:6px}.menu-dish-marks>span{display:flex}.menu-mark-heart{color:#d66b60}.menu-mark-star{color:#c59c50}.menu-dish-marks svg{fill:currentColor}.menu-cart-bar{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:max(12px,calc((100vw - 736px)/2));right:max(12px,calc((100vw - 736px)/2));z-index:25;display:flex;border:1px solid #e4d6c3;background:#fffdf8;border-radius:18px;box-shadow:0 5px 24px #57402912;overflow:hidden;min-height:64px}.menu-cart-toggle{display:flex;align-items:center;gap:11px;background:transparent;padding:8px 14px;flex:1;min-width:0;text-align:left;color:#6e5139;font-size:14px}.menu-cart-toggle small{display:block;margin-top:3px;font-size:11px;color:#a18d73}.menu-cart-icon{position:relative;display:flex}.menu-cart-icon b{position:absolute;top:-8px;right:-10px;border-radius:10px;padding:2px 5px;min-width:18px;background:#896244;color:#fff;font-size:10px;text-align:center}.menu-submit-button{background:#896244;color:#fffdf8;font-size:14px;font-weight:600;padding:12px 22px;min-width:113px}.menu-submit-button:disabled{background:#ebe5db;color:#a79b8a;opacity:1}.menu-cart-feedback{position:fixed;bottom:calc(149px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:#fffdf8;color:#896244;border-radius:10px;box-shadow:0 2px 12px #57402912;font-size:11px;padding:6px 12px;z-index:24;pointer-events:none}.menu-cart-feedback:empty{display:none}.menu-cart-error{margin:16px}@media(min-width:600px){.restaurant-menu.page{margin-top:16px;height:calc(100dvh - 92px - env(safe-area-inset-bottom))}.menu-cover{height:140px;border-radius:20px 20px 0 0}.menu-identity{padding:14px 20px 10px}.menu-avatar{width:50px;height:50px}.menu-action-bar{padding-left:24px;padding-right:24px}.menu-browser{grid-template-columns:120px minmax(0,1fr)}.menu-category-button{font-size:14px}.menu-dishes-pane{padding:14px 18px}.menu-dish-list{grid-template-columns:1fr}.restaurant-menu .dish-card-photo{width:65px;height:65px}.menu-pill{font-size:12px;padding:5px 10px}}@media(max-width:359px){.menu-identity{padding:11px 13px 8px;gap:10px}.menu-avatar{width:44px;height:44px}.menu-action-bar{padding-left:13px;padding-right:10px}.menu-actions{gap:5px}.menu-pill{padding:5px 6px;font-size:10px}.menu-search-button span{display:none}.menu-browser{grid-template-columns:74px minmax(0,1fr)}.menu-dishes-pane{padding:10px 8px 24px}.menu-category-manage{font-size:11px;gap:3px}.restaurant-menu .dish-card{padding:7px;gap:5px}.dish-card-detail{gap:7px}.restaurant-menu .dish-card-photo{width:46px;height:46px}.restaurant-menu .dish-card h3{font-size:12px}}.cart-dialog{width:calc(100% - 28px);max-width:460px;max-height:calc(100dvh - 48px);margin:auto;overflow-y:auto;border:1px solid #e4d6c3;border-radius:22px;background:#fffdf8;padding:20px;color:var(--color-text);box-shadow:0 20px 70px #30211533}.cart-dialog::backdrop{background:#30211566}.cart-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cart-dialog-heading h2{font-size:19px;display:flex;align-items:center;gap:8px;font-weight:600}.cart-dialog-heading p{font-size:12px;color:#9d8972;margin-top:9px}.cart-items{list-style:none;padding:0;margin:19px 0}.cart-items li{display:flex;align-items:center;gap:12px;border-top:1px solid #eee6da;padding:15px 0}.cart-item-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.6}.quantity-control{display:flex;align-items:center;gap:8px;flex-shrink:0}.quantity-control button{display:grid;place-items:center;width:34px;height:36px;padding:0;border:1px solid #dcc8ae;border-radius:11px;background:#faf4ea;color:#896244}.quantity-control span{min-width:20px;text-align:center;font-size:13px}.cart-empty{color:#9d8972;padding:35px 0;font-size:13px;line-height:1.8}.cart-help{color:#aa9984;font-size:11px;margin:5px 0 16px}.cart-submit{width:100%}.orders-page,.checkout-page{max-width:760px}.order-list{display:grid;gap:18px}.order-card{padding:18px}.order-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.order-kitchen{display:flex;align-items:center;gap:9px;min-width:0}.order-kitchen-avatar{display:grid;place-items:center;background:#eddfc5;color:#896244;border-radius:50%;width:35px;height:35px;flex-shrink:0}.order-kitchen h2{font-size:15px;font-weight:600;line-height:1.6}.order-kitchen p{font-size:11px;color:#a59683;margin-top:2px}.order-meal-badge{padding:5px 10px;border-radius:8px;background:#f4eade;color:#94714d;font-size:12px;white-space:nowrap}.order-card-dishes,.shopping-dishes,.checkout-summary ul{list-style:none;padding:0;margin:19px 0 0}.order-dish-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid #eee6da}.order-dish-detail{min-width:0;flex:1;display:flex;align-items:center;gap:12px}.order-dish-photo{display:grid;place-items:center;background:#f0e5d7;color:#ad9377;width:64px;height:64px;border-radius:11px;overflow:hidden;flex-shrink:0}.order-dish-photo img{height:100%;object-fit:cover}.order-dish-copy{min-width:0}.order-dish-copy h3{font-size:15px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.order-needs-label{display:inline-block;font-size:10px;color:#a38c70;padding:3px 7px;border:1px solid #e7ddcf;background:#f9f4ec;border-radius:6px;margin-top:6px}.order-ingredient-tags{display:flex;gap:4px;flex-wrap:wrap;overflow-wrap:anywhere}.order-quantity{flex-shrink:0;color:#96836a;font-size:13px}.order-created-time{font-size:11px;color:#9d8d78;padding-top:10px;line-height:1.8}.order-created-time time{white-space:nowrap}.order-actions{display:flex;gap:9px;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #eee6da}.order-action{display:inline-flex;justify-content:center;align-items:center;gap:5px;min-height:40px;padding:9px 12px;border-radius:22px;font-size:12px;white-space:nowrap}.order-complete{color:#fffdf8;background:#896244}.order-buy{color:#896244;background:#f3e9db;border:1px solid #dfcdb5}.order-delete{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e7ddcf;color:#a68c70;background:transparent;border-radius:50%;margin-left:auto;flex-shrink:0}.order-complete.is-complete{color:#748263;background:#ecf0e5;opacity:1}.meal-selection{margin:0 0 23px;padding:18px;min-width:0}.meal-selection legend{font-size:15px;font-weight:600;padding:0 7px}.meal-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.meal-option{display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;cursor:pointer;padding:15px 7px;min-height:84px;font-size:13px;border-radius:13px;border:1px solid #e3d5c1;color:#9a8061;background:#faf6ef}.meal-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;min-height:0;cursor:pointer}.meal-option:has(input:focus-visible){outline:3px solid #a7835c;outline-offset:3px}.meal-option.is-selected{border-color:#896244;color:#896244;background:#efe1cc}.checkout-summary{padding:18px}.checkout-summary header{display:flex;justify-content:space-between;align-items:center;gap:9px}.checkout-summary h2{font-size:15px;font-weight:600}.checkout-summary header>span{color:#a48c70;font-size:11px}.checkout-summary .order-dish-row:last-child{padding-bottom:0}.checkout-time-note{margin:18px 0;font-size:11px;color:#a48c70;line-height:1.8}.checkout-confirm{width:100%}.shopping-intro{margin:20px 0 0;color:#9d8972;font-size:12px;line-height:1.8}.shopping-dishes{margin-bottom:20px}.shopping-dish-card{margin-top:13px;border:1px solid #eadfcf;border-radius:15px;padding:15px;background:#fffdf8}.shopping-dish-heading{display:flex;gap:10px;align-items:center}.shopping-dish-photo{width:48px;height:48px;background:#f0e5d7;border-radius:10px;overflow:hidden;color:#ad9377;flex-shrink:0;display:grid;place-items:center}.shopping-dish-photo img{height:100%;object-fit:cover}.shopping-dish-heading h3{flex:1;min-width:0;font-size:15px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.shopping-dish-heading>span{font-size:12px;color:#9b856d;white-space:nowrap}.shopping-dish-card .ingredient-tag-groups{border-top:1px solid #eee5d8;padding-top:14px}@media(max-width:359px){.order-card{padding:15px}.order-actions{gap:6px}.order-action{font-size:11px;padding:9px 10px}.order-dish-photo{width:54px;height:54px}.order-dish-detail{gap:9px}.order-dish-copy h3{font-size:13px}}.order-success{color:#627055;background:#eef1e8;border:1px solid #d9e0ce;padding:13px 15px;font-size:12px;border-radius:12px;line-height:1.7;margin-bottom:19px}.orders-page.page{padding:max(12px,env(safe-area-inset-top)) 14px 12px;max-width:760px}.order-top-inset{position:fixed;inset:0 0 auto;height:max(12px,env(safe-area-inset-top));z-index:3;background:var(--color-background);pointer-events:none}.order-toolbar{position:sticky;top:max(12px,env(safe-area-inset-top));z-index:4;background:var(--color-background)}.orders-page .page-header{margin:0 0 10px;min-height:30px;gap:6px}.orders-page .page-heading>div{display:flex;align-items:baseline;gap:12px}.orders-page .page-header h1{font-size:22px}.orders-page .page-header p{margin:0;font-size:11px}.order-result-count{font-size:10px;color:#ac9a83;white-space:nowrap}.order-filters{display:flex;gap:9px;margin-bottom:10px;position:relative;z-index:2}.order-date-dropdown,.order-status-dropdown{flex:1;min-width:0;position:relative}.order-filters summary{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid #e6dbcb;border-radius:11px;background:#fffdf8;color:#897158;cursor:pointer;padding:0 12px;list-style:none;font-size:13px;font-weight:400;line-height:1.5}.order-filters summary::-webkit-details-marker{display:none}.order-filters summary>span{flex:1;min-width:0}.order-date-options{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;padding:5px;border:1px solid #e4d6c3;border-radius:12px;background:#fffdf8;box-shadow:0 8px 24px #5740291c}.order-date-options button{display:block;width:100%;min-height:44px;border-radius:8px;text-align:left;padding:10px 12px;background:transparent;color:#8f7960;font-size:13px}.order-date-options button[aria-pressed=true]{background:#f2e7d7;color:#765436}.orders-page .order-list{gap:9px}.orders-page .order-card{padding:8px 11px;border-radius:16px;box-shadow:0 2px 9px #57402905}.orders-page .order-card-heading{align-items:center;gap:6px;min-height:22px}.orders-page .order-kitchen{gap:6px}.orders-page .order-kitchen-avatar{width:22px;height:22px}.orders-page .order-kitchen h2{font-size:12px;white-space:nowrap}.order-dish-count{font-size:9px;color:#a4927a;white-space:nowrap}.orders-page .order-meal-badge{font-size:10px;padding:3px 6px;border-radius:6px}.order-dishes-overview{display:flex;align-items:center;gap:5px;margin-top:3px}.orders-page .order-card-dishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;flex:1;min-width:0;margin:0}.orders-page .order-dish-row{padding:0;border:0;min-width:0;min-height:44px}.orders-page .order-dish-detail{gap:7px;min-height:44px}.orders-page .order-dish-photo{width:40px;height:40px;border-radius:8px}.orders-page .order-dish-photo>svg{width:19px;height:19px}.orders-page .order-dish-copy h3{font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.order-expand{flex-shrink:0;min-height:44px;min-width:44px;padding:4px;background:#f7f0e6;border-radius:8px;color:#9a7956;font-size:10px}.orders-page .order-created-time{font-size:10px;line-height:14px;padding-top:2px;color:#ad9c86}.orders-page .order-actions{margin-top:3px;padding-top:0;border-top:0;gap:7px}.orders-page .order-action{position:relative;min-height:30px;padding:4px 9px;border-radius:9px;font-size:10px;line-height:1.4;gap:4px;border:1px solid transparent}.orders-page .order-action:before{content:"";position:absolute;inset:-7px 0}.orders-page .order-action>svg{width:13px;height:13px}.orders-page .order-complete{font-weight:550;color:#fffdf8;background:#896244;border-color:#896244}.orders-page .order-complete.is-complete{color:#536747;background:#e8eedf;border-color:#ccd9bc;opacity:1}.orders-page .order-buy{color:#765438;background:#f3e6d2;border-color:#ddc5a3}.orders-page .order-delete{width:32px;height:32px;position:relative;border:0;border-radius:9px;color:#b2a08b}.orders-page .order-delete:before{content:"";position:absolute;inset:-6px}.orders-page .order-success{margin-bottom:9px;padding:8px 11px;font-size:11px}.orders-page .empty-state{margin-top:12px;padding:25px 16px}.order-calendar{max-width:380px;padding:16px}.order-calendar .cart-dialog-heading{align-items:center}.order-calendar .cart-dialog-heading h2{font-size:16px}.order-calendar-month{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.order-calendar-month h3{font-size:15px;font-weight:550}.order-calendar-week,.order-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:2px}.order-calendar-week{font-size:11px;color:#ad9a81;padding:4px 0 9px}.order-calendar-days button{min-height:44px;border-radius:10px;color:#887158;font-size:14px;background:transparent}.order-calendar-days .is-today{box-shadow:inset 0 0 0 1px #dac5a8}.order-calendar-days button[aria-pressed=true]{color:#fffdf8;background:#896244}.order-calendar-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee6da;margin-top:12px;padding-top:5px}.order-calendar-footer span{font-size:11px;color:#ad9a81}.order-calendar-footer button{min-height:44px;color:#896244;font-size:13px;padding:8px;background:transparent}@media(min-width:600px){.orders-page.page{padding-top:22px}.orders-page .order-card{padding:10px 15px}.orders-page .order-dish-copy h3{font-size:13px}}@media(max-width:359px){.orders-page.page{padding-right:10px;padding-left:10px}.orders-page .page-heading>div{gap:8px}.orders-page .page-header p{font-size:10px}.order-dish-count{display:none}.orders-page .order-card{padding-right:9px;padding-left:9px}.orders-page .order-dish-detail{gap:5px}}.compact-my.page{max-width:560px;padding:max(22px,env(safe-area-inset-top)) 18px 10px}.my-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:15px}.my-heading h1{font-size:24px;font-weight:600;line-height:1.5}.my-heading>span{font-size:11px;color:#a0917e;letter-spacing:.5px}.my-kitchen-card{display:flex;align-items:center;gap:13px;padding:15px 16px;border:1px solid #e9dfd0;border-radius:18px;background:#fffdf8}.my-kitchen-avatar{width:55px;height:55px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#f1e6d5;color:#9f7a52}.my-kitchen-copy{min-width:0}.my-kitchen-copy h2{font-size:19px;font-weight:600;line-height:1.5}.my-kitchen-copy>p{font-size:10px;color:#a18b72;margin-top:3px;line-height:1.7}.my-kitchen-counts{display:flex;align-items:center;gap:10px;margin-top:8px;color:#9b8b77;font-size:10px}.my-kitchen-counts strong{font-weight:600;color:#896244}.my-kitchen-counts i{height:10px;width:1px;background:#e2d6c5}.my-link-list{margin-top:14px;padding:0 15px;border-radius:18px;border:1px solid #e9dfd0;background:#fffdf8}.my-row{display:flex;width:100%;align-items:center;gap:11px;min-height:52px;padding:10px 0;font-size:14px;background:transparent;color:#554b3f;text-align:left}.my-row+.my-row{border-top:1px solid #f0eae0}.my-row-icon{color:#ac8960}.my-row-icon.my-heart{color:#b98776}.my-row small{margin-left:auto;color:#ad9c87;font-size:10px;font-weight:400}.my-row>svg:last-child{color:#c6bbaa;margin-left:auto}.my-row small+svg:last-child{margin-left:0}.my-quiet-note{text-align:center;margin-top:18px;color:#a08f78}.my-quiet-note p{font-size:12px;letter-spacing:2px}.my-quiet-note span{display:block;font-size:9px;margin-top:9px;color:#b4a691;letter-spacing:.5px}.dish-mark-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dish-mark-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid #e7dbca;border-radius:12px;background:#fffdf8;color:#a38c71;padding:9px 13px;font-size:12px;line-height:1.5}.dish-mark-button.mark-heart.is-selected{color:#b37060;border-color:#e9cfc3;background:#faeee8}.dish-mark-button.mark-star.is-selected{color:#a17b42;border-color:#e3d1ad;background:#f6eddb}.dish-mark-button.is-selected svg{fill:currentColor}.dish-marks.is-compact .dish-mark-actions{gap:5px}.dish-marks.is-compact .dish-mark-button{font-size:10px;min-height:40px;padding:7px 9px;gap:4px;border-radius:9px}.dish-mark-error{font-size:11px;color:#a35040;line-height:1.7;margin-top:6px}.menu-dish-main{min-width:0;flex:1}.dish-detail-marks{width:100%;margin-top:17px}.dish-mark-help{color:#ae9a80;font-size:10px;line-height:1.8;margin-top:9px}.search-dish-marks{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px;font-size:10px;color:#ac8758}.search-dish-marks span{display:inline-flex;align-items:center;gap:3px}.search-dish-marks .mark-heart{color:#b37060}.search-dish-marks svg{fill:currentColor}.collection-page{max-width:660px}.collection-tabs{display:flex;gap:9px;margin-bottom:20px}.collection-tabs a{display:inline-flex;align-items:center;gap:6px;font-size:12px;min-height:42px;padding:10px 14px;border:1px solid #e4d6c3;border-radius:12px;color:#a0896e}.collection-tabs a[aria-current=page]{background:#efe4d2;color:#896244;border-color:#d8c3a6}.collection-count{color:#a08b73;font-size:11px;margin:0 2px 13px}.collection-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.collection-card{padding:14px}.collection-dish-link{display:flex;align-items:center;gap:13px}.collection-dish-link>div:last-child{min-width:0}.collection-photo{width:70px;height:70px;aspect-ratio:1;border-radius:11px;overflow:hidden;background:#efe5d7;color:#b09676;flex-shrink:0;display:grid;place-items:center}.collection-photo img{height:100%;object-fit:cover}.collection-dish-link p{font-size:10px;color:#ab9273;margin-bottom:5px}.collection-dish-link h2{font-size:16px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.collection-dish-link span{display:block;font-size:10px;color:#b0a18c;margin-top:6px}.collection-card>.dish-marks{margin-top:11px}.collection-quiet-note{margin-top:25px;text-align:center;font-size:11px;color:#ab9a83;line-height:1.8}@media(max-width:359px){.compact-my.page{padding-right:14px;padding-left:14px}.my-heading{margin-bottom:13px}.my-kitchen-card{padding:13px;gap:10px}.my-row{min-height:52px;font-size:13px}.my-row small{font-size:9px}.my-quiet-note{margin-top:18px}.dish-marks.is-compact .dish-mark-button{padding:7px;font-size:9px}}.ingredient-tag-groups{margin:15px 0 0;display:grid;gap:15px}.ingredient-tag-group dt{font-size:12px;font-weight:600;color:#7e6147;margin-bottom:8px}.ingredient-tag-group dd{margin:0}.ingredient-tag-list{display:flex;flex-wrap:wrap;gap:7px}.ingredient-tag-list>span{padding:6px 10px;border-radius:8px;background:#f2e7d5;color:#866340;font-size:12px;line-height:1.5;overflow-wrap:anywhere;max-width:100%}.ingredient-group-accompaniments .ingredient-tag-list>span{background:#edf0e6;color:#6a7856}.ingredient-group-seasonings .ingredient-tag-list>span{background:#f4e8e1;color:#997157}.ingredient-group-empty{font-size:12px;color:#b1a28e}.ingredient-form-heading{font-size:15px;font-weight:600;margin-bottom:8px}.ingredient-form-intro{font-size:11px;line-height:1.8;color:#a08a6f;margin-bottom:22px}.ingredient-label-example{display:block;font-size:11px;line-height:1.7;color:#a08a6f;margin-top:5px;font-weight:400}.ingredient-chips{margin-bottom:5px}.ingredient-group-accompaniments .ingredient-chips>span{background:#edf0e6;color:#6a7856}.ingredient-group-seasonings .ingredient-chips>span{background:#f4e8e1;color:#997157}.search-page{max-width:760px}.search-input-wrap{display:flex;gap:9px;align-items:center;background:#fffdf8;border:1px solid #e0d3c0;border-radius:15px;padding:3px 10px 3px 15px;color:#a18a6c}.search-input-wrap:focus-within{border-color:#a7835c}.search-input-wrap input{min-width:0;flex:1;width:100%;min-height:49px;font-size:16px;border:0;background:transparent;padding:10px 0;border-radius:0}.search-input-wrap input:focus-visible{outline:0}.search-input-wrap input::-webkit-search-cancel-button{-webkit-appearance:none}.search-help{font-size:11px;color:#a08a6f;margin:11px 2px 25px;line-height:1.8}.search-result-count{color:#9b8367;font-size:12px;margin:0 2px 13px}.search-result-count strong{color:#896244;font-weight:600}.search-results{list-style:none;margin:0;padding:0;display:grid;gap:12px}.search-dish-card{display:flex;align-items:center;gap:13px;padding:13px}.search-dish-photo{width:72px;height:72px;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#f0e5d7;color:#ad9377;flex-shrink:0;display:grid;place-items:center}.search-dish-photo img{height:100%;object-fit:cover}.search-dish-copy{flex:1;min-width:0}.search-dish-copy>p{font-size:10px;color:#a28a6d;margin-bottom:4px}.search-dish-copy h2{font-size:16px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.search-result-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.search-result-tags>span{color:#896244;font-size:11px;line-height:1.5;padding:4px 7px;border-radius:6px;background:#f2e7d5;max-width:100%;overflow-wrap:anywhere}.search-name-match{display:inline-block;font-size:10px;color:#a58e72;margin-top:8px}.search-result-arrow{color:#ad9b82}@media(max-width:359px){.search-dish-card{gap:9px;padding:11px}.search-dish-photo{width:58px;height:58px}.search-dish-copy h2{font-size:14px}}.image-crop-dialog{width:calc(100% - 24px);max-width:460px;max-height:calc(100dvh - 24px);margin:auto;padding:15px;overflow-y:auto;color:var(--color-text);background:#fffdf8;border:1px solid #e4d6c3;border-radius:20px;box-shadow:0 20px 70px #30211533}.image-crop-dialog::backdrop{background:#30211588}.image-crop-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.image-crop-dialog h2{font-size:17px;font-weight:600;display:flex;gap:8px;align-items:center}.image-crop-dialog>p:not(.form-error){color:#9c866c;font-size:12px;line-height:1.7;margin:4px 0 14px}.image-crop-frame{position:relative;width:min(100%,43dvh,350px);aspect-ratio:1;overflow:hidden;margin:0 auto;background:#efe6d9;border:2px solid #fffdf8;border-radius:8px;box-shadow:0 0 0 1px #c7ad88;display:grid;place-items:center;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.image-crop-frame:active{cursor:grabbing}.image-crop-frame img{position:absolute;max-width:none;object-fit:fill;pointer-events:none}.image-crop-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33.1%,#ffffff88 33.1%,#ffffff88 33.5%,transparent 33.5%,transparent 66.4%,#ffffff88 66.4%,#ffffff88 66.8%,transparent 66.8%),linear-gradient(to bottom,transparent 33.1%,#ffffff88 33.1%,#ffffff88 33.5%,transparent 33.5%,transparent 66.4%,#ffffff88 66.4%,#ffffff88 66.8%,transparent 66.8%);box-shadow:inset 0 0 0 1px #fff8}.image-crop-controls{margin-top:14px}.image-crop-controls label{display:flex;align-items:center;gap:9px;color:#967a5b;font-size:11px;white-space:nowrap}.image-crop-controls input[type=range]{border:0;min-height:32px;padding:0;background:transparent;accent-color:#896244;width:100%}.image-crop-position{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:3px}.image-crop-reset{display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;background:transparent;color:#9d8567;font-size:11px;margin:1px auto 0}.image-crop-dialog>footer{display:grid;grid-template-columns:1fr 1.6fr;gap:9px;margin-top:10px}.image-crop-dialog>footer .button{min-height:44px;padding:9px 12px;font-size:13px}.ingredient-help{margin:-4px 0 12px}.ingredient-entry{display:flex;gap:8px}.ingredient-entry input{min-width:0;flex:1}.ingredient-entry .button{padding:10px 15px;flex-shrink:0;min-height:46px}.ingredient-chips,.detail-ingredient-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.ingredient-chips>span,.detail-ingredient-tags>span{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:9px;color:#8b6845;background:#f2e8d8;font-size:12px;max-width:100%;overflow-wrap:anywhere}.ingredient-chips button{padding:0;min-width:27px;height:27px;background:transparent;color:#987b5b;display:grid;place-items:center}.duration-input{position:relative}.duration-input input{padding-right:61px}.duration-input>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:13px;color:#aa9478}.step-fields-heading{display:flex;justify-content:space-between;align-items:center;gap:9px}.step-fields-heading h2{font-size:15px;font-weight:600}.step-fields-heading>span{color:#a99275;font-size:10px}.steps-empty{margin:23px 0}.dish-step-editor{margin-top:17px;padding-top:14px;border-top:1px solid #e9dfcf}.dish-step-editor header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.dish-step-editor h3{font-size:13px;color:#876649;font-weight:600}.step-editor-actions{display:flex;gap:2px}.step-editor-actions .icon-button{width:34px;height:36px}.dish-step-editor textarea{display:block;width:100%;resize:vertical;min-height:96px;border:1px solid #ded3c2;border-radius:12px;background:#fcfaf5;padding:12px;font-size:16px;color:inherit;line-height:1.7}.step-image-button{background:transparent;padding:0;margin-top:5px}.step-image-preview{position:relative;margin-top:12px}.step-image-preview img{aspect-ratio:1;object-fit:cover;border-radius:11px;background:#f2ebdf}.step-image-preview .icon-button{position:absolute;top:7px;right:7px;background:#fffdf8eb;width:34px;height:34px}.add-step-button{width:100%;margin-top:17px;font-size:12px}.detail-duration{display:flex;align-items:center;gap:6px;color:#998167;font-size:12px;margin-top:15px}.detail-order-count{color:#93734e;font-size:12px;margin-top:12px}.detail-order-count strong{color:#7a593b;font-size:15px}.dish-recipe-sections{grid-template-columns:1fr}.dish-step-list{list-style:none;margin:20px 0 0;padding:0}.dish-step-view+.dish-step-view{margin-top:25px;padding-top:23px;border-top:1px solid #e9dfcf}.dish-step-view h3{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#896244}.dish-step-view h3>span{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#f0e3ce;font-size:11px}.dish-step-view p{margin-top:12px;font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.dish-step-view img{margin-top:15px;aspect-ratio:1;object-fit:cover;background:#f3ebdf;border-radius:13px}.ranking-page{max-width:760px}.ranking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:21px 10px}.ranking-summary>div{display:flex;flex-direction:column;align-items:center;gap:8px}.ranking-summary>div+div{border-left:1px solid #e9dfcf}.ranking-summary strong{font-size:25px;font-weight:500;color:#896244}.ranking-summary span{font-size:10px;color:#a08a6e}.ranking-rule{font-size:11px;color:#a18d73;line-height:1.9;margin:15px 2px 23px}.ranking-list{list-style:none;margin:0;padding:0 16px}.ranking-list li+li{border-top:1px solid #e9dfcf}.ranking-row{display:flex;align-items:center;gap:12px;padding:17px 0}.ranking-position{font-size:15px;color:#ab9b87;text-align:center;min-width:16px}.ranking-position.is-top{color:#a07b46;font-weight:650}.ranking-photo{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;background:#f0e5d7;color:#b69a75;border-radius:11px;overflow:hidden}.ranking-photo img{height:100%;object-fit:cover}.ranking-dish-copy{flex:1;min-width:0}.ranking-dish-copy h2{font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.ranking-dish-copy p{font-size:10px;color:#a48f75;margin-top:4px;line-height:1.8}.ranking-count{font-size:11px;color:#a48f75;white-space:nowrap}.ranking-count strong{font-size:21px;color:#896244;font-weight:550}@media(max-width:359px){.ranking-row{gap:8px}.ranking-list{padding:0 12px}.ranking-photo{width:40px;height:40px}}.places-page.restaurant-menu{padding-bottom:12px}.place-avatar{color:#70805e;background:#e7eadb;border-color:#d3dbc5}.places-page .menu-category-button{min-height:45px}.places-page .menu-dishes-pane{padding-top:9px}.place-state-tabs{display:flex;gap:4px;align-items:center;margin:0 0 14px}.place-state-tabs button{position:relative;min-height:27px;padding:5px 10px;font-size:11px;border-radius:9px;color:#a08b70;background:transparent}.place-state-tabs button:before{content:"";position:absolute;inset:-8px 0}.place-state-tabs button[aria-pressed=true]{color:#775636;background:#f1e6d6}.place-state-tabs>span{margin-left:auto;color:#b09a7e;font-size:10px}.places-welcome{font-size:10px;color:#a48f75;line-height:1.85;margin-bottom:17px}.place-list{display:grid;gap:8px}.place-card{display:flex;align-items:center;gap:9px;padding:9px;border-radius:12px;background:#fffdf8;border:1px solid #e9dfd0}.place-photo{width:66px;height:66px;aspect-ratio:1;border-radius:9px;background:#f0e7d9;color:#ad9270;display:grid;place-items:center;overflow:hidden;flex-shrink:0}.place-photo img{height:100%;object-fit:cover}.place-card-copy{flex:1;min-width:0}.place-card-copy header{display:flex;gap:5px;align-items:flex-start}.place-card h3{font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;flex:1}.place-state{font-size:9px;font-weight:400;white-space:nowrap;border-radius:5px;padding:3px 5px;background:#f0e7d9;color:#a18460;flex-shrink:0}.place-state.visited{color:#71835c;background:#ebeedf}.place-address{display:flex;align-items:flex-start;gap:3px;font-size:10px;color:#a7947c;line-height:1.5;margin-top:5px}.place-address>svg{margin-top:2px}.place-address>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.place-recommendations{display:flex;gap:4px;align-items:center;margin-top:5px;flex-wrap:wrap}.place-recommendations>span{font-size:9px;padding:2px 5px;color:#927052;border-radius:4px;background:#f5edde;max-width:110px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.place-recommendations small{font-size:9px;color:#aa977d}.place-category-empty{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:9px 2px;font-size:10px;color:#b7a58b;min-height:43px}.place-category-empty a{color:#9b7850;display:inline-flex;gap:2px;align-items:center;position:relative;padding:4px}.place-category-empty a:before{content:"";position:absolute;inset:-10px -3px}.place-form-page,.place-detail-page{max-width:650px}.place-form-page .page-header,.place-detail-page .page-header{margin-bottom:20px}.place-photo-field>label{font-size:13px;font-weight:550;display:flex;gap:8px;align-items:baseline}.place-photo-field>label small{font-size:10px;font-weight:400;color:#ad9a82}.place-photo-picker{position:relative;margin:11px 0 20px;width:120px;height:120px;aspect-ratio:1;border:1px dashed #d9c7ad;border-radius:14px;color:#ad9676;background:#fbf6ee;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:0;overflow:hidden}.place-photo-picker span{font-size:11px}.place-photo-picker img{height:100%;object-fit:cover}.place-photo-picker.has-photo span{position:absolute;left:0;right:0;bottom:0;padding:7px;background:#fffdf8e6;color:#856244}.place-photo-field>.text-link{min-height:30px;margin:-16px 0 15px;font-size:11px}.place-fields{display:grid;gap:15px;padding:18px;margin:0 0 20px;min-width:0}.place-fields>label{display:grid;gap:8px;font-size:13px;font-weight:550}.place-fields em{display:inline;color:#b09069;font-style:normal}.place-fields label:has(>em){grid-template-columns:max-content 1fr;column-gap:4px}.place-fields label:has(>em) input,.place-fields label:has(>em) select{grid-column:1 / -1}.place-fields input,.place-fields select,.place-fields textarea{min-width:0;width:100%;font-size:16px;font-weight:400}.place-fields textarea{border:1px solid #e3d8c7;border-radius:11px;padding:12px;color:var(--color-text);background:#faf7f1;resize:vertical;line-height:1.7}.place-field-hint{display:flex;gap:4px;align-items:center;font-size:10px;font-weight:400;color:#ae9a7e;margin-top:-8px}.place-visit-options{display:flex;gap:10px}.place-visit-options label{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #e7daca;border-radius:10px;flex:1;font-size:12px;color:#9b8265;cursor:pointer}.place-visit-options label:has(input:checked){background:#f3e7d5;border-color:#c5aa87;color:#856243}.place-visit-options input{width:16px;height:16px;min-height:0;margin:0;accent-color:#896244}.place-save{width:100%}.place-detail-card{border-radius:20px;overflow:hidden}.place-detail-photo{aspect-ratio:1}.place-detail-photo img{height:100%;object-fit:cover}.place-detail-copy{padding:21px}.place-detail-category{display:flex;align-items:center;gap:8px;font-size:11px;color:#a18460}.place-detail-copy h1{font-size:25px;line-height:1.5;margin:10px 0 13px;font-weight:600;overflow-wrap:anywhere}.place-detail-address{display:flex;align-items:flex-start;gap:6px;color:#99836a;font-size:13px;line-height:1.8}.place-detail-address svg{margin-top:4px}.place-detail-address span{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.place-small-button{position:relative;display:inline-flex;gap:5px;align-items:center;min-height:30px;border-radius:8px;padding:5px 9px;font-size:11px;color:#96764f;background:#f4ecdf;margin-top:10px}.place-small-button:before{content:"";position:absolute;inset:-7px 0}.place-visited-date{font-size:10px;color:#b09a7e;margin-top:13px}.place-detail-section{padding-top:19px;margin-top:20px;border-top:1px solid #eee4d5}.place-detail-section h2{font-size:14px;font-weight:550;color:#7f6549;margin-bottom:10px}.place-detail-section p{font-size:12px;color:#9f8a70;line-height:1.9}.place-note{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.place-detail-tags{display:flex;flex-wrap:wrap;gap:6px}.place-detail-tags span{font-size:12px;padding:5px 8px;background:#f4e9d6;color:#96724d;border-radius:7px;overflow-wrap:anywhere}.place-detail-actions{display:flex;gap:7px;align-items:center;margin-top:19px;flex-wrap:wrap}.place-detail-actions .place-small-button{margin:0}.place-detail-actions .icon-button{margin-left:auto;width:36px;height:36px}.place-share{background:#896244;color:#fffdf8}.place-feedback{color:#7a8b62;font-size:11px;display:flex;gap:4px;align-items:center;margin:15px 2px 0}.place-quiet-note{display:flex;gap:5px;justify-content:center;align-items:center;color:#b4a18b;font-size:11px;margin-top:24px}@media(max-width:359px){.place-photo{width:51px;height:51px}.place-card{padding:7px;gap:7px}.place-card h3{font-size:12px}.place-state{padding:2px 3px}.place-detail-copy{padding:18px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#46382d;background:#f8f5ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--color-background: #f8f5ee;--color-surface: #fffdf8;--color-text: #46382d;--color-muted: #8b7d6e;--color-primary: #896244;--color-primary-hover: #725036;--color-primary-soft: #f0e5d7;--color-border: #e9e0d3;--color-sage: #8b9778;--color-danger: #a75847;--radius-card: 20px;--shadow-card: 0 5px 24px #61472e06}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}a{color:inherit;text-decoration:none}button,input,select{color:inherit}button{border:0}h1,h2,h3,p{margin:0}img{display:block;width:100%}svg{flex-shrink:0}:focus-visible{outline:3px solid #a7835c;outline-offset:4px}input:focus-visible,select:focus-visible{outline:2px solid #b59877;outline-offset:0}.app-shell{min-height:100dvh}.app-main{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.page{max-width:920px;margin:0 auto;padding:28px 20px 16px}.button{min-height:48px;border-radius:12px;padding:12px 20px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.4;border:1px solid transparent}.button-primary{color:#fffaf2;background:var(--color-primary);box-shadow:0 4px 10px #89624412}.button-primary:hover{background:var(--color-primary-hover)}.button-secondary{color:var(--color-primary);border-color:#d8c5af;background:var(--color-surface)}.button-secondary:hover{background:#f3eadd}.button-danger{color:#fff;background:var(--color-danger)}.button-danger:hover{background:#8e4839}.icon-button{width:42px;height:42px;flex-shrink:0;padding:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#87725f}.icon-button:hover{background:var(--color-primary-soft)}.icon-button:disabled:hover{background:transparent}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-primary);font-size:13px;font-weight:500;min-height:42px}.text-link:hover{color:var(--color-primary-hover)}.panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 28px}.page-heading{display:flex;align-items:center;gap:7px;min-width:0}.page-header h1{font-size:25px;font-weight:650;letter-spacing:-.7px;line-height:1.4}.page-header p{color:var(--color-muted);font-size:13px;line-height:1.7;margin-top:6px}.back-button{margin-left:-9px;color:var(--color-text)}.section-eyebrow{font-size:10px;letter-spacing:2.5px;color:#a08b73;font-weight:600}.kitchen-hero{position:relative;border-bottom:1px solid var(--color-border);padding:13px 0 29px;margin-bottom:27px}.hero-copy{padding-right:65px}.eyebrow{color:#9b8269;font-size:11px;display:flex;align-items:center;gap:7px;letter-spacing:1px;margin-bottom:13px}.eyebrow-line{width:19px;height:1px;background:#ae9375}.hero-copy h1{font-size:clamp(27px,7.8vw,35px);font-weight:650;letter-spacing:-1px;display:flex;align-items:center;gap:8px;white-space:nowrap}.hero-leaf{color:var(--color-sage);display:flex;transform:rotate(-18deg)}.hero-copy p{font-size:12px;color:var(--color-muted);letter-spacing:.5px;line-height:1.8;margin-top:11px}.kitchen-seal{position:absolute;top:8px;right:0;width:64px;height:80px;border:1px solid #d8c5aa;border-radius:32px 32px 16px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#ae8e6b;background:#f1e9dc50}.kitchen-seal span{font-size:9px;letter-spacing:1px}.unlocked-badge{margin-top:21px;display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid #e2d7c6;border-radius:8px;background:#f2ece1;font-size:11px;color:#8b7159}.badge-dot{width:5px;height:5px;background:var(--color-sage);border-radius:50%;margin-right:3px}.unlocked-badge strong{color:#624c39;font-size:13px}.menu-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.menu-section-heading h2{font-size:21px;margin-top:6px;letter-spacing:.5px;font-weight:600}.empty-state{padding:38px 18px 43px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);text-align:center;box-shadow:var(--shadow-card)}.menu-illustration{display:block;width:224px;max-width:85%;height:auto;margin:0 auto 17px}.empty-state h2{font-size:19px;font-weight:600;letter-spacing:.4px;line-height:1.5}.empty-state>p{font-size:12px;color:var(--color-muted);line-height:1.9;margin:10px auto 0;max-width:310px}.empty-actions{display:flex;justify-content:center;gap:10px;margin-top:27px;flex-wrap:wrap}.empty-actions .button{font-size:13px;min-height:46px;padding:11px 17px}.empty-state.is-compact{padding:28px 17px 31px}.is-compact .menu-illustration{width:174px}.is-compact h2{font-size:17px}.empty-icon{width:88px;height:88px;border-radius:28px;display:flex;align-items:center;justify-content:center;color:#a58b6d;background:#f2ebde;margin:7px auto 28px}.is-compact .empty-icon{width:72px;height:72px;margin-bottom:22px;border-radius:23px}.menu-footnote{text-align:center;font-size:11px;color:#a39886;margin:27px 0 0;display:flex;justify-content:center;gap:6px;align-items:center;letter-spacing:1px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;padding-bottom:env(safe-area-inset-bottom);background:#fffdf8f5;border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav-inner{max-width:600px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 12px 8px}.nav-item{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;padding:2px 0;min-height:49px;color:#a19382;font-size:10px;letter-spacing:.5px;font-weight:500}.nav-icon{width:45px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:11px}.nav-item.is-active{color:#865f40;font-weight:600}.nav-item.is-active .nav-icon{background:#f0e5d7}.menu-toolbar{margin:0 0 20px;display:flex;align-items:flex-start;flex-direction:column;gap:17px}.category-tabs{display:flex;gap:8px;width:100%;overflow-x:auto;padding:4px 2px 7px;scrollbar-width:thin;scrollbar-color:#d9c9b3 transparent}.category-tab{background:transparent;border:1px solid #dfd5c6;border-radius:10px;padding:9px 15px;min-height:41px;color:#8d7963;flex-shrink:0;font-size:13px;display:flex;gap:7px;align-items:center}.category-tab span{font-size:11px;opacity:.8}.category-tab.is-active{background:#896244;border-color:#896244;color:#fff9ef}.add-dish-button{align-self:flex-end;min-height:41px;padding:9px 14px;font-size:12px}.dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dish-card{border-radius:16px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.dish-card-photo{aspect-ratio:1;background:#efe4d5;color:#a89074;display:flex;align-items:center;justify-content:center;overflow:hidden}.dish-card-photo img{height:100%;object-fit:cover}.dish-card-body{padding:13px 13px 12px}.dish-category{font-size:10px;color:#a78b69}.dish-card h3{margin-top:6px;font-weight:600;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.dish-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid #eee6da;color:#a09382;font-size:10px}.profile-card{text-align:center;padding:31px 23px 0;border:1px solid var(--color-border);border-radius:22px;background:linear-gradient(145deg,#faf3e7,#fffdf8);overflow:hidden}.profile-avatar{height:83px;width:83px;border:1px solid #d9c7ad;border-radius:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#9c7957;background:#f1e5d3}.profile-card h2{font-size:25px;font-weight:600;margin-top:12px}.profile-card>p{color:var(--color-muted);font-size:12px;margin:10px 0 27px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e9dfcf;padding:23px 0}.profile-stats>div{display:flex;flex-direction:column;gap:6px}.profile-stats>div+div{border-left:1px solid #e9dfcf}.profile-stats strong{font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:400;color:#835f3f}.profile-stats span{font-size:11px;color:#99836d}.settings-section{margin-top:27px}.small-section-heading{font-size:15px;font-weight:600;margin-bottom:13px}.settings-list{border:1px solid var(--color-border);border-radius:18px;overflow:hidden;background:var(--color-surface)}.settings-row{display:flex;align-items:center;gap:15px;padding:20px 17px}.settings-row+.settings-row{border-top:1px solid var(--color-border)}.settings-row>svg{margin-left:auto;color:#ab9882}.settings-row h3{font-size:15px;font-weight:550}.settings-row p{font-size:11px;margin-top:7px;color:var(--color-muted)}.setting-icon{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:13px;color:#9e7b55;background:#f5eddf;flex-shrink:0}.local-note{display:flex;justify-content:center;gap:9px;color:#8e9980;margin-top:32px}.local-note strong{font-size:11px;font-weight:500}.local-note p{font-size:10px;color:#a19380;margin-top:5px;line-height:1.7}.placeholder-page .empty-state{margin-top:46px;padding:48px 20px}.coming-soon{font-size:11px;color:#a58c71;border:1px solid #e4d7c5;border-radius:6px;padding:7px 11px;background:#f6f0e5}.category-create{padding:20px}.category-create label{font-size:14px;font-weight:550;display:block;margin-bottom:13px}.inline-input{display:flex;gap:9px}input,select{background:#fbf8f2;border:1px solid #e1d7c7;border-radius:10px;min-height:48px;font-size:14px;padding:12px 13px;width:100%;min-width:0}input::placeholder{color:#b0a28f}.inline-input .button{padding:11px 16px;flex-shrink:0}.list-section-heading{margin:28px 0 14px}.list-section-heading h2{font-size:15px;font-weight:550}.list-section-heading h2 span{margin-left:6px;font-size:12px;color:#aa9377;background:#efe5d7;border-radius:5px;padding:3px 6px;font-weight:500}.list-section-heading p{color:#9d8c77;font-size:11px;margin-top:8px;line-height:1.7}.category-list{padding:0 15px}.category-row{display:flex;align-items:center;padding:17px 0;gap:12px}.category-row+.category-row{border-top:1px solid #eee5d8}.category-number{height:38px;width:38px;flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:12px;font-family:Georgia,Times New Roman,serif;font-size:15px;color:#a28a6c;background:#f5eddf}.category-row-copy{flex:1;min-width:0}.category-row h3{font-size:14px;font-weight:550;overflow-wrap:anywhere}.category-row p{font-size:11px;color:#a59178;margin-top:6px}.row-actions{display:flex;gap:0;margin-right:-7px;flex-shrink:0}.row-actions .icon-button{width:36px;height:42px}.delete-icon{color:#ad8274}.helper-note{color:#a39481;font-size:11px;line-height:1.9;margin-top:17px;padding:0 3px}.form-error{color:#a35040;background:#f9eee8;border:1px solid #ecd3c7;border-radius:10px;font-size:12px;padding:12px;margin:15px 0;line-height:1.8;display:flex;align-items:flex-start;gap:8px;overflow-wrap:anywhere}.form-error svg{margin-top:2px}.compact-button{padding:10px 13px;min-height:43px;font-size:12px}.managed-dish-list{padding:0 15px}.managed-dish-row{display:flex;align-items:center;gap:8px;padding:16px 0}.managed-dish-row+.managed-dish-row{border-top:1px solid #eee5d8}.managed-dish-link{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.dish-thumbnail{width:61px;height:61px;border-radius:13px;background:#f0e7d9;overflow:hidden;color:#a28d71;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dish-thumbnail img{height:100%;object-fit:cover}.managed-dish-copy{min-width:0}.managed-dish-copy h3{font-size:14px;font-weight:550;overflow-wrap:anywhere}.managed-dish-copy p{font-size:10px;color:#a18c73;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}.detail-topbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.detail-back{display:flex;gap:7px;align-items:center;min-height:42px;color:#897158;font-size:13px}.dish-detail{border-radius:22px;border:1px solid var(--color-border);background:var(--color-surface);overflow:hidden}.detail-image{aspect-ratio:1;width:100%;background:#eadcc8}.detail-image img{height:100%;object-fit:cover}.detail-copy{padding:25px 23px 22px}.detail-category{color:#998260;font-size:11px;display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:6px;background:#f3eddf}.detail-category svg{color:#8d987c}.detail-copy h1{font-size:28px;line-height:1.45;font-weight:600;margin-top:13px;overflow-wrap:anywhere}.cooking-count{display:flex;align-items:center;justify-content:space-between;padding-top:20px;margin-top:19px;border-top:1px solid var(--color-border)}.cooking-count>span{display:flex;gap:8px;align-items:center;color:#9c886d;font-size:12px}.cooking-count strong{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;color:#8b6949}.cooking-count small{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:11px;margin-left:5px;font-weight:400}.detail-sections{display:grid;gap:14px;margin-top:21px}.detail-section{padding:21px 23px}.detail-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.detail-section h2{font-size:15px;font-weight:550}.detail-section-heading span{color:#ad9b83;font-size:10px}.detail-placeholder{color:#b0a18b;padding:25px 0 7px;font-size:12px}.detail-return{display:flex;justify-content:center;gap:5px;color:#a0896d;align-items:center;font-size:12px;margin-top:27px;min-height:36px}.dish-form{max-width:600px;margin:0 auto}.field label,.field-label{font-size:14px;font-weight:550;display:block;margin-bottom:12px}.required-mark{color:#ad8663;margin-left:5px;font-size:12px}.photo-upload{min-height:0;aspect-ratio:1;width:100%;border-radius:19px;border:1px dashed #cfbaa0;background:#f3ebde;position:relative;overflow:hidden;display:flex!important;flex-direction:column;align-items:center;justify-content:center;color:#a08768;cursor:pointer;margin-bottom:0!important}.photo-upload-icon{width:63px;height:63px;border-radius:20px;background:#eaddc8;margin-bottom:17px;display:flex;align-items:center;justify-content:center}.photo-upload strong{font-size:14px;font-weight:500}.photo-upload>span:not(.change-photo):not(.image-processing){font-size:11px;font-weight:400;margin-top:8px;color:#b09a7d}.photo-upload.has-photo{border-style:solid;background:#eadcc8}.photo-upload img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.change-photo{position:absolute;right:12px;bottom:12px;background:#fffaf1eb;color:#765b40;border-radius:8px;padding:8px 12px;display:flex;gap:6px;font-size:11px;align-items:center;font-weight:500}.photo-upload.is-disabled{cursor:default}.image-processing{position:absolute;inset:0;background:#fff9efdf;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#8c6e4c}.field-hint{margin-top:9px;color:#aa9881;font-size:11px;font-weight:400;line-height:1.7}.form-fields{padding:23px 20px;margin-top:23px}.form-fields .field+.field{margin-top:24px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23a58d70' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:38px}.field-create-category{display:flex;align-items:center;gap:4px;color:#9a7955;font-size:11px;min-height:36px;width:fit-content;margin-top:5px}.save-dish-button{width:100%;margin-top:23px;min-height:51px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-card{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;min-height:280px;padding:30px 20px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-surface);color:#9a7c5b;text-align:center}.status-card h2{color:var(--color-text);font-size:18px;font-weight:550}.status-card p{font-size:12px;color:var(--color-muted);line-height:1.8;max-width:350px}.status-card .button{margin-top:5px}.loading-icon{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog-overlay{position:fixed;inset:0;background:#30211566;display:flex;align-items:center;justify-content:center;padding:22px;z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog{position:relative;width:100%;max-width:420px;max-height:calc(100dvh - 44px);overflow-y:auto;background:#fffdf8;border:1px solid #e5d7c5;border-radius:22px;padding:28px 23px 23px;box-shadow:0 20px 80px #24170b33}.dialog-close{position:absolute;right:12px;top:10px}.dialog-symbol{width:49px;height:49px;border-radius:15px;background:#f6e8dd;color:#ac7962;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.confirm-dialog h2{font-size:20px;font-weight:600;padding-right:15px;overflow-wrap:anywhere;line-height:1.5}.confirm-dialog>p:not(.form-error){margin-top:11px;font-size:12px;color:#9d8972;line-height:1.9}.dialog-actions{display:flex;gap:10px;margin-top:26px}.dialog-actions .button{flex:1}@media(min-width:600px){.page{padding:43px 30px 23px}.kitchen-hero{padding:15px 0 31px}.hero-copy{padding-right:120px}.hero-copy h1{font-size:38px}.hero-copy p{font-size:14px}.eyebrow{font-size:12px;margin-bottom:17px}.kitchen-seal{top:10px;width:83px;height:101px;border-radius:43px 43px 20px 20px}.kitchen-seal>svg{width:42px;height:42px}.kitchen-seal span{font-size:10px}.unlocked-badge{margin-top:23px;font-size:12px;padding:8px 14px}.menu-section-heading{margin-bottom:22px}.menu-section-heading h2{font-size:23px}.empty-state{padding:45px 25px 48px}.menu-illustration{width:246px;margin-bottom:22px}.empty-state h2{font-size:22px}.empty-state>p{font-size:13px;margin-top:12px}.empty-actions{margin-top:28px;gap:12px}.empty-actions .button{min-height:48px;font-size:14px;padding:12px 22px}.menu-toolbar{flex-direction:row;align-items:center;gap:18px}.category-tabs{flex:1;width:0}.add-dish-button{align-self:auto;flex-shrink:0}.dish-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dish-card-body{padding:17px 17px 14px}.dish-card h3{font-size:17px}.dish-category,.dish-card-footer{font-size:11px}.page-header h1{font-size:28px}.my-page{max-width:680px}.profile-card{padding-top:38px}.profile-card h2{font-size:28px}.settings-row{padding:23px}.management-page,.dish-form-page{max-width:780px}.category-list{padding:0 23px}.category-row{padding:19px 0;gap:18px}.category-row h3{font-size:16px}.row-actions{gap:5px;margin-right:0}.row-actions .icon-button{width:42px}.managed-dish-list{padding:0 22px}.managed-dish-row{padding:20px 0}.managed-dish-link{gap:18px}.dish-thumbnail{width:76px;height:76px}.managed-dish-copy h3{font-size:16px}.managed-dish-copy p{font-size:12px}.dish-detail{display:grid;grid-template-columns:1.15fr 1fr}.detail-image{aspect-ratio:1;height:auto;align-self:start}.detail-copy{display:flex;flex-direction:column;align-items:flex-start;padding:32px;justify-content:center}.detail-copy h1{font-size:30px}.cooking-count{width:100%;margin-top:30px}.detail-sections{grid-template-columns:1fr 1fr;gap:20px;margin-top:23px}.detail-section{padding:25px}.placeholder-page{max-width:700px}.placeholder-page .empty-state{padding:60px 25px}.form-fields{padding:26px}.photo-upload{aspect-ratio:1}}@media(max-width:359px){.page{padding-right:15px;padding-left:15px}.hero-copy h1{font-size:26px;gap:5px}.hero-leaf svg{width:18px}.kitchen-seal{width:55px;height:72px}.hero-copy p{font-size:11px}.empty-actions{gap:8px}.empty-actions .button{padding:11px 13px;font-size:12px}.category-list{padding:0 11px}.category-row{gap:8px}.category-number{width:30px;height:34px}.category-row .row-actions .icon-button{width:32px}.page-header h1{font-size:23px}.managed-dish-list{padding:0 11px}.dish-thumbnail{width:52px;height:52px}.managed-dish-link{gap:9px}}@media(prefers-reduced-motion:reduce){.loading-icon{animation:none}}.pwa-update-notice{position:fixed;z-index:100;left:50%;bottom:calc(85px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(430px,calc(100% - 28px));padding:18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;box-shadow:0 8px 28px #46382d26}.pwa-update-notice strong{font-size:16px}.pwa-update-notice p{margin:8px 0 14px;font-size:13px;line-height:1.6;color:var(--color-muted)}.pwa-update-notice>div{display:flex;gap:10px}.pwa-update-notice .button{flex:1}.app-update-button{width:100%;border:0;text-align:left;color:inherit;background:transparent;cursor:pointer}.app-update-button:disabled{cursor:wait;opacity:.7}.app-update-help{margin:10px 3px 0;color:var(--color-muted);font-size:12px;line-height:1.7}
