svg.w-heatmap rect:hover{stroke:var(--rhm-rect-hover-stroke, rgba(0, 0, 0, .14));stroke-width:1px}svg.w-heatmap rect:active{fill:#196127;fill:var(--rhm-rect-active, #196127);stroke-width:0}:root{--bg-primary: #080810;--bg-secondary: #0f0f1a;--bg-tertiary: #181824;--bg-elevated: #1e1e2e;--bg-hover: #252538;--text-primary: #eaeaf4;--text-secondary: #8080a0;--text-tertiary: #50506a;--border: #252538;--border-light: #303048;--border-glow: #404060;--accent: hsl(210, 80%, 65%);--accent-dim: hsl(210, 40%, 18%);--accent-glow: hsl(210, 80%, 65%);--amber: hsl(40, 80%, 60%);--amber-dim: hsl(40, 40%, 16%);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 22px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(100, 150, 255, .15);--font-sans: "Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--transition-fast: .12s ease;--transition-med: .22s ease;--transition-slow: .38s cubic-bezier(.16, 1, .3, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-glow)}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none;background:none;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,textarea,select{font-family:var(--font-sans);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:9px 13px;font-size:14px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #5ea6ed1f}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%238080a0'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.app{display:flex;width:100%;height:100%}.sidebar{width:272px;min-width:272px;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;zoom:1.2}.sidebar-header{padding:20px 16px 14px;border-bottom:1px solid var(--border)}.sidebar-logo{font-size:23px;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:12px}.sidebar-logo .logo-icon{width:36px;height:36px;border-radius:var(--radius-md);background:#0c0c18;border:1px solid rgba(34,197,94,.22);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 14px #22c55e2e}.sidebar-section{padding:10px 0;border-bottom:1px solid var(--border)}.sidebar-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-tertiary);padding:0 16px 7px}.sidebar-item{display:flex;align-items:center;gap:11px;padding:9px 16px;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left;border-radius:0;position:relative}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:60%;background:var(--accent);border-radius:0 2px 2px 0}.sidebar-item .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sidebar-item .block-countdown{margin-left:auto;font-size:11px;font-family:var(--font-mono);font-weight:500;color:var(--text-tertiary);background:var(--bg-elevated);padding:2px 7px;border-radius:5px}.sidebar-scroll{flex:1;overflow-y:auto}.sidebar-bottom{padding:10px 12px;border-top:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;transition:all var(--transition-fast);letter-spacing:.1px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #5ea6ed40}.btn-primary:hover{filter:brightness(1.12);box-shadow:0 4px 16px #5ea6ed66;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;pointer-events:none;box-shadow:none}.btn-ghost{color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.btn-sm{padding:6px 13px;font-size:13px}.btn-full{width:100%}.btn-danger{color:#e45858}.btn-danger:hover{background:#e458581a}.tag{font-size:11px;font-weight:500;padding:3px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary)}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.topbar{height:54px;display:flex;align-items:center;padding:0 22px;border-bottom:1px solid var(--border);gap:14px;flex-shrink:0;background:var(--bg-secondary);zoom:1.2}.topbar-title{font-size:17px;font-weight:700;letter-spacing:-.3px}.topbar-countdown{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--accent);background:var(--accent-dim);padding:5px 13px;border-radius:var(--radius-sm);border:1px solid hsla(210,80%,65%,.18)}.topbar-progress{display:flex;align-items:center;gap:10px;margin-left:auto}.progress-bar{width:120px;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;background:var(--accent);transition:width var(--transition-slow);box-shadow:0 0 8px var(--accent-glow)}.progress-text{font-size:13px;font-family:var(--font-mono);font-weight:500;color:var(--text-secondary)}.view-switcher{display:flex;gap:2px;background:var(--bg-elevated);padding:3px;border-radius:var(--radius-sm);border:1px solid var(--border)}.view-switcher button{padding:5px 14px;border-radius:4px;font-size:13px;font-weight:600;color:var(--text-tertiary);transition:all var(--transition-fast)}.view-switcher button:hover{color:var(--text-secondary)}.view-switcher button.active{background:var(--bg-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.treemap-container{flex:1;padding:14px;position:relative;overflow:hidden}.treemap-svg{width:100%;height:100%}.treemap-category-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;fill:#fff;pointer-events:none;opacity:.9}.treemap-task-label{font-size:10px;font-weight:500;fill:#fff;pointer-events:none;opacity:.8}.kanban-container{flex:1;display:flex;gap:14px;padding:14px;overflow-x:auto}.kanban-column{min-width:260px;width:260px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition-med)}.kanban-column:hover{box-shadow:var(--shadow-sm)}.kanban-column-header{padding:12px 14px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.1px;background:var(--bg-tertiary)}.kanban-column-header .dot{width:9px;height:9px;border-radius:50%}.kanban-column-header .count{margin-left:auto;font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono);background:var(--bg-elevated);padding:1px 6px;border-radius:4px}.kanban-column-body{flex:1;padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:5px}.kanban-card{padding:9px 11px;background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:13px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:flex-start;gap:8px;position:relative;overflow:visible;min-height:36px}.kanban-card:hover{background:var(--bg-hover);border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.kanban-card:active{transform:translateY(0)}.kanban-card.completed{opacity:.45;text-decoration:line-through}.kanban-card.locked{opacity:.65;cursor:not-allowed;background:#231f1a;border-color:#493827;border-style:dashed}.kanban-card.locked:hover{transform:none;box-shadow:none;background:#29241e}.kanban-card .check{width:15px;height:15px;border-radius:4px;border:2px solid var(--border-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin-top:1px}.kanban-card .check.done{border-color:var(--accent);background:var(--accent)}.lock-icon{font-size:12px;flex-shrink:0;opacity:.7;margin-top:1px}.kanban-card-title{flex:1;text-align:center;font-size:13px;font-weight:500;line-height:1.3;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.kanban-card-notes{font-size:10px;color:var(--text-tertiary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.task-duration-badge{font-size:9px;font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-elevated);padding:1px 5px;border-radius:3px;flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:26px;min-width:400px;max-width:480px;box-shadow:var(--shadow-lg),0 0 40px #0006;position:relative}.modal-wide{min-width:440px;max-width:520px}.modal h2{font-size:17px;font-weight:700;margin-bottom:18px;letter-spacing:-.3px}.modal-field{margin-bottom:14px}.modal-field label{display:block;font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.modal-field input,.modal-field select,.modal-field textarea{width:100%}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px}.weight-picker{display:flex;gap:6px}.weight-btn{flex:1;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;font-weight:600;font-family:var(--font-mono);transition:all var(--transition-fast)}.weight-btn:hover{border-color:var(--border-light);color:var(--text-primary);background:var(--bg-elevated)}.weight-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #5ea6ed4d}.calendar-picker{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-top:2px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.calendar-nav-btn{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-secondary);transition:all var(--transition-fast);line-height:1}.calendar-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-month-label{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:-.2px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px}.calendar-day-name{text-align:center;font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.calendar-day{aspect-ratio:1;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);cursor:pointer;font-family:var(--font-mono)}.calendar-day:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-day.today{color:var(--accent);font-weight:700;position:relative}.calendar-day.today:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.calendar-day.selected{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 2px 8px #5ea6ed59}.calendar-day.selected:hover{background:var(--accent);filter:brightness(1.1)}.dep-toggle{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);width:100%;text-align:left;padding:6px 0;transition:color var(--transition-fast);text-transform:uppercase;letter-spacing:.6px}.dep-toggle:hover{color:var(--text-primary)}.dep-toggle-icon{font-size:10px;transition:transform var(--transition-fast)}.dep-badge{background:var(--accent);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:10px;margin-left:2px}.dep-list{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;background:var(--bg-tertiary);max-height:160px;overflow-y:auto;margin-top:4px}.dep-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;cursor:pointer;transition:background var(--transition-fast);font-size:12px}.dep-item:hover{background:var(--bg-hover)}.dep-item.selected{background:var(--accent-dim)}.dep-item .check{width:14px;height:14px;border-radius:3px;border:1.5px solid var(--border-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.dep-item .check.done{border-color:var(--accent);background:var(--accent)}.duration-input-row{display:flex;align-items:center;gap:12px}.duration-slider{flex:1;height:4px;background:var(--bg-elevated);border:none;border-radius:2px;-webkit-appearance:none;cursor:pointer;padding:0}.duration-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px #5ea6ed66;transition:box-shadow var(--transition-fast)}.duration-slider::-webkit-slider-thumb:hover{box-shadow:0 2px 12px #5ea6ed99}.duration-slider:focus{outline:none;box-shadow:none}.duration-value{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--accent);min-width:36px;text-align:right}.pomo-stats{display:flex;gap:8px;margin-bottom:20px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.pomo-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.pomo-stat-value{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--accent)}.pomo-stat-label{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.survey-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.survey-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:28px 24px;min-width:320px;max-width:360px;text-align:center;box-shadow:var(--shadow-lg)}.survey-checkmark{display:flex;justify-content:center;margin-bottom:12px}.survey-title{font-size:18px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.survey-task-name{font-size:13px;color:var(--text-secondary);margin-bottom:16px;max-width:260px;margin-left:auto;margin-right:auto;line-height:1.4}.survey-question{font-size:12px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}.survey-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.survey-option{padding:8px 4px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);font-size:12px;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;font-family:var(--font-mono)}.survey-option:hover{border-color:var(--cat-color, var(--accent));color:var(--cat-color, var(--accent));background:var(--bg-elevated);transform:translateY(-1px)}.survey-option-custom{font-family:var(--font-sans);font-size:11px;letter-spacing:.3px}.survey-custom-input{display:flex;gap:8px;margin-bottom:10px}.survey-skip{font-size:11px;color:var(--text-tertiary);padding:4px 8px;border-radius:4px;transition:color var(--transition-fast);display:block;margin:0 auto}.survey-skip:hover{color:var(--text-secondary)}.pomodoro-widget{position:fixed;bottom:20px;right:20px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:14px 18px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:14px;z-index:50;min-width:270px}.pomodoro-timer{font-family:var(--font-mono);font-size:26px;font-weight:600;letter-spacing:2px;line-height:1}.pomodoro-mode{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}.pomodoro-mode.work{color:#e45858}.pomodoro-mode.break{color:#3c3}.pomodoro-mode.longBreak{color:#5ea6ed}.pomodoro-controls{display:flex;gap:4px;flex-direction:column}.pomodoro-btn{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);transition:all var(--transition-fast);font-size:12px;color:var(--text-secondary)}.pomodoro-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.05)}.pomodoro-sessions{display:flex;gap:4px}.pomodoro-sessions .pip{width:5px;height:5px;border-radius:50%;background:var(--border-light);transition:background var(--transition-fast)}.pomodoro-sessions .pip.filled{background:var(--accent);box-shadow:0 0 4px var(--accent-glow)}.timer-mode-tabs{display:flex;gap:2px;flex-direction:column}.timer-mode-tab{width:24px;height:22px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;border:1px solid transparent;padding:0;transition:all var(--transition-fast);position:relative;line-height:1}.timer-mode-tab:hover{transform:scale(1.1)}.timer-mode-running-dot{position:absolute;top:-1px;right:-1px;width:5px;height:5px;border-radius:50%;animation:pulse 2s infinite}.timer-preset-btn{font-size:9px;font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.timer-preset-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.timer-preset-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;display:flex;flex-direction:column;gap:2px;z-index:100;min-width:80px}.timer-preset-option{font-size:12px;font-family:var(--font-mono);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.timer-preset-option:hover{background:var(--bg-hover);color:var(--text-primary)}.timer-preset-option.active{background:var(--accent);color:#fff}.timeline-container{flex:1;padding:14px;overflow:auto}.timeline-row{display:flex;align-items:center;margin-bottom:8px}.timeline-label{width:140px;font-size:13px;font-weight:500;color:var(--text-secondary);flex-shrink:0;padding-right:12px;text-align:right}.timeline-track{flex:1;height:30px;background:var(--bg-tertiary);border-radius:var(--radius-sm);position:relative;overflow:hidden}.timeline-task-bar{position:absolute;top:4px;height:22px;border-radius:4px;display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:500;color:#fff;cursor:pointer;transition:filter var(--transition-fast);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.timeline-task-bar:hover{filter:brightness(1.18)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-tertiary)}.empty-state-icon{font-size:48px;opacity:.35}.empty-state h3{font-size:17px;font-weight:600;color:var(--text-secondary)}.empty-state p{font-size:13px;max-width:380px;text-align:center;line-height:1.6}@keyframes particle-burst{0%{transform:scale(0);opacity:1}50%{opacity:1}to{transform:scale(1);opacity:0}}@keyframes tile-pop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes gentle-breathe{0%,to{opacity:1}50%{opacity:.92}}@keyframes sparkle{0%,to{opacity:0}50%{opacity:1}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.tile-completing{animation:tile-pop .4s cubic-bezier(.16,1,.3,1)}.tile-idle{animation:gentle-breathe 4s ease-in-out infinite}.sidebar-item.drag-over{background:var(--accent-dim)!important;border:2px dashed var(--accent)!important;color:var(--accent)!important;transform:scale(1.02);box-shadow:0 0 12px var(--accent);font-weight:600}.sidebar-item.drag-preview{background:#33404d80!important;border:2px dashed rgba(255,255,255,.6)!important;box-shadow:0 0 8px #ffffff4d}.sidebar-item.drag-preview:hover{background:#364d63b3!important;border-color:#fffc!important;box-shadow:0 0 12px #ffffff80}.kanban-card[draggable=true]{cursor:grab}.kanban-card[draggable=true]:active{cursor:grabbing;opacity:.6}@keyframes focus-pulse{0%,to{opacity:1;box-shadow:0 0 4px currentColor}50%{opacity:.6;box-shadow:0 0 12px currentColor}}@keyframes flame-dance{0%,to{transform:rotate(-3deg) scale(1)}25%{transform:rotate(2deg) scale(1.05)}50%{transform:rotate(-2deg) scale(1.1)}75%{transform:rotate(3deg) scale(1.05)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.mobile-sidebar-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.mobile-sidebar-drawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;z-index:95;transform:translate(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow:hidden}.mobile-sidebar-drawer.open{transform:translate(0)}.mobile-sidebar-drawer .sidebar{width:100%;min-width:100%;height:100%;zoom:1;border-right:1px solid var(--border)}.mobile-hamburger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.mobile-hamburger:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar-mobile{zoom:1!important;height:auto!important;padding:8px 10px!important;gap:8px!important}.topbar-mobile-secondary{display:flex;align-items:center;gap:6px;padding:4px 10px 6px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.mobile-task-list{flex:1;overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}.mobile-task-summary{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border)}.mobile-task-summary-text{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;font-family:var(--font-mono)}.mobile-task-summary-bar{flex:1;height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden}.mobile-task-summary-fill{height:100%;background:var(--accent);border-radius:2px;transition:width var(--transition-slow);box-shadow:0 0 6px var(--accent-glow)}.mobile-category-group{margin-bottom:4px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:var(--bg-secondary);transition:opacity var(--transition-med)}.mobile-category-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;text-align:left;font-size:14px;font-weight:600;color:var(--text-primary);transition:background var(--transition-fast)}.mobile-category-header:active{background:var(--bg-hover)}.mobile-category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mobile-category-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-category-count{font-size:11px;font-family:var(--font-mono);font-weight:500;color:var(--text-tertiary);flex-shrink:0}.mobile-category-progress{width:40px;height:3px;background:var(--bg-elevated);border-radius:2px;overflow:hidden;flex-shrink:0}.mobile-category-progress-fill{height:100%;border-radius:2px;transition:width var(--transition-slow)}.mobile-category-chevron{font-size:12px;color:var(--text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.mobile-category-chevron.expanded{transform:rotate(90deg)}.mobile-category-chevron.small{font-size:10px}.mobile-category-tasks,.mobile-subcategory-group{border-top:1px solid var(--border)}.mobile-subcategory-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px 8px 24px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.mobile-subcategory-header:active{background:var(--bg-hover)}.mobile-subcategory-name{flex:1}.mobile-task-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-top:1px solid var(--border);transition:background var(--transition-fast)}.mobile-task-item:active{background:var(--bg-hover)}.mobile-task-item.indented{padding-left:34px}.mobile-task-item.completed{opacity:.5}.mobile-task-item.locked{opacity:.6}.mobile-task-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin-top:1px}.mobile-task-check.done{border-color:var(--accent);background:var(--accent)}.mobile-task-check:disabled{cursor:not-allowed;opacity:.5}.mobile-task-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;cursor:pointer}.mobile-task-title{font-size:14px;font-weight:500;line-height:1.3;word-break:break-word}.mobile-task-title.completed{text-decoration:line-through;color:var(--text-tertiary)}.mobile-task-notes{font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-task-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.mobile-task-weight{font-size:10px;font-family:var(--font-mono);font-weight:600;color:var(--text-tertiary);background:var(--bg-elevated);padding:1px 5px;border-radius:3px}.mobile-task-duration{font-size:10px;font-family:var(--font-mono);color:var(--text-tertiary)}@media(max-width:768px){input,textarea,select{font-size:16px!important}.app{flex-direction:column}.app.mobile>.sidebar{display:none}.sidebar{zoom:1}.topbar{zoom:1;flex-wrap:wrap;height:auto;padding:8px 12px;gap:8px}.main{flex:1;min-height:0}.modal-overlay{align-items:flex-end}.modal{min-width:unset;max-width:100vw;width:100vw;margin:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;overflow-y:auto;padding:20px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.modal-wide{min-width:unset;max-width:100vw}.survey-card{min-width:unset;max-width:100vw;width:100vw;margin:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}.survey-overlay{align-items:flex-end}.pomodoro-widget{display:none}.kanban-container{padding:8px;gap:8px}.kanban-column{min-width:220px;width:220px}.calendar-picker{max-width:100%}.weight-picker{gap:4px}.weight-btn{height:32px;font-size:12px}.progress-bar{width:80px}.empty-state p{max-width:280px;font-size:12px}.mobile-task-list{padding-bottom:env(safe-area-inset-bottom,8px)}.modal-close-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-mode-btn{padding:12px 8px!important;font-size:14px!important}.welcome-modal-screenshot{display:none!important}.welcome-modal-content{width:100%!important;padding:24px 20px!important}.welcome-modal-inner{flex-direction:column!important;width:100vw!important;height:auto!important;max-height:90vh!important;max-width:100vw!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;margin:auto 0 0!important}.welcome-modal-overlay{align-items:flex-end!important}.onboarding-tooltip{top:50%!important;left:50%!important}.overview-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.timeline-label{width:80px;font-size:11px}}
