:root{color:#302a27;font-synthesis:none;--wine:#6b2e36;--ink:#302a27;--muted:#79716a;--line:#e8e2d9;--paper:#fffefa;--green:#52684f;--serif:Georgia, "Times New Roman", serif;background:#f7f4ee;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{color:inherit}a{color:var(--wine)}button,input,select,textarea{outline-offset:4px}:focus-visible{outline:2px solid var(--wine)}button{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif)}h1{letter-spacing:-1.5px;margin:10px 0 14px;font-size:43px;line-height:1.15}h2{letter-spacing:-.5px;font-size:25px;line-height:1.2}p{line-height:1.65}svg{flex-shrink:0}button svg{vertical-align:middle}input,select,textarea{background:var(--paper);width:100%;min-width:0;color:var(--ink);border:1px solid #ddd5c9;border-radius:9px;min-height:46px;padding:13px}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--wine);flex-shrink:0}textarea{resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23797068' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:30px}button.primary,.primary,button.secondary,.secondary{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 19px;font-weight:600;line-height:1.35;text-decoration:none;display:inline-flex}button.primary,.primary{background:var(--wine);color:#fffefa;box-shadow:0 3px 6px #4e1f2810}button.primary:hover{background:#56232b}.secondary{background:var(--paper);border-color:var(--line)!important}.secondary:hover{background:#f3eee6}.full{width:100%}.subtle{color:var(--muted);font-size:12px;line-height:1.6}.centered{text-align:center}.eyebrow{letter-spacing:1.7px;color:var(--muted);text-transform:uppercase;font:600 10px/1.5 -apple-system,BlinkMacSystemFont,sans-serif}.app-shell{grid-template-columns:226px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:10;background:#f1ece3;flex-direction:column;width:226px;padding:37px 23px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--ink);align-items:center;gap:12px;margin-bottom:61px;text-decoration:none;display:flex}.brand-icon{background:var(--wine);color:#fffefa;border-radius:12px;justify-content:center;align-items:center;width:42px;height:46px;display:flex}.brand strong{font:700 26px/1 var(--serif);letter-spacing:-1px;display:block}.brand strong span{vertical-align:top;font:10px sans-serif;position:relative;top:1px;left:4px}.brand small{letter-spacing:1.6px;color:var(--muted);margin-top:7px;font-size:10px;display:block}.sidebar-label{letter-spacing:1.8px;color:#8d8278;margin-bottom:16px;margin-left:14px;font-size:9px}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button{text-align:left;color:#7d746c;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;min-height:48px;padding:12px 14px;display:flex}.sidebar nav button[aria-current=page]{color:var(--wine);background:#e8dbd5;font-weight:600}.sidebar nav button small{background:#d9c9c1;border-radius:5px;margin-left:auto;padding:2px 5px;font-size:10px;font-weight:500}.sidebar nav button:hover{background:#e9e0d5}.sidebar-bottom{border-top:1px solid #dfd6c9;align-items:flex-start;gap:9px;margin-top:auto;padding-top:20px;font-size:11px;display:flex}.sidebar-bottom strong{font-weight:500}.sidebar-bottom p{color:var(--muted);margin:5px 0 0;font-size:9px}.storage-dot{background:#6b8063;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px;display:inline-block}.workspace{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);height:83px;color:var(--muted);align-items:center;gap:24px;padding:0 46px;font-size:11px;display:flex}.topbar>span:first-child>span{color:#c3b9ae;padding:0 12px}.topbar b{color:#544b43;font-weight:500}.topbar-date{margin-left:auto}.topbar-status{border:1px solid #e0d9cf;border-radius:30px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;display:flex}.topbar-status .storage-dot{margin-top:0}.mobile-brand{display:none}main{max-width:1280px;margin:auto;padding:41px 46px 26px}.page-title{justify-content:space-between;align-items:center;gap:25px;margin-bottom:31px;display:flex}.page-title>.primary{flex-shrink:0}.page-title .eyebrow{color:var(--wine);margin:0}.page-title>div>p:last-child{color:var(--muted);margin-bottom:0;font-size:13px}.prepare-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);align-items:start;gap:23px;display:grid}.card{border:1px solid var(--line);background:var(--paper);border-radius:14px;box-shadow:0 3px 8px #3d2e1e03}.calculator{padding:26px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.calculator .section-heading{align-items:start;margin-bottom:25px}.section-heading h2{margin:7px 0 0;font-size:24px}.method-pill{color:#827365;white-space:nowrap;background:#faf7f1;border:1px solid #e6dfd4;border-radius:5px;align-items:center;padding:6px 9px;font-size:10px;display:inline-flex}.field{flex-direction:column;gap:8px;min-width:0;margin:0 0 18px;display:flex}.field>span,.field>label{font-size:12px;font-weight:500}.field>span>b{color:var(--ink);margin-left:9px;font-weight:500}.calculator .field>span,.field>label{color:#aa9689}.field small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.calculator select{background-color:#faf8f4;min-height:49px;font-size:12px}.volume-field{border:0;margin:24px 0;padding:0}.volume-field legend{margin-bottom:13px;padding:0;font-size:12px}.volume-field legend>span{color:#aa9689;margin-right:9px}.volume-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.volume-options button{border:1px solid var(--line);background:#fdfbf7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:70px;display:flex;position:relative}.volume-options button>span{letter-spacing:-.5px;font-size:17px;font-weight:500}.volume-options button>small{color:#94877c;font-size:10px}.volume-options button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:#fffefa;box-shadow:0 2px 5px #6b2e3626}.volume-options button[aria-pressed=true]>small{color:#e5c8c9}.volume-check{position:absolute;top:5px;right:5px}.recipe-result{background:#f3f0e8;border:1px solid #e9e3d6;border-radius:10px;overflow:hidden}.result-top{color:#70675b;justify-content:space-between;align-items:center;gap:10px;padding:15px 17px 0;font-size:11px;display:flex}.badge{color:#876739;white-space:nowrap;background:#f4eadd;border:1px solid #e7d9c5;border-radius:5px;align-items:center;gap:5px;width:max-content;padding:4px 6px;font-size:9px;display:inline-flex}.badge.tested{color:#536c4c;background:#e9eee4;border-color:#dce5d5}.badge-dot{background:currentColor;border-radius:50%;width:4px;height:4px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 10px 17px;display:grid}.metrics>div{text-align:center;flex-direction:column;align-items:center;gap:7px;min-width:0;display:flex}.metrics>div+div{border-left:1px solid #dfd9cc}.metrics svg{color:#92796b;stroke-width:1.5px}.metrics strong{font:500 29px/1.2 var(--serif);letter-spacing:-.8px;overflow-wrap:anywhere}.metrics strong small{font:16px var(--serif)}.metrics>div>span{color:#827565;font-size:10px}.result-note{color:#7a7062;border-top:1px solid #e3dccd;margin:0;padding:10px 15px;font-size:10px;line-height:1.6}.notice{color:#8c7862;align-items:flex-start;gap:9px;padding:12px 0 3px;display:flex}.notice svg{margin-top:3px}.notice p{margin-bottom:12px;font-size:10px;line-height:1.6}.calculator>.primary{margin-top:15px}.calculator>.subtle{margin:9px 0 0;font-size:9px}.selected-coffee{padding:22px 23px 18px;overflow:hidden}.tiny-dot{background:var(--wine);border-radius:50%;width:6px;height:6px}.selected-coffee>.eyebrow{color:#917b68;margin-bottom:5px;font-size:9px}.selected-coffee h2{margin-bottom:8px;font-size:25px}.origin{color:var(--muted);font-size:11px;line-height:1.6}.origin span{padding:0 5px}.chips{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.chips span{color:#81715e;background:#f8f5ef;border:1px solid #e8e1d6;border-radius:4px;padding:4px 7px;font-size:9px}.flavour{color:#74695c;margin:13px 0 17px;font-size:12px;line-height:1.8}.text-link{color:var(--wine);background:0 0;border:0;align-items:center;gap:9px;min-height:36px;padding:7px 0;font-size:11px;font-weight:600;display:inline-flex}.selected-coffee>.text-link{border-top:1px solid var(--line);justify-content:space-between;width:100%;padding-top:14px}.ritual-note{text-align:center;padding:25px 12px 0}.ritual-note>span:first-child{letter-spacing:1.6px;color:#a4917d;font-size:8px}.ritual-note p{font:italic 15px/1.65 var(--serif);color:#90806e;margin:11px 0}.note-line{background:#c8b39c;width:30px;height:1px;margin:15px auto 0;display:block}.bag-scene{background:radial-gradient(at 50% 70%,#f0e6d7 0,#0000 65%);justify-content:center;align-items:center;height:201px;margin:7px -8px 21px;display:flex;position:relative}.coffee-bag{clip-path:polygon(7% 0,94% 1%,92% 8%,94% 17%,100% 95%,94% 100%,3% 98%,0 92%,5% 17%,8% 8%);filter:drop-shadow(4px 12px 7px #5e43242e);background:linear-gradient(95deg,#9b7762 0,#bd9980 10%,#cbae91 27%,#c5a085 75%,#ac866a 100%);width:116px;height:161px;position:relative;transform:rotate(-6deg);box-shadow:inset 10px 0 10px #40230a30}.bag-seam{background:#ae8669;border-bottom:1px solid #ddbea3;width:100%;height:6px;position:absolute;top:9px}.bag-label{color:#5c2930;text-align:center;background:#e4b9ad;flex-direction:column;align-items:center;padding:10px 3px 5px;display:flex;position:absolute;inset:35px 11px 22px 15px}.bag-label>span{text-transform:uppercase;letter-spacing:1px;font-size:6px}.bag-bean{margin:1px 0;font-size:28px;line-height:30px;transform:rotate(-30deg)}.bag-label strong{font:600 13px var(--serif);margin-bottom:2px}.bag-label small{font-size:6px}.bag-label i{letter-spacing:1px;font-size:4px;font-style:normal;position:absolute;bottom:8px}.bag-fold{background:#b59173;border-top:1px solid #d9b89a;width:100%;height:6px;position:absolute;bottom:5px}.green .bag-label{color:#314c3c;background:#cfdbc5}.green .coffee-bag{transform:rotate(6deg)}.bag-scene.small{background:#f0e8dd;border-radius:13px 13px 0 0;height:205px;margin:0}.green.small{background:#e9ecdf}.references{margin-top:35px}.references>.section-heading{margin-bottom:15px}.references h2{margin:0;font-size:21px}.references .section-heading>.subtle{font-size:10px}.reference-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.reference-card{border:1px solid var(--line);text-align:left;background:#f8f5ef;border-radius:10px;align-items:center;gap:20px;padding:18px;display:flex}.reference-card>div{min-width:0}.reference-card>svg{color:#9e8276;margin-left:auto}.reference-card h3{font:17px var(--serif);margin:9px 0 6px}.reference-card p{color:#8d7e70;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.7;display:-webkit-box;overflow:hidden}.prepare-footer{border-top:1px solid var(--line);color:#9b8e7f;align-items:center;gap:9px;margin-top:30px;padding-top:20px;font-size:10px;display:flex}.prepare-footer i{color:#c2b4a3;padding:0 6px;font-style:normal}.prepare-footer>span:last-child{font-family:var(--serif);margin-left:auto;font-style:italic}.toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.toolbar>input{max-width:270px}.segmented{border:1px solid var(--line);background:#eee8dd;border-radius:8px;flex-shrink:0;padding:4px;display:flex}.segmented button{color:#8a7c6e;background:0 0;border:0;border-radius:5px;min-height:40px;padding:10px 13px;font-size:12px}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--wine);box-shadow:0 1px 4px #302a2710}.library-grid,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.coffee-card{overflow:hidden}.coffee-card-content{padding:23px}.coffee-card-content h2{margin-bottom:8px}.coffee-card-content .eyebrow{margin-bottom:7px}.coffee-actions{border-top:1px solid var(--line);align-items:center;gap:6px;margin-top:20px;padding-top:9px;display:flex}.coffee-actions>.text-link{margin-right:auto}.icon-button{color:#897465;background:0 0;border:0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button:hover{color:var(--wine);background:#f0e9de}.inline-filter{color:var(--muted);align-items:center;gap:12px;font-size:11px;display:flex}.inline-filter select{width:auto;min-width:180px;max-width:300px}.check-label,.compare-check{color:var(--muted);align-items:center;gap:9px;min-height:44px;font-size:12px;display:flex}.recipe-card{flex-direction:column;padding:24px;display:flex}.recipe-card>.eyebrow{margin:20px 0 7px}.recipe-card h2{margin:0 0 20px}.recipe-numbers{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:15px 0;display:flex}.recipe-numbers span{color:var(--muted);font-size:10px}.recipe-numbers b{font:24px var(--serif);color:var(--ink);margin-bottom:5px;display:block}.recipe-card>.subtle{margin:10px 0}.recipe-notes{color:#7f7264;flex:1;font-size:12px}.recipe-actions{align-items:center;gap:6px;display:flex}.recipe-actions>.secondary{margin-right:auto;font-size:12px}.compare-check{border-top:1px solid var(--line);margin-top:17px;padding-top:12px}.comparison{margin-top:25px;padding:24px}.comparison h2{align-items:center;gap:10px;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:480px;font-size:12px;line-height:1.6}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;max-width:300px;padding:13px 12px}th{font-weight:600}thead th{color:var(--wine);background:#f3eee5}.journal-list{flex-direction:column;gap:20px;display:flex}.tasting-card{grid-template-columns:160px minmax(0,1fr);display:grid;overflow:hidden}.tasting-date{background:#f3eee5;flex-direction:column;align-items:flex-start;gap:15px;padding:26px 20px;display:flex}.tasting-date .eyebrow{color:#8d7d6c;font-size:10px;line-height:1.7}.tasting-body{padding:20px 25px}.tasting-body h2{margin:0}.tasting-body>.subtle{margin:4px 0 12px}.grind-line{color:var(--muted);margin-bottom:16px;font-size:12px}.grind-line b{color:#705242;background:#eee7dd;border-radius:5px;margin-left:8px;padding:3px 8px;font-weight:500}.sensory-values{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:20px;padding:12px 0;font-size:10px;display:flex}.sensory-values b{color:var(--ink);margin-left:8px;font-weight:500}.tasting-notes{color:var(--muted);margin:14px 0;font-size:12px}.tasting-body blockquote{font:italic 17px/1.6 var(--serif);color:#705143;white-space:pre-wrap;border-left:2px solid #c8a394;margin:15px 0 5px;padding-left:15px}.rating{color:var(--wine);align-items:center;gap:6px;margin-top:18px;font-size:16px;display:flex}.rating small{color:var(--muted);font-size:11px}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.data-card{padding:27px}.data-card h2{margin-bottom:16px}.card-icon{color:#9c7a62;stroke-width:1.5px;margin-bottom:16px}.data-card>p{color:#827364;font-size:12px}.data-counts{border-block:1px solid var(--line);color:var(--muted);gap:20px;margin:20px 0;padding:16px 0;font-size:11px;display:flex}.data-counts b{font:24px var(--serif);color:var(--wine);margin-right:3px}.notice-text{color:#8e7352;background:#f3eee4;border-radius:7px;padding:12px;font-size:11px;line-height:1.7}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row .primary,.button-row .secondary{font-size:12px}.file-button{cursor:pointer;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-button:focus-within{outline:2px solid var(--wine);outline-offset:3px}.file-button.disabled{opacity:.5;pointer-events:none}.import-preview{background:#f3f0e8;border:1px solid #e1dacb;border-radius:10px;margin-top:20px;padding:16px}.import-preview h3{font-size:15px}.import-preview p{color:var(--muted);font-size:12px}.data-extra{border-top:1px solid var(--line);flex-direction:column;align-items:start;gap:8px;margin-top:18px;padding-top:12px;display:flex}.data-extra>.text-link{text-align:left;font-size:11px}.equipment dl{margin:0}.equipment dl>div+div{border-top:1px solid var(--line)}dt{padding-top:14px;font-size:12px;font-weight:600}dd{color:var(--muted);margin:5px 0 14px;font-size:11px;line-height:1.7}.empty{text-align:center;color:#a08d79;padding:70px 20px}.empty h3{font:24px var(--serif);margin-top:18px}.empty p{font-size:13px}.startup{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:550px;margin:80px auto;display:flex}.error{color:#953e36;background:#fae9e4;border:1px solid #dfbab1;border-radius:8px;padding:13px;font-size:12px;line-height:1.7}.toast{pointer-events:none;color:#fffefa;z-index:40;background:#3f513f;border-radius:10px;align-items:center;gap:11px;max-width:min(650px,90vw);padding:16px 22px;font-size:12px;display:flex;position:fixed;bottom:25px;left:calc(50% + 80px);transform:translate(-50%);box-shadow:0 4px 20px #2223}.update-banner{background:var(--paper);z-index:30;border:1px solid #dbc9b7;border-radius:12px;max-width:350px;padding:20px;font-size:12px;position:fixed;bottom:25px;right:25px;box-shadow:0 6px 25px #302a2720}.update-banner>p{margin-bottom:14px}.update-banner>.secondary{margin-left:8px}.skip-link{z-index:100;background:#fff;padding:10px;position:fixed;top:5px;left:5px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:16px;width:min(620px,100% - 28px);max-height:calc(100dvh - 40px);padding:0;overflow:auto;box-shadow:0 20px 90px #302a2744}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2c211b77}.modal-head{background:var(--paper);border-bottom:1px solid var(--line);z-index:2;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:25px}dialog form{padding:24px}.form-grid{grid-template-columns:1fr 1fr;gap:0 17px;display:grid}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:22px;padding-top:20px;display:flex}.field-intro{margin:20px 0 14px;font-size:12px}.field-intro span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.sensory-grid{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px;display:grid}.sensory{border:0;min-width:0;padding:0}.sensory legend{margin-bottom:7px;padding:0;font-size:11px}.sensory>div{gap:5px;display:flex}.sensory button{border:1px solid var(--line);background:#f6f2eb;border-radius:6px;flex:1;min-width:32px;min-height:42px;font-size:12px}.sensory button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:#fff}.recipe-notes,.flavour,.tasting-notes,.origin,.data-card p,.reference-card h3,.coffee-card h2,.selected-coffee h2{overflow-wrap:anywhere}.recipe-notes,.flavour,.tasting-notes{white-space:pre-wrap}@media (width>=1500px){main{padding-top:55px}.prepare-grid{gap:27px}.calculator{padding:32px}.volume-options button{min-height:80px}.metrics{padding-block:25px}.bag-scene{height:223px}.coffee-bag{transform:rotate(-6deg)scale(1.12)}.green .coffee-bag{transform:rotate(6deg)scale(1.12)}}@media (width<=1100px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding-inline:16px}.topbar{padding-inline:27px}main{padding:30px 27px}.prepare-grid{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:16px}.calculator,.selected-coffee{padding:20px}.calculator .section-heading{flex-wrap:wrap}.calculator .section-heading h2{font-size:22px}.calculator .method-pill{display:none}.volume-options{gap:5px}.volume-options button>span{font-size:15px}.metrics strong{font-size:25px}.metrics>div>span{font-size:9px}h1{font-size:37px}.topbar-date{font-size:10px}.brand{gap:8px}.brand strong{font-size:24px}.sidebar-bottom p{font-size:8px}.recipe-actions{flex-wrap:wrap}.toast{left:calc(50% + 70px)}}@media (width<=850px) and (width>=701px){.prepare-grid{grid-template-columns:1fr}.coffee-aside{display:none}.page-title{flex-direction:column;align-items:flex-start;gap:18px}.library-grid,.recipe-grid,.data-grid{grid-template-columns:1fr}.reference-grid{gap:12px}.toolbar{flex-direction:column;align-items:flex-start}.topbar-date{display:none}.topbar-status{margin-left:auto}.tasting-card{grid-template-columns:125px minmax(0,1fr)}.tasting-date{padding:20px 14px}}@media (width<=700px){:root{font-size:15px}.app-shell{padding-bottom:calc(79px + env(safe-area-inset-bottom));display:block}.sidebar{width:100%;height:calc(70px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:0;border-top:1px solid var(--line);z-index:20;background:#fffefaee;inset:auto 0 0}.sidebar .brand,.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;height:70px;display:grid}.sidebar nav button{border-radius:0;flex-direction:column;justify-content:center;gap:5px;min-height:65px;padding:8px 2px;font-size:10px}.sidebar nav button[aria-current=page]{color:var(--wine);background:0 0}.sidebar nav button[aria-current=page] svg{background:#efe3dd;border-radius:5px;box-shadow:0 0 0 6px #efe3dd}.sidebar nav button small{display:none}.workspace{width:100%}.topbar{height:66px;padding:env(safe-area-inset-top) 20px 0;gap:12px}.topbar>span:first-child,.topbar-date{display:none}.mobile-brand{font:600 20px var(--serif);letter-spacing:-.5px;color:var(--wine);align-items:center;gap:9px;display:flex}.topbar-status{margin-left:auto;font-size:10px}main{padding:27px 18px 20px}h1{letter-spacing:-1px;max-width:330px;margin-top:10px;font-size:34px;line-height:1.15}.page-title{margin-bottom:24px;display:block}.page-title>.primary{margin-top:20px;font-size:12px}.page-title>div>p:last-child{max-width:350px;font-size:12px}.eyebrow{font-size:9px}.prepare-grid{flex-direction:column;gap:20px;display:flex}.calculator{width:100%;padding:22px 17px}.calculator .section-heading{margin-bottom:25px}.calculator .section-heading h2{max-width:230px;font-size:23px}.calculator .field>span,.volume-field legend{font-size:12px}.calculator select{letter-spacing:-.5px;min-height:50px;font-size:16px}.volume-options{gap:6px}.volume-options button{min-height:72px}.volume-options button>span{font-size:17px}.volume-options button>small{font-size:10px}.volume-check{width:11px;top:4px;right:4px}.recipe-result .metrics{padding:21px 5px}.metrics strong{font-size:27px}.metrics>div>span{font-size:9px}.result-top{padding-inline:12px;font-size:11px}.result-note{padding-inline:12px;font-size:10px}.calculator .notice p{font-size:11px}.calculator>.primary{font-size:13px}.calculator>.subtle{font-size:10px}.coffee-aside{width:100%}.selected-coffee{grid-template-columns:105px minmax(0,1fr);column-gap:18px;padding:20px;display:grid;position:relative}.selected-coffee>.section-heading{grid-column:1/-1;margin-bottom:18px}.selected-coffee .bag-scene{background:0 0;grid-area:2/1/8;align-self:center;height:auto;min-height:190px;margin:0 -12px 0 0}.selected-coffee .coffee-bag{transform:rotate(-6deg)scale(.8)}.selected-coffee .green .coffee-bag{transform:rotate(6deg)scale(.8)}.selected-coffee>.eyebrow,.selected-coffee h2,.selected-coffee .origin,.selected-coffee .chips,.selected-coffee .flavour{grid-column:2}.selected-coffee>.eyebrow{font-size:8px}.selected-coffee h2{font-size:23px}.selected-coffee .origin{margin-bottom:6px}.selected-coffee .chips{margin:5px 0}.selected-coffee .flavour{margin:7px 0;font-size:11px}.selected-coffee>.text-link{grid-column:1/-1;margin-top:14px;font-size:11px}.ritual-note{display:none}.references{margin-top:28px}.references>.section-heading{align-items:flex-start;gap:10px}.references h2{max-width:240px;font-size:22px}.references>.section-heading>.subtle{display:none}.reference-grid{grid-template-columns:1fr;gap:12px}.reference-card{padding:17px}.reference-card h3{font-size:18px}.reference-card p{font-size:11px}.prepare-footer{margin-top:24px;padding-top:16px;font-size:9px}.prepare-footer>span:last-child{display:none}.prepare-footer i{padding:0 3px}.toolbar{flex-direction:column;align-items:stretch;gap:15px;margin-bottom:20px}.toolbar>input{max-width:none}.segmented button{flex:1;font-size:12px}.inline-filter{flex-direction:column;align-items:stretch;gap:8px}.inline-filter select{width:100%;max-width:none;font-size:16px}.check-label{font-size:12px}.library-grid,.recipe-grid,.data-grid{grid-template-columns:1fr;gap:18px}.coffee-card-content{padding:22px}.coffee-card-content .origin,.coffee-card-content .flavour{font-size:12px}.bag-scene.small{height:190px}.coffee-card-content h2{font-size:27px}.coffee-actions .text-link{font-size:12px}.recipe-card{padding:22px}.recipe-card .recipe-notes{font-size:12px}.recipe-card .eyebrow{font-size:9px}.recipe-card h2{font-size:25px}.recipe-actions .secondary{font-size:13px}.compare-check{font-size:12px}.comparison{padding:20px 16px}.comparison h2{font-size:23px}.comparison .table-scroll{margin-inline:-8px}.tasting-card{display:block}.tasting-date{flex-direction:row;justify-content:space-between;align-items:center;padding:13px 18px}.tasting-body{padding:17px 19px}.tasting-body h2{font-size:24px}.tasting-body .section-heading{gap:0}.tasting-body .subtle{font-size:11px}.sensory-values{gap:14px;font-size:10px}.sensory-values b{margin-left:5px}.tasting-body blockquote{font-size:18px}.data-card{padding:23px}.data-card h2{font-size:26px}.data-card>p{font-size:13px}.data-counts{gap:14px}.data-counts b{font-size:25px}.data-counts span{font-size:10px}.data-card dt{font-size:13px}.data-card dd{font-size:12px}.data-extra .text-link{font-size:11px}.button-row{gap:8px}.button-row .primary,.button-row .secondary{padding:12px 13px;font-size:12px}.toast{bottom:calc(84px + env(safe-area-inset-bottom));width:calc(100% - 30px);max-width:420px;padding:15px 18px;font-size:12px;left:50%}.update-banner{bottom:calc(84px + env(safe-area-inset-bottom));max-width:none;left:15px;right:15px}dialog{border-radius:13px;width:calc(100% - 20px);max-height:calc(100dvh - 22px)}.modal-head{padding:12px 17px}.modal-head h2{font-size:24px}dialog form{padding:18px}.form-grid{gap:0 12px}.field>span,.field>label{font-size:11px}.field input,.field select,.field textarea{font-size:16px}.field small{font-size:10px}.sensory-grid{gap:15px 12px}.sensory>div{gap:3px}.sensory button{min-width:26px;min-height:44px}.sensory legend{font-size:11px}.form-actions .primary{width:100%}.empty{padding:50px 15px}.startup{margin:40px auto;padding-inline:25px}.startup h1{font-size:45px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
