:root{--bg:#f4f5f7;--surface:#fff;--text:#1d2330;--muted:#6b7280;--border:#e2e5ea;--accent:#4472c4;--hover:#0000000d;--s-none:#c3c8d0;--s-in_progress:#e8b400;--s-done:#70ad47;--s-not_done:#d9534f;--weekend:#c0504d;--topbar-h:54px;--radius:10px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#15181e;--surface:#1e222a;--text:#e6e8ec;--muted:#9aa1ad;--border:#2f3540;--accent:#6e9bf0;--hover:#ffffff0f;--s-none:#555c68;--weekend:#e8847f;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}.topbar{z-index:10;height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:0 20px;display:flex;position:sticky;top:0}.tabs{gap:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 14px;font-weight:500}.tabs button:hover{background:var(--hover)}.tabs button.active{background:var(--accent);color:#fff}main{max-width:1400px;margin:0 auto;padding:16px 20px 80px}.hint{color:var(--muted);margin:0 0 14px}.empty{text-align:center;color:var(--muted);padding:60px 0}.btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 12px}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.35;cursor:default}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn.icon{min-width:34px;padding:4px 8px;font-size:18px;line-height:1}.btn.small{padding:3px 10px;font-size:13px}.toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.week-head{top:var(--topbar-h);z-index:5;background:var(--bg);border-bottom:1px solid var(--border);margin:-16px -20px 14px;padding:10px 20px 0;position:sticky}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.week-tabs{scrollbar-width:thin;align-items:flex-end;gap:4px;padding-bottom:6px;display:flex;overflow-x:auto}.week-tabs-month{color:var(--muted);text-transform:uppercase;white-space:nowrap;flex:none;align-self:center;margin:0 4px 0 12px;font-size:12px;font-weight:600}.week-tabs-month:first-child{margin-left:0}.week-tab{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:7px;flex:none;padding:5px 10px;font-size:13px}.week-tab:hover{border-color:var(--accent)}.week-tab.empty{color:var(--muted);background:0 0}.week-tab.current{border-color:var(--accent);font-weight:600}.week-tab.active{border-color:var(--accent);background:var(--accent);color:#fff}.week-nav{align-items:center;gap:8px;display:flex}.week-nav h2{text-align:center;min-width:190px;margin:0;font-size:20px}.day{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);scroll-margin-top:calc(var(--topbar-h) + 110px);margin-bottom:18px;padding:14px}.day.weekend .day-head h3{color:var(--weekend)}.day.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.day-head h3{margin:0;font-size:17px}.day-date{color:var(--muted);margin-left:8px;font-weight:400}.today-mark{background:var(--accent);color:#fff;vertical-align:2px;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:500}.day-meta{align-items:center;gap:10px;display:flex}.progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.backlog .columns{gap:16px}.col{--pc:var(--accent);background:color-mix(in srgb, var(--pc) 5%, var(--surface));border-radius:8px;min-width:0}.backlog .col{border:1px solid var(--border);background:var(--surface)}.col-head{background:color-mix(in srgb, var(--pc) 22%, var(--surface));border-bottom:2px solid var(--pc);letter-spacing:.03em;text-transform:uppercase;border-radius:8px 8px 0 0;padding:6px 10px;font-size:13px;font-weight:600}.rows{counter-reset:row;margin:0;padding:4px;list-style:none}.row{counter-increment:row;border-radius:6px;align-items:flex-start;gap:6px;margin-bottom:2px;padding:4px 6px;display:flex;position:relative}.row:before{content:counter(row);width:16px;color:var(--muted);text-align:right;flex:none;padding-top:3px;font-size:12px}.row:hover{background:var(--hover)}.row.s-done{background:color-mix(in srgb, var(--s-done) 22%, transparent)}.row.s-in_progress{background:color-mix(in srgb, var(--s-in_progress) 25%, transparent)}.row.s-not_done{background:color-mix(in srgb, var(--s-not_done) 20%, transparent)}.row textarea{resize:none;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;min-width:0;padding:2px 4px;display:block;overflow:hidden}.row textarea:focus{border-color:var(--accent);background:var(--surface);outline:none}.row-text{flex:1}.row-stack{flex:1;min-width:0}.row .row-since{color:var(--muted);font-size:12px}.row .row-time{width:72px;color:var(--muted);text-align:right;flex:none;font-size:13px}.row-actions{background:var(--surface);box-shadow:var(--shadow);border-radius:6px;gap:2px;padding:1px;display:none;position:absolute;top:3px;right:4px}.row:hover .row-actions,.row-actions:focus-within{display:flex}@media (hover:none){.row-actions{box-shadow:none;background:0 0;display:flex;position:static}}.row-actions button{width:26px;height:24px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:0;font-size:14px}.row-actions button:hover{background:var(--hover);color:var(--text)}.status{flex:none;padding-top:3px;position:relative}.status-dot{border:2px solid var(--s-none);vertical-align:middle;background:0 0;border-radius:50%;width:16px;height:16px;padding:0;display:inline-block}button.status-dot:hover{transform:scale(1.15)}.status-dot.s-done{border-color:var(--s-done);background:var(--s-done)}.status-dot.s-in_progress{border-color:var(--s-in_progress);background:linear-gradient(90deg, var(--s-in_progress) 50%, transparent 50%)}.status-dot.s-not_done{border-color:var(--s-not_done);background:var(--s-not_done)}.status-menu{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;min-width:160px;padding:4px;display:flex;position:absolute;top:24px;left:-4px;box-shadow:0 8px 24px #00000026}.status-menu button{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.status-menu button:hover,.status-menu button.active{background:var(--hover)}.add-input{background:0 0;border:1px dashed #0000;border-radius:6px;width:calc(100% - 8px);margin:0 4px 6px;padding:5px 8px;display:block}.add-input::placeholder{color:var(--muted)}.add-input:hover{border-color:var(--border)}.add-input:focus{border-style:solid;border-color:var(--accent);background:var(--surface);outline:none}.projects{max-width:720px}.project-list{margin:0 0 8px;padding:0;list-style:none}.project{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.project.archived{opacity:.6}.swatch{cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;width:28px;height:28px;padding:0}.project-name{resize:none;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;min-width:0;padding:4px 6px;font-weight:600;overflow:hidden}.project-name:focus{border-color:var(--accent);outline:none}.project-actions{align-items:center;gap:6px;display:flex}.projects .add-input{border-color:var(--border);background:var(--surface);width:100%;margin:0}.toast{z-index:50;color:#fff;background:#222831;border-radius:10px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:10px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.toast button{color:#8fb4ff;background:0 0;border:0;padding:0;font-weight:600}@media (width<=600px){main{padding:12px 12px 80px}.topbar{padding:0 12px}.week-head{margin:-12px -12px 12px;padding:8px 12px 0}.project{flex-wrap:wrap}}.import{border-top:1px solid var(--border);margin-top:32px;padding-top:16px}.import h3{margin:0 0 6px;font-size:15px}.import .btn{cursor:pointer;display:inline-block}.import .btn.disabled{opacity:.5;cursor:default}.sync{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;margin-left:auto;padding:5px 10px;font-size:13px;display:inline-flex}.sync:hover{border-color:var(--border)}.sync-dot{background:var(--s-done);border-radius:50%;width:9px;height:9px}.sync-syncing .sync-dot{background:var(--accent);animation:1s ease-in-out infinite pulse}.sync-offline .sync-dot{background:var(--s-none)}.sync-error .sync-dot,.sync-signed-out .sync-dot{background:var(--s-not_done)}.sync-error{color:var(--s-not_done)}.sync-count{background:var(--hover);font-variant-numeric:tabular-nums;border-radius:9px;padding:0 6px}@keyframes pulse{50%{opacity:.3}}@media (width<=600px){.sync-label{display:none}}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-width:380px;box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:28px;display:flex}.login-card h1{margin:0;font-size:22px}.login-card p{color:var(--muted);margin:0}.login-input{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:9px 12px}.login-input:focus{border-color:var(--accent);outline:none}.login-card .login-error{color:var(--s-not_done)}.login-actions{flex-wrap:wrap;gap:8px;display:flex}
