:root{--primary:#d07940;--bg:#fff;--prominent:#000;--text:#000000d1;--text-secondary:#0009;--subtle:#0000006b;--card:#f5f5f5;--border:#0000001f;--rating-flawed:#bc752f;--rating-okay:#938825;--rating-good:#65822b;--rating-great:#307e36;--rating-superb:#25787e;--space:8px;--radius:16px;--maxw:480px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"}@media (prefers-color-scheme:dark){:root{--bg:#000;--prominent:#fff;--text:#ffffffd1;--text-secondary:#fff9;--subtle:#ffffff6b;--card:#171717;--border:#ffffff24;--rating-flawed:#af855a;--rating-okay:#a9a960;--rating-good:#97a960;--rating-great:#609f60;--rating-superb:#60a9a9}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}a{color:inherit}.wordmark{letter-spacing:-1px;color:var(--prominent);font-weight:900;text-decoration:none}.wordmark-lg{font-size:48px;line-height:1}.wordmark-sm{font-size:22px}.tagline{color:var(--text-secondary);text-align:center;margin:0;font-size:16px}.tagline-sm{font-size:14px}.brandmark{display:inline-block;position:relative}.brandmark img{display:block}.brandmark .brandmark-dark{display:none}@media (prefers-color-scheme:dark){.brandmark .brandmark-light{display:none}.brandmark .brandmark-dark{display:block}}.btn{height:54px;padding:0 calc(var(--space) * 3);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;font-size:16px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.9}.shell-header .btn{height:40px;padding:0 calc(var(--space) * 2);font-size:14px}.store-buttons{gap:var(--space);display:flex}.store-badge{padding:0 calc(var(--space) * 2) 0 calc(var(--space) * 1.75);background:var(--prominent);color:var(--bg);text-align:left;border-radius:12px;gap:10px}.store-badge svg{flex-shrink:0}.store-badge-text{flex-direction:column;line-height:1.1;display:flex}.store-badge-caption{letter-spacing:.2px;opacity:.75;font-size:10px;font-weight:500}.store-badge-name{letter-spacing:-.3px;white-space:nowrap;font-size:17px;font-weight:600}.shell-header .store-badge{border-radius:10px;gap:8px;height:40px;padding:0 12px 0 10px}.shell-header .store-badge svg{width:18px;height:18px}.shell-header .store-badge-caption{font-size:8px}.shell-header .store-badge-name{font-size:14px}.landing{justify-content:center;align-items:center;gap:calc(var(--space) * 5);min-height:100svh;padding:calc(var(--space) * 4) calc(var(--space) * 3);flex-direction:column;display:flex}.landing-hero{justify-content:center;align-items:center;gap:calc(var(--space) * 3);flex-direction:column;min-height:50svh;display:flex}.landing-wordmark-block{align-items:center;gap:var(--space);flex-direction:column;display:flex}.landing-actions{flex-direction:column;width:100%;max-width:320px;display:flex}.landing-actions .btn{width:100%}.landing-actions .store-badge{flex:1 1 0}.landing-recent{width:100%;max-width:var(--maxw)}.shell{min-height:100svh;max-width:var(--maxw);padding:0 calc(var(--space) * 3);flex-direction:column;margin:0 auto;display:flex}.shell-header{padding:calc(var(--space) * 2) 0;justify-content:space-between;align-items:center;display:flex}.shell-main{padding:calc(var(--space) * 2) 0 calc(var(--space) * 4);flex:1}.shell-footer{padding:calc(var(--space) * 3) 0 calc(var(--space) * 5);border-top:1px solid var(--border);text-align:center}.footer-links{justify-content:center;column-gap:calc(var(--space) * 2);flex-wrap:wrap;display:flex}.footer-link{margin-top:var(--space);color:var(--subtle);font-size:14px;text-decoration:none;display:inline-block}.footer-link:hover{text-decoration:underline}.coffee-roaster-line{color:var(--text-secondary)}.coffee-roaster{font-style:italic;font-weight:600}.coffee-sub{color:var(--text-secondary)}.coffee-name{color:var(--text);font-weight:900;line-height:1.15}.coffee-meta{color:var(--text-secondary)}.coffee-days{color:var(--subtle);margin-top:calc(var(--space) / 2)}.coffee-sm .coffee-name{font-size:18px}.coffee-sm .coffee-roaster-line,.coffee-sm .coffee-meta,.coffee-sm .coffee-days{font-size:13px}.coffee-md .coffee-name{font-size:22px}.coffee-md .coffee-roaster-line,.coffee-md .coffee-meta,.coffee-md .coffee-days{font-size:14px}.coffee-lg .coffee-name{font-size:28px}.coffee-lg .coffee-roaster-line,.coffee-lg .coffee-meta,.coffee-lg .coffee-days{font-size:16px}.brew{gap:calc(var(--space) * 2);flex-direction:column;display:flex}.brew-header{color:var(--subtle);justify-content:space-between;align-items:center;font-size:14px;display:flex}.brew-user{align-items:center;gap:6px;display:inline-flex}.brew-rating-line{align-items:center;gap:calc(var(--space) * 2);flex-wrap:wrap;display:flex}.brew-rating{font-size:16px;font-weight:900}.brew-stat-strong{color:var(--text);align-items:center;gap:4px;font-size:16px;font-weight:600;display:inline-flex}.brew-stat{color:var(--subtle);font-size:16px}.brew-notes{color:var(--text);white-space:pre-wrap;margin:0;font-size:16px}.brew-section{gap:calc(var(--space) * 2);background:var(--card);border-radius:var(--radius);padding:calc(var(--space) * 2);flex-direction:column;display:flex}.brew-block .label{color:var(--subtle);font-variant:small-caps;letter-spacing:.5px;margin-bottom:calc(var(--space) / 2);font-size:12px;font-weight:700}.brew-block .value{font-size:20px;font-weight:600}.brew-block .value-sub{color:var(--text-secondary);font-weight:600}.brew-block .value-empty{color:var(--subtle)}.equip-manufacturer{color:var(--text-secondary);font-weight:400}.brew-block .ratio{font-size:15px}.brew-block .recipe{color:var(--text);white-space:pre-wrap;font-size:15px}.entity{gap:calc(var(--space) * 2);flex-direction:column;display:flex}.entity-title{color:var(--prominent);margin:0;font-size:28px;font-weight:900;line-height:1.15}.entity-sub{color:var(--subtle);font-size:14px}.about{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:15px}.link{color:var(--primary)}.text-list{padding-left:calc(var(--space) * 2.5);color:var(--text-secondary);margin:0;font-size:15px}.text-list li+li{margin-top:calc(var(--space) / 2)}.legal-links{gap:var(--space);flex-direction:column;display:flex}.legal-link{padding:calc(var(--space) * 2);background:var(--card);border-radius:var(--space);color:var(--text);justify-content:space-between;align-items:center;font-size:16px;font-weight:500;text-decoration:none;display:flex}.legal-link svg{color:var(--text-secondary)}.legal-link:hover{opacity:.85}.legal-doc{color:var(--text-secondary);overflow-wrap:break-word;font-size:15px}.legal-doc h2{margin:calc(var(--space) * 4) 0 var(--space);color:var(--prominent);font-size:20px;font-weight:700;line-height:1.25}.legal-doc h3{margin:calc(var(--space) * 3) 0 var(--space);color:var(--text);font-size:17px;font-weight:600;line-height:1.3}.legal-doc p{margin:0 0 calc(var(--space) * 1.5);white-space:pre-line}.legal-doc ul,.legal-doc ol{margin:0 0 calc(var(--space) * 1.5);padding-left:calc(var(--space) * 2.5)}.legal-doc li+li{margin-top:calc(var(--space) / 2)}.legal-doc strong{color:var(--text);font-weight:600}.legal-doc code{background:var(--card);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.legal-doc>:first-child{margin-top:0}.legal-doc>:last-child{margin-bottom:0}.roaster-head{align-items:center;gap:calc(var(--space) * 2);display:flex}.monogram{border:1px solid var(--text);width:80px;height:80px;color:var(--text);opacity:.5;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:40px;font-weight:900;display:flex}.list-section{margin-top:calc(var(--space) * 3);gap:calc(var(--space) * 1.5);flex-direction:column;display:flex}.section-label{color:var(--subtle);font-variant:small-caps;letter-spacing:1px;margin:0;font-size:12px;font-weight:600}.list-empty{color:var(--subtle);margin:0;font-size:14px}.more-in-app{margin-top:calc(var(--space) / 2);color:var(--primary);align-self:flex-start;font-size:14px;font-weight:600;text-decoration:none}.more-in-app:hover{text-decoration:underline}.more-in-app-stores{margin:calc(var(--space) / 2) 0 0;color:var(--text-secondary);font-size:14px;font-weight:600}.brew-list,.coffee-list{flex-direction:column;display:flex}.brew-row{gap:calc(var(--space) / 2);padding:calc(var(--space) * 1.5) 0;border-top:1px solid var(--border);color:inherit;flex-direction:column;text-decoration:none;display:flex}.brew-list .brew-row:first-child{border-top:none}.brew-row:hover{opacity:.85}.brew-row-header{color:var(--subtle);justify-content:space-between;align-items:center;font-size:12px;display:flex}.brew-row-user{flex:auto;align-items:center;gap:5px;min-width:0;display:inline-flex}.brew-row-username{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brew-row-date{margin-left:var(--space);white-space:nowrap;flex:none}.brew-row-main{gap:calc(var(--space) * 2);align-items:flex-start;display:flex}.brew-row-coffee{flex:50%;min-width:0}.brew-row-coffee .coffee-name,.brew-row-coffee .coffee-meta,.brew-row-coffee .coffee-days,.brew-row-coffee .coffee-roaster{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brew-row-coffee .coffee-roaster-line{align-items:baseline;min-width:0;display:flex}.brew-row-coffee .coffee-roaster{flex:0 auto;min-width:0}.brew-row-coffee .coffee-sub{white-space:nowrap;flex:none}.brew-row-details{text-align:right;flex-direction:column;flex:auto;align-items:flex-end;gap:2px;min-width:0;display:flex}.brew-row-recipe{flex-direction:column;align-self:stretch;align-items:flex-end;display:flex}.brew-row-ratio{text-overflow:ellipsis;white-space:nowrap;direction:rtl;max-width:100%;overflow:hidden}.brew-row-grinder,.brew-row-brewer{justify-content:flex-end;align-items:baseline;min-width:0;max-width:100%;display:flex}.equip-shrinkable{text-overflow:ellipsis;white-space:nowrap;direction:rtl;flex:0 auto;min-width:0;overflow:hidden}.equip-name-inner{direction:ltr;unicode-bidi:isolate}.equip-qualifier{color:var(--text-secondary);flex:none;font-weight:400}.equip-fixed{white-space:pre;flex:none}.brew-row-grinder{font-size:13px;font-weight:600}.brew-row-brewer{font-size:18px;font-weight:600;line-height:1.15}.brew-row-ratio{color:var(--text-secondary);font-size:13px;font-weight:500}.brew-row-stat{white-space:nowrap;max-width:100%;color:var(--subtle);align-items:center;gap:4px;font-size:12px;display:inline-flex;overflow:hidden}.brew-row-notes{align-items:center;gap:8px;font-size:12px;display:flex}.brew-row-notes-text{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-style:italic;overflow:hidden}.brew-row-rating{font-style:normal;font-weight:900}.brew-row-inline-time{color:var(--text-secondary);flex:none;align-items:center;gap:4px;font-style:normal;display:inline-flex}.coffee-row{justify-content:space-between;align-items:flex-start;gap:var(--space);padding:calc(var(--space) * 1.5) 0;border-top:1px solid var(--border);color:inherit;text-decoration:none;display:flex}.coffee-list .coffee-row:first-child{border-top:none}.coffee-row:hover{opacity:.85}.coffee-row-main{min-width:0;max-width:70%}.coffee-row-date{color:var(--subtle);white-space:nowrap;text-align:right;flex:none;font-size:12px}
