/*! 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-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.w-10{width:calc(var(--spacing) * 10)}.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}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--track\)\]{border-color:var(--track)}.bg-\[var\(--elevated\)\]{background-color:var(--elevated)}.bg-\[var\(--heat\)\]{background-color:var(--heat)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-transparent{background-color:#0000}.p-4{padding:calc(var(--spacing) * 4)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--strong\)\]{color:var(--strong)}.text-\[var\(--text\)\]{color:var(--text)}.text-white{color:var(--color-white)}.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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.placeholder\:text-\[var\(--muted\)\]::placeholder{color:var(--muted)}@media (hover:hover){.hover\:bg-\[var\(--ghost\)\]:hover{background-color:var(--ghost)}.hover\:opacity-90:hover{opacity:.9}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[var\(--ring\)\]:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}: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;--primary:#682860;--secondary:#5a7a38;--ghost:#ffffff0a;--ease-out:cubic-bezier(.32, .72, 0, 1);--ring:var(--primary);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}html:not(.kiosk),html:not(.kiosk) body{overflow:clip auto}html:not(.kiosk) #root{min-width:0;overflow:visible}html.kiosk,html.kiosk body,html.kiosk #root{width:1920px;max-width:none;height:1080px;overflow:hidden}a{color:inherit}html:not(.kiosk) button,html:not(.kiosk) input{font:inherit;background:var(--elevated);color:var(--text);border:1px solid var(--track);box-shadow:none;border-radius:8px;padding:.5rem .75rem}html.kiosk button,html.kiosk input{font:inherit;background:var(--elevated);color:var(--text);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);border:1px solid var(--track);box-shadow:none;border-radius:12px;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:var(--secondary);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%;min-width:0;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: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{border:1px solid var(--track);width:40px;min-width:40px;height:40px;color:var(--strong);background:var(--elevated);box-shadow:none;border-radius:8px;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{border:1px solid var(--track);box-shadow:none;color:var(--strong);border-radius:8px;padding:.35rem .9rem}.chip.on{background:var(--primary);color:var(--text);box-shadow:none;border-color:#0000}.claim-go{opacity:.4;border:none;min-width:2.4rem}.claim-go.ready{opacity:1;background:var(--primary);color:var(--text)}.fridge-head{flex-wrap:nowrap;align-items:center;gap:8px}.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}.temps-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:8px;display:flex}.temps-row .temp{flex:0 auto;min-width:0;margin:0}.tgt-row{color:var(--text);flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;margin:0;display:flex}.tgt-in{text-align:center;letter-spacing:.6px;width:3.4rem;min-width:0;min-height:44px;box-shadow:none;background:0 0;border-radius:8px;padding:8px 2px;font-size:19px;font-weight:600;line-height:24px}.tgt-mid{letter-spacing:.6px;flex:none;justify-content:center;align-items:center;gap:6px;min-width:0;font-size:19px;font-weight:600;line-height:24px;display:flex}.page .tgt-in{width:3.4rem;max-width:3.4rem}.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-head{grid-template-columns:44px 1fr 44px;align-items:center;min-height:44px;margin:0 0 8px;display:grid}.sheet-handle{background:var(--track);border-radius:4px;width:36px;height:4px;margin:0 auto}html:not(.kiosk) .sheet-close,.sheet-close{width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:0;font-size:22px;line-height:1}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.sheet{background:var(--panel);border:1px solid var(--track);padding:8px 16px 24px;padding-bottom:max(20px, env(safe-area-inset-bottom));box-sizing:border-box;width:100%;max-height:90dvh;box-shadow:none;border-radius:12px 12px 0 0;overflow-y:auto}@media (width>=640px){.sheet{border-radius:18px;width:min(420px,100%)}}.hy-block{grid-template-columns:1fr 1fr;gap:6px 10px;margin:8px 0;display:grid}@media (width>=640px){.hy-block{grid-template-columns:repeat(4,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 .hy-lab{grid-column:1/-1;margin:0}.hy-block label{gap:2px}.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-stat{width:22px;height:22px;box-shadow:none;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ov-hit{border:1px solid var(--track);width:40px;min-width:40px;height:40px;color:var(--strong);background:var(--elevated);box-shadow:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ov-hit.forced.heat{border-color:var(--heat)}.ov-hit.forced.cool{border-color:var(--cool)}.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:var(--primary);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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
