*{box-sizing:border-box}.brew{text-align:center;width:min(92vw,480px);padding:24px 16px}.art{display:block;width:min(68vw,280px);height:auto;margin:auto;overflow:visible}.forming,.drop,.ripple{transform-box:fill-box}.forming{transform-origin:top center}.drop,.ripple{transform-origin:center}.forming{transform:scale(.35,.2);opacity:.3}.drop,.ripple{opacity:0}.brew-home.started .forming{animation:gather 1.3s ease-in infinite}.brew-home.started .drop{animation:fall 1.3s linear infinite}.brew-home.started .ripple{animation:ripple 1.3s ease-out infinite}.start{display:block;width:126px;height:126px;border-radius:50%;border:1px solid #b6111b;background:#d71e2a;color:white;font:600 18px/1.3 Georgia,serif;padding:18px;margin:34px auto 22px;cursor:pointer;box-shadow:0 0 22px #d71e2a60;animation:glow 2.2s ease-in-out infinite}.start:disabled{animation:none;box-shadow:none;background:#c91b25;cursor:default}.start:focus-visible{outline:2px solid #000;outline-offset:6px}.label{font:14px/1.6 Arial;letter-spacing:.04em;margin:0}.note{font:11px/1.5 Arial;color:#777;margin-top:22px}@keyframes glow{50%{box-shadow:0 0 40px #d71e2a80}}@media(prefers-reduced-motion:reduce){.start,.brew-home.started .forming,.brew-home.started .drop,.brew-home.started .ripple{animation:none}.brew-home.started .drop,.brew-home.started .ripple{opacity:0}}@keyframes gather{0%,10%{transform:scale(.35,.2);opacity:.3}45%{transform:scale(.8,.9);opacity:1}58%{transform:scale(.75,1.18);opacity:1}61%,100%{transform:scale(.35,.2);opacity:.3}}
@keyframes fall{0%,59%{transform:translateY(0);opacity:0}60%{transform:translateY(0);opacity:1}69%{transform:translateY(31px);opacity:1}78%{transform:translateY(82px);opacity:1}82%{transform:translateY(101px);opacity:0}100%{transform:translateY(101px);opacity:0}}
@keyframes ripple{0%,79%{transform:scale(.1,1);opacity:0}82%{transform:scale(.25,1);opacity:.65}96%{transform:scale(1.1,1);opacity:0}100%{opacity:0}}
.brew{width:min(96vw,600px);padding:24px 16px 30px}.art{width:min(84vw,390px)}.start{width:88px;height:88px;padding:10px;font:600 14px/1.25 Georgia,serif;margin:56px auto 22px;box-shadow:0 0 14px #d71e2a45}@keyframes glow{50%{box-shadow:0 0 23px #d71e2a65}}.note{margin-top:24px}@media(max-height:740px){.art{width:min(80vw,320px)}.start{margin-top:36px}}@media(prefers-reduced-motion:reduce){.start{animation:none}}.mini-logo{display:block;width:190px;max-width:52vw;height:auto;margin:0 auto 26px}.art{width:min(80vw,340px)}@media(max-height:740px){.brew{padding-top:18px}.mini-logo{width:165px;margin-bottom:14px}.art{width:min(76vw,290px)}.start{margin-top:28px}} .start,.red{width:auto;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#000;box-shadow:none;animation:none;display:flex;flex-direction:column;align-items:center;gap:18px;margin:42px auto 0;font:600 17px/1.3 Georgia,serif}.glass-orb{position:relative;display:block;width:80px;height:80px;border-radius:50%;border:1px solid #9d0b17;background:radial-gradient(ellipse at 32% 18%,#fff5e8 0%,#ffbab2 8%,#ff4b4f 23%,#e31829 46%,#9f0012 75%,#4f0009 100%);box-shadow:inset 0 2px 3px #ffffffa0,inset 0 -7px 9px #45000780,0 3px 5px #76000e50,0 0 24px #ed182a70;animation:orbglow 2.4s ease-in-out infinite}.glass-orb:before{content:"";position:absolute;top:7px;left:13px;right:13px;height:26px;border-radius:50%;background:linear-gradient(#ffffffa8,#ffffff05);transform:rotate(-12deg)}.glass-orb:after{content:"";position:absolute;bottom:7px;left:17px;right:17px;height:8px;border-radius:50%;background:#ff646d80;filter:blur(3px)}.start:disabled,.red:disabled{background:transparent;color:#000;box-shadow:none;animation:none;opacity:1}.start:disabled .glass-orb,.red:disabled .glass-orb{animation:none;box-shadow:inset 0 2px 3px #ffffffa0,inset 0 -7px 9px #45000780,0 2px 3px #76000e30}.label,.note{display:none}.brew-words{border-bottom:1px solid transparent}@media(hover:hover) and (pointer:fine){.start:not(:disabled):hover .brew-words,.red:not(:disabled):hover .brew-words{border-bottom-color:#000}}@keyframes orbglow{50%{box-shadow:inset 0 2px 3px #ffffffa0,inset 0 -7px 9px #45000780,0 3px 5px #76000e50,0 0 34px #ed182a95}}@media(prefers-reduced-motion:reduce){.glass-orb{animation:none}}.glass-orb{border:5px solid #bdbdbd;background:radial-gradient(circle at 50% 52%,#ffb0a2 0%,#ff5244 5%,#e82720 23%,#ac100b 46%,#430302 73%,#100000 100%);box-shadow:0 0 0 1px #737373,inset 0 0 0 1px #fff9,inset 0 5px 9px #000b,0 3px 5px #0003,0 0 20px #df211b60;animation:lensglow 2.4s ease-in-out infinite}.glass-orb:before{top:7px;left:17px;right:17px;height:10px;background:#ffffff65;transform:none;filter:blur(1px)}.glass-orb:after{top:14px;bottom:auto;left:8px;right:auto;width:9px;height:15px;background:#ffffff45;transform:rotate(30deg);filter:blur(1px)}.start:disabled .glass-orb,.red:disabled .glass-orb{animation:none;box-shadow:0 0 0 1px #737373,inset 0 0 0 1px #fff9,inset 0 5px 9px #000b,0 2px 4px #0002;background:radial-gradient(circle at 50% 52%,#e45340 0%,#bd231a 23%,#84100b 46%,#350302 73%,#100000 100%)}@keyframes lensglow{50%{box-shadow:0 0 0 1px #737373,inset 0 0 0 1px #fff9,inset 0 5px 9px #000b,0 3px 5px #0003,0 0 30px #df211b90}}@media(prefers-reduced-motion:reduce){.glass-orb{animation:none}}.brew{width:100%;max-width:none;min-height:100svh;padding:0 16px 22px;display:flex;flex-direction:column;align-items:center}.art{width:min(94vw,580px);height:min(66svh,598px);flex-shrink:0;margin:0 auto}.start{margin:18px auto 0;gap:14px}.mini-logo{width:110px;max-width:30vw;margin:28px auto 0}.glass-orb{width:72px;height:72px}.brew-words{font-size:16px}@media(max-width:550px){.art{width:calc(100vw - 16px);height:64svh;transform:scaleX(1.12);transform-origin:top center}.brew{padding:0 8px 18px;overflow-x:clip}.start{margin-top:12px}.mini-logo{margin-top:24px}}@media(max-height:650px){.art{height:58svh}.start{margin-top:8px}.mini-logo{margin-top:16px}.glass-orb{width:64px;height:64px}}
.brew-home{color:#000;background:#fff;font-family:Arial,sans-serif;text-align:center}.brew-home[hidden]{display:none!important}.brew-home .brew{margin:0 auto}.brew-status{font:13px/1.5 Arial,sans-serif;color:#444;max-width:340px;margin:16px auto}.last-edition{background:transparent;color:#000;border:0;text-decoration:underline;font:13px Arial,sans-serif;padding:12px;margin:4px auto}.brew-home .mini-logo{display:block}.brew-home .start{cursor:pointer}.brew-home .start:disabled{cursor:wait}

/* Explicit ready/pressed states: availability never controls the lamp. */
.brew-home .start{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent;appearance:none;isolation:isolate}
.brew-home .start .glass-orb{filter:brightness(1)!important;background:radial-gradient(circle at 50% 52%,#ffb0a2 0%,#ff5244 5%,#e82720 23%,#ac100b 46%,#430302 73%,#100000 100%)!important;box-shadow:0 0 24px #df211b90!important;transition:transform 140ms ease,filter 140ms ease;will-change:transform}
.brew-home.ready .start .glass-orb{animation:living-ember 3.4s ease-in-out infinite!important}
.brew-home.pressed .start .glass-orb,.brew-home.started .start .glass-orb{animation:none!important;filter:brightness(.45)!important;transform:translateY(2px) scale(.96);box-shadow:inset 0 3px 8px #0008!important}
.brew-home.started .forming,.brew-home.started .drop,.brew-home.started .ripple{animation-delay:-.8s}
.brew-status-line{display:block;min-height:1.5em}.brew-home .brew-status{min-height:3em;max-width:440px;text-align:center}.brew-home .brew-status:empty{visibility:hidden}
.brew-sound{border:0;background:transparent;color:#666;text-decoration:underline;font:11px Arial;padding:8px;cursor:pointer;margin:8px auto 0}
@keyframes living-ember{0%,100%{transform:translateY(0);box-shadow:0 0 22px #df211b90}45%{transform:translateY(-.7px);box-shadow:0 0 32px #ef372caa}75%{box-shadow:0 0 25px #e5282980}}
@media(prefers-reduced-motion:reduce){.brew-home .start .glass-orb{animation:none!important;transition:none;transform:none!important}}

/* Keep the lamp and prompt stable during the single-tap ritual. */
.brew-home .start{display:flex!important;visibility:visible!important;opacity:1!important;color:#000}
.brew-home .brew-words{display:block;visibility:visible;opacity:1;animation:none;transition:none;text-align:center}
.brew-home.pressed .brew-words,.brew-home.started .brew-words{visibility:visible}
.brew-home .brew-status{width:100%;max-width:none;min-height:1.5em;margin:0 auto 16px;font-size:clamp(10px,2.8vw,13px);text-align:center}
.brew-status-line{white-space:nowrap;text-align:center}

