:root{--ground: #d5d9d2;--card: #faf9f6;--ink: #14181a;--ink-soft: #6b7370;--stamp: #2b2fa8;--amber: #b4720c;--red: #a8322a;--rule: rgba(20, 24, 26, .14);--dot: rgba(20, 24, 26, .05);--tab-off: rgba(20, 24, 26, .09);--tab-off-hover: rgba(20, 24, 26, .14);--wash-amber: rgba(180, 114, 12, .08);--wash-stamp: rgba(43, 47, 168, .07);--shade: rgba(20, 24, 26, .5);--sheen: rgba(255, 255, 255, .6);--glass: rgba(250, 249, 246, .82);--cell-0: rgba(20, 24, 26, .07);--cell-1: rgba(43, 47, 168, .24);--cell-2: rgba(43, 47, 168, .45);--cell-3: rgba(43, 47, 168, .7);--cell-4: #2b2fa8;--display: "Space Mono", "JetBrains Mono", ui-monospace, monospace;--body: "Archivo", system-ui, -apple-system, sans-serif}:root[data-theme=carbon]{--ground: #131517;--card: #21252a;--ink: #e8e6e0;--ink-soft: #8b918f;--stamp: #9296ff;--amber: #e0a355;--red: #ee8377;--rule: rgba(232, 230, 224, .16);--dot: rgba(232, 230, 224, .04);--tab-off: rgba(232, 230, 224, .07);--tab-off-hover: rgba(232, 230, 224, .12);--wash-amber: rgba(224, 163, 85, .12);--wash-stamp: rgba(146, 150, 255, .12);--shade: rgba(0, 0, 0, .7);--sheen: rgba(255, 255, 255, .04);--glass: rgba(33, 37, 42, .86);--cell-0: rgba(232, 230, 224, .08);--cell-1: rgba(146, 150, 255, .3);--cell-2: rgba(146, 150, 255, .5);--cell-3: rgba(146, 150, 255, .75);--cell-4: #9296ff;color-scheme:dark}*{box-sizing:border-box;margin:0}body{background:var(--ground);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:4px 4px;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:2rem 1rem 3rem;padding-top:calc(2rem + env(safe-area-inset-top,0px));padding-right:calc(1rem + env(safe-area-inset-right,0px));padding-bottom:calc(3rem + env(safe-area-inset-bottom,0px));padding-left:calc(1rem + env(safe-area-inset-left,0px))}.nav{width:100%;max-width:30rem}.nav-mark{font-family:var(--display);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);padding-left:.15rem}.tabs{display:flex;gap:2px;align-items:flex-end}.tab{position:relative;padding:.6rem 1.05rem .55rem;border:0;border-radius:0;background:var(--tab-off);color:var(--ink-soft);font-family:var(--display);font-weight:700;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,color .12s ease,padding .12s ease}.tab:hover:not(.tab--on){background:var(--tab-off-hover);color:var(--ink)}.tab--on{background:var(--card);color:var(--ink);padding-top:.75rem;cursor:default}.tab:focus-visible{outline:2px solid var(--stamp);outline-offset:-2px}.tab-dot{display:inline-block;width:5px;height:5px;margin-left:.45rem;vertical-align:1px;border-radius:50%;background:var(--stamp);animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.card{position:relative;width:100%;max-width:30rem;background:var(--card);padding:2.25rem 2rem 1.75rem 3.5rem;box-shadow:0 1px 0 var(--sheen) inset,0 18px 40px -24px var(--shade)}.card--flat{padding:2.25rem 2rem 1.75rem}.card--flat:before{display:none}.log-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;margin-bottom:1.5rem}.card>.subnav:first-child{margin-top:0}.monthnav{display:flex;align-items:center;gap:.85rem}.monthnav-label{min-width:9.5rem;font-family:var(--body);font-size:1.375rem;font-weight:600;letter-spacing:-.01em;text-align:center}.log-foot{margin-top:1.5rem;padding-top:1.25rem;border-top:2px solid var(--ink)}.log-foot .rows-hint{padding-top:.75rem}.subnav{display:flex;gap:1.25rem;margin-top:1.5rem;border-bottom:1px solid var(--rule)}.subtab{position:relative;padding:0 0 .7rem;border:0;background:none;color:var(--ink-soft);font-family:var(--display);font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .12s ease}.subtab:after{content:"";position:absolute;inset:auto 0 -1px 0;height:2px;background:transparent}.subtab:hover{color:var(--ink)}.subtab--on{color:var(--ink);cursor:default}.subtab--on:after{background:var(--stamp)}.subtab:focus-visible{outline:2px solid var(--stamp);outline-offset:3px}.eyebrow--review{color:var(--amber);margin-bottom:.35rem}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:1.75rem;border-right:1px dashed var(--rule);background:radial-gradient(circle 3px at 14px 13px,var(--ground) 98%,transparent 100%) 0 0 / 28px 26px repeat-y}.eyebrow{font-family:var(--display);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.date{font-family:var(--body);font-size:1.375rem;font-weight:600;letter-spacing:-.01em;margin-top:.35rem}.linkbtn{padding:0;border:0;background:none;color:var(--stamp);font-family:var(--display);font-size:.6875rem;letter-spacing:.06em;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.linkbtn:hover{color:var(--ink)}.linkbtn:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.card--auth{max-width:26rem}.auth-blurb{margin-top:.6rem;font-size:.875rem;line-height:1.6;color:var(--ink-soft)}.auth-form{margin-top:1.75rem;padding-top:1.5rem;border-top:2px solid var(--ink);display:flex;flex-direction:column;gap:1rem}.field{display:block}.field-label{display:block;margin-bottom:.4rem;font-family:var(--display);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.field-input{width:100%;padding:.7rem .75rem;border:1.5px solid var(--rule);border-radius:0;background:var(--ground);color:var(--ink);font-family:var(--display);font-size:.9375rem}.field-input:focus{outline:none;border-color:var(--stamp);background:var(--card)}.field-input::placeholder{color:var(--ink-soft);opacity:.7}.auth-error{padding:.7rem .75rem;border-left:3px solid var(--amber);background:var(--wash-amber);font-size:.8125rem;line-height:1.5;color:var(--ink)}.auth-submit{margin-top:.25rem}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:disabled:hover{transform:none;background:var(--ink);border-color:var(--ink)}.auth-swap{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--rule);font-family:var(--display);font-size:.6875rem;color:var(--ink-soft)}.setup-steps{margin-top:1.75rem;padding:1.5rem 0 0 1.1rem;border-top:2px solid var(--ink);display:flex;flex-direction:column;gap:.85rem;font-size:.875rem;line-height:1.6}.setup-steps li{padding-left:.35rem}.setup-steps li::marker{font-family:var(--display);font-weight:700;color:var(--stamp)}code{padding:.1em .35em;background:var(--ground);font-family:var(--display);font-size:.8125em}.psec{margin-top:1.75rem;padding-top:1.5rem;border-top:2px solid var(--ink)}.psec-title{font-family:var(--display);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.psec-blurb{margin-top:.5rem;font-size:.8125rem;line-height:1.6;color:var(--ink-soft)}.psec-foot{margin-top:.85rem;font-size:.75rem;line-height:1.6;color:var(--ink-soft)}.psec-foot--warn{padding:.6rem .75rem;border-left:3px solid var(--amber);background:var(--wash-amber);color:var(--ink)}.auth-form--tight{margin-top:1rem;padding-top:0;border-top:0;gap:.85rem}.prow{display:flex;gap:.625rem;margin-top:.25rem}.auth-ok{padding:.7rem .75rem;border-left:3px solid var(--stamp);background:var(--wash-stamp);font-size:.8125rem;line-height:1.5;color:var(--ink)}.verify{display:flex;align-items:center;gap:.85rem;margin-top:1rem}.pill{padding:.2rem .5rem;font-family:var(--display);font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pill--ok{background:var(--stamp);color:var(--card)}.pill--warn{background:var(--amber);color:var(--card)}.btn--danger{border-color:var(--amber);color:var(--amber)}.btn--danger:hover:not(:disabled){background:var(--red);border-color:var(--red);color:var(--card)}.btn--danger:disabled:hover{background:transparent;border-color:var(--amber)}.btn--wide{display:block;width:100%}.goal{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.6rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.goal-label{font-family:var(--display);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.goal-stepper{display:flex;align-items:center;gap:.75rem}.goal-value{min-width:4.5rem;text-align:center;font-family:var(--display);font-weight:700;font-size:1.125rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.goal-btn{width:1.9rem;height:1.9rem;display:grid;place-items:center;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--display);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease}.goal-btn:hover:not(:disabled){background:var(--ink);color:var(--card)}.goal-btn:disabled{opacity:.3;cursor:not-allowed}.goal-btn:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.readout{margin-top:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--ink)}.progress{margin-top:1.5rem}.progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.progress-remaining{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.progress-caption{font-family:var(--display);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);text-align:right}.progress-track{height:6px;background:var(--rule);overflow:hidden}.progress-fill{height:100%;background:var(--stamp);transition:width .5s cubic-bezier(.2,.9,.3,1)}.progress--met .progress-remaining,.progress--met .progress-fill{color:var(--amber);background:var(--amber)}.readout-value{display:block;font-family:var(--display);font-weight:700;font-size:clamp(3.25rem,15vw,4.5rem);line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.readout-label{display:block;margin-top:.75rem;font-size:.8125rem;color:var(--ink-soft)}.rows{padding:.5rem 0 .25rem}.empty{padding:1.75rem 0;font-size:.9375rem;color:var(--ink-soft);max-width:22ch}.row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 .75rem;padding:.85rem 0;border-bottom:1px solid var(--rule)}.row-kind{font-family:var(--display);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.row-time{grid-row:span 2;align-self:center;font-family:var(--display);font-weight:700;font-size:1.75rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--stamp);transform:rotate(var(--tilt, 0deg));animation:stamp .34s cubic-bezier(.2,.9,.3,1) backwards}.row--break .row-time,.row--break .row-kind{color:var(--amber)}.row--out .row-time{color:var(--ink)}.row-actual{font-family:var(--display);font-size:.6875rem;color:var(--ink-soft);margin-top:.3rem}@keyframes stamp{0%{opacity:0;filter:blur(4px);transform:scale(1.4) rotate(var(--tilt, 0deg))}60%{opacity:1;filter:blur(0);transform:scale(.96) rotate(var(--tilt, 0deg))}to{transform:scale(1) rotate(var(--tilt, 0deg))}}.rows-hint{padding-top:.85rem;font-family:var(--display);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);opacity:.75}.row-time--btn{padding:0;border:0;background:none;cursor:pointer;border-bottom:1.5px dashed transparent}.row-time--btn:hover{border-bottom-color:currentColor}.row-time--btn:focus-visible{outline:2px solid var(--stamp);outline-offset:3px}.row--editing{grid-template-columns:1fr;gap:.6rem;padding:1rem .75rem;margin:.25rem -.75rem;background:var(--ground);border-bottom:0}.row-edit{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.row-input{padding:.45rem .6rem;border:1.5px solid var(--ink);border-radius:0;background:var(--card);color:var(--ink);font-family:var(--display);font-weight:700;font-size:1.125rem;font-variant-numeric:tabular-nums}.row-input:focus{outline:none;border-color:var(--stamp)}.row-error{font-size:.75rem;line-height:1.5;color:var(--amber)}.row-del{justify-self:start;padding:0;border:0;background:none;font-family:var(--display);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.row-del:hover{color:var(--amber)}.stale{margin-top:1.5rem;padding:1rem;border-left:3px solid var(--amber);background:var(--wash-amber)}.stale-text{font-size:.8125rem;line-height:1.6}.stale-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}.history-totals{display:flex;gap:2rem;flex-wrap:wrap;padding-bottom:1.25rem;border-bottom:2px solid var(--ink)}.total-label{display:block;font-family:var(--display);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.total-value{display:block;margin-top:.3rem;font-family:var(--display);font-weight:700;font-size:1.375rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.history-list{list-style:none;padding:0}.hday{padding:.85rem 0;border-bottom:1px solid var(--rule)}.hday-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.hday-date{font-family:var(--display);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.hday-total{font-family:var(--display);font-weight:700;font-size:.9375rem;font-variant-numeric:tabular-nums;color:var(--stamp)}.hcard{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.35rem}.hcard-span{padding:0;border:0;background:none;font-family:var(--display);font-size:.6875rem;color:var(--ink-soft);text-align:left;cursor:pointer;border-bottom:1px dashed transparent}.hcard-span:hover{color:var(--ink);border-bottom-color:var(--rule)}.hcard-span:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.hcard--active .hcard-span{color:var(--stamp);border-bottom-color:var(--stamp)}.history-more{margin-top:1rem}.linkbtn--mute{color:var(--ink-soft)}.linkbtn--mute:hover{color:var(--ink)}.receipt{margin-top:1.5rem;padding-top:1.25rem;border-top:3px double var(--ink)}.receipt-line{font-family:var(--display);font-size:.75rem;line-height:2;color:var(--ink-soft)}.receipt-line span{letter-spacing:.12em;text-transform:uppercase}.receipt-line b{color:var(--ink);margin-right:.85rem}.receipt-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.75rem}.receipt-total span{font-family:var(--display);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.receipt-total em{font-family:var(--display);font-style:normal;font-weight:700;font-size:2rem;letter-spacing:-.03em;color:var(--stamp)}.receipt-note{margin-top:.5rem;font-size:.8125rem;color:var(--ink-soft)}.actions{display:flex;gap:.625rem;margin-top:1.75rem}.btn{flex:1;padding:1rem .75rem;border:1.5px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-family:var(--display);font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,background .12s ease,color .12s ease}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--stamp);outline-offset:3px}.btn--go{background:var(--ink);border-color:var(--ink);color:var(--card)}.btn--go:hover{background:var(--stamp);border-color:var(--stamp)}.btn--pause{border-color:var(--amber);color:var(--amber)}.btn--pause:hover{background:var(--amber);color:var(--card)}.btn--stop:hover{background:var(--ink);color:var(--card)}.fineprint{max-width:30rem;margin-top:1.25rem;font-family:var(--display);font-size:.6875rem;line-height:1.7;color:var(--ink-soft);text-align:center}@media (max-width: 30rem){.card{padding:1.75rem 1.25rem 1.5rem 2.75rem}.card:before{width:1.25rem;background-size:20px 26px;background-position:-4px 0}.card--flat{padding:1.75rem 1.25rem 1.5rem}.tab{flex:1;padding-left:.5rem;padding-right:.5rem;letter-spacing:.08em}.history-totals{gap:1.5rem}}@media (prefers-reduced-motion: reduce){.row-time{animation:none;transform:none}.tab-dot{animation:none}.progress-fill,.btn{transition:none}.btn:hover,.btn:active{transform:none}}.note{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--rule)}.note-input{display:block;width:100%;margin-top:.5rem;padding:.6rem .7rem;border:1.5px solid var(--rule);border-radius:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:.875rem;line-height:1.5;resize:vertical}.note-input:focus{outline:none;border-color:var(--stamp);background:var(--card)}.note-input::placeholder{color:var(--ink-soft)}.note-save{margin-top:.5rem}.hcard-time{display:block}.hcard-note{display:block;margin-top:.15rem;font-family:var(--body);font-size:.75rem;color:var(--ink);opacity:.8}.movecard{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.row-input--sm{font-size:.8125rem;font-weight:400;padding:.35rem .5rem}.addday{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--rule)}.addday-form{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.toast{position:sticky;bottom:1rem;z-index:5;display:flex;align-items:center;gap:1rem;width:100%;max-width:30rem;margin-top:1rem;padding:.85rem 1rem;background:var(--ink);color:var(--card);box-shadow:0 12px 30px -14px var(--shade);animation:rise .2s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.toast-text{flex:1;font-family:var(--display);font-size:.75rem;letter-spacing:.06em}.toast-undo{color:var(--card);font-weight:700}.toast-undo:hover{color:var(--card);opacity:.7}.toast-x{padding:0;border:0;background:none;color:var(--card);font-size:1.25rem;line-height:1;cursor:pointer;opacity:.6}.toast-x:hover{opacity:1}.noteshelf{position:fixed;top:calc(1rem + env(safe-area-inset-top,0px));right:calc(1rem + env(safe-area-inset-right,0px));z-index:40;display:flex;flex-direction:column;gap:.6rem;width:min(21rem,calc(100vw - 2rem));pointer-events:none}.note{pointer-events:auto;position:relative;display:flex;align-items:flex-start;gap:.5rem;padding:.8rem .9rem .8rem 1rem;border:1px solid var(--rule);border-radius:10px;background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 18px 40px -18px var(--shade),0 2px 8px -4px var(--shade);animation:note-in .26s cubic-bezier(.22,1,.36,1)}.note:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:10px 0 0 10px;background:var(--ink-soft)}.note--ok:before{background:var(--stamp)}.note--warn:before{background:var(--amber)}.note--bad:before{background:var(--red)}@keyframes note-in{0%{opacity:0;transform:translate(16px) scale(.98)}}.note--out{animation:note-out .18s ease-in forwards}@keyframes note-out{to{opacity:0;transform:translate(16px) scale(.98)}}.note-main{flex:1;min-width:0}.note-title{font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink)}.note-sub{margin-top:.3rem;font-size:.8rem;line-height:1.45;color:var(--ink-soft)}.note-action{margin-top:.6rem;padding:.3rem .7rem;border:1px solid var(--rule);border-radius:6px;background:none;color:var(--stamp);font-family:var(--display);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.note-action:hover:not(:disabled){background:var(--wash-stamp)}.note-action:disabled{opacity:.55;cursor:default}.note-x{flex:none;padding:0;width:1.1rem;height:1.1rem;border:0;background:none;color:var(--ink-soft);font-size:1.15rem;line-height:1;cursor:pointer;opacity:.55}.note-x:hover{opacity:1}@media (hover: hover){.note-x{opacity:0;transition:opacity .12s ease-out}.note:hover .note-x,.note-x:focus-visible{opacity:.55}.note:hover .note-x:hover{opacity:1}}@media (max-width: 30rem){.noteshelf{left:calc(1rem + env(safe-area-inset-left,0px));right:calc(1rem + env(safe-area-inset-right,0px));width:auto}}.kbd{display:inline-grid;place-items:center;min-width:1.6rem;height:1.4rem;margin-left:.5rem;padding:0 .35rem;border:1px solid currentColor;border-radius:3px;font-family:var(--display);font-size:.625rem;font-weight:700;letter-spacing:.04em;opacity:.55;vertical-align:middle}.kbd--btn{min-width:5.5rem;height:1.9rem;margin:0;background:var(--ground);color:var(--ink);border-color:var(--rule);cursor:pointer;opacity:1;transition:border-color .12s ease}.kbd--btn:hover{border-color:var(--ink)}.kbd--live{border-color:var(--stamp);color:var(--stamp);border-style:dashed}.kbd--btn:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.keys{list-style:none;padding:0;margin-top:1rem}.keyrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--rule)}.keyrow-label{font-size:.8125rem;line-height:1.4}.keyrow-hint{display:block;font-family:var(--display);font-size:.625rem;color:var(--ink-soft);margin-top:.15rem}.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;margin-top:1rem}.theme-opt{display:block;padding:.75rem;border:1.5px solid var(--rule);border-radius:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .12s ease}.theme-opt:hover{border-color:var(--ink-soft)}.theme-opt--on{border-color:var(--stamp)}.theme-opt:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.swatch{display:block;height:1.75rem;margin-bottom:.5rem;border:1px solid var(--rule)}.swatch--paper{background:linear-gradient(90deg,#faf9f6 60%,#2b2fa8 60%)}.swatch--carbon{background:linear-gradient(90deg,#21252a 60%,#9296ff 60%)}.swatch--auto{background:linear-gradient(90deg,#faf9f6 50%,#21252a 50%)}.theme-name{display:block;font-family:var(--display);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.theme-note{display:block;margin-top:.2rem;font-size:.6875rem;line-height:1.4;color:var(--ink-soft)}.trash{list-style:none;padding:0;margin-top:1rem}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--rule)}.trash-what{display:flex;flex-direction:column;gap:.15rem;font-family:var(--display);font-size:.6875rem}.trash-what span{color:var(--ink-soft)}.trash-acts{display:flex;gap:.85rem;flex-shrink:0}.year{margin-top:1.5rem}.year-scroll{overflow-x:auto;padding:1.25rem 0 .5rem}.year-inner{min-width:max-content}.year-months,.year-grid{display:grid;grid-template-columns:repeat(var(--weeks),11px);gap:3px}.year-months{margin-bottom:.35rem;font-family:var(--display);font-size:.625rem;color:var(--ink-soft)}.year-months span{grid-row:1;white-space:nowrap}.year-grid{grid-template-rows:repeat(7,11px);grid-auto-flow:column}.cell{width:11px;height:11px;padding:0;border:0;border-radius:1px;background:var(--cell-0)}button.cell{cursor:pointer}button.cell:hover{outline:1.5px solid var(--ink);outline-offset:1px}button.cell:focus-visible{outline:2px solid var(--stamp);outline-offset:1px}.cell--void{background:transparent}.cell--1{background:var(--cell-1)}.cell--2{background:var(--cell-2)}.cell--3{background:var(--cell-3)}.cell--4{background:var(--cell-4)}.year-key{display:flex;align-items:center;gap:4px;margin-top:1rem;font-family:var(--display);font-size:.625rem;color:var(--ink-soft)}.year-key-label{margin:0 .35rem}.year-key-note{margin-left:auto}@media (max-width: 30rem){.themes{grid-template-columns:1fr}.year-key-note{display:none}}@media (prefers-reduced-motion: reduce){.toast,.note,.note--out{animation:none}}.rows-foot{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:.85rem}.rows-foot .rows-hint{padding-top:0}.week{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--rule)}.week-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.week-label{font-family:var(--display);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin:1rem 0 .85rem}.wday{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0}.wday-track{position:relative;width:100%;height:3.25rem;background:var(--cell-0);overflow:hidden}.wday-goal{position:absolute;left:0;right:0;height:1px;background:var(--ink);opacity:.35}.wday-fill{position:absolute;inset:auto 0 0 0;background:var(--stamp);transition:height .4s cubic-bezier(.2,.9,.3,1)}.wday-fill--over{background:var(--amber)}.wday-letter{font-family:var(--display);font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.wday--today .wday-letter{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.wday--future .wday-track{opacity:.45}.wday-bal{font-family:var(--display);font-size:.5625rem;letter-spacing:-.02em;color:var(--ink-soft);white-space:nowrap;min-height:.75rem}.wday-bal--over{color:var(--amber)}.week-foot{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}.week-total{font-family:var(--display);font-weight:700;font-size:1.125rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.week-of{font-weight:400;font-size:.75rem;color:var(--ink-soft)}.week-left{font-family:var(--display);font-size:.6875rem;color:var(--ink-soft);text-align:right}.week--met .week-left{color:var(--amber)}.week--met .progress-fill{background:var(--amber)}@media (max-width: 30rem){.wday-bal{font-size:.5rem}.wday-track{height:2.75rem}}@media (prefers-reduced-motion: reduce){.wday-fill{transition:none}}.total-sub{font-weight:400;font-size:.6875rem;color:var(--ink-soft)}.meter{margin-top:1.5rem;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"prev face next" "dots dots dots";align-items:center;column-gap:.5rem}.meter-face{grid-area:face;min-height:11.5rem}.meter-arrow{grid-row:1;width:2rem;height:2rem;display:grid;place-items:center;border:0;background:none;color:var(--ink-soft);font-family:var(--display);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:50%;transition:background .12s ease,color .12s ease}.meter-arrow--prev{grid-area:prev}.meter-arrow--next{grid-area:next}.meter-arrow:hover{background:var(--tab-off);color:var(--ink)}.meter-arrow:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.meter-dots{grid-area:dots;display:flex;justify-content:center;gap:.4rem;margin-top:.9rem}.face-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.face-label{font-family:var(--display);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.face-idle,.face-note{font-size:.8125rem;color:var(--ink-soft)}.face-note{margin-top:.6rem;font-family:var(--display);font-size:.625rem}.dot{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:var(--rule);cursor:pointer;transition:background .15s ease,transform .15s ease}.dot:hover{background:var(--ink-soft)}.dot--on{background:var(--stamp);transform:scale(1.35)}.dot:focus-visible{outline:2px solid var(--stamp);outline-offset:3px}.week-pace{margin-top:.7rem;font-size:.75rem;line-height:1.5;color:var(--ink-soft)}.wday--off .wday-track{background:repeating-linear-gradient(45deg,var(--cell-0),var(--cell-0) 3px,transparent 3px,transparent 6px)}.wday--off .wday-letter{opacity:.45}.wlist{list-style:none;padding:0;margin-top:.5rem}.wrow{padding:.7rem 0;border-bottom:1px solid var(--rule)}.wrow--off{opacity:.6}.wrow--today .wrow-day{color:var(--stamp)}.wrow-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.wrow-day{font-family:var(--display);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.wrow-right{display:flex;align-items:baseline;gap:.75rem}.wrow-total{font-family:var(--display);font-size:.9375rem;font-variant-numeric:tabular-nums}.wrow-bal{font-family:var(--display);font-size:.625rem;color:var(--ink-soft)}.wrow-bal--over{color:var(--amber)}.wrow-empty{font-family:var(--display);font-size:.6875rem;color:var(--ink-soft)}.cal{margin-top:.5rem}.cal-heads,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-heads{margin-bottom:.35rem;font-family:var(--display);font-size:.625rem;color:var(--ink-soft);text-align:center}.cal-day{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:3.25rem;padding:.3rem;border:0;border-radius:1px;background:var(--cell-0);color:var(--ink);cursor:pointer;transition:outline-color .12s ease;outline:1.5px solid transparent}.cal-day:hover{outline-color:var(--ink-soft)}.cal-day--open{outline-color:var(--ink)}.cal-day:focus-visible{outline:2px solid var(--stamp)}.cal-day--void{background:transparent;cursor:default}.cal-day--off{background:repeating-linear-gradient(45deg,var(--cell-0),var(--cell-0) 3px,transparent 3px,transparent 6px)}.cal-day--1{background:var(--cell-1)}.cal-day--2{background:var(--cell-2)}.cal-day--3{background:var(--cell-3)}.cal-day--4{background:var(--cell-4)}.cal-day--3,.cal-day--4{color:var(--card)}.cal-day--today{outline-color:var(--stamp)}.cal-num{font-family:var(--display);font-size:.625rem;opacity:.75}.cal-hrs{font-family:var(--display);font-size:.625rem;font-weight:700;letter-spacing:-.02em}.cal-detail{margin-top:1.25rem;padding-top:1rem;border-top:2px solid var(--ink)}.wdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-top:1rem}.wdaybtn{padding:.6rem 0;border:1.5px solid var(--rule);border-radius:0;background:transparent;color:var(--ink-soft);font-family:var(--display);font-size:.6875rem;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .12s ease}.wdaybtn--on{background:var(--ink);border-color:var(--ink);color:var(--card)}.wdaybtn:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.face-note--settle{color:var(--amber);opacity:1;font-family:var(--body);font-size:.75rem;line-height:1.5;margin-top:.75rem}@media (max-width: 30rem){.meter{column-gap:.15rem}.meter-arrow{width:1.6rem;font-size:1.25rem}}.wrow-vac{font-family:var(--display);font-size:.6875rem;color:var(--stamp)}.vac-acts,.vac-edit{display:inline-flex;align-items:center;gap:.5rem}.vac-hours{width:3.5rem}.vac-unit{font-family:var(--display);font-size:.75rem;color:var(--ink-soft)}.week-leave{color:var(--stamp)}.wday--vac .wday-track{background:var(--wash-stamp)}.wday--vac .wday-letter{color:var(--stamp);opacity:1}.cal-day--vac{background:var(--wash-stamp)}.cal-day--vac .cal-num{color:var(--stamp);opacity:1}.week-of-calc{color:var(--ink-soft);font-weight:400}.week-leavework{margin-top:.6rem;font-family:var(--body);font-size:.75rem;line-height:1.5;color:var(--amber)}.wday--vacworked .wday-track{background:var(--wash-stamp);box-shadow:inset 0 0 0 1.5px var(--amber)}.wday--vacworked .wday-bal{color:var(--amber)}.wrow-flag{font-family:var(--display);font-size:.625rem;letter-spacing:.04em;color:var(--amber);white-space:nowrap}.nav-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.sync{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--display);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);cursor:default}.sync-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.sync--synced{color:var(--ink-soft)}.sync--synced .sync-dot{background:#3a9a5c}.sync--pending{color:var(--amber)}.sync--pending .sync-dot{animation:pulse 1.2s ease-in-out infinite}.sync--offline{color:var(--amber)}.sync--loading{color:var(--ink-soft)}.sync--loading .sync-dot{animation:pulse 1.2s ease-in-out infinite}.defrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.5rem 0;border-bottom:1px solid var(--rule)}.deflabel{font-family:var(--display);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.sheetpush{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.sheetpush-ok{font-family:var(--display);font-size:.6875rem;color:var(--stamp)}.sheetpush-bad{font-family:var(--body);font-size:.75rem;line-height:1.5;color:var(--amber)}.checkrow{display:flex;align-items:center;gap:.6rem;margin-top:1rem;font-size:.8125rem;cursor:pointer}.tabs--inline{gap:2px}.tabs--inline .tab{padding:.4rem .7rem;font-size:.625rem}.field-hint{display:block;margin-top:.35rem;font-family:var(--display);font-size:.625rem;line-height:1.5;color:var(--ink-soft)}.field-hint--bad{color:var(--amber)}
