*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#1f1f1f;background:#f5f5f5;font-synthesis:none;--ink: #1f1f1f;--muted: #737373;--line: #ebebeb;--surface: #ffffff;--shadow-card: 0 2px 4px rgb(0 0 0 / 3%), 0 6px 18px rgb(0 0 0 / 5%);--shadow-bar: 0 -2px 6px rgb(0 0 0 / 3%), 0 -8px 24px rgb(0 0 0 / 6%);--shadow-popover: 0 3px 8px rgb(0 0 0 / 6%), 0 12px 28px rgb(0 0 0 / 10%);--shadow-dialog: 0 6px 16px rgb(0 0 0 / 8%), 0 24px 64px rgb(0 0 0 / 16%)}*{box-sizing:border-box}body{margin:0;min-width:0;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button,input,textarea{font:inherit}button,a,input,textarea,[contenteditable]{outline-offset:4px}:focus-visible{outline:2px solid #2d2d2d}input:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}a{color:inherit;text-decoration:none}::-moz-selection{background:#dedede;color:#121212}::selection{background:#dedede;color:#121212}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.app-shell{min-height:100dvh}.desktop-sidebar{display:none}.app-workspace{min-width:0}.main-content{max-width:1280px;margin-inline:auto;padding:14px 22px calc(92px + env(safe-area-inset-bottom));min-height:calc(100dvh - 180px)}.main-content:focus{outline:none}.\!brand{display:inline-flex!important;align-items:center!important;gap:12px!important;font-size:24px!important;letter-spacing:-1px!important;font-weight:700!important;white-space:nowrap!important}.brand{display:inline-flex;align-items:center;gap:12px;font-size:24px;letter-spacing:-1px;font-weight:700;white-space:nowrap}.brand-symbol{background:#1f1f1f;color:#fff;width:39px;height:39px;display:grid;place-items:center;border-radius:11px}.brand-period{color:#9f9f9f}.mobile-masthead{display:flex;position:sticky;top:0;z-index:35;min-height:62px;align-items:center;justify-content:space-between;padding:0 22px;background:#f5f5f5f2;border-bottom:1px solid #ebebeb80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-masthead .brand{font-size:20px;gap:8px}.mobile-masthead .\!brand{font-size:20px!important;gap:8px!important}.page-header{display:flex;position:sticky;top:62px;z-index:34;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding-block:10px;background:#f5f5f5f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-header-copy{min-width:0}.page-title-row{display:flex;align-items:center;gap:9px}.page-title-row h1{font-size:clamp(23px,2.5vw,29px);line-height:1.35;font-weight:650;letter-spacing:-1px}.page-header-action{flex-shrink:0}.page-header-trailing{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.desktop-sync-indicator{display:none}.back-button{margin-left:-10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:10px;padding:11px 17px;font-size:13px;line-height:1.4;font-weight:550;white-space:nowrap;transition:background-color .16s,border-color .16s,color .16s,transform .16s;border:1px solid transparent}.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.97)}.button-primary{color:#fff;background:#1f1f1f}.button-primary:hover:not(:disabled){background:#3c3c3c}.button-secondary{background:#fff;color:#3c3c3c;border-color:#dedede}.button-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#b5b5b5}.button-danger{background:#f5f5f5;color:#1f1f1f;border-color:#b5b5b5}.button-danger:hover:not(:disabled){background:#ebebeb;border-color:#737373}.button-success{background:#1f1f1f;color:#fff}.button:disabled{opacity:.4}.button-success:disabled{opacity:1}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9px;color:#737373;flex-shrink:0;transition:background-color .15s,color .15s,transform .15s}.icon-button:hover:not(:disabled){background:#ebebeb;color:#1f1f1f}.icon-button:disabled{opacity:.35}.text-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:#5e5e5e;font-size:12px}.text-link:hover{color:#121212}.surface{box-shadow:var(--shadow-card);background:#fff;border:1px solid var(--line);border-radius:16px}.empty-state{text-align:center;padding:38px 22px;border:1px dashed #dedede;border-radius:16px}.empty-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#ebebeb;color:#898989;margin:0 auto 18px}.empty-state h3{font-size:15px;font-weight:600}.empty-state p{color:#737373;font-size:12px;line-height:1.85;max-width:300px;margin:9px auto 20px}.mobile-navigation{box-shadow:var(--shadow-bar);position:fixed;z-index:40;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:9px 12px max(9px,env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #ebebeb}.mobile-nav-link{display:flex;flex:1;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#898989;font-size:10px;transition:color .15s}.mobile-nav-link.is-active{color:#1f1f1f;font-weight:600}.mobile-nav-link.is-active svg{stroke-width:2.2}.skip-link{position:fixed;top:-60px;left:16px;z-index:150;padding:12px 18px;background:#1f1f1f;color:#fff;border-radius:8px}.skip-link:focus{top:12px}.app-dialog{padding:0;border:0;background:transparent;overflow:visible;width:min(480px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;color:var(--ink)}.app-dialog::backdrop{background:#12121265}.app-dialog[open]{animation:dialog-enter .18s ease-out}.dialog-content{background:#fff;border-radius:20px;padding:28px;box-shadow:var(--shadow-dialog);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:25px}.dialog-header h2{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.5px}.dialog-header p{font-size:12px;color:#737373;line-height:1.8;margin-top:8px}.dialog-close{margin-top:-7px;margin-right:-9px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.dialog-actions .button{min-width:100px}.confirm-description{font-size:14px;color:#737373;line-height:1.9;white-space:pre-wrap}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field-label{font-size:12px;color:#4c4c4c;font-weight:550}.field-hint{font-size:11px;color:#898989;line-height:1.7}.input{width:100%;min-width:0;min-height:46px;padding:12px 13px;border:1px solid #dedede;border-radius:9px;background:#fafafa;color:#2d2d2d;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::-moz-placeholder{color:#9f9f9f}.input::placeholder{color:#9f9f9f}.input:focus{border-color:#4c4c4c;background:#fff}.form-fields{display:grid;gap:21px}.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.input[type=date]{display:block;max-width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none}.input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}.input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}.inline-note{padding:12px 14px;background:#f5f5f5;border-radius:9px;color:#737373;font-size:12px;line-height:1.8}.sync-editor{min-height:250px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.9}.markdown-preview{min-height:250px;padding:14px;border:1px solid #dedede;border-radius:9px;background:#fafafa;color:#4c4c4c;font-size:13px;line-height:1.8;cursor:text;overflow-wrap:anywhere}.markdown-preview:hover{border-color:#b5b5b5;background:#fff}.markdown-preview>:first-child{margin-top:0}.markdown-preview>:last-child{margin-bottom:0}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin:1em 0 .45em;line-height:1.4}.markdown-preview h1{font-size:20px}.markdown-preview h2{font-size:17px}.markdown-preview h3{font-size:15px}.markdown-preview p,.markdown-preview ul,.markdown-preview ol,.markdown-preview blockquote,.markdown-preview pre{margin:.7em 0}.markdown-preview ul,.markdown-preview ol{padding-left:1.5em}.markdown-preview code{padding:2px 5px;border-radius:4px;background:#ebebeb;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-preview pre{overflow-x:auto;padding:12px;border-radius:7px;background:#ebebeb}.markdown-preview pre code{padding:0;background:transparent}.markdown-preview blockquote{padding-left:12px;border-left:3px solid #cccccc;color:#737373}.markdown-preview a{text-decoration:underline;text-underline-offset:2px}.markdown-preview table{width:100%;border-collapse:collapse}.markdown-preview th,.markdown-preview td{padding:6px 8px;border:1px solid #dedede;text-align:left}.status-error{color:#303030;background:#f5f5f5;border:1px solid #b5b5b5;border-left:3px solid #303030;padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.7;margin-top:14px}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.flex{display:flex}.table{display:table}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.page-transition{animation:page-enter .16s ease-out}@keyframes page-enter{0%{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){.page-transition{animation:none}}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}@keyframes dialog-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1024px){.desktop-sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:228px;padding:42px 24px 32px;background:#fff;border-right:1px solid #ebebeb;flex-direction:column;z-index:45}.desktop-sidebar .brand{font-size:25px;gap:10px}.desktop-navigation{display:grid;gap:9px;margin-top:46px}.nav-link{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:10px;font-size:13px;color:#737373;transition:background-color .15s,color .15s}.nav-link:hover{background:#f5f5f5;color:#2d2d2d}.nav-link.is-active{background:#ebebeb;color:#1f1f1f;font-weight:600}.nav-indicator{display:none;width:5px;height:5px;border-radius:50%;background:#2d2d2d;margin-left:auto}.is-active .nav-indicator{display:block}.app-workspace{margin-left:228px}.mobile-masthead,.mobile-navigation{display:none}.main-content{padding:24px clamp(28px,3.5vw,56px) 36px;min-height:calc(100dvh - 57px)}.page-header{top:0;margin-bottom:20px}.desktop-sync-indicator{display:flex}}@media(max-width:420px){.main-content{padding:14px 18px calc(92px + env(safe-area-inset-bottom))}.mobile-masthead{padding-inline:18px}.page-header{gap:10px}.page-header-action .button{padding-inline:12px}.dialog-content{padding:23px}.field-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sync-indicator{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#737373}.sync-indicator.is-busy svg{animation:sync-spin 1.2s linear infinite}.sync-indicator.is-error{cursor:pointer;color:#1f1f1f;background:#dedede}.sync-indicator.is-error:hover{background:#ebebeb}.sync-status-menu{position:relative;z-index:60}.sync-status-menu summary{list-style:none}.sync-status-menu summary::-webkit-details-marker{display:none}.sync-status-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 36px));padding:15px;border:1px solid #dedede;border-radius:12px;background:#fff;box-shadow:var(--shadow-popover);color:#4c4c4c;font-size:12px}.sync-status-popover p{line-height:1.6}.sync-status-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.sync-status-actions button{min-height:36px;padding:7px 10px;border:1px solid #cccccc;border-radius:7px;background:#fafafa;color:#4c4c4c}.sync-status-actions button:hover{background:#ebebeb}@keyframes sync-spin{to{transform:rotate(360deg)}}.header-date{color:#898989;font-size:12px}.coffee-hero{position:relative;display:grid;grid-template-columns:1.2fr .8fr;min-height:184px;overflow:hidden;border:1px solid #dedede;border-radius:16px;background:linear-gradient(110deg,#fafafa,#ebebeb)}.hero-copy{position:relative;z-index:2;padding:19px 26px}.hero-kicker{display:flex;align-items:center;gap:7px;font-size:8px;font-weight:600;letter-spacing:1.6px;color:#898989}.hero-kicker>span{width:4px;height:4px;background:#737373;border-radius:50%}.hero-copy h2{margin-top:8px;font-size:clamp(24px,2.5vw,30px);font-weight:540;line-height:1.22;letter-spacing:-1.2px;color:#2d2d2d}.hero-copy p{margin-top:6px;font-size:11px;line-height:1.55;color:#898989}.hero-button{margin-top:10px}.hero-button>svg:last-child{margin-left:18px}.hero-art{position:relative;min-width:0}.machine-image{position:absolute;height:184px;width:210px;max-width:none;-o-object-fit:contain;object-fit:contain;bottom:0;right:12px;filter:grayscale(1)}.mobile-only{display:none}.journal-section{margin-top:21px}.journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.journal-heading{min-width:0}.journal-heading h2{color:#2d2d2d;font-size:18px;font-weight:620}.journal-heading p{margin-top:3px;color:#898989;font-size:11px}.journal-tools{display:flex;align-items:center;gap:10px}.journal-beans-link{display:inline-flex;align-items:center;gap:3px;min-height:42px;padding-inline:8px;color:#737373;font-size:11px;white-space:nowrap}.journal-beans-link:hover{color:#2d2d2d}.journal-empty{padding:25px 20px;border-color:#dedede;background:#fafafa}.journal-empty p{margin-bottom:0}.journal-empty .button{margin-top:14px}.journal-product-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:8px 12px;border:1px solid #dedede;border-radius:9px;background:#fafafa;color:#5e5e5e;font-size:11px}.journal-product-filter button{flex-shrink:0;min-height:32px;color:#4c4c4c;text-decoration:underline;text-underline-offset:3px}.record-note-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:#737373;font-size:11px}.record-note-status.is-error{color:#303030;font-weight:600}.record-note-status button{min-height:32px;text-decoration:underline;text-underline-offset:3px}.history-import-trigger{min-height:44px;font-size:11px;padding-inline:12px}.history-rating-notice{margin:0 0 12px;color:#5e5e5e;font-size:11px}.history-import-body{color:#5e5e5e;font-size:12px}.history-import-body>p{line-height:1.6}.history-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 19px}.history-import-summary>div{min-width:0;padding:12px 10px;border-radius:9px;background:#f5f5f5}.history-import-summary dt{color:#898989;font-size:10px}.history-import-summary dd{margin:6px 0 0;color:#2d2d2d;font-size:20px;font-variant-numeric:tabular-nums}.history-import-preview{margin-bottom:15px}.history-import-preview h3{font-size:12px;font-weight:600;margin-bottom:8px}.history-import-preview ul{list-style:none;margin:0;padding:0;max-height:230px;overflow-y:auto}.history-import-preview li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #ebebeb}.history-import-preview li span{min-width:0;overflow-wrap:anywhere}.history-import-preview time,.history-import-preview p{color:#898989;font-size:11px;white-space:nowrap}.history-import-note{color:#898989;font-size:11px;line-height:1.7}.history-import-message{margin-top:13px;color:#4c4c4c}.history-import-body .dialog-actions{flex-wrap:wrap}.history-import-body .dialog-actions .button{min-width:0}.source-note-content{max-height:55dvh;overflow:auto;padding:15px;border:1px solid #ebebeb;border-radius:9px;background:#fafafa;color:#4c4c4c;font:12px/1.8 ui-monospace,Consolas,Microsoft YaHei,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.record-grid{display:grid;gap:10px}.record-card,.bean-card{box-shadow:var(--shadow-card);position:relative;overflow:hidden;border-radius:14px;background:#1f1f1f;border:1px solid #ebebeb}.record-card{background:#fff;border-color:#dedede;box-shadow:none}@supports (content-visibility: auto) and (contain-intrinsic-block-size: auto 250px){.record-grid>.record-card{content-visibility:auto;contain-intrinsic-block-size:auto 180px}@media(max-width:639px){.record-grid>.record-card{contain-intrinsic-block-size:auto 190px}}}.record-card-face{position:relative;z-index:1;background:#fff;padding:15px 17px 9px;border-radius:13px}.record-card-link{position:absolute;inset:0;z-index:2;border-radius:inherit}.record-card-link:focus-visible{outline:2px solid #3c3c3c;outline-offset:-3px}.record-top-actions,.record-card-footer,.record-note-status{position:relative;z-index:3}.record-card-header{display:flex;align-items:center;gap:10px}.record-title{flex:1;min-width:0}.record-title h3{color:#2d2d2d;font-size:15px;font-weight:610;line-height:1.45;overflow-wrap:anywhere}.record-title p{margin-top:2px;font-size:10px;color:#898989;overflow-wrap:anywhere}.record-title time{font-variant-numeric:tabular-nums}.record-top-actions{display:flex;align-items:center;gap:3px}.record-metrics-primary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:0;margin:11px 0 5px;padding:10px 0;border-radius:9px;background:#f7f7f7}.record-metrics-primary>div{min-width:0;padding-inline:12px}.record-metrics-primary>div:nth-child(2){position:relative;padding-left:19px}.record-metrics-primary>div:nth-child(2):before{content:"→";position:absolute;top:19px;left:0;color:#aaa39b;font-size:13px}.record-metrics-primary>div:nth-child(3){border-left:1px solid #e4e4e4;padding-left:14px}.record-metrics-primary dt{margin-bottom:2px;color:#898989;font-size:9px}.record-metrics-primary dd{margin:0;color:#3c3c3c;font-size:19px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.5px;white-space:nowrap}.record-metrics-primary dd span{margin-left:3px;color:#898989;font-size:10px;letter-spacing:0}.record-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:0}.record-rating{display:flex;margin-left:-8px}.record-rating button{display:grid;place-items:center;width:33px;height:40px;border-radius:6px}.record-rating button:hover{background:#f5f5f5}.star-empty{color:#ccc}.star-filled{fill:#1f1f1f;color:#1f1f1f}.record-rating-caption{font-size:10px;color:#898989;font-variant-numeric:tabular-nums}.record-actions{position:relative}.record-actions summary{list-style:none;cursor:pointer}.record-actions summary::-webkit-details-marker{display:none}.record-actions[open] summary{background:#f5f5f5}.record-actions-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:3;min-width:140px;padding:4px;background:#fff;border:1px solid #ebebeb;border-radius:10px;box-shadow:var(--shadow-popover)}.record-actions-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border-radius:6px;font-size:12px}.record-actions-menu button:hover{background:#f5f5f5}.record-actions-menu .is-danger{color:#1f1f1f;font-weight:600}.bean-overview{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 22px;margin-bottom:22px}.bean-overview>svg{color:#737373}.bean-overview-count{display:flex;align-items:center;gap:12px;white-space:nowrap}.bean-overview-count strong{font-size:29px;font-weight:400;letter-spacing:-1.2px}.bean-overview-count span{font-size:10px;color:#9f9f9f}.collection-count{color:#898989;font-size:11px}.bean-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.bean-card-face{position:relative;z-index:1;background:#fff;padding:19px 20px 0;border-radius:13px;height:100%;touch-action:pan-y}.bean-card-header{display:flex;gap:16px;align-items:center}.bean-illustration{background:#f5f5f5;color:#898989;width:68px;height:80px;border-radius:10px;flex-shrink:0;display:grid;place-items:center}.bean-heading{min-width:0}.bean-heading h3{font-size:14px;font-weight:600;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}.bean-heading p{font-size:11px;color:#898989;margin-top:4px;overflow-wrap:anywhere}.bean-state{color:#737373;font-size:9px;letter-spacing:1px}.bean-state:before{content:"";display:inline-block;width:4px;height:4px;background:#5e5e5e;border-radius:50%;margin-right:6px;vertical-align:middle}.is-history .bean-state:before{background:#b5b5b5}.bean-inventory{margin-top:18px}.bean-inventory-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:10px;color:#898989}.bean-inventory-heading strong{font-size:24px;font-weight:500;color:#3c3c3c;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.bean-total{margin-left:4px}.bean-progress{height:3px;background:#ebebeb;border-radius:3px;overflow:hidden;margin-top:12px}.bean-progress>span{display:block;height:100%;background:#5e5e5e;border-radius:3px}.is-history .bean-progress>span{background:#b5b5b5}.bean-roast-date{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:10px;color:#898989}.bean-finished{margin-left:auto;color:#737373}.bean-card-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #ebebeb;margin-top:15px;padding:3px 0}.bean-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:57px;min-height:40px;border-radius:6px;color:#737373;font-size:11px}.bean-action:hover{color:#2d2d2d;background:#f5f5f5}.bean-action.is-danger:hover{color:#1f1f1f;background:#ebebeb}.bean-empty{min-height:310px;padding-top:54px}@media(min-width:900px)and (max-width:1023px),(min-width:1180px){.record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px)and (max-width:1179px){.bean-grid{grid-template-columns:1fr}}@media(max-width:639px){.header-date{display:none}.coffee-hero{min-height:178px;grid-template-columns:62% 38%}.hero-copy{padding:14px 16px}.hero-kicker{font-size:6px;letter-spacing:1px;white-space:nowrap}.hero-copy h2{margin-top:8px;font-size:23px;line-height:1.3;letter-spacing:-1.3px;white-space:nowrap}.hero-copy p{font-size:9px;margin-top:5px;white-space:nowrap}.hero-button{margin-top:8px;font-size:11px;padding-inline:12px;gap:7px;min-height:38px}.hero-button>svg:last-child{margin-left:4px}.machine-image{width:139px;height:160px;bottom:0;right:6px}.mobile-only{display:block}.journal-section{margin-top:16px}.journal-heading h2{font-size:16px}.journal-heading p{font-size:10px}.journal-tools{gap:4px}.history-import-trigger{min-width:0;padding-inline:10px}.history-import-trigger svg{flex-shrink:0}.history-import-summary{grid-template-columns:repeat(2,1fr)}.section-heading h2{font-size:15px}.record-top-actions{gap:0}.record-top-actions .icon-button{width:34px}.record-card-header{gap:10px}.record-rating button{width:33px;height:44px}.bean-grid{grid-template-columns:1fr}.bean-overview{padding:17px 18px;gap:10px}.bean-overview-count{align-items:flex-end;flex-direction:column;gap:4px}.bean-overview-count strong{font-size:27px;line-height:1}.bean-overview-count span{font-size:9px}.collection-count{font-size:10px}}@media(max-width:359px){.hero-copy{padding-left:17px}.hero-copy h2{font-size:22px}.hero-kicker{font-size:5px}.machine-image{width:127px;right:4px}.record-rating-caption{font-size:9px}.record-rating button{width:29px}}.brewing-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:12px}.brew-sidebar{min-width:0}.bean-selector{padding:19px}.panel-title{display:flex;align-items:center;gap:9px;color:#898989}.panel-title h2{color:#4c4c4c;font-size:12px;font-weight:550}.selected-bean-button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;margin-top:18px;padding:14px;min-height:78px;border:1px solid #dedede;border-radius:9px;background:#fafafa;transition:background-color .15s,border-color .15s}.selected-bean-button:hover{background:#f5f5f5;border-color:#b5b5b5}.selected-bean-button>svg{color:#898989;flex-shrink:0;margin-left:auto}.selected-bean-copy{display:grid;gap:7px;min-width:0}.selected-bean-copy strong{color:#3c3c3c;font-size:15px;font-weight:600;overflow-wrap:anywhere}.selected-bean-copy>span{color:#898989;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.change-bean-link{font-size:11px;margin-top:9px;gap:5px;min-height:34px}.bean-selection-hint{margin-top:13px;font-size:11px;color:#898989;line-height:1.7}.bean-selection-hint button{display:inline-flex;align-items:center;gap:2px;color:#4c4c4c;padding-block:6px}.blend-weights{margin-top:14px;display:grid;gap:8px;max-height:224px;overflow-y:auto}.blend-weight{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:6px}.blend-weight>label{font-size:12px;color:#737373;overflow-wrap:anywhere;min-width:0}.blend-weight-controls{display:flex;align-items:center;gap:5px;flex-shrink:0}.blend-input-wrap{display:flex;align-items:center;gap:4px;border:1px solid #dedede;padding:5px 9px;border-radius:7px;flex-shrink:0}.blend-input-wrap input{width:52px;min-height:28px;font-size:14px;text-align:right;background:transparent;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.blend-input-wrap>span{color:#9f9f9f;font-size:11px}.blend-remove{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;color:#898989}.blend-remove:hover{background:#ededed;color:#3c3c3c}.brew-parameters{display:grid;gap:22px;align-content:start;min-width:0}.brew-parameters>section,.parameter-grid,.tape-ruler{width:100%;max-width:100%;min-width:0}.parameter-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}.parameter-section-heading>div{display:flex;align-items:center;gap:9px;color:#898989}.parameter-section-heading h2{font-size:13px;color:#4c4c4c;font-weight:550}.parameter-section-heading>span{font-size:10px;color:#9f9f9f}.parameter-section-heading .brew-ratio-inline{color:#737373;font-size:11px;font-variant-numeric:tabular-nums}.parameter-section-toggle{width:100%;min-height:54px;margin-bottom:0;padding:12px 15px;border:1px solid #ebebeb;border-radius:12px;background:#fff;box-shadow:var(--shadow-card);text-align:left}.parameter-section-toggle>span:first-child,.machine-summary{display:inline-flex;align-items:center;gap:9px}.parameter-section-toggle>span:first-child{color:#898989}.parameter-section-title{color:#4c4c4c;font-size:13px;font-weight:550}.parameter-section-toggle .machine-summary{color:#737373;font-size:11px;white-space:nowrap}.machine-summary svg{transition:transform .16s}.parameter-section-toggle[aria-expanded=true] .machine-summary svg{transform:rotate(180deg)}.machine-parameter-fields{display:grid;gap:10px;margin-top:10px}.legacy-duration-note{color:#737373;font-size:11px;line-height:1.6;padding:2px 4px}.machine-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 17px;min-height:60px;color:#5e5e5e;font-size:12px}.machine-switch-row .blend-switch-control{flex-shrink:0}.parameter-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.tape-ruler{box-shadow:var(--shadow-card);min-width:0;overflow:hidden;background:#fff;border:1px solid #ebebeb;border-radius:12px;padding:12px 15px 9px}.ruler-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding-inline:3px}.ruler-label{font-size:12px;color:#737373}.ruler-notation{display:block;font-size:9px;color:#9f9f9f;margin-top:3px}.ruler-value{display:flex;align-items:baseline;gap:4px}.ruler-value input{background:transparent;width:63px;padding:2px 4px;min-height:36px;border-radius:5px;font-size:21px;font-weight:500;text-align:right;color:#3c3c3c;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.ruler-value input:hover{background:#f5f5f5}.ruler-value input:focus{background:#f5f5f5}.ruler-value input::-webkit-inner-spin-button,.ruler-value input::-webkit-outer-spin-button,.blend-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.ruler-value>span{font-size:10px;color:#9f9f9f;min-width:11px}.ruler-controls{display:flex;align-items:flex-start;gap:4px;margin-top:9px}.ruler-step{width:30px;height:44px;display:grid;place-items:center;border-radius:6px;color:#898989;flex-shrink:0}.ruler-step:hover:not(:disabled){background:#f5f5f5;color:#3c3c3c}.ruler-step:disabled{opacity:.28}.ruler-window{position:relative;height:48px;flex:1;min-width:0}.ruler-window:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff,#fff0 20% 80%,#fff)}.ruler-needle{position:absolute;z-index:2;top:0;left:50%;height:23px;width:2px;background:#3c3c3c;transform:translate(-50%);border-radius:2px;pointer-events:none}.ruler-needle:before{content:"";position:absolute;width:4px;height:4px;background:#3c3c3c;left:-1px;top:-4px;border-radius:50%}.ruler-track{display:flex;overflow-x:auto;height:48px;cursor:grab;touch-action:pan-x pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain;overflow-anchor:none}.ruler-track:active{cursor:grabbing}.ruler-track:focus-visible{outline-offset:-2px;border-radius:5px}.ruler-tick{flex-shrink:0;display:flex;flex-direction:column;align-items:center}.tick-major{height:15px;width:1px;background:#898989}.tick-minor{height:8px;width:1px;background:#ccc}.ruler-tick small{margin-top:7px;font-size:9px;color:#9f9f9f}.blend-total{display:flex;justify-content:space-between;align-items:center;min-height:130px;gap:12px;padding:23px}.blend-total>span{font-size:12px;color:#737373}.blend-total>span>span{display:block;margin-top:8px;font-size:10px;color:#9f9f9f}.blend-total strong{font-size:24px;font-weight:500;white-space:nowrap}.blend-total small{font-size:11px;color:#9f9f9f}.brew-save-bar{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;border:1px solid #ebebeb;border-radius:12px;padding:12px 16px;background:#fffffffa;margin-top:auto;box-shadow:var(--shadow-bar)}.brew-save-bar .button{min-width:156px}.record-step-page{display:flex;flex-direction:column;max-width:1040px;min-height:calc(100dvh - 72px);margin-inline:auto}.record-step-page .page-header{margin-bottom:14px}.brew-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}.brew-progress-item{display:flex;align-items:center;gap:7px;min-width:0;padding-top:6px;border-top:2px solid #ebebeb;color:#9f9f9f}.brew-progress-item span{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.1em}.brew-progress-item strong{font-size:11px;font-weight:540;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brew-progress-item.is-current{border-color:#1f1f1f;color:#1f1f1f}.brew-progress-item.is-done{border-color:#9f9f9f;color:#737373}.brew-step-content{width:100%;max-width:860px;margin-inline:auto}.brew-step-panel{padding:13px}.brew-step-panel .parameter-section-heading h3{font-size:13px;font-weight:600;color:#4c4c4c}.brew-machine-step .machine-parameter-fields{gap:8px;margin-top:0;background:#fafafa;border-color:#dedede}.brew-machine-step .machine-switch-row{min-height:42px;padding:0 4px;border-top:1px solid #dedede;background:transparent}.record-step-page .tape-ruler{padding:7px 10px 5px;border-color:#ebebeb;box-shadow:none}.record-step-page .ruler-heading{min-height:29px}.record-step-page .ruler-value input{min-height:29px;font-size:18px}.record-step-page .ruler-controls{margin-top:2px}.record-step-page .ruler-step,.record-step-page .ruler-window,.record-step-page .ruler-track{height:44px}.record-step-page .ruler-needle{height:21px}.brew-bean-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 15px;margin-bottom:8px;color:#898989;font-size:11px}.brew-bean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.brew-bean-option{display:flex;align-items:center;flex-wrap:wrap;min-height:68px;border-color:#dedede;text-align:left;transition:border-color .18s,background-color .18s}.brew-bean-option:hover{border-color:#b5b5b5}.brew-bean-option.is-selected{border-color:#1f1f1f;background:#f5f5f5;box-shadow:0 0 0 1px #1f1f1f33}.brew-bean-primary{display:flex;align-items:center;gap:10px;flex:1 1 190px;min-width:0;min-height:68px;padding:10px 11px 10px 13px;text-align:left;border-radius:15px}.brew-bean-primary:hover{background:#f7f7f7}.brew-bean-primary{cursor:pointer}.brew-bean-primary input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;accent-color:#353535;cursor:pointer}.brew-bean-primary:focus-within{outline:2px solid #737373;outline-offset:2px}.brew-bean-weight{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%;min-width:0;padding:0 13px 12px 43px;color:#737373;font-size:12px}.brew-bean-weight>span:last-child{min-width:35px;text-align:right}.brew-bean-weight .blend-input-wrap input{min-height:32px;width:76px}.brew-bean-add{display:inline-flex;align-items:center;justify-content:center;gap:3px;flex-shrink:0;min-height:44px;margin:0 9px 0 auto;padding:0 9px;border:1px solid #dedede;border-radius:8px;background:#fff;color:#4c4c4c;font-size:11px;white-space:nowrap}.brew-bean-add:hover{border-color:#898989;background:#fafafa}.brew-bean-state{margin:0 13px 0 auto;color:#737373;font-size:11px;white-space:nowrap}.brew-bean-symbol{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#ebebeb;color:#737373}.brew-bean-copy{flex:1;display:grid;gap:5px;min-width:0}.brew-bean-copy strong{color:#3c3c3c;font-size:13px;font-weight:620;overflow-wrap:anywhere}.brew-bean-copy small{color:#898989;font-size:11px}.brew-bean-copy em{color:#5e5e5e;font-size:10px;font-style:normal}.brew-bean-check{display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid #cccccc;border-radius:50%;color:#fff}.is-selected .brew-bean-check{border-color:#5e5e5e;background:#5e5e5e}.brew-legacy-bean{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;padding:12px;color:#4c4c4c;font-size:12px}.brew-legacy-bean span{color:#898989}.brew-dose-panel{margin-bottom:10px}.brew-selected-summary{display:flex;align-items:center;gap:8px;min-width:0;padding:3px 3px 11px;color:#4c4c4c}.brew-selected-summary strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.brew-selected-summary span{color:#898989;font-size:11px;white-space:nowrap}.brew-dose-panel .parameter-section-heading{margin:5px 3px 0}.brew-dose-panel .parameter-section-heading>span{font-size:10px}.brew-dose-panel .tape-ruler,.brew-extraction-step .tape-ruler{box-shadow:none}.brew-dose-panel .blend-total{min-height:62px;padding:10px 0 0;border-top:1px solid #ebebeb}.brew-dose-panel .blend-total strong{color:#4c4c4c;font-size:20px}.brew-context-line{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#737373;font-size:11px}.brew-context-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brew-grind-panel{padding:13px;border-color:#dedede;background:#fafafa}.brew-grind-panel .tape-ruler{border-color:#dedede}.brew-ratio-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:55px;margin-bottom:9px;padding:9px 14px;border-color:#dedede;background:#f5f5f5;color:#3c3c3c}.brew-ratio-card div{display:flex;align-items:baseline;gap:9px}.brew-ratio-card div span{color:#737373;font-size:11px}.brew-ratio-card strong{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.brew-ratio-card>span{color:#737373;font-size:11px;text-align:right}.brew-step-actions{gap:10px}.brew-step-actions .button-secondary{min-width:128px}.bean-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.bean-picker-toolbar>span{font-size:11px;color:#9f9f9f}.blend-switch-control{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px;color:#737373}.blend-switch{width:32px;height:20px;border-radius:20px;padding:3px;background:#dedede;transition:background-color .15s}.blend-switch>span{display:block;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .15s;box-shadow:0 1px 2px #00000015}.blend-switch.is-on{background:#3c3c3c}.blend-switch.is-on>span{transform:translate(12px)}.bean-picker-list{display:grid;gap:9px;max-height:48dvh;overflow-y:auto;padding:4px;margin-inline:-4px}.bean-picker-option{display:flex;align-items:center;gap:12px;padding:15px;min-height:76px;border:1px solid #ebebeb;border-radius:10px;text-align:left}.bean-picker-option:hover{background:#fafafa;border-color:#b5b5b5}.bean-picker-option.is-selected{border-color:#737373;background:#f5f5f5}.bean-picker-icon{color:#898989}.bean-picker-copy{display:grid;gap:7px;min-width:0;flex:1}.bean-picker-copy strong{font-size:13px;font-weight:550;overflow-wrap:anywhere}.bean-picker-copy>span{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#9f9f9f}.selection-indicator{width:18px;height:18px;border:1px solid #cccccc;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.is-selected .selection-indicator{background:#3c3c3c;border-color:#3c3c3c;color:#fff}.blend-confirm{align-items:center;justify-content:space-between;border-top:1px solid #ebebeb;padding-top:18px}.blend-confirm>span{color:#898989;font-size:12px}.picker-empty{border:0;padding:20px 10px}.template-layout{display:grid;grid-template-columns:minmax(0,1fr) 238px;gap:18px;align-items:start}.template-editor-panel{overflow:hidden;min-width:0}.template-editor-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #ebebeb;background:#fff;padding:19px 23px}.template-editor-bar>div{display:flex;align-items:center;gap:8px;color:#898989}.template-editor-bar h2{font-size:12px;color:#5e5e5e;font-weight:500}.template-editor-bar>span{font-size:10px;color:#9f9f9f;padding:3px 6px;border:1px solid #ebebeb;border-radius:4px}.template-editor-wrap{position:relative;min-height:470px}.template-editor{min-height:470px;padding:27px 26px 55px;font:13px/2.35 ui-monospace,SFMono-Regular,Consolas,Microsoft YaHei,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:#5e5e5e;-webkit-user-select:text;-moz-user-select:text;user-select:text;outline-offset:-4px}.template-editor:focus-visible{outline:1px solid #b5b5b5}.template-token{display:inline-block;font-size:11px;line-height:1.65;padding:1px 5px;margin:0 2px;border-radius:4px;color:#4c4c4c;background:#ebebeb;border:1px solid #dedede;-moz-user-select:all;user-select:all;-webkit-user-select:all;vertical-align:baseline}.template-placeholder{position:absolute;top:28px;left:27px;right:27px;color:#9f9f9f;font-size:13px;pointer-events:none;line-height:1.9}.template-editor-footer{border-top:1px solid #ebebeb;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;color:#9f9f9f}.editor-status-dot{display:inline-block;width:4px;height:4px;background:#898989;border-radius:50%;margin-right:6px;vertical-align:middle}.template-editor-footer kbd{font-family:inherit;white-space:nowrap;font-size:8px}.template-variable-panel{padding:23px 20px}.template-tags{display:grid;gap:4px;margin-top:20px}.template-tags button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:9px 7px;min-height:42px;border-radius:6px;color:#9f9f9f}.template-tags button:hover{background:#f5f5f5;color:#4c4c4c}.template-tags button>span{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;flex:1;color:#5e5e5e}.template-tags code{color:#9f9f9f;font-size:9px}@media(min-width:1180px){.brewing-layout{gap:27px}}@media(min-width:900px){.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brew-extraction-step .parameter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px),(min-width:1024px)and (max-width:1250px){.template-layout{grid-template-columns:minmax(0,1fr)}.template-tools{grid-row:1}.template-variable-panel{padding:18px 20px}.template-tags{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px}.template-tags button{background:#f5f5f5;padding:7px 9px}.template-tags button>span{display:block}.template-tags code{display:none}}@media(max-width:679px){.record-step-page{min-height:0}.record-step-page .page-header{margin-bottom:9px}.brew-progress{margin-bottom:13px;gap:5px}.brew-progress-item{display:grid;gap:2px;padding-top:5px}.brew-progress-item strong{font-size:9px}.brew-bean-grid{grid-template-columns:minmax(0,1fr)}.brew-step-panel,.brew-grind-panel{padding:10px}.brew-ratio-card{gap:8px;padding:8px 11px}.brew-step-actions .button{min-width:0}.brew-step-actions .button-secondary{flex:0 0 39%}.parameter-section-toggle .machine-summary{font-size:10px}.bean-selector{padding:20px}.brewing-layout{gap:26px}.brew-save-bar{position:fixed;inset:auto 0 0;padding:15px 20px max(15px,env(safe-area-inset-bottom));border-radius:0;gap:12px}.brew-save-bar .button{width:100%}.is-recording .main-content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.template-tags{grid-template-columns:repeat(3,minmax(0,1fr))}.template-editor{padding:22px 19px 45px;font-size:12px;line-height:2.45}.template-editor-bar{padding:17px 19px}.template-editor-footer{padding:13px 18px;font-size:8px}.template-editor-footer kbd{display:none}.template-token{font-size:10px}}@media(max-width:679px)and (max-height:740px){.is-recording .main-content{padding-top:10px}.record-step-page .page-header{padding-block:4px;margin-bottom:5px}.brew-progress{margin-bottom:8px}.brew-context-line{margin-bottom:4px}.brew-ratio-card{min-height:42px;margin-bottom:5px}.brew-extraction-step .brew-step-panel{padding:8px}.brew-extraction-step .parameter-section-heading{margin-bottom:7px}.brew-extraction-step .parameter-grid{gap:6px}}.product-filter-bar{position:relative;z-index:4;display:grid;grid-template-columns:minmax(160px,1fr) repeat(2,minmax(108px,145px)) minmax(108px,120px) auto;align-items:center;gap:8px;margin-bottom:9px}.filter-disclosure{position:relative;z-index:20;flex:0 0 auto}.filter-disclosure>summary{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dedede;border-radius:10px;background:#fff;color:#5e5e5e;cursor:pointer;list-style:none}.filter-disclosure>summary::-webkit-details-marker{display:none}.filter-disclosure>summary:hover,.filter-disclosure[open]>summary{border-color:#898989;background:#f5f5f5}.filter-disclosure-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:17px;height:17px;padding-inline:3px;border-radius:50%;background:#5e5e5e;color:#fff;font-size:10px;line-height:1}.filter-disclosure>summary:focus-visible{outline:2px solid #5e5e5e;outline-offset:2px}.filter-disclosure>.product-filter-bar{position:absolute;top:calc(100% + 8px);right:0;width:min(820px,calc(100vw - 36px));margin:0;padding:13px;border:1px solid #dedede;border-radius:12px;background:#fff;box-shadow:var(--shadow-popover)}.catalog-controls .filter-disclosure>.product-filter-bar{left:0;right:auto}.product-filter-bar.has-rating{grid-template-columns:minmax(160px,1fr) repeat(3,minmax(108px,145px)) minmax(108px,120px) auto}.product-filter-control{display:flex;align-items:center;gap:7px;width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid #dedede;border-radius:9px;background:#fff;color:#5e5e5e;font-size:12px;line-height:1.3;transition:border-color .15s,background-color .15s}.product-filter-control:hover{border-color:#b5b5b5}.product-filter-control:focus-within,.product-filter-more summary:focus-visible{outline:2px solid #2d2d2d;outline-offset:2px}.product-filter-control>svg{flex-shrink:0;color:#898989}.product-filter-search input,.product-filter-select-wrap select{flex:1;width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit}.product-filter-search input::-moz-placeholder{color:#898989}.product-filter-search input::placeholder{color:#898989}.product-filter-select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-overflow:ellipsis}.product-filter-more{position:relative;min-width:0}.product-filter-more summary{justify-content:space-between;list-style:none;white-space:nowrap;cursor:pointer}.product-filter-more summary::-webkit-details-marker{display:none}.product-filter-more summary span{display:grid;place-items:center;min-width:17px;height:17px;margin-left:auto;border-radius:50%;background:#2d2d2d;color:#fff;font-size:9px}.product-filter-more[open] summary>svg{transform:rotate(180deg)}.product-filter-extra{position:absolute;top:calc(100% + 5px);right:0;display:grid;gap:8px;width:min(260px,calc(100vw - 36px));padding:10px;border:1px solid #ebebeb;border-radius:11px;background:#fff;box-shadow:var(--shadow-popover)}.product-filter-reset{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:0 8px;border-radius:9px;color:#5e5e5e;font-size:12px;white-space:nowrap}.product-filter-reset:hover{background:#f5f5f5}.bean-catalog-page .filter-disclosure>summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-width:84px;height:40px;padding:0 11px;border-radius:9px;font-size:12px;font-weight:550}.bean-catalog-page .filter-disclosure>summary:hover,.bean-catalog-page .filter-disclosure[open]>summary{border-color:#898989;background:#f5f5f5;color:#3c3c3c}.bean-catalog-page .filter-disclosure-label{line-height:1}.bean-catalog-page .filter-disclosure>.product-filter-bar{width:min(820px,calc(100vw - 36px));padding:14px;border-color:#ebebeb;border-radius:12px;background:#fff}.bean-catalog-page .product-filter-reset{padding-inline:10px;border:1px solid #dedede}.bean-catalog-page .product-filter-reset:hover{border-color:#b5b5b5;background:#f5f5f5}@media(max-width:740px){.product-filter-bar,.product-filter-bar.has-rating{grid-template-columns:repeat(3,minmax(0,1fr))}.product-filter-search{grid-column:1 / -1}}@media(max-width:639px){.product-filter-bar,.product-filter-bar.has-rating{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}.record-detail-page{max-width:1040px;margin-inline:auto}.record-detail-card{position:relative;isolation:isolate;width:min(100%,560px);margin:10px auto 48px;overflow:hidden;border:1px solid #e6dccd;border-radius:16px;background:#fffbf4;box-shadow:0 3px 7px #362a1b08,0 22px 48px #362a1b14}.record-detail-card:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/textures/coffee-paper.svg) repeat;background-size:256px 256px;mix-blend-mode:multiply;opacity:.1;pointer-events:none}.record-detail-card:after{content:"";position:absolute;top:0;left:42px;width:44px;height:3px;border-radius:0 0 2px 2px;background:#aa7b49}.record-detail-card-content{position:relative;padding:35px 42px 30px}.record-detail-overline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 16px;color:#8f7a62;font-size:11px;letter-spacing:.06em}.record-detail-overline time{font-variant-numeric:tabular-nums;white-space:nowrap}.record-detail-identity{margin:28px 0 24px}.record-detail-identity h2{color:#33271e;font-family:Georgia,Songti SC,SimSun,serif;font-size:clamp(32px,4vw,42px);font-weight:400;line-height:1.22;letter-spacing:.03em;overflow-wrap:anywhere}.record-detail-identity p{margin-top:9px;color:#807368;font-size:12px;overflow-wrap:anywhere}.record-detail-extraction{display:grid;grid-template-columns:minmax(0,.85fr) 25px minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:8px;margin:0;padding-top:22px;border-top:1px solid #e8dfd2}.record-detail-extraction>div{min-width:0}.record-detail-extraction dt,.record-detail-settings dt{margin-bottom:7px;color:#927e69;font-size:11px}.record-detail-extraction dd{margin:0;color:#33271e;font-family:Georgia,Songti SC,SimSun,serif;font-size:clamp(29px,3.4vw,38px);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}.record-detail-extraction dd span{margin-left:4px;color:#84725f;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}.record-detail-extraction small{display:block;margin-top:9px;color:#97846e;font-size:10px;white-space:nowrap}.record-detail-arrow{padding-top:27px;color:#a87842;font-size:20px}.record-detail-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:32px 0 0}.record-detail-settings dd{margin:0;color:#45362b;font-size:16px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.record-detail-preinfusion{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 18px;margin:23px 0 0;line-height:1.6}.record-detail-preinfusion span{color:#97846e;font-size:11px}.record-detail-preinfusion strong{color:#655547;font-size:12px;font-weight:400}.record-detail-blend{margin-top:25px}.record-detail-blend h3{margin-bottom:10px;color:#97846e;font-size:11px;font-weight:400}.record-detail-blend ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.record-detail-blend li{display:flex;justify-content:space-between;gap:12px;color:#655547;font-size:12px}.record-detail-blend li span{overflow-wrap:anywhere}.record-detail-blend li strong{flex-shrink:0;font-weight:400;font-variant-numeric:tabular-nums}.record-detail-rating{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-top:16px;border-top:1px solid #e8dfd2}.record-detail-rating>span{color:#746658;font-size:11px}.record-detail-rating>div{display:flex;margin-right:-8px}.record-detail-rating button{display:grid;place-items:center;width:38px;height:42px;border-radius:7px}.record-detail-rating button:hover{background:#f2eadd}.record-detail-rating .star-filled{fill:#a87842;color:#a87842}.record-detail-rating .star-empty{color:#cbbda8}.record-detail-links{display:flex;flex-wrap:wrap;gap:4px 15px;margin-top:5px}.record-detail-links button,.record-detail-note-status button{min-height:44px;color:#715339;font-size:12px;text-decoration:underline;text-underline-offset:3px}.record-detail-links button:hover,.record-detail-note-status button:hover{color:#35251a}.record-detail-note-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:#75695e;font-size:11px}.record-detail-note-status.is-error{color:#6b3428}.record-detail-menu{position:relative}@media(max-width:639px){.record-detail-card{margin-top:0;margin-bottom:24px}.record-detail-card:after{left:23px;width:35px}.record-detail-card-content{padding:27px 23px 24px}.record-detail-identity{margin:25px 0 21px}.record-detail-identity h2{font-size:33px}.record-detail-extraction{grid-template-columns:minmax(0,.85fr) 18px minmax(0,1.2fr) minmax(0,.8fr);gap:3px;padding-top:18px}.record-detail-extraction dd{font-size:26px}.record-detail-extraction dd span{font-size:11px}.record-detail-extraction small{font-size:9px}.record-detail-arrow{padding-top:25px;font-size:17px}.record-detail-settings{margin-top:28px}.record-detail-settings dd{font-size:14px}.record-detail-rating{margin-top:29px}}@media(max-width:359px){.record-detail-card-content{padding-inline:19px}.record-detail-extraction dd{font-size:23px}.record-detail-rating{align-items:flex-start;flex-direction:column;gap:3px}}.beans-page .bean-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;align-items:start}.coffee-package-card{box-shadow:var(--shadow-card);--bag-accent: #526353;position:relative;border:1px solid #dedede;background:#fafafa;border-radius:16px;padding:8px 18px 14px;min-width:0;overflow:hidden}.package-card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#898989;letter-spacing:.5px}.package-status{display:inline-flex;align-items:center;gap:6px;color:#5e5e5e}.package-status i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-active{color:#5e5e5e}.status-history{color:#898989}.package-stage{height:308px;position:relative;display:grid;place-items:center;perspective:1000px;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grab;isolation:isolate}.package-stage:active{cursor:grabbing}.package-ground{position:absolute;width:205px;height:24px;bottom:6px;background:radial-gradient(ellipse,#4c2f194d,transparent 72%);filter:blur(6px)}.package-object{position:relative;width:224px;height:282px;transform-style:preserve-3d}.package-panel{position:absolute;top:0;left:0;transform-origin:0 0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.package-rim-panel{border-radius:3px 3px 0 0}.package-face,.package-tear-strip{background-color:#ddb58c;background-image:linear-gradient(90deg,#74492518,#f5dfb914 9%,transparent 28% 75%,#f8dfb719 89%,#6f472824),url(/textures/kraft-pouch-material-v3.jpg);background-size:100% 100%,224px 282px}.package-face{position:absolute;width:224px;height:282px;box-shadow:inset 5px 0 8px #f9e6c270,inset -7px 0 12px #633d2557,inset 0 -10px 11px #65402050;overflow:hidden}.package-side{position:absolute;width:90px;height:282px;background-color:#c9a077;background-image:linear-gradient(90deg,#69402742,#dcaf7827 20%,#68412830 47%,#eed0a238 54%,#7c4d2e38 82%,#55351f40),url(/textures/kraft-pouch-material-v3.jpg);background-size:100% 100%,90px 282px}.package-side:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 11%,#4b2d1c4a 39%,#f8dbac5c 47%,#6c432850 55%,transparent 84%),linear-gradient(180deg,#593c2529,transparent 45%,#f7d5a426 78%,#52331e64)}.package-base{position:absolute;top:282px;transform-origin:0 0;background:linear-gradient(#744a2e,#c79862 24%,#8d5d38 72%,#5e3924);box-shadow:inset 0 0 9px #4027168c}.package-crimp{position:absolute;top:0;left:0;right:0;height:23px;border-bottom:1px solid #79502f63;background:repeating-linear-gradient(0deg,#f9e4be2e 0 2px,#8255311c 2px 3px,transparent 3px 5px),linear-gradient(180deg,#b8875566,#e4c2975e 75%,#7447284d)}.package-zip{position:absolute;top:31px;left:12px;right:12px;height:7px;border-top:1px solid #744b2c59;border-bottom:1px solid #fff1d06e;background:linear-gradient(#9f71483d,#f3d5a85c 45%,#8056333b);box-shadow:0 2px 3px #5c371e3d}.package-seal-handle{position:absolute;top:0;left:18px;width:188px;height:23px;transform-origin:top center;transform:translateZ(var(--pouch-seal-z));backface-visibility:hidden;padding-left:5px;display:flex;align-items:center;color:#5c3925;cursor:ew-resize;touch-action:none;background:transparent}.package-seal-handle:hover:not(:disabled){background:#ffffff50}.package-seal-handle:focus-visible{outline-offset:-3px}.package-brand{position:absolute;top:76px;left:30px;right:24px;display:flex;align-items:center;justify-content:center;gap:9px;color:#59402d;opacity:.88}.package-brand div{display:flex;flex-direction:column;gap:3px}.package-brand span{font-size:6px;font-weight:600;letter-spacing:1px}.package-brand strong{font-size:12px;font-weight:600;letter-spacing:1.5px}.package-label{position:absolute;bottom:39px;left:17px;right:17px;color:#493a2d;background:#f8f0e3;border:1px solid #fff8e5c9;border-radius:5px;box-shadow:0 4px 10px #60402136;overflow:hidden}.label-color-band{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:8px;min-height:67px;padding:8px 9px;background:#f8f0e3;color:#443629}.label-bean-identity{min-width:0}.label-roaster{display:block;margin-bottom:3px;font-size:7px;font-weight:700;letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.package-label h3{margin:0;font-size:11px;font-weight:650;line-height:1.35;letter-spacing:-.1px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere}.label-process{display:flex;align-items:center;gap:5px;align-self:stretch;margin:-8px -9px -8px 0;padding:7px;background:var(--bag-accent);color:#fffdf5}.label-process svg{flex-shrink:0;width:14px;height:14px}.label-process p{margin:0;font-size:8px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere}.label-details{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:24px;padding:5px 9px;border-top:1px solid #d9c9af}.label-details div{display:flex;align-items:baseline;gap:3px}.label-details span{font-size:7px;opacity:.82}.label-details strong{font-size:8px;font-weight:600;font-variant-numeric:tabular-nums}.label-details div:last-child strong{font-size:10px;font-weight:550}.package-fold{position:absolute;bottom:0;height:23px;left:5px;right:5px;background:radial-gradient(ellipse 25px 17px at 7% 78%,#5e382974,transparent 85%),radial-gradient(ellipse 28px 19px at 93% 74%,#5e38296b,transparent 85%),linear-gradient(0deg,#71472b63,#edc89b4a 24%,transparent 86%)}.package-glare{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 26%,#fff1d32b 48%,transparent 70%);background-size:200% 100%;mix-blend-mode:soft-light}.package-front:before,.package-back:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#6640277a,#f4d5aa44 5px,transparent 17px 207px,#f7d8aa40 216px,#603b237a),radial-gradient(ellipse 70px 95px at 17% 37%,#79502f38,transparent 75%),radial-gradient(ellipse 110px 74px at 85% 50%,#6f492b2e,transparent 74%),radial-gradient(ellipse 130px 55px at 48% 87%,#f7ddb44f,transparent 80%)}.package-seam{position:absolute;top:40px;bottom:0;left:48%;width:12px;background:linear-gradient(90deg,#6b43252b,#f3d3a150 62%,#6c452b29)}.package-valve{position:absolute;top:60px;left:calc(50% - 11px);width:22px;height:22px;border:3px solid #78503761;border-radius:50%;background:#bd9163;box-shadow:inset 1px 1px 3px #4e301d61,0 1px 2px #fbe8c264}.package-valve:after{content:"";position:absolute;inset:5px;background:#5d3c29;border-radius:50%}.package-back-label{position:absolute;bottom:39px;left:20px;right:20px;background:#f8f0e3;padding:11px;color:#4b392b;border:1px solid #fff9ebbb;border-radius:5px;box-shadow:0 4px 10px #593a2533}.back-bean-name{display:block;font-size:12px;line-height:1.2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0 0 7px}.package-back-label dl{margin:0;display:grid;gap:5px}.package-back-label dl>div{display:flex;justify-content:space-between;gap:5px;font-size:9px;line-height:1.25}.package-back-label dt{color:#806b57}.package-back-label dd{margin:0;font-variant-numeric:tabular-nums}.package-mouth{position:absolute;border:1px solid #8c61417d;background:#4b3222;border-radius:3px;box-shadow:inset 0 0 8px #1b110a8c;transform:rotateX(90deg) scaleY(.08);transition:transform .5s}.package-tear-strip{position:absolute;left:15px;top:0;height:23px;width:192px;border-radius:6px 6px 0 0;transform:translateZ(var(--pouch-seal-z));backface-visibility:hidden;border-bottom:1px dashed #7450339e;transform-origin:right center;visibility:hidden;box-shadow:0 3px 5px #50301d50}.package-tear-strip:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 1px,#80563424 1px 2px,#fae3bd30 2px 3px),repeating-linear-gradient(90deg,transparent 0 1px,#75503326 1px 2px,#fce7c52a 2px 3px)}.is-unsealed .package-tear-strip{visibility:hidden}.is-unsealed .package-crimp{opacity:0}.is-unsealed .package-mouth{transform:rotateX(90deg)}.package-accessible-info{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.package-rotate{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;margin:-1px auto 5px;padding:0 12px;border-radius:8px;font-size:10px;color:#898989}.package-rotate:hover{background:#ebebeb;color:#4c4c4c}.face-dot{width:4px;height:4px;border-radius:50%;background:#ccc}.face-dot.is-current{background:#737373}.package-card-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;border-top:1px solid #ebebeb;padding-top:10px}.package-stock{display:flex;align-items:baseline;gap:7px;flex-shrink:0}.package-stock>span{font-size:10px;color:#898989}.package-stock strong{font-size:22px;font-weight:500;letter-spacing:-.7px;line-height:1.3;font-variant-numeric:tabular-nums}.package-stock small{font-size:11px;font-weight:400;color:#898989}.package-open{background:#1f1f1f;color:#fff;font-size:11px;padding:9px 13px;min-height:40px;margin-top:12px;width:100%}.package-open:hover:not(:disabled){background:#3c3c3c}.package-stock-note{font-size:10px;color:#898989}.package-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:9px}.package-actions .bean-action{color:#898989}.package-actions .bean-action:disabled{opacity:.4}.is-archived{background:#f5f5f5}.is-archived .package-stage{filter:saturate(.4)}.is-opening .package-tear-strip{visibility:visible;animation:tear-package 1.4s linear forwards}.is-opening .package-face{animation:tear-edge 1.1s linear forwards}.is-opening .package-seal-handle{visibility:hidden}.is-opening .package-mouth{animation:open-package-mouth .35s 1s forwards}.is-opening .package-side-panel.package-rim-panel{animation:remove-sealed-rim .1s 1s forwards}@keyframes tear-package{0%,12%{clip-path:inset(0 100% 0 0);transform:translateZ(var(--pouch-seal-z))}30%{clip-path:inset(0 74% 0 0);transform:translate3d(0,-2px,calc(var(--pouch-seal-z) + 5px)) rotate(4deg)}55%{clip-path:inset(0 37% 0 0);transform:translate3d(0,-4px,calc(var(--pouch-seal-z) + 9px)) rotate(8deg)}78%{clip-path:inset(0 0 0 0);transform:translate3d(0,-5px,calc(var(--pouch-seal-z) + 12px)) rotate(11deg);opacity:1}to{clip-path:inset(0 0 0 0);transform:translate3d(65px,25px,calc(var(--pouch-seal-z) + 42px)) rotate(28deg);opacity:0}}@keyframes tear-edge{0%,15%{clip-path:polygon(0 0,0 0,0 0,100% 0,100% 100%,0 100%)}16%{clip-path:polygon(0 23px,0 23px,0 0,100% 0,100% 100%,0 100%)}99%{clip-path:polygon(0 23px,100% 23px,100% 0,100% 0,100% 100%,0 100%)}to{clip-path:polygon(0 23px,100% 23px,100% 23px,100% 23px,100% 100%,0 100%)}}@keyframes open-package-mouth{to{transform:rotateX(90deg)}}@keyframes remove-sealed-rim{to{opacity:0}}.beans-page .page-header{margin-bottom:10px}.bean-shelf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:16px}.bean-shelf-total{display:flex;align-items:baseline;gap:5px;flex-shrink:0;color:#737373;font-size:13px;white-space:nowrap}.bean-shelf-total strong{color:#2d2d2d;font-size:25px;font-weight:560;line-height:1;font-variant-numeric:tabular-nums}.bean-shelf-actions{display:flex;align-items:center;gap:12px;min-width:0}.bean-shelf-catalog-link{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:44px;color:#5e5e5e;font-size:12px;white-space:nowrap}.bean-shelf-catalog-link:hover{color:#2d2d2d;text-decoration:underline;text-underline-offset:3px}.bean-shelf-add{padding-inline:14px}.bean-status-tabs{display:flex;width:100%;border-bottom:1px solid #dedede;margin-bottom:14px}.bean-status-tab{position:relative;flex:1;min-width:0;min-height:44px;padding:8px 4px;color:#898989;font-size:12px;white-space:nowrap}.bean-status-tab:hover{color:#3c3c3c}.bean-status-tab[aria-pressed=true]{color:#3c3c3c;font-weight:600}.bean-status-tab[aria-pressed=true]:after{content:"";position:absolute;right:10%;bottom:-1px;left:10%;height:2px;border-radius:2px;background:#5e5e5e}.bean-status-tab:focus-visible,.bean-shelf-catalog-link:focus-visible{outline:2px solid #5e5e5e;outline-offset:-3px;border-radius:5px}.bean-status-count{margin-left:5px;color:inherit;font-size:10px;font-variant-numeric:tabular-nums;opacity:.8}.bean-announcement{color:#5e5e5e;font-size:12px;margin-bottom:12px}.bean-announcement:empty{display:none}@media(max-width:639px){.beans-page .bean-grid{grid-template-columns:1fr;gap:15px}.bean-shelf-toolbar,.bean-shelf-actions{gap:8px}.bean-shelf-add{padding-inline:11px}.coffee-package-card{padding-inline:16px}}@media(prefers-reduced-motion:reduce){.coffee-package-card *,.package-mouth{animation:none!important;transition:none!important}}.package-status-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.package-freshness-badge{color:#5e5e5e;background:#ebebeb;padding:4px 7px;border-radius:5px;font-size:10px;letter-spacing:0}.package-freshness-badge.is-ready{color:#fff;background:#3c3c3c}.package-age-summary{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:#737373;font-size:11px;font-variant-numeric:tabular-nums}.package-age-summary span{white-space:nowrap}.package-age-summary i{font-style:normal;color:#b5b5b5}.bean-menu{position:relative;z-index:5;flex-shrink:0;letter-spacing:0}.bean-menu summary{list-style:none;width:40px;height:40px;color:#898989;cursor:pointer}.bean-menu summary::-webkit-details-marker{display:none}.bean-menu summary[aria-disabled=true]{opacity:.4;cursor:default}.bean-menu-items{position:absolute;right:0;top:calc(100% + 3px);min-width:152px;padding:5px;border:1px solid #dedede;border-radius:10px;background:#fff;box-shadow:0 8px 24px #2d2d2d20}.bean-menu-items button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 12px;border-radius:6px;color:#5e5e5e;font-size:12px;text-align:left;white-space:nowrap}.bean-menu-items button:hover{background:#ebebeb}.bean-menu-items button.is-danger{color:#1f1f1f;font-weight:600}.bean-menu-items button:disabled{opacity:.4}.catalog-intro{margin:-4px 0 22px;color:#737373;font-size:12px;line-height:1.7}.bean-catalog-page .page-header{margin-bottom:14px}.catalog-result-count{margin:0 0 9px;color:#898989;font-size:11px}.catalog-controls{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;align-items:start}.catalog-sort-controls{display:flex;justify-self:end;min-width:0;gap:7px}.catalog-sort-controls select{box-sizing:border-box;height:40px;min-height:40px;min-width:0;max-width:165px;padding:0 28px 0 12px;border:1px solid #dedede;border-radius:9px;background:#fff;color:#5e5e5e;font:inherit;font-size:12px;cursor:pointer;transition:border-color .15s,background-color .15s}.catalog-sort-controls select:hover{border-color:#b5b5b5}.catalog-sort-controls select:focus-visible{outline:2px solid #2d2d2d;outline-offset:2px}.catalog-sort-controls select:last-child{max-width:82px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:10px}.bean-catalog-card{display:block;padding:13px 15px 11px;min-width:0;transition:border-color .16s,transform .16s}.bean-catalog-card:hover{border-color:#b5b5b5;transform:translateY(-2px)}.catalog-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.catalog-card-top>div{min-width:0}.catalog-card-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:2px}.catalog-card-brand{display:block;color:#898989;font-size:10px;overflow-wrap:anywhere}.catalog-card-top h2{font-size:15px;line-height:1.32;font-weight:620;overflow-wrap:anywhere}.catalog-card-top>svg{flex-shrink:0;color:#898989}.catalog-review-badge{display:inline-block;border:1px solid #dedede;border-radius:5px;background:#f5f5f5;padding:1px 5px;color:#737373;font-size:9px}.catalog-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0}.catalog-facts>div{min-width:0}.catalog-facts dt{color:#898989;font-size:9px;margin-bottom:2px}.catalog-facts dd{margin:0;color:#4c4c4c;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.catalog-card-counts{border-top:1px solid #ebebeb;margin-top:10px;padding-top:8px;color:#4c4c4c;font-size:11px;font-weight:600}.catalog-card-counts span{margin-inline:4px;color:#b5b5b5}.product-field-control{display:flex;gap:7px;min-width:0}.product-field-control>input{flex:1;min-width:0}.product-field-select{width:93px;flex:0 0 93px;padding-inline:7px;font-size:11px}.product-field-select:disabled{opacity:.55}.product-identity{padding:22px;margin-bottom:18px}.product-identity-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.product-identity-heading>div{min-width:0}.product-identity-brand{display:block;color:#898989;font-size:12px;margin-bottom:5px}.product-identity h2{font-size:24px;line-height:1.4;overflow-wrap:anywhere}.product-identity .catalog-facts{grid-template-columns:repeat(5,minmax(0,1fr))}.product-identity-note{margin-top:14px;color:#737373;font-size:11px;line-height:1.7}.product-summary{display:flex;gap:12px;margin-bottom:22px}.product-summary>div,.product-summary>a{flex:1;padding:18px 20px;min-width:0}.product-summary-link:hover{border-color:#b5b5b5}.product-summary strong{display:block;font-size:25px;font-weight:580;font-variant-numeric:tabular-nums}.product-summary span{color:#898989;font-size:11px}.catalog-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 13px}.catalog-section-heading h2{font-size:17px;font-weight:620}.historical-brew-section{margin-bottom:24px}.historical-brew-list{padding:4px 18px}.historical-brew-list>div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1fr) minmax(190px,1.2fr);gap:14px;align-items:center;min-height:54px;padding:10px 0;border-bottom:1px solid #ebebeb;font-size:12px}.historical-brew-list>div:last-child{border-bottom:0}.historical-brew-list time,.historical-brew-list span{color:#737373}.historical-brew-list strong{font-weight:560;overflow-wrap:anywhere}.historical-brew-more{display:inline-flex;margin-top:12px;min-height:32px;align-items:center;font-size:12px}.catalog-merge-panel{margin:18px 0 24px}.catalog-merge-summary{cursor:pointer;font-size:13px;font-weight:570;color:#5e5e5e;min-height:26px}.catalog-merge-panel .catalog-intro{margin:14px 0 0}.purchase-list{display:grid;gap:13px}.purchase-card{padding:18px 20px}.purchase-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.purchase-card-heading h3{font-size:14px;font-weight:610}.purchase-card-heading p{color:#898989;font-size:11px;margin-top:4px}.purchase-actions{position:relative;flex-shrink:0}.purchase-actions summary{list-style:none;cursor:pointer}.purchase-actions summary::-webkit-details-marker{display:none}.purchase-actions-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:3;min-width:156px;padding:5px;border:1px solid #ebebeb;border-radius:10px;background:#fff;box-shadow:var(--shadow-popover)}.purchase-actions-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:7px 10px;border-radius:6px;color:#1f1f1f;font-size:12px;font-weight:600;text-align:left}.purchase-actions-menu button:hover{background:#f5f5f5}.purchase-bags{display:grid;gap:9px;margin-top:16px}.purchase-bag{display:flex;flex-wrap:wrap;gap:5px 15px;padding:10px 12px;background:#f5f5f5;border-radius:8px;color:#5e5e5e;font-size:11px}.purchase-bag strong{color:#2d2d2d;font-weight:580}.catalog-merge-controls{display:flex;align-items:end;gap:10px;margin-top:18px}.catalog-merge-controls .field{flex:1}.catalog-merge-controls .button{flex-shrink:0}.bean-insights{margin:4px 0 26px}.bean-insights>.catalog-intro{margin:-4px 0 15px;max-width:780px}.insight-panel{padding:20px 22px;margin-bottom:13px;min-width:0}.insight-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.insight-heading h3{font-size:15px;font-weight:620}.insight-heading span{color:#898989;font-size:11px}.insight-conclusion{margin:13px 0 5px;color:#4c4c4c;font-size:12px;line-height:1.8}.insight-conclusion strong{color:#2d2d2d;font-weight:650;margin-left:5px}.insight-conclusion span,.insight-conclusion.muted{color:#898989}.insight-chart{display:block;width:100%;height:auto;max-height:280px;margin:14px auto 5px;overflow:visible}.insight-grid line{stroke:#ebebeb;stroke-width:1}.insight-grid text,.insight-axis-label{fill:#898989;font-size:10px}.insight-rest-dot{fill:#737373;stroke:#fff;stroke-width:2}.insight-week-dot{fill:#303030;stroke:#fff;stroke-width:2}.insight-cup-dot{fill:#b5b5b5;opacity:1}.insight-legend{display:flex;justify-content:flex-end;gap:16px;color:#737373;font-size:10px}.insight-legend span{display:inline-flex;align-items:center;gap:6px}.insight-legend span:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block}.insight-legend-week:before{background:#303030}.insight-legend-cup:before{background:#b5b5b5}.insight-table-wrap{max-width:100%;overflow-x:auto}.insight-table{border-collapse:collapse;width:100%;min-width:350px;margin-top:10px;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums}.insight-table caption{text-align:left;padding:0 0 8px;color:#737373;font-size:11px}.insight-table th,.insight-table td{text-align:left;border-top:1px solid #ebebeb;padding:9px 5px}.insight-table th{color:#898989;font-weight:520;white-space:nowrap}.insight-table td{color:#4c4c4c}.insight-cup-details{margin-top:16px;border-top:1px solid #ebebeb;padding-top:12px}.insight-cup-details summary{width:-moz-fit-content;width:fit-content;cursor:pointer;color:#5e5e5e;font-size:11px;min-height:32px}@media(max-width:639px){.catalog-sort-controls{width:100%}.catalog-sort-controls select:first-child{flex:1;max-width:none}.catalog-grid{grid-template-columns:1fr}.bean-catalog-card{padding:12px 14px 10px}.product-summary>div,.product-summary>a{padding:15px 11px}.historical-brew-list>div{grid-template-columns:1fr;gap:4px}.product-identity .catalog-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.product-identity-heading{flex-direction:column}.product-identity-heading .button{align-self:flex-start}.purchase-card-heading{flex-wrap:wrap}.catalog-merge-controls{align-items:stretch;flex-direction:column}.catalog-merge-controls .button{width:100%}.insight-panel{padding:17px 15px}.insight-chart{margin-top:11px}.insight-table{min-width:300px;font-size:10px}.insight-table th,.insight-table td{padding:8px 3px}}
