@font-face{font-family:Switzer;src:url(/fonts/switzer-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/switzer-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/switzer-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-400.woff2)format("woff2");font-weight:400 500;font-display:swap}@font-face{font-family:Switzer Fallback;src:local(Arial),local(Liberation Sans),local(Helvetica);size-adjust:98%;ascent-override:96%;descent-override:24%}@font-face{font-family:DM Mono Fallback;src:local(Courier New),local(Liberation Mono),local(Menlo);size-adjust:100%}:root{--frost:#e3e7e4;--card:#f4f5f2;--ink:#15140f;--slate:#505955;--red:#b8321c;--red-hot:#e8442e;--mist:#b9bdb8;--brew:#2e1c12;--held:#6e4b33;--water:#a9c0c6;--syrup:#c98b3d;--cream:#efe3c8;--milk:#fbfaf6;--line:#15140f29;--line-strong:#15140f6b;--sans:"Switzer", "Switzer Fallback", "Helvetica Neue", Arial, sans-serif;--mono:"DM Mono", "DM Mono Fallback", ui-monospace, monospace;--gutter:clamp(20px, 2.8vw, 40px);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--dur-fast:.2s;--dur-reveal:.6s;--dock-h:88px;--jar-h:clamp(300px, calc(100vh - 480px), 520px)}*,:before,:after{box-sizing:border-box;border-radius:0}html{background:var(--frost);color:var(--ink);-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--frost);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0px));margin:0;font-size:17px;line-height:1.5}h1,h2,p,ol,figure,table{margin:0;padding:0}ol{list-style:none}button,input,output{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--red);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--gutter);z-index:50;background:var(--ink);color:var(--card);padding:12px 16px;position:absolute;top:-100px}.skip:focus{top:12px}.n{font-family:var(--mono)}.u{font-family:var(--sans);letter-spacing:0;color:var(--slate);margin-left:.12em;font-size:max(15px,.3em);font-weight:600}.bar{padding:12px var(--gutter);border-bottom:1px solid var(--line-strong);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid}.mark{letter-spacing:-.01em;color:var(--ink);justify-self:start;align-items:center;gap:10px;min-height:44px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.mark__sq{background:var(--red);width:12px;height:12px}.seg{border:1px solid var(--ink);display:flex}.seg a{border-right:1px solid var(--ink);min-height:44px;color:var(--ink);transition:background-color var(--dur-fast) var(--ease-out-quint), color var(--dur-fast) var(--ease-out-quint);justify-content:center;align-items:center;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.seg a:last-child{border-right:0}.seg a:hover{background:var(--card)}.seg a[aria-current=page]{background:var(--ink);color:var(--card)}.units{justify-self:end;gap:2px;display:flex}.units button{min-height:44px;color:var(--slate);text-underline-offset:6px;background:0 0;border:0;padding:0 10px;font-size:15px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px}.units button[aria-pressed=true]{color:var(--ink);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);font-weight:600}main{max-width:1520px;padding:28px var(--gutter) 0;margin:0 auto}.bench{column-gap:calc(var(--gutter) * 2);grid-template:"pour head""pour read"1fr/minmax(0,5fr) minmax(0,7fr);align-items:start;display:grid}.sheet__head{border-bottom:1px solid var(--line-strong);grid-area:head;padding-bottom:16px}.pour{grid-area:pour}.read{grid-area:read}.sheet__title{letter-spacing:-.03em;font-size:clamp(32px,3.4vw,48px);font-weight:700;line-height:1}.sheet__dek{color:var(--slate);margin-top:8px}.jar{grid-template-columns:64px minmax(0,360px);column-gap:12px;display:grid}.jar__scale{height:var(--jar-h);position:relative}.jar__scale span{font-family:var(--mono);color:var(--slate);white-space:nowrap;padding-right:14px;font-size:13px;position:absolute;right:0;transform:translateY(50%)}.jar__scale span:after{content:"";background:var(--ink);width:10px;height:1px;position:absolute;top:50%;right:0}.jar__glass{height:var(--jar-h);border:2px solid var(--ink);cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;background-image:repeating-linear-gradient(0deg, transparent 0 calc(var(--minor) - 1px), var(--line) calc(var(--minor) - 1px) var(--minor));border-top:0;position:relative}.jar__fill{flex-direction:column-reverse;display:flex;position:absolute;bottom:0;left:0;right:0}.jar__fill i,.mini__fill i{border-top:1px solid #15140f47;flex:none;display:block}.jar__fill i:first-child,.mini__fill i:first-child{border-top:0}.l-brew{background:var(--brew)}.l-held{background:var(--held);background-image:repeating-linear-gradient(135deg,#0000 0 6px,#f4f5f22e 6px 7px)}.l-water{background:var(--water)}.l-syrup{background:var(--syrup)}.l-cream{background:var(--cream)}.l-milk{background:var(--milk)}.jar__line{background:var(--red);outline-offset:6px;cursor:ns-resize;height:2px;position:absolute;left:-2px;right:-2px;transform:translateY(1px)}.jar__line:before{content:"";height:44px;position:absolute;top:-21px;left:0;right:0}.jar__tab{background:var(--red);color:var(--card);font-family:var(--mono);white-space:nowrap;pointer-events:none;padding:4px 10px;font-size:15px;position:absolute;bottom:6px;right:-2px}.jar__line.is-high .jar__tab{top:6px;bottom:auto}.jar.is-drag .jar__glass{cursor:grabbing}.jar.is-settle .jar__fill i,.jar.is-settle .jar__line{transition:height var(--dur-fast) var(--ease-out-expo), bottom var(--dur-fast) var(--ease-out-expo)}.jar__cap{color:var(--slate);grid-column:2;margin-top:10px;font-size:14px;line-height:1.4}.ctl{border-top:1px solid var(--line-strong);margin-top:18px;padding-top:16px}.exact{align-items:center;gap:10px;display:flex}.exact__label{font-size:16px;font-weight:600}.exact__in{background:var(--card);border:1px solid var(--ink);width:9ch;min-height:44px;font-family:var(--mono);padding:8px 10px;font-size:16px}.exact__in:focus{outline:2px solid var(--red);outline-offset:0}.exact__unit{font-family:var(--mono);color:var(--slate);font-size:15px}.ruler{background:var(--card);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;height:56px;margin-top:12px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.ruler:focus-visible{outline-offset:-2px;-webkit-mask-image:none;mask-image:none}.ruler.is-drag{cursor:grabbing}.ruler__strip{will-change:transform;background-image:linear-gradient(90deg, var(--line-strong) 1px, transparent 1px), linear-gradient(90deg, var(--ink) 1px, transparent 1px);background-repeat:repeat-x;height:100%;position:absolute;top:0;left:0}.ruler.is-settle .ruler__strip{transition:transform var(--dur-fast) var(--ease-out-expo)}.ruler__num{font-family:var(--mono);color:var(--slate);white-space:nowrap;font-size:13px;position:absolute;bottom:6px;transform:translate(-50%)}.ruler__needle{background:var(--red);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.ruler__needle:before{content:"";border:6px solid #0000;border-top-color:var(--red);position:absolute;top:0;left:-5px}.presets{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.preset{background:var(--card);border:1px solid var(--line-strong);min-height:44px;transition:border-color var(--dur-fast) var(--ease-out-quint);padding:0 14px;font-size:15px}.preset span{font-family:var(--mono);color:var(--slate);margin-left:6px}.preset:hover{border-color:var(--ink)}.preset[aria-pressed=true]{border-color:var(--red);box-shadow:inset 0 -2px 0 var(--red)}.lead{padding:16px 0 12px}.lead__label{font-weight:600}.lead__value{font-family:var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:4px;font-size:clamp(56px,6vw,88px);line-height:1.1}.spec{border-collapse:collapse;border-top:1px solid var(--ink);width:100%}.spec th,.spec td{border-bottom:1px solid var(--line-strong);text-align:left;vertical-align:top;padding:9px 0;font-weight:400}.spec th{padding-right:12px;font-size:16px}.spec__k{align-items:flex-start;gap:12px;display:flex}.spec th i{border:1px solid var(--ink);flex:none;width:14px;height:14px;margin-top:5px}.spec th small{color:var(--slate);font-size:14px;line-height:1.35;display:block}.spec td{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px;line-height:1.2}.motion .is-enter{animation:rise var(--dur-reveal) var(--ease-out-expo) both;animation-delay:calc(var(--i,0) * 50ms)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.parts{border-bottom:1px solid var(--line-strong);flex-wrap:wrap;align-items:center;gap:12px 28px;padding:16px 0;display:flex}.part{align-items:center;gap:8px;display:flex}.part__name{color:var(--slate);font-size:15px}.part__val{font-family:var(--mono);text-align:center;min-width:3.2ch;font-size:20px}.step{background:var(--card);border:1px solid var(--ink);width:44px;height:44px;font-size:20px;line-height:1}.step:disabled{opacity:.45}.part__reset{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:15px}.part__reset:disabled{color:var(--slate);text-decoration-color:#0000}.method{border-top:1px solid var(--line-strong);column-gap:calc(var(--gutter) * 2);grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin-top:48px;padding-top:20px;display:grid}.method__title{letter-spacing:-.02em;font-size:24px;font-weight:700}.method__list{counter-reset:m}.method__list li{counter-increment:m;border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;padding:12px 0;display:grid}.method__list li:before{content:counter(m, decimal-leading-zero);font-family:var(--mono);color:var(--slate);padding-top:3px;font-size:13px}.foot{max-width:1520px;padding:40px var(--gutter) 32px;color:var(--slate);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 auto;font-size:15px;display:flex}.foot a{color:var(--ink);align-items:center;min-height:44px;display:inline-flex}.home__head{column-gap:calc(var(--gutter) * 2);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;padding-bottom:24px;display:grid}.home__title{letter-spacing:-.035em;font-size:clamp(40px,4.6vw,72px);font-weight:700;line-height:1}.home__dek{color:var(--slate);max-width:34em;font-size:19px}.stages{border-left:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stages li{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.stage{color:var(--ink);height:100%;transition:background-color var(--dur-fast) var(--ease-out-quint);grid-template-columns:72px 1fr;align-items:end;gap:20px;padding:28px 24px;text-decoration:none;display:grid}.stage:hover{background:var(--card)}.stage:hover .stage__title{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.mini{border:2px solid var(--ink);border-top:0;width:72px;height:200px;display:block;position:relative}.mini__fill{flex-direction:column-reverse;display:flex;position:absolute;inset:0}.stage__body{flex-direction:column;gap:6px;min-width:0;display:flex}.stage__no{font-family:var(--mono);color:var(--slate);font-size:13px}.stage__title{letter-spacing:-.02em;text-underline-offset:6px;transition:text-decoration-color var(--dur-fast) var(--ease-out-quint);font-size:28px;font-weight:700;line-height:1.1;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px}.stage__dek{color:var(--slate)}.stage__fig{font-family:var(--mono);border-top:1px solid var(--line);flex-direction:column;margin-top:8px;padding-top:10px;font-size:15px;display:flex}.stage__fig span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dock{z-index:20;background:var(--ink);color:var(--card);border-top:2px solid var(--red-hot);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0}.dock__in{max-width:1520px;height:calc(var(--dock-h) - 2px);padding:0 var(--gutter);grid-template-columns:auto auto minmax(160px,1fr) auto auto;align-items:center;gap:28px;margin:0 auto;display:grid}.dock__title{font-size:17px;font-weight:700}.dock__read{align-items:baseline;gap:24px;display:flex}.dock__clock{font-family:var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:40px;line-height:1}.dock__ready{color:var(--mist);white-space:nowrap;font-size:15px}.dock__ready b{color:var(--card);font-weight:600}.dock[data-done] .dock__ready b{color:var(--red-hot)}.day__track{border:1px solid #f4f5f280;height:12px;position:relative}.day__sweet{background:#f4f5f247;width:8.33333%;position:absolute;top:0;bottom:0;left:66.6667%}.day__done{background:var(--red-hot);width:0;transition:width 1s linear;position:absolute;top:0;bottom:0;left:0}.day__pin{background:var(--card);width:2px;transition:left var(--dur-fast) var(--ease-out-quint);margin-left:-1px;position:absolute;top:-6px;bottom:-6px}.day__nums{height:18px;font-family:var(--mono);color:var(--mist);margin-top:6px;font-size:12px;position:relative}.day__nums span{position:absolute;transform:translate(-50%)}.day__nums span:first-child{left:0;transform:none}.day__nums span:nth-child(2){left:50%}.day__nums span:nth-child(3){left:66.6667%}.day__nums span:nth-child(4){left:75%}.day__nums span:nth-child(5){left:auto;right:0;transform:none}.dock__hrs{align-items:center;gap:6px;display:flex}.dock__hrs .step{color:var(--card);background:0 0;border-color:#f4f5f280}.dock__h{font-family:var(--mono);text-align:center;min-width:4.4ch;font-size:18px}.dock__act{align-items:center;gap:12px;display:flex}.go{background:var(--red-hot);min-width:120px;min-height:52px;color:var(--ink);border:0;padding:0 20px;font-size:16px;font-weight:700}.go.is-pause{background:var(--card)}.reset{min-height:44px;color:var(--card);text-underline-offset:4px;background:0 0;border:0;padding:0 4px;-webkit-text-decoration:underline #f4f5f280;text-decoration:underline #f4f5f280}.reset:disabled{visibility:hidden}@media (width<=1240px){.dock__in{grid-template-columns:auto minmax(120px,1fr) auto auto;gap:20px}.dock__title{display:none}.dock__read{flex-direction:column;align-items:flex-start;gap:4px}.dock__clock{font-size:32px}}@media (width<=1100px){.dock__in{grid-template-columns:1fr auto auto}.day{display:none}}@media (width<=900px){:root{--dock-h:72px;--jar-h:250px}.bar{padding:6px var(--gutter) 10px;grid-template-columns:1fr auto;row-gap:6px}.seg{grid-area:2/1/auto/-1}.seg a{flex:1;padding:0 6px}main{padding-top:20px}.bench{flex-direction:column;display:flex}.pour,.read{display:contents}.sheet__head{order:0;margin-bottom:20px}.jar{order:1;grid-template-columns:52px minmax(0,220px)}.lead{order:2;padding-top:6px}.spec{order:3}.ctl{border-top:0;order:4;margin-top:0}.parts{order:5;gap:8px}.part{grid-template-columns:minmax(0,1fr) 44px 4ch 44px;width:100%;display:grid}.jar__scale span{font-size:12px}.lead__value{font-size:56px}.ruler{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1)}.spec td{font-size:20px}.method{margin-top:36px;display:block}.method__list{margin-top:10px}.home__head{padding-bottom:18px;display:block}.home__dek{margin-top:10px;font-size:17px}.stages{border-left:0;grid-template-columns:1fr}.stages li{border-right:0}.stage{grid-template-columns:48px 1fr;align-items:center;gap:16px;padding:18px 0}.mini{width:48px;height:112px}.stage__title{font-size:22px}.stage__dek{font-size:15px}.stage__fig{margin-top:4px;padding-top:6px;font-size:14px}.dock__in{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding-top:0;padding-bottom:0}.dock__clock{font-size:26px}.dock__ready{font-size:13px;line-height:1.3}.dock__pre{display:none}.dock__read{gap:2px;min-width:0}.dock__hrs{gap:2px}.dock__hrs .step{width:40px}.dock__h{min-width:3.6ch;font-size:15px}.dock[data-phase=active] .dock__hrs,.dock[data-phase=idle] .reset{display:none}.go{min-width:76px;min-height:48px;padding:0 12px}.dock__act{gap:4px}.reset{min-width:44px}}@media (width<=359px){.dock__clock{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}
