@import "https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap";:root{font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#09090c;--sidebar:#0c0c10;--panel:#121217;--elevated:#17171e;--hover:#1c1c24;--border:#ffffff10;--border-strong:#ffffff1f;--accent:#7c6cff;--accent-hover:#a397ff;--accent-soft:#7c6cff1c;--accent-glow:#7c6cff59;--accent-grad:linear-gradient(135deg, #9486ff 0%, #7c6cff 45%, #5f4ef0 100%);--text:#ededf2;--secondary:#a1a1ae;--muted:#686876;--success:#4ade80;--warning:#fbbf24;--danger:#fb7185;--info:#60a5fa;--orange:#fb923c;--rose:#f472b6;--shadow:#0006;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 0 #ffffff08 inset, 0 10px 30px -10px #000000b3;--shadow-lg:0 1px 0 #ffffff0a inset, 0 30px 80px -20px #000c, 0 0 0 1px #ffffff0d;--glow:radial-gradient(900px 500px at 75% -10%, #7c6cff1a, transparent 60%), radial-gradient(700px 400px at -10% 110%, #f472b60d, transparent 60%);--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--fast:.14s;--dur:.22s;--slow:.38s;font-family:Onest,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--bg:#f5f5f8;--sidebar:#fafafc;--panel:#fff;--elevated:#fff;--hover:#f0f0f5;--border:#12123014;--border-strong:#12123024;--accent:#5b4cf0;--accent-hover:#4a3bdf;--accent-soft:#5b4cf012;--accent-glow:#5b4cf040;--accent-grad:linear-gradient(135deg, #7a6cff 0%, #5b4cf0 55%, #4b3bd9 100%);--text:#121218;--secondary:#5a5a6a;--muted:#8b8b9a;--success:#15803d;--warning:#a16207;--danger:#e11d48;--info:#2563eb;--orange:#c2410c;--rose:#be185d;--shadow:#1a1a4014;--shadow-sm:0 1px 2px #1a1a4012;--shadow-md:0 1px 2px #1a1a400d, 0 10px 30px -12px #1a1a4024;--shadow-lg:0 30px 80px -20px #1a1a4040, 0 0 0 1px #1a1a400f;--glow:radial-gradient(900px 500px at 75% -10%, #5b4cf00f, transparent 60%)}*{box-sizing:border-box}body{background:var(--glow), var(--bg);color:var(--text);background-attachment:fixed;margin:0;font-size:14px;line-height:1.5}::selection{background:var(--accent-glow)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:not-allowed}button,input,textarea,select,summary{transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--fast) var(--ease), opacity var(--dur) var(--ease)}button:focus-visible,summary:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);outline:none}input,textarea,select{color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;outline:none;min-width:0;max-width:100%;padding:10px 12px}input:hover,textarea:hover,select:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-strong))}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical}label{color:var(--secondary);flex-direction:column;gap:7px;font-size:12px;font-weight:500;display:flex}form{flex-direction:column;gap:18px;display:flex}h1{letter-spacing:-.035em;margin:0 0 9px;font-size:30px;font-weight:650;line-height:1.2}h2{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}h3{letter-spacing:-.01em;margin:0 0 8px;font-size:16px;font-weight:600}p{margin:0 0 12px}small{font-size:12px}svg{flex-shrink:0}.muted{color:var(--secondary)}.error,.late{color:var(--danger)!important}.due-today{color:var(--warning)}.eyebrow{color:var(--accent-hover);letter-spacing:.16em;margin-bottom:10px;font-size:10px;font-weight:600}.button{border:1px solid var(--border-strong);background:var(--panel);white-space:nowrap;min-height:36px;box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:550;display:inline-flex}.button:hover{background:var(--hover);border-color:var(--border-strong)}.button:active:not(:disabled){transform:scale(.96)}.button.primary{color:#fff;background:var(--accent-grad);box-shadow:0 1px 0 #fff3 inset, 0 6px 18px -6px var(--accent-glow);border-color:#0000;position:relative}.button.primary:hover{background:var(--accent-grad);filter:brightness(1.08);box-shadow:0 1px 0 #fff3 inset, 0 10px 26px -6px var(--accent-glow);transform:translateY(-1px)}.button.primary:active:not(:disabled){transform:translateY(0)scale(.97)}.button.ghost,.button.icon,.button.format{box-shadow:none;background:0 0;border-color:#0000}.button.ghost:hover,.button.icon:hover,.button.format:hover{background:var(--hover)}.button.icon{width:34px;min-height:34px;color:var(--secondary);padding:7px}.button.icon:hover{color:var(--text)}.button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent);box-shadow:none}.button.danger:hover{background:color-mix(in srgb, var(--danger) 16%, transparent)}.button.format{min-height:28px;color:var(--secondary);padding:3px 9px;font-weight:600}.button.format:hover{color:var(--text)}.app-layout{--side-width:252px}.app-layout.collapsed{--side-width:76px}.sidebar{width:var(--side-width);border-right:1px solid var(--border);background:color-mix(in srgb, var(--sidebar) 88%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:30;transition:width var(--slow) var(--ease), transform var(--slow) var(--ease);flex-direction:column;padding:20px 14px 14px;display:flex;position:fixed;inset:0 auto 0 0;overflow-x:hidden}.logo{letter-spacing:-.03em;text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:11px;padding:0 9px;font-size:16px;font-weight:700;display:flex}.brand-icon{background:var(--accent-grad);color:#fff;width:30px;height:30px;box-shadow:0 1px 0 #ffffff40 inset, 0 6px 16px -4px var(--accent-glow);transition:transform var(--dur) var(--spring);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.logo:hover .brand-icon{transform:rotate(-8deg)scale(1.06)}.nav-label{letter-spacing:.14em;color:var(--muted);white-space:nowrap;padding:28px 12px 8px;font-size:10px;font-weight:600}.nav-link{width:100%;min-height:38px;color:var(--secondary);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;margin:2px 0;padding:9px 12px;font-size:13px;font-weight:500;display:flex;position:relative}.nav-link:before{content:"";background:var(--accent);width:3px;height:18px;transition:transform var(--dur) var(--spring);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-14px;transform:translateY(-50%)scaleY(0)}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link:active{transform:scale(.98)}.nav-link.active{background:var(--accent-soft);color:var(--text)}.nav-link.active:before{transform:translateY(-50%)scaleY(1)}.nav-link.active svg{color:var(--accent-hover)}.nav-link .sidebar-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topics-label{justify-content:space-between;align-items:center;padding-top:26px;padding-bottom:2px;display:flex}.topic-navigation{min-height:0;margin:0 -14px;padding:0 14px;overflow:hidden auto}.small-topic{text-align:center;width:18px;font-size:16px}.sidebar-bottom{margin-top:auto;padding-top:20px}.profile{border-top:1px solid var(--border);white-space:nowrap;align-items:center;gap:10px;margin-top:12px;padding:16px 8px 3px;display:flex}.profile strong{font-size:12px;font-weight:550;display:block}.profile small{color:var(--muted);margin-top:2px;font-size:10.5px;display:block}.avatar{background:var(--accent-grad);color:#fff;width:32px;height:32px;box-shadow:0 0 0 2px var(--sidebar), 0 0 0 3px var(--border-strong);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.collapsed .sidebar-text{display:none}.collapsed .topics-label{justify-content:center}.collapsed .nav-link{justify-content:center;padding:9px 0}.collapsed .logo{padding:0 9px}.main-layout{margin-left:var(--side-width);min-width:0;height:100dvh;transition:margin-left var(--slow) var(--ease);flex-direction:column;display:flex}.app-header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 60%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-shrink:0;align-items:center;gap:15px;height:62px;padding:0 32px;display:flex}.breadcrumbs{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.breadcrumbs button{color:var(--secondary);white-space:nowrap;background:0 0;border:0;border-radius:6px;margin:0 -6px;padding:4px 6px}.breadcrumbs button:hover{color:var(--text);background:var(--hover)}.breadcrumbs span{text-overflow:ellipsis;white-space:nowrap;color:var(--text);animation:fade-in var(--dur) var(--ease);font-weight:500;overflow:hidden}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.global-search{background:var(--panel);min-width:230px;color:var(--muted);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:7px 8px 7px 11px;font-size:12.5px;display:flex}.global-search:hover{color:var(--secondary);border-color:var(--border-strong)}.global-search kbd{margin-left:auto}kbd{border:1px solid var(--border-strong);background:var(--hover);font:inherit;color:var(--secondary);border-radius:5px;padding:1px 6px;font-size:10px}.page-content{flex:1;padding:34px 36px;overflow:auto}.page-content>*{animation:rise var(--slow) var(--ease) backwards}.page-content>:nth-child(2){animation-delay:30ms}.page-content>:nth-child(3){animation-delay:60ms}.page-content>:nth-child(4){animation-delay:90ms}.page-content>:nth-child(n+5){animation-delay:.12s}.page-heading,.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-heading{margin:4px 0 28px}.page-heading p,.topic-heading p{color:var(--secondary);margin-bottom:0;font-size:13.5px}.page-heading .eyebrow{margin-bottom:10px}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}.stat-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-md);animation:rise var(--slow) var(--ease) backwards;border-radius:14px;padding:16px 18px;position:relative;overflow:hidden}.stat-card:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-glow), transparent);opacity:.7;height:1px;position:absolute;inset:0 0 auto}.stat-card:nth-child(2){animation-delay:40ms}.stat-card:nth-child(3){animation-delay:80ms}.stat-card:nth-child(4){animation-delay:.12s}.stat-card small{color:var(--secondary);font-size:11.5px;font-weight:500}.stat-card strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:28px;font-weight:650;display:block}.section-heading{margin:26px 0 18px}.section-heading h2 small{color:var(--secondary);background:var(--hover);border:1px solid var(--border);vertical-align:2px;border-radius:20px;margin-left:8px;padding:1px 7px;font-size:11.5px;font-weight:550}.controls,.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.controls select,.filter-bar select,.filter-bar input{background:var(--panel);min-height:38px;font-size:12.5px}.search-input{border:1px solid var(--border-strong);background:var(--panel);color:var(--muted);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:10px;align-items:center;gap:8px;padding-left:11px;display:flex}.search-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);color:var(--accent-hover)}.search-input input,.search-input input:focus{box-shadow:none;background:0 0;border:0;width:100%;padding:9px 10px 9px 0;font-size:12.5px}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.topic-card{border:1px solid var(--border);background:var(--panel);min-width:0;box-shadow:var(--shadow-md);transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);animation:rise var(--slow) var(--ease) backwards;border-radius:16px;padding:20px;position:relative}.topic-card:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(400px 160px at 50% -20%, var(--accent-soft), transparent 70%);opacity:0;transition:opacity var(--dur) var(--ease);position:absolute;inset:0}.topic-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md), 0 20px 40px -20px var(--accent-glow);transform:translateY(-3px)}.topic-card:hover:before{opacity:1}.topic-card:has(details[open]){z-index:6}.topic-card:nth-child(2){animation-delay:40ms}.topic-card:nth-child(3){animation-delay:80ms}.topic-card:nth-child(4){animation-delay:.12s}.topic-card:nth-child(5){animation-delay:.16s}.topic-card:nth-child(n+6){animation-delay:.2s}.card-top{justify-content:space-between;align-items:center;display:flex}.topic-symbol{background:color-mix(in srgb, currentColor 12%, transparent);width:40px;height:40px;box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 22%, transparent);transition:transform var(--dur) var(--spring);border-radius:12px;justify-content:center;align-items:center;font-size:21px;display:inline-flex}.topic-card:hover .topic-symbol{transform:scale(1.08)rotate(-4deg)}.topic-symbol.large{border-radius:15px;width:52px;height:52px;font-size:28px}.color-violet{color:var(--accent-hover)}.color-blue{color:var(--info)}.color-green{color:var(--success)}.color-amber{color:var(--warning)}.color-rose{color:var(--rose)}.card-open{text-align:left;background:0 0;border:0;width:100%;padding:18px 0 14px;display:block}.card-open h3{overflow-wrap:anywhere;font-size:16px}.card-open p{color:var(--secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;margin:0;font-size:12.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.card-counts{color:var(--secondary);gap:16px;font-size:11.5px;display:flex}.card-counts span{align-items:center;gap:6px;display:flex}.progress-label{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin:18px 0 7px;font-size:10.5px;display:flex}.progress{background:var(--hover);border-radius:5px;width:100%;height:5px;overflow:hidden}.progress span{background:var(--accent-grad);height:100%;box-shadow:0 0 12px var(--accent-glow);transition:width .7s var(--ease);animation:grow .9s var(--ease) backwards;transform-origin:0;border-radius:5px;display:block}.action-menu{position:relative}.action-menu summary{color:var(--muted);cursor:pointer;letter-spacing:1px;border-radius:8px;padding:6px 8px;font-size:18px;line-height:18px;list-style:none}.action-menu summary:hover,.action-menu[open] summary{background:var(--hover);color:var(--text)}.action-menu summary::-webkit-details-marker{display:none}.action-menu>div{z-index:5;background:var(--elevated);border:1px solid var(--border-strong);width:214px;box-shadow:var(--shadow-lg);transform-origin:100% 0;animation:pop var(--dur) var(--ease);border-radius:12px;padding:5px;position:absolute;top:36px;right:0}.action-menu button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:12.5px;display:flex}.action-menu button:hover{background:var(--hover)}.action-menu button.error:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.topic-heading{align-items:center;gap:16px;display:flex}.topic-heading>div{flex:1;min-width:0}.topic-heading h1{margin-bottom:4px}.workspace-tabs{border-bottom:1px solid var(--border);gap:26px;margin:26px 0;display:flex}.workspace-tabs button{color:var(--secondary);background:0 0;border:0;padding:0 0 13px;font-size:13.5px;font-weight:500;position:relative}.workspace-tabs button:after{content:"";background:var(--accent-grad);height:2px;box-shadow:0 0 10px var(--accent-glow);transition:transform var(--slow) var(--ease);border-radius:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.workspace-tabs button:hover,.workspace-tabs button.active{color:var(--text)}.workspace-tabs button.active:after{transform:scaleX(1)}.panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-md);border-radius:16px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:8px;padding:16px 18px;display:flex}.panel-heading h2{font-size:15px}.panel-heading .button{min-height:30px;font-size:11px}.overview-grid{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.overview-grid .task-row{flex-wrap:wrap}.overview-grid .panel>.button.ghost{color:var(--secondary);margin:10px 12px 12px}.overview-grid .panel>.button.ghost:hover{color:var(--accent-hover)}.progress-panel{align-items:center;gap:16px;margin:-10px 0 20px;padding:16px 20px;font-size:12.5px;display:flex}.progress-panel>.progress{flex:1}.progress-panel strong{font-variant-numeric:tabular-nums}.overdue-callout{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent);border-radius:12px;margin-bottom:18px;padding:11px 15px;font-size:12.5px}.task-row{border-top:1px solid var(--border);min-height:54px;transition:background var(--fast) var(--ease);animation:rise var(--slow) var(--ease) backwards;align-items:center;gap:13px;padding:11px 18px;display:flex}.task-row:nth-child(2){animation-delay:25ms}.task-row:nth-child(3){animation-delay:50ms}.task-row:nth-child(4){animation-delay:75ms}.task-row:nth-child(5){animation-delay:.1s}.task-row:nth-child(n+6){animation-delay:.125s}.task-table .task-row:first-child{border-top:0}.task-row:hover{background:var(--hover)}.task-check{border:1.5px solid var(--muted);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;padding:0;display:inline-flex}.task-check:hover{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.08)}.task-check:active{transform:scale(.88)}.task-check.done{color:#fff;background:var(--accent-grad);box-shadow:0 0 0 4px var(--accent-soft), 0 4px 12px -2px var(--accent-glow);animation:check-pop .42s var(--spring);border-color:#0000}.task-check.done svg path{stroke-width:2.6px;stroke-dasharray:22;animation:draw .32s var(--ease) 80ms backwards}.task-name{text-align:left;overflow-wrap:anywhere;min-width:80px;transition:color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);background:0 0;border:0;flex:1;padding:0;font-size:13px;-webkit-text-decoration:line-through #0000;text-decoration:line-through #0000}.task-name:hover{color:var(--accent-hover)}.completed{color:var(--muted);text-decoration:line-through}.badge{white-space:nowrap;background:color-mix(in srgb, currentColor 11%, transparent);border-radius:20px;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:550;display:inline-flex}.priority-low{color:var(--success)}.priority-medium{color:var(--warning)}.priority-high{color:var(--orange)}.priority-urgent{color:var(--danger)}.deadline{white-space:nowrap;color:var(--secondary);font-variant-numeric:tabular-nums;font-size:11.5px}.task-row>.muted{font-size:11px}.topic-tag{color:var(--accent-hover);background:var(--accent-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:20px;max-width:130px;padding:2px 8px;font-size:10.5px;overflow:hidden}.filter-tabs{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex-wrap:wrap;gap:2px;margin-bottom:14px;padding:3px;display:inline-flex}.filter-tabs button{color:var(--secondary);background:0 0;border:0;border-radius:9px;padding:6px 12px;font-size:12px;font-weight:500}.filter-tabs button:hover{color:var(--text);background:var(--hover)}.filter-tabs button.active{background:var(--hover);color:var(--text);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--border-strong)}.filter-bar{margin-bottom:18px}.filter-bar>.search-input{flex:1;min-width:150px}.note-preview{border:0;border-top:1px solid var(--border);text-align:left;background:0 0;gap:12px;width:100%;padding:14px 18px;display:flex}.note-preview:hover{background:var(--hover)}.note-preview svg{color:var(--accent-hover)}.note-preview strong{font-size:13px}.note-preview p{color:var(--secondary);word-break:break-word;margin:4px 0 0;font-size:11.5px}.notes-layout{border:1px solid var(--border);background:var(--panel);min-height:560px;box-shadow:var(--shadow-md);border-radius:16px;grid-template-columns:300px minmax(0,1fr);display:grid;overflow:hidden}.note-list{border-right:1px solid var(--border);background:color-mix(in srgb, var(--bg) 40%, var(--panel));max-height:75vh;padding:12px;overflow:auto}.note-list>select{width:100%;margin-top:10px}.note-list .search-input{margin-bottom:12px}.note-list-item{text-align:left;width:100%;animation:rise var(--slow) var(--ease) backwards;background:0 0;border:1px solid #0000;border-radius:10px;margin-bottom:4px;padding:12px;display:block;position:relative}.note-list-item:hover{background:var(--hover)}.note-list-item:active{transform:scale(.985)}.note-list-item.active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.note-list-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.note-list-item p{color:var(--muted);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:5px 0 0;font-size:11.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.note-list-item small{color:var(--accent-hover);font-size:10.5px}.note-editor{min-width:0;animation:fade-in var(--slow) var(--ease);flex-direction:column;display:flex}.editor-heading{border-bottom:1px solid var(--border);align-items:center;gap:9px;padding:12px 18px;display:flex}.editor-heading>strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.save-status{color:var(--muted);font-size:11px}.editor-heading>.error{max-width:180px;font-size:11px}.format-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;padding:8px 13px;display:flex}.note-text,.note-text:focus{box-shadow:none;resize:none;background:0 0;border:0;border-radius:0;flex:1;min-height:300px;padding:26px 28px;font-size:14.5px;line-height:1.85}.editor-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;display:flex}.editor-footer select{min-width:150px;max-width:250px;font-size:12.5px}.editor-footer small{font-size:10.5px}.note-placeholder{place-items:center;display:grid}.empty-state{text-align:center;color:var(--secondary);animation:fade-in var(--slow) var(--ease);padding:48px 20px}.empty-icon{border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);color:var(--accent-hover);background:var(--accent-soft);box-shadow:0 10px 30px -10px var(--accent-glow);border-radius:16px;margin-bottom:16px;padding:14px;display:inline-flex}.empty-state h3{color:var(--text);font-size:15.5px}.empty-state p{max-width:350px;margin:0 auto 18px;font-size:12.5px}.skeleton-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.skeleton{border:1px solid var(--border);background:linear-gradient(100deg, var(--panel) 30%, var(--hover) 50%, var(--panel) 70%);height:220px;animation:shimmer 1.4s var(--ease) infinite;background-size:200% 100%;border-radius:16px}.overlay{z-index:80;-webkit-backdrop-filter:blur(8px)saturate(140%);backdrop-filter:blur(8px)saturate(140%);animation:fade-in var(--dur) var(--ease);background:#05050a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}:root[data-theme=light] .overlay{background:#1a1a4033}.modal,.drawer{border:1px solid var(--border-strong);background:var(--elevated);box-shadow:var(--shadow-lg);max-height:90dvh;padding:24px;overflow-y:auto}.modal{width:min(480px,100%);animation:modal-in var(--slow) var(--ease);border-radius:20px}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.modal-heading h2{font-size:18px}.drawer-overlay{justify-content:flex-end;padding:0}.drawer{width:440px;max-width:100%;height:100dvh;max-height:100dvh;animation:drawer-in var(--slow) var(--ease);border-radius:0}.overlay.closing{animation:fade-out .17s var(--ease) forwards}.overlay.closing .modal{animation:modal-out .17s var(--ease) forwards}.overlay.closing .drawer{animation:drawer-out .17s var(--ease) forwards}.form-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.inline-label{flex-direction:row;align-items:center}.topic-preview{background:var(--bg);border:1px solid var(--border);border-radius:14px;gap:13px;padding:15px;display:flex}.topic-preview p{color:var(--secondary);overflow-wrap:anywhere;margin:5px 0 0;font-size:12px}.toast{z-index:120;background:var(--elevated);border:1px solid var(--border-strong);max-width:calc(100vw - 44px);box-shadow:var(--shadow-lg);animation:toast-in .42s var(--spring);border-radius:14px;align-items:center;gap:18px;padding:10px 10px 10px 16px;font-size:12.5px;font-weight:500;display:flex;position:fixed;bottom:22px;right:22px}.toast:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent);border-radius:50%;margin-right:-8px}.calendar{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:16px;overflow:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{text-align:center;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;padding:12px;font-size:11px;font-weight:550}.calendar-day{border-top:1px solid var(--border);border-right:1px solid var(--border);min-width:0;min-height:118px;transition:background var(--fast) var(--ease);padding:6px}.calendar-day:hover{background:color-mix(in srgb, var(--hover) 60%, transparent)}.calendar-day:nth-child(7n){border-right:0}.calendar-day.today{background:var(--accent-soft)}.day-number{font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;width:27px;height:27px;font-size:11.5px;font-weight:500;display:block}.day-number:hover{background:var(--hover);transform:scale(1.1)}.calendar-day.today .day-number{background:var(--accent-grad);color:#fff;box-shadow:0 4px 12px -2px var(--accent-glow)}.other-month .day-number{color:var(--muted);opacity:.6}.calendar-task{text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, currentColor 12%, transparent);text-align:left;border:0;border-left:2px solid;border-radius:5px;width:100%;margin-top:4px;padding:4px 6px;font-size:10.5px;font-weight:500;display:block;overflow:hidden}.calendar-task:hover{background:color-mix(in srgb, currentColor 22%, transparent);transform:translate(2px)}.search-results{max-height:55vh;padding-top:10px;overflow:auto}.search-results section{margin-top:15px}.search-results section>small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.search-results section>button{text-align:left;width:100%;animation:rise var(--dur) var(--ease) backwards;background:0 0;border:0;border-radius:10px;justify-content:space-between;gap:10px;padding:11px 10px;font-size:13px;display:flex}.search-results section>button:hover{background:var(--accent-soft);color:var(--text)}.search-results button small{color:var(--muted)}.auth-screen{place-items:center;min-height:100dvh;padding:25px;display:grid;position:relative;overflow:hidden}.auth-screen:before{content:"";background:radial-gradient(circle, var(--accent-glow), transparent 65%);opacity:.5;filter:blur(40px);pointer-events:none;width:700px;height:700px;animation:8s ease-in-out infinite breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.auth-box{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--elevated) 85%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:410px;max-width:100%;box-shadow:var(--shadow-lg);animation:modal-in .6s var(--ease);border-radius:22px;padding:34px;position:relative}.auth-box .logo{margin-bottom:34px;padding:0}.auth-box h1{font-size:28px}.auth-box form{margin:24px 0 16px}.auth-box .button.primary{min-height:44px;font-size:13.5px}.auth-box .button.ghost{width:100%;font-size:11px}.auth-theme{position:fixed;top:16px;right:16px}.mobile-menu,.mobile-back,.sidebar-backdrop{display:none}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pop{0%{opacity:0;transform:translateY(-6px)scale(.95)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes modal-out{to{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes drawer-out{to{transform:translate(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)scale(.94)}}@keyframes check-pop{0%{transform:scale(.7)}55%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes draw{0%{stroke-dashoffset:22px}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes breathe{50%{opacity:.75;transform:translate(-50%,-60%)scale(1.08)}}@media (width>=1600px){.topic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.page-content{padding:40px 52px}}@media (width>=768px) and (width<=1279px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-content{padding:26px}.overview-grid{grid-template-columns:1fr}.notes-layout{grid-template-columns:240px minmax(0,1fr)}.controls .search-input{max-width:180px}.global-search{min-width:0}.global-search span{display:none}}@media (width<=767px){.app-layout{--side-width:0px}.sidebar,.collapsed .sidebar{width:260px;box-shadow:var(--shadow-lg);background:var(--sidebar);transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.collapsed .sidebar.mobile-open .sidebar-text{display:block}.collapsed .sidebar.mobile-open .nav-link{justify-content:flex-start;padding:9px 12px}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:25;animation:fade-in var(--dur) var(--ease);background:#05050a99;border:0;display:block;position:fixed;inset:0}.mobile-menu,.mobile-back{display:inline-flex!important}.app-header{gap:8px;height:58px;padding:0 14px}.header-actions{gap:7px}.global-search{background:0 0;border:0;min-width:0}.global-search span,.global-search kbd,.header-actions>.button span{display:none}.breadcrumbs{gap:4px;font-size:11px}.breadcrumbs button{text-overflow:ellipsis;max-width:95px;overflow:hidden}.page-content{padding:22px 16px}.page-heading{flex-wrap:wrap;align-items:flex-start}h1{font-size:25px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:13px}.stat-card strong{font-size:23px}.section-heading{flex-wrap:wrap;gap:12px}.controls{width:100%}.controls .search-input{flex:1;min-width:130px}.topic-grid,.overview-grid{grid-template-columns:1fr}.topic-heading{gap:10px}.topic-heading h1{font-size:23px}.topic-heading p{font-size:11.5px}.topic-heading .button.icon{width:28px}.task-row{flex-wrap:wrap;gap:9px;padding:12px}.task-row .topic-tag{display:none}.task-row .badge{font-size:9.5px}.task-row .deadline{font-size:10.5px}.filter-bar>*{flex:1;min-width:120px}.filter-tabs{display:flex}.filter-tabs button{padding:6px 8px;font-size:11px}.notes-layout{min-height:450px;display:block}.note-list{border-right:0;max-height:none}.notes-layout.has-selection .note-list,.notes-layout:not(.has-selection) .note-placeholder{display:none}.editor-heading{gap:6px;padding:10px}.editor-heading .save-status{font-size:9.5px}.note-text{min-height:350px;padding:18px}.drawer{width:100%}.modal{border-radius:18px;padding:20px}.form-actions{flex-wrap:wrap}.calendar-day{min-height:86px;padding:3px}.calendar-task{padding:3px 2px;font-size:8.5px}.calendar-weekdays span{padding:10px 0;font-size:9.5px}.skeleton-grid{grid-template-columns:1fr}.progress-panel{flex-wrap:wrap}.progress-panel>.progress{flex-basis:100%}.auth-box{padding:26px}}@media (hover:none){.topic-card:hover,.button.primary:hover{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.modal.task-create{width:min(480px,100%)}.modal.task-workspace{flex-direction:column;width:min(1100px,100%);max-height:90dvh;display:flex;overflow:hidden}.task-back{margin-bottom:20px}.task-detail-grid{flex:1;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:32px;min-height:0;display:grid;overflow:hidden}.task-linked-notes{border-right:1px solid var(--border);min-width:0;min-height:0;max-height:100%;padding-right:24px;overflow-y:auto}.task-details-form{min-width:0;margin-top:0}.task-notes-heading{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.task-notes-heading h3{flex:1;margin:0}.task-notes-heading small{color:var(--muted);margin-left:5px}.task-note-list{margin:16px 0}.task-note-card{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden}.task-note-toggle{background:var(--hover);text-align:left;border:0;align-items:center;gap:8px;width:100%;padding:14px;display:flex}.task-note-toggle span{overflow-wrap:anywhere;min-width:0}.task-note-toggle svg{flex-shrink:0}.task-note-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.task-note-body{padding:14px}.task-note-body textarea{resize:vertical;width:100%;min-height:180px;line-height:1.7}.task-note-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.task-note-attach{align-items:end;gap:8px;margin-bottom:12px;display:flex}.task-note-attach label{flex:1;min-width:0}.task-note-attach select{width:100%;min-width:0}@media (width<=767px){.modal.task-create,.modal.task-workspace{padding:18px}.modal.task-workspace{display:block;overflow-y:auto}.task-detail-grid{flex-direction:column;gap:28px;display:flex}.task-details-form{order:-1;width:100%}.task-linked-notes{border-right:0;border-top:1px solid var(--border);width:100%;max-height:none;padding:24px 0 0;overflow:visible}}.task-note-card{transition:border-color var(--dur) var(--ease);border-radius:12px}.task-note-card:has([aria-expanded=true]){border-color:var(--border-strong)}.task-note-toggle svg{transition:transform var(--dur) var(--ease)}.task-note-toggle:hover{background:var(--accent-soft)}.task-note-card>div:not([hidden]){animation:rise var(--dur) var(--ease)}.task-linked-notes{animation:fade-in var(--slow) var(--ease)}.sidebar-top{align-items:center;gap:4px;display:flex}.sidebar-top .logo{flex:1;min-width:0}.sidebar-toggle{flex-shrink:0}.collapsed .sidebar-top{flex-direction:column}.deadline-board{grid-auto-columns:minmax(225px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:14px;display:grid;overflow-x:auto}.board-column{border:1px solid var(--border);background:var(--panel);border-radius:12px;min-width:225px;min-height:220px;padding:14px}.board-column h3{justify-content:space-between;margin:0 0 16px;font-size:13px;display:flex}.board-column h3 small{color:var(--muted)}.board-items{gap:8px;display:grid}.board-items>p{font-size:12px}.board-card{border:1px solid var(--border);background:var(--bg);text-align:left;overflow-wrap:anywhere;border-radius:8px;gap:10px;width:100%;padding:13px;display:grid}.board-card:hover{border-color:var(--accent)}.board-topic,.board-meta{color:var(--secondary);font-size:11px}.board-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-month{margin:0 0 16px;font-size:16px}.task-note-attach{display:block}.task-note-picker{border:1px solid var(--border);border-radius:8px;margin-top:10px;padding:12px}.task-note-options{gap:4px;max-height:220px;margin-top:8px;display:grid;overflow-y:auto}.task-note-options button{text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:0;border-radius:6px;min-width:0;padding:9px;overflow:hidden}.task-note-options button:hover{background:var(--hover)}@media (width<=767px){.collapsed .sidebar.mobile-open .sidebar-top{flex-direction:row}.deadline-board{grid-auto-columns:minmax(235px,80%)}}.board-column{box-shadow:var(--shadow-md);border-radius:16px}.board-card{transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);animation:rise var(--slow) var(--ease) backwards;border-radius:12px}.board-card:hover{box-shadow:0 12px 28px -14px var(--accent-glow);transform:translateY(-2px)}.board-card:active{transform:scale(.98)}.task-note-picker{animation:pop var(--dur) var(--ease);border-radius:12px}.task-note-options button{border-radius:8px}.note-view-switch{gap:6px;padding:10px 14px;display:flex}.note-view-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-hover)}.markdown-preview{overflow-wrap:anywhere;flex:1;min-width:0;min-height:180px;padding:18px 24px;line-height:1.75}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin:1em 0 .5em;line-height:1.25}.markdown-preview h1{font-size:1.8em}.markdown-preview h2{font-size:1.5em}.markdown-preview h3{font-size:1.2em}.markdown-preview p{white-space:pre-wrap;margin:.7em 0}.markdown-preview ul,.markdown-preview ol{padding-left:1.6em}.markdown-preview blockquote{border-left:3px solid var(--accent);color:var(--secondary);margin:1em 0;padding-left:1em}.markdown-preview pre{background:var(--bg);border-radius:8px;padding:12px;overflow-x:auto}.markdown-preview code{font-family:monospace}.markdown-preview a{color:var(--accent-hover)}.markdown-preview table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.markdown-preview th,.markdown-preview td{border:1px solid var(--border);padding:6px 10px}.markdown-preview input[type=checkbox]{width:auto}.task-note-body .markdown-preview{padding:12px 0}
