/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.contents{display:contents}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.capitalize{text-transform:capitalize}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}}:root{color:#f2f0e9;font-synthesis:none;text-rendering:optimizelegibility;--bg:#11110f;--surface:#181815;--surface-2:#20201c;--line:#f2f0e921;--line-strong:#f2f0e93d;--text:#f2f0e9;--muted:#949289;--soft:#c6c3ba;--accent:#dbff55;--accent-text:#17190e;--cyan:#69d5df;--coffee:#b7652a;background:#11110f;font-family:Manrope,system-ui,sans-serif}:root[data-theme=light]{color:#1a1b17;--bg:#f1efe8;--surface:#f8f6ef;--surface-2:#e7e4da;--line:#1a1b171f;--line-strong:#1a1b173d;--text:#1a1b17;--muted:#6d6d65;--soft:#3e3f39;--accent:#b9db33;--accent-text:#161810;background:#f1efe8}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0;transition:background .25s,color .25s}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}.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}.app-shell{min-height:100vh;overflow:hidden}.site-header,.site-footer{max-width:1500px;margin:0 auto;padding-left:clamp(22px,4vw,64px);padding-right:clamp(22px,4vw,64px)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;display:flex}.wordmark{color:var(--text);letter-spacing:.16em;align-items:center;gap:10px;font-family:DM Mono,monospace;font-size:14px;font-weight:500;text-decoration:none;display:flex}.wordmark i{background:var(--accent);clip-path:polygon(30% 0,100% 0,70% 50%,100% 50%,25% 100%,45% 57%,0 57%);width:12px;height:16px;display:inline-block}.header-actions{align-items:center;gap:14px;display:flex}.status-pill{letter-spacing:.13em;color:var(--muted);border:1px solid var(--line);border-radius:99px;align-items:center;gap:7px;padding:8px 11px;font-family:DM Mono,monospace;font-size:9px;display:flex}.status-pill i{background:var(--accent);width:5px;height:5px;box-shadow:0 0 8px var(--accent);border-radius:50%}.icon-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:40px;height:40px;transition:all .18s;display:inline-grid}.icon-button:hover{border-color:var(--line-strong);transform:translateY(-1px)}.icon-button.active{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.icon-button.active{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}}.hero{grid-template-columns:minmax(370px,.85fr) minmax(440px,1.15fr);align-items:center;gap:clamp(36px,7vw,120px);max-width:1500px;min-height:min(820px,100vh - 88px);margin:0 auto;padding:52px clamp(22px,4vw,64px) 72px;display:grid}.hero-copy{z-index:2;padding-top:26px;position:relative}.kicker{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:21px;font-family:DM Mono,monospace;font-size:10px;font-weight:500;display:block}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(48px,5.7vw,88px);font-weight:500;line-height:.96}.hero h1 em{color:var(--muted);font-style:normal}.hero-copy>p{color:var(--soft);max-width:520px;margin:32px 0 34px;font-size:15px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid var(--line);letter-spacing:.02em;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:0 20px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.button.primary:hover:not(:disabled){box-shadow:0 9px 30px var(--accent)}@supports (color:color-mix(in lab, red, red)){.button.primary:hover:not(:disabled){box-shadow:0 9px 30px color-mix(in srgb, var(--accent) 18%, transparent)}}.button.quiet{color:var(--text);background:0 0}.play-icon{font-size:9px}.hero-metrics{border-top:1px solid var(--line);align-items:center;gap:25px;width:min(100%,470px);margin-top:46px;padding-top:22px;display:flex}.hero-metrics>i{background:var(--line);width:1px;height:28px}.hero-metrics span{flex-direction:column;gap:5px;display:flex}.hero-metrics small,.summary-card>span,.visual-toolbar small{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.hero-metrics strong{text-transform:uppercase;font-family:DM Mono,monospace;font-size:12px;font-weight:500}.hero-visual{border-left:1px solid var(--line);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:54px 54px;justify-content:center;align-items:center;min-height:610px;display:flex;position:relative;-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.hero-visual:before{content:"";border:1px solid var(--line);border-radius:50%;width:430px;height:430px;position:absolute}.hero-visual:after{content:"";border:1px dashed var(--line-strong);border-radius:50%;width:310px;height:310px;animation:35s linear infinite orbit;position:absolute}.visual-toolbar{z-index:3;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:20px;left:24px;right:0}.visual-toolbar>div:first-child{flex-direction:column;gap:5px;display:flex}.visual-toolbar span{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.mode-switch{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:3px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mode-switch{background:color-mix(in srgb, var(--surface) 82%, transparent)}}.mode-switch{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mode-switch button{min-width:69px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:8px 10px;font-family:DM Mono,monospace;font-size:10px}.mode-switch button span{letter-spacing:.12em;margin-top:2px;font-size:6px;display:block}.mode-switch button.active{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.visual-annotation{z-index:4;flex-direction:column;gap:4px;font-family:DM Mono,monospace;display:flex;position:absolute}.visual-annotation:before{content:"";border-top:1px solid var(--line-strong);width:75px;position:absolute;top:7px}.visual-annotation:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:5px}.visual-annotation span{letter-spacing:.16em;color:var(--muted);font-size:7px}.visual-annotation strong{font-family:DM Mono,monospace;font-size:11px;font-weight:500}.annotation-one{bottom:28%;left:8%}.annotation-one:before{left:77px}.annotation-one:after{left:148px}.annotation-two{top:37%;right:0}.annotation-two:before{right:80px}.annotation-two:after{right:151px}.moka-visual{z-index:2;width:min(90%,480px);margin:0;position:relative}.moka-visual svg{filter:drop-shadow(0 24px 32px #00000036);width:100%;height:auto;display:block;overflow:visible}.pot-blueprint{fill:none;stroke:var(--text);stroke-linejoin:round;opacity:.82}:root[data-theme=dark] .pot-blueprint{opacity:.75}.basket-blueprint,.base-blueprint{fill:none;stroke:var(--text);stroke-width:2.5px;stroke-linejoin:round;opacity:.82}:root[data-theme=dark] .basket-blueprint,:root[data-theme=dark] .base-blueprint{opacity:.75}.pot-part,.part-motion{transform-box:fill-box;transform-origin:50%;transition:transform .85s cubic-bezier(.2,.8,.2,1),filter .5s,opacity .5s}.is-exploded .pot-upper{transform:translate(-20px,-64px)}.is-exploded .pot-basket,.is-exploded .part-coffee-basket{transform:translate(190px,-2px)}.is-exploded .pot-base,.is-exploded .part-water-base{transform:translate(-32px,14px)}.visual-cue-coffee .pot-upper,.visual-cue-stir .pot-upper,.visual-cue-level .pot-upper,.visual-cue-knock .pot-upper,.visual-cue-preheat .pot-upper,.visual-cue-water .pot-upper,.visual-cue-insert .pot-upper{opacity:.16;filter:grayscale()blur(.45px)}.visual-cue-coffee .pot-base,.visual-cue-stir .pot-base,.visual-cue-level .pot-base,.visual-cue-knock .pot-base,.visual-cue-preheat .pot-base{opacity:.2;filter:grayscale()}.visual-cue-preheat .pot-basket,.visual-cue-preheat .part-coffee-basket{opacity:.34;filter:grayscale(.75)}.visual-cue-water .pot-basket,.visual-cue-water .part-coffee-basket{opacity:.22;filter:grayscale(.8)}.visual-cue-prepare .pot-basket{filter:drop-shadow(0 0 11px var(--accent))}@supports (color:color-mix(in lab, red, red)){.visual-cue-prepare .pot-basket{filter:drop-shadow(0 0 11px color-mix(in srgb, var(--accent) 65%, transparent))}}.visual-cue-coffee .pot-basket,.visual-cue-stir .pot-basket,.visual-cue-level .pot-basket,.visual-cue-knock .pot-basket{filter:drop-shadow(0 0 15px var(--coffee))}@supports (color:color-mix(in lab, red, red)){.visual-cue-coffee .pot-basket,.visual-cue-stir .pot-basket,.visual-cue-level .pot-basket,.visual-cue-knock .pot-basket{filter:drop-shadow(0 0 15px color-mix(in srgb, var(--coffee) 75%, transparent))}}.visual-cue-water .pot-base{filter:drop-shadow(0 0 16px var(--cyan))}@supports (color:color-mix(in lab, red, red)){.visual-cue-water .pot-base{filter:drop-shadow(0 0 16px color-mix(in srgb, var(--cyan) 60%, transparent))}}.animated.visual-cue-insert .pot-basket,.animated.visual-cue-insert .part-coffee-basket{animation:1.5s cubic-bezier(.2,.8,.2,1) both basket-insert}.visual-cue-insert .pot-base,.visual-cue-insert .part-water-base{filter:drop-shadow(0 0 12px var(--cyan));transform:translate(-32px,14px)}@supports (color:color-mix(in lab, red, red)){.visual-cue-insert .pot-base,.visual-cue-insert .part-water-base{filter:drop-shadow(0 0 12px color-mix(in srgb, var(--cyan) 34%, transparent))}}.visual-cue-filter .pot-upper{transform-origin:50%;filter:drop-shadow(0 0 17px var(--cyan));transform:translate(10px,-78px)}@supports (color:color-mix(in lab, red, red)){.visual-cue-filter .pot-upper{filter:drop-shadow(0 0 17px color-mix(in srgb, var(--cyan) 56%, transparent))}}.visual-cue-filter .pot-upper-turn{transform-box:fill-box;transform-origin:50%;transform:rotate(-28deg)}.animated.visual-cue-filter .pot-upper{animation:1.3s cubic-bezier(.2,.8,.2,1) both upper-filter-move}.animated.visual-cue-filter .pot-upper-turn{animation:1.3s cubic-bezier(.2,.8,.2,1) both upper-filter-turn}.visual-cue-filter .paper-filter-part{transform:translate(17px,-66px)}.animated.visual-cue-filter .paper-filter-part{animation:2.2s ease-in-out .9s infinite paper-filter-hover}.visual-cue-filter .pot-basket,.visual-cue-filter .part-coffee-basket,.visual-cue-filter .pot-base,.visual-cue-filter .part-water-base{opacity:.28;filter:grayscale(.8);transform:translate(-32px,14px)}.paper-filter-disc{fill:#eee9dc;stroke:#b9b3a4;stroke-width:1.5px}.paper-filter-wet{fill:none;stroke:var(--cyan);stroke-width:3px;stroke-linecap:round;stroke-dasharray:12 7}.visual-cue-filter .paper-filter-disc,.visual-cue-filter .paper-filter-wet{transform-box:fill-box;transform-origin:50%;transform:rotate(-28deg)}.paper-filter-drops{fill:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.paper-filter-drops{fill:color-mix(in srgb, var(--cyan) 38%, transparent)}}.paper-filter-drops{stroke:var(--cyan);stroke-width:1.5px}.animated .paper-filter-wet{animation:2.4s linear infinite wet-filter}.animated .paper-filter-drops path{animation:1.8s ease-in infinite wet-drop}.animated .paper-filter-drops path:nth-child(2){animation-delay:-.9s}.animated.visual-cue-assemble .pot-upper{animation:1.5s cubic-bezier(.2,.8,.2,1) both upper-assemble}.animated.visual-cue-assemble.has-paper-filter .pot-upper{animation-name:upper-filter-assemble-move}.animated.visual-cue-assemble.has-paper-filter .pot-upper-turn{transform-box:fill-box;transform-origin:50%;animation:1.5s cubic-bezier(.2,.8,.2,1) both upper-filter-assemble-turn}.visual-cue-assemble .pot-basket,.visual-cue-assemble .part-coffee-basket,.visual-cue-assemble .pot-base,.visual-cue-assemble .part-water-base{transform:none}.preheat-gauge circle{fill:var(--surface)}@supports (color:color-mix(in lab, red, red)){.preheat-gauge circle{fill:color-mix(in srgb, var(--surface) 78%, transparent)}}.preheat-gauge circle{stroke:var(--line-strong);stroke-width:1px}.preheat-gauge path{fill:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.preheat-gauge path{fill:color-mix(in srgb, var(--cyan) 25%, transparent)}}.preheat-gauge path{stroke:var(--cyan);stroke-width:2px}.preheat-gauge text{fill:var(--muted);text-anchor:middle;letter-spacing:.09em;font-family:DM Mono,monospace;font-size:8px}.animated .preheat-gauge path{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite alternate preheat-pulse}.water-fill{transition:y .8s cubic-bezier(.2,.8,.2,1),height .8s cubic-bezier(.2,.8,.2,1)}.animated .water-volume{transform-origin:50% 456px;animation:.9s cubic-bezier(.2,.8,.2,1) both water-rise}.animated .water-wave-front{animation:3.2s ease-in-out infinite water-wave-front}.animated .water-wave-back{animation:4.7s ease-in-out infinite water-wave-back}.animated .water-current{animation:7s ease-in-out infinite water-current}.animated .water-current.current-two{animation-duration:9s;animation-direction:reverse}.water-bubbles{opacity:.28}.animated .water-bubbles circle{transform-box:fill-box;transform-origin:50%;animation:5.8s ease-in infinite water-bubble}.animated .water-bubbles circle:nth-child(2n){animation-duration:7.1s;animation-delay:-2.4s}.animated .water-bubbles circle:nth-child(3n){animation-duration:6.4s;animation-delay:-4.1s}.animated .water-bubbles circle:nth-child(5n){animation-duration:8.2s;animation-delay:-1.3s}.animated .water-layer.is-heated .water-bubbles{opacity:.82}.animated .water-layer.is-heated .water-bubbles circle{animation-duration:2.5s}.animated .water-layer.is-heated .water-bubbles circle:nth-child(2n){animation-duration:3.1s}.animated .water-layer.is-heated .water-current{animation-duration:3.6s}.coffee-layer{animation:.65s cubic-bezier(.2,.8,.2,1) both coffee-in}.animated .coffee-grain{animation:1.9s ease-in-out infinite alternate grain;animation-delay:calc(var(--grain,1) * -70ms)}.animated .stir-tool{transform-origin:164px 265px;animation:1.7s ease-in-out infinite stir}.animated .level-tool{animation:2.2s ease-in-out infinite level}.cue-knock{transform-origin:165px 280px;animation:1.4s ease-in-out infinite basket-knock}.animated .steam path{animation:2.7s ease-in-out infinite steam}.animated .steam path:nth-child(2){animation-delay:-.9s}.animated .steam path:nth-child(3){animation-delay:-1.8s}.heat-glow{animation:1.8s ease-in-out infinite alternate heat}.brew-flow>path{stroke-dasharray:65 35;animation:1.4s linear infinite flow}.animated .upper-coffee-volume{transform-origin:50% 232px;animation:4s cubic-bezier(.2,.8,.2,1) both upper-fill}.animated .coffee-wave-front{animation:2.4s ease-in-out infinite reverse water-wave-front}.animated .coffee-wave-back{animation:3.6s ease-in-out infinite water-wave-back}.animated .coffee-current{animation:5.4s ease-in-out infinite water-current}.animated .coffee-current.current-two{animation-duration:7.2s;animation-direction:reverse}.cool-ripples{animation:1.8s ease-out infinite cool}.visual-readout{border:1px solid var(--line);background:var(--surface);align-items:baseline;gap:8px;width:min(310px,90%);margin:8px auto 0;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.visual-readout{background:color-mix(in srgb, var(--surface) 76%, transparent)}}.visual-readout{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace;font-size:9px}.visual-readout>span:first-child{color:var(--muted);align-items:center;gap:6px;margin-right:auto;display:flex}.visual-readout strong{color:var(--cyan);font-size:12px}.readout-dot{background:var(--cyan);border-radius:50%;width:5px;height:5px}.readout-capacity{color:var(--muted)}.readout-ratio{border-left:1px solid var(--line);color:var(--text);padding-left:8px}.model-placeholder{place-items:center;height:480px;display:grid}.model-grid{border:1px solid var(--line);background:radial-gradient(circle, var(--accent), transparent 62%);border-radius:50%;place-items:center;width:360px;height:360px;display:grid;position:relative;transform:perspective(800px)rotateX(4deg)rotateY(-8deg)}@supports (color:color-mix(in lab, red, red)){.model-grid{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 9%, transparent), transparent 62%)}}.wire-pot{width:150px;height:260px;filter:drop-shadow(0 0 12px var(--accent));position:relative}@supports (color:color-mix(in lab, red, red)){.wire-pot{filter:drop-shadow(0 0 12px color-mix(in srgb, var(--accent) 30%, transparent))}}.wire-pot span{border:1px solid var(--accent);background-image:repeating-linear-gradient(25deg, transparent 0 8px, var(--accent) 9px 10px);display:block;position:absolute}@supports (color:color-mix(in lab, red, red)){.wire-pot span{background-image:repeating-linear-gradient(25deg, transparent 0 8px, color-mix(in srgb, var(--accent) 25%, transparent) 9px 10px)}}.wire-lid{border-radius:5px 5px 0 0;width:24px;height:20px;top:10px;left:63px}.wire-top{clip-path:polygon(13% 0,87% 0,100% 88%,82% 100%,18% 100%,0 88%);width:120px;height:100px;top:28px;left:15px}.wire-band{width:128px;height:20px;top:128px;left:11px;transform:skew(-12deg)}.wire-base{clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);width:112px;height:105px;top:148px;left:19px}.wire-handle{border-radius:0 26px 26px 0;width:50px;height:105px;top:75px;right:-37px;background:0 0!important;border-left:0!important}.orbit{border:1px dashed var(--line-strong);border-radius:50%;animation:22s linear infinite orbit;position:absolute;inset:18px}.orbit-two{animation-duration:14s;animation-direction:reverse;inset:62px}.model-caption{text-align:center;flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;bottom:-12px}.model-caption .kicker{margin:0 0 4px}.model-caption strong{font-size:14px}.model-caption>span:last-child{max-width:310px;color:var(--muted);font-size:10px;line-height:1.5}.recipe-panel{border-top:1px solid var(--line);max-width:1500px;margin:0 auto;padding:90px clamp(22px,4vw,64px)}.panel-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px;display:flex}.panel-heading .kicker{margin-bottom:14px}.panel-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(34px,4vw,58px);font-weight:500}.panel-heading p{color:var(--muted);margin:12px 0 0;font-size:13px}.recipe-picker{flex-direction:column;gap:8px;width:210px;display:flex}.recipe-picker label{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-family:DM Mono,monospace;font-size:8px}.recipe-picker select,.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:3px;padding:12px 13px;transition:border .16s}.recipe-picker select{padding:11px 12px;font-size:12px}.recipe-summary{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.summary-card{background:var(--surface);border:0;border-right:1px solid var(--line);text-align:left;flex-direction:column;align-items:flex-start;gap:6px;min-height:160px;padding:21px;display:flex;position:relative;overflow:hidden}.summary-card:last-child{border-right:0}.summary-card>strong{margin:auto 0 3px;font-family:DM Mono,monospace;font-size:28px;font-weight:400}.summary-card>strong small{color:var(--muted);font-size:12px}.summary-card>small{color:var(--muted);max-width:190px;font-size:10px;line-height:1.4}.summary-card.accent i{background:var(--cyan);height:3px;position:absolute;bottom:0;left:0}.summary-card.capitalize>strong,.capitalize{text-transform:capitalize}.edit-card{cursor:pointer;background:var(--accent);color:var(--accent-text);transition:filter .18s}.edit-card:hover{filter:brightness(1.05)}.edit-card>span{color:var(--accent-text)}.edit-card>strong{align-self:flex-end;font-size:25px}.edit-card>small{color:var(--accent-text)}@supports (color:color-mix(in lab, red, red)){.edit-card>small{color:color-mix(in srgb, var(--accent-text) 65%, transparent)}}.editor-wrap{border:1px solid var(--line);background:var(--surface);border-top:0;padding:clamp(20px,4vw,46px)}@supports (color:color-mix(in lab, red, red)){.editor-wrap{background:color-mix(in srgb, var(--surface) 72%, var(--bg))}}.editor-wrap{animation:.28s ease-out both reveal}.editor-stack{grid-template-columns:1fr 1fr;gap:46px;display:grid}.field-grid{grid-template-columns:1fr 1fr;align-content:start;gap:18px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field-wide{grid-column:1/-1}.field>span,.section-label span{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-family:DM Mono,monospace;font-size:8px}.field input,.field select,.field textarea{resize:vertical;min-height:44px;font-size:12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--line-strong)}.field>small{color:var(--muted);margin-top:-4px;font-size:8px}.input-unit{position:relative}.input-unit b{color:var(--muted);font-family:DM Mono,monospace;font-size:9px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.input-unit input{padding-right:35px}.technique-list{border-top:1px solid var(--line)}.section-label{justify-content:space-between;align-items:center;min-height:48px;display:flex}.section-label small{color:var(--muted);font-size:8px}.technique-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 0;display:grid}.technique-row>span:nth-child(2){flex-direction:column;gap:3px;display:flex}.technique-row strong{font-size:11px;font-weight:600}.technique-row small{color:var(--muted);font-size:9px}.technique-row>b{color:var(--muted);letter-spacing:.08em;font-family:DM Mono,monospace;font-size:8px}.toggle{background:var(--surface-2);border:1px solid var(--line);border-radius:20px;width:32px;height:18px;padding:2px;transition:all .18s}.toggle i{background:var(--muted);border-radius:50%;width:12px;height:12px;transition:all .18s;display:block}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle.on i{background:var(--accent-text);transform:translate(13px)}.notes-grid{grid-template-columns:1fr}.notes-grid .field-wide{grid-column:auto}.error-panel{color:#f59b89;border:1px solid #d9664f;flex-direction:column;grid-column:1/-1;gap:4px;padding:12px;font-size:10px;display:flex}.editor-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;margin-top:35px;padding-top:22px;display:flex}.editor-actions>span{color:var(--accent);margin-right:auto;font-family:DM Mono,monospace;font-size:9px}.sequence-preview{max-width:1500px;margin:0 auto;padding:50px clamp(22px,4vw,64px) 110px}.compact-heading{border-top:1px solid var(--line);padding-top:70px}.compact-heading h2{font-size:clamp(32px,3.5vw,48px)}.sequence-count{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:9px}.sequence-preview ol{grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.sequence-preview li{border-top:1px solid var(--line);grid-template-columns:26px 12px 1fr;align-items:start;gap:8px;min-height:130px;padding:25px 15px 25px 0;display:grid}.sequence-preview li>span{color:var(--muted);font-family:DM Mono,monospace;font-size:8px}.sequence-preview li>i{border:1px solid var(--accent);border-radius:50%;width:5px;height:5px}.sequence-preview li>div{flex-direction:column;gap:8px;display:flex}.sequence-preview li small{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:DM Mono,monospace;font-size:7px}.sequence-preview li strong{font-size:12px;font-weight:500}.site-footer{border-top:1px solid var(--line);min-height:80px;color:var(--muted);letter-spacing:.12em;justify-content:space-between;align-items:center;font-family:DM Mono,monospace;font-size:8px;display:flex}.guide-shell{z-index:100;background:var(--bg);grid-template-rows:auto 2px 1fr auto;min-height:100dvh;animation:.3s cubic-bezier(.2,.8,.2,1) both guide-in;display:grid;position:fixed;inset:0;overflow:auto}.guide-topbar{min-height:76px;padding:max(14px, env(safe-area-inset-top)) clamp(16px, 3vw, 44px) 14px;border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.close-button{justify-self:start;font-size:22px}.guide-progress-copy{align-items:center;gap:16px;display:flex}.guide-progress-copy span{color:var(--accent);font-family:DM Mono,monospace;font-size:9px}.guide-progress-copy strong{text-transform:uppercase;letter-spacing:.1em;font-size:11px}.guide-settings{justify-self:end;align-items:center;gap:10px;display:flex}.guide-settings .mode-switch button{min-width:55px;padding:6px}.progress-track{background:var(--surface-2)}.progress-track i{background:var(--accent);height:2px;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.guide-main{grid-template-columns:minmax(330px,.8fr) minmax(380px,1.2fr);align-items:center;gap:clamp(30px,7vw,110px);width:min(1300px,100%);min-height:0;margin:0 auto;padding:clamp(24px,4vh,54px) clamp(20px,5vw,70px);display:grid}.guide-copy .kicker{margin-bottom:16px}.guide-copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:.98}.guide-copy .instruction{max-width:530px;margin:29px 0 12px;font-size:clamp(16px,1.6vw,21px);line-height:1.5}.guide-copy .detail{color:var(--muted);max-width:520px;margin:0;font-size:12px;line-height:1.75}.guide-visual-wrap{background:radial-gradient(circle, var(--surface-2), transparent 62%);place-items:center;min-height:400px;display:grid;position:relative}.guide-visual-wrap .moka-visual{width:min(96%,460px)}.guide-visual-wrap .visual-readout{margin-top:0;position:relative;left:50%;transform:translate(-50%)}.guide-controls{border-top:1px solid var(--line);padding:14px clamp(16px, 3vw, 44px) max(14px, env(safe-area-inset-bottom));grid-template-columns:1fr auto;align-items:center;gap:25px;display:grid}.step-jump{align-items:center;gap:clamp(4px,.8vw,10px);display:flex}.step-jump button{cursor:pointer;background:0 0;border:0;flex:1;place-items:center;max-width:55px;height:22px;padding:0;display:grid}.step-jump i{background:var(--surface-2);width:100%;height:2px;transition:background .2s;display:block}.step-jump button.done i{background:var(--muted)}.step-jump button.active i{background:var(--accent);height:4px}.transport{align-items:center;gap:8px;display:flex}.transport-side{min-width:105px;min-height:44px}.play-pause{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;font-size:12px;display:grid}.complete-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;overflow:auto}.complete-mark{border:1px solid var(--accent);width:68px;height:68px;color:var(--accent);box-shadow:0 0 45px var(--accent);border-radius:50%;place-items:center;margin-bottom:30px;font-size:26px;display:grid}@supports (color:color-mix(in lab, red, red)){.complete-mark{box-shadow:0 0 45px color-mix(in srgb, var(--accent) 15%, transparent)}}.complete-screen .kicker{margin-bottom:15px}.complete-screen h1{letter-spacing:-.06em;margin:0;font-size:clamp(48px,7vw,88px);font-weight:500;line-height:.98}.complete-screen>p{color:var(--muted);max-width:480px;margin:25px 0;font-size:13px;line-height:1.7}.completion-data{text-transform:uppercase;color:var(--soft);align-items:center;gap:16px;font-family:DM Mono,monospace;font-size:9px;display:flex}.completion-data i{background:var(--accent);border-radius:50%;width:3px;height:3px}.complete-actions{gap:10px;margin-top:32px;display:flex}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes water-rise{0%{opacity:.25;transform:scaleY(.05)}to{opacity:1;transform:scaleY(1)}}@keyframes water-wave-front{0%,to{transform:translate(-13px)translateY(0)}50%{transform:translate(13px)translateY(2px)}}@keyframes water-wave-back{0%,to{transform:translate(15px)translateY(1px)}50%{transform:translate(-15px)translateY(-2px)}}@keyframes water-current{0%,to{opacity:.24;transform:translate(-35px)}50%{opacity:.7;transform:translate(35px)}}@keyframes water-bubble{0%{opacity:0;transform:translateY(12px)scale(.6)}22%{opacity:.8}78%{opacity:.45}to{opacity:0;transform:translateY(-78px)scale(1.22)}}@keyframes basket-insert{0%{transform:translate(190px,-2px)}to{transform:translate(-32px,14px)}}@keyframes upper-filter-move{0%{transform:translate(-20px,-64px)}to{transform:translate(10px,-78px)}}@keyframes upper-filter-turn{0%{transform:rotate(0)}to{transform:rotate(-28deg)}}@keyframes paper-filter-hover{0%,to{transform:translate(17px,-50px)}50%{transform:translate(17px,-66px)}}@keyframes upper-assemble{0%{transform:translate(-20px,-64px)}to{transform:translate(0)}}@keyframes upper-filter-assemble-move{0%{transform:translate(10px,-78px)}to{transform:translate(0)}}@keyframes upper-filter-assemble-turn{0%{transform:rotate(-28deg)}to{transform:rotate(0)}}@keyframes wet-filter{to{stroke-dashoffset:-38px}}@keyframes wet-drop{0%{opacity:0;transform:translateY(-8px)}35%{opacity:1}to{opacity:0;transform:translateY(13px)}}@keyframes preheat-pulse{to{filter:drop-shadow(0 0 8px var(--cyan));transform:scale(1.08)}}@keyframes coffee-in{0%{opacity:0;transform:translateY(-14px)}}@keyframes grain{to{transform:translateY(2px)}}@keyframes stir{0%,to{transform:rotate(-10deg)translate(-7px)}50%{transform:rotate(12deg)translate(7px)}}@keyframes level{0%,to{transform:translate(-28px)}50%{transform:translate(28px)}}@keyframes basket-knock{0%,80%,to{transform:translateY(0)}87%{transform:translateY(-7px)}93%{transform:translateY(2px)}}@keyframes steam{0%{opacity:0;transform:translateY(8px)}45%{opacity:.8}to{opacity:0;transform:translateY(-15px)}}@keyframes heat{to{opacity:.55;transform:scaleX(.88)}}@keyframes flow{to{stroke-dashoffset:-100px}}@keyframes upper-fill{0%{opacity:0;transform:scaleY(0)}}@keyframes cool{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.08)}}@keyframes reveal{0%{opacity:0;transform:translateY(-8px)}}@keyframes guide-in{0%{opacity:0;transform:translateY(18px)}}@media (width<=900px){.hero{grid-template-columns:1fr;padding-top:45px}.hero-copy{max-width:650px}.hero-visual{border-left:0;border-top:1px solid var(--line);min-height:600px}.recipe-summary{grid-template-columns:1fr 1fr}.summary-card:nth-child(2){border-right:0}.summary-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.editor-stack{grid-template-columns:1fr}.sequence-preview ol{grid-template-columns:repeat(3,1fr)}.guide-main{grid-template-columns:.8fr 1.2fr;gap:28px}.guide-copy h1{font-size:42px}.guide-controls{grid-template-columns:1fr}.step-jump{grid-row:1}.transport{justify-content:space-between}}@media (width<=640px){.site-header{height:70px}.status-pill{display:none}.hero{gap:35px;min-height:auto;padding-top:45px;padding-bottom:55px}.hero-copy{padding:0}.hero h1{font-size:clamp(46px,14.5vw,68px)}.hero-copy>p{margin:26px 0;font-size:14px}.hero-actions{grid-template-columns:1fr 1fr;display:grid}.button{padding:0 14px}.hero-metrics{justify-content:space-between;gap:14px;margin-top:34px}.hero-visual{min-height:510px;margin:0 -22px;padding:0 22px;-webkit-mask-image:linear-gradient(#0000,#000 8% 92%,#0000);mask-image:linear-gradient(#0000,#000 8% 92%,#0000)}.hero-visual:before{width:330px;height:330px}.hero-visual:after{width:240px;height:240px}.visual-toolbar{left:22px;right:22px}.visual-annotation{display:none}.moka-visual{width:min(92%,355px)}.visual-readout{margin-top:-2px}.recipe-panel{padding-top:65px;padding-bottom:65px}.panel-heading{flex-direction:column;align-items:flex-start;margin-bottom:30px}.recipe-picker{width:100%}.recipe-summary{grid-template-columns:1fr 1fr}.summary-card{min-height:140px;padding:16px}.summary-card>strong{font-size:23px}.summary-card:nth-child(2)>small{max-height:29px;overflow:hidden}.editor-wrap{margin:0}.field-grid{grid-template-columns:1fr 1fr}.notes-grid{grid-template-columns:1fr}.editor-actions{grid-template-columns:1fr 1fr;display:grid}.editor-actions>span{grid-column:1/-1}.sequence-preview{padding-top:20px;padding-bottom:75px}.compact-heading{padding-top:55px}.sequence-preview ol{grid-template-columns:1fr 1fr}.sequence-preview li{min-height:100px;padding-right:8px}.sequence-count{align-self:flex-start}.site-footer{min-height:70px}.site-footer span:last-child{display:none}.guide-topbar{grid-template-columns:auto 1fr auto;gap:10px;min-height:68px}.guide-progress-copy{justify-self:center}.guide-progress-copy strong,.guide-settings .mode-switch{display:none}.guide-main{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;padding-top:24px;display:flex;overflow:auto}.guide-copy{min-height:220px}.guide-copy .kicker{margin-bottom:10px}.guide-copy h1{font-size:clamp(38px,12vw,52px)}.guide-copy .instruction{margin:18px 0 8px;font-size:15px}.guide-copy .detail{font-size:11px;line-height:1.55}.guide-visual-wrap{background:0 0;flex:1;min-height:0}.guide-visual-wrap .moka-visual{width:min(84vw,335px)}.guide-visual-wrap .visual-readout{width:min(320px,90vw)}.guide-controls{gap:8px;padding-top:10px}.step-jump{gap:3px}.transport-side{min-width:90px}.transport-side span{display:none}.model-placeholder{height:270px}.model-grid{width:230px;height:230px}.wire-pot{transform:scale(.72)}.model-caption{bottom:-5px}.model-caption>span:last-child{display:none}.complete-screen h1{font-size:52px}.complete-actions{flex-direction:column;width:100%}.complete-actions .button{width:100%}}@media (height<=720px) and (width>=641px){.guide-main{padding-top:22px;padding-bottom:22px}.guide-visual-wrap{min-height:340px}.guide-visual-wrap .moka-visual{width:300px}.guide-copy h1{font-size:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
