.restaurant-menu.page{padding:0 0 80px;max-width:760px}.menu-cover{height:176px;background:#e8decb url(../kitchen-cover.svg) center / cover;position:relative}.menu-cover>span{position:absolute;top:23px;left:23px;color:#7e715e;font-size:10px;letter-spacing:3px}.menu-sheet{position:relative;margin-top:-22px;border-radius:24px 24px 0 0;background:#fffdf8;min-height:calc(100dvh - 245px);overflow:clip}.menu-identity{display:flex;align-items:center;gap:13px;padding:19px 18px 14px}.menu-avatar{width:66px;height:66px;border-radius:17px;flex-shrink:0;display:grid;place-items:center;color:#8b6748;background:#eddfc5;border:1px solid #e3cfad}.menu-identity-copy{min-width:0}.menu-identity h1{font-size:clamp(21px,5.7vw,27px);line-height:1.4;font-weight:650;letter-spacing:-.7px}.menu-identity p{margin-top:7px;color:#94816a;font-size:13px}.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 14px 0 18px;border-bottom:1px solid #eee7dc;min-height:55px}.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:7px;min-width:0}.menu-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #d9c5ac;color:#896244;background:transparent;border-radius:22px;padding:8px 10px;font-size:12px;min-height:38px;white-space:nowrap}.menu-pill-add{background:#896244;border-color:#896244;color:#fffdf8}.menu-search-button{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:39px;background:#fffdf8;padding:8px 10px;font-size:13px}.menu-browser{display:grid;grid-template-columns:103px minmax(0,1fr);min-height:calc(100dvh - 395px)}.menu-category-rail{background:#f5f2ec;border-right:1px solid #eee7dc;padding-bottom:24px;min-width:0}.menu-category-buttons{display:flex;flex-direction:column}.menu-category-button{position:relative;width:100%;min-height:66px;background:transparent;color:#93816c;font-size:13px;padding:16px 10px;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:18px;bottom:18px;width:4px;border-radius:0 3px 3px 0;background:#896244}.menu-category-manage{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;min-height:55px;color:#9a7e5c;padding:13px 7px;margin-top:12px;border-top:1px solid #eae2d7}.menu-dishes-pane{min-width:0;padding:18px 13px 30px}.menu-category-title{font-size:14px;line-height:1.6;font-weight:550;margin-bottom:15px;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:12px}.restaurant-menu .dish-card{display:flex;padding:9px;border-radius:13px;box-shadow:none;align-items:center;gap:7px}.dish-card-detail{display:flex;min-width:0;flex:1;align-items:flex-start;gap:10px}.restaurant-menu .dish-card-photo{width:64px;height:76px;aspect-ratio:auto;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:3px}.restaurant-menu .dish-card-footer{border-top:0;padding-top:0;margin-top:12px;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:38px;height:38px;border-radius:50%;background:#896244;color:#fffdf8;display:grid;place-items:center;padding:0}.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:15px;background:transparent;padding:11px 17px;flex:1;min-width:0;text-align:left;color:#6e5139;font-size:15px}.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:24px}.menu-cover{height:222px;border-radius:22px 22px 0 0}.menu-identity{padding:24px}.menu-avatar{width:76px;height:76px}.menu-action-bar{padding-left:24px;padding-right:24px}.menu-browser{grid-template-columns:150px minmax(0,1fr)}.menu-category-button{font-size:14px}.menu-dishes-pane{padding:22px}.menu-dish-list{grid-template-columns:1fr}.restaurant-menu .dish-card-photo{width:86px;height:86px}.menu-pill{font-size:13px;padding:8px 14px}}@media(max-width:359px){.menu-identity{padding:16px 13px 12px;gap:10px}.menu-avatar{width:58px;height:58px}.menu-action-bar{padding-left:13px;padding-right:10px}.menu-actions{gap:5px}.menu-pill{padding:8px;font-size:11px}.menu-search-button span{display:none}.menu-browser{grid-template-columns:87px minmax(0,1fr)}.menu-dishes-pane{padding:16px 10px 25px}.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:50px;height:65px}.dish-add-button{width:32px;height:36px}.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}@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}.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{max-height:290px;object-fit:contain;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;max-height:440px;object-fit:contain;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:44px}}: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.13;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.25;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:200px;aspect-ratio:1.65;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:100%;min-height:300px}.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.7}}@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}
