:root{--brand-navy: #1a365d;--brand-navy-light: #2d4a6f;--brand-navy-dark: #0f2341;--brand-gold: #c9a227;--brand-gold-light: #dbb94a;--brand-gold-dark: #a6841d;--brand-accent: #667eea;--brand-accent-light: #7c91ed;--brand-accent-dark: #5468d4;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--success: #10B981;--warning: #F59E0B;--error: #EF4444;--info: #3B82F6;--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-400);--background: var(--gray-50);--surface: #ffffff;--surface-elevated: #ffffff;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "Georgia", "Times New Roman", serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--text-primary)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:.875rem}a{color:var(--brand-navy);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--brand-gold)}:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:1rem}::selection{background-color:var(--brand-gold);color:var(--brand-navy-dark)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;padding:var(--space-5);background:radial-gradient(ellipse at 30% 20%,rgba(45,74,111,.15) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(201,162,39,.08) 0%,transparent 50%),linear-gradient(180deg,#f8f9fa,#eef1f5,#e8ecf1);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 30%,rgba(26,54,93,.03) 0%,transparent 25%),radial-gradient(circle at 80% 70%,rgba(201,162,39,.03) 0%,transparent 25%);animation:subtleFloat 20s ease-in-out infinite;pointer-events:none}@keyframes subtleFloat{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-2%,2%) rotate(1deg)}}.login-card{position:relative;z-index:1;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-8) var(--space-6);border-radius:var(--radius-2xl);box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #0000000d,0 20px 25px -5px #00000008,inset 0 1px #fff9;border:1px solid rgba(255,255,255,.8);text-align:center;max-width:420px;width:100%;animation:cardEntrance .6s cubic-bezier(.16,1,.3,1)}@keyframes cardEntrance{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo-container{margin-bottom:var(--space-6);display:flex;justify-content:center;align-items:center}.login-logo{max-width:180px;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.06));transition:transform var(--transition-slow)}.login-logo:hover{transform:scale(1.02)}.login-brand{margin-bottom:var(--space-2)}.login-brand h1{font-size:2rem;font-weight:700;color:var(--brand-navy);letter-spacing:-.02em;margin:0}.login-tagline{font-size:1rem;font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-8);letter-spacing:.01em}.login-divider{display:flex;align-items:center;margin-bottom:var(--space-6)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gray-200),transparent)}.login-divider span{padding:0 var(--space-4);font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.login-social-buttons{display:flex;justify-content:center;align-items:center;gap:var(--space-5);margin-bottom:var(--space-5)}.social-login-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-full);border:1.5px solid var(--gray-200);background:var(--surface);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.social-login-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--gray-300)}.social-login-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.social-login-btn:focus-visible{outline:2px solid var(--brand-gold);outline-offset:2px}.social-login-google{background:var(--surface)}.social-login-google:hover{background:#f8f9fa}.social-login-x{color:#000}.social-login-x:hover{background:#f5f5f5;border-color:#000}.social-login-apple{color:#000}.social-login-apple:hover{background:#000;color:#fff;border-color:#000}.login-button-wrapper{display:flex;justify-content:center;margin-bottom:var(--space-6)}.login-button-wrapper>div{transition:transform var(--transition-base),box-shadow var(--transition-base)}.login-button-wrapper>div:hover{transform:translateY(-1px)}.login-footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--gray-100)}.login-footer p{font-size:.75rem;color:var(--text-muted);line-height:1.6}.login-footer a{color:var(--brand-navy);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.login-footer a:hover{color:var(--brand-gold)}.login-footer .privacy-link{display:block;margin-top:var(--space-3);font-size:.7rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.login-footer .privacy-link:hover{color:var(--brand-gold)}.login-features{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap}.login-feature-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--gray-50);border-radius:var(--radius-full);font-size:.75rem;color:var(--text-secondary);font-weight:500}.login-feature-badge svg{width:14px;height:14px;color:var(--brand-gold)}@media(max-width:480px){.login-container{padding:var(--space-4);align-items:flex-start;padding-top:15vh}.login-card{padding:var(--space-6) var(--space-5);border-radius:var(--radius-xl)}.login-logo{max-width:150px}.login-brand h1{font-size:1.75rem}.login-tagline{font-size:.9375rem;margin-bottom:var(--space-6)}.social-login-btn{width:52px;height:52px}.login-social-buttons{gap:var(--space-4)}}@media(prefers-reduced-motion:reduce){.login-card{animation:none}.login-container:before{animation:none}.login-logo:hover{transform:none}}.menu-overlay{position:fixed;inset:0;background:#1a365d66;z-index:1001;animation:overlayFadeIn .35s cubic-bezier(.4,0,.2,1)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.menu-sidebar{position:fixed;top:0;left:-320px;width:320px;height:100vh;background:var(--surface);z-index:1002;box-shadow:var(--shadow-2xl);transition:left .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden}.menu-sidebar.open{left:0}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-5) var(--space-5);border-bottom:1px solid var(--gray-100)}.menu-brand-text{margin:0;font-size:.875rem;font-weight:600;color:var(--brand-navy);letter-spacing:.18em;text-transform:uppercase}.menu-brand{font-size:1.5rem;font-weight:700;color:var(--brand-navy);letter-spacing:-.02em}.menu-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--text-muted);padding:0;transition:all var(--transition-base)}.menu-close:hover{background:var(--gray-100);color:var(--brand-navy)}.menu-close svg{stroke-width:1.5}.menu-list{list-style:none;padding:var(--space-6) 0;margin:0}.menu-list li{opacity:0;animation:menuItemSlideIn .35s cubic-bezier(.4,0,.2,1) forwards}@keyframes menuItemSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.menu-list a{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);text-decoration:none;color:var(--text-secondary);font-size:.9375rem;font-weight:500;letter-spacing:.01em;transition:all var(--transition-base);border-left:2px solid transparent;margin:var(--space-1) 0}.menu-list a:hover{color:var(--brand-navy);background:#1a365d05;transform:translate(2px);border-left-color:var(--gray-200)}.menu-list a.active{color:var(--brand-navy);background:#1a365d0a;border-left-color:var(--brand-navy);font-weight:600}.menu-item-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;opacity:.5;transition:opacity var(--transition-base)}.menu-list a:hover .menu-item-icon{opacity:.7}.menu-list a.active .menu-item-icon{opacity:1}.menu-item-text{flex:1}.menu-item-indicator{position:absolute;right:var(--space-5);width:3px;height:3px;background:var(--brand-navy);border-radius:var(--radius-full);opacity:.6}.menu-footer{margin-top:auto;padding:var(--space-5) 0 var(--space-6);border-top:1px solid var(--gray-100)}.menu-divider{height:1px;background:var(--gray-100);margin:0 var(--space-5) var(--space-5)}.menu-logout{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);background:none;border:none;border-left:2px solid transparent;color:var(--text-muted);font-size:.9375rem;font-weight:500;letter-spacing:.01em;cursor:pointer;font-family:inherit;transition:all var(--transition-base);text-align:left}.menu-logout:hover{color:var(--error);background:#ef44440a;transform:translate(2px);border-left-color:#ef444433}.menu-logout .menu-item-icon{opacity:.5}.menu-logout:hover .menu-item-icon{opacity:.8}.menu-user-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);margin:var(--space-5) 0 0;background:var(--gray-50);border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100)}.menu-user-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--brand-gold);flex-shrink:0}.menu-user-details{flex:1;min-width:0}.menu-user-name{margin:0 0 var(--space-1) 0;font-size:.875rem;font-weight:600;color:var(--brand-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.menu-user-email{margin:0;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.menu-sidebar::-webkit-scrollbar{width:4px}.menu-sidebar::-webkit-scrollbar-track{background:transparent}.menu-sidebar::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:2px}.menu-sidebar::-webkit-scrollbar-thumb:hover{background:var(--gray-300)}@media(max-width:640px){.menu-sidebar{width:280px;left:-280px}.menu-header{padding:var(--space-5) var(--space-4) var(--space-4)}.menu-list{padding:var(--space-5) 0}.menu-list a,.menu-logout{padding:var(--space-3) var(--space-4)}.menu-user-info{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4)}}.home-container{min-height:100vh;background:var(--background)}.header{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);padding:var(--space-4) 0;position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:0 var(--space-4);display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:var(--space-3)}.header h1{font-size:1.5rem;color:var(--brand-navy);margin:0;font-weight:700;letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.icon-button{width:40px;height:40px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);position:relative}.notification-button{position:relative}.notification-badge{position:absolute;top:4px;right:4px;background:var(--error);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:var(--shadow-sm);border:2px solid white}.sort-container{position:relative}.sort-dropdown{position:absolute;top:calc(100% + var(--space-3));right:0;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);min-width:220px;z-index:1000;padding:var(--space-2);animation:menuSlideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.sort-dropdown button{display:block;width:100%;padding:var(--space-4) var(--space-5);border:none;background:transparent;text-align:left;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary);font-size:.95rem;font-weight:500;border-radius:var(--radius-lg);line-height:1.5;letter-spacing:-.01em;position:relative;overflow:hidden}.sort-dropdown button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1a365d0d,#c9a2270d);opacity:0;transition:opacity var(--transition-base)}.sort-dropdown button:hover{background:#1a365d0a;transform:translate(2px)}.sort-dropdown button:hover:before{opacity:1}.sort-dropdown button.active{background:var(--brand-navy);color:#fff;font-weight:600;box-shadow:var(--shadow-md);transform:translate(0)}.sort-dropdown button.active:before{opacity:0}.search-bar{max-width:1400px;margin:0 auto;padding:var(--space-4);display:flex;align-items:center;gap:var(--space-2);animation:slideDown .2s ease}.search-bar input{flex:1;padding:var(--space-3) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:1rem;outline:none;transition:border-color var(--transition-base);background:var(--surface)}.search-bar input:focus{border-color:var(--brand-navy)}.search-close{width:36px;height:36px;border:none;background:var(--gray-100);border-radius:var(--radius-full);font-size:1.5rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.search-close:hover{background:var(--gray-200);color:var(--brand-navy)}.user-menu-container{position:relative}.user-avatar-button{border:none;background:transparent;padding:0;cursor:pointer;display:flex;align-items:center;border-radius:var(--radius-full);transition:transform var(--transition-base)}.user-avatar-button:hover{transform:scale(1.05)}.user-avatar-button img{width:40px;height:40px;border-radius:var(--radius-full);border:2px solid transparent;transition:border-color var(--transition-base)}.user-avatar-button:hover img{border-color:var(--brand-gold)}.user-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:200px;overflow:hidden;z-index:1000;animation:slideDown .2s ease}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-5);border:none;background:transparent;text-align:left;cursor:pointer;transition:background var(--transition-base);color:var(--text-primary);text-decoration:none;font-size:.95rem;font-weight:500}.user-dropdown-item:hover{background:var(--gray-50)}.user-dropdown-item.logout{color:var(--error)}.user-dropdown-item.logout:hover{background:#fef2f2}.user-dropdown-item svg{flex-shrink:0}.user-dropdown-divider{height:1px;background:var(--gray-200);margin:var(--space-1) 0}.content{max-width:1400px;margin:0 auto;padding:var(--space-6) var(--space-4)}.main-layout{display:flex;gap:var(--space-6);align-items:flex-start}.main-content{flex:1;min-width:0}.actions{margin-bottom:var(--space-6)}.btn-primary{display:inline-block;padding:var(--space-4) var(--space-6);background:var(--brand-navy);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:1.1rem;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--brand-navy-light);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.loading{text-align:center;padding:var(--space-8);font-size:1.2rem;color:var(--text-secondary)}.log-card{background:linear-gradient(to bottom,var(--surface),var(--gray-50));border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:transform var(--transition-slow),box-shadow var(--transition-slow);box-shadow:var(--shadow-md);display:flex;flex-direction:column;border:1px solid var(--gray-100);position:relative}.log-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--shadow-xl)}.log-image{width:100%;height:320px;object-fit:cover;filter:brightness(.98);transition:filter var(--transition-slow)}.log-card:hover .log-image{filter:brightness(1.02)}.log-info{padding:var(--space-5);display:flex;flex-direction:column;flex-grow:1;gap:var(--space-4)}.log-info h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--brand-navy);line-height:1.4;letter-spacing:-.01em;flex-grow:1}.log-badges{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.log-type-badge{padding:var(--space-2) var(--space-4);background:var(--brand-accent);color:#fff;border-radius:var(--radius-full);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #667eea4d;transition:transform var(--transition-base),box-shadow var(--transition-base)}.log-type-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.log-score-badge{padding:var(--space-2) var(--space-4);background:var(--brand-gold);color:var(--brand-navy-dark);border-radius:var(--radius-full);font-weight:700;font-size:.85rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base);display:flex;align-items:center;gap:var(--space-1)}.log-score-badge:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.filter-panel{width:280px;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);position:sticky;top:90px;max-height:calc(100vh - 120px);overflow-y:auto}@media(max-width:768px){.header h1{font-size:1.25rem}.icon-button{width:44px;height:44px}.main-layout{flex-direction:column}.filter-panel{width:100%;position:static;max-height:none;margin-bottom:var(--space-4)}.logs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.search-bar{padding:var(--space-3) var(--space-4)}.sort-dropdown{right:calc(-1 * var(--space-2))}}.app-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);gap:var(--space-4)}.app-header-left{display:flex;align-items:center;gap:var(--space-4);flex:1}.app-header-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--brand-navy);letter-spacing:-.02em}.btn-smart-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary)}.btn-smart-back:hover{background:var(--gray-100);color:var(--brand-navy)}.btn-smart-back:active{transform:scale(.95)}.btn-menu{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary)}.btn-menu:hover{background:var(--gray-100);color:var(--brand-navy)}.btn-post-header{display:flex;align-items:center;gap:var(--space-2);padding:.625rem 1.25rem;background:var(--brand-accent);color:#fff;border:none;border-radius:var(--radius-full);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 14px #667eea59}.btn-post-header:hover{background:var(--brand-accent-light);transform:translateY(-1px);box-shadow:0 6px 20px #667eea66}.btn-post-header:active{transform:translateY(0)}.btn-post-header svg{flex-shrink:0}.btn-post-header span{font-weight:600;letter-spacing:.01em}.app-header-right{display:flex;align-items:center;gap:var(--space-3)}.btn-profile-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:var(--radius-full);cursor:pointer;padding:0;transition:all var(--transition-base)}.btn-profile-avatar:hover{transform:scale(1.05)}.btn-profile-avatar img{width:40px;height:40px;border-radius:var(--radius-full);border:2px solid transparent;transition:border-color var(--transition-base);object-fit:cover}.btn-profile-avatar:hover img{border-color:var(--brand-gold)}@media(max-width:640px){.app-header{padding:.625rem var(--space-3)}.app-header-title{font-size:1.125rem}.btn-post-header{padding:var(--space-2) var(--space-4);font-size:.875rem}.btn-post-header span{display:none}.btn-post-header svg{margin:0}}.analysis-ad-container{display:flex;flex-direction:column;align-items:center;margin-top:var(--space-6);padding:var(--space-4)}.analysis-ad-label{font-size:.7rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2)}.analysis-ad-frame{width:300px;height:250px;background:#fff9;border:1px solid rgba(26,54,93,.1);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc}.analysis-ad-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-muted)}.analysis-ad-placeholder svg{opacity:.4}.analysis-ad-placeholder span{font-size:.85rem;font-weight:500;opacity:.5}@media(max-width:480px){.analysis-ad-frame{width:280px;height:230px}}.new-log-container{min-height:100vh;background:var(--background);padding-bottom:var(--space-8)}.upload-section{max-width:680px;margin:var(--space-8) auto;padding:0 var(--space-6)}.upload-box{background:linear-gradient(135deg,var(--gray-50) 0%,var(--surface) 100%);border:2px dashed var(--gray-300);border-radius:var(--radius-2xl);padding:6rem var(--space-8);text-align:center;transition:all var(--transition-slow);box-shadow:var(--shadow-sm)}.upload-label:hover .upload-box{border-color:var(--brand-navy);border-style:solid;transform:translateY(-4px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,rgba(26,54,93,.02) 0%,var(--surface) 100%)}.upload-box svg{color:var(--brand-navy);margin-bottom:var(--space-5);opacity:.7}.upload-box p{color:var(--text-secondary);font-size:1.125rem;font-weight:500;margin:0;letter-spacing:-.01em}.analyzing{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.analyzing p{font-size:1.125rem;color:var(--brand-navy);font-weight:600;margin:0;letter-spacing:-.01em}.spinner{width:56px;height:56px;border:4px solid var(--gray-200);border-top:4px solid var(--brand-navy);border-radius:var(--radius-full);animation:spin .8s linear infinite}.edit-section{max-width:900px;margin:var(--space-8) auto;padding:0 var(--space-6)}.preview-image{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.preview-image img{width:100%;max-height:480px;object-fit:contain;border-radius:var(--radius-lg)}.edit-form{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.form-group{margin-bottom:var(--space-6)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:600;font-size:.9rem;color:var(--brand-navy);letter-spacing:-.01em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--gray-200);background:var(--gray-50);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;color:var(--text-primary);transition:all var(--transition-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-navy);background:var(--surface);box-shadow:0 0 0 4px #1a365d14}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5)}.btn-submit{width:100%;padding:var(--space-4);background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.0625rem;font-weight:600;cursor:pointer;margin-top:var(--space-5);transition:all var(--transition-base);box-shadow:var(--shadow-md);letter-spacing:-.01em}.btn-submit:hover:not(:disabled){background:var(--brand-navy-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{background:var(--gray-300);cursor:not-allowed;transform:none;box-shadow:none}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--gray-200);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-lg)}.autocomplete-suggestions li{padding:var(--space-3) var(--space-4);cursor:pointer;transition:all var(--transition-fast);border-bottom:1px solid var(--gray-100);color:var(--text-primary);font-size:.9375rem}.autocomplete-suggestions li:hover{background:var(--gray-50);color:var(--brand-navy)}.form-group input.error{border-color:var(--error);background:#fef2f2}.error-message{display:block;color:var(--error);font-size:.875rem;margin-top:var(--space-1);font-weight:500}.helper-text{font-size:.875rem;color:var(--text-secondary);margin-top:var(--space-2);line-height:1.5}.helper-text a{color:var(--brand-navy);text-decoration:none;font-weight:600;transition:color var(--transition-fast)}@media(max-width:768px){.upload-section,.edit-section{padding:0 var(--space-4);margin:var(--space-6) auto}.upload-box{padding:var(--space-10) var(--space-6);border-radius:var(--radius-xl)}.preview-image,.edit-form{border-radius:var(--radius-lg);padding:var(--space-5)}.form-row{grid-template-columns:1fr}}.new-log-container{min-height:100vh;background:var(--background);padding-bottom:var(--space-6)}.new-log-header{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-4)}.btn-back{padding:var(--space-2) var(--space-4);background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all var(--transition-base)}.btn-back:hover{background:var(--brand-navy-light)}.new-log-header h1{margin:0;font-size:1.5rem;color:var(--brand-navy);font-weight:700}.upload-section{max-width:600px;margin:var(--space-6) auto;padding:0 var(--space-4)}.upload-label{display:block;cursor:pointer}.upload-box{background:var(--surface);border:3px dashed var(--gray-300);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-6);text-align:center;transition:all var(--transition-base)}.upload-label:hover .upload-box{border-color:var(--brand-navy);border-style:solid}.upload-box svg{color:var(--text-muted);margin-bottom:var(--space-4)}.upload-box p{color:var(--text-secondary);font-size:1.1rem;margin:0}.analyzing{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.analyzing p{font-size:1.2rem;color:var(--brand-navy);font-weight:600;margin:0}.spinner{width:50px;height:50px;border:4px solid var(--gray-200);border-top:4px solid var(--brand-navy);border-radius:var(--radius-full);animation:spin 1s linear infinite}.edit-section{max-width:800px;margin:var(--space-6) auto;padding:0 var(--space-4)}.preview-image{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-4);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.preview-image img{width:100%;max-height:400px;object-fit:contain;border-radius:var(--radius-lg)}.image-rotation-controls{display:flex;gap:var(--space-4);justify-content:center;margin-top:var(--space-4)}.btn-rotate{padding:var(--space-2) var(--space-4);background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-rotate:hover{background:var(--brand-navy-light)}.btn-rotate:active{transform:scale(.95)}.edit-form{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:600;color:var(--brand-navy)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;transition:border-color var(--transition-base);background:var(--surface)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-navy)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.btn-submit{width:100%;padding:var(--space-4);background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:var(--space-4);transition:all var(--transition-base);box-shadow:var(--shadow-md)}.btn-submit:hover:not(:disabled){background:var(--brand-navy-light);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-submit:disabled{background:var(--gray-300);cursor:not-allowed}.autocomplete-container{position:relative}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:2px solid var(--gray-200);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-lg)}.autocomplete-suggestions li{padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--gray-100)}.autocomplete-suggestions li:last-child{border-bottom:none}.autocomplete-suggestions li:hover{background:var(--gray-50)}.form-group input.error{border-color:var(--error)}.error-message{display:block;color:var(--error);font-size:.875rem;margin-top:var(--space-1)}.helper-text{font-size:.875rem;color:var(--text-muted);margin-top:var(--space-2)}.helper-text a{color:var(--brand-navy);text-decoration:none;transition:color var(--transition-fast)}.helper-text a:hover{color:var(--brand-gold);text-decoration:underline}.log-detail-container{min-height:100vh;background:var(--background)}.log-actions-header{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;gap:var(--space-2);z-index:101}.btn-edit-icon,.btn-delete-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.btn-edit-icon{color:var(--brand-navy)}.btn-edit-icon:hover{background:var(--brand-navy);color:#fff;transform:scale(1.05);box-shadow:var(--shadow-lg)}.btn-delete-icon{color:var(--error)}.btn-delete-icon:hover{background:var(--error);color:#fff;transform:scale(1.05);box-shadow:var(--shadow-lg)}.btn-edit-icon svg,.btn-delete-icon svg{flex-shrink:0}.loading-page,.error-page{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.5rem;color:var(--text-secondary)}.log-detail-content{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}@media(max-width:768px){.log-detail-content{grid-template-columns:1fr;padding:var(--space-6) var(--space-4)}}.log-detail-image{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-4);height:fit-content;position:sticky;top:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.log-detail-image img{width:100%;border-radius:var(--radius-lg)}.log-detail-info{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.user-info{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--gray-200)}.user-info img{width:40px;height:40px;border-radius:var(--radius-full);border:2px solid var(--brand-gold)}.user-name{font-weight:600;color:var(--brand-navy);text-decoration:none;transition:color var(--transition-fast)}.user-name:hover{color:var(--brand-gold);text-decoration:underline}.log-detail-info h1{margin:0 0 var(--space-6) 0;font-size:2.25rem;font-weight:700;color:var(--brand-navy);line-height:1.3;letter-spacing:-.02em}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6);margin-bottom:var(--space-6)}.info-item{display:flex;flex-direction:column;gap:var(--space-2)}.info-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.info-value{font-size:1.15rem;color:var(--text-primary);font-weight:600;line-height:1.5}.score-badge{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--brand-gold);color:var(--brand-navy-dark);border-radius:var(--radius-full);font-weight:700}.memo-section{border-top:1px solid var(--gray-200);padding-top:var(--space-6);margin-bottom:var(--space-6)}.memo-section h3{margin:0 0 var(--space-4) 0;font-size:1.3rem;color:var(--brand-navy)}.memo-section p{font-size:1.1rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap}.engagement-section{border-top:1px solid var(--gray-200);padding-top:var(--space-5);margin-bottom:var(--space-6)}.engagement-actions{display:flex;gap:var(--space-3);align-items:center}.btn-engagement{display:flex;align-items:center;gap:var(--space-2);padding:.625rem 1.25rem;border:1px solid var(--gray-200);background:var(--gray-50);border-radius:var(--radius-full);font-size:.95rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.btn-engagement:hover:not(:disabled){background:var(--surface);border-color:var(--gray-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-engagement:disabled{opacity:.5;cursor:not-allowed}.btn-engagement svg{flex-shrink:0}.btn-like:hover:not(:disabled){border-color:#ff6b9d;color:#ff6b9d}.btn-like.liked{border-color:#ff6b9d;background:linear-gradient(135deg,#ff6b9d,#ff4d7d);color:#fff;box-shadow:var(--shadow-md)}.btn-like.liked svg{fill:#fff;stroke:none}.btn-comment:hover:not(:disabled){border-color:var(--brand-navy);color:var(--brand-navy)}.btn-bookmark:hover:not(:disabled){border-color:var(--warning);color:var(--warning)}.btn-bookmark.bookmarked{border-color:var(--warning);background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:var(--shadow-md)}.btn-bookmark.bookmarked svg{fill:#fff;stroke:none}.comments-section{border-top:1px solid var(--gray-200);padding-top:var(--space-6)}.comments-section h3{margin:0 0 var(--space-5) 0;font-size:1.3rem;color:var(--brand-navy)}.comment-form{margin-bottom:var(--space-6)}.comment-form textarea{width:100%;padding:var(--space-4) var(--space-5);border:1px solid var(--gray-200);background:var(--gray-50);border-radius:var(--radius-md);font-size:.95rem;font-family:inherit;resize:vertical;transition:all var(--transition-base);margin-bottom:var(--space-3);line-height:1.6}.comment-form textarea:focus{outline:none;border-color:var(--brand-navy);background:var(--surface);box-shadow:0 0 0 3px #1a365d14}.btn-submit-comment{padding:.625rem var(--space-5);background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.btn-submit-comment:hover:not(:disabled){background:var(--brand-navy-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-submit-comment:disabled{opacity:.5;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:var(--space-3)}.no-comments{text-align:center;color:var(--text-muted);padding:var(--space-6);font-size:1rem}.comment-item{display:flex;gap:var(--space-4);padding:var(--space-5);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-100)}.comment-item:last-child{margin-bottom:0}.comment-avatar{flex-shrink:0}.comment-avatar img{width:40px;height:40px;border-radius:var(--radius-full);border:2px solid var(--gray-200)}.comment-content{flex:1;min-width:0}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.comment-user{text-decoration:none;color:inherit;display:flex;align-items:center;gap:var(--space-2)}.comment-user strong{color:var(--text-primary);font-weight:600}.comment-username{color:var(--brand-navy);font-size:.9rem}.comment-time{color:var(--text-muted);font-size:.85rem}.comment-text{margin:0 0 var(--space-3) 0;color:var(--text-primary);line-height:1.5;word-wrap:break-word}.btn-delete-comment{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--gray-200);border-radius:var(--radius-md);color:var(--error);font-size:.85rem;cursor:pointer;transition:all var(--transition-base)}.btn-delete-comment:hover{background:#fef2f2;border-color:#fecaca}.paywall-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:var(--space-5);position:relative}.paywall-card{position:relative;z-index:1;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-8) var(--space-6);border-radius:var(--radius-2xl);box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #0000000d,0 20px 25px -5px #00000008,inset 0 1px #fff9;border:1px solid rgba(255,255,255,.8);text-align:center;max-width:420px;width:100%;animation:paywallEntrance .6s cubic-bezier(.16,1,.3,1)}@keyframes paywallEntrance{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.paywall-icon{margin-bottom:var(--space-4);color:var(--brand-navy);opacity:.8}.paywall-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--brand-gold),#d4af37);color:#fff;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;letter-spacing:.02em;margin-bottom:var(--space-5);box-shadow:0 2px 8px #c9a2274d}.paywall-badge svg{flex-shrink:0}.paywall-title{font-size:1.5rem;font-weight:700;color:var(--brand-navy);letter-spacing:-.02em;margin:0 0 var(--space-3) 0}.paywall-description{font-size:1rem;font-weight:400;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-6)}.paywall-features{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6);text-align:left}.paywall-feature{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--gray-50);border-radius:var(--radius-md)}.paywall-feature svg{color:var(--brand-gold);flex-shrink:0}.paywall-feature span{font-size:.95rem;color:var(--text-primary);font-weight:500}.paywall-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-6);background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-light));color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 14px #1a365d4d}.paywall-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1a365d66}.paywall-cta:active{transform:translateY(0)}.paywall-cta svg{color:var(--brand-gold)}.paywall-footer{margin-top:var(--space-5);font-size:.8rem;color:var(--text-muted)}@media(max-width:480px){.paywall-container{padding:var(--space-4);min-height:50vh}.paywall-card{padding:var(--space-6) var(--space-5);border-radius:var(--radius-xl)}.paywall-title{font-size:1.25rem}.paywall-description{font-size:.9375rem}}@media(prefers-reduced-motion:reduce){.paywall-card{animation:none}}.user-profile-container{min-height:100vh;background:var(--background)}.profile-header{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);padding:var(--space-4)}.profile-content{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4)}.profile-info{text-align:center;background:linear-gradient(to bottom,var(--surface),var(--gray-50));border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.profile-avatar{width:120px;height:120px;border-radius:var(--radius-full);margin-bottom:var(--space-4);border:4px solid var(--brand-gold);box-shadow:var(--shadow-lg);transition:transform var(--transition-slow)}.profile-avatar:hover{transform:scale(1.05)}.profile-info h1{margin:0 0 var(--space-2) 0;font-size:2rem;font-weight:700;color:var(--brand-navy);letter-spacing:-.02em}.profile-username{color:var(--brand-navy);font-size:1.1rem;font-weight:600;margin:var(--space-1) 0}.profile-bio{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:var(--space-4) auto;max-width:600px;padding:0 var(--space-4)}.profile-stats{color:var(--text-secondary);font-size:.95rem;font-weight:400;margin:var(--space-4) 0;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.profile-stats .stat-link{color:var(--text-primary);text-decoration:none;transition:color var(--transition-base)}.profile-stats .stat-link:hover{color:var(--brand-navy)}.profile-stats .stat-link strong{font-weight:600;color:var(--brand-navy)}.profile-stats .stat-divider{color:var(--gray-300)}.btn-follow{margin-top:var(--space-5);padding:var(--space-3) var(--space-6);background:var(--brand-navy);color:#fff;border:none;border-radius:var(--radius-full);font-weight:600;font-size:1rem;cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.btn-follow:hover:not(:disabled){background:var(--brand-navy-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-follow.following{background:var(--surface);color:var(--brand-navy);border:2px solid var(--brand-navy);box-shadow:var(--shadow-sm)}.btn-follow.following:hover:not(:disabled){background:var(--gray-50);border-color:var(--brand-gold);color:var(--brand-gold)}.btn-follow:disabled{opacity:.6;cursor:not-allowed}.profile-tabs{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6);background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-2);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.profile-tabs .tab-button{flex:1;max-width:200px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:none;background:transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.profile-tabs .tab-button:hover{background:var(--gray-100);color:var(--brand-navy)}.profile-tabs .tab-button.active{background:var(--brand-navy);color:#fff;box-shadow:var(--shadow-sm)}.profile-tabs .tab-button svg{flex-shrink:0}.bar-filter{background:linear-gradient(to bottom,var(--surface),var(--gray-50));border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-4);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.bar-filter label{font-weight:600;color:var(--brand-navy)}.bar-filter select{flex:1;max-width:300px;padding:var(--space-3);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:1rem;background:var(--surface);cursor:pointer;transition:border-color var(--transition-base)}.bar-filter select:focus{outline:none;border-color:var(--brand-navy)}.profile-logs,.profile-spots{background:linear-gradient(to bottom,var(--surface),var(--gray-50));border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.spots-list{display:flex;flex-direction:column;gap:var(--space-4)}.spot-item{position:relative;padding:var(--space-5);background:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-xl);transition:all var(--transition-base)}.spot-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--gray-300)}.spot-rank{position:absolute;top:var(--space-4);left:var(--space-4);width:36px;height:36px;background:var(--brand-navy);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;box-shadow:var(--shadow-sm);z-index:1}.spot-content{display:flex;gap:var(--space-5);align-items:flex-start;margin-left:var(--space-6)}.spot-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap}.spot-name{margin:0;font-size:1.25rem;font-weight:700;color:var(--brand-navy);letter-spacing:-.02em;line-height:1.3}.spot-drink-count{padding:var(--space-1) var(--space-3);background:var(--brand-navy);color:#fff;font-size:.8125rem;font-weight:600;border-radius:var(--radius-full);white-space:nowrap;box-shadow:var(--shadow-sm)}.spot-badge{display:inline-block;margin:0 0 var(--space-2) 0;padding:var(--space-1) var(--space-3);font-size:.6875rem;color:var(--brand-navy);background:#1a365d14;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-sm)}.spot-address{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5;font-weight:400}.spot-maps-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:.8125rem;color:var(--brand-navy);text-decoration:none;font-weight:600;letter-spacing:-.01em;transition:all var(--transition-base)}.spot-maps-link:hover{color:var(--brand-gold);text-decoration:underline;transform:translate(2px)}.spot-images{display:flex;gap:var(--space-2);flex-shrink:0}.spot-preview-image{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.spot-preview-image:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.logs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.log-card{display:block;background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid var(--gray-100)}.log-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.log-image{width:100%;aspect-ratio:1;object-fit:cover}.log-info{padding:var(--space-4)}.log-info h3{margin:0 0 var(--space-1) 0;font-size:1rem;font-weight:600;color:var(--brand-navy);line-height:1.3}.log-type{margin:0 0 var(--space-2) 0;font-size:.875rem;color:var(--text-secondary)}.log-score{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--brand-gold);color:var(--brand-navy-dark);font-size:.875rem;font-weight:700;border-radius:var(--radius-md)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-secondary)}.empty-state p{font-size:1rem;margin:0}@media(max-width:768px){.profile-content{padding:var(--space-4)}.profile-info{padding:var(--space-6) var(--space-4)}.profile-avatar{width:100px;height:100px}.profile-info h1{font-size:1.5rem}.profile-stats{flex-wrap:wrap;font-size:.875rem}.profile-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-tabs .tab-button{min-width:120px;padding:var(--space-3) var(--space-4);font-size:.9rem}.bar-filter{flex-direction:column;align-items:stretch;padding:var(--space-4)}.bar-filter select{max-width:100%}.profile-logs,.profile-spots{padding:var(--space-4)}.logs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.spot-item{padding:var(--space-4)}.spot-rank{width:32px;height:32px;font-size:.8125rem}.spot-content{flex-direction:column;margin-left:var(--space-5);gap:var(--space-4)}.spot-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.spot-name{font-size:1.125rem}.spot-images{align-self:flex-start}.spot-preview-image{width:70px;height:70px}}.profile-settings-container{min-height:100vh;background:linear-gradient(to bottom,#fafafa,#f0f0f0);padding:2rem 1rem}.settings-content{max-width:700px;margin:0 auto}.settings-header{margin-bottom:2rem}.settings-header h1{font-size:2rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem;letter-spacing:-.02em}.settings-header p{color:#666;font-size:1rem;margin:0}.settings-form{background:linear-gradient(to bottom,#fff,#fafafa);border-radius:1.25rem;padding:2rem;box-shadow:0 4px 20px #00000014,0 1px 3px #0000000d;border:1px solid rgba(0,0,0,.04)}.alert{padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1.5rem;font-weight:500}.alert-error{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;box-shadow:0 2px 8px #ff6b6b4d}.alert-success{background:linear-gradient(135deg,#51cf66,#37b24d);color:#fff;box-shadow:0 2px 8px #51cf664d}.form-section{margin-bottom:2rem}.form-section h2{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid rgba(102,126,234,.1)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#1a1a1a;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:.75rem;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:100px}.form-hint{display:block;margin-top:.5rem;font-size:.85rem;color:#999}.username-input-group{position:relative;display:flex;align-items:center}.username-prefix{position:absolute;left:1rem;color:#666;font-weight:600;pointer-events:none}.username-input-group input{padding-left:2.25rem;padding-right:7rem}.username-status{position:absolute;right:1rem;font-size:.85rem;font-weight:600}.username-status.checking{color:#999}.username-status.available{color:#37b24d}.username-status.taken{color:#ee5a6f}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #f0f0f0}.btn-primary,.btn-secondary{padding:.875rem 2rem;border:none;border-radius:.75rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#666;border:2px solid #e0e0e0}.btn-secondary:hover{background:#f5f5f5;border-color:#ccc}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:#666}@media(max-width:768px){.profile-settings-container{padding:1rem}.settings-form{padding:1.5rem}.settings-header h1{font-size:1.75rem}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.my-spots-container{min-height:100vh;background:#f8f9fa}.my-spots-content{max-width:900px;margin:0 auto;padding:0 2rem 3rem}.hero-search-section{padding:3rem 0 2.5rem;text-align:center}.page-title{font-size:2.5rem;font-weight:700;color:#0f172a;margin:0 0 .75rem;letter-spacing:-.02em}.page-subtitle{font-size:1.1rem;color:#64748b;margin:0 0 2.5rem;font-weight:400}.hero-search-form{display:flex;gap:.75rem;max-width:600px;margin:0 auto}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1.25rem;color:#94a3b8;pointer-events:none}.hero-search-input{width:100%;padding:1rem 1.25rem 1rem 3.25rem;border:1px solid #e2e8f0;background:#fff;border-radius:1.5rem;font-size:1rem;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);color:#0f172a}.hero-search-input::placeholder{color:#94a3b8}.hero-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.search-clear-button{position:absolute;right:1rem;width:24px;height:24px;border:none;background:#e2e8f0;color:#64748b;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s}.search-clear-button:hover{background:#cbd5e1;color:#0f172a}.hero-search-button{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #667eea40;white-space:nowrap;min-width:100px;display:flex;align-items:center;justify-content:center}.hero-search-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.hero-search-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{animation:spin 1s linear infinite}.spot-error{padding:1rem 1.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#dc2626;margin-bottom:1.5rem;text-align:center;font-size:.95rem}.search-results{margin-bottom:3rem}.search-results h2{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 1.25rem}.section-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 1.5rem;letter-spacing:-.01em}.spot-list{display:flex;flex-direction:column;gap:1rem}.spot-card{display:flex;align-items:center;gap:1.5rem;padding:1.75rem 2rem;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.spot-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:#cbd5e1}.spot-card.saved{background:#fafafa}.spot-info{flex:1;min-width:0}.spot-info h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#0f172a;letter-spacing:-.02em;line-height:1.3}.spot-category{display:inline-block;margin:0 0 .625rem;padding:.25rem .75rem;font-size:.6875rem;color:#667eea;background:#667eea14;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:.375rem}.spot-address{margin:0;font-size:.875rem;color:#64748b;line-height:1.5;font-weight:400}.spot-maps-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.8125rem;color:#667eea;text-decoration:none;font-weight:600;letter-spacing:-.01em;transition:all .2s}.spot-maps-link:hover{color:#764ba2;text-decoration:underline;transform:translate(2px)}.spot-add-button,.spot-delete-button{padding:.625rem 1.5rem;border:none;border-radius:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.spot-add-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea40}.spot-add-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.spot-delete-button{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.spot-delete-button:hover{background:#dc2626;color:#fff;border-color:#dc2626;transform:translateY(-1px)}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;max-width:480px;margin:0 auto}.empty-state-icon{margin:0 auto 1.5rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:50%;color:#94a3b8}.empty-state-title{font-size:1.375rem;font-weight:600;color:#0f172a;margin:0 0 .75rem}.empty-state-description{font-size:1rem;color:#64748b;margin:0;line-height:1.6}.my-spots-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.25rem;color:#64748b}@media(max-width:768px){.my-spots-content{padding:0 1rem 2rem}.hero-search-section{padding:2rem 0 1.5rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.hero-search-form{flex-direction:column;gap:.75rem}.hero-search-button{width:100%}.spot-card{padding:1.5rem;gap:1rem}.spot-info h3{font-size:1.125rem}.spot-add-button,.spot-delete-button{padding:.5rem 1.25rem;font-size:.875rem}.empty-state{padding:3rem 1.5rem}.empty-state-title{font-size:1.25rem}.empty-state-description{font-size:.9375rem}}.discovery-container{min-height:100vh;background:var(--background)}.discovery-header{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);padding:var(--space-4) 0;position:sticky;top:0;z-index:100}.discovery-header .header-content{max-width:1400px;margin:0 auto;padding:0 var(--space-4);display:flex;justify-content:space-between;align-items:center}.tabs-container{max-width:1400px;margin:var(--space-4) auto 0;padding:0 var(--space-4);display:flex;gap:var(--space-2);border-bottom:2px solid var(--gray-200)}.tab-button{flex:1;max-width:200px;padding:var(--space-3) var(--space-5);background:transparent;border:none;border-bottom:3px solid transparent;font-weight:600;font-size:1rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-slow);position:relative;bottom:-2px}.tab-button:hover{color:var(--brand-navy)}.tab-button.active{color:var(--brand-navy);border-bottom-color:var(--brand-navy)}.discovery-layout{display:flex;gap:var(--space-6);align-items:flex-start}.discovery-main{flex:1;min-width:0}.filter-panel{width:280px;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);position:sticky;top:180px;max-height:calc(100vh - 200px);overflow-y:auto}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:2px solid var(--gray-100)}.filter-header h2{font-size:1.5rem;font-weight:700;margin:0;color:var(--brand-navy);letter-spacing:-.02em}.filter-clear{background:var(--brand-navy);border:none;color:#fff;font-weight:600;cursor:pointer;font-size:.85rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.filter-clear:hover{background:var(--brand-navy-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.filter-section{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--gray-100)}.filter-section:last-child{border-bottom:none}.filter-row{display:flex;gap:var(--space-4)}.filter-input-group{flex:1}.filter-input-group label{display:block;margin-bottom:var(--space-2);color:var(--text-secondary);font-size:.9rem;font-weight:500}.filter-input-group input{width:100%;padding:var(--space-2);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.95rem;outline:none;transition:border-color var(--transition-base);background:var(--surface)}.filter-input-group input:focus{border-color:var(--brand-navy)}.filter-section-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;background:none;border:none;font-size:1rem;font-weight:600;color:var(--text-primary);cursor:pointer;text-align:left;transition:color var(--transition-base)}.filter-section-header:hover{color:var(--brand-navy)}.filter-options{margin-top:var(--space-2);max-height:200px;overflow-y:auto}.filter-checkbox{display:flex;align-items:center;padding:var(--space-3);cursor:pointer;gap:var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-base)}.filter-checkbox:hover{background:#1a365d0a}.filter-checkbox input{cursor:pointer;width:18px;height:18px;accent-color:var(--brand-navy)}.filter-checkbox span:nth-child(2){flex:1;color:var(--text-primary);font-size:.95rem;font-weight:500}.filter-count{color:var(--text-muted);font-size:.85rem}.discovery-header .header-left{display:flex;align-items:center;gap:var(--space-3)}.discovery-header h1{font-size:1.5rem;color:var(--brand-navy);margin:0;font-weight:700;letter-spacing:-.02em}.icon-button{width:40px;height:40px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.icon-button:hover{background:var(--gray-100);color:var(--brand-navy)}.icon-button.active{background:var(--gray-200);color:var(--brand-navy)}.discovery-header .header-actions{display:flex;align-items:center;gap:var(--space-3)}.discovery-header .sort-container{position:relative}.discovery-header .sort-dropdown{position:absolute;top:calc(100% + var(--space-3));right:0;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);min-width:220px;z-index:1000;padding:var(--space-2);animation:menuSlideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.discovery-header .sort-dropdown button{display:block;width:100%;padding:var(--space-4) var(--space-5);border:none;background:transparent;text-align:left;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary);font-size:.95rem;font-weight:500;border-radius:var(--radius-lg);line-height:1.5;letter-spacing:-.01em;position:relative;overflow:hidden}.discovery-header .sort-dropdown button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1a365d0d,#c9a2270d);opacity:0;transition:opacity var(--transition-base)}.discovery-header .sort-dropdown button:hover{background:#1a365d0a;transform:translate(2px)}.discovery-header .sort-dropdown button:hover:before{opacity:1}.discovery-header .sort-dropdown button.active{background:var(--brand-navy);color:#fff;font-weight:600;box-shadow:var(--shadow-md);transform:translate(0)}.discovery-header .sort-dropdown button.active:before{opacity:0}.discovery-header .notification-button{position:relative}.discovery-header .notification-badge{position:absolute;top:4px;right:4px;background:var(--error);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:var(--shadow-sm);border:2px solid white}.discovery-header .user-menu-container{position:relative}.discovery-header .user-avatar-button{width:40px;height:40px;border-radius:var(--radius-full);border:2px solid var(--brand-gold);background:var(--surface);cursor:pointer;padding:0;overflow:hidden;transition:all var(--transition-base)}.discovery-header .user-avatar-button:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.discovery-header .user-avatar-button img{width:100%;height:100%;object-fit:cover}.discovery-header .user-dropdown{position:absolute;top:calc(100% + var(--space-3));right:0;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);min-width:200px;z-index:1000;padding:var(--space-2);animation:menuSlideIn .25s cubic-bezier(.4,0,.2,1)}.discovery-header .user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:none;background:transparent;width:100%;text-align:left;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary);text-decoration:none;font-size:.95rem;font-weight:500;border-radius:var(--radius-lg)}.discovery-header .user-dropdown-item:hover{background:#1a365d0a}.discovery-header .user-dropdown-item.logout{color:var(--error)}.discovery-header .user-dropdown-item.logout:hover{background:#fef2f2}.discovery-header .user-dropdown-divider{height:1px;background:linear-gradient(90deg,transparent,var(--gray-200),transparent);margin:var(--space-2) 0}.discovery-header .search-bar{max-width:1400px;margin:0 auto;padding:var(--space-4);display:flex;align-items:center;gap:var(--space-2);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.discovery-header .search-bar input{flex:1;padding:var(--space-3) var(--space-5);border:2px solid var(--gray-200);border-radius:var(--radius-full);font-size:1rem;transition:all var(--transition-base);background:var(--surface)}.discovery-header .search-bar input:focus{outline:none;border-color:var(--brand-navy);box-shadow:0 0 0 3px #1a365d1a}.discovery-header .search-close{width:36px;height:36px;border:none;background:var(--gray-100);color:var(--text-secondary);border-radius:var(--radius-full);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);line-height:1}.discovery-header .search-close:hover{background:var(--gray-200);color:var(--brand-navy)}.discovery-content{max-width:1400px;margin:0 auto;padding:var(--space-6) var(--space-4)}.discovery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.discovery-card{background:linear-gradient(to bottom,var(--surface),var(--gray-50));border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:transform var(--transition-slow),box-shadow var(--transition-slow);box-shadow:var(--shadow-md);display:flex;flex-direction:column;border:1px solid var(--gray-100);height:100%}.discovery-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--shadow-xl)}.discovery-image{width:100%;height:320px;object-fit:cover;filter:brightness(.98);transition:filter var(--transition-slow)}.discovery-card:hover .discovery-image{filter:brightness(1.02)}.discovery-info{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);flex:1}.discovery-user{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;padding:var(--space-2);margin:calc(-1 * var(--space-2));border-radius:var(--radius-md);transition:background var(--transition-base)}.discovery-user:hover{background:#1a365d0a}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);border:2px solid var(--brand-gold)}.user-details{display:flex;flex-direction:column;gap:.125rem}.user-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.user-username{font-size:.8rem;color:var(--brand-navy);font-weight:500}.discovery-info h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--brand-navy);line-height:1.4;letter-spacing:-.01em}.discovery-badges{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:auto}.drink-type-badge{padding:var(--space-2) var(--space-4);background:var(--brand-accent);color:#fff;border-radius:var(--radius-full);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #667eea4d}.score-badge{padding:var(--space-2) var(--space-4);background:var(--brand-gold);color:var(--brand-navy-dark);border-radius:var(--radius-full);font-weight:700;font-size:.85rem;box-shadow:var(--shadow-sm)}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.skeleton-card{background:linear-gradient(to bottom,var(--surface),var(--gray-50));border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.skeleton-image{width:100%;height:320px;background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-200) 50%,var(--gray-100) 100%);background-size:200% 100%;animation:shimmer 2s infinite}.skeleton-content{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-user{height:2.5rem;background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-200) 50%,var(--gray-100) 100%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md);width:50%}.skeleton-title{height:1.5rem;background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-200) 50%,var(--gray-100) 100%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md);width:70%}.skeleton-badges{display:flex;gap:var(--space-3)}.skeleton-badge{height:2rem;width:5rem;background:linear-gradient(90deg,var(--gray-100) 0%,var(--gray-200) 50%,var(--gray-100) 100%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-full)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-more{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8) 0}.spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top:3px solid var(--brand-navy);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-more p{color:var(--text-secondary);font-size:.95rem;font-weight:500}.end-message{text-align:center;padding:var(--space-8) 0}.end-message p{color:var(--text-muted);font-size:1rem;font-weight:500}.empty-state{text-align:center;padding:var(--space-8);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.empty-state p{font-size:1.2rem;color:var(--text-secondary)}.engagement-stats{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--gray-100)}.engagement-stats .stat-item{display:flex;align-items:center;gap:var(--space-1);color:var(--text-secondary);font-size:.875rem;font-weight:500}.engagement-stats .stat-item svg{color:var(--text-muted)}.engagement-stats .stat-item:first-child svg{color:#ff6b9d}.engagement-stats .bookmark-btn{background:none;border:none;padding:0;cursor:pointer;transition:all var(--transition-base)}.engagement-stats .bookmark-btn:disabled{opacity:.5;cursor:not-allowed}.engagement-stats .bookmark-btn:not(:disabled):hover{transform:scale(1.1)}.engagement-stats .bookmark-btn svg{color:var(--text-secondary)}.engagement-stats .bookmark-btn.bookmarked svg{color:var(--warning);fill:var(--warning)}@media(max-width:768px){.discovery-layout{flex-direction:column}.filter-panel{width:100%;position:static;max-height:none;margin-bottom:var(--space-4)}.discovery-grid,.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.discovery-header h1{font-size:1.25rem}}.follow-list-container{min-height:100vh;background:linear-gradient(to bottom,#fafafa,#f0f0f0)}.follow-list-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem;display:flex;align-items:center;gap:1rem}.follow-list-header h1{margin:0;font-size:1.5rem;font-weight:700;color:#1a1a1a}.follow-list-content{max-width:800px;margin:0 auto;padding:2rem 1rem}.users-list{display:flex;flex-direction:column;gap:1rem}.user-card{display:flex;gap:1.5rem;padding:1.5rem;background:linear-gradient(to bottom,#fff,#fafafa);border-radius:1.25rem;box-shadow:0 4px 20px #00000014,0 1px 3px #0000000d;border:1px solid rgba(0,0,0,.04);text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #667eea26,0 2px 5px #0000001a}.user-avatar{width:60px;height:60px;border-radius:50%;border:3px solid #667eea;box-shadow:0 2px 8px #667eea4d;flex-shrink:0}.user-info{flex:1;min-width:0}.user-info h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#1a1a1a}.user-username{color:#667eea;font-size:.95rem;font-weight:500;margin:0 0 .5rem}.user-bio{color:#666;font-size:.9rem;line-height:1.5;margin:0 0 .75rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.user-stats{color:#999;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.user-stats strong{color:#667eea;font-weight:600}.user-stats .stat-divider{color:#ccc}.btn-load-more{width:100%;margin-top:2rem;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.75rem;font-weight:600;font-size:1rem;cursor:pointer;box-shadow:0 4px 15px #667eea66;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-load-more:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;padding:3rem 2rem;background:linear-gradient(to bottom,#fff,#fafafa);border-radius:1.25rem;box-shadow:0 4px 20px #00000014,0 1px 3px #0000000d}.empty-state p{color:#999;font-size:1rem;margin:0}.notifications-container{min-height:100vh;background:linear-gradient(to bottom,#fafafa,#f0f0f0)}.notifications-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:100}.notifications-header h1{margin:0;font-size:1.5rem;font-weight:700;color:#1a1a1a}.btn-back{width:40px;height:40px;border:none;background:transparent;color:#666;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-back:hover{background:#f0f0f0}.notifications-content{max-width:800px;margin:0 auto;padding:0}.notifications-list{background:#fff;border-radius:0}.notification-item{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;text-decoration:none;color:inherit;transition:background .2s;position:relative}.notification-item:hover{background:#fafafa}.notification-item.unread{background:linear-gradient(to right,#667eea0d,#667eea05)}.notification-item.unread:hover{background:linear-gradient(to right,#667eea14,#667eea0a)}.notification-avatar{width:48px;height:48px;border-radius:50%;border:2px solid #667eea;box-shadow:0 2px 8px #667eea33;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-text{color:#333;font-size:.95rem;line-height:1.5;margin-bottom:.25rem}.notification-text strong{color:#667eea;font-weight:600}.notification-time{color:#999;font-size:.85rem}.unread-dot{width:10px;height:10px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #667eea66}.empty-state{text-align:center;padding:3rem 2rem;background:linear-gradient(to bottom,#fff,#fafafa);border-radius:1.25rem;margin:2rem auto;max-width:480px;box-shadow:0 4px 20px #00000014,0 1px 3px #0000000d;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;align-items:center;gap:1.25rem}.empty-state svg{color:#cbd5e1;flex-shrink:0}.empty-state p{color:#64748b;font-size:1rem;font-weight:500;margin:0;letter-spacing:-.01em}.privacy-policy-container{min-height:100vh;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:var(--text-white)}.privacy-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:#0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.privacy-header .back-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff1a;color:var(--text-white);transition:all .2s ease}.privacy-header .back-link:hover{background:#fff3}.privacy-header h1{font-size:1.25rem;font-weight:600;color:var(--gold);margin:0}.privacy-content{max-width:800px;margin:0 auto;padding:var(--space-6)}.privacy-section{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid rgba(255,255,255,.1)}.privacy-section:last-of-type{border-bottom:none}.privacy-section h2{font-size:1.125rem;font-weight:600;color:var(--gold);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.privacy-section h2:before{content:"";width:4px;height:1.25em;background:var(--gold);border-radius:2px}.privacy-section p{font-size:.95rem;line-height:1.8;color:#ffffffd9;margin-bottom:var(--space-3)}.privacy-section ul{margin:var(--space-3) 0;padding-left:var(--space-6)}.privacy-section li{font-size:.95rem;line-height:1.8;color:#ffffffd9;margin-bottom:var(--space-2)}.privacy-section li strong{color:var(--text-white)}.privacy-section a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;transition:opacity .2s ease}.privacy-section a:hover{opacity:.8}.privacy-footer{text-align:center;padding-top:var(--space-6);margin-top:var(--space-8);border-top:1px solid rgba(255,255,255,.1)}.privacy-footer p{font-size:.85rem;color:#ffffff80}@media(max-width:768px){.privacy-content{padding:var(--space-4)}.privacy-header{padding:var(--space-3) var(--space-4)}.privacy-section h2{font-size:1rem}.privacy-section p,.privacy-section li{font-size:.9rem}}.feedback-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:linear-gradient(to bottom,#fff,#fafafa);border-radius:1.25rem;box-shadow:0 12px 40px #00000026,0 2px 8px #00000014;max-width:500px;width:100%;padding:2rem;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.feedback-header h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0}.feedback-close{width:36px;height:36px;border:none;background:transparent;color:#666;font-size:2rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.feedback-close:hover{background:#667eea1a;color:#667eea}.feedback-categories{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.category-chip{flex:1;min-width:100px;padding:.625rem 1rem;background:#f8f8f8;border:1.5px solid #e8e8e8;border-radius:.625rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:.875rem;color:#555;letter-spacing:.01em}.category-chip:hover{background:#f0f0f0;border-color:#d8d8d8;color:#333}.category-chip.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;box-shadow:0 2px 8px #667eea40}.feedback-input-group{margin-bottom:1.5rem}.feedback-input-group label{display:block;font-size:.95rem;font-weight:600;color:#333;margin-bottom:.5rem}.feedback-input-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:.75rem;font-size:1rem;font-family:inherit;resize:vertical;transition:all .2s}.feedback-input-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.feedback-input-group textarea:disabled{background:#f5f5f5;cursor:not-allowed}.feedback-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:.75rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.feedback-success{text-align:center;padding:2rem 0}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:scaleIn .5s cubic-bezier(.4,0,.2,1)}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.feedback-success h3{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.feedback-success p{font-size:1rem;color:#666;margin:0}@media(max-width:768px){.feedback-modal{padding:1.5rem}.feedback-header h2{font-size:1.25rem}.category-chip{min-width:90px;padding:.5rem .75rem;font-size:.8125rem}}.feedback-fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 20px #667eea66,0 2px 8px #0000001a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:999}.feedback-fab:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 28px #667eea80,0 4px 12px #00000026}.feedback-fab:active{transform:translateY(-2px) scale(1.02)}.feedback-fab svg{width:24px;height:24px}@keyframes pulse{0%,to{box-shadow:0 4px 20px #667eea66,0 2px 8px #0000001a}50%{box-shadow:0 4px 20px #667eea99,0 2px 8px #00000026,0 0 0 8px #667eea33}}@media(max-width:768px){.feedback-fab{bottom:1.5rem;right:1.5rem;width:52px;height:52px}.feedback-fab svg{width:22px;height:22px}}:root{--color-primary: #667eea;--color-primary-dark: #5568d3;--color-primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-secondary: #ff6b9d;--color-secondary-dark: #ff4d7d;--color-accent: #f59e0b;--color-accent-dark: #d97706;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-modal-backdrop: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 70}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.5;text-decoration:none;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:0 2px 8px #667eea40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.btn-secondary{background:#fff;color:var(--color-primary);border:2px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-primary);background:var(--color-bg-tertiary)}.btn-danger{background:#fff;color:var(--color-danger);border:2px solid #fee2e2}.btn-danger:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-body{padding:var(--spacing-xl)}.input,.textarea,.select{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.loading-page,.error-page{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--font-size-xl);color:var(--color-text-secondary)}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--transition-slow),transform var(--transition-slow)}*{box-sizing:border-box}body{margin:0;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}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.5rem;color:#666}
