*{margin:0;padding:0;box-sizing:border-box}.App{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#e0e0e0;overflow-x:hidden;background:#0a0a0a}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(135deg,#0f0f23,#1a1a2e,#16213e);position:relative;overflow:hidden}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.code-rain{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 49%,rgba(0,255,136,.03) 50%,transparent 51%);overflow:hidden}.code-rain .binary-stream-1:before{content:"01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000\a 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100\a 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111\a 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000\a 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001\a 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001\a 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001\a 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101";position:absolute;top:0;left:0;font-family:Courier New,Monaco,monospace;font-size:12px;color:#0088ff14;line-height:28px;word-spacing:20px;letter-spacing:3px;white-space:pre-wrap;z-index:1;width:100%;height:250%;animation:binaryScroll 38s linear infinite}.code-rain .binary-stream-2:before{content:"01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011\a 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000\a 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100\a 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111\a 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000\a 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001\a 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001\a 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001";position:absolute;top:0;left:0;font-family:Courier New,Monaco,monospace;font-size:12px;color:#00ff880f;line-height:32px;word-spacing:22px;letter-spacing:2px;white-space:pre-wrap;z-index:1;width:100%;height:250%;animation:binaryScroll 42s linear infinite reverse}.code-rain .binary-stream-3:before{content:"01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001\a 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001\a 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101\a 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011\a 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000\a 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100\a 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111\a 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000";position:absolute;top:0;left:0;font-family:Courier New,Monaco,monospace;font-size:11px;color:#ff88000d;line-height:26px;word-spacing:18px;letter-spacing:2px;white-space:pre-wrap;z-index:1;width:100%;height:250%;animation:binaryScroll 35s linear infinite;animation-delay:-15s}.code-rain .binary-stream-1,.code-rain .binary-stream-2,.code-rain .binary-stream-3{position:absolute;top:0;width:100%;height:100%;overflow:hidden}.code-rain .binary-stream-1{left:0%}.code-rain .binary-stream-2{left:33%}.code-rain .binary-stream-3{left:66%}.code-rain:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 18px,rgba(0,255,136,.08) 18px,rgba(0,255,136,.08) 19px);animation:codeFlow 20s linear infinite}.code-rain:after{content:"01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011\a 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000\a 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100\a 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111\a 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000\a 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001\a 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001\a 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001\a 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101\a 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011\a 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000\a 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100\a 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111\a 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000\a 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001\a 01101110 01110011 01000001 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001\a 01101100 01100101 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001\a 01111000 00100000 01001000 01100001 01110111 01101011 01101001 01101110 01110011 01000001 01101100 01100101";position:absolute;top:0;left:0;width:100%;height:300%;font-family:Courier New,Monaco,monospace;font-size:14px;color:#00ff881f;line-height:32px;word-spacing:24px;letter-spacing:4px;white-space:pre-wrap;animation:binaryScroll 45s linear infinite;z-index:1}.michigan-shape{position:absolute;top:20%;right:10%;width:200px;height:200px;background:linear-gradient(45deg,#0f8,#08f);border-radius:50% 20%;opacity:.1;animation:float 6s ease-in-out infinite}.hero-content{position:relative;z-index:2;animation:fadeInUp 1s ease-out}.hero-badge{display:inline-flex;align-items:center;gap:1rem;background:#00ff881a;border:1px solid #00ff88;border-radius:50px;padding:.5rem 1.5rem;margin-bottom:2rem;animation:slideInDown 1s ease-out .2s both}.badge-text{color:#0f8;font-weight:600;font-size:.9rem}.badge-location{color:#08f;font-size:.8rem;opacity:.8}.hero-title{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;margin-bottom:1rem;line-height:1.2}.name-container{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.1em}.name-letter{display:inline-block;color:#fff;text-shadow:0 0 20px rgba(0,255,136,.3);background:linear-gradient(45deg,#0f8,#08f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:inherit;font-weight:inherit;transition:all .3s ease;position:relative;animation:slideInLeft 1s ease-out .3s both}.name-letter:hover{transform:scale(1.2);text-shadow:0 0 30px rgba(0,255,136,.6)}.name-letter.sorting{background:linear-gradient(45deg,#ff6b6b,#ffd93d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse .5s ease-in-out}.name-letter.comparing{background:linear-gradient(45deg,#ffd93d,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transform:scale(1.1);box-shadow:0 0 20px #ff6b6b80}.hero-title .title{display:block;color:#0f8;font-size:.6em;font-weight:400;margin-top:.5rem;animation:slideInRight 1s ease-out .6s both}.hero-subtitle{font-size:clamp(1.1rem,3vw,1.5rem);color:#fffc;margin-top:2rem;animation:fadeIn 1s ease-out 1s both}.typing-animation{display:inline-block;border-right:2px solid #00ff88;animation:typing 3s steps(40,end),blink .75s step-end infinite;white-space:nowrap;overflow:hidden}.hero-tags{display:flex;justify-content:center;gap:1rem;margin-top:2rem;animation:fadeIn 1s ease-out 1.5s both}.hero-tag{background:#0088ff1a;color:#08f;padding:.5rem 1rem;border-radius:25px;font-size:.9rem;font-weight:500;border:1px solid rgba(0,136,255,.3);transition:all .3s ease}.hero-tag:hover{background:#08f3;transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);animation:bounce 2s infinite;z-index:2}.scroll-arrow{width:24px;height:24px;border:2px solid #00ff88;border-top:none;border-left:none;transform:rotate(45deg)}.sorting-controls{margin-top:3rem;text-align:center;animation:fadeIn 1s ease-out 2s both}.sorting-controls h3{color:#0f8;font-size:1.2rem;margin-bottom:1.5rem;font-weight:600}.algorithm-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto}@media (max-width: 1200px){.algorithm-buttons{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width: 900px){.algorithm-buttons{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width: 768px){.algorithm-buttons{grid-template-columns:1fr;gap:.8rem}.algorithm-btn{padding:.7rem 1rem;font-size:.8rem;min-width:auto;width:100%}}@media (max-width: 600px){.algorithm-buttons{grid-template-columns:1fr;gap:.6rem}.algorithm-btn{padding:.6rem .8rem;font-size:.75rem;min-width:auto;width:100%}}@media (max-width: 480px){.algorithm-buttons{grid-template-columns:1fr;gap:.6rem}.algorithm-btn{padding:.6rem 1rem;font-size:.75rem;min-width:auto;width:100%}}.algorithm-btn{background:#0088ff1a;color:#08f;border:2px solid rgba(0,136,255,.3);padding:.8rem 1.5rem;border-radius:25px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:180px}.algorithm-btn:hover:not(:disabled){background:#08f3;border-color:#0088ff80;transform:translateY(-2px)}.algorithm-btn.active{background:linear-gradient(45deg,#0f8,#08f);color:#0a0a0a;border-color:#0f8;box-shadow:0 4px 12px #00ff884d}.algorithm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.algorithm-btn[data-algorithm=bogo]{background:#ff6b6b1a;color:#ff6b6b;border-color:#ff6b6b4d;animation:bogoPulse 2s ease-in-out infinite}.algorithm-btn[data-algorithm=bogo]:hover:not(:disabled){background:#ff6b6b33;border-color:#ff6b6b80}.algorithm-btn[data-algorithm=bogo].active{background:linear-gradient(45deg,#ff6b6b,#ffd93d);color:#0a0a0a;border-color:#ff6b6b;box-shadow:0 4px 12px #ff6b6b66}@keyframes bogoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.odds-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;border:2px solid #ff6b6b;border-radius:15px;padding:2rem;text-align:center;z-index:10;animation:oddsAppear .5s ease-out;max-width:400px;box-shadow:0 10px 30px #ff6b6b4d}.odds-message p{color:#ff6b6b;font-size:1.1rem;font-weight:600;margin:.5rem 0;line-height:1.4}.odds-message p:first-child{color:#0f8;font-size:1.2rem}.odds-message p:last-child{color:#ffd93d;font-style:italic;margin-top:1rem}@keyframes oddsAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 768px){.sorting-controls{margin-top:2rem}.sorting-controls h3{font-size:1.1rem;margin-bottom:1rem}.start-sort-btn{padding:.8rem 2rem;font-size:1rem}}@media (max-width: 480px){.sorting-controls{margin-top:1.5rem;padding:0 1rem}.sorting-controls h3{font-size:1rem;margin-bottom:.8rem}.start-sort-btn{padding:.7rem 1.5rem;font-size:.9rem;width:100%;max-width:200px}.odds-message{max-width:90%;padding:1.5rem;margin:0 1rem}.odds-message p{font-size:1rem}.odds-message p:first-child{font-size:1.1rem}}.start-sort-btn{background:linear-gradient(45deg,#0f8,#08f);color:#0a0a0a;border:none;padding:1rem 2rem;border-radius:25px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.start-sort-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #0f86}.start-sort-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.about{padding:6rem 0;background:linear-gradient(180deg,#0a0a0a,#1a1a1a);position:relative}.about:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="dots" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1" fill="%2300ff88" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23dots)"/></svg>');opacity:.3}.about-header{text-align:center;margin-bottom:4rem;position:relative;z-index:2}.section-title{font-size:2.5rem;text-align:center;margin-bottom:3rem;color:#0f8;position:relative;background:linear-gradient(45deg,#0f8,#08f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#0f8,#08f);border-radius:2px}.story-timeline{display:flex;justify-content:center;gap:3rem;margin-top:2rem;position:relative}.story-timeline:before{content:"";position:absolute;top:20px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,#0f8,#08f);z-index:1}.timeline-item{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}.timeline-marker{width:40px;height:40px;background:linear-gradient(45deg,#0f8,#08f);border-radius:50%;margin-bottom:1rem;position:relative;animation:pulse 2s infinite}.timeline-marker:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:#0a0a0a;border-radius:50%}.timeline-content h4{color:#0f8;font-size:1.1rem;margin-bottom:.5rem}.timeline-content p{color:#888;font-size:.9rem}.about-content{max-width:1000px;margin:0 auto;position:relative;z-index:2}.story-card{display:flex;align-items:flex-start;gap:2rem;margin-bottom:3rem;background:#ffffff05;border:1px solid rgba(0,255,136,.1);border-radius:16px;padding:2rem;transition:all .3s ease}.story-card:hover{background:#00ff880d;border-color:#0f83;transform:translateY(-5px)}.story-icon{width:60px;height:60px;background:linear-gradient(45deg,#0f8,#08f);border-radius:12px;flex-shrink:0;animation:bounce 2s infinite;position:relative}.story-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;background:#0a0a0a;border-radius:6px}.story-text h3{color:#0f8;font-size:1.5rem;margin-bottom:1rem}.story-text p{color:#e0e0e0;line-height:1.8;font-size:1.1rem}.skills-section{margin-top:4rem;text-align:center}.skills-title{color:#0f8;font-size:2rem;margin-bottom:3rem}.skills-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.skill-category{background:#ffffff05;border:1px solid rgba(0,255,136,.1);border-radius:12px;padding:2rem;transition:all .3s ease}.skill-category:hover{background:#00ff880d;border-color:#0f83;transform:translateY(-5px)}.skill-category h4{color:#08f;font-size:1.2rem;margin-bottom:1.5rem}.skills-grid{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}.skill-tag{background:linear-gradient(135deg,#0f8,#08f);color:#0a0a0a;padding:.5rem 1rem;border-radius:25px;font-size:.9rem;font-weight:600;transition:all .3s ease;border:1px solid transparent}.skill-tag:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0f86;background:linear-gradient(135deg,#08f,#0f8)}.projects{padding:6rem 0;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);position:relative}.projects:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="%2300ff88" stroke-width="0.5" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.3}.projects-header{text-align:center;margin-bottom:4rem;position:relative;z-index:2}.projects-subtitle{color:#888;font-size:1.2rem;margin-top:1rem}.projects-showcase{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin-top:3rem;position:relative;z-index:2}.project-card.featured{background:#ffffff05;border:1px solid rgba(0,255,136,.2);border-radius:20px;overflow:hidden;transition:all .3s ease;position:relative}.project-card.featured:hover{background:#00ff880d;border-color:#0f86;transform:translateY(-10px);box-shadow:0 20px 40px #00ff881a}.project-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 0;margin-bottom:1rem}.project-status{display:flex;align-items:center;gap:.5rem}.status-dot{width:8px;height:8px;background:#0f8;border-radius:50%;animation:pulse 2s infinite}.status-text{color:#0f8;font-size:.9rem;font-weight:600}.project-location{display:flex;align-items:center;gap:.5rem;color:#888;font-size:.9rem}.project-image{height:250px;background:linear-gradient(135deg,#0f0f23,#1a1a2e);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.project-visual{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.lottery-animation{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2rem;width:100%;padding:0 1rem}.winning-section,.ticket-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.winning-label,.ticket-label{color:#0f8;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.winning-numbers{display:flex;gap:.5rem}.winning-ball{width:45px;height:45px;background:linear-gradient(45deg,#0f8,#08f);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0a0a0a;font-weight:700;font-size:1.1rem;box-shadow:0 4px 8px #00ff884d}.ticket-numbers{display:flex;gap:.5rem}.ticket-ball{width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0a0a0a;font-weight:700;font-size:1.1rem;box-shadow:0 4px 8px #ff00004d;animation:ticketCycle 4s ease-in-out infinite}.vs-divider{color:#888;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:2px}.ticket-ball{width:45px;height:45px;background:linear-gradient(45deg,#f44,#f66);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0a0a0a;font-weight:700;font-size:1.1rem;box-shadow:0 4px 8px #ff44444d;transition:all .3s ease}.ticket-ball.winning{background:linear-gradient(45deg,#0f8,#0c6);box-shadow:0 4px 8px #00ff884d;transform:scale(1.1)}.lottery-ball{width:50px;height:50px;background:linear-gradient(45deg,#0f8,#08f);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0a0a0a;font-weight:700;font-size:1.2rem;box-shadow:0 4px 8px #00ff884d}.project-content{padding:2rem}.project-title{font-size:1.8rem;font-weight:700;margin-bottom:1rem;color:#0f8;background:linear-gradient(45deg,#0f8,#08f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-description{color:#e0e0e0;line-height:1.8;margin-bottom:2rem;font-size:1.1rem}.project-highlights{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.highlight{display:flex;align-items:center;gap:1rem;color:#888;font-size:.9rem}.highlight-icon{width:20px;height:20px;background:linear-gradient(45deg,#0f8,#08f);border-radius:4px;display:inline-block;margin-right:.5rem}.location-icon{width:16px;height:16px;background:linear-gradient(45deg,#0f8,#08f);border-radius:50%;display:inline-block;margin-right:.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem}.tech-tag{background:#0088ff1a;color:#08f;padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid rgba(0,136,255,.3)}.project-links{display:flex;gap:1rem}.project-link.primary{background:linear-gradient(45deg,#0f8,#08f);color:#0a0a0a;text-decoration:none;font-weight:600;padding:.8rem 1.5rem;border-radius:25px;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.project-link.primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f86}.project-link.secondary{color:#08f;text-decoration:none;font-weight:500;padding:.8rem 1.5rem;border:2px solid #0088ff;border-radius:25px;transition:all .3s ease}.project-link.secondary:hover{background:#08f;color:#0a0a0a;transform:translateY(-2px)}.project-placeholder-card{background:#ffffff05;border:1px solid rgba(0,255,136,.1);border-radius:20px;padding:3rem 2rem;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .3s ease}.project-placeholder-card:hover{background:#00ff880d;border-color:#0f83;transform:translateY(-5px)}.placeholder-icon{width:80px;height:80px;background:linear-gradient(45deg,#0f8,#08f);border-radius:20px;margin:0 auto 1rem;animation:bounce 2s infinite;position:relative}.placeholder-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#0a0a0a;border-radius:10px}.placeholder-content h3{color:#0f8;font-size:1.5rem;margin-bottom:1rem}.placeholder-content p{color:#888;margin-bottom:2rem}.placeholder-tags{display:flex;gap:1rem;justify-content:center}.placeholder-tag{background:#0088ff1a;color:#08f;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;border:1px solid rgba(0,136,255,.3)}.contact{padding:6rem 0;background:linear-gradient(135deg,#0f0f23,#1a1a2e);color:#fff;position:relative;overflow:hidden}.contact-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.contact-pattern{position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="contact" width="30" height="30" patternUnits="userSpaceOnUse"><circle cx="15" cy="15" r="2" fill="%2300ff88" opacity="0.1"/><circle cx="5" cy="25" r="1" fill="%230088ff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23contact)"/></svg>');animation:float 15s ease-in-out infinite}.contact-content{position:relative;z-index:2;text-align:center}.contact-header{margin-bottom:4rem}.contact .section-title{color:#0f8;background:linear-gradient(45deg,#0f8,#08f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact .section-title:after{background:#08f}.contact-text{font-size:1.3rem;margin-bottom:2rem;color:#e0e0e0;max-width:600px;margin-left:auto;margin-right:auto}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:4rem}.contact-card{background:#ffffff05;border:1px solid rgba(0,255,136,.1);border-radius:16px;padding:2.5rem;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.contact-card: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-card:hover:before{left:100%}.contact-card:hover{background:#00ff880d;border-color:#00ff884d;transform:translateY(-10px);box-shadow:0 20px 40px #00ff881a}.contact-icon{width:80px;height:80px;background:linear-gradient(45deg,#0f8,#08f);border-radius:20px;margin:0 auto 1.5rem;animation:bounce 2s infinite;position:relative}.contact-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#0a0a0a;border-radius:10px}.contact-card h3{color:#0f8;font-size:1.5rem;margin-bottom:1rem}.contact-card p{color:#888;margin-bottom:1.5rem;font-size:1rem}.contact-link{color:#08f;text-decoration:none;font-weight:600;font-size:1.1rem;transition:all .3s ease;display:inline-block}.contact-link:hover{color:#0f8;transform:translateY(-2px)}.contact-footer{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(0,255,136,.2)}.contact-location,.contact-availability{display:flex;align-items:center;gap:.5rem;color:#888;font-size:.9rem}.availability-dot{width:8px;height:8px;background:#0f8;border-radius:50%;animation:pulse 2s infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{border-color:#0f8}51%,to{border-color:transparent}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes codeFlow{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes binaryScroll{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes lotterySpin{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}@media (max-width: 768px){.container{padding:0 1rem}.hero-title{font-size:2.5rem}.story-timeline{flex-direction:column;gap:2rem}.story-timeline:before{display:none}.story-card{flex-direction:column;text-align:center}.projects-showcase{grid-template-columns:1fr;gap:2rem}.contact-methods{grid-template-columns:1fr}.contact-footer{flex-direction:column;gap:1rem}.code-rain:after{font-size:10px;line-height:24px;word-spacing:16px;letter-spacing:2px}.code-rain .binary-stream-1:before,.code-rain .binary-stream-2:before,.code-rain .binary-stream-3:before{font-size:9px;line-height:20px;word-spacing:14px;letter-spacing:1px}.code-rain .binary-stream-2:before{line-height:24px;word-spacing:16px;letter-spacing:1px}.code-rain .binary-stream-3:before{line-height:20px;word-spacing:12px;letter-spacing:1px}}@media (max-width: 480px){.hero-title,.section-title{font-size:2rem}.project-content{padding:1.5rem}.contact-card{padding:2rem}.algorithm-buttons{grid-template-columns:1fr;max-width:300px}.algorithm-btn{min-width:200px}.code-rain:after{font-size:8px;line-height:18px;word-spacing:12px;letter-spacing:1px}.code-rain .binary-stream-1:before,.code-rain .binary-stream-2:before,.code-rain .binary-stream-3:before{font-size:7px;line-height:16px;word-spacing:10px;letter-spacing:.5px}.code-rain .binary-stream-2:before{line-height:18px;word-spacing:12px}.code-rain .binary-stream-3:before{line-height:16px;word-spacing:8px}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#fff;color:#213547}#root{width:100%;min-height:100vh}a{font-weight:500;color:#667eea;text-decoration:none;transition:color .3s ease}a:hover{color:#764ba2}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}p{margin:0;line-height:1.6}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#667eea;color:#fff;cursor:pointer;transition:all .3s ease}button:hover{background-color:#764ba2;transform:translateY(-2px)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}
