.bean-card{border:1px solid var(--hairline);background:color-mix(in srgb, var(--text) 2.5%, var(--bg));align-items:start;gap:clamp(1.6rem,5vw,4rem);padding:clamp(1.2rem,3vw,2rem);display:grid}.bean-card:has(.bean-photo){grid-template-columns:minmax(10rem,.62fr) minmax(16rem,1.38fr)}.bean-card .bean-photo{margin:0}.bean-card .bean-image{aspect-ratio:4/5;object-fit:cover;background:color-mix(in srgb, var(--text) 5%, var(--bg));filter:saturate(.88)contrast(.98);width:100%;height:auto;display:block}.bean-card .bean-attribution{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;margin-top:.6rem;font-size:.6rem;line-height:1.6}.bean-card .bean-roaster{color:var(--muted);font-family:var(--font-ui);font-size:.78rem;font-weight:var(--ui-weight);letter-spacing:var(--ui-track);text-transform:uppercase}.bean-card .bean-name{font-family:var(--font-display);font-size:calc(clamp(2rem, 4.4vw, 3.4rem) * var(--display-scale));font-weight:var(--display-weight);margin-top:.5rem;line-height:.98}.bean-card .bean-name a{color:inherit;text-decoration-color:var(--hairline)}.bean-card .bean-opened{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:.7rem;font-size:.66rem}.bean-card .bean-facts{grid-template-columns:auto minmax(0,1fr);gap:.45rem 1.4rem;margin:1.4rem 0 0;display:grid}.bean-card .bean-fact{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.bean-card .bean-facts dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;font-size:.6rem;line-height:1.9}.bean-card .bean-facts dd{font-family:var(--font-mono);letter-spacing:.04em;margin:0;font-size:.72rem;line-height:1.6}.bean-card .bean-prose{border-top:1px solid var(--hairline);margin-top:1.8rem}.bean-card .bean-prose-section{margin-top:1.4rem}.bean-card .bean-prose-heading{color:var(--muted);font-family:var(--font-ui);font-size:.7rem;font-weight:var(--ui-weight);letter-spacing:var(--ui-track);text-transform:uppercase}.bean-card .bean-prose-body{max-width:var(--measure);font-family:var(--font-prose);font-size:var(--prose-size);text-wrap:pretty;margin-top:.6rem;line-height:1.55}.bean-card .bean-source{border-top:1px solid var(--hairline);color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;margin-top:1.8rem;padding-top:1.1rem;font-size:.66rem;line-height:1.9}.bean-card .bean-source-link{color:var(--text)}.bean-card .bean-hash-value{font-family:var(--font-mono);word-break:break-all;font-size:.95em}.bean-card .bean-links{flex-wrap:wrap;gap:1.4rem;margin-top:1.5rem;display:flex}.bean-card .bean-permalink{font-family:var(--font-mono);letter-spacing:var(--mono-track);text-decoration-color:var(--hairline);font-size:.68rem}.bean-archive{margin:0;padding:0;list-style:none}.bean-archive .bean-archive-row{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem 1.6rem;padding:.85rem 0;display:flex}.bean-archive .bean-archive-link{color:var(--text);font-family:var(--font-ui);font-size:.95rem;font-weight:var(--ui-weight);text-decoration-color:var(--hairline)}.bean-archive .bean-archive-date{color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;font-variant-numeric:tabular-nums;font-size:.66rem}@media (width<=700px){.bean-card:has(.bean-photo){grid-template-columns:1fr}.bean-card .bean-image{max-height:26rem}}@media (prefers-reduced-motion:reduce){.bean-card .bean-image{filter:none}}.shot-date,.shot-bean,.metrics dt{font-family:var(--font-mono)}.shot{border:1px solid var(--hairline);background:color-mix(in srgb, var(--text) 1.5%, var(--bg));padding:clamp(1.2rem,3vw,1.8rem)}.shot-latest{display:block}.shot-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2rem;display:grid}.shot-date,.shot-bean{color:var(--muted);letter-spacing:.05em;font-size:.66rem;display:block}.shot-profile{font-family:var(--font-display);font-size:calc(1.65rem * var(--display-scale));font-weight:var(--display-weight);margin:.28rem 0 .38rem;line-height:1.05}.metrics{grid-template-columns:repeat(3,auto);gap:clamp(1rem,3vw,2.5rem);margin:0;display:grid}.metrics div{text-align:right}.metrics dt{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.58rem}.metrics dd{font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:.24rem 0 0;font-size:.95rem}.shot-list{gap:.9rem;display:grid}.shot-row{padding:0}.shot-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.6rem 1.6rem;padding:clamp(.9rem,2.4vw,1.3rem) 2.6rem clamp(.9rem,2.4vw,1.3rem) clamp(.9rem,2.4vw,1.3rem);list-style:none;display:grid;position:relative}.shot-summary::-webkit-details-marker{display:none}.shot-summary:after{content:"+";color:var(--muted);font-family:var(--font-mono);font-size:.9rem;line-height:1;position:absolute;top:clamp(.9rem,2.4vw,1.3rem);right:1rem}.shot-row[open]>.shot-summary:after{content:"–"}.shot-summary:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.shot-row[open]>.shot-summary{border-bottom:1px solid var(--hairline)}.summary-identity{flex-wrap:wrap;align-items:baseline;gap:.35rem .9rem;min-width:0;display:flex}.summary-identity .shot-profile{font-family:var(--font-ui);font-size:.95rem;font-weight:var(--ui-weight);margin:0}.summary-metrics{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted);align-items:baseline;gap:.9rem;font-size:.72rem;display:flex}.note-flag{border:1px solid color-mix(in srgb, var(--bruise) 55%, var(--hairline));color:var(--text);letter-spacing:.14em;text-transform:uppercase;padding:.1rem .4rem;font-size:.58rem}.shot-body{padding:clamp(.9rem,2.4vw,1.3rem)}.shot-chart{margin-top:1.2rem}.shot-note{border-left:2px solid color-mix(in srgb, var(--bruise) 55%, transparent);font-family:var(--font-prose);color:var(--text);margin-top:1.3rem;padding:.85rem 0 .85rem 1rem;font-size:1.08rem;font-style:italic;line-height:1.5;position:relative}.shot-body .shot-note{margin-top:0}.load-older{border:1px solid var(--hairline);color:var(--text);font-family:var(--font-mono);letter-spacing:var(--mono-track);text-transform:uppercase;cursor:pointer;background:0 0;margin-top:1.6rem;padding:.7rem 1.4rem;font-size:.7rem}.load-older:hover{border-color:color-mix(in srgb, var(--text) 45%, var(--hairline))}.load-older:focus-visible{outline:2px solid var(--text);outline-offset:2px}.load-older[disabled]{color:var(--muted);cursor:progress}.shot-chart{--chart-backdrop:var(--latent);--chart-on-backdrop:var(--cream);--chart-backdrop-rule:color-mix(in srgb, var(--cream) 16%, transparent)}.shot-chart .chart-backdrop{fill:var(--chart-backdrop)}.shot-chart .chart-svg{width:100%;height:auto;display:block;overflow:visible}.shot-chart .chart-grid line{stroke:var(--chart-backdrop-rule);stroke-width:1px}.shot-chart .chart-axis-line{stroke:color-mix(in srgb, var(--muted) 70%, transparent);stroke-width:1px}.shot-chart .chart-tick-label{fill:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;font-size:.62rem}.shot-chart .chart-axis-label{fill:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.56rem}.shot-chart .cursor-line{stroke:var(--chart-on-backdrop);stroke-width:1px;stroke-opacity:.55}.shot-chart .cursor-marker{stroke:var(--chart-backdrop);stroke-width:1.5px}.shot-chart .chart-interaction{touch-action:none;cursor:crosshair}.shot-chart .chart-interaction:focus-visible{outline:2px solid var(--chart-on-backdrop);outline-offset:-2px}.shot-chart .chart-legend{flex-wrap:wrap;gap:.5rem 1.6rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.shot-chart .legend-item{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.62rem;display:flex}.shot-chart .legend-swatch{flex:none}.shot-chart .legend-name{color:var(--text)}.shot-chart .legend-pattern,.shot-chart .legend-unit{color:var(--muted)}.shot-chart .chart-readout{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin:1.1rem 0 0;display:grid}.shot-chart .readout-item{padding-top:.5rem}.shot-chart .readout-pressure{border-top:2px solid var(--series-pressure)}.shot-chart .readout-flow{border-top:2px dashed var(--series-flow)}.shot-chart .readout-weight{border-top:2px dotted var(--series-weight)}.shot-chart .readout-time{border-top:2px solid var(--hairline)}.shot-chart .chart-readout dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.58rem}.shot-chart .chart-readout dd{font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:.3rem 0 0;font-size:.92rem}.shot .shot-status,.shot .shot-error{font-family:var(--font-mono);letter-spacing:var(--mono-track);color:var(--muted);font-size:.72rem}.shot .shot-error{color:var(--bruise-hover)}.shot .shot-retry{border:1px solid var(--hairline);color:var(--text);font:inherit;text-transform:uppercase;cursor:pointer;background:0 0;padding:.25rem .7rem}.shot .shot-retry:focus-visible{outline:2px solid var(--text);outline-offset:2px}.shot .shot-bean-link{color:inherit}@media (width<=700px){.shot-head{grid-template-columns:1fr}.metrics{justify-content:start}.metrics div{text-align:left}.shot-summary{grid-template-columns:1fr}.shot-chart .chart-tick-label{font-size:.5rem}.shot-chart .chart-axis-label{font-size:.48rem}.shot-chart .chart-readout{gap:.55rem}.shot-chart .chart-readout dd{font-size:.8rem}}
