.datetime-picker[data-v-c3370608],.date-input-wrapper[data-v-c3370608]{position:relative}.datetime-input[data-v-c3370608]{width:100%;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;padding:.75rem 2.5rem .75rem 1rem;cursor:pointer;transition:all .3s ease}.datetime-input[data-v-c3370608]:hover{border-color:var(--primary-color)}.datetime-input[data-v-c3370608]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.clear-btn[data-v-c3370608]{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:4px;opacity:.6;transition:opacity .2s}.clear-btn[data-v-c3370608]:hover{opacity:1}.picker-overlay[data-v-c3370608]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000}.picker-card[data-v-c3370608]{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem;width:340px;box-shadow:0 20px 60px #0006}.picker-header[data-v-c3370608]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.nav-btn[data-v-c3370608]{background:#00d9ff1a;border:1px solid var(--border-color);color:var(--text-primary);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn[data-v-c3370608]:hover{background:#00d9ff33;border-color:var(--primary-color)}.picker-title[data-v-c3370608]{flex:1;text-align:center;font-weight:600;color:var(--text-primary)}.close-btn[data-v-c3370608]{background:transparent;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:4px}.close-btn[data-v-c3370608]:hover{background:#ffffff1a;color:var(--text-primary)}.weekdays[data-v-c3370608]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.5rem}.weekday[data-v-c3370608]{text-align:center;font-size:.8rem;font-weight:600;color:var(--text-secondary);padding:.5rem 0}.days-grid[data-v-c3370608]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.day-cell[data-v-c3370608]{text-align:center;padding:.6rem .25rem;font-size:.9rem;color:var(--text-primary);border-radius:8px;cursor:pointer;transition:all .2s ease}.day-cell[data-v-c3370608]:hover:not(.other-month){background:#00d9ff26}.day-cell.other-month[data-v-c3370608]{color:var(--text-secondary);opacity:.3;cursor:default}.day-cell.today[data-v-c3370608]{background:#8b5cf626;font-weight:600}.day-cell.selected[data-v-c3370608]{background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));color:#fff;font-weight:600}.time-section[data-v-c3370608]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.time-header[data-v-c3370608]{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.time-inputs[data-v-c3370608]{display:flex;align-items:center;justify-content:center;gap:.5rem}.time-select[data-v-c3370608]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1.1rem;padding:.5rem .75rem;cursor:pointer;text-align:center}.time-select[data-v-c3370608]:focus{outline:none;border-color:var(--primary-color)}.time-separator[data-v-c3370608]{font-size:1.2rem;font-weight:600;color:var(--primary-color)}.picker-footer[data-v-c3370608]{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-today[data-v-c3370608],.btn-confirm[data-v-c3370608]{flex:1;padding:.75rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-today[data-v-c3370608]{background:#00d9ff1a;border:1px solid var(--border-color);color:var(--text-primary)}.btn-today[data-v-c3370608]:hover{background:#00d9ff33;border-color:var(--primary-color)}.btn-confirm[data-v-c3370608]{background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));border:none;color:#fff}.btn-confirm[data-v-c3370608]:hover{transform:translateY(-1px);box-shadow:0 4px 15px #00d9ff4d}.add-todo-container[data-v-e978da05]{text-align:left}.add-btn[data-v-e978da05]{width:100%;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;padding:1rem 1.5rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #00d9ff4d;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-btn[data-v-e978da05]:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00d9ff66}.add-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.date-input{width:100%;cursor:pointer}select.priority-select{background:linear-gradient(135deg,#8b5cf626,#ec489926);border:1px solid rgba(139,92,246,.4);border-radius:8px;color:#a78bfa;font-size:.95rem;padding:.75rem 2.5rem .75rem 1rem;cursor:pointer;transition:all .3s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2300d9ff' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.modal-content{max-height:85vh}}.filter-buttons[data-v-7c160c1e]{display:flex;gap:.75rem}.filter-btn[data-v-7c160c1e]{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);background:var(--card-bg-solid);border-radius:10px;cursor:pointer;font-size:.95rem;color:var(--text-secondary);transition:all .3s ease;font-weight:500}.filter-btn[data-v-7c160c1e]:hover{border-color:var(--primary-color);color:var(--text-primary);transform:translateY(-1px)}.filter-btn.active[data-v-7c160c1e]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px #00d9ff4d}.todo-list-card h2[data-v-c0d643c3]{color:var(--text-primary);margin-bottom:1.25rem;font-size:1.4rem;font-weight:600}.count[data-v-c0d643c3]{color:var(--text-secondary);font-weight:400;font-size:1rem}.date-btn[data-v-c0d643c3]{background:#00d9ff1a;border:1px solid var(--primary-color);color:var(--primary-color);padding:.3rem .8rem;border-radius:20px;font-size:1rem;font-weight:400;margin-left:.5rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.3rem}.date-btn[data-v-c0d643c3]:hover{background:#00d9ff33;transform:scale(1.05)}.empty-state[data-v-c0d643c3]{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.timeline[data-v-c0d643c3]{position:relative;padding-left:80px}.timeline[data-v-c0d643c3]:before{content:"";position:absolute;left:40px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary-color),var(--accent-purple));opacity:.3}.timeline-item[data-v-c0d643c3]{position:relative;margin-bottom:1.5rem!important;display:flex;align-items:flex-start}.timeline-item[data-v-c0d643c3]:last-child{margin-bottom:0}.timeline-time[data-v-c0d643c3]{position:absolute;left:-80px;width:70px;text-align:right;padding-right:8px}.time-hour[data-v-c0d643c3]{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.timeline-dot[data-v-c0d643c3]{position:absolute;left:-46px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--border-color);border:2px solid var(--card-bg-solid);transition:all .3s ease}.timeline-dot.nearest-dot[data-v-c0d643c3]{background:#fbbf24;box-shadow:0 0 0 4px #fbbf244d}.timeline-item.completed .timeline-dot[data-v-c0d643c3]{background:var(--text-secondary);opacity:.5}.timeline-content[data-v-c0d643c3]{flex:1;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem 1.25rem 1.25rem 2.5rem;transition:all .3s ease;position:relative}.timeline-item.is-nearest[data-v-c0d643c3]{transform:scale(1.02)}.timeline-item.is-nearest .timeline-content[data-v-c0d643c3]{border-color:#fbbf24;box-shadow:0 0 20px #fbbf2466;animation:pulse-c0d643c3 2s infinite}@keyframes pulse-c0d643c3{0%{box-shadow:0 0 #fbbf2466}70%{box-shadow:0 0 0 10px #fbbf2400}to{box-shadow:0 0 #fbbf2400}}.timeline-item.completed .timeline-content[data-v-c0d643c3]{opacity:.6}.timeline-item:hover .timeline-content[data-v-c0d643c3]{border-color:var(--primary-color);box-shadow:0 8px 25px #00d9ff26}.timeline-item.is-nearest:hover .timeline-content[data-v-c0d643c3]{box-shadow:0 8px 30px #fbbf2480}.todo-header[data-v-c0d643c3]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.checkbox-container[data-v-c0d643c3]{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.checkbox-container input[data-v-c0d643c3]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color)}.todo-title-wrapper[data-v-c0d643c3]{flex:1;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.todo-title[data-v-c0d643c3]{font-size:1.1rem;font-weight:500;color:var(--text-primary)}.todo-title.completed[data-v-c0d643c3]{text-decoration:line-through;color:var(--text-secondary)}.priority-badge[data-v-c0d643c3]{padding:.25rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.priority-low[data-v-c0d643c3]{background-color:#6b7280}.priority-medium[data-v-c0d643c3]{background-color:var(--primary-color)}.priority-high[data-v-c0d643c3]{background-color:#f59e0b}.priority-urgent[data-v-c0d643c3]{background-color:#ef4444}.btn-edit[data-v-c0d643c3]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);font-size:1rem;cursor:pointer;padding:.4rem .6rem;border-radius:8px;transition:all .3s ease;opacity:.8;margin-right:.5rem}.btn-edit[data-v-c0d643c3]:hover{background:#3b82f633;border-color:#3b82f699;opacity:1;transform:scale(1.05)}.btn-delete[data-v-c0d643c3]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);font-size:1rem;cursor:pointer;padding:.4rem .6rem;border-radius:8px;transition:all .3s ease;opacity:.8}.btn-delete[data-v-c0d643c3]:hover{background:#ef444433;border-color:#ef444499;opacity:1;transform:scale(1.05)}.todo-description[data-v-c0d643c3]{color:var(--text-secondary);font-size:.9rem;margin:.5rem 0;padding-left:28px;line-height:1.6}.todo-due-full[data-v-c0d643c3]{color:var(--primary-color);font-size:.85rem}.todo-meta[data-v-c0d643c3]{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-secondary);opacity:.6;padding-left:28px;margin-top:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.4rem;font-weight:600}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;border-radius:50%;transition:all .2s ease;padding:0;line-height:1}.close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.edit-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.required{color:var(--accent-pink)}input,textarea,select{padding:.875rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;font-size:1rem;color:var(--text-primary);transition:all .3s ease;font-family:inherit}input::placeholder,textarea::placeholder{color:#fff6}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}input[type=datetime-local]{background:linear-gradient(135deg,#00d9ff1a,#8b5cf61a);border:1px solid rgba(0,217,255,.4);border-radius:8px;color:var(--primary-color);font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease;cursor:pointer}input[type=datetime-local]:hover{border-color:var(--primary-color);box-shadow:0 0 15px #00d9ff4d,inset 0 0 10px #00d9ff1a}input[type=datetime-local]:focus{border-color:var(--primary-color);box-shadow:0 0 20px #00d9ff80,0 0 5px #00d9ff4d;background:linear-gradient(135deg,#00d9ff26,#8b5cf626)}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{background:#00d9ff4d;transform:scale(1.1)}select.priority-select{background:linear-gradient(135deg,#8b5cf626,#ec489926);border:1px solid rgba(139,92,246,.4);border-radius:8px;color:#a78bfa;font-size:.95rem;padding:.75rem 2.5rem .75rem 1rem;cursor:pointer;transition:all .3s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2300d9ff' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}select.priority-select:hover{border-color:#a78bfa;box-shadow:0 0 15px #8b5cf666,inset 0 0 10px #8b5cf61a;background:linear-gradient(135deg,#8b5cf633,#ec489933)}select.priority-select:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 20px #8b5cf680,0 0 5px #8b5cf64d}.date-picker-wrapper{border-radius:8px;overflow:hidden}.date-picker-wrapper :deep(input){background:linear-gradient(135deg,#00d9ff1a,#8b5cf61a)!important;border:1px solid rgba(0,217,255,.4)!important;border-radius:8px!important;color:#00d9ff!important;font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease;box-shadow:0 0 10px #00d9ff1a}.date-picker-wrapper :deep(input:hover){border-color:#00d9ff!important;box-shadow:0 0 20px #00d9ff4d,inset 0 0 10px #00d9ff1a}.date-picker-wrapper :deep(input:focus){border-color:#00d9ff!important;box-shadow:0 0 25px #00d9ff80,0 0 10px #8b5cf64d;outline:none;background:linear-gradient(135deg,#00d9ff26,#8b5cf626)!important}.date-picker-wrapper :deep(.vc-popover){background:#0a0a1ef2!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,217,255,.3)!important;border-radius:12px!important;box-shadow:0 0 30px #00d9ff4d,0 0 60px #8b5cf633,0 20px 60px #00000080!important}.date-picker-wrapper :deep(.vc-popover-content){background:transparent!important}.date-picker-wrapper :deep(.vc-header){background:linear-gradient(135deg,#00d9ff33,#8b5cf633)!important;padding:.75rem!important}.date-picker-wrapper :deep(.vc-title){color:#00d9ff!important;font-weight:600;letter-spacing:1px}.date-picker-wrapper :deep(.vc-nav-button){background:#00d9ff33!important;border:1px solid rgba(0,217,255,.4)!important;border-radius:6px!important;color:#00d9ff!important;transition:all .3s ease}.date-picker-wrapper :deep(.vc-nav-button:hover){background:#00d9ff66!important;box-shadow:0 0 15px #00d9ff80;transform:scale(1.05)}.date-picker-wrapper :deep(.vc-weekday){color:#a78bfa!important;font-weight:600;letter-spacing:1px}.date-picker-wrapper :deep(.vc-day-content){color:#e0e0e0!important;font-weight:500;border-radius:6px;transition:all .2s ease}.date-picker-wrapper :deep(.vc-day-content:hover){background:#00d9ff4d!important;color:#fff!important;box-shadow:0 0 10px #00d9ff80}.date-picker-wrapper :deep(.vc-highlight){background:linear-gradient(135deg,#00d9ff,#8b5cf6)!important;border-radius:8px!important;box-shadow:0 0 15px #00d9ff80}.date-picker-wrapper :deep(.vc-highlight-content-solid){color:#fff!important;font-weight:700}.date-picker-wrapper :deep(.vc-time-picker){border-top:1px solid rgba(0,217,255,.3)!important;background:#0003!important}.date-picker-wrapper :deep(.vc-time-icon){color:#00d9ff!important}.date-picker-wrapper :deep(input[type="text"]){background:#00d9ff1a!important;border:1px solid rgba(0,217,255,.4)!important;color:#00d9ff!important;border-radius:6px!important}.date-picker-wrapper :deep(.vc-date-time-btn-right),.date-picker-wrapper :deep(.vc-date-time-btn-left){color:#00d9ff!important}.date-picker-wrapper :deep(.vc-clear){color:#ff6b6b!important}.date-picker-wrapper :deep(.vc-disabled .vc-day-content){color:#555!important;opacity:.5}select.priority-select option{background:#1a1a2e;color:#fff;padding:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding-top:.5rem}.btn-cancel{padding:.875rem 1.5rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-submit{padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d9ff4d}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.mobile-action-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:10000}.mobile-action-sheet{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px 16px 0 0;padding:1rem;width:100%;max-width:500px;display:flex;flex-direction:column;gap:.5rem;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-btn{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#00d9ff1a;border-color:var(--primary-color)}.action-btn:active{transform:scale(.98)}.action-btn.delete{color:#ef4444}.action-btn.delete:hover{background:#ef44441a;border-color:#ef4444}.action-icon{font-size:1.2rem}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.modal-content{max-height:85vh}.timeline-item{margin-bottom:.8rem!important}.checkbox-container,.btn-edit,.btn-delete{display:none!important}.timeline-content{padding-left:.5rem!important;padding-top:1.5rem!important;padding-bottom:1.5rem!important}.todo-description{padding-left:.5rem!important}.todo-meta{padding-left:.5rem!important;text-align:left}.todo-title{text-align:left;padding-left:.5rem!important}.priority-badge{margin-left:.5rem!important}}.section-title[data-v-bd0e0374]{margin-top:0;margin-bottom:1.25rem;color:var(--text-primary);font-size:1.4rem;font-weight:600}.stats-cards[data-v-bd0e0374]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-card[data-v-bd0e0374]{text-align:center;padding:1rem .5rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.stat-card[data-v-bd0e0374]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.stat-card.total[data-v-bd0e0374]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff}.stat-card.completed[data-v-bd0e0374]{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.stat-card.pending[data-v-bd0e0374]{background:linear-gradient(135deg,var(--accent-purple),#a78bfa);color:#fff}.stat-number[data-v-bd0e0374]{font-size:1.8rem;font-weight:700;line-height:1;margin-bottom:.3rem}.stat-label[data-v-bd0e0374]{font-size:.8rem;opacity:.9}.completion-rate[data-v-bd0e0374]{margin-bottom:1.5rem}.rate-label[data-v-bd0e0374]{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.rate-bar[data-v-bd0e0374]{height:20px;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;margin-bottom:.5rem}.rate-fill[data-v-bd0e0374]{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-hover));transition:width .5s ease;border-radius:10px}.rate-value[data-v-bd0e0374]{text-align:right;font-weight:700;color:var(--primary-color)}.priority-stats[data-v-bd0e0374]{margin-bottom:1.5rem}.priority-stats h4[data-v-bd0e0374]{margin-top:0;margin-bottom:.8rem;color:var(--text-primary);font-size:1rem}.priority-item[data-v-bd0e0374]{display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.priority-label[data-v-bd0e0374]{width:60px;font-size:.85rem;font-weight:700}.priority-label.high[data-v-bd0e0374]{color:#ef4444}.priority-label.medium[data-v-bd0e0374]{color:#f59e0b}.priority-label.low[data-v-bd0e0374]{color:#10b981}.priority-bar[data-v-bd0e0374]{flex:1;height:16px;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.priority-fill[data-v-bd0e0374]{height:100%;transition:width .5s ease}.priority-fill.high[data-v-bd0e0374]{background:#ef4444}.priority-fill.medium[data-v-bd0e0374]{background:#f59e0b}.priority-fill.low[data-v-bd0e0374]{background:#10b981}.priority-count[data-v-bd0e0374]{width:30px;text-align:right;font-weight:700;color:var(--text-secondary)}.daily-trend[data-v-bd0e0374]{margin-top:1.5rem}.daily-trend h4[data-v-bd0e0374]{margin-top:0;margin-bottom:.8rem;color:var(--text-primary);font-size:1rem}.trend-chart[data-v-bd0e0374]{width:100%;height:auto;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:12px;padding:.5rem;box-sizing:border-box;display:block}.data-point[data-v-bd0e0374]{transition:r .2s ease}.data-point[data-v-bd0e0374]:hover{r:6}.trend-legend[data-v-bd0e0374]{margin-top:.5rem;text-align:center}.legend-item[data-v-bd0e0374]{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.legend-color[data-v-bd0e0374]{width:24px;height:12px;border-radius:3px}.x-labels text[data-v-bd0e0374]{font-family:inherit}.app-container[data-v-07887e89]{min-height:100vh;padding-bottom:2rem}.app-header[data-v-07887e89]{background:linear-gradient(135deg,#ec489926,#8b5cf626);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:2.5rem 1rem;text-align:center;position:relative;overflow:hidden}.app-header[data-v-07887e89]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-pink),transparent)}.app-header h1[data-v-07887e89]{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--accent-pink),var(--accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}.app-header p[data-v-07887e89]{opacity:.8;font-size:1.1rem;font-weight:300}.main-content[data-v-07887e89]{max-width:1400px;margin:2rem auto 0;padding:0 1rem}.content-wrapper[data-v-07887e89]{display:grid;grid-template-columns:380px 1fr;gap:2rem;align-items:start}.left-panel[data-v-07887e89]{position:sticky;top:2rem}.right-panel[data-v-07887e89]{min-width:0}.panel-card[data-v-07887e89]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);transition:all .3s ease;position:relative;overflow:hidden}.panel-card[data-v-07887e89]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-pink),transparent)}.panel-card[data-v-07887e89]:hover{border-color:var(--accent-pink);box-shadow:0 12px 48px #ec489933}.progress-section[data-v-07887e89]{text-align:center}.progress-circle[data-v-07887e89]{position:relative;width:160px;height:160px;margin:0 auto 1.5rem}.progress-circle svg[data-v-07887e89]{transform:rotate(-90deg);width:100%;height:100%}.progress-bg[data-v-07887e89]{fill:none;stroke:#ffffff1a;stroke-width:8}.progress-bar[data-v-07887e89]{fill:none;stroke:url(#giftGradient);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.progress-text[data-v-07887e89]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-percent[data-v-07887e89]{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-pink),var(--accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.progress-label[data-v-07887e89]{font-size:1.2rem;color:var(--text-secondary)}.progress-info h3[data-v-07887e89]{font-size:1.2rem;margin-bottom:.5rem;color:var(--text-primary)}.progress-info p[data-v-07887e89]{color:var(--text-secondary);margin:.25rem 0}.highlight[data-v-07887e89]{color:var(--accent-pink);font-weight:600}.congrats-message[data-v-07887e89]{color:var(--accent-pink)!important;font-weight:600;margin-top:1rem!important;animation:pulse-07887e89 1.5s infinite}@keyframes pulse-07887e89{0%,to{opacity:1}50%{opacity:.7}}.category-summary h3[data-v-07887e89]{font-size:1.1rem;margin-bottom:1rem;color:var(--text-primary)}.category-item[data-v-07887e89]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.category-item[data-v-07887e89]:last-child{border-bottom:none}.category-name[data-v-07887e89]{color:var(--text-primary)}.category-count[data-v-07887e89]{color:var(--accent-purple)}.list-header[data-v-07887e89]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.list-header h3[data-v-07887e89]{font-size:1.2rem;color:var(--text-primary)}.btn-add[data-v-07887e89]{background:linear-gradient(135deg,var(--accent-pink),var(--accent-purple));border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-add[data-v-07887e89]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ec489966}.add-form[data-v-07887e89]{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap;align-items:center}.input-field[data-v-07887e89]{flex:1;min-width:150px;padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem}.input-field[data-v-07887e89]:focus{outline:none;border-color:var(--accent-pink)}.input-field[data-v-07887e89]::placeholder{color:var(--text-secondary)}.select-field[data-v-07887e89]{flex:1;min-width:150px;padding:.75rem 2.5rem .75rem 1rem;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.select-field[data-v-07887e89]:focus{outline:none;border-color:var(--accent-pink)}.select-field option[data-v-07887e89]{background:var(--bg-secondary);color:var(--text-primary)}.btn-submit[data-v-07887e89]{background:linear-gradient(135deg,var(--accent-pink),var(--accent-purple));border:none;color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .3s ease}.btn-submit[data-v-07887e89]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ec489966}.gift-list[data-v-07887e89]{display:flex;flex-direction:column;gap:.75rem}.gift-item[data-v-07887e89]{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff08;border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease}.gift-item[data-v-07887e89]:hover{background:#ffffff0f;border-color:var(--accent-pink)}.gift-item.completed[data-v-07887e89]{opacity:.6}.gift-item.completed .gift-name[data-v-07887e89]{text-decoration:line-through;color:var(--text-secondary)}.gift-item.editing[data-v-07887e89]{background:#ec48991a;border-color:var(--accent-pink)}.edit-form[data-v-07887e89]{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;width:100%}.edit-form .input-field[data-v-07887e89],.edit-form .select-field[data-v-07887e89]{min-width:120px}.btn-save[data-v-07887e89]{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-save[data-v-07887e89]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #10b98166}.btn-cancel[data-v-07887e89]{background:#ffffff1a;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-cancel[data-v-07887e89]:hover{background:#ffffff26;color:var(--text-primary)}.checkbox-wrapper[data-v-07887e89]{position:relative;display:flex;align-items:center;cursor:pointer}.checkbox-wrapper input[data-v-07887e89]{position:absolute;opacity:0;cursor:pointer}.checkmark[data-v-07887e89]{width:24px;height:24px;border:2px solid var(--border-color);border-radius:6px;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.checkbox-wrapper input:checked~.checkmark[data-v-07887e89]{background:linear-gradient(135deg,var(--accent-pink),var(--accent-purple));border-color:var(--accent-pink)}.checkbox-wrapper input:checked~.checkmark[data-v-07887e89]:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.gift-info[data-v-07887e89]{flex:1;cursor:pointer}.gift-name[data-v-07887e89]{display:block;font-size:1rem;color:var(--text-primary);font-weight:500}.gift-category[data-v-07887e89]{display:block;font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.btn-edit[data-v-07887e89]{background:transparent;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:.25rem .5rem;transition:color .3s ease}.btn-edit[data-v-07887e89]:hover{color:var(--accent-purple)}.btn-delete[data-v-07887e89]{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:0 .5rem;transition:color .3s ease}.btn-delete[data-v-07887e89]:hover{color:var(--accent-pink)}.empty-state[data-v-07887e89]{text-align:center;padding:2rem;color:var(--text-secondary)}.btn-init[data-v-07887e89]{background:linear-gradient(135deg,var(--accent-pink),var(--accent-purple));border:none;color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;margin-top:1rem;transition:all .3s ease}.btn-init[data-v-07887e89]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ec489966}@media (max-width: 1024px){.content-wrapper[data-v-07887e89]{grid-template-columns:1fr}.left-panel[data-v-07887e89]{position:static}.app-header h1[data-v-07887e89]{font-size:2rem}}.node-detail-page[data-v-ec7f6b76]{min-height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--card-bg)}.detail-header[data-v-ec7f6b76]{padding:1rem;display:flex;justify-content:flex-end;position:sticky;top:0;background:var(--card-bg);z-index:10}.edit-btn[data-v-ec7f6b76]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.edit-btn[data-v-ec7f6b76]:hover{background:#3b82f633}.content-view[data-v-ec7f6b76]{flex:1;padding:1rem;max-width:800px;margin:0 auto;width:100%}.link-content[data-v-ec7f6b76]{display:flex;flex-direction:column;gap:.75rem}.link-label[data-v-ec7f6b76]{color:var(--text-secondary);font-size:.9rem}.link-url[data-v-ec7f6b76]{color:var(--primary-color);font-size:1rem;word-break:break-all;text-decoration:underline}.note-content[data-v-ec7f6b76]{color:var(--text-primary);font-size:1rem;line-height:1.8;white-space:pre-wrap;word-break:break-word}.note-content[data-v-ec7f6b76] .code-block{background:#1e1e1e;border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin:1rem 0;overflow-x:auto;white-space:pre;font-family:Consolas,Monaco,monospace;font-size:.9rem;color:#d4d4d4}.note-content[data-v-ec7f6b76] .inline-code{background:#00d9ff1a;border:1px solid var(--border-color);border-radius:4px;padding:.125rem .375rem;font-family:Consolas,Monaco,monospace;font-size:.9em;color:var(--primary-color)}.empty-content[data-v-ec7f6b76]{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.btn-add-note[data-v-ec7f6b76]{background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));color:#fff;border:none;padding:.875rem 1.5rem;border-radius:10px;font-size:1rem;cursor:pointer;margin-top:1rem}.content-edit[data-v-ec7f6b76]{flex:1;padding:1rem;max-width:800px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1rem}.form-group[data-v-ec7f6b76]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-ec7f6b76]{font-size:.9rem;color:var(--text-secondary);font-weight:500}select[data-v-ec7f6b76],input[data-v-ec7f6b76],textarea[data-v-ec7f6b76]{padding:.875rem 1rem;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:10px;font-size:1rem;color:var(--text-primary);font-family:inherit}.note-textarea[data-v-ec7f6b76]{resize:vertical;min-height:200px;font-family:inherit;line-height:1.6}.link-input[data-v-ec7f6b76]{font-size:1rem}.detail-footer[data-v-ec7f6b76]{padding:1rem;display:flex;gap:1rem;justify-content:center;border-top:1px solid var(--border-color);background:var(--card-bg);position:sticky;bottom:0}.btn-back[data-v-ec7f6b76]{padding:.875rem 2rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-back[data-v-ec7f6b76]:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-save[data-v-ec7f6b76]{padding:.875rem 2rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save[data-v-ec7f6b76]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d9ff4d}.btn-save[data-v-ec7f6b76]:disabled{opacity:.6;cursor:not-allowed}.architecture-page[data-v-428d22f3]{min-height:100vh;background:var(--card-bg)}.page-header[data-v-428d22f3]{background:linear-gradient(135deg,#8b5cf633,#a78bfa33);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;position:sticky;top:0;z-index:100}.header-content[data-v-428d22f3]{max-width:800px;margin:0 auto}.page-header h1[data-v-428d22f3]{color:var(--text-primary);margin:0;font-size:1.5rem;text-align:center}.back-btn[data-v-428d22f3]{background:#ffffff1a;border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:1rem}.search-container[data-v-428d22f3]{padding:1rem;max-width:800px;margin:0 auto}.search-input[data-v-428d22f3]{width:100%;padding:.875rem 1rem;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:12px;font-size:1rem;color:var(--text-primary)}.search-input[data-v-428d22f3]::placeholder{color:var(--text-secondary)}.stats-container[data-v-428d22f3]{margin:1rem 0;padding:2rem 1.5rem 1.5rem;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px}.stats-header[data-v-428d22f3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.stats-header h3[data-v-428d22f3]{margin:0;color:var(--text-primary);font-size:1.1rem}.stats-info[data-v-428d22f3]{color:var(--text-secondary);font-size:.9rem}.chart-wrapper[data-v-428d22f3]{display:flex;align-items:stretch;justify-content:center;gap:.75rem;min-height:120px;margin-bottom:.5rem;padding:1rem 2rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.chart-wrapper[data-v-428d22f3]::-webkit-scrollbar{height:6px}.chart-wrapper[data-v-428d22f3]::-webkit-scrollbar-track{background:#00d9ff1a;border-radius:3px}.chart-wrapper[data-v-428d22f3]::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#00d9ff66,#8b5cf666);border-radius:3px}.chart-wrapper[data-v-428d22f3]::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#00d9ff99,#8b5cf699)}.chart-bar-container[data-v-428d22f3]{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.5rem;min-width:50px;width:50px;height:120px;position:relative}.chart-bar[data-v-428d22f3]{width:40px;background:#ffffff14;border-radius:4px 4px 0 0;position:relative;height:100%;display:flex;justify-content:center;align-items:flex-start}.chart-bar.zero-count[data-v-428d22f3]{background:transparent}.chart-bar-fill[data-v-428d22f3]{width:100%;min-height:4px;background:linear-gradient(180deg,#00d9ffb3,#8b5cf6b3);border-radius:4px 4px 0 0;transition:height .3s ease;position:absolute;bottom:0;left:0}.bar-count[data-v-428d22f3]{position:absolute;top:4px;left:50%;transform:translate(-50%);font-size:.75rem;color:#fffffff2;font-weight:600;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5)}.bar-label[data-v-428d22f3]{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.tree-container[data-v-428d22f3]{max-width:800px;margin:0 auto;padding:0 1rem 2rem}.loading-state[data-v-428d22f3],.empty-state[data-v-428d22f3]{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.btn-init[data-v-428d22f3]{background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));color:#fff;border:none;padding:.875rem 1.5rem;border-radius:10px;font-size:1rem;cursor:pointer;margin-top:1rem}.tree-list[data-v-428d22f3]{display:flex;flex-direction:column;gap:.5rem}.node-item[data-v-428d22f3]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease}.node-item[data-v-428d22f3]:hover{border-color:var(--primary-color);background:#00d9ff0d}.node-item.learned[data-v-428d22f3]{border-left:3px solid #10b981}.learned-dot[data-v-428d22f3]{width:10px;height:10px;border-radius:50%;background:var(--border-color);flex-shrink:0}.learned-dot.active[data-v-428d22f3]{background:#10b981;box-shadow:0 0 8px #10b98180}.expand-icon[data-v-428d22f3]{font-size:.6rem;color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0}.expand-icon.expanded[data-v-428d22f3]{transform:rotate(90deg)}.expand-placeholder[data-v-428d22f3]{width:.85rem;flex-shrink:0}.node-title[data-v-428d22f3]{flex:1;color:var(--text-primary);font-size:1rem}.child-count[data-v-428d22f3]{background:#8b5cf633;color:var(--accent-purple);padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.children-container[data-v-428d22f3]{margin-left:1.5rem;padding-left:.5rem;border-left:2px solid var(--border-color);margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.child-node .node-item[data-v-428d22f3]{padding:.875rem 1rem}.grandchild-node .node-item[data-v-428d22f3]{padding:.75rem 1rem;background:transparent}.context-menu-overlay[data-v-428d22f3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center}.context-menu[data-v-428d22f3]{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;min-width:200px;box-shadow:0 10px 40px #00000080}.context-menu button[data-v-428d22f3]{width:100%;padding:1rem;background:none;border:none;color:var(--text-primary);font-size:1rem;text-align:left;cursor:pointer;transition:background .2s ease}.context-menu button[data-v-428d22f3]:hover{background:#00d9ff1a}.context-menu button.danger[data-v-428d22f3]{color:#ef4444}.context-menu button.danger[data-v-428d22f3]:hover{background:#ef44441a}.modal-overlay[data-v-428d22f3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-content[data-v-428d22f3]{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header[data-v-428d22f3]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-428d22f3]{margin:0;color:var(--text-primary);font-size:1.3rem}.close-btn[data-v-428d22f3]{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem}.close-btn[data-v-428d22f3]:hover{color:var(--text-primary)}.edit-form[data-v-428d22f3]{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-428d22f3]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-428d22f3]{font-size:.9rem;color:var(--text-secondary);font-weight:500}.required[data-v-428d22f3]{color:var(--accent-pink)}input[data-v-428d22f3],textarea[data-v-428d22f3],select[data-v-428d22f3]{padding:.875rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;font-size:1rem;color:var(--text-primary);font-family:inherit}input[data-v-428d22f3]::placeholder,textarea[data-v-428d22f3]::placeholder{color:#fff6}input[data-v-428d22f3]:focus,textarea[data-v-428d22f3]:focus,select[data-v-428d22f3]:focus{outline:none;border-color:var(--primary-color)}.modal-footer[data-v-428d22f3]{display:flex;gap:1rem;justify-content:flex-end;padding-top:.5rem}.btn-cancel[data-v-428d22f3]{padding:.875rem 1.5rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;font-size:1rem;cursor:pointer}.btn-submit[data-v-428d22f3]{padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer}.btn-submit[data-v-428d22f3]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.chart-wrapper[data-v-428d22f3]{gap:.5rem;padding:1rem}.bar-label[data-v-428d22f3]{font-size:.7rem}.chart-bar[data-v-428d22f3]{width:32px}.chart-bar-container[data-v-428d22f3]{width:40px;min-width:40px}}.architecture-main[data-v-428d22f3]{width:100%;max-width:1600px;margin:0 auto;padding:0 1rem}.progress-overview[data-v-428d22f3]{display:flex;gap:1rem;margin:1rem 0}.progress-overview[data-v-428d22f3]>*{flex:1}.progress-overview[data-v-428d22f3]>*:first-child{flex:2}.progress-card[data-v-428d22f3]{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem}.progress-card.main-progress[data-v-428d22f3]{padding:1.5rem}.progress-icon[data-v-428d22f3]{font-size:2rem;filter:drop-shadow(0 0 8px rgba(0,217,255,.5))}.progress-info[data-v-428d22f3]{flex:1;min-width:0}.progress-info h3[data-v-428d22f3]{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary);font-weight:500}.progress-stats[data-v-428d22f3]{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.75rem}.stat-number[data-v-428d22f3]{font-size:2rem;font-weight:700;color:var(--primary-color)}.stat-divider[data-v-428d22f3],.stat-total[data-v-428d22f3]{font-size:1.5rem;color:var(--text-secondary)}.stat-label[data-v-428d22f3]{font-size:.85rem;color:var(--text-secondary);margin-left:.25rem}.stat-number-lg[data-v-428d22f3]{font-size:2rem;font-weight:700;color:var(--accent-purple)}.progress-bar-container[data-v-428d22f3]{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-bar[data-v-428d22f3]{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-purple));border-radius:4px;transition:width .5s ease}.progress-percent[data-v-428d22f3]{font-size:.85rem;color:var(--text-secondary)}.chapters-grid[data-v-428d22f3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem;margin:1.5rem 0}.chapter-card[data-v-428d22f3]{background:var(--card-bg-solid);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem;cursor:pointer;transition:all .3s ease}.chapter-card[data-v-428d22f3]:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.chapter-card.expanded[data-v-428d22f3]{border-color:var(--primary-color);background:#00d9ff0d}.chapter-card.learned[data-v-428d22f3]{border-left:3px solid #10b981}.chapter-header[data-v-428d22f3]{display:flex;align-items:flex-start;gap:.75rem}.chapter-status[data-v-428d22f3]{font-size:1.25rem;line-height:1}.status-badge[data-v-428d22f3]{display:inline-block;width:24px;height:24px;border-radius:50%;text-align:center;line-height:24px;font-size:.9rem}.status-badge.completed[data-v-428d22f3]{background:#10b98133;color:#10b981}.status-badge.pending[data-v-428d22f3]{background:#ffffff1a;color:var(--text-secondary)}.chapter-title[data-v-428d22f3]{flex:1;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.4}.chapter-count[data-v-428d22f3]{font-size:.75rem;color:var(--text-secondary);background:#8b5cf633;padding:.25rem .5rem;border-radius:8px;white-space:nowrap}.chapter-children[data-v-428d22f3]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.chapter-children .child-item[data-v-428d22f3]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:background .2s ease}.chapter-children .child-item[data-v-428d22f3]:hover{background:#00d9ff1a}.chapter-children .child-item.has-grandchildren[data-v-428d22f3]{font-weight:500}.chapter-children .child-item.child-expanded[data-v-428d22f3]{background:#00d9ff14}.chapter-children .learned-dot[data-v-428d22f3]{width:8px;height:8px;border-radius:50%;background:var(--border-color);flex-shrink:0}.chapter-children .learned-dot.active[data-v-428d22f3]{background:#10b981}.chapter-children .child-title[data-v-428d22f3]{flex:1;font-size:.9rem;color:var(--text-primary)}.expand-icon-small[data-v-428d22f3]{font-size:.6rem;color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0}.expand-icon-small.expanded[data-v-428d22f3]{transform:rotate(90deg)}.child-count-badge[data-v-428d22f3]{font-size:.7rem;color:var(--text-secondary);background:#8b5cf633;padding:.125rem .375rem;border-radius:6px}.grandchildren-container[data-v-428d22f3]{margin-left:1.5rem;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.1);margin-top:.25rem;display:flex;flex-direction:column;gap:.25rem}.grandchild-item[data-v-428d22f3]{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:6px;cursor:pointer;transition:background .2s ease}.grandchild-item[data-v-428d22f3]:hover{background:#00d9ff1a}.grandchild-title[data-v-428d22f3]{font-size:.85rem;color:var(--text-primary)}@media (max-width: 768px){.architecture-main[data-v-428d22f3]{padding:0}.progress-overview[data-v-428d22f3]{flex-direction:column}.chapters-grid[data-v-428d22f3]{grid-template-columns:1fr}}.calendar-popup[data-v-f1b65383]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.calendar-popup.visible[data-v-f1b65383]{opacity:1;pointer-events:all}.calendar-overlay[data-v-f1b65383]{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.calendar-card[data-v-f1b65383]{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 50px #0000004d;width:360px;max-width:90vw}.calendar-header[data-v-f1b65383]{display:flex;align-items:center;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.calendar-nav-btn[data-v-f1b65383]{background:#00d9ff1a;border:1px solid var(--border-color);color:var(--text-primary);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.calendar-nav-btn[data-v-f1b65383]:hover{background:#00d9ff33;border-color:var(--primary-color)}.calendar-nav-btn.close-btn[data-v-f1b65383]{font-size:.8rem}.calendar-month[data-v-f1b65383]{font-weight:600;color:var(--text-primary)}.calendar-weekdays[data-v-f1b65383]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem}.weekday[data-v-f1b65383]{text-align:center;font-size:.85rem;font-weight:600;color:var(--text-secondary);padding:.5rem 0}.calendar-days[data-v-f1b65383]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day[data-v-f1b65383]{position:relative;text-align:center;padding:.75rem .25rem;font-size:.9rem;color:var(--text-primary);border-radius:8px;cursor:pointer;transition:all .2s ease}.calendar-day[data-v-f1b65383]:hover:not(.other-month){background:#00d9ff1a}.calendar-day.other-month[data-v-f1b65383]{color:var(--text-secondary);opacity:.3;cursor:default}.calendar-day.today[data-v-f1b65383]{background:#8b5cf626;font-weight:600}.calendar-day.selected[data-v-f1b65383]{background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));color:#fff;font-weight:600}.calendar-day.has-todos[data-v-f1b65383]:not(.selected):not(.today){background:#00d9ff0d}.dot-indicator[data-v-f1b65383]{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent-purple)}.calendar-day.selected .dot-indicator[data-v-f1b65383]{background:#fff}.calendar-footer[data-v-f1b65383]{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-today[data-v-f1b65383]{background:#00d9ff1a;border:1px solid var(--border-color);color:var(--text-primary);padding:.4rem .8rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .3s ease}.btn-today[data-v-f1b65383]:hover{background:#00d9ff33;border-color:var(--primary-color)}.selected-date-info[data-v-f1b65383]{font-size:.85rem;color:var(--text-secondary)}.app-container[data-v-bf550b7d]{min-height:100vh;padding-bottom:2rem;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.app-header[data-v-bf550b7d]{background:linear-gradient(135deg,#00d9ff26,#8b5cf626);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:2.5rem 1rem;text-align:center;position:relative;overflow:hidden}.app-header[data-v-bf550b7d]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent)}.app-header h1[data-v-bf550b7d]{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}.nav-brand[data-v-bf550b7d]{margin-bottom:1rem;text-align:center}.nav-brand h1[data-v-bf550b7d]{font-size:2rem;margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem}.nav-icon[data-v-bf550b7d]{font-size:1.5rem;filter:drop-shadow(0 0 8px rgba(0,217,255,.6));animation:pulse-glow-bf550b7d 2s ease-in-out infinite}@keyframes pulse-glow-bf550b7d{0%,to{filter:drop-shadow(0 0 8px rgba(0,217,255,.4))}50%{filter:drop-shadow(0 0 16px rgba(0,217,255,.8))}}.nav-tabs[data-v-bf550b7d]{display:flex;justify-content:center;gap:1rem;margin-bottom:.5rem}.nav-tab[data-v-bf550b7d]{background:#ffffff1a;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.nav-tab[data-v-bf550b7d]:hover{background:#ffffff26;color:var(--text-primary)}.nav-tab.active[data-v-bf550b7d]{background:linear-gradient(135deg,var(--primary-color),var(--accent-purple));color:#fff;font-weight:600}.nav-tab.active .nav-icon[data-v-bf550b7d]{filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}.app-header p[data-v-bf550b7d]{opacity:.8;font-size:1.1rem;font-weight:300}.main-content[data-v-bf550b7d]{max-width:1400px;margin:2rem auto 0;padding:0 1rem}.content-wrapper[data-v-bf550b7d]{display:grid;grid-template-columns:380px 1fr;gap:2rem;align-items:start}.left-panel[data-v-bf550b7d]{position:sticky;top:2rem}.right-panel[data-v-bf550b7d]{min-width:0}.panel-card[data-v-bf550b7d]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);transition:all .3s ease;position:relative;overflow:hidden}.panel-card[data-v-bf550b7d]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent)}.panel-card[data-v-bf550b7d]:hover{border-color:var(--primary-color);box-shadow:0 12px 48px #00d9ff33}@media (max-width: 1024px){.content-wrapper[data-v-bf550b7d]{grid-template-columns:1fr}.left-panel[data-v-bf550b7d]{position:static}}.architecture-full-width[data-v-bf550b7d]{width:100%;max-width:none;padding:0}.architecture-full-width .main-content[data-v-bf550b7d]{max-width:none;padding:0;margin:0}.app-header h1[data-v-bf550b7d]{font-size:2rem}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #00d9ff;--primary-hover: #4d7cfe;--primary-light: rgba(0, 217, 255, .1);--accent-purple: #8b5cf6;--accent-pink: #ec4899;--bg-primary: #0a0b1e;--bg-secondary: #0d0f27;--card-bg: rgba(255, 255, 255, .05);--card-bg-solid: #1a1d3a;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--border-color: rgba(255, 255, 255, .08);--shadow: 0 8px 32px rgba(0, 217, 255, .15);--glow: 0 0 20px rgba(0, 217, 255, .3);--border-radius: 16px}.background-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,217,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,217,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.particles{position:absolute;top:0;left:0;width:100%;height:100%}.particle{position:absolute;width:2px;height:2px;background:var(--primary-color);border-radius:50%;box-shadow:0 0 10px 2px #00d9ff80;animation:float calc(10s + var(--i) * .5s) linear calc(var(--i) * -1s) infinite;left:calc(var(--i) * 5%);top:calc(var(--i) * 7%)}@keyframes float{0%{transform:translate(0) scale(1);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(100px,-100vh) scale(0);opacity:0}}.gradient-orbs{position:absolute;width:100%;height:100%;filter:blur(80px)}.orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.4;animation:orbFloat 20s ease-in-out infinite alternate}.orb-1{width:400px;height:400px;background:radial-gradient(circle,var(--primary-color),transparent 70%);top:-100px;left:-100px;animation-delay:0s}.orb-2{width:500px;height:500px;background:radial-gradient(circle,var(--accent-purple),transparent 70%);bottom:-200px;right:-100px;animation-delay:5s}.orb-3{width:300px;height:300px;background:radial-gradient(circle,var(--accent-pink),transparent 70%);top:50%;right:20%;animation-delay:10s}@keyframes orbFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.2)}to{transform:translate(-20px,20px) scale(.9)}}body{font-family:Inter,Microsoft YaHei,微软雅黑,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#app{min-height:100vh;position:relative;z-index:1}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--primary-color),var(--accent-purple));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--primary-color),var(--primary-hover))}
