*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg-primary:#fff;--color-bg-secondary:#f5f5f7;--color-bg-tertiary:#e8e8ed;--color-bg-elevated:#fffc;--color-bg-grouped:#f2f2f7;--color-text-primary:#1d1d1f;--color-text-secondary:#86868b;--color-text-tertiary:#aeaeb2;--color-accent:#0071e3;--color-accent-hover:#0077ed;--color-accent-active:#006edb;--color-accent-light:#0071e31a;--color-success:#34c759;--color-warning:#ff9500;--color-danger:#ff3b30;--color-danger-hover:#ff453a;--color-border:#00000014;--color-input-border:#0006;--color-border-light:#0000000a;--color-separator:#c6c6c8;--color-checkbox-outline:var(--color-text-secondary);--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 40px #0000001f;--shadow-xl:0 24px 80px #00000029;--glass-bg:#ffffffb8;--glass-border:#ffffff80;--glass-blur:20px;--font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--transition-spring:.35s cubic-bezier(.25,.46,.45,.94);--header-height:48px;--sidebar-width:280px;--max-content-width:980px}@media (prefers-color-scheme:dark){:root{--color-bg-primary:#000;--color-bg-secondary:#1c1c1e;--color-bg-tertiary:#2c2c2e;--color-bg-elevated:#1c1c1ecc;--color-bg-grouped:#1c1c1e;--color-text-primary:#f5f5f7;--color-text-secondary:#a1a1a6;--color-text-tertiary:#636366;--color-accent:#0a84ff;--color-accent-hover:#409cff;--color-accent-active:#0071e3;--color-accent-light:#0a84ff26;--color-success:#30d158;--color-warning:#ff9f0a;--color-danger:#ff453a;--color-danger-hover:#ff6961;--color-border:#ffffff14;--color-input-border:#fff6;--color-border-light:#ffffff0a;--color-separator:#38383a;--color-checkbox-outline:var(--color-text-secondary);--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 40px #0006;--shadow-xl:0 24px 80px #00000080;--glass-bg:#1c1c1eb8;--glass-border:#ffffff1a}}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-weight:var(--font-weight-regular);letter-spacing:-.022em;color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal);line-height:1.47059}#loading{background:var(--color-bg-primary);z-index:9999;justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex;position:fixed;inset:0}#loading:before{content:"";border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}#loading p{color:var(--color-text-secondary);font-size:15px;font-weight:var(--font-weight-medium)}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}header{z-index:100;background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(var(--glass-blur));border-bottom:.5px solid var(--color-border);position:sticky;top:0}nav{max-width:var(--max-content-width);padding:0 var(--spacing-lg);height:var(--header-height);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.logo{font-size:21px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.01em;align-items:center;gap:var(--spacing-sm);cursor:default;text-decoration:none;display:flex}.logo picture{align-items:center;display:flex}.logo-icon{border-radius:6px;width:28px;height:28px}.nav-actions{align-items:center;gap:var(--spacing-md);display:flex}#apple-sign-in-button,#apple-sign-out-button{cursor:pointer;align-items:center;display:flex}#apple-sign-in-button>div,#apple-sign-out-button>div{align-items:center;display:flex}.nav-btn{color:var(--color-accent);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-full);cursor:pointer;font-size:14px;font-weight:var(--font-weight-medium);transition:all var(--transition-fast);align-items:center;gap:var(--spacing-xs);background:0 0;border:none;display:flex}.nav-btn:hover{background:var(--color-accent-light)}.hero{padding:100px var(--spacing-lg)80px;text-align:center;background:radial-gradient(160% 140% at 50% 20%,#0071e314,#0000 50%),radial-gradient(140% 120% at 50% 60%,#000000b8,#06080d);position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse at center,var(--color-accent-light)0%,transparent 70%);opacity:.3;pointer-events:none;width:200%;height:200%;position:absolute;top:-50%;left:-50%}.hero h1{font-size:clamp(40px,7vw,56px);font-weight:var(--font-weight-bold);letter-spacing:-.025em;color:#f7f8fa;margin-bottom:var(--spacing-lg);line-height:1.08;position:relative}.hero .subtitle{color:#d4d7dd;max-width:640px;margin:0 auto var(--spacing-3xl);font-size:clamp(17px,2.5vw,21px);line-height:1.48;font-weight:var(--font-weight-regular);position:relative}.action-cards{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-content:center;max-width:860px;margin:0 auto;display:grid;position:relative}.action-card{border-radius:var(--radius-2xl);padding:var(--spacing-xl);transition:all var(--transition-normal);-webkit-backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff14}.action-card:hover{background:#ffffff0d;border-color:#ffffff1f;transform:translateY(-4px);box-shadow:0 24px 60px #0000004d}.action-card-content{text-align:center;flex-direction:column;align-items:center;display:flex}.action-card-label{letter-spacing:.06em;text-transform:uppercase;color:#9ba0aa;margin-bottom:var(--spacing-sm);font-size:12px;font-weight:var(--font-weight-semibold)}.action-card-title{font-size:24px;font-weight:var(--font-weight-semibold);color:#f7f8fa;margin-bottom:var(--spacing-sm);letter-spacing:-.015em}.action-card-description{color:#c8ccd4;margin-bottom:var(--spacing-lg);font-size:15px;line-height:1.5}.action-card .app-store-badge img{height:40px;transition:opacity var(--transition-fast)}.action-card .app-store-badge:hover img{opacity:.85}.action-card #apple-sign-in-button-hero{width:100%;max-width:300px}.features{padding:110px var(--spacing-lg);background:#0b0d12}.features-container{max-width:var(--max-content-width);margin:0 auto}.feature-hero-copy h2{color:#f7f8fa;margin-bottom:var(--spacing-sm);font-size:clamp(30px,5vw,40px)}.feature-hero-copy p{color:#c8ccd4;margin-bottom:var(--spacing-3xl);font-size:18px;line-height:1.6}.feature-hero-copy.center{text-align:center}.feature-lines{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.feature-line{row-gap:var(--spacing-md);display:grid}.feature-line-title{font-size:24px;font-weight:var(--font-weight-bold);color:#f7f8fa;letter-spacing:-.01em}.feature-line-divider{background:linear-gradient(90deg,#ffffff38,#ffffff0a);width:100%;height:1px}.feature-line-body{color:#c8ccd4;font-size:17px;line-height:1.8}.tech-stack{padding:80px var(--spacing-lg);background:var(--color-bg-primary)}.tech-container{max-width:var(--max-content-width);text-align:center;margin:0 auto}.tech-items{justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl);flex-wrap:wrap;display:flex}.tech-item{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);border:1px solid var(--color-border);transition:all var(--transition-fast);font-size:14px}.tech-item:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}#app-container{background:var(--color-bg-secondary);flex-direction:column;min-height:100vh;display:flex}.app-header nav{justify-content:space-between;align-items:center;max-width:none;margin:0;display:flex}.nav-left{align-items:center;gap:var(--spacing-md);display:flex}.menu-toggle{cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast);background:0 0;border:none;display:none}.menu-toggle:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.app-layout{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(var(--glass-blur));border-right:.5px solid var(--color-border);flex-direction:column;display:flex;position:relative;overflow:hidden}.sidebar-mobile-actions{gap:var(--spacing-xs);padding:var(--spacing-sm);border-bottom:.5px solid var(--color-border);flex-direction:column;display:none}.sidebar-mobile-btn{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:15px;font-weight:var(--font-weight-regular);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.sidebar-mobile-btn:hover{background:var(--color-bg-tertiary)}.sidebar-mobile-btn svg{flex-shrink:0}.sidebar-mobile-btn-danger{color:var(--color-danger)}.sidebar-mobile-btn-danger:hover{background:#ff3b301a}.sidebar-header{padding:var(--spacing-md)var(--spacing-lg);border-bottom:.5px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.sidebar-title-wrapper{align-items:center;gap:var(--spacing-xs);display:flex}.sidebar-header h2{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;margin:0}.premium-badge{background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:10px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;padding:2px 6px;display:inline-flex}.premium-badge.hidden{display:none}.sidebar-header-actions{align-items:center;gap:var(--spacing-xs);display:flex}.icon-btn{cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-accent);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--color-accent-light)}.sync-btn svg{transition:transform var(--transition-fast)}.sync-btn:hover svg{transform:rotate(-80deg)}.sync-success svg path,.sync-success svg circle{color:var(--color-accent);stroke:currentColor;fill:none}.sidebar-close{top:var(--spacing-sm);right:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);z-index:10;background:0 0;border:none;display:none;position:absolute}.sidebar-close:hover{background:var(--color-bg-tertiary)}.sidebar-brand{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-md);margin:0 var(--spacing-sm);display:none}.sidebar-brand picture{align-items:center;display:flex}.sidebar-brand-icon{border-radius:var(--radius-sm);flex-shrink:0;width:24px;max-width:24px;height:24px;max-height:24px}.sidebar-brand-name{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.todo-lists{padding:var(--spacing-sm);flex:1;overflow-y:auto}.todo-list-item{padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary);border-radius:var(--radius-md);align-items:center;margin-bottom:2px;display:flex;position:relative}.todo-list-item:hover{background:var(--color-bg-tertiary)}.todo-list-item.drag-over-above:before{content:"";top:0;left:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-accent);border-radius:1px;height:2px;position:absolute}.todo-list-item.drag-over-below:after{content:"";bottom:0;left:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-accent);border-radius:1px;height:2px;position:absolute}.todo-list-item.dragging{opacity:.5}.todo-list-item.active{background:var(--color-accent);color:#fff}.todo-list-item.active .list-count{color:#fff;background:#fff3}.todo-list-item .list-icon{margin-right:var(--spacing-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);flex-shrink:0}.todo-list-item.active .list-icon{color:#fff}.todo-list-item .list-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:var(--font-weight-regular);flex:1;overflow:hidden}.todo-list-item .list-count{background:var(--color-bg-tertiary);color:var(--color-text-secondary);padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:12px;font-weight:var(--font-weight-medium);text-align:center;min-width:20px}.todo-list-item .list-edit{opacity:0;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);margin-left:var(--spacing-xs);background:0 0;border:none}.todo-list-item:hover .list-edit{opacity:1}.todo-list-item.active .list-edit{color:#ffffffb3}.todo-list-item .list-edit:hover{color:#fff;background:#ffffff1a}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:99;background:#0006;display:none;position:fixed;inset:0}.app-main{padding:var(--spacing-xl);background:var(--color-bg-secondary);flex:1;overflow-y:auto}.task-list-container{max-width:680px;margin:0 auto}.all-completed-message{text-align:center;padding:var(--spacing-2xl);background:var(--color-bg-primary);border-radius:var(--radius-xl);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.all-completed-message span{margin-bottom:var(--spacing-md);font-size:56px;display:block}.all-completed-message p{color:var(--color-text-primary);font-size:17px;font-weight:var(--font-weight-semibold)}.todo-content{cursor:pointer;flex:1}.todo-memo-preview{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;line-height:1.4;overflow:hidden}.no-tasks{text-align:center;padding:var(--spacing-3xl)var(--spacing-xl);background:var(--color-bg-primary);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.no-tasks h2{font-size:24px;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.no-tasks p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:17px}.app-store-link img{height:44px;transition:opacity var(--transition-fast)}.app-store-link:hover img{opacity:.8}.error-message{text-align:center;padding:var(--spacing-3xl)var(--spacing-xl);background:var(--color-bg-primary);border-radius:var(--radius-xl);border:1px solid var(--color-border);border-left:4px solid var(--color-danger)}.error-message h2{font-size:24px;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);color:var(--color-danger)}.error-message p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:17px}.retry-btn{background:var(--color-accent);color:#fff;padding:var(--spacing-sm)var(--spacing-xl);border-radius:var(--radius-full);font-size:15px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.retry-btn:hover{background:var(--color-accent-hover);transform:scale(1.02)}.todo-list{background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg);overflow:hidden}.todo-list ul{list-style:none}.todo-list li{padding:var(--spacing-md)var(--spacing-lg);border-bottom:.5px solid var(--color-border);align-items:flex-start;gap:var(--spacing-md);transition:background var(--transition-fast);display:flex;position:relative}.todo-list li.todo-item{cursor:pointer}.todo-list li:hover{background:var(--color-bg-secondary)}.todo-list li:last-child{border-bottom:none}.todo-list li.completed .todo-text{color:var(--color-text-tertiary);text-decoration:line-through}.todo-list li.dragging{opacity:.5}.todo-list li.drag-over-above:before{content:"";top:0;left:var(--spacing-md);right:var(--spacing-md);background:var(--color-accent);border-radius:1px;height:2px;position:absolute}.todo-list li.drag-over-below:after{content:"";bottom:0;left:var(--spacing-md);right:var(--spacing-md);background:var(--color-accent);border-radius:1px;height:2px;position:absolute}.todo-list input[type=checkbox]{-webkit-appearance:none;appearance:none;border:2px solid var(--color-checkbox-outline);cursor:pointer;width:22px;height:22px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;margin-top:1px;position:relative}.todo-list input[type=checkbox]:hover:after{content:"";border:solid var(--color-checkbox-outline);opacity:.8;border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:1.5px;left:5px;transform:rotate(45deg)}.todo-list input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}.todo-list input[type=checkbox]:checked:after{content:"";border:solid var(--color-bg-primary);border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:1.5px;left:5px;transform:rotate(45deg)}.todo-list input[type=checkbox]:checked:hover:after{border-color:var(--color-bg-primary);opacity:1}.todo-text{cursor:pointer;color:var(--color-text-primary);word-break:break-word;overflow-wrap:break-word;flex:1;font-size:17px;line-height:1.4}.modal{z-index:1000;animation:modalFadeIn var(--transition-normal)ease;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal.hidden{display:none}.modal-overlay{-webkit-backdrop-filter:blur(8px);background:#0006;position:absolute;inset:0}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-xl);width:90%;max-width:640px;max-height:85vh;box-shadow:var(--shadow-xl);animation:modalSlideUp var(--transition-spring)ease;position:relative;overflow:auto}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{padding:var(--spacing-md)var(--spacing-lg);border-bottom:.5px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:17px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-actions{align-items:center;gap:var(--spacing-sm);display:flex}.modal-close{background:var(--color-bg-secondary);cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-secondary);width:28px;height:28px;transition:all var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-close svg{width:14px;height:14px}.modal-body{padding:var(--spacing-lg)}.info-modal-body{text-align:center}.info-app-icon{margin-bottom:var(--spacing-sm)}.info-app-icon picture{justify-content:center;align-items:center;display:flex}.info-app-icon img{border-radius:14px;width:64px;height:64px}.info-app-name{font-size:20px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.info-app-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:14px}.info-links{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.info-link{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all var(--transition-fast);font-size:15px;text-decoration:none;display:flex}.info-link:hover{background:var(--color-bg-tertiary)}.info-link .external-icon{color:var(--color-text-tertiary);margin-left:auto}.info-legal{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:13px}.info-legal a{color:var(--color-accent);text-decoration:none}.info-legal a:hover{text-decoration:underline}.info-legal-separator{margin:0 var(--spacing-xs)}.info-version{color:var(--color-text-tertiary);font-size:12px}.form-group{margin-bottom:var(--spacing-lg)}.form-group:last-child{margin-bottom:0}.form-group label{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--spacing-sm);display:block}.todo-timestamps{gap:var(--spacing-xs);flex-direction:column;display:flex}.timestamp-item{align-items:center;gap:var(--spacing-sm);font-size:13px;display:flex}.timestamp-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);min-width:70px}.timestamp-value{color:var(--color-text-primary);cursor:default;transition:color var(--transition-fast)}.timestamp-value:hover{color:var(--color-text-primary)}.form-input,.form-textarea{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-input-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);transition:all var(--transition-fast);font-family:inherit;font-size:17px}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-light);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.todo-memo-display{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-input-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);word-break:break-word;overflow-wrap:break-word;cursor:text;min-height:100px;font-family:inherit;font-size:17px;line-height:1.5}.todo-memo-display:hover{border-color:var(--color-accent)}.todo-memo-display .memo-link{color:var(--color-accent);word-break:break-all;text-decoration:none}.todo-memo-display .memo-link:hover{text-decoration:underline}.modal-footer{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)var(--spacing-lg);border-top:.5px solid var(--color-border);background:var(--color-bg-secondary);display:flex}.modal-footer-right{gap:var(--spacing-sm);display:flex}.btn{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-size:15px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:var(--spacing-xs);border:none;display:inline-flex}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);transform:scale(1.02)}.btn-primary:active{background:var(--color-accent-active);transform:scale(.98)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-separator)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-small{padding:var(--spacing-xs)var(--spacing-sm);font-size:13px}.modal-small{max-width:440px}.todo-title-row{align-items:center;gap:var(--spacing-sm);display:flex}.todo-title-checkbox{-webkit-appearance:none;appearance:none;border:2px solid var(--color-checkbox-outline);cursor:pointer;width:22px;height:22px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;margin-top:0;position:relative}.todo-title-checkbox:hover{border-color:var(--color-accent)}.todo-title-checkbox:hover:after{content:"";border:solid var(--color-checkbox-outline);opacity:.8;border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:1.5px;left:5px;transform:rotate(45deg)}.todo-title-checkbox:checked{background:var(--color-accent);border-color:var(--color-accent)}.todo-title-checkbox:checked:after{content:"";border:solid var(--color-bg-primary);border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:1.5px;left:5px;transform:rotate(45deg)}.todo-title-checkbox:checked:hover:after{border-color:var(--color-bg-primary);opacity:1}.todo-title-row .form-input{flex:1}.subtask-list{margin-bottom:var(--spacing-md)}.subtask-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);cursor:grab;transition:all var(--transition-fast);display:flex;position:relative}.subtask-item:hover{background:var(--color-bg-tertiary)}.subtask-item:active{cursor:grabbing}.subtask-item.dragging{opacity:.5}.subtask-item.drag-over-above:before{content:"";top:0;left:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-accent);border-radius:1px;height:2px;position:absolute}.subtask-item.drag-over-below:after{content:"";bottom:0;left:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-accent);border-radius:1px;height:2px;position:absolute}.subtask-item.completed .subtask-title{color:var(--color-text-tertiary);text-decoration:line-through}.subtask-checkbox{-webkit-appearance:none;appearance:none;border:2px solid var(--color-checkbox-outline);cursor:pointer;width:18px;height:18px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;position:relative}.subtask-checkbox:hover:after{content:"";border:solid var(--color-checkbox-outline);opacity:.8;border-width:0 2px 2px 0;width:5px;height:8px;position:absolute;top:1px;left:3.5px;transform:rotate(45deg)}.subtask-checkbox:checked{background:var(--color-success);border-color:var(--color-success)}.subtask-checkbox:checked:after{content:"";border:solid var(--color-bg-primary);border-width:0 2px 2px 0;width:5px;height:8px;position:absolute;top:1px;left:3.5px;transform:rotate(45deg)}.subtask-checkbox:checked:hover:after{border-color:var(--color-bg-primary);opacity:1}.subtask-title{color:var(--color-text-primary);word-break:break-word;overflow-wrap:break-word;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);flex:1;padding:2px 4px;font-size:15px}.subtask-title:hover{background:var(--color-bg-tertiary)}.subtask-title-edit{color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-accent);border-radius:var(--radius-sm);outline:none;flex:1;padding:2px 4px;font-family:inherit;font-size:15px}.subtask-delete{cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-tertiary);border-radius:var(--radius-sm);opacity:0;transition:all var(--transition-fast);background:0 0;border:none}.subtask-item:hover .subtask-delete{opacity:1}.subtask-delete:hover{color:var(--color-danger);background:#ff3b301a}.add-subtask-row{gap:var(--spacing-sm);display:flex}.add-subtask-row .form-input{flex:1}.selected-list-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:flex-start;display:flex}.selected-list-header-left h2{font-size:28px;font-weight:var(--font-weight-bold);letter-spacing:-.015em;color:var(--color-text-primary);margin-bottom:var(--spacing-xs);word-break:break-word;overflow-wrap:break-word}.selected-list-header-left p{color:var(--color-text-secondary);font-size:15px}.selected-list-header-actions{gap:var(--spacing-sm);display:flex}.completed-section{margin-top:var(--spacing-xl)}.completed-section-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)0;cursor:pointer;color:var(--color-text-secondary);font-size:13px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.02em;transition:color var(--transition-fast);display:flex}.completed-section-header:hover{color:var(--color-text-primary)}.completed-section-header svg{transition:transform var(--transition-fast)}.completed-section-header.collapsed svg{transform:rotate(-90deg)}.completed-items{transition:max-height var(--transition-normal);overflow:hidden}.completed-items.collapsed{max-height:0}.todo-subtasks{padding-left:var(--spacing-md);margin-top:var(--spacing-sm)}.todo-subtask-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs)0;font-size:15px;display:flex}.todo-subtask-item input[type=checkbox]{-webkit-appearance:none;appearance:none;border:1.8px solid var(--color-checkbox-outline);cursor:pointer;width:16px;height:16px;transition:all var(--transition-fast);border-radius:50%;position:relative}.todo-subtask-item input[type=checkbox]:hover:after{content:"";border:solid var(--color-checkbox-outline);opacity:.8;border-width:0 1.5px 1.5px 0;width:4px;height:7px;position:absolute;top:1px;left:3.5px;transform:rotate(45deg)}.todo-subtask-item input[type=checkbox]:checked{background:var(--color-success);border-color:var(--color-success)}.todo-subtask-item input[type=checkbox]:checked:after{content:"";border:solid var(--color-bg-primary);border-width:0 1.5px 1.5px 0;width:4px;height:7px;position:absolute;top:1px;left:3.5px;transform:rotate(45deg)}.todo-subtask-item input[type=checkbox]:checked:hover:after{border-color:var(--color-bg-primary);opacity:1}.todo-subtask-item span{word-break:break-word;overflow-wrap:break-word}.todo-subtask-item.completed span{color:var(--color-text-tertiary);text-decoration:line-through}footer{background:var(--color-bg-secondary);color:var(--color-text-secondary);padding:var(--spacing-3xl)var(--spacing-lg)var(--spacing-xl);border-top:.5px solid var(--color-border)}.footer-container{max-width:var(--max-content-width);text-align:center;margin:0 auto}.footer-container h3{font-size:21px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.footer-links{justify-content:center;gap:var(--spacing-xl);margin:var(--spacing-lg)0;list-style:none;display:flex}.footer-links a{color:var(--color-accent);transition:opacity var(--transition-fast);font-size:14px;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:.5px solid var(--color-border);color:var(--color-text-tertiary);font-size:12px}@media (width<=768px){.hero{padding:60px var(--spacing-md)var(--spacing-2xl)}.hero h1{margin-bottom:var(--spacing-md);font-size:32px}.hero .subtitle{margin-bottom:var(--spacing-xl);font-size:17px}.action-cards{gap:var(--spacing-md);grid-template-columns:1fr}.action-card{padding:var(--spacing-lg)}.action-card-title{font-size:21px}.footer-links{gap:var(--spacing-md);flex-direction:column}.menu-toggle{display:flex}.nav-actions #info-btn,.nav-actions #sign-out-btn{display:none}.sidebar-mobile-actions{display:flex}.sidebar{width:var(--sidebar-width);z-index:100;height:100vh;transition:transform var(--transition-spring);background:var(--color-bg-secondary);-webkit-backdrop-filter:none;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.sidebar-brand{display:flex}.sidebar-overlay.open{display:block}.app-main{padding:var(--spacing-md)}.selected-list-header-left h2{font-size:24px}.todo-list li{padding:var(--spacing-md)}.modal-content{width:95%;margin:var(--spacing-md)}}.apple-sign-in-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);background:var(--color-text-primary);color:var(--color-bg-primary);padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--radius-md);font-size:15px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none;min-width:200px;display:inline-flex}.apple-sign-in-btn--text{color:var(--color-text-primary);min-width:auto;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;background:0 0;gap:6px;padding:0}.apple-sign-in-btn--text:hover{opacity:.75;color:var(--color-text-primary);transform:none}.apple-sign-in-btn--text:active{opacity:.6;transform:none}.apple-sign-in-btn:hover{opacity:.85;transform:scale(1.02)}.apple-sign-in-btn:active{transform:scale(.98)}.apple-sign-in-btn svg{flex-shrink:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{color:var(--color-text-primary);background:#0071e366}@media (prefers-color-scheme:dark){::selection{color:#fff;background:#0a84ff80}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.toast{bottom:var(--spacing-xl);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm)var(--spacing-md);align-items:center;gap:var(--spacing-sm);box-shadow:var(--shadow-lg);z-index:10000;opacity:0;transition:all var(--transition-spring);max-width:90%;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(100px)}.toast-visible{opacity:1;transform:translate(-50%)translateY(0)}.toast-icon{flex-shrink:0;font-size:16px}.toast-error .toast-icon{color:var(--color-danger)}.toast-success .toast-icon{color:var(--color-success)}.toast-message{color:var(--color-text-primary);font-size:14px;font-weight:var(--font-weight-medium)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-spinner{animation:.8s linear infinite spin}.btn-spinner circle{stroke-dasharray:31.4;stroke-dashoffset:10px}.initial-loading{justify-content:center;align-items:center;gap:var(--spacing-md);min-height:300px;color:var(--color-text-secondary);flex-direction:column;display:flex}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.initial-loading p{font-size:15px;font-weight:var(--font-weight-medium)}.initial-loading.sidebar-loading{min-height:100px;padding:var(--spacing-md)}.initial-loading.sidebar-loading .loading-spinner{width:24px;height:24px}.debug-section{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.debug-section h4{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);margin-top:var(--spacing-sm)}.debug-section h4:first-child{margin-top:0}.debug-section pre{color:var(--color-text-primary);background:var(--color-bg-primary);padding:var(--spacing-sm);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;margin:0;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:11px;line-height:1.5;overflow-x:auto}