:root{--bg:#f5f6fa;--surface:#fff;--surface-2:#f0f1f6;--border:#e3e5ee;--text:#1c1e2b;--muted:#6b7086;--primary:#6366f1;--primary-hover:#5458e0;--primary-soft:#eceefe;--danger:#e5484d;--warn-bg:#fff4e5;--warn-text:#8a4b00;--shadow:0 1px 2px #1414280f, 0 4px 16px #1414280f;--shadow-lg:0 12px 48px #14142838;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#111218;--surface:#1b1c25;--surface-2:#242632;--border:#2f3140;--text:#e8e9f1;--muted:#9a9db3;--primary:#7c7ff5;--primary-hover:#8f92f8;--primary-soft:#2a2b4a;--danger:#ff6369;--warn-bg:#3a2a12;--warn-text:#ffc98a;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--shadow-lg:0 12px 48px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}h1,h2,h3{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.emoji{font-family:Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;line-height:1}.muted{color:var(--muted)}.hint{color:var(--muted);margin:8px 0 0;font-size:12.5px}.error{color:var(--danger);margin:0 auto 0 0;font-size:13px}.btn{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;height:36px;padding:0 14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-icon{width:34px;height:34px;color:var(--muted);background:0 0;border:none;border-radius:9px;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-icon.danger:hover{color:var(--danger)}.btn-icon.btn-sm{width:26px;height:26px}.link{color:var(--primary);background:0 0;border:none;padding:0;font-size:13px}.link:hover{text-decoration:underline}input:not([type=checkbox],[type=color]),select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:10px;outline:none;width:100%;min-height:38px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}select{cursor:pointer;width:auto}.segmented{background:var(--surface-2);border-radius:11px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:0 12px;font-weight:500}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.count{background:var(--border);min-width:18px;color:var(--muted);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:600;display:inline-block}.swatch{outline-offset:1px;border:2px solid #0000;border-radius:50%;outline:2px solid #0000;flex:none;place-items:center;width:28px;height:28px;padding:0;transition:transform .1s;display:inline-grid;position:relative}.swatch:hover{transform:scale(1.1)}.swatch.selected{border-color:var(--surface);outline-color:var(--text)}.swatch-sm{width:20px;height:20px}.swatch-custom{color:#fff;cursor:pointer;text-shadow:0 0 3px #0009;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);font-weight:700}.swatch-custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:15px;height:30px;padding:0 10px;font-size:12.5px}.chip:hover{border-color:var(--primary);color:var(--primary)}.app{max-width:980px;margin:0 auto;padding:24px 24px 96px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand h1{letter-spacing:-.02em;font-size:22px}.brand p{margin:0;font-size:13px}.brand-logo{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.topbar-actions{align-items:center;gap:8px;display:flex}.banner{border-radius:var(--radius);background:var(--primary-soft);align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.banner span{flex:1}.banner-warn{background:var(--warn-bg);color:var(--warn-text)}.toolbar{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:12px;margin-bottom:20px;padding:14px;display:flex}.search{align-items:center;display:flex;position:relative}.search svg{color:var(--muted);position:absolute;left:12px}.search input{padding-left:36px}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-filter{flex-wrap:wrap;gap:6px;padding:0 6px;display:flex}.group+.group{margin-top:24px}.group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:8px;margin:0 4px 10px;font-size:13px;font-weight:600;display:flex}.cards{flex-direction:column;gap:10px;display:flex}.card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);align-items:flex-start;gap:14px;padding:14px 12px 14px 18px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--accent);width:5px;position:absolute;inset:0 auto 0 0}.card:hover{transform:translateY(-1px)}.card.status-paused,.card.status-done{opacity:.65}.card-icon{background:0 0;border:none;padding:0}.icon-view{border:1.5px solid;flex:none;place-items:center;display:inline-grid;overflow:hidden}.icon-view img{object-fit:contain}.card-body{flex:1;min-width:0}.card-title-row{align-items:center;gap:8px;min-width:0;display:flex}.card-title-row h3{text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;font-weight:600;overflow:hidden}.badge{background:var(--surface-2);color:var(--muted);border-radius:10px;flex:none;padding:1px 8px;font-size:11.5px;font-weight:500}.badge-done{color:#16a34a;background:#22c55e22}.badge-snooze{color:#d97706;background:#f59e0b22}.card-desc{color:var(--muted);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;margin:3px 0 0;display:-webkit-box;overflow:hidden}.card-meta{flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:13px;display:flex}.meta{align-items:center;gap:5px;display:inline-flex}.meta svg{color:var(--muted)}.meta-soon{color:var(--accent);font-weight:600}.card-actions{opacity:.55;flex-wrap:wrap;justify-content:flex-end;gap:2px;transition:opacity .15s;display:flex}.card:hover .card-actions,.card:focus-within .card-actions{opacity:1}.empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;display:flex}.empty p{max-width:420px;margin:0 0 8px}.empty-emoji{font-size:48px}.fab{display:none}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0a1473;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(520px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;animation:.18s ease-out pop;display:flex}.modal-wide{width:min(920px,100%)}.modal-header{justify-content:space-between;align-items:center;padding:16px 20px 8px;display:flex}.modal-header h2{font-size:18px}.modal-body{padding:8px 20px 16px;overflow:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.editor{grid-template-columns:1fr 340px;gap:24px;display:grid}.editor-main{flex-direction:column;gap:16px;min-width:0;display:flex}.editor-title-row{align-items:flex-end;gap:14px;display:flex}.grow{flex:1}.field{flex-direction:column;gap:6px;display:flex}.field>label,.editor-side>label{color:var(--muted);font-size:12.5px;font-weight:600}.colors,.start-row{flex-wrap:wrap;gap:8px;display:flex}.start-row input{flex:200px;width:auto}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.interval-row{align-items:center;gap:8px;margin-top:6px;display:flex}.interval-row input{width:90px}.weekdays{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.weekdays>button{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:40px;height:36px;font-weight:500}.weekdays>button.active{border-color:var(--primary);background:var(--primary);color:#fff}.weekday-presets{gap:10px;margin-left:6px;display:inline-flex}.preview{background:var(--surface-2);border-radius:12px;padding:12px 14px;font-size:13px}.preview-title{margin-bottom:6px;font-weight:600}.preview ol{columns:2;margin:0;padding-left:20px}.preview p{margin:0}.editor-side{flex-direction:column;gap:6px;min-width:0;display:flex}.icon-picker{border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.tabs{border-bottom:1px solid var(--border);display:flex}.tabs button{height:38px;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:500;display:inline-flex}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.emoji-cats{scrollbar-width:thin;border-bottom:1px solid var(--border);gap:2px;padding:6px;display:flex;overflow-x:auto}.emoji-cats button{opacity:.6;background:0 0;border:none;border-radius:8px;flex:none;width:32px;height:32px;font-size:18px}.emoji-cats button.active{background:var(--primary-soft);opacity:1}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));align-content:start;gap:2px;height:260px;padding:6px;display:grid;overflow-y:auto}.emoji-grid button{background:0 0;border:none;border-radius:8px;height:36px;font-size:22px;transition:transform 80ms}.emoji-grid button:hover{background:var(--surface-2);transform:scale(1.15)}.emoji-grid button.selected{background:var(--primary-soft);outline:2px solid var(--primary)}.emoji-manual{border-top:1px solid var(--border);padding:6px}.emoji-manual input{font-size:13px}.custom-icons{border-radius:10px;padding:8px;transition:background .15s}.custom-icons.drag{background:var(--primary-soft);outline:2px dashed var(--primary)}.custom-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;max-height:300px;padding:6px;display:grid;overflow-y:auto}.custom-add,.custom-pick{aspect-ratio:1;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;width:100%}.custom-add{color:var(--muted);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11.5px;display:flex}.custom-add:hover{border-color:var(--primary);color:var(--primary)}.custom-item{position:relative}.custom-pick{place-items:center;padding:8px;display:grid}.custom-pick:disabled{cursor:default}.custom-pick img{object-fit:contain;max-width:100%;max-height:100%}.custom-item.selected .custom-pick{border-color:var(--primary);outline:2px solid var(--primary)}.custom-del{background:var(--danger);color:#fff;border:none;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:none;position:absolute;top:-6px;right:-6px}.custom-item:hover .custom-del{display:grid}.settings{flex-direction:column;gap:24px;display:flex}.settings section{flex-direction:column;gap:10px;display:flex}.settings h3{font-size:15px}.settings .row{flex-wrap:wrap;gap:8px;display:flex}.perm{margin:0}.perm-granted{color:#16a34a}.perm-denied{color:var(--danger)}.toggle{cursor:pointer;align-items:center;gap:10px;display:flex}.toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.toggle input[type=number]{width:80px}.toasts{z-index:60;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius);border-left:4px solid var(--accent);background:var(--surface);box-shadow:var(--shadow-lg);align-items:flex-start;gap:12px;padding:12px;animation:.2s ease-out pop;display:flex}.toast-body{flex:1;min-width:0}.toast-body p{color:var(--muted);white-space:pre-line;margin:2px 0 0}.toast-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}@media (width<=780px){.editor{grid-template-columns:1fr}.preview ol{columns:1}}@media (width<=600px){.app{padding:16px 16px 96px}.topbar-actions .btn-primary{display:none}.fab{z-index:40;background:var(--primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-lg);border:none;border-radius:18px;place-items:center;display:grid;position:fixed;bottom:20px;right:20px}.card{flex-wrap:wrap}.card-actions{opacity:1;justify-content:flex-start;width:100%;margin-left:60px}.segmented button{padding:0 9px}}
