@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_9b0764ac-module__xdZdDG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_9b0764ac-module__xdZdDG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_29512b13-module__xbKUzW__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_29512b13-module__xbKUzW__variable{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--bg:#000;--ink:#e4f3e9;--dim:#7fb894;--faint:#3f6b50;--line:#123a22;--well:#06140b;--green:#27f27a;--danger:#ff5c5c;--mono:var(--font-mono),"IBM Plex Mono",ui-monospace,Menlo,monospace;--sans:var(--font-sans),"IBM Plex Sans",system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);max-width:100%;margin:0;overflow-x:clip}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}a{color:var(--green)}::selection{background:var(--green);color:#000}code{font-family:var(--mono);color:var(--green);font-size:.92em}.page{max-width:620px;margin:0 auto;padding:56px 22px 96px}h1{font-family:var(--mono);letter-spacing:-.01em;margin:0 0 14px;font-size:clamp(28px,6vw,40px);font-weight:500;line-height:1.15}h1.hello{min-height:1.15em}.caret{background:var(--green);vertical-align:-.12em;width:.55em;height:1.05em;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}h2{font-family:var(--mono);color:var(--ink);margin:40px 0 12px;font-size:14px;font-weight:500}.lede{color:var(--dim);max-width:48ch;margin:0 0 36px}.field{margin:0 0 16px}.field label{color:var(--dim);margin-bottom:6px;font-size:14px;display:block}.field .opt{font:12px var(--mono);color:var(--faint);margin-left:6px}.field .hint{color:var(--faint);margin:6px 0 0;font-size:13px}input[type=text],input[type=password],input[type=date],input[type=time],select{background:var(--well);border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:2px;padding:10px 12px;font-size:16px}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}input[type=date],input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--mono);font-size:16px}input:focus,select:focus{border-color:var(--green);outline:none}.btn{background:var(--green);color:#000;font:500 15px var(--mono);cursor:pointer;border:0;border-radius:2px;padding:12px 18px}.btn:hover{background:#5cff9e}.btn:disabled{background:var(--line);color:var(--faint);cursor:default}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.btn.ghost{color:var(--green);border:1px solid var(--line);background:0 0;padding:6px 10px;font-size:13px}.btn.ghost:hover{border-color:var(--green)}.btn.ghost:disabled{color:var(--faint);border-color:var(--line)}.btn.ghost.danger{color:var(--danger);border-color:var(--danger)}.linkish{font:inherit;color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.linkish:focus-visible{outline:2px solid var(--green);outline-offset:2px}.row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.note{color:var(--dim);font-size:13px}.danger{color:var(--danger)}.topbar{font:12px var(--mono);color:var(--faint);position:absolute;top:12px;right:14px}.topbar .linkish{color:var(--faint);text-decoration:none}.topbar .linkish:hover{color:var(--green)}.made{border:1px solid var(--green);font-family:var(--mono);margin-top:20px;padding:16px}.made .url{color:var(--green);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:17px}.made small{color:var(--dim);font-family:var(--sans);margin-top:8px;font-size:13px;display:block}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--dim);font-weight:500;font-family:var(--mono);border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 8px 12px 0}td.n{font-family:var(--mono);font-weight:500}td.acts{text-align:right;white-space:nowrap;padding-right:0}td.acts .btn{margin-left:4px}.st{font-family:var(--mono);font-size:12px}.st.open{color:var(--dim)}.st.booked{color:var(--green)}.st.off{color:var(--faint)}td .sub{color:var(--dim);word-break:break-all;font-size:13px;display:block}td .sub.danger{color:var(--danger)}.empty{color:var(--faint);padding:24px 0;font-size:14px}tr.busy{opacity:.45}.days.busy{opacity:.6}.day .tag{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;padding:0 4px;font-size:10px;display:block;overflow:hidden}.day .tag.on{color:var(--green)}.day.blocked{background:var(--well);border-style:solid;border-color:var(--faint)}.day.blocked b{color:var(--faint);text-decoration:line-through}.day.blocked .tag{color:var(--faint)}.blockform{margin-top:4px}.blockform .row{align-items:flex-end;gap:10px}.blockform .field{flex:110px;margin:0 0 12px}.blockform .field.grow{flex:3 160px}.blocks{margin:16px 0 0;padding:0;list-style:none}.blocks li{border-bottom:1px solid var(--line);font:13px var(--mono);flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:8px 0;display:flex}.blocks li .sub{color:var(--dim);font-family:var(--sans);flex:1;font-size:13px}.blocks li .linkish{color:var(--dim);margin-left:auto;font-size:12px;text-decoration:none}.blocks li .linkish:hover{color:var(--danger)}.blocks li.busy{opacity:.45}.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 20px;display:grid}.day{border:1px solid var(--line);color:var(--dim);text-align:center;font:12px var(--mono);cursor:pointer;background:0 0;border-radius:0;min-width:0;padding:10px 2px 8px;overflow:hidden}.day b{color:var(--ink);white-space:nowrap;margin-top:4px;font-size:15px;font-weight:500;display:block}.day.closed{color:var(--faint);cursor:default;border-style:dashed}.day.closed b{color:var(--faint)}.day.today b{text-decoration:underline;-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:3px}.day.sel{border-color:var(--green);background:var(--well)}.day:focus-visible{outline:2px solid var(--green);outline-offset:2px}.slots{flex-wrap:wrap;gap:8px;min-height:38px;margin:0 0 20px;display:flex}.slot{border:1px solid var(--line);color:var(--dim);font:14px var(--mono);cursor:pointer;background:0 0;border-radius:0;padding:8px 12px}.slot:hover{border-color:var(--faint)}.slot.sel{background:var(--green);border-color:var(--green);color:#000}.slot:focus-visible{outline:2px solid var(--green);outline-offset:2px}.slots .note{align-self:center}.summary{font-family:var(--mono);color:var(--dim);min-height:1.5em;margin:0 0 20px;font-size:14px}.summary b{color:var(--ink);font-weight:500}.done{font-family:var(--mono);color:var(--green);font-size:17px}.done small{color:var(--dim);font-family:var(--sans);margin-top:8px;font-size:14px;display:block}.foot{font:12px var(--mono);color:var(--faint);margin-top:56px}@media (prefers-reduced-motion:reduce){.caret{animation:none}}@media (max-width:600px){.tablewrap{overflow:visible}table,tbody,tr,td{width:100%;display:block}thead{display:none}tr{border-bottom:1px solid var(--line);padding:14px 0}td{border:0;padding:2px 0}td.acts{text-align:left;white-space:normal;padding-top:10px}td.acts .btn{margin:0 6px 6px 0}.btn.ghost{padding:9px 13px;font-size:14px}.blockform .field{flex:42%}.blockform .field.grow{flex:100%}}@media (max-width:480px){.page{padding:44px 18px 80px}.day{padding:8px 1px 6px}.day b{font-size:13px}.day .tag{padding:0 2px;font-size:9px}.slot{padding:10px 12px}.btn{padding:14px 18px}.topbar{top:10px;right:12px}}
