:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-shell{max-width:1100px;margin:2.5rem auto;padding:0 1.5rem;font-family:system-ui,sans-serif}.login-shell{max-width:360px;margin-top:6rem}.login-form h1{margin:0 0 .5rem;font-size:1.4rem}.app-header{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.install-banner{color:#f5f7fa;background:#1f2a44;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.6rem .9rem;font-size:.9rem;display:flex}.install-banner-actions{flex-shrink:0;gap:.5rem;display:flex}.install-banner button:not(.link-button){color:#1f2a44;cursor:pointer;background:#f5f7fa;border:none;border-radius:4px;padding:.3rem .7rem}.install-banner .link-button{color:#cfd8ea}.tabs button{cursor:pointer;background:0 0;border:1px solid #444;border-radius:6px;margin-left:.5rem;padding:.4rem .9rem}.tabs button.active{color:#fff;background:#2a4d8f;border-color:#2a4d8f}.status{border-radius:6px;padding:.5rem .75rem;font-family:monospace;display:inline-block}.status-ok{color:#7fdb8a;background:#163c1f}.status-error{color:#db7f7f;background:#3c1616}.error-banner{color:#db7f7f;background:#3c1616;border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-actions{gap:.5rem;display:flex}.inline-form{gap:.5rem;margin:1rem 0;display:flex}.inline-form input[type=text]{flex:1}.category-list,.task-list{flex-direction:column;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.category-row{border:1px solid #333;border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .75rem;display:flex}.category-swatch{border-radius:50%;width:14px;height:14px;display:inline-block}.category-name{flex:1}.task-row{border:1px solid #333;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .85rem;display:flex}.task-row.status-done{opacity:.55}.task-main{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.task-title{font-weight:600}.task-category,.task-due,.task-status{background:#2a2a2a;border-radius:999px;padding:.15rem .5rem;font-size:.8rem}.task-actions{flex-shrink:0;gap:.4rem;display:flex}.link-button{color:#db7f7f;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.empty{opacity:.6;font-style:italic}.task-form{border:1px solid #333;border-radius:8px;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:1rem;display:flex}.task-form label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.task-form label.checkbox-label{flex-direction:row;align-items:center;gap:.5rem}.form-actions{gap:.5rem;display:flex}.google-section{margin-bottom:1.5rem}.google-section h3{margin-top:0}.button-link{color:#fff;cursor:pointer;background:#2a4d8f;border:1px solid #444;border-radius:6px;padding:.4rem .9rem;text-decoration:none;display:inline-block}.week-strip{gap:.6rem;margin:1rem 0;padding-bottom:.5rem;display:flex;overflow-x:auto}.day-column{border:1px solid #333;border-radius:8px;flex-direction:column;flex:1 0 140px;gap:.4rem;min-width:140px;min-height:200px;padding:.5rem;display:flex}.day-column.today{border-color:#2a4d8f}.day-column.drag-over{background:#2a4d8f26}.day-column-header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding-bottom:.3rem;font-size:.85rem;font-weight:600;display:flex}.day-column-date{opacity:.6;font-weight:400}.day-column-body{flex-direction:column;flex:1;gap:.4rem;display:flex}.day-task-card{cursor:grab;touch-action:none;background:#1a1a1a;border:1px solid #444;border-radius:6px;flex-direction:column;gap:.2rem;padding:.4rem .6rem;display:flex}.task-time{opacity:.75;font-family:monospace;font-size:.75rem}.task-overdue{color:#db7f7f;background:#3c1616;border-radius:999px;align-self:flex-start;padding:.1rem .4rem;font-size:.75rem;font-weight:600}.unscheduled-section{margin-top:1.5rem}.weekday-picker{gap:.35rem;display:flex}.weekday-picker button{cursor:pointer;background:0 0;border:1px solid #444;border-radius:6px;padding:.3rem .55rem;font-size:.85rem}.weekday-picker button.active{color:#fff;background:#2a4d8f;border-color:#2a4d8f}.recurrence-list{flex-direction:column;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.recurrence-row{border:1px solid #333;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .85rem;display:flex}.recurrence-row.inactive{opacity:.5}.recurrence-main{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.recurrence-text{opacity:.7;font-size:.8rem}
