.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;height:60px;background:var(--bg-color);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom,0);z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--hint-color);padding:4px 12px;border-radius:12px;transition:all .2s ease;gap:2px}.nav-item.active{color:var(--button-color)}.nav-item.active .nav-icon{transform:scale(1.15)}.nav-icon{font-size:22px;transition:transform .2s ease}.nav-label{font-size:10px;font-weight:500;letter-spacing:.2px}.nutrition-badge{display:flex;gap:6px;flex-wrap:wrap}.nutrition-item{display:flex;flex-direction:column;align-items:center;padding:4px 8px;border-radius:8px;min-width:50px;background:var(--secondary-bg)}.nutrition-item.kcal{border-left:3px solid #ff6b6b}.nutrition-item.protein{border-left:3px solid #51cf66}.nutrition-item.fat{border-left:3px solid #ffd43b}.nutrition-item.carbs{border-left:3px solid #339af0}.nutrition-value{font-size:13px;font-weight:600;color:var(--text-color)}.nutrition-label{font-size:10px;color:var(--hint-color);text-transform:uppercase;letter-spacing:.3px}.recipes-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recipes-page h1{font-size:22px;margin:0}.search-input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:12px;background:var(--secondary-bg);color:var(--text-color);font-size:14px;margin-bottom:16px;outline:none;transition:border-color .2s;box-sizing:border-box}.search-input:focus{border-color:var(--button-color)}.recipes-list{display:flex;flex-direction:column;gap:12px}.recipe-card{background:var(--secondary-bg);border-radius:16px;padding:14px;cursor:pointer;transition:transform .15s,box-shadow .15s}.recipe-card:active{transform:scale(.98)}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start}.recipe-name{font-size:16px;font-weight:600;margin:0 0 4px}.recipe-description{font-size:13px;color:var(--hint-color);margin:0 0 8px;line-height:1.3}.recipe-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.recipe-servings{font-size:12px;color:var(--hint-color)}.recipe-tags{display:flex;gap:4px;flex-wrap:wrap}.tag{background:var(--button-color);color:var(--button-text-color);padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.add-recipe-page .tabs{display:flex;gap:8px;margin-bottom:16px}.tab{flex:1;padding:10px;border:1px solid var(--border-color);border-radius:12px;background:var(--secondary-bg);color:var(--text-color);font-size:14px;cursor:pointer;transition:all .2s}.tab.active{background:var(--button-color);color:var(--button-text-color);border-color:var(--button-color)}.error-msg{background:#ff6b6b20;color:#ff6b6b;padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:13px}.ai-section,.manual-section{display:flex;flex-direction:column;gap:4px}.file-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:2px dashed var(--border-color);border-radius:12px;cursor:pointer;transition:border-color .2s;gap:8px;color:var(--hint-color);font-size:13px}.file-upload-zone:hover{border-color:var(--button-color)}.upload-icon{font-size:32px}.ingredient-row{display:grid;grid-template-columns:1fr 60px 70px 1fr 30px;gap:6px;margin-bottom:6px;align-items:center}.ing-name,.ing-amount{font-size:13px}.ing-unit,.ing-cat{font-size:12px}.step-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:6px}.step-number{font-weight:600;color:var(--button-color);margin-top:10px;min-width:20px}.step-input{flex:1}.servings-control{display:flex;align-items:center;gap:16px}.servings-value{font-size:20px;font-weight:600;min-width:30px;text-align:center}.nutrition-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.small-label{font-size:11px;color:var(--hint-color);margin-bottom:2px;display:block}.small-input{font-size:13px;padding:6px 8px!important}.btn-save{margin-top:16px;padding:14px;font-size:16px}.loading-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200}.spinner{width:40px;height:40px;border:4px solid var(--secondary-bg);border-top-color:var(--button-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.recipe-detail-page h1{font-size:22px;margin:8px 0}.detail-description{color:var(--hint-color);font-size:14px;margin:0 0 12px;line-height:1.4}.detail-meta{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap;font-size:13px;color:var(--hint-color)}.detail-section{margin-top:20px}.detail-section h2{font-size:17px;margin:0 0 10px}.ingredients-list{list-style:none;padding:0;margin:0}.ingredient-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:14px}.ingredient-icon{font-size:18px}.ingredient-name{flex:1}.ingredient-amount{color:var(--hint-color);font-size:13px;white-space:nowrap}.steps-list{padding-left:20px;margin:0}.step-item{padding:6px 0;font-size:14px;line-height:1.5}.source-link{display:inline-block;margin-top:16px;color:var(--link-color);text-decoration:none;font-size:14px}.planner-page h1{font-size:22px;margin:0 0 12px}.day-selector{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px;-webkit-overflow-scrolling:touch}.day-btn{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border:1px solid var(--border-color);border-radius:12px;background:var(--secondary-bg);color:var(--text-color);cursor:pointer;min-width:50px;transition:all .2s}.day-btn.active{background:var(--button-color);color:var(--button-text-color);border-color:var(--button-color)}.day-name{font-weight:600;font-size:13px}.day-date{font-size:11px;opacity:.7}.meal-slots{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.meal-slot{background:var(--secondary-bg);border-radius:14px;padding:12px}.meal-slot-header{font-size:14px;font-weight:600;margin-bottom:8px}.meal-filled{display:flex;align-items:center;justify-content:space-between}.meal-info{display:flex;flex-direction:column;gap:4px}.meal-recipe-name{font-size:14px;font-weight:500}.meal-servings{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--hint-color)}.btn-round-sm{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-add-meal{width:100%;padding:10px;border:2px dashed var(--border-color);border-radius:10px;background:transparent;color:var(--hint-color);font-size:13px;cursor:pointer;transition:border-color .2s}.btn-add-meal:hover{border-color:var(--button-color);color:var(--button-color)}.day-nutrition{margin-bottom:16px}.day-nutrition h3{font-size:14px;margin:0 0 8px}.btn-generate{width:100%;padding:14px;font-size:15px;margin-bottom:20px}.btn-remove{color:#ff6b6b}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fadeIn .2s ease}.modal-content{background:var(--bg-color);border-radius:20px 20px 0 0;width:100%;max-height:70vh;overflow-y:auto;padding:20px;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-header h3{margin:0;font-size:18px}.picker-list{display:flex;flex-direction:column;gap:6px}.picker-item{display:flex;flex-direction:column;align-items:flex-start;padding:12px;border:1px solid var(--border-color);border-radius:12px;background:var(--secondary-bg);cursor:pointer;transition:all .15s;width:100%;text-align:left;color:var(--text-color)}.picker-item:active{transform:scale(.98)}.picker-name{font-weight:500;font-size:14px}.picker-meta{font-size:12px;color:var(--hint-color);margin-top:2px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.inventory-page h1{font-size:22px;margin:0 0 12px}.inventory-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.btn-tool{padding:8px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--secondary-bg);color:var(--text-color);font-size:12px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.btn-tool:hover{border-color:var(--button-color)}.btn-add-tool{background:var(--button-color);color:var(--button-text-color);border-color:var(--button-color)}.add-form{background:var(--secondary-bg);border-radius:14px;padding:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px;animation:fadeIn .2s ease}.add-row{display:grid;grid-template-columns:80px 80px 1fr;gap:6px}.category-group{margin-bottom:16px}.category-title{font-size:14px;font-weight:600;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.inventory-item{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid var(--border-color)}.item-name{flex:1;font-size:14px}.item-amount{font-size:13px;color:var(--hint-color);white-space:nowrap}.btn-delete-sm{color:#ff6b6b;font-size:14px}.shopping-page h1{font-size:22px;margin:0 0 12px}.shopping-progress{display:flex;align-items:center;gap:12px;margin-bottom:12px}.progress-bar{flex:1;height:8px;background:var(--secondary-bg);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#51cf66,#37b24d);border-radius:4px;transition:width .3s ease}.progress-text{font-size:13px;color:var(--hint-color);white-space:nowrap}.shopping-actions{display:flex;gap:6px;margin-bottom:16px}.shop-category-group{margin-bottom:14px}.shop-category-title{font-size:14px;font-weight:600;margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.shopping-item{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:opacity .2s}.shopping-item.checked{opacity:.5}.shopping-item.checked .shop-item-name{text-decoration:line-through}.check-box{font-size:18px}.shop-item-name{flex:1;font-size:14px}.shop-item-amount{font-size:13px;color:var(--hint-color);white-space:nowrap}.settings-page h1{font-size:22px;margin:0 0 16px}.settings-section{background:var(--secondary-bg);border-radius:14px;padding:16px;margin-bottom:14px}.settings-section h2{font-size:16px;margin:0 0 8px}.settings-hint{font-size:13px;color:var(--hint-color);margin:0 0 10px;line-height:1.4}.settings-hint a{color:var(--link-color)}.api-key-row{display:flex;gap:8px}.api-key-row .input{flex:1}.api-key-row .btn-primary{padding:8px 16px}.settings-warning{font-size:11px;color:#ffa94d;margin:8px 0 0}.data-actions{display:flex;flex-direction:column;gap:8px}.settings-message{text-align:center;padding:10px;background:var(--secondary-bg);border-radius:10px;font-size:14px;margin-bottom:14px;animation:fadeIn .2s ease}.version-info{text-align:center;padding:20px 0;color:var(--hint-color);font-size:12px}.version-info p{margin:2px 0}:root{--bg-color: var(--tg-theme-bg-color, #1a1a2e);--text-color: var(--tg-theme-text-color, #e8e8e8);--hint-color: var(--tg-theme-hint-color, #8b8b9e);--link-color: var(--tg-theme-link-color, #6c9ef8);--button-color: var(--tg-theme-button-color, #6c9ef8);--button-text-color: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #252540);--border-color: rgba(255, 255, 255, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg-color);color:var(--text-color);line-height:1.5;overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;padding-bottom:70px;overflow-y:auto}.page{padding:16px;max-width:600px;margin:0 auto;animation:pageIn .25s ease}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.input{padding:10px 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color);color:var(--text-color);font-size:14px;outline:none;transition:border-color .2s;width:100%}.input:focus{border-color:var(--button-color)}.textarea{resize:vertical;min-height:60px}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238b8b9e' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.btn-primary{padding:10px 20px;border:none;border-radius:12px;background:var(--button-color);color:var(--button-text-color);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.btn-primary:active{transform:scale(.97);opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:8px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--secondary-bg);color:var(--text-color);font-size:13px;cursor:pointer;transition:all .2s;text-align:center}.btn-secondary:active{transform:scale(.97)}.btn-back{background:none;border:none;color:var(--link-color);font-size:14px;cursor:pointer;padding:4px 0;font-weight:500}.btn-icon{background:none;border:none;padding:4px;cursor:pointer;font-size:16px;opacity:.6;transition:opacity .2s}.btn-icon:hover{opacity:1}.btn-round{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--secondary-bg);color:var(--text-color);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-round:active{transform:scale(.9)}.btn-add{padding:8px 16px;font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:16px;font-weight:500;margin:0}.empty-hint{font-size:13px!important;color:var(--hint-color);font-weight:400!important;margin-top:4px!important}.loading{text-align:center;padding:40px;color:var(--hint-color);font-size:14px}.form-group{margin-bottom:16px}.form-group>label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text-color)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--hint-color);border-radius:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
