:root{--bg: #0a0e27;--panel: #0f1620;--text: #d7fdd7;--muted: #87ffb3;--accent: #00ff88;--cyan: #00ffff;--magenta: #ff00ff;--yellow: #ffff00;--orange: #ff8800;--pink: #ff6ec7;--blue: #00ddff;--purple: #bd93f9;--danger: #ff4d6d;--border: rgba(0,255,136,.35);--shadow: rgba(0,255,136,.08);--glow: rgba(0,255,136,.2);--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box;max-width:100%}@keyframes glow-pulse{0%,to{box-shadow:0 0 3px #00ff8826,0 0 6px #00ff881a,0 0 10px #00ff8814,inset 0 0 5px #00ff8805}50%{box-shadow:0 0 5px #0f83,0 0 10px #00ff8826,0 0 15px #00ff881a,inset 0 0 8px #00ff8808}}@keyframes rainbow-border{0%{border-color:#00ff8880}14%{border-color:#00ffff80}28%{border-color:#0088ff80}42%{border-color:#8800ff80}57%{border-color:#ff00ff80}71%{border-color:#ff880080}85%{border-color:#ffff0080}to{border-color:#00ff8880}}@keyframes border-flow{0%{border-color:#00ff8859}25%{border-color:#00ffff73}50%{border-color:#ff00ff59}75%{border-color:#00ffff73}to{border-color:#00ff8859}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);line-height:1.55;position:relative;overflow-x:hidden;max-width:100vw;width:100%}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0}*,html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}@media (max-width: 600px){html,body{font-size:14px;line-height:1.5}}body{display:flex;flex-direction:column;overflow-x:hidden}#app{display:flex;flex-direction:column;min-height:100vh;flex:1;overflow-x:hidden;width:100%;max-width:100vw;position:relative}.matrix-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;opacity:0;pointer-events:none;display:none}.scanlines{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;display:none}.ascii-corner{display:none}.ascii-corner pre{margin:0;padding:0;background:none;border:none}.kangaroo-cursor{position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%) scale(1.2);will-change:transform,opacity;font-size:10px;line-height:1;color:var(--accent);text-shadow:0 0 15px var(--glow),0 0 30px var(--glow);opacity:.95}.kangaroo-background{position:fixed;pointer-events:none;z-index:1;transform:translate(-50%,-50%) scale(1);transition:left 1.2s ease-out,top 1.2s ease-out;font-size:6px;line-height:1;color:var(--accent);text-shadow:0 0 3px rgba(0,255,136,.1);opacity:.15;animation:kangaroo-hop 2s ease-in-out infinite}.wizard-lines{white-space:pre;font-family:var(--mono)}.wizard-line{opacity:1;transform:translate(0) translateY(0) rotate(0);transition:all .3s ease-out}.kangaroo-cursor.exploding .wizard-line{animation:explode-line 1s cubic-bezier(.55,.085,.68,.53) forwards}@keyframes explode-line{0%{opacity:1;transform:translate(0) translateY(0) rotate(0) scale(1)}30%{opacity:.9;transform:translate(calc((var(--random-x, 0) - .5) * 100px)) translateY(calc((var(--random-y, 0) - .5) * 100px)) rotate(calc((var(--random-r, 0) - .5) * 180deg)) scale(.95)}60%{opacity:.5;transform:translate(calc((var(--random-x, 0) - .5) * 400px)) translateY(calc((var(--random-y, 0) - .5) * 400px)) rotate(calc((var(--random-r, 0) - .5) * 540deg)) scale(.6)}to{opacity:0;transform:translate(calc((var(--random-x, 0) - .5) * 1200px)) translateY(calc((var(--random-y, 0) - .5) * 1200px)) rotate(calc((var(--random-r, 0) - .5) * 1440deg)) scale(.1)}}.wizard-line:nth-child(1){--random-x: .2;--random-y: .8;--random-r: .3}.wizard-line:nth-child(2){--random-x: .9;--random-y: .1;--random-r: .7}.wizard-line:nth-child(3){--random-x: .1;--random-y: .3;--random-r: .9}.wizard-line:nth-child(4){--random-x: .7;--random-y: .6;--random-r: .2}.wizard-line:nth-child(5){--random-x: .3;--random-y: .9;--random-r: .5}.wizard-line:nth-child(6){--random-x: .8;--random-y: .2;--random-r: .8}.wizard-line:nth-child(7){--random-x: .4;--random-y: .7;--random-r: .1}.wizard-line:nth-child(8){--random-x: .6;--random-y: .4;--random-r: .6}.wizard-line:nth-child(9){--random-x: .15;--random-y: .5;--random-r: .4}.wizard-line:nth-child(10){--random-x: .85;--random-y: .85;--random-r: .75}.wizard-line:nth-child(11){--random-x: .25;--random-y: .15;--random-r: .95}.wizard-line:nth-child(12){--random-x: .95;--random-y: .45;--random-r: .25}.wizard-line:nth-child(13){--random-x: .35;--random-y: .75;--random-r: .55}.wizard-line:nth-child(14){--random-x: .65;--random-y: .25;--random-r: .85}.wizard-line:nth-child(15){--random-x: .45;--random-y: .65;--random-r: .15}@keyframes kangaroo-hop-intro{0%,to{transform:translate(-50%,-50%) scale(1.2) translateY(0) rotate(0)}50%{transform:translate(-50%,-50%) scale(1.2) translateY(-8px) rotate(-2deg)}}.kangaroo-cursor pre{margin:0;padding:0;background:none;border:none;white-space:pre}@keyframes kangaroo-hop{0%,to{transform:translate(-50%,-50%) translateY(0) rotate(0)}50%{transform:translate(-50%,-50%) translateY(-5px) rotate(-3deg)}}@media (max-width: 600px){.ascii-corner{display:none}.kangaroo-cursor{transform:translate(-50%,-50%) scale(.8);font-size:8px}.kangaroo-background{display:block;transform:translate(-50%,-50%) scale(.7);font-size:5px}}a{color:var(--accent);text-decoration:none;border-bottom:1px dashed rgba(0,255,136,.55);transition:all .3s ease;position:relative}a:hover{border-bottom-style:solid;color:var(--cyan);text-shadow:0 0 10px var(--cyan),0 0 20px rgba(0,255,255,.5)}a:hover:after{content:" ▸";color:var(--magenta);animation:blink .8s steps(2) infinite}.contact-item:hover:after{content:none}.contact-item:hover{border-bottom-style:none}.wrap{max-width:1400px;margin:0 auto;padding:28px 24px 24px;position:relative;z-index:2;width:100%;flex:1;display:flex;flex-direction:column;opacity:0;transition:opacity 1s ease-out}.wrap.content-visible{opacity:1}@media (max-width: 600px){.wrap{padding:8px 2px 20px;max-width:100vw;width:100vw}}.topbar{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:14px 16px;border:2px solid var(--border);background:linear-gradient(135deg,#00ff8814,#ff00ff0a,#00ffff0f),linear-gradient(180deg,#00ff880f,#0000);border-radius:14px;position:relative;animation:glow-pulse 3s ease-in-out infinite,rainbow-border 8s linear infinite;transition:all .3s ease;box-shadow:0 0 20px #00ff8826,0 0 40px #ff00ff14,inset 0 0 30px #00ffff08}@media (max-width: 600px){.topbar{padding:8px 10px;gap:6px;border-radius:8px}}.topbar:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:14px;padding:2px;background:linear-gradient(45deg,var(--accent),var(--muted),var(--accent));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}.topbar:hover:before{opacity:.25}.brand{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.brand .prompt{color:var(--muted)}.brand .prompt:nth-child(1){color:var(--cyan)}.brand .prompt:nth-child(2){color:var(--magenta)}.brand .prompt:nth-child(3){color:var(--yellow)}.brand .prompt:nth-child(4){color:var(--accent)}.brand .title{font-weight:700;background:linear-gradient(90deg,var(--accent),var(--cyan),var(--magenta));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbow-text 3s linear infinite}@keyframes rainbow-text{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.brand .blink{display:inline-block;width:10px;margin-left:2px;background:var(--accent);height:1.05em;vertical-align:middle;animation:blink-rainbow 1s steps(2,end) infinite;box-shadow:0 0 10px currentColor}@keyframes blink-rainbow{50%{opacity:0}}@media (max-width: 600px){.brand{gap:4px;font-size:12px}.brand .blink{width:6px;height:.9em}}.nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center}@keyframes matrix-rain{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(400%);opacity:0}}@keyframes glitch-text{0%{transform:translate(0);text-shadow:0 0 10px rgba(0,255,136,.8),0 0 20px rgba(0,255,136,.4)}20%{transform:translate(-2px,2px);text-shadow:2px 0 10px rgba(255,0,136,.8),-2px 0 10px rgba(0,255,255,.8)}40%{transform:translate(2px,-2px);text-shadow:0 0 10px rgba(0,255,136,.8),0 0 20px rgba(0,255,136,.4)}60%{transform:translate(-1px,1px);text-shadow:1px 0 10px rgba(255,0,136,.8),-1px 0 10px rgba(0,255,255,.8)}80%{transform:translate(1px,-1px);text-shadow:0 0 10px rgba(0,255,136,.8),0 0 20px rgba(0,255,136,.4)}to{transform:translate(0);text-shadow:0 0 10px rgba(0,255,136,.8),0 0 20px rgba(0,255,136,.4)}}.nav a{padding:10px 20px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,#00ff880d,#00ff8805);position:relative;overflow:hidden;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:13px;will-change:transform;transform:translateZ(0);backface-visibility:hidden;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s ease,background .3s ease,box-shadow .3s ease}.nav a:before{content:"> ";opacity:0;transform:translate3d(-10px,0,0);transition:opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1);display:inline-block;color:var(--accent);will-change:transform,opacity}.nav a:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,136,.1) 2px,rgba(0,255,136,.1) 4px);opacity:0;animation:matrix-rain 3s linear infinite;pointer-events:none;will-change:transform,opacity}.nav a:hover{border-color:var(--accent);background:linear-gradient(135deg,#00ff8826,#00ff8814);transform:translateY(-3px) translateZ(0);box-shadow:0 6px 20px #00ff8859,0 0 0 1px #0f83,inset 0 1px #ffffff1a,inset 0 0 20px #00ff881a;animation:glitch-text .3s infinite}.nav a:hover:before{opacity:1;transform:translateZ(0)}.nav a:hover:after{opacity:1}.nav a:active{transform:translateY(-1px) translateZ(0);animation:none;box-shadow:0 3px 10px #0f86,inset 0 0 15px #00ff8826}.menu-toggle{display:none}.hamburger{display:block;width:28px;height:3px;background:var(--accent);position:relative;border-radius:2px;will-change:transform,background;transform:translateZ(0);transition:transform .4s cubic-bezier(.68,-.55,.265,1.55),background .3s ease;box-shadow:0 0 8px #0f89}.hamburger:before,.hamburger:after{content:"";display:block;width:28px;height:3px;background:var(--accent);position:absolute;border-radius:2px;left:0;will-change:transform;transform:translateZ(0);transition:transform .4s cubic-bezier(.68,-.55,.265,1.55),opacity .3s ease;box-shadow:0 0 8px #0f89}.hamburger:before{transform:translate3d(0,-9px,0)}.hamburger:after{transform:translate3d(0,9px,0)}.nav-open~.menu-toggle .hamburger{background:transparent;box-shadow:none}.nav-open~.menu-toggle .hamburger:before{transform:translateZ(0) rotate(45deg);box-shadow:0 0 12px #0f8c}.nav-open~.menu-toggle .hamburger:after{transform:translateZ(0) rotate(-45deg);box-shadow:0 0 12px #0f8c}.menu-toggle.active .hamburger{background:transparent;box-shadow:none}.menu-toggle.active .hamburger:before{transform:translateZ(0) rotate(45deg);box-shadow:0 0 12px #0f8c}.menu-toggle.active .hamburger:after{transform:translateZ(0) rotate(-45deg);box-shadow:0 0 12px #0f8c}.menu-toggle:hover .hamburger,.menu-toggle:hover .hamburger:before,.menu-toggle:hover .hamburger:after{box-shadow:0 0 15px #0f8}@keyframes glitch-bar{0%,to{transform:translate(0);opacity:1}25%{transform:translate(-2px);opacity:.8}50%{transform:translate(2px);opacity:1}75%{transform:translate(-1px);opacity:.9}}@media (max-width: 600px){.topbar{flex-wrap:wrap;position:relative}.menu-toggle{display:block;margin-left:auto;order:3;background:linear-gradient(135deg,#00ff881a,#00ff8808);border:1px solid var(--border);border-radius:8px;cursor:pointer;padding:12px;position:relative;z-index:100;will-change:transform;transform:translateZ(0);backface-visibility:hidden;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s ease,background .3s ease,box-shadow .3s ease}.menu-toggle:hover{border-color:var(--accent);background:linear-gradient(135deg,#00ff882e,#00ff8814);box-shadow:0 0 20px #0f86,0 0 0 1px #00ff884d,inset 0 0 15px #00ff8826;transform:scale(1.08) translateZ(0)}.menu-toggle:active{transform:scale(.92) translateZ(0)}.nav{display:none;width:100%;flex-direction:column;gap:10px;margin-top:16px;padding:20px 14px 12px;border-top:1px solid var(--border);background:linear-gradient(180deg,#00ff8814,#00ff8805),linear-gradient(90deg,rgba(0,255,136,.02),transparent);border-radius:0 0 10px 10px;position:relative;overflow:hidden;order:4;box-shadow:inset 0 1px #0f83}.nav:before{content:"[SYSTEM::MENU_ACTIVE]";position:absolute;top:6px;left:14px;font-size:8px;color:var(--accent);opacity:.6;font-family:var(--mono);letter-spacing:.5px;text-shadow:0 0 5px rgba(0,255,136,.5)}.nav.nav-open{display:flex;will-change:transform,opacity;animation:slideDown .5s cubic-bezier(.34,1.56,.64,1)}@keyframes slideDown{0%{opacity:0;transform:translate3d(0,-20px,0);max-height:0}to{opacity:1;transform:translateZ(0);max-height:500px}}.nav a{padding:14px 18px;width:100%;text-align:left;border:1px solid var(--border);background:linear-gradient(135deg,#00ff8814,#00ff8808);border-radius:8px;position:relative;overflow:hidden;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:12px;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;animation:fadeInItem .4s cubic-bezier(.34,1.56,.64,1) backwards;box-shadow:0 2px 8px #00ff881a}.nav a:nth-child(1){animation-delay:.08s}.nav a:nth-child(2){animation-delay:.14s}.nav a:nth-child(3){animation-delay:.2s}.nav a:nth-child(4){animation-delay:.26s}.nav a:nth-child(5){animation-delay:.32s}@keyframes fadeInItem{0%{opacity:0;transform:translate3d(-40px,0,0) scale(.9)}to{opacity:1;transform:translateZ(0) scale(1)}}.nav a:before{content:"> ";color:var(--accent);font-weight:700;opacity:1;transform:translateZ(0);text-shadow:0 0 8px rgba(0,255,136,.6)}.nav a:after{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:linear-gradient(180deg,var(--accent),var(--muted));transform:scaleY(0);transform-origin:top;transition:transform .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 10px var(--accent);will-change:transform}.nav a:active{background:linear-gradient(135deg,#0f83,#00ff881a);transform:translate3d(6px,0,0);box-shadow:0 4px 12px #00ff884d}.nav a:active:after{transform:scaleY(1)}}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;margin-top:24px;flex:1;align-content:start;width:100%;max-width:100%}@media (max-width: 860px){.grid{grid-template-columns:1fr;gap:16px;margin-top:16px;width:100%;max-width:100%}}.card{border:2px solid var(--border);background:linear-gradient(135deg,#0f1620d9,#1e0f32bf),radial-gradient(circle at top right,rgba(255,0,255,.08),transparent 50%),radial-gradient(circle at bottom left,rgba(0,255,255,.08),transparent 50%);border-radius:14px;padding:24px;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:glow-pulse 4s ease-in-out infinite,rainbow-border 12s linear infinite;transition:all .3s ease;box-shadow:0 0 20px #00ff881f,0 0 40px #ff00ff0f,inset 0 0 60px #00ffff08;width:100%;max-width:100%;box-sizing:border-box}@media (max-width: 600px){.card{padding:10px 6px;border-radius:8px;width:100%;max-width:100%}}.card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:14px;padding:2px;background:linear-gradient(135deg,var(--accent),var(--cyan),var(--magenta),var(--yellow),var(--accent));background-size:300% 300%;animation:gradient-shift 8s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.2;pointer-events:none}.card:hover{transform:translateY(-2px);box-shadow:0 0 30px #0f83,0 0 50px #ff00ff1a,0 0 70px #00ffff14}.card:hover:before{opacity:.4}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media (max-width: 600px){.card{padding:16px}}.h1{font-size:26px;margin:0 0 16px;line-height:1.3;background:linear-gradient(90deg,var(--accent),var(--cyan),var(--magenta),var(--yellow));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 100%;animation:gradient-flow 4s linear infinite;text-shadow:0 0 30px rgba(0,255,136,.3)}@keyframes gradient-flow{0%{background-position:0% 50%}to{background-position:200% 50%}}.h2{font-size:16px;margin:24px 0 14px;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;font-weight:700;text-shadow:0 0 10px rgba(0,255,255,.5);position:relative;padding-left:20px}.h2:before{content:"■";position:absolute;left:0;color:var(--magenta);animation:blink 1.5s steps(2) infinite}@media (max-width: 600px){.h1{font-size:18px;margin:0 0 10px}.h2{font-size:12px;margin:16px 0 10px;letter-spacing:.05em}}.kbd{display:inline-block;padding:2px 8px;border-radius:10px;border:1px solid rgba(0,255,136,.35);background:#00ff880a;color:var(--text)}@media (max-width: 600px){.kbd{padding:1px 6px;font-size:13px;border-radius:6px}}.intro{font-size:15px;line-height:1.7;margin:0 0 20px;color:#d7fdd7e6}@media (max-width: 600px){.intro{font-size:13px;margin:0 0 12px;line-height:1.6}}.hr{height:1px;background:linear-gradient(90deg,transparent,var(--cyan),var(--magenta),transparent);border:0;margin:20px 0;box-shadow:0 0 10px #00ff884d}.side-panel{position:relative;overflow:visible}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.skill-count{font-size:11px;color:var(--cyan);font-family:var(--mono);opacity:.7}.tech-hexgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;perspective:1000px;width:100%;max-width:100%}@media (max-width: 600px){.tech-hexgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:16px;width:100%;max-width:100%}}.tech-hex{position:relative;aspect-ratio:1;animation:hexFloat .6s ease-out backwards;transform-style:preserve-3d;min-height:160px;overflow:hidden;contain:layout style paint;will-change:transform}@media (max-width: 600px){.tech-hex{min-height:0}}@keyframes hexFloat{0%{opacity:0;transform:translateY(50px) rotateX(-90deg) translateZ(0)}to{opacity:1;transform:translateY(0) rotateX(0) translateZ(0)}}.hex-inner{position:relative;width:100%;height:100%;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform-style:preserve-3d;background:transparent;will-change:transform;transform:translateZ(0)}.tech-hex:hover .hex-inner{transform:rotateY(10deg) rotateX(5deg) translateZ(0)}.hex-terminal{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#00ff8814,#00ffff14,#ff00ff14);border:2px solid var(--accent);border-radius:12px;overflow:hidden;box-shadow:0 0 20px #0f83,inset 0 0 20px #00ff880d;transition:border-color .3s ease,box-shadow .3s ease;transform-style:preserve-3d;backface-visibility:hidden;will-change:border-color,box-shadow;transform:translateZ(0)}.tech-hex:hover .hex-terminal{border-color:var(--cyan);box-shadow:0 0 30px #0ff6,0 0 60px #0ff3,inset 0 0 30px #00ffff1a;animation:hexPulse 2s ease-in-out infinite}@keyframes hexPulse{0%,to{box-shadow:0 0 30px #0ff6,0 0 60px #0ff3,inset 0 0 30px #00ffff1a}50%{box-shadow:0 0 40px #f0f6,0 0 80px #f0f3,inset 0 0 40px #ff00ff1a}}.hex-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(90deg,#00ff8826,#00ffff26);border-bottom:1px solid rgba(0,255,136,.3);min-height:37px}@media (max-width: 600px){.hex-header{padding:6px 8px;min-height:33px;gap:6px}}.hex-dots{display:flex;gap:4px;flex-shrink:0}@media (max-width: 600px){.hex-dots{gap:3px}}.dot{width:8px;height:8px;border-radius:50%;opacity:.8;flex-shrink:0}@media (max-width: 600px){.dot{width:6px;height:6px}}.dot-red{background:#f55;box-shadow:0 0 8px #f55}.dot-yellow{background:#ff0;box-shadow:0 0 8px #ff0}.dot-green{background:#0f8;box-shadow:0 0 8px #0f8}.hex-title{font-family:var(--mono);font-size:11px;color:var(--cyan);font-weight:600;flex:1;text-align:center;text-shadow:0 0 10px currentColor;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}@media (max-width: 600px){.hex-title{font-size:8px}}.hex-content{padding:16px 12px;display:flex;flex-direction:column;gap:12px;height:calc(100% - 37px);justify-content:center;align-items:stretch}@media (max-width: 600px){.hex-content{padding:10px 8px;gap:8px;height:calc(100% - 33px)}}.hex-ascii{display:flex;align-items:center;justify-content:center;text-align:center;font-size:36px;line-height:1;min-height:48px;filter:drop-shadow(0 0 10px var(--accent));transition:filter .3s ease;transform:translateZ(0)}.tech-hex:hover .hex-ascii{animation:asciiGlow 2s ease-in-out infinite;will-change:filter,transform}@media (max-width: 600px){.hex-ascii{font-size:24px;min-height:32px}}@keyframes asciiGlow{0%,to{filter:drop-shadow(0 0 10px var(--accent));transform:scale(1) translateZ(0)}50%{filter:drop-shadow(0 0 20px var(--cyan));transform:scale(1.1) translateZ(0)}}.hex-line{display:inline-block;transition:transform .4s ease;transform:translateZ(0)}.tech-hex:hover .hex-line{animation:hexRotate 4s linear infinite;will-change:transform}@keyframes hexRotate{0%,to{transform:rotateY(0) translateZ(0)}50%{transform:rotateY(180deg) translateZ(0)}}.hex-stats{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px}@media (max-width: 600px){.hex-stats{font-size:9px;gap:4px}}.stat-row{display:flex;justify-content:space-between;align-items:center;min-height:14px}.stat-label{color:var(--magenta);font-weight:600;text-shadow:0 0 5px var(--magenta);letter-spacing:.5px}.stat-value{color:var(--cyan);font-weight:700;text-shadow:0 0 5px var(--cyan);min-width:45px;text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 600px){.stat-value{min-width:38px}}.stat-bar{height:6px;background:#00ff881a;border-radius:3px;overflow:hidden;border:1px solid rgba(0,255,136,.3);margin:2px 0}@media (max-width: 600px){.stat-bar{height:4px;margin:1px 0}}.stat-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan),var(--magenta));background-size:200% 100%;box-shadow:0 0 10px var(--cyan);transition:width 1s cubic-bezier(.4,0,.2,1);background-position:0% 0%;transform:translateZ(0)}.tech-hex:hover .stat-fill{animation:statFlow 3s linear infinite;will-change:background-position}@keyframes statFlow{0%{background-position:0% 0%}to{background-position:200% 0%}}.hex-status{text-align:center;font-family:var(--mono);font-size:9px;color:var(--accent);font-weight:700;letter-spacing:2px;animation:statusBlink 1.5s ease-in-out infinite;text-shadow:0 0 10px var(--accent)}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.3}}.skill-grid{display:flex;flex-direction:column;gap:12px}.skill-item{position:relative;padding:10px 12px;background:linear-gradient(135deg,#00ff880d,#00ffff08);border:1px solid rgba(0,255,136,.2);border-radius:6px;transition:all .3s ease;animation:slideInSkill .5s ease-out backwards}@keyframes slideInSkill{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.skill-item:hover{border-color:var(--cyan);background:linear-gradient(135deg,#00ff881f,#00ffff14);transform:translate(5px);box-shadow:0 0 15px #00ffff4d}.skill-icon{color:var(--accent);margin-right:8px;font-weight:700}.skill-name{font-size:13px;font-weight:600;color:var(--text);display:block;margin-bottom:6px}.skill-bar{height:6px;background:#0006;border-radius:3px;overflow:hidden;position:relative;box-shadow:inset 0 0 5px #00000080}.skill-progress{height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:3px;transition:width 1.5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 10px var(--cyan);position:relative;animation:pulse-progress 2s ease-in-out infinite}@keyframes pulse-progress{0%,to{box-shadow:0 0 10px var(--cyan)}50%{box-shadow:0 0 20px var(--cyan),0 0 30px var(--accent)}}.skill-progress:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.soft-skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.soft-skill-badge{padding:10px 14px;background:linear-gradient(135deg,#ff00ff14,#00ffff0d);border:1px solid rgba(255,0,255,.3);border-radius:8px;text-align:center;font-size:12px;font-weight:600;color:var(--magenta);transition:all .3s ease;cursor:default;animation:fadeInBadge .6s ease-out backwards}@keyframes fadeInBadge{0%{opacity:0;transform:scale(.8) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.soft-skill-badge:hover{border-color:var(--magenta);background:linear-gradient(135deg,#ff00ff26,#00ffff1a);transform:scale(1.05) rotate(2deg);box-shadow:0 0 20px #f0f6}.badge-icon{color:var(--cyan);margin-right:6px;animation:blink 1.5s steps(2) infinite}.status-indicator{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--accent);font-family:var(--mono);font-weight:700}.status-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite;box-shadow:0 0 10px var(--accent)}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.now-list{display:flex;flex-direction:column;gap:12px}.now-item{display:flex;gap:10px;padding:10px;background:linear-gradient(135deg,#ffff000d,#00ff8808);border-left:3px solid var(--yellow);border-radius:4px;transition:all .3s ease;animation:slideInNow .5s ease-out backwards}@keyframes slideInNow{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.now-item:hover{background:linear-gradient(135deg,#ffff001f,#00ff8814);border-left-color:var(--cyan);transform:translate(5px);box-shadow:0 0 15px #ff03}.now-prefix{color:var(--yellow);font-weight:700;font-family:var(--mono)}.now-text{color:var(--text);font-size:13px;line-height:1.5}.contact-status{font-size:10px;color:var(--accent);font-family:var(--mono);font-weight:700;animation:blink 2s steps(2) infinite}.contact-grid{display:flex;flex-direction:column;gap:12px}.contact-item{display:grid;grid-template-areas:"icon label" "icon value";grid-template-columns:40px 1fr;gap:4px 10px;padding:12px;background:linear-gradient(135deg,#00ff880d,#0000004d);border:1px solid rgba(0,255,136,.2);border-radius:8px;text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden;box-sizing:border-box;min-height:68px}.contact-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,136,.1),transparent);transition:left .5s ease}.contact-item:hover:before{left:100%}.contact-item:hover{border-color:var(--cyan);border-width:1px;background:linear-gradient(135deg,#00ff881f,#00ffff14);box-shadow:0 0 20px #00ff884d}.contact-icon{grid-area:icon;font-size:24px;color:var(--accent);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.contact-icon svg{width:24px;height:24px;transition:all .3s ease}.contact-item:hover .contact-icon{color:var(--cyan);text-shadow:0 0 15px var(--cyan)}.contact-item:hover .contact-icon svg{filter:drop-shadow(0 0 15px var(--cyan))}.contact-label{grid-area:label;font-size:10px;color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:1px}.contact-value{grid-area:value;font-size:13px;color:var(--text);font-weight:600;word-break:break-all}.contact-item.email .contact-icon{color:var(--cyan)}.contact-item.github .contact-icon{color:var(--magenta)}.contact-item.linkedin .contact-icon{color:var(--blue)}.contact-item.blog .contact-icon{color:var(--yellow)}.list{margin:0;padding-left:16px}.list li{margin:8px 0;line-height:1.6}@media (max-width: 600px){.list{padding-left:12px;font-size:13px}.list li{margin:6px 0}}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.badge{font-size:12px;padding:3px 10px;border:1px solid rgba(135,255,179,.4);border-radius:4px;color:var(--accent);background:#0006;font-family:var(--mono);box-shadow:0 0 5px #0f83;transition:all .2s ease;position:relative;overflow:hidden}.badge:nth-child(3n+1){border-color:#00ffff80;color:var(--cyan);box-shadow:0 0 5px #00ffff4d}.badge:nth-child(3n+2){border-color:#ff00ff80;color:var(--magenta);box-shadow:0 0 5px #ff00ff4d}.badge:nth-child(3n+3){border-color:#ffff0080;color:var(--yellow);box-shadow:0 0 5px #ffff004d}@media (max-width: 600px){.badge{font-size:10px;padding:2px 6px}}.badge:hover{transform:scale(1.1);box-shadow:0 0 15px currentColor;border-color:currentColor}.project{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:12px;border-radius:12px;border:1px solid rgba(0,255,136,.22);background:#0000001f;margin:10px 0}@media (max-width: 600px){.project{grid-template-columns:1fr;gap:8px}.project .links{justify-content:flex-start}}.project .name{font-weight:700}.project .meta{color:var(--muted);font-size:12px}.project .links{display:flex;gap:10px;align-items:center;justify-content:flex-end}.exp-item{padding:20px;border-radius:12px;border:1px solid rgba(0,255,136,.22);background:linear-gradient(135deg,#00ff8805,#00000014);margin:14px 0;transition:all .2s ease}.exp-item:hover{border-color:#00ff8859;box-shadow:0 4px 16px #00ff8814}.exp-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}.exp-role{font-size:17px;font-weight:700;color:var(--text)}.exp-period{color:var(--accent);font-size:13px;white-space:nowrap;font-weight:600}.exp-company{color:var(--muted);font-size:14px;margin-bottom:10px}.exp-desc{margin:0;line-height:1.7;color:#d7fdd7e0;font-size:14px}.timeline{position:relative;padding-left:24px;margin:16px 0}@media (max-width: 600px){.timeline{padding-left:16px;margin:10px 0}.timeline-marker{left:-14px;width:8px;height:8px}}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--accent),rgba(0,255,136,.3),var(--accent));box-shadow:0 0 8px #00ff884d}.timeline-item{position:relative;margin-bottom:20px;padding-bottom:8px;transition:all .3s ease;cursor:pointer}.timeline-item:last-child{margin-bottom:0}.timeline-item:after{content:attr(data-role);position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;pointer-events:none;color:var(--accent);font-size:48px;font-weight:900;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:8px;z-index:-1;filter:blur(20px);transition:all .4s ease}.timeline-item:hover:after{opacity:.03;filter:blur(10px)}.timeline-item:hover{transform:translate(8px)}.timeline-item:hover .timeline-content{background:#00ff8814;box-shadow:0 0 20px #00ff881a,inset 0 0 30px #00ff880d}.timeline-item:hover .timeline-marker{transform:scale(1.5) rotate(360deg);transition:all .5s cubic-bezier(.68,-.55,.265,1.55)}.timeline-marker{position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 0 0 2px var(--accent),0 0 10px var(--accent);z-index:1}.timeline-marker.marker-current{animation:pulse-marker 2s ease-in-out infinite;background:var(--text);box-shadow:0 0 0 2px var(--accent),0 0 15px var(--accent),0 0 25px #00ff8880}@keyframes pulse-marker{0%,to{transform:scale(1);box-shadow:0 0 0 2px var(--accent),0 0 15px var(--accent),0 0 25px #00ff8880}50%{transform:scale(1.2);box-shadow:0 0 0 3px var(--accent),0 0 20px var(--accent),0 0 35px #00ff88b3}}.timeline-content{display:flex;flex-direction:column;gap:4px;position:relative;padding:4px;border-radius:6px;transition:all .3s ease;overflow:hidden}.timeline-content:before{content:"01001000 01001001 00100001";position:absolute;top:-100%;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--accent);opacity:.6;letter-spacing:2px;background:#0b0f14e6;transition:top .3s ease;pointer-events:none;z-index:10}.timeline-item:hover .timeline-content:before{top:0;animation:binary-flash .3s ease-in-out}@keyframes binary-flash{0%,to{opacity:.6}50%{opacity:1}}.timeline-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}@media (max-width: 600px){.timeline-header{font-size:12px;gap:4px}.timeline-role{font-size:13px}.timeline-company,.timeline-period{font-size:11px}.timeline-tags .tag,.status-badge{font-size:9px;padding:2px 6px}}.timeline-period{color:var(--accent);font-weight:600;font-size:13px;font-family:var(--mono)}.timeline-separator{color:var(--muted);opacity:.5}.timeline-role{color:var(--text);font-weight:700;flex:1;position:relative;display:inline-block}.timeline-item:hover .timeline-role{animation:glitch .5s ease-in-out}@keyframes glitch{0%,to{transform:translate(0);text-shadow:none}20%{transform:translate(-2px,2px);text-shadow:2px -2px 0 rgba(255,0,0,.5),-2px 2px 0 rgba(0,255,136,.5)}40%{transform:translate(2px,-2px);text-shadow:-2px 2px 0 rgba(0,255,255,.5),2px -2px 0 rgba(255,0,136,.5)}60%{transform:translate(-2px,-2px);text-shadow:2px 2px 0 rgba(0,255,136,.7)}80%{transform:translate(2px,2px);text-shadow:-2px -2px 0 rgba(135,255,179,.5)}}.timeline-company{color:var(--muted);font-size:13px;font-style:italic;transition:all .3s ease;display:inline-block}.at-symbol{transition:opacity .3s ease,transform .3s ease;display:inline-block}.timeline-item:hover .at-symbol,.timeline-item:hover .timeline-company{opacity:0;transform:translate(-10px)}.timeline-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.timeline-tags .tag{font-size:11px;padding:2px 8px;background:#00ff8814;border:1px solid rgba(0,255,136,.25);border-radius:4px;color:var(--muted);font-family:var(--mono);transition:all .2s ease;position:relative;overflow:hidden}.timeline-tags .tag:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(0,255,136,.8),transparent);transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.timeline-tags .tag:hover:before{width:100px;height:100px}.timeline-tags .tag:hover{background:#00ff8826;border-color:var(--accent);color:var(--accent);transform:scale(1.1) rotate(-2deg);box-shadow:0 0 15px #0f86}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;background:#00ff8826;border:1px solid var(--accent);border-radius:12px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px;animation:glow-badge 2s ease-in-out infinite}.status-badge:before{content:"●";font-size:8px;animation:blink-dot 1.5s ease-in-out infinite}@keyframes glow-badge{0%,to{box-shadow:0 0 5px #00ff884d}50%{box-shadow:0 0 12px #0f89}}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:.3}}.timeline-current{position:relative}.timeline-current .timeline-content{background:#00ff8808;border-radius:8px;border-left:2px solid rgba(0,255,136,.3);margin-left:-8px;padding:8px 12px 8px 16px}.qual-item{margin:14px 0;padding:18px;border-radius:12px;background:linear-gradient(135deg,#00ff8805,#00000014);border:1px solid rgba(0,255,136,.18);transition:all .2s ease}.qual-item:hover{border-color:#00ff884d;box-shadow:0 4px 16px #00ff880f}.qual-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}.qual-title{font-size:16px;font-weight:700;color:var(--text)}.qual-year{color:var(--accent);font-size:13px;font-weight:600}.qual-institution{color:var(--muted);font-size:14px;margin-bottom:6px}.qual-details{margin:8px 0 0;font-size:13px;color:#d7fdd7bf;font-style:italic}.footer{margin-top:auto;padding:24px 0;color:#d7fdd7bf;font-size:12px;text-align:center;position:relative}.footer:before{content:"[ █▓▒░ END OF TRANSMISSION ░▒▓█ ]";display:block;margin-bottom:12px;font-family:var(--mono);color:var(--cyan);font-size:10px;letter-spacing:2px;text-shadow:0 0 10px rgba(0,255,255,.6);animation:blink 2s steps(2) infinite}.terminal-prompt{font-size:12px;color:var(--muted);margin-bottom:16px;padding:8px 12px;background:linear-gradient(90deg,#00000080,#0000004d);border-left:3px solid var(--accent);border-right:1px solid var(--cyan);border-radius:4px;font-family:var(--mono);display:flex;gap:6px;flex-wrap:wrap;box-shadow:0 0 10px #00ff881a,inset 0 0 20px #00ffff0d;position:relative}.terminal-prompt:before{content:">";position:absolute;left:-15px;color:var(--magenta);font-weight:700;animation:blink 1s steps(2) infinite}@media (max-width: 600px){.terminal-prompt{font-size:9px;padding:5px 8px;gap:3px;margin-bottom:10px}}.prompt-symbol{color:var(--accent)}.prompt-user{color:var(--text);font-weight:600}.prompt-path{color:#87ceeb}.prompt-cmd{color:var(--muted);font-style:italic}.system-status{margin:16px 0;padding:16px;background:#0006;border:1px solid rgba(0,255,136,.3);border-radius:8px;font-size:12px;line-height:1.6;color:var(--muted);box-shadow:inset 0 0 20px #00ff880d,0 0 10px #00ff881a;overflow-x:auto}@media (max-width: 600px){.system-status{font-size:10px;padding:10px;margin:10px 0;line-height:1.5}}
