:root{--bg: #0c0d11;--bg-elev: #16181f;--bg-elev-2: #21242e;--text: #f6f4ef;--muted: #a39f94;--faint: #7c786e;--line: rgba(246, 244, 239, .1);--danger: #ff8f8f;--shadow: 0 12px 32px rgba(0, 0, 0, .28);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--tab-h: calc(49px + var(--sab));--clock: #8eb6ff;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Helvetica, Arial, sans-serif;--focus: #ff5a36;color-scheme:dark;background:var(--bg);color:var(--text)}@media(prefers-color-scheme:light){:root{--bg: #efece4;--bg-elev: #fffcf7;--bg-elev-2: #f4f0e7;--text: #171614;--muted: #5e5a52;--faint: #847f74;--line: rgba(23, 22, 20, .1);--danger: #a32121;--shadow: 0 10px 28px rgba(60, 40, 10, .06);--clock: #2451c7;color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;background:var(--bg);color:var(--text)}html{min-height:calc(100% + 1px);min-height:calc(100lvh + 1px);font-family:var(--font);font-size:16px;line-height:1.35;-webkit-font-smoothing:antialiased}body,#app{min-height:100%;min-height:100lvh}body{width:100%;overscroll-behavior:none}button,input,select,textarea{font:inherit;font-size:16px;color:inherit}button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:#ff5a36;color:#141414}[hidden]{display:none!important}.frame{width:min(480px,100%);margin:0 auto;min-height:100lvh;background:var(--bg)}@media(min-width:560px){body{background:#07080c}}@media(min-width:560px)and (prefers-color-scheme:light){body{background:#e4e0d6}}.top{position:sticky;top:0;z-index:10;padding:calc(12px + var(--sat)) calc(20px + var(--sar)) 12px calc(20px + var(--sal));background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}h1{margin:0;font-size:34px;line-height:1.05;font-weight:700;letter-spacing:-.045em}.now,.sub,.hint,.today,.idle-copy,.micro{color:var(--muted)}.now{margin:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.sub{margin:4px 0 0;font-size:15px}.filters{display:flex;gap:8px;overflow-x:auto;margin:12px -4px 0;padding-bottom:2px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}main{padding:10px calc(16px + var(--sar)) var(--tab-h) calc(16px + var(--sal))}.tabbar{position:fixed;z-index:20;left:0;right:0;bottom:0;margin:0;box-sizing:border-box;height:var(--tab-h);display:flex;align-items:flex-start;justify-content:space-around;gap:2px;padding:0 var(--sar) var(--sab) var(--sal);background:var(--bg);box-shadow:inset 0 1px 0 var(--line)}.tab{flex:1 1 0;height:49px;min-height:49px;max-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--faint);font-size:11px;font-weight:600}.tab svg{width:23px;height:23px}.tab.active{color:#ff5a36}@media(min-width:560px){.frame{box-shadow:0 0 0 1px var(--line)}.tabbar{width:480px;left:calc(50% - 240px);right:auto}}.card,.panel,.activity,.entry,.add-card{background:var(--bg-elev);border:1px solid var(--line);box-shadow:var(--shadow)}.card,.panel,.add-card{border-radius:18px;padding:14px;margin-bottom:12px}.card{min-width:0;max-width:100%;overflow:hidden;padding:8px 8px 8px 12px;margin-bottom:8px}.panel,.add-card{display:flex;flex-direction:column;gap:12px}.panel .section-label,.add-card .lbl,.add-card .micro{margin:0}.card{display:flex;flex-direction:column;gap:8px}.card.running{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 70%,transparent),var(--shadow)}.card-row{display:flex;align-items:center;gap:8px;min-width:0}.card-copy{flex:1;min-width:0}.card-title{display:flex;align-items:baseline;gap:8px;min-width:0}.card-sub{display:flex;flex-wrap:wrap;align-items:center;gap:0 2px;margin:1px 0 0;color:var(--muted);font-size:13px;line-height:1.3}.card.running .card-sub{flex-wrap:nowrap;min-width:0;overflow:hidden;white-space:nowrap}.card.running .card-sub .linkish{min-height:0;padding-top:0;padding-bottom:0}.card-sub strong{color:var(--text);font-weight:700}.card-actions{display:flex;flex:none;align-items:stretch;border-radius:12px;overflow:hidden}.dot{width:10px;height:10px;border-radius:50%;background:var(--accent, var(--text));flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent, transparent) 16%,transparent)}.card.running .dot{animation:pulse 1.8s ease-in-out infinite}.card-name{margin:0;flex:1 1 auto;min-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;letter-spacing:-.02em}.today{margin-left:auto;flex:none;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.today strong,.entry-dur,.total-num{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text)}.elapsed{flex:none;margin:0;color:var(--accent, var(--text));font-size:22px;line-height:1;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.go,.when{color:inherit}.go{min-height:44px;padding:0 10px;font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.when{min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;font-size:13px;font-weight:600;white-space:nowrap;background:#00000024}.when svg{width:15px;height:15px}.when.icon-only{min-width:40px;padding:0 11px}.when.is-custom span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:currentColor;transform:translateY(-1px)}.go:active,.when:active,.btn-primary:active,.entry:active{opacity:.82}.meta,.last{display:flex;align-items:center;flex-wrap:wrap;gap:2px 4px;margin:0;color:var(--muted);font-size:14px}.linkish{min-height:28px;padding:0 1px;color:var(--text);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:2px}.card-error,.row-error{margin:0;color:var(--danger);font-size:14px}.editor{display:flex;flex-direction:column;gap:8px;box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden;padding:12px;border-radius:16px;background:var(--bg-elev-2)}.editor .when-row .lbl{margin-bottom:0}.editor p,.hint,.micro{margin:0;font-size:13px;line-height:1.4}.editor-actions,.pair{display:flex;gap:8px}.editor-actions button,.btn,.mini{min-height:44px;border-radius:12px;font-weight:700}.editor-actions button{flex:1 1 0;min-width:0;padding:0 8px;font-size:15px}.btn{width:100%;padding:0 16px;font-size:16px}.actions{display:flex;flex-direction:column;gap:8px}.btn-primary{background:var(--text);color:var(--bg)}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.btn-danger{color:var(--danger);background:transparent}.field{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text);box-sizing:border-box}input[type=date].field,input[type=time].field{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-width:0;max-width:100%;font-size:16px;padding:10px 8px;line-height:1.2}input:disabled,select:disabled,textarea:disabled{opacity:.45}input[type=date].field::-webkit-date-and-time-value,input[type=time].field::-webkit-date-and-time-value{min-width:0;text-align:left}input[type=date].field::-webkit-datetime-edit{min-width:0;padding:0}textarea.field{min-height:88px;resize:vertical}.lbl{display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;min-width:0;margin-bottom:12px;color:var(--muted);font-size:13px;font-weight:700}.field-fit{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%}.when-block{width:100%;min-width:0;max-width:100%;margin-bottom:8px}.when-legend{margin:0 0 6px;color:var(--text);font-size:15px;font-weight:700}.when-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px;width:100%;min-width:0;max-width:100%}.when-row .lbl{margin-bottom:0}.range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}.week-nav{display:flex;align-items:center;gap:8px;min-width:0}.week-step{flex:none;min-height:44px;padding:0 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text);font-size:14px;font-weight:700}.week-label{flex:1;min-width:0;margin:0;overflow:hidden;text-align:center;text-overflow:ellipsis;font-size:17px;font-weight:700;letter-spacing:-.03em;white-space:nowrap}.week-toggle{align-self:flex-start}.range-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.filter-pill{min-width:0;max-width:100%}.filter-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-pill svg{width:16px;height:16px;flex:none}.filter-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:32;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:24px 16px;background:#00000085}.filter-sheet{box-sizing:border-box;width:min(360px,100%);max-height:100%;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:16px 16px 14px;border-radius:18px;background:var(--bg-elev)}.filter-sheet h2{margin:0 0 8px;font-size:18px;letter-spacing:-.03em}.filter-list{min-height:0;overflow:auto}.filter-list .hint{margin:4px 0 8px}.filter-row{display:flex;align-items:center;gap:10px;min-height:40px;min-width:0;font-size:16px;font-weight:600}.filter-row input{width:20px;height:20px;flex:none;accent-color:#ff5a36}.filter-row .dot{box-shadow:none}.filter-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-actions{display:flex;gap:8px;margin-top:10px}.filter-actions .btn{width:auto;flex:1;min-height:40px}.filter-done{width:100%;min-height:40px;margin-top:8px}.range .lbl{margin-bottom:0}.swatches{display:flex;flex-wrap:wrap;margin:0 -6px 4px}.swatch{width:44px;height:44px;display:grid;place-items:center}.swatch i{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000002e}.swatch[aria-pressed=true] i{box-shadow:0 0 0 2px var(--bg-elev),0 0 0 4px var(--text)}.color-input{width:44px;height:44px;padding:4px;border:0;background:transparent}.section-label{margin:18px 4px 8px;color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.activity{border-radius:18px;padding:8px 12px 10px;margin-bottom:10px;box-shadow:none}.activity-top{display:flex;align-items:center;gap:4px}.name-btn,.rename{flex:1;min-width:0;min-height:44px;text-align:left;font-size:17px;font-weight:700}.name-btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rename{padding:0 10px}.activity-actions{display:flex;flex-wrap:wrap;gap:6px;padding-left:44px}.mini{padding:0 12px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:14px}.chip{flex:none;min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:999px;border:1px solid var(--line);color:var(--text);font-size:14px;font-weight:600}.chip .dot{width:8px;height:8px;box-shadow:none}.chip.active{background:var(--text);color:var(--bg);border-color:transparent}.day-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:18px 4px 8px;font-size:13px;font-weight:700}.day-head span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}.entry{width:100%;margin-bottom:8px;padding:12px 14px;display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:12px;align-items:stretch;border-radius:16px;text-align:left;box-shadow:none}.bar{border-radius:99px;background:var(--accent)}.entry-main{min-width:0;display:flex;flex-direction:column;gap:2px}.entry-name,.entry-when{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-name{font-weight:700}.entry-when,.entry-note{color:var(--muted);font-size:14px}.running-label{color:var(--accent, #ff5a36);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.entry-dur{align-self:center;font-size:14px}.totals{list-style:none;margin:0 0 14px;padding:0}.total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}.total.grand{padding-top:12px}.total.clock{align-items:flex-start;border-bottom:0;padding-top:12px}.total.clock .total-name{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.clock-title,.total.clock .total-num{color:var(--clock);font-weight:700}.total-sub{display:block;color:var(--muted);font-size:12px;font-weight:500;line-height:1.3}.total-name{display:inline-flex;align-items:center;gap:8px;min-width:0;font-weight:700}.total-name .dot{box-shadow:none}.total-num{flex:none;font-size:14px;text-align:right}.banner{margin:0 0 12px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg-elev);font-size:14px;line-height:1.4}.banner.error{color:var(--danger)}.empty{padding:28px 8px 12px;text-align:center}.empty h2{margin:0 0 8px;font-size:22px;letter-spacing:-.03em}.empty p{margin:0 auto 16px;max-width:28ch;color:var(--muted)}.empty-mark{width:72px;height:72px;margin:8px auto 16px;border:3px solid var(--text);border-radius:50%;position:relative}.empty-mark:before,.empty-mark:after{content:"";position:absolute;left:50%;top:50%;width:3px;border-radius:2px;transform-origin:bottom center}.empty-mark:before{height:18px;background:#ff5a36;transform:translate(-50%,-100%) rotate(35deg)}.empty-mark:after{height:12px;background:var(--text);transform:translate(-50%,-100%) rotate(150deg)}.skel{height:72px;margin-bottom:14px;border-radius:24px;background:linear-gradient(90deg,var(--bg-elev),var(--bg-elev-2),var(--bg-elev));background-size:200% 100%;animation:sheen 1.2s ease-in-out infinite}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;background:#00000085}.sheet{box-sizing:border-box;width:100%;max-width:min(480px,100%);min-width:0;max-height:calc(100% - 8px);overflow-x:hidden;overflow-y:auto;padding:4px 16px calc(10px + var(--sab));border-radius:22px 22px 0 0;background:var(--bg-elev)}.sheet .lbl{gap:4px;margin-bottom:8px}.sheet .when-row .lbl{margin-bottom:0}.sheet .field{min-height:40px;padding:8px 10px}.sheet textarea.field{min-height:0;height:58px;padding:8px 10px;resize:none;line-height:1.3}.sheet .actions{gap:6px}.sheet .btn{min-height:40px}.handle{width:36px;height:4px;margin:4px auto 8px;border-radius:99px;background:var(--line)}.sheet h2{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}.check{display:flex;align-items:center;gap:10px;min-height:36px;margin:2px 0 8px;font-size:16px}.check input{width:20px;height:20px;accent-color:#ff5a36}body.sheet-open{overflow:hidden}body.sheet-open main{overflow:hidden}@keyframes pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes sheen{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
