:root{color:#2e1f1c;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;background:#eee8e2;font-family:-apple-system,BlinkMacSystemFont,SF Pro Rounded,PingFang SC,sans-serif}*{box-sizing:border-box}body{min-width:280px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #245674}main{min-height:100svh;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.poster{aspect-ratio:3/4;background:linear-gradient(101deg,var(--pastel-a) 50%,var(--pastel-b) 50%);isolation:isolate;border-radius:28px;justify-content:center;align-items:center;width:min(100%,460px);display:flex;position:relative;box-shadow:0 22px 65px #43332e14;container-type:inline-size}.share-content{width:min(100%,460px)}.app-brand{color:#433c36;align-items:center;gap:10px;margin:0 0 20px 4px;display:inline-flex}.app-brand img{border-radius:9px;width:44px;height:44px;box-shadow:0 5px 12px #00000018}.app-brand>span{flex-direction:column;justify-content:space-between;height:44px;display:flex}.app-brand strong{font:20px/1 CherryBombOne,sans-serif}.app-brand span span{font-size:15px}.landing{padding:0 0 max(16px,env(safe-area-inset-bottom));background:#fff;gap:0;overflow-x:clip}.landing-content{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;padding:24px 0;display:flex}.landing .store-link{flex-shrink:0;margin-top:0;padding-top:24px}.landing .loader{margin:16px 0}.landing-image{flex-shrink:0;width:calc(min(100%,960px) + 30px);max-width:none;height:auto;margin-left:-20px;display:block}.card-stage{aspect-ratio:360/223.2;perspective:1400px;width:84.375%;transition:aspect-ratio .7s cubic-bezier(.22,1,.36,1);position:relative}.is-back .card-stage{aspect-ratio:360/460}.face{background:linear-gradient(90deg,var(--card-a) 50%,var(--card-b) 50%);backface-visibility:hidden;border-radius:22px;transition:transform .85s cubic-bezier(.4,0,.2,1),visibility 0s .42s;position:absolute;inset:0;overflow:hidden;box-shadow:0 16px 35px #37252125,inset 0 0 0 1px #ffffff40}.front{visibility:visible;transform:rotateY(0)}.back{visibility:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--card-a),white 13%) 50%,color-mix(in srgb,var(--card-b),white 13%) 50%);padding:3.3%;transform:rotateY(180deg)}.is-back .front{visibility:hidden;transform:rotateY(-180deg)}.is-back .back{visibility:visible;transform:rotateY(0)}.front:after{content:"";background:linear-gradient(125deg,#ffffff35,#ffffff0 65%);pointer-events:none;position:absolute;inset:0}.front-content{z-index:1;flex-direction:column;height:100%;padding:5.55%;display:flex;position:relative}.card-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card-heading h1{letter-spacing:-.025em;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:5.15cqw;font-weight:750;line-height:1.2;display:-webkit-box;overflow:hidden}.title-small h1{font-size:4cqw}.title-long h1{font-size:3.5cqw}.brew-icon{flex-shrink:0;font-size:6cqw;line-height:1}.roast-style{letter-spacing:.07em;color:#235a6d;margin:2% 0;font:700 2.8cqw/1.3 ui-monospace,monospace}.roast-style span{color:#37252188;padding-left:5px;font-weight:500}.metrics{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;margin:0;display:grid}.front .metrics{border-top:1px solid #2e1f1c24;gap:2.6cqw 4cqw;margin-top:auto;padding-top:2.5%}.metrics dt{letter-spacing:.08em;color:#2e1f1c9c;margin-bottom:3px;font:700 2.1cqw/1.3 ui-monospace,monospace}.metrics dd{overflow-wrap:anywhere;margin:0;font-size:2.8cqw;font-weight:500;line-height:1.3}.front dd{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.back .metrics{gap:4cqw 8cqw;padding:2% 3%}.back dd{font-variant-numeric:tabular-nums;font-size:4cqw;font-weight:650}.back .metrics div:last-child dd{font-size:2.8cqw;line-height:1.8}.flavor-art{pointer-events:none;opacity:.6;justify-content:flex-end;align-items:flex-end;display:flex;position:absolute;inset:0;overflow:hidden}.flavor-art span{text-align:right;filter:blur(.3px);width:50%;font-size:18cqw;transform:translate(8%,22%)}.flip-target{cursor:pointer;z-index:2;background:0 0;border:0;border-radius:22px;width:100%;position:absolute;inset:0}.flip-target:focus-visible{outline-offset:8px}.poster-bottom{color:#392d2b99;justify-content:space-between;gap:8px;font-size:2.6cqw;display:flex;position:absolute;bottom:7%;left:7.8%;right:7.8%}.is-back .poster-bottom{bottom:3%}.chart-panel{background:linear-gradient(90deg,color-mix(in srgb,var(--card-a),#f2f2f7 38%),color-mix(in srgb,var(--card-b),#f2f2f7 38%));border-radius:13px;padding:8px 3px 2px;box-shadow:inset 0 0 0 1px #fff2}.chart-legend{color:#89cff0;gap:14px;padding:0 9px;font:500 2cqw/1.3 ui-monospace,monospace;display:flex}.chart-legend span+span{color:#ff9f0a}.chart-panel svg{width:100%;display:block;overflow:hidden}.grid-line{fill:none;stroke:#2e1f1c26;stroke-width:.5px}.axis-label{fill:#ffffff70;font:8px ui-monospace,monospace}.roast-line,.fan-line{fill:none;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round}.roast-line{stroke:#89cff0}.fan-line{stroke:#ff9f0a}.crack-marker{fill:#f089be;stroke:#f089be}.end-marker{fill:#89f0aa;stroke:#89f0aa}.marker-guide{fill:none;stroke-dasharray:3 3;stroke-width:.8px;opacity:.55}.crack-marker text,.end-marker text{stroke:none;font:600 9px ui-monospace,monospace}footer{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:400px;display:flex}.action{cursor:pointer;background:#ffffff70;border:1px solid #ffffffb0;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:12px 23px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 3px 12px #392d2b0a}.action:hover{background:#fff}.store-link{color:#625953;min-height:36px;padding:8px;font-size:12px}.hint{color:#786d66;margin:0;font-size:11px;line-height:1.7}.status-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;max-width:460px;min-height:330px;padding:48px 24px;display:flex}.status-panel h1{margin:0;font-size:22px;line-height:1.5}.status-panel p{color:#786d66;margin:0;font-size:14px;line-height:1.8}.wordmark{letter-spacing:-3px;margin-bottom:20px;font-size:38px;font-weight:900}.wordmark span{letter-spacing:1px;font-size:11px;font-weight:400;display:block}.loader{border:2px solid #76665b30;border-top-color:#76665b;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:700px){main{gap:20px;padding:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.brew-icon svg{width:7cqw;height:7cqw;display:block}@font-face{font-family:CherryBombOne;src:url(/fonts/CherryBombOne-Regular.ttf)format("truetype");font-display:swap;font-weight:400}.poster-brand strong,.wordmark{letter-spacing:0;font-family:CherryBombOne,sans-serif;font-weight:400}.back .metrics dd{font-family:CherryBombOne,sans-serif;font-weight:400}.back .metrics div:last-child dd{font-family:inherit;font-weight:500}.poster.has-advice:not(.is-back){aspect-ratio:auto;flex-direction:column;gap:28px;min-height:480px;padding:72px 0 58px}.card-advice{color:#433c36;width:84.375%;font-size:14px;line-height:1.7}.card-advice p{overflow-wrap:anywhere;margin:12px 0 0}.flavor-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.flavor-tags li{background:#ffffff70;border-radius:99px;padding:5px 12px}.has-advice .poster-bottom{bottom:20px}
