@font-face{font-family:Oswald;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/oswald-400-600-latin-BUAu8bKM.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/oswald-400-600-latin-ext-CgjUYnYA.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/oswald-400-600-vietnamese-CcLP0l1t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/poppins-500-latin-CWICHMj6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/poppins-500-latin-ext-DYJoBICm.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/poppins-600-latin-DJVo7c07.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/poppins-600-latin-ext-BO279Z4F.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--ground:#f5f5f7;--ground-drivers:#e9e9ed;--surface:#fff;--surface-ready-pulse:#e9f6f0;--line:#dcdce0;--line-strong:#b4b4b8;--chip:#e9e9ed;--radius-card:12px;--radius-pill:9999px;--line-w:2px;--ink:#000;--ink-2:#444550;--on-brand:#fff;--brand:#f40404;--brand-deep:#b30000;--customer:#f40404;--drivers:#1b4caf;--ready:#1f5c34;--ready-wash:#e9f6f0;--cooking:#7a7a80;--degraded-field:#f9efc5;--degraded-cap:#745800;--stale-field:#ffcdcd;--stale-cap:#b30000;--fail-field:#b30000;--focus:#1b4caf;--focus-w:6px;--motion-ms:.25s;--bar-ready:16px;--bar-cooking:8px;--pill-border-w:3px;--banner-cap-w:16px;--frame-w:16px;--frame-keyline-w:2px;--font-body:"Poppins", system-ui, "Noto Sans", "Noto Sans CJK SC", sans-serif;--font-display:"Oswald", system-ui, "Noto Sans", "Noto Sans CJK SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-section:64px;--t-section-lh:72px;--t-section-ls:.03em;--t-location:56px;--t-location-lh:64px;--t-location-ls:.02em;--t-clock:56px;--t-clock-lh:64px;--t-group:40px;--t-group-lh:44px;--t-group-ls:.06em;--t-name-ready:72px;--t-name-dense:64px;--t-name-cooking:64px;--t-name-ls:-.01em;--t-ref-ready:56px;--t-ref-cooking:48px;--t-chip:40px;--t-chip-lh:44px;--t-banner:44px;--t-banner-lh:52px;--t-pill:40px;--t-pill-lh:44px;--t-empty:48px;--t-empty-lh:56px;--t-enroll-title:64px;--t-enroll-title-lh:72px;--t-enroll-cell:72px;--t-enroll-cell-lh:80px;--t-key:48px;--t-key-lh:56px;--t-key-ls:.02em;--t-button:48px;--t-button-lh:56px;--t-button-ls:.033em;--t-detail:44px;--t-detail-lh:52px;--t-debug:40px;--t-debug-lh:48px;--card:#fff;--card-radius:8px;--card-border:2px solid transparent;--card-shadow:0 2px 8px #0000001f;--trk-off:#b4b4b8;--trk-on:#f40404;--trk-line-on:#e50202;--trk-pulse-1:#f404044d;--trk-pulse-2:#f4040466;--trk-text-on:#b30000;--live:#1f5c34}@media (orientation:portrait){:root{--t-location:48px;--t-location-lh:56px}}@media (prefers-contrast:more){:root{--ground:#e9e9ed;--ground-drivers:#dcdce0;--ink-2:#000;--line:#b4b4b8;--line-w:3px;--cooking:#444550;--bar-ready:24px;--bar-cooking:12px;--pill-border-w:4px;--banner-cap-w:24px}}@media (prefers-reduced-motion:reduce){:root{--motion-ms:0s}}html,body{background:var(--ground);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;overflow:hidden}*,:before,:after{box-sizing:border-box}.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}.icon{flex:none;width:1em;height:1em;display:inline-block}.icon>svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.icon--fill>svg{fill:currentColor;stroke:none}@keyframes trk-pulse{0%,to{outline:9px solid #0000;transform:scale(1)}40%{outline:5px solid #f404044d}50%{outline:9px solid #f4040466;transform:scale(1.1)}}.trk-dot--current{outline-offset:0;animation:1s infinite trk-pulse}@media (prefers-reduced-motion:reduce){.trk-dot--current{outline:9px solid #f4040466;animation:none}}.viewport{background:var(--ground);position:fixed;inset:0;overflow:hidden}.stage{transform-origin:0 0;transform:translate(var(--stage-x,0px), var(--stage-y,0px)) scale(var(--stage-scale,1));width:var(--design-w,1920px);height:var(--design-h,1080px);background:var(--ground);position:absolute;top:0;left:0;overflow:hidden}.stage__shift{width:100%;height:100%;transform:translate(var(--shift-x,0px), var(--shift-y,0px));transition:transform var(--shift-ms,.6s) ease-in-out}@media (prefers-reduced-motion:reduce){.stage__shift{transition:none}}.stage[data-frame=true]:after{content:"";z-index:20;pointer-events:none;box-shadow:inset 0 0 0 var(--frame-w) var(--fail-field), inset 0 0 0 calc(var(--frame-w) + var(--frame-keyline-w)) var(--brand);position:absolute;inset:0}.stage-floor{font-family:var(--font-mono);font-size:var(--t-debug);line-height:var(--t-debug-lh);color:var(--ink-2);margin:0;position:absolute;bottom:12px;right:16px}.app{--top:24px;--logo-h:80px;--logo-w:324.99px;--clear:72px;--banner-slot:80px;--titles-h:72px;--cards-h:688px;--board-h:760px;--footer-h:64px;--margin-x:40px;--banner-x:20px;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--top) var(--logo-h) var(--clear) var(--banner-slot) var(--board-h) var(--footer-h);background:var(--ground);width:100%;height:100%;color:var(--ink);grid-template-areas:".""logo"".""banner""board""footer";display:grid;position:relative;overflow:hidden}@media (orientation:portrait){.app{--top:16px;--logo-h:120px;--logo-w:487.49px;--clear:104px;--banner-slot:96px;--titles-h:88px;--cards-h:1408px;--board-h:1496px;--footer-h:88px}}.masthead{height:var(--logo-h);grid-area:logo;justify-content:center;min-width:0;display:flex}.masthead__title{margin:0;line-height:0}.masthead__logo{width:var(--logo-w);height:var(--logo-h);display:block}.foot{--foot-raise:0px;--foot-clear:2px;height:calc(var(--footer-h) + var(--foot-raise));margin:0 var(--margin-x);margin-top:calc(-1 * var(--foot-raise));padding-bottom:var(--foot-clear);border-top:var(--line-w) solid var(--line);background:var(--ground);grid-area:footer;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:24px;min-width:0;display:grid}.stage[data-frame=true] .foot{--foot-raise:calc(var(--frame-w) + var(--frame-keyline-w));--foot-clear:calc(var(--frame-w) + var(--frame-keyline-w))}@media (orientation:portrait){.foot{--foot-clear:0px}.stage[data-frame=true] .foot{--foot-raise:0px}}.foot__loc{min-width:0;max-width:100%;font-family:var(--font-display);letter-spacing:var(--t-location-ls);text-transform:uppercase;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;justify-self:start;margin:0;font-size:40px;font-weight:500;line-height:44px;overflow:hidden}.foot__clock{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:48px;font-weight:500;line-height:48px}@media (orientation:portrait){.foot__clock{line-height:56px}}.live{font-family:var(--font-display);letter-spacing:var(--t-location-ls);text-transform:uppercase;color:var(--ink-2);white-space:nowrap;justify-self:end;align-items:center;gap:12px;font-size:40px;font-weight:500;line-height:44px;display:inline-flex}.live__dot{background:var(--live);border-radius:50%;flex:none;width:16px;height:16px}.pill{border-radius:var(--radius-pill);min-width:0;max-width:100%;height:56px;font-family:var(--font-body);font-weight:600;font-size:var(--t-pill);line-height:var(--t-pill-lh);white-space:nowrap;color:var(--ink);background:var(--chip);border:0 solid #0000;justify-self:end;align-items:center;gap:16px;padding:0 24px;display:inline-flex}.pill__text{text-overflow:ellipsis;min-width:0;overflow:hidden}.pill .icon{font-size:40px}.pill--degraded{background:var(--degraded-field);border:var(--pill-border-w) solid var(--degraded-cap);color:var(--ink)}.pill--degraded .icon{color:var(--degraded-cap)}.pill--stale{background:var(--stale-field);border:var(--pill-border-w) solid var(--stale-cap);color:var(--ink)}.pill--stale .icon{color:var(--stale-cap)}.pill--offline{background:var(--fail-field);color:var(--on-brand)}.pill--neutral{background:var(--chip);border:var(--pill-border-w) solid var(--line);color:var(--ink-2)}.banner-slot{height:var(--banner-slot);margin:0 var(--banner-x);grid-area:banner;min-width:0}.banner{height:var(--banner-slot);border-left:var(--banner-cap-w) solid transparent;border-radius:var(--radius-card);font-family:var(--font-body);font-weight:600;font-size:var(--banner-size,44px);line-height:var(--t-banner-lh);align-items:center;gap:24px;min-width:0;max-width:100%;padding:0 32px;display:flex}.banner__text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.banner .icon{font-size:56px}@media (orientation:portrait){.banner{font-size:40px;line-height:46px}.banner__text{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.banner--degraded{background:var(--degraded-field);border-left-color:var(--degraded-cap);color:var(--ink)}.banner--degraded .icon{color:var(--degraded-cap)}.banner--stale{background:var(--stale-field);border-left-color:var(--stale-cap);color:var(--ink)}.banner--stale .icon{color:var(--stale-cap)}.banner--disconnected,.banner--offline{background:var(--fail-field);color:var(--on-brand);border-left-width:0}.board{height:var(--board-h);padding:0 var(--margin-x);grid-area:board;grid-template-columns:900px 900px;column-gap:40px;min-width:0;display:grid}@media (orientation:portrait){.board{grid-template-columns:480px 480px}}.col{flex-direction:column;min-width:0;height:100%;display:flex}.col__head{flex:0 0 72px;justify-content:center;align-items:center;gap:16px;min-width:0;height:72px;display:flex}.col__icon{flex:none;width:48px;height:48px;display:block}.col__title{min-width:0;font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:48px;font-weight:600;line-height:56px;overflow:hidden}@media (orientation:portrait){.col__head{flex-basis:88px;gap:12px;height:88px}.col__title{font-size:44px;line-height:52px}}.col__body{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.col__cards{align-self:flex-start;position:relative}.col__pager{font-family:var(--font-display);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:40px;font-weight:500;line-height:40px;position:absolute;top:100%;right:0}.cards{isolation:isolate;grid-template-columns:438px 438px;align-content:start;gap:20px 24px;margin:0;padding:0;list-style:none;display:grid}@media (orientation:portrait){.cards{grid-template-columns:480px}}.card{background:var(--card);border:var(--card-border);border-radius:var(--card-radius);min-width:0;height:256px;box-shadow:var(--card-shadow);z-index:1;flex-direction:column;padding:18px 24px;display:flex;position:relative}.card__name{min-width:0;font-family:var(--font-body);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;unicode-bidi:plaintext;font-size:56px;font-weight:600;line-height:56px;display:block;overflow:hidden}.card__meta{justify-content:space-between;align-items:center;gap:3px;height:44px;margin-top:6px;margin-bottom:20px;display:flex}.card__ref{min-width:0;font-family:var(--font-display);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:44px;font-weight:600;line-height:44px;overflow:hidden}.card--drained{box-shadow:none}.card--drained .card__name{color:var(--ink-2)}.card--ghost{z-index:0;pointer-events:none;margin:0;position:absolute}.card--exit-gone{animation:.35s cubic-bezier(.4,0,1,1) forwards card-exit-gone}.card--exit-page{animation:.2s ease-in forwards card-exit-page}@keyframes card-exit-gone{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.94)}}@keyframes card-exit-page{0%{opacity:1}to{opacity:0}}.col__cards--leaving{position:absolute;top:0;left:0}.empty{font-family:var(--font-body);font-weight:500;font-size:var(--t-empty);line-height:var(--t-empty-lh);color:var(--ink-2);text-align:center;white-space:nowrap;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:16px;display:flex}.empty .icon{color:var(--ready);font-size:56px}.rest{background:var(--ground);width:100%;height:100%;position:relative;overflow:hidden}.rest__logo{width:320px;height:78.77px;transform:translate(var(--rest-x,0px), var(--rest-y,0px));position:absolute}.trk{flex-direction:column;gap:10px;display:flex}.trk__dots{align-items:center;display:flex}.trk-dot{box-sizing:border-box;background:var(--trk-off);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.trk-dot--passed,.trk-dot--current{background:var(--trk-on)}.trk-dot--current:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px}.trk-dot__check{width:16px;height:13px}.trk-line{background:var(--trk-off);flex:1 1 0;min-width:0;height:2px}.trk-line--on{background:var(--trk-line-on)}.trk--drained .trk-dot,.trk--drained .trk-line{background:var(--trk-off)}.trk--drained .trk-dot--current{outline:none;animation:none}.card--ghost .trk-dot--current{animation:none}.trk__status{color:var(--trk-text-on);margin:0;font-family:Poppins,sans-serif;font-size:40px;font-weight:600;line-height:44px}.trk--drained .trk__status{color:var(--ink-2)}.chmark{height:40px;color:var(--ink);align-items:center;gap:12px;display:inline-flex}.chmark__logo{width:auto;height:40px;display:block}.chmark__name{color:var(--ink);white-space:nowrap;font-family:Poppins,sans-serif;font-size:40px;font-weight:600;line-height:40px}.screen{background:var(--ground);width:100%;height:100%;color:var(--ink);text-align:center;flex-direction:column;align-items:center;gap:32px;padding:120px 48px 48px;display:flex;position:relative;overflow:hidden}@media (orientation:portrait){.screen{padding-top:240px}}.screen__logo{object-fit:contain;flex:none;width:480px;height:118.16px}.screen__title{font-family:var(--font-body);font-weight:600;font-size:var(--t-enroll-title);line-height:var(--t-enroll-title-lh);color:var(--ink);max-width:100%;margin:0}.screen__sub{font-family:var(--font-body);font-weight:500;font-size:var(--t-detail);line-height:var(--t-detail-lh);color:var(--ink-2);margin:0}.screen__glyph{color:var(--brand-deep);font-size:96px}.debug{z-index:10;background:var(--surface);opacity:.97;border:3px solid var(--brand-deep);border-radius:var(--radius-card);flex-direction:column;align-items:flex-start;gap:16px;max-width:900px;max-height:calc(100% - 40px);margin:0;padding:32px;display:flex;position:absolute;bottom:20px;right:20px;overflow:hidden}.debug__pill{border-radius:var(--radius-pill);background:var(--brand-deep);height:44px;color:var(--on-brand);font-family:var(--font-display);font-weight:500;font-size:var(--t-group);line-height:var(--t-group-lh);letter-spacing:var(--t-group-ls);text-transform:uppercase;align-items:center;padding:0 28px;display:inline-flex}.debug__body{font-family:var(--font-mono);font-size:var(--t-debug);line-height:var(--t-debug-lh);color:var(--ink);white-space:pre-wrap;margin:0}.code{--cell-w:96px;--cell-h:120px;--cell-gap:8px;align-items:center;gap:24px;display:flex}.code__group{align-items:center;gap:var(--cell-gap);display:flex}.code__cell{width:var(--cell-w);height:var(--cell-h);border:3px solid var(--line);border-radius:var(--radius-card);background:var(--surface);font-family:var(--font-display);font-weight:600;font-size:var(--t-enroll-cell);line-height:var(--t-enroll-cell-lh);letter-spacing:0;text-transform:uppercase;color:var(--ink);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex}.code__cell--filled,.code__cell--active{border-color:var(--ready)}.code__dash{font-family:var(--font-display);font-weight:500;font-size:var(--t-enroll-cell);line-height:var(--t-enroll-cell-lh);color:var(--ink-2)}.keypad{--keypad-cols:12;--key-w:120px;--key-h:96px;--key-gap:12px;grid-template-columns:repeat(var(--keypad-cols), var(--key-w));grid-auto-rows:var(--key-h);gap:var(--key-gap);display:grid}.key{width:var(--key-w);height:var(--key-h);border:3px solid var(--line);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:var(--t-key);line-height:var(--t-key-lh);letter-spacing:var(--t-key-ls);text-transform:uppercase;cursor:pointer;outline:none;margin:0;padding:0}.key:focus-visible,.key:focus{outline:var(--focus-w) solid var(--focus);outline-offset:calc(-1 * var(--focus-w))}.key--wide{grid-column:span 2;width:auto}.key--submit{background:var(--brand-deep);min-height:96px;color:var(--on-brand);font-size:var(--t-button);line-height:var(--t-button-lh);letter-spacing:var(--t-button-ls);border:0;border-radius:6px}.key--submit:disabled{background:var(--chip);color:var(--ink-2);cursor:default}.key--backspace{background:var(--chip)}.enroll__error{min-height:56px;font-family:var(--font-body);font-weight:500;font-size:var(--t-detail);line-height:var(--t-detail-lh);color:var(--brand-deep);max-width:100%;margin:0}@media (orientation:portrait){.code{--cell-w:64px;gap:16px}.keypad{--keypad-cols:6;--key-w:150px}}.screen--link{gap:16px}.link__title{font-size:64px;line-height:72px}.link__device{font-family:var(--font-body);color:var(--ink-2);margin:0;font-size:40px;font-weight:500;line-height:44px}.link__code{font-family:var(--font-display);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--ink);margin:8px 0;font-size:120px;font-weight:600;line-height:132px}.link__line{max-width:100%;font-family:var(--font-body);color:var(--ink-2);margin:0;font-size:40px;font-weight:500;line-height:44px}.link__keypad{border:0;border-bottom:3px solid var(--ink-2);border-radius:var(--radius-card);max-width:100%;font-family:var(--font-body);color:var(--ink);cursor:pointer;background:0 0;outline:none;margin:24px 0 0;padding:8px 24px;font-size:40px;font-weight:500;line-height:44px}.link__keypad:focus,.link__keypad:focus-visible{outline:var(--focus-w) solid var(--focus);outline-offset:0}.pet{pointer-events:none;position:absolute;overflow:hidden}.pet__stage{width:100%;height:100%}.pet__stage svg{display:block}
/*$vite$:1*/