@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-italic-DxWqP7Ku.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-italic-CGbN9UgK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-italic-lSdLDfvT.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#15100c;--ink:#f4ebdf;--muted:#b9a996;--dim:#7d6d5d;--accent:#e0a15c;--accent-2:#8fc7e8;--card:#18110cb8;--line:#f4ebdf1f;--serif:"Fraunces Variable", Georgia, serif;--sans:"Inter Variable", system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.btn{color:var(--accent);font:500 14px var(--sans);cursor:pointer;background:0 0;border:1px solid #e0a15c80;border-radius:99px;align-items:center;gap:8px;padding:11px 18px;text-decoration:none;transition:background .2s;display:inline-flex}.btn:hover{background:#e0a15c1f}.btn.solid{background:var(--accent);border-color:var(--accent);color:#1b120b}.btn.solid:hover{background:#eab274}.btn.bmc{color:#0d0c22;white-space:nowrap;background:#fd0;border-color:#fd0;font-weight:600}.btn.bmc:hover{background:#ffe740}.consent{z-index:100;border:1px solid var(--line);max-width:420px;color:var(--muted);font:14px/1.55 var(--sans);background:#18110cf5;border-radius:16px;padding:18px 20px;animation:.35s ease-out consent-in;position:fixed;bottom:16px;left:16px;box-shadow:0 20px 60px #00000080}.consent strong{color:var(--ink)}.consent a{color:var(--accent)}.consent p{margin:0 0 14px}.consent-actions{justify-content:flex-end;gap:8px;display:flex}.consent button{border:1px solid var(--line);color:var(--ink);font:500 13px var(--sans);cursor:pointer;background:0 0;border-radius:99px;padding:9px 16px}.consent button.primary{background:var(--accent);border-color:var(--accent);color:#1b120b}@keyframes consent-in{0%{opacity:0;transform:translateY(12px)}}.site-footer{z-index:30;border-top:1px solid var(--line);color:var(--muted);font-family:var(--sans);background:#120d0a;position:relative}.site-footer .inner{max-width:1080px;margin:0 auto;padding:72px 24px 32px}.site-footer h2{font:500 32px/1.1 var(--serif);color:var(--ink);margin:0 0 8px}.site-footer h3{font:600 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}.site-footer section+section{margin-top:56px}.site-footer .lead{margin:0 0 28px;font-size:15px}.more-links{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.more-links a{border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:20px;text-decoration:none;transition:border-color .2s,background .2s;display:block}.more-links a:hover{background:#e0a15c0f;border-color:#e0a15c80}.more-links b{font:500 19px var(--serif);margin-bottom:4px;display:block}.more-links span{color:var(--dim);font-size:13px}.gear{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.gear li{border:1px solid var(--line);background:#ffffff06;border-radius:12px;padding:16px 18px}.gear b{color:var(--ink);margin-bottom:4px;font-weight:600;display:block}.gear p{margin:0;font-size:13px;line-height:1.5}.gear a{color:var(--accent);margin-top:10px;font-size:13px;display:inline-block}.disclosure{color:var(--dim);margin:14px 0 0;font-size:12px}.support{background:linear-gradient(120deg,#e0a15c24,#e0a15c08);border:1px solid #e0a15c4d;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.support p{margin:0;font-size:15px}.ad-slot{min-height:100px;margin:48px 0 0}.ad-slot:before{content:"Advertisement";letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;font-size:10px;display:block}.footer-bottom{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:64px;padding-top:20px;font-size:13px;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:8px 20px;display:flex}.footer-bottom a{color:var(--muted);text-decoration:none}.footer-bottom a:hover{color:var(--ink)}@media (width<=820px){.more-links,.gear{grid-template-columns:1fr}.support{flex-direction:column;align-items:flex-start}.consent{max-width:none;left:12px;right:12px}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}.canvas{inset:0;width:100vw!important;height:100vh!important;position:fixed!important}.overlay{pointer-events:none;z-index:20;position:fixed;inset:0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.hero{max-width:560px;position:absolute;top:50%;left:7vw;translate:0 -50%}.kicker{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:12px}.hero h1{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(64px,11vw,150px);font-weight:300;line-height:.9}.hero h1 em{color:var(--accent);font-style:italic}.lede{color:var(--muted);max-width:440px;margin:24px 0 40px;font-size:18px;line-height:1.55}.cue{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);align-items:center;gap:12px;font-size:12px;display:flex}.cue i{background:linear-gradient(var(--accent), transparent);transform-origin:top;width:1px;height:46px;animation:1.8s ease-in-out infinite cue}@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.card{background:var(--card);-webkit-backdrop-filter:blur(14px)saturate(1.2);border:1px solid var(--line);border-radius:18px;width:min(400px,36vw);padding:28px 28px 24px;position:absolute;top:50%;left:4.5vw;translate:0 -50%;box-shadow:0 30px 80px #00000059}.card.wide{width:min(430px,38vw)}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--accent);gap:10px;font-size:11px;display:flex}.eyebrow span{color:var(--dim)}.card h2{font-family:var(--serif);letter-spacing:-.01em;margin:10px 0 14px;font-size:34px;font-weight:500;line-height:1.05}.card p{color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.6}.card .note{color:var(--ink);min-height:24px;margin:-6px 0 18px}.card .guide{color:var(--muted);margin:12px 0 0;font-size:12.5px;font-style:italic}.lede.small{color:var(--dim);margin:-24px 0 40px;font-size:14px}.card .hint{color:var(--dim);border-top:1px solid var(--line);margin:18px 0 0;padding-top:14px;font-size:13px}label{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:4px;font-size:10px;display:block}.readout,.dash{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.readout.single{grid-template-columns:1fr}.readout>div,.dash>div{border:1px solid var(--line);background:#0000002e;border-radius:12px;padding:12px 14px}.readout strong{font-size:20px;font-weight:600}.readout small,.dash small{color:var(--dim);font-size:.55em}.big{white-space:nowrap;font-size:32px;font-weight:600;line-height:1.1}.roastbar{height:46px;position:relative}.roastbar .bar{border-radius:99px;height:10px}.roastbar .marker{background:var(--ink);border-radius:2px;width:4px;height:20px;margin-left:-2px;position:absolute;top:-5px;box-shadow:0 0 0 3px #0006}.roastbar .tick{color:var(--dim);font-size:11px;transition:color .3s;position:absolute;top:20px;translate:-50%}.roastbar .tick.on{color:var(--ink)}.sizes{gap:4px;margin:0;padding:0;list-style:none;display:grid}.sizes li{color:var(--muted);border-radius:8px;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:grid}.sizes li span:last-child{color:var(--dim)}.sizes li b{font-weight:500}.sizes li.pick{color:var(--ink);background:#e0a15c24;outline:1px solid #e0a15c66}.sizes li.pick span:last-child{color:var(--accent)}.grain{background:#8b5a32;border-radius:2px;height:8px}.sizes li:first-child .grain{width:4px}.sizes li:nth-child(2) .grain{width:7px}.sizes li:nth-child(3) .grain{width:11px}.sizes li:nth-child(4) .grain{width:15px}.sizes li:nth-child(5) .grain{width:20px}.temp{align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.temp strong{color:var(--accent-2);font-size:56px;font-weight:600;line-height:1;transition:color .4s}.temp strong.ready{color:var(--accent)}.temp span{color:var(--muted);font-size:14px}.thermo{background:#ffffff0f;border-radius:99px;height:12px;margin-bottom:30px;position:relative}.thermo .fill{background:linear-gradient(90deg,#3f7fd8,#e0a15c 85%,#ff6a3a);border-radius:99px;position:absolute;inset:0 auto 0 0}.thermo .zone{border:1px dashed var(--accent);z-index:1;border-radius:6px;position:absolute;top:-5px;bottom:-5px}.thermo span{color:var(--dim);font-size:10px;font-family:var(--mono);position:absolute;top:18px;translate:-50%}.ranges{border-collapse:collapse;width:100%;font-size:13px}.ranges td{border-bottom:1px solid var(--line);color:var(--muted);padding:6px 0}.ranges td:last-child{text-align:right;color:var(--ink)}.checks{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.checks li{border:1px solid var(--line);color:var(--dim);border-radius:10px;padding:10px 12px 10px 38px;font-size:14px;transition:color .3s,border-color .3s,background .3s;position:relative}.checks li:before{content:"";border:1.5px solid var(--dim);border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;top:50%;left:12px;translate:0 -50%}.checks li.on{color:var(--ink);background:#e0a15c14;border-color:#e0a15c59}.checks li.on:before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--card)}.checks b{margin-right:4px;font-weight:600}.muted{color:var(--dim)}.meter{background:#ffffff0f;border-radius:99px;height:6px;margin:-4px 0 16px;overflow:hidden}.meter div{background:linear-gradient(90deg, var(--accent-2), var(--accent));height:100%}.steps{counter-reset:step;gap:2px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;color:var(--dim);border-radius:8px;padding:7px 10px 7px 34px;font-size:13px;position:relative}.steps li:before{content:counter(step);font-family:var(--mono);font-size:11px;position:absolute;top:7px;left:10px}.steps li b{font-weight:500}.steps li.done{color:var(--muted);-webkit-text-decoration:line-through #fff3;text-decoration:line-through #fff3}.steps li.now{color:var(--ink);background:#e0a15c24;outline:1px solid #e0a15c66}.steps li.now:before{color:var(--accent)}.steps li span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.recipe{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.recipe>div{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.recipe b{font-size:15px}.finale{text-align:right;position:absolute;bottom:12vh;right:7vw}.finale h2{font-family:var(--serif);margin:0 0 12px;font-size:clamp(64px,9vw,130px);font-style:italic;font-weight:300;line-height:1}.finale button{pointer-events:auto;color:var(--accent);font:500 13px var(--sans);letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #e0a15c80;border-radius:99px;padding:10px 18px}.finale button:hover{background:#e0a15c1f}.finale .more{letter-spacing:.08em;color:var(--dim);margin:14px 0 0;font-size:12px}.rail{pointer-events:auto;gap:6px;display:grid;position:absolute;top:50%;right:26px;translate:0 -50%}.rail button{cursor:pointer;color:var(--dim);font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;flex-direction:row-reverse;justify-content:flex-start;align-items:center;gap:10px;padding:4px 0;display:flex}.rail .dot{background:currentColor;border-radius:50%;width:7px;height:7px;transition:all .3s}.rail .name{opacity:0;transition:all .3s;transform:translate(6px)}.rail:hover .name,.rail button.on .name{opacity:1;transform:none}.rail button.on{color:var(--accent)}.rail button.on .dot{transform:scale(1.6)}.progress{background:var(--accent);transform-origin:0;height:2px;position:absolute;top:0;left:0;right:0}.tag{white-space:nowrap;font:500 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);background:#140e0abf;border-radius:99px;padding:5px 10px;transition:opacity .2s}.lcd{font:600 13px var(--mono);color:#7dffb0;text-shadow:0 0 8px #7dffb099;white-space:nowrap;transition:opacity .3s}@media (width<=820px){.card,.card.wide{width:auto;max-height:48vh;padding:18px;inset:auto 12px 12px;overflow:hidden;translate:none}.card h2{font-size:24px}.card p{font-size:13px}.card .hint,.ranges,.sizes li:not(.pick){display:none}.big{font-size:26px}.temp strong{font-size:40px}.rail{display:none}.hero{left:24px;right:24px}.finale{top:10vh;bottom:auto}}
