:root{--paper:#f3efe6;--paper-2:#ebe5d8;--card:#fbf9f4;--ink:#1b1a17;--ink-2:#57534b;--ink-3:#958f83;--line:#ddd5c4;--line-soft:#e7e1d4;--signal:#e4572e;--signal-deep:#c4421d;--signal-soft:#f7dfd4;--danger:#b3261e;--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-ui:"Bricolage Grotesque", ui-sans-serif, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:18px;--radius-sm:10px;--shadow:0 1px 0 #1b1a170a, 0 8px 24px -12px #1b1a172e;--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}body:before{content:"";pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.37 0 0 0 0 0.3 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2);margin:0}.small{font-size:13px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px}.display{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(34px,4vw,46px);font-weight:400;line-height:1}.display em{color:var(--signal)}.splash{min-height:100vh}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;align-items:flex-end;gap:3px;font-size:30px;line-height:1;display:inline-flex}.wordmark-large{gap:6px;font-size:64px}.wordmark-dot{background:var(--ink);border-radius:50%;width:.2em;height:.2em;margin-bottom:.14em;transition:background .3s}.wordmark-dot.is-live{background:var(--signal);animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{0%{box-shadow:0 0 #e4572e8c}70%{box-shadow:0 0 0 9px #e4572e00}to{box-shadow:0 0 #e4572e00}}.btn{white-space:nowrap;transition:transform .15s var(--ease), background .15s, border-color .15s, color .15s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}a.btn{color:var(--ink)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-block{width:100%}.btn-sm{padding:5px 12px;font-size:13px}.btn-lg{padding:13px 26px;font-size:16px}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover:not(:disabled){background:#000}.btn-paper{background:var(--paper);color:var(--ink)}.btn-paper:hover{background:#fff}.btn-signal{background:var(--signal);color:#fff}.btn-signal:hover{background:var(--signal-deep)}.btn-ghost{border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--card);border-color:var(--ink-3)}.btn-danger-ghost{color:var(--danger);background:0 0;border-color:#0000}.btn-danger-ghost:hover{background:#b3261e14}.btn-icon{width:12px;height:12px;display:inline-block}.btn-icon-play{clip-path:polygon(10% 0,100% 50%,10% 100%);background:currentColor}.btn-icon-stop{background:currentColor;border-radius:2px}.icon-btn{width:30px;height:30px;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;font-size:20px;line-height:1;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.icon-btn svg{width:16px;height:16px}.icon-btn:disabled{opacity:.3;cursor:default}.link-btn{color:var(--ink-2);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);background:0 0;border:0;padding:0;font-size:13px}.link-btn:hover{color:var(--ink);text-decoration-color:currentColor}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(380px,100%);animation:rise .6s var(--ease) both;flex-direction:column;gap:16px;display:flex}.login-lede{font-family:var(--font-display);color:var(--ink-2);margin:-6px 0 18px;font-size:22px;font-style:italic}.form{flex-direction:column;gap:16px;display:flex}.field{border:0;flex-direction:column;flex:1;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field>span,.field>legend{color:var(--ink-2);margin-bottom:6px;padding:0;font-size:13px;font-weight:500}.field>span{margin-bottom:0}.optional{color:var(--ink-3);margin-left:4px;font-style:normal;font-weight:400}.field input,.share-create input,.share-create select{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-sm);width:100%;padding:10px 12px;transition:border-color .15s}.field input:focus,.share-create input:focus,.share-create select:focus{border-color:var(--ink);outline:none}.field-row{gap:12px;display:flex}.form-error{color:var(--danger);margin:0;font-size:14px}.form-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.spacer{flex:1}.swatches{gap:10px;display:flex}.swatch{width:30px;height:30px;transition:transform .15s var(--ease);border:0;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f}.swatch:hover{transform:scale(1.1)}.swatch.is-selected{box-shadow:0 0 0 3px var(--card), 0 0 0 5px var(--ink)}.image-picker{align-items:center;gap:18px;display:flex}.image-picker-actions{align-items:center;gap:14px;display:flex}.image-picker .btn{cursor:pointer}.avatar{object-fit:cover;color:#fff;font-family:var(--font-display);border-radius:28%;flex:none;place-items:center;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 1px #00000014}.avatar-ghost{width:32px;height:32px;color:var(--ink-3);border:1px dashed var(--ink-3);box-shadow:none;font-family:var(--font-ui);background:0 0;font-size:18px}.app{background:linear-gradient(90deg, var(--paper-2) 263px, var(--line) 263px 264px, transparent 264px);grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{flex-direction:column;height:100vh;padding:26px 14px 18px;display:flex;position:sticky;top:0}.sidebar-brand{padding:0 10px 28px}.sidebar-heading{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;padding:0 4px 8px 10px;font-size:11px;display:flex}.project-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.project-item{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px 10px;transition:background .15s;display:flex}.project-item:hover{background:#ffffff80}.project-item.is-active{background:var(--card);box-shadow:var(--shadow)}.project-item-avatar{display:inline-flex;position:relative}.live-dot{background:var(--signal);border:2px solid var(--card);width:11px;height:11px;animation:pulse 1.6s var(--ease) infinite;border-radius:50%;position:absolute;top:-3px;right:-3px}.project-item-text{flex-direction:column;min-width:0;display:flex}.project-item-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.project-item-meta{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.project-item-meta.is-live{color:var(--signal)}.project-item-add{color:var(--ink-3)}.project-item-add .project-item-name{font-weight:400}.sidebar-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 10px 0;display:flex}.sidebar-email{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.main{width:100%;max-width:1120px;padding:40px clamp(20px,4vw,56px) 80px}.project-view>*{animation:rise .5s var(--ease) both}.project-view>:nth-child(2){animation-delay:50ms}.project-view>:nth-child(3){animation-delay:.1s}.project-view>:nth-child(n+4){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.project-header,.share-header{align-items:center;gap:18px;margin-bottom:32px;display:flex}.project-header-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.project-header-text .display{overflow-wrap:anywhere}.project-header-actions{gap:8px;display:flex}.track-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px;margin-bottom:48px;display:grid}.timer-card{border-radius:var(--radius);background:var(--ink);min-height:240px;color:var(--paper);box-shadow:var(--shadow);flex-direction:column;justify-content:space-between;gap:20px;padding:24px 26px;display:flex;position:relative;overflow:hidden}.timer-card:after{content:"";pointer-events:none;border:1px solid #f3efe614;border-radius:50%;width:260px;height:260px;position:absolute;top:-90px;right:-90px;box-shadow:0 0 0 40px #f3efe606,0 0 0 80px #f3efe605}.timer-card.is-running:after{border-color:#e4572e59;box-shadow:0 0 0 40px #e4572e12,0 0 0 80px #e4572e0a}.timer-card .eyebrow{color:#f3efe68c}.timer-card-top{justify-content:space-between;align-items:center;display:flex}.live-pill{background:var(--signal);color:#fff;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;padding:3px 10px 3px 8px;font-size:11px;display:inline-flex}.live-pill:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;animation:1.2s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.2}}.timer-clock{font-family:var(--font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#f3efe652;font-size:clamp(48px,6.4vw,76px);font-weight:400;line-height:1}.timer-card.is-running .timer-clock{color:var(--paper)}.timer-card-bottom{justify-content:space-between;align-items:center;gap:16px;display:flex}.timer-hint{color:#f3efe699;font-size:13px}.quick-add{flex-direction:column;gap:12px;display:flex}.quick-add-head{justify-content:space-between;align-items:center;padding:2px 2px 0 4px;display:flex}.date-pill{border:1px solid var(--line);color:var(--ink-2);background:var(--card);border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 12px;font-size:13px;display:inline-flex;position:relative}.date-pill input{font-family:var(--font-mono);background:0 0;border:0;padding:2px 6px;font-size:12px}.date-pill input:focus{outline:none}.quick-add-cards{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.add-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:left;min-height:200px;transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:18px;display:flex;position:relative}.add-card:hover{border-color:var(--ink-3);box-shadow:var(--shadow);transform:translateY(-3px)}.add-card:active{background:var(--signal-soft);border-color:var(--signal);transform:translateY(0)scale(.97)}.add-card-plus{color:var(--ink-3);transition:color .2s, transform .3s var(--ease);font-size:22px;position:absolute;top:14px;right:16px}.add-card:hover .add-card-plus{color:var(--signal);transform:rotate(90deg)}.add-card-value{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(64px,7vw,92px);line-height:.85}.add-card-unit{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:10px;font-size:12px}.month-nav{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:14px;display:flex}.month-title{font-family:var(--font-display);margin:0;font-size:30px;font-weight:400}.month-nav-buttons{align-items:center;gap:6px;display:flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:28px;display:grid}.kpi{flex-direction:column;gap:4px;padding:4px 20px 4px 0;display:flex}.kpi+.kpi{border-left:1px solid var(--line);padding-left:20px}.kpi-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.kpi-value{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:40px;line-height:1.05}.kpi-accent .kpi-value{color:var(--signal)}.kpi-detail{color:var(--ink-2);font-size:13px}.chart{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:40px;padding:20px 18px 12px}.chart-bars{align-items:stretch;gap:4px;height:140px;display:flex}.chart-col{border-radius:6px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.chart-col.is-weekend{background:repeating-linear-gradient(-45deg,#0000 0 4px,#958f8314 4px 5px)}.chart-bar{background:var(--ink);width:100%;max-width:22px;min-height:2px;transition:height .5s var(--ease);border-radius:4px 4px 2px 2px}.chart-col:hover .chart-bar{background:var(--ink-2)}.chart-col.is-today .chart-bar{background:var(--signal)}.chart-day{font-family:var(--font-mono);color:var(--ink-3);font-size:10px;line-height:1}.chart-col.is-today .chart-day{color:var(--signal);font-weight:500}.log{flex-direction:column;gap:26px;display:flex}.log-empty{font-family:var(--font-display);color:var(--ink-3);text-align:center;padding:24px 0;font-size:22px;font-style:italic}.log-day-head{align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.log-day-name{font-family:var(--font-display);white-space:nowrap;font-size:22px}.log-day-rule{border-bottom:1px dotted var(--ink-3);flex:1;transform:translateY(-5px)}.log-day-total{font-family:var(--font-mono);font-size:15px;font-weight:500}.log-entries{margin:0;padding:0;list-style:none}.entry-row{border-radius:var(--radius-sm);text-align:left;box-sizing:content-box;background:0 0;border:0;grid-template-columns:66px minmax(0,1fr) auto 76px;align-items:center;gap:14px;width:100%;margin:0 -10px;padding:9px 10px;font-size:14px;display:grid}button.entry-row:hover{background:var(--card)}.entry-kind{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-2);border-radius:999px;justify-self:start;padding:2px 7px;font-size:10px}.entry-kind.is-live{border-color:var(--signal);background:var(--signal);color:#fff}.entry-main{align-items:baseline;gap:12px;min-width:0;display:flex}.entry-range{font-family:var(--font-mono);white-space:nowrap;font-size:13px}.entry-note{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-reported{color:var(--ink-3);white-space:nowrap;font-size:12px}.entry-duration{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.empty-hero{max-width:520px;animation:rise .6s var(--ease) both;flex-direction:column;align-items:flex-start;gap:16px;margin:12vh auto 0;display:flex}.empty-hero .display{font-size:clamp(44px,6vw,68px)}.modal{background:var(--card);color:var(--ink);border:0;border-radius:22px;width:min(520px,100vw - 32px);padding:0;box-shadow:0 30px 80px -20px #1b1a1773}.modal[open]{animation:pop .25s var(--ease) both}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b1a1759}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modal-body{flex-direction:column;gap:14px;padding:22px 24px 24px;display:flex}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-family:var(--font-display);margin:0;font-size:30px;font-weight:400}.share-create{gap:8px;display:flex}.share-create select{width:auto}.share-label{flex:1;min-width:0}.share-list{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.share-item{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.share-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.share-item-label{font-weight:500}.share-item-url{font-family:var(--font-mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.share-item-actions{gap:2px;display:flex}.share-page{max-width:980px;margin:0 auto;padding:48px clamp(20px,4vw,48px) 64px}.share-page>*{animation:rise .5s var(--ease) both}.share-page-error{flex-direction:column;justify-content:center;gap:18px;min-height:100vh;display:flex}.share-live{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.share-live-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px}.share-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:56px;padding-top:16px;display:flex}.share-footer .wordmark{font-size:22px}.toast{background:var(--ink);color:var(--paper);animation:toast-in .3s var(--ease) both;z-index:50;border-radius:999px;align-items:center;gap:16px;padding:11px 14px 11px 18px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px -12px #1b1a1780}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.toast-action{color:var(--signal);background:0 0;border:0;padding:2px 6px;font-weight:600}@media (width<=860px){.app{background:0 0;grid-template-columns:minmax(0,1fr)}.sidebar{z-index:10;border-right:0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3efe6eb;flex-direction:row;align-items:center;gap:10px;height:auto;padding:10px 12px;position:sticky;top:0}.sidebar-brand{padding:0 6px 0 4px}.sidebar-heading,.sidebar-footer{display:none}.project-list{scrollbar-width:none;flex-direction:row;gap:6px;min-width:0;overflow-x:auto}.project-item{flex:none;width:auto;padding:6px 12px 6px 6px}.project-item-meta{display:none}.project-item-meta.is-live{display:block}.main{padding-top:28px}.track-grid{grid-template-columns:1fr}.add-card{min-height:130px}.entry-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.entry-kind,.entry-reported{display:none}}@media (width<=560px){.project-header{flex-wrap:wrap}.project-header-actions{width:100%}.kpis{grid-template-columns:1fr 1fr;row-gap:18px}.kpi:nth-child(odd){border-left:0;padding-left:0}.chart-day{display:none}.chart-bars{gap:2px}.share-create{flex-wrap:wrap}.share-item{flex-direction:column;align-items:stretch}.field-row{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
