@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.p.0i3h3th1vs4m7.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}._3r6zXa_className{font-family:Geist,Geist Fallback;font-style:normal}._3r6zXa_variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.p.30bdpjkrtcces.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.oBKvSq_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.oBKvSq_variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#fff;--subtle:#fafafa;--hover:#f4f4f4;--text:#000;--muted:#666;--faint:#8f8f8f;--border:#ebebeb;--border-strong:#c9c9c9;--primary:#000;--primary-text:#fff;--primary-hover:#383838;--danger:#d8262c;--danger-bg:#fff0f0;--live:#e5484d;--ring:#0000001f;--radius:12px;--radius-sm:8px;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--shadow-pop:0 12px 32px -8px #0000002e, 0 2px 6px #0000000d;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-fast:.12s;--dur:.18s;--dur-slow:.24s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#000;--subtle:#0a0a0a;--hover:#1a1a1a;--text:#ededed;--muted:#a1a1a1;--faint:#7c7c7c;--border:#242424;--border-strong:#454545;--primary:#ededed;--primary-text:#000;--primary-hover:#ccc;--danger:#ff6166;--danger-bg:#2a1012;--ring:#ffffff29;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23a1a1a1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--shadow-pop:0 12px 32px -8px #000000b3, 0 0 0 1px #ffffff0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{background:var(--text);color:var(--bg)}a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}h1{letter-spacing:-.035em;margin:0 0 1.5rem;font-size:1.75rem;font-weight:600;line-height:1.2}h2{letter-spacing:-.01em;margin:0 0 .9rem;font-size:1rem;font-weight:600}h3{margin:0 0 .5rem;font-size:.9rem;font-weight:600}p{margin:0 0 .75rem}strong{font-weight:600}.nav{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:.25rem;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.nav a,.nav button.link{text-decoration:none}.nav .brand{letter-spacing:-.03em;align-items:center;gap:.55rem;margin-right:1.25rem;font-size:1rem;font-weight:600;display:inline-flex}.nav .brand svg{width:22px;height:22px}.tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;align-self:stretch;align-items:stretch;gap:.25rem;min-width:0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{color:var(--muted);white-space:nowrap;transition:color .15s var(--ease-out);align-items:center;padding:0 .7rem;display:flex;position:relative}.tabs a:hover,.tabs a[aria-current=page]{color:var(--text)}.tabs{position:relative}.tab-indicator{background:var(--text);pointer-events:none;opacity:0;width:0;height:2px;position:absolute;bottom:0;left:0}.tabs.measured .tab-indicator{opacity:1}.tabs.animate .tab-indicator{transition:transform .2s var(--ease-out), width .2s var(--ease-out)}.tabs:not(.measured) a[aria-current=page]:after{content:"";background:var(--text);height:2px;position:absolute;bottom:-1px;left:.7rem;right:.7rem}.nav .spacer{flex:1}.nav .who{color:var(--muted);white-space:nowrap;padding:0 .6rem;font-size:.85rem}.nav .who:hover{color:var(--text)}.nav form{display:flex}.nav button.link{color:var(--muted);font-size:.85rem}.nav button.link:hover{color:var(--text)}.nav button.logout{align-items:center;gap:.4rem;display:inline-flex}.nav button.logout svg{display:none}main{max-width:1040px;margin:0 auto;padding:2.5rem 24px 5rem}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1.25rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.row>label{color:var(--muted);flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.grow{flex:220px}.grow>input,.grow>select{width:100%}input,select,textarea,button{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);height:2.5rem;transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--dur);transition-timing-function:var(--ease-out);padding:0 .75rem;font-size:.875rem}textarea{height:auto;padding:.6rem .75rem}input::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}select{appearance:none;background:var(--bg) var(--chevron) no-repeat right .6rem center / 14px;padding-right:2rem}input[type=checkbox]{appearance:none;vertical-align:middle;border-color:var(--border-strong);cursor:pointer;background:var(--bg) var(--check) center / 0 no-repeat;width:1rem;height:1rem;transition-property:background-color,background-size,border-color,box-shadow;transition-duration:.15s;transition-timing-function:var(--ease-out);border-radius:4px;flex:none;place-content:center;margin:0;padding:0;display:inline-grid}input[type=checkbox]:checked{background-color:var(--primary);border-color:var(--primary);background-size:12px}input:disabled{opacity:.5;cursor:not-allowed}input[type=color]{cursor:pointer;width:2.75rem;padding:.25rem}input[type=date],input[type=time]{font-variant-numeric:tabular-nums}:focus-visible{outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--text);box-shadow:0 0 0 3px var(--ring)}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:not(.chart-col):focus-visible,.pressable:focus-visible{outline:2px solid var(--text);outline-offset:2px}:where(a,summary):focus-visible{border-radius:6px}button{cursor:pointer;white-space:nowrap;font-weight:500}button:hover{background:var(--hover)}button:disabled{opacity:.5;cursor:progress}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);padding:0 1rem}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.danger{color:var(--danger)}button.danger:hover{background:var(--danger-bg);border-color:var(--danger)}button.link{height:auto;color:var(--muted);background:0 0;border:0;padding:0;font-weight:400;text-decoration:none}button.link:hover{color:var(--text);background:0 0}.check{align-items:center;height:2.5rem;line-height:1.2;display:inline-flex;color:var(--text)!important;flex-direction:row!important;gap:.5rem!important;font-size:.875rem!important;font-weight:400!important}.banner{border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-weight:500;display:flex}.banner:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.banner.error{color:var(--danger);background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.banner.ok{background:var(--subtle)}.muted{color:var(--muted)}.small{font-size:.8rem}.dot{background:var(--faint);vertical-align:1px;border-radius:50%;flex:none;width:8px;height:8px;margin-right:.45rem;display:inline-block}.badge{border:1px solid var(--border);color:var(--muted);vertical-align:1px;border-radius:99px;margin-left:.4rem;padding:0 .45rem;font-size:.7rem;font-weight:500;line-height:1.5;display:inline-block}.tag{background:var(--hover);color:var(--muted);vertical-align:1px;border-radius:99px;margin-left:.3rem;padding:0 .45rem;font-size:.7rem;font-weight:500;line-height:1.5;display:inline-block}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.65rem .85rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--subtle)}th{color:var(--muted);background:var(--subtle);white-space:nowrap;font-size:.75rem;font-weight:500}td .row{flex-wrap:nowrap}td .grow{overflow-wrap:anywhere;flex:150px;min-width:150px}td .grow>input{min-width:0}tr.sub td{color:var(--muted)}tr.sub td:first-child{padding-left:2rem}tr.total td{background:var(--subtle);font-weight:600}.day+.day{margin-top:1.75rem}.day-head{border-bottom:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;padding:0 0 .5rem;font-size:.8rem;font-weight:500;display:flex}.day-head>:last-child{color:var(--text)}.entry{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.2rem 1.25rem;padding:.7rem 0;display:grid}.entry:last-child{border-bottom-color:#0000}.entry:hover{background:var(--subtle);box-shadow:-.75rem 0 0 var(--subtle), .75rem 0 0 var(--subtle)}.entry-desc{overflow-wrap:anywhere;font-size:.9rem;font-weight:500}.entry-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.1rem 0;margin-top:.25rem;font-size:.8rem;display:flex}.entry-meta>*+:before{content:"·";color:var(--faint);margin:0 .45rem}.entry .when.small{color:var(--faint);gap:.6rem;display:flex}.entry .when.small a{color:var(--muted);text-decoration:none}.entry .when.small a:hover{color:var(--text)}.entry .when{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.entry .when strong{font-size:.9rem;font-weight:600}.entry .when{grid-area:1/3}.entry .actions{grid-area:1/2;gap:1rem;font-size:.8rem;display:flex}.entry .actions a{color:var(--muted);text-decoration:none}.entry .actions a:hover,.entry .actions button.link:hover{color:var(--text)}.entry .actions form{display:inline}@media (hover:hover){.entry .actions{opacity:0;transition:opacity var(--dur) var(--ease-out)}.entry:hover .actions,.entry:focus-within .actions{opacity:1}}.hero{border:1px solid var(--border);background:var(--bg);border-radius:20px;margin-bottom:1rem;padding:1.75rem 2rem 1.5rem;position:relative;box-shadow:0 1px 2px #0000000a,0 16px 40px -20px #0000001f}.hero:before{content:"";pointer-events:none;border-radius:inherit;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.45;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 100% 0,#000 0%,#0000 55%);mask-image:radial-gradient(at 100% 0,#000 0%,#0000 55%)}.hero>*{position:relative}.hero.running{border-color:color-mix(in srgb, var(--c) 45%, var(--border));border-top:4px solid var(--c)}.clock{font-family:var(--font-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-weight:500;line-height:1}.timer-main{justify-content:space-between;align-items:center;gap:1rem;display:flex}.clock.idle,.timer .clock{font-size:clamp(3.25rem,10vw,6rem)}.clock.idle{color:var(--border-strong)}button.round{background:var(--primary);width:4.5rem;height:4.5rem;color:var(--primary-text);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;box-shadow:0 8px 20px -8px #00000073}button.round:hover{background:var(--primary-hover)}button.round svg{margin-left:3px}button.round.stop{background:var(--live);color:#fff;box-shadow:0 8px 20px -8px color-mix(in srgb, var(--live) 70%, transparent)}button.round.stop svg{margin-left:0}button.round.stop:hover{background:color-mix(in srgb, var(--live) 85%, #000)}.timer-idle{flex-direction:column;gap:1.1rem;display:flex}.timer-input{letter-spacing:-.03em;background:0 0;border:0;border-radius:0;height:auto;padding:.25rem 0;font-size:1.6rem;font-weight:500}.timer-input:hover,.timer-input:focus-visible{box-shadow:none;border:0}.timer-input::placeholder{color:var(--faint)}.timer-controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.timer-controls>label{color:var(--muted);flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.timer-controls .grow{flex:260px}.timer{flex-direction:column;gap:1.25rem;display:flex}.timer .clock{align-items:center;gap:1.1rem;display:inline-flex}.timer .clock:before{content:"";background:var(--live);width:16px;height:16px;box-shadow:0 0 0 0 color-mix(in srgb, var(--live) 50%, transparent);border-radius:50%;flex:none;animation:2s ease-out infinite live}@keyframes live{70%{box-shadow:0 0 0 12px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.timer .clock:before{animation:none}}.timer-meta{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.timer-desc{letter-spacing:-.02em;font-size:1.35rem;font-weight:500}.timer-meta a{margin-left:auto;text-decoration:none}.timer-meta a:hover{color:var(--text)}.quickstart{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:1.1rem;display:flex}.quickstart form{display:contents}.quickstart>.muted{margin-right:.25rem}button.qs{background:color-mix(in srgb, var(--c) 8%, var(--bg));border-color:color-mix(in srgb, var(--c) 30%, var(--border));border-radius:99px;align-items:center;gap:.45rem;height:2rem;padding:0 .75rem 0 .6rem;font-size:.8rem;font-weight:500;display:inline-flex}button.qs:hover{background:color-mix(in srgb, var(--c) 16%, var(--bg))}button.qs .icon{color:var(--c)}button.qs .muted{font-weight:400}.stats{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .75rem;padding:1rem 1.1rem;display:grid}.stat-icon{background:var(--hover);border-radius:10px;grid-row:1/3;place-items:center;width:2.4rem;height:2.4rem;display:grid}.stat-label{color:var(--muted);font-size:.75rem;font-weight:500}.stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:600}.monthbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.monthbar .weeknav{margin:0}.monthbar h1{margin:0 0 0 .4rem;font-size:1.5rem}.add-entry{position:relative}.add-entry>summary{list-style:none}.add-entry>summary::-webkit-details-marker{display:none}.add-entry[open]{flex-basis:100%}.add-entry[open]>summary{width:max-content;margin-left:auto}.add-entry>form{margin:.75rem 0 0}summary.button{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;height:2.25rem;padding:0 .9rem;font-size:.85rem;font-weight:500;display:inline-flex}summary.button:hover{background:var(--hover)}.split{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1rem;display:grid}.split>.card{margin-bottom:0}.side{position:sticky;top:72px}.with-icon{align-items:center;gap:.5rem;display:inline-flex}.ranking{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.ranking-row{justify-content:space-between;gap:.75rem;font-size:.85rem;display:flex}.ranking-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ranking-row strong{font-variant-numeric:tabular-nums;font-weight:600}.ranking-bar{background:var(--hover);border-radius:3px;height:6px;margin-top:.35rem;display:block}.ranking-bar>span{background:var(--c);border-radius:3px;height:100%;display:block}.empty{text-align:center;justify-items:center;padding:2.5rem 1rem;display:grid}.empty svg{margin-bottom:1rem}.empty p{margin:0 0 .25rem}.not-found{padding-block:4rem}.not-found .code{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.04em;margin-bottom:1rem;font-size:3.5rem;font-weight:600;line-height:1}.not-found h1{margin:0 0 .5rem;font-size:1.25rem}.not-found .actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}.not-found>svg{width:32px;height:32px;margin-bottom:2rem}button.icon-btn{width:2.25rem;height:2.25rem;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}button.icon-btn:hover{background:var(--hover);color:var(--text)}.entry .actions a{border-radius:6px;place-items:center;width:2.25rem;height:2.25rem;display:inline-grid}.entry .actions a:hover{background:var(--hover)}.entry .actions{gap:.15rem}.chip{min-width:0;max-width:100%;color:var(--text);align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;line-height:1.5;display:inline-flex}.chip:before{content:"";background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.chip-md{gap:.5rem;font-size:.875rem}.chip-md:before{width:9px;height:9px}.chip-client{color:var(--muted);font-weight:400}.avatar{color:#fff;background:var(--c);border-radius:7px;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.8rem;font-weight:600;display:inline-grid}.count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:500}.picker{position:relative}.picker>input[role=combobox]{background:var(--bg) var(--chevron) no-repeat right .6rem center / 14px;width:100%;padding-right:2rem}.picker>input.has-value{background-image:radial-gradient(circle at .8rem 50%, var(--c,var(--faint)) 4px, transparent 4.5px), var(--chevron);background-position:0 0,right .6rem center;background-size:auto,14px;padding-left:1.6rem}.picker-list{z-index:20;background:var(--bg);border:1px solid var(--border);min-width:260px;max-height:320px;box-shadow:var(--shadow-pop);border-radius:10px;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.picker-client{color:var(--faint);padding:.6rem .6rem .25rem;font-size:.7rem;font-weight:500}.picker-option{color:var(--text);cursor:pointer;border-radius:6px;align-items:center;padding:.45rem .6rem;font-size:.875rem;display:flex}.picker-option.active{background:var(--hover)}.picker-option[aria-selected=true]{font-weight:600}.picker-empty{color:var(--muted);padding:.6rem;font-size:.85rem}details.card{padding:0}details.card>summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius);align-items:center;gap:.6rem;padding:1rem 1.25rem;list-style:none;display:flex}details.card>summary::-webkit-details-marker{display:none}details.card>summary:before{content:"";background:var(--chevron) center / 14px no-repeat;width:14px;height:14px;transition:transform var(--dur) var(--ease-out);transform:rotate(-90deg)}details.card[open]>summary:before{transform:none}details.card>summary strong{font-weight:500}details.card>summary:hover{background:var(--subtle)}details.card>form{padding:0 1.25rem 1.25rem;margin-top:0!important}.charts{gap:1.75rem;margin:.25rem 0 1.75rem;display:grid}.chart{margin:0}.chart-head{color:var(--muted);justify-content:space-between;margin-bottom:.75rem;font-size:.8rem;font-weight:500;display:flex}.chart-plot{height:200px;margin:0 0 1.6rem 2.75rem;position:relative}.chart-grid{pointer-events:none;position:absolute;inset:0}.chart-grid span{border-top:1px solid var(--border);height:0;color:var(--faint);font-variant-numeric:tabular-nums;text-indent:-2.75rem;font-size:.7rem;line-height:0;position:absolute;left:0;right:0}.chart-cols{grid-template-columns:repeat(var(--n), 1fr);align-items:end;display:grid;position:absolute;inset:0}.chart-col{outline:none;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.chart-col:hover,.chart-col:focus-visible{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:4px 4px 0 0}.chart-stack{border-radius:4px 4px 0 0;flex-direction:column-reverse;gap:2px;width:min(24px,70%);min-height:0;display:flex;overflow:hidden}.chart-stack>span{flex-basis:0;min-height:1px}.chart-x{white-space:nowrap;color:var(--faint);font-variant-numeric:tabular-nums;font-size:.7rem;position:absolute;top:calc(100% + .4rem)}.chart-tip{z-index:5;background:var(--bg);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow-pop);pointer-events:none;border-radius:10px;padding:.6rem .75rem;font-size:.75rem;display:none;position:absolute;top:0;left:calc(50% + 18px)}.chart-col.flip .chart-tip{left:auto;right:calc(50% + 18px)}.chart-col:hover .chart-tip,.chart-col:focus-visible .chart-tip{gap:.3rem;display:grid}.chart-tip-total{letter-spacing:-.02em;margin-bottom:.2rem;font-size:1rem;font-weight:600}.chart-tip-row{color:var(--muted);white-space:nowrap;align-items:center;gap:.45rem;display:flex}.chart-tip-row b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:1rem;font-weight:500}.chart-tip-row i,.legend i{border-radius:2px;flex:none;width:8px;height:8px}.legend{color:var(--muted);flex-wrap:wrap;gap:.4rem 1.1rem;margin:.9rem 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.legend li{align-items:center;gap:.4rem;display:flex}.legend b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}.share{border-radius:4px;gap:2px;height:12px;display:flex;overflow:hidden}.share>span{flex-basis:0;min-width:2px}.share-cell{white-space:nowrap}.share-mini{vertical-align:middle;background:var(--hover);border-radius:2px;width:56px;height:4px;margin-right:.6rem;display:inline-block;overflow:hidden}.share-mini>span{border-radius:2px;height:100%;display:block}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head h1{margin:0 0 .25rem}.page-head p{margin:0;font-size:.875rem}.page-head .back{color:var(--muted);transition:color .15s var(--ease-out);align-items:center;gap:.35rem;margin-bottom:.6rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.page-head .back:hover{color:var(--text)}.page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}input.search{background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f8f8f' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") no-repeat .7rem center / 15px;width:280px;padding-left:2.1rem}a.button{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;height:2.5rem;padding:0 .9rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}a.button:hover{background:var(--hover)}summary.button.primary-btn{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}summary.button.primary-btn:hover{background:var(--primary-hover)}.create-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.create-bar .add-entry[open]{flex-basis:100%;order:1}.create-bar .add-entry[open]>summary{margin-left:0}.tiles{column-width:290px;column-gap:1rem}.tiles>*{break-inside:avoid;margin-bottom:1rem}.tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:border-color var(--dur) var(--ease-out);padding:1rem}.tile:hover{border-color:var(--border-strong)}.tile[hidden]{display:none}.tile-head{align-items:center;gap:.75rem;display:flex}.tile-head .avatar{border-radius:9px;width:2.25rem;height:2.25rem;font-size:.9rem}.tile-title{flex:1;min-width:0;display:grid}.tile-title h2{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;overflow:hidden}.tile-list{border-top:1px solid var(--border);gap:.1rem;margin:.75rem 0 0;padding:.5rem 0 0;list-style:none;display:grid}.tile-list li{border-radius:6px;align-items:center;min-height:2.1rem;margin:0 -.4rem;padding:0 .4rem;font-size:.875rem;display:flex}.tile-list li:hover{background:var(--subtle)}.tile-name{flex:1;min-width:0}.tile-actions{gap:.1rem;display:flex}.tile-actions a{width:2.25rem;height:2.25rem;color:var(--muted);border-radius:6px;place-items:center;display:inline-grid}.tile-actions a:hover{background:var(--hover);color:var(--text)}@media (hover:hover){.tile-actions{opacity:0;transition:opacity var(--dur) var(--ease-out)}.tile-list li:hover .tile-actions,.tile-list li:focus-within .tile-actions{opacity:1}}.tile-empty{margin:.75rem 0 0}.menu{position:relative}.menu>summary{width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;border-radius:6px;place-items:center;list-style:none;display:grid}.menu>summary::-webkit-details-marker{display:none}.menu>summary:hover,.menu[open]>summary{background:var(--hover);color:var(--text)}.menu-panel{z-index:15;background:var(--bg);border:1px solid var(--border);width:260px;box-shadow:var(--shadow-pop);border-radius:10px;gap:.75rem;padding:1rem;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu-panel label:not(.check){color:var(--muted);gap:.4rem;font-size:.8rem;font-weight:500;display:grid}.menu-panel .check{height:auto}.menu-panel form{gap:.75rem;display:grid}.menu-panel form+form{border-top:1px solid var(--border);padding-top:.75rem}.list-card{padding:.4rem}.people{margin:0;padding:0;list-style:none}.person+.person{border-top:1px solid var(--border)}.person[hidden]{display:none}.person>details>summary{cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto 120px auto;align-items:center;gap:1rem;padding:.75rem .85rem;list-style:none;display:grid}.person>details>summary::-webkit-details-marker{display:none}.person>details>summary:hover,.person>details[open]>summary{background:var(--subtle)}.initials{background:var(--hover);width:2.4rem;height:2.4rem;color:var(--text);border-radius:50%;place-items:center;font-size:.8rem;font-weight:600;display:grid}.initials.role-admin{background:var(--primary);color:var(--primary-text)}.initials.role-teamlead{background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--text)}.person-name{min-width:0;display:grid}.person-name strong{font-weight:500}.person-name .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pill{border:1px solid var(--border);color:var(--muted);border-radius:99px;padding:.1rem .6rem;font-size:.75rem;font-weight:500}.pill.role-admin{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.pill.role-teamlead{border-color:var(--text);color:var(--text)}.person-rate{font-variant-numeric:tabular-nums;text-align:right;font-size:.85rem}.person-edit{color:var(--faint)}.person>details>summary:hover .person-edit{color:var(--text)}.person-panel{gap:1rem;padding:1rem .85rem 1.25rem 4.25rem;display:grid}.person-split{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.inactive>summary{cursor:pointer;color:var(--muted);border-radius:8px;align-items:center;gap:.5rem;padding:.75rem .85rem;font-weight:500;list-style:none;display:flex}.inactive>summary::-webkit-details-marker{display:none}.inactive>summary:hover{background:var(--subtle);color:var(--text)}.inactive[open]>summary{border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;margin-bottom:.25rem}.inactive .initials{opacity:.55}.company-rate{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.5rem;height:2.5rem;margin-left:auto;padding:0 .4rem 0 .8rem;font-size:.85rem;display:flex}.company-rate label{font-weight:500}.company-rate input{text-align:right;width:5rem;height:1.9rem}.company-rate button{height:1.9rem;padding:0 .7rem;font-size:.8rem}@media (max-width:640px){.person>details>summary{grid-template-columns:auto minmax(0,1fr) auto}.person-rate,.person-edit{display:none}.person-panel{padding-left:.85rem}.person-split{grid-template-columns:1fr}input.search,.page-actions{width:100%}.company-rate{margin-left:0}}.weeknav{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1.25rem;display:flex}.weeknav>a[aria-label]{border:1px solid var(--border);border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--muted);place-items:center;text-decoration:none;display:inline-grid}.weeknav>a[aria-label]:hover{color:var(--text);border-color:var(--border-strong)}.weeknav>strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1rem}.weeknav>a.small{color:var(--muted)}.weeknav>span:last-child strong{font-variant-numeric:tabular-nums;font-size:1rem}.weeknav>span:last-child{color:var(--muted)}.weeknav>span:last-child strong{color:var(--text)}.weeknav>a:not([aria-label]):not(.small){border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;height:2rem;padding:0 .75rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.weeknav>a:not([aria-label]):not(.small):hover{border-color:var(--border-strong);background:var(--subtle)}.weeknav>strong:first-child{letter-spacing:-.04em;margin-right:.5rem;font-size:2rem;font-weight:600;line-height:1}.quick{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.quick a{border:1px solid var(--border);height:2rem;color:var(--muted);border-radius:99px;align-items:center;padding:0 .8rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.quick a:hover{color:var(--text);border-color:var(--border-strong)}pre.code{white-space:pre-wrap;word-break:break-all;font:.8rem/1.6 var(--font-mono), ui-monospace, monospace;background:var(--subtle);border-radius:var(--radius-sm);border:1px solid var(--border);margin:.5rem 0 0;padding:.85rem 1rem}.login{max-width:360px;margin:0 auto;padding:18vh 24px 4rem}.login h1{text-align:center;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;font-size:1.5rem;display:flex}.login h1 svg{width:40px;height:40px}.login form{border:0;flex-direction:column;gap:1rem;padding:0;display:flex}.login label{color:var(--muted);flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.login button.primary{width:100%;margin-top:.25rem}.login form>a{color:var(--muted);align-self:center;text-decoration:none}.login form>a:hover{color:var(--text)}@media (max-width:860px){.split{grid-template-columns:1fr}.side{position:static}.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.nav{padding:0 16px}.nav .brand{margin-right:.5rem}.nav .brand span,.nav .who{display:none}.tabs{flex:1;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.nav .spacer{display:none}.nav button.logout{justify-content:center;width:44px;height:44px;padding:0}.nav button.logout svg{display:block}.nav .logout-text{display:none}main{padding:1.5rem 16px 4rem}.card{padding:1rem}.hero{padding:1.25rem}.timer-input{font-size:1.3rem}button.round{width:3.75rem;height:3.75rem}.stats{grid-template-columns:repeat(2,1fr);gap:.6rem}.split{grid-template-columns:1fr}.side{position:static}.weeknav>strong:first-child{font-size:1.6rem}}button,a.button,summary.button,.qs,.round,.icon-btn,.quick a,.weeknav>a[aria-label],.tile-actions a,.entry .actions a,.pressable{transition-property:color,background-color,border-color,box-shadow,opacity,transform;transition-duration:var(--dur), var(--dur), var(--dur), var(--dur), var(--dur), var(--dur-fast);transition-timing-function:var(--ease-out)}button:active,a.button:active,summary.button:active,.qs:active,.icon-btn:active,.quick a:active,.weeknav>a[aria-label]:active,.tile-actions a:active,.entry .actions a:active,.pressable:active{transform:scale(.97)}button.round:active{transform:scale(.96)}button:disabled:active{transform:none}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}.stagger>*,main>*{animation:enter var(--dur-slow) var(--ease-out) backwards}.stagger>:nth-child(2),main>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3),main>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4),main>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5),main>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6),main>:nth-child(n+6){animation-delay:.2s}.stagger>:nth-child(7){animation-delay:.24s}.stagger>:nth-child(n+8){animation-delay:.28s}.pop,.picker-list,.chart-tip{transform-origin:0 0;transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:var(--ease-out)}.pop.right,.chart-col.flip .chart-tip{transform-origin:100% 0}.pop.up{transform-origin:0 100%}@starting-style{.pop,.picker-list,.chart-tip{opacity:0;transform:scale(.97)}}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}}.menu[open]>.menu-panel{transform-origin:100% 0;animation:pop-in .15s var(--ease-out)}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}}details[open]>.reveal,.add-entry[open]>form,details[open]>.person-panel{animation:reveal var(--dur) var(--ease-out)}.submit{place-items:center;display:inline-grid}.submit>span{transition:opacity .15s var(--ease-out), filter .15s var(--ease-out);grid-area:1/1;align-items:center;gap:.5rem;display:inline-flex}.submit>.submit-pending{opacity:0}.submit[aria-busy=true]>.submit-label{opacity:0;filter:blur(2px)}.submit[aria-busy=true]>.submit-pending{opacity:1}.submit[aria-busy=true]:disabled{opacity:.8}.spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{z-index:50;border-radius:var(--radius);background:var(--bg);width:max-content;max-width:min(420px,100vw - 32px);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-pop);transition-property:opacity,transform;transition-duration:var(--dur-slow);transition-timing-function:var(--ease-out);align-items:center;gap:.6rem;padding:.7rem .6rem .7rem 1rem;font-weight:500;display:flex;position:fixed;bottom:24px;left:50%;translate:-50%}body:has(.bulk-bar[data-active]) .toast{bottom:6.5rem}@media (max-width:640px){body:has(.bulk-bar[data-active]) .toast{bottom:12.5rem}}@starting-style{.toast{opacity:0;transform:translateY(12px)}}.toast.leaving{opacity:0;transition-duration:.16s;transform:translateY(8px)}.toast.error{color:var(--danger);background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.toast.error:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.toast>.icon{flex:none}.toast-msg{flex:1;min-width:0}.toast button.icon-btn{width:1.75rem;height:1.75rem;color:inherit;opacity:.7}.toast button.icon-btn:hover{opacity:1;background:color-mix(in srgb, currentColor 10%, transparent)}@media (prefers-reduced-motion:reduce){@keyframes enter{0%{opacity:0}}@keyframes pop-in{0%{opacity:0}}@keyframes reveal{0%{opacity:0}}*,:before,:after{transition-property:color,background-color,border-color,box-shadow,opacity,filter!important}button:active,a.button:active,summary.button:active,.qs:active,.icon-btn:active,.quick a:active,.weeknav>a[aria-label]:active,.tile-actions a:active,.entry .actions a:active,.pressable:active,button.round:active{transform:none}@starting-style{.pop,.picker-list,.chart-tip,.toast{transform:none}}.toast.leaving{transform:none}.stagger>*,main>*{animation-delay:0s!important}}
