:root{--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#999;--color-bg:#fafafa;--color-bg-secondary:#f5f5f5;--color-border:#e5e5e5;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-mono:'JetBrains Mono', 'Fira Code', monospace;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:3rem;--spacing-xl:4rem;--max-width:1200px;--header-height:60px}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--color-text:#e5e5e5;--color-text-secondary:#a3a3a3;--color-text-muted:#737373;--color-bg:#0a0a0a;--color-bg-secondary:#141414;--color-border:#262626;--color-accent:#3b82f6;--color-accent-hover:#60a5fa}}[data-theme=dark]{--color-text:#e5e5e5;--color-text-secondary:#a3a3a3;--color-text-muted:#737373;--color-bg:#0a0a0a;--color-bg-secondary:#141414;--color-border:#262626;--color-accent:#3b82f6;--color-accent-hover:#60a5fa}[data-theme=light]{--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#999;--color-bg:#F5F5F5;--color-bg-secondary:#f5f5f5;--color-border:#e5e5e5;--color-accent:#2563eb;--color-accent-hover:#1d4ed8}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.7;transition:background-color .2s,color .2s;position:relative}body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(37,99,235,3%) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(37,99,235,2%) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(37,99,235,2%) 0%,transparent 50%);pointer-events:none;z-index:0}@media(prefers-color-scheme:dark){html:not([data-theme=light]) body::before{background:radial-gradient(circle at 20% 50%,rgba(59,130,246,5%) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(59,130,246,3%) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(59,130,246,3%) 0%,transparent 50%)}}[data-theme=dark] body::before{background:radial-gradient(circle at 20% 50%,rgba(59,130,246,5%) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(59,130,246,3%) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(59,130,246,3%) 0%,transparent 50%)}.site-wrapper{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.site-header{border-bottom:1px dashed var(--color-border);background:0 0}.nav{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-sm);display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}.nav-right{display:flex;align-items:center;gap:var(--spacing-md)}.header-social{display:flex;align-items:center;gap:var(--spacing-sm)}.header-social .social-link{color:var(--color-text-secondary);transition:color .2s;display:flex;align-items:center;justify-content:center;text-decoration:none}.header-social .social-link:hover{color:var(--color-accent);text-decoration:none}.header-social .social-link svg{width:18px!important;height:18px!important;flex-shrink:0;display:block}.nav-logo{font-size:1.125rem;font-weight:700;color:var(--color-accent);text-decoration:none;letter-spacing:.02em;transition:all .3s ease;font-family:var(--font-mono);position:relative}.nav-logo::before{content:'$ ';opacity:.7}.nav-logo:hover{color:var(--color-accent-hover)}.nav-menu{display:flex;list-style:none;gap:var(--spacing-md);align-items:center}.nav-link{font-size:.9375rem;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:all .3s ease;position:relative;font-family:var(--font-mono);letter-spacing:.02em}.nav-link:hover{text-decoration:none}.nav-link::before{content:'> ';opacity:0;transition:opacity .3s ease;color:var(--color-accent)}.nav-link:hover{color:var(--color-accent)}.nav-link:hover::before{opacity:1;animation:blink 1s infinite}.nav-link.active{color:var(--color-accent);font-weight:700}.nav-link.active::before{content:'> ';opacity:1;color:var(--color-accent)}.nav-link.active::after{display:none}.theme-toggle{background:0 0;border:1px dashed var(--color-border);cursor:pointer;padding:6px 8px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .3s ease;border-radius:0;font-family:var(--font-mono)}.theme-toggle:hover{color:var(--color-accent);border-color:var(--color-accent);border-style:solid;background:rgba(37,99,235,.1);box-shadow:0 0 8px rgba(37,99,235,.3)}.theme-toggle:active{transform:scale(.95)}.theme-icon-light,.theme-icon-dark{width:18px;height:18px;transition:opacity .2s,transform .2s}[data-theme=light] .theme-icon-dark,[data-theme=dark] .theme-icon-light{display:none}[data-theme=light] .theme-icon-light,[data-theme=dark] .theme-icon-dark{display:block}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:var(--spacing-lg)var(--spacing-sm);padding-left:calc(var(--spacing-sm) + 44px);position:relative;box-sizing:border-box}.main-content::before{content:'';position:absolute;left:-44px;top:0;bottom:0;width:10px;background:linear-gradient(to right,rgba(30,64,175,.7) 0px,rgba(30,64,175,.7) 3px,transparent 3px),linear-gradient(to right,rgba(37,99,235,.6) 3px,rgba(37,99,235,.6) 6px,transparent 6px),linear-gradient(to right,rgba(59,130,246,.5) 6px,rgba(59,130,246,.5) 10px);pointer-events:none}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .main-content::before{background:linear-gradient(to right,rgba(59,130,246,.7) 0px,rgba(59,130,246,.7) 3px,transparent 5px),linear-gradient(to right,rgba(96,165,250,.6) 5px,rgba(96,165,250,.6) 5px,transparent 10px),linear-gradient(to right,rgba(147,197,253,.5) 10px,rgba(147,197,253,.5) 8px)}}[data-theme=dark] .main-content::before{background:linear-gradient(to right,rgba(59,130,246,.7) 0px,rgba(59,130,246,.7) 3px,transparent 5px),linear-gradient(to right,rgba(96,165,250,.6) 5px,rgba(96,165,250,.6) 5px,transparent 10px),linear-gradient(to right,rgba(147,197,253,.5) 10px,rgba(147,197,253,.5) 8px)}.bio-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);width:100%;max-width:100%}.bio-content{display:flex;gap:var(--spacing-md);align-items:flex-start}.bio-avatar{flex-shrink:0}.bio-avatar img{width:120px;height:120px;border-radius:8px;object-fit:cover;border:1px solid var(--color-border)}.bio-text{flex:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:120px}.bio-name{font-size:1.75rem;font-weight:700;margin:0;padding:0;color:var(--color-text);letter-spacing:-.02em;line-height:1.2}.bio-description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;margin:0;padding:0}.work-history{margin-top:var(--spacing-lg);padding-left:1.5rem}.work-history-title{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text);letter-spacing:.02em;font-family:var(--font-mono);text-transform:uppercase}.work-item{margin-bottom:var(--spacing-sm);display:flex;gap:var(--spacing-md)}.work-year{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);min-width:60px;flex-shrink:0}.work-content{font-size:.875rem;font-family:var(--font-mono);color:var(--color-text-secondary);line-height:1.6;flex:1}.work-title{color:var(--color-text);font-weight:600;font-family:var(--font-mono)}.work-description{color:var(--color-text-secondary);font-weight:400;font-family:var(--font-mono)}.bio-social{margin-top:var(--spacing-lg);padding-left:1.5rem}.bio-social-text{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.bio-social-links{display:flex;gap:var(--spacing-sm);align-items:center}.bio-social-links .social-link{color:var(--color-text-secondary);transition:color .2s;display:flex;align-items:center;justify-content:center}.bio-social-links .social-link:hover{color:var(--color-accent)}.bio-social-links .social-link svg{width:18px!important;height:18px!important;flex-shrink:0;display:block}.homepage-section{margin-bottom:var(--spacing-xl);animation:fadeIn .6s ease-out;width:100%;max-width:100%}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text);letter-spacing:.05em;position:relative;padding-bottom:var(--spacing-xs);padding-left:1.5rem;display:inline-block;font-family:var(--font-mono);text-transform:uppercase}.post-card{padding:var(--spacing-sm)0;padding-left:1.5rem;border-bottom:1px dashed var(--color-border);transition:all .3s ease;position:relative}.post-card::before{content:'> ';position:absolute;left:0;color:var(--color-accent);font-family:var(--font-mono);opacity:0;transition:opacity .3s ease}.post-card:last-child{border-bottom:none}.post-card:hover::before{opacity:1;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:.3}}.post-card-title{font-size:1rem;font-weight:600;font-family:var(--font-mono);margin:0;letter-spacing:.02em;line-height:1.4;display:inline-block}.post-card-title a{color:#3b82f6;font-weight:700;text-decoration:none;transition:all .3s ease;display:inline-block;position:relative}.post-card-title a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#3b82f6}.post-card-title a:hover::after{width:100%}.post-card-date{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);display:inline-block;margin-right:var(--spacing-sm);margin-bottom:0}.post-card-excerpt{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6;margin-top:var(--spacing-xs)}.see-all-link{margin-top:var(--spacing-md)}.see-all-link a{font-family:var(--font-mono);font-size:.875rem;color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .2s}.see-all-link a:hover{color:var(--color-accent-hover);text-decoration:underline}.posts-list{display:flex;flex-direction:column;gap:0;width:100%;max-width:100%}.projects-list,.contributions-list{display:flex;flex-direction:column;gap:0;margin-bottom:var(--spacing-md);width:100%;max-width:100%}.project-item,.contribution-item{padding:var(--spacing-sm)0;padding-left:1.5rem;border-bottom:1px dashed var(--color-border);transition:all .3s ease;position:relative}.project-item::before,.contribution-item::before{content:'>> ';position:absolute;left:0;color:var(--color-accent);font-family:var(--font-mono);opacity:0;transition:opacity .3s ease}.project-item:last-child,.contribution-item:last-child{border-bottom:none}.project-item:hover::before,.contribution-item:hover::before{opacity:1;animation:blink 1s infinite}.project-item-header,.contribution-item-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:0;flex-wrap:wrap}.project-logo,.contribution-logo{font-size:1.25rem;line-height:1;flex-shrink:0;font-family:var(--font-mono)}.project-item-title,.contribution-item-title{font-size:.9375rem;font-weight:600;font-family:var(--font-mono);margin:0;letter-spacing:.02em;flex:1;min-width:0}.project-item-title a,.contribution-item-title a{color:#3b82f6;font-weight:700;text-decoration:none;transition:all .3s ease;position:relative;display:inline-block}.project-item-description-inline,.contribution-item-description-inline{color:var(--color-text);font-weight:400;font-family:var(--font-mono)}.project-item-title a::after,.contribution-item-title a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#3b82f6}.project-item-title a:hover::after,.contribution-item-title a:hover::after{width:100%}.project-item-link{font-family:var(--font-mono);font-size:.875rem;color:var(--color-accent);text-decoration:none;font-weight:500;transition:all .3s ease;flex-shrink:0;position:relative;padding:2px 4px;border:1px solid transparent}.project-item-link::before{content:'[';opacity:0;transition:opacity .3s ease}.project-item-link::after{content:']';opacity:0;transition:opacity .3s ease}.project-item-link:hover{color:var(--color-accent-hover);border-color:var(--color-accent);background:rgba(37,99,235,.1);text-shadow:0 0 6px var(--color-accent)}.project-item-link:hover::before,.project-item-link:hover::after{opacity:1}.project-item-description,.contribution-item-description{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6;margin:var(--spacing-xs)0 0}.project-tags,.contribution-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.tag{font-family:var(--font-mono);font-size:.75rem;padding:.25rem .5rem;border:1px dashed var(--color-border);border-radius:0;color:var(--color-text-secondary);background-color:transparent;transition:all .3s ease;position:relative;display:inline-block}.tag::before{content:'[';margin-right:.25rem;opacity:.5}.tag::after{content:']';margin-left:.25rem;opacity:.5}.project-links{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.project-links a{font-family:var(--font-mono);font-size:.875rem;color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .2s}.project-links a:hover{color:var(--color-accent-hover);text-decoration:underline}.page-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);width:100%;max-width:100%}.page-header h1{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-sm);letter-spacing:-.02em;color:var(--color-text)}.page-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.6}.post-content{font-size:.875rem;line-height:1.6;color:var(--color-text)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-weight:600;letter-spacing:-.01em;color:var(--color-text)}.post-content h2{font-size:1.125rem;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.post-content h3{font-size:1rem}.post-content p{margin-bottom:var(--spacing-md)}.post-content a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.post-content a:hover{border-bottom-color:var(--color-accent)}.post-content code{font-family:var(--font-mono);font-size:.85em;padding:.2em .4em;background-color:var(--color-bg-secondary);border-radius:4px;border:1px solid var(--color-border)}.post-content pre{padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;overflow-x:auto;margin-bottom:var(--spacing-md);font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;white-space:pre;word-wrap:normal;word-break:normal}.post-content pre:not(.chroma){background-color:var(--color-bg-secondary)}.post-content pre code{padding:0;background:0 0;border:none;color:inherit;font-size:inherit;white-space:pre;display:block;overflow:visible}.post-content ul,.post-content ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-md)}.post-content li{margin-bottom:var(--spacing-xs)}.post-content blockquote{border-left:3px solid var(--color-accent);padding-left:var(--spacing-md);margin:var(--spacing-md)0;color:var(--color-text-secondary);font-style:italic}.post-content img{max-width:600px;width:100%;height:auto;border-radius:0;margin:var(--spacing-md)auto;display:block}.post-content figure{margin:var(--spacing-md)0;max-width:600px;margin-left:auto;margin-right:auto}.post-content figure img{width:100%;height:auto;max-width:100%}.post-content figure img.post-logo{max-width:120px;width:auto;height:auto}.post-content figure img.dependency-graph{width:100%;height:auto;max-width:100%}.post-content figcaption{font-size:.875rem;font-family:var(--font-mono);color:var(--color-text-muted);margin-top:var(--spacing-xs);text-align:center}.post-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg)0}.post-meta{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.toc{margin:var(--spacing-lg)0;padding:0;background:0 0;border:none;border-left:2px solid var(--color-border);padding-left:var(--spacing-md);margin-left:0}.toc summary{font-family:var(--font-mono);font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);padding:0;list-style:none;user-select:none;transition:color .2s}.toc summary:hover{color:var(--color-text-secondary)}.toc summary::-webkit-details-marker{display:none}.toc summary::marker{display:none}.toc[open] summary{margin-bottom:var(--spacing-md)}.toc nav{padding:0}.toc nav ul{list-style:none;padding:0;margin:0}.toc nav>ul{padding-left:0}.toc nav li{margin:.375rem 0;line-height:1.5}.toc nav ul ul{padding-left:var(--spacing-md);margin-top:.25rem}.toc nav ul ul ul{padding-left:var(--spacing-md)}.toc nav a{color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;transition:all .3s ease;display:inline-block;padding:.125rem 0;position:relative}.toc nav a:hover{color:var(--color-accent)}.toc nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-accent)}.toc nav a:hover::after{width:100%}.site-footer{border-top:1px solid var(--color-border);margin-top:0;padding:var(--spacing-lg)var(--spacing-sm);background-color:var(--color-bg)}.footer-content{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.footer-text{font-size:.875rem;color:var(--color-text-muted);margin:0}.footer-separator{margin:0 var(--spacing-xs)}.footer-tagline{color:var(--color-text-secondary)}.footer-social{display:flex;gap:var(--spacing-sm);align-items:center}.social-link{color:var(--color-text-muted);transition:color .2s;display:flex;align-items:center;justify-content:center}.social-link:hover{color:var(--color-accent)}.social-link svg{width:18px!important;height:18px!important;flex-shrink:0;display:block}@media(max-width:1024px){.main-content{padding-left:calc(var(--spacing-sm) + 20px)}.main-content::before{left:-20px;width:8px}}@media(max-width:768px){:root{--max-width:100%;--spacing-lg:2rem;--spacing-xl:2.5rem;--spacing-md:1.5rem}.nav{padding:0 var(--spacing-sm);height:auto;min-height:var(--header-height);justify-content:flex-end}.nav-logo{display:none}.nav-right{display:flex;align-items:center;gap:var(--spacing-md);width:auto;flex-wrap:nowrap}.nav-menu{display:flex;gap:var(--spacing-sm);list-style:none;margin:0;padding:0;flex-wrap:nowrap}.nav-link{font-size:.875rem;white-space:nowrap}.header-social{display:flex;align-items:center;gap:var(--spacing-sm)}.header-social .social-link svg{width:18px!important;height:18px!important}.theme-toggle{padding:6px 8px;flex-shrink:0}.theme-icon-light,.theme-icon-dark{width:18px;height:18px}.main-content{max-width:1200px;padding:var(--spacing-md)var(--spacing-sm);padding-left:var(--spacing-sm)}.main-content::before{display:none}.bio-section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.bio-content{flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.bio-avatar{align-self:flex-start}.bio-avatar img{width:80px;height:80px}.bio-text{min-height:auto;justify-content:flex-start;width:100%}.bio-name{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.bio-description{font-size:.8125rem}.work-history{margin-top:var(--spacing-md);padding-left:0}.work-history-title{font-size:.9375rem;margin-bottom:var(--spacing-sm)}.work-item{flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.work-year{font-size:.8125rem;min-width:auto}.work-content{font-size:.8125rem}.section-title{font-size:.9375rem;padding-left:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.post-card{padding:var(--spacing-xs)0;padding-left:var(--spacing-sm)}.post-card-title{font-size:.9375rem}.post-card-date{font-size:.8125rem;display:block;margin-bottom:var(--spacing-xs);margin-right:0}.project-item,.contribution-item{padding:var(--spacing-xs)0;padding-left:var(--spacing-sm)}.project-item-title,.contribution-item-title{font-size:.875rem}.project-item-description-inline,.contribution-item-description-inline{font-size:.8125rem}.project-item-header,.contribution-item-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.page-header h1{font-size:1.75rem}.post-content{font-size:.8125rem}.post-content h1{font-size:1.5rem}.post-content h2{font-size:1.25rem}.post-content h3{font-size:1.125rem}.post-content figure img{max-width:100%}.toc{margin-left:0;padding-left:var(--spacing-sm);border-left-width:1px}.toc summary{font-size:.75rem}.toc nav a{font-size:.8125rem}.footer-content{flex-direction:column;text-align:center}#totop{bottom:var(--spacing-sm);right:var(--spacing-sm);width:40px;height:40px}#totop svg{width:18px;height:18px}}@media(max-width:480px){:root{--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem}.nav{padding:0 var(--spacing-xs);justify-content:flex-end}.nav-logo{display:none}.nav-right{gap:var(--spacing-sm)}.nav-menu{gap:var(--spacing-xs)}.nav-link{font-size:.8125rem}.header-social{gap:var(--spacing-xs)}.header-social .social-link svg{width:16px!important;height:16px!important}.theme-toggle{padding:5px 7px}.theme-icon-light,.theme-icon-dark{width:16px;height:16px}.main-content{max-width:1200px;padding:var(--spacing-md)var(--spacing-xs)}.bio-avatar img{width:60px;height:60px}.bio-name{font-size:1.25rem}.bio-description{font-size:.75rem}.work-history-title{font-size:.875rem}.work-year{font-size:.75rem}.work-content{font-size:.75rem}.section-title{font-size:.875rem;padding-left:var(--spacing-xs)}.post-card{padding-left:var(--spacing-xs)}.post-card-title{font-size:.875rem}.post-card-date{font-size:.75rem}.project-item,.contribution-item{padding-left:var(--spacing-xs)}.project-item-title,.contribution-item-title{font-size:.8125rem}.project-item-description-inline,.contribution-item-description-inline{font-size:.75rem}.post-content{font-size:.75rem}.post-content h1{font-size:1.375rem}.post-content h2{font-size:1.125rem}.post-content h3{font-size:1rem}}html{scroll-behavior:smooth}#totop{position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);z-index:1000;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);text-decoration:none;transition:all .3s ease;visibility:hidden;opacity:0;box-shadow:0 2px 8px rgba(0,0,0,.1)}#totop:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}#totop svg{width:20px;height:20px}@media(prefers-color-scheme:dark){html:not([data-theme=light]) #totop{box-shadow:0 2px 8px rgba(0,0,0,.3)}html:not([data-theme=light]) #totop:hover{box-shadow:0 4px 12px rgba(0,0,0,.4)}}[data-theme=dark] #totop{box-shadow:0 2px 8px rgba(0,0,0,.3)}[data-theme=dark] #totop:hover{box-shadow:0 4px 12px rgba(0,0,0,.4)}@media(max-width:768px){#totop{bottom:var(--spacing-sm);right:var(--spacing-sm);width:40px;height:40px}#totop svg{width:18px;height:18px}}.error-page{text-align:center;padding:var(--spacing-xl)var(--spacing-sm);min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.error-code{font-size:8rem;font-weight:700;color:var(--color-accent);font-family:var(--font-mono);line-height:1;margin:0;letter-spacing:-.05em;text-shadow:0 0 20px rgba(59,130,246,.3)}.error-title{font-size:2rem;font-weight:600;color:var(--color-text);margin:var(--spacing-md)0 var(--spacing-sm);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.error-description{font-size:1rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-family:var(--font-mono);max-width:500px;line-height:1.6}.error-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;justify-content:center}.error-link{font-family:var(--font-mono);font-size:.9375rem;color:var(--color-accent);text-decoration:none;font-weight:500;padding:var(--spacing-xs)var(--spacing-md);border:1px dashed var(--color-border);transition:all .3s ease;position:relative;display:inline-block}.error-link::before{content:'> ';opacity:0;transition:opacity .3s ease;color:var(--color-accent)}.error-link:hover{color:var(--color-accent-hover);border-color:var(--color-accent);border-style:solid;background:rgba(37,99,235,.1)}.error-link:hover::before{opacity:1;animation:blink 1s infinite}@media(max-width:768px){.error-code{font-size:5rem}.error-title{font-size:1.5rem}.error-description{font-size:.875rem}.error-actions{flex-direction:column;align-items:center}.error-link{width:200px;text-align:center}}@media(max-width:480px){.error-code{font-size:4rem}.error-title{font-size:1.25rem}.error-description{font-size:.8125rem}}