.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));grid-gap:24px;gap:24px;width:100%}.restaurant-card{background:var(--surface-primary);border-radius:20px;box-shadow:var(--shadow-md);border:1px solid var(--border-light);overflow:hidden;transition:all .3s ease;position:relative}.restaurant-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.rank-badge{position:absolute;top:16px;left:16px;background:var(--bg-gradient);color:var(--text-light);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;z-index:2}.restaurant-header{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.restaurant-name{font-size:20px;font-weight:700;margin:0;flex:1 1}.restaurant-name a{color:var(--text-primary);text-decoration:none;transition:color .3s ease}.restaurant-name a:hover{color:var(--primary-color)}.rating-badge,.rating-display{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.total-rating{font-size:18px;font-weight:700;color:var(--primary-color)}.rating-details,.review-count{display:flex;gap:8px;font-size:12px;color:var(--text-secondary)}.google-rating,.naver-rating{padding:2px 6px;background:var(--bg-secondary);border-radius:4px;font-size:11px;font-weight:500}.naver-rating{color:#00c73c}.google-rating{color:#ea4335}.restaurant-info{padding:0 24px 16px;display:flex;flex-direction:column;gap:12px}.category-cuisine,.cuisine-category,.cuisine-info{display:flex;gap:12px;align-items:center}.category,.cuisine,.cuisine-type{background:var(--bg-accent);color:var(--primary-color)}.category,.category-link,.cuisine,.cuisine-type,.district-link{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.category-link,.district-link{background:var(--accent-color);color:var(--text-light);text-decoration:none;transition:all .3s ease}.category-link:hover,.district-link:hover{background:var(--success-color);transform:scale(1.05)}.location,.location-info,.location-price{font-size:14px;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.address{font-size:13px}.price-range{font-weight:600;color:var(--primary-color)}.description{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0}.restaurant-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px}.restaurant-footer{padding:16px 24px 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-light);margin-top:auto}.contact-info,.facilities{display:flex;gap:8px;align-items:center}.facility,.phone,.phone-link{font-size:12px;color:var(--text-secondary);text-decoration:none}.phone-link:hover{color:var(--primary-color)}.action-buttons{display:flex;gap:8px;align-items:center}.detail-btn,.map-btn,.view-detail{padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;text-decoration:none;transition:all .3s ease;border:none;cursor:pointer}.map-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-medium)}.map-btn:hover{background:var(--accent-color);color:var(--text-light)}.detail-btn,.view-detail{background:var(--primary-color);color:var(--text-light)}.detail-btn:hover,.view-detail:hover{background:var(--btn-primary-hover);transform:translateY(-2px)}.filters-section{background:var(--surface-primary);padding:32px;border-radius:20px;box-shadow:var(--shadow-sm);margin-bottom:40px}.filter-group{margin-bottom:24px}.filter-group h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.filter-buttons{display:flex;flex-wrap:wrap;gap:12px}.filter-btn{padding:8px 16px;background:var(--bg-accent);color:var(--primary-color);text-decoration:none;border-radius:20px;font-size:14px;font-weight:500;transition:all .3s ease;border:2px solid transparent}.filter-btn:hover{background:var(--primary-color);color:var(--text-light);transform:translateY(-2px)}.local-features,.related-categories,.related-districts{margin:60px 0}.district-links,.features-grid,.related-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:24px;gap:24px}.district-link-card,.feature-card,.related-category-btn{background:var(--surface-primary);padding:24px;border-radius:16px;box-shadow:var(--shadow-sm);text-decoration:none;transition:all .3s ease;border:2px solid var(--border-light)}.district-link-card:hover,.feature-card:hover,.related-category-btn:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.feature-card h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.feature-card p{color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.feature-link{color:var(--primary-color);font-weight:600;text-decoration:none}.feature-link:hover{text-decoration:underline}.home-actions,.page-actions{display:flex;justify-content:center;gap:16px;margin-top:40px}.featured-section{background:linear-gradient(135deg,var(--bg-accent) 0,var(--surface-primary) 100%);padding:40px;border-radius:24px;box-shadow:var(--shadow-lg);border:2px solid var(--primary-color);position:relative;overflow:hidden}.featured-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,107,53,.1) 0,transparent 70%);pointer-events:none;z-index:1}.section-header{text-align:center;margin-bottom:40px;position:relative;z-index:2}.section-header h2{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:12px;background:var(--bg-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-description{font-size:16px;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.blog-integration{background:var(--surface-primary);padding:40px;border-radius:20px;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.blog-header{text-align:center;margin-bottom:32px}.blog-header h2{font-size:28px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.blog-header p{color:var(--text-secondary);font-size:16px}.blog-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px;margin-bottom:32px}.blog-card{background:var(--bg-secondary);padding:24px;border-radius:16px;border:1px solid var(--border-light);transition:all .3s ease}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent-color)}.blog-card h3{margin-bottom:12px;font-size:18px;font-weight:600}.blog-card h3 a{color:var(--text-primary);text-decoration:none;transition:color .3s ease}.blog-card h3 a:hover{color:var(--primary-color)}.blog-card p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:16px}.blog-link{color:var(--accent-color);text-decoration:none;font-weight:500;font-size:14px;transition:color .3s ease}.blog-link:hover{color:var(--success-color);text-decoration:underline}.blog-actions{display:flex;justify-content:center;gap:16px}.popularity-score{font-size:11px;background:var(--success-color);color:var(--text-light);padding:2px 6px;border-radius:8px;font-weight:600}.rating-breakdown{margin-top:8px}.platform-ratings{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.platform-ratings .google-rating,.platform-ratings .naver-rating{font-size:10px;padding:2px 4px}.popularity{font-size:10px;background:var(--bg-gradient);color:var(--text-light);padding:2px 6px;border-radius:6px;font-weight:600}.category-link[href*=\C544\C2DC\C548],.district-link[href*=\C544\C2DC\C548]{background:linear-gradient(45deg,#ff6b35,#f7931e)}.restaurant-card:first-child{border:2px solid var(--primary-color);background:linear-gradient(135deg,var(--surface-primary) 0,var(--bg-accent) 100%)}.restaurant-card:first-child .rank-badge{background:linear-gradient(45deg,gold,#ff6b35);font-size:14px;padding:6px 14px;font-weight:800;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.restaurant-card:nth-child(2) .rank-badge,.restaurant-card:nth-child(3) .rank-badge{background:linear-gradient(45deg,silver,#ff6b35)}@media (max-width:768px){.quick-search,.restaurant-grid{grid-template-columns:1fr}.quick-search{padding:20px}.nav-menu{gap:16px}.dropdown-menu{position:fixed;left:0;right:0;top:70px;min-width:auto}.restaurant-header{padding:16px 16px 12px}.restaurant-info{padding:0 16px 12px}.restaurant-footer{padding:12px 16px 16px}}:root{--primary-color:#ff6b35;--secondary-color:#f7931e;--accent-color:#4ecdc4;--success-color:#45b7d1;--text-primary:#2c3e50;--text-secondary:#7f8c8d;--text-light:#fff;--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-accent:#fff7f0;--bg-gradient:linear-gradient(135deg,#ff6b35,#f7931e);--bg-light-gradient:linear-gradient(135deg,#fff7f0,#fff);--surface-primary:#fff;--surface-secondary:#f8f9fa;--surface-hover:#fff7f0;--border-light:#e9ecef;--border-medium:#dee2e6;--border-dark:#adb5bd;--shadow-sm:0 2px 4px rgba(0,0,0,.1);--shadow-md:0 4px 8px rgba(0,0,0,.12);--shadow-lg:0 8px 16px rgba(0,0,0,.15);--btn-primary:var(--primary-color);--btn-primary-hover:#e55a2b;--btn-secondary:#6c757d;--btn-secondary-hover:#545b62}*{margin:0;padding:0;box-sizing:border-box;font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html{background:var(--bg-primary);scroll-behavior:smooth}body{color:var(--text-primary);background:var(--bg-light-gradient);min-height:100vh;line-height:1.6}.bottom-gradient,.dots,.top-gradient{display:none}.header{position:fixed;top:0;left:0;right:0;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);z-index:1000;padding:0}.restaurant-nav{justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 20px;height:70px}.brand-link,.nav-brand,.restaurant-nav{display:flex;align-items:center}.brand-link{text-decoration:none;color:var(--primary-color);font-weight:700;font-size:20px;gap:8px}.brand-text{background:var(--bg-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-menu{display:flex;align-items:center;gap:32px}.nav-link{color:var(--text-primary);text-decoration:none;font-weight:500;font-size:14px;padding:8px 16px;border-radius:20px;transition:all .3s ease;position:relative}.nav-link.active,.nav-link:hover{color:var(--primary-color);background:var(--bg-accent)}.nav-dropdown{position:relative}.dropdown-trigger{cursor:pointer}.dropdown-menu{position:absolute;top:100%;left:0;min-width:150px;background:var(--surface-primary);border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1001}.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;padding:12px 16px;color:var(--text-primary);text-decoration:none;font-size:14px;transition:background-color .2s ease;border-radius:8px;margin:4px}.dropdown-item:hover{background:var(--bg-accent);color:var(--primary-color)}.back-button{position:fixed;top:90px;left:20px;background:var(--surface-primary);color:var(--text-primary);padding:8px 16px;border-radius:20px;text-decoration:none;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-md);border:1px solid var(--border-light);font-size:14px;font-weight:500;z-index:999;transition:all .3s ease}.back-button:hover{background:var(--bg-accent);color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.heading{font-size:48px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:16px}.subtitle{font-size:18px;margin-bottom:40px}.page-description,.subtitle{color:var(--text-secondary);text-align:center}.page-description{font-size:16px;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:25px;border:none;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;background:var(--btn-primary);color:var(--text-light)}.button:hover{background:var(--btn-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.button.secondary{background:var(--surface-primary);color:var(--text-primary);border:2px solid var(--border-medium)}.button.secondary:hover{background:var(--bg-accent);color:var(--primary-color);border-color:var(--primary-color)}.content{margin:120px auto 60px;max-width:1200px;padding:0 20px;gap:60px;min-height:calc(100vh - 180px)}.content,.content header{display:flex;flex-direction:column}.content header{align-items:center;gap:32px}.content header h2{font-size:20px;font-weight:400}.data-container,.features{display:grid;grid-gap:10px;gap:10px}.features{text-wrap:balance}.data-container,.features{grid-template-columns:repeat(2,1fr)}.data-container{text-wrap:pretty}.card{flex-direction:column;padding:24px;gap:12px;max-width:360px}.card h2{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-2%}.card p{font-size:13px;line-height:1.5;color:var(--secondary-contrast);letter-spacing:-1%}.card p a,.link{color:var(--primary-contrast);text-decoration:underline;text-underline-offset:2px}.links-container{padding-top:24px;gap:24px}.links,.links-container{display:flex;flex-wrap:wrap}.links{gap:10px}.links a{padding:14px 15px;color:var(--primary-contrast);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;justify-content:center;align-items:center;gap:4px}.card,.links a{position:relative;border-radius:24px;background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex}.card:before,.links a:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(var(--border),transparent 30%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card:not(:first-child):after,.links a:not(:first-child):after{content:"";top:0;height:100%;background:var(--surface);position:absolute;pointer-events:none}.card:not(:first-child):after{width:10px;left:-10px;mask:url(/between-cards.svg) no-repeat center/contain;-webkit-mask:url(/between-cards.svg) no-repeat center/contain}.links a:not(:first-child):after{width:30px;left:calc(-20px);mask:url(/between-links.svg) no-repeat center/contain;-webkit-mask:url(/between-links.svg) no-repeat center/contain}.quick-search{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;margin-bottom:60px;padding:40px;background:var(--surface-primary);border-radius:20px;box-shadow:var(--shadow-md)}.search-categories h3,.search-districts h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.category-buttons,.district-buttons{display:flex;flex-wrap:wrap;gap:12px}.category-btn,.district-btn{padding:8px 16px;background:var(--bg-accent);color:var(--primary-color);text-decoration:none;border-radius:20px;font-size:14px;font-weight:500;transition:all .3s ease;border:2px solid transparent}.category-btn:hover,.district-btn:hover{background:var(--primary-color);color:var(--text-light);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.posts-grid,.posts-preview{display:grid;grid-gap:20px;gap:20px;width:100%;max-width:1200px}.posts-preview{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.posts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.post-card{background:var(--surface);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);transition:transform .2s ease,box-shadow .2s ease}.post-card:hover{transform:translateY(-2px)}.post-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--secondary-contrast)}.post-category,.post-date{font-weight:500}.post-category{background:var(--muted);padding:4px 8px;border-radius:8px;text-decoration:none;color:var(--primary-contrast);transition:background .2s ease}.post-category:hover{background:var(--background)}.post-title{font-size:20px;font-weight:600;line-height:1.3;margin:0}.post-title a{color:var(--primary-contrast);text-decoration:none;transition:color .2s ease}.post-title a:hover{color:var(--background)}.post-description{color:var(--secondary-contrast);line-height:1.5;font-size:14px}.post-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:11px;color:var(--secondary-contrast);background:var(--muted);padding:3px 8px;border-radius:6px;font-weight:500}.read-more{color:var(--primary-contrast);text-decoration:none;font-weight:500;font-size:14px;margin-top:auto;transition:color .2s ease}.read-more:hover{color:var(--background)}.categories-section{width:100%;max-width:1200px}.categories-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.category-badge{background:var(--surface);color:var(--primary-contrast);padding:8px 16px;border-radius:12px;text-decoration:none;font-weight:500;font-size:14px;border:1px solid var(--border);transition:all .2s ease}.category-badge:hover{background:var(--background);transform:translateY(-1px)}.post-nav{width:100%;max-width:800px;margin-bottom:20px}.back-link{color:var(--secondary-contrast);text-decoration:none;font-weight:500;transition:color .2s ease}.back-link:hover{color:var(--primary-contrast)}.post-header{width:100%;max-width:800px;text-align:center;margin-bottom:40px}.post-content{width:100%;max-width:800px;line-height:1.7;color:var(--primary-contrast)}.post-content h1,.post-content h2,.post-content h3{margin:32px 0 16px;color:var(--primary-contrast)}.post-content p{margin:16px 0;color:var(--secondary-contrast)}.post-content code{background:var(--muted);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:14px}.post-content pre{background:var(--surface);padding:20px;border-radius:12px;overflow-x:auto;margin:20px 0;border:1px solid var(--border)}.post-content pre code{background:none;padding:0}.post-content ol,.post-content ul{margin:16px 0;padding-left:24px}.post-content li{margin:8px 0;color:var(--secondary-contrast)}.post-footer{width:100%;max-width:800px;margin-top:40px;padding-top:20px;border-top:1px solid var(--border)}.about-content{width:100%;max-width:800px;display:flex;flex-direction:column;gap:40px}.about-section{background:var(--surface);padding:24px;border-radius:16px;border:1px solid var(--border)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-top:16px}.tech-category h3{margin-bottom:12px;color:var(--primary-contrast)}.tech-category ul{list-style:none;padding:0}.tech-category li{padding:4px 0;color:var(--secondary-contrast)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.goal-card{background:var(--muted);padding:16px;border-radius:12px}.goal-card h3{margin-bottom:8px;color:var(--primary-contrast)}.goal-card p{color:var(--secondary-contrast);font-size:14px}.contact-links{display:flex;gap:16px;margin-top:16px}.contact-link{background:var(--muted);color:var(--primary-contrast);padding:8px 16px;border-radius:8px;text-decoration:none;font-weight:500;transition:background .2s ease}.contact-link:hover{background:var(--background)}.about-actions,.home-actions{display:flex;gap:16px;margin-top:20px;justify-content:center}.button.secondary{background:var(--surface);color:var(--primary-contrast);border:1px solid var(--border)}.demo-links{width:100%;max-width:800px;margin-top:40px;opacity:.7}.demo-buttons{display:flex;gap:12px;margin-top:12px}.demo-link{background:var(--muted);color:var(--primary-contrast);padding:6px 12px;border-radius:6px;text-decoration:none;font-size:12px;font-weight:500;transition:background .2s ease}.demo-link:hover{background:var(--surface)}@media only screen and (max-width:1023px){.heading{font-size:36px}.back-button{top:10px;left:10px}.data-container,.features{grid-template-columns:1fr}.card:after,.links a:after,.top-gradient{display:none}.bottom-gradient{width:150%;height:400px;margin-bottom:-450px}.blog-nav{flex-direction:column;gap:16px;padding:0 16px}.nav-menu{gap:16px}.posts-grid,.posts-preview{grid-template-columns:1fr;gap:16px}.goals-grid,.tech-grid{grid-template-columns:1fr}.contact-links{flex-direction:column}.about-actions,.home-actions{flex-direction:column;align-items:center}.demo-buttons{justify-content:center}}.auth-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-container{width:100%;max-width:400px;margin:0 auto}.auth-form{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.1);overflow:hidden;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:2rem}.auth-header h2{margin:0 0 .5rem;font-size:1.8rem;font-weight:600}.auth-header p{margin:0;opacity:.9;font-size:.9rem}.auth-form-content{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.9rem}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.form-group input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-group input::placeholder{color:#9ca3af}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.field-error{display:block;color:#dc2626;font-size:.8rem;margin-top:.25rem}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.success-message p{margin:0 0 .5rem}.success-message p:last-child{margin-bottom:0}.auth-button{width:100%;padding:.875rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.auth-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.auth-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.3)}.auth-button:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.auth-links{text-align:center;margin:1.5rem 0}.auth-links .link{color:#667eea;text-decoration:none;font-size:.9rem;font-weight:500}.auth-links .link:hover{text-decoration:underline}.auth-divider{position:relative;text-align:center;margin:1.5rem 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e5e7eb}.auth-divider span{background:#fff;padding:0 1rem;color:#9ca3af;font-size:.9rem}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.auth-footer p{margin:0;color:#6b7280;font-size:.9rem}.auth-footer .link{color:#667eea;text-decoration:none;font-weight:500;margin-left:.5rem}.auth-footer .link:hover{text-decoration:underline}.auth-footer .link.primary{color:#667eea;font-weight:600}.loading-spinner{text-align:center;padding:2rem;color:#fff;font-size:1.1rem}.auth-buttons,.auth-menu{display:flex;align-items:center;gap:.5rem}.auth-link{padding:.5rem 1rem;border-radius:6px;transition:all .2s ease}.auth-link:hover{background:rgba(102,126,234,.1)}.auth-link.signup{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important}.auth-link.signup:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(102,126,234,.3)}.user-dropdown{position:relative}.user-trigger{cursor:pointer;border:none;background:none;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease}.user-trigger:hover{background:rgba(102,126,234,.1)}.user-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.1);min-width:250px;z-index:100}.user-info{padding:1rem;border-bottom:1px solid #e5e7eb}.user-name{margin:0 0 .25rem;font-weight:600;color:#374151}.user-email{margin:0;font-size:.9rem;color:#6b7280}.dropdown-divider{height:1px;background:#e5e7eb;margin:.5rem 0}.logout-btn{width:100%;text-align:left;border:none;background:none;cursor:pointer;color:#dc2626}.logout-btn:hover{background:#fef2f2}.profile-container{max-width:800px;margin:0 auto;padding:2rem}.profile-header{text-align:center;margin-bottom:2rem}.profile-header h1{color:#374151;margin-bottom:.5rem}.profile-header p{color:#6b7280}.profile-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);overflow:hidden}.profile-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.profile-avatar{margin-bottom:1rem}.avatar-circle{width:80px;height:80px;border-radius:50%;background:hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto}.profile-info h2{margin:0 0 .5rem;font-size:1.5rem}.profile-email{margin:0 0 .5rem;opacity:.9}.profile-joined{margin:0;opacity:.8;font-size:.9rem}.profile-form-section{padding:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0;color:#374151}.edit-button{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.edit-button:hover{background:#5a67d8}.profile-display .display-group{margin-bottom:1.5rem}.profile-display .display-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem}.profile-display .display-group p{margin:0;color:#6b7280;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.disabled-input{background:#f9fafb!important;color:#9ca3af!important}.input-help{color:#6b7280;font-size:.8rem;margin-top:.25rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.save-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500}.save-button:hover:not(:disabled){background:#5a67d8}.cancel-button{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer}.cancel-button:hover:not(:disabled){background:#4b5563}.profile-loading{text-align:center;padding:3rem}@media (max-width:480px){.auth-page{padding:1rem .5rem}.auth-container{max-width:100%}.auth-form-content,.auth-header{padding:1.5rem}.auth-header h2{font-size:1.5rem}.auth-buttons{flex-direction:column;gap:.25rem}.profile-container{padding:1rem}.form-actions{flex-direction:column}}