:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--void:#140a24;--panel:#1a102b;--gold:#f5d36a;--gold-muted:#d4b15a;--pulse:#10e7c2;--orchid:#a855f7;--ink:#f8f1e7;--muted:#b9a8d6}.portfolio{background:radial-gradient(1200px 800px at 70% -10%, #2a1a4a 0%, var(--void) 55%);min-height:100vh;color:var(--ink);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.portfolio a{color:var(--gold);text-decoration:none}.portfolio a:hover{text-decoration:underline}.hero{text-align:center;max-width:900px;margin:0 auto;padding:5rem 1.5rem 3rem}.hero-star{color:var(--gold);text-shadow:0 0 30px #f5d36a99;font-size:3rem;animation:3s ease-in-out infinite star-pulse}@keyframes star-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.12)}}.hero-brand{letter-spacing:.45em;color:var(--gold);margin:1rem 0 .4rem;font-size:.85rem}.hero h1{letter-spacing:.04em;margin:.2rem 0;font-size:3.2rem}.hero-role{color:var(--muted);margin-bottom:.5rem;font-size:1.25rem}.hero-loc{color:var(--muted);margin-bottom:1.6rem;font-size:.95rem}.hero-summary{max-width:680px;margin:0 auto 2rem;font-size:1.08rem;line-height:1.7}.hero-cta{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.btn-world{background:linear-gradient(#f5d36a,#c89a47);border-radius:10px;padding:.85rem 1.6rem;font-size:1.02rem;font-weight:700;transition:transform .15s;display:inline-block;box-shadow:0 0 25px #f5d36a59;color:#06060a!important}.btn-world:hover{transform:translateY(-2px);text-decoration:none!important}.btn-ghost2{border:1px solid #f8f1e759;border-radius:10px;padding:.85rem 1.4rem;transition:background .15s;display:inline-block;color:var(--ink)!important}.btn-ghost2:hover{background:#f8f1e714;text-decoration:none!important}.proof{background:#1a102bb3;border:1px solid #f5d36a33;border-radius:14px;flex-wrap:wrap;justify-content:center;gap:.6rem;max-width:1000px;margin:0 auto 3rem;padding:1.2rem 1.5rem;display:flex}.proof-item{color:var(--ink);background:#f5d36a14;border:1px solid #f5d36a40;border-radius:999px;padding:.3rem .7rem;font-size:.9rem}section{max-width:1000px;margin:0 auto 3.5rem;padding:0 1.5rem}section h2{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:1.4rem;font-size:1.6rem}.skill-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.skill-card{background:#1a102bbf;border:1px solid #b9a8d633;border-radius:12px;padding:1.2rem 1.3rem}.skill-card h3{color:var(--gold);margin-bottom:.5rem;font-size:1.02rem}.skill-card p{color:var(--muted);font-size:.92rem;line-height:1.55}.project-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;display:grid}.project-card{background:#1a102bbf;border:1px solid #b9a8d633;border-radius:14px;flex-direction:column;gap:.4rem;padding:1.4rem 1.5rem;transition:border-color .2s,transform .2s;display:flex}.project-card:hover{border-color:#f5d36a80;transform:translateY(-3px)}.project-card h3{color:var(--ink);font-size:1.15rem}.project-tag{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.project-desc{color:var(--muted);flex:1;font-size:.95rem;line-height:1.6}.project-links{gap:1rem;margin-top:.6rem;display:flex}.project-links a{font-size:.95rem;font-weight:600}.contact{text-align:center;border-top:1px solid #f5d36a26;padding-top:2.5rem;padding-bottom:3rem}.contact p{color:var(--muted);margin-bottom:1.4rem}.contact-cta{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.contact-note{opacity:.6;margin-top:2.4rem;font-size:.8rem}@media (width<=640px){.hero h1{font-size:2.3rem}.hero{padding-top:3.5rem}}:root{--void:#140a24;--panel:#1a102b;--gold:#f5d36a;--gold-muted:#d4b15a;--pulse:#10e7c2;--orchid:#a855f7;--ink:#f8f1e7}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--void);color:var(--ink);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}.app{width:100vw;height:100vh;position:relative}.app canvas{display:block}.hud-hint{color:var(--gold);letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;text-align:center;background:#0a0614bf;border:1px solid #f5d36a66;border-radius:999px;max-width:92vw;padding:.7rem 1.4rem;font-size:.95rem;position:fixed;bottom:2.2rem;left:50%;transform:translate(-50%)}.letter-modal{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05030cd1;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.letter{color:#4a3510;background:linear-gradient(#f5ebd8,#e8d9b5);border-radius:10px;max-width:560px;max-height:86vh;padding:2.4rem 2.2rem;animation:.6s ease-out letter-in;overflow-y:auto;transform:translateY(0);box-shadow:0 0 60px #f5d36a59,0 30px 80px #0009}@keyframes letter-in{0%{opacity:0;transform:translateY(60px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.letter h1{letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid #4a35104d;margin-bottom:1.1rem;padding-bottom:.6rem;font-size:1.5rem}.letter p{margin-bottom:.9rem;font-size:1rem;line-height:1.6}.btn-gold{color:#06060a;cursor:pointer;background:linear-gradient(#f5d36a,#c89a47);border:none;border-radius:8px;padding:.7rem 1.4rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .15s;display:inline-block}.btn-gold:hover{transform:translateY(-2px)}.btn-ghost{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #f8f1e759;border-radius:8px;margin-left:.6rem;padding:.7rem 1.4rem;font-size:1rem;display:inline-block}.btn-exit{color:#fff;cursor:pointer;background:#ff5a5ad9;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.95rem;font-weight:600}.portal{z-index:50;background:#05030f;flex-direction:column;display:flex;position:fixed;inset:0}.portal-top{background:#0a0614e6;border-bottom:1px solid #f5d36a4d;justify-content:space-between;align-items:center;padding:.7rem 1.2rem;display:flex}.portal-title{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:1.05rem}.portal-frame{border:none;flex:1;width:100%}.portal-launch{color:var(--ink);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.2rem;font-size:1.1rem;display:flex}.receipt-modal{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05030cd9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.receipt{color:#4a3510;text-align:center;background:linear-gradient(#f5ebd8,#e8d9b5);border-radius:10px;width:100%;max-width:520px;padding:2rem;animation:.5s ease-out letter-in;box-shadow:0 0 60px #f5d36a4d}.receipt-stamp{letter-spacing:.3em;color:#8d6424;border:2px dashed #8d6424;border-radius:6px;margin-bottom:1.2rem;padding:.3rem .9rem;font-size:1.1rem;display:inline-block}.receipt-text{margin-bottom:1.6rem;font-size:1.02rem;line-height:1.6}
