:root{--bg-surface:#ffffff59;--bg-surface-hover:#ffffff8c;--bg-surface-solid:#fff;--sidebar-bg:#ffffff26;--text-primary:#111;--text-secondary:#333;--text-muted:#555;--border-light:#fff6;--border-glass:#ffffff4d;--border-focus:#6366f199;--accent:#6366f1;--accent-light:#6366f11a;--card-bg:#fff6;--card-bg-hover:#fff9;--card-border:#ffffff80;--card-border-hover:#ffffffe6;--card-shadow:0 4px 16px #0000000a, inset 0 1px 1px #ffffff80;--card-shadow-hover:0 8px 24px #00000014, inset 0 1px 1px #ffffffb3;--status-none:#a1a1aa;--status-in-progress:#007aff;--status-up-next:#ff9500;--status-done:#34c759;--status-dropped:#ff3b30;--glow-none:0 0 0 transparent;--glow-in-progress:0 0 16px #007aff40;--glow-up-next:0 0 16px #ff950040;--glow-done:0 0 16px #34c75940;--glow-dropped:0 0 16px #ff3b3040;--glow-focus:0 0 20px #6366f14d;--glow-focus-card:0 8px 24px #a855f733;--shadow-glass:0 12px 32px 0 #00000014;--shadow-sm:0 4px 16px 0 #0000000a;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--glass-blur:blur(28px);--sidebar-width:360px;--header-height:60px;--sidebar-opacity:.15;--sidebar-blur:24px}*{box-sizing:border-box;margin:0;padding:0}.hidden{display:none!important}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;background-color:var(--bg-base,#fdfbfb);background-image:var(--bg-mesh,radial-gradient(at 40% 20%, #ffd3ad 0px, transparent 50%), radial-gradient(at 80% 0%, #85edff 0px, transparent 50%), radial-gradient(at 0% 50%, #ffdbde 0px, transparent 50%), radial-gradient(at 80% 50%, #bab8ff 0px, transparent 50%), radial-gradient(at 0% 100%, #ffd5bd 0px, transparent 50%), radial-gradient(at 80% 100%, #99f0ff 0px, transparent 50%), radial-gradient(at 0% 0%, #ffb8cc 0px, transparent 50%));background-attachment:fixed;background-size:var(--bg-size,auto);background-position:var(--bg-pos,top left);height:100vh;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;transition:background-image .5s ease-in-out,background-color .5s ease-in-out;overflow:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}#app{grid-template-rows:var(--header-height) 1fr;gap:12px;height:100vh;padding:12px 0 16px 16px;display:grid;overflow:hidden}.app-header{height:var(--header-height);justify-content:space-between;align-items:center;padding-right:16px;display:flex}.header-controls{align-items:center;gap:8px;display:flex}.header-icon-group{background:var(--sidebar-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--border-glass);align-items:center;gap:2px;padding:4px;display:flex}.logo{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);letter-spacing:-.04em;color:#fff;background:#0f0f12d9;background-clip:unset;-webkit-background-clip:unset;-webkit-text-fill-color:unset;-webkit-text-stroke:0;filter:none;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #ffffff26;border-radius:99px;align-items:center;padding:8px 22px;font-size:1.3rem;font-weight:800;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000004d,inset 0 1px #ffffff1a}.logo:before{content:"✦";color:#a855f7;text-shadow:0 0 12px #a855f7cc;margin-right:8px;font-size:1.3em;animation:6s linear infinite spark-spin;display:inline-block}.logo:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:50%;height:100%;animation:5s infinite premium-shine;position:absolute;top:0;left:-150%;transform:skew(-25deg)}.logo:hover{background:#19191ce6;border-color:#ffffff4d;transform:translateY(-2px)scale(1.02);box-shadow:0 12px 32px #0006,inset 0 1px #fff3}@keyframes spark-spin{0%{transform:rotate(0)scale(1)}50%{color:#6366f1;text-shadow:0 0 16px #6366f1e6;transform:rotate(180deg)scale(1.2)}to{transform:rotate(360deg)scale(1)}}@keyframes premium-shine{0%{left:-150%}20%{left:200%}to{left:200%}}.filter-pills{background:var(--sidebar-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--border-glass);box-shadow:var(--shadow-sm);align-items:center;gap:4px;padding:6px;display:flex}.filter-pill{color:var(--text-secondary);text-shadow:0 1px 1px #fff9;border-radius:12px;padding:6px 16px;font-size:.875rem;font-weight:600;transition:all .3s cubic-bezier(.25,.8,.25,1)}.filter-pill:hover{color:var(--text-primary);background:#ffffff4d}.filter-pill.active{color:var(--text-primary);background-color:var(--bg-surface-solid);box-shadow:0 4px 12px #00000014}.icon-btn{width:32px;height:32px;color:var(--text-secondary);filter:drop-shadow(0 1px 1px #fff9);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn:hover{color:var(--text-primary);background-color:var(--bg-surface-solid);box-shadow:var(--shadow-sm)}#settingsBtn,#closeSettingsBtn{border-radius:50%}.app-main{grid-template-columns:1fr 16px var(--sidebar-width);gap:0;height:100%;display:grid;overflow:hidden}.sidebar-resizer{cursor:col-resize;z-index:100;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.sidebar-resizer:after{content:"";background-color:#ffffff4d;border-radius:2px;width:2px;height:20%;min-height:40px;transition:all .2s}.sidebar-resizer:hover:after,.sidebar-resizer:active:after{background-color:#fffc;width:4px}.timeline-area{flex-direction:column;display:flex;position:relative;overflow:hidden}.timeline-canvas{scrollbar-width:thin;scrollbar-color:#fff6 transparent;flex:1;position:relative;overflow:auto hidden}.timeline-canvas::-webkit-scrollbar{height:4px}.timeline-canvas::-webkit-scrollbar-track{background:0 0}.timeline-canvas::-webkit-scrollbar-thumb{background:#fff6;border-radius:999px}.timeline-inner{min-width:100%;height:100%;position:relative}.timeline-empty-state{color:#ffffff80;text-shadow:0 1px 4px #00000026;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.timeline-node-label{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;z-index:10;background:#00000073;border:1px solid #ffffff26;border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:800;position:absolute;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.timeline-card-stack{scrollbar-width:thin;z-index:5;flex-direction:column;gap:8px;width:172px;padding:4px;display:flex;position:absolute;overflow-y:auto;transform:translate(-50%)}.timeline-card-stack::-webkit-scrollbar{width:4px}.timeline-card-stack::-webkit-scrollbar-track{background:0 0}.timeline-card-stack::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.timeline-card-stack::-webkit-scrollbar-thumb:hover{background:#fff6}.timeline-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#111;cursor:pointer;background:#ffffffd9;border:1px solid #fff;border-radius:12px;flex-shrink:0;width:100%;padding:10px 14px;font-size:.85rem;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 8px 24px #00000026,0 2px 8px #0000000d}.timeline-card .tc-name{text-shadow:0 1px 2px #ffffff80;font-weight:700}.timeline-card:hover{background:var(--bg-surface-hover);transform:translateY(-2px);box-shadow:0 12px 32px #1f26871f}.timeline-card.status-done{opacity:.6}.timeline-card.status-done .tc-name{color:var(--text-muted);text-decoration:line-through}.timeline-card .tc-status-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.timeline-card .tc-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.timeline-card .tc-date{color:var(--text-muted);margin-top:4px;font-size:.7rem}.timeline-connector{pointer-events:none;background:#fff6;width:2px;position:absolute;box-shadow:0 0 8px #ffffff4d}.timeline-node-label{color:#ffffffe6;text-shadow:0 1px 6px #0000004d;text-align:center;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase;font-size:.7rem;font-weight:700;position:absolute;transform:translate(-50%)}.sidebar{z-index:1;border-left:1px solid #fff6;border-radius:24px 0 0 24px;flex-direction:column;gap:8px;height:100%;padding:14px;display:flex;position:relative;overflow:hidden;box-shadow:-8px 0 32px #0000000d}.sidebar:before{content:"";background:var(--sidebar-bg);-webkit-backdrop-filter:blur(var(--sidebar-blur,24px));backdrop-filter:blur(var(--sidebar-blur,24px));z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.sidebar-scroll-area{scrollbar-width:thin;scrollbar-color:#fff6 transparent;will-change:scroll-position, transform;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:16px;padding-top:4px;padding-bottom:24px;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 24px 100%);mask-image:linear-gradient(#0000 0%,#000 24px 100%)}.sidebar-scroll-area::-webkit-scrollbar{width:4px}.sidebar-scroll-area::-webkit-scrollbar-track{background:0 0}.sidebar-scroll-area::-webkit-scrollbar-thumb{background:#fff6;border-radius:999px}.add-task-container{background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);border:1px solid var(--border-glass);z-index:30;flex-shrink:0;align-items:center;gap:10px;padding:0 16px;transition:all .4s cubic-bezier(.25,.8,.25,1);display:flex;position:sticky;top:0}.add-task-container:focus-within{box-shadow:0 8px 32px #0000001f, var(--glow-focus);background:var(--bg-surface-hover);border-color:#ffffffe6;transform:translateY(-1px)}.add-task-icon{color:var(--text-muted);flex-shrink:0;transition:color .2s}.add-task-container:focus-within .add-task-icon{color:var(--accent)}#quickAddInput{width:100%;padding:16px 0;font-size:.9375rem;font-weight:500}#quickAddInput::placeholder{color:var(--text-muted);font-weight:400}.sidebar-section{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.master-section{flex-direction:column;gap:8px;display:flex}.sidebar-section-header{justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 4px;display:flex}.sidebar-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);text-shadow:0 1px 2px #fffc;align-items:center;gap:6px;font-size:.85rem;font-weight:800;display:flex}.focus-star{color:#a855f7;text-shadow:0 0 8px #a855f799;font-size:.9em;animation:6s linear infinite spark-spin;display:inline-block}.focus-counter,.task-count-badge{color:var(--text-primary);background:#ffffffa6;border:1px solid #fff9;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #0000000d}.sidebar-divider{background:linear-gradient(90deg,#0000,#ffffff80,#0000);flex-shrink:0;height:1px;margin:2px 0}.focus-list{flex-direction:column;gap:6px;min-height:40px;display:flex}.focus-empty-state{border-radius:var(--radius-md);color:var(--text-muted);background:#a855f708;border:1px dashed #a855f740;justify-content:center;align-items:center;padding:14px;font-size:.8rem;transition:all .2s;display:flex}.task-item.is-focus{border-color:var(--space-accent,#a855f780);box-shadow:0 4px 16px var(--space-accent,#a855f733), inset 0 1px 1px #fffc}.task-item.is-focus:hover,.task-item.is-focus:focus-within{border-color:var(--space-accent,#a855f7cc);box-shadow:0 8px 24px var(--space-accent,#a855f74d), inset 0 1px 1px #ffffffe6}.task-list{flex-direction:column;gap:8px;display:flex}.settings-modal{z-index:1000;pointer-events:auto;opacity:1;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.settings-modal.hidden{opacity:0;pointer-events:none}.settings-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000004d;position:absolute;inset:0;transform:translateZ(0)}.settings-modal-content{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#ffffffb3;border:1px solid #fff6;border-radius:20px;width:90%;max-width:480px;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s;position:relative;overflow:hidden;transform:scale(1);box-shadow:0 20px 40px #0003,inset 0 1px #ffffff80}.settings-modal.hidden .settings-modal-content{transform:scale(.95)}.settings-modal.is-dragging .settings-modal-overlay{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}.settings-modal.is-dragging .settings-modal-content{opacity:.15}.settings-header{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.settings-header h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.close-settings-btn{color:var(--text-secondary)}.close-settings-btn:hover{color:var(--text-primary);background:#0000000d}.settings-body{flex-direction:column;gap:24px;max-height:70vh;padding:20px;display:flex;overflow-y:auto}.settings-group{flex-direction:column;gap:12px;display:flex}.settings-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-left:4px;font-size:.8rem;font-weight:700}.settings-row{background:#ffffff80;border:1px solid #ffffff80;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;box-shadow:0 2px 8px #00000005}.settings-row-info{flex-direction:column;gap:2px;display:flex}.settings-row-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.settings-row-desc{color:var(--text-secondary);font-size:.8rem}.settings-action-btn{color:var(--text-primary);background:#0000000d;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.settings-action-btn:hover{background:#00000014;border-color:#0000001a}.settings-row-slider{flex-direction:column;align-items:stretch;gap:12px}.slider-container{align-items:center;padding:0 4px;display:flex}input[type=range]{-webkit-appearance:none;background:0 0;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:24px;height:24px;margin-top:-10px;box-shadow:0 2px 6px #0003,0 0 0 1px #0000000d}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;background:#0000001a;border-radius:4px;width:100%;height:6px}input[type=range]:focus{outline:none}.settings-select{color:var(--text-primary);cursor:pointer;background:#fffc;border:1px solid #0000001a;border-radius:8px;outline:none;padding:8px 12px;font-size:.85rem;font-weight:500}.dark-theme .settings-select{color:#fff;background:#1e1e1ecc;border-color:#ffffff1a}.accent-color-picker{gap:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000001a}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text-primary);transform:scale(1.15);box-shadow:0 0 0 2px #ffffff80,0 4px 8px #0003}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#0003;border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0003}input:checked+.toggle-slider{background-color:var(--accent,#34c759)}input:checked+.toggle-slider:before{transform:translate(20px)}body.dark-theme{--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--bg-surface:#18181b99;--bg-surface-solid:#18181b;--bg-surface-hover:#27272acc;--border-glass:#ffffff1a;--card-bg:#27272a66;--card-bg-hover:#3f3f4699;--card-border:#ffffff1a}body.dark-theme .settings-modal-content{background:#18181bcc;border-color:#ffffff1a}body.dark-theme .settings-row{background:#27272a80;border-color:#ffffff0d}body.dark-theme .settings-action-btn{color:#fff;background:#ffffff1a}body.dark-theme .settings-action-btn:hover{background:#ffffff26}.current-user-display{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:150px;margin-right:8px;font-size:.85rem;font-weight:600;overflow:hidden}.login-modal{z-index:2000;-webkit-backdrop-filter:blur(20px);opacity:1;background:#0006;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.login-modal.hidden{opacity:0;pointer-events:none}.login-modal-content{-webkit-backdrop-filter:blur(40px)saturate(180%);background:#ffffffa6;border:1px solid #fff6;border-radius:24px;flex-direction:column;align-items:center;width:90%;max-width:400px;padding:40px 32px;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s;display:flex;transform:translateY(0)scale(1);box-shadow:0 24px 48px #0003,inset 0 1px #ffffff80}.login-modal.hidden .login-modal-content{transform:translateY(20px)scale(.95)}.login-logo{margin-bottom:24px;padding:10px 24px;font-size:1.5rem;position:relative}.auth-title{color:var(--text-primary);text-align:center;margin-bottom:24px;font-size:1.25rem;font-weight:700}.auth-error{color:#ff3b30;text-align:center;min-height:20px;margin-bottom:16px;font-size:.85rem}.auth-form{flex-direction:column;gap:12px;width:100%;display:flex}.auth-input{background:#fffc;border:1px solid #0000001a;border-radius:12px;width:100%;padding:14px 16px;font-size:.95rem;transition:all .2s;box-shadow:inset 0 2px 4px #00000005}.auth-input:focus{background:#fff;border-color:#6366f180;box-shadow:inset 0 2px 4px #00000005,0 0 0 3px #6366f11a}.auth-btn{color:#fff;background:#111;border-radius:12px;width:100%;margin-top:8px;padding:14px 16px;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #0000001a}.auth-btn:hover{background:#222;transform:translateY(-1px);box-shadow:0 6px 16px #00000026}.auth-btn:active{transform:translateY(1px);box-shadow:0 2px 8px #0000001a}.auth-divider{text-align:center;width:100%;color:var(--text-muted);align-items:center;margin:24px 0;font-size:.8rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid #0000001a;flex:1}.auth-divider span{padding:0 10px}.google-btn{color:var(--text-primary);background:#fff;border:1px solid #0000001a;justify-content:center;align-items:center;gap:12px;margin-top:0;display:flex}.google-btn:hover{background:#fafafa}.auth-toggle{color:var(--text-muted);margin-top:24px;font-size:.85rem}.auth-toggle span{color:var(--accent);font-weight:600}.user-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.avatar-btn{padding:0;overflow:hidden}.logout-btn{color:#ff3b30!important;background:#ff3b301a!important}.logout-btn:hover{background:#ff3b3033!important}.global-loader{z-index:9999;opacity:1;pointer-events:auto;background:#fffffff2;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}@supports ((-webkit-backdrop-filter:blur(30px)) or (backdrop-filter:blur(30px))){.global-loader{-webkit-backdrop-filter:blur(30px)saturate(150%);background:#ffffffbf;transform:translateZ(0)}}.global-loader.hidden{opacity:0;pointer-events:none}.loader-content{flex-direction:column;align-items:center;display:flex}.loader-chars{color:var(--text-primary,#111);letter-spacing:.1em;opacity:.8;gap:clamp(12px,4vw,40px);font-family:SF Pro Display,Hiragino Sans,Hiragino Kaku Gothic Pro,Inter,system-ui,-apple-system,sans-serif;font-size:clamp(3rem,12vw,8rem);font-weight:300;display:flex}.loader-chars span{text-align:center;min-width:1ch;display:inline-block}.global-loader:not(.morphing) .loader-chars span{animation:1.6s cubic-bezier(.45,0,.55,1) infinite both fluid-bounce}.global-loader:not(.morphing) .loader-chars span:first-child{animation-delay:-.4s}.global-loader:not(.morphing) .loader-chars span:nth-child(2){animation-delay:-.3s}.global-loader:not(.morphing) .loader-chars span:nth-child(3){animation-delay:-.2s}.global-loader:not(.morphing) .loader-chars span:nth-child(4){animation-delay:-.1s}.global-loader:not(.morphing) .loader-chars span:nth-child(5){animation-delay:0s}@keyframes fluid-bounce{0%,to{opacity:.5;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-20px)scale(1.1)}}.task-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);cursor:grab;flex-direction:column;gap:8px;padding:12px 14px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;transform:translateZ(0)}.task-item:active{cursor:grabbing;transform:scale(.98)}.task-item:hover,.task-item:focus-within{background:var(--card-bg-hover);border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.task-item.status-in_progress{box-shadow:var(--glow-in-progress);border-color:#3b82f680}.task-item.status-up_next{box-shadow:var(--glow-up-next);border-color:#f59e0b80}.task-main-row{align-items:flex-start;gap:8px;width:100%;display:flex}.task-meta-row{align-items:center;gap:12px;width:100%;margin-top:2px;display:flex}.task-content{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:2px;display:flex}.task-name{width:100%;color:var(--text-primary);resize:none;cursor:text;background:0 0;border:1px solid #0000;border-radius:6px;height:3em;margin-left:-6px;padding:2px 6px;font-size:.95rem;font-weight:600;line-height:1.5;transition:all .25s cubic-bezier(.25,.8,.25,1);overflow:hidden}.task-name:hover{background:#ffffff4d}.task-name:focus{background:#ffffffb3;border-color:#ffffffe6;box-shadow:0 2px 8px #0000000d}.due-date{color:var(--text-muted);align-items:center;gap:4px;font-size:.7rem;display:flex}.due-date input[type=date]{color:var(--text-muted);cursor:pointer;background:0 0;width:auto;min-width:80px;font-size:.7rem}.due-date input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.due-date input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.activity-dates{color:var(--text-muted);margin-right:auto;font-size:.7rem}.task-actions{opacity:0;flex-shrink:0;align-items:center;gap:4px;transition:opacity .2s;display:flex}.task-item:hover .task-actions{opacity:1}.task-space-tag{white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:.65rem;font-weight:600;line-height:1;display:inline-flex}.task-space-tag-emoji{font-size:.75rem}.delete-btn{color:var(--text-muted);border-radius:4px;padding:4px}.delete-btn:hover{color:var(--status-dropped);background-color:#fee2e2}.status-divider{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;margin-top:16px;margin-bottom:4px;padding-left:8px;font-size:.8125rem;font-weight:600;display:flex}.task-item.status-done,.task-item.status-dropped{box-shadow:none;background-color:#0000;border-color:#0000;padding:8px 16px 8px 8px}.task-item.status-done:hover,.task-item.status-dropped:hover{border-color:var(--border-light);background-color:#00000005}.task-item.status-done .task-name,.task-item.status-dropped .task-name{color:var(--text-muted);text-decoration:line-through}.task-item.status-done{opacity:.5;transform:scale(.98)}.task-item.status-done .due-date{display:none!important}.task-item.status-dropped{opacity:.4;transform:scale(.98)}.detail-panel-wrapper{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.25,.8,.25,1);display:grid}.task-item:hover .detail-panel-wrapper,.task-item:focus-within .detail-panel-wrapper,.task-item.expanded .detail-panel-wrapper{grid-template-rows:1fr}.detail-panel{flex-direction:column;gap:12px;min-height:0;transition:opacity .3s;display:flex;overflow:hidden}.detail-panel-wrapper[style*="grid-template-rows: 0fr"]>.detail-panel{opacity:0}.detail-panel-wrapper>.detail-panel{padding:0 12px 0 42px}.task-item:hover .detail-panel-wrapper>.detail-panel,.task-item:focus-within .detail-panel-wrapper>.detail-panel,.task-item.expanded .detail-panel-wrapper>.detail-panel{border-top:1px solid var(--border-light);margin-top:4px;padding-top:12px;padding-bottom:12px}.detail-textarea{width:100%;min-height:60px;color:var(--text-secondary);resize:vertical;cursor:text;background:0 0;border:1px solid #0000;border-radius:8px;margin-left:-4px;padding:6px 10px;font-size:.85rem;transition:all .25s cubic-bezier(.25,.8,.25,1)}.detail-textarea:hover{background:#fff3}.detail-textarea:focus{color:var(--text-primary);background:#fff9;border-color:#fffc;box-shadow:0 2px 8px #0000000d}.detail-images{flex-wrap:wrap;gap:8px;display:flex}.image-thumbnail-container{border:1px solid var(--border-light);border-radius:6px;width:80px;height:80px;position:relative;overflow:hidden}.image-thumbnail-container img{object-fit:cover;cursor:zoom-in;width:100%;height:100%;transition:transform .2s}.image-thumbnail-container img:hover{transform:scale(1.05)}.delete-image-btn{color:#fff;opacity:0;background:#00000080;border-radius:10px;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .2s;display:flex;position:absolute;top:4px;right:4px}.image-thumbnail-container:hover .delete-image-btn{opacity:1}.delete-image-btn:hover{background:var(--status-dropped)}.task-item.sortable-ghost{opacity:.3;background-color:var(--bg-body)}.task-item.sortable-drag{box-shadow:var(--shadow-lg);cursor:grabbing!important}.pin-btn{color:var(--text-muted);border-radius:4px;align-items:center;padding:4px;transition:all .2s;display:flex}.pin-btn:hover{color:#a855f7;transform:scale(1.15)}.pin-btn.pinned{color:#a855f7;text-shadow:0 0 8px #a855f799}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}@keyframes highlight-pulse-anim{0%{background:#a855f726;border-color:#a855f7;box-shadow:0 0 #a855f7b3}50%{background:#a855f70d;border-color:#a855f780;box-shadow:0 0 0 14px #a855f700}to{background:0 0;box-shadow:0 0 #a855f700}}.task-item.highlight-pulse{animation:1.5s ease-out highlight-pulse-anim}.status-icon{justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;display:inline-flex}.status-btn{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;transition:background-color .2s;display:flex;position:relative}.status-btn:hover{background-color:var(--bg-body)}.status-icon.none{color:var(--status-none)}.status-icon.in-progress{color:var(--status-in-progress)}.status-icon.up-next{color:var(--status-up-next);font-size:16px}.status-icon.done{color:var(--status-done)}.status-icon.dropped{color:var(--status-dropped)}.status-menu{background-color:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;flex-direction:column;gap:2px;min-width:140px;padding:4px;display:flex;position:absolute}.status-menu.hidden{display:none}.status-option{text-align:left;width:100%;color:var(--text-primary);border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:.875rem;display:flex}.status-option:hover{background-color:var(--bg-body)}@media (width<=768px){#app{grid-template-rows:auto 1fr;gap:8px;height:100dvh;padding:8px}.app-header{flex-wrap:wrap;gap:12px;height:auto;padding-right:0}.header-controls{justify-content:space-between;width:100%}.filter-pills{scrollbar-width:none;flex:1;overflow-x:auto}.filter-pills::-webkit-scrollbar{display:none}.app-main{height:100%;display:block;position:relative;overflow:hidden}.timeline-area{z-index:1;width:100%;height:100%;padding-bottom:80px;position:absolute;inset:0}.sidebar-resizer{display:none!important}.sidebar{z-index:50;border:1px solid var(--border-light);will-change:transform;touch-action:none;border-bottom:none;border-radius:24px 24px 0 0;width:100%;height:85vh;padding:12px 16px;transition:transform .4s cubic-bezier(.32,.72,0,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(calc(100% - 100px));box-shadow:0 -8px 32px #00000026}.sidebar.sheet-peek{transform:translateY(calc(100% - 100px))}.sidebar.sheet-half{transform:translateY(50%)}.sidebar.sheet-full{transform:translateY(0)}.sidebar.is-dragging{transition:none}.bottom-sheet-handle{cursor:grab;background:#fff9;border-radius:10px;flex-shrink:0;width:40px;height:5px;margin:0 auto 12px;display:block}.sidebar.is-dragging .bottom-sheet-handle{cursor:grabbing;background:#ffffffe6}.add-task-container{padding:0 12px}#quickAddInput{padding:12px 0;font-size:1rem}.sidebar-scroll-area{touch-action:pan-y;padding-bottom:32px}.filter-pill{padding:8px 16px;font-size:.9rem}.task-item{padding:10px 12px}.drag-handle,.status-btn,.delete-btn,.expand-btn,.pin-btn{min-width:44px;min-height:44px}.task-actions{opacity:1}}@media (width>=769px) and (width<=1024px){#app{gap:12px;padding:12px}.app-main{display:block;position:relative}.timeline-area{width:100%;height:100%;position:absolute;inset:0}.sidebar-resizer{display:none}.sidebar{border:1px solid var(--border-light);width:320px;box-shadow:var(--shadow-glass);z-index:10;border-radius:24px;position:absolute;top:12px;bottom:12px;right:12px}.bottom-sheet-handle{display:none}}@media (width>=1025px){.bottom-sheet-handle{display:none}.app-main{grid-template-columns:1fr 16px var(--sidebar-width);gap:0;height:100%;display:grid;overflow:hidden}}.quick-add-floating{-webkit-backdrop-filter:blur(32px)saturate(180%);z-index:20;background:#ffffffb3;border:1px solid #fffc;border-radius:999px;align-items:center;gap:10px;width:min(520px,100% - 48px);height:48px;padding:0 16px;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f,inset 0 1px #ffffffe6}.quick-add-floating:focus-within{background:#ffffffe0;border-color:#fff;width:min(600px,100% - 48px);box-shadow:0 12px 40px #00000026,0 0 0 3px #6366f126,inset 0 1px #fff}.quick-add-floating .add-task-icon{color:var(--text-muted);flex-shrink:0;transition:color .2s}.quick-add-floating:focus-within .add-task-icon{color:var(--accent)}.quick-add-floating #quickAddInput{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:.9rem;font-weight:500}.quick-add-floating #quickAddInput::placeholder{color:var(--text-muted);font-weight:400}.quick-add-space-badge{color:var(--text-muted);white-space:nowrap;cursor:pointer;background:#0000000d;border:1px solid #0000000f;border-radius:999px;flex-shrink:0;align-items:center;max-width:120px;padding:4px 10px;font-family:inherit;font-size:.72rem;font-weight:600;transition:all .2s;display:flex}.quick-add-space-badge span{text-overflow:ellipsis;overflow:hidden}.quick-add-floating:focus-within .quick-add-space-badge{background:var(--accent-light);color:var(--accent);border-color:#6366f133}.quick-add-space-popover{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);z-index:210;transform-origin:100% 100%;background:#fffffff2;border:1px solid #fffc;border-radius:12px;min-width:160px;max-height:250px;padding:6px;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:calc(100% + 8px);right:16px;overflow-y:auto;box-shadow:0 10px 30px #00000026,0 1px 3px #0000000d}.quick-add-space-popover.hidden{opacity:0;pointer-events:none;transform:scale(.95)translateY(10px)}.spaces-header-area{z-index:100;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;position:relative}.spaces-header-actions{align-items:center;gap:6px;display:flex}.header-progress-ring{cursor:help;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:relative}.header-progress-ring.hidden{display:none}.header-progress-ring svg{transform:rotate(-90deg)}.header-progress-ring .circle-bg{fill:none;stroke:#00000014;stroke-width:4px}.header-progress-ring .circle-fill{fill:none;stroke:var(--local-accent,var(--space-accent,var(--accent)));stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.16,1,.3,1),stroke .3s}.spaces-dropdown-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin-left:-8px;padding:4px 8px;font-family:inherit;transition:background .2s;display:flex}.spaces-dropdown-btn:hover{background:#0000000d}.spaces-dropdown-emoji-wrap,.space-menu-emoji-wrap,.space-card-emoji-wrap{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.space-card-emoji-wrap{border-radius:8px;width:28px;height:28px}.spaces-dropdown-emoji,.space-menu-emoji,.space-card-emoji{font-size:.9rem;line-height:1}.space-card-emoji{font-size:1.1rem}.spaces-dropdown-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.spaces-dropdown-icon{color:var(--text-muted);transition:transform .2s}.spaces-dropdown-menu{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);z-index:200;transform-origin:0 0;opacity:1;background:#fffffff2;border:1px solid #fffc;border-radius:12px;width:240px;padding:8px;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;top:60px;left:12px;transform:scale(1)translateY(0);box-shadow:0 10px 30px #0000001a,0 1px 3px #0000000d}.spaces-dropdown-menu.hidden{opacity:0;pointer-events:none;transform:scale(.95)translateY(-10px)}.space-menu-list{flex-direction:column;gap:2px;max-height:40vh;display:flex;overflow-y:auto}.space-menu-item{cursor:pointer;text-align:left;width:100%;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;transition:background .2s;display:flex}.space-menu-item:hover,.space-menu-item.drag-over{background:#0000000d}.space-menu-item.active{color:var(--text-primary);background:#6366f114}.space-menu-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:500;overflow:hidden}.space-menu-item .check-icon{opacity:0;color:var(--accent)}.space-menu-item.active .check-icon{opacity:1}.space-menu-separator{background:#0000000d;height:1px;margin:6px 0}.add-space-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.add-space-btn:hover{color:var(--text-primary);background:#0000000d}.space-context-card{flex-shrink:0;margin:0 0 16px}.space-context-card.hidden{display:none}.space-note-textarea{width:100%;min-height:40px;color:var(--text-secondary);resize:none;background:0 0;border:1px solid #0000;border-radius:8px;margin-left:-4px;padding:8px 12px;font-family:inherit;font-size:.85rem;line-height:1.5;transition:all .25s cubic-bezier(.25,.8,.25,1);overflow:hidden}.space-note-textarea:hover{background:#ffffff4d}.space-note-textarea:focus{color:var(--text-primary);background:#fffc;border-color:#ffffffe6;outline:none;transform:translateY(-1px);box-shadow:0 2px 8px #0000000d,0 0 0 2px #fff6}.action-context-menu{z-index:3000;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);background:#ffffffd9;border:1px solid #ffffffb3;border-radius:12px;min-width:180px;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) menuAppear;position:fixed;box-shadow:0 8px 32px #00000026,0 2px 8px #00000014}@keyframes menuAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:.85rem;font-weight:500;transition:background .1s;display:flex}.context-menu-item:hover{background:#0000000f}.context-menu-item.danger{color:var(--status-dropped)}.context-menu-item.danger:hover{background:#ff3b3014}.context-menu-separator{background:#0000000f;height:1px;margin:4px 0}.context-menu-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.context-menu-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:4px 10px 2px;font-size:.7rem;font-weight:700}.task-space-selector{color:var(--text-muted);align-items:center;gap:6px;font-size:.75rem;display:flex}.task-space-selector-btn{color:var(--text-muted);cursor:pointer;background:#0000000a;border:1px solid #0000000f;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-family:inherit;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.task-space-selector-btn:hover{color:var(--accent);background:#6366f11a;border-color:#6366f133}.task-space-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.fab-add-btn{background:var(--accent);color:#fff;cursor:pointer;z-index:60;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:20px;right:16px;box-shadow:0 4px 16px #6366f166,0 2px 8px #0000001a}.fab-add-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px #6366f180}.fab-add-btn:active{transform:scale(.95)}.space-dialog-overlay{z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0000004d;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.space-dialog{-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:#ffffffd1;border:1px solid #fff9;border-radius:20px;width:90%;max-width:400px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;overflow:hidden;box-shadow:0 24px 48px #0003,inset 0 1px #fffc}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.space-dialog-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.space-dialog-header h3{color:var(--text-primary);font-size:1rem;font-weight:700}.space-dialog-body{flex-direction:column;gap:12px;padding:20px;display:flex}.space-name-row{gap:8px;width:100%;display:flex}.space-emoji-input{text-align:center;background:#fffc;border:1.5px solid #0000001a;border-radius:12px;flex-shrink:0;width:52px;padding:12px 0;font-size:1.25rem;transition:all .2s}.space-emoji-input:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 3px #6366f11a}.space-name-input{width:100%;color:var(--text-primary);background:#fffc;border:1.5px solid #0000001a;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s}.space-name-input:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 3px #6366f11a}.space-desc-input{width:100%;color:var(--text-secondary);resize:none;background:#fff9;border:1.5px solid #00000014;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:.875rem;line-height:1.5;transition:all .2s}.space-desc-input:focus{background:#fff;border-color:#6366f166;outline:none}.space-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.75rem;font-weight:700}.space-color-picker{flex-direction:column;gap:10px;display:flex}.space-color-options{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{cursor:pointer;background-clip:padding-box;border:2px solid #0000;border-radius:8px;width:28px;height:28px;font-family:inherit;transition:all .2s}.color-swatch:hover{border-radius:50%;transform:scale(1.15)}.color-swatch.active{border-color:#fff;border-radius:50%;transform:scale(1.1);box-shadow:0 0 0 2px #00000040,0 4px 12px #00000026}.space-dialog-footer{background:#ffffff4d;border-top:1px solid #0000000f;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.space-cancel-btn{color:var(--text-secondary);cursor:pointer;background:#0000000d;border:none;border-radius:10px;padding:8px 16px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.space-cancel-btn:hover{background:#00000014}.space-save-btn{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:10px;padding:8px 18px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #6366f159}.space-save-btn:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 6px 16px #6366f173}@media (width<=1024px){.quick-add-floating{width:calc(100% - 48px);bottom:16px}}@media (width<=768px){.quick-add-floating{display:none}.fab-add-btn{display:flex!important}}@media (width>=769px){.fab-add-btn{display:none!important}}
