/* Published app cards */
.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.app-card{display:flex;align-items:center;gap:13px;min-height:92px;padding:13px;background:var(--surface);border:1px solid var(--border);border-radius:13px;color:var(--text);font-size:13px;font-weight:700;transition:transform var(--ease),border-color var(--ease),background var(--ease)}.app-card:hover{transform:translateY(-4px);background:var(--surface-2);border-color:#06b6d466}.app-card img{width:58px;height:58px;flex:0 0 58px;object-fit:cover;border-radius:13px}.app-card span{line-height:1.3}@media(max-width:700px){.apps-grid{grid-template-columns:1fr}}
.project-icon{height:100px;margin:25px 0 18px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,#8b5cf622,#06b6d422);border:1px solid var(--border);border-radius:12px}.project-icon img{width:100%;height:100%;object-fit:cover}
:root{--bg:#080a0f;--surface:#0f1219;--surface-2:#151923;--text:#f5f7fb;--muted:#9aa3b2;--dim:#626b7b;--border:rgba(255,255,255,.1);--primary:#8b5cf6;--secondary:#06b6d4;--success:#22c55e;--max:1160px;--radius:18px;--ease:.25s ease}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:"Avenir Next","Trebuchet MS",sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.ambient-grid{position:fixed;inset:0;z-index:-1;opacity:.3;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}.site-header{position:fixed;z-index:20;inset:0 0 auto;background:rgba(8,10,15,.76);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:background var(--ease),border-color var(--ease)}.site-header.scrolled{border-color:var(--border)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font:800 21px/1 monospace;letter-spacing:-1px}.brand span{color:var(--secondary)}.nav-links{display:flex;align-items:center;gap:28px}.nav-links>a,.nav-dropdown-toggle{color:var(--muted);font-size:13px;font-weight:700;transition:color var(--ease)}.nav-links>a:hover,.nav-dropdown-toggle:hover{color:var(--text)}.nav-dropdown{position:relative}.nav-dropdown-toggle{border:0;padding:0;background:none}.nav-dropdown-toggle span{color:var(--secondary);font-size:16px}.nav-dropdown-menu{position:absolute;right:-15px;top:calc(100% + 20px);display:grid;grid-template-columns:repeat(2,190px);padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 50px #0008;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all var(--ease)}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:none}.nav-dropdown-menu a{padding:8px 10px;color:var(--muted);font-size:12px;border-radius:7px}.nav-dropdown-menu a:hover{color:var(--text);background:var(--surface)}.nav-actions{display:flex;gap:8px}.icon-button{width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.menu-button{display:none}.hero{min-height:100vh;padding:170px 0 100px;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.kicker{color:var(--secondary);font:800 11px/1.4 monospace;letter-spacing:1.8px}.pulse{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--success);box-shadow:0 0 12px var(--success)}.hello{margin-top:34px;color:var(--muted);font-size:20px}.hero h1{margin:4px 0 20px;font:900 clamp(68px,10vw,132px)/.82 "Avenir Next",sans-serif;letter-spacing:-7px}.hero h1 em,.section-heading h2 em,.contact h2 em{font-style:normal;background:linear-gradient(110deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-role{min-height:32px;color:var(--text);font:700 21px monospace}.caret{color:var(--secondary);animation:blink 1s steps(2) infinite}.hero-description{max-width:510px;margin-top:18px;color:var(--muted);font-size:17px}.hero-actions{display:flex;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 18px;border-radius:10px;font-size:13px;font-weight:800;transition:transform var(--ease),background var(--ease)}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--text);color:var(--bg)}.button-ghost{border:1px solid var(--border);background:var(--surface);color:var(--text)}.button-ghost:hover{background:var(--surface-2)}.social-links{display:flex;gap:13px;margin-top:28px;color:var(--dim);font-size:12px}.social-links a:hover{color:var(--text)}.profile-panel{position:relative;padding:48px 38px;background:linear-gradient(145deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:24px;box-shadow:0 35px 90px #0006;overflow:hidden}.profile-halo{position:absolute;width:280px;height:280px;top:-100px;right:-80px;background:radial-gradient(circle,#8b5cf655,transparent 68%)}.profile-image{position:relative;width:190px;height:190px;margin:0 auto 28px;border:5px solid #ffffff18;border-radius:50%;overflow:hidden}.profile-image img{width:100%;height:100%;object-fit:cover}.profile-label{color:var(--secondary);font:800 10px monospace;letter-spacing:1.5px}.profile-panel h2{position:relative;margin-top:12px;font-size:34px;line-height:1.05}.profile-panel h2 span{color:var(--secondary)}.profile-meta{display:flex;justify-content:space-between;margin-top:42px;padding-top:18px;border-top:1px solid var(--border);color:var(--dim);font:700 10px monospace}.profile-meta b{color:var(--success)}.section{padding:125px 0}.section-tint{background:rgba(15,18,25,.72);border-block:1px solid rgba(255,255,255,.035)}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-heading{max-width:690px;margin-bottom:46px}.section-heading h2,.contact h2{margin-top:16px;font-size:clamp(38px,5vw,62px);line-height:1.03;letter-spacing:-3px}.about-copy{padding-top:42px;color:var(--muted);font-size:17px}.about-copy p+p{margin-top:22px}.skill-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:60px}.skill-cloud span,.tags span{padding:8px 12px;border:1px solid var(--border);border-radius:7px;color:var(--muted);font:700 12px monospace}.skill-cloud span:hover{border-color:var(--secondary);color:var(--text)}.build-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.build-grid article{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform var(--ease),border-color var(--ease)}.build-grid article:hover{transform:translateY(-6px);border-color:#8b5cf655}.build-grid b{color:var(--primary);font:700 12px monospace}.build-grid h3{margin-top:28px;font-size:17px}.build-grid p{margin-top:8px;color:var(--muted);font-size:13px}.row-heading{display:flex;align-items:end;justify-content:space-between}.section-index{color:var(--dim);font:700 11px monospace}.project-grid,.repo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-card{min-height:310px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform var(--ease),border-color var(--ease),background var(--ease)}.project-card:hover{transform:translateY(-6px);background:var(--surface-2);border-color:#8b5cf655}.project-top{display:flex;justify-content:space-between;color:var(--dim);font:700 11px monospace}.project-top a{color:var(--muted);font-size:20px}.project-icon{height:100px;margin:25px 0 18px;padding:20px;display:flex;align-items:center;background:linear-gradient(120deg,#8b5cf622,#06b6d422);border:1px solid var(--border);border-radius:12px;color:var(--secondary);font:900 24px monospace}.project-card h3{font-size:22px}.project-card p{min-height:52px;margin-top:9px;color:var(--muted);font-size:14px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.tags span{padding:5px 8px;font-size:10px}.github-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:35px 0;background:var(--border);border:1px solid var(--border)}.github-stats div{padding:22px;background:var(--surface)}.github-stats strong{display:block;font-size:28px}.github-stats span{color:var(--muted);font:700 10px monospace;text-transform:uppercase}.repo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;color:var(--dim);font-size:12px}.search-box{display:flex;align-items:center;gap:8px;width:min(100%,340px);padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.search-box input{width:100%;padding:11px 0;border:0;outline:0;background:none;color:var(--text);font-size:13px}.repo-card{padding:21px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.repo-card h3{font-size:16px}.repo-card p{min-height:40px;margin:8px 0;color:var(--muted);font-size:13px}.repo-meta{display:flex;justify-content:space-between;color:var(--dim);font:700 10px monospace}.empty-state{grid-column:1/-1;color:var(--muted)}.terminal-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.terminal{border:1px solid var(--border);border-radius:12px;background:#07090d;box-shadow:0 25px 60px #0005;overflow:hidden}.terminal-bar{display:flex;align-items:center;gap:6px;padding:13px 16px;border-bottom:1px solid var(--border);color:var(--dim);font:11px monospace}.terminal-bar i{width:8px;height:8px;border-radius:50%;background:#ff5f57}.terminal-bar i:nth-child(2){background:#febc2e}.terminal-bar i:nth-child(3){background:#28c840}.terminal-bar span{margin-left:10px}.terminal-body{padding:25px;color:#a8b2c1;font:13px/2 monospace}.terminal-body b{color:var(--secondary)}.terminal-output{padding-left:18px;color:var(--text)}.terminal-output.accent{color:var(--primary)}.blink{animation:blink 1s steps(2) infinite}.contact{text-align:center}.contact>p:not(.kicker){max-width:480px;margin:22px auto 0;color:var(--muted)}.contact .hero-actions{justify-content:center}.footer{padding:25px 0;border-top:1px solid var(--border);color:var(--dim);font:11px monospace}.footer .container{display:flex;justify-content:space-between;gap:20px}.footer a:hover{color:var(--text)}.back-top{position:fixed;right:25px;bottom:25px;z-index:10;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);opacity:0;pointer-events:none;transition:all var(--ease)}.back-top.visible{opacity:1;pointer-events:auto}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#000b;opacity:0;visibility:hidden;transition:all var(--ease)}.modal.open{opacity:1;visibility:visible}.modal-dialog{position:relative;width:min(620px,100%);padding:34px;background:var(--surface-2);border:1px solid var(--border);border-radius:18px}.modal-close{position:absolute;top:13px;right:16px;border:0;background:none;color:var(--muted);font-size:28px}.modal-dialog h2{font-size:30px}.modal-dialog p{margin:14px 0;color:var(--muted)}.focus-visible{outline:2px solid var(--secondary);outline-offset:3px}@keyframes blink{50%{opacity:0}}@media(max-width:900px){.hero-grid,.split,.terminal-wrap{grid-template-columns:1fr;gap:45px}.hero-copy{text-align:center}.hero-description{margin-inline:auto}.hero-actions,.social-links{justify-content:center}.profile-panel{max-width:430px;margin:auto}.build-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.container{width:min(calc(100% - 28px),var(--max))}.nav{height:64px}.nav-links{position:absolute;top:64px;left:14px;right:14px;display:none;align-items:stretch;flex-direction:column;gap:0;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.nav-links.active{display:flex}.nav-links>a{padding:11px}.menu-button{display:block}.nav-dropdown{padding:0 11px}.nav-dropdown-toggle{width:100%;padding:11px 0;text-align:left}.nav-dropdown-menu{position:static;display:none;grid-template-columns:1fr;width:auto;padding:0 0 8px 12px;visibility:visible;opacity:1;transform:none;border:0;box-shadow:none}.nav-dropdown.open .nav-dropdown-menu{display:grid}.hero{padding-top:125px}.hero h1{font-size:66px;letter-spacing:-4px}.section{padding:85px 0}.project-grid,.repo-grid{grid-template-columns:1fr}.github-stats{grid-template-columns:repeat(2,1fr)}.repo-toolbar{align-items:stretch;flex-direction:column}.footer .container{flex-direction:column;align-items:center;text-align:center}}@media(max-width:430px){.build-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.button{width:100%;justify-content:center}.hero h1{font-size:56px}.profile-panel{padding:35px 24px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
body.light{--bg:#f5f7fb;--surface:#fff;--surface-2:#edf1f7;--text:#111827;--muted:#566174;--dim:#7a8494;--border:rgba(15,23,42,.12)}body.light .site-header{background:#f5f7fbeF}body.light .terminal{background:#10131a}
