@font-face{font-family:'Space Grotesk';src:url('/static/fonts/space-grotesk/SpaceGrotesk-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Space Grotesk';src:url('/static/fonts/space-grotesk/SpaceGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Space Grotesk';src:url('/static/fonts/space-grotesk/SpaceGrotesk-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'Space Grotesk';src:url('/static/fonts/space-grotesk/SpaceGrotesk-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/ibm-plex-sans/IBMPlexSans-Regular-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/ibm-plex-sans/IBMPlexSans-Medium-latin.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/ibm-plex-sans/IBMPlexSans-SemiBold-latin.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/ibm-plex-sans/IBMPlexSans-Regular-cyrillic.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/ibm-plex-sans/IBMPlexSans-Medium-cyrillic.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'IBM Plex Sans';src:url('/static/fonts/ibm-plex-sans/IBMPlexSans-SemiBold-cyrillic.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'JetBrains Mono';src:url('/static/fonts/jetbrains-mono/JetBrainsMono-Regular-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';src:url('/static/fonts/jetbrains-mono/JetBrainsMono-Medium-latin.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';src:url('/static/fonts/jetbrains-mono/JetBrainsMono-Regular-cyrillic.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'JetBrains Mono';src:url('/static/fonts/jetbrains-mono/JetBrainsMono-Medium-cyrillic.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}:root{--header-height:71px;--font-display:'Space Grotesk',sans-serif;--font-body:'IBM Plex Sans',sans-serif;--font-mono:'JetBrains Mono',monospace;--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#21262d;--text-primary:#e6edf3;--text-secondary:#8b949e;--accent:#58a6ff;--accent-hover:#79c0ff;--accent-secondary:#a78bfa;--border:#30363d;--success:#3fb950;--warning:#d29922;--error:#f85149;--accent-gradient:linear-gradient(135deg,#58a6ff 0,#a78bfa 100%);--accent-glow:0 0 20px rgba(88,166,255,0.4);--accent-glow-strong:0 0 30px rgba(88,166,255,0.6);--surface-gradient:linear-gradient(180deg,rgba(255,255,255,0.03) 0,rgba(255,255,255,0.01) 100%);--card-glow:0 4px 20px rgba(0,0,0,0.3);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--radius-xs:3px;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.1);--shadow-md:0 4px 12px rgba(0,0,0,0.15);--shadow-lg:0 8px 24px rgba(0,0,0,0.2);--skeleton-base:var(--bg-tertiary);--skeleton-shine:var(--bg-secondary)}[data-theme="light"]{--bg-primary:#fff;--bg-secondary:#f6f8fa;--bg-tertiary:#eaeef2;--text-primary:#1f2328;--text-secondary:#656d76;--accent:#0969da;--accent-hover:#0550ae;--accent-secondary:#7c3aed;--border:#d0d7de;--success:#1a7f37;--warning:#9a6700;--error:#cf222e;--accent-gradient:linear-gradient(135deg,#0969da 0,#7c3aed 100%);--accent-glow:0 0 20px rgba(9,105,218,0.3);--accent-glow-strong:0 0 30px rgba(9,105,218,0.4);--surface-gradient:linear-gradient(180deg,rgba(0,0,0,0.02) 0,rgba(0,0,0,0.01) 100%);--card-glow:0 4px 20px rgba(0,0,0,0.1);--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}code{font-family:var(--font-mono);background:var(--bg-tertiary);padding:.2em .4em;border-radius:var(--radius-sm);font-size:.9em;word-break:break-word;overflow-wrap:break-word}pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;overflow-x:auto;margin:1rem 0}pre code{background:0;padding:0}header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:1rem 2rem}nav{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.logo:hover{color:var(--text-primary);text-decoration:none}.nav-right{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:1rem}.theme-toggle{background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;padding:.375rem .5rem;font-size:1.1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:inline}[data-theme="light"] .theme-toggle .icon-sun{display:inline}[data-theme="light"] .theme-toggle .icon-moon{display:none}.user-name-link{color:var(--text-secondary);text-decoration:none;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}.user-name-link:hover{color:var(--text-primary)}.logout{display:inline-block;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:.875rem;padding:0 .75rem;min-height:44px;line-height:44px;cursor:pointer;transition:all .2s}.logout:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}main{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:1rem 2rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.login-container{max-width:500px;margin:2rem auto;text-align:center}.login-container h1{margin-bottom:2rem}.login-instructions{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.steps{margin:2rem 0;text-align:left}.step{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md)}.step-number{background:var(--accent);color:var(--bg-primary);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.telegram-btn{display:inline-block;background:#08c;color:white;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;margin-top:1rem}.telegram-btn:hover{background:#09d;color:white;text-decoration:none}.warning{color:var(--warning);margin-top:1rem}.search-box{position:relative;margin-bottom:1.5rem}.search-box input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:border-color .2s}.search-box input:focus{outline:0;border-color:var(--accent)}.search-box input::placeholder{color:var(--text-secondary)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.notes-container h1{margin-bottom:1.5rem}.category{margin-top:1.5rem}.category-title{font-size:1.1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.folder-icon{font-size:1.2rem}.notes-list{list-style:none;margin-bottom:1rem}.notes-list li{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.5rem}.notes-list a{display:block;padding:.75rem 1rem;color:var(--text-primary)}.notes-list a:hover{background:var(--bg-tertiary);text-decoration:none}.breadcrumbs{margin-bottom:var(--space-lg);color:var(--text-secondary);font-size:.95rem;display:flex;align-items:center;flex-wrap:wrap;gap:0}.breadcrumbs a{color:var(--text-secondary);padding:var(--space-xs) 0;border-radius:var(--radius-sm);transition:color .2s}.breadcrumbs a:first-child{display:inline-flex;align-items:center;gap:var(--space-xs)}.breadcrumbs a:first-child::before{content:"";display:inline-block;width:14px;height:14px;background:currentColor;mask-image:url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg'viewBox='002424'fill='none'stroke='currentColor'stroke-width='2'stroke-linecap='round'stroke-linejoin='round'%3E%3Cpathd='M39l9-797v11a22001-22H5a22001-2-2z'/%3E%3Cpolylinepoints='9,229,1215,1215,22'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3Csvgxmlns='http://www.w3.org/2000/svg'viewBox='002424'fill='none'stroke='currentColor'stroke-width='2'stroke-linecap='round'stroke-linejoin='round'%3E%3Cpathd='M39l9-797v11a22001-22H5a22001-2-2z'/%3E%3Cpolylinepoints='9,229,1215,1215,22'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;flex-shrink:0}.breadcrumbs a:hover{color:var(--accent);text-decoration:none}.breadcrumbs .separator{margin:0 var(--space-sm);color:var(--text-secondary);opacity:.5}.empty-state{text-align:center;padding:var(--space-xl) var(--space-md);color:var(--text-secondary)}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--space-lg);color:var(--accent);opacity:.6}.empty-state h3{font-size:1.1rem;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-sm)}.empty-state p{margin:0;line-height:1.6}.hint{margin-top:var(--space-sm);font-size:.9rem}.note-container{max-width:min(800px,100%);margin:0 auto}.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--text-secondary)}.note-container h1{margin-bottom:.75rem}.note-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.875rem}.note-meta span{display:inline-flex;align-items:center;gap:.375rem}.note-meta svg{opacity:.7}.note-toc{margin-bottom:1.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.note-toc details{padding:0;width:100%}.note-toc summary{padding:.75rem 1rem;background:var(--bg-tertiary);font-weight:600;font-size:.9rem;cursor:pointer;user-select:none;list-style:none;display:block;width:100%;box-sizing:border-box}.note-toc summary::-webkit-details-marker{display:none}.note-toc summary::before{content:'▶';display:inline-block;font-size:.7rem;margin-right:.5rem;transition:transform .2s;color:var(--text-secondary)}.note-toc details[open] summary::before{transform:rotate(90deg)}.note-toc details[open] summary{border-bottom:1px solid var(--border)}.note-toc .toc{padding:.75rem 1rem}.note-toc .toc ul{list-style:none;padding:0;margin:0}.note-toc .toc li{margin:.25rem 0}.note-toc .toc ul ul{padding-left:1rem;margin-top:.25rem}.note-toc .toc a{color:var(--text-secondary);font-size:.875rem;text-decoration:none;transition:color .2s}.note-toc .toc a:hover{color:var(--accent)}.quiz-section{margin:2rem 0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.quiz-section-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.quiz-section-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--text-primary);margin:0}.quiz-section-title .quiz-icon{font-size:1.1rem}.quiz-progress{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--text-secondary)}.quiz-progress-bar{width:80px;height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.quiz-progress-fill{height:100%;background:var(--error);border-radius:var(--radius-full);transition:width .3s ease-out,background .3s ease-out;width:0}.quiz-progress-text{min-width:3ch;text-align:right}.quiz-section-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.quiz-section details{background:var(--bg-primary);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s,box-shadow .2s}.quiz-section details:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(88,166,255,0.1)}[data-theme="light"] .quiz-section details:hover{box-shadow:0 2px 8px rgba(9,105,218,0.1)}.quiz-section details[open]{border-left-color:var(--success)}.quiz-section summary{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;cursor:pointer;font-size:.95rem;line-height:1.5;color:var(--text-primary);list-style:none;transition:background-color .2s}.quiz-section summary::-webkit-details-marker{display:none}.quiz-section summary:hover{background:var(--bg-tertiary)}.quiz-section summary::before{content:'▶';display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.6rem;color:var(--accent);background:rgba(88,166,255,0.1);border-radius:var(--radius-sm);flex-shrink:0;margin-top:.125rem;transition:transform .2s,background-color .2s}[data-theme="light"] .quiz-section summary::before{background:rgba(9,105,218,0.1)}.quiz-section details[open] summary::before{content:'▼';transform:none;color:var(--success);background:rgba(63,185,80,0.15)}.quiz-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-sm);flex-shrink:0}.quiz-question-text{flex:1}.quiz-answer{padding:1rem;padding-top:0;margin-top:-.25rem}.quiz-answer-content{padding:.875rem 1rem;background:rgba(63,185,80,0.08);border-left:3px solid var(--success);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.6;color:var(--text-primary)}.quiz-answer-icon{flex-shrink:0;width:16px;height:16px;color:var(--success);margin-right:.5rem;margin-top:.2rem}.quiz-answer-content{display:flex;align-items:flex-start}.quiz-answer-content p{margin:0}.quiz-answer-content p+p{margin-top:.75rem}@media(max-width:768px){.quiz-section-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.quiz-progress{width:100%}.quiz-progress-bar{flex:1}.quiz-section-body{padding:.75rem}.quiz-section summary{padding:.75rem;font-size:.9rem}.quiz-number{display:none}.quiz-answer{padding:.75rem;padding-top:0}}.reading-progress-bar{position:fixed;top:53px;left:0;width:0;height:3px;background:var(--accent-gradient);z-index:99;transition:width .1s ease-out;box-shadow:0 0 8px rgba(88,166,255,0.5)}[data-theme="light"] .reading-progress-bar{box-shadow:0 0 8px rgba(9,105,218,0.4)}.note-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.note-content h1,.note-content h2,.note-content h3,.note-content h4,.note-content h5,.note-content h6{margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-primary);scroll-margin-top:5rem}.note-content h1:first-child,.note-content h2:first-child{margin-top:0}.note-content p{margin-bottom:1rem}.note-content ul,.note-content ol{margin-bottom:1rem;padding-left:1.5rem}.note-content li{margin-bottom:.25rem}.note-content img{display:block;margin:1.5rem auto;max-width:95%;height:auto;border-radius:var(--radius-md);cursor:zoom-in;transition:opacity .2s,box-shadow .2s}.note-content img.zoomable:hover{opacity:.9;box-shadow:0 4px 20px rgba(0,0,0,0.3)}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.92);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.lightbox-overlay.visible{opacity:1;visibility:visible}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 10px 50px rgba(0,0,0,0.5)}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:0;border:0;color:white;font-size:2.5rem;cursor:pointer;opacity:.7;transition:opacity .2s;line-height:1}.lightbox-close:hover{opacity:1}.note-content blockquote{border-left:4px solid var(--accent);padding-left:1rem;margin:1rem 0;color:var(--text-secondary)}.note-content table{width:100%;border-collapse:collapse;margin:1rem 0}.note-content th,.note-content td{border:1px solid var(--border);padding:.75rem;text-align:left}.note-content th{background:var(--bg-tertiary)}.highlight{position:relative;background:#1e1e1e;border:1px solid var(--border);border-radius:var(--radius-md);margin:1rem 0;overflow:hidden}.highlight pre{background:transparent !important;margin:0;padding:1rem;overflow-x:auto;border:0}.highlight code{background:transparent !important;padding:0;font-family:'SF Mono','Fira Code','Consolas',monospace;font-size:.875rem;line-height:1.5}.code-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#2d2d2d;border-bottom:1px solid var(--border)}.code-lang{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.code-copy-btn{padding:.25rem .75rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s}.code-copy-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.code-copy-btn.copied{color:var(--success);border-color:var(--success)}code.highlight{background:var(--bg-tertiary);padding:.2em .4em;border-radius:var(--radius-sm);font-size:.9em;word-break:break-word;overflow-wrap:break-word}.highlight .hll{background-color:#49483e}.highlight .c{color:#75715e}.highlight .err{color:#f92672}.highlight .k{color:#66d9ef}.highlight .l{color:#ae81ff}.highlight .n{color:#f8f8f2}.highlight .o{color:#f92672}.highlight .p{color:#f8f8f2}.highlight .ch{color:#75715e}.highlight .cm{color:#75715e}.highlight .cp{color:#75715e}.highlight .cpf{color:#75715e}.highlight .c1{color:#75715e}.highlight .cs{color:#75715e}.highlight .gd{color:#f92672}.highlight .ge{font-style:italic}.highlight .gi{color:#a6e22e}.highlight .gs{font-weight:bold}.highlight .gu{color:#75715e}.highlight .kc{color:#66d9ef}.highlight .kd{color:#66d9ef}.highlight .kn{color:#f92672}.highlight .kp{color:#66d9ef}.highlight .kr{color:#66d9ef}.highlight .kt{color:#66d9ef}.highlight .ld{color:#e6db74}.highlight .m{color:#ae81ff}.highlight .s{color:#e6db74}.highlight .na{color:#a6e22e}.highlight .nb{color:#f8f8f2}.highlight .nc{color:#a6e22e}.highlight .no{color:#66d9ef}.highlight .nd{color:#a6e22e}.highlight .ni{color:#f8f8f2}.highlight .ne{color:#a6e22e}.highlight .nf{color:#a6e22e}.highlight .nl{color:#f8f8f2}.highlight .nn{color:#f8f8f2}.highlight .nx{color:#a6e22e}.highlight .py{color:#f8f8f2}.highlight .nt{color:#f92672}.highlight .nv{color:#f8f8f2}.highlight .ow{color:#f92672}.highlight .w{color:#f8f8f2}.highlight .mb{color:#ae81ff}.highlight .mf{color:#ae81ff}.highlight .mh{color:#ae81ff}.highlight .mi{color:#ae81ff}.highlight .mo{color:#ae81ff}.highlight .sa{color:#e6db74}.highlight .sb{color:#e6db74}.highlight .sc{color:#e6db74}.highlight .dl{color:#e6db74}.highlight .sd{color:#e6db74}.highlight .s2{color:#e6db74}.highlight .se{color:#ae81ff}.highlight .sh{color:#e6db74}.highlight .si{color:#e6db74}.highlight .sx{color:#e6db74}.highlight .sr{color:#e6db74}.highlight .s1{color:#e6db74}.highlight .ss{color:#e6db74}.highlight .bp{color:#f8f8f2}.highlight .fm{color:#a6e22e}.highlight .vc{color:#f8f8f2}.highlight .vg{color:#f8f8f2}.highlight .vi{color:#f8f8f2}.highlight .vm{color:#f8f8f2}.highlight .il{color:#ae81ff}[data-theme="light"] .highlight{background:#f9f9f9;border-color:#e1e4e8}[data-theme="light"] .code-toolbar{background:#fff;border-bottom-color:#e1e4e8}[data-theme="light"] .highlight .c{color:#6a737d}[data-theme="light"] .highlight .k{color:#d73a49}[data-theme="light"] .highlight .n{color:#24292e}[data-theme="light"] .highlight .o{color:#d73a49}[data-theme="light"] .highlight .p{color:#24292e}[data-theme="light"] .highlight .s{color:#032f62}[data-theme="light"] .highlight .na{color:#6f42c1}[data-theme="light"] .highlight .nb{color:#005cc5}[data-theme="light"] .highlight .nc{color:#6f42c1}[data-theme="light"] .highlight .nf{color:#6f42c1}[data-theme="light"] .highlight .nt{color:#22863a}[data-theme="light"] .highlight .m{color:#005cc5}[data-theme="light"] .highlight .mi{color:#005cc5}[data-theme="light"] .highlight .mf{color:#005cc5}[data-theme="light"] .highlight .kc{color:#005cc5}[data-theme="light"] .highlight .kd{color:#d73a49}[data-theme="light"] .highlight .kn{color:#d73a49}[data-theme="light"] .highlight .kr{color:#d73a49}.scroll-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;background:var(--accent);color:white;border:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,0.3);z-index:100}.scroll-top:hover{background:var(--accent-hover);transform:translateY(-2px)}.scroll-top.visible{opacity:1;visibility:visible}.landing-container{max-width:1000px;margin:0 auto;padding:0 1.5rem}.hero{text-align:center;padding:4rem 0 3rem}.hero-content{max-width:700px;margin:0 auto}.hero-logo{width:200px;height:auto;margin-bottom:2rem;border-radius:var(--radius-2xl)}.hero h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2}.hero-desc{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.cta-wrapper{display:flex;flex-direction:column;align-items:center;gap:.75rem}.btn-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:white;padding:1rem 2rem;border-radius:var(--radius-lg);font-weight:600;font-size:1.1rem;transition:all .2s}.btn-cta:hover{background:var(--accent-hover);color:white;text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 12px rgba(88,166,255,0.3)}.tg-icon{width:20px;height:20px}.cta-hint{color:var(--text-secondary);font-size:.9rem}.features{padding:3rem 0}.features-title{text-align:center;font-size:1.75rem;margin-bottom:2rem;color:var(--text-primary)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.feature-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .2s}.feature-card:hover{border-color:var(--accent)}.feature-icon{width:48px;height:48px;background:var(--bg-tertiary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.feature-icon svg{width:24px;height:24px;color:var(--accent)}.feature-card h3{font-size:1.1rem;margin-bottom:.5rem;color:var(--text-primary)}.feature-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.preview{padding:3rem 0}.preview-title{text-align:center;font-size:1.75rem;margin-bottom:2rem;color:var(--text-primary)}.preview-container{display:flex;justify-content:center}.preview-window{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;width:100%;max-width:800px;box-shadow:0 8px 32px rgba(0,0,0,0.3)}.preview-header{background:var(--bg-tertiary);padding:.75rem 1rem;display:flex;gap:.5rem}.preview-dot{width:12px;height:12px;border-radius:50%}.preview-dot.red{background:#ff5f57}.preview-dot.yellow{background:#febc2e}.preview-dot.green{background:#28c840}.preview-content{display:flex;min-height:250px}.preview-sidebar{width:200px;background:var(--bg-tertiary);padding:1rem;border-right:1px solid var(--border)}.preview-nav-item{padding:.5rem .75rem;border-radius:var(--radius);font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem;cursor:default}.preview-nav-item.active{background:var(--accent);color:white}.preview-main{flex:1;padding:1.5rem}.preview-note-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.preview-code{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:1rem;font-family:'JetBrains Mono','Fira Code',Consolas,monospace;font-size:.85rem;color:var(--text-primary);line-height:1.6}.code-comment{color:var(--text-secondary)}.bottom-cta{text-align:center;padding:2rem 0 4rem}@media(max-width:768px){.hero{padding:2rem 0}.hero h1{font-size:1.75rem}.hero-desc{font-size:1rem}.features-grid{grid-template-columns:1fr}.preview-content{flex-direction:column}.preview-sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border);display:flex;gap:.5rem;overflow-x:auto;padding:.75rem}.preview-nav-item{white-space:nowrap;margin-bottom:0}}@media(max-width:768px){header{padding:1rem}main{padding:1rem}.note-content{padding:1rem}.note-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.login-instructions{padding:1.5rem}}.note-feedback{margin-top:var(--space-xl);padding:var(--space-md) 0;border-top:1px solid var(--border)}.feedback-buttons{display:flex;gap:var(--space-md)}.feedback-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.9rem;min-width:64px;justify-content:center;position:relative;overflow:hidden}.feedback-btn:not(.active){background:var(--bg-secondary)}.feedback-btn:hover:not(.active){background:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.feedback-btn:active{transform:scale(0.95)}.feedback-btn.active{border-color:var(--accent);color:var(--accent)}.feedback-btn.like.active{background:rgba(63,185,80,0.15);border-color:var(--success);color:var(--success)}.feedback-btn.like.active svg{fill:var(--success);fill-opacity:.2}.feedback-btn.dislike.active{background:rgba(248,81,73,0.15);border-color:var(--error);color:var(--error)}.feedback-btn.dislike.active svg{fill:var(--error);fill-opacity:.2}.feedback-btn svg{width:18px;height:18px;flex-shrink:0}.feedback-btn .count{font-weight:600;min-width:1ch}.feedback-btn.loading{pointer-events:none}.feedback-btn.loading .count{background:linear-gradient(90deg,var(--skeleton-base) 0,var(--skeleton-shine) 50%,var(--skeleton-base) 100%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--radius-sm);color:transparent;min-width:20px;height:1em}@keyframes skeleton-pulse{0%{background-position:200% 0}100%{background-position:-200% 0}}.feedback-hint{margin-top:var(--space-md);font-size:.85rem;color:var(--text-secondary)}.comments-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.comments-section h2{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary)}.auth-hint{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.comment-form{margin-bottom:2rem}.comment-form textarea{width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.95rem;resize:vertical;min-height:80px;transition:border-color .2s}.comment-form textarea:focus{outline:0;border-color:var(--accent)}.comment-form textarea::placeholder{color:var(--text-secondary)}.comment-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.char-count{font-size:.85rem;color:var(--text-secondary)}.submit-comment-btn{padding:.5rem 1.25rem;background:var(--accent);border:0;border-radius:var(--radius);color:white;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.submit-comment-btn:hover{background:var(--accent-hover)}.comments-list{display:flex;flex-direction:column;gap:1rem}.no-comments{color:var(--text-secondary);text-align:center;padding:2rem}.comment{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem}.comment.own{border-left:3px solid var(--accent)}.comment-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.comment-author{font-weight:500;color:var(--text-primary)}.comment-date{font-size:.85rem;color:var(--text-secondary)}.status-badge{font-size:.75rem;padding:.2rem .5rem;border-radius:var(--radius-sm);font-weight:500}.status-badge.pending{background:rgba(210,153,34,0.15);color:var(--warning)}.status-badge.rejected{background:rgba(248,81,73,0.15);color:var(--error)}.comment-content{color:var(--text-primary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.comment-actions button{background:0;border:0;color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:0;transition:color .2s}.comment-actions button:hover{color:var(--accent)}.comment-actions .delete-btn:hover{color:var(--error)}.app-layout{display:grid;grid-template-columns:260px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.app-layout.no-sidebar{grid-template-columns:1fr}.app-header{grid-column:1 / -1;display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;min-height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.menu-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:1.25rem;padding:.375rem .625rem;cursor:pointer}.app-header .logo{font-size:1.1rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.app-header .logo:hover{color:var(--text-primary);text-decoration:none}.header-search{flex:1;max-width:400px;min-width:0;margin:0 1rem}.header-search input{width:100%;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.875rem}.header-search input:focus{outline:0;border-color:var(--accent)}.header-search input::placeholder{color:var(--text-secondary)}.header-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.app-sidebar{grid-row:2;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));background:var(--bg-secondary);background-image:var(--surface-gradient);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;transition:width .25s ease,min-width .25s ease;overscroll-behavior:contain}.sidebar-collapse-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;z-index:20;transition:all .2s}.sidebar-collapse-btn:hover{background:var(--accent);color:white;border-color:var(--accent)}.sidebar-collapse-btn svg{transition:transform .25s ease}.app-layout.sidebar-collapsed{grid-template-columns:0 1fr}.app-layout.sidebar-collapsed .app-sidebar{width:0;min-width:0;overflow:hidden;border-right:0;padding:0}.app-layout.sidebar-collapsed .sidebar-collapse-btn{position:fixed;left:0;top:50%;transform:translateY(-50%);right:auto;border-radius:0 6px 6px 0;border-left:0;height:48px;width:24px;background:var(--bg-secondary)}.app-layout.sidebar-collapsed .sidebar-collapse-btn:hover{width:32px;background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border)}.app-layout.sidebar-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar-nav{padding:1rem 0}.nav-section{margin-bottom:.25rem}.nav-section-wrapper{list-style:none;margin:0;padding:0}.nav-root-categories{list-style:none;margin:0;padding:0}.nav-category{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;background:transparent;border:0;color:var(--text-primary);font-family:var(--font-mono);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;text-align:left;cursor:pointer;transition:all .2s}.nav-category:hover{background:var(--bg-tertiary);color:var(--accent)}.nav-category .expand-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-secondary);transition:transform .25s cubic-bezier(0.4,0,0.2,1),color .2s;flex-shrink:0}.nav-category:hover .expand-icon{color:var(--accent)}.nav-section:not(.expanded) .nav-category .expand-icon{transform:rotate(-90deg)}.nav-category .note-count{margin-left:auto;font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.125rem .5rem;border-radius:var(--radius-lg);transition:all .2s}.nav-category:hover .note-count{background:rgba(88,166,255,0.15);color:var(--accent)}.nav-items{list-style:none;margin:0;padding:0;overflow:hidden;display:none}.nav-items.visible,.nav-root-categories{display:block}.nav-item{margin:0}.nav-item a{display:block;padding:.5rem 1rem .5rem 2.25rem;color:var(--text-secondary);font-size:.8125rem;text-decoration:none;transition:all .2s;border-left:2px solid transparent;position:relative}.nav-item a:hover{color:var(--text-primary);background:var(--bg-tertiary);text-decoration:none}.nav-item.active a{color:var(--accent);background:rgba(88,166,255,0.1);border-left-color:var(--accent);box-shadow:inset 4px 0 12px rgba(88,166,255,0.1)}.nav-item.active a::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent-gradient);box-shadow:0 0 8px rgba(88,166,255,0.5)}.nav-root-items{padding-top:.5rem}.nav-section .nav-section{margin-left:.75rem}.nav-section .nav-section .nav-item a{padding-left:2.75rem}.app-main{grid-row:2;padding:2rem;overflow-x:hidden}.app-main>*:first-child{margin-top:0}.app-main .note-container{max-width:min(800px,100%)}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:49}.sidebar-overlay.visible{display:block}@media(max-width:900px){.app-layout{grid-template-columns:1fr}.menu-toggle{display:flex;align-items:center;justify-content:center}.app-sidebar{position:fixed;left:0;top:var(--header-height);width:280px;height:calc(100vh - var(--header-height));transform:translateX(-100%);transition:transform .25s ease;z-index:50}.app-sidebar.open{transform:translateX(0)}.search-wrapper{display:none}.sidebar-nav{padding-bottom:160px}.app-main{padding:1rem}}.sidebar-search{padding:.75rem 1rem;padding-top:48px;padding-right:3rem;border-bottom:1px solid var(--border);position:relative}.sidebar-search input{width:100%;padding:.5rem 2rem .5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.875rem}.sidebar-search .search-clear{right:1.25rem}.sidebar-search input:not(:placeholder-shown)+.search-clear{display:block}@media(min-width:901px){.sidebar-search{display:none}}@media(max-width:768px){.user-name-link{display:none}}@media(max-width:500px){.app-header{padding:.5rem .75rem;gap:.5rem}.app-header .logo{font-size:1rem}.header-search,.search-wrapper{margin:0 .5rem}.user-info .logout{padding:.4rem .6rem;font-size:.85rem}.header-right{gap:.5rem}.theme-toggle{padding:.35rem}.app-main{padding:.75rem}.categories-grid{grid-template-columns:1fr}.category-card-info h3{font-size:.9rem}}.search-wrapper{position:relative;flex:1;max-width:400px;min-width:0;margin:0 1rem}.search-wrapper input{width:100%;padding:.5rem 2rem .5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.875rem}.search-wrapper input:focus{outline:0;border-color:var(--accent)}.search-wrapper input::placeholder{color:var(--text-secondary)}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:0;border:0;color:var(--text-secondary);cursor:pointer;padding:.25rem;font-size:1.1rem;line-height:1;display:none}.search-clear:hover{color:var(--text-primary)}.search-wrapper input:not(:placeholder-shown)+.search-clear{display:block}.welcome-content{max-width:min(800px,100%)}.welcome-content h1{margin-bottom:.5rem}.welcome-desc{color:var(--text-secondary);margin-bottom:2rem}kbd{display:inline-block;padding:.15rem .4rem;font-size:.8rem;font-family:inherit;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 0 var(--border)}.categories-overview h2{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}a.category-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-secondary);background-image:var(--surface-gradient);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .3s cubic-bezier(0.4,0,0.2,1);text-decoration:none;color:inherit;position:relative;overflow:hidden}a.category-card::before{content:'';position:absolute;inset:0;background:var(--accent-gradient);opacity:0;transition:opacity .3s}a.category-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px);box-shadow:var(--accent-glow),var(--card-glow)}a.category-card:hover::before{opacity:.05}.category-icon{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all .3s;z-index:1}.category-icon svg{width:24px;height:24px;stroke:var(--accent);stroke-width:1.5;fill:none;transition:all .3s}.category-icon .icon-glow{position:absolute;inset:-4px;background:var(--accent-gradient);border-radius:var(--radius-md);opacity:0;filter:blur(8px);transition:opacity .3s;z-index:-1}a.category-card:hover .category-icon{background:rgba(88,166,255,0.15)}a.category-card:hover .category-icon svg{stroke:var(--accent-hover)}a.category-card:hover .icon-glow{opacity:.4}.category-card-info{z-index:1}.category-card-info h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.category-card-count{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);letter-spacing:.02em}.category-arrow{width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateX(-8px);transition:all .3s;z-index:1}.category-arrow svg{width:20px;height:20px;stroke:var(--accent);stroke-width:2;fill:none}a.category-card:hover .category-arrow{opacity:1;transform:translateX(0)}.category-card-empty{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);opacity:.5;cursor:default}.category-card-empty .category-icon{background:var(--bg-tertiary)}.category-card-empty .category-icon svg{stroke:var(--text-secondary)}.app-sidebar::-webkit-scrollbar{width:6px}.app-sidebar::-webkit-scrollbar-track{background:transparent}.app-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.app-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-sidebar{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.error-page{text-align:center;padding:4rem 2rem}.error-page h1{font-size:6rem;font-weight:700;color:var(--text-secondary);margin-bottom:.5rem;line-height:1}.error-page p{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem}.btn{display:inline-block;padding:.75rem 1.5rem;background:var(--accent);color:white;border-radius:var(--radius);text-decoration:none;font-weight:500;transition:background .2s}.btn:hover{background:var(--accent-hover);text-decoration:none;color:white}.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,0.15);animation:toast-fade 3s ease-out forwards;z-index:1000}@keyframes toast-fade{0%,70%{opacity:1}100%{opacity:0;pointer-events:none}}.category-page{max-width:min(800px,100%)}.category-page h1{margin-bottom:1.5rem}.notes-list{list-style:none;padding:0;margin:0}.notes-list li{padding:.75rem 0;border-bottom:1px solid var(--border)}.notes-list li:last-child{border-bottom:0}.notes-list a{color:var(--text-primary);text-decoration:none;font-size:1rem}.notes-list a:hover{color:var(--accent)}.subcategories{margin-top:2rem}.subcategory{margin-bottom:2rem}.subcategory h2{font-size:1.25rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.subcategory h2 a{color:var(--text-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s}.subcategory h2 a:hover{color:var(--accent)}.subcategory-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);transition:transform .2s}.subcategory h2 a:hover .subcategory-icon{transform:scale(1.1)}.category-notes-list li{background:transparent;border:0;border-radius:0}.category-notes-list li a{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s}.category-notes-list li a:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:translateX(4px)}.category-notes-list .note-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s}.category-notes-list li a:hover .note-icon{color:var(--accent)}.category-notes-list .note-title{flex:1}.category-notes-list .note-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:0;transform:translateX(-8px);transition:all .2s}.category-notes-list li a:hover .note-arrow{opacity:1;transform:translateX(0);color:var(--accent)}.breadcrumbs .separator{display:inline-flex;align-items:center;justify-content:center;margin:0 var(--space-xs)}.breadcrumbs .separator svg{color:var(--text-secondary);opacity:.5}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(88,166,255,0.15)}[data-theme="light"] .form-input:focus{box-shadow:0 0 0 3px rgba(9,105,218,0.15)}.form-input::placeholder{color:var(--text-secondary)}.form-input.input-error,.form-group.has-error .form-input{border-color:var(--error);background:rgba(248,81,73,0.05)}.form-input.input-error:focus,.form-group.has-error .form-input:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(248,81,73,0.15)}.form-input.input-success,.form-group.has-success .form-input{border-color:var(--success);background:rgba(63,185,80,0.05)}.form-input.input-success:focus,.form-group.has-success .form-input:focus{border-color:var(--success);box-shadow:0 0 0 3px rgba(63,185,80,0.15)}.form-message{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);font-size:.85rem}.form-message svg{width:14px;height:14px;flex-shrink:0}.form-message.error{color:var(--error)}.form-message.success{color:var(--success)}.form-message.warning{color:var(--warning)}.input-with-icon{position:relative}.input-with-icon .form-input{padding-right:2.5rem}.input-with-icon .input-icon{position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);width:20px;height:20px;pointer-events:none}.input-with-icon .input-icon.success{color:var(--success)}.input-with-icon .input-icon.error{color:var(--error)}.floating-label{position:relative}.floating-label .form-input{padding-top:1.25rem;padding-bottom:var(--space-xs)}.floating-label label{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);font-size:1rem;font-weight:400;color:var(--text-secondary);pointer-events:none;transition:all .2s ease;background:transparent}.floating-label .form-input:focus ~ label,.floating-label .form-input:not(:placeholder-shown) ~ label{top:.5rem;transform:translateY(0);font-size:.75rem;color:var(--accent)}.floating-label .form-input.input-error:focus ~ label,.floating-label .form-input.input-error:not(:placeholder-shown) ~ label{color:var(--error)}.floating-label .form-input.input-success:focus ~ label,.floating-label .form-input.input-success:not(:placeholder-shown) ~ label{color:var(--success)}.btn-cyber,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-mono);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden}.btn-cyber{background:var(--accent);color:#fff;border:0;box-shadow:var(--accent-glow)}.btn-cyber::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left .5s}.btn-cyber:hover{background:var(--accent-hover);box-shadow:var(--accent-glow-strong);transform:translateY(-2px);color:#fff;text-decoration:none}.btn-cyber:hover::before{left:100%}.btn-cyber:active{transform:translateY(0) scale(0.98)}.btn-ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-ghost::before{content:'';position:absolute;inset:0;background:var(--accent-gradient);opacity:0;transition:opacity .3s;z-index:-1}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.btn-ghost:hover::before{opacity:.1}.btn-ghost:active{transform:scale(0.98)}.btn-cyber.btn-sm,.btn-ghost.btn-sm{padding:.5rem 1rem;font-size:.75rem}.btn-cyber.btn-lg,.btn-ghost.btn-lg{padding:1rem 2rem;font-size:1rem}.btn-cyber.btn-icon,.btn-ghost.btn-icon{padding:.75rem;width:44px;height:44px}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{font-family:var(--font-body)}.logo{font-family:var(--font-display);font-weight:700}@keyframes page-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes border-glow{0%,100%{box-shadow:0 0 0 2px rgba(88,166,255,0.3)}50%{box-shadow:0 0 0 4px rgba(88,166,255,0.15)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes slide-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.app-main{animation:page-enter .4s ease-out}.categories-grid>*{animation:slide-up .5s ease-out backwards}.categories-grid>*:nth-child(1){animation-delay:.05s}.categories-grid>*:nth-child(2){animation-delay:.1s}.categories-grid>*:nth-child(3){animation-delay:.15s}.categories-grid>*:nth-child(4){animation-delay:.2s}.categories-grid>*:nth-child(5){animation-delay:.25s}.categories-grid>*:nth-child(6){animation-delay:.3s}.categories-grid>*:nth-child(7){animation-delay:.35s}.categories-grid>*:nth-child(8){animation-delay:.4s}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}input:focus-visible,button:focus-visible,a:focus-visible{outline:0;animation:border-glow 2s ease-in-out infinite}.category-card:active,.nav-item a:active,.btn:active,.btn-cyber:active,.btn-ghost:active{transform:scale(0.98)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:#fff;padding:8px 16px;z-index:10001;text-decoration:none;font-weight:600;border-radius:0 0 var(--radius-sm) 0;transition:top .2s ease-out}.skip-link:focus{top:0;outline:2px solid #fff;outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(88,166,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(88,166,255,0.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:-1}[data-theme="light"] body::before{background-image:linear-gradient(rgba(9,105,218,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(9,105,218,0.03) 1px,transparent 1px)}.admin-card::before,.note-content::before{content:'';position:absolute;top:0;right:0;width:30px;height:30px;background:var(--accent-gradient);opacity:.05;clip-path:polygon(100% 0,0 0,100% 100%)}.note-content{position:relative}.hero-content,.login-instructions{position:relative}.hero-content::after,.login-instructions::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:radial-gradient(ellipse at center,rgba(88,166,255,0.08) 0,transparent 70%);pointer-events:none;z-index:-1}[data-theme="light"] .hero-content::after,[data-theme="light"] .login-instructions::after{background:radial-gradient(ellipse at center,rgba(9,105,218,0.05) 0,transparent 70%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm);transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--border) var(--bg-secondary)}::selection{background:rgba(88,166,255,0.3);color:var(--text-primary)}[data-theme="light"] ::selection{background:rgba(9,105,218,0.2)}.draft-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-left:8px;letter-spacing:.3px;white-space:nowrap;opacity:.8}.draft-badge-admin{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;color:#ff9800;background:rgba(255,152,0,0.1);border:1px solid rgba(255,152,0,0.3);border-radius:var(--radius-lg);margin-left:8px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.nav-item--draft{opacity:.7}.nav-item-draft-text{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;color:var(--text-secondary);cursor:not-allowed;font-size:14px}.nav-item-draft-text:hover{background:transparent}.note-list-item--draft{opacity:.7}.note-link-disabled{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:not-allowed}.note-link-disabled .note-title{flex:1}.note-link-text-disabled{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:.75rem 1rem;color:var(--text-secondary);cursor:not-allowed}@media(max-width:768px){.keyboard-hint{display:none}}.draft-placeholder{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:40px 20px}.draft-placeholder-content{text-align:center;max-width:500px}.draft-placeholder-icon{width:80px;height:80px;margin:0 auto 24px;color:var(--accent);opacity:.5}.draft-placeholder h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.draft-placeholder-message{font-size:1.25rem;color:var(--text-primary);margin-bottom:8px}.draft-placeholder-submessage{color:var(--text-secondary);margin-bottom:32px;line-height:1.6}.draft-placeholder-back{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--bg-secondary);color:var(--accent);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;font-weight:500;transition:all .2s ease}.draft-placeholder-back:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:translateY(-2px)}.cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);padding:1rem 1.5rem;z-index:9999;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 12px rgba(0,0,0,0.15)}.cookie-consent-banner.visible{transform:translateY(0)}.cookie-consent-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.cookie-consent-content p{margin:0;color:var(--text-secondary);font-size:.9rem;flex:1;min-width:200px}.cookie-consent-content a{color:var(--accent);text-decoration:none}.cookie-consent-content a:hover{text-decoration:underline}.cookie-consent-buttons{display:flex;gap:.75rem;flex-shrink:0}.cookie-btn{padding:.5rem 1.25rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.cookie-btn-accept{background:var(--accent);color:white;border-color:var(--accent)}.cookie-btn-accept:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.cookie-btn-decline{background:transparent;color:var(--text-secondary);border-color:var(--border)}.cookie-btn-decline:hover{background:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary)}@media(max-width:600px){.cookie-consent-content{flex-direction:column;text-align:center}.cookie-consent-buttons{width:100%;justify-content:center}}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:4px;max-height:400px;overflow-y:auto;z-index:1000;box-shadow:0 8px 24px rgba(0,0,0,0.2);display:none}.search-result{display:block;padding:12px 16px;text-decoration:none;color:var(--text-primary);border-bottom:1px solid var(--border);transition:background .15s ease}.search-result:last-child{border-bottom:0}.search-result:hover{background:var(--bg-tertiary);text-decoration:none}.search-result:focus{background:var(--bg-tertiary);outline:0}.search-result-title{display:block;font-weight:600;font-size:.95rem;margin-bottom:4px;color:var(--accent)}.search-result-category{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:6px;opacity:.8}.search-result-snippet{display:block;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.search-result-snippet mark{background:rgba(88,166,255,0.3);color:var(--text-primary);padding:0 2px;border-radius:2px}[data-theme="light"] .search-result-snippet mark{background:rgba(9,105,218,0.2)}.search-no-results{padding:20px 16px;text-align:center;color:var(--text-secondary);font-size:.9rem}.sidebar-search{position:relative}.sidebar-search .search-results{position:static;margin-top:8px;max-height:300px;border-radius:var(--radius-sm)}.related-notes{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.related-notes h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.related-notes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.related-notes-list li a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);transition:all .2s ease}.related-notes-list li a:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:translateX(4px)}.related-note-title{flex:1;font-weight:500;color:var(--accent)}.related-note-category{font-size:.8rem;color:var(--text-secondary);opacity:.8}.related-note-badge{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.related-note-badge.backlink{background:rgba(88,166,255,0.1);color:var(--accent);border:1px solid rgba(88,166,255,0.2)}[data-theme="light"] .related-note-badge.backlink{background:rgba(9,105,218,0.1);border-color:rgba(9,105,218,0.2)}@media(max-width:768px){.related-notes-list li a{flex-wrap:wrap}.related-note-category{width:100%;order:3;margin-top:.25rem}}.sidebar-links{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.sidebar-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);font-size:.875rem;transition:color .2s,background .2s}.sidebar-link:hover{color:var(--accent);background:var(--bg-tertiary)}.sidebar-link svg{flex-shrink:0}.feedback-btn.bookmark{gap:.375rem}.feedback-btn.bookmark .bookmark-label{font-size:.8125rem}.feedback-btn.bookmark.bookmarked{background:rgba(88,166,255,0.15);border-color:var(--accent);color:var(--accent)}.feedback-btn.bookmark.bookmarked svg{fill:var(--accent)}