.coffee-bar{--background:var(--brand-espresso);--foreground:var(--brand-cream);--card:var(--bar-overlay);--card-foreground:var(--brand-cream);--input:var(--bar-field-border);--border:var(--bar-border);--muted:var(--bar-muted);--muted-foreground:var(--bar-muted-foreground);--destructive:var(--bar-destructive);--field-surface:var(--bar-field);--field-border:var(--bar-field-border);--field-placeholder:var(--bar-field-placeholder);background:var(--brand-espresso);color:var(--brand-cream);border:1px solid var(--bar-border);border-radius:3px;animation:.45s ease-out both bar-arrive;overflow:hidden}@keyframes bar-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bar-top{grid-template-columns:minmax(0, 1fr) var(--layout-form-column);display:grid}.bar-scene-column{flex-direction:column;min-width:0;display:flex}.bar-stage{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#70685d;flex:1;min-height:560px;position:relative;overflow:hidden}.canvas-frame{position:absolute;inset:0}.canvas-frame canvas{touch-action:pan-y;cursor:grab}.canvas-frame canvas:active{cursor:grabbing}.scene-hotspot{pointer-events:auto;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:0;left:0}.scene-spots{pointer-events:none;z-index:2;position:absolute;inset:0}.scene-hotspot span{background:var(--brand-amber);width:12px;height:12px;box-shadow:0 1px 6px color-mix(in srgb, var(--brand-espresso) 33.33%, transparent);border:1.5px solid #fff8ec;border-radius:50%}.scene-hotspot:focus-visible{outline:2px solid var(--brand-amber)}.fresh-hotspot span{animation:2s ease-in-out infinite hotspot-pulse}@keyframes hotspot-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--brand-amber) 20.0%, transparent)}}.stage-fallback{justify-content:center;align-items:center;gap:calc(var(--spacing) * 3);color:var(--foreground);background:var(--background);padding:calc(var(--spacing) * 17.5) calc(var(--spacing) * 7);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.stage-fallback p{font-family:var(--type-font-display);font-size:var(--text-lede)}.stage-fallback small{font-size:var(--text-caption)}.bar-toolbar{z-index:3;align-items:start;gap:var(--scene-control-gap);padding:var(--scene-edge);pointer-events:none;grid-template-columns:minmax(0,1fr) auto;display:grid;position:absolute;inset-block-start:0;inset-inline:0}.bar-hint{padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);background:color-mix(in srgb, var(--background) 85%, transparent);color:var(--muted-foreground);border-radius:var(--radius-sm);font-family:var(--type-font-mono);font-size:var(--text-label);grid-area:2/1}.bar-stage:not(.is-fresh) .bar-hint{opacity:0;transition:opacity .4s}.bar-go{z-index:3;box-shadow:0 6px 18px color-mix(in srgb, var(--brand-espresso) 18.82%, transparent);position:absolute;inset-block-end:var(--scene-edge);inset-inline-end:var(--scene-edge)}.bar-customization{z-index:3;align-items:flex-start;gap:var(--scene-control-gap);flex-direction:column;display:flex;position:absolute;inset-block-end:var(--scene-edge);inset-inline-start:var(--scene-edge)}.mobile-brew-log{font-family:var(--type-font-mono);font-size:var(--text-readout);background:var(--brand-espresso);color:var(--bar-log-text);border-bottom:1px solid var(--bar-border);display:none}.mobile-brew-log summary{align-items:center;gap:calc(var(--spacing) * 3);min-height:48px;padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4.5);cursor:pointer;list-style:none;display:flex}.mobile-log-phase{text-align:right;color:var(--brand-amber);flex:1}.mobile-brew-log[open]>summary svg{transform:rotate(180deg)}.mobile-brew-log section{padding:0 calc(var(--spacing) * 4.5) calc(var(--spacing) * 3.5)}.bar-contact{padding:calc(var(--spacing) * 6.5) calc(var(--spacing) * 6) calc(var(--spacing) * 5);flex-direction:column;min-height:560px;display:flex}.bar-contact h2{font-family:var(--type-font-display);font-size:var(--text-bag-title);letter-spacing:var(--type-tracking-subtle);flex:none}.contact-introduction{min-height:120px;padding-block:calc(var(--spacing) * 5.5) calc(var(--spacing) * 3.5);gap:calc(var(--spacing) * 3);font-size:var(--text-body);line-height:var(--type-leading-body);flex-direction:column;display:flex}.contact-brew-status{color:var(--bar-muted-foreground)}.contact-brew-status:empty{display:none}.note-form{scroll-margin-top:calc(var(--spacing) * 5);margin-top:auto}.ticket-edge{justify-content:space-between;gap:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 3.5) calc(var(--spacing) * 4);color:var(--bar-subtle);font-family:var(--type-font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--type-tracking-ticket-body);border-top:1px dashed #695540;display:flex}.ticket-edge span{opacity:.7;font-size:var(--text-label)}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.note-fields{gap:calc(var(--spacing) * 4);min-width:0;display:grid}.note-line label{color:var(--bar-label)}.note-line input,.note-line textarea{background:var(--field-surface)}.note-line input::placeholder,.note-line textarea::placeholder{color:var(--field-placeholder)}.note-message textarea{resize:vertical;min-height:112px;max-height:240px}.send-note{margin-top:calc(var(--spacing) * .5);width:100%}.coffee-request label{align-items:center;gap:calc(var(--spacing) * 3);min-height:48px;padding:calc(var(--spacing) * 3);border:1px solid var(--field-border);background:var(--field-surface);cursor:default;font-family:var(--type-font-body);font-size:var(--text-control);border-radius:6px;display:flex}.coffee-request input{appearance:none;border:2px solid var(--bar-field-placeholder);background:var(--bar-overlay);border-radius:4px;flex:none;place-content:center;width:24px;height:24px;display:grid}.coffee-request input:checked{background:var(--status-success-control);border-color:var(--status-success-control)}.coffee-request input:checked:after{content:"";border-left:3px solid var(--status-success-ink);border-bottom:3px solid var(--status-success-ink);width:13px;height:8px;transform:translateY(-2px)rotate(-45deg)}.coffee-request:has(input:checked) label{border-color:var(--status-success-border);background:var(--status-success-surface);color:var(--status-success-strong)}.coffee-request:has(input:checked) p{color:var(--status-success)}.coffee-request input:disabled{opacity:1}.coffee-request input:focus-visible{outline:2px solid var(--brand-amber);outline-offset:3px}.coffee-request p{margin:calc(var(--spacing) * 2) 0 0;color:var(--bar-field-placeholder);font-size:var(--text-small);line-height:var(--type-leading-body)}.note-status{margin-top:calc(var(--spacing) * 2.5);min-height:28px;font-size:var(--text-small);color:var(--bar-muted-foreground);line-height:1.5;display:block}.note-status.note-error{color:var(--bar-destructive)}.note-status a{color:var(--brand-amber);text-decoration:underline}.note-loading{padding-block:calc(var(--spacing) * 6);font-family:var(--type-font-mono);font-size:var(--text-readout)}.bar-deck{border-top:1px solid var(--bar-border);grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr);display:grid}.coffee-description{padding:calc(var(--spacing) * 6)}.bar-eyebrow{font-family:var(--type-font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--type-tracking-copy);color:var(--bar-muted-foreground)}.coffee-description h2{margin-block:calc(var(--spacing) * 2) calc(var(--spacing) * 1);font-family:var(--type-font-display);font-size:var(--text-coffee-title);font-weight:var(--type-weight-body)}.coffee-description>p:not(.bar-eyebrow){font-size:var(--text-body);color:var(--bar-subtle)}.coffee-description>p.coffee-recipe{font-family:var(--type-font-mono);font-size:var(--text-label);margin-top:calc(var(--spacing) * 3.5)}.brew-details>summary{display:none}.brew-readout{border-left:1px solid var(--bar-border);padding:calc(var(--spacing) * 6) calc(var(--spacing) * 4.5)}.brew-log{width:min(480px,100%);padding:calc(var(--spacing) * 2) calc(var(--spacing) * 2.5);color:var(--bar-log-text);pointer-events:none;background:linear-gradient(120deg,#12141599,#12141559);border:1px solid #ebdec838;border-left:2px solid #f2a23abf;border-radius:3px;grid-area:1/1}.brew-log .bar-eyebrow{color:var(--bar-label);text-transform:none;letter-spacing:normal}.brew-log{transition:opacity .6s}.brew-log.is-cleared{opacity:0}.brew-log .terminal-command,.mobile-brew-log .terminal-command{margin-top:calc(var(--spacing) * 1.5);padding:var(--spacing) calc(var(--spacing) * 1.5);border-left:2px solid var(--brand-amber);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--brand-amber) 8%, transparent)}.log-waiting,.log-result{font-family:var(--type-font-mono);font-size:var(--text-terminal);color:var(--bar-muted-foreground)}.brew-log .is-clear-command,.mobile-brew-log .is-clear-command{margin-top:calc(var(--spacing) * 2)}@media (prefers-reduced-motion:reduce){.brew-log{transition:none}}.brew-log .bar-eyebrow span{color:var(--brand-amber)}.brew-log ol,.mobile-brew-log ol{margin-top:calc(var(--spacing) * 2);font-family:var(--type-font-mono);font-size:var(--text-terminal);color:var(--bar-log-text);line-height:1.45}.brew-log li,.mobile-brew-log li{gap:calc(var(--spacing) * 2);margin-top:calc(var(--spacing) * 1);grid-template-columns:5ch minmax(0,1fr);display:grid}.brew-log .bar-eyebrow,.brew-log ol,.brew-log .terminal-command,.brew-log .log-waiting{font-size:var(--text-terminal-overlay);line-height:1.35}.brew-log ol,.brew-log .terminal-command,.brew-log .log-waiting{margin-top:5px}.brew-log li{gap:calc(var(--spacing) * 1.5);margin-top:2px}.log-level{color:var(--status-success)}[data-level=DEBUG] .log-level{color:var(--status-info)}[data-level=WARN] .log-level{color:var(--status-warning)}.brew-log .log-waiting,.mobile-brew-log .log-waiting{display:block}.brew-log time,.mobile-brew-log time{font-variant-numeric:tabular-nums;color:var(--brand-amber);flex:none}.readout-phase{color:var(--brand-amber);font-family:var(--type-font-mono);font-size:var(--text-label);margin-top:calc(var(--spacing) * 2.5)}.brew-readout dl{justify-content:space-between;gap:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 3);display:flex}.brew-readout dt{font-size:var(--text-label);color:var(--bar-muted-foreground)}.brew-readout dd{font-family:var(--type-font-mono);font-size:var(--text-instrument)}.brew-readout small{font-size:var(--text-label);color:var(--bar-muted-foreground);margin-left:3px}.brew-readout svg{margin-top:calc(var(--spacing) * 3);width:100%;height:36px}.mobile-glaze{display:none}@media (max-width:950px){.bar-top{grid-template-columns:minmax(0,1fr)}.bar-stage{flex:none;height:clamp(380px,65vw,520px);min-height:0}.bar-contact{height:auto;min-height:0;padding:calc(var(--spacing) * 6.5);border-top:1px solid var(--bar-border)}.contact-introduction{min-height:0;padding-block:calc(var(--spacing) * 4.5)}.bar-contact .note-form{width:100%;max-width:540px}.bar-deck{grid-template-columns:minmax(190px,.8fr) minmax(0,1.4fr)}}@media (max-width:560px){.bar-customization{inset-block-end:calc(var(--scene-edge) + var(--spacing-control-lg) + var(--scene-control-gap))}.bar-stage{height:410px}.bar-hint{font-size:var(--text-label);display:none}.cup-picker{display:none}.bar-stage.is-fresh .bar-go{inset-inline:var(--scene-edge)}.mobile-brew-log{display:block}.bar-contact{padding:calc(var(--spacing) * 6) calc(var(--spacing) * 4.5)}.note-line input,.note-line textarea{font-size:var(--text-body)}.bar-deck{grid-template-columns:1fr}.coffee-description{padding:calc(var(--spacing) * 5.5) calc(var(--spacing) * 4.5)}.brew-details>summary{padding:calc(var(--spacing) * 3.5) calc(var(--spacing) * 4.5);border-top:1px solid var(--bar-border);font-family:var(--type-font-mono);font-size:var(--text-label);color:var(--brand-amber);display:block}.brew-readout{border-left:none;border-top:1px solid var(--bar-border);padding:calc(var(--spacing) * 5) calc(var(--spacing) * 4.5)}.brew-log{display:none}.mobile-glaze{margin-top:calc(var(--spacing) * 3.5);display:inline-block}}@media (prefers-reduced-motion:reduce){.coffee-bar{animation:none}}.coffee-paper{border:1px solid var(--paper-border);background-color:var(--paper-surface);color:var(--paper-foreground);background-image:repeating-radial-gradient(circle at 17% 31%,#795c2a08 0 .7px,#0000 .9px 3px),repeating-linear-gradient(93deg,#fff8e826 0 1px,#0000 1px 5px),linear-gradient(115deg,#fff8e866,#0000 45%,#b5995a18);border-radius:2px 5px 3px 1px}.coffee-tasting-card{gap:calc(var(--spacing) * 1);width:180px;max-height:calc(var(--spacing) * 48);padding:calc(var(--spacing) * 4);box-shadow:2px 5px 6px color-mix(in srgb, var(--brand-espresso) 14.12%, transparent), 5px 14px 22px color-mix(in srgb, var(--brand-espresso) 12.16%, transparent), inset 0 1px var(--paper-highlight);font-family:var(--type-font-body);font-size:var(--text-label);text-align:left;cursor:zoom-in;line-height:1.5;animation:.5s ease-out both tasting-arrive;display:grid;overflow-y:auto;transform:rotate(-4deg)}.coffee-paper .tasting-label{font-family:var(--type-font-mono);font-size:var(--text-label);color:var(--paper-muted)}.coffee-tasting-card strong{font-family:var(--type-font-display);font-size:var(--text-body);font-weight:var(--type-weight-label)}.tasting-open{margin-top:calc(var(--spacing) * 1.5);font-size:var(--text-small);text-underline-offset:4px;text-decoration:underline}.tasting-dialog{width:min(440px,100vw - 32px);max-height:calc(100dvh - 48px);padding:calc(var(--spacing) * 8);box-shadow:0 25px 80px #0006, inset 0 1px var(--paper-highlight);font-family:var(--type-font-body);font-size:var(--text-body);margin:0;animation:.45s cubic-bezier(.22,1,.36,1) both tasting-magnify;top:50%;left:50%;right:auto;overflow-y:auto;translate:-50% -50%}.tasting-dialog h2{font-family:var(--type-font-display);font-size:var(--text-page-title);margin-block:calc(var(--spacing) * 3) calc(var(--spacing) * 1)}.tasting-dialog .tasting-label{padding-right:calc(var(--spacing) * 8)}.tasting-close{cursor:pointer;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:8px;right:8px}.tasting-facts{gap:calc(var(--spacing) * 3.5);margin-top:calc(var(--spacing) * 6);border-top:1px solid var(--paper-border);padding-top:calc(var(--spacing) * 5);display:grid}.tasting-facts>div{gap:3px;display:grid}.tasting-facts dt{font-family:var(--type-font-mono);font-size:var(--text-label);color:var(--paper-muted)}.tasting-facts dd{overflow-wrap:anywhere}@keyframes tasting-arrive{0%{opacity:0;transform:translateY(calc(var(--spacing) * -1.5)) rotate(-4deg)}to{opacity:1;transform:translateY(0)rotate(-4deg)}}@keyframes tasting-magnify{0%{opacity:0;transform:scale(.75)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.coffee-tasting-card,.tasting-dialog{animation:none}}.tasting-dialog:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(168deg,#0000 0 32%,#80623910 33%,#fffdf15c 33.6%,#0000 35%),linear-gradient(89deg,#0000 47%,#80623912 49.5%,#fffdf173 50%,#0000 52%),linear-gradient(12deg,#0000 0 73%,#80623910 74%,#fffdf14d 74.6%,#0000 76%);position:absolute;inset:0;box-shadow:inset 3px 0 10px #8062390d,inset -2px -3px 8px #80623914}.tasting-dialog:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 46%,#bca77e 49%,#fff6de 54%,#e5d4ae 100%);width:23px;height:26px;position:absolute;bottom:0;right:0}.tasting-dialog>:not(.tasting-close){position:relative}.tasting-close{z-index:1}.tasting-notebook{margin-top:calc(var(--spacing) * 6)}.tasting-notebook h3{font-family:var(--type-font-mono);font-size:var(--text-label);color:var(--paper-muted);margin-bottom:calc(var(--spacing) * 2)}.tasting-notebook p{overflow-wrap:anywhere;background:repeating-linear-gradient(#0000 0 29px,#b6a37d50 29px 30px);min-height:90px;line-height:30px}.brew-speed{gap:var(--spacing);padding:calc(var(--spacing) * .75);border-radius:var(--radius);background:var(--bar-overlay);font-family:var(--type-font-mono);pointer-events:auto;grid-area:1/2;display:flex}.coffee-bar{scroll-margin-top:calc(var(--spacing) * 3)}.bar-go.is-inviting{animation:1.6s ease-out .5s brew-invitation}@keyframes brew-invitation{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand-amber) 0.0%, transparent)}35%{box-shadow:0 0 0 7px color-mix(in srgb, var(--brand-amber) 40.0%, transparent), 0 0 20px color-mix(in srgb, var(--brand-amber) 33.33%, transparent)}75%{box-shadow:0 0 0 13px color-mix(in srgb, var(--brand-amber) 0.0%, transparent)}}@media (prefers-reduced-motion:reduce){.bar-go.is-inviting{animation:none}}@media (min-width:951px){.coffee-bar{grid-template-columns:minmax(0, 1fr) var(--layout-form-column);grid-template-rows:auto 1fr;display:grid}.bar-top{display:contents}.bar-scene-column{grid-area:1/1}.bar-stage{flex:none;height:clamp(520px,68svh,640px);min-height:0}.bar-contact{border-left:1px solid var(--bar-border);grid-area:1/2/span 2}.bar-deck{grid-area:2/1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start}}.note-confirmation{margin-top:calc(var(--spacing) * 6);align-content:start;justify-items:start;gap:calc(var(--spacing) * 4);border-top:1px dashed var(--bar-border);padding-block:calc(var(--spacing) * 6);display:grid}.note-confirmation-icon{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);color:var(--status-success)}.note-confirmation h2{font-family:var(--type-font-display);font-size:var(--text-heading);line-height:var(--type-leading-display);color:var(--foreground)}.note-confirmation p{font-size:var(--text-body);line-height:var(--type-leading-body);color:var(--muted-foreground)}.note-confirmation .note-confirmation-coffee{color:var(--status-success)}
