/*! 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}}}@layer theme{:root,:host{--spacing:.25rem;--container-3xl:48rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.mx-auto{margin-inline:auto}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.min-w-0{min-width:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#141518;--panel:#191a1b;--elevated:#1c1e22;--text:#f7f8f8;--muted:#8a8f98;--strong:#d0d6e0;--track:#23252a;--ink:var(--text);--mute:var(--muted);--heat:#ff6a3d;--cool:#4fc3f7;--wort:#c09032;--danger:#f43f5e;--set:#5c6168;--ghost:#ffffff0a;--ease-out:cubic-bezier(.32, .72, 0, 1);--shadow-card:inset 0 1px 0 #ffffff12, 0 10px 28px #0000006b, 0 2px 6px #00000047;--shadow-raised:inset 0 1px 0 #ffffff14, 0 18px 40px #00000080;--shadow-icon:inset 0 6px 8px #ffffff1a, 0 6px 16px #00000073;font-feature-settings:"tnum";font-family:Inter Tight,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--canvas);width:100%;max-width:100%;min-height:100%;color:var(--text);margin:0;overflow-x:hidden}html.kiosk,html.kiosk body,html.kiosk #root{width:1920px;max-width:none;height:1080px;overflow:hidden}a{color:inherit}button,input{font:inherit;background:var(--elevated);color:var(--text);box-shadow:var(--shadow-card);border:none;border-radius:12px;padding:.5rem .75rem}button{cursor:pointer;color:var(--strong)}button:active{transform:scale(.97)}.wrap{max-width:960px;margin:0 auto;padding:1.5rem}.card{background:var(--elevated);box-shadow:var(--shadow-card);border:none;border-radius:14px;margin:.75rem 0;padding:1rem 1.25rem}.card.peek{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;display:block}.peek-chev{color:var(--muted);padding:0 4px;font-size:22px;font-weight:400;line-height:1}.row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.mute{color:var(--muted);letter-spacing:.3px;font-size:14.5px;line-height:18px}.brand{letter-spacing:-.7px;font-size:22px;font-weight:600;line-height:28px}.temp{letter-spacing:-.7px;color:var(--text);font-size:22px;font-weight:600;line-height:28px}.tv{flex-direction:column;justify-content:space-between;width:1920px;height:1080px;padding:48px 80px 40px;display:flex;overflow:hidden}.tv h1{letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums;text-wrap:balance;margin:0;font-size:56px;font-weight:500}.tv-head{text-align:center;min-height:160px}.tv-clock-row{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:28px;display:flex}.tv-sep{background:var(--track);flex:none;width:1px;height:36px}.tv-remain{letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums;font-size:56px;font-weight:500}.brew-stack{flex-direction:column;align-items:center;gap:10px;margin-top:28px;display:flex}.brew-next{letter-spacing:-.7px;color:var(--text);transform-origin:50%;min-height:44px;font-size:36px;font-weight:600}.brew-next.idle,.brew-adds.idle{visibility:hidden}.brew-adds{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;min-height:40px;font-size:32px;font-weight:500}.tv .grid{grid-template-columns:repeat(3,1fr);gap:48px;display:grid}.tv .cell{text-align:center;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;position:relative}.tv .cell .wash{display:none}.tv .label{color:#9aa0a8;letter-spacing:.16em;font-size:36px;font-weight:600;position:relative}.tv .big{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text);font-size:96px;font-weight:600;line-height:1;position:relative}.tv .unit{color:var(--muted);vertical-align:.55em;letter-spacing:.04em;margin-left:.18em;font-size:.28em;font-weight:500;display:inline-block}.tv .unit .deg{letter-spacing:0;margin-right:.14em}.tv .target{color:var(--set);justify-content:center;align-items:center;gap:.65rem;margin-top:.7rem;display:flex;position:relative}.tv .tgt-num{letter-spacing:-.03em;color:var(--set);font-variant-numeric:tabular-nums;font-size:72px;font-weight:500;line-height:1}.tv .tgt-num .unit{color:var(--set);font-size:.32em}.tv .elem{min-height:52px;color:var(--muted);justify-content:center;align-items:center;gap:10px;margin-top:12px;font-size:36px;font-weight:600;display:flex;position:relative}.tv .elem.on,.tv .cell.heating .label{color:var(--heat)}.pumps{border-top:1px solid var(--track);justify-content:center;align-items:stretch;gap:0;padding-top:28px;display:flex}.pump{background:var(--elevated);max-width:260px;box-shadow:var(--shadow-card);border:none;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden}.pump-glow{pointer-events:none;border-radius:inherit;position:absolute;inset:0}.pump.on.water .pump-glow{box-shadow:inset 0 0 0 2px var(--cool), 0 0 32px #4fc3f722}.pump.on.wort .pump-glow{box-shadow:inset 0 0 0 2px var(--wort), 0 0 32px #c0903222}.pump-gap{width:80px}.pump-name{letter-spacing:.2em;color:#6a6f76;font-size:32px;font-weight:600;position:relative}.pump.on.water .pump-name{color:var(--cool)}.pump.on.wort .pump-name{color:var(--wort)}.banner{background:var(--danger);color:#fff;text-align:center;letter-spacing:-.7px;transform-origin:top;padding:12px;font-size:40px;font-weight:600}.banner.stale{background:#c27803}.tv.stale .big,.tv.lost .big,.temp.stale{color:#c27803}.tv.lost .big,.temp.lost{color:var(--danger);opacity:.85}.dot{background:#10b981;border-radius:50%;width:.7em;height:.7em;margin-right:.4em;display:inline-block}.dot.stale{background:#c27803}.dot.lost{background:var(--danger)}.page{box-sizing:border-box;letter-spacing:.3px;width:100%;max-width:48rem;min-height:100%;color:var(--text);margin-left:auto;margin-right:auto;padding:1rem;font-size:14.5px;line-height:18px;overflow:hidden visible}@media (width>=640px){.page{padding:1.5rem}}.page h1{letter-spacing:-.7px;color:var(--text);margin:0;font-size:22px;font-weight:600;line-height:28px}.page .card{box-sizing:border-box;width:100%;min-width:0}.page .row{min-width:0}.chip,.pwr,.step,.claim-go,.icon-btn,.page button:not(.board-id){min-height:44px}.icon-btn,.step{width:44px;min-width:44px;height:44px;color:var(--strong);background:var(--elevated);box-shadow:var(--shadow-icon);border:none;border-radius:50%;padding:0}.page input{box-sizing:border-box;width:100%;min-width:0}.login-form{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}@media (width>=640px){.login-form{flex-flow:wrap;align-items:center}.login-form input{flex:10rem;width:auto}.login-form button{width:auto}}.empty-t,.hy-lab{letter-spacing:.6px;color:var(--text);margin-bottom:.5rem;font-size:19px;font-weight:600;line-height:24px}.claim-name{width:100%;margin:.4rem 0}.claim-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.chip{box-shadow:var(--shadow-card);color:var(--strong);border:none;border-radius:12px;padding:.35rem .9rem}.chip.on{background:var(--text);color:#111;box-shadow:var(--shadow-icon)}.claim-go{opacity:.4;border:none;min-width:2.4rem}.claim-go.ready{opacity:1;background:var(--text);color:#111}.fridge-head{flex-wrap:wrap;align-items:center}.fridge-head strong{letter-spacing:.6px;word-break:break-word;min-width:0;color:var(--text);flex:8rem;font-size:19px;font-weight:600;line-height:24px}.pwr{border:none;border-radius:12px;padding:.35rem .9rem;font-weight:600}.pwr.on{background:var(--heat);color:#fff}.set-lab{color:var(--muted);letter-spacing:.3px;margin:10px 0 6px;font-size:14.5px;line-height:18px}.tgt-row{color:var(--text);justify-content:center;align-items:center;gap:16px;margin:10px 0 4px;display:flex}.tgt-mid{letter-spacing:.6px;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;gap:8px;min-width:4.5rem;font-size:19px;font-weight:600;line-height:24px;display:flex}.tgt-mid svg{flex-shrink:0}.disc{color:var(--danger);letter-spacing:.6px;margin-bottom:6px;font-weight:600}.sheet-bak{z-index:20;background:#000000d9;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=640px){.sheet-bak{align-items:center;padding:20px}}.sheet-handle{background:var(--track);border-radius:4px;width:36px;height:4px;margin:4px auto 14px}.sheet{background:var(--panel);padding:8px 16px 24px;padding-bottom:max(20px, env(safe-area-inset-bottom));box-sizing:border-box;width:100%;max-height:90dvh;box-shadow:var(--shadow-raised);border:none;border-radius:18px 18px 0 0;overflow-y:auto}@media (width>=640px){.sheet{border-radius:18px;width:min(420px,100%)}}.hy-block{grid-template-columns:1fr;gap:8px;margin:12px 0;display:grid}@media (width>=640px){.hy-block{grid-template-columns:1fr 1fr}}.meta-grid{gap:.5rem 1rem;margin:.75rem 0;display:grid}.meta-grid dt{color:var(--muted);letter-spacing:.3px;font-size:14.5px;line-height:18px}.meta-grid dd{word-break:break-word;color:var(--text);margin:0}.field,.hy-block label{letter-spacing:.3px;color:var(--muted);flex-direction:column;gap:4px;font-size:14.5px;line-height:18px;display:flex}.hy-block input{width:100%}.hy-block .span2{grid-column:1/-1}.board-id{box-shadow:none;color:var(--muted);cursor:pointer;word-break:break-all;text-align:left;background:0 0;border:none;padding:.25rem .4rem;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.claim-meta{margin:.25rem 0 .5rem}.ov-icons{justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.ov-hit{width:44px;min-width:44px;height:44px;color:var(--strong);background:var(--elevated);box-shadow:var(--shadow-icon);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.ov-hit.forced.heat{box-shadow:0 0 0 2px var(--heat), var(--shadow-icon)}.ov-hit.forced.cool{box-shadow:0 0 0 2px var(--cool), var(--shadow-icon)}.ov-hit.open{background:var(--ghost)}.ov-row{grid-template-columns:44px 1fr 1fr 1fr;align-items:center;gap:6px;margin-top:10px;display:grid}.ov-row .chip{min-width:0;padding-left:0;padding-right:0}.ov-ico{justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.ov-ico.forced.heat svg{filter:drop-shadow(0 0 4px var(--heat))}.ov-ico.forced.cool svg{filter:drop-shadow(0 0 4px var(--cool))}.spans{flex-wrap:wrap;gap:6px;margin:12px 0 8px;display:flex}.spans .chip{min-height:36px;padding:0 12px}.chart-wrap{width:100%;min-height:280px;position:relative;overflow:hidden}.chart-msg{pointer-events:none;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.chart-empty{min-height:280px}.reg-chart{max-width:100%;display:block;overflow:hidden}.reg-chart .rg-grid line{stroke:var(--track);shape-rendering:crispedges}.reg-chart .rg-grid path{stroke:none}.reg-chart .rg-axis{shape-rendering:crispedges}.reg-chart .rg-axis text{fill:var(--muted);font-family:Inter Tight,sans-serif;font-size:10px}.reg-chart .rg-axis line,.reg-chart .rg-axis path{stroke:var(--track)}.reg-chart .rg-temp{fill:none;stroke:var(--text);stroke-width:1.5px}.reg-chart .rg-target{fill:none;stroke:#ce93d8;stroke-width:1.5px;shape-rendering:crispedges}.reg-chart .rg-cooler-line{stroke:#03a9f4;fill:none;opacity:.5;stroke-width:2px}.reg-chart .rg-heater-line{stroke:#ff5722;fill:none;opacity:.5;stroke-width:2px}.reg-chart .rg-con{stroke:#03a9f4;fill:none;stroke-width:3px;shape-rendering:crispedges}.reg-chart .rg-hon{stroke:#ff5722;fill:none;stroke-width:3px;shape-rendering:crispedges}.reg-chart .rg-cooler-area{fill:#03a9f4;stroke:none;opacity:.45}.reg-chart .rg-heater-area{fill:#ff9800;stroke:none;opacity:.45}.reg-chart .rg-chtrans{fill:none;stroke:var(--text);stroke-width:.5px;stroke-dasharray:4 4;opacity:.25;shape-rendering:crispedges}.ov-note{letter-spacing:.3px;margin-top:4px;font-size:14.5px;line-height:18px}.brew-copy{margin:.5rem 0 0}.page .temp .unit{letter-spacing:.3px;color:var(--muted);margin-left:6px;font-size:14.5px;font-weight:400;line-height:18px}.page .temp .deg{margin-right:.12em}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!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}
