: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}}
