@font-face{font-family:Noto Sans KR;font-style:normal;font-weight:400;src:url(/static/media/NotoSansKR-Medium.a534c6f38cdfd86ad38c.ttf) format("truetype")}#root,body,html{background:#f8f9fa;color:#222;font-family:Noto Sans KR,Apple SD Gothic Neo,Arial,sans-serif;font-size:18px}button,input,select,textarea{font-family:inherit;font-size:1em}.header{background-color:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 6px #0000000d;font-size:18px;height:50px;justify-content:space-between;left:0;padding:20px 40px;position:fixed;right:0;top:0;z-index:1000}.header,.header-left{align-items:center;display:flex}.header-left{flex:1 1}.header-left img.logo-img{cursor:pointer;height:50px}.header-center{display:flex;flex:2 1;gap:40px;justify-content:center}.header-center a{color:#333;font-size:18px;font-weight:500;padding:4px 8px;text-decoration:none}.header-center a:hover{color:#ff6f0f}.header-right{align-items:center;display:flex;flex:1 1;gap:12px;justify-content:flex-end}.auth-btn{background:none;border:none;color:#333;cursor:pointer;font-size:16px;font-weight:500}.auth-btn:hover{color:#ff6f0f}.divider{color:#ccc}.logout-btn{background-color:#ddd;border:none;border-radius:6px;cursor:pointer;font-weight:700;margin-left:10px;padding:8px 12px}.logout-btn:hover{background-color:#ccc}@media (max-width:600px){.header{font-size:10px;height:44px;padding:6px}.header-left img.logo-img{height:32px}.header-center{gap:8px}.header-center a{font-size:11px;padding:2px 4px}.header-right{gap:4px}.auth-btn,.logout-btn{font-size:9px;padding:3px 5px}}.header-spacer{height:80px}.page-content{padding:0 24px}@font-face{font-family:MyFont;src:url(/static/media/BMJUA_ttf.bf12d2d886260d73277b.ttf) format("truetype")}body{font-family:MyFont,sans-serif;font-size:50px;margin:0}.app{text-align:center}.info-label,.menu-label{cursor:pointer;font-size:40px}.menu-dropdown{background-color:#fff;border:1px solid #ccc;box-shadow:0 4px 12px #00000026;height:auto;left:0;opacity:0;padding:10px 0;position:absolute;top:100px;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease;width:320px;z-index:100}.menu-dropdown.show{opacity:1;transform:translateY(0)}.menu-dropdown ul{list-style:none;margin:0;padding:0}.menu-dropdown li{cursor:pointer;font-size:30px;padding:14px 24px}.menu-dropdown li:hover{background-color:#f2f2f2}.main{background-color:#fff;border-top:2px solid #eee;display:flex;justify-content:space-around;padding:200px 20px 60px;perspective:1200px}.partition{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:0 30px}.main-img{border-radius:12px;box-shadow:0 10px 20px #0003;cursor:pointer;height:auto;margin-bottom:24px;max-width:500px;transform-style:preserve-3d;transition:transform .15s ease,box-shadow .2s ease,opacity .3s ease;width:100%;will-change:transform}.main-img:active{opacity:.7;transform:scale(1.6)}.partition p{font-size:22px;font-weight:700;margin-top:12px;text-align:center}.main-img img{display:block;height:auto;margin:0 auto;max-width:300px;width:100%}@media (max-width:600px){.main{align-items:center;flex-direction:column;gap:12px;justify-content:flex-start;padding:32px 4px 24px}.partition{margin-bottom:18px;min-width:0;padding:0 4px;width:95vw}.main-img{max-width:90vw;min-width:0;padding:0}.main-img img{height:auto;max-width:80vw;min-width:0}.partition p{font-size:1rem;margin-top:10px;white-space:normal;word-break:keep-all}.info-label,.menu-label{font-size:1.1rem;padding:0 4px}.menu-dropdown li{font-size:1rem;padding:10px 8px}}.search-buttons-page{margin:auto;max-width:900px;padding:20px}h2{margin-bottom:16px}.dropdowns{display:flex;flex-wrap:wrap;gap:20px}.dropdown{align-items:center;display:flex;flex-direction:row;gap:10px}.dropdown label{font-weight:700}select{font-size:14px;padding:6px 10px}.search-btn{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:10px 20px}.search-btn:disabled{background-color:#d3d3d3;cursor:not-allowed}.selected-ingredients-row{margin:16px 0}.selected-ingredients-row .buttons{background-color:#f9f9f9;border:2px solid #ccc;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;min-height:40px;padding:12px}.selected-ingredients-wrapper{align-self:flex-start;position:sticky;top:100px;z-index:10}.selected-ingredients-box{background-color:#fff;border:2px solid #ccc;border-radius:8px;box-shadow:0 2px 6px #0000001a;max-height:70vh;overflow-y:auto;padding:12px}.selected-ingredients-fixed{margin-bottom:30px;z-index:1000}.selected-ingredients-row{background-color:#fff;border:2px solid #ccc;border-radius:8px;box-shadow:0 0 10px #0000001a;display:flex;flex-wrap:wrap;gap:8px;max-height:70vh;overflow-y:auto;padding:12px}.ingredient-search-layout{align-items:flex-start;display:flex;gap:24px;padding:20px}.selected-ingredients-fixed{background-color:#fff;border-radius:16px;box-shadow:0 4px 16px #0000001a;max-height:70vh;overflow-y:auto;padding:16px;position:sticky;top:100px;width:220px}.text-prefer{font-size:22px;font-weight:700;margin-bottom:12px}.ingredient-search-content{flex:1 1}.search-sticky-btn{align-self:flex-start;position:sticky;top:100px;z-index:10}.search-sticky-btn .search-btn{background-color:#007bff;border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-right:10px;padding:14px 24px;transition:background-color .3s}.search-sticky-btn .search-btn:hover{background-color:#0056b3}.search-sticky-btn .search-btn:disabled{background-color:#d3d3d3;cursor:not-allowed}.search-sticky-btn .reset-btn{background-color:#ff6b6b;color:#fff;margin-right:0}.search-sticky-btn .reset-btn:hover{background-color:#d43a3a}@media (max-width:600px){.ingredient-search-layout{flex-direction:column;padding:0 4px}.selected-ingredients-fixed{font-size:1rem;margin-bottom:12px;position:static;width:100%}.ingredient-search-content{padding:0 2px}.section h4{font-size:1.1rem;margin:10px 0 6px}.buttons button,.reset-btn,.search-btn{font-size:.95rem;margin:2px;padding:7px 10px}.search-sticky-btn{align-items:center;background:#fff;bottom:0;box-shadow:0 -2px 12px #0001;display:flex;flex-direction:column;gap:8px;left:0;padding:12px 0 8px;position:sticky;width:100vw;z-index:10}}.section{margin-bottom:20px}.section h4{margin-bottom:10px}.buttons{flex-wrap:wrap;gap:10px}.buttons button{background-color:#f9f9f9;border:1px solid #ccc;border-radius:6px;cursor:pointer;padding:8px 14px;transition:background .2s}.buttons button.active{background-color:#4caf50;border-color:#4caf50;color:#fff}.buttons button[style*="background-color: #4CAF50"]{background-color:#4caf50!important;border-color:#45a049!important;color:#fff!important}.buttons button[style*="background-color: #ff9800"]{background-color:#ff9800!important;border-color:#e68900!important;color:#fff!important}.buttons button[style*="background-color: #f44336"]{background-color:#f44336!important;border-color:#d32f2f!important;color:#fff!important}.load-more-btn{background-color:#eee;border:1px dashed #aaa;color:#333}.selected-ingredients-row button{align-items:center;background-color:#f1f5f9;border:none;border-radius:8px;box-shadow:0 1px 4px #0000000d;color:#1f2937;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px;transition:background-color .2s}.selected-ingredients-row button:hover{background-color:#e2e8f0}.selected-ingredients-row button[style*="background-color: #4CAF50"]{background-color:#4caf50!important;border-color:#45a049!important;color:#fff!important}.selected-ingredients-row button[style*="background-color: #4CAF50"]:hover{background-color:#45a049!important}.selected-ingredients-row button[style*="background-color: #ff9800"]{background-color:#ff9800!important;border-color:#e68900!important;color:#fff!important}.selected-ingredients-row button[style*="background-color: #ff9800"]:hover{background-color:#f57c00!important}.selected-ingredients-row button[style*="background-color: #f44336"]{background-color:#f44336!important;border-color:#d32f2f!important;color:#fff!important}.selected-ingredients-row button[style*="background-color: #f44336"]:hover{background-color:#d32f2f!important}.selected-ingredients-row button span{color:#e11d48;font-weight:700;margin-left:8px;transition:color .2s}.selected-ingredients-row button:hover span{color:#be123c}.photo-upload-page{background-color:#fff;box-sizing:border-box;font-family:Noto Sans KR,sans-serif;justify-content:center;min-height:100vh;padding:16px}.photo-upload-page,.styled-drop{align-items:center;display:flex;flex-direction:column}.styled-drop{background-color:#f9f9f9;border:2px dashed #ccc;border-radius:12px;max-width:100%;padding:40px 20px;text-align:center;transition:border-color .3s ease;width:480px}.styled-drop:hover{border-color:#007aff}.upload-icon{font-size:40px;margin-bottom:16px}.upload-title{color:#333;font-size:20px;font-weight:600}.upload-sub{color:#888;margin:12px 0}.upload-btn{background-color:#007aff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-top:12px;padding:10px 20px;transition:background-color .3s ease}.upload-btn:hover{background-color:orange}.uploaded-image-preview{border-radius:8px;box-shadow:0 2px 6px #0000001a;margin-top:20px;max-height:300px;max-width:100%;object-fit:contain}.loading-container{align-items:center;display:flex;flex-direction:column;margin-top:24px}.spinner{animation:spin .8s linear infinite;border:5px solid #ccc;border-top-color:#333;margin-bottom:12px}.loading-message{color:#555;font-size:1.2rem;font-weight:700}.results{margin-top:40px;max-width:600px;text-align:center;width:100%}.result-item{margin-bottom:32px}.result-item img{border-radius:12px;box-shadow:0 2px 6px #0000001a;margin-bottom:8px;max-width:280px;width:100%}.recipe-info p{color:#444;margin:4px 0}.emoji-spinner{height:60px;margin-bottom:12px;width:60px}.emoji-frame{height:100%;object-fit:contain;width:100%}@media (max-width:600px){.photo-upload-page{padding:0 4px}.styled-drop{min-width:0;padding:12px 2px}.upload-title{font-size:1.1rem}.upload-btn{font-size:1rem;padding:8px 12px}img{height:auto;max-width:90vw}}.myinfo-page{background-color:#f8f9fa;font-family:Noto Sans KR,sans-serif;min-height:100vh;padding:20px}.tab-buttons{display:flex;gap:10px;margin-bottom:30px;padding:0 20px}.tab-buttons button{background-color:#e9ecef;border:none;border-radius:25px;color:#6c757d;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.tab-buttons button.active{background-color:#007bff;box-shadow:0 2px 8px #007bff4d;color:#fff}.tab-buttons button:hover:not(.active){background-color:#dee2e6}.bookmark-layout{display:flex;gap:30px;margin:0 auto;max-width:1400px}.folder-sidebar{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;height:fit-content;padding:20px;position:sticky;top:20px;width:280px}.folder-list{margin-bottom:20px}.folder-item{align-items:center;border-radius:12px;cursor:pointer;display:flex;margin-bottom:8px;padding:12px 16px;position:relative;transition:all .2s ease}.folder-item:hover{background-color:#f8f9fa}.folder-item.active{background-color:#e3f2fd;color:#1976d2;font-weight:500}.folder-icon{font-size:18px;margin-right:12px}.folder-name{flex:1 1;font-size:15px}.folder-count{color:#6c757d;font-size:13px;margin-left:8px}.delete-folder-btn-small{align-items:center;background:none;border:none;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;opacity:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:opacity .2s ease;width:24px}.folder-item:hover .delete-folder-btn-small{opacity:1}.delete-folder-btn-small:hover{background-color:#f8d7da}.add-folder-btn{align-items:center;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#6c757d;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.add-folder-btn:hover{background-color:#e9ecef;border-color:#adb5bd;color:#495057}.add-folder-btn span{font-size:18px;font-weight:700}.recipe-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;flex:1 1;padding:30px}.recipe-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.section-title{color:#212529;font-size:32px;font-weight:700;margin:0}.edit-preference-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:25px;box-shadow:0 2px 8px #28a7454d;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.edit-preference-btn:hover{box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.search-input{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:25px;font-size:18px;margin-bottom:30px;max-width:400px;padding:14px 20px;transition:all .3s ease;width:100%}.search-input:focus{background-color:#fff;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipe-card{border:1px solid #e9ecef;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:all .3s ease}.recipe-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-8px)}.recipe-img{height:200px;object-fit:cover;width:100%}.recipe-info{padding:20px}.recipe-info h4{color:#212529;font-size:20px;font-weight:600;line-height:1.4;margin:0 0 12px}.recipe-info h4,.recipe-info p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.recipe-info p{color:#6c757d;font-size:16px;line-height:1.5;margin:0 0 16px}.recipe-actions{display:flex;flex-wrap:wrap;gap:8px}.action-btn{border:none;border-radius:20px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;min-width:80px;padding:8px 16px;transition:all .2s ease}.action-btn.add-btn{background-color:#e3f2fd;color:#1976d2}.action-btn.add-btn:hover{background-color:#bbdefb}.action-btn.remove-btn{background-color:#fff3e0;color:#f57c00}.action-btn.remove-btn:hover{background-color:#ffe0b2}.action-btn.delete-btn{background-color:#ffebee;color:#d32f2f}.action-btn.delete-btn:hover{background-color:#ffcdd2}.empty-state{color:#6c757d;padding:60px 20px;text-align:center}.empty-state p{font-size:18px;margin:0}.folder-management-page{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:1000px;padding:30px}.folder-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.folder-management-header h2{color:#212529;font-size:28px;font-weight:700;margin:0}.create-folder-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:25px;box-shadow:0 2px 8px #007bff4d;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.create-folder-btn:hover{box-shadow:0 4px 12px #007bff66;transform:translateY(-2px)}.folder-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.folder-card{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:20px;transition:all .3s ease}.folder-card:hover{border-color:#007bff;box-shadow:0 4px 20px #007bff1a}.folder-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.folder-card-header h3{color:#212529;font-size:20px;font-weight:600;margin:0}.delete-folder-btn{background-color:#dc3545;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.delete-folder-btn:hover{background-color:#c82333}.folder-count-text{color:#6c757d;font-size:16px;margin:0}.folder-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.folder-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:400px;padding:0;width:90%}.folder-modal-content{padding:30px}.folder-modal-content h3{color:#212529;font-size:20px;font-weight:600;margin:0 0 20px;text-align:center}.folder-modal-content input{border:2px solid #e9ecef;border-radius:12px;box-sizing:border-box;font-size:16px;margin-bottom:20px;padding:14px 16px;transition:all .3s ease;width:100%}.folder-modal-content input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.folder-modal-buttons{display:flex;gap:12px}.folder-modal-buttons button{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px 20px;transition:all .2s ease}.folder-modal-buttons button:first-child{background-color:#6c757d;color:#fff}.folder-modal-buttons button:first-child:hover{background-color:#5a6268}.folder-modal-buttons button:last-child{background-color:#007bff;color:#fff}.folder-modal-buttons button:last-child:hover{background-color:#0056b3}@media (max-width:1024px){.bookmark-layout{flex-direction:column;gap:20px}.folder-sidebar{position:static;width:100%}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.myinfo-page{padding:15px}.recipe-section{padding:20px}.recipe-header{align-items:flex-start;flex-direction:column;gap:15px}.folder-grid,.recipe-grid{grid-template-columns:1fr}.folder-management-header{align-items:flex-start;flex-direction:column;gap:15px}}.side-tab-bar{display:flex;flex-direction:column;gap:12px;left:40px;position:absolute;top:120px;z-index:10}.side-tab-btn{background:#f8f9fa;border:none;border-radius:16px 0 0 16px;box-shadow:0 2px 8px #0000000a;color:#6c757d;cursor:pointer;font-size:18px;font-weight:600;padding:16px 32px;text-align:left;transition:all .2s}.side-tab-btn.active{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 4px 16px #007bff1a;color:#fff}@media (max-width:1024px){.side-tab-bar{flex-direction:row;gap:8px;left:0;margin-bottom:24px;position:static;top:0}.side-tab-btn{border-radius:16px;font-size:16px;padding:12px 24px;text-align:center;width:auto}}.preference-section{align-items:flex-start;display:flex;justify-content:center;min-height:600px;width:100%}.delete-all-btn{background:linear-gradient(135deg,#dc3545,#ff7675);border:none;border-radius:25px;box-shadow:0 2px 8px #dc354526;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-left:12px;padding:8px 14px;transition:all .3s ease}.delete-all-btn:hover{background:linear-gradient(135deg,#b71c1c,#ff7675);box-shadow:0 4px 12px #dc354540}.add-btn,.cancel-btn,.delete-btn{font-size:15px}.preference-page{background-color:#fff;border-radius:20px;box-shadow:0 8px 40px #0000001a;margin:40px auto;padding:40px}.preference-header{margin-bottom:40px}.preference-header h2{color:#212529;font-size:28px;font-weight:700;margin-bottom:12px}.preference-subtitle{color:#6c757d;font-size:18px;line-height:1.5;margin:0}.selected-allergies-section{margin-bottom:40px;text-align:left}.selected-allergies-section h3{color:#212529;font-size:20px;font-weight:600;margin-bottom:16px}.selected-allergies-list{display:flex;flex-wrap:wrap;gap:12px}.selected-allergy-badge{align-items:center;animation:slideIn .3s ease;background:linear-gradient(135deg,#dc3545,#c82333);border-radius:25px;box-shadow:0 2px 8px #dc35454d;color:#fff;display:flex;font-size:16px;font-weight:500;gap:8px;padding:8px 16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.remove-allergy-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;transition:all .2s ease;width:20px}.remove-allergy-btn:hover{background-color:#fff3}.allergies-section{margin-bottom:40px;text-align:left}.allergies-section h3{color:#212529;font-size:20px;font-weight:600;margin-bottom:20px}.ingredient-buttons{justify-content:flex-start}.ingredient-btn{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:25px;color:#495057;font-weight:500;transition:all .3s ease;white-space:nowrap}.ingredient-btn:hover{background-color:#e9ecef;border-color:#adb5bd;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.ingredient-btn.selected{background:linear-gradient(135deg,#007bff,#0056b3);border-color:#007bff;box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.ingredient-btn.selected:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 6px 16px #007bff66}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:16px;padding:40px}.spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#007bff;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner p{color:#6c757d;font-size:16px;margin:0}.action-buttons{display:flex;gap:16px;justify-content:center;margin-top:40px}.save-btn,.skip-btn{border-radius:25px;font-size:18px;font-weight:600;min-width:120px;padding:14px 32px;transition:all .3s ease}.skip-btn{background-color:#6c757d;box-shadow:0 2px 8px #6c757d4d;color:#fff}.skip-btn:hover{background-color:#5a6268;box-shadow:0 4px 12px #6c757d66;transform:translateY(-2px)}.save-btn{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 8px #28a7454d}.save-btn:hover{background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.save-btn:disabled{background:#adb5bd!important;box-shadow:none;color:#fff!important;transform:none}@media (max-width:768px){.preference-page{margin:20px;padding:30px 20px}.preference-header h2{font-size:24px}.preference-subtitle{font-size:14px}.ingredient-buttons{justify-content:center}.ingredient-btn{font-size:14px;padding:10px 16px}.action-buttons{align-items:center;flex-direction:column}.save-btn,.skip-btn{max-width:200px;width:100%}}@media (max-width:480px){.preference-page{margin:10px;padding:20px 15px}.selected-allergies-list{justify-content:center}.ingredient-buttons{gap:8px}.ingredient-btn{font-size:13px;padding:8px 12px}}.disease-section{margin-bottom:40px;text-align:left}.disease-section h3{color:#212529;font-size:20px;font-weight:600;margin-bottom:16px}.disease-input{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;font-size:18px;margin-bottom:0;max-width:400px;padding:14px 16px;transition:all .3s ease;width:100%}.disease-input:focus{background:#fff;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.consent-section{margin:32px 0 0;text-align:left}.consent-label{align-items:center;color:#007bff;display:flex;font-size:16px;font-weight:500;gap:10px;margin-bottom:6px}.consent-label input[type=checkbox]{accent-color:#007bff;height:18px;width:18px}.consent-desc{color:#6c757d;font-size:13px;margin:0 0 0 2px}.consent-link{color:#007bff;cursor:pointer;font-weight:600;margin-left:4px;text-decoration:underline}.consent-link:hover{color:#0056b3}.consent-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:480px;padding:0;width:90%}.consent-modal-content{padding:30px}.consent-modal-content h3{color:#212529;font-size:22px;font-weight:600;margin:0 0 20px;text-align:center}.consent-modal-body{font-size:16px!important}.disease-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.disease-btn{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:25px;color:#495057;cursor:pointer;font-size:16px;font-weight:500;padding:12px 20px;transition:all .3s ease}.disease-btn:hover{background-color:#e9ecef;border-color:#adb5bd;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.disease-btn.selected{background:linear-gradient(135deg,#007bff,#0056b3);border-color:#007bff;box-shadow:0 4px 12px #007bff4d;color:#fff;transform:translateY(-2px)}.disease-btn.selected:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 6px 16px #007bff66}@font-face{font-family:MyFont;font-family:MyFont2;src:url(/static/media/BMJUA_ttf.bf12d2d886260d73277b.ttf) format("truetype");src:url(/static/media/NotoSansKR-Medium.a534c6f38cdfd86ad38c.ttf) format("truetype")}.recipe-list-page{font-family:MyFont,Noto Sans KR,sans-serif;padding:40px}.title{font-size:32px;font-weight:700;margin-bottom:20px}.search-bar{display:flex;gap:10px;margin-bottom:30px}.search-bar input{font-size:16px;padding:8px 12px;width:300px}.search-bar button{cursor:pointer;font-size:16px;padding:8px 16px}.recipe-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.recipe-card{background-color:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 2px 6px #00000014;font-family:MyFont2,Noto Sans KR,sans-serif;padding:16px;text-align:center;transition:transform .2s ease}.recipe-card.watson-card{background-color:#e7f9e9;border:1px solid #88d18a}.recipe-card:hover{transform:translateY(-15px)}.recipe-card img{border-radius:8px;height:160px;margin-bottom:12px;object-fit:cover;width:100%}.recipe-card h3{font-size:16px;margin-bottom:10px}.recipe-card a{color:#007bff;font-weight:700;text-decoration:none}.recipe-card a:hover{text-decoration:underline}.no-results{color:#666;font-size:18px}.input-field{font-size:16px;padding:8px 12px;width:280px}.dropdown-group{display:flex;flex-wrap:wrap;gap:10px}.dropdown-group select{background:#fff;border:1px solid #ccc;border-radius:4px;font-size:15px;min-width:120px;padding:8px 12px}.reset-button{background-color:#ddd;border:none;border-radius:4px;cursor:pointer;font-size:15px;padding:8px 14px}.reset-button:hover{background-color:#ccc}.loading-text{color:#555;font-size:18px;margin-bottom:20px}.result-count{color:#333;font-size:16px;margin-bottom:16px}.theme-buttons button{background-color:#eee;border:1px solid #ccc;border-radius:20px;cursor:pointer;font-weight:500;margin:6px 6px 10px 0;padding:10px 18px;transition:all .2s ease}.theme-buttons button:hover{background-color:#ddd}.theme-buttons button.active{background-color:#007bff;border:1px solid #007bff;box-shadow:inset 2px 2px 4px #0003;color:#fff;transform:translateY(1px)}.search-info-box{margin-bottom:30px}.search-info-box h2{color:#333;font-size:28px;font-weight:700;margin-bottom:20px}.selected-info-container{background-color:#ffffe04d;border:1px solid #ff821433;border-radius:15px;box-shadow:0 2px 8px #0000000d;padding:20px}.info-row{align-items:flex-start;display:flex;line-height:1.4;margin-bottom:12px}.info-row:last-of-type{margin-bottom:0}.info-label{color:#1e88e5;flex-shrink:0;font-size:24px;font-weight:700;margin-right:15px;min-width:180px}.info-value{word-wrap:break-word;color:#333;flex:1 1;font-size:16px}.edit-button-container{margin-top:20px;text-align:center}.edit-ingredients-btn{background-color:#1e881d1a;border:2px solid #1e88e5;border-radius:25px;color:#1e88e5;cursor:pointer;font-family:MyFont,Noto Sans KR,sans-serif;font-size:24px;font-weight:700;padding:12px 24px;transition:all .3s ease}.edit-ingredients-btn:hover{background-color:#1e88e5;box-shadow:0 4px 12px #1e881d4d;color:#fff;transform:translateY(-2px)}.search-results-count{color:#666;font-size:18px;font-weight:500;margin-bottom:20px}.bookmark-btn:hover{background:#e3f0ff;border-color:#7fa7d9;color:#1a3a5e}@media (max-width:600px){.recipe-list-layout{padding:0 4px}.recipe-card{font-size:1rem;margin:10px auto;min-width:0;padding:10px 6px;width:98vw}.recipe-card img{height:auto;max-width:90vw}.recipe-title{font-size:1.1rem;margin:6px 0 2px}.recipe-meta{font-size:.95rem}.filter-bar,.search-bar{flex-direction:column;gap:6px;padding:6px 2px}.recipe-grid{align-items:center;display:flex;flex-direction:column;gap:16px;padding:0 8px}.recipe-card{margin:0 auto;max-width:350px;width:100%}.selected-info-container{padding:10px 4px}.info-row{align-items:flex-start;flex-direction:column;margin-bottom:10px}.info-label{font-size:1.1rem;margin-bottom:2px;margin-right:0;min-width:0}.info-value{font-size:1rem;white-space:pre-line;width:100%;word-break:break-all}}.dropdown{position:relative}.dropdown-btn{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:20px;box-shadow:0 1px 2px #0000000f;color:#555;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .25s ease}.dropdown-btn:hover{background-color:#f5f5f5}.dropdown-btn .arrow{font-size:10px;transition:transform .3s ease}.dropdown-menu{animation:fadeSlideDown .25s ease-out;background-color:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 4px 12px #0000001f;left:0;min-width:160px;overflow:hidden;padding:8px 0;position:absolute;top:42px;z-index:100}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu li{color:#333;cursor:pointer;font-size:14px;list-style:none;padding:12px 16px;transition:background-color .2s ease}.dropdown-menu li:hover{background-color:#f7f7f7}.detail-container{font-family:Noto Sans KR,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:2rem}.summary-box{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;margin-bottom:2rem;padding:16px}.summary-text{font-size:20px;font-weight:500;margin-bottom:12px}.meta-info{color:#555;display:flex;font-size:18px;font-weight:700;gap:1.5rem;margin:1rem 0}.ai-recommendation,.ai-tips{background-color:#f9f9f9;border-left:4px solid #0af;border-radius:6px;margin-bottom:20px;padding:10px 16px}.ingredients{font-size:17px;list-style-type:disc;margin-bottom:2rem;padding-left:2rem}.steps{display:flex;flex-direction:column;gap:20px;margin-bottom:2rem;padding:0}.step-card{background-color:#f9f9f9;border:1px solid #ddd;gap:20px}.step-card img{object-fit:cover;width:220px}.step-desc{word-wrap:break-word;flex:1 1;font-size:18px;line-height:1.6;white-space:pre-line;word-break:keep-all}.video-container{height:0;margin-bottom:2rem;padding-bottom:56.25%;padding-top:25px;position:relative}.video-container iframe{height:100%;left:0;position:absolute;top:0;width:100%}a{color:#007acc;display:inline-block;font-weight:500;margin-top:2rem;text-decoration:none}a:hover{text-decoration:underline}.step-card{align-items:flex-start;background:#f9f9f9;border-radius:12px;box-shadow:0 2px 6px #0000000d;display:flex;gap:16px;margin-bottom:20px;max-width:100%;padding:16px;width:100%}.step-card img{border-radius:8px;flex-shrink:0;height:auto;width:240px}.step-description{color:#333;flex:1 1;font-size:18px;line-height:1.6}.ingredient-section{display:flex;gap:32px;margin-bottom:2rem}.ingredient-column{flex:1 1}.ingredient-column h4{font-size:20px;margin-bottom:8px}.ingredient-column ul{list-style-type:disc;padding-left:1.5rem}.back-button{align-items:center;background-color:#f0f0f0;border:1px solid #ccc;border-radius:25px;box-shadow:2px 2px 6px #0000000d;color:#333;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:6px;padding:10px 16px;transition:background-color .25s,transform .15s}.back-button:hover{background-color:#e0e0e0;transform:translateX(-2px)}.back-button:active{background-color:#d5d5d5;transform:translateX(0)}.sticky-bookmark-btn{float:right;margin-bottom:24px;margin-left:16px;position:sticky;top:32px;z-index:10}.bookmark-btn{align-items:center;background:#f5f7fa;border:1.5px solid #b3c6e0;border-radius:24px;box-shadow:0 2px 8px #0001;color:#2d5a8e;cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;gap:6px;justify-content:center;padding:8px 18px;transition:background .18s,color .18s,border .18s}.bookmark-btn:hover:enabled{background:#e3f0ff;border-color:#7fa7d9;color:#1a3a5e}.bookmark-btn .icon{font-size:1.2em;margin-right:2px}.bookmark-btn:disabled{cursor:not-allowed;opacity:.7}@media (max-width:600px){.recipe-detail-layout{padding:0 4px}.recipe-detail-img{display:block;height:auto;margin:0 auto 10px;max-width:95vw}.recipe-detail-title{font-size:1.2rem;margin:8px 0 4px;text-align:center}.recipe-detail-desc,.recipe-detail-meta{font-size:1rem;padding:4px 0}.ingredient-list{font-size:.98rem;padding:4px 0}.action-btn,.bookmark-btn{font-size:1rem;margin:4px 2px;padding:8px 12px}.step-card{align-items:center;flex-direction:column;text-align:center}.step-card img{margin-bottom:12px;max-width:300px;width:100%}.step-desc{font-size:16px;text-align:left;width:100%}}.login-page{align-items:center;background:linear-gradient(135deg,#ff6b6b80,#ff8e8e80);display:flex;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-container{animation:slideUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 30px;text-align:center}.app-title{font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin:0 0 10px}.app-subtitle{font-size:1rem;font-weight:300;margin:0;opacity:.9}.login-form-container{padding:40px 30px}.form-header{margin-bottom:30px;text-align:center}.form-header h2{color:#333;font-size:1.8rem;font-weight:600;margin:0 0 8px}.form-header p{color:#666;font-size:.95rem;margin:0}.login-form{margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e1e5e9;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input.error{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a}.form-group input::placeholder{color:#999}.email-input-group{align-items:flex-start;display:flex;gap:10px}.email-input-group input{flex:1 1}.check-email-btn{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;min-width:80px;padding:12px 16px;transition:all .3s ease;white-space:nowrap}.check-email-btn:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.check-email-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.email-status{display:block;font-size:.8rem;font-weight:500;margin-top:5px}.email-status.available{color:#28a745}.email-status.unavailable{color:#ff6b6b}.error-message{color:#ff6b6b;display:block;font-size:.8rem;margin-top:5px}.checkbox-group{margin-top:20px}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:1rem;gap:12px;line-height:1.4;min-height:40px;padding:10px 0;-webkit-user-select:none;user-select:none;width:100%}.checkbox-label input[type=checkbox]{display:none}.checkmark{border:8px solid #7d7e80cc;border-radius:6px;flex-shrink:0;height:12px;margin-right:20px;margin-top:2px;position:relative;transition:all .3s ease;width:12px}.checkbox-label input[type=checkbox]:checked+.checkmark{background-color:#667eea;border-color:#667eea}.checkbox-label input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:20px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-text{color:#666}.checkbox-text a{color:#667eea;font-weight:500;text-decoration:none}.checkbox-text a:hover{text-decoration:underline}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:14px;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.divider{margin:30px 0;position:relative;text-align:center}.divider:before{background:#e1e5e9;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:#fff;color:#999;font-size:.9rem;padding:0 15px;position:relative;z-index:1}.google-login-section{display:flex;justify-content:center;margin-bottom:30px}.toggle-mode{text-align:center}.toggle-mode p{color:#666;font-size:.9rem;margin:0}.toggle-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;font-weight:600;margin-left:5px;text-decoration:underline}.toggle-btn:hover{color:#5a6fd8}@media (max-width:480px){.login-page{padding:10px}.login-container{border-radius:15px}.login-header{padding:30px 20px}.app-title{font-size:2rem}.login-form-container{padding:30px 20px}.form-header h2{font-size:1.5rem}.email-input-group{flex-direction:column;gap:8px}.check-email-btn{min-width:auto;width:100%}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.submit-btn:disabled{animation:pulse 1.5s infinite}.help-page{background:#fff;border-radius:18px;box-shadow:0 8px 32px #00000014;font-size:1.08rem;line-height:1.8;margin:40px auto;max-width:800px;min-height:70vh;padding:32px 24px 48px}.help-page h1{color:#667eea;font-size:2.2rem;margin-bottom:.7em;text-align:center}.help-page h2,.help-page h3{color:#764ba2;font-weight:700;margin-top:2.2em}.help-page ol,.help-page ul{margin-bottom:1.2em;margin-left:1.2em}.help-page code,.help-page pre{background:#f7f7fa;border-radius:6px;font-size:.98em;padding:2px 6px}.help-page .qna{background:#f8f9ff;border-left:4px solid #667eea;border-radius:8px;margin:18px 0;padding:12px 18px}.help-page .qna strong{color:#667eea}@media (max-width:600px){.help-page{font-size:.98rem;padding:12px 4vw 32px}.help-page h1{font-size:1.3rem}}.privacy-page{font-size:16px;line-height:1.6;margin:auto;max-width:800px;padding:20px}.markdown-text{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;margin:20px 0;padding:15px;white-space:pre-wrap}.preference-page{font-family:Noto Sans KR,sans-serif;margin:0 auto;max-width:800px;padding:40px 20px;text-align:center}.preference-page h2{color:#333;font-size:24px;font-weight:600;margin-bottom:16px}.preference-page .description{color:#666;font-size:16px;line-height:1.5;margin-bottom:32px}.allergy-section,.disease-section{margin-bottom:32px;text-align:left}.allergy-section h3,.disease-section h3{color:#333;font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.ingredient-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.ingredient-btn{background-color:#f0f0f0;border:2px solid #0000;border-radius:24px;cursor:pointer;font-size:16px;min-width:120px;padding:12px 20px;transition:all .2s ease}.ingredient-btn:hover{background-color:#e0e0e0}.ingredient-btn.selected{background-color:#007aff;border-color:#007aff;color:#fff}.selected-allergies{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.selected-allergy-btn{background-color:#ff6b6b;border:2px solid #ff6b6b;border-radius:24px;color:#fff;cursor:pointer;font-size:16px;min-width:120px;padding:12px 20px;transition:all .2s ease}.selected-allergy-btn:hover{background-color:#ff5252;border-color:#ff5252}.saved-message{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.saved-message h2{color:#28a745;font-size:28px;margin-bottom:16px}.saved-message p{color:#666;font-size:18px}.buttons{display:flex;gap:20px;justify-content:center;margin-top:32px}.save-btn,.skip-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;padding:12px 32px;transition:background-color .2s ease}.skip-btn{background-color:#ccc;color:#333}.skip-btn:hover{background-color:#bbb}.save-btn{background-color:#28a745;color:#fff}.save-btn:hover:not(:disabled){background-color:#218838}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed}.consent-section{color:#333;font-size:14px;margin-bottom:20px;margin-top:20px}.consent-section input[type=checkbox]{transform:scale(1.2)}