:root{--bg-primary:#ffffff;--bg-secondary:#f8fafc;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0;--accent-primary:#8b5cf6;--accent-secondary:#a855f7;--link-color:#7c3aed;--link-hover:#6d28d9;--code-bg:#f1f5f9;--code-text:#334155;--code-border:#cbd5e1;--syntax-comment:#64748b;--syntax-keyword:#dc2626;--syntax-string:#059669;--syntax-number:#7c3aed;--syntax-function:#0ea5e9;--syntax-variable:#1e293b;--syntax-type:#ea580c;--syntax-operator:#ef4444;--math-bg:#eef2ff;--math-border:#c7d2fe;--math-text:#1e293b;--math-hover-bg:#e0e7ff;--math-focus:#8b5cf6}.dark,[data-theme=dark],html.dark{--bg-primary:#0f172a;--bg-secondary:#1e293b;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-color:#334155;--accent-primary:#a855f7;--accent-secondary:#8b5cf6;--link-color:#a78bfa;--link-hover:#c4b5fd;--code-bg:#1e293b;--code-text:#e2e8f0;--code-border:#475569;--syntax-comment:#75715e;--syntax-keyword:#f92672;--syntax-string:#e6db74;--syntax-number:#ae81ff;--syntax-function:#a6e22e;--syntax-variable:#f8f8f2;--syntax-type:#66d9ef;--syntax-operator:#f92672;--math-bg:#111827;--math-border:#374151;--math-text:#e5e7eb;--math-hover-bg:#1f2937;--math-focus:#a855f7}.tiptap{color:var(--text-primary);transition:color .3s ease,background-color .3s ease}.tiptap :first-child{margin-top:0}.tiptap pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:.75rem;color:var(--code-text);font-family:JetBrainsMono,Fira Code,Monaco,Cascadia Code,monospace;font-size:.875rem;line-height:1.6;margin:2rem 0;padding:1.5rem;overflow-x:auto;position:relative;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s ease}.tiptap pre:hover{box-shadow:0 8px 25px -5px rgba(139,92,246,.1),0 4px 6px -2px rgba(0,0,0,.05)}.tiptap pre code{background:none;color:inherit;font-size:inherit;padding:0;border-radius:0;font-weight:400}.tiptap pre .hljs-comment,.tiptap pre .hljs-quote{color:var(--syntax-comment);font-style:italic}.tiptap pre .hljs-name,.tiptap pre .hljs-selector-class,.tiptap pre .hljs-selector-id,.tiptap pre .hljs-tag,.tiptap pre .hljs-template-variable,.tiptap pre .hljs-variable{color:var(--syntax-variable)}.tiptap pre .hljs-attribute,.tiptap pre .hljs-bullet,.tiptap pre .hljs-section,.tiptap pre .hljs-symbol,.tiptap pre .hljs-title,.tiptap pre .hljs-type{color:var(--syntax-function)}.tiptap pre .hljs-regexp,.tiptap pre .hljs-string{color:var(--syntax-string)}.tiptap pre .hljs-built_in,.tiptap pre .hljs-builtin-name,.tiptap pre .hljs-literal,.tiptap pre .hljs-meta,.tiptap pre .hljs-number{color:var(--syntax-number)}.tiptap pre .hljs-keyword,.tiptap pre .hljs-operator,.tiptap pre .hljs-selector-tag{color:var(--syntax-keyword);font-weight:600}.tiptap pre .hljs-class,.tiptap pre .hljs-function{color:var(--syntax-function);font-weight:500}.tiptap pre .hljs-link{color:var(--syntax-type);text-decoration:underline}.tiptap pre .hljs-emphasis{font-style:italic}.tiptap pre .hljs-strong{font-weight:700}.tiptap pre .hljs-deletion{background-color:rgba(239,68,68,.1);color:#fca5a5}.tiptap pre .hljs-addition{background-color:rgba(34,197,94,.1);color:#86efac}.tiptap code:not(pre code){background:var(--code-bg);border:1px solid var(--code-border);border-radius:.375rem;color:var(--syntax-keyword);font-family:JetBrainsMono,Fira Code,monospace;font-size:.875em;font-weight:500;padding:.125rem .375rem;transition:all .2s ease}.tiptap code:not(pre code):hover{background:var(--accent-primary);color:#fff;transform:scale(1.05)}.tiptap h1,.tiptap h2,.tiptap h3,.tiptap h4,.tiptap h5,.tiptap h6{color:var(--text-primary);font-weight:700;line-height:1.2;margin-top:2.5rem;margin-bottom:1rem;text-wrap:pretty;position:relative;transition:color .3s ease}.tiptap h1:after,.tiptap h2:after,.tiptap h3:after,.tiptap h4:after,.tiptap h5:after,.tiptap h6:after{content:"";position:absolute;bottom:-.5rem;left:0;height:2px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:1px;transition:width .3s ease}.tiptap h1{font-size:2rem;margin-top:3.5rem;margin-bottom:1.5rem}.tiptap h1:after{width:4rem}.tiptap h2{font-size:1.5rem;margin-top:3rem}.tiptap h2:after{width:3rem}.tiptap h3{font-size:1.25rem;color:var(--text-secondary)}.tiptap h3:after{display:none}.tiptap h4,.tiptap h5,.tiptap h6{font-size:1.125rem;color:var(--text-secondary)}.tiptap h4:after,.tiptap h5:after,.tiptap h6:after{display:none}.tiptap blockquote{background:linear-gradient(135deg,var(--accent-primary) 10,var(--accent-secondary) 10);border-left:4px solid var(--accent-primary);border-radius:0 .5rem .5rem 0;color:var(--text-secondary);font-style:italic;margin:2rem 0;padding:1.5rem;position:relative;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:all .3s ease}.tiptap blockquote:hover{transform:translateX(.25rem);box-shadow:0 4px 8px rgba(139,92,246,.15)}.tiptap blockquote:before{content:'"';color:var(--accent-primary);font-size:3rem;font-weight:700;position:absolute;top:.5rem;left:1rem;opacity:.3}.tiptap blockquote p{margin:0;position:relative;z-index:1}.tiptap ul{list-style-type:disc}.tiptap ol,.tiptap ul{color:var(--text-primary);padding:0 1rem;margin:1.5rem 0;transition:color .3s ease}.tiptap ol li,.tiptap ul li{margin:.75rem 0;line-height:1.6;position:relative}.tiptap ol li p,.tiptap ul li p{margin-top:.25em;margin-bottom:.25em}.tiptap ol li:hover,.tiptap ul li:hover{color:var(--accent-primary);transform:translateX(.125rem);transition:all .2s ease}.tiptap ul{list-style-type:none}.tiptap ul li:before{content:"•";color:var(--accent-primary);font-weight:700;position:absolute;left:-1rem}.tiptap ol{list-style-type:decimal;counter-reset:item}.tiptap ol li{counter-increment:item}.tiptap ol li:before{content:counter(item) ".";color:var(--accent-primary);font-weight:600;position:absolute;left:-2rem;width:1.5rem;text-align:right}.tiptap .details{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;display:flex;gap:.5rem;margin:2rem 0;padding:1rem;transition:all .3s ease}.tiptap .details:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px rgba(139,92,246,.1)}.tiptap .details summary{color:var(--text-primary);cursor:pointer;font-weight:600;list-style:none;user-select:none;transition:color .2s ease}.tiptap .details summary:hover{color:var(--accent-primary)}.tiptap .details summary::-webkit-details-marker{display:none}.tiptap .details>button{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;height:1.5rem;justify-content:center;line-height:1;margin-top:.125rem;padding:0;transition:all .2s ease;width:1.5rem}.tiptap .details>button:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:scale(1.1)}.tiptap .details>button:before{content:"▶";transition:transform .2s ease}.tiptap .details.is-open>button:before{transform:rotate(90deg)}.tiptap .details>div{display:flex;flex-direction:column;gap:1rem;width:100%}.tiptap .details>div>[data-type=detailsContent]>:last-child{margin-bottom:.5rem}.tiptap .details .details{margin:1rem 0}.tiptap a{color:var(--link-color);cursor:pointer;font-weight:500;position:relative;text-decoration:none;transition:all .2s ease}.tiptap a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));transition:width .3s ease}.tiptap a:hover{color:var(--link-hover);transform:translateY(-1px)}.tiptap a:hover:after{width:100%}.tiptap a:active{transform:translateY(0)}.tiptap .inline-math-node,.tiptap [data-math=true]{display:inline-flex;align-items:center;gap:.25rem;background:var(--math-bg);color:var(--math-text);border:1px solid var(--math-border);border-radius:.5rem;padding:.125rem .5rem;margin:0 .25rem;font-family:JetBrainsMono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em;line-height:1.4;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 0 rgba(0,0,0,.03);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease;vertical-align:baseline}.tiptap .inline-math-node:hover,.tiptap [data-math=true]:hover{background:var(--math-hover-bg)}.tiptap .inline-math-node.is-focus,.tiptap .inline-math-node:focus,.tiptap [data-math=true].is-focus,.tiptap [data-math=true]:focus{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--math-focus) 20%,transparent),0 1px 0 rgba(0,0,0,.04);border-color:var(--math-focus)}.tiptap .inline-math-node.is-editing,.tiptap [data-math=true].is-editing{background:color-mix(in oklab,var(--math-hover-bg) 70%,transparent);border-color:var(--math-focus);transform:translateY(-1px)}.tiptap [data-math-display=true],.tiptap [data-math=true][data-display=true]{display:block;background:var(--math-bg);color:var(--math-text);border:1px dashed var(--math-border);border-radius:.75rem;padding:1rem 1.25rem;margin:1rem 0;overflow-x:auto;white-space:normal;position:relative}.tiptap [data-math-display=true]:before,.tiptap [data-math=true][data-display=true]:before{content:"";position:absolute;left:.75rem;right:.75rem;top:.5rem;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));opacity:.2}.tiptap .inline-math-node .ML__mathlive,.tiptap [data-math=true] .ML__mathlive{color:inherit}.tiptap table{background:var(--bg-primary);border:1px solid var(--border-color);border-collapse:collapse;border-radius:.5rem;margin:2rem 0;overflow:hidden;width:100%}.tiptap table td,.tiptap table th{border:1px solid var(--border-color);padding:.75rem 1rem;text-align:left;transition:background-color .2s ease}.tiptap table th{color:var(--text-primary);font-weight:600}.tiptap table tbody tr:hover,.tiptap table th{background:var(--bg-secondary)}.tiptap table tbody tr:nth-child(2n){background:rgba(139,92,246,.02)}.tiptap hr{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);margin:3rem 0;border-radius:1px}.blog-preview,.previewClamp{color:var(--text-secondary);display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:3em;line-height:1.5em;transition:color .3s ease}.previewClamp{white-space:normal}.previewClamp:hover{color:var(--text-primary)}@media print{.tiptap pre{background:#f8f9fa!important;color:#212529!important;border:1px solid #dee2e6!important}.tiptap a{color:#007bff!important;text-decoration:underline!important}.tiptap .inline-math-node,.tiptap [data-math-display=true],.tiptap [data-math=true],.tiptap [data-math=true][data-display=true]{background:#fff!important;border-color:#bbb!important;color:#000!important;box-shadow:none!important}}@media(prefers-reduced-motion:reduce){.blog-preview,.previewClamp,.tiptap *{transition:none!important;animation:none!important}}@media(prefers-contrast:high){:root{--border-color:#000000;--text-primary:#000000;--text-secondary:#333333}.dark,[data-theme=dark]{--border-color:#ffffff;--text-primary:#ffffff;--text-secondary:#cccccc}}.skolumos-btn{display:inline-block;min-width:200px;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border:none;border-radius:.75rem;box-shadow:0 4px 20px rgba(139,92,246,.14);text-align:center;text-decoration:none;cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),transform .13s cubic-bezier(.4,0,.2,1),color .14s cubic-bezier(.4,0,.2,1)}.skolumos-btn:focus,.skolumos-btn:hover{background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary));box-shadow:0 8px 32px rgba(139,92,246,.24);color:#fff;transform:translateY(-2px) scale(1.04);outline:none}.skolumos-btn:active{background:var(--accent-primary);box-shadow:0 2px 8px rgba(139,92,246,.18);transform:scale(.98)}.tiptap ol,.tiptap ul{padding-left:1.5rem;margin:1rem 0;list-style:none}.tiptap>ol{counter-reset:item}.tiptap>ol>li{position:relative;margin:.5rem 0;padding-left:2rem;counter-increment:item}.tiptap>ol>li:before{content:counter(item) ".";color:#8b5cf6;font-weight:700;position:absolute;left:0;top:0}.tiptap ol ol,.tiptap ul{padding-left:1.5rem;margin:.5rem 0}.tiptap ol ol li,.tiptap ul li{position:relative;margin:.3rem 0;padding-left:1.5rem}.tiptap ol ol li:before,.tiptap ul li:before{content:"•";color:#8b5cf6;font-weight:700;position:absolute;left:0;top:0}.content-text{transform:none!important;backface-visibility:hidden;will-change:auto;overflow:visible;word-break:break-word;line-height:1.6}