@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-wdth-DY7AcnAa.woff2)format("woff2-variations"),url(/assets/archivo-wdth-DY7AcnAa.woff2)format("woff2")}@font-face{font-family:B612 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/b612-mono-400-BDgzQEaT.woff2)format("woff2")}@font-face{font-family:B612 Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/b612-mono-700-wbdMaN5I.woff2)format("woff2")}:root{--paper:#f6efe8;--paper-2:#ede3d8;--desk:#dcd1c4;--ink:#1a1a1a;--ink-2:#5b554f;--ink-on-dark:#a59c92;--hair:#cfc4b7;--user:#e24a0e;--ghost:#1a9a9e;--ghost-ink:#12696c;--m:112px;--tabs:56px;--mono:"B612 Mono", ui-monospace, monospace;--huge:"Archivo", "Arial Narrow", sans-serif;--t:12px;--t2:13px}@media (max-width:350px){:root{--m:96px}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:var(--t2);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.p{margin-right:-.32em}.nd{display:inline-block;transform:scaleX(1.7)}.cap{text-box:trim-start cap alphabetic}.tiny{font-size:var(--t);letter-spacing:.04em;text-transform:uppercase}.dim{color:var(--ink-2)}.num{font-family:var(--huge);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:800;font-stretch:62%;line-height:.82}.rule-top{border-top:1px solid var(--ink)}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}input[type=checkbox],input[type=radio]{accent-color:var(--ink)}.app{max-width:430px;min-height:100vh;background-color:var(--paper);min-height:100dvh;padding-bottom:calc(var(--tabs) + 2px + 24px + env(safe-area-inset-bottom));margin:0 auto;position:relative;overflow-x:hidden}.app:before{content:"";top:0;bottom:0;left:calc(var(--m) - 1px);background-color:var(--ink);pointer-events:none;width:1px;position:absolute}@media (min-width:600px){body{background:var(--desk)}.app{max-width:390px;min-height:844px;box-shadow:0 0 0 1px var(--ink), 14px 14px 0 #1a1a1a24;margin:32px auto}}.row{grid-template-columns:var(--m) minmax(0, 1fr);align-items:start;display:grid}.note{font-size:var(--t);color:var(--ink-2);padding:24px 8px 24px 12px;line-height:1.4}.note b{color:inherit;font-weight:400}.note p+p{margin-top:12px}.lg{text-indent:-18px;padding-left:18px}.gl{vertical-align:-1px;width:12px;height:10px;margin-right:6px;display:inline-block;overflow:visible}.body{min-width:0;padding:24px 14px}.runhead{z-index:5;background:var(--paper);border-bottom:4px solid var(--ink);position:sticky;top:0}.runhead .note{text-transform:uppercase;letter-spacing:.04em;padding-top:14px;padding-bottom:10px}.runhead .body{font-size:var(--t);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:baseline;gap:8px;padding-top:14px;padding-bottom:10px;display:flex}.runhead .body b{font-weight:700}.tznote{z-index:1;background:var(--paper);border-bottom:1px solid var(--ink);font-size:var(--t);color:var(--ink-2);padding:8px 16px;position:relative}.sect h2{font-size:var(--t2);letter-spacing:.04em;text-transform:uppercase;border-bottom:3px solid var(--ink);padding-bottom:8px;font-weight:700}.panel{z-index:1;background:var(--paper);padding:24px 16px;position:relative}.keys{grid-template-columns:repeat(5,minmax(56px,1fr));gap:8px;display:grid}.key{border:1.5px solid var(--ink);background:var(--paper);touch-action:manipulation;border-bottom-width:4px;justify-content:center;align-items:center;min-width:56px;height:60px;padding:0 0 2px;transition:transform 60ms,border-bottom-width 60ms,background .15s;display:flex;position:relative}.key .num{white-space:nowrap;font-size:30px;line-height:1}.key .kw{text-transform:uppercase;letter-spacing:.02em;font-size:24px}.key:active{border-bottom-width:1.5px;transform:translateY(3px)}.key.hit{background:var(--ink);color:var(--paper)}.logkey{height:112px;margin-top:8px;position:relative}.log-main{background:var(--ink);width:100%;height:100%;color:var(--paper);border:1.5px solid var(--ink);touch-action:manipulation;border-bottom:6px solid #000;justify-content:space-between;align-items:center;gap:14px;padding:0 18px;transition:transform 60ms;display:flex}.log-main:active{transform:translateY(3px)}.log-main .lk-l{font-family:var(--huge);text-transform:uppercase;letter-spacing:.01em;font-size:46px;font-weight:800;font-stretch:62%;line-height:1}.log-main .lk-n{color:var(--user);white-space:nowrap;font-size:92px;line-height:.8}.type-form,.confirm{background:var(--ink);color:var(--paper);border-bottom:6px solid #000;align-items:center;gap:8px;padding:12px 12px 12px 16px;display:flex;position:absolute;inset:0}.type-form label{font-size:var(--t);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-on-dark);flex:none}.type-form input{border:0;border-bottom:2px solid var(--paper);min-width:0;height:60px;color:var(--user);font-family:var(--huge);appearance:textfield;background:0 0;outline:none;flex:1;font-size:60px;font-weight:800;font-stretch:62%;line-height:1}.type-form input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.type-form input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.type-form button,.confirm button{border:1.5px solid var(--paper);min-width:56px;height:56px;color:var(--paper);font-size:var(--t);text-transform:uppercase;letter-spacing:.04em;padding:0 12px;font-weight:700}.confirm{justify-content:space-between}.confirm .q{font-size:var(--t2);text-transform:uppercase;letter-spacing:.04em;line-height:1.3}.confirm .q .num{color:var(--user);letter-spacing:0;font-size:48px;display:block}.confirm .acts{gap:8px;display:flex}.confirm .yes{background:var(--paper);color:var(--ink)}.logkey :focus-visible{outline-color:var(--paper)}.logrow{gap:8px;margin-top:8px;display:flex}.logrow .logkey{flex:auto;min-width:0;margin-top:0}.recbtn{border:1.5px solid var(--ink);background:var(--paper);height:112px;color:var(--ink);touch-action:manipulation;border-bottom-width:6px;flex-direction:column;flex:0 0 88px;justify-content:center;align-items:center;gap:10px;transition:transform 60ms,border-bottom-width 60ms;display:flex}.recbtn:active{border-bottom-width:3px;transform:translateY(3px)}.recbtn .rec{border:3px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.recbtn .rec i{background:var(--ink);border-radius:50%;width:24px;height:24px}.recbtn .beta{border:1px solid var(--ink-2);color:var(--ink-2);font-size:var(--t);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;line-height:1.2}.lastset{margin-top:16px}.lastset .unsynced{color:var(--ink-2);font-size:var(--t)}.vmark{border:1.5px solid var(--ink);width:18px;height:18px;color:var(--ink);text-indent:0;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.hero-num{width:max-content;color:var(--user);white-space:nowrap;font-size:150px;line-height:.8;transition:color .2s;display:block}.hero-num.behind{color:var(--ghost-ink)}.hero-cap{border-top:1px solid var(--ink);margin-top:12px;padding-top:8px}.hero-cap>b{font-weight:700;display:block}.hero-cap>span{margin-top:4px;display:block}.hero-msg{font-size:var(--t2);color:var(--ink);text-transform:none;letter-spacing:0;margin-top:12px}.bump{animation:.38s cubic-bezier(.2,.9,.3,1.3) bump}@keyframes bump{0%{transform:translateY(0)}35%{transform:translateY(-5px)}to{transform:translateY(0)}}.todaybar svg{width:100%;height:auto;margin-top:8px;display:block;overflow:visible}.line{font-size:var(--t);text-transform:uppercase;letter-spacing:.04em}.line b{font-weight:700}.cells{grid-template-columns:repeat(20,minmax(0,1fr)) auto;align-items:center;gap:4px 2px;margin-top:16px;display:grid}.cell{border:1px solid var(--hair);background:var(--paper);height:11px;position:relative}.cell.full{background:var(--user);border-color:var(--user)}.cell .gm{background:var(--ghost);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.rowend{font-size:var(--t);color:var(--ink-2);text-align:right;padding-left:8px;line-height:11px}.figure svg{width:100%;height:auto;display:block;overflow:visible}.fig-cap{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.fig-cap .lead{color:var(--user);letter-spacing:0;font-size:28px}.fig-cap .lead.behind{color:var(--ghost-ink)}.colhead .note,.colhead .body{border-bottom:1px solid var(--ink);padding-top:6px;padding-bottom:6px}.dayhead{z-index:1;background:var(--paper);border-bottom:1px solid var(--ink);padding:24px 14px 6px 12px;position:relative}.set .note{align-items:center;gap:8px;min-height:45px;padding:2px 8px 0 12px;display:flex}.set .body{border-bottom:1px dotted var(--hair);padding:0 14px}.set-btn{text-align:left;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 0 6px;display:flex}.set .sn{text-align:right;color:var(--ink);flex:0 0 30px;font-size:28px}.set .sb{flex:1;height:18px}.set .sb i{background:var(--user);height:100%;display:block}.set.open .body{background:var(--paper-2)}.set-acts{gap:8px;padding:4px 0 12px;display:flex}.set-acts button{border:1.5px solid var(--ink);min-width:0;min-height:48px;font-size:var(--t);letter-spacing:.04em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;background:var(--paper);border-bottom-width:3px;flex:1 1 0;padding:8px 12px;font-weight:700;line-height:1.25}.set-acts button.danger{background:var(--ink);color:var(--paper)}.set-acts button:disabled{border-color:var(--hair);color:var(--ink-2)}.set.fresh .body{animation:1.2s ease-out fresh}@keyframes fresh{0%{background:var(--paper-2)}to{background:0 0}}.empty{padding:24px 14px}.tabs{z-index:20;background:var(--paper);border-top:2px solid var(--ink);grid-template-columns:var(--m) 1fr;width:100%;max-width:430px;padding-bottom:env(safe-area-inset-bottom);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (min-width:600px){.tabs{max-width:390px;bottom:max(0px,50vh - 454px)}}.tabs-m{border-right:1px solid var(--ink);display:flex}.tabs-row{gap:4px;display:flex}.tab{height:var(--tabs);min-width:64px;color:var(--ink-2);font-family:var(--huge);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:4px 14px 0;font-size:18px;font-weight:800;font-stretch:62%;display:flex;position:relative}.tab:before{content:"";background:0 0;height:4px;position:absolute;top:0;left:14px;right:14px}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page]:before{background:var(--ink)}.tabs-m .tab{padding-left:12px}.tabs-m .tab:before{left:12px}.toast{left:50%;bottom:calc(var(--tabs) + 14px + env(safe-area-inset-bottom));z-index:30;background:var(--ink);width:calc(min(100%,430px) - 24px);color:var(--paper);opacity:0;pointer-events:none;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 12px 14px 14px;transition:opacity .18s,transform .22s;display:grid;position:fixed;transform:translate(-50%,16px)}@media (min-width:600px){.toast{width:366px;bottom:calc(max(0px, calc((100vh - 844px) / 2 - 32px)) + var(--tabs) + 14px)}}.toast.on{opacity:1;pointer-events:auto;transform:translate(-50%)}.toast .num{color:var(--user);font-size:40px}.toast .msg{font-size:var(--t);letter-spacing:.04em;text-transform:uppercase;line-height:1.35}.toast .msg b{font-size:var(--t2);display:block}.toast button{border:1.5px solid var(--paper);min-width:56px;height:48px;color:var(--paper);font-size:var(--t2);letter-spacing:.04em;text-transform:uppercase;padding:0 14px;font-weight:700}.toast button:active{background:var(--paper);color:var(--ink)}.toast .bar{background:var(--paper);transform-origin:0;width:100%;height:3px;position:absolute;bottom:0;left:0}.toast.on .bar{animation:5s linear forwards drain}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast :focus-visible{outline-color:var(--paper)}@media (prefers-reduced-motion:reduce){.toast.on .bar{animation:none;transform:scaleX(1)}}.card{border:1.5px solid var(--ink);background:var(--paper);border-bottom-width:4px;padding:14px}.card h3{font-size:var(--t2);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-weight:700}.card p+p{margin-top:8px}.card.alert{background:var(--ink);color:var(--paper);border-color:var(--ink)}.card.alert .dim{color:var(--ink-on-dark)}.card.alert button{border-color:var(--paper);color:var(--paper)}.btn{border:1.5px solid var(--ink);background:var(--paper);min-height:56px;font-size:var(--t);letter-spacing:.04em;text-transform:uppercase;border-bottom-width:4px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.btn:active{border-bottom-width:1.5px;transform:translateY(3px)}.btn.solid{background:var(--ink);color:var(--paper);border-bottom-color:#000}.btn.wide{width:100%}.btn+.btn{margin-top:8px}.field{gap:6px;margin-top:16px;display:grid}.field:first-child{margin-top:0}.field>span{font-size:var(--t);letter-spacing:.04em;text-transform:uppercase}.field input,.field select{border:1.5px solid var(--ink);background:var(--paper-2);height:48px;padding:0 10px;font-size:16px}.field.inline{grid-template-columns:1fr 1fr}.help{font-size:var(--t);color:var(--ink-2);margin-top:8px}.stat{border-bottom:1px dotted var(--hair);justify-content:space-between;align-items:baseline;padding:8px 0;display:flex}.stat .num{font-size:28px}.stat .num.user{color:var(--user)}.finish-num{color:var(--user);font-size:120px;line-height:.8;display:block}
