@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff)format("woff");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:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-500-normal-BC04jsmm.woff)format("woff");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:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff)format("woff");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}:root{--bg:#07080d;--bg-2:#0b0e15;--glow-1:#7c3aed80;--glow-2:#06b6d452;--surface:#141822b8;--surface-solid:#12151d;--surface-2:#ffffff0b;--surface-3:#ffffff16;--border:#ffffff16;--border-2:#ffffff26;--text:#eef1f8;--muted:#98a1b6;--faint:#6d7688;--accent:#8b5cf6;--accent-2:#22d3ee;--success:#34d399;--danger:#f87171;--shadow-lg:0 30px 80px -40px #000000e6;--shadow-md:0 16px 40px -24px #000c;--radius-lg:24px;--radius-md:16px;--radius-sm:11px;--sans:"Noto Sans Thai", "Inter", system-ui, -apple-system, "Segoe UI", "Sarabun", Thonburi, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Noto Sans Thai", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}[data-theme=light]{--bg:#f4f5fa;--bg-2:#fff;--glow-1:#8b5cf638;--glow-2:#06b6d42e;--surface:#ffffffe0;--surface-solid:#fff;--surface-2:#0f172a09;--surface-3:#0f172a12;--border:#0f172a17;--border-2:#0f172a2e;--text:#101828;--muted:#5b6579;--faint:#8490a3;--accent:#7c3aed;--accent-2:#0891b2;--success:#059669;--danger:#dc2626;--shadow-lg:0 28px 60px -38px #0f172a80;--shadow-md:0 12px 30px -20px #0f172a66;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--sans);color:var(--text);background:radial-gradient(1100px 620px at 8% -10%, var(--glow-1) 0%, transparent 60%), radial-gradient(900px 520px at 98% 0%, var(--glow-2) 0%, transparent 58%), linear-gradient(180deg, var(--bg-2), var(--bg) 55%);background-attachment:fixed;margin:0;font-size:15px;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}h1,h2,h3,p,figure{margin:0}button,input{font:inherit;color:inherit}button{touch-action:manipulation}img,svg{max-width:100%;display:block}::selection{background:color-mix(in oklab, var(--accent) 40%, transparent);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{width:min(1120px,100%);padding:clamp(16px,2.6vw,32px) clamp(14px,2.6vw,28px) clamp(28px,4vw,44px);padding-left:max(clamp(14px, 2.6vw, 28px), env(safe-area-inset-left));padding-right:max(clamp(14px, 2.6vw, 28px), env(safe-area-inset-right));flex-direction:column;gap:clamp(16px,2vw,24px);min-height:100dvh;margin:0 auto;display:flex}.grid{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:start;gap:clamp(14px,1.8vw,20px);display:grid}.col{flex-direction:column;gap:clamp(14px,1.8vw,20px);min-width:0;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0d;-webkit-backdrop-filter:blur(20px)saturate(1.15);padding:clamp(16px,2vw,22px);position:relative}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-head h2{letter-spacing:-.01em;font-size:15px;font-weight:600}.pill{color:var(--muted);border:1px solid var(--border);background:var(--surface-2);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:12px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.logo{width:clamp(36px,4vw,44px);height:clamp(36px,4vw,44px);box-shadow:0 12px 28px -14px var(--accent);border-radius:13px}.brand-text{min-width:0}.brand h1{letter-spacing:-.025em;font-size:clamp(18px,2.2vw,21px);font-weight:650;line-height:1.2}.tagline{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.top-actions{align-items:center;gap:6px;display:flex}.install{border-color:color-mix(in oklab, var(--accent) 45%, transparent);background:color-mix(in oklab, var(--accent) 16%, transparent);color:var(--text)}.btn{border:1px solid var(--border-2);background:var(--surface-2);min-height:40px;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px 16px;font-size:14px;font-weight:550;line-height:1;transition:transform .12s,background .18s,border-color .18s,opacity .18s,color .18s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-2)}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--accent), color-mix(in oklab, var(--accent) 45%, var(--accent-2)));color:#fff;box-shadow:0 14px 30px -16px var(--accent), inset 0 1px 0 #ffffff38;border-color:#0000}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 88%, white), color-mix(in oklab, var(--accent) 40%, var(--accent-2)));filter:saturate(1.05)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-danger{background:color-mix(in oklab, var(--danger) 18%, transparent);border-color:color-mix(in oklab, var(--danger) 45%, transparent);color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in oklab, var(--danger) 28%, transparent)}.btn.icon{border-radius:11px;width:38px;height:38px;min-height:38px;padding:0}.btn.icon.lg{border-radius:13px;width:44px;height:44px;min-height:44px}.btn.sm{border-radius:9px;min-height:32px;padding:6px 12px;font-size:13px}.danger-text{color:var(--danger)}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid color-mix(in oklab, var(--accent-2) 75%, white);outline-offset:2px}input{font-size:16px}.timer-card{--accent:#8b5cf6;--accent-2:#22d3ee;flex-direction:column;align-items:center;gap:16px;display:flex;overflow:hidden}.timer-card.mode-short{--accent:#06b6d4;--accent-2:#34d399}.timer-card.mode-long{--accent:#34d399;--accent-2:#a3e635}.timer-card:after{content:"";background:radial-gradient(closest-side, color-mix(in oklab, var(--accent) 28%, transparent), transparent);filter:blur(20px);pointer-events:none;opacity:.8;transition:opacity .4s;position:absolute;inset:-40% 25% 60%}.timer-card>*{z-index:1;position:relative}.tabs{background:var(--surface-2);border:1px solid var(--border);scrollbar-width:none;border-radius:999px;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:550;line-height:1.4;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.tab:hover{color:var(--text)}.tab svg{opacity:.75;flex:none}.tab.is-active svg{opacity:1;color:color-mix(in oklab, var(--accent-2) 75%, var(--text))}.tab.is-active{color:var(--text);background:color-mix(in oklab, var(--accent) 20%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 42%, transparent)}.ring-wrap{aspect-ratio:1;place-items:center;width:min(320px,74vw);margin-block:4px;display:grid;position:relative}.ring{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.ticks .tick{stroke:color-mix(in oklab, var(--text) 16%, transparent);transition:stroke .3s,opacity .3s}.ticks .tick.on{stroke:color-mix(in oklab, var(--accent-2) 70%, transparent)}.ring-track{fill:none;stroke:color-mix(in oklab, var(--text) 9%, transparent);stroke-width:9px}.ring-progress{fill:none;stroke-width:9px;stroke-linecap:round;filter:drop-shadow(0 0 8px color-mix(in oklab, var(--accent) 60%, transparent));transition:stroke-dashoffset .3s linear}.ring-wrap.is-running .ring-progress{filter:drop-shadow(0 0 14px color-mix(in oklab, var(--accent) 80%, transparent))}.ring-center{flex-direction:column;justify-content:center;align-items:center;gap:6px;padding-bottom:4px;display:flex;position:absolute;inset:0}.mode-chip{letter-spacing:.01em;color:color-mix(in oklab, var(--accent) 70%, var(--text));background:color-mix(in oklab, var(--accent) 14%, transparent);border:1px solid color-mix(in oklab, var(--accent) 32%, transparent);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:550}.time{font-family:var(--mono);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(46px,10.5vw,66px);font-weight:300;line-height:1.05}.mode-hint{color:var(--muted);font-size:12.5px}.dots{gap:6px;margin-top:6px;display:flex}.dot{background:color-mix(in oklab, var(--text) 18%, transparent);border-radius:50%;width:7px;height:7px;transition:background .25s,transform .25s}.dot.on{background:var(--accent);box-shadow:0 0 10px -1px var(--accent);transform:scale(1.2)}.timer-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.btn.play{border-radius:15px;min-width:132px;height:48px;min-height:48px;font-size:15px;font-weight:600}.plus{font-family:var(--mono);font-size:12px;font-weight:600}.active-task-line{background:var(--surface-2);border:1px solid var(--border);max-width:100%;min-height:34px;color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;display:flex}.active-task-line .label{text-transform:none;color:color-mix(in oklab, var(--accent) 75%, var(--text));white-space:nowrap;font-size:11px;font-weight:600}.active-task-line .title{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.active-task-line.is-empty .title{font-size:12.5px}.add-form{gap:8px;margin-bottom:12px;display:flex}.add-form input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);flex:1;min-width:0;padding:10px 12px;transition:border-color .18s,background .18s,box-shadow .18s}.add-form input::placeholder{color:var(--faint)}.add-form input:focus{border-color:color-mix(in oklab, var(--accent) 55%, transparent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);outline:none}.filters{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.filter{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;transition:color .16s,background .16s;display:inline-flex}.filter:hover{color:var(--text);background:var(--surface-2)}.filter.is-active{color:var(--text);background:var(--surface-3);border-color:var(--border)}.filter .count{font-family:var(--mono);color:var(--faint);font-size:10.5px}.task-list{overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;padding:0;flex-direction:column;gap:4px;max-height:min(52vh,460px);margin-inline:-4px;padding-inline:4px;list-style:none;display:flex;overflow-y:auto}.task{border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:8px 8px 8px 4px;transition:background .16s,border-color .16s,opacity .16s;display:flex}.task:hover{background:var(--surface-2)}.task.is-active{background:color-mix(in oklab, var(--accent) 11%, transparent);border-color:color-mix(in oklab, var(--accent) 38%, transparent)}.task.is-dragging{opacity:.45}.task.is-over{border-color:color-mix(in oklab, var(--accent-2) 60%, transparent);background:color-mix(in oklab, var(--accent-2) 8%, transparent)}.drag-handle{width:16px;color:var(--faint);cursor:grab;opacity:0;flex:none;place-items:center;transition:opacity .16s;display:grid}.task:hover .drag-handle,.task:focus-within .drag-handle{opacity:1}.task:active .drag-handle{cursor:grabbing}.check{border:1.5px solid var(--border-2);color:#0000;cursor:pointer;background:0 0;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;transition:background .16s,border-color .16s,color .16s,transform .12s;display:grid}.check:hover{border-color:var(--accent);color:color-mix(in oklab, var(--accent) 60%, transparent)}.check.on{background:var(--accent);border-color:var(--accent);color:#fff}.check:active{transform:scale(.9)}.task-title{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:1;min-width:0;padding:4px 2px;font-size:14.5px;line-height:1.75;overflow:hidden}.task.is-active .task-title{font-weight:550}.task.is-done .task-title{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in oklab, var(--muted) 60%, transparent)}.title-edit{border:1px solid color-mix(in oklab, var(--accent) 55%, transparent);background:var(--surface);border-radius:8px;flex:1;min-width:0;padding:2px 8px;font-size:16px}.title-edit:focus{box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);outline:none}.pomos{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:3px;font-size:11px;display:inline-flex}.row-tools{opacity:0;flex:none;gap:1px;transition:opacity .16s;display:flex}.task:hover .row-tools,.task:focus-within .row-tools{opacity:1}.mini{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;font-size:12px;transition:background .16s,color .16s;display:grid}.mini:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.mini.danger:hover{color:var(--danger)}.mini:disabled{opacity:.2;cursor:default}.empty-state{border:1px dashed var(--border-2);border-radius:var(--radius-md);color:var(--faint);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;display:flex}.empty-state svg{color:color-mix(in oklab, var(--accent) 55%, var(--muted))}.empty-state p{color:var(--text);font-size:14px;font-weight:550}.empty-state span{max-width:34ch;font-size:12.5px}.task-foot{justify-content:flex-end;padding-top:8px;display:flex}.link{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:3px 6px;font-size:12.5px;transition:color .16s,background .16s}.link:hover{color:var(--text);background:var(--surface-2)}.link.subtle{font-size:12px}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat-value{font-family:var(--mono);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;font-size:21px;font-weight:500;line-height:1.15;display:inline-flex}.stat-unit{font-family:var(--sans);color:var(--muted);font-size:11px;font-weight:500}.stat-label{color:var(--muted);font-size:11.5px}.goal{flex-direction:column;gap:6px;margin-top:12px;display:flex}.goal-head{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:12.5px;display:flex}.goal-count{font-family:var(--mono);color:var(--text);font-size:12px}.goal-track{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.goal-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.goal-hint{color:var(--faint);font-size:11.5px}.chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:6px;height:124px;margin-top:16px;display:grid}.bar-col{flex-direction:column;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.bar-value{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;height:12px;font-size:10px;line-height:12px}.bar-track{background:var(--surface-2);border-radius:7px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.bar{background:linear-gradient(180deg, color-mix(in oklab, var(--accent-2) 92%, white), color-mix(in oklab, var(--accent) 88%, transparent));opacity:.5;border-radius:7px 7px 0 0;width:100%;transition:height .5s cubic-bezier(.16,1,.3,1),opacity .2s}.bar-col:hover .bar{opacity:.8}.bar-col.is-today .bar{opacity:1;box-shadow:0 0 16px -3px var(--accent-2)}[data-theme=light] .bar{opacity:.85}[data-theme=light] .bar-col.is-today .bar{opacity:1}[data-theme=light] .bar-track{background:#0f172a0e}.bar-label{color:var(--muted);font-size:11px}.bar-col.is-today .bar-label{color:var(--text);font-weight:600}.chart-foot{color:var(--faint);text-align:right;margin-top:8px;font-size:11.5px}.empty-line{color:var(--muted);border:1px dashed var(--border-2);border-radius:var(--radius-sm);text-align:center;padding:16px;font-size:13px}.log-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.log-item{border-radius:10px;align-items:center;gap:9px;padding:7px 8px;font-size:13px;transition:background .16s;display:flex}.log-item:hover{background:var(--surface-2)}.log-dot{background:#8b5cf6;border-radius:50%;flex:none;width:7px;height:7px}.log-dot.mode-focus{background:#8b5cf6;box-shadow:0 0 8px -1px #8b5cf6}.log-dot.mode-short{background:#06b6d4;box-shadow:0 0 8px -1px #06b6d4}.log-dot.mode-long{background:#34d399;box-shadow:0 0 8px -1px #34d399}.log-mode{color:var(--text);min-width:52px}.log-min{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.log-time{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:11.5px}.foot{color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:2px 4px;font-size:11.5px;display:flex}.foot-meta{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.dialog{border:1px solid var(--border-2);background:var(--surface-solid);width:min(540px,100vw - 32px);max-height:min(86dvh,720px);color:var(--text);border-radius:22px;padding:0;overflow:hidden;box-shadow:0 40px 100px -40px #000000e6}.dialog-sm{width:min(420px,100vw - 32px)}.dialog::backdrop{backdrop-filter:blur(6px);background:#04060c9e}.dialog[open]{animation:.22s cubic-bezier(.16,1,.3,1) dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.dialog-inner{max-height:inherit;flex-direction:column;display:flex}.dialog-inner:focus{outline:none}.dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 10px 20px;display:flex}.dialog-head h2{font-size:16px;font-weight:600}.dialog-body{overscroll-behavior:contain;flex-direction:column;gap:20px;padding:16px 20px;display:flex;overflow-y:auto}.dialog-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;gap:8px;display:flex}.field-group h3{color:var(--muted);letter-spacing:.02em;margin-bottom:10px;font-size:12px;font-weight:600}.field-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.field-grid.two{grid-template-columns:repeat(2,1fr)}.stepper-field{flex-direction:column;gap:6px;display:flex}.stepper-field>label{color:var(--muted);align-items:baseline;gap:5px;font-size:12.5px;display:flex}.stepper-field .unit{color:var(--faint);font-size:10.5px}.stepper{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;display:flex;overflow:hidden}.stepper input{text-align:center;width:100%;min-width:0;font-family:var(--mono);appearance:textfield;background:0 0;border:0;flex:1;padding:7px 0;font-size:14px}.stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.stepper input:focus{background:var(--surface-3);outline:none}.stepper-btn{width:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:stretch;font-size:15px;transition:background .16s,color .16s}.stepper-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.stepper-btn:disabled{opacity:.35;cursor:default}.toggle-list{flex-direction:column;gap:2px;display:flex}.toggle-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:10px 4px;font-size:13.5px;display:flex}.toggle-row:last-child{border-bottom:0}.toggle-row span{flex-direction:column;gap:3px;line-height:1.6;display:flex}.toggle-row small{color:var(--faint);font-size:11.5px;line-height:1.7}.switch{appearance:none;background:var(--surface-3);border:1px solid var(--border-2);cursor:pointer;border-radius:999px;flex:none;width:42px;height:24px;transition:background .2s,border-color .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}.switch:checked{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-color:#0000}.switch:checked:after{transform:translate(18px)}.danger-zone .hint{color:var(--faint);margin-bottom:10px;font-size:12px}.danger-actions{color:var(--danger);flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.danger-actions span{margin-right:auto}.key-list{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.key-list li{align-items:center;gap:12px;font-size:13px;display:flex}.keys{gap:4px;min-width:84px;display:inline-flex}kbd{font-family:var(--mono);border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);border-radius:6px;padding:3px 7px;font-size:11px;line-height:1.2}.hint{color:var(--faint);font-size:12px;line-height:1.7}.toast-host{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(460px,100vw - 24px);display:flex;position:fixed;transform:translate(-50%)}.toast{border:1px solid var(--border-2);background:color-mix(in oklab, var(--surface-solid) 92%, transparent);width:100%;box-shadow:var(--shadow-md);pointer-events:auto;backdrop-filter:blur(10px);border-radius:13px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;animation:.22s cubic-bezier(.16,1,.3,1) toast-in;display:flex}.toast.success{border-color:color-mix(in oklab, var(--success) 45%, transparent)}.toast.danger{border-color:color-mix(in oklab, var(--danger) 45%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast-msg{flex:1;min-width:0}.toast-action{color:var(--accent-2);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;padding:4px 6px;font-size:12.5px;font-weight:600}.toast-action:hover{background:var(--surface-2)}.toast-close{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:4px;font-size:11px;line-height:1}.toast-close:hover{color:var(--text)}@media (width<=980px){.grid{grid-template-columns:minmax(0,1fr)}.task-list{max-height:none}}@media (width<=720px){.hide-xs{display:none}.add-form .btn.sm{width:44px;min-height:44px;padding:0}.timer-card{gap:14px}.top-actions .btn.icon.lg{width:42px;height:42px}}@media (hover:none),(pointer:coarse){.row-tools{opacity:0}.task.is-active .row-tools{opacity:1}.drag-handle{display:none}.mini{width:30px;height:30px}.btn.icon{width:44px;height:44px}}@media (width<=560px){.topbar{flex-wrap:nowrap}.tagline{display:none}.brand h1{font-size:17px}.brand .logo{border-radius:11px;width:36px;height:36px}.top-actions{flex:none;gap:2px}.top-actions .btn.icon.lg{width:40px;height:40px;min-height:40px}.install{width:40px;min-height:40px;padding:0}}@media (width<=380px){.timer-actions{gap:4px}.timer-actions .btn.icon.lg{width:40px;height:40px;min-height:40px}.btn.play{min-width:112px;height:46px;min-height:46px;font-size:14.5px}}@media (width<=420px){.stat-row{gap:6px}.stat{padding:8px 10px}.stat-value{font-size:18px}.log-time{font-size:11px}.field-grid,.field-grid.two{grid-template-columns:repeat(2,1fr)}.foot{flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
