*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#272220;--bg-card:#2f2b29;--bg-card-hover:#363130;--border:#f0dcc317;--green:#7db87a;--green-dark:#5a9457;--text-primary:#f0ebe6;--text-muted:#f0ebe680;--text-dim:#f0ebe64d}html{scroll-behavior:smooth;font-size:16px}button,a,[role=button]{touch-action:manipulation}body{background-color:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Syne,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(55% 45% at 8% 65%,#4a9e3f21 0%,#0000 60%),radial-gradient(45% 40% at 92% 25%,#c0392b1a 0%,#0000 60%),radial-gradient(40% 50% at 55% 95%,#5c1a2e1c 0%,#0000 60%);position:fixed;inset:0}body:after{content:"";z-index:9999;pointer-events:none;opacity:.038;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}nav{z-index:100;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#272220e0;justify-content:space-between;align-items:center;height:60px;padding:0 40px;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{color:var(--text-primary);letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-size:24px;font-style:italic;font-weight:300;text-decoration:none}.nav-links{align-items:center;gap:22px;list-style:none;display:flex}.nav-links a{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.nav-cta{letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--green);cursor:pointer;border:none;border-radius:2px;padding:8px 20px;font-family:Syne,sans-serif;font-size:12px;font-weight:600;transition:background .2s}.nav-cta:hover{background:var(--green-dark)}.nav-auth-desktop{align-items:center;display:flex}.nav-hamburger{cursor:pointer;color:var(--text-muted);background:0 0;border:none;margin:-8px;padding:8px;display:none}.hamburger-icon{flex-direction:column;gap:5px;width:22px;display:flex}.hamburger-icon span{transform-origin:50%;background:currentColor;border-radius:2px;height:1.5px;transition:transform .2s,opacity .2s;display:block}.hamburger-icon.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-nav-drawer{z-index:99;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#272220f7;flex-direction:column;padding:12px 0 20px;display:none;position:fixed;top:60px;left:0;right:0}.mobile-nav-link{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:13px 24px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:block}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--text-primary);background:#ffffff08}.mobile-nav-divider{background:var(--border);height:1px;margin:8px 0}.mobile-nav-username{color:var(--text-dim);letter-spacing:.08em;padding:8px 24px 4px;font-size:11px}.mobile-nav-signout{color:var(--text-dim)}.mobile-nav-cta{letter-spacing:.1em;text-transform:uppercase;width:calc(100% - 48px);color:var(--bg);background:var(--green);cursor:pointer;border:none;border-radius:2px;margin:8px 24px 0;padding:13px 20px;font-family:Syne,sans-serif;font-size:12px;font-weight:600;transition:background .2s;display:block}.mobile-nav-cta:hover{background:var(--green-dark)}.nav-avatar-wrap{align-items:center;gap:6px;display:flex;position:relative}.nav-avatar{background:var(--green);width:32px;height:32px;color:var(--bg);letter-spacing:.05em;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:Syne,sans-serif;font-size:11px;font-weight:700;transition:background .2s;display:flex}.nav-avatar:hover{background:var(--green-dark)}.nav-avatar-skeleton{background:var(--border);cursor:default;pointer-events:none}.nav-dropdown{border:1px solid var(--border);background:#35302e;border-radius:8px;min-width:200px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 32px #0006}.nav-dropdown-email{color:var(--text-dim);border-bottom:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;padding:4px 8px 8px;font-size:11px;overflow:hidden}.nav-dropdown-item{text-align:left;width:100%;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px;font-family:Syne,sans-serif;font-size:12px;font-weight:500;transition:background .15s,color .15s}.nav-dropdown-item:hover{color:var(--text-primary);background:#ffffff0d}.auth-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);background:#141110b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-modal{border:1px solid var(--border);background:#2f2b29;border-radius:16px;width:100%;max-width:380px;padding:40px 36px;position:relative;box-shadow:0 24px 64px #00000080}.auth-modal-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;top:16px;right:16px}.auth-modal-close:hover{color:var(--text-primary)}.auth-title{color:var(--text-primary);margin-bottom:6px;font-size:22px;font-weight:600}.auth-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:13px;line-height:1.5}.auth-subtitle strong{color:var(--text-primary)}.auth-google-btn{border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-family:Syne,sans-serif;font-size:13px;font-weight:500;transition:background .2s,border-color .2s;display:flex}.auth-google-btn:hover{background:#ffffff1a;border-color:#ffffff26}.auth-divider{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;margin:20px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-input{border:1px solid var(--border);width:100%;color:var(--text-primary);background:#ffffff0d;border-radius:8px;outline:none;padding:10px 14px;font-family:Syne,sans-serif;font-size:13px;transition:border-color .2s}.auth-input::placeholder{color:var(--text-dim)}.auth-input:focus{border-color:var(--green)}.auth-error{color:#e07070;padding:4px 0;font-size:12px}.auth-submit{background:var(--green);width:100%;color:var(--bg);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px 16px;font-family:Syne,sans-serif;font-size:13px;font-weight:700;transition:background .2s}.auth-submit:hover:not(:disabled){background:var(--green-dark)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-dim);margin-top:16px;font-size:12px}.auth-switch button{color:var(--green);cursor:pointer;background:0 0;border:none;padding:0;font-family:Syne,sans-serif;font-size:12px;text-decoration:underline}.auth-done{text-align:center;padding:12px 0}.auth-done-icon{margin-bottom:16px;font-size:36px}.card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:inherit;border-radius:4px;flex-direction:column;text-decoration:none;transition:transform .22s,background .2s;display:flex;overflow:hidden}.card:hover{background:var(--bg-card-hover);transform:translateY(-3px)}.card-image{aspect-ratio:4/5;background:#ffffff0a;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.card-image img{object-fit:contain;object-position:center;width:100%;height:100%;transition:transform .4s}.card:hover .card-image img{transform:scale(1.04)}.card-body{flex-direction:column;min-height:172px;padding:16px;display:flex;overflow:hidden}.card-roaster{letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:6px;font-size:9px;font-weight:600}.card-name{color:var(--text-primary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:18px;font-style:italic;font-weight:300;line-height:1.2;display:-webkit-box;overflow:hidden}.card-origin{color:var(--text-muted);letter-spacing:.03em;margin-bottom:12px;font-size:11px}.card-tags{flex-wrap:wrap;align-items:flex-start;gap:5px;margin-bottom:14px;display:flex}.tag{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;background:#ffffff0f;border-radius:2px;flex-shrink:0;align-items:center;padding:4px 8px;font-size:9px;font-weight:600;display:inline-flex}.tag-more{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0;align-items:center;padding:4px 2px;font-size:9px;font-weight:500;display:inline-flex}.card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.card-process{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:600}.card-score{align-items:baseline;gap:1px;display:flex}.score-value{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:20px;font-style:italic;font-weight:300;line-height:1}.score-denom{color:var(--text-dim);letter-spacing:.05em;font-size:9px;font-weight:500}.card{transition:transform .22s,background .2s,border-top-color .22s}.card[data-category=berry]:hover{border-top-color:#c4547e8c}.card[data-category=citrus]:hover{border-top-color:#d4920a8c}.card[data-category=stone\ fruit]:hover{border-top-color:#cc70508c}.card[data-category=chocolate]:hover{border-top-color:#a055308c}.card[data-category=floral]:hover{border-top-color:#9a6ac88c}.card[data-category=tropical]:hover{border-top-color:#80be1880}.card[data-category=spice]:hover{border-top-color:#b8600a8c}.grid-section{padding:40px 40px 80px}.grid-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:28px;display:flex}.grid-meta-left{align-items:center;gap:10px;display:flex}.grid-count{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:500}.coffee-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.no-results{text-align:center;color:var(--text-dim);grid-column:1/-1;padding:80px 0;font-family:Cormorant Garamond,serif;font-size:22px;font-style:italic}.type-toggle{gap:4px;display:flex}.type-pill{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:100px;padding:5px 12px;font-family:Syne,sans-serif;font-size:10px;font-weight:600;transition:all .18s}.type-pill:hover{color:var(--text-primary);border-color:#fff3}.type-pill.active{color:var(--text-primary);background:#ffffff1a;border-color:#fff3}.sort-wrap{align-items:center;gap:8px;display:flex}.sort-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:600}.sort-select{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;appearance:none;background:#ffffff0d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='rgba(240,235,230,0.35)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 10px center no-repeat;border-radius:100px;outline:none;padding:5px 28px 5px 12px;font-family:Syne,sans-serif;font-size:10px;font-weight:600;transition:border-color .18s,color .18s}.sort-select:hover{color:var(--text-primary);border-color:#fff3}.sort-select option{color:#f0ebe6;background:#2f2b29}.filter-bar{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:16px;padding:28px 40px;display:flex}.pills-scroll-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pill{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:100px;padding:6px 14px;font-family:Syne,sans-serif;font-size:11px;font-weight:500;transition:all .18s}.pill:hover{color:var(--text-primary);border-color:#fff3}.pill.active{background:var(--pill-color,var(--green));border-color:var(--pill-color,var(--green));color:var(--bg)}.search-wrap{width:360px;max-width:100%;position:relative}.search-wrap svg{pointer-events:none;color:var(--text-dim);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{letter-spacing:.04em;border:1px solid var(--border);color:var(--text-primary);background:#ffffff0d;border-radius:100px;outline:none;width:100%;padding:10px 36px 10px 38px;font-family:Syne,sans-serif;font-size:13px;font-weight:400;transition:border-color .18s,background .18s}.search-input::placeholder{color:var(--text-dim)}.search-input:focus{background:#ffffff14;border-color:#ffffff38}.search-clear{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:2px;line-height:1;transition:color .15s;display:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.search-clear:hover{color:var(--text-muted)}.search-clear.visible{display:block}.search-spinner{border:1.5px solid #ffffff26;border-top-color:var(--text-dim);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.search-smart-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--green);opacity:.8;pointer-events:none;font-size:10px;font-weight:600;position:absolute;top:50%;right:36px;transform:translateY(-50%)}@keyframes spin{to{transform:translateY(-50%)rotate(360deg)}}@keyframes spinOnly{to{transform:rotate(360deg)}}.detail-page{z-index:200;background:var(--bg);display:none;position:fixed;inset:0;overflow-y:auto}.detail-page.visible{display:block}.detail-nav{z-index:10;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#272220eb;align-items:center;gap:16px;height:60px;padding:0 40px;display:flex;position:sticky;top:0}.detail-back{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-family:Syne,sans-serif;font-size:11px;font-weight:600;transition:color .18s;display:flex}.detail-back:hover{color:var(--text-primary)}.detail-nav-roaster{letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-left:auto;font-size:11px;font-weight:600}.detail-body{grid-template-columns:420px 1fr;min-height:calc(100vh - 60px);display:grid}.detail-image-col{background:#ffffff08;height:calc(100vh - 60px);position:sticky;top:60px;overflow:hidden}.detail-image-col img{object-fit:cover;object-position:center top;width:100%;height:100%}.detail-content{border-left:1px solid var(--border);padding:56px 56px 80px}.detail-type-badge{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:2px;margin-bottom:20px;padding:3px 8px;font-size:9px;font-weight:600;display:inline-block}.detail-name{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:52px;font-style:italic;font-weight:300;line-height:1.05}.detail-roaster{letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:32px;font-size:11px;font-weight:600}.detail-score-row{border-bottom:1px solid var(--border);align-items:center;gap:24px;margin-bottom:40px;padding-bottom:40px;display:flex}.detail-score-block{align-items:baseline;gap:3px;display:flex}.detail-score-num{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:44px;font-style:italic;font-weight:300;line-height:1}.detail-score-denom{color:var(--text-dim);font-size:13px;font-weight:500}.detail-price-block{border-left:1px solid var(--border);padding-left:24px}.detail-price{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:36px;font-style:italic;font-weight:300;line-height:1}.detail-price-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-top:4px;font-size:9px;font-weight:600}.detail-section{margin-bottom:36px}.detail-section-title{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:14px;font-size:9px;font-weight:600}.detail-meta-grid{grid-template-columns:1fr 1fr;gap:16px 32px;display:grid}.detail-meta-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:9px;font-weight:600}.detail-meta-value{color:var(--text-primary);font-size:13px;line-height:1.5}.detail-flavors{flex-wrap:wrap;gap:6px;display:flex}.detail-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:#ffffff0f;border-radius:2px;padding:5px 12px;font-size:10px;font-weight:600}.detail-blend-list{flex-direction:column;gap:6px;list-style:none;display:flex}.detail-blend-list li{color:var(--text-muted);padding-left:14px;font-size:13px;position:relative}.detail-blend-list li:before{content:"—";color:var(--text-dim);position:absolute;left:0}.detail-description{color:var(--text-muted);border-left:2px solid var(--border);padding-left:20px;font-size:14px;line-height:1.8}.detail-description p+p{margin-top:14px}.detail-buy-btn{letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--green);cursor:pointer;border:none;border-radius:2px;align-items:center;gap:10px;padding:14px 28px;font-family:Syne,sans-serif;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.detail-buy-btn:hover{background:var(--green-dark)}.hero{align-items:center;min-height:520px;padding:120px 40px 80px;display:flex;position:relative;overflow:hidden}.hero-gradient{opacity:.85;background:radial-gradient(70% 80% at 0 0,#4a9e3f 0%,#0000 55%),radial-gradient(60% 70% at 75% 40%,#c0392b 0%,#0000 55%),radial-gradient(50% 60% at 100% 100%,#5c1a2e 0%,#0000 60%);position:absolute;inset:0}.hero-gradient:after{content:"";z-index:1;background:linear-gradient(to bottom, transparent 60%, var(--bg) 100%);position:absolute;inset:0}.hero-gradient-layer{z-index:0;opacity:0;transition:opacity .75s;position:absolute;inset:0}.hero-content{z-index:1;max-width:760px;position:relative}.hero-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#fff9;margin-bottom:20px;font-size:11px;font-weight:600}.hero-heading{color:#fff;letter-spacing:-.01em;font-family:Cormorant Garamond,serif;font-size:58px;font-style:italic;font-weight:300;line-height:1.1}.hero-sub{color:#fff9;max-width:460px;margin-top:24px;font-size:14px;font-weight:400;line-height:1.7}.page-header{border-bottom:1px solid var(--border);padding:120px 40px 64px;position:relative;overflow:hidden}.page-header:before{content:"";z-index:0;pointer-events:none;opacity:.55;background:radial-gradient(70% 80% at 0 0,#4a9e3f 0%,#0000 55%),radial-gradient(60% 70% at 75% 40%,#c0392b 0%,#0000 55%),radial-gradient(50% 60% at 100% 100%,#5c1a2e 0%,#0000 60%);position:absolute;inset:0}.page-header:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom, transparent 50%, var(--bg) 100%);position:absolute;inset:0}.page-eyebrow{z-index:2;letter-spacing:.18em;text-transform:uppercase;color:#fff9;margin-bottom:16px;font-size:11px;font-weight:600;position:relative}.page-heading{z-index:2;color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:52px;font-style:italic;font-weight:300;line-height:1.05;position:relative}.roaster-controls{flex-wrap:wrap;align-items:center;gap:16px;padding:0 40px 28px;display:flex}.roaster-search-wrap{align-items:center;display:flex;position:relative}.roaster-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:12px}.roaster-search-input{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:10px;width:220px;padding:8px 14px 8px 36px;font-family:Syne,sans-serif;font-size:13px;transition:border-color .18s}.roaster-search-input::placeholder{color:var(--text-dim)}.roaster-search-input:focus{border-color:#fff3;outline:none}.roaster-sort-wrap{align-items:center;gap:6px;display:flex}.roaster-sort-label{color:var(--text-dim);letter-spacing:.06em;font-size:11px}.roaster-sort-btn{border:1px solid var(--border);letter-spacing:.06em;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;transition:color .18s,border-color .18s,background .18s}.roaster-sort-btn:hover{color:var(--text-primary);border-color:#fff3}.roaster-sort-btn.active{color:var(--text-primary);background:#ffffff0f;border-color:#fff3}.roaster-list-count{color:var(--text-dim);letter-spacing:.06em;margin-left:auto;font-size:11px}.roaster-list-section{padding:0 40px 80px}.roaster-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (min-width:1100px){.roaster-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:700px){.roaster-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width:420px){.roaster-grid{grid-template-columns:1fr}}.roaster-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:20px;flex-direction:column;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.roaster-card:hover{box-shadow:0 12px 48px #00000059, 0 0 60px var(--accent-glow);transform:translateY(-4px)}.roaster-card-aura{pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse 90% 55% at 50% 0%, var(--accent-glow) 0%, transparent 70%);z-index:0;position:absolute;inset:0}.roaster-card-logo-area{z-index:1;aspect-ratio:3/2;justify-content:center;align-items:center;padding:28px;display:flex;position:relative}.roaster-card-logo-area img{object-fit:contain;filter:drop-shadow(0 4px 16px #00000080);max-width:65%;max-height:72%}.roaster-card-logo-area .logo-fallback{width:64px;height:64px;font-size:22px}.roaster-card-body{z-index:1;border-top:1px solid var(--border);flex-direction:column;flex:1;padding:16px 20px 20px;display:flex;position:relative}.roaster-card-location{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);opacity:.85;margin-bottom:5px;font-size:9px;font-weight:600}.roaster-card-name{color:var(--text-primary);margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:clamp(17px,1.6vw,22px);font-style:italic;font-weight:300;line-height:1.2}.roaster-card-teaser{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin-bottom:14px;font-size:11px;line-height:1.6;display:-webkit-box;overflow:hidden}.roaster-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.roaster-card-count{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:600}.roaster-card-arrow{color:var(--text-dim);font-size:14px;transition:color .18s,transform .18s}.roaster-card:hover .roaster-card-arrow{color:var(--accent);transform:translate(3px)}@media (max-width:600px){.roaster-controls{flex-direction:column;align-items:stretch;gap:10px;padding:0 20px 24px}.roaster-search-wrap,.roaster-search-input{width:100%}.roaster-list-section{padding:0 20px 60px}}.detail-logo-col{border-right:1px solid var(--border);background:#ffffff05;justify-content:center;align-items:center;height:calc(100vh - 60px);padding:48px;display:flex;position:sticky;top:60px}.detail-logo-col img{object-fit:contain;max-width:100%;max-height:280px}.detail-logo-fallback{width:100px;height:100px;color:var(--text-muted);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;font-family:Syne,sans-serif;font-size:32px;font-weight:600;display:flex}.detail-website{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-top:32px;font-size:10px;font-weight:600;text-decoration:none;transition:color .18s;display:inline-block}.detail-website:hover{color:var(--text-muted)}.coffees-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.roaster-bento-grid{flex-direction:column;gap:12px;max-width:1200px;margin:0 auto;padding:24px 24px 60px;display:flex}@media (min-width:860px){.roaster-bento-grid{flex-direction:row;align-items:flex-start;gap:16px}.roaster-bento-left{flex-shrink:0;width:280px}.roaster-bento-right{flex:1;min-width:0}}.roaster-bento-left,.roaster-bento-right{flex-direction:column;gap:12px;display:flex}@media (max-width:859px){.roaster-logo-tile{aspect-ratio:auto;height:180px}}.roaster-bento-header{padding:8px 4px 4px}.roaster-bento-header .bento-roaster-label{margin-bottom:6px}.roaster-bento-header .bento-coffee-name{margin-bottom:0;font-size:clamp(28px,4vw,44px)}.logo-fallback{color:var(--text-muted);background:#ffffff0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Syne,sans-serif;font-weight:600;display:flex}img~.logo-fallback{display:none}.logo-fallback-card{width:48px;height:48px;font-size:16px}.logo-fallback-detail{width:80px;height:80px;font-size:26px}.roaster-logo-tile{aspect-ratio:1;background:#ffffff08;justify-content:center;align-items:center;padding:32px;display:flex}.roaster-logo-tile img{object-fit:contain;max-width:100%;max-height:100%;display:block}.roaster-location-tile .bento-value-lg{font-size:28px}.roaster-website-link{color:var(--text-muted);word-break:break-all;align-items:center;gap:6px;font-size:13px;text-decoration:none;transition:color .18s;display:inline-flex}.roaster-website-link:hover{color:var(--text-primary)}.roaster-website-link svg{flex-shrink:0}.roaster-about-tile .bento-desc{color:var(--text-muted);font-size:13px;line-height:1.75}.roaster-coffees-tile .bento-label{align-items:center;gap:10px;margin-bottom:16px;display:flex}.roaster-coffee-count{border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);letter-spacing:0;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.roaster-coffees-bento-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:600px){.roaster-coffees-bento-grid{grid-template-columns:repeat(3,1fr)}}.roaster-coffee-card{border:1px solid var(--border);background:#ffffff08;border-radius:12px;flex-direction:column;gap:0;text-decoration:none;transition:transform .2s,background .2s;display:flex;overflow:hidden}.roaster-coffee-card:hover{background:#ffffff0d;transform:translateY(-2px)}.roaster-coffee-img{aspect-ratio:1;background:#ffffff05;justify-content:center;align-items:center;display:flex;overflow:hidden}.roaster-coffee-img img{object-fit:contain;width:100%;height:100%}.roaster-coffee-body{padding:10px 12px 12px}.roaster-coffee-name{color:var(--text-primary);margin-bottom:3px;font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;font-weight:300;line-height:1.2}.roaster-coffee-origin{letter-spacing:.08em;color:var(--text-dim);margin-bottom:7px;font-size:10px;font-weight:500}.roaster-coffee-tags{flex-wrap:wrap;gap:4px;display:flex}.coffee-detail-page{max-width:1360px;margin:0 auto;padding:80px 32px;position:relative}.coffee-detail-page:before{content:"";z-index:0;pointer-events:none;background:var(--flavor-bg,transparent);opacity:.45;position:fixed;inset:0}.bento-header{z-index:1;margin-bottom:32px;position:relative}.bento-back{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:28px;font-size:11px;font-weight:600;text-decoration:none;transition:color .18s;display:inline-flex}.bento-back:hover{color:var(--text-primary)}.bento-roaster-label{letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:8px;font-size:10px;font-weight:600}.bento-coffee-name{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:clamp(32px,5vw,56px);font-style:italic;font-weight:300;line-height:1.05}.bento-type-badge{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:2px;padding:3px 8px;font-size:9px;font-weight:600;display:inline-block}.bento-grid{z-index:1;flex-direction:column;gap:12px;display:flex;position:relative}.bento-image-col{flex-direction:column;display:flex}.bento-content-col{flex-direction:column;gap:12px;display:flex}.bento-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (min-width:1060px){.bento-grid{flex-direction:row;align-items:flex-start;gap:16px}.bento-image-col{flex-shrink:0;width:360px}.bento-content-col{flex:1;gap:12px;min-width:0}}.bento-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:24px;transition:transform .25s,box-shadow .25s;position:relative}.bento-tile:hover{z-index:2;box-shadow:0 0 48px var(--flavor-glow,#ffffff0f);transform:scale(1.012)}.tile-image{aspect-ratio:1;background:#ffffff08;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.tile-image img{object-fit:contain;object-position:center;border-radius:20px;width:100%;height:100%;display:block}.tile-image-placeholder{aspect-ratio:1;background:#ffffff08;border-radius:20px;width:100%}.tile-buy{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.bento-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;font-size:9px;font-weight:600}.bento-value-lg{color:var(--text-primary);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:36px;font-style:italic;font-weight:300;line-height:1.05}.bento-value-sm{color:var(--text-muted);letter-spacing:.04em;font-size:12px}.bento-empty{color:var(--text-dim);font-size:13px;font-style:italic}.bento-chips{flex-wrap:wrap;gap:6px;display:flex}@keyframes chip-light-up{0%{opacity:0;filter:brightness(.6);transform:translateY(4px)scale(.95)}60%{opacity:1;filter:brightness(1.4);transform:translateY(-1px)scale(1.03)}to{opacity:1;filter:brightness();transform:translateY(0)scale(1)}}.bento-chip{letter-spacing:.08em;color:var(--text-primary);text-transform:uppercase;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff1f;border-radius:100px;padding:5px 13px;font-size:11px;font-weight:600;transition:box-shadow .2s,background .2s,border-color .2s,transform .15s;animation:.45s cubic-bezier(.22,1,.36,1) both chip-light-up}.bento-chip:hover{transform:translateY(-1px);box-shadow:0 2px 12px #ffffff1f}.bento-chip--colored{background:color-mix(in srgb, var(--chip-color) 14%, transparent);border-color:color-mix(in srgb, var(--chip-color) 35%, transparent);color:color-mix(in srgb, var(--chip-color) 85%, #fff);box-shadow:0 0 0 0 color-mix(in srgb, var(--chip-color) 25%, transparent)}.bento-chip--colored:hover{background:color-mix(in srgb, var(--chip-color) 22%, transparent);border-color:color-mix(in srgb, var(--chip-color) 55%, transparent);box-shadow:0 2px 16px color-mix(in srgb, var(--chip-color) 35%, transparent), 0 0 0 1px color-mix(in srgb, var(--chip-color) 20%, transparent);transform:translateY(-1px)}.bento-meta-grid{grid-template-columns:1fr 1fr;gap:16px 24px;display:grid}.bento-meta-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px;font-size:9px;font-weight:600}.bento-meta-value{color:var(--text-primary);font-size:13px;line-height:1.45}.bento-desc{color:var(--text-muted);font-size:14px;line-height:1.8}.bento-price{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:38px;font-style:italic;font-weight:300;line-height:1}.bento-size{color:var(--text-dim);font-size:13px;font-style:normal}.bento-buy-btn{letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--green);white-space:nowrap;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding:13px 22px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:flex}.bento-buy-btn:hover{background:var(--green-dark);transform:translateY(-1px)}@media (max-width:1100px){.coffee-grid,.roaster-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.detail-body{grid-template-columns:1fr}.detail-image-col{height:55vw;max-height:400px;position:relative;top:auto}.detail-logo-col{border-bottom:1px solid var(--border);border-right:none;height:auto;min-height:220px;position:relative;top:auto}.detail-content{border-left:none;padding:36px 24px 60px}.detail-name{font-size:36px}.detail-nav{padding:0 20px}.coffees-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){nav{padding:0 20px}.hero{padding:100px 20px 60px}.hero-heading{font-size:38px}.filter-bar{padding:20px}.grid-section{padding:24px 20px 60px}.coffee-grid,.roaster-grid{grid-template-columns:repeat(2,1fr);gap:12px}.page-header{padding:88px 20px 36px}.page-heading{font-size:36px}.detail-nav{padding:0 20px}.coffee-detail-page{padding:60px 16px}.bento-tile{border-radius:14px;padding:16px}.bento-row{grid-template-columns:1fr}.bento-buy-btn{text-align:center;width:100%}.roaster-bento-grid{padding:16px 16px 60px}.bento-roaster-actions{flex-wrap:wrap;gap:10px}.sort-select{padding:8px 28px 8px 12px}}@media (max-width:420px){.coffee-grid,.roaster-grid{grid-template-columns:1fr}}.card-unrated{color:var(--text-dim);letter-spacing:.04em;font-size:11px}.bento-rating-row{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:8px;display:flex}.bento-score{color:var(--text-primary);font-size:40px;font-weight:700;line-height:1}.bento-score-denom{color:var(--text-dim);font-size:16px}.bento-rating-count{color:var(--text-dim);margin-left:4px;font-size:12px}.bento-unrated{color:var(--text-dim);font-size:13px;font-style:italic}.bento-roaster-link{color:var(--green);text-decoration:none;transition:color .15s}.bento-roaster-link:hover{color:var(--green-dark)}.bento-more-roaster{width:100%;max-width:1080px;margin:0 auto;padding:48px 40px 80px}.bento-more-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:16px;display:flex}.bento-more-label{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:clamp(20px,2.5vw,28px);font-style:italic;font-weight:300}.bento-more-all{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:5px;font-size:10px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.bento-more-all:hover{color:var(--text-muted)}.bento-more-strip{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.bento-more-card{background:var(--bg-card);border:1px solid var(--border);color:inherit;border-radius:4px;flex-direction:column;text-decoration:none;transition:transform .2s,background .2s;display:flex;overflow:hidden}.bento-more-card:hover{background:var(--bg-card-hover);transform:translateY(-3px)}.bento-more-img{aspect-ratio:1;background:#ffffff08;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.bento-more-img img{object-fit:contain;object-position:center;width:100%;height:100%}.bento-more-body{padding:12px}.bento-more-name{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;font-weight:300;line-height:1.25;display:-webkit-box;overflow:hidden}.bento-more-origin{color:var(--text-dim);letter-spacing:.04em;margin-bottom:8px;font-size:10px}.bento-more-tags{flex-wrap:wrap;gap:4px;display:flex}@media (max-width:700px){.bento-more-roaster{padding:40px 20px 60px}.bento-more-strip{grid-template-columns:repeat(2,1fr);gap:10px}}.bento-log-btn{background:var(--green);width:100%;color:var(--bg);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:16px 24px;font-family:Syne,sans-serif;font-size:13px;font-weight:700;transition:background .2s,transform .15s;display:flex}.bento-log-btn:hover{background:var(--green-dark);transform:translateY(-1px)}.log-overlay{z-index:150;-webkit-backdrop-filter:blur(8px);background:#141110a6;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.log-panel{border:1px solid var(--border);background:#2a2624;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:1100px;max-height:92vh;animation:.3s cubic-bezier(.32,.72,0,1) slideUp;display:flex;position:relative;overflow:hidden}.log-panel-grad{z-index:0;pointer-events:none;opacity:0;transition:opacity .8s;position:absolute;inset:0;-webkit-mask-image:radial-gradient(100% 70% at 50% 0,#000 30%,#0000 100%);mask-image:radial-gradient(100% 70% at 50% 0,#000 30%,#0000 100%)}.log-panel-header,.log-panel-body{z-index:1;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.log-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 28px 20px;display:flex}.log-panel-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:11px}.log-panel-title{color:var(--text-primary);font-size:20px;font-weight:600}.log-panel-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-top:2px;padding:4px;transition:color .15s}.log-panel-close:hover{color:var(--text-primary)}.log-panel-body{flex:1;display:flex;overflow:hidden}.log-left{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:12px;width:260px;padding:20px;display:flex;overflow-y:auto}.log-coffee-image{aspect-ratio:1;background:#ffffff08;border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.log-coffee-image img{object-fit:contain;width:100%;height:100%}.log-info-tile{border:1px solid var(--border);background:#ffffff08;border-radius:10px;padding:12px}.log-info-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;gap:8px;padding:4px 0;font-size:12px;display:flex}.log-info-row:last-child{border-bottom:none}.log-info-row span:first-child{color:var(--text-dim)}.log-info-row span:last-child{color:var(--text-primary);text-align:right}.log-info-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:11px}.log-roaster-chips{flex-wrap:wrap;gap:4px;display:flex}.log-roaster-chip{color:var(--text-muted);background:#ffffff0f;border-radius:20px;padding:3px 8px;font-size:11px}.log-right{flex-direction:column;flex:1;gap:20px;padding:20px 28px;display:flex;overflow-y:auto}.log-section{flex-direction:column;gap:10px;display:flex}.log-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.log-rating-row{flex-wrap:wrap;gap:6px;display:flex}.log-rating-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;font-family:Syne,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.log-rating-btn:hover{color:var(--text-primary);background:#ffffff1a}.log-rating-btn.active{background:var(--green);border-color:var(--green);color:var(--bg)}.log-flavor-wrap{border:1px solid var(--border);cursor:text;background:#ffffff0a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:8px 12px;transition:border-color .2s;display:flex}.log-flavor-wrap:focus-within{border-color:var(--green)}.log-flavor-chip{color:var(--green);background:#7db87a26;border:1px solid #7db87a4d;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;animation:.25s cubic-bezier(.34,1.56,.64,1) chipPop;display:flex}@keyframes chipPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.log-flavor-chip button{cursor:pointer;color:var(--green);opacity:.7;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.log-flavor-chip button:hover{opacity:1}.log-flavor-input{min-width:120px;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:Syne,sans-serif;font-size:13px}.log-flavor-input::placeholder{color:var(--text-dim)}.log-suggestions{flex-wrap:wrap;gap:6px;padding:4px 0;display:flex}.log-suggestion{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:20px;padding:4px 10px;font-size:12px;transition:all .15s}.log-suggestion:hover{color:var(--green);background:#7db87a26;border-color:#7db87a4d}.node-slider{-webkit-user-select:none;user-select:none;flex-direction:column;gap:10px;display:flex}.node-slider-track{cursor:pointer;background:#ffffff14;border-radius:2px;height:4px;margin:10px 0;position:relative}.node-slider-fill{background:var(--green);pointer-events:none;border-radius:2px;height:100%;position:absolute;top:0;left:0}.node-slider-node{pointer-events:none;background:#ffffff26;border:1.5px solid #fff3;border-radius:50%;width:8px;height:8px;transition:background .15s,border-color .15s;position:absolute;top:50%;transform:translate(-50%,-50%)}.node-slider-node.active{background:var(--green);border-color:var(--green)}.node-slider-thumb{background:var(--text-primary);border:2px solid var(--green);pointer-events:none;border-radius:50%;width:16px;height:16px;transition:transform .1s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0006}.node-slider-track:active .node-slider-thumb{transform:translate(-50%,-50%)scale(1.15)}.node-slider-labels{justify-content:space-between;display:flex}.node-slider-label{letter-spacing:.05em;color:var(--text-dim);text-transform:uppercase;font-size:10px}.node-slider-label.active{color:var(--green)}.log-brew-methods{flex-wrap:wrap;gap:6px;display:flex}.log-brew-pill{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:20px;padding:6px 14px;font-family:Syne,sans-serif;font-size:12px;transition:all .15s}.log-brew-pill:hover{color:var(--text-primary);background:#ffffff1a}.log-brew-pill.active{color:var(--green);background:#7db87a26;border-color:#7db87a66}.log-brew-details{flex-direction:row;gap:10px}.log-input,.log-textarea{border:1px solid var(--border);width:100%;color:var(--text-primary);resize:none;background:#ffffff0a;border-radius:10px;outline:none;padding:10px 14px;font-family:Syne,sans-serif;font-size:13px;transition:border-color .2s}.log-input::placeholder,.log-textarea::placeholder{color:var(--text-dim)}.log-input:focus,.log-textarea:focus{border-color:var(--green)}.log-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.log-footer-left,.log-footer-right{align-items:center;gap:10px;display:flex}.log-date{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;outline:none;padding:8px 12px;font-family:Syne,sans-serif;font-size:12px}.log-privacy-toggle{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-family:Syne,sans-serif;font-size:11px;font-weight:500;transition:all .15s;display:flex}.log-privacy-toggle.public{color:var(--green);background:#7db87a1a;border-color:#7db87a4d}.log-privacy-toggle.private{color:var(--text-dim);background:#ffffff0a}.log-save-btn{background:var(--green);color:var(--bg);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:10px;padding:10px 24px;font-family:Syne,sans-serif;font-size:13px;font-weight:700;transition:background .2s}.log-save-btn:hover:not(:disabled){background:var(--green-dark)}.log-save-btn:disabled{opacity:.6;cursor:not-allowed}.log-save-btn.saved{background:#5a9457}.log-error{color:#e07070;font-size:12px}@media (max-width:760px){.log-panel{border-radius:16px 16px 0 0;max-height:96vh}.log-left{display:none}.log-right{padding:16px 20px}.log-brew-details{flex-direction:column}}.profile-page{max-width:1100px;margin:0 auto;padding:100px 40px 80px}.profile-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:28px;margin-bottom:40px;padding-bottom:40px;display:flex}.profile-avatar{background:var(--green);width:72px;height:72px;color:var(--bg);letter-spacing:.05em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.profile-info{flex:1;min-width:0}.profile-name{margin-bottom:4px;font-size:28px;font-weight:700}.profile-username{color:var(--text-dim);margin-bottom:10px;font-size:13px}.profile-bio{color:var(--text-muted);font-size:14px;line-height:1.6}.profile-stats{align-items:flex-start;gap:32px;padding-top:4px;display:flex}.profile-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.profile-stat-value{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1}.profile-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.profile-empty{color:var(--text-dim);font-size:14px}.profile-logs-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.log-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;transition:transform .2s,background .2s;position:relative;overflow:hidden}.log-card:hover{background:var(--bg-card-hover);transform:translateY(-3px)}.log-card-link{z-index:1;position:absolute;inset:0}.log-card-image{aspect-ratio:4/5;background:#ffffff0a;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.log-card-image img{object-fit:contain;width:100%;height:100%}.log-card-image-placeholder{background:#ffffff08;width:100%;height:100%}.log-card-body{padding:14px}.log-card-roaster{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-size:11px}.log-card-name{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.log-card-rating{align-items:baseline;gap:2px;margin-bottom:8px;display:flex}.log-card-score{color:var(--text-primary);font-size:22px;font-weight:700}.log-card-denom{color:var(--text-dim);font-size:12px}.log-card-tags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.log-card-footer{justify-content:space-between;align-items:center;display:flex}.log-card-method,.log-card-date{color:var(--text-dim);font-size:11px}.log-card-private{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);opacity:.6;font-size:10px}.username-status{color:var(--green);font-size:14px;font-weight:600;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.username-hint{color:var(--text-dim);padding:0 2px;font-size:11px}@media (max-width:760px){.profile-page{padding:88px 20px 60px}.profile-stats{gap:20px}.profile-logs-grid{grid-template-columns:repeat(2,1fr);gap:12px}}.onboarding-modal{border:1px solid var(--border);background:#2f2b29;border-radius:20px;flex-direction:column;gap:0;width:100%;max-width:560px;max-height:90vh;padding:40px 36px;display:flex;overflow-y:auto;box-shadow:0 24px 64px #00000080}.onboarding-progress{gap:6px;margin-bottom:32px;display:flex}.onboarding-step-dot{background:#ffffff1a;border-radius:2px;flex:1;height:3px;transition:background .3s}.onboarding-step-dot.active{background:var(--green)}.onboarding-step-dot.done{background:var(--green-dark)}.onboarding-step{flex:1}.onboarding-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:11px}.onboarding-title{color:var(--text-primary);margin-bottom:8px;font-size:22px;font-weight:600}.onboarding-sub{color:var(--text-muted);margin-bottom:28px;font-size:13px;line-height:1.5}.onboarding-slider-wrap{padding:8px 0 24px}.onboarding-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;font-size:11px}.onboarding-flavor-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:8px;display:grid}.onboarding-flavor-card{text-align:left;border:1px solid var(--border);cursor:pointer;background:#ffffff0a;border-radius:10px;padding:12px 14px;transition:all .15s;position:relative}.onboarding-flavor-card:hover{background:#ffffff14}.onboarding-flavor-label{color:var(--text-primary);margin-bottom:3px;font-size:13px;font-weight:600}.onboarding-flavor-examples{color:var(--text-dim);font-size:11px;line-height:1.4}.onboarding-flavor-check{color:var(--green);font-size:12px;position:absolute;top:10px;right:12px}.onboarding-pills{flex-wrap:wrap;gap:8px;display:flex}.onboarding-pill{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:20px;padding:8px 16px;font-family:Syne,sans-serif;font-size:13px;transition:all .15s}.onboarding-pill:hover{color:var(--text-primary);background:#ffffff1a}.onboarding-pill.active{color:var(--green);background:#7db87a26;border-color:#7db87a66}.onboarding-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:32px;padding-top:20px;display:flex}.onboarding-footer-right{align-items:center;gap:10px;display:flex}.onboarding-skip{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-family:Syne,sans-serif;font-size:12px;text-decoration:underline;transition:color .15s}.onboarding-skip:hover{color:var(--text-muted)}.onboarding-back{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:9px 18px;font-family:Syne,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.onboarding-back:hover{color:var(--text-primary);border-color:#fff3}.onboarding-done{text-align:center;padding:20px 0}.onboarding-done-icon{margin-bottom:20px;font-size:48px}.account-page{max-width:700px;margin:0 auto;padding:100px 40px 80px}.account-header{align-items:center;gap:20px;margin-bottom:36px;display:flex}.account-name{font-size:24px;font-weight:700}.account-username{color:var(--text-dim);margin-top:2px;font-size:13px}.account-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:32px;padding-bottom:0;display:flex}.account-tab{cursor:pointer;letter-spacing:.06em;color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-family:Syne,sans-serif;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.account-tab:hover{color:var(--text-primary)}.account-tab.active{color:var(--text-primary);border-bottom-color:var(--green)}.account-section{flex-direction:column;gap:24px;display:flex}.account-field{flex-direction:column;gap:8px;display:flex}.account-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.account-hint{color:var(--text-dim);opacity:.6;font-size:11px}.account-save-row{justify-content:flex-end;align-items:center;gap:14px;padding-top:8px;display:flex}.account-msg{font-size:12px}.account-msg.ok{color:var(--green)}.account-msg.err{color:#e07070}.account-flavor-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.stat-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:20px;display:flex}.stat-tile-value{color:var(--text-primary);font-size:32px;font-weight:700;line-height:1}.stat-tile-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:11px}@media (max-width:760px){.account-page{padding:88px 20px 60px}.onboarding-modal{padding:28px 20px}.onboarding-flavor-grid{grid-template-columns:repeat(2,1fr)}}.profile-view-toggle{gap:4px;margin-bottom:24px;display:flex}.profile-view-btn{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:8px;padding:7px 18px;font-family:Syne,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.profile-view-btn:hover{color:var(--text-primary);border-color:#fff3}.profile-view-btn.active{color:var(--text-primary);border-color:var(--green);background:#7db87a14}.cabinet-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.collectible-wrap{cursor:pointer;transform-style:preserve-3d;will-change:transform;border-radius:16px;transition:transform .1s,box-shadow .2s;position:relative}.frame-standard{box-shadow:0 4px 24px #0006}.frame-patron{border:1px solid #b4783c66;box-shadow:0 4px 28px #b4783c59}.frame-regular{border:1px solid #a0642880;box-shadow:0 4px 32px #a0642866}.frame-collector{border:1px solid #d4af3799;box-shadow:0 4px 36px #d4af3773}.frame-legend{background-clip:padding-box;border:1px solid #0000;animation:3s linear infinite legendShimmer;box-shadow:0 4px 40px #d4af3799,0 0 0 1px #ffffff1a}@keyframes legendShimmer{0%{box-shadow:0 4px 40px #d4af3799,0 0 16px #d4af374d}50%{box-shadow:0 4px 40px #b464ff80,0 0 16px #b464ff4d}to{box-shadow:0 4px 40px #d4af3799,0 0 16px #d4af374d}}.collectible-wrap.pioneer:before{content:"";z-index:-1;background:linear-gradient(135deg,#7db87a99,#4a9e3f4d,#7db87a99) 0 0/200% 200%;border-radius:18px;animation:2.5s infinite pioneerGlow;position:absolute;inset:-2px}@keyframes pioneerGlow{0%{opacity:.7;background-position:0%}50%{opacity:1;background-position:100%}to{opacity:.7;background-position:0%}}.collectible-inner{aspect-ratio:2/3;width:100%;transform-style:preserve-3d;border-radius:16px;transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.collectible-inner.flipped{transform:rotateY(180deg)}.collectible-face{backface-visibility:hidden;border-radius:16px;position:absolute;inset:0;overflow:hidden}.collectible-front{background:var(--bg-card);flex-direction:column;display:flex}.collectible-image{background:#ffffff08;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.collectible-image img{object-fit:contain;width:100%;height:100%}.collectible-image-placeholder{background:#ffffff08;width:100%;height:100%}.collectible-glare{pointer-events:none;border-radius:16px 16px 0 0;position:absolute;inset:0}.collectible-stamp{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141110bf;border:1.5px solid #ffffff26;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 12px #0006}.stamp-value{color:var(--text-primary);font-size:16px;font-weight:800;line-height:1}.stamp-denom{color:var(--text-dim);letter-spacing:.05em;font-size:8px}.collectible-pioneer-badge{letter-spacing:.15em;color:var(--green);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141110bf;border:1px solid #7db87a66;border-radius:4px;padding:3px 7px;font-size:8px;font-weight:700;position:absolute;top:12px;left:12px}.collectible-footer{background:linear-gradient(#1e1a18e6,#141110fa);flex-shrink:0;padding:10px 12px 12px}.collectible-roaster{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:2px;font-size:10px}.collectible-name{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.collectible-flavors{flex-wrap:wrap;gap:3px;display:flex}.collectible-flavor{color:var(--text-dim);background:#ffffff12;border-radius:20px;padding:2px 6px;font-size:10px}.collectible-back{border:1px solid var(--border);background:#232120;flex-direction:column;padding:16px;display:flex;transform:rotateY(180deg)}.card-back-content{flex-direction:column;gap:10px;height:100%;display:flex;overflow:hidden}.card-back-roaster{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:10px}.card-back-name{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.card-back-rating{align-items:baseline;gap:2px;display:flex}.card-back-score{color:var(--text-primary);font-size:28px;font-weight:800;line-height:1}.card-back-denom{color:var(--text-dim);font-size:12px}.card-back-attrs{flex-direction:column;gap:6px;display:flex}.card-back-attr{align-items:center;gap:8px;display:flex}.card-back-attr-label{color:var(--text-dim);flex-shrink:0;width:42px;font-size:10px}.card-back-attr-dots{gap:3px;display:flex}.card-back-dot{background:#ffffff1a;border-radius:50%;width:7px;height:7px;transition:background .15s}.card-back-dot.filled{background:var(--green)}.card-back-dot.half{background:linear-gradient(90deg, var(--green) 50%, #ffffff1a 50%)}.card-back-flavors{flex-wrap:wrap;gap:4px;display:flex}.card-back-brew{color:var(--text-muted);font-size:11px}.card-back-notes{color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-style:italic;line-height:1.4;display:-webkit-box;overflow:hidden}.card-back-date{color:var(--text-dim);margin-top:auto;font-size:10px}.card-back-pioneer{color:var(--green);font-size:10px;font-weight:600}.card-back-patron{color:#d4af37cc;font-size:10px}.card-back-actions{gap:6px;margin-top:auto;padding-top:8px;display:flex}.card-back-btn{letter-spacing:.06em;text-transform:uppercase;text-align:center;cursor:pointer;background:var(--green);color:var(--bg);border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:7px 6px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.card-back-btn:hover{background:var(--green-dark)}.card-back-btn-secondary{color:var(--text-muted);border:1px solid var(--border);background:#ffffff12}.card-back-btn-secondary:hover{color:var(--text-primary);background:#ffffff1f}.card-modal-overlay{z-index:300;-webkit-backdrop-filter:blur(8px);background:#141110b3;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.card-modal{border:1px solid var(--border);background:#2a2624;border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:88vh;padding:52px 24px 40px;animation:.28s cubic-bezier(.32,.72,0,1) slideUp;position:relative;overflow-y:auto}.card-modal-close{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:#ffffff12;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:16px;right:16px}.card-modal-close:hover{color:var(--text-primary);background:#ffffff1f}.card-modal-image{justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 20px;display:flex}.card-modal-image img{object-fit:contain;width:100%;height:100%}.card-modal .card-back-content{flex-direction:column;gap:12px;display:flex}.card-modal .card-back-name{font-size:22px}.card-modal .card-back-score{font-size:40px}.card-modal .card-back-attrs{gap:10px}.card-modal .card-back-attr{flex-direction:row;align-items:center;gap:10px}.card-modal .card-back-attr-label{min-width:48px}.card-modal .card-back-actions{gap:10px;padding-top:12px}.card-modal .card-back-btn{padding:13px 12px;font-size:12px}.card-modal .card-back-notes{font-size:13px;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:760px){.cabinet-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:400px){.cabinet-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.shelf-page{background:#1a1208;min-height:100vh;padding:80px 0 60px}.coffee-shelf-wrap{max-width:1000px;margin:0 auto;padding:0 32px}.shelf-page-header{justify-content:space-between;align-items:center;padding:24px 0 32px;display:flex}.shelf-page-title{color:#d4b896;letter-spacing:.04em;font-family:Cormorant Garamond,serif;font-size:32px;font-style:italic;font-weight:300}.shelf-header-actions{align-items:center;gap:14px;display:flex}.shelf-saving{color:#d4b89680;font-size:12px}.shelf-edit-btn{color:#d4b896;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#d4b8961a;border:1px solid #d4b89640;border-radius:8px;padding:8px 18px;font-family:Syne,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.shelf-edit-btn:hover,.shelf-edit-btn.active{background:#d4b8962e;border-color:#d4b89666}.shelf-cabinet{background:linear-gradient(#1a1208 0%,#231810 100%);border:1px solid #d4b8961a;border-radius:12px;flex-direction:column;gap:0;padding:24px 0 0;display:flex;overflow:hidden}.shelf-section{position:relative}.top3-section{margin-bottom:8px}.shelf-label{letter-spacing:.15em;text-transform:uppercase;color:#d4b89666;padding:0 24px 8px;font-size:10px}.shelf-row-controls{justify-content:space-between;align-items:center;padding:12px 24px 6px;display:flex}.shelf-remove-btn{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:#d4b8964d;background:0 0;border:none;font-family:Syne,sans-serif;font-size:11px;transition:color .15s}.shelf-remove-btn:hover{color:#e07070}.shelf-row{padding:0 24px;position:relative}.top3-row{padding:0 80px}.shelf-bags-area{align-items:flex-end;gap:0;min-height:180px;padding-bottom:0;display:flex}.top3-area{justify-content:center;gap:24px;min-height:140px}.shelf-bag{cursor:default;filter:drop-shadow(0 6px 12px #000000b3);flex-shrink:0;height:170px;transition:transform .2s,filter .2s;position:relative}.top3-area .shelf-bag{height:130px}.shelf-bag:hover{filter:drop-shadow(0 12px 20px #000c);transform:translateY(-6px)scale(1.03)}.shelf-bag.editable{cursor:grab}.shelf-bag.editable:active{cursor:grabbing}.shelf-bag img{object-fit:contain;width:auto;max-width:110px;height:100%;display:block}.top3-area .shelf-bag img{max-width:90px}.shelf-bag-placeholder{color:#d4b8964d;background:#d4b89614;border:1px solid #d4b89626;border-radius:4px;justify-content:center;align-items:center;width:80px;height:100%;font-size:18px;font-weight:700;display:flex}.shelf-bag-remove{color:#fff;cursor:pointer;opacity:0;z-index:2;background:#e07070;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:-8px;right:-8px}.shelf-bag.editable:hover .shelf-bag-remove{opacity:1}.shelf-drop-zone{border-radius:4px;flex-shrink:0;width:12px;height:170px;transition:all .15s}.shelf-drop-zone:hover,.shelf-drop-zone[data-active]{background:#d4b8961a;border:1px dashed #d4b8964d;width:40px}.shelf-empty-hint{text-align:center;color:#d4b89633;letter-spacing:.1em;text-transform:uppercase;align-self:center;width:100%;font-size:12px}.shelf-plank{background:linear-gradient(#a0724a 0%,#8b5e35 25%,#7a5030 60%,#6b4425 100%);border-top:2px solid #b8865a;width:100%;height:18px;margin-top:0;position:relative;box-shadow:0 6px 24px #0009,inset 0 1px #ffffff14}.shelf-plank:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 60px,#0000000f 60px 62px);position:absolute;inset:0}.top3-plank{background:linear-gradient(#c49060 0%,#a07040 30%,#8b5e30 70%,#7a5025 100%);border-top:2px solid #d4a870;box-shadow:0 6px 28px #000000b3,0 0 60px #ffc8640a,inset 0 1px #ffffff1a}.top3-section:before{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#ffc8640f 0%,#0000 70%);width:60%;height:200px;position:absolute;top:0;left:50%;transform:translate(-50%)}.shelf-add-btn{color:#d4b89659;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px dashed #d4b89633;border-radius:8px;width:calc(100% - 48px);margin:16px 24px;padding:12px;font-family:Syne,sans-serif;font-size:12px;transition:all .15s}.shelf-add-btn:hover{color:#d4b89699;border-color:#d4b89666}.shelf-picker{background:#d4b8960a;border:1px solid #d4b8961a;border-radius:12px;margin-top:32px;padding:24px}.shelf-picker-label{letter-spacing:.1em;text-transform:uppercase;color:#d4b89666;margin-bottom:16px;font-size:11px}.shelf-picker-row{flex-wrap:wrap;gap:12px;display:flex}.shelf-picker-item{cursor:grab;flex-direction:column;align-items:center;gap:6px;transition:transform .15s,opacity .15s;display:flex}.shelf-picker-item:hover{transform:translateY(-3px)}.shelf-picker-item:active{cursor:grabbing;opacity:.7}.shelf-picker-item img{object-fit:contain;filter:drop-shadow(0 3px 6px #00000080);width:auto;max-width:56px;height:72px}.shelf-picker-name{color:#d4b89680;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:70px;font-size:10px;overflow:hidden}.shelf-bag-placeholder.small{width:48px;height:72px;font-size:12px}@media (max-width:760px){.coffee-shelf-wrap{padding:0 16px}.shelf-bag{height:130px}.top3-area .shelf-bag{height:100px}.top3-row{padding:0 32px}.shelf-bags-area{min-height:140px}}@media (max-width:600px){nav{padding:0 20px}.nav-links,.nav-auth-desktop{display:none}.nav-hamburger,.mobile-nav-drawer{display:flex}.search-wrap{width:100%}.detail-image-col{height:65vw}.detail-name{font-size:26px}.detail-score-num{font-size:34px}.detail-content{padding:24px 20px 60px}.grid-meta{flex-direction:column;align-items:flex-start}.page-heading{font-size:28px}.coffees-grid{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--border);margin-top:60px;padding:40px}.footer-inner{flex-wrap:wrap;align-items:center;gap:32px;max-width:1360px;margin:0 auto;display:flex}.footer-logo{color:var(--text-primary);letter-spacing:.02em;margin-right:auto;font-family:Cormorant Garamond,serif;font-size:20px;font-style:italic;font-weight:300}.footer-links{flex-wrap:wrap;gap:24px;display:flex}.footer-links a{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:500;text-decoration:none;transition:color .18s}.footer-links a:hover{color:var(--text-muted)}.footer-copy{color:var(--text-dim);font-size:11px}.static-page{min-height:100vh;padding:100px 40px 80px}.static-page-inner{max-width:680px;margin:0 auto}.static-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-bottom:16px;font-size:10px;font-weight:600}.static-heading{color:var(--text-primary);margin-bottom:40px;font-family:Cormorant Garamond,serif;font-size:clamp(32px,5vw,52px);font-style:italic;font-weight:300;line-height:1.1}.static-date{color:var(--text-dim);margin-top:-28px;margin-bottom:40px;font-size:11px}.static-body{flex-direction:column;gap:20px;display:flex}.static-body p,.static-body li{color:var(--text-muted);font-size:15px;line-height:1.8}.static-body h2{letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);margin-top:12px;margin-bottom:-8px;font-family:Syne,sans-serif;font-size:13px;font-weight:700}.static-body a{color:var(--green);text-decoration:none}.static-body a:hover{text-decoration:underline}.static-body ul{flex-direction:column;gap:8px;padding-left:20px;display:flex}.auth-forgot-link{cursor:pointer;color:var(--text-dim);text-align:left;letter-spacing:.04em;background:0 0;border:none;margin-top:-4px;padding:0;font-size:11px;transition:color .15s}.auth-forgot-link:hover{color:var(--text-muted)}.auth-switch-btn{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:0 0;border:none;margin-top:16px;font-size:12px;font-weight:600;transition:color .15s}.auth-switch-btn:hover{color:var(--green-dark)}.auth-page-wrap{justify-content:center;align-items:flex-start;min-height:100vh;padding:80px 20px;display:flex}.profile-empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-state-heading{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:28px;font-style:italic;font-weight:300}.empty-state-sub{color:var(--text-muted);max-width:320px;font-size:14px;line-height:1.7}.empty-state-cta{letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--green);border-radius:2px;margin-top:8px;padding:11px 24px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.empty-state-cta:hover{background:var(--green-dark)}@media (max-width:600px){.static-page{padding:88px 24px 60px}.site-footer{padding:32px 24px}.footer-inner{gap:20px}.footer-logo{width:100%}}.search-page{max-width:1400px;min-height:100vh;margin:0 auto;padding:88px 40px 80px}.search-filter-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0f;border-radius:8px;align-items:center;gap:8px;margin-bottom:20px;padding:10px 16px;font-size:13px;display:none}.search-filter-count{background:var(--green);color:#000;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.search-layout{grid-template-columns:240px 1fr;align-items:start;gap:40px;display:grid}.search-sidebar{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:calc(100vh - 108px);position:sticky;top:88px;overflow-y:auto}.search-sidebar-inner{flex-direction:column;gap:0;display:flex}.search-clear-all{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border-radius:6px;margin-bottom:16px;padding:7px 12px;font-size:12px;transition:all .15s}.search-clear-all:hover{border-color:var(--text-dim);color:var(--text-muted)}.search-filter-section{border-top:1px solid var(--border);padding:16px 0}.search-filter-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px;font-size:11px;font-weight:600}.search-check-item{color:var(--text-muted);cursor:pointer;align-items:center;gap:9px;padding:3px 0;font-size:13px;transition:color .15s;display:flex}.search-check-item:hover{color:var(--text)}.search-check-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.search-check-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:0;max-height:200px;display:flex;overflow-y:auto}.search-pill-group{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.search-pill{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:20px;padding:5px 11px;font-size:12px;transition:all .15s}.search-pill:hover{border-color:var(--text-dim);color:var(--text-muted)}.search-pill.active{background:var(--green);border-color:var(--green);color:#000;font-weight:600}.search-filter-hint{color:var(--text-dim);margin-top:6px;font-size:11px;line-height:1.5}.search-price-wrap{flex-direction:column;gap:8px;display:flex}.search-price-slider{width:100%;accent-color:var(--green)}.search-price-label{color:var(--text-muted);font-size:13px}.search-results{min-width:0}.search-active-chips{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.search-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff12;border-radius:20px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;transition:all .15s;display:flex}.search-chip:hover{color:var(--text);background:#ffffff1c}.search-chip span{opacity:.6;font-size:14px;line-height:1}.search-results-meta{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.search-results-count{color:var(--text-dim);font-size:13px}.search-blend-note{color:var(--text-dim);font-size:12px;font-style:italic}.search-empty{text-align:center;color:var(--text-dim);padding:60px 0}.search-empty p{margin-bottom:16px;font-size:15px}.search-empty button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 20px;font-size:13px;transition:all .15s}.search-empty button:hover{border-color:var(--text-muted);color:var(--text)}@media (max-width:900px){.search-filter-toggle{display:flex}.search-layout{grid-template-columns:1fr}.search-sidebar{border:1px solid var(--border);border-radius:12px;max-height:none;margin-bottom:24px;padding:16px;display:none;position:static}.search-sidebar.open{display:block}}@media (max-width:600px){.search-page{padding:80px 20px 60px}}.origins-page{flex-direction:column;min-height:100vh;padding-top:60px;display:flex}.origins-top{border-bottom:1px solid var(--border);display:flex}.origins-country-list{border-right:1px solid var(--border);flex-shrink:0;width:190px;max-height:calc(52vh + 80px);padding:16px 0 24px;overflow-y:auto}.origins-list-heading{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);padding:0 16px 10px;font-size:9px;font-weight:600}.origins-list-item{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 16px;transition:background .15s;display:flex}.origins-list-item:hover{background:#ffffff0a}.origins-list-item.active{background:#7db87a1a}.origins-list-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;transition:color .15s;overflow:hidden}.origins-list-item:hover .origins-list-name,.origins-list-item.active .origins-list-name{color:var(--text-primary)}.origins-list-item.active .origins-list-name{color:var(--green)}.origins-list-count{color:var(--text-dim);flex-shrink:0;font-size:10px;font-weight:600;transition:color .15s}.origins-list-item.active .origins-list-count{color:var(--green)}.origins-map-wrap{background:linear-gradient(#ffffff04 0%,#0000 100%);flex:1;padding:32px 40px 20px;position:relative}.origins-map-svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;max-height:52vh;display:block}.origins-map-svg.zoomed{cursor:grab}.origins-map-svg.zoomed:active{cursor:grabbing}.origins-zoom-controls{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:44px;right:48px}.origins-zoom-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#272220d9;border-radius:6px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:color .15s,border-color .15s;display:flex}.origins-zoom-btn:hover{color:var(--text-primary);border-color:var(--text-dim)}.origins-zoom-reset{font-size:13px}.origins-country{stroke:#ffffff0f;stroke-width:.4px;cursor:default;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}.origins-country.no-coffees{fill:#ffffff0a}.origins-country.has-coffees{fill:#7db87a38;cursor:pointer}.origins-country.has-coffees.hovered{fill:#7db87a85;stroke:#7db87ab3;stroke-width:.8px}.origins-country.has-coffees.selected{fill:#7db87aa6;stroke:var(--green);stroke-width:1px}.origins-tooltip{pointer-events:none;z-index:200;border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);white-space:nowrap;background:#1e1a18f2;border-radius:8px;flex-direction:column;gap:2px;padding:7px 12px;display:flex;position:fixed}.origins-tooltip-name{color:var(--text-primary);font-size:13px;font-weight:600}.origins-tooltip-count{letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:600}.origins-legend{align-items:center;gap:8px;margin-top:12px;padding-bottom:4px;display:flex}.origins-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.origins-legend-dot.has-coffees{border:1px solid var(--green);background:#7db87a8c}.origins-legend-dot.no-coffees{background:#ffffff0f;border:1px solid #ffffff1f}.origins-legend-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-right:12px;font-size:10px}.origins-legend-hint{color:var(--text-dim);margin-left:auto;font-size:10px;font-style:italic}.origins-hint{flex:1;justify-content:center;align-items:center;padding:60px 40px;display:flex}.origins-hint p{color:var(--text-dim);letter-spacing:.02em;font-size:14px;font-style:italic}.origins-panel{flex:1;padding:28px 40px 80px}.origins-panel-header{margin-bottom:28px}.origins-panel-title-row{align-items:baseline;gap:14px;margin-bottom:16px;display:flex}.origins-panel-country{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:clamp(28px,4vw,44px);font-style:italic;font-weight:300;line-height:1}.origins-panel-total{letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:600}.origins-panel-close{border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:18px;line-height:1;transition:color .15s,border-color .15s;display:flex}.origins-panel-close:hover{color:var(--text-primary);border-color:var(--text-muted)}.origins-region-chips{flex-wrap:wrap;gap:7px;display:flex}.origins-region-chip{border:1px solid var(--border);letter-spacing:.06em;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:5px 14px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.origins-region-chip:hover{color:var(--text-primary);border-color:#fff3}.origins-region-chip.active{border-color:var(--green);color:var(--green);background:#7db87a1f}.origins-coffee-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.origins-empty{color:var(--text-dim);grid-column:1/-1;padding:32px 0;font-size:14px;font-style:italic}@media (max-width:700px){.origins-map-wrap{padding:20px 20px 16px}.origins-panel{padding:20px 20px 60px}.origins-hint{padding:40px 20px}.origins-coffee-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.wheel-page{flex-direction:column;align-items:center;min-height:100vh;padding-top:60px;display:flex;position:relative}.wheel-glow{z-index:0;pointer-events:none;position:fixed;inset:0}.wheel-svg-wrap{z-index:1;width:min(560px,96vw);padding:24px 0 0;position:relative}.wheel-svg{width:100%;height:auto;display:block;overflow:visible}.wheel-seg{cursor:pointer}.wheel-hint-text{z-index:1;color:var(--text-dim);letter-spacing:.06em;text-align:center;padding:0 20px 48px;font-size:11px;position:relative}.wheel-results{z-index:1;width:100%;max-width:1200px;padding:0 40px 80px;position:relative}.wheel-results-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:24px;padding:20px 0 24px;display:flex}.wheel-results-label{font-family:Cormorant Garamond,serif;font-size:clamp(24px,3.5vw,36px);font-style:italic;font-weight:300;line-height:1}.wheel-results-count{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.wheel-results-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.wheel-results-btn{letter-spacing:.06em;color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:11px;font-weight:600;transition:color .15s}.wheel-results-btn:hover{color:var(--text-muted)}.wheel-coffee-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.wheel-empty{color:var(--text-dim);grid-column:1/-1;padding:40px 0;font-size:14px;font-style:italic}@media (max-width:700px){.wheel-results{padding:0 20px 60px}.wheel-coffee-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--bg-card);border-radius:8px;animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton-page{padding-top:60px}.skeleton-hero{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:340px;padding:0 20px;display:flex}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:40px;display:grid}.skeleton-card{height:320px}.skeleton-page-header{flex-direction:column;gap:12px;padding:88px 40px 36px;display:flex}.skeleton-roaster-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:0 40px 60px;display:grid}.skeleton-roaster-card{height:120px}.skeleton-search{gap:32px;padding:100px 40px 40px;display:flex}.skeleton-sidebar{flex-direction:column;flex-shrink:0;gap:12px;width:280px;display:flex}.skeleton-sidebar-block{height:160px}.skeleton-search-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:16px;display:grid}.skeleton-map{height:480px;margin:60px 40px 0}@media (max-width:760px){.skeleton-grid{padding:24px 16px}.skeleton-page-header{padding:88px 20px 24px}.skeleton-roaster-grid{padding:0 16px 40px}.skeleton-search{flex-direction:column;padding:100px 16px 40px}.skeleton-sidebar{width:100%}.skeleton-map{margin:60px 16px 0}}.grid-controls{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 40px;display:flex}@media (max-width:760px){.grid-controls{flex-wrap:wrap;gap:8px;padding:12px 20px}}.grid-count-row{align-items:center;margin-bottom:28px;display:flex}.pagination{justify-content:center;align-items:center;gap:16px;padding:40px 40px 60px;transition:opacity .18s;display:flex}.pagination--pending{opacity:.5;pointer-events:none}.pagination-btn{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:100px;padding:8px 20px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;transition:all .18s}.pagination-btn:hover:not(:disabled){color:var(--text-primary);border-color:#fff3}.pagination-btn:disabled{opacity:.3;cursor:default}.pagination-info{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-family:Syne,sans-serif;font-size:11px;font-weight:500}@media (max-width:760px){.pagination{gap:12px;padding:24px 16px 40px}}.notif-wrap{align-items:center;display:flex;position:relative}.notif-bell{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex;position:relative}.notif-bell:hover{color:var(--text);background:var(--surface)}.notif-badge{color:#fff;pointer-events:none;background:#e05252;border-radius:999px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notif-dropdown{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:14px;width:320px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 8px 32px #0000002e}.notif-dropdown-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:14px 16px 10px;font-size:11px;font-weight:700}.notif-list{max-height:380px;margin:0;padding:0;list-style:none;overflow-y:auto}.notif-item{border-bottom:1px solid var(--border)}.notif-item:last-child{border-bottom:none}.notif-item-unread{background:#ffffff08}.notif-link{color:inherit;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;transition:background .15s;display:flex}.notif-link:hover{background:#ffffff0a}.notif-img{object-fit:cover;border-radius:8px;flex-shrink:0;width:44px;height:44px}.notif-text{flex:1;min-width:0}.notif-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:600;overflow:hidden}.notif-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:13px;font-weight:600;overflow:hidden}.notif-time{color:var(--text-secondary);font-size:11px}.notif-empty{color:var(--text-secondary);text-align:center;padding:20px 16px;font-size:13px}.follow-btn{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:100px;padding:9px 22px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;transition:all .18s}.follow-btn:hover{color:var(--text-primary);border-color:#ffffff40}.follow-btn-active{color:var(--text-primary);background:#ffffff1a;border-color:#fff3}.follow-btn-active:hover{color:#f66;background:#ff50501f;border-color:#ff50504d}.follow-btn-pending{opacity:.6;cursor:default}.follow-btn-loading{opacity:.3;cursor:default}.follow-btn-sm{padding:6px 14px;font-size:10px}.bento-roaster-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.bento-view-page{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-family:Syne,sans-serif;font-size:11px;font-weight:500;text-decoration:none;transition:color .18s}.bento-view-page:hover{color:var(--text-primary)}.roaster-page{padding-bottom:80px}.roaster-page-nav{padding:24px 40px 0}.roaster-page-back{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:8px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;text-decoration:none;transition:color .18s;display:inline-flex}.roaster-page-back:hover{color:var(--text-primary)}.roaster-page-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:32px;padding:36px 40px 32px;display:flex}.roaster-page-logo{border:1px solid var(--border);background:#ffffff0a;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;padding:12px;display:flex;overflow:hidden}.roaster-page-logo img{object-fit:contain;max-width:100%;max-height:100%}.roaster-page-initials{color:var(--text-muted);font-family:Syne,sans-serif;font-size:28px;font-weight:700}.roaster-page-title-block{flex:1}.roaster-page-location{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-family:Syne,sans-serif;font-size:11px;font-weight:500}.roaster-page-name{letter-spacing:-.01em;color:var(--text-primary);margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:clamp(32px,4vw,52px);font-weight:600}.roaster-page-teaser{color:var(--text-muted);margin-bottom:20px;font-size:14px;line-height:1.6}.roaster-page-actions{align-items:center;gap:16px;display:flex}.roaster-page-website{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:5px;font-family:Syne,sans-serif;font-size:11px;font-weight:500;text-decoration:none;transition:color .18s;display:inline-flex}.roaster-page-website:hover{color:var(--text-primary)}.roaster-page-about{border-bottom:1px solid var(--border);padding:32px 40px}.roaster-page-section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:10px;margin-bottom:16px;font-family:Syne,sans-serif;font-size:10px;font-weight:600;display:flex}.roaster-page-coffee-count{color:var(--text-muted);background:#ffffff12;border-radius:100px;padding:2px 8px;font-size:10px}.roaster-page-desc{color:var(--text-muted);max-width:680px;margin-bottom:12px;font-size:14px;line-height:1.75}.roaster-page-coffees{padding:32px 40px}.roaster-page-empty{color:var(--text-dim);font-size:14px}@media (max-width:760px){.roaster-page-nav{padding:20px 20px 0}.roaster-page-header{flex-direction:column;gap:20px;padding:28px 20px 24px}.roaster-page-logo{width:72px;height:72px}.roaster-page-about,.roaster-page-coffees{padding:24px 20px}}.follow-icon-btn{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#0006;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;padding-bottom:1px;font-size:18px;line-height:1;transition:all .18s;display:flex;position:absolute;top:12px;right:12px}.follow-icon-btn:hover{color:var(--text-primary);border-color:#ffffff59}.follow-icon-btn-active{color:var(--text-primary);background:#ffffff1f;border-color:#ffffff4d;font-size:13px}.follow-icon-btn-active:hover{color:#f66;background:#ff3c3c33;border-color:#ff505066}.follow-icon-btn-pending{opacity:.5;cursor:default}.profile-following-section{padding:16px 0 40px}.profile-section-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:20px;font-family:Syne,sans-serif;font-size:11px;font-weight:600}.profile-following-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.profile-following-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .18s;display:flex}.profile-following-card:hover{border-color:#ffffff1f}.profile-following-card-link{flex:1;align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.profile-following-logo{border:1px solid var(--border);background:#ffffff0a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:6px;display:flex;overflow:hidden}.profile-following-logo img{object-fit:contain;max-width:100%;max-height:100%}.profile-following-initials{color:var(--text-muted);font-family:Syne,sans-serif;font-size:14px;font-weight:700}.profile-following-info{min-width:0}.profile-following-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:Syne,sans-serif;font-size:13px;font-weight:600;overflow:hidden}.profile-following-location{color:var(--text-dim);margin-top:2px;font-size:11px}.profile-following-unfollow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 0;font-family:Syne,sans-serif;font-size:10px;font-weight:500;transition:color .18s}.profile-following-unfollow:hover{color:#f66}@media (max-width:760px){.profile-following-section{padding:0 20px 40px}.profile-following-grid{grid-template-columns:1fr}}
