:root{--font-family:"Inter", sans-serif;--background:#fff;--foreground:#1f1e1c;--secondbackground:#f6f5f4;--hover:#efeee7d9;--hover-foreground:#64748b;--desc:#615d59;--ignore:#bababa;--tag:#c35af7;--tag-foreground:#fceefe;--scrollbar:#d6d7d9;--popover:#fff;--popover-foreground:#1f1e1c;--muted:#f1f5f9;--muted-foreground:#64748b;--card:#fff;--card-foreground:#1f1e1c;--border:#e5e3df;--input:#e2e8f0;--primary:#5645d4;--primary-foreground:#f8fafc;--secondary:#775fce;--secondary-foreground:#f8fafc;--accent:#f4f4f5;--accent-foreground:#1f1e1c;--destructive:red;--destructive-foreground:#f8fafc;--ring:#94a3b8;--header:#f9fafbe6;--radius:.5rem;--md-editor-bg:#fff;--md-editor-text:#1f1e1c;--md-editor-separator:#bcbcbe;--md-editor-border:#e5e7eb;--shadow:0 1px 2px #0000000d, 0 4px 12px #0000000a}.dark{--background:#0b0b0c;--foreground:#e1e1e1;--secondbackground:#1c1c1e;--hover:#292929;--hover-foreground:#64748b;--muted:#272c3a;--muted-foreground:#7f8ea3;--desc:#999;--ignore:#6d6d6d;--tag:#c35af7;--tag-foreground:#1b1b1b;--scrollbar:#1b1b1b;--popover:#030711;--popover-foreground:#94a3b8;--card:#030711;--card-foreground:#e1e7ef;--border:#0b0b0c;--input:#1d283a;--primary:#7c6fe4;--primary-foreground:#fff;--secondary:#775fce;--secondary-foreground:#f8fafc;--accent:#23262a;--accent-foreground:#f8fafc;--destructive:#811d1d;--destructive-foreground:#f8fafc;--ring:#1d283a;--header:#000c;--md-editor-bg:#09090b;--md-editor-text:#f8fafc;--md-editor-separator:#4b4b4d;--md-editor-border:#27272a;--shadow:0 0 1px 1px #303030}:root{--sidebar-width:256px}*{box-sizing:border-box}html,body{scroll-behavior:smooth;height:var(--doc-height,100vh);overscroll-behavior:none;-webkit-overflow-scrolling:touch;background-color:var(--secondbackground);font-family:var(--font-family);color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;padding:0;transition:background-color .3s,color .3s;overflow-y:hidden!important}::selection{color:#fefefe;background-color:#47a3f3}::marker{color:var(--desc)!important}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.skip-link{background:var(--secondary);color:#fff;z-index:100;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;position:absolute;top:-100%;left:8px}.skip-link:focus{top:8px}::-webkit-scrollbar{background:0 0;width:8px;height:6px}::-webkit-scrollbar-track{background:0 0;transition:all 1s}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:1px;transition:all 1s}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--primary) 80%, transparent)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.glass-effect{-webkit-backdrop-filter:blur(8px);background:#ffffffd9}.dark .glass-effect{-webkit-backdrop-filter:blur(8px);background:#0b0b0ccc}.layout{width:100%;height:var(--doc-height,100vh);display:flex;overflow-x:hidden}.sidebar{width:var(--sidebar-width);background:var(--background);z-index:30;flex-direction:column;flex-shrink:0;height:100%;padding:1rem;transition:width .3s,transform .3s,background-color .3s;display:flex;position:relative;overflow:hidden}.sidebar.is-collapsed{width:72px;padding-left:.5rem;padding-right:.5rem}.sidebar-resizer{cursor:col-resize;z-index:49;width:8px;height:100%;position:absolute;top:0;right:0}.sidebar-resizer.is-resizing{background:color-mix(in srgb, var(--primary) 40%, transparent)}.sidebar-top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.sidebar.is-collapsed .sidebar-top{justify-content:center}#sidebar-collapse{transition:transform .3s}.sidebar.is-collapsed #sidebar-collapse{transform:rotate(180deg)}.avatar-block{align-items:center;gap:.625rem;width:100%;display:flex}.sidebar.is-collapsed .avatar-block{flex-direction:column-reverse;justify-content:center;gap:.5rem;margin-right:0}.avatar{color:#fff;width:36px;height:36px;box-shadow:var(--shadow);background:linear-gradient(135deg,#9936e6,#ffc65c);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.avatar-meta{flex-direction:column;min-width:0;line-height:1.2;display:flex}.avatar-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.avatar-role{color:var(--desc);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sidebar.is-collapsed .avatar-meta{display:none}.icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;transition:background .2s;display:inline-flex}.icon-btn:hover{background:var(--hover)}.icon-btn.is-hidden-desktop{display:none}@media (width<=768px){.icon-btn{width:44px;min-width:44px;height:44px;min-height:44px}.back-link{min-height:44px;padding:10px 14px}.sidebar-link{min-height:44px}.chip{min-height:36px;padding:8px 14px}}.sidebar-nav{flex-direction:column;flex:1;gap:4px;margin-top:1rem;margin-right:-16px;padding-right:16px;font-weight:600;display:flex;overflow-y:auto}.sidebar.is-collapsed .sidebar-nav{align-items:center;gap:.5rem}.sidebar-link{cursor:pointer;color:var(--foreground);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .18s,color .18s,transform .12s;display:flex}.sidebar-link:hover{background:var(--hover)}.sidebar-link:active{transform:scale(.97)}.sidebar-link.is-active{background:var(--primary);color:var(--primary-foreground);font-weight:700}.sidebar.is-collapsed .sidebar-link{justify-content:center;padding:10px}.sidebar.is-collapsed .sidebar-link .label{display:none}.sidebar-link .label{transition:all .2s}.halation{filter:blur(3rem);z-index:0;pointer-events:none;width:250px;height:250px;position:absolute;inset:auto 0 0;overflow:hidden}.halation:before{content:"";opacity:.2;clip-path:circle(35%);background:#ffc65c;width:100%;height:100%;display:block}.sidebar-bottom{z-index:1;border-top:1px solid var(--border);gap:4px;margin-top:8px;padding-top:8px;display:flex;position:relative}.sidebar.is-collapsed .sidebar-bottom{justify-content:center;gap:.25rem}@media (width>=768px){.sidebar.is-collapsed .sidebar-bottom .icon-btn{width:26px;min-width:26px;height:26px;min-height:26px}}.main{width:calc(100% - var(--sidebar-width));background:var(--secondbackground);flex-direction:column;height:100%;transition:width .3s,background-color .3s;display:flex;overflow:hidden}.layout:has(.sidebar.is-collapsed) .main{width:calc(100% - 72px)}.header{z-index:10;justify-content:space-between;align-items:center;gap:8px;height:64px;min-height:64px;padding:8px 16px;display:flex;position:relative;overflow:hidden}.header-left{z-index:1;align-items:center;gap:8px;width:100%;padding:8px;display:flex}.header-title-row{align-items:center;gap:4px;display:flex}.accent-bar{background:var(--primary);border-radius:12px;width:4px;height:16px;display:none}@media (width>=768px){.accent-bar{display:block}}.page-title{color:var(--foreground);user-select:none;font-size:16px;font-weight:900}.header-right{justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width>=768px){.header-right{gap:16px}}.search{background:var(--muted);color:var(--desc);border-radius:14px;align-items:center;gap:8px;min-width:160px;max-width:240px;padding:6px 12px;font-size:13px;transition:background .2s;display:flex}.search:hover{background:var(--hover)}.search input{color:var(--foreground);background:0 0;border:0;width:100%;font-family:inherit;font-size:13px}.search input::placeholder{color:var(--desc)}.content-scroll{flex:1;min-height:0;margin-top:-4px;position:relative;overflow:hidden auto}.layout-container{flex-direction:column;max-width:1200px;height:100%;margin:0 auto;padding:0 8px;display:flex;position:relative}@media (width>=768px){.layout-container{padding:0 24px}}.corner-blob{filter:blur(3rem);z-index:0;pointer-events:none;width:350px;height:350px;position:absolute;top:-37%;right:5%;overflow:hidden}.corner-blob:before{content:"";opacity:.2;clip-path:circle(50%);background:#9936e6;width:100%;height:100%;display:block}.content-inner{z-index:10;padding:4px 0 32px;position:relative}.card{background:var(--background);border:1px solid var(--border);box-shadow:none;border-radius:12px;flex-direction:column;padding:20px;transition:transform .25s,border-color .25s,background-color .3s;display:flex}@media (width>=768px){.card.is-hoverable:hover{border-color:color-mix(in srgb, var(--primary) 30%, transparent);transform:translateY(4px)}}.card-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.card-title{color:var(--foreground);font-size:15px;font-weight:800}.card-date{color:var(--desc);font-size:12px}.card-excerpt{color:var(--foreground);opacity:.85;font-size:14px;line-height:1.55}.card-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.project-card>.card-footer{margin-top:auto;padding-top:14px}.tag{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:9999px;align-items:center;margin:2px 4px 2px 0;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.tag.is-secondary{color:var(--tag);background:color-mix(in srgb, var(--tag) 12%, transparent)}.tech-chip{gap:6px;padding:5px 11px;font-size:13px;font-weight:500}.tech-chip iconify-icon{color:var(--secondary)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=768px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=1280px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.grid-3{grid-template-columns:1fr}}.blog-list{flex-direction:column;gap:16px;max-width:820px;display:flex}.blog-card-title{color:var(--foreground);margin:8px 0 6px;font-size:22px;font-weight:800;line-height:1.3}.blog-card-excerpt{color:var(--foreground);opacity:.85;font-size:15px;line-height:1.65}.blog-card-meta{color:var(--desc);justify-content:space-between;align-items:flex-start;gap:12px;font-size:12px;display:flex}.blog-card-tags{flex-wrap:wrap;gap:4px;display:flex}.blog-card-meta .meta-item{align-items:center;gap:5px;display:inline-flex}.blog-card-meta .read-est{white-space:nowrap;flex-shrink:0}.doc-card{flex-direction:row;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.doc-icon{color:#fff;width:40px;height:40px;box-shadow:var(--shadow);background:linear-gradient(135deg,#ef4444,#b91c1c);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.doc-info{flex:1;min-width:0}.doc-info .card-header{min-width:0;margin-bottom:2px}.doc-info .card-title{overflow-wrap:anywhere;min-width:0;font-size:14px}.doc-card .card-excerpt{overflow-wrap:anywhere;margin:0 0 4px;font-size:13px}.doc-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.doc-meta .dot{opacity:.5}.doc-download{flex-shrink:0}.doc-group{margin-bottom:28px}.doc-group:last-child{margin-bottom:0}.doc-group-head{align-items:center;gap:8px;margin-bottom:2px;display:flex}.doc-group-head:not(:has(+.doc-group-hint)){margin-bottom:16px}.doc-group-head iconify-icon{color:var(--secondary);flex-shrink:0}.doc-group-title{color:var(--foreground);margin:0;font-size:16px;font-weight:800}.doc-group-count{color:var(--desc);background:var(--muted);border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.4}.doc-group-hint{margin:0 0 12px}.social-card{color:inherit;flex-direction:row;align-items:center;gap:12px;padding:14px;text-decoration:none}.social-icon{color:#fff;background:var(--secondary);width:44px;height:44px;box-shadow:var(--shadow);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.social-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.social-info .card-title{font-size:15px}.social-handle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.social-ext{color:var(--desc);flex-shrink:0;transition:color .2s,transform .2s}.social-card:hover .social-ext{color:var(--foreground);transform:translate(2px,-2px)}.blog-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:28px;display:grid}.blog-layout .blog-list{max-width:none}.blog-filter{position:sticky;top:16px}.filter-head{color:var(--foreground);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:800;display:flex}.filter-head iconify-icon{color:var(--desc)}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:9999px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.chip:hover{background:var(--hover)}.chip.is-active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.chip-count{background:var(--border);min-width:18px;height:18px;color:var(--desc);border-radius:9999px;justify-content:center;align-items:center;margin-left:4px;padding:0 5px;font-size:11px;display:inline-flex}.chip.is-active .chip-count{color:var(--primary-foreground);background:#fff3}@media (width<=1024px){.blog-layout{grid-template-columns:1fr}.blog-filter{order:-1;position:static}}.article-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:32px;display:grid}.article-layout .article-main{min-width:0;max-width:760px}.related-articles{flex-direction:column;gap:4px;display:flex;position:sticky;top:16px}.all-projects-link,.all-articles-link{color:var(--secondary);border-top:1px solid var(--border);align-self:flex-start;align-items:center;gap:4px;margin-top:10px;padding-top:10px;font-size:13px;font-weight:700;display:inline-flex}.all-projects-link:hover,.all-articles-link:hover{text-decoration:underline}.related-head{text-transform:uppercase;letter-spacing:.05em;color:var(--desc);margin-bottom:4px;padding:4px 12px;font-size:11px;font-weight:700}.related-item{color:inherit;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;transition:background .15s;display:flex}.related-item:hover{background:var(--hover)}.related-title{color:var(--foreground);font-size:13px;font-weight:600;line-height:1.35}.related-meta{color:var(--desc);font-size:12px}@media (width<=1100px){.article-layout{grid-template-columns:1fr}.related-articles{margin-top:16px;position:static}}.sidebar-section{z-index:1;border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex;position:relative}.sidebar-section-title{color:var(--desc);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;padding:4px 8px;font-size:11px;font-weight:700}.sidebar.is-collapsed .sidebar-section-title{display:none}.sidebar.is-collapsed .sidebar-section{align-items:center}.back-link{color:var(--desc);border-radius:12px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.back-link:hover{background:var(--hover);color:var(--foreground)}.detail-header{margin-bottom:20px}.detail-title{color:var(--foreground);margin:8px 0 10px;font-size:clamp(24px,5vw,32px);font-weight:900;line-height:1.2}.detail-subtitle{color:var(--desc);margin-bottom:12px;font-size:16px}.detail-meta{color:var(--desc);flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;display:flex}.detail-meta .meta-item{align-items:center;gap:6px;display:inline-flex}.detail-banner{border-radius:16px;justify-content:center;align-items:center;height:220px;margin:16px 0 24px;display:flex;position:relative;overflow:hidden}.detail-banner .banner-icon{color:#fff;opacity:.9}.prose{max-width:760px;color:var(--foreground);font-size:15px;line-height:1.7}.prose h2{color:var(--foreground);margin:28px 0 12px;font-size:22px;font-weight:800}.prose h3{color:var(--foreground);margin:22px 0 10px;font-size:17px;font-weight:700}.prose p{opacity:.92;margin:14px 0}.prose ul,.prose ol{margin:14px 0;padding-left:22px}.prose li{opacity:.92;margin:6px 0}.prose code{background:var(--muted);color:var(--foreground);border-radius:5px;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.prose pre{background:var(--muted);border:1px solid var(--border);border-radius:12px;margin:18px 0;padding:16px;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:13px;line-height:1.6}.prose blockquote{border-left:3px solid var(--primary);color:var(--desc);margin:18px 0;padding:4px 0 4px 16px;font-style:italic}.prose a{color:var(--secondary);text-decoration:underline}.prose img{border-radius:12px;max-width:100%;margin:16px 0}.author-card{background:var(--n-canvas);border:1px solid var(--n-hairline);border-radius:12px;align-items:flex-start;gap:16px;margin:2.5rem 0;padding:24px;display:flex}.author-avatar{color:#fff;background:linear-gradient(135deg,#9936e6,#ffc65c);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:20px;font-weight:700;display:flex;box-shadow:0 1px 2px #0f0f0f0f}.author-info{min-width:0}.author-name{color:var(--n-ink);letter-spacing:-.01em;font-size:18px;font-weight:700}.author-role{text-transform:uppercase;letter-spacing:.05em;color:var(--n-steel);margin-top:3px;font-size:12px;font-weight:600}.author-bio{color:var(--n-slate);margin-top:8px;font-size:14px;line-height:1.55}.project-section{margin:2rem 0}.project-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--desc);margin-bottom:10px;font-size:13px;font-weight:800}.feature-list{margin:0;padding:0;list-style:none}.feature-list li{color:var(--foreground);opacity:.9;align-items:flex-start;gap:10px;padding:8px 0;font-size:15px;display:flex}.feature-list li iconify-icon{color:var(--secondary);flex-shrink:0;margin-top:2px}.screenshot-row{grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0;display:grid}.screenshot-row .shot{color:#fff;opacity:.9;border-radius:12px;justify-content:center;align-items:center;height:140px;display:flex}@media (width<=768px){.screenshot-row{grid-template-columns:1fr}}.btn{cursor:pointer;border:0;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:500;transition:background .2s,transform .15s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{transform:translateY(-1px)}.btn-ghost{color:var(--foreground);background:0 0}.btn-ghost:hover{background:var(--hover)}.btn-outline{color:var(--foreground);border:1px solid var(--border);background:0 0}.btn-outline:hover{background:var(--hover)}@media (width<=768px){.btn{min-height:44px}}.empty-state{text-align:center;color:var(--ignore);padding:32px 16px}.sidebar-backdrop{z-index:40;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;position:fixed;inset:0}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.hamburger{display:none}@media (width<=767px){.sidebar{height:var(--doc-height,100vh);z-index:50;position:fixed;top:0;left:0;transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.is-open{transform:translate(0)}.main{width:100%!important}.hamburger{display:inline-flex}.header{z-index:11;background:var(--background);-webkit-backdrop-filter:blur(10px);border-radius:0 0 12px 12px;position:fixed;top:0;left:0;right:0}.dark .header{background:#000c}.content-scroll{height:100%;padding-top:72px}.accent-bar{display:none}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.text-desc{color:var(--desc)}.text-sm{font-size:13px}.text-xs{font-size:12px}.font-bold{font-weight:800}.w-full{width:100%}.text-center{text-align:center}.relative{position:relative}.home{flex-direction:column;gap:16px;display:flex}.hero{border:1px solid var(--border);background:var(--card);isolation:isolate;border-radius:20px;padding:28px;position:relative;overflow:hidden}.hero-grid{z-index:0;pointer-events:none;background-image:radial-gradient(circle, color-mix(in srgb, var(--foreground) 9%, transparent) 1px, transparent 1.6px);opacity:.55;background-size:22px 22px;position:absolute;inset:0;mask-image:radial-gradient(130% 120% at 0 0,#000 25%,#0000 72%)}.hero-spotlight{z-index:0;pointer-events:none;background:radial-gradient(280px circle at var(--mx,30%) var(--my,25%), color-mix(in srgb, var(--secondary) 30%, transparent), transparent 62%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.hero:hover .hero-spotlight{opacity:1}.hero-row{z-index:1;flex-wrap:wrap;align-items:center;gap:20px;display:flex;position:relative}.hero-avatar{flex-shrink:0;position:relative}.hero-avatar-face{width:76px;height:76px;box-shadow:var(--shadow);font-size:26px}.hero-status-dot{z-index:2;border:3px solid var(--card);background:#22c55e;border-radius:50%;width:16px;height:16px;position:absolute;bottom:2px;right:2px}.hero-status-dot:after{content:"";opacity:.55;background:#22c55e;border-radius:50%;animation:1.9s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:-3px}.hero-intro{flex:1;min-width:220px}.hero-eyebrow{color:var(--secondary);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.hero-name{letter-spacing:-.025em;color:var(--foreground);margin:2px 0 6px;font-size:clamp(30px,5vw,44px);font-weight:900;line-height:1.04}.hero-role{color:var(--desc);min-height:1.4em;margin:0 0 12px;font-size:16px;font-weight:600}.hero-role .caret{background:var(--secondary);vertical-align:-2px;width:2px;height:1em;margin-left:3px;animation:1s steps(2,end) infinite blink;display:inline-block}.hero-meta{flex-wrap:wrap;gap:8px;display:flex}.hero-chip{color:var(--desc);background:var(--muted);border-radius:9999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.hero-chip iconify-icon{color:var(--secondary)}.hero-actions{z-index:1;flex-wrap:wrap;gap:10px;margin-top:22px;display:flex;position:relative}.stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat{border:1px solid var(--border);background:var(--card);border-radius:16px;flex-direction:column;gap:4px;padding:16px;transition:transform .2s,border-color .2s;display:flex}.stat:hover{border-color:color-mix(in srgb, var(--secondary) 45%, var(--border));transform:translateY(-3px)}.stat-value{align-items:baseline;display:flex}.stat-num{color:var(--foreground);letter-spacing:-.02em;font-size:28px;font-weight:900;line-height:1.1}.stat-suffix{color:var(--secondary);font-size:20px;font-weight:800}.stat-label{color:var(--desc);font-size:12px;font-weight:600}.now-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.now-list li{color:var(--foreground);opacity:.9;align-items:center;gap:10px;font-size:14px;display:flex}.now-list li iconify-icon{color:var(--secondary);flex-shrink:0}.findme-link{color:var(--foreground);border-radius:12px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.findme-link:hover{background:var(--hover)}.findme-link>iconify-icon:first-child{color:var(--secondary);flex-shrink:0}.findme-link span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-foot{text-align:center;color:var(--ignore);padding:6px 0 2px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.reveal{opacity:0;animation:.7s cubic-bezier(.22,.68,.18,1.01) forwards home-reveal;animation-delay:var(--d,0s);transform:translateY(18px)}@keyframes home-reveal{to{opacity:1;transform:none}}@keyframes ping{75%,to{opacity:0;transform:scale(2.3)}}@keyframes blink{50%{opacity:0}}@media (width<=768px){.stats{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;animation:none;transform:none}.hero-status-dot:after{animation:none}.hero-role .caret{opacity:0;animation:none}}:root{--n-primary:#5645d4;--n-primary-pressed:#4534b3;--n-ink:#1a1a1a;--n-charcoal:#37352f;--n-slate:#5d5b54;--n-steel:#787671;--n-stone:#a4a097;--n-canvas:#fff;--n-surface:#f6f5f4;--n-hairline:#e5e3df;--n-hairline-soft:#ede9e4;--n-hairline-strong:#c8c4be;--n-link:#0075de;--n-tint-lavender:#e6e0f5;--n-tint-lavender-ink:#391c57;--n-tint-peach:#ffe8d4;--n-tint-peach-ink:#793400;--n-tint-mint:#d9f3e1;--n-tint-mint-ink:#1aae39;--n-tint-sky:#dcecfa;--n-tint-sky-ink:#005bab}.dark{--n-primary:#7c6fe4;--n-primary-pressed:#6357d6;--n-ink:#e8e6e1;--n-charcoal:#cfccc4;--n-slate:#9c998f;--n-steel:#7d7a71;--n-stone:#6d6a62;--n-canvas:var(--card);--n-surface:color-mix(in srgb, var(--foreground) 4%, var(--card));--n-hairline:var(--border);--n-hairline-soft:color-mix(in srgb, var(--border) 60%, transparent);--n-hairline-strong:color-mix(in srgb, var(--foreground) 20%, var(--border));--n-link:#4b9bf0;--n-tint-lavender:color-mix(in srgb, #7b3ff2 18%, var(--card));--n-tint-lavender-ink:#cdb9f6;--n-tint-peach:color-mix(in srgb, #dd5b00 18%, var(--card));--n-tint-peach-ink:#f0b48a;--n-tint-mint:color-mix(in srgb, #1aae39 16%, var(--card));--n-tint-mint-ink:#8fdca4;--n-tint-sky:color-mix(in srgb, #0075de 18%, var(--card));--n-tint-sky-ink:#9ecdf5}.home{isolation:isolate;color:var(--n-charcoal);gap:20px;position:relative}.home h1,.home h2,.home h3,.home .card-title{color:var(--n-ink)}.home .text-desc{color:var(--n-slate)}.home .text-sm{font-size:14px;line-height:1.5}.home>:not(.home-mesh),.content-inner>:not(.home-mesh){z-index:1;position:relative}.home-mesh{z-index:0;pointer-events:none;filter:blur(50px);opacity:.5;background:radial-gradient(38% 32% at 64% 14%,#d6b6f680,#0000 70%),radial-gradient(34% 28% at 33% 38%,#ff64c84d,#0000 70%),radial-gradient(44% 38% at 80% 52%,#62aef06b,#0000 72%),radial-gradient(36% 32% at 46% 74%,#2a9d9947,#0000 70%),radial-gradient(30% 26% at 78% 90%,#dd5b0042,#0000 70%);width:60vw;height:120vh;position:fixed;top:-10vh;right:-6vw}.dark .home-mesh{opacity:.36}@media (width<=768px){.home-mesh{display:none}}.home .hero{background:var(--n-canvas);border:1px solid var(--n-hairline);border-radius:16px;padding:32px}.home .hero-grid{background-image:radial-gradient(circle, color-mix(in srgb, var(--n-ink) 7%, transparent) 1px, transparent 1.6px);background-size:22px 22px}.home .hero-spotlight{background:radial-gradient(300px circle at var(--mx,30%) var(--my,25%), color-mix(in srgb, var(--n-primary) 22%, transparent), transparent 62%)}.home .hero-eyebrow{font-family:var(--font-family);text-transform:uppercase;letter-spacing:.08em;color:var(--n-stone);font-size:11px;font-weight:600}.home .hero-name{letter-spacing:-.02em;color:var(--n-ink);margin:4px 0 6px;font-size:clamp(32px,4vw,40px);font-weight:600;line-height:1.05}.home .hero-role{color:var(--n-slate);font-size:16px;font-weight:500}.home .hero-role .caret{background:var(--n-primary)}.home .hero-chip{background:var(--n-surface);color:var(--n-charcoal);border-radius:9999px;padding:5px 11px;font-size:12px;font-weight:500}.home .hero-chip iconify-icon{color:var(--n-primary)}.home .btn{border-radius:8px;padding:9px 16px;font-size:14px;font-weight:500;transition:background .18s,border-color .18s,transform .15s}.home .btn-primary{background:var(--n-primary);color:#fff}.home .btn-primary:hover{background:var(--n-primary-pressed)}.home .btn-outline{color:var(--n-ink);border:1px solid var(--n-hairline-strong);background:0 0}.home .btn-outline:hover{background:var(--n-surface)}.home .stats{background:var(--n-surface);border:1px solid var(--n-hairline);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:0;padding:20px;display:grid}.home .stat{border:0;border-right:1px solid var(--n-hairline-soft);background:0 0;border-radius:0;padding:4px 20px;transition:none}.home .stat:last-child{border-right:0}.home .stat:hover{border-color:#0000;transform:none}.home .stat-num{color:var(--n-ink);letter-spacing:-.02em;font-size:30px;font-weight:700}.home .stat-suffix{color:var(--n-primary)}.home .stat-label{color:var(--n-steel);font-size:12px;font-weight:500}.home .card{background:var(--n-canvas);border:1px solid var(--n-hairline);box-shadow:none;border-radius:12px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s}.home .card-header{margin-bottom:10px}.home .card-header iconify-icon{color:var(--n-primary)}.home .card-title{font-size:15px;font-weight:600}@media (hover:hover){.home .card.is-hoverable:hover{border-color:var(--n-hairline-strong);transform:translateY(-2px);box-shadow:0 1px 2px #0f0f0f0a}}.dark .home .card.is-hoverable:hover{box-shadow:none}.home .card.is-currently{background:var(--n-tint-lavender);border-color:color-mix(in srgb, var(--n-tint-lavender-ink) 12%, var(--n-tint-lavender))}.home .card.is-currently .card-title{color:var(--n-tint-lavender-ink)}.home .card.is-currently .now-list li{color:var(--n-tint-lavender-ink);opacity:1}.home .card.is-currently .now-list li iconify-icon{color:var(--n-tint-lavender-ink)}.home .tag.is-secondary{background:var(--n-tint-lavender);color:var(--n-tint-lavender-ink);border:1px solid #0000;border-radius:6px;margin:2px 4px 2px 0;padding:4px 10px;font-size:12px;font-weight:500;transition:transform .15s,background .15s}@media (hover:hover){.home .tag.is-secondary:hover{background:color-mix(in srgb, var(--n-tint-lavender) 65%, var(--n-tint-lavender-ink));transform:translateY(-2px)}}.home .findme-link{background:var(--n-surface);border:1px solid var(--n-hairline-soft);color:var(--n-charcoal);border-radius:8px}@media (hover:hover){.home .findme-link:hover{background:var(--n-canvas);border-color:var(--n-hairline)}}.home .findme-link>iconify-icon:first-child{color:var(--n-primary)}.home .contact-cta{background:var(--n-surface);border:1px solid var(--n-hairline);border-radius:12px;padding:36px 24px}.home .contact-cta-title{color:var(--n-ink);font-size:22px;font-weight:600}.home .contact-cta-sub{color:var(--n-slate)}.home .home-section{flex-direction:column;gap:12px;display:flex}.home .section-head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.home .section-title{color:var(--n-ink);margin:0;font-size:16px;font-weight:600}.home .section-link{color:var(--n-link);font-size:13px;font-weight:500}.home .section-link:hover{text-decoration:underline}.home .tag-badge{border-radius:6px;align-items:center;margin:2px 4px 2px 0;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.home .tint-0{background:var(--n-tint-lavender);color:var(--n-tint-lavender-ink)}.home .tint-1{background:var(--n-tint-peach);color:var(--n-tint-peach-ink)}.home .tint-2{background:var(--n-tint-mint);color:var(--n-tint-mint-ink)}.home .tint-3{background:var(--n-tint-sky);color:var(--n-tint-sky-ink)}@media (width<=768px){.home .stats{grid-template-columns:repeat(2,1fr)}.home .stat{border-right:1px solid var(--n-hairline-soft);border-bottom:1px solid var(--n-hairline-soft)}.home .stat:nth-child(2n){border-right:0}.home .stat:nth-last-child(-n+2){border-bottom:0}}.home .work-card{color:inherit;background:var(--n-canvas);border:1px solid var(--n-hairline);border-radius:12px;flex-direction:column;gap:8px;padding:18px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.home .work-icon{background:var(--n-primary);border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:4px;display:flex}.home .work-icon iconify-icon{color:#fff}.home .work-title{color:var(--n-ink);margin:0;font-size:15px;font-weight:600}.home .work-excerpt{margin:0}.home .work-tags{margin-top:auto;padding-top:4px}@media (hover:hover){.home .work-card:hover{border-color:var(--n-hairline-strong);transform:translateY(-2px);box-shadow:0 1px 2px #0f0f0f0a}}.dark .home .work-card:hover{box-shadow:none}.home .write-list{flex-direction:column;display:flex}.home .write-row{border-bottom:1px solid var(--n-hairline-soft);color:inherit;align-items:center;gap:12px;padding:14px 8px;text-decoration:none;transition:background .15s;display:flex}.home .write-row:last-child{border-bottom:0}.home .write-title{min-width:0;color:var(--n-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;font-weight:500;overflow:hidden}.home .write-date{color:var(--n-steel);flex-shrink:0;font-size:13px}.home .write-arrow{color:var(--n-steel);flex-shrink:0;transition:transform .15s,color .15s}@media (hover:hover){.home .write-row:hover{background:var(--n-surface)}.home .write-row:hover .write-arrow{color:var(--n-primary);transform:translate(3px)}}.glowable{isolation:isolate;position:relative}.glowable>*{z-index:1;position:relative}.glowable:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(240px circle at var(--gx,50%) var(--gy,50%), color-mix(in srgb, var(--n-primary) 10%, transparent), transparent 70%);opacity:0;z-index:0;transition:opacity .2s;position:absolute;inset:0}@media (hover:hover){.glowable:hover:after{opacity:1}}.reveal-io{opacity:0;transition:opacity .6s cubic-bezier(.22,.68,.18,1) var(--d,0s), transform .6s cubic-bezier(.22,.68,.18,1) var(--d,0s);transform:translateY(14px)}.reveal-io.is-in{opacity:1;transform:none}.magnetic{will-change:transform;transition:transform .2s ease-out;display:inline-block}.reveal-io.is-in .skills-chips .tag.is-secondary{animation:.3s cubic-bezier(.22,.68,.18,1) backwards skill-in;animation-delay:calc(var(--i,0) * 40ms)}@keyframes skill-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal-io{opacity:1;transition:none;transform:none}.magnetic{transition:none}.reveal-io.is-in .skills-chips .tag.is-secondary{animation:none}.glowable:after{display:none}}.contact-form{flex-direction:column;gap:1rem;margin-top:4px;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.05em;color:var(--desc);font-size:12px;font-weight:700}.form-input{background:var(--secondbackground);border:1px solid var(--border);color:var(--foreground);border-radius:14px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:var(--secondary)}.form-input::placeholder{color:var(--desc)}.form-textarea{resize:vertical;min-height:120px}.contact-submit{align-self:flex-start}.contact-submit:disabled{opacity:.6;cursor:default}.form-status{border-radius:14px;margin-top:.25rem;padding:10px 14px;font-size:13px;line-height:1.4}.form-status-success{color:#22c55e;background:#22c55e26}.form-status-error{color:#ef4444;background:#ef444426}.contact-alt{flex-direction:column;gap:4px;margin-top:12px;display:flex}.contact-alt-item{color:var(--foreground);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:background .2s;display:flex}.contact-alt-item:hover{background:var(--hover)}.contact-alt-item>svg:first-child{color:var(--secondary);flex-shrink:0}.contact-alt-item div{flex-direction:column;gap:2px;display:flex}.contact-cta{text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:2rem;display:flex}.contact-cta-title{color:var(--foreground);margin:.75rem 0 .25rem;font-size:20px;font-weight:800}.contact-cta-sub{margin-bottom:1rem}.pagination{justify-content:center;align-items:center;gap:12px;display:flex}.pagination-info{user-select:none}
