.cover-page{--cover-accent:var(--color-oxblood);--t-display:clamp(2.1rem,1.3rem + 3vw,3.1rem);--t-lead:1.02rem;--t-body:0.95rem;--t-cap:0.66rem;--pv-shadow-ink:#241a10;--pv-shadow-1:0 1px 2px color-mix(in oklab,var(--pv-shadow-ink) 12%,transparent);--pv-shadow-2:0 1px 2px color-mix(in oklab,var(--pv-shadow-ink) 10%,transparent),0 10px 30px color-mix(in oklab,var(--pv-shadow-ink) 11%,transparent);--pv-shadow-3:0 2px 4px color-mix(in oklab,var(--pv-shadow-ink) 17%,transparent),0 18px 48px color-mix(in oklab,var(--pv-shadow-ink) 13%,transparent);--pv-top-hi:color-mix(in oklab,#ffffff 60%,transparent);--pv-edge:color-mix(in oklab,var(--color-border) 78%,var(--color-text) 8%);--pv-bloom:color-mix(in oklab,var(--color-primary) 30%,var(--color-surface));--pv-pool:color-mix(in oklab,var(--color-accent) 48%,transparent);--pv-plate-aura:color-mix(in oklab,var(--color-clay) 20%,transparent);--pv-plate-aura-edge:color-mix(in oklab,var(--color-accent) 16%,transparent);--pv-grain:0.05;--pv-grain-blend:soft-light;--pv-rating-ink:color-mix(in oklab,var(--cover-accent) 46%,var(--color-text));--pv-tasting-wash:color-mix(in oklab,var(--color-clay) 7%,transparent);--pv-origin:color-mix(in oklab,var(--color-clay) 92%,var(--color-text));--pv-origin-deep:var(--cover-accent);--pv-origin-hi:color-mix(in oklab,var(--color-clay) 42%,#ffffff);--pv-origin-hover:color-mix(in oklab,var(--color-clay) 74%,var(--cover-accent));--pv-track:color-mix(in oklab,var(--color-text) 14%,transparent);--pv-hair:color-mix(in oklab,var(--color-text) 12%,transparent);--bs-seam:color-mix(in oklab,var(--color-bg) 60%,transparent);--bs-ghost-ink:color-mix(in oklab,var(--color-text) 26%,transparent);--bs-ghost-bg:color-mix(in oklab,var(--color-text) 6%,transparent);--bs-remainder:color-mix(in oklab,var(--color-text) 10%,transparent);--bs-ramp-lo:var(--color-clay);--bs-ramp-hi:var(--color-brick);--bs-ramp-1:var(--bs-ramp-lo);--bs-ramp-2:color-mix(in oklab,var(--bs-ramp-lo),var(--bs-ramp-hi) 25%);--bs-ramp-3:color-mix(in oklab,var(--bs-ramp-lo),var(--bs-ramp-hi) 50%);--bs-ramp-4:color-mix(in oklab,var(--bs-ramp-lo),var(--bs-ramp-hi) 75%);--bs-ramp-5:var(--bs-ramp-hi);--pv-ease:130ms cubic-bezier(0.32,0.72,0,1)}[data-theme=dark] .cover-page{--pv-shadow-ink:#000000;--pv-shadow-1:0 1px 2px color-mix(in oklab,var(--pv-shadow-ink) 34%,transparent);--pv-shadow-2:0 1px 2px color-mix(in oklab,var(--pv-shadow-ink) 32%,transparent),0 10px 30px color-mix(in oklab,var(--pv-shadow-ink) 42%,transparent);--pv-shadow-3:0 2px 4px color-mix(in oklab,var(--pv-shadow-ink) 36%,transparent),0 18px 48px color-mix(in oklab,var(--pv-shadow-ink) 50%,transparent);--pv-top-hi:color-mix(in oklab,#ffffff 14%,transparent);--pv-edge:color-mix(in oklab,var(--color-border) 100%,var(--color-text) 14%);--pv-origin:var(--color-clay);--pv-origin-hi:color-mix(in oklab,var(--color-clay) 40%,#ffffff);--pv-bloom:color-mix(in oklab,var(--color-clay) 40%,var(--color-surface));--pv-pool:color-mix(in oklab,var(--color-accent) 38%,transparent);--pv-plate-aura:color-mix(in oklab,var(--color-clay) 30%,transparent);--pv-plate-aura-edge:color-mix(in oklab,var(--color-accent) 22%,transparent);--pv-grain:0.075;--pv-grain-blend:overlay;--pv-rating-ink:color-mix(in oklab,var(--color-clay) 62%,var(--color-text));--pv-tasting-wash:color-mix(in oklab,var(--color-clay) 12%,transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .cover-page{--pv-shadow-ink:#000000;--pv-shadow-1:0 1px 2px color-mix(in oklab,var(--pv-shadow-ink) 34%,transparent);--pv-shadow-2:0 1px 2px color-mix(in oklab,var(--pv-shadow-ink) 32%,transparent),0 10px 30px color-mix(in oklab,var(--pv-shadow-ink) 42%,transparent);--pv-shadow-3:0 2px 4px color-mix(in oklab,var(--pv-shadow-ink) 36%,transparent),0 18px 48px color-mix(in oklab,var(--pv-shadow-ink) 50%,transparent);--pv-top-hi:color-mix(in oklab,#ffffff 14%,transparent);--pv-edge:color-mix(in oklab,var(--color-border) 100%,var(--color-text) 14%);--pv-origin:var(--color-clay);--pv-origin-hi:color-mix(in oklab,var(--color-clay) 40%,#ffffff);--pv-bloom:color-mix(in oklab,var(--color-clay) 24%,var(--color-surface));--pv-pool:color-mix(in oklab,var(--color-accent) 26%,transparent);--pv-plate-aura:color-mix(in oklab,var(--color-clay) 30%,transparent);--pv-plate-aura-edge:color-mix(in oklab,var(--color-accent) 22%,transparent);--pv-grain:0.075;--pv-grain-blend:overlay;--pv-rating-ink:color-mix(in oklab,var(--color-clay) 62%,var(--color-text));--pv-tasting-wash:color-mix(in oklab,var(--color-clay) 12%,transparent)}}.cover-page .cover{container-type:inline-size;container-name:specimen;display:block}.cover-page .mh-band{position:relative;isolation:isolate;overflow:hidden;padding:clamp(1.3rem,3vw,1.9rem) clamp(1.4rem,4vw,2.4rem) clamp(1.2rem,2.6vw,1.6rem);background:radial-gradient(460px 380px at 99% -14%,var(--pv-bloom),transparent 60%),radial-gradient(560px 380px at 6% -12%,var(--pv-bloom),transparent 64%),radial-gradient(420px 300px at 90% 122%,var(--pv-pool),transparent 60%),var(--color-surface);border:1px solid var(--pv-edge);border-radius:22px 22px 0 0;box-shadow:var(--pv-shadow-3),inset 0 1px 0 var(--pv-top-hi)}.cover-page .mh-band:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:var(--pv-grain);mix-blend-mode:var(--pv-grain-blend)}.cover-page .mh-inner{position:relative;z-index:2}.cover-page .mini-strip{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;font-family:var(--font-sans);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;padding-bottom:9px;border-bottom:1px solid var(--cover-accent)}.cover-page .mini-strip .brand{min-width:0;flex:1 1 auto}.cover-page .mini-strip .brand-words{min-width:0;white-space:normal;overflow-wrap:anywhere}.cover-page .mini-strip .seed{flex:none}.cover-page .mini-hero{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,3vw,1.9rem);align-items:center;padding:clamp(1rem,2.4vw,1.5rem) 0 0}.cover-page .cover-visual{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.8rem .9rem;overflow:hidden;background:radial-gradient(120px 96px at 50% 34%,var(--pv-plate-aura),transparent 72%),radial-gradient(150px 120px at 50% 34%,var(--pv-plate-aura-edge),transparent 78%),var(--color-raised);border:1px solid var(--pv-edge);border-radius:18px;box-shadow:var(--pv-shadow-2),inset 0 1px 0 var(--pv-top-hi),inset 0 0 0 1px color-mix(in oklab,var(--pv-edge) 55%,transparent)}.cover-page .cover-visual .originmark{position:relative;width:100%;max-width:98px;aspect-ratio:1/1;display:block}.cover-page .cover-visual .m-caption{text-align:center;line-height:1.1}.cover-page .cover-visual .m-country{font-family:var(--font-serif);font-weight:500;font-size:1.05rem;color:var(--color-text)}.cover-page .cover-visual .m-iso{font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.2em;color:var(--color-text-muted);margin-top:.15rem}.cover-page .cover-visual .m-origins{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-top:.2rem}.cover-page .originmark-link{display:block;width:100%;border-radius:12px;outline-offset:3px}.cover-page .originmark-link .originmark{margin-inline:auto}.cover-page .originmark-link:hover .land{fill:var(--pv-origin-hover)}.cover-page .originmark-link:active{transform:translateY(.5px)}.cover-page .originmark-link:focus-visible{outline:2px solid var(--color-ring)}.cover-page .mini-subject{min-width:0}.cover-page .kicker{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5ch;margin:0 0 .5rem}.cover-page .kicker .kicker-lead{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted)}.cover-page .kicker .kicker-name{font-family:var(--font-serif);font-size:.98rem;letter-spacing:0;color:var(--cover-accent)}.cover-page .subject-title{font-family:var(--font-serif);font-weight:500;font-optical-sizing:auto;font-size:var(--t-display);line-height:.98;letter-spacing:-.02em;margin:0;color:var(--color-text);display:flex;align-items:baseline;gap:.5ch;flex-wrap:wrap;overflow-wrap:anywhere}.cover-page .subject-title .subject-link{color:inherit;text-decoration:none;border-bottom:2px solid transparent;transition:color var(--pv-ease),border-bottom-color var(--pv-ease)}.cover-page .subject-title .subject-link:hover{color:var(--color-primary);border-bottom-color:color-mix(in oklab,var(--color-primary) 55%,transparent)}.cover-page .subject-title .subject-link:focus-visible{outline:2px solid var(--color-ring);outline-offset:3px;border-radius:3px}.cover-page .subject-title .fav{display:inline-flex;color:var(--color-primary)}.cover-page .subject-title .fav svg{width:.62em;height:.62em}.cover-page .identity-line{font-family:var(--font-prose);font-style:italic;font-size:1.05rem;color:color-mix(in oklab,var(--color-text) 82%,var(--color-bg));margin:.5rem 0 0}.cover-page .identity-line a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--color-text) 22%,transparent);transition:color var(--pv-ease),border-bottom-color var(--pv-ease)}.cover-page .identity-line a:hover{border-bottom-color:var(--color-primary);color:var(--color-primary)}.cover-page .identity-line a:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px;border-radius:2px}.cover-page .identity-line .dot{color:var(--color-text-muted);padding:0 .4ch;font-style:normal}.cover-page .badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0}.cover-page .badge{display:inline-flex;align-items:center;gap:.4ch;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--pv-hair);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.cover-page .badge .bdot{width:6px;height:6px;border-radius:50%;background:var(--color-clay)}.cover-page .key-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:1px;margin-top:clamp(1rem,2.4vw,1.5rem);background:var(--pv-hair);border:1px solid var(--pv-edge);border-radius:14px;overflow:hidden;box-shadow:inset 0 1px 0 var(--pv-top-hi)}.cover-page .key-specs .enc{gap:.4rem;min-width:0;padding:clamp(.7rem,2vw,.95rem) clamp(.85rem,2.2vw,1.2rem);background:color-mix(in oklab,var(--color-raised) 62%,var(--color-surface))}.cover-page .key-specs .enc--roast{grid-column:span 2}.cover-page .key-specs .enc-value,.cover-page .key-specs .roast-value{min-height:1.3rem}.cover-page .key-specs .enc-value.mono-num,.cover-page .key-specs [data-testid=bean-cover-altitude]{font-family:var(--font-mono);font-size:.86rem;font-variant-numeric:tabular-nums}.cover-page .key-specs .roast-agtron{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cover-page .key-specs .enc-value a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--color-text) 22%,transparent);transition:color var(--pv-ease),border-bottom-color var(--pv-ease)}.cover-page .key-specs .enc-value a:hover{border-bottom-color:var(--color-primary);color:var(--color-primary)}.cover-page .key-specs .enc-value a:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px;border-radius:2px}.cover-page .enc--roast .roast-value{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.cover-page .cover-body{position:relative;isolation:isolate;padding:clamp(1.2rem,3vw,1.8rem) clamp(1.4rem,4vw,2.4rem) clamp(1.4rem,3.5vw,2.3rem);background:var(--color-surface);border:1px solid var(--pv-edge);border-top:0;border-radius:0 0 22px 22px;box-shadow:var(--pv-shadow-3)}.cover-page .cover-body:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:var(--pv-grain);mix-blend-mode:var(--pv-grain-blend)}.cover-page .cover-body>*{position:relative;z-index:1}.cover-page .rule{height:1px;background:var(--pv-hair);border:0;margin:clamp(1.1rem,2.5vw,1.5rem) 0}.cover-page .readout{display:flex;flex-wrap:wrap;gap:clamp(1.1rem,3vw,2.2rem) clamp(1.5rem,4vw,2.6rem);align-items:flex-start}.cover-page .readout--tasting{position:relative;padding:clamp(1rem,2.6vw,1.3rem) clamp(1.1rem,3vw,1.5rem);border-radius:16px;background:radial-gradient(150px 130px at 12% 0,var(--pv-tasting-wash),transparent 70%),color-mix(in oklab,var(--color-raised) 34%,var(--color-surface));border:1px solid color-mix(in oklab,var(--pv-edge) 70%,transparent)}.cover-page .enc{display:flex;flex-direction:column;gap:.5rem}.cover-page .enc--flavor{flex:1 1 100%}.cover-page .enc-label{font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.13em;text-transform:uppercase;color:var(--color-text-muted)}.cover-page .enc-value{font-family:var(--font-prose);font-size:var(--t-body);color:var(--color-text)}.cover-page .roast-ladder{display:flex;gap:3px}.cover-page .roast-ladder .seg{width:20px;height:13px;border-radius:3px;background:var(--pv-track)}.cover-page .roast-ladder .seg[class*=on-]{transform-origin:center bottom;animation:bean-seg-in .3s cubic-bezier(.32,.72,0,1) both;animation-delay:calc(.22s + var(--seg-i, 0) * 90ms)}.cover-page .roast-ladder .seg.on-1{background:var(--color-choropleth-1)}.cover-page .roast-ladder .seg.on-2{background:var(--color-choropleth-2)}.cover-page .roast-ladder .seg.on-3{background:var(--color-choropleth-3)}.cover-page .roast-ladder .seg.on-4{background:var(--color-choropleth-4)}.cover-page .roast-ladder .seg.on-5{background:var(--color-choropleth-5)}.cover-page .enc--rating{gap:.4rem}.cover-page .rating{position:relative;width:82px;height:82px}.cover-page .rating svg{width:100%;height:100%;transform:rotate(-90deg)}.cover-page .rating .track{fill:none;stroke:var(--pv-track);stroke-width:var(--ring-sw,5)}.cover-page .rating .val{fill:none;stroke:var(--ring-paint,var(--pv-rating-ink));stroke-width:var(--ring-sw,5);stroke-linecap:round;stroke-dashoffset:var(--ring-final-offset);animation:bean-ring-draw .76s cubic-bezier(.32,.72,0,1) .22s both}.cover-page .rating .num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.cover-page .rating .rating-num{font-family:var(--font-serif);font-weight:500;font-optical-sizing:auto;font-size:2rem;line-height:1;color:var(--color-text)}.cover-page .rating-scale{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;color:var(--color-text-muted)}.cover-page .rating-focal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem}.cover-page .rating.rating--lg{width:clamp(154px,44vw,196px);height:clamp(154px,44vw,196px)}.cover-page .rating--lg .tick{stroke:color-mix(in oklab,var(--color-text) 18%,transparent);stroke-width:1.2}.cover-page .rating--lg .tick--major{stroke:color-mix(in oklab,var(--color-text) 40%,transparent);stroke-width:2;stroke-linecap:round}.cover-page .rating--lg.is-empty .tick{stroke:color-mix(in oklab,var(--color-text) 13%,transparent)}.cover-page .rating--lg.is-empty .tick--major{stroke:color-mix(in oklab,var(--color-text) 26%,transparent)}.cover-page .rating--lg .num{flex-direction:column;gap:0;background:radial-gradient(56% 56% at 50% 46%,color-mix(in oklab,var(--color-clay) 13%,transparent),transparent 72%)}.cover-page .rating--lg .val{filter:drop-shadow(0 1px 3px color-mix(in oklab,var(--color-clay-deep) 34%,transparent))}.cover-page .rating--lg.is-empty .track{stroke:color-mix(in oklab,var(--color-text) 22%,transparent);stroke-width:2.5;stroke-dasharray:2 7;stroke-linecap:round}.cover-page .rating--lg .rating-num{font-family:var(--font-serif);font-optical-sizing:auto;font-weight:600;font-size:clamp(2.5rem,1.9rem + 2.6vw,3.3rem);line-height:.9;letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums lining-nums}.cover-page .rating--lg .rating-bar{width:2.1rem;height:1.5px;margin:.3rem 0 .28rem;border-radius:1px;background:color-mix(in oklab,var(--color-clay-deep) 58%,transparent)}.cover-page .rating--lg .rating-denom{font-family:var(--font-mono);font-size:.86rem;letter-spacing:.1em;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cover-page .rating--lg .rating-plus{display:inline-flex;width:1.85rem;height:1.85rem;margin-bottom:.42rem;color:var(--color-clay-deep)}.cover-page .rating--lg .rating-plus svg{width:100%;height:100%;transform:none}.cover-page .rating--lg .rating-empty{max-width:8.5rem;font-family:var(--font-prose);font-style:italic;font-size:.82rem;line-height:1.35;color:var(--color-text-muted)}.cover-page .rating-focal .rating-lead{margin:0;font-family:var(--font-sans);font-size:.66rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-muted)}.cover-page .rating-focal .rating-note{margin:0;max-width:15rem;font-family:var(--font-prose);font-style:italic;font-size:.8rem;line-height:1.4;color:var(--color-text-muted)}.cover-page .leaves{display:flex;flex-wrap:wrap;gap:.4rem}.cover-page .leaf{display:inline-flex;align-items:center;gap:.45ch;padding:.22rem .6rem .22rem .5rem;border-radius:999px;font-family:var(--font-prose);font-size:.86rem;line-height:1;color:var(--leaf-label,var(--color-text));background:color-mix(in oklab,var(--leaf-fill,var(--color-text)) 15%,transparent);border:1px solid color-mix(in oklab,var(--leaf-fill,var(--color-text)) 30%,transparent);animation:bean-leaf-in .32s cubic-bezier(.32,.72,0,1) both;animation-delay:calc(.26s + var(--leaf-i, 0) * 55ms)}.cover-page .leaf .leaf-swatch{width:9px;height:9px;border-radius:3px;flex:none;background:var(--leaf-fill,var(--color-text));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--color-text) 12%,transparent)}.cover-page .leaf.leaf--custom{font-style:italic;color:color-mix(in oklab,var(--color-text) 82%,var(--color-bg));background:color-mix(in oklab,var(--color-clay) 9%,var(--color-surface));border-color:color-mix(in oklab,var(--color-clay) 26%,transparent)}.cover-page .leaf.leaf--custom:before{content:"\201C";margin-right:.1ch;font-family:var(--font-serif);font-style:normal;color:var(--color-clay);opacity:.75}.cover-page .freshbag{display:flex;flex-direction:column;gap:.55rem}.cover-page .freshbag .fb-head{display:flex;align-items:baseline;gap:.6ch;font-family:var(--font-prose);font-size:var(--t-body);color:var(--color-text)}.cover-page .freshbag .fb-count{font-family:var(--font-serif);font-weight:500;font-size:1.05rem}.cover-page .phase{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:min(240px,100%)}.cover-page .phase .ph{height:8px;border-radius:4px;background:var(--pv-track);transform-origin:left center}.cover-page .phase .ph.on{animation:bean-ph-fill .44s cubic-bezier(.32,.72,0,1) both;animation-delay:calc(.24s + var(--ph-i, 0) * 60ms)}.cover-page .phase .ph.on.fresh{background:var(--color-success)}.cover-page .phase .ph.on.aging{background:var(--color-warning)}.cover-page .phase .ph.on.stale{background:var(--color-danger)}.cover-page .phase-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:min(240px,100%);font-family:var(--font-mono);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.cover-page .phase-scale span:nth-child(2){text-align:center}.cover-page .phase-scale span:nth-child(3){text-align:right}.cover-page .fresh-exact{font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.04em;color:var(--color-text-muted)}.cover-page .cover-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.cover-page .btn{display:inline-flex;align-items:center;gap:.55ch;font-family:var(--font-sans);font-weight:500;font-size:.92rem;border-radius:11px;padding:.62rem 1.05rem;cursor:pointer;border:1px solid transparent;text-decoration:none;color:inherit;background:transparent;transition:transform var(--pv-ease),filter var(--pv-ease),color var(--pv-ease),background-color var(--pv-ease),border-color var(--pv-ease),box-shadow var(--pv-ease)}.cover-page .btn svg{width:17px;height:17px}.cover-page .btn--primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--pv-shadow-1)}.cover-page .btn--primary:hover{box-shadow:var(--pv-shadow-2);transform:translateY(-1px);filter:brightness(1.02)}.cover-page .btn .btn-inner{display:inline-flex;align-items:center;gap:.55ch}.cover-page .btn .btn-spinner{width:14px;height:14px;flex:none;display:none;border-radius:50%;border:2px solid color-mix(in oklab,var(--color-primary-contrast) 35%,transparent);border-top-color:var(--color-primary-contrast);animation:bean-spin .64s linear infinite}.cover-page .btn .btn-inner[data-pending]{opacity:.82}.cover-page .btn .btn-inner[data-pending] .btn-spinner{display:inline-block}@keyframes bean-spin{to{transform:rotate(1turn)}}.cover-page .btn--quiet{color:var(--color-text-muted);border-color:var(--pv-hair);background:var(--color-surface);padding:.55rem .85rem}.cover-page .btn--quiet:hover{color:var(--color-text);background:var(--color-raised);border-color:var(--color-border)}.cover-page .btn:active{transform:translateY(1px) scale(.98);filter:brightness(.98)}.cover-page .btn:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.cover-page .cover-section{position:relative;isolation:isolate;background:var(--color-surface);border:1px solid var(--pv-edge);border-radius:18px;box-shadow:var(--pv-shadow-2),inset 0 1px 0 var(--pv-top-hi);padding:clamp(1.1rem,3vw,1.55rem) clamp(1.3rem,4vw,2rem)}.cover-page .cover-section .cs-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .9rem}.cover-page .cover-section .cs-title{font-family:var(--font-serif);font-weight:500;font-size:var(--t-lead);color:var(--color-text);margin:0}.cover-page .cover-section .cs-cta{flex:none}.cover-page .cover-section .bag-link .row-method{font-family:var(--font-prose);color:var(--color-text)}.cover-page .cover-section .bag-link .row-ratio{font-family:var(--font-mono);font-size:var(--t-cap);color:var(--color-text-muted)}.cover-page .dossier{margin-top:0}.cover-page .dossier-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7ch .9ch;width:100%;text-align:left;background:linear-gradient(to bottom,color-mix(in oklab,var(--color-raised) 60%,transparent),transparent);border:0;border-top:1px solid var(--pv-hair);padding:1.05rem clamp(1.4rem,4vw,2.4rem) 1.15rem;cursor:pointer;color:var(--color-text);transition:background var(--pv-ease)}.cover-page .dossier-toggle:active .chev{transform:translateY(1px)}.cover-page .dossier-toggle[aria-expanded=true]:active .chev{transform:rotate(180deg) translateY(1px)}.cover-page .dossier-toggle .chev{width:15px;height:15px;color:var(--color-primary);transition:transform var(--pv-ease);animation:bean-chev-bob 1.1s cubic-bezier(.32,.72,0,1) .9s 1}.cover-page .dossier-toggle:hover .chev{transform:translateY(2px)}.cover-page .dossier-toggle[aria-expanded=true] .chev{transform:rotate(180deg);animation:none}.cover-page .dossier-toggle[aria-expanded=true]:hover .chev{transform:rotate(180deg) translateY(-2px)}@keyframes bean-chev-bob{0%,to{transform:translateY(0)}35%{transform:translateY(3px)}70%{transform:translateY(0)}}.cover-page .dossier-toggle .dt-label{font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.cover-page .dossier-toggle .dt-preview{grid-column:2/3;grid-row:2;font-family:var(--font-prose);font-style:italic;font-size:.88rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-page .dossier-toggle:hover{background:linear-gradient(to bottom,color-mix(in oklab,var(--color-raised) 85%,transparent),transparent)}.cover-page .dossier-toggle:focus-visible{outline:2px solid var(--color-ring);outline-offset:-2px}.cover-page .dossier-body{padding:0 clamp(1.4rem,4vw,2.4rem);display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.32,.72,0,1),padding .34s cubic-bezier(.32,.72,0,1)}.cover-page .dossier-body[data-open=true]{grid-template-rows:1fr;padding:.4rem clamp(1.4rem,4vw,2.4rem) .5rem}.cover-page .dossier-body-inner{min-height:0;overflow:hidden}.cover-page .dossier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.1rem 1.6rem;padding-bottom:.75rem}.cover-page .d-field .d-k{font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .25rem}.cover-page .d-field .d-v{font-family:var(--font-prose);font-size:var(--t-body);color:var(--color-text)}.cover-page .d-field .d-v .d-foot{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.7rem}.cover-page .d-field .d-v a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in oklab,var(--color-text) 30%,transparent)}.cover-page .d-field .d-v a:hover{text-decoration-color:var(--color-primary);color:var(--color-primary)}.cover-page .d-lead{font-family:var(--font-serif);font-weight:500;font-size:var(--t-lead);color:var(--color-text);margin:1.4rem 0 .7rem;scroll-margin-top:88px}.cover-page .d-prose{font-family:var(--font-prose);font-size:.98rem;line-height:1.6;color:color-mix(in oklab,var(--color-text) 88%,var(--color-bg));max-width:62ch}.cover-page .pv-absent{font-family:var(--font-prose);font-style:italic;font-size:.92rem;color:var(--color-text-muted)}.cover-page .dossier-section{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--pv-hair)}.cover-page .blend-row{padding:.6rem 0;border-bottom:1px solid var(--pv-hair)}.cover-page .blend-row:last-child{border-bottom:0}.cover-page .blend-row .row-top{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.cover-page .blend-row .comp{font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.cover-page .blend-row .pct{font-family:var(--font-mono);font-size:var(--t-cap);color:var(--color-text)}.cover-page .blend-row .pct.unknown{color:var(--color-text-muted)}.cover-page .blend-row .comp-parts{font-family:var(--font-prose);font-size:var(--t-body);color:var(--color-text);margin:.25rem 0 0}.cover-page .blend-row .comp-alt{font-family:var(--font-mono);font-size:var(--t-cap);color:var(--color-text-muted);margin:.2rem 0 0}.cover-page .blend-row .row-top{gap:.55rem}.cover-page .blend-swatch{flex:0 0 auto;width:.72rem;height:.72rem;align-self:center;border-radius:2px;background:var(--seg-fill,var(--color-clay));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--pv-shadow-ink) 14%,transparent)}.cover-page .blend-swatch--unknown{background:repeating-linear-gradient(45deg,var(--bs-ghost-ink) 0 2px,transparent 2px 5px),var(--bs-ghost-bg)}.cover-page .blend-row .row-top .comp{flex:1 1 auto;min-width:0}.cover-page .blend-strip{--bs-h:2.5rem;margin:.1rem 0 1.15rem;padding:0 .3rem}.cover-page .blend-strip__reads{position:relative;height:1.15rem}.cover-page .bs-read{position:absolute;bottom:0;left:clamp(2.2rem,var(--bs-left,50%),calc(100% - 2.2rem));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.cover-page .bs-read-fig{font-family:var(--font-mono);font-size:.7rem;line-height:1;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--color-text)}.cover-page .bs-read.is-unknown .bs-read-fig{color:var(--color-text-muted)}.cover-page .bs-read-tick{width:1px;height:5px;background:var(--pv-track)}.cover-page .blend-strip__bar{position:relative;display:flex;height:var(--bs-h);border-radius:5px;overflow:hidden;background:var(--color-surface);border:1px solid var(--pv-edge);box-shadow:var(--pv-shadow-1),inset 0 1px 0 var(--pv-top-hi),inset 0 -3px 5px color-mix(in oklab,var(--pv-shadow-ink) 9%,transparent)}.cover-page .bs-seg{position:relative;min-width:0;background-color:var(--seg-fill,var(--color-clay));background-image:linear-gradient(180deg,color-mix(in oklab,#ffffff 10%,transparent),transparent 42%,color-mix(in oklab,#000000 7%,transparent));box-shadow:inset -1px 0 0 var(--bs-seam);transform-origin:left center;animation:bean-bs-seg-in .36s cubic-bezier(.32,.72,0,1) both;animation-delay:calc(var(--bs-i, 0) * 60ms)}.cover-page .bs-seg[data-last]{box-shadow:none}.cover-page .bs-seg--unknown{background-image:repeating-linear-gradient(45deg,var(--bs-ghost-ink) 0 2px,transparent 2px 7px);background-color:var(--bs-ghost-bg);box-shadow:inset -1px 0 0 var(--bs-seam)}.cover-page .bs-seg--remainder{background-image:none;background-color:var(--bs-remainder);box-shadow:inset -1px 0 0 var(--bs-seam)}.cover-page .blend-strip__scale{position:relative;height:.5rem;margin-top:4px}.cover-page .blend-strip__scale:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--pv-hair)}.cover-page .bs-tick{position:absolute;top:0;width:1px;height:3px;transform:translateX(-50%);background:var(--pv-hair)}.cover-page .bs-tick--major{height:6px;background:var(--pv-track)}.cover-page .blend-strip__note{font-family:var(--font-mono);font-size:var(--t-cap);letter-spacing:.02em;color:var(--color-text-muted);margin:.55rem 0 0}@keyframes bean-bs-seg-in{0%{transform:scaleX(.6);opacity:.35}to{transform:scaleX(1);opacity:1}}.cover-page .bag-list{list-style:none;margin:0;padding:0}.cover-page .bag-link{display:flex;align-items:center;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--pv-hair);font-family:var(--font-prose);font-size:var(--t-body);color:var(--color-text);text-decoration:none;transition:color var(--pv-ease)}.cover-page .bag-list li:last-child .bag-link{border-bottom:0}.cover-page .bag-link:hover{color:var(--color-primary)}.cover-page .bag-link:active{color:var(--color-primary);transform:translateX(1px)}.cover-page .bag-link .bag-weight{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-cap);color:var(--color-text-muted)}.cover-page .bag-link .bag-date.unknown{color:var(--color-text-muted)}.cover-page .originmark svg{width:100%;height:100%;display:block;overflow:visible}.cover-page .originmark .land{fill:var(--pv-origin);transition:fill var(--pv-ease)}.cover-page .originmark .land-edge{fill:none;stroke:var(--pv-origin-deep);stroke-width:1.25;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9}.cover-page .originmark--globe .globe-face{fill:color-mix(in oklab,var(--pv-origin) 16%,transparent);stroke:var(--pv-origin);stroke-width:1.4;vector-effect:non-scaling-stroke}.cover-page .originmark--globe .globe-graticule{fill:none;stroke:var(--pv-origin);stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.55}.cover-page .originmark--globe .globe-mark{fill:var(--pv-origin-deep)}.cover-page .cover-visual .cover-signature-glyph{width:100%;max-width:108px;height:auto;aspect-ratio:1/1;display:block;margin-inline:auto;color:var(--pv-origin);--color-accent:var(--pv-origin-deep)}.cover-page .originmark-link{position:relative;transition:transform var(--pv-ease),outline-color var(--pv-ease)}.cover-page .originmark-link:after{content:"";position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border-radius:50%;background:var(--cover-accent);opacity:.85;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M8 16 16 8M9.5 8H16v6.5'/%3E%3C/svg%3E") center /9px 9px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M8 16 16 8M9.5 8H16v6.5'/%3E%3C/svg%3E") center /9px 9px no-repeat;transition:transform var(--pv-ease),opacity var(--pv-ease)}.cover-page .originmark-link:focus-visible:after,.cover-page .originmark-link:hover:after{opacity:1;transform:translate(1px,-1px)}@keyframes bean-pv-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cover-page .reveal{animation:bean-pv-rise .26s cubic-bezier(.32,.72,0,1) both;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes bean-pv-rise-calm{0%{transform:translateY(6px)}to{transform:none}}.cover-page .reveal--calm{animation-name:bean-pv-rise-calm}@keyframes bean-ring-draw{0%{stroke-dashoffset:var(--ring-c)}to{stroke-dashoffset:var(--ring-final-offset)}}@keyframes bean-seg-in{0%{opacity:.15;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}@keyframes bean-ph-fill{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}@keyframes bean-leaf-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.cover-page .cover-visual .originmark{view-transition-name:cover-mark}::view-transition-group(cover-mark){animation-duration:.46s;animation-timing-function:cubic-bezier(.32,.72,0,1)}.cover-page .cover-sk{display:block;border-radius:999px;background:color-mix(in oklab,var(--color-text) 12%,transparent);animation:bean-cover-sk 1.4s ease-in-out infinite}@keyframes bean-cover-sk{0%,to{opacity:.55}50%{opacity:1}}@media (max-width:1039.98px){.cover-page .cover-actions .btn--addbag{display:none}}@media (max-width:720px){.cover-page .mini-hero{gap:1rem}.cover-page .cover-visual .originmark{max-width:84px}.cover-page .cover-visual .cover-signature-glyph{max-width:92px}.cover-page .subject-title{font-size:clamp(1.7rem,1.2rem + 4vw,2.2rem)}}@media (max-width:460px){.cover-page .mini-strip{letter-spacing:.2em}}@media (prefers-reduced-motion:reduce){.cover-page .reveal,.cover-page .reveal--calm{animation:none}.cover-page .dossier-toggle .chev{transition:none;animation:none}.cover-page .bs-seg,.cover-page .btn .btn-spinner,.cover-page .leaf,.cover-page .phase .ph.on,.cover-page .rating .val,.cover-page .roast-ladder .seg[class*=on-]{animation:none}.cover-page .bag-link,.cover-page .btn,.cover-page .btn--primary,.cover-page .dossier-body,.cover-page .dossier-toggle,.cover-page .identity-line a,.cover-page .key-specs .enc-value a,.cover-page .originmark .land,.cover-page .originmark-link,.cover-page .originmark-link:after,.cover-page .subject-title .subject-link{transition:none}.cover-page .bag-link:active,.cover-page .btn--primary:hover,.cover-page .btn:active,.cover-page .originmark-link:active{transform:none}.cover-page .cover-sk{animation:none}::view-transition-group(cover-mark),::view-transition-new(cover-mark),::view-transition-old(cover-mark){animation:none!important}}