*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;background-color:#f5f5f5}.home[data-v-fba903a3]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.container[data-v-fba903a3]{max-width:800px;width:100%;padding:2rem}.hero[data-v-fba903a3]{text-align:center;color:#fff}.title[data-v-fba903a3]{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.subtitle[data-v-fba903a3]{font-size:1.25rem;margin-bottom:2rem;opacity:.9;line-height:1.6}.search-button[data-v-fba903a3]{display:inline-block;padding:1rem 3rem;background-color:#fff;color:#667eea;text-decoration:none;border-radius:50px;font-size:1.125rem;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0003}.search-button[data-v-fba903a3]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.search-button[data-v-fba903a3]:active{transform:translateY(0)}@media (max-width: 768px){.title[data-v-fba903a3]{font-size:2rem}.subtitle[data-v-fba903a3]{font-size:1rem}.search-button[data-v-fba903a3]{padding:.875rem 2rem;font-size:1rem}}.search-view[data-v-a51b110e]{min-height:100vh;background-color:#f5f5f5;padding:2rem 0}.container[data-v-a51b110e]{max-width:1400px;margin:0 auto;padding:0 1.5rem}.header[data-v-a51b110e]{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.page-title[data-v-a51b110e]{font-size:2rem;font-weight:700;color:#333}.back-link[data-v-a51b110e]{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s}.back-link[data-v-a51b110e]:hover{color:#764ba2}.content[data-v-a51b110e]{display:grid;grid-template-columns:350px 1fr;gap:2rem}.ingredients-panel[data-v-a51b110e]{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:fit-content;position:sticky;top:2rem}.panel-title[data-v-a51b110e]{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;color:#333;border-bottom:2px solid #667eea;padding-bottom:.5rem}.ingredients-container[data-v-a51b110e]{max-height:500px;overflow-y:auto;margin-bottom:1.5rem}.ingredients-checkbox-list[data-v-a51b110e]{display:flex;flex-direction:column;gap:.5rem}.ingredient-item[data-v-a51b110e]{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.ingredient-item[data-v-a51b110e]:hover{background-color:#f8f9fa}.ingredient-item.selected[data-v-a51b110e]{background-color:#e8f0fe;border-color:#667eea}.ingredient-item input[type=checkbox][data-v-a51b110e]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.ingredient-name[data-v-a51b110e]{flex:1;font-size:.95rem;color:#333}.search-button[data-v-a51b110e]{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #667eea4d}.search-button[data-v-a51b110e]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.search-button[data-v-a51b110e]:disabled{opacity:.6;cursor:not-allowed}.selected-info[data-v-a51b110e]{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.selected-count[data-v-a51b110e]{font-size:.875rem;color:#666;text-align:center}.recipes-panel[data-v-a51b110e]{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.recipes-grid[data-v-a51b110e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.recipe-card[data-v-a51b110e]{display:block;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s;border:1px solid #e0e0e0;text-decoration:none;color:inherit;cursor:pointer}.recipe-card[data-v-a51b110e]:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.recipe-image-wrapper[data-v-a51b110e]{width:100%;height:200px;overflow:hidden;background-color:#f0f0f0;position:relative}.recipe-image[data-v-a51b110e]{width:100%;height:100%;object-fit:cover}.recipe-image-placeholder[data-v-a51b110e]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#999;font-size:.875rem;background-color:#f5f5f5}.recipe-content[data-v-a51b110e]{padding:1rem}.recipe-title[data-v-a51b110e]{font-size:1.125rem;font-weight:700;margin-bottom:.5rem;color:#333;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-main-ingredients[data-v-a51b110e]{font-size:.875rem;color:#666;margin-bottom:.75rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-footer[data-v-a51b110e]{display:flex;justify-content:space-between;align-items:center}.recipe-category[data-v-a51b110e]{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;color:#fff}.category-rice[data-v-a51b110e]{background-color:#f59e0b}.category-noodles[data-v-a51b110e]{background-color:#3b82f6}.category-soup[data-v-a51b110e]{background-color:#10b981}.category-meat_vegetable[data-v-a51b110e]{background-color:#ef4444}.category-fish[data-v-a51b110e]{background-color:#06b6d4}.loading[data-v-a51b110e],.error[data-v-a51b110e],.no-results[data-v-a51b110e],.empty-state[data-v-a51b110e],.empty[data-v-a51b110e]{text-align:center;padding:3rem 1rem;color:#666}.error[data-v-a51b110e]{color:#ef4444}.hint[data-v-a51b110e]{font-size:.875rem;color:#999;margin-top:.5rem}@media (max-width: 1024px){.content[data-v-a51b110e]{grid-template-columns:300px 1fr}}@media (max-width: 768px){.content[data-v-a51b110e]{grid-template-columns:1fr}.ingredients-panel[data-v-a51b110e]{position:static}.header[data-v-a51b110e]{flex-direction:column;align-items:flex-start;gap:1rem}.recipes-grid[data-v-a51b110e]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 480px){.recipes-grid[data-v-a51b110e]{grid-template-columns:1fr}}.recipe-detail-view[data-v-52c2cee8]{min-height:100vh;background-color:#f5f5f5;padding:2rem 0}.container[data-v-52c2cee8]{max-width:1200px;margin:0 auto;padding:0 1rem}.loading-container[data-v-52c2cee8]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner[data-v-52c2cee8]{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin-52c2cee8 1s linear infinite}@keyframes spin-52c2cee8{to{transform:rotate(360deg)}}.loading-text[data-v-52c2cee8]{color:#666;font-size:1.125rem}.error-container[data-v-52c2cee8]{text-align:center;padding:3rem 1rem}.error-title[data-v-52c2cee8]{font-size:1.5rem;color:#d32f2f;margin-bottom:1rem}.error-message[data-v-52c2cee8]{color:#666;margin-bottom:2rem}.back-button[data-v-52c2cee8]{display:inline-block;padding:.75rem 1.5rem;background-color:#667eea;color:#fff;text-decoration:none;border-radius:8px;transition:background-color .2s}.back-button[data-v-52c2cee8]:hover{background-color:#5568d3}.recipe-detail[data-v-52c2cee8]{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.detail-header[data-v-52c2cee8]{padding:2rem;border-bottom:1px solid #e0e0e0}.back-link[data-v-52c2cee8]{display:inline-block;color:#667eea;text-decoration:none;font-weight:500;margin-bottom:1rem;transition:color .2s}.back-link[data-v-52c2cee8]:hover{color:#764ba2}.recipe-title[data-v-52c2cee8]{font-size:2rem;color:#333;margin:0}.detail-content[data-v-52c2cee8]{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem}@media (max-width: 768px){.detail-content[data-v-52c2cee8]{grid-template-columns:1fr}}.image-section[data-v-52c2cee8]{width:100%}.main-image[data-v-52c2cee8]{width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.no-image[data-v-52c2cee8]{width:100%;aspect-ratio:4 / 3;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;color:#999;border-radius:8px}.info-section[data-v-52c2cee8]{display:flex;flex-direction:column;gap:1.5rem}.info-item[data-v-52c2cee8]{display:flex;flex-direction:column;gap:.75rem}.info-label[data-v-52c2cee8]{font-weight:600;color:#333;font-size:1rem}.content-box[data-v-52c2cee8]{background-color:transparent;padding:0;border:none}.category-badge[data-v-52c2cee8]{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;color:#fff}.category-rice[data-v-52c2cee8]{background-color:#ff9800}.category-noodles[data-v-52c2cee8]{background-color:#2196f3}.category-soup[data-v-52c2cee8]{background-color:#4caf50}.category-meat-vegetable[data-v-52c2cee8]{background-color:#f44336}.category-fish[data-v-52c2cee8]{background-color:#00bcd4}.category-default[data-v-52c2cee8]{background-color:#9e9e9e}.ingredients-tags[data-v-52c2cee8]{display:flex;flex-wrap:wrap;gap:.5rem}.ingredient-tag[data-v-52c2cee8]{display:inline-block;padding:.5rem 1rem;background-color:#e3f2fd;color:#1976d2;border-radius:20px;font-size:.875rem;font-weight:500}.eating-method[data-v-52c2cee8]{color:#666;line-height:1.8;margin:0;white-space:pre-wrap}.cooking-method[data-v-52c2cee8]{margin-top:.5rem}.cooking-step[data-v-52c2cee8]{color:#666;line-height:1.8;margin:.75rem 0;padding-left:1.5rem;position:relative}.cooking-step[data-v-52c2cee8]:before{content:"";position:absolute;left:0;top:.5rem;width:6px;height:6px;background-color:#667eea;border-radius:50%}.ingredients-table[data-v-52c2cee8]{width:100%;border-collapse:collapse;margin-top:.5rem}.ingredients-table thead[data-v-52c2cee8]{background-color:#f5f5f5}.ingredients-table th[data-v-52c2cee8],.ingredients-table td[data-v-52c2cee8]{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0}.ingredients-table th[data-v-52c2cee8]{font-weight:600;color:#333}.ingredients-table td[data-v-52c2cee8]{color:#666}.ingredients-table tbody tr[data-v-52c2cee8]:hover{background-color:#f9f9f9}.detail-link-button[data-v-52c2cee8]{display:inline-block;padding:.75rem 1.5rem;background-color:#667eea;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:background-color .2s;text-align:center}.detail-link-button[data-v-52c2cee8]:hover{background-color:#5568d3}
