:root{--term-bg: #0c0c0c;--term-fg: #33ff33;--term-fg-dim: #1a8c1a;--term-amber: #ffb000;--term-amber-dim: #8a5e00;--aoe-brown: #8b6914;--aoe-tan: #c4a35a;--aoe-parchment: #d4c5a9;--aoe-dark: #2a1f0a;--aoe-stone: #5a4a3a;--gold: #c9a96e;--gold-dim: rgba(201, 169, 110, .2);--white-dim: rgba(245, 240, 232, .6);--font-term: "Courier New", "Consolas", "Liberation Mono", monospace;--shadow-green: 0 0 10px rgba(51, 255, 51, .3);--shadow-amber: 0 0 10px rgba(255, 176, 0, .3);--border-crt: 2px solid var(--term-fg-dim);--border-aoe: 2px solid var(--aoe-brown)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--term-bg);color:var(--term-fg);font-family:var(--font-term);font-size:15px;line-height:1.5;overflow-x:hidden;text-shadow:var(--shadow-green)}::selection{background:var(--term-fg);color:var(--term-bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--term-bg)}::-webkit-scrollbar-thumb{background:var(--term-fg-dim);border:1px solid var(--term-fg)}.crt-scanlines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px)}.crt-flicker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9996;pointer-events:none;animation:crt-flicker .15s infinite;opacity:.02}@keyframes crt-flicker{0%{opacity:.02}50%{opacity:.04}to{opacity:.02}}.boot-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#000;display:flex;align-items:center;justify-content:center;padding:40px;transition:opacity .6s ease}.boot-overlay.hidden{opacity:0;pointer-events:none}.boot-text{color:var(--term-fg);font-family:var(--font-term);font-size:14px;line-height:1.6;white-space:pre;max-width:700px;width:100%}.term-status{position:fixed;top:0;left:0;right:0;z-index:100;background:#0a0a0a;border-bottom:1px solid var(--term-fg-dim);padding:6px 20px;display:flex;justify-content:space-between;font-size:12px;color:var(--term-fg-dim);text-shadow:none}.ts-left{display:flex;align-items:center;gap:8px}.ts-blink{animation:blink 1s step-end infinite;color:var(--term-fg)}.ts-right{display:flex;gap:12px}@keyframes blink{50%{opacity:0}}.nav{position:fixed;top:30px;left:0;right:0;z-index:99;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0c0c0cf2;border-bottom:1px solid rgba(51,255,51,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nav-prompt{font-size:13px;color:var(--term-fg)}.prompt-user{color:var(--term-amber)}.prompt-host{color:var(--term-fg)}.prompt-path{color:var(--aoe-tan)}.prompt-cursor{animation:blink 1s step-end infinite}.nav-links{display:flex;gap:24px;list-style:none}.nav-links a{color:var(--term-fg-dim);text-decoration:none;font-size:12px;letter-spacing:1px;transition:color .2s,text-shadow .2s;text-shadow:none}.nav-links a:hover{color:var(--term-amber);text-shadow:var(--shadow-amber)}.nav-badge{width:36px;height:36px;border:2px solid var(--aoe-brown);display:flex;align-items:center;justify-content:center;background:var(--aoe-dark)}.badge-inner{font-size:18px;color:var(--aoe-tan)}.section-shield{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--aoe-brown);background:var(--aoe-dark);padding:6px 18px;margin-bottom:24px;letter-spacing:2px;font-size:13px;color:var(--aoe-tan);box-shadow:inset 0 0 8px #8b691433}.shield-icon{font-size:16px;color:var(--gold)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:100px 20px 60px;position:relative}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:.06;pointer-events:none}.hero-ascii{font-size:10px;line-height:1.3;color:var(--term-fg-dim);white-space:pre}.hero-content{position:relative;z-index:2;text-align:center}.hero-typewriter{font-size:18px;line-height:1.7;min-height:120px;margin-bottom:40px;text-align:left;max-width:600px}.hero-line{color:var(--term-fg)}.hero-cursor{animation:blink 1s step-end infinite}.hero-stats{display:flex;gap:48px;justify-content:center;margin-top:20px}.stat-item{text-align:center}.stat-value{display:block;font-size:36px;color:var(--term-amber);text-shadow:var(--shadow-amber)}.stat-label{font-size:10px;letter-spacing:2px;color:var(--term-fg-dim)}.hero-scroll-hint{position:absolute;bottom:24px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--term-fg-dim);font-size:11px;letter-spacing:3px;animation:scroll-bounce 2s ease-in-out infinite;opacity:0;transition:opacity .8s ease}.scroll-arrow{font-size:14px}@keyframes scroll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.about{padding:80px 20px;border-top:1px solid var(--term-fg-dim);border-bottom:1px solid var(--term-fg-dim);background:linear-gradient(180deg,var(--term-bg) 0%,#0f0e0a 50%,var(--term-bg) 100%)}.about-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;max-width:1100px;margin:0 auto;align-items:start}.portrait-frame{border:2px solid var(--aoe-brown);background:#1a1408;padding:8px;position:relative}.portrait-pixels{width:100%;aspect-ratio:3 / 4;background:#1a1408;position:relative;overflow:hidden}.portrait-pixels:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#2a1f0a 25%,transparent 25%),linear-gradient(225deg,#2a1f0a 25%,transparent 25%),linear-gradient(45deg,#1a1408 25%,transparent 25%),linear-gradient(315deg,#1a1408 25%,#0f0a04 25%);background-size:16px 16px;opacity:.6}.portrait-pixels:after{content:"█";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:80px;color:var(--aoe-tan);opacity:.3}.portrait-label{font-size:10px;padding:4px 8px;background:var(--aoe-dark);color:var(--aoe-tan);border-top:1px solid var(--aoe-brown);letter-spacing:1px}.portrait-tag{display:inline-block;margin-top:12px;border:1px solid var(--term-fg-dim);padding:4px 12px;font-size:11px;color:var(--term-fg-dim);letter-spacing:1px}.term-line{font-size:14px;color:var(--term-fg);margin-bottom:12px}.cmd-text{color:var(--term-amber)}.cmd-inline{color:var(--term-amber);font-size:13px}.term-output{border-left:2px solid var(--term-fg-dim);padding-left:16px;margin-bottom:20px}.about-text{margin-bottom:12px;color:var(--term-fg);line-height:1.7}.txt-gold{color:var(--term-amber);text-shadow:var(--shadow-amber)}.txt-dim{color:var(--term-fg-dim)}.about-cta{margin-top:16px}.about-links{display:flex;gap:20px;padding-left:16px;margin-top:8px;border-left:2px solid var(--term-fg-dim)}.term-link{color:var(--term-amber);text-decoration:none;font-size:13px;transition:text-shadow .2s}.term-link:hover{text-shadow:var(--shadow-amber);text-decoration:underline}.work{padding:80px 20px;border-bottom:1px solid var(--term-fg-dim)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1100px;margin:16px auto 0}.project-card{border:1px solid var(--term-fg-dim);background:#0c0c0ccc;transition:all .3s ease;position:relative}.project-card:hover{border-color:var(--term-amber);box-shadow:0 0 16px #ffb00026,inset 0 0 16px #ffb0000d;transform:translateY(-2px)}.project-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0f0f0f;border-bottom:1px solid var(--term-fg-dim);font-size:11px}.project-num{color:var(--term-amber)}.project-type{color:var(--term-fg-dim);letter-spacing:1px}.project-visual{height:180px;overflow:hidden}.pv-inner{width:100%;height:100%;transition:transform .4s ease}.project-card:hover .pv-inner{transform:scale(1.03)}.pv-1 .pv-inner{background:linear-gradient(135deg,#1a0a2e,#4a2080,#c9a96e,#1a0a2e);background-size:300% 300%;animation:gradient-shift 6s ease infinite}.pv-2 .pv-inner{background:linear-gradient(135deg,#0a1a2e,#1e4080,#4a8eff);background-size:200% 200%;animation:gradient-shift 8s ease infinite reverse}.pv-3 .pv-inner{background:linear-gradient(135deg,#1a1a0a,#4a4000,#c9a96e,#2d1f00);background-size:300% 300%;animation:gradient-shift 7s ease infinite 1s}.pv-4 .pv-inner{background:linear-gradient(135deg,#0a1a1a,#0d4040,#1a8080,#c9e0e0);background-size:300% 300%;animation:gradient-shift 9s ease infinite .5s}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.project-body{padding:16px}.project-title{font-size:16px;color:var(--term-amber);letter-spacing:1px;margin-bottom:8px;text-shadow:var(--shadow-amber)}.project-desc{font-size:13px;color:var(--white-dim);line-height:1.6;margin-bottom:12px;text-shadow:none}.project-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(51,255,51,.1);padding-top:10px}.project-tech{font-size:10px;color:var(--term-fg-dim);letter-spacing:1px}.project-link{font-size:11px;color:var(--term-amber);text-decoration:none;transition:text-shadow .2s}.project-link:hover{text-shadow:var(--shadow-amber);text-decoration:underline}.work-footer{max-width:1100px;margin:20px auto 0;font-size:13px;color:var(--term-fg)}.skills{padding:80px 20px;border-bottom:1px solid var(--term-fg-dim);background:#0d0d0a}.skills-tree{max-width:1100px;margin:16px auto 0;display:flex;flex-direction:column;gap:24px}.skill-branch{border:1px solid var(--aoe-brown);background:#2a1f0a4d;padding:16px}.branch-label{font-size:13px;color:var(--aoe-tan);letter-spacing:2px;margin-bottom:12px;border-bottom:1px solid rgba(139,105,20,.3);padding-bottom:8px}.branch-items{display:flex;flex-wrap:wrap;gap:10px}.skill-node{padding:6px 14px;font-size:12px;letter-spacing:1px;border:1px solid;transition:all .3s}.node-unlocked{color:var(--term-fg);border-color:var(--term-fg-dim);background:#33ff330d}.node-unlocked:hover{border-color:var(--term-fg);text-shadow:var(--shadow-green);background:#33ff331a}.node-locked{color:var(--aoe-stone);border-color:var(--aoe-stone);background:transparent;opacity:.5}.nft{padding:80px 20px;border-bottom:1px solid var(--term-fg-dim)}.nft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;max-width:1100px;margin:16px auto 0}.nft-featured{grid-row:span 2}.nft-card{border:1px solid var(--term-fg-dim);background:#0c0c0ccc;transition:all .3s ease}.nft-card:hover{border-color:var(--term-amber);box-shadow:0 0 12px #ffb0001f}.nft-visual{position:relative;overflow:hidden}.nft-featured .nft-visual{height:360px}.nft-card:not(.nft-featured) .nft-visual{height:200px}.nft-visual canvas{width:100%;height:100%;object-fit:cover;display:block}.nft-scanline{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.15) 3px,rgba(0,0,0,.15) 6px);pointer-events:none}.nft-body{padding:12px 16px}.nft-badge{display:inline-block;border:1px solid var(--term-amber);color:var(--term-amber);padding:2px 10px;font-size:10px;letter-spacing:1px;margin-bottom:8px;text-shadow:var(--shadow-amber)}.nft-title{font-size:15px;color:var(--term-amber);letter-spacing:1px;margin-bottom:6px;text-shadow:var(--shadow-amber)}.nft-desc{font-size:12px;color:var(--white-dim);line-height:1.6;margin-bottom:12px;text-shadow:none}.nft-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(51,255,51,.1);padding-top:10px}.price-label{display:block;font-size:9px;letter-spacing:1px;color:var(--term-fg-dim)}.price-value{font-size:20px;color:var(--term-amber);text-shadow:var(--shadow-amber)}.btn-term{display:inline-block;border:1px solid var(--term-fg);color:var(--term-fg);background:transparent;padding:8px 20px;font-family:var(--font-term);font-size:12px;letter-spacing:1px;text-decoration:none;cursor:pointer;transition:all .3s;text-shadow:var(--shadow-green)}.btn-term:hover{background:var(--term-fg);color:var(--term-bg);text-shadow:none}.btn-term-sm{display:inline-block;border:1px solid var(--term-fg-dim);color:var(--term-fg-dim);background:transparent;padding:4px 14px;font-family:var(--font-term);font-size:11px;text-decoration:none;transition:all .3s}.btn-term-sm:hover{border-color:var(--term-fg);color:var(--term-fg);text-shadow:var(--shadow-green)}.blog{padding:80px 20px;border-bottom:1px solid var(--term-fg-dim);background:#0d0d0a}.blog-list{max-width:1100px;margin:16px auto 0;display:flex;flex-direction:column;gap:8px}.blog-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid rgba(51,255,51,.1);background:#0c0c0c99;transition:border-color .3s}.blog-item:hover{border-color:var(--term-amber)}.blog-icon{color:var(--term-amber);font-size:16px;flex-shrink:0;margin-top:2px;text-shadow:var(--shadow-amber)}.blog-body{flex:1}.blog-title{display:block;color:var(--term-fg);text-decoration:none;font-size:14px;margin-bottom:4px;transition:text-shadow .2s}.blog-title:hover{text-shadow:var(--shadow-green);text-decoration:underline}.blog-meta{font-size:11px;color:var(--term-fg-dim);letter-spacing:1px}.contact{padding:80px 20px;border-bottom:1px solid var(--term-fg-dim)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1100px;margin:16px auto 0}.contact-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(51,255,51,.1)}.contact-icon{width:24px;color:var(--term-amber);text-shadow:var(--shadow-amber)}.contact-link{color:var(--term-fg);text-decoration:none;font-size:14px;transition:text-shadow .2s}.contact-link:hover{text-shadow:var(--shadow-green);text-decoration:underline}.contact-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;align-items:flex-start;gap:8px}.form-prompt{color:var(--term-amber);font-size:13px;min-width:60px;padding-top:10px;text-shadow:var(--shadow-amber)}.form-row input,.form-row textarea{flex:1;background:transparent;border:1px solid var(--term-fg-dim);color:var(--term-fg);padding:10px 14px;font-family:var(--font-term);font-size:13px;outline:none;transition:border-color .3s;resize:vertical}.form-row input:focus,.form-row textarea:focus{border-color:var(--term-amber);box-shadow:0 0 8px #ffb00026}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--term-fg-dim);opacity:.5}.footer{background:#080808;border-top:1px solid var(--term-fg-dim);padding:24px 20px}.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-ascii{font-size:10px;color:var(--term-fg-dim);line-height:1.4;text-shadow:none}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--term-fg-dim);text-decoration:none;font-size:11px;letter-spacing:1px;transition:color .2s;text-shadow:none}.footer-links a:hover{color:var(--term-amber);text-shadow:var(--shadow-amber)}@media(max-width:1024px){.about-grid{grid-template-columns:1fr;gap:40px}.projects-grid,.nft-grid{grid-template-columns:1fr}.nft-featured{grid-row:span 1}.nft-featured .nft-visual{height:260px}.contact-grid{grid-template-columns:1fr;gap:40px}.nav-links{gap:16px}}@media(max-width:768px){.nav-links a{font-size:10px;letter-spacing:0}.nav-prompt{font-size:11px}.hero-typewriter{font-size:15px}.hero-stats{gap:24px}.stat-value{font-size:28px}.footer-inner{flex-direction:column;gap:16px;text-align:center}.footer-ascii{font-size:8px}}@media(max-width:640px){.nav-links,.nav-badge{display:none}.section-shield{font-size:11px;padding:4px 12px}.hero-typewriter{font-size:13px}}
