html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body,html{margin:0;padding:0;width:100%;height:100%;overflow:hidden}#app{height:100%;width:100%}:root{--bg-color: #121212;--surface-color: #1E1E1E;--primary-text-color: #E0E0E0;--secondary-text-color: #AAAAAA;--border-color: #333333;--accent-color: #BB86FC;--accent-variant-color: #3700B3;--error-color: #CF6679}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-color);color:var(--primary-text-color);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-color);text-decoration:inherit}a:hover{filter:brightness(1.2)}button{border-radius:4px;border:1px solid var(--border-color);padding:.5em 1em;font-size:1em;font-weight:500;font-family:inherit;background-color:#bb86fc1a;color:var(--accent-color);cursor:pointer;transition:background-color .2s}button:hover{background-color:#bb86fc26;border-color:var(--border-color)}button:focus,button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}h1{font-size:3.2em;line-height:1.1}.card{padding:2em}.task-item.svelte-149j88a{display:flex;align-items:center;gap:8px;font-size:.95em;position:relative;background-color:#ffffff0d;padding:6px 10px;border-radius:16px;margin-bottom:4px;transition:background-color .2s;cursor:pointer}.task-item.svelte-149j88a:hover{background-color:#ffffff1a}.task-item.svelte-149j88a input[type=checkbox]:where(.svelte-149j88a){width:15px;height:15px;flex-shrink:0;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:transparent;border:1px solid rgba(170,170,170,.5);border-radius:3px;position:relative;vertical-align:middle;transition:background-color .2s,border-color .2s}.task-item.svelte-149j88a input[type=checkbox]:where(.svelte-149j88a):hover{border-color:#aaac}.task-item.svelte-149j88a input[type=checkbox]:where(.svelte-149j88a):checked{background-color:var(--accent-color, #BB86FC);border-color:var(--accent-color, #BB86FC)}.task-item.svelte-149j88a input[type=checkbox]:where(.svelte-149j88a):checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--surface-color, #4D4E53);border-width:0 2px 2px 0;transform:rotate(45deg)}.task-details.svelte-149j88a{flex-grow:1;display:flex;flex-direction:column;overflow:hidden}.task-main-line.svelte-149j88a{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.task-title.svelte-149j88a{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.task-title.svelte-149j88a:hover{color:var(--accent-color, #BB86FC)}.description-snippet.svelte-149j88a{font-size:.9em;color:var(--secondary-text-color, #AAAAAA);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:2px;width:100%}.task-item.completed.svelte-149j88a .task-title:where(.svelte-149j88a),.task-item.completed.svelte-149j88a .description-snippet:where(.svelte-149j88a){text-decoration:line-through;color:var(--secondary-text-color, #888)}.task-item.completed.svelte-149j88a .due-date-display:where(.svelte-149j88a){opacity:.7}.due-date-display.svelte-149j88a{font-size:.85em;color:var(--secondary-text-color, #AAAAAA);white-space:nowrap;transition:color .2s;flex-shrink:0}.due-date-display.soon.svelte-149j88a{color:#ffda6b;font-weight:500}.due-date-display.overdue.svelte-149j88a{color:var(--error-color, #CF6679);font-weight:500}.task-edit-panel.svelte-obfor4{display:flex;flex-direction:column;gap:8px;padding:8px 4px;background-color:#00000026;border-radius:4px;margin:4px 0}.edit-title-line.svelte-obfor4{display:flex;align-items:center;gap:6px}.edit-title-input.svelte-obfor4{flex-grow:1;padding:6px 8px;border:1px solid var(--border-color, #333);border-radius:3px;background-color:var(--surface-color, #404040);color:var(--primary-text-color, #E0E0E0);font-family:inherit;font-size:.95em;line-height:1.4}.edit-title-input.svelte-obfor4:focus{outline:none;border-color:var(--accent-color, #BB86FC);box-shadow:0 0 0 1px var(--accent-color, #BB86FC)}.save-button.svelte-obfor4{background:none;border:none;padding:4px;margin:0;cursor:pointer;color:var(--accent-color, #BB86FC);line-height:0;border-radius:4px;flex-shrink:0}.save-button.svelte-obfor4:hover{background-color:#bb86fc1a}.save-button.svelte-obfor4 svg:where(.svelte-obfor4){display:block}.edit-description-textarea.svelte-obfor4,.edit-duedate-input.svelte-obfor4{width:100%;padding:6px 8px;border:1px solid var(--border-color, #333);border-radius:3px;background-color:var(--surface-color, #404040);color:var(--primary-text-color, #E0E0E0);font-family:inherit;font-size:.95em;line-height:1.4}.edit-description-textarea.svelte-obfor4:focus,.edit-duedate-input.svelte-obfor4:focus{outline:none;border-color:var(--accent-color, #BB86FC);box-shadow:0 0 0 1px var(--accent-color, #BB86FC)}.edit-description-textarea.svelte-obfor4{resize:vertical;min-height:40px}.edit-duedate.svelte-obfor4{display:flex;align-items:center;gap:6px}.edit-duedate.svelte-obfor4 label:where(.svelte-obfor4){display:flex;align-items:center;gap:4px;font-size:.85em;color:var(--secondary-text-color, #AAAAAA);cursor:pointer}.edit-duedate.svelte-obfor4 label:where(.svelte-obfor4) svg:where(.svelte-obfor4){flex-shrink:0;fill:var(--secondary-text-color, #AAAAAA);transition:fill .2s}.edit-duedate.svelte-obfor4 label:where(.svelte-obfor4):hover svg:where(.svelte-obfor4){fill:var(--primary-text-color, #E0E0E0)}.edit-duedate-input.svelte-obfor4{width:auto;flex-grow:1;min-width:100px;font-size:.9em;color-scheme:dark}.edit-duedate-input.svelte-obfor4::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.clear-date-button.svelte-obfor4{background:none;border:none;color:var(--secondary-text-color, #AAAAAA);font-size:1.2em;padding:0 4px;cursor:pointer;line-height:1}.clear-date-button.svelte-obfor4:hover{color:var(--error-color, #CF6679)}.edit-footer.svelte-obfor4{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.edit-duedate.svelte-obfor4{flex-grow:1;margin-right:10px}.delete-section.svelte-obfor4{display:flex;gap:5px;align-items:center;flex-shrink:0}.delete-button-initial.svelte-obfor4{background:none;border:none;padding:4px;margin:0;cursor:pointer;color:var(--secondary-text-color, #AAAAAA);line-height:0;border-radius:4px}.delete-button-initial.svelte-obfor4:hover{color:var(--error-color, #CF6679);background-color:#ffffff1a}.delete-button-initial.svelte-obfor4 svg:where(.svelte-obfor4){display:block}.delete-button-confirm.svelte-obfor4,.delete-button-cancel.svelte-obfor4{font-size:.8em;padding:3px 8px;border-radius:3px;border:1px solid var(--border-color, #333);cursor:pointer;font-weight:500}.delete-button-confirm.svelte-obfor4{background-color:var(--error-color, #CF6679);color:#fff;border-color:var(--error-color, #CF6679)}.delete-button-cancel.svelte-obfor4{background-color:transparent;color:var(--secondary-text-color, #AAAAAA)}.delete-button-cancel.svelte-obfor4:hover{background-color:#ffffff1a;color:var(--primary-text-color, #E0E0E0)}.task-list.svelte-jxgjby{display:flex;flex-direction:column;gap:6px}.task-list-item.svelte-jxgjby{position:relative;transition:background-color .2s}.add-task-button.svelte-jxgjby{margin-top:12px;background:none;border:1px dashed var(--border-color, #555);color:var(--secondary-text-color, #AAAAAA);padding:6px 10px;border-radius:4px;cursor:pointer;text-align:left;transition:background-color .2s,color .2s,border-color .2s;font-size:.9em;font-weight:500}.add-task-button.svelte-jxgjby:hover{background-color:#ffffff0d;color:var(--primary-text-color, #E0E0E0);border-color:var(--secondary-text-color, #AAAAAA)}.task-list-item.drop-target-before.svelte-jxgjby:before,.task-list.drop-target-end.svelte-jxgjby:after{content:"";position:absolute;left:0;right:0;height:3px;background-color:var(--accent-color, #BB86FC);z-index:5;border-radius:1.5px}.task-list-item.drop-target-before.svelte-jxgjby:before{top:-5px}.task-list.drop-target-end.svelte-jxgjby:after{bottom:-5px}.edit-panel.svelte-syfbt5{padding:8px 0;border-top:1px solid var(--border-color, #333);margin-top:8px;display:flex;justify-content:space-between;align-items:center}.color-palette.svelte-syfbt5{display:flex;gap:6px;flex-wrap:wrap}.color-swatch.svelte-syfbt5{width:20px;height:20px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;transition:border-color .2s,transform .1s}.color-swatch.svelte-syfbt5:hover{border-color:#ffffff80}.color-swatch.selected.svelte-syfbt5{border-color:#fff;transform:scale(1.1)}.delete-section.svelte-syfbt5{display:flex;gap:5px;align-items:center}.delete-button-initial.svelte-syfbt5{background:none;border:none;padding:4px;margin:0;cursor:pointer;color:var(--secondary-text-color, #AAAAAA);line-height:0;border-radius:4px}.delete-button-initial.svelte-syfbt5:hover{color:var(--error-color, #CF6679);background-color:#ffffff1a}.delete-button-initial.svelte-syfbt5 svg:where(.svelte-syfbt5){display:block}.delete-button-confirm.svelte-syfbt5,.delete-button-cancel.svelte-syfbt5{font-size:.8em;padding:3px 8px;border-radius:3px;border:1px solid var(--border-color, #333);cursor:pointer;font-weight:500}.delete-button-confirm.svelte-syfbt5{background-color:var(--error-color, #CF6679);color:#fff;border-color:var(--error-color, #CF6679)}.delete-button-confirm.confirm-2.svelte-syfbt5{background-color:#8b0000;border-color:#8b0000}.delete-button-cancel.svelte-syfbt5{background-color:transparent;color:var(--secondary-text-color, #AAAAAA)}.delete-button-cancel.svelte-syfbt5:hover{background-color:#ffffff1a;color:var(--primary-text-color, #E0E0E0)}.todo-card.svelte-1pao0hd{position:relative;border:1px solid var(--border-color, #333);border-left:3px solid var(--accent-color, #BB86FC);border-radius:8px;box-shadow:0 2px 5px #0006;cursor:grab;-webkit-user-select:none;user-select:none;background-color:var(--surface-color, #4D4E53);color:var(--primary-text-color, #E0E0E0);display:flex;flex-direction:column;transition:box-shadow .2s;min-height:40px;overflow:hidden}.todo-card.svelte-1pao0hd:active{cursor:grabbing;box-shadow:0 5px 15px #00000080}h3.svelte-1pao0hd{margin:0;font-size:1.4em;font-weight:600;color:var(--primary-text-color, #E0E0E0);transition:background-color .2s;border-radius:3px;padding-left:4px;padding-right:25px}.title-input.svelte-1pao0hd{font-size:1.1em;font-weight:500;padding:0 4px;margin:0 0 12px;border:1px solid var(--accent-color, #BB86FC);background-color:var(--bg-color, #121212);color:var(--primary-text-color, #E0E0E0);border-radius:3px;outline:none;width:calc(100% - 30px);font-family:inherit;line-height:inherit}.collapse-button.svelte-1pao0hd{background:none;border:none;padding:4px;margin:0 4px 0 0;cursor:pointer;color:var(--secondary-text-color, #AAAAAA);line-height:0;border-radius:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-size:inherit}.collapse-button.svelte-1pao0hd:hover{background-color:#ffffff1a;color:var(--primary-text-color, #E0E0E0);border:none}.collapse-button.svelte-1pao0hd:focus{outline:1px solid var(--accent-color, #BB86FC);outline-offset:1px}.collapse-button.svelte-1pao0hd:focus:not(:focus-visible){outline:none}.card-header.svelte-1pao0hd{display:flex;align-items:center;padding:8px 12px;background-color:#0000001a;position:relative;margin-bottom:8px}.collapse-icon.svelte-1pao0hd{display:block;transition:transform .2s ease-in-out}.collapsed.svelte-1pao0hd .collapse-icon:where(.svelte-1pao0hd){transform:rotate(90deg)}.title-container.svelte-1pao0hd{flex-grow:1;min-width:0}.title-input.svelte-1pao0hd{font-size:1.1em;font-weight:600;padding:2px 4px;margin:0;border:1px solid var(--accent-color, #BB86FC);background-color:var(--bg-color, #121212);color:var(--primary-text-color, #E0E0E0);border-radius:3px;outline:none;font-family:inherit;line-height:1.4;width:100%}.card-content.svelte-1pao0hd{padding:12px 15px;flex-grow:1}.todo-card.collapsed.svelte-1pao0hd{min-height:0;padding-bottom:0}.edit-button.svelte-1pao0hd{position:static;flex-shrink:0;top:auto;right:auto;background:none;border:none;padding:4px;margin:0;cursor:pointer;color:var(--secondary-text-color, #AAAAAA);line-height:0;border-radius:4px;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-size:inherit}.edit-button.svelte-1pao0hd:hover{background-color:#ffffff1a;color:var(--accent-color, #BB86FC)}.edit-button.svelte-1pao0hd svg:where(.svelte-1pao0hd){display:block}.settings-panel.svelte-ova9rz{position:fixed;bottom:80px;left:20px;z-index:1050;background-color:var(--surface-color, #4D4E53);color:var(--primary-text-color, #E0E0E0);border-radius:8px;box-shadow:0 5px 15px #00000080;width:90%;max-width:400px;max-height:80vh;display:flex;flex-direction:column}.panel-header.svelte-ova9rz{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color, #333)}.panel-header.svelte-ova9rz h2:where(.svelte-ova9rz){margin:0;font-size:1.2em}.close-button.svelte-ova9rz{background:none;border:none;font-size:1.8em;color:var(--secondary-text-color, #AAAAAA);cursor:pointer;line-height:1;padding:0 4px}.close-button.svelte-ova9rz:hover{color:var(--primary-text-color, #E0E0E0)}.panel-content.svelte-ova9rz{padding:16px;overflow-y:auto}.panel-content.svelte-ova9rz h3:where(.svelte-ova9rz){margin-top:0;margin-bottom:10px;font-size:1.1em;color:var(--accent-color, #BB86FC)}.stats-list.svelte-ova9rz{list-style:none;padding:0;margin:0;font-size:.95em}.stats-list.svelte-ova9rz li:where(.svelte-ova9rz){margin-bottom:8px}.stats-list.svelte-ova9rz strong:where(.svelte-ova9rz){color:var(--secondary-text-color, #AAAAAA);min-width:120px;display:inline-block}hr.svelte-ova9rz{border:none;border-top:1px solid var(--border-color, #333);margin:20px 0}.description.svelte-ova9rz{font-size:.9em;color:var(--secondary-text-color, #AAAAAA);margin-bottom:12px;line-height:1.4}.warning.svelte-ova9rz{font-size:.9em;color:#ffcc80;margin-bottom:12px;padding:8px;background-color:#ffcc801a;border-left:3px solid #FFCC80;border-radius:4px}.warning.svelte-ova9rz strong:where(.svelte-ova9rz){color:inherit}.action-button.svelte-ova9rz{padding:8px 16px;background-color:var(--accent-color, #BB86FC);color:#fff;border:none;border-radius:4px;font-weight:500;cursor:pointer;margin-top:8px;transition:background-color .2s}.action-button.svelte-ova9rz:hover{background-color:var(--accent-variant-color, #3700B3)}.action-button.svelte-ova9rz:disabled{opacity:.5;cursor:not-allowed;background-color:var(--secondary-text-color, #AAAAAA)}.danger-button.svelte-ova9rz{background-color:var(--error-color, #CF6679)}.danger-button.svelte-ova9rz:hover{background-color:#8b0000}.import-controls.svelte-ova9rz{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-controls.svelte-ova9rz input[type=file]:where(.svelte-ova9rz){color:var(--primary-text-color, #E0E0E0);font-size:.9em}.import-status.svelte-ova9rz,.import-error.svelte-ova9rz{font-size:.85em;margin-top:10px;padding:6px 10px;border-radius:4px}.import-status.svelte-ova9rz{color:#a5d6a7;background-color:#a5d6a71a}.import-error.svelte-ova9rz{color:var(--error-color, #CF6679);background-color:#cf66791a}.canvas-container.svelte-rmx2fl{position:relative;width:100%;height:100%;overflow:hidden;background-color:var(--bg-color, #121212);cursor:grab;background-image:radial-gradient(var(--border-color, rgba(255, 255, 255, .1)) 1px,transparent 1px);background-size:16px 16px}.infinite-canvas.svelte-rmx2fl{position:absolute;width:1px;height:1px;transform-origin:0 0;will-change:transform}.card-wrapper.svelte-rmx2fl{pointer-events:none;will-change:transform}.card-wrapper.svelte-rmx2fl>.todo-card{pointer-events:auto}.welcome-message.svelte-rmx2fl{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-text-color, #E0E0E0);text-align:center;padding:20px;pointer-events:none;z-index:1000;width:90vw;max-width:800px}.welcome-message.svelte-rmx2fl h2:where(.svelte-rmx2fl){font-size:clamp(2.5rem,8vw,5rem);margin-bottom:1.5rem;color:var(--accent-color, #BB86FC);text-shadow:0 0 15px rgba(187,134,252,.3)}.welcome-message.svelte-rmx2fl p:where(.svelte-rmx2fl){font-size:clamp(1.2rem,4vw,2rem);line-height:1.4;margin:0}.settings-toggle-button.svelte-rmx2fl{position:absolute;bottom:20px;right:20px;z-index:1010;font-size:1.5rem;padding:.5rem;line-height:1;border-radius:50%;background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--primary-text-color)}.settings-toggle-button.svelte-rmx2fl:hover{filter:brightness(1.2)}.zoom-indicator-button.svelte-rmx2fl{all:unset;display:inline-block;position:absolute;bottom:70px;right:20px;background-color:#1e1e1eb3;color:var(--secondary-text-color, #AAAAAA);padding:2px 8px;border-radius:4px;font-size:.8em;font-weight:700;z-index:1010;cursor:pointer;transition:background-color .2s}.zoom-indicator-button.svelte-rmx2fl:hover{background-color:#323232cc}.zoom-indicator-button.svelte-rmx2fl:active{background-color:#464646e6}main.svelte-lsfyql{width:100vw;height:100vh;overflow:hidden}
