.login-page{background:#0a0a1a;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#633cff26,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-100px;left:-100px}.login-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#3b82f61f,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;bottom:-80px;right:-80px}.login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1;background:#ffffff0a;border:1px solid #ffffff14;border-radius:1.5rem;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:400px;padding:3rem 2.5rem;animation:.5s forwards fadeSlideUp;display:flex;position:relative}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo{letter-spacing:-1px;background:linear-gradient(135deg,#a78bfa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:800}.login-tagline{color:#6b7280;text-align:center;font-size:.875rem;line-height:1.6}.login-divider{background:#ffffff0f;width:100%;height:1px}.login-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c3aed,#3b82f6);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.85rem 1.5rem;font-size:.95rem;font-weight:600;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex}.login-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed59}.login-btn:active{transform:translateY(0)}.login-footer{color:#374151;text-align:center;font-size:.75rem}.layout{background:var(--bg-0);min-height:100vh;display:flex}.layout-main{transition:margin-left var(--dur-3) var(--ease-out);flex:1;justify-content:center;margin-left:64px;padding:2.75rem 2.75rem 3rem;animation:.3s fadeIn;display:flex}.sidebar.expanded+.layout-main{margin-left:220px}.layout-main>*{width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.layout-main{padding:2rem 1.25rem 2.25rem}}.sidebar{background:var(--bg-1);border-right:1px solid var(--border-2);width:64px;min-height:100vh;transition:width var(--dur-3) var(--ease-out);z-index:100;flex-direction:column;align-items:center;padding:1.25rem .75rem;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar:before{content:"";opacity:.55;pointer-events:none;transition:opacity var(--dur-3) ease;background:radial-gradient(circle at 25% 30%,#7c3aed1f,#0000 55%),radial-gradient(circle at 70% 60%,#3b82f61a,#0000 55%);position:absolute;inset:-40% -60%}.sidebar.expanded{align-items:flex-start;width:220px}.sidebar.expanded:before{opacity:.8}.sidebar-toggle{border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease, box-shadow var(--dur-2) ease;z-index:1;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:1.5rem;font-size:1.1rem;display:flex;position:relative}.sidebar-toggle:hover{color:var(--text-2);background:#ffffff0f;transform:translateY(-1px)}.sidebar-toggle:active{transform:translateY(0)scale(.98)}.sidebar-logo{letter-spacing:-.5px;background:linear-gradient(135deg,#a78bfa,#3b82f6);-webkit-text-fill-color:transparent;white-space:nowrap;z-index:1;animation:fadeSlideUp var(--dur-3) var(--ease-out);-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;padding-left:.25rem;font-size:1.2rem;font-weight:800;position:relative}.sidebar-nav{z-index:1;flex-direction:column;flex:1;gap:.25rem;width:100%;display:flex;position:relative}.sidebar-link{border-radius:var(--radius-md);color:var(--muted-2);transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) ease, color var(--dur-2) ease, border-color var(--dur-2) ease, box-shadow var(--dur-2) ease;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.75rem;width:100%;padding:.7rem .6rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.sidebar-link-btn{text-align:left;background:0 0;border:1px solid #0000}.sidebar-link:hover{color:var(--text-2);background:#ffffff0d;transform:translateY(-1px)}.sidebar-link.active{color:#a78bfa;background:#a78bfa1a;border-color:#a78bfa2e;transform:translateY(-1px);box-shadow:0 10px 26px #7c3aed1f}.sidebar-icon{filter:saturate(1.05);flex-shrink:0;font-size:1.1rem}.sidebar-label{opacity:1;transition:opacity var(--dur-2) ease, transform var(--dur-2) var(--ease-out);transform:translate(0)}.sidebar-logout{border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease, box-shadow var(--dur-2) ease;white-space:nowrap;z-index:1;background:0 0;align-items:center;gap:.75rem;width:100%;padding:.65rem .6rem;font-size:.875rem;font-weight:500;display:flex;position:relative}.sidebar-logout:hover{color:#ef4444;background:#ef44440d;border-color:#ef4444;transform:translateY(-1px)}.sidebar-logout:active{transform:translateY(0)scale(.98)}.dashboard{max-width:860px}.dashboard-header{margin-bottom:2.5rem}.dashboard-title{color:var(--text);letter-spacing:-.02em;margin-bottom:.4rem;font-size:1.75rem;font-weight:700}.dashboard-title span{background:linear-gradient(135deg,#a78bfa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dashboard-subtitle{color:var(--muted-2);font-size:.95rem}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:1.15rem;display:grid}.dashboard-banner{border-radius:var(--radius-xl);color:var(--text-2);box-shadow:var(--shadow-sm);animation:fadeIn var(--dur-3) var(--ease-out);background:#3b82f614;border:1px solid #3b82f638;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.dashboard-banner-btn{color:var(--text-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;padding:.5rem .85rem;font-size:.85rem;font-weight:600}.dashboard-banner-btn:hover{background:#3b82f614;border-color:#3b82f659;transform:translateY(-1px)}.dashboard-banner-btn:active{transform:translateY(0)scale(.99)}.tool-card{background:var(--panel-2);border-radius:var(--radius-xl);cursor:pointer;transition:transform var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease;box-shadow:var(--shadow-sm);border:1px solid #ffffff14;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.tool-card:before{content:"";background:var(--accent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.tool-card:after{content:"";background:radial-gradient(circle at 30% 30%, var(--accent), transparent 58%), radial-gradient(circle at 75% 70%, #3b82f61f, transparent 55%);opacity:0;pointer-events:none;transition:opacity var(--dur-3) ease;position:absolute;inset:-40% -30%}.tool-card:hover{box-shadow:var(--shadow-md);background:#ffffff0f;border-color:#ffffff24;transform:translateY(-3px)}.tool-card:hover:after{opacity:.14}.tool-card:active{transform:translateY(-1px)scale(.99)}.tool-icon{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:.9rem;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:2rem;display:flex}.tool-info{z-index:1;flex:1;position:relative}.tool-name{color:var(--text);margin-bottom:.25rem;font-size:1rem;font-weight:600}.tool-desc{color:var(--muted-2);font-size:.8rem;line-height:1.5}.tool-stat{color:var(--muted);margin-top:.5rem;font-size:.82rem}.tool-arrow{color:var(--muted-4);transition:transform var(--dur-2) var(--ease-out), color var(--dur-2) ease;z-index:1;font-size:1.1rem;position:relative}.tool-card:hover .tool-arrow{color:var(--muted-2);transform:translate(4px)}.dashboard-user{align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.dashboard-avatar{border:2px solid #a78bfa66;border-radius:50%;width:56px;height:56px;box-shadow:0 10px 30px #00000059}@media (width<=800px){.dashboard-grid{grid-template-columns:1fr}.dashboard-banner{flex-direction:column;align-items:flex-start}}.sprintboard{gap:1.5rem;height:calc(100vh - 5rem);display:flex}.projects-panel{background:var(--panel-2);border-radius:var(--radius-xl);width:240px;box-shadow:var(--shadow-sm);border:1px solid #ffffff14;flex-direction:column;flex-shrink:0;gap:.75rem;padding:1.25rem;display:flex;overflow-y:auto}.projects-panel h2{color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.new-project-btn{color:#a78bfa;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, box-shadow var(--dur-2) ease;background:#a78bfa1a;border:1px dashed #a78bfa4d;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;font-size:.85rem;font-weight:500;display:flex}.new-project-btn:hover{background:#a78bfa33;transform:translateY(-1px);box-shadow:0 14px 34px #7c3aed1f}.new-project-btn:active{transform:translateY(0)scale(.99)}.project-item{border-radius:var(--radius-md);cursor:pointer;color:var(--muted-2);transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) ease, color var(--dur-2) ease, border-color var(--dur-2) ease;border:1px solid #0000;align-items:center;gap:.6rem;padding:.65rem .75rem;font-size:.875rem;display:flex}.project-item:hover{color:var(--text-2);background:#ffffff0a;transform:translateY(-1px)}.project-item.active{color:#a78bfa;background:#a78bfa14;border-color:#a78bfa33;box-shadow:0 14px 34px #7c3aed1a}.project-dot{background:#a78bfa;border-radius:50%;flex-shrink:0;width:8px;height:8px}.project-dot.on-hold{background:#f59e0b}.project-dot.completed{background:#34d399}.kanban-area{flex-direction:column;flex:1;gap:1rem;display:flex;overflow:hidden}.kanban-header{justify-content:space-between;align-items:center;display:flex}.kanban-title{color:var(--text);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.add-task-btn{background:var(--accent-grad);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, opacity var(--dur-2) ease, filter var(--dur-2) ease;border:none;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;display:flex;box-shadow:0 12px 34px #7c3aed2e}.add-task-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 16px 44px #7c3aed40}.add-task-btn:active{filter:brightness(.98);transform:translateY(0)scale(.98)}.kanban-columns{flex:1;gap:1rem;display:flex;overflow-x:auto}.kanban-column{border:1px solid var(--border-2);border-radius:var(--radius-xl);min-width:220px;box-shadow:var(--shadow-sm);background:#ffffff05;flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.column-header{justify-content:space-between;align-items:center;display:flex}.column-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);font-size:.8rem;font-weight:600}.column-count{color:var(--muted-2);background:#ffffff0f;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.task-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:grab;box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, border-color var(--dur-2) ease, background-color var(--dur-2) ease;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.task-card:hover{box-shadow:var(--shadow-md);background:#ffffff12;border-color:#ffffff1f;transform:translateY(-2px)}.task-title{color:var(--text-2);font-size:.875rem;font-weight:500}.task-priority{border-radius:999px;width:fit-content;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.priority-low{color:#34d399;background:#34d3991a}.priority-medium{color:#fbbf24;background:#fbbf241a}.priority-high{color:#f87171;background:#f871711a}.task-due{color:var(--muted-3);font-size:.75rem}.kanban-empty{color:var(--muted-2);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#ffffff05;border:1px dashed #ffffff14;flex:1;justify-content:center;align-items:center;font-size:.92rem;display:flex;position:relative;overflow:hidden}.kanban-empty:before{content:"🗂️";opacity:.7;font-size:1.6rem;position:absolute;top:1.25rem;left:50%;transform:translate(-50%)}.task-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.task-edit-btn{cursor:pointer;opacity:0;background:0 0;border:none;padding:.1rem .25rem;font-size:.75rem;transition:opacity .2s}.task-card:hover .task-edit-btn{opacity:1}.task-overdue{background:#f871710f;border-color:#f8717166}.task-overdue .task-due{color:#f87171;font-weight:600}.task-due-today{background:#fbbf240f;border-color:#fbbf2466}.task-due-today .task-due{color:#fbbf24;font-weight:600}.task-completed{background:#34d3990f;border-color:#34d39966}.task-completed .task-due{color:#34d399;font-weight:600}.task-on-track{background:#34d39908;border-color:#34d39933}.task-on-track .task-due{color:#34d399}.task-checkbox{cursor:pointer;accent-color:#34d399;flex-shrink:0;width:15px;height:15px}.task-title-done{color:#4b5563;text-decoration:line-through}.task-actions{opacity:0;gap:.25rem;transition:opacity .2s;display:flex}.task-card:hover .task-actions{opacity:1}.task-delete-btn{cursor:pointer;background:0 0;border:none;padding:.1rem .25rem;font-size:.75rem;transition:transform .2s}.task-delete-btn:hover{transform:scale(1.2)}.project-item-top{align-items:center;gap:.5rem;width:100%;display:flex}.project-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.875rem;overflow:hidden}.project-count{color:var(--muted-3);flex-shrink:0;font-size:.72rem}.project-progress-bar{background:#ffffff0f;border-radius:999px;width:100%;height:3px;margin-top:.4rem;overflow:hidden}.project-progress-fill{background:linear-gradient(90deg,#7c3aed,#3b82f6);border-radius:999px;height:100%;transition:width .4s}.kanban-header-actions{align-items:center;gap:.75rem;display:flex}.sort-select{background:var(--panel);border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, color var(--dur-2) ease, background-color var(--dur-2) ease;outline:none;padding:.55rem .75rem;font-size:.8rem}.sort-select:hover{color:var(--text-2);border-color:#ffffff26;transform:translateY(-1px)}.project-actions{flex-shrink:0;gap:.15rem;display:flex}.project-action-btn{cursor:pointer;background:0 0;border:none;padding:.1rem .2rem;font-size:.72rem;transition:transform .2s}.project-action-btn:hover{transform:scale(1.2)}.task-description{color:var(--muted-3);margin-top:.1rem;font-size:.78rem;line-height:1.5}.task-search{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-md);width:180px;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease;outline:none;padding:.55rem .75rem;font-size:.8rem}.task-search::placeholder{color:var(--muted-3)}.task-search:focus{border-color:#a78bfa73}.task-tags{flex-wrap:wrap;gap:.35rem;display:flex}.task-tag{color:#a78bfa;background:#a78bfa1a;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:500}.overdue-banner{color:#f87171;background:#f8717114;border:1px solid #f8717140;border-radius:.6rem;padding:.65rem 1rem;font-size:.85rem;font-weight:500;animation:.3s fadeIn}.due-today-banner{color:#93c5fd;border-radius:var(--radius-md);animation:fadeIn var(--dur-3) var(--ease-out);box-shadow:var(--shadow-sm);background:#3b82f614;border:1px solid #3b82f640;padding:.65rem 1rem;font-size:.85rem;font-weight:500}.tag-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tag-filter-label{color:var(--muted-3);font-size:.78rem}.tag-filter-btn{color:var(--muted-2);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) ease, color var(--dur-2) ease, border-color var(--dur-2) ease;background:#a78bfa14;border:1px solid #a78bfa26;border-radius:999px;padding:.25rem .65rem;font-size:.75rem}.tag-filter-btn:hover{color:#a78bfa;background:#a78bfa26}.tag-filter-btn.active{color:#a78bfa;background:#a78bfa33;border-color:#a78bfa80}.tag-filter-clear{color:var(--muted-3);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.75rem;transition:color .2s}.tag-filter-clear:hover{color:#f87171}.task-tag{cursor:pointer;transition:all .2s}.task-tag:hover{background:#a78bfa33}.task-tag-active{background:#a78bfa40;border:1px solid #a78bfa66}.priority-filter-btn{cursor:pointer;transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) ease, color var(--dur-2) ease, border-color var(--dur-2) ease;border:1px solid #0000;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:500}.priority-filter-high{color:var(--muted-2);background:#f8717114;border-color:#f8717126}.priority-filter-high:hover,.priority-filter-high.active{color:#f87171;background:#f8717126;border-color:#f8717166}.priority-filter-medium{color:var(--muted-2);background:#fbbf2414;border-color:#fbbf2426}.priority-filter-medium:hover,.priority-filter-medium.active{color:#fbbf24;background:#fbbf2426;border-color:#fbbf2466}.priority-filter-low{color:var(--muted-2);background:#34d39914;border-color:#34d39926}.priority-filter-low:hover,.priority-filter-low.active{color:#34d399;background:#34d39926;border-color:#34d39966}.project-stats{border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffff05;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.stat-item{flex-direction:column;align-items:center;gap:.15rem;display:flex}.stat-value{color:var(--text);font-size:1.1rem;font-weight:700}.stat-overdue{color:#f87171}.stat-percent{background:linear-gradient(135deg,#a78bfa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-label{color:var(--muted-3);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.stat-divider{background:var(--border-2);width:1px;height:28px}.column-empty{color:var(--muted-2);text-align:center;border-radius:var(--radius-md);background:#ffffff04;border:1px dashed #ffffff1a;justify-content:center;align-items:center;margin-top:.25rem;padding:2rem 1rem;font-size:.8rem;display:flex}.mockmate{flex-direction:column;gap:1.5rem;max-width:1000px;display:flex}.mm-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mm-topbar-left{align-items:center;gap:1.5rem;display:flex}.mm-streak{color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.mm-best-streak{color:var(--muted-2);margin-left:.75rem;font-size:.85rem;font-weight:600}.mm-streak-count{background:linear-gradient(135deg,#a78bfa,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.mm-topbar-actions{align-items:center;gap:.75rem;display:flex}.mm-log-btn{background:var(--accent-grad);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, opacity var(--dur-2) ease, filter var(--dur-2) ease;border:none;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;display:flex;box-shadow:0 12px 34px #7c3aed2e}.mm-log-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 16px 44px #7c3aed40}.mm-log-btn:active{filter:brightness(.98);transform:translateY(0)scale(.98)}.mm-settings-btn{background:var(--panel);border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;padding:.65rem .75rem;font-size:.875rem}.mm-settings-btn:hover{color:var(--text-2);border-color:#ffffff26;transform:translateY(-1px)}.mm-settings-btn:active{transform:translateY(0)scale(.99)}.daily-goal-card{background:var(--panel-2);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid #ffffff14;padding:1.25rem 1.5rem}.daily-goal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.daily-goal-header h3{color:var(--text);font-size:.95rem;font-weight:600}.mm-edit-goal-btn{border:1px solid var(--border);color:var(--muted-2);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;background:0 0;border-radius:.5rem;padding:.3rem .75rem;font-size:.78rem}.mm-edit-goal-btn:hover{color:#a78bfa;background:#a78bfa14;border-color:#a78bfa4d;transform:translateY(-1px)}.mm-edit-goal-btn:active{transform:translateY(0)scale(.99)}.goal-empty{color:var(--muted-3);font-size:.875rem}.goal-rows{flex-direction:column;gap:.75rem;display:flex}.goal-row{align-items:center;gap:1rem;display:flex}.goal-label{flex-shrink:0;width:55px;font-size:.8rem;font-weight:600}.goal-bar-wrap{flex:1;align-items:center;gap:.5rem;display:flex}.goal-bar{background:#ffffff0f;border-radius:999px;flex:1;height:6px;overflow:hidden}.goal-bar-fill{background:linear-gradient(90deg,#7c3aed,#3b82f6);border-radius:999px;height:100%;transition:width .4s}.goal-bar-count{color:var(--muted-3);flex-shrink:0;width:30px;font-size:.75rem}.goal-checks{gap:.25rem;display:flex}.check-done,.check-empty{font-size:.75rem}.mm-section-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.mm-section-title{color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.mm-start-review-btn{background:var(--accent-grad);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, opacity var(--dur-2) ease;border:none;padding:.5rem 1rem;font-size:.8rem;font-weight:600;box-shadow:0 12px 34px #7c3aed29}.mm-start-review-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 16px 44px #7c3aed38}.mm-start-review-btn:active{transform:translateY(0)scale(.99)}.problem-card{background:var(--panel-2);border-radius:var(--radius-xl);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, border-color var(--dur-2) ease, background-color var(--dur-2) ease;box-shadow:var(--shadow-sm);border:1px solid #ffffff14;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.problem-card:before{content:"";height:2px;position:absolute;top:0;left:0;right:0}.status-failed:before{background:#f87171}.status-revisiting:before{background:#fbbf24}.status-mastered:before{background:#34d399}.problem-card:hover{box-shadow:var(--shadow-md);background:#ffffff0d;border-color:#ffffff1f;transform:translateY(-2px)}.problem-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.problem-card-title{flex:1;align-items:center;gap:.5rem;display:flex}.problem-number{color:var(--muted-2);flex-shrink:0;font-size:.8rem;font-weight:600}.problem-title{color:var(--text);font-size:.95rem;font-weight:600}.problem-status-badge{text-transform:capitalize;border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:flex}.status-failed{border-color:#f8717133}.status-revisiting{border-color:#fbbf2433}.status-mastered{border-color:#34d39933}.problem-card-meta{align-items:center;gap:.75rem;display:flex}.problem-difficulty{border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.difficulty-easy{color:#34d399;background:#34d3991a}.difficulty-medium{color:#fbbf24;background:#fbbf241a}.difficulty-hard{color:#f87171;background:#f871711a}.problem-category{color:#6b7280;font-size:.78rem}.problem-stars{gap:.1rem;display:flex}.star-active{font-size:.75rem}.star-inactive{opacity:.2;font-size:.75rem}.problem-tags{flex-wrap:wrap;gap:.35rem;display:flex}.problem-tag{color:#a78bfa;background:#a78bfa1a;border-radius:999px;padding:.15rem .5rem;font-size:.7rem}.problem-card-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.problem-dates{flex-direction:column;gap:.2rem;display:flex}.problem-last-reviewed{color:#4b5563;font-size:.75rem}.problem-overdue{color:#f87171;font-size:.75rem;font-weight:600}.problem-next-review{color:#34d399;font-size:.75rem}.problem-card-actions{align-items:center;gap:.5rem;display:flex}.mm-review-btn{color:#a78bfa;cursor:pointer;background:#a78bfa1a;border:1px solid #a78bfa33;border-radius:.5rem;padding:.4rem .85rem;font-size:.78rem;font-weight:600;transition:all .2s}.mm-review-btn:hover{background:#a78bfa33}.mm-edit-btn,.mm-delete-btn{cursor:pointer;opacity:0;background:0 0;border:none;padding:.2rem;font-size:.8rem;transition:opacity .2s}.problem-card:hover .mm-edit-btn,.problem-card:hover .mm-delete-btn{opacity:1}.category-progress-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:1rem;padding:1.25rem 1.5rem}.category-progress-card h3{color:#f9fafb;margin-bottom:1rem;font-size:.95rem;font-weight:600}.category-list{flex-direction:column;gap:.75rem;display:flex}.category-row-header{justify-content:space-between;margin-bottom:.3rem;display:flex}.category-name{color:#e5e7eb;font-size:.8rem}.category-count{color:#4b5563;font-size:.75rem}.category-bar{background:#ffffff0f;border-radius:999px;height:5px;overflow:hidden}.category-bar-fill{background:linear-gradient(90deg,#7c3aed,#3b82f6);border-radius:999px;height:100%;transition:width .4s}.mm-library-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.mm-search{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-md);width:200px;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease;outline:none;padding:.55rem .75rem;font-size:.8rem}.mm-search::placeholder{color:var(--muted-3)}.mm-search:focus{border-color:#a78bfa73}.mm-filter-select{background:var(--panel);border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, color var(--dur-2) ease, background-color var(--dur-2) ease;outline:none;padding:.55rem .75rem;font-size:.8rem}.mm-filter-select:hover{color:var(--text-2);border-color:#ffffff26;transform:translateY(-1px)}.problem-list{flex-direction:column;gap:.75rem;display:flex}.mm-empty{text-align:center;color:var(--muted-3);padding:3rem 0;font-size:.9rem}.mm-empty-state{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--muted-2);animation:fadeIn var(--dur-3) var(--ease-out);background:#ffffff05;border:1px dashed #ffffff1a;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:3rem 1rem;display:flex}.mm-empty-state:before{content:"📭";opacity:.75;font-size:1.8rem}.mm-empty-inline{color:var(--muted-3);padding:0;font-size:.85rem}.mm-modal{border:1px solid var(--border);border-radius:var(--radius-2xl);width:100%;max-width:520px;box-shadow:var(--shadow-lg);animation:fadeSlideUp var(--dur-3) var(--ease-out);background:#0f0f23;flex-direction:column;gap:1rem;max-height:85vh;padding:1.75rem;display:flex;overflow-y:auto}.mm-modal-header{justify-content:space-between;align-items:center;display:flex}.mm-modal-header h2{color:var(--text);font-size:1.1rem;font-weight:700}.mm-close-btn{color:var(--muted-2);cursor:pointer;transition:color var(--dur-2) ease, transform var(--dur-2) var(--ease-out);background:0 0;border:none;font-size:1rem}.mm-close-btn:hover{color:var(--text);transform:scale(1.06)}.mm-tabs{border-bottom:1px solid #ffffff0f;gap:.5rem;padding-bottom:.75rem;display:flex}.mm-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.4rem .75rem;font-size:.825rem;font-weight:500;transition:all .2s}.mm-tab:hover{color:#e5e7eb}.mm-tab.active{color:#a78bfa;background:#a78bfa1a}.mm-tab-content{flex-direction:column;gap:.75rem;display:flex}.mm-input{color:#f9fafb;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.6rem;outline:none;width:100%;padding:.7rem .9rem;font-size:.875rem;transition:border-color .2s}.mm-input:focus{border-color:#a78bfa66}.mm-input-small{flex-shrink:0;width:90px}.mm-input-grow{flex:1}.mm-select{color:#f9fafb;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.6rem;outline:none;width:100%;padding:.7rem .9rem;font-size:.875rem}.mm-textarea{color:#f9fafb;resize:vertical;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.6rem;outline:none;width:100%;min-height:160px;padding:.7rem .9rem;font-size:.875rem;line-height:1.6;transition:border-color .2s}.mm-textarea:focus{border-color:#a78bfa66}.mm-code{min-height:200px;font-family:Fira Code,Courier New,monospace;font-size:.825rem}.mm-row{align-items:center;gap:.75rem;display:flex}.mm-confidence{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.mm-confidence-label{color:#6b7280;white-space:nowrap;font-size:.78rem}.mm-star{cursor:pointer;opacity:.3;background:0 0;border:none;padding:0;font-size:1rem;transition:opacity .2s,transform .1s}.mm-star.active{opacity:1}.mm-star:hover{transform:scale(1.2)}.mm-modal-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}.mm-settings-section{color:#e5e7eb;margin-top:.5rem;font-size:.875rem;font-weight:600}.mm-settings-desc{color:#4b5563;margin-top:-.25rem;font-size:.78rem}.mm-settings-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mm-settings-label{color:#9ca3af;font-size:.85rem}.mm-settings-input-row{align-items:center;gap:.5rem;display:flex}.mm-settings-unit{color:#6b7280;font-size:.8rem}.flashcard-overlay{z-index:300;background:#080818;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.flashcard-container{flex-direction:column;gap:1.5rem;width:100%;max-width:680px;height:100vh;padding:2rem;display:flex;overflow-y:auto}.flashcard-header{justify-content:space-between;align-items:center;display:flex}.flashcard-progress{color:#6b7280;font-size:.85rem}.flashcard-exit{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:.5rem;padding:.4rem .85rem;font-size:.8rem;transition:all .2s}.flashcard-exit:hover{color:#f87171;border-color:#f871714d}.flashcard-progress-bar{background:#ffffff0f;border-radius:999px;height:4px;overflow:hidden}.flashcard-progress-fill{background:linear-gradient(90deg,#7c3aed,#3b82f6);border-radius:999px;height:100%;transition:width .4s}.flashcard-body{flex-direction:column;flex:1;gap:1.25rem;display:flex}.flashcard-meta{align-items:center;gap:.75rem;display:flex}.fc-difficulty{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.fc-category{color:#6b7280;font-size:.8rem}.fc-stars{gap:.1rem;margin-left:auto;display:flex}.flashcard-title{color:#f9fafb;font-size:1.75rem;font-weight:800;line-height:1.3}.fc-number{color:#6b7280;font-weight:600}.fc-url{color:#a78bfa;font-size:.85rem;text-decoration:none;transition:opacity .2s}.fc-url:hover{opacity:.75}.fc-section{flex-direction:column;gap:.75rem;display:flex}.fc-reveal-btn{color:#9ca3af;cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:.6rem;width:100%;padding:.65rem 1rem;font-size:.85rem;transition:all .2s}.fc-reveal-btn:hover{color:#e5e7eb;background:#ffffff0f}.fc-content{color:#d1d5db;background:#ffffff08;border:1px solid #ffffff0f;border-radius:.6rem;padding:1rem;font-size:.875rem;line-height:1.7;animation:.2s fadeIn}.fc-empty{color:#4b5563;font-style:italic}.fc-solution-lang{color:#a78bfa;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.72rem;font-weight:600}.fc-code{color:#e5e7eb;white-space:pre-wrap;word-break:break-word;margin:0;font-family:Fira Code,Courier New,monospace;font-size:.825rem}.fc-complexity{color:#6b7280;gap:1rem;font-size:.8rem;display:flex}.flashcard-footer{border-top:1px solid #ffffff0f;flex-direction:column;gap:1rem;padding-top:1.5rem;display:flex}.fc-prompt{color:#6b7280;text-align:center;font-size:.875rem}.fc-result-btns{gap:1rem;display:flex}.fc-result-btn{cursor:pointer;border:1px solid #0000;border-radius:.75rem;flex-direction:column;flex:1;align-items:center;gap:.35rem;padding:1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.fc-result-btn span:last-child{opacity:.7;font-size:.72rem;font-weight:400}.fc-failed{color:#f87171;background:#f8717114;border-color:#f8717133}.fc-failed:hover{background:#f8717126}.fc-revisiting{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2433}.fc-revisiting:hover{background:#fbbf2426}.fc-mastered{color:#34d399;background:#34d39914;border-color:#34d39933}.fc-mastered:hover{background:#34d39926}.fc-confirm-row{align-items:center;gap:.75rem;display:flex}.flashcard-done{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.flashcard-done-emoji{font-size:4rem}.flashcard-done h2{color:#f9fafb;font-size:1.5rem;font-weight:700}.flashcard-done p{color:#6b7280;font-size:.9rem}.fc-edit-btn{color:#6b7280;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.5rem;padding:.4rem .85rem;font-size:.8rem;transition:all .2s}.fc-edit-btn:hover{color:#a78bfa;border-color:#a78bfa4d}.mm-sort-dir-btn{color:#6b7280;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.6rem;padding:.55rem .75rem;font-size:.8rem;transition:all .2s}.mm-sort-dir-btn:hover{color:#a78bfa;border-color:#a78bfa4d}.category-row{cursor:pointer;border:1px solid #0000;border-radius:.6rem;padding:.5rem .75rem;transition:all .2s}.category-row:hover{background:#ffffff08}.category-row-active{background:#a78bfa14;border-color:#a78bfa33}.problem-header-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.mm-pin-btn{cursor:pointer;opacity:.25;background:0 0;border:none;padding:.1rem;font-size:.85rem;transition:all .2s}.mm-pin-btn:hover{opacity:.7;transform:scale(1.15)}.mm-pin-btn.pinned{opacity:1}.problem-pinned{background:#a78bfa0a;border-color:#a78bfa59}.mm-reset-btn{cursor:pointer;opacity:0;background:0 0;border:none;padding:.2rem;font-size:.8rem;transition:opacity .2s,transform .2s}.problem-card:hover .mm-reset-btn{opacity:1}.mm-reset-btn:hover{transform:rotate(-180deg)}.mm-bulk-checkbox{cursor:pointer;accent-color:#a78bfa;flex-shrink:0;width:16px;height:16px}.problem-selected{background:#a78bfa0f;border-color:#a78bfa80}.mm-bulk-bar{z-index:150;background:#0f0f23;border:1px solid #a78bfa4d;border-radius:1rem;align-items:center;gap:1rem;padding:.75rem 1.25rem;animation:.25s fadeSlideUp;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0006}.mm-bulk-count{color:#f9fafb;font-size:.85rem;font-weight:600}.mm-bulk-actions-group{align-items:center;gap:.5rem;display:flex}.mm-select-toggle{color:#6b7280;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:.6rem;padding:.55rem .85rem;font-size:.8rem;transition:all .2s}.mm-select-toggle.active{color:#a78bfa;background:#a78bfa26;border-color:#a78bfa4d}.mm-select-toggle:hover{color:#e5e7eb}.bugvault{flex-direction:column;gap:1.5rem;width:100%;max-width:900px;margin:0 auto;display:flex}.bv-topbar{justify-content:space-between;align-items:center;display:flex}.bv-title{color:var(--text);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.bug-card{background:var(--panel-2);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, border-color var(--dur-2) ease, background-color var(--dur-2) ease;border:1px solid #ffffff14;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.bug-card:hover{box-shadow:var(--shadow-md);background:#ffffff0d;border-color:#ffffff1f;transform:translateY(-2px)}.bug-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.bug-card-title{flex:1;align-items:center;gap:.6rem;display:flex}.bug-title{color:var(--text);font-size:.95rem;font-weight:600}.bug-language{color:#a78bfa;background:#a78bfa1a;border-radius:999px;flex-shrink:0;padding:.15rem .6rem;font-size:.72rem;font-weight:600}.bug-card-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.bug-card:hover .mm-edit-btn,.bug-card:hover .mm-delete-btn{opacity:1}.bug-error{background:#f871710d;border:1px solid #f8717126;border-radius:.6rem;padding:.75rem 1rem}.bug-error pre{color:#f87171;white-space:pre-wrap;word-break:break-word;margin:0;font-family:Fira Code,Courier New,monospace;font-size:.8rem}.bug-fix-preview{color:var(--text-2);flex-direction:column;gap:.4rem;font-size:.85rem;line-height:1.6;display:flex}.bug-fix-label{color:var(--muted);font-weight:600}.bug-code-details{border:1px solid var(--border-2);border-radius:var(--radius-md);background:#ffffff08;padding:.6rem .85rem}.bug-code-details summary{cursor:pointer;color:var(--muted-2);transition:color var(--dur-2) ease;font-size:.8rem}.bug-code-details summary:hover{color:#a78bfa}.bug-code-details pre{margin-top:.75rem}.bug-hit-count{color:#f87171;background:#f871711a;border-radius:999px;flex-shrink:0;padding:.15rem .6rem;font-size:.72rem;font-weight:600}.bug-card-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.bug-last-seen{color:var(--muted-3);font-size:.75rem}.bug-saw-again-btn{color:#a78bfa;cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, box-shadow var(--dur-2) ease;background:#a78bfa14;border:1px solid #a78bfa26;border-radius:.5rem;padding:.35rem .8rem;font-size:.75rem;font-weight:600}.bug-saw-again-btn:hover{background:#a78bfa26;transform:translateY(-1px);box-shadow:0 14px 34px #7c3aed1f}.bug-saw-again-btn:active{transform:translateY(0)scale(.99)}.bug-frequent-widget{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#a78bfa0a;border:1px solid #a78bfa26;padding:1.25rem 1.5rem}.bug-frequent-widget h3{color:var(--text);margin-bottom:.75rem;font-size:.95rem;font-weight:600}.bug-frequent-list{flex-direction:column;gap:.5rem;display:flex}.bug-frequent-item{border-radius:var(--radius-md);background:#ffffff05;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.bug-frequent-title{color:var(--text-2);font-size:.85rem}.bug-frequent-count{color:#f87171;flex-shrink:0;font-size:.78rem;font-weight:600}.bug-card-header{cursor:pointer}.bug-expand-icon{color:var(--muted-2);transition:transform var(--dur-2) var(--ease-out);flex-shrink:0;font-size:.7rem}.bug-card.expanded{background:#ffffff0a}.bug-auto-detected{color:#a78bfa;white-space:nowrap;flex-shrink:0;font-size:.72rem}.bug-related{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.bug-related-label{color:var(--muted-2);flex-shrink:0;font-size:.75rem;font-weight:600}.bug-related-list{flex-wrap:wrap;gap:.35rem;display:flex}.bug-related-link{color:#60a5fa;cursor:pointer;transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) ease, border-color var(--dur-2) ease, box-shadow var(--dur-2) ease;white-space:nowrap;background:#60a5fa14;border:1px solid #60a5fa38;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:600}.bug-related-link:hover{background:#60a5fa26;border-color:#60a5fa66;transform:translateY(-1px);box-shadow:0 4px 12px #60a5fa26}.bug-related-link:active{transform:translateY(0)scale(.98)}.technotes-page{gap:1.5rem;width:100%;max-width:1100px;margin:0 auto;display:flex}.tn-category-sidebar{background:var(--panel-2);border-radius:var(--radius-xl);width:220px;height:fit-content;box-shadow:var(--shadow-sm);border:1px solid #ffffff14;flex-direction:column;flex-shrink:0;gap:.4rem;padding:1.25rem;display:flex}.tn-category-sidebar h2{color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.tn-category-item{border-radius:var(--radius-md);cursor:pointer;color:var(--muted-2);transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) ease, color var(--dur-2) ease;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.85rem;display:flex}.tn-category-item:hover{color:var(--text-2);background:#ffffff0a;transform:translateY(-1px)}.tn-category-item.active{color:#a78bfa;background:#a78bfa14}.tn-category-count{color:var(--muted-3);font-size:.72rem}.tn-main{flex-direction:column;flex:1;gap:1rem;display:flex}.tn-main-header{justify-content:space-between;align-items:center;display:flex}.tn-main-title{color:var(--text);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.notes-grid{grid-template-columns:repeat(2,1fr);gap:1.05rem;display:grid}.note-card{background:var(--panel-2);border-radius:var(--radius-xl);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, border-color var(--dur-2) ease, background-color var(--dur-2) ease;border:1px solid #ffffff14;flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.note-card:hover{box-shadow:var(--shadow-md);background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-3px)}.note-pinned{background:#a78bfa0a;border-color:#a78bfa59}.note-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.note-card-title{flex-direction:column;gap:.3rem;display:flex}.note-title{color:var(--text);font-size:.95rem;font-weight:600}.note-category{color:#a78bfa;background:#a78bfa1a;border-radius:999px;width:fit-content;padding:.1rem .55rem;font-size:.72rem}.note-card-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.note-preview{color:var(--muted);font-size:.82rem;line-height:1.6}.note-card-footer{color:var(--muted-3);border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-top:.4rem;font-size:.75rem;display:flex}.tn-recent-section{flex-direction:column;gap:.75rem;display:flex}.tn-recent-list{gap:.75rem;display:flex;overflow-x:auto}.tn-recent-item{background:var(--panel-2);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;color:var(--text-2);transition:transform var(--dur-2) var(--ease-out), background-color var(--dur-2) ease, border-color var(--dur-2) ease, color var(--dur-2) ease;box-shadow:var(--shadow-sm);border:1px solid #ffffff14;flex-shrink:0;padding:.75rem 1rem;font-size:.82rem}.tn-recent-item:hover{color:var(--text);background:#ffffff0f;border-color:#ffffff1f;transform:translateY(-2px)}.tn-editor-page{flex-direction:column;gap:1rem;width:100%;max-width:900px;margin:0 auto;display:flex}.tn-editor-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.tn-editor-back{border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;background:0 0;padding:.5rem 1rem;font-size:.8rem}.tn-editor-back:hover{color:var(--text-2);background:#ffffff0a;border-color:#ffffff24;transform:translateY(-1px)}.tn-editor-back:active{transform:translateY(0)scale(.99)}.tn-editor-actions{align-items:center;gap:.5rem;display:flex}.tn-save-status{color:var(--muted-3);font-size:.75rem}.tn-toggle-btn{background:var(--panel);border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;padding:.55rem 1rem;font-size:.8rem;font-weight:600}.tn-toggle-btn.active{color:#a78bfa;background:#a78bfa26;border-color:#a78bfa4d}.tn-editor-title-input{color:var(--text);letter-spacing:-.02em;background:0 0;border:none;outline:none;padding:0;font-size:1.75rem;font-weight:800}.tn-editor-title-input::placeholder{color:var(--muted-4)}.tn-editor-meta{align-items:center;gap:.75rem;display:flex}.tn-editor-textarea{border:1px solid var(--border-2);border-radius:var(--radius-lg);color:var(--text-2);resize:vertical;width:100%;min-height:500px;box-shadow:var(--shadow-sm);transition:border-color var(--dur-2) ease, box-shadow var(--dur-2) ease, background-color var(--dur-2) ease;background:#ffffff05;outline:none;padding:1.25rem;font-family:Fira Code,Courier New,monospace;font-size:.9rem;line-height:1.7}.tn-editor-textarea:focus{box-shadow:var(--shadow-md);border-color:#a78bfa59}.tn-preview{border:1px solid var(--border-2);border-radius:var(--radius-lg);min-height:500px;color:var(--text-2);box-shadow:var(--shadow-sm);background:#ffffff05;padding:1.5rem;font-size:.9rem;line-height:1.75}.tn-preview h1,.tn-preview h2,.tn-preview h3{color:var(--text);margin:1.25rem 0 .5rem}.tn-preview h1:first-child,.tn-preview h2:first-child,.tn-preview h3:first-child{margin-top:0}.tn-preview p{margin:.5rem 0}.tn-preview a{color:#a78bfa}.tn-preview ul,.tn-preview ol{margin:.5rem 0;padding-left:1.5rem}.tn-preview code{background:#ffffff0f;border-radius:.3rem;padding:.15rem .4rem;font-size:.85em}.tn-preview table{border-collapse:collapse;width:100%;margin:.75rem 0}.tn-preview th,.tn-preview td{text-align:left;border:1px solid #ffffff1a;padding:.5rem .75rem}.tn-preview blockquote{color:var(--muted);border-left:3px solid #a78bfa66;margin:.75rem 0;padding-left:1rem}.tn-code-block{border:1px solid #ffffff14;border-radius:.6rem;margin:.75rem 0;overflow:hidden}.tn-code-header{background:#ffffff0a;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.tn-code-lang{color:#a78bfa;text-transform:uppercase;font-size:.72rem;font-weight:600}.tn-code-copy{color:#6b7280;cursor:pointer;background:0 0;border:none;font-size:.72rem;transition:color .2s}.tn-code-copy:hover{color:#a78bfa}.tn-type-toggle{gap:.5rem;display:flex}.tn-type-btn{color:#6b7280;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:.6rem;flex:1;padding:.65rem;font-size:.85rem;font-weight:500;transition:all .2s}.tn-type-btn.active{color:#a78bfa;background:#a78bfa1f;border-color:#a78bfa4d}.note-type-badge{font-size:.85rem}@media (width<=900px){.technotes-page{flex-direction:column}.tn-category-sidebar{width:100%}.notes-grid{grid-template-columns:1fr}}.tn-wiki-link{color:#a78bfa;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:600;line-height:inherit;transition:background-color var(--dur-2) ease, border-color var(--dur-2) ease, transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease;vertical-align:baseline;background:#a78bfa1a;border:1px solid #a78bfa47;border-radius:.35rem;padding:.1rem .5rem;display:inline}.tn-wiki-link:hover{background:#a78bfa2e;border-color:#a78bfa80;transform:translateY(-1px);box-shadow:0 3px 10px #a78bfa2e}.tn-wiki-link:active{transform:translateY(0)scale(.98)}.tn-wiki-link--missing{color:#f87171;cursor:default;background:#f8717112;border-color:#f8717140;font-style:italic;font-weight:400}.tn-wiki-link--missing:hover{box-shadow:none;background:#f871711a;border-color:#f8717159;transform:none}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.inline{display:inline}.table{display:table}}:root{--bg-0:#080818;--bg-1:#0d0d1f;--panel:#ffffff0a;--panel-2:#ffffff08;--border:#ffffff14;--border-2:#ffffff0f;--text:#f9fafb;--text-2:#e5e7eb;--muted:#9ca3af;--muted-2:#6b7280;--muted-3:#4b5563;--muted-4:#374151;--accent-1:#7c3aed;--accent-2:#3b82f6;--accent-soft:#a78bfa40;--accent-grad:linear-gradient(135deg, var(--accent-1), var(--accent-2));--radius-sm:.5rem;--radius-md:.6rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--shadow-sm:0 6px 18px #00000047;--shadow-md:0 10px 28px #00000059;--shadow-lg:0 18px 50px #00000080;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--ring:0 0 0 3px #a78bfa38}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-0);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,sans-serif;line-height:1.5}a:focus-visible{outline-offset:3px;border-radius:.4rem;outline:2px solid #a78bfa73}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:var(--ring)}::selection{color:var(--text);background:#7c3aed59}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1);animation:overlayFade var(--dur-2) ease;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--border);border-radius:var(--radius-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:fadeSlideUp var(--dur-3) var(--ease-out);background:#0f0f23;flex-direction:column;gap:1rem;padding:2rem;display:flex}.modal h2{color:var(--text);font-size:1.1rem;font-weight:700}.modal input,.modal textarea,.modal select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);width:100%;transition:border-color var(--dur-2) ease, box-shadow var(--dur-2) ease, background-color var(--dur-2) ease;outline:none;padding:.7rem .9rem;font-size:.875rem}.modal input:focus,.modal textarea:focus,.modal select:focus{box-shadow:var(--ring);border-color:#a78bfa73}.modal textarea{resize:vertical;min-height:80px}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.btn-cancel{border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease, box-shadow var(--dur-2) ease;background:0 0;padding:.6rem 1.25rem;font-size:.875rem}.btn-cancel:hover{color:var(--text-2);background:#ffffff0a;border-color:#ffffff24;transform:translateY(-1px)}.btn-cancel:active{transform:translateY(0)}.btn-save{background:var(--accent-grad);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, opacity var(--dur-2) ease, filter var(--dur-2) ease;border:none;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;box-shadow:0 10px 30px #7c3aed38}.btn-save:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 14px 38px #7c3aed4d}.btn-save:active{filter:brightness(.98);transform:translateY(0)scale(.98)}.confirm-modal{text-align:center;max-width:320px}.confirm-message{color:var(--text-2);font-size:.95rem;line-height:1.6}.btn-delete{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, opacity var(--dur-2) ease, filter var(--dur-2) ease;background:#ef4444;border:none;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;box-shadow:0 12px 34px #ef44442e}.btn-delete:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 16px 42px #ef444440}.btn-delete:active{filter:brightness(.98);transform:translateY(0)scale(.98)}.global-search-modal{max-width:720px;padding:1.5rem}.global-search-header{justify-content:space-between;align-items:center;display:flex}.global-search-close{border:1px solid var(--border);color:var(--muted-2);border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;background:0 0}.global-search-close:hover{color:var(--text);background:#ffffff0a;border-color:#ffffff24;transform:translateY(-1px)}.global-search-close:active{transform:translateY(0)scale(.98)}.global-search-input{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);width:100%;transition:border-color var(--dur-2) ease, box-shadow var(--dur-2) ease, background-color var(--dur-2) ease;outline:none;padding:.9rem 1rem;font-size:.95rem}.global-search-input::placeholder{color:var(--muted-3)}.global-search-input:focus{box-shadow:var(--ring);border-color:#a78bfa73}.global-search-hint{color:var(--muted-2);padding:.75rem .25rem;font-size:.9rem;line-height:1.6}.global-search-results{flex-direction:column;gap:1rem;padding-top:.25rem;display:flex}.global-search-group-title{color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em;padding:0 .15rem .4rem;font-size:.75rem;font-weight:700}.global-search-group{flex-direction:column;gap:.5rem;display:flex}.global-search-item{text-align:left;border-radius:var(--radius-lg);cursor:pointer;width:100%;transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease, background-color var(--dur-2) ease, border-color var(--dur-2) ease;background:#ffffff08;border:1px solid #ffffff14;flex-direction:column;gap:.15rem;padding:.75rem .85rem;display:flex}.global-search-item:hover{box-shadow:var(--shadow-sm);background:#ffffff0d;border-color:#ffffff1f;transform:translateY(-1px)}.global-search-item-title{color:var(--text);font-size:.92rem;font-weight:650}.global-search-item-meta{color:var(--muted-2);font-size:.8rem}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
