:root{--bg-primary:#000;--bg-surface:#111;--bg-elevated:#1a1a1a;--bg-hover:#2a2a2a;--border-color:#2a2a2a;--border-light:#3a3a3a;--text-primary:#fff;--text-secondary:#d4d4d4;--text-muted:#888;--text-faded:#555;--accent:#f59e0b;--accent-hover:#fbbf24;--accent-dim:#f59e0b1f;--success:#22c55e;--success-dim:#22c55e1f;--danger:#ef4444;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--radius-sm:6px;--radius-md:10px;--radius-lg:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}.app-container{flex-direction:column;min-height:100vh;display:flex}.top-nav{z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;gap:48px;height:auto;padding:16px 24px;display:flex;position:sticky;top:0}.nav-left{align-items:center;gap:8px;display:flex}.nav-center{align-items:center;gap:4px;display:flex}.nav-right{align-items:center;gap:8px;display:flex}.nav-icon-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.nav-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-icon-btn.active{background:var(--bg-hover);color:var(--accent)}.nav-icon-btn svg{width:22px;height:22px}.timeframe-tabs{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:4px;padding:4px;display:flex}.timeframe-tab{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 16px;font-size:.85rem;font-weight:500}.timeframe-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.timeframe-tab.active{background:var(--accent);color:#fff}.main-content{background:var(--bg-primary);flex:1;min-height:calc(100vh - 56px)}.view{display:none}.view.active{display:block}.panel{opacity:0;transition:opacity var(--transition-normal), transform var(--transition-normal);display:none;transform:translateY(8px)}.panel.active{opacity:1;display:block;transform:translateY(0)}.panel-content{max-width:800px;margin:0 auto;padding:32px 40px}#year-panel .panel-content{width:100%;max-width:100%;padding:32px 48px}.analysis-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:32px;display:grid}.placeholder-chart{height:200px;color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px dashed var(--border-color);justify-content:center;align-items:center;font-size:.9rem;display:flex}@media (width<=768px){.top-nav{gap:32px;padding:12px 16px}.timeframe-tab{padding:6px 12px;font-size:.8rem}.nav-icon-btn{width:36px;height:36px}.nav-icon-btn svg{width:20px;height:20px}}@media (width<=500px){.top-nav{flex-wrap:wrap;gap:12px;height:auto;padding:12px 16px}.nav-center{order:3;justify-content:center;width:100%}.timeframe-tabs{justify-content:center;width:100%}}.nav-arrow{background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;width:38px;height:38px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex}.nav-arrow:hover{background:var(--bg-hover);border-color:#fff;transform:scale(1.1)}.btn-add{background:var(--bg-surface);border:1px solid var(--accent);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:8px 18px;font-size:.85rem;font-weight:700;display:flex}.btn-add .icon{color:var(--accent)}.btn-add:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-add:hover .icon{color:#fff}.btn-confirm{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 10px 20px var(--accent-dim);border:none;padding:10px 24px;font-size:.9rem;font-weight:700}.btn-confirm:hover{background:var(--accent-hover);box-shadow:0 15px 30px var(--accent-dim);transform:translateY(-2px)}.add-subtask-btn{border:1px dashed var(--border-light);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;width:calc(100% - 16px);transition:all var(--transition-fast);background:0 0;margin-top:8px;margin-left:16px;padding:12px;font-size:.85rem}.add-subtask-btn:hover{color:#fff;background:var(--bg-surface);border-color:#fff}.action-delete{color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast);background:0 0;border:none;padding:4px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;opacity:0;transition:opacity var(--transition-normal);background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.active{opacity:1;display:flex}.modal{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:480px;transition:transform var(--transition-normal);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transform:scale(.95);box-shadow:0 20px 50px #0009}.modal-overlay.active .modal{transform:scale(1)}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.modal-close{background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover);transform:rotate(90deg)}.modal-body{padding:24px}.task-input{background:var(--bg-elevated);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-md);transition:all var(--transition-fast);margin-bottom:24px;padding:16px 20px;font-size:1.1rem}.task-input:focus{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 0 20px var(--accent-dim);outline:none}.task-input::placeholder{color:var(--text-muted)}.modal-row{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.modal-row-inner{grid-template-columns:1.5fr 1fr;gap:16px;display:grid}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.08em;font-size:.7rem;font-weight:800}.input-group select,.input-group input{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast);width:100%;padding:12px 14px;font-size:.95rem}.input-group select:hover,.input-group input:hover{border-color:var(--border-light);background:var(--bg-hover)}.input-group select:focus,.input-group input:focus{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 0 15px var(--accent-dim);outline:none}input[type=number]::-webkit-inner-spin-button{opacity:.5}input[type=number]::-webkit-outer-spin-button{opacity:.5}.parent-selector{border-top:1px solid var(--border-color);margin-top:12px;padding-top:20px;display:none}.parent-selector.show{display:block}.parent-selector label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;display:block}.parent-selector select{background:var(--bg-elevated);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:10px;font-size:.9rem}.parent-selector select:focus{border-color:var(--accent);outline:none}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.suggestion-selector{border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px;display:none}.suggestion-selector.show{display:block}.suggestion-selector label{text-transform:uppercase;color:var(--accent);letter-spacing:.05em;margin-bottom:12px;font-size:.8rem;font-weight:700;display:block}.suggestion-list{flex-direction:column;gap:8px;max-height:200px;padding-right:4px;display:flex;overflow-y:auto}.suggestion-list::-webkit-scrollbar{width:4px}.suggestion-list::-webkit-scrollbar-track{background:var(--bg-surface)}.suggestion-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.suggestion-item{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.suggestion-item:hover{border-color:var(--accent-dim);background:var(--bg-hover);transform:translate(4px)}.suggestion-item-content{flex:1;min-width:0}.suggestion-item-text{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.suggestion-item-parent{color:var(--text-muted);font-size:.75rem}.suggestion-item-plus{color:var(--accent);opacity:.6;transition:opacity var(--transition-fast);margin-left:12px;font-size:1.2rem;font-weight:700}.suggestion-item:hover .suggestion-item-plus{opacity:1}.time-picker-custom{align-items:center;gap:6px;display:flex}.time-picker-custom select{text-align:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:50px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);appearance:none;flex:1;padding:12px 8px;font-size:.9rem}.time-picker-custom select:focus{border-color:var(--accent);background:var(--bg-hover);outline:none}.btn-clear-time{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;align-self:flex-end;padding:8px 12px;font-size:.8rem}.btn-clear-time:hover{border-color:var(--danger);color:var(--danger);background:#ff50501a}.goal-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast);margin-bottom:8px;padding:10px 12px}.goal-card:hover{border-color:var(--border-light);background:var(--bg-elevated)}.goal-card.done{opacity:.5}.goal-header{align-items:center;gap:10px;display:flex}.goal-checkbox{border:1.5px solid var(--border-light);cursor:pointer;width:16px;min-width:16px;height:16px;min-height:16px;transition:all var(--transition-fast);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.goal-checkbox:before{content:"";border-radius:50%;position:absolute;inset:-6px}.goal-checkbox:hover{border-color:var(--accent);transform:scale(1.1)}.goal-checkbox.checked{background:var(--accent);border-color:var(--accent)}.goal-checkbox.checked:after{content:"✓";color:#fff;font-size:8px;font-weight:700}.goal-content{flex:1;min-width:0}.goal-text{word-break:break-word;color:var(--text-primary);margin-bottom:0;font-size:.85rem;font-weight:500;line-height:1.3}.goal-card.done .goal-text{color:var(--text-muted);text-decoration:line-through}.goal-meta{color:var(--text-muted);align-items:center;gap:12px;margin-top:4px;font-size:.7rem;display:flex}.goal-progress{align-items:center;gap:10px;display:flex}.progress-bar{background:var(--bg-elevated);border-radius:2px;width:100px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width var(--transition-normal);border-radius:2px}.progress-text{color:var(--accent);letter-spacing:.5px;font-weight:600}.goal-actions{flex-shrink:0;gap:8px;display:flex}.goal-action-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;display:flex}.goal-action-btn svg{display:block}.goal-card:hover .goal-action-btn{opacity:1}.goal-action-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.goal-action-btn.edit:hover{color:var(--accent)}.goal-action-btn.delete:hover{color:var(--danger)}.goal-children{border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.goal-children .goal-card{background:var(--bg-primary);border:1px solid var(--border-color);border-left:2px solid var(--border-light);margin-left:24px;padding:16px}.goal-children .goal-card:last-child{margin-bottom:0}.goal-children .goal-children{border-top:1px dashed var(--border-color);margin-top:12px;padding-top:12px}.goal-children .goal-children .goal-card{border-left-color:var(--border-light);margin-left:16px;padding:12px 14px}.goal-children .goal-children .goal-text{font-size:.95rem}.nested-progress{color:var(--accent);font-size:.75rem;font-weight:600}.goal-card.nested .goal-text{margin-bottom:4px}.goal-card.nested .goal-meta{gap:12px;font-size:.75rem}.life-year-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);margin-bottom:16px;padding:24px}.life-year-card:hover{border-color:var(--accent);background:var(--bg-hover)}.life-year-header{justify-content:space-between;align-items:center;display:flex}.life-year-name{color:var(--text-primary);font-size:1.4rem;font-weight:600}.life-year-stats{color:var(--text-muted);font-size:.9rem}.life-year-stats span{color:var(--accent);font-weight:600}.date-selector-widget{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:40px;justify-content:center;align-items:center;gap:12px;width:fit-content;margin:12px auto 32px;padding:8px 16px;display:flex;box-shadow:0 10px 30px #00000080}.date-selector-widget h1{text-align:center;letter-spacing:-.2px;min-width:200px;color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.today-tag{color:var(--success);background:var(--success-dim);vertical-align:middle;text-transform:uppercase;letter-spacing:1px;border-radius:10px;margin-left:8px;padding:3px 8px;font-size:.65rem;font-weight:600;display:inline-block}.current-time-display{color:var(--text-muted);font-size:.8rem;position:absolute;top:20px;right:24px}.date-selector-widget .nav-arrow{background:0 0;border:none;width:32px;height:32px;font-size:.75rem}.date-selector-widget .nav-arrow:hover{background:var(--bg-hover)}.section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:24px;padding:24px}.section h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:16px;font-size:.65rem;font-weight:800}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2{margin-bottom:0}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state-icon{opacity:.5;margin-bottom:12px;font-size:2.5rem}.empty-state-text{font-size:.95rem}.done-tasks-list{margin-bottom:16px}.done-task-item{background:var(--success-dim);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;font-size:.9rem;display:flex}.done-task-item .checkmark{color:var(--success);font-weight:700}.done-task-item .done-text{color:var(--text-secondary)}.history-list{max-height:600px;overflow-y:auto}.history-date-group{margin-bottom:24px}.history-date-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 0;display:flex}.history-date{color:var(--text-primary);font-size:.9rem;font-weight:700}.history-count{color:var(--text-muted);background:var(--bg-elevated);border-radius:12px;padding:4px 10px;font-size:.75rem}.history-entries{flex-direction:column;gap:8px;display:flex}.history-entry{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-light);align-items:center;gap:12px;padding:10px 14px;display:flex}.history-time{color:var(--text-muted);min-width:60px;font-family:monospace;font-size:.75rem}.history-checkmark{color:var(--success);font-size:.9rem;font-weight:700}.history-text{color:var(--text-primary);flex:1;font-size:.9rem}.history-path{color:var(--text-muted);font-size:.85em}.history-level{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:4px;padding:3px 8px;font-size:.65rem}.history-notes{border-top:1px dashed var(--border-color);flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.history-note-section{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:12px 14px}.history-note-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;font-size:.7rem;font-weight:600}.history-note-content{color:var(--text-secondary);white-space:pre-wrap;font-size:.85rem;line-height:1.5}.day-group{margin-bottom:20px}.day-group-header{color:var(--accent);margin-bottom:10px;padding-left:4px;font-size:.8rem;font-weight:500}.action-item{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.drag-handle{color:var(--text-muted);letter-spacing:2px;cursor:grab;opacity:.3;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;font-size:.9rem}.action-item:hover .drag-handle{opacity:.7}.drag-handle:active{cursor:grabbing}.action-item-container[draggable=true]:hover{cursor:grab}.action-item-container.dragging{opacity:.4}.action-item-container.drag-over{border-top:2px solid var(--accent);margin-top:-2px}.action-item:hover{background:var(--bg-elevated);border-color:var(--border-light)}.action-item.high-priority{border-left:3px solid var(--accent);background:linear-gradient(to right, #ff6b350d, var(--bg-surface))}.action-item.done{opacity:.5;border-left-color:#0000!important}.action-item.done .action-text{color:var(--text-muted);text-decoration:line-through}.action-item.is-active{background:linear-gradient(to right, #00ff7f14, var(--bg-surface));border:1px solid var(--success);border-left-width:3px;position:relative;overflow:hidden;box-shadow:0 4px 15px #1ed7601a}.active-progress-bar{background:linear-gradient(to right, var(--success), #2ecc71);height:2px;box-shadow:0 0 8px var(--success);transition:width .5s ease-out;position:absolute;bottom:0;left:0}.action-checkbox{border:2px solid var(--border-light);cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-checkbox:hover{border-color:var(--accent)}.action-checkbox.checked{background:var(--success);border-color:var(--success)}.action-checkbox.checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.action-checkbox.disabled{cursor:default;opacity:.6}.action-checkbox.disabled:hover{border-color:var(--border-light)}.action-content{flex-direction:column;flex:1;gap:2px;display:flex}.action-text{color:var(--text-primary);flex:1;font-size:.95rem}.action-time-display{color:var(--text-secondary);white-space:nowrap;letter-spacing:.02em;margin-left:auto;margin-right:8px;font-size:.8rem;font-weight:500}.duration-text{color:var(--text-muted);margin-left:4px;font-weight:400}.action-delete{opacity:0;color:var(--text-muted);cursor:pointer;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:4px;font-size:1.1rem}.action-item:hover .action-delete{opacity:1}.action-delete:hover{color:var(--danger)}.action-add-subtask{opacity:0;color:var(--text-muted);cursor:pointer;transition:opacity var(--transition-fast), color var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:1.2rem;font-weight:600}.action-item:hover .action-add-subtask{opacity:1}.action-add-subtask:hover{color:var(--accent);background:var(--accent-dim)}.action-edit{opacity:0;color:var(--text-muted);cursor:pointer;transition:opacity var(--transition-fast), color var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px;font-size:1rem}.action-item:hover .action-edit{opacity:1}.action-edit:hover{color:var(--accent);background:var(--accent-dim)}.standalone-section{border-top:1px dashed var(--border-color);margin-top:24px;padding-top:16px}.standalone-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.75rem}.done-task-item{border-radius:var(--radius-sm);border-left:3px solid var(--success);transition:all var(--transition-fast);background:#1ed7600d;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 14px;display:flex}.done-task-item:hover{background:#1ed76014}.done-task-left{align-items:center;gap:12px;display:flex}.done-task-undo{opacity:0;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:4px;font-size:1rem}.done-task-item:hover .done-task-undo{opacity:1}.done-task-undo:hover{color:var(--danger);transform:scale(1.1)}.done-task-content{flex-direction:column;gap:2px;display:flex}.done-task-parent{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:4px;width:fit-content;padding:2px 8px;font-size:.7rem}.done-task-path{color:var(--text-muted);font-size:.85em}.notes-textarea{background:var(--bg-surface);border:none;border-bottom:2px solid var(--border-color);width:100%;min-height:70px;color:var(--text-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;resize:vertical;transition:all var(--transition-fast);margin-top:8px;padding:12px 14px;font-family:inherit;font-size:.9rem;line-height:1.5}.notes-textarea:focus{border-color:var(--accent);background:var(--bg-hover);box-shadow:0 4px 12px var(--accent-dim);outline:none}.notes-textarea::placeholder{color:var(--text-muted)}.action-item-container{margin-bottom:8px}.action-children{border-left:1px solid var(--border-color);flex-direction:column;gap:4px;margin-top:4px;margin-left:28px;padding-left:12px;display:flex}.action-children .action-item{background:var(--bg-surface);border:1px solid var(--border-color);margin-bottom:4px;padding:8px 12px}.action-children .action-item:hover{background:var(--bg-elevated);border-color:var(--accent-dim)}.action-children .action-text{font-size:.9rem}.action-children .action-checkbox{width:18px;height:18px}.action-unschedule{opacity:0;color:var(--text-muted);cursor:pointer;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:4px;font-size:1.1rem}.action-item:hover .action-unschedule{opacity:1}.action-unschedule:hover{color:var(--danger)}.month-panel-content{max-width:1400px;padding:32px 48px}.month-calendar-section{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);max-width:600px;margin:16px auto 32px;padding:24px}.month-goals-section{max-width:100%}.month-goals-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.month-goals-grid .goal-card{margin-bottom:0}.calendar-weekdays{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:16px;padding-bottom:8px;display:grid}.calendar-weekdays span{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-size:.6rem;font-weight:700}.calendar-days{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}.calendar-day{cursor:pointer;width:30px;height:30px;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:.8rem;display:flex;position:relative}.calendar-day:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.1)}.calendar-day.today{background:var(--accent);color:#fff;box-shadow:0 4px 10px var(--accent-dim);font-weight:700}.calendar-day.other-month{color:var(--text-faded)}.calendar-day.past{opacity:.6}.calendar-day.has-tasks:after{content:"";background:var(--accent);border-radius:50%;width:3px;height:3px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.calendar-day.today.has-tasks:after{background:#fff}.year-panel-content{width:100%;max-width:100%;padding:32px 48px}.year-layout{align-items:flex-start;gap:48px;width:100%;display:flex}.year-calendars-column{flex-shrink:0;width:40%}.year-goals-column{flex-shrink:0;width:60%}.year-goals-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.year-goals-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.year-goals-grid .goal-card{background:var(--bg-surface);margin-bottom:0}.year-mini-calendars{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.mini-calendar{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-fast);padding:12px}.mini-calendar:hover{border-color:var(--border-light);background:var(--bg-elevated);transform:translateY(-2px)}.mini-calendar.current-month{border:1px solid var(--accent);box-shadow:0 0 20px var(--accent-dim)}.mini-calendar-header{text-align:left;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.65rem;font-weight:700}.mini-calendar-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mini-day{cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:.6rem;display:flex}.mini-day:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.1)}.mini-day.today{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-dim);font-weight:700}.mini-day.has-tasks{color:var(--accent);font-weight:700;position:relative}.mini-day.has-tasks:after{content:"";background:var(--accent);border-radius:50%;width:2px;height:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.mini-day.today.has-tasks:after{background:#fff}@media (width<=1200px){.year-layout{grid-template-columns:1fr;gap:32px}.year-goals-section{position:static}.year-mini-calendars{grid-template-columns:repeat(4,1fr)}.year-goals-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1000px){.year-mini-calendars{grid-template-columns:repeat(3,1fr)}.month-goals-grid,.year-goals-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.month-goals-grid{grid-template-columns:1fr}.year-mini-calendars{grid-template-columns:repeat(2,1fr)}.year-goals-grid{grid-template-columns:1fr}.month-calendar-section{margin:12px 0 24px;padding:16px}.month-panel-content,.year-panel-content{padding:24px 16px}}@media (width<=500px){.year-mini-calendars{grid-template-columns:1fr}}.settings-modal{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.settings-modal .modal-header{border-bottom:1px solid var(--border-color);padding:20px 24px}.settings-modal .modal-header h3{color:var(--text-primary);font-size:1.2rem;font-weight:600}.settings-modal .modal-body{padding:20px 24px}.settings-group{margin-bottom:24px}.settings-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.75rem;font-weight:600}.setting-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.setting-item:last-child{border-bottom:none}.setting-info{flex:1;margin-right:16px}.setting-label{color:var(--text-primary);margin-bottom:2px;font-size:.95rem;font-weight:500}.setting-description{color:var(--text-muted);font-size:.8rem}.toggle-switch{flex-shrink:0;width:44px;height:24px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--bg-elevated);border:1px solid var(--border-light);transition:all var(--transition-fast);border-radius:24px;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:var(--text-muted);width:18px;height:18px;transition:all var(--transition-fast);border-radius:50%;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{background-color:#fff;transform:translate(20px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 2px var(--accent-dim)}.settings-modal .modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:4px}.settings-modal .modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}
