.app[data-v-ca8c72f7]{min-height:100vh;display:flex;flex-direction:column}.header[data-v-ca8c72f7]{background:#ff8c5a;padding:16px 24px;text-align:center;box-shadow:0 2px 8px #ff8c5a4d}.logo[data-v-ca8c72f7]{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#fff}.logo-icon[data-v-ca8c72f7]{font-size:32px}.logo-text[data-v-ca8c72f7]{font-size:28px;font-weight:700}.subtitle[data-v-ca8c72f7]{color:#ffffffe6;margin-top:4px;font-size:14px}.main[data-v-ca8c72f7]{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px 16px}.footer[data-v-ca8c72f7]{background:#ffe8d6;text-align:center;padding:16px;color:#8b6b52;font-size:14px}:root{--primary: #FF8C5A;--primary-light: #FFB088;--secondary: #FFE8D6;--bg: #FFF9F5;--text: #5A3E2B;--text-light: #8B6B52;--white: #FFFFFF;--shadow: rgba(255, 232, 214, .5);--radius: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;outline:none;font-family:inherit}img{max-width:100%;height:auto}.search-box{display:flex;max-width:600px;margin:0 auto 32px;background:var(--white);border-radius:24px;box-shadow:0 4px 16px var(--shadow);overflow:hidden;border:2px solid var(--secondary);transition:border-color .3s}.search-box:focus-within{border-color:var(--primary)}.search-box input{flex:1;padding:14px 20px;border:none;font-size:16px;background:transparent;color:var(--text)}.search-box input::placeholder{color:var(--text-light)}.search-box input:focus{outline:none}.search-box button{padding:14px 24px;background:var(--primary);color:var(--white);font-size:16px;font-weight:600;transition:background .3s}.search-box button:hover{background:var(--primary-light)}.recipe-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 12px var(--shadow);transition:transform .3s,box-shadow .3s;cursor:pointer}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow)}.recipe-card .card-img{width:100%;height:180px;object-fit:cover}.recipe-card .card-body{padding:16px}.recipe-card .card-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card .card-time{display:inline-flex;align-items:center;gap:4px;background:var(--secondary);color:var(--text-light);padding:4px 10px;border-radius:16px;font-size:12px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.btn-primary{background:var(--primary);color:var(--white);padding:12px 24px;border-radius:24px;font-size:16px;font-weight:600;transition:background .3s,transform .2s}.btn-primary:hover{background:var(--primary-light);transform:scale(1.02)}.btn-secondary{background:var(--secondary);color:var(--text);padding:8px 16px;border-radius:20px;font-size:14px;transition:background .3s}.btn-secondary:hover{background:#ffd6bd}.section-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:20px;display:flex;align-items:center;gap:8px}.loading{text-align:center;padding:60px 20px;color:var(--text-light)}.loading .spinner{width:40px;height:40px;border:3px solid var(--secondary);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}.empty-state .icon{font-size:48px;margin-bottom:16px}.tag{display:inline-block;background:var(--secondary);color:var(--text-light);padding:4px 12px;border-radius:16px;font-size:13px;margin:0 4px 8px 0}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:var(--primary);color:var(--white);padding:12px 24px;border-radius:8px;z-index:1000;animation:fadeInOut 3s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(-20px)}10%{opacity:1;transform:translate(-50%) translateY(0)}90%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}@media (max-width: 768px){.recipe-grid{grid-template-columns:repeat(2,1fr);gap:12px}.recipe-card .card-img{height:140px}.recipe-card .card-body{padding:12px}.recipe-card .card-title{font-size:14px}.search-box{margin-bottom:24px}.section-title{font-size:18px;margin-bottom:16px}}@media (max-width: 480px){.recipe-grid{grid-template-columns:repeat(2,1fr);gap:10px}.recipe-card .card-img{height:120px}}
