.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-header{position:sticky;top:0;z-index:100;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-header-inner{display:flex;align-items:center;gap:.5rem;max-width:1080px;margin:0 auto;padding:0 1.25rem;height:52px}.app-brand{display:flex;align-items:center;gap:.5rem;margin-right:.5rem;color:var(--text);text-decoration:none;flex-shrink:0}.app-brand:hover{opacity:.8}.app-logo{width:26px;height:26px;border-radius:6px;-o-object-fit:contain;object-fit:contain}.app-brand-text{font-size:.9375rem;font-weight:600;letter-spacing:-.02em}.app-nav{display:flex;align-items:stretch;height:100%;margin-left:.25rem}.app-nav-item{display:inline-flex;align-items:center;gap:.375rem;padding:0 .875rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.app-nav-item:hover{color:var(--text)}.app-nav-item.active{color:var(--primary);border-bottom-color:var(--primary)}.app-header-end{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.app-user-menu{position:relative}.app-user-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-size:.8125rem;font-weight:600;border:1px solid var(--primary-border)}.app-user-trigger:hover{background:#e0e9f8}.app-user-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:168px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:.375rem;z-index:200}.app-user-dropdown-name{padding:.5rem .625rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border-light);margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-logout-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .625rem;border-radius:6px;font-size:.8125rem;color:var(--danger)}.app-logout-btn:hover{background:var(--danger-light)}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.main.main--kanban{padding:1.25rem 1.25rem 1.5rem}.bottom-nav{display:none}@media (max-width: 768px){.app-header-inner{padding:0 .875rem;height:48px}.app-nav{display:none}.app-brand-text{font-size:.875rem}.main,.main.main--kanban{padding:1rem .875rem 5.5rem}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:.25rem .5rem calc(.25rem + env(safe-area-inset-bottom));z-index:100}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:.375rem 0;color:var(--text-muted);font-size:.625rem;font-weight:500;flex:1;text-decoration:none;position:relative}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--primary);border-radius:1px}}@media (max-width: 480px){.app-brand-text{display:none}}.alert-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a61;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alert-dialog-content{position:fixed;left:50%;top:50%;z-index:50;display:grid;width:min(720px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;gap:1.5rem;transform:translate(-50%,-50%);border:1px solid #e5e7eb;border-radius:28px;background:#fff;padding:2rem;box-shadow:0 28px 80px #0f172a2e}.alert-dialog-header{display:flex;flex-direction:column;gap:.5rem;text-align:left}.alert-dialog-title{margin:0;font-size:1.125rem;font-weight:700;line-height:1.2;color:#0f172a}.alert-dialog-description{margin:0;font-size:.95rem;line-height:1.6;color:#64748b}.alert-dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap}.alert-dialog-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:88px;min-height:48px;padding:.75rem 1.25rem;border-radius:9999px;border:1px solid transparent;font-size:1rem;font-weight:600;line-height:1;white-space:nowrap;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.alert-dialog-button:hover{transform:translateY(-1px)}.alert-dialog-button:focus-visible{outline:none;box-shadow:0 0 0 4px #002fa724}.alert-dialog-button-secondary{border-color:#dbe2ea;background:#fff;color:#475569}.alert-dialog-button-secondary:hover{background:#f8fafc;color:#0f172a}.alert-dialog-button-primary{background:var(--primary);color:#fff}.alert-dialog-button-primary:hover{background:var(--primary-hover)}.alert-dialog-button-danger{background:#ef4444;color:#fff}.alert-dialog-button-danger:hover{background:#dc2626}@media (max-width: 640px){.alert-dialog-content{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);gap:1.25rem;padding:1.25rem;border-radius:24px}.alert-dialog-footer{flex-direction:column-reverse;align-items:stretch}.alert-dialog-button{width:100%}}.article-dropdown-sub-trigger svg:last-child{color:#9ca3af}.article-dropdown-categories{max-height:min(260px,42vh);overflow-y:auto;overscroll-behavior:contain;padding:6px!important}.article-dropdown-categories [role=menuitem]{padding:8px 12px;gap:10px;border-radius:8px}.article-dropdown-categories-empty{padding:12px;font-size:.75rem;color:var(--text-muted);text-align:center;margin:0}.menu-category-dot--none{background:#e2e8f0!important;box-shadow:0 0 0 1px #cbd5e1!important}.article-title-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.article-title-row .article-title{flex:1;margin-bottom:0}.article-note-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--primary-bg);color:var(--primary);border-radius:999px;font-size:.75rem;font-weight:500;flex-shrink:0}.article-list{animation:fadeIn .3s ease-out}.list-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.25rem;gap:1rem}.list-header-title-row{display:flex;align-items:center;gap:.375rem}.list-header h2{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;color:var(--text)}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;color:var(--text-muted);transition:all .2s ease}.refresh-btn:hover:not(:disabled){color:var(--primary);background:#eef2ff}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .spinning{animation:spin .8s linear infinite}.list-header--embedded{justify-content:flex-end;margin-bottom:.75rem;min-height:2rem}.list-subtitle{margin-top:.375rem;color:var(--text-muted);font-size:.875rem}.list-subtitle--embedded{margin:-.5rem 0 .75rem}.count{color:var(--text-muted);font-size:.75rem;font-weight:500;background:var(--bg);padding:.25rem .625rem;border-radius:6px;flex-shrink:0;margin-top:.125rem}.group-filter{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;overflow-x:auto;padding-bottom:.125rem}.group-filter::-webkit-scrollbar{height:0}.group-filter-item,.group-manage-link{display:inline-flex;align-items:center;gap:.375rem;min-height:32px;padding:.375rem .75rem;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:.8125rem;font-weight:500;white-space:nowrap;transition:background .15s,color .15s}.group-filter-item:hover,.group-manage-link:hover{color:var(--text);background:var(--border-light)}.group-filter-item.active{background:var(--primary-bg);color:var(--primary);font-weight:600}.group-filter-item span:last-child{color:var(--text-muted);font-size:.75rem;font-weight:500}.group-dot,.menu-category-dot{width:.5rem;height:.5rem;border-radius:9999px;flex-shrink:0}.group-manage-link{margin-left:auto;color:var(--text-muted)}.load-more-sentinel{height:1px}.load-more{text-align:center;padding:1rem 0 .5rem;color:var(--text-muted);font-size:.875rem}.load-more.end{padding-bottom:1rem}.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.skeleton-card{background:var(--card-bg);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.skeleton-line{height:16px;margin-bottom:.75rem;border-radius:6px}.skeleton-line.short{width:30%}.skeleton-line.medium{width:70%}.skeleton-line.long{width:100%}.empty{text-align:center;padding:3.5rem 1.5rem;background:var(--card-bg);border-radius:var(--content-radius, 12px);border:1px dashed var(--border)}.empty-icon{width:56px;height:56px;margin:0 auto 1.25rem;background:var(--primary-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.empty p{margin-bottom:.375rem;font-size:.9375rem;color:var(--text);font-weight:500}.empty-hint{font-size:.8125rem;color:var(--text-muted);margin-bottom:1.25rem}.empty button{background:var(--primary);color:#fff;padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.875rem;border:none;display:inline-flex;align-items:center;transition:background .15s}.empty button:hover{background:var(--primary-hover)}.articles{display:flex;flex-direction:column;gap:.75rem}.article-card{background:var(--card-bg);border-radius:var(--content-radius, 12px);padding:1.125rem 1.25rem;border:1px solid var(--border);transition:border-color .15s,box-shadow .15s;position:relative;overflow:visible;cursor:pointer}.article-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-sm)}.article-card.menu-open{z-index:50;border-color:var(--primary);box-shadow:var(--shadow-md)}.article-card.read{opacity:.85}.article-card.read .article-title{color:var(--text-secondary)}.article-card.add-article-card{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:2px dashed var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:180px}.article-card.add-article-card:hover{border-color:var(--primary);background:linear-gradient(135deg,#eef2ff,#e0e7ff);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.add-article-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.add-icon{width:64px;height:64px;background:var(--primary-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse 2s ease-in-out infinite}.add-article-content h3{font-size:1.25rem;font-weight:700;color:var(--text);margin:0}.add-article-content p{font-size:.875rem;color:var(--text-secondary);margin:0}.article-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.75rem;flex-wrap:wrap}.site-name{color:var(--primary);font-weight:600;background:linear-gradient(135deg,#eef2ff,#e0e7ff);padding:.25rem .625rem;border-radius:6px;font-size:.75rem;letter-spacing:.025em}.dot{color:var(--border)}.time{display:flex;align-items:center;gap:.25rem;color:var(--text-muted)}.article-group-badge{display:inline-flex;align-items:center;gap:.375rem;max-width:10rem;color:var(--text-secondary);background:#f8fafc;padding:.25rem .625rem;border:1px solid var(--border-light);border-radius:9999px;font-size:.75rem;font-weight:600}.article-group-badge .group-dot{width:.45rem;height:.45rem}.article-card .article-title{font-size:1.35rem;font-weight:700;line-height:1.5;margin-bottom:.75rem;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.025em;transition:color .3s}.article-card:hover .article-title{color:var(--primary)}.article-excerpt{font-size:.9rem;color:var(--text-secondary);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1rem}.article-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border-light);gap:1rem}.article-info{font-size:.8rem;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:.375rem;background:var(--bg);padding:.375rem .75rem;border-radius:8px}.article-actions{display:flex;align-items:center;gap:.375rem}.action-btn{padding:.5rem;color:var(--text-muted);border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.action-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#002fa714;transform:translate(-50%,-50%);transition:width .3s,height .3s}.action-btn:hover:after{width:100px;height:100px}.action-btn:hover{background:var(--bg);color:var(--primary);transform:scale(1.1)}.action-btn:active{transform:scale(.95)}.action-btn.active{color:var(--warning);background:linear-gradient(135deg,#fef3c7,#fde68a)}.action-btn.active:hover{background:linear-gradient(135deg,#fde68a,#fcd34d)}.article-dropdown{margin-top:0;overflow:visible}.article-dropdown [role=menuitem]{font-size:.8125rem}.article-dropdown [role=menuitem] svg{width:18px;height:18px;flex-shrink:0;color:#9ca3af;transition:color .15s ease}.article-dropdown [role=menuitem]:hover svg{color:#6b7280}.article-dropdown .menu-category-dot{width:18px;height:18px;border:4px solid #fff;box-shadow:0 0 0 1px #e5e7eb}.article-dropdown [role=menuitem][data-destructive=true] svg{color:#f87171}.article-dropdown [role=menuitem][data-destructive=true]:hover svg{color:#dc2626}.article-dropdown [data-radix-dropdown-menu-separator]{margin:6px 12px!important;background:#f3f4f6!important;height:1px!important}.reading-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--border-light);border-radius:0 0 16px 16px;overflow:hidden}.progress-bar{height:100%;background:var(--primary-gradient);transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@media (max-width: 640px){.article-list{padding:0 .5rem}.list-header h2{font-size:1.5rem}.list-header{align-items:flex-start}.group-manage-link{margin-left:0}.article-card{padding:1.25rem;border-radius:14px}.article-card .article-title{font-size:1.2rem}.articles{max-height:calc(100vh - 220px)}}.edit-article-form{padding:1rem 0}.edit-article-form .form-group{margin-bottom:1.25rem}.edit-article-form .form-group:last-child{margin-bottom:0}.edit-article-form label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.edit-article-form .form-input,.edit-article-form .form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;font-size:.925rem;color:var(--text);background:var(--bg);transition:all .2s;outline:none;font-family:inherit}.edit-article-form .form-input:focus,.edit-article-form .form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #002fa71a}.edit-article-form .form-textarea{resize:vertical;min-height:80px;line-height:1.6}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.md-prose{--md-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--md-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--md-width: 42rem;--md-size: 1rem;--md-leading: 1.8;--md-muted: var(--text-secondary);font-family:var(--md-font);font-size:var(--md-size);line-height:var(--md-leading);color:var(--text);word-break:break-word;max-width:var(--md-width)}.md-prose>:first-child{margin-top:0!important}.md-prose>:last-child{margin-bottom:0!important}.md-prose h1,.md-prose h2,.md-prose h3,.md-prose h4,.md-prose h5,.md-prose h6{font-weight:600;line-height:1.35;color:var(--text);letter-spacing:-.02em}.md-prose h1{font-size:1.625rem;margin:0 0 .75em;padding-bottom:.35em;border-bottom:1px solid var(--border-light)}.md-prose h2{font-size:1.35rem;margin:1.5em 0 .6em}.md-prose h3{font-size:1.15rem;margin:1.25em 0 .5em}.md-prose h4{font-size:1.05rem;margin:1em 0 .4em}.md-prose p{margin:0 0 1em}.md-prose li>p{margin:.35em 0}.md-prose li>p:last-child{margin-bottom:0}.md-prose strong{font-weight:600;color:var(--text)}.md-prose em{font-style:italic}.md-prose del{color:var(--md-muted);text-decoration:line-through}.md-prose ul,.md-prose ol{margin:.5em 0 1em;padding-left:1.625em}.md-prose ul{list-style-type:disc}.md-prose ol{list-style-type:decimal;list-style-position:outside}.md-prose li{margin:.4em 0;padding-left:.2em}.md-prose ol>li::marker{font-weight:600;color:var(--primary)}.md-prose ul ul,.md-prose ol ol,.md-prose ul ol,.md-prose ol ul{margin:.35em 0}.md-prose li:has(.md-task-checkbox){list-style:none;margin-left:-1.5em;padding-left:0}.md-prose .md-task-checkbox{margin:0 .5em 0 0;vertical-align:.15em;accent-color:var(--primary);cursor:pointer;width:1em;height:1em}.md-prose .md-task-checkbox:disabled{cursor:default}.md-prose .md-blockquote{margin:1em 0;padding:.75em 1em;border-left:4px solid var(--primary);background:var(--primary-bg);color:var(--text);border-radius:0 8px 8px 0}.md-prose .md-blockquote p{margin:.35em 0}.md-prose .md-blockquote p:first-child{margin-top:0}.md-prose .md-blockquote strong:first-child{display:inline-block;margin-bottom:.35em;font-size:.8125rem;font-weight:600;color:var(--primary);text-transform:none}.md-prose .md-code-inline{font-family:var(--md-mono);font-size:.88em;background:var(--border-light);color:#c7254e;padding:.15em .45em;border-radius:4px}.md-prose .md-code-block{margin:1em 0;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:#1e293b}.md-prose .md-code-header{display:flex;align-items:center;justify-content:space-between;padding:.35rem .5rem .35rem .75rem;background:#0f172a;border-bottom:1px solid #334155}.md-prose .md-code-lang{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.md-prose .md-code-copy{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border:1px solid #334155;border-radius:5px;background:transparent;color:#94a3b8;font-size:.6875rem;cursor:pointer;transition:all .15s}.md-prose .md-code-copy:hover{border-color:#64748b;color:#e2e8f0;background:#1e293b}.md-prose .md-pre{margin:0;padding:1rem 1.125rem;overflow-x:auto;font-family:var(--md-mono);font-size:.8125rem;line-height:1.6;color:#e2e8f0;background:transparent}.md-prose .md-pre code{background:none;padding:0;color:inherit;font-size:inherit}.md-prose .hljs{color:#abb2bf}.md-prose .hljs-comment,.md-prose .hljs-quote{color:#5c6370;font-style:italic}.md-prose .hljs-doctag,.md-prose .hljs-keyword,.md-prose .hljs-formula{color:#c678dd}.md-prose .hljs-section,.md-prose .hljs-name,.md-prose .hljs-selector-tag,.md-prose .hljs-deletion,.md-prose .hljs-subst{color:#e06c75}.md-prose .hljs-literal{color:#56b6c2}.md-prose .hljs-string,.md-prose .hljs-regexp,.md-prose .hljs-addition,.md-prose .hljs-attribute,.md-prose .hljs-meta .hljs-string{color:#98c379}.md-prose .hljs-attr,.md-prose .hljs-variable,.md-prose .hljs-template-variable,.md-prose .hljs-type,.md-prose .hljs-selector-class,.md-prose .hljs-selector-attr,.md-prose .hljs-selector-pseudo,.md-prose .hljs-number{color:#d19a66}.md-prose .hljs-symbol,.md-prose .hljs-bullet,.md-prose .hljs-link,.md-prose .hljs-meta,.md-prose .hljs-selector-id,.md-prose .hljs-title{color:#61aeee}.md-prose .hljs-built_in,.md-prose .hljs-title.class_,.md-prose .hljs-class .hljs-title{color:#e6c07b}.md-prose .hljs-emphasis{font-style:italic}.md-prose .hljs-strong{font-weight:700}.md-prose .hljs-link{text-decoration:underline}.md-prose a{color:var(--primary);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--primary-border)}.md-prose a:hover{color:var(--primary-hover);text-decoration-color:var(--primary)}.md-prose hr{border:none;height:1px;background:var(--border);margin:1.75em 0}.md-prose .md-table-scroll{margin:1em 0;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.md-prose .md-table{width:100%;border-collapse:collapse;font-size:.875rem}.md-prose .md-table th,.md-prose .md-table td{border:1px solid var(--border);padding:.5em .75em;text-align:left}.md-prose .md-table th{background:var(--bg);font-weight:600}.md-prose .md-table tr:nth-child(2n) td{background:var(--border-light)}.md-prose img{display:block;max-width:100%;height:auto;margin:1em 0;border-radius:8px;border:1px solid var(--border-light)}.md-prose .katex-display{margin:1em 0;overflow-x:auto;overflow-y:hidden;padding:.25em 0}.md-prose .katex{font-size:1.1em}.md-prose .katex-display>.katex{font-size:1.21em}.md-prose--compact{--md-size: .875rem;--md-leading: 1.65;--md-width: none}.md-prose--compact h1,.md-prose--compact h2,.md-prose--compact h3{font-size:1rem;margin:.5em 0 .25em;border:none;padding:0}.md-prose--compact .md-code-block{margin:.5em 0}.md-prose--compact .katex{font-size:1em}.note-editor{display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0}.note-editor-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.note-editor-format-group{display:flex;align-items:center;gap:0;padding:.125rem;background:var(--border-light);border-radius:8px;overflow-x:auto;scrollbar-width:none}.note-editor-format-group::-webkit-scrollbar{display:none}.note-editor-format-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.note-editor-format-btn:hover{background:var(--card-bg);color:var(--text)}.note-editor-mode-group{display:flex;align-items:center;gap:.25rem}.note-editor-toolbar-end{display:flex;align-items:center;gap:.5rem;margin-left:auto;padding-left:.5rem}.note-editor-tab{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all .15s}.note-editor-tab:hover{border-color:var(--primary-border);color:var(--primary)}.note-editor-tab.active{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary)}.note-editor-textarea{width:100%;flex:1;border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;font-size:.9375rem;line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;resize:none;background:var(--card-bg);color:var(--text);min-height:200px}.note-editor-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.note-editor-preview{border:1px solid var(--border-light);border-radius:10px;padding:1.25rem 1.5rem;background:var(--card-bg);overflow-y:auto;min-height:8rem}.note-editor-preview .md-prose{margin:0 auto}.note-editor-edit-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.note-editor-edit-btn:hover{border-color:var(--primary-border);color:var(--primary);background:var(--primary-bg)}.note-editor-done-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;flex-shrink:0}.note-editor-done-btn:hover{background:var(--primary-hover)}.note-editor--readonly .note-editor-preview{border:none;padding:.25rem 0;background:transparent}.note-editor-preview--view{max-height:none}.note-editor-preview-empty{color:var(--text-muted);font-size:.875rem;margin:0}.note-editor-split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;flex:1;min-height:0}.note-editor-split .note-editor-textarea,.note-editor-split .note-editor-preview{min-height:280px;max-height:calc(100vh - 260px)}.note-editor-stats{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--text-muted);padding-top:.125rem}.note-editor-stats-sep{opacity:.4}.note-editor-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.note-editor-dialog{width:420px;max-width:92vw;background:var(--card-bg);border-radius:12px;box-shadow:0 8px 32px #0000002e;overflow:hidden}.note-editor-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;font-size:.9375rem;font-weight:600;border-bottom:1px solid var(--border-light)}.note-editor-dialog-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.note-editor-dialog-close:hover{background:var(--border-light);color:var(--text)}.note-editor-dialog-body{display:flex;flex-direction:column;gap:.875rem;padding:1.25rem}.note-editor-dialog-body label{display:flex;flex-direction:column;gap:.375rem}.note-editor-dialog-body label span{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.note-editor-dialog-body input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.875rem;background:var(--bg);color:var(--text);outline:none;transition:border-color .15s}.note-editor-dialog-body input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.note-editor-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.875rem 1.25rem;border-top:1px solid var(--border-light);background:var(--bg)}.note-editor-dialog-cancel{padding:.375rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text-secondary);font-size:.8125rem;cursor:pointer}.note-editor-dialog-cancel:hover{border-color:var(--primary-border);color:var(--text)}.note-editor-dialog-confirm{padding:.375rem .875rem;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer}.note-editor-dialog-confirm:hover{background:var(--primary-hover)}.note-editor-dialog-confirm:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.note-editor-split{grid-template-columns:1fr}.note-editor-format-group{flex-wrap:nowrap}.note-editor-dialog{width:94vw}}.article-notes{width:100%;max-width:640px;margin:0 auto;padding:1.5rem 0;border-top:1px solid var(--border-light)}.article-notes-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--text)}.article-notes-header h3{font-size:1rem;font-weight:600;flex:1}.article-notes-count{font-size:.8125rem;color:var(--text-muted);background:var(--border-light);padding:.125rem .5rem;border-radius:999px}.article-notes-compose{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.article-notes-title-input,.article-notes-textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:.625rem .75rem;font-size:.9375rem;font-family:inherit;background:var(--card-bg);color:var(--text);resize:vertical}.article-notes-title-input:focus,.article-notes-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.article-notes-compose-actions{display:flex;align-items:center;justify-content:space-between}.article-notes-hint{font-size:.75rem;color:var(--text-muted)}.article-notes-save-btn{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;cursor:pointer;transition:background .15s}.article-notes-save-btn:hover:not(:disabled){background:var(--primary-hover)}.article-notes-save-btn:disabled{opacity:.5;cursor:not-allowed}.article-notes-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.article-notes-item{display:flex;gap:.5rem;align-items:flex-start;background:var(--bg);border-radius:10px;padding:.75rem}.article-notes-item-body{flex:1;text-align:left;background:none;border:none;cursor:pointer;font-family:inherit;color:inherit;padding:0}.article-notes-item-title{font-weight:600;font-size:.9375rem;margin-bottom:.25rem}.article-notes-quote{display:flex;gap:.375rem;align-items:flex-start;margin:.375rem 0;padding:.5rem .625rem;border-left:3px solid var(--primary-border);background:var(--primary-bg);border-radius:0 6px 6px 0;font-size:.8125rem;color:var(--text-secondary)}.article-notes-item-content{font-size:.875rem;color:var(--text-secondary);line-height:1.5;text-align:left}.article-notes-item-content p{margin:.35em 0}.article-notes-item-time{display:block;margin-top:.375rem;font-size:.75rem;color:var(--text-muted)}.article-notes-delete{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:6px}.article-notes-delete:hover{color:var(--danger);background:var(--danger-light)}.article-notes-all-link{display:inline-block;margin-top:1rem;font-size:.875rem;color:var(--primary);text-decoration:none}.article-notes--compact{padding:1rem 0 0}.reader{height:100vh;display:flex;flex-direction:column;background:var(--card-bg);margin:-1.5rem;position:relative;transition:background .3s ease,color .3s ease}.reader-loading,.reader-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.reader-error a{color:var(--primary)}.reader--theme-light{--reader-bg: #ffffff;--reader-text: #1e293b;--reader-text-secondary: #64748b;--reader-border: #e2e8f0;--reader-header-bg: #ffffff;--reader-toc-bg: #f8fafc}.reader--theme-sepia{--reader-bg: #fbf0d9;--reader-text: #5b4b3a;--reader-text-secondary: #8b7355;--reader-border: #e6d5b8;--reader-header-bg: #f5e6c8;--reader-toc-bg: #f2dfbe}.reader--theme-dark{--reader-bg: #1a1a2e;--reader-text: #e2e8f0;--reader-text-secondary: #94a3b8;--reader-border: #334155;--reader-header-bg: #16213e;--reader-toc-bg: #0f172a}.reader--theme-dark .reader-content{filter:brightness(.9) contrast(1.1)}.reader--theme-dark .reader-content img{filter:brightness(.85)}.reader--theme-dark .reader-content a{color:#60a5fa}.reader--focus .reader-header{opacity:0;pointer-events:none;transition:opacity .2s}.reader--focus:hover .reader-header{opacity:1;pointer-events:auto}.reader--external{height:100vh}.external-reader-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.external-reader{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem 1rem;text-align:center}.external-hint{color:var(--text-secondary);font-size:.875rem;max-width:420px;margin:.5rem 0 1.25rem;line-height:1.5}.external-notes-wrap{max-width:640px;margin:0 auto;padding:0 1.5rem 2rem}.external-icon{width:80px;height:80px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.external-reader h2{font-size:1.5rem;margin-bottom:.5rem}.external-reader p{color:var(--text-secondary);max-width:300px;margin-bottom:2rem}.open-original-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:300px;padding:1rem 2rem;background:var(--primary);color:#fff;border-radius:12px;font-size:1rem;font-weight:600;margin-bottom:1rem;transition:background .2s}.open-original-btn:hover{background:var(--primary-hover)}.reader-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--reader-border);background:var(--reader-header-bg);position:sticky;top:0;z-index:20;transition:background .3s,border-color .3s}.back-btn{padding:.5rem;color:var(--reader-text)}.reader-actions{display:flex;align-items:center;gap:.125rem;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:.25rem;padding:.35rem .4rem;color:var(--reader-text-secondary);border-radius:6px;transition:all .2s;font-size:.75rem;white-space:nowrap}.action-btn:hover{background:var(--reader-border);color:var(--reader-text)}.action-btn.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.action-btn-label{display:none}@media (min-width: 640px){.action-btn-label{display:inline}}.reader-progress{height:2px;background:var(--reader-border);position:sticky;top:57px;z-index:10;transition:background .3s}.progress-bar{height:100%;background:var(--primary);transition:width .3s ease}.reader-body{flex:1;display:flex;overflow:hidden}.reader-toc{width:240px;min-width:200px;background:var(--reader-toc-bg);border-right:1px solid var(--reader-border);display:flex;flex-direction:column;overflow:hidden;transition:background .3s,border-color .3s}.reader-toc-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:var(--reader-text-secondary);border-bottom:1px solid var(--reader-border)}.reader-toc-header button{font-size:1.25rem;line-height:1;color:var(--reader-text-secondary);padding:0 .25rem}.reader-toc-nav{flex:1;overflow-y:auto;padding:.5rem 0}.reader-toc-link{display:block;padding:.3rem 1rem;font-size:.8rem;color:var(--reader-text-secondary);border-left:2px solid transparent;transition:all .15s;line-height:1.4;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-toc-link:hover{color:var(--reader-text);background:color-mix(in srgb,var(--reader-border) 30%,transparent)}.reader-toc-link--active{color:var(--primary);border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);font-weight:500}.reader-toc-link--h2{padding-left:1rem}.reader-toc-link--h3{padding-left:1.6rem}.reader-toc-link--h4{padding-left:2.2rem}.reader-toc-link--h5{padding-left:2.8rem}.reader-toc-link--h6{padding-left:3.4rem}.reader-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--reader-bg);color:var(--reader-text);transition:background .3s,color .3s}.reader-article{padding:2rem 1rem;max-width:740px;margin:0 auto;transition:padding .2s}.article-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--reader-border);transition:border-color .3s}.article-header .article-title{font-size:var(--title-size, 1.75rem);font-weight:700;line-height:1.3;margin-bottom:1rem}.article-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--reader-text-secondary)}.article-meta .author{font-weight:500}.article-meta .site-name{color:var(--primary)}.article-meta .read-time{font-size:.75rem;color:var(--reader-text-secondary);opacity:.7}.reader-content{line-height:1.8;word-break:break-word}.reader-content h1,.reader-content h2,.reader-content h3,.reader-content h4,.reader-content h5,.reader-content h6{line-height:1.3;margin-top:1.8em;margin-bottom:.6em;font-weight:600;scroll-margin-top:80px}.reader-content h2{font-size:1.4em}.reader-content h3{font-size:1.2em}.reader-content img{max-width:100%;border-radius:8px;margin:1em 0}.reader-content blockquote{border-left:3px solid var(--reader-border);padding-left:1em;margin:1em 0;color:var(--reader-text-secondary);transition:border-color .3s}.reader-content pre{background:var(--reader-border);padding:1em;border-radius:8px;overflow-x:auto;margin:1em 0;transition:background .3s}.reader-content code{font-size:.9em;background:color-mix(in srgb,var(--reader-border) 50%,transparent);padding:.15em .4em;border-radius:4px}.reader--theme-dark .reader-content code,.reader--theme-dark .reader-content pre{background:#0f172a}.reader-footer{display:none;position:sticky;bottom:0;padding:.75rem 1rem;background:var(--reader-header-bg);border-top:1px solid var(--reader-border);justify-content:space-between;align-items:center;transition:background .3s,border-color .3s}.footer-info{font-size:.875rem;color:var(--reader-text-secondary)}.footer-btn{padding:.5rem;color:var(--reader-text-secondary)}@media (max-width: 768px){.reader{margin:-.75rem}.reader-toc{position:fixed;top:0;left:0;bottom:0;width:260px;z-index:30;box-shadow:2px 0 12px #00000026}.reader-article{padding:1.5rem 1rem}.article-header .article-title{font-size:1.5rem}.reader-footer{display:flex}.reader-header{padding:.5rem .75rem}}.add-article{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.add-container{width:100%;max-width:480px}.add-header{text-align:center;margin-bottom:2rem}.add-header h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.add-header p{color:var(--text-secondary)}.add-form{background:var(--card-bg);border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000001a}.input-group{position:relative;margin-bottom:1rem}.input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #002fa71a}.input-group select{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid var(--border);border-radius:12px;font-size:1rem;background:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.input-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #002fa71a}.error-message{background:#fef2f2;color:var(--danger);padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:var(--primary);color:#fff;border-radius:12px;font-size:1rem;font-weight:600;transition:all .2s}.tips{margin-top:2rem;padding:1rem;background:var(--bg);border-radius:12px}.tips h4{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.tips p{font-size:.875rem;color:var(--text-secondary)}@media (max-width: 640px){.add-article{padding:2rem 1rem 1rem;align-items:flex-start}.add-form{padding:1.5rem}}.categories-page{max-width:800px;margin:0 auto}.categories-page .page-header{margin-bottom:32px}.categories-page .page-header h1{font-size:28px;font-weight:600;margin-bottom:8px}.categories-page .subtitle{color:#6b7280;font-size:14px}.create-category{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.create-category input{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;margin-bottom:16px;transition:border-color .2s}.create-category input:focus{outline:none;border-color:var(--primary)}.color-picker{display:flex;gap:8px;margin-bottom:16px}.color-btn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.color-btn:hover{transform:scale(1.15)}.color-btn.selected{border-color:#1f2937;box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.create-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.create-btn:hover:not(:disabled){background:var(--primary-hover)}.category-list{display:flex;flex-direction:column;gap:8px}.category-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s}.category-item:hover{box-shadow:0 4px 12px #0000001a}.category-info{display:flex;align-items:center;gap:12px}.category-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.category-name{font-size:15px;font-weight:500;color:#1f2937}.category-actions{display:flex;gap:8px}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:#f3f4f6;color:#6b7280;cursor:pointer;transition:background .2s,color .2s}.icon-btn:hover{background:#e5e7eb;color:#374151}.icon-btn.danger:hover{background:#fee2e2;color:#dc2626}.icon-btn.confirm{background:#dcfce7;color:#16a34a}.icon-btn.confirm:hover{background:#bbf7d0}.icon-btn.cancel{background:#fee2e2;color:#dc2626}.icon-btn.cancel:hover{background:#fecaca}.edit-mode{display:flex;align-items:center;gap:12px;width:100%;flex-wrap:wrap}.edit-mode input{flex:1;min-width:150px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px}.edit-mode input:focus{outline:none;border-color:var(--primary)}.edit-colors{display:flex;gap:6px}.edit-colors .color-btn{width:24px;height:24px}.categories-page .empty{text-align:center;padding:60px 20px;color:#9ca3af}.categories-page .empty svg{margin-bottom:16px;opacity:.5}.categories-page .empty p{font-size:16px;margin:0 0 4px}.categories-page .empty .hint{font-size:14px}.categories-page .loading{text-align:center;padding:40px;color:#6b7280}.note-groups-page{max-width:800px;margin:0 auto}.note-groups-page .page-header{margin-bottom:32px}.note-groups-page .page-header h1{font-size:28px;font-weight:600;margin-bottom:8px}.note-groups-page .subtitle{color:var(--text-muted);font-size:14px}.create-note-group{background:var(--card-bg);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid var(--border-light)}.create-note-group input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;margin-bottom:16px;background:var(--bg);color:var(--text)}.create-note-group input:focus{outline:none;border-color:var(--primary)}.color-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.color-btn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s}.color-btn:hover{transform:scale(1.1)}.color-btn.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--card-bg)}.create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.create-btn:disabled{opacity:.5;cursor:not-allowed}.note-group-list{display:flex;flex-direction:column;gap:8px}.note-group-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--card-bg);border-radius:10px;border:1px solid var(--border-light)}.note-group-info{display:flex;align-items:center;gap:12px}.note-group-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.note-group-name{font-size:16px;font-weight:500}.note-group-actions{display:flex;gap:4px}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-muted)}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-light)}.icon-btn.confirm{color:var(--success, #22c55e)}.edit-mode{width:100%;display:flex;flex-direction:column;gap:12px}.edit-mode input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--bg);color:var(--text)}.edit-colors{display:flex;gap:6px;flex-wrap:wrap}.edit-actions{display:flex;gap:4px}.loading,.empty{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty svg{margin-bottom:16px;opacity:.5}.empty .hint{font-size:14px;margin-top:8px}.category-articles{max-width:800px;margin:0 auto}.category-articles .page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.category-articles .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:var(--bg);color:var(--text);cursor:pointer;transition:background .2s}.category-articles .back-btn:hover{background:var(--border)}.category-articles .header-info{display:flex;align-items:center;gap:12px;flex:1}.category-articles .category-dot{width:14px;height:14px;border-radius:50%}.category-articles .header-info h1{font-size:24px;font-weight:600;margin:0}.category-articles .count{color:var(--text-secondary);font-size:14px}.category-articles .loading{text-align:center;padding:60px;color:var(--text-secondary)}.category-articles .empty{text-align:center;padding:60px 20px}.category-articles .empty p{color:var(--text-secondary);margin-bottom:16px}.category-articles .empty button{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s}.category-articles .empty button:hover{background:var(--primary-dark)}.category-articles .articles{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 180px);overflow-y:auto;padding-right:8px}.category-articles .articles::-webkit-scrollbar{width:6px}.category-articles .articles::-webkit-scrollbar-track{background:transparent}.category-articles .articles::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.category-articles .articles::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.menu-container{position:relative;overflow:visible}.menu{position:absolute;right:0;top:100%;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:1000;overflow:visible;padding:.5rem 0;margin-top:4px}.menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;text-align:left;font-size:.875rem;color:var(--text);transition:background .2s;white-space:nowrap}.menu button:hover{background:var(--bg)}.menu button.danger{color:var(--danger)}.menu button.danger:hover{background:#fee2e2}.reading-page{animation:fadeIn .3s ease-out}.reading-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.reading-page-title{display:flex;align-items:center;gap:.5rem;color:var(--text)}.reading-page-title h1{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.025em}.reading-tabs{display:flex;align-items:center;gap:.25rem;padding:.25rem;background:var(--border-light);border-radius:10px}.reading-tab{padding:.375rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.reading-tab:hover{color:var(--text)}.reading-tab.active{background:var(--card-bg);color:var(--primary);box-shadow:0 1px 2px #0000000f}@media (max-width: 768px){.reading-page-header{flex-direction:column;align-items:stretch}.reading-tabs{overflow-x:auto}}.import-preview-summary{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary, #666)}.import-preview-new{color:var(--color-success, #0a7);font-weight:500}.import-preview-dup{color:var(--color-warning, #c60);font-weight:500}.import-preview-list{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;border:1px solid var(--border-color, #e5e5e5);border-radius:8px}.import-preview-item{padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #eee)}.import-preview-item:last-child{border-bottom:none}.import-preview-item.is-duplicate{background:#ffb40014}.import-preview-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.import-preview-item-head strong{font-size:.95rem}.import-preview-filename{font-size:.75rem;color:var(--text-muted, #999)}.import-preview-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:auto;padding:.15rem .5rem;font-size:.72rem;font-weight:500;color:#a65c00;background:#ffb40033;border-radius:4px}.import-preview-content{margin:.35rem 0 0;font-size:.82rem;color:var(--text-secondary, #666);line-height:1.4}.import-preview-reason{margin:.25rem 0 0;font-size:.75rem;color:#a65c00}.import-preview-link{display:block;margin-top:.25rem;font-size:.75rem;color:var(--link-color, #06c);word-break:break-all}.notes-import{background:var(--card-bg);border:1px solid var(--border-light);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.notes-import-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.notes-import-header h2{font-size:1.125rem;font-weight:600}.notes-import-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem}.notes-import-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.notes-import-desc code{background:var(--border-light);padding:.1em .35em;border-radius:4px;font-size:.8125rem}.notes-import-dropzone{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:2rem 1rem;border:2px dashed var(--border);border-radius:10px;cursor:pointer;color:var(--text-secondary);transition:border-color .15s,background .15s}.notes-import-dropzone:hover{border-color:var(--primary-border);background:var(--primary-bg);color:var(--primary)}.notes-import-formats{font-size:.75rem;color:var(--text-muted)}.notes-import-json-hint{margin-top:1rem;font-size:.875rem}.notes-import-json-hint summary{display:flex;align-items:center;gap:.375rem;cursor:pointer;color:var(--text-secondary)}.notes-import-json-hint pre{margin-top:.75rem;padding:.75rem 1rem;background:var(--bg);border-radius:8px;font-size:.75rem;overflow-x:auto}.notes-import-error{color:var(--danger);font-size:.875rem;margin-top:.75rem}.notes-import-success{color:var(--success);font-size:.875rem;margin-top:.75rem}.notes-import-loading{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.875rem;color:var(--text-secondary)}.notes-import-loading .spin{animation:spin .8s linear infinite}.notes-import-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.notes-import-clear{background:none;border:none;font-size:.8125rem;color:var(--text-muted);cursor:pointer}.notes-import-clear:hover{color:var(--text-primary)}.notes-import-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.notes-import-preview-title{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.notes-import-preview ul{list-style:none;margin-bottom:1rem}.notes-import-preview li{padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.8125rem}.notes-import-preview li strong{display:block;margin-bottom:.25rem}.notes-import-preview li span{color:var(--text-secondary)}.notes-import-preview li em{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem;font-style:normal}.notes-import-more{font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem}.notes-import-btn{padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;cursor:pointer}.notes-import-btn:hover:not(:disabled){background:var(--primary-hover)}.notes-import-btn:disabled{opacity:.6;cursor:not-allowed}.md-batch-import{background:var(--card-bg);border:1px solid var(--border-light);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.md-batch-import-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.md-batch-import-header h2{font-size:1.125rem;font-weight:600}.md-batch-import-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem}.md-batch-import-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.55;margin-bottom:1rem}.md-batch-import-desc code{background:var(--border-light);padding:.1em .35em;border-radius:4px;font-size:.8125rem}.md-batch-import-dropzone{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1rem;border:2px dashed var(--border);border-radius:10px;color:var(--text-secondary);transition:border-color .15s,background .15s}.md-batch-import-dropzone:hover{border-color:var(--primary-border);background:var(--primary-bg)}.md-batch-import-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.md-batch-import-pick{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text);font-size:.875rem;cursor:pointer}.md-batch-import-pick:hover{border-color:var(--primary);color:var(--primary)}.md-batch-import-hint{margin-top:1rem;font-size:.875rem}.md-batch-import-hint summary{cursor:pointer;color:var(--text-secondary)}.md-batch-import-hint pre{margin-top:.5rem;padding:.75rem;background:var(--bg);border-radius:8px;font-size:.75rem;overflow-x:auto}.md-batch-import-error{color:var(--danger);font-size:.875rem;margin-top:.75rem}.md-batch-import-success{color:var(--success);font-size:.875rem;margin-top:.75rem}.md-batch-import-warn{margin-top:.75rem;padding:.75rem 1rem;background:#fffbeb;border-radius:8px;font-size:.8125rem;color:#92400e}.md-batch-import-warn ul{margin:.375rem 0 0;padding-left:1.25rem}.md-batch-import-preview{margin-top:1rem;border-top:1px solid var(--border-light);padding-top:1rem}.md-batch-import-loading{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.875rem;color:var(--text-secondary)}.md-batch-import-loading .spin{animation:spin .8s linear infinite}.md-batch-import-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.875rem;font-weight:500}.md-batch-import-clear{background:none;border:none;color:var(--text-muted);font-size:.8125rem;cursor:pointer}.md-batch-import-clear:hover{color:var(--danger)}.md-batch-import-list{list-style:none;max-height:min(320px,45vh);overflow-y:auto;margin-bottom:1rem;border:1px solid var(--border-light);border-radius:8px}.md-batch-import-list li{padding:.75rem 1rem;border-bottom:1px solid var(--border-light)}.md-batch-import-list li:last-child{border-bottom:none}.md-batch-import-item-title{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin-bottom:.25rem;color:var(--primary)}.md-batch-import-item-title strong{color:var(--text)}.md-batch-import-filename{font-size:.75rem;color:var(--text-muted);font-weight:400}.md-batch-import-item-preview{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:1.5}.md-batch-import-link{display:block;font-size:.75rem;color:var(--primary);margin-top:.25rem;word-break:break-all}.md-batch-import-btn{width:100%;padding:.75rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer}.md-batch-import-btn:hover:not(:disabled){background:var(--primary-hover)}.md-batch-import-btn:disabled{opacity:.6;cursor:not-allowed}.notes-split-layout{display:flex;min-height:calc(100vh - 140px);margin:-.5rem -1.25rem 0;border-top:1px solid var(--border-light)}.notes-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border-light);background:var(--bg);min-height:0}.notes-detail{flex:1;min-width:0;display:flex;flex-direction:column;padding:0 1.25rem 1.5rem;min-height:0}.notes-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem .875rem .5rem;gap:.5rem}.notes-count-badge{font-size:.75rem;font-weight:500;color:var(--text-muted);background:var(--border-light);padding:.125rem .5rem;border-radius:999px}.notes-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer}.notes-icon-btn:hover{border-color:var(--primary-border);color:var(--primary)}.notes-new-btn--sidebar{padding:.375rem .625rem;font-size:.8125rem;flex-shrink:0}.notes-new-btn--sidebar svg{flex-shrink:0;stroke:currentColor}.notes-sidebar-search{position:relative;padding:0 .875rem .5rem}.notes-search-icon{position:absolute;left:1.375rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.notes-search-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid var(--border);border-radius:8px;font-size:.8125rem;background:var(--card-bg);color:var(--text)}.notes-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.notes-sidebar-sort{display:flex;align-items:center;gap:.375rem;padding:0 .875rem .625rem}.notes-sort-select{flex:1;border:1px solid var(--border);border-radius:6px;padding:.3125rem .5rem;font-size:.75rem;background:var(--card-bg);color:var(--text);cursor:pointer}.notes-sort-order-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text-secondary);font-size:.75rem;cursor:pointer;white-space:nowrap}.notes-sort-order-btn:hover{border-color:var(--primary-border);color:var(--primary)}.notes-group-filter--compact{padding:0 .875rem .625rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.notes-group-filter--compact::-webkit-scrollbar{display:none}.notes-group-manage-link{flex-shrink:0}.notes-sidebar-panel{padding:0 .875rem .75rem}.notes-sidebar-list{flex:1;overflow-y:auto;padding:0 .5rem .75rem;min-height:0}.notes-detail-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);padding:3rem 1rem}.notes-editor-pane{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:.75rem}.notes-loading,.notes-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.875rem}.notes-header-actions{display:flex;align-items:center;gap:.375rem}.notes-list-title{display:flex;align-items:center;gap:.5rem}.notes-list-title h1{font-size:1rem;font-weight:600;letter-spacing:-.025em}.notes-new-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;cursor:pointer}.notes-new-btn:hover{background:var(--primary-hover)}.notes-empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;color:var(--text-muted);text-align:center}.notes-empty-state--compact{padding:2rem 1rem}.notes-empty-state p{font-size:.875rem;margin:0}.notes-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.notes-list-row{display:flex;align-items:stretch;gap:.125rem}.notes-list-delete{flex-shrink:0;align-self:center;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s}.notes-list-row:hover .notes-list-delete{opacity:1}.notes-list-delete:hover{color:var(--danger);background:var(--danger-light)}.notes-list-row .notes-list-item{flex:1;min-width:0}.notes-list-item{display:flex;flex-direction:column;gap:.125rem;padding:.625rem .75rem;background:transparent;border-radius:8px;text-align:left;color:inherit;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s;width:100%;font-family:inherit}.notes-list-item:hover{background:var(--border-light)}.notes-list-item.active{background:var(--primary-bg);border-color:var(--primary-border)}.notes-list-item.active .notes-list-item-title{color:var(--primary)}.notes-list-item-title{font-weight:600;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-list-item-preview{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-list-item time{font-size:.6875rem;color:var(--text-muted)}.notes-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.notes-editor-header-end{display:flex;align-items:center;gap:.75rem}.notes-header-done-btn{flex-shrink:0}.notes-view-title{font-size:1.375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .75rem;padding:.25rem 0;color:var(--text);line-height:1.35}.notes-back{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;padding:.25rem}.notes-back:hover{color:var(--primary)}.notes-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.375rem;border-radius:6px}.notes-delete-btn:hover{color:var(--danger);background:var(--danger-light)}.notes-editor-title{font-size:1.375rem;font-weight:600;border:none;background:transparent;padding:.25rem 0;margin-bottom:.5rem;width:100%;font-family:inherit;color:var(--text);letter-spacing:-.02em}.notes-editor-title:focus{outline:none}.notes-saving-hint{font-size:.75rem;color:var(--text-muted)}.notes-group-filter{display:flex;flex-wrap:wrap;gap:.375rem}.notes-group-filter-item{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:500;white-space:nowrap;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.notes-group-filter-item:hover{color:var(--text);background:var(--border-light)}.notes-group-filter-item.active{background:#eef2ff;color:var(--primary);font-weight:600}.notes-group-filter-item.active .notes-group-count{color:var(--primary);opacity:.75;background:#002fa71a;padding:0 .375rem;border-radius:999px;line-height:1.4}.notes-group-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.notes-group-count{font-size:.6875rem;font-weight:500;color:var(--text-muted)}.notes-list-item-header{display:flex;align-items:center;justify-content:space-between;gap:.375rem}.notes-list-item-group{display:inline-flex;align-items:center;flex-shrink:0}.notes-group-select{display:inline-flex;align-items:center;gap:.375rem;color:var(--text-secondary)}.notes-group-select select{border:1px solid var(--border);border-radius:6px;padding:.25rem .5rem;font-size:.8125rem;background:var(--card-bg);color:var(--text);cursor:pointer}.notes-load-more{text-align:center;padding:1rem 0;color:var(--text-muted);font-size:.75rem;min-height:1.5rem}.notes-end-hint{opacity:.7}.notes-highlight{background:#fef08a;color:#1e293b;padding:.05em .15em;border-radius:2px;font-weight:500}.notes-export-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3125rem .625rem;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s;white-space:nowrap}.notes-export-btn:hover{border-color:var(--primary-border);color:var(--primary);background:var(--primary-bg)}.notes-export-btn--all{color:var(--text-muted);font-size:.6875rem}@media (max-width: 899px){.notes-split-layout{margin:-.25rem -.875rem 0;min-height:calc(100vh - 120px)}.notes-sidebar{width:100%;border-right:none}.notes-split-layout.has-selection .notes-sidebar{display:none}.notes-detail{display:none;padding:0 .875rem 1rem}.notes-split-layout.has-selection .notes-detail{display:flex}.notes-back{display:inline-flex}.notes-detail-placeholder{display:none}}@media (min-width: 900px){.notes-back{display:none}}.kanban-board{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.kanban-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:#94a3b8;font-size:.8125rem}.kanban-loading-spinner{width:28px;height:28px;border:2.5px solid #e2e8f0;border-top-color:#002fa7;border-radius:50%;animation:spin .7s linear infinite}.kanban-filter-bar{display:flex;align-items:center;gap:.75rem;padding:0 0 .75rem;flex-shrink:0}.kanban-filter-search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:320px;padding:.4375rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .15s,box-shadow .15s}.kanban-filter-search:focus-within{border-color:#002fa7;box-shadow:0 0 0 3px #002fa714}.kanban-filter-search svg{flex-shrink:0;color:#94a3b8}.kanban-filter-search-input{flex:1;border:none;background:transparent;outline:none;font-size:.8125rem;color:#0f172a;min-width:0}.kanban-filter-search-input::-moz-placeholder{color:#94a3b8}.kanban-filter-search-input::placeholder{color:#94a3b8}.kanban-filter-select{padding:.4375rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;color:#475569;background:#fff;cursor:pointer;outline:none;transition:border-color .15s}.kanban-filter-select:focus{border-color:#002fa7;box-shadow:0 0 0 3px #002fa714}.kanban-done-toolbar{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;margin-right:.25rem}.kanban-done-toolbar .kanban-icon-btn{font-size:.6875rem;padding:.25rem .375rem;width:auto;height:auto}.kanban-stat-filter-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.3125rem .625rem;font-size:.75rem;font-weight:600;color:#002fa7;background:#edf2f9;border:1px solid #d0dce8;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.kanban-stat-filter-chip:hover{background:#dce6f2;border-color:#002fa7}.kanban-stat-filter-close{font-size:1rem;line-height:1;margin-left:2px}.kanban-columns{display:flex;gap:.75rem;flex:1;overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem;min-height:0;align-items:flex-start}.kanban-columns::-webkit-scrollbar{height:6px}.kanban-columns::-webkit-scrollbar-track{background:transparent}.kanban-columns::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.kanban-columns::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.kanban-column.drag-over{background:#f8fafc;border-color:#002fa7;box-shadow:0 0 0 2px #002fa71f}.kanban-column{display:flex;flex-direction:column;flex-shrink:0;width:310px;max-height:100%;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.kanban-column--new{padding:.75rem;gap:.5rem;background:#fff;border:1.5px dashed #e2e8f0;width:280px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .75rem .5rem;flex-shrink:0}.kanban-column-header-left{display:flex;align-items:center;gap:.5rem;min-width:0}.kanban-column-color{width:9px;height:9px;border-radius:50%;flex-shrink:0}.kanban-column-name{font-size:.8125rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.kanban-column-count{font-size:.6875rem;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:.0625rem .4375rem;border-radius:999px;flex-shrink:0;min-width:20px;text-align:center}.kanban-column-header-actions{display:flex;align-items:center;gap:.125rem;flex-shrink:0;opacity:0;transition:opacity .15s}.kanban-column:hover .kanban-column-header-actions{opacity:1}.kanban-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:1px solid transparent;border-radius:6px;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.kanban-icon-btn:hover{background:#f1f5f9;color:#475569}.kanban-icon-btn--danger:hover{background:#fef2f2;color:#dc2626}.kanban-card-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;padding:0 .5rem .5rem;flex:1;overflow-y:auto;min-height:0}.kanban-card-list::-webkit-scrollbar{width:3px}.kanban-card-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.kanban-card-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem .75rem;color:#cbd5e1;font-size:.75rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.kanban-card-empty svg{opacity:.4}.kanban-card{position:relative;display:flex;background:#fff;border:1px solid #f1f5f9;border-radius:12px;cursor:pointer;transition:box-shadow .2s,border-color .2s,transform .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:cardFadeIn .2s ease-out;overflow:hidden}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.kanban-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.kanban-card:active{transform:translateY(0)}.kanban-card--dimmed{opacity:.35}.kanban-card-overdue-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:#dc2626;border-radius:3px 0 0 3px}.kanban-card.kanban-card--overdue{border-left:none}.kanban-card--overdue:hover{border-color:#fca5a5;box-shadow:0 2px 8px #dc262614}.kanban-card--dragging{cursor:grabbing;box-shadow:0 12px 32px #00000026,0 2px 8px #0000000f;border-color:#002fa7;transform:rotate(3deg) scale(1.04);width:280px;background:#fff;border-radius:12px;z-index:999}.kanban-card--dragging .kanban-card-body{opacity:.9}.kanban-card-body{flex:1;padding:.625rem .75rem;display:flex;flex-direction:column;gap:.375rem;min-width:0}.kanban-card-grip{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;background:none;border:none;color:#cbd5e1;cursor:grab;padding:.5rem 0 0;opacity:0;transition:opacity .15s,color .15s}.kanban-card:hover .kanban-card-grip{opacity:1}.kanban-card-grip:hover{color:#94a3b8}.kanban-card-grip:active{cursor:grabbing}.kanban-card-top{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.kanban-card-priority{font-size:.625rem;font-weight:700;padding:.0625rem .4375rem;border-radius:4px;letter-spacing:.02em;line-height:1.5}.kanban-card-priority--p1{background:#fef2f2;color:#dc2626}.kanban-card-priority--p2{background:#fff7ed;color:#ea580c}.kanban-card-priority--p3{background:#eff6ff;color:#2563eb}.kanban-card-product{font-size:.625rem;font-weight:500;padding:.125rem .375rem;border-radius:4px;background:#f0fdf4;color:#059669;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.kanban-card-tag-chip{font-size:.5625rem;font-weight:600;padding:.0625rem .3125rem;border-radius:3px;white-space:nowrap}.kanban-card-tag-more{background:#f1f5f9!important;color:#94a3b8!important}.kanban-card--selected{border-color:#002fa7!important;box-shadow:0 0 0 2px #002fa726;background:#f8faff}.kanban-card-select-badge{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:#002fa7;color:#fff;font-size:.625rem;display:flex;align-items:center;justify-content:center;z-index:2}.kanban-card-due{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;color:#64748b;white-space:nowrap}.kanban-card-due--overdue{color:#dc2626;font-weight:600}.kanban-column-drag-handle{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:none;border:none;color:#cbd5e1;cursor:grab;flex-shrink:0;opacity:0;transition:opacity .15s}.kanban-column:hover .kanban-column-drag-handle{opacity:1}.kanban-column-drag-handle:hover{color:#94a3b8}.kanban-column--dragging{opacity:.5;border-style:dashed!important}.kanban-card-title{font-size:.8125rem;font-weight:600;color:#0f172a;line-height:1.45;word-break:break-word;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-desc{font-size:.6875rem;color:#94a3b8;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card-progress{display:flex;align-items:center;gap:.5rem}.kanban-card-progress-bar{flex:1;height:4px;background:#f1f5f9;border-radius:2px;overflow:hidden}.kanban-card-progress-fill{height:100%;border-radius:2px;transition:width .3s}.kanban-card-progress-fill--done{width:100%;background:#10b981}.kanban-card-progress-fill--active{width:30%;background:#002fa7;animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.6}}.kanban-card-progress-label{font-size:.625rem;font-weight:600;color:#94a3b8;white-space:nowrap}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.125rem}.kanban-card-footer-left{display:flex;align-items:center;gap:.5rem;min-width:0}.kanban-card-footer-right{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.kanban-card-avatar{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#f1f5f9;color:#94a3b8;flex-shrink:0}.kanban-card-date{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;color:#94a3b8;white-space:nowrap}.kanban-card-stat{display:inline-flex;align-items:center;gap:.1875rem;font-size:.625rem;color:#94a3b8}.kanban-card-delete{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;border-radius:4px;color:#cbd5e1;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.kanban-card:hover .kanban-card-delete{opacity:1}.kanban-card-delete:hover{background:#fef2f2;color:#dc2626}.kanban-load-more-btn{display:block;width:calc(100% - 1rem);margin:0 .5rem .5rem;padding:.5rem 0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.kanban-load-more-btn:hover{background:#f8fafc;color:#002fa7;border-color:#002fa7}.kanban-add-card-trigger{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;margin:0 .5rem .5rem;background:none;border:1px solid transparent;border-radius:8px;color:#94a3b8;font-size:.75rem;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.kanban-add-card-trigger:hover{background:#fff;border-color:#e2e8f0;color:#475569}.kanban-add-card-form{padding:.5rem;display:flex;flex-direction:column;gap:.375rem;flex-shrink:0}.kanban-quick-add-row{display:flex;gap:.375rem;align-items:center}.kanban-quick-add-row .kanban-add-card-input{flex:1}.kanban-quick-add-cancel{align-self:flex-start;background:none;border:none;color:#94a3b8;font-size:.6875rem;padding:.125rem .25rem;cursor:pointer;transition:color .15s}.kanban-quick-add-cancel:hover{color:#475569}.kanban-add-card-input{width:100%;padding:.5rem;border:1px solid #002FA7;border-radius:8px;font-size:.8125rem;background:#fff;color:#0f172a;font-family:inherit;outline:none}.kanban-add-card-input:focus{box-shadow:0 0 0 3px #002fa71a}.kanban-add-card-input::-moz-placeholder{color:#94a3b8}.kanban-add-card-input::placeholder{color:#94a3b8}.kanban-add-card-actions{display:flex;align-items:center;gap:.375rem}.kanban-card--editing{list-style:none;background:#fff;border:1px solid #002FA7;border-radius:12px;box-shadow:0 0 0 3px #002fa714}.kanban-date-fields{display:flex;flex-direction:column;gap:.5rem;margin-top:.375rem}.kanban-date-field{display:flex;flex-direction:column;gap:.25rem;font-size:.6875rem;color:#64748b}.kanban-date-field input{width:100%;border:1px solid #e2e8f0;border-radius:6px;padding:.375rem .5rem;font-size:.75rem;font-family:inherit;color:#0f172a;background:#fff}.kanban-date-field input:focus{outline:none;border-color:#002fa7}.kanban-new-column-input{width:100%;padding:.5rem;border:1px solid #002FA7;border-radius:8px;font-size:.8125rem;background:#fff;color:#0f172a;font-family:inherit;outline:none}.kanban-new-column-input:focus{box-shadow:0 0 0 3px #002fa71a}.kanban-add-column-btn{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.75rem 1rem;background:#fff;border:1.5px dashed #e2e8f0;border-radius:12px;color:#94a3b8;font-size:.8125rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap;min-width:140px;height:-moz-min-content;height:min-content}.kanban-add-column-btn:hover{border-color:#002fa7;color:#002fa7;background:#f8fafc}.kanban-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .75rem;border:none;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;line-height:1.4}.kanban-btn--primary{background:#002fa7;color:#fff}.kanban-btn--primary:hover{background:#0038c8}.kanban-btn--ghost{background:transparent;color:#94a3b8}.kanban-btn--ghost:hover{background:#f1f5f9;color:#475569}.kanban-batch-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;margin-bottom:.5rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-shrink:0}.kanban-batch-count{font-size:.75rem;font-weight:600;color:#002fa7}.kanban-batch-actions{display:flex;align-items:center;gap:.5rem}.kanban-batch-select{padding:.3125rem .5rem;border:1px solid #bfdbfe;border-radius:6px;font-size:.75rem;color:#475569;background:#fff;outline:none}.kanban-batch-delete-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .625rem;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;color:#dc2626;font-size:.75rem;cursor:pointer;font-weight:500}.kanban-batch-delete-btn:hover{background:#fee2e2}.kanban-batch-clear{padding:.3125rem .5rem;border:none;background:transparent;color:#64748b;font-size:.75rem;cursor:pointer}.kanban-batch-clear:hover{color:#475569}.kanban-shortcut-hint{font-size:.625rem;color:#94a3b8;padding:.125rem .375rem;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc}.task-date-picker{position:relative;width:100%}.task-date-picker-trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.8125rem;color:#0f172a;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;font-family:inherit}.task-date-picker-trigger span,.task-date-picker-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-date-picker-trigger:hover{border-color:#cbd5e1}.task-date-picker-trigger--empty{color:#94a3b8}.task-date-picker-trigger:focus-visible{outline:none;border-color:#002fa7;box-shadow:0 0 0 3px #002fa714}.task-date-picker-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:200;width:280px;padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0f172a1f}.task-date-picker-popover--portal{position:fixed;z-index:10001}.task-date-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.task-date-picker-header button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.task-date-picker-header button:hover{background:#f1f5f9;color:#0f172a}.task-date-picker-month{font-size:.875rem;font-weight:600;color:#0f172a}.task-date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.task-date-picker-weekdays span{text-align:center;font-size:.6875rem;color:#94a3b8;padding:.25rem 0}.task-date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.task-date-picker-day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;border-radius:8px;background:transparent;font-size:.8125rem;color:#0f172a;cursor:pointer}.task-date-picker-day:hover{background:#f1f5f9}.task-date-picker-day--outside{color:#cbd5e1}.task-date-picker-day--today{font-weight:700;color:#002fa7}.task-date-picker-day--selected{background:#002fa7;color:#fff}.task-date-picker-day--selected:hover{background:#0038c8}.task-date-picker-time{display:flex;align-items:center;gap:.375rem;margin-top:.625rem;padding-top:.625rem;border-top:1px solid #f1f5f9}.task-date-picker-time label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#64748b}.task-date-picker-time input{width:48px;padding:.25rem .375rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.8125rem;text-align:center;font-family:inherit}.task-date-picker-time input:focus{outline:none;border-color:#002fa7}.task-date-picker-actions{display:flex;gap:.5rem;margin-top:.5rem}.task-date-picker-action{flex:1;padding:.375rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:.75rem;color:#475569;cursor:pointer;font-family:inherit}.task-date-picker-action:hover{background:#f8fafc;border-color:#cbd5e1}.task-date-picker-action--clear{display:flex;align-items:center;justify-content:center;gap:.25rem;color:#94a3b8}.task-date-picker--compact .task-date-picker-trigger{padding:.375rem .5rem;font-size:.75rem}.task-date-range{display:flex;align-items:center;gap:.375rem}.task-date-range-sep{color:#94a3b8;font-size:.75rem}.task-date-range .task-date-picker-trigger{padding:.375rem .5rem;font-size:.75rem;min-width:110px}.task-date-range .task-date-picker-popover{width:260px}.task-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000040;animation:drawerOverlayIn .2s ease-out}@keyframes drawerOverlayIn{0%{opacity:0}to{opacity:1}}.task-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100vw;background:#fff;box-shadow:-8px 0 24px #00000014;display:flex;flex-direction:column;overflow-y:auto;animation:drawerSlideIn .25s ease-out;z-index:201}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.task-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;flex-shrink:0}.task-drawer-header-left{display:flex;align-items:center;gap:.5rem}.task-drawer-id{font-size:.75rem;color:#94a3b8;font-family:SF Mono,Menlo,monospace}.task-drawer-save-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;color:#94a3b8}.task-drawer-save-status--saving{color:#3b82f6}.task-drawer-save-status--saved{color:#10b981}.task-drawer-save-status--error{color:#ef4444}.task-drawer-spin{animation:spin .7s linear infinite}.task-drawer-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.task-drawer-close:hover{background:#f1f5f9;color:#0f172a}.task-drawer-header-actions{display:flex;align-items:center;gap:.25rem}.task-drawer-action-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .625rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.task-drawer-action-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.task-drawer-action-btn--save{background:#002fa7;border-color:#002fa7;color:#fff}.task-drawer-action-btn--save:hover{background:#0038c8}.task-drawer-action-btn--save:disabled{opacity:.6;cursor:not-allowed}.task-drawer-action-btn--danger{color:#dc2626;border-color:#fca5a5}.task-drawer-action-btn--danger:hover{background:#fef2f2;color:#dc2626}.task-drawer-title{font-size:1.125rem;font-weight:600;color:#0f172a;line-height:1.5;padding:1rem 1.25rem .75rem;margin:0;letter-spacing:-.01em}.task-drawer-meta{display:flex;flex-wrap:wrap;gap:.75rem;padding:0 1.25rem 1rem;border-bottom:1px solid #f1f5f9}.task-drawer-meta-item{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:#64748b}.task-drawer-meta-item svg{flex-shrink:0;color:#94a3b8}.task-drawer-meta-value{color:#0f172a;font-weight:500}.task-drawer-section{padding:.875rem 1.25rem;border-bottom:1px solid #f1f5f9}.task-drawer-label{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.625rem}.task-drawer-label svg{color:#94a3b8}.task-drawer-desc{font-size:.8125rem;line-height:1.6;color:#475569;margin:0}.task-drawer-title-edit{padding:.75rem 1.25rem}.task-drawer-title-input{width:100%;padding:.5rem .75rem;border:1px solid #002FA7;border-radius:8px;font-size:1.125rem;font-weight:600;color:#0f172a;background:#fff;font-family:inherit;outline:none;letter-spacing:-.01em}.task-drawer-title-input:focus{box-shadow:0 0 0 3px #002fa71a}.task-drawer-desc-input{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;color:#0f172a;background:#fff;font-family:inherit;outline:none;resize:vertical;min-height:80px;line-height:1.6}.task-drawer-desc-input:focus{border-color:#002fa7;box-shadow:0 0 0 3px #002fa71a}.task-drawer-desc-input::-moz-placeholder{color:#94a3b8}.task-drawer-desc-input::placeholder{color:#94a3b8}.task-drawer-section--dates{display:flex;flex-direction:column;gap:.25rem}.task-drawer-date-input{width:100%;padding:.4375rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;color:#0f172a;background:#fff;font-family:inherit;outline:none}.task-drawer-date-input:focus{border-color:#002fa7;box-shadow:0 0 0 3px #002fa71a}.task-drawer-select{width:100%;padding:.4375rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;color:#0f172a;background:#fff;font-family:inherit;outline:none;cursor:pointer;transition:border-color .15s}.task-drawer-select:focus{border-color:#002fa7;box-shadow:0 0 0 3px #002fa71a}.task-drawer-inline-select{padding:.25rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;color:#0f172a;background:#fff;font-family:inherit;outline:none;cursor:pointer;font-weight:500}.task-drawer-inline-select:focus{border-color:#002fa7}.task-drawer-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.task-drawer-fields-grid .task-drawer-section{padding:.625rem 1.25rem}.task-drawer-fields-grid .task-drawer-section:nth-child(odd){border-right:1px solid #f1f5f9}.task-drawer-clear-btn{margin-top:.3125rem;padding:0;border:none;background:none;font-size:.6875rem;color:#dc2626;cursor:pointer;font-family:inherit}.task-drawer-clear-btn:hover{text-decoration:underline}.task-drawer-link-btn{margin-top:.375rem;padding:0;border:none;background:none;font-size:.75rem;color:#002fa7;cursor:pointer;font-family:inherit}.task-drawer-link-btn:hover{text-decoration:underline}.task-drawer-tags{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.task-drawer-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.6875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .15s;background:#f8fafc;color:#475569}.task-drawer-tag--selected:hover{opacity:.8}.task-drawer-tag-add-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;border:1px dashed #cbd5e1;border-radius:6px;font-size:.6875rem;color:#94a3b8;cursor:pointer;background:transparent;font-family:inherit;transition:all .15s}.task-drawer-tag-add-btn:hover{border-color:#002fa7;color:#002fa7}.task-drawer-tag-picker-wrapper{position:relative}.task-drawer-tag-popup{position:absolute;top:100%;left:0;margin-top:.25rem;width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001a;z-index:50;overflow:hidden;max-height:260px;overflow-y:auto}.task-drawer-tag-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:none;font-size:.75rem;color:#0f172a;cursor:pointer;font-family:inherit;text-align:left}.task-drawer-tag-option:hover{background:#f8fafc}.task-drawer-tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-drawer-tag-new{display:flex;padding:.5rem;border-top:1px solid #f1f5f9;gap:.25rem}.task-drawer-tag-new input{flex:1;padding:.3125rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;outline:none;font-family:inherit}.task-drawer-tag-new input:focus{border-color:#002fa7}.task-drawer-tag-new button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;cursor:pointer}.task-drawer-tag-new button:disabled{opacity:.4;cursor:not-allowed}.task-drawer-tag-new-inline input{width:100%;padding:.375rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;outline:none;font-family:inherit}.task-drawer-tag-new-inline input:focus{border-color:#002fa7}.task-drawer-linked-note{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.8125rem}.task-drawer-linked-note span{flex:1;color:#0f172a;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-drawer-linked-note svg{color:#10b981;flex-shrink:0}.task-drawer-unlink-btn{padding:.1875rem .5rem;border:1px solid #fecaca;border-radius:4px;background:#fef2f2;color:#dc2626;font-size:.6875rem;cursor:pointer;font-family:inherit;white-space:nowrap}.task-drawer-note-picker-wrapper{position:relative}.task-drawer-note-popup{position:absolute;top:100%;left:0;margin-top:.25rem;width:320px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001a;z-index:50;overflow:hidden;max-height:300px;display:flex;flex-direction:column}.task-drawer-note-search{width:100%;padding:.5rem .75rem;border:none;border-bottom:1px solid #f1f5f9;font-size:.8125rem;outline:none;font-family:inherit}.task-drawer-note-list{overflow-y:auto;max-height:240px}.task-drawer-note-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border:none;background:none;cursor:pointer;font-family:inherit;text-align:left;border-bottom:1px solid #f8fafc}.task-drawer-note-option:hover{background:#f8fafc}.task-drawer-note-title{font-size:.8125rem;color:#0f172a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.task-drawer-note-time{font-size:.6875rem;color:#94a3b8;flex-shrink:0}.task-drawer-note-empty{padding:1rem;text-align:center;font-size:.8125rem;color:#94a3b8}.task-drawer-desc-preview{margin-top:.625rem;padding:.625rem .75rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;max-height:200px;overflow-y:auto}.task-drawer-comments-empty{font-size:.8125rem;color:#94a3b8;padding:.75rem 0;text-align:center}.task-drawer-activity{display:flex;flex-direction:column;gap:.75rem}.task-drawer-activity-item{display:flex;gap:.625rem;align-items:flex-start}.task-drawer-activity-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;flex-shrink:0;margin-top:.375rem}.task-drawer-activity-dot--done{background:#10b981}.task-drawer-activity-text{display:flex;flex-direction:column;gap:.125rem;font-size:.8125rem;color:#0f172a}.task-drawer-activity-time{font-size:.6875rem;color:#94a3b8}.task-drawer::-webkit-scrollbar{width:4px}.task-drawer::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.task-drawer-comments{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.task-drawer-comment{background:var(--bg);border-radius:8px;padding:.75rem}.task-drawer-comment-content{font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.task-drawer-comment-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.7rem;color:var(--text-secondary)}.task-drawer-comment-meta button{color:var(--text-secondary);opacity:0;transition:opacity .15s;font-size:1rem;padding:0 .25rem}.task-drawer-comment:hover .task-drawer-comment-meta button{opacity:1}.task-drawer-comment-input{display:flex;gap:.5rem}.task-drawer-comment-input input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.8rem;background:var(--card-bg)}.task-drawer-comment-input button{padding:.4rem .75rem;background:var(--primary);color:#fff;border-radius:6px;font-size:.75rem;font-weight:500}.task-drawer-comment-input button:disabled{opacity:.4}.task-drawer-label-count{font-weight:400;color:var(--text-secondary);font-size:.75rem;margin-left:auto}.task-drawer-subtasks{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.task-drawer-subtask{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;transition:opacity .2s}.task-drawer-subtask--done .task-drawer-subtask-title{text-decoration:line-through;color:var(--text-secondary);opacity:.6}.task-drawer-subtask-check{width:18px;height:18px;border-radius:4px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;color:#fff}.task-drawer-subtask-check--done{background:var(--primary);border-color:var(--primary)}.task-drawer-subtask-title{flex:1;font-size:.8rem}.task-drawer-subtask-del{color:var(--text-secondary);opacity:0;transition:opacity .15s;padding:0 .25rem;font-size:1rem}.task-drawer-subtask:hover .task-drawer-subtask-del{opacity:.5}.task-drawer-subtask-input{display:flex;gap:.4rem;margin-bottom:.5rem}.task-drawer-subtask-input input{flex:1;padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.8rem}.task-drawer-subtask-input button{padding:.3rem .6rem;border-radius:4px;font-size:.75rem}.task-drawer-subtask-input button:first-of-type{background:var(--primary);color:#fff}.task-drawer-subtask-input button:last-of-type{color:var(--text-secondary)}.task-drawer-add-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-secondary);padding:.25rem 0;transition:color .15s}.task-drawer-add-link:hover{color:var(--primary)}.task-drawer-attachments{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.task-drawer-attachment{display:flex;align-items:center;gap:.5rem;padding:.35rem 0}.task-drawer-attachment-name{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-drawer-attachment-size{font-size:.7rem;color:var(--text-secondary);flex-shrink:0}@media (max-width: 520px){.task-drawer{width:100vw}}.kanban-done-panel{padding:0 .75rem .5rem;flex-shrink:0}.kanban-done-panel-trigger{display:flex;align-items:center;gap:.375rem;width:100%;padding:.4375rem .625rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.75rem;color:#475569;cursor:pointer;font-family:inherit;transition:border-color .15s,box-shadow .15s}.kanban-done-panel-trigger:hover{border-color:#cbd5e1;background:#f8fafc}.kanban-done-panel-trigger span{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.done-column-panel{position:fixed;z-index:10000;width:300px;padding:.875rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px #0f172a26}.done-column-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.8125rem;font-weight:600;color:#0f172a}.done-column-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer}.done-column-panel-close:hover{background:#f1f5f9;color:#0f172a}.done-column-panel-field{margin-bottom:.625rem}.done-column-panel-field label{display:block;font-size:.6875rem;font-weight:500;color:#64748b;margin-bottom:.25rem}.done-column-panel-hint{font-size:.6875rem;color:#94a3b8;margin:.25rem 0 .75rem}.done-column-panel-actions{display:flex;gap:.5rem}.done-column-panel-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.75rem;font-weight:500;color:#475569;cursor:pointer;font-family:inherit}.done-column-panel-btn:hover{background:#f8fafc;border-color:#cbd5e1}.done-column-panel-btn--primary{background:#002fa7;border-color:#002fa7;color:#fff}.done-column-panel-btn--primary:hover{background:#0038c8;border-color:#0038c8}.kanban-product-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000004d;display:flex;align-items:center;justify-content:center;padding:1rem}.kanban-product-settings{width:100%;max-width:480px;max-height:80vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 16px 48px #0f172a2e;padding:1.25rem}.kanban-product-settings-header h2{display:inline;margin:0 0 0 .5rem;font-size:1rem;font-weight:600}.kanban-product-settings-header>div{display:flex;align-items:center;color:#002fa7}.kanban-product-settings-header p{margin:.5rem 0 1rem;font-size:.75rem;color:#64748b;line-height:1.5}.kanban-product-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.kanban-product-empty{padding:1rem;text-align:center;color:#94a3b8;font-size:.8125rem;background:#f8fafc;border-radius:8px}.kanban-product-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:#f8fafc;border-radius:8px}.kanban-product-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kanban-product-name{flex:1;min-width:0;font-size:.8125rem;font-weight:500;color:#0f172a;cursor:default}.kanban-product-edit-input{flex:1;min-width:0;padding:.25rem .375rem;border:1px solid #002FA7;border-radius:6px;font-size:.8125rem;font-family:inherit}.kanban-product-colors{display:none}.kanban-product-item:hover .kanban-product-colors{display:flex;gap:3px}.kanban-product-color-btn{width:16px;height:16px;border:2px solid transparent;border-radius:50%;cursor:pointer;padding:0}.kanban-product-color-btn--active{border-color:#0f172a;box-shadow:0 0 0 1px #fff inset}.kanban-product-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;flex-shrink:0}.kanban-product-delete:hover{background:#fef2f2;color:#dc2626}.kanban-product-add{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.kanban-product-add input{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;font-family:inherit}.kanban-product-add input:focus{outline:none;border-color:#002fa7}.kanban-product-add-colors{display:flex;gap:.375rem;flex-wrap:wrap}.kanban-product-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;border:none;border-radius:8px;background:#002fa7;color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;font-family:inherit}.kanban-product-footer{display:flex;gap:.5rem;margin-top:1rem}.kanban-product-import-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.75rem;color:#475569;cursor:pointer;font-family:inherit}.kanban-product-done-btn{padding:.5rem 1.25rem;border:none;border-radius:8px;background:#f1f5f9;font-size:.8125rem;font-weight:500;color:#475569;cursor:pointer;font-family:inherit}.kanban-page-settings-btn{display:inline-flex;align-items:center;gap:.375rem;margin-left:auto;padding:.375rem .75rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.75rem;color:#475569;cursor:pointer;font-family:inherit}.kanban-page-settings-btn:hover{border-color:#002fa7;color:#002fa7}.kanban-page-header{display:flex;align-items:center;gap:.5rem}.calendar-view{padding:1rem}.calendar-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.calendar-header h3{font-size:1rem;font-weight:600;flex:1;text-align:center}.calendar-header button{padding:.35rem;border-radius:6px;color:var(--text-secondary)}.calendar-header button:hover{background:var(--bg);color:var(--text)}.calendar-today-btn{font-size:.75rem;padding:.3rem .6rem!important;background:var(--primary);color:#fff!important;border-radius:6px;font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.calendar-weekday{padding:.5rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--card-bg)}.calendar-day{min-height:90px;padding:.3rem;background:var(--card-bg);display:flex;flex-direction:column}.calendar-day--other{opacity:.35}.calendar-day--today{background:color-mix(in srgb,var(--primary) 5%,var(--card-bg))}.calendar-day-num{font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:.2rem;padding:.1rem .3rem}.calendar-day-num--today{background:var(--primary);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.calendar-day-cards{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1}.calendar-card-dot{font-size:.65rem;color:#fff;padding:.15rem .3rem;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;line-height:1.2;transition:opacity .15s}.calendar-card-dot:hover{opacity:.8}.calendar-card-more{font-size:.6rem;color:var(--text-secondary);padding:.05rem .3rem}@media (max-width: 768px){.calendar-day{min-height:65px}.calendar-card-dot{font-size:.55rem}}.kanban-page{display:flex;flex-direction:column;min-height:0;height:100%}.kanban-page-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 0 1rem;color:#0f172a}.kanban-page-header h1{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:#0f172a;flex:1}.kanban-page-header-actions{display:flex;gap:.5rem}.kanban-page-view-btn,.kanban-page-settings-btn{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;border-radius:6px;font-size:.75rem;color:var(--text-secondary);background:var(--bg);transition:all .15s}.kanban-page-view-btn:hover,.kanban-page-settings-btn:hover{color:var(--text);background:var(--border)}.kanban-page-view-btn--active{background:var(--primary);color:#fff}.kanban-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;padding-bottom:1rem;flex-shrink:0}.kanban-stat-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:1px solid #f1f5f9;border-radius:12px;transition:box-shadow .2s,border-color .2s;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.kanban-stat-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.kanban-stat-card--active{border-color:#002fa7;box-shadow:0 0 0 1px #002fa7,0 2px 8px #002fa714;background:#f8faff}.kanban-stat-card-check{position:absolute;top:6px;right:8px;font-size:12px;font-weight:700;color:#002fa7;line-height:1}.kanban-stat-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0}.kanban-stat-card-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}.kanban-stat-card-value{font-size:1.375rem;font-weight:700;color:#0f172a;line-height:1.2;letter-spacing:-.02em}.kanban-stat-card-label{font-size:.6875rem;font-weight:500;color:#94a3b8;white-space:nowrap}.kanban-page-body{flex:1;min-height:0;display:flex;flex-direction:column}@media (max-width: 1400px){.kanban-stat-card{padding:.75rem}.kanban-stat-card-icon{width:34px;height:34px}.kanban-stat-card-icon svg{width:16px;height:16px}.kanban-stat-card-value{font-size:1.125rem}}@media (max-width: 1024px){.kanban-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.kanban-page-header{padding:.125rem 0 .75rem}.kanban-page-header h1{font-size:1rem}.kanban-stats{grid-template-columns:repeat(2,1fr);gap:.5rem;padding-bottom:.75rem}.kanban-stat-card{padding:.625rem .75rem}.kanban-stat-card-icon{width:32px;height:32px}.kanban-stat-card-icon svg{width:14px;height:14px}.kanban-stat-card-value{font-size:1rem}.kanban-stat-card-label{font-size:.625rem}}@media (max-width: 480px){.kanban-stats{grid-template-columns:repeat(2,1fr)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--primary)}.auth-container--center{text-align:center}.mainsite-hint{margin-bottom:1.25rem;padding:.75rem 1rem;background:#f0f6ff;border:1px solid #c5d9f5;border-radius:10px;font-size:.875rem;line-height:1.5;color:#334155}.mainsite-hint p{margin:0 0 .5rem}.mainsite-link{color:var(--primary, #2563eb);font-weight:600;text-decoration:none}.mainsite-link:hover{text-decoration:underline}.mainsite-spinner{margin:0 auto 1rem;color:var(--primary, #2563eb)}.auth-container{width:100%;max-width:400px;background:var(--card-bg);border-radius:20px;padding:2.5rem;box-shadow:0 20px 60px #0003}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.auth-header p{color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:1rem}.input-group{position:relative}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.input-group input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid var(--border);border-radius:12px;font-size:1rem;transition:all .2s}.input-group input:focus{outline:none;border-color:var(--primary)}.error-message{background:#fef2f2;color:var(--danger);padding:.75rem 1rem;border-radius:8px;font-size:.875rem;text-align:center}.submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:var(--primary);color:#fff;border-radius:12px;font-size:1rem;font-weight:600;transition:all .2s;margin-top:.5rem}.submit-btn:hover:not(:disabled){background:var(--primary-hover)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--text-secondary)}.auth-footer button{color:var(--primary);font-weight:600;margin-left:.5rem}.auth-footer button:hover{text-decoration:underline}@media (max-width: 640px){.auth-page{padding:3rem 1rem 1rem;align-items:flex-start}.auth-container{padding:2rem}}.landing-page{min-height:100vh;background:var(--bg)}.hero{position:relative;min-height:90vh;display:flex;flex-direction:column;padding:0 2rem;background:linear-gradient(180deg,#eef2ff,#f8fafc,#fff);overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(0,47,167,.06) 0%,transparent 70%);border-radius:50%;animation:pulse 8s ease-in-out infinite}.hero:after{content:"";position:absolute;bottom:-30%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(0,47,167,.04) 0%,transparent 70%);border-radius:50%;animation:pulse 10s ease-in-out infinite reverse}.nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;width:100%;margin:0 auto;padding:1.5rem 0}.nav-brand{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:var(--text)}.brand-icon{color:var(--primary)}.brand-logo{border-radius:6px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-link{color:var(--text-secondary);font-weight:500;transition:color .2s}.nav-link:hover{color:var(--text)}.nav-btn{padding:.625rem 1.25rem;background:var(--primary);color:#fff;border-radius:8px;font-weight:600;transition:all .2s}.nav-btn:hover{background:var(--primary-hover);color:#fff}.hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;max-width:800px;margin:0 auto;padding:4rem 0;animation:fadeInUp .8s ease-out}.hero-title{font-size:4.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;color:var(--text);letter-spacing:-.03em;animation:fadeInDown .8s ease-out}.highlight{color:var(--primary)}.hero-desc{font-size:1.25rem;color:var(--text-secondary);line-height:1.8;margin-bottom:2.5rem;max-width:600px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:var(--primary);color:#fff;border-radius:14px;font-weight:700;font-size:1.1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #002fa74d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #002fa766;color:#fff}.btn-primary:active{transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#fff;color:var(--text);border-radius:12px;font-weight:600;font-size:1.1rem;border:2px solid var(--border);transition:all .2s}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.hero-decoration{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.decoration-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;color:var(--text);font-weight:500}.features{padding:6rem 2rem;max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.section-header p{font-size:1.25rem;color:var(--text-secondary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.feature-card{padding:2.5rem 2rem;background:#fff;border-radius:20px;border:2px solid var(--border-light);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1)}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover{border-color:var(--primary-light);transform:translateY(-8px);box-shadow:0 20px 40px #002fa71f}.feature-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--primary);border-radius:16px;color:#fff;margin-bottom:1.5rem;box-shadow:0 8px 20px #002fa740;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 28px #002fa759}.feature-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.feature-card p{color:var(--text-secondary);line-height:1.6}.how-it-works{padding:6rem 2rem;background:#fff}.how-it-works .section-header{margin-bottom:4rem}.steps{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;max-width:900px;margin:0 auto}.step{flex:1;min-width:200px;text-align:center;padding:2rem}.step-number{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:50%;font-size:1.5rem;font-weight:800;margin:0 auto 1.5rem;box-shadow:0 8px 20px #002fa74d;transition:all .3s cubic-bezier(.4,0,.2,1)}.step:hover .step-number{transform:scale(1.15);box-shadow:0 12px 28px #002fa766}.step h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.step p{color:var(--text-secondary)}.step-arrow{color:var(--border)}.cta-section{padding:6rem 2rem;background:var(--primary);text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 6s ease-in-out infinite}.cta-content{max-width:600px;margin:0 auto;position:relative;z-index:1;animation:fadeInUp .8s ease-out}.cta-content h2{font-size:3rem;font-weight:800;color:#fff;margin-bottom:1rem;letter-spacing:-.03em;text-shadow:0 2px 10px rgba(0,0,0,.1)}.cta-content p{font-size:1.25rem;color:#ffffffe6;margin-bottom:2rem}.cta-section .btn-primary{background:#fff;color:var(--primary)}.cta-section .btn-primary:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 8px 20px #0003;color:var(--primary)}.btn-large{padding:1.125rem 2rem;font-size:1.2rem}.cta-features{display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.cta-features span{display:flex;align-items:center;gap:.5rem;color:#ffffffe6;font-size:.95rem}.cta-features svg{color:#4ade80}.footer{padding:3rem 2rem;background:var(--text);color:#fff}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.footer-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.footer-tagline{color:#fff9}@media (max-width: 768px){.hero{min-height:auto;padding-bottom:6rem}.hero-title{font-size:2.5rem}.hero-desc{font-size:1.1rem}.hero-actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{width:100%;justify-content:center}.section-header h2{font-size:2rem}.steps{flex-direction:column}.step-arrow{transform:rotate(90deg);margin:-.5rem 0}.cta-content h2{font-size:2rem}.cta-features{flex-direction:column;gap:.75rem}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.fixed{position:fixed}.relative{position:relative}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-px{height:1px}.w-4{width:1rem}.min-w-\[200px\]{min-width:200px}.min-w-\[260px\]{min-width:260px}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.items-center{align-items:center}.gap-3{gap:.75rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-gray-200\/90{border-color:#e5e7ebe6}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-1\.5{padding:.375rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-8{padding-left:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.italic{font-style:italic}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}:root{--primary: #002FA7;--primary-light: #1A4DBE;--primary-dark: #002080;--primary-hover: #0038C8;--primary-bg: #EDF2F9;--primary-border: #C5D4E8;--primary-gradient: linear-gradient(135deg, #002FA7 0%, #1A4DBE 100%);--bg: #F8FAFC;--card-bg: #FFFFFF;--text: #0F172A;--text-secondary: #64748B;--text-muted: #94A3B8;--border: #E2E8F0;--border-light: #F1F5F9;--danger: #EF4444;--danger-light: #FEE2E2;--success: #10B981;--success-light: #D1FAE5;--warning: #F59E0B;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--content-radius: 12px}.page-title{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;color:var(--text);line-height:1.3}.page-subtitle{margin-top:.25rem;font-size:.8125rem;color:var(--text-muted)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.reader-content{font-size:18px;line-height:1.8;max-width:680px;margin:0 auto}.reader-content h1{font-size:2em;margin-bottom:.5em;line-height:1.3}.reader-content h2{font-size:1.5em;margin:1.5em 0 .5em}.reader-content h3{font-size:1.25em;margin:1.2em 0 .5em}.reader-content p{margin-bottom:1em}.reader-content img{max-width:100%;height:auto;border-radius:8px;margin:1em 0}.reader-content pre{background:#1f2937;color:#f9fafb;padding:1em;border-radius:8px;overflow-x:auto;margin:1em 0}.reader-content code{background:#f3f4f6;padding:.2em .4em;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.9em}.reader-content pre code{background:none;padding:0}.reader-content blockquote{border-left:4px solid var(--primary);padding-left:1em;margin:1em 0;color:var(--text-secondary);font-style:italic}.reader-content ul,.reader-content ol{margin:1em 0;padding-left:1.5em}.reader-content li{margin-bottom:.5em}.reader-content a{color:var(--primary);text-decoration:underline}.reader-content table{width:100%;border-collapse:collapse;margin:1em 0}.reader-content th,.reader-content td{border:1px solid var(--border);padding:.5em;text-align:left}.reader-content th{background:var(--bg)}@media (max-width: 640px){html{font-size:15px}.reader-content{font-size:17px;padding:0 1rem}}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes radix-enter{0%{opacity:var(--enter-opacity, 1);transform:translate(var(--enter-x, 0)) translateY(var(--enter-y, 0)) scale(var(--enter-scale, 1))}}@keyframes radix-exit{to{opacity:var(--exit-opacity, 1);transform:translate(var(--exit-x, 0)) translateY(var(--exit-y, 0)) scale(var(--exit-scale, 1))}}[data-state=open].animate-in{animation:radix-enter .15s ease-out}[data-state=closed].animate-out{animation:radix-exit .15s ease-in}[data-state=open].fade-in-0{--enter-opacity: 0}[data-state=closed].fade-out-0{--exit-opacity: 0}[data-state=open].zoom-in-95{--enter-scale: .95}[data-state=closed].zoom-out-95{--exit-scale: .95}[data-state=open].slide-in-from-left-1\/2{--enter-x: -50%}[data-state=open].slide-in-from-top-\[48\%\]{--enter-y: -48%}[data-state=closed].slide-out-to-left-1\/2{--exit-x: -50%}[data-state=closed].slide-out-to-top-\[48\%\]{--exit-y: -48%}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-down{animation:fadeInDown .5s ease-out}.animate-slide-in-right{animation:slideInRight .5s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:4px}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=open\]\:bg-gray-100[data-state=open]{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}
