:root{--bg:#080810;--text:#94a3b8;--text-h:#f8fafc;--accent:#a78bfa;--accent-glow:#a78bfa40;--card-bg:#ffffff08;--card-border:#ffffff14;--card-border-hover:#a78bfa66;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:17px/160% var(--sans);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{min-height:100svh;margin:0}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}.about-panel{z-index:50;background:var(--bg);visibility:hidden;transition:transform .65s cubic-bezier(.16,1,.3,1),visibility 0s .65s;position:fixed;inset:0;overflow-y:auto;transform:translateY(100vh)}.about-panel--open{visibility:visible;transition:transform .65s cubic-bezier(.16,1,.3,1),visibility;transform:translateY(0)}.about-topbar{z-index:10;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--card-border);background:#080810d1;padding:14px 24px;position:sticky;top:0}.about-back{color:var(--accent);opacity:.55;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:13px;transition:opacity .2s;display:inline-flex}.about-back:hover{opacity:1}.about-content{flex-direction:column;gap:72px;max-width:720px;margin:0 auto;padding:60px 24px 120px;display:flex}.about-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;animation:.6s .1s both aboutFadeUp;display:flex}.about-avatar{object-fit:cover;border:2px solid var(--card-border);border-radius:50%;width:96px;height:96px;margin-bottom:4px}.about-name{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:clamp(26px,5vw,44px);font-weight:700}.about-role{color:var(--accent);opacity:.85;margin:0;font-size:.95rem}.about-tagline{color:var(--text);max-width:400px;margin:0;font-size:1rem;line-height:1.7}.about-section{flex-direction:column;gap:20px;animation:.6s both aboutFadeUp;display:flex}.about-section-title{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.65;margin:0;font-size:.72rem;font-weight:700}.about-bio{color:var(--text);margin:0;font-size:1rem;line-height:1.85}.about-facts{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.about-facts li{color:var(--text-h);align-items:center;gap:10px;font-size:.9rem;display:flex}.fact-icon{color:var(--accent);opacity:.7;flex-shrink:0}.dummy-photo{background:var(--card-bg);border:2px dashed var(--card-border);height:200px;color:var(--text);opacity:.35;border-radius:12px;justify-content:center;align-items:center;font-size:.88rem;display:flex}.skill-block{flex-direction:column;gap:10px;display:flex}.skill-block-title{color:var(--text-h);opacity:.6;margin:0;font-size:.8rem;font-weight:600}.skill-chips{flex-wrap:wrap;gap:8px;display:flex}.skill-chip{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-h);border-radius:8px;align-items:center;gap:7px;padding:6px 12px;font-size:.82rem;transition:border-color .2s,transform .2s;display:inline-flex}.skill-chip:hover{border-color:var(--card-border-hover);transform:translateY(-2px)}.skill-more-link{color:var(--accent);opacity:.75;align-self:flex-start;align-items:center;gap:6px;font-size:.85rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.skill-more-link:hover{opacity:1}.interests-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.interest-item{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;display:flex}.contact-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.contact-list li{color:var(--text);opacity:.7;align-items:center;gap:10px;display:flex}.contact-list a{color:var(--accent);text-decoration:none;transition:opacity .15s}.contact-list a:hover{opacity:.7}.contact-pending{color:var(--text);opacity:.35;font-size:.88rem}@keyframes aboutFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.wrapper{flex-direction:column;min-height:100svh;transition:transform .65s cubic-bezier(.4,0,.2,1),opacity .65s;display:flex;position:relative;overflow:hidden}.wrapper--about-open{opacity:0;pointer-events:none;transform:translateY(-48px)}.bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0}.orb{filter:blur(120px);opacity:.18;border-radius:50%;animation:12s ease-in-out infinite float;position:absolute}.orb-1{background:#6d28d9;width:600px;height:600px;animation-delay:0s;top:-200px;left:-150px}.orb-2{background:#0ea5e9;width:500px;height:500px;animation-delay:-4s;top:10%;right:-150px}.orb-3{background:#ec4899;width:400px;height:400px;animation-delay:-8s;bottom:5%;left:30%}@keyframes float{0%,to{transform:translateY(0)scale(1)}33%{transform:translateY(-30px)scale(1.03)}66%{transform:translateY(20px)scale(.97)}}.hero{z-index:1;text-align:center;flex:1;justify-content:center;align-items:center;padding:80px 24px 40px;display:flex;position:relative}.hero-content{animation:.8s both fadeUp}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);opacity:.8;margin-bottom:24px;font-size:13px}.title{letter-spacing:-.03em;margin-bottom:24px;font-size:clamp(56px,12vw,120px);font-weight:700;line-height:1}.title-main{color:var(--text-h)}.title-accent{color:var(--accent)}.title-dot-wrap{clip-path:inset(70% 0 8%);display:inline-block}.title-dot{color:inherit;cursor:pointer;text-decoration:none}.subtitle{color:var(--text);max-width:480px;margin:0 auto;font-size:clamp(15px,2vw,18px)}.hub{z-index:1;padding:40px 24px 60px;position:relative}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:860px;margin:0 auto;display:grid}.hub-card{background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;animation:.7s both fadeUp;animation-delay:var(--delay,0s);border-radius:12px;flex-direction:column;gap:8px;padding:24px;transition:border-color .25s,box-shadow .25s,transform .25s;display:flex}.hub-card:hover{border-color:var(--card-border-hover);box-shadow:0 0 24px var(--accent-glow);transform:translateY(-3px)}.hub-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.hub-card-label{color:var(--text-h);font-size:16px;font-weight:600}.hub-card-icon{color:var(--accent);flex-shrink:0;transition:transform .2s}.hub-card:hover .hub-card-icon{transform:translate(3px)}.hub-card--github{border-color:#38bdf826}.hub-card--github:hover{border-color:#38bdf873;box-shadow:0 0 24px #38bdf826}.hub-card--github .hub-card-icon{color:#38bdf8}.hub-card--about{text-align:left;border-color:#34d39926}.hub-card--about:hover{border-color:#34d39973;box-shadow:0 0 24px #34d39926}.hub-card--about .hub-card-icon{color:#34d399}.hub-card-desc{color:var(--text);opacity:.7;font-size:13px}.footer{z-index:1;text-align:center;color:var(--text);opacity:.4;border-top:1px solid var(--card-border);padding:20px;font-size:13px;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-sushi{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotation-sushi{transform-origin:50%;cursor:pointer;-webkit-user-select:none;user-select:none;animation:1.8s linear infinite spin-sushi;display:inline-block}.blog-page{background:var(--bg);min-height:100svh;position:relative;overflow:hidden}.blog-inner{z-index:1;flex-direction:column;gap:48px;max-width:720px;margin:0 auto;padding:60px 24px 120px;display:flex;position:relative}.blog-sticky{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--card-border);opacity:0;pointer-events:none;background:#080810b3;justify-content:space-between;align-items:center;padding:10px 24px;transition:opacity .25s,transform .25s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-6px)}.blog-sticky--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.blog-sticky-title{color:var(--text-h);opacity:.7;white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:60%;font-size:.85rem;font-weight:600;overflow:hidden}.blog-back{color:var(--accent);opacity:.55;align-items:center;gap:5px;width:fit-content;font-size:13px;text-decoration:none;transition:opacity .2s;display:inline-flex}.blog-back:hover{opacity:1}.blog-header{flex-direction:column;gap:16px;animation:.7s both fadeUp;display:flex}.blog-header-top{justify-content:space-between;align-items:center;display:flex}.blog-title{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:clamp(32px,8vw,56px);font-weight:700}.blog-sub{color:var(--text);opacity:.4;margin:0;font-size:.9rem}.blog-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=680px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=420px){.blog-grid{grid-template-columns:1fr}}.blog-card{background:var(--card-bg);border:1px solid var(--card-border);animation:.7s both fadeUp;animation-delay:var(--delay,0s);border-radius:12px;flex-direction:column;text-decoration:none;transition:border-color .25s,box-shadow .25s,transform .25s;display:flex;overflow:hidden}.blog-card:hover{border-color:var(--card-border-hover);box-shadow:0 0 24px var(--accent-glow);transform:translateY(-3px)}.blog-card:hover .blog-card-title{color:var(--accent)}.blog-card-thumb,.blog-card-thumb-empty{aspect-ratio:16/9;width:100%;display:block}.blog-card-thumb{object-fit:cover}.blog-card-thumb-empty{border-bottom:1px solid var(--card-border);background:linear-gradient(135deg,#6d28d92e,#0ea5e91f)}.blog-card-body{flex-direction:column;flex:1;gap:5px;padding:12px 14px 14px;display:flex}.blog-card-date{color:var(--text);opacity:.35;font-variant-numeric:tabular-nums;font-size:.72rem}.blog-card-title{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:.95rem;font-weight:600;line-height:1.4;transition:color .2s}.post{flex-direction:column;gap:32px;animation:.7s both fadeUp;display:flex}.post-header{border-bottom:1px solid var(--card-border);flex-direction:column;gap:10px;padding-bottom:24px;display:flex}.post-date{color:var(--text);opacity:.35;font-size:.78rem}.post-title{letter-spacing:-.03em;color:var(--text-h);margin:0;font-size:clamp(24px,5vw,40px);font-weight:700}.post-excerpt{color:var(--text);opacity:.6;margin:0;padding-top:4px;font-size:1rem;font-style:italic;line-height:1.75}.post-footer-back{color:var(--accent);opacity:.55;border-top:1px solid var(--card-border);align-items:center;gap:5px;width:100%;padding-top:16px;font-size:13px;text-decoration:none;transition:opacity .2s;display:inline-flex}.post-footer-back:hover{opacity:1}.prose{color:var(--text);flex-direction:column;gap:0;font-size:1rem;line-height:1.85;display:flex}.prose p{margin:0 0 1.2em}.prose h2{color:var(--text-h);letter-spacing:-.02em;margin:2em 0 .6em;font-size:1.15rem;font-weight:700}.prose h3{color:var(--text-h);margin:1.6em 0 .5em;font-size:1rem;font-weight:700}.prose ul,.prose ol{flex-direction:column;gap:4px;margin:0 0 1.2em;padding-left:1.4em;display:flex}.prose strong{color:var(--text-h);font-weight:600}.prose code{border:1px solid var(--card-border);color:var(--accent);background:#ffffff0f;border-radius:4px;padding:1px 6px;font-family:SF Mono,Fira Code,monospace;font-size:.88em}.prose pre{border:1px solid var(--card-border);background:#ffffff0a;border-radius:10px;margin:0 0 1.2em;padding:20px;overflow-x:auto}.prose pre code{color:var(--text-h);background:0 0;border:none;padding:0;font-size:.9em}.prose blockquote{border-left:3px solid var(--accent);opacity:.7;margin:0 0 1.2em;padding-left:16px}.prose hr{border:none;border-top:1px solid var(--card-border);margin:2em 0}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose a:hover{opacity:.7}.prose img,.post-cover{border-radius:10px;width:100%;margin-bottom:1.2em}.blog-not-found{color:var(--text);opacity:.5}.cs-wrapper{justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.cs-content{z-index:1;text-align:center;padding:24px;animation:.7s both fadeUp;position:relative}.cs-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);opacity:.8;margin-bottom:12px;font-size:12px}.cs-title{letter-spacing:-.03em;color:var(--text-h);margin-bottom:16px;font-size:clamp(40px,10vw,80px);font-weight:700;line-height:1.1}.cs-sub{color:var(--text);margin-bottom:24px}.cs-sushi-wrap{margin-top:20px;margin-bottom:36px}.cs-sushi{transform-origin:50%;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:4rem;animation:1.8s linear infinite spin-sushi;display:inline-block}.cs-sushi-caption{color:var(--text);opacity:.5;margin-top:12px;font-size:.85rem}.cs-sushi-caption s{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.cs-back{color:var(--accent);border:1px solid var(--card-border);border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;transition:border-color .2s,box-shadow .2s;display:inline-flex}.cs-back:hover{border-color:var(--card-border-hover);box-shadow:0 0 16px var(--accent-glow)}.troll-wrapper{background:#fff;width:100vw;height:100vh;position:relative;overflow:hidden}@keyframes rainbow{0%{background-position:0%}to{background-position:200%}}.rainbow-btn{color:#fff;cursor:pointer;text-shadow:0 1px 4px #00000059;white-space:nowrap;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,red,#f70,#ff0,#0d0,#08f,#80f,#f09,red) 0 0/250%;border:none;border-radius:10px;padding:11px 22px;font-size:1rem;font-weight:800;animation:1.6s linear infinite rainbow;position:fixed;box-shadow:0 4px 20px #00000026}.troll-result{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100vw;height:100vh;font-family:system-ui,Segoe UI,Roboto,sans-serif;display:flex}@keyframes wobble{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.result-emoji{margin:0 0 4px;font-size:4rem;line-height:1;animation:1.2s ease-in-out infinite wobble;display:block}.result-title{color:#111;letter-spacing:-.02em;margin:0;font-size:2.8rem;font-weight:800}.result-sub{color:#555;text-align:center;margin:4px 0 0;font-size:1rem;line-height:1.7}.result-home{color:#888;text-underline-offset:3px;margin-top:28px;font-size:.9rem;text-decoration:underline;transition:color .15s}.result-home:hover{color:#333}
