@font-face{font-family:Big Shoulders Display;font-weight:700;font-display:swap;src:url(/assets/big-shoulders-display-latin-700-normal-KM2fueoL.woff2)format("woff2")}@font-face{font-family:Work Sans;font-weight:400;font-display:swap;src:url(/assets/work-sans-latin-400-normal-jUejSri3.woff2)format("woff2")}@font-face{font-family:Work Sans;font-weight:600;font-display:swap;src:url(/assets/work-sans-latin-600-normal-DB-2V89X.woff2)format("woff2")}@font-face{font-family:XRAMEN JP;src:url(data:font/woff;base64,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)format("woff");font-weight:700;font-display:block}:root{--ink:#1a1516;--cream:#f6ecd8;--orange:#d87034;--white:#fff;--brick:#a3281a;--bg:var(--ink);--fg:var(--cream);--muted:#cac1b1;--line:#3d3634;--surface:#2a2425;--shadow:#100d0e;--jp:var(--orange);--display:"Big Shoulders Display", "Arial Narrow", sans-serif;--body:"Work Sans", system-ui, sans-serif;--pad:clamp(20px, 4vw, 48px);font-family:var(--body);color:var(--fg);background:var(--ink);-webkit-tap-highlight-color:transparent;font-size:17px;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;border-radius:0}:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.screen{background:var(--bg);min-width:0;min-height:100dvh;color:var(--fg);padding:max(var(--pad), env(safe-area-inset-top)) max(var(--pad), env(safe-area-inset-right)) max(var(--pad), env(safe-area-inset-bottom)) max(var(--pad), env(safe-area-inset-left));flex-direction:column;display:flex}.screen--center{justify-content:center;align-items:center}.admin{--bg:var(--cream);--fg:var(--ink);--muted:#5a4f49;--line:#d6cab1;--surface:#ede1c8;--shadow:#999286}.wordmark{font-family:var(--display);letter-spacing:3px;font-size:34px;font-weight:700;line-height:1}.wordmark--big{font-size:64px}.masthead{align-items:center;gap:16px;display:flex}.masthead__rule{background:currentColor;width:2px;height:30px}.masthead__label{font-family:var(--display);letter-spacing:2px;text-transform:uppercase;font-size:24px;font-weight:700;line-height:1}.empty{color:var(--muted)}.hint{color:var(--muted);font-size:.88rem}.cap{text-transform:capitalize}.jp{color:var(--jp);-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;align-items:center;font-family:XRAMEN JP,sans-serif;font-weight:700;line-height:1;display:flex}.jp__g{display:block}.jp__g--bar{transform:rotate(90deg)}.btn{background:var(--orange);color:var(--ink);min-height:52px;box-shadow:4px 5px 0 var(--shadow);border:0;padding:12px 22px;font-weight:600}.btn:active:not(:disabled){box-shadow:none;transform:translate(4px,5px)}.btn:disabled{opacity:.4;cursor:default}.btn--big{min-height:68px;font-family:var(--display);letter-spacing:2px;text-transform:uppercase;padding:10px 40px;font-size:30px}.btn--ghost{color:var(--fg);box-shadow:inset 0 0 0 2px var(--fg);background:0 0}.btn--ghost:active:not(:disabled){background:var(--surface);box-shadow:inset 0 0 0 2px var(--fg);transform:none}.back-btn{color:var(--muted);text-underline-offset:4px;background:0 0;border:0;padding:12px 0;text-decoration:underline}.back-btn:hover{color:var(--fg)}.btn--ghost:hover:not(:disabled){background:var(--surface)}::selection{background:var(--orange);color:var(--ink)}.back-btn{align-self:flex-start;min-height:48px}input,select{font:inherit;color:var(--fg);background:var(--bg);border:2px solid var(--fg);border-radius:0;width:100%;min-height:50px;padding:10px 12px}input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:0}input::placeholder{color:var(--muted);opacity:.8}label{color:var(--muted);gap:6px;font-size:.88rem;display:grid}fieldset{border:0;border-top:2px solid var(--fg);gap:16px;min-width:0;margin:0;padding:22px 0 0;display:grid}legend{float:left;width:100%;font-family:var(--display);letter-spacing:1px;text-transform:uppercase;color:var(--fg);margin-bottom:4px;padding:0;font-size:28px;font-weight:700;line-height:1}.row{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.row>label{flex:150px}.band{background:var(--brick);color:var(--cream);text-align:left;border:0;width:100%;padding:12px 16px;font-weight:600}.form-error{background:var(--brick);color:var(--cream);padding:10px 14px;font-weight:600}.kiosk{gap:var(--pad);flex-direction:row}.kiosk__main{flex-direction:column;flex:1;min-width:0;display:flex}.kiosk .jp{justify-content:space-between;padding:4px 0;font-size:min(13.2vh,132px)}.clock{flex-wrap:wrap;align-items:baseline;gap:20px;margin-top:clamp(16px,4vh,40px);display:flex}.clock__time{font-family:var(--display);letter-spacing:2px;font-variant-numeric:tabular-nums;font-size:clamp(72px,14vh,136px);font-weight:700;line-height:.86}.clock__date{color:var(--muted);font-size:1.15rem}.clock__date:first-letter{text-transform:uppercase}.kiosk__punch{flex:1;align-items:center;padding:clamp(16px,4vh,40px) 0;display:flex}.kiosk__punch .pinpad{max-width:none;margin:0}.kiosk__punch .pinpad__title{font-size:clamp(44px,7vw,92px)}.pinpad{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:center;gap:clamp(28px,6vw,88px);width:100%;max-width:1040px;margin:0 auto;display:grid}.pinpad__info{flex-direction:column;gap:18px;min-width:0;display:flex}.pinpad__title{font-family:var(--display);letter-spacing:2px;text-transform:uppercase;overflow-wrap:anywhere;font-size:clamp(52px,8.4vw,112px);font-weight:700;line-height:.9}.pinpad__subtitle{color:var(--muted);max-width:30ch;font-size:1.1rem}.pinpad__dots{gap:12px;margin-top:10px;display:flex}.dot{width:26px;height:26px;box-shadow:inset 0 0 0 2px var(--fg)}.dot--opt{box-shadow:inset 0 0 0 2px var(--line)}.dot--on{background:var(--orange);box-shadow:none}.pinpad__error{min-height:2.9em;font-weight:600}.pinpad__error:not(:empty){color:var(--cream)}.pinpad__keys{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.key{background:var(--surface);min-height:clamp(72px,12.5vh,96px);font-family:var(--display);border:0;font-size:42px;font-weight:700;line-height:1}.key:active:not(:disabled){background:var(--fg);color:var(--bg)}.key--muted{color:var(--muted);font-family:var(--body);font-size:28px}.key--blank{color:var(--muted);font-family:var(--body);background:0 0;place-items:center;display:grid}.scene{gap:var(--pad);min-height:100%;padding:max(var(--pad), env(safe-area-inset-top)) var(--pad) var(--pad);background:var(--bg);color:var(--fg);display:flex;position:relative;overflow:hidden}.scene--in{--bg:var(--orange);--fg:var(--ink);--title:var(--white);--muted:var(--ink);--line:#b55c29;--shadow:#864520;--jp:var(--ink);--speed:var(--white)}.scene--out{--bg:var(--cream);--fg:var(--ink);--title:var(--ink);--muted:#5a4f49;--line:#d6cab1;--shadow:#999286;--jp:var(--ink);--speed:var(--ink)}.scene__text{z-index:1;flex-direction:column;flex:1;gap:18px;min-width:0;display:flex;position:relative}.scene__title{font-family:var(--display);color:var(--title);letter-spacing:3px;text-transform:uppercase;font-variant-numeric:tabular-nums;flex-wrap:wrap;column-gap:.22em;font-size:clamp(64px,min(21vh,15vw),190px);font-weight:700;line-height:.84;display:flex}.scene__name{font-size:1.35rem;font-weight:600}.scene__month{gap:12px;max-width:520px;margin-top:auto;display:grid}.scene__label{font-weight:600}.figures{border-top:2px solid var(--fg);border-bottom:2px solid var(--fg);gap:clamp(24px,5vw,56px);padding:12px 0;display:flex}.figures div{display:grid}.figures strong{font-family:var(--display);letter-spacing:1px;font-size:46px;line-height:1}.figures span{font-size:.9rem}.scene__recent{margin:0;padding:0;list-style:none}.scene__recent li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;padding:5px 0;display:flex}.scene__done{background:var(--ink);color:var(--cream);align-self:flex-start;margin-top:14px}.scene .band{max-width:520px}.scene .jp{justify-content:flex-start;gap:.06em;font-size:min(34vh,22vw,300px)}.speed{pointer-events:none;position:absolute;inset:0}.speed span{background:var(--speed);width:46%;height:5px;animation:.45s cubic-bezier(.16,1,.3,1) both streak;position:absolute;right:-70%}.speed span:first-child{width:30%;height:3px;top:7%}.speed span:nth-child(2){height:7px;animation-delay:40ms;top:16%}.speed span:nth-child(3){width:24%;animation-delay:20ms;top:29%}.speed span:nth-child(4){width:58%;height:3px;animation-delay:70ms;top:41%}.speed span:nth-child(5){width:34%;height:6px;top:52%}.speed span:nth-child(6){width:50%;animation-delay:50ms;top:63%}.speed span:nth-child(7){width:22%;height:3px;animation-delay:30ms;top:74%}.speed span:nth-child(8){width:44%;height:7px;animation-delay:80ms;top:85%}.speed span:nth-child(9){width:30%;animation-delay:10ms;top:93%}@keyframes streak{0%{opacity:1;transform:translate(0)}70%{opacity:1}to{opacity:0;transform:translate(-420%)}}.scene .jp{transform-origin:100% 0;animation:.3s cubic-bezier(.16,1,.3,1) .1s both settle}@keyframes settle{0%{transform:scale(1.1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.speed{display:none}.scene .jp{animation:none}}.device-setup,.offline{gap:18px;width:min(440px,100%);display:grid}.offline h2,.device-setup h2{font-family:var(--display);letter-spacing:1.5px;text-transform:uppercase;font-size:44px;line-height:1}.admin{gap:18px}.settings{gap:22px;max-width:760px;display:grid}.settings .btn{justify-self:start}@media (width<=760px){.kiosk .jp{display:none}.pinpad{grid-template-columns:1fr;gap:20px;max-width:420px}.pinpad__error{min-height:1.5em}.scene{flex-direction:column}.scene .jp{flex-direction:row;justify-content:flex-end;gap:.1em;margin-top:8px;font-size:72px}.scene__title{padding-right:0;font-size:clamp(64px,19vw,110px)}.scene__month{max-width:none}.scene__done{align-self:stretch}.kiosk__punch{align-items:flex-start;padding-top:8px}.masthead__rule,.admin .masthead__label{display:none}}@media print{@page{size:A4 landscape;margin:12mm}html,body,#root{height:auto;background:#fff!important}.screen{color:#000;background:#fff;min-height:0;padding:0}.admin{gap:0;margin:0;padding:0;overflow:visible;display:block!important}}.status{margin-left:10px;padding:0 6px;font-weight:600;display:inline-block}.device{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 0;display:flex}.pinpad__extra{flex-direction:column;align-items:flex-start;margin-top:-8px;display:flex}@media (orientation:portrait) and (width<=1100px){.pinpad{grid-template-columns:1fr;gap:clamp(16px,3vh,32px);max-width:520px}.kiosk__punch{align-items:flex-start}.pinpad__title{font-size:clamp(44px,8vw,88px)}.pinpad__subtitle{max-width:none}}@media (width<=760px){.kiosk .masthead{font-size:.9em}.clock{gap:4px 12px;margin-top:6px}.clock__time{font-size:clamp(48px,9vh,84px)}.clock__date{font-size:.95rem}.kiosk__punch{padding:clamp(6px,2vh,20px) 0}.kiosk__punch .pinpad__title,.pinpad__title{font-size:clamp(30px,5vh,48px)}.pinpad{gap:clamp(10px,2vh,20px)}.pinpad__info{gap:8px}.pinpad__dots{margin-top:2px}.pinpad__keys{gap:8px}.key{min-height:clamp(50px,8.6vh,76px);font-size:clamp(28px,4.4vh,40px)}.key--muted{font-size:24px}.admin{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}.pair-code{font-family:var(--display);letter-spacing:.14em;text-align:center;text-transform:uppercase;font-size:40px!important}
