@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#02070c;--surface:#171615;--surface2:#1c1b1a;--border:#262524;--border2:#32302f;--green:#5c6b5e;--green-dim:#3a453c;--green-bg:#1b1d1b;--amber:#f5a623;--white:#eae8e3;--text1:#d4d2cd;--text2:#8a8782;--text3:#5c5a56;--red:#c25b5b;--radius-pill:6px;--radius-card:12px;--radius-sm:4px;--font-mono:"Inter", sans-serif;--font-display:"Inter", sans-serif}html,body{background:var(--bg);height:100%;color:var(--text1);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;overflow-x:hidden}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border:4px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text3)}body:before{content:"";pointer-events:none;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");background-size:200px;position:fixed;inset:0}a{color:inherit;text-decoration:none}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.btn-pill{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:13px;font-weight:500;transition:opacity .15s,transform .1s,background .15s;display:inline-flex}.btn-pill:active{transform:scale(.97)}.btn-primary{background:var(--green);color:#0a0a0a}.btn-primary:hover{opacity:.85}.btn-ghost{background:var(--surface2);border:1px solid var(--border2);color:var(--text2)}.btn-ghost:hover{color:var(--text1);background:var(--surface)}.btn-stop{color:var(--red);background:0 0;border:1px solid #2a1a1a}.btn-stop:hover{background:#1a0a0a}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.pulse-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite pulse}.pulse-dot.paused{background:var(--text3);animation:none}@keyframes earnedPop{0%{opacity:0;transform:translateY(10px)}15%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.earned-pop{color:var(--green);letter-spacing:-.02em;font-size:24px;font-weight:600;animation:2s cubic-bezier(.16,1,.3,1) forwards earnedPop}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.3s forwards fadeUp}.expandable-wrapper{opacity:0;grid-template-rows:0fr;width:100%;transition:grid-template-rows .4s cubic-bezier(.2,0,0,1),opacity .4s;display:grid}.expandable-wrapper.expanded{opacity:1;grid-template-rows:1fr}.expandable-inner{flex-direction:column;align-items:center;width:100%;display:flex;overflow:hidden}.expandable-wrapper.expanded .expandable-inner{overflow:visible}.controls-stage{width:100%;max-width:420px;margin:0 auto;position:relative}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px}.field-input{border:none;border-bottom:1px solid var(--border2);font-family:var(--font-mono);color:var(--text1);appearance:none;background:0 0;border-radius:0;outline:none;width:100%;padding:8px 0;font-size:13px;transition:border-color .15s}.field-input:focus{border-color:var(--text3)}.field-input::placeholder{color:var(--text3)}.field-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-input[type=number]{appearance:textfield}.dropdown-menu{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);z-index:50;width:100%;min-width:180px;max-height:115px;margin-top:4px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 10px 30px -10px #00000080}.dropdown-menu::-webkit-scrollbar{width:4px}.dropdown-menu::-webkit-scrollbar-track{background:0 0}.dropdown-menu::-webkit-scrollbar-thumb{background:var(--border2);border:none;border-radius:999px}.dropdown-item{font-family:var(--font-mono);color:var(--text2);cursor:pointer;border-radius:4px;margin:2px 4px;padding:10px 12px;font-size:13px;transition:color .15s,background .15s}.dropdown-item:hover{color:var(--white);background:var(--surface2)}.nav{z-index:10;justify-content:space-between;align-items:center;padding:40px 24px;display:flex;position:sticky;top:0}.nav-title{color:var(--text1);letter-spacing:-.04em;font-size:20px;font-weight:600}.nav-link{color:var(--text2);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:500;transition:color .15s}.nav-link:hover{color:var(--text1)}.main-content{flex-direction:column;align-items:center;max-width:480px;margin:0 auto;padding:0 24px 100px;display:flex}.monthly-snapshot{align-self:flex-start;padding-top:32px;padding-bottom:8px;padding-left:4px}.snapshot-meta{color:var(--text2);letter-spacing:.02em;margin-bottom:8px;font-size:13px;font-weight:500}.snapshot-value{color:var(--text1);letter-spacing:-.04em;font-size:40px;font-weight:600;line-height:1}.empty-nudge{color:var(--text3);text-align:center;letter-spacing:.02em;margin-top:24px;font-size:12px}.timer-container{flex-direction:column;align-items:center;width:100%;display:flex}.timer-display{text-align:center;flex-direction:column;align-items:center;width:100%;padding:48px 0 20px;display:flex}.project-chip{color:var(--text2);align-items:center;gap:8px;margin-bottom:24px;padding:6px 0;font-size:13px;font-weight:500;display:inline-flex}.chip-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px}.chip-dot.paused{background:var(--text3)}.timer-digits{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--white);text-align:center;justify-content:center;width:100%;margin-bottom:16px;font-size:clamp(72px,18vw,112px);font-weight:600;line-height:1;transition:color .3s;display:flex}.timer-digits.paused{color:var(--text3)}.timer-meta-earned{color:var(--green);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:0;font-size:22px;font-weight:500}.timer-meta-nonbillable{color:var(--text3);margin-bottom:0;font-size:13px}.setup-form{width:100%;max-width:420px}.form-group{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.form-row{gap:16px;display:flex}.form-col{flex:1}.form-col-wide{flex:2}.form-label{letter-spacing:.1em;color:var(--text3);text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.controls-row{gap:10px;width:100%;max-width:420px;margin-top:16px;display:flex}.log-container{width:100%;max-width:420px}.log-header{letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:16px;padding-left:2px;font-size:10px;font-weight:700}.log-row{align-items:center;gap:14px;padding:14px 2px;display:flex}.log-info{flex:1;min-width:0}.log-project{color:var(--text1);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:500;overflow:hidden}.log-client-time{color:var(--text3);font-size:11px}.log-right{text-align:right;flex-shrink:0}.log-duration{color:var(--text2);margin-bottom:2px;font-size:13px}.log-earned{color:var(--green);font-size:12px;font-weight:600}.log-nonbillable{color:var(--text3);font-size:12px}.divider{border:none;border-top:1px solid var(--border);width:100%}.modal-backdrop{z-index:200;opacity:0;pointer-events:none;background:#0009;transition:opacity .2s;position:fixed;inset:0}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal-wrapper{z-index:210;pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-wrapper.open{pointer-events:auto}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);opacity:0;flex-direction:column;width:100%;max-width:420px;max-height:90vh;transition:opacity .25s,transform .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;transform:scale(.95)translateY(10px)}.modal-wrapper.open .modal-panel{opacity:1;transform:scale(1)translateY(0)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 24px 20px;display:flex}.modal-title{color:var(--text1);letter-spacing:-.02em;font-size:16px;font-weight:600}.modal-close{color:var(--text3);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text1)}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.btn-destructive-link{color:var(--red);font-family:var(--font-mono);cursor:pointer;opacity:.8;background:0 0;border:none;padding:8px 0;font-size:13px;font-weight:500;transition:opacity .15s}.btn-destructive-link:hover{opacity:1}@keyframes drawerSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes drawerFadeIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.drawer-scrim{z-index:300;pointer-events:none;background:0 0;transition:background .3s;position:fixed;inset:0}.drawer-scrim.visible{pointer-events:auto;background:#000000a6}.log-drawer{z-index:400;background:var(--surface);pointer-events:none;border-radius:16px 16px 0 0;max-height:92svh;padding:16px 24px 40px;transition:transform .38s cubic-bezier(.16,1,.3,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.log-drawer.open{pointer-events:auto;transform:translateY(0)}.drawer-handle{background:var(--border2);border-radius:999px;width:36px;height:4px;margin:0 auto 24px}.drawer-title{color:var(--text1);letter-spacing:-.04em;font-size:28px;font-weight:600;line-height:1}@media (min-width:640px){.drawer-handle{display:none}.log-drawer{opacity:0;border-radius:16px;width:480px;max-height:90vh;padding:36px 40px 40px;transition:opacity .25s,transform .3s cubic-bezier(.16,1,.3,1);inset:50% auto auto 50%;transform:translate(-50%,-48%)scale(.97)}.log-drawer.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}}
