:root{--bg-base:#020617;--bg-surface:#0f172a;--bg-card:#0f172aeb;--border:#94a3b82e;--border-accent:#60a5fa73;--blue:#3b82f6;--blue-light:#60a5fa;--blue-dark:#1d4ed8;--teal:#2dd4bf;--violet:#a78bfa;--green:#4ade80;--text:#e5e7eb;--text-muted:#94a3b8;--text-accent:#a5b4fc;--radius:14px;--radius-sm:10px}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#020617;background:var(--bg-base);color:#e5e7eb;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#020617cc;border-bottom:1px solid #60a5fa1f;display:flex;height:60px;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.logo-link{text-decoration:none}.logo{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#e5e7eb 30%,#60a5fa);-webkit-background-clip:text;background-clip:text;font-size:17px;font-weight:700;letter-spacing:-.02em}.navbar-links{display:flex;gap:36px;list-style:none;margin:0;padding:0}.navbar-links a{color:#64748b;font-size:14px;font-weight:500;letter-spacing:.01em;padding-bottom:4px;position:relative;text-decoration:none;transition:color .2s ease}.navbar-links a:after{background:linear-gradient(90deg,var(--blue),var(--blue-light));border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .25s ease;width:0}.navbar-links a:hover{color:#e2e8f0}.navbar-links a.active:after,.navbar-links a:hover:after{width:100%}.navbar-links a.active{color:var(--blue-light)}@media (max-width:640px){.navbar{padding:0 16px}.navbar-links{gap:20px}.logo{font-size:15px}.navbar-links a{font-size:13px}}.home-root{color:var(--text);margin:0 auto;max-width:1120px;min-height:100vh;padding:80px 20px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}.hero{grid-gap:36px;display:grid;gap:36px;grid-template-columns:minmax(0,2fr) minmax(0,1.4fr);margin-bottom:72px;position:relative}.hero-glow-a,.hero-glow-b{border-radius:999px;filter:blur(80px);opacity:.18;pointer-events:none;position:absolute;z-index:-1}.hero-glow-a{animation:drift-a 12s ease-in-out infinite alternate;background:var(--blue);height:380px;left:-100px;top:-60px;width:380px}.hero-glow-b{animation:drift-b 14s ease-in-out infinite alternate;background:var(--violet);bottom:-40px;height:280px;right:-60px;width:280px}@keyframes drift-a{0%{transform:translate(0)}to{transform:translate(30px,20px)}}@keyframes drift-b{0%{transform:translate(0)}to{transform:translate(-20px,-30px)}}.hero-left{align-items:flex-start;display:flex;gap:28px}.hero-photo{border:2px solid #60a5fa80;border-radius:var(--radius);box-shadow:0 0 30px #3b82f64d;flex-shrink:0;height:190px;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease;width:190px}.hero-photo:hover{box-shadow:0 0 45px #60a5fa99;transform:scale(1.03)}.hero-content{animation:fadeInUp .65s ease forwards}.status-badge{align-items:center;background:#4ade8012;border:1px solid #4ade8038;border-radius:999px;color:var(--green);display:inline-flex;font-size:12px;font-weight:500;gap:7px;letter-spacing:.01em;margin-bottom:14px;padding:4px 11px}.status-badge.upcoming{background:#60a5fa12;border-color:#60a5fa40;color:var(--blue-light)}.status-dot{animation:pulse-green 2.2s ease-in-out infinite;background:var(--green);border-radius:50%;flex-shrink:0;height:7px;width:7px}.exp-next{color:var(--blue-light);font-size:13px;font-weight:500;margin:2px 0 0}.hero-kicker{color:var(--text-accent);font-size:11px;font-weight:500;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#93c5fd 60%,#c4b5fd);-webkit-background-clip:text;background-clip:text;font-size:50px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 12px}.hero-lead{color:var(--text-muted);font-size:15px;line-height:1.7;margin:0}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.hero-btn{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;padding:10px 22px;text-decoration:none;transition:background .2s,color .2s,transform .15s,box-shadow .2s,border-color .2s}.hero-btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue-light));box-shadow:0 8px 24px #3b82f666;color:#060f1e}.hero-btn.primary:hover{box-shadow:0 12px 32px #3b82f699;transform:translateY(-2px)}.hero-btn.ghost{background:#0f172a99;border-color:#94a3b859;color:var(--text)}.hero-btn.ghost:hover{background:#1e293bcc;border-color:var(--blue-light);color:var(--blue-light)}.hero-side{animation:fadeInUp .75s ease .15s both;display:flex;flex-direction:column;gap:16px}.hero-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px #02061799;padding:18px 20px;transition:border-color .25s ease,box-shadow .25s ease}.hero-card:hover{border-color:#60a5fa4d;box-shadow:0 16px 40px #020617cc}.hero-card.subtle{border-color:#94a3b840;border-style:dashed;box-shadow:none}.hero-card h2,.hero-card h3{color:var(--text);font-size:16px;font-weight:600;margin:0 0 10px}.hero-card p{line-height:1.6;margin:0}.hero-card p,.hero-card ul{color:var(--text-muted);font-size:14px}.hero-card ul{line-height:1.7;margin:8px 0 0;padding-left:18px}.section{margin-bottom:60px}.section-title{color:var(--text);display:inline-block;font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:28px;position:relative}.section-title:after{background:linear-gradient(90deg,var(--blue),var(--blue-light));border-radius:1px;bottom:-7px;content:"";height:2px;left:0;position:absolute;width:36px}.cards-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #02061780;overflow:hidden;padding:20px 22px;position:relative;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.info-card:hover{border-color:#60a5fa4d;box-shadow:0 16px 40px #020617b3;transform:translateY(-3px)}.card-accent{border-radius:0 2px 2px 0;bottom:0;left:0;position:absolute;top:0;width:3px}.card-accent.blue{background:var(--blue)}.card-accent.teal{background:var(--teal)}.card-accent.violet{background:var(--violet)}.info-card h3{font-size:17px;font-weight:600;margin:0 0 10px}.info-card p{line-height:1.6;margin:0 0 10px}.info-card p,.info-card ul{color:var(--text-muted);font-size:14px}.info-card ul{line-height:1.7;margin:0;padding-left:18px}.skills-wrap{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skills-group h3{color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{background:#0f172acc;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);cursor:default;font-size:13px;padding:5px 12px;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease}.chips.blue span:hover{border-color:var(--blue);box-shadow:0 4px 12px #3b82f64d;color:var(--blue-light);transform:translateY(-1px)}.chips.teal span:hover{border-color:var(--teal);box-shadow:0 4px 12px #2dd4bf4d;color:var(--teal);transform:translateY(-1px)}.chips.violet span:hover{border-color:var(--violet);box-shadow:0 4px 12px #a78bfa4d;color:var(--violet);transform:translateY(-1px)}.chips.slate span:hover{border-color:#94a3b899;color:var(--text);transform:translateY(-1px)}.timeline{border-left:2px solid #3b82f64d;padding-left:32px}.timeline-item{margin-bottom:28px;position:relative}.timeline-dot{background:radial-gradient(circle,#93c5fd 0,var(--blue) 50%,var(--blue-dark) 100%);border-radius:50%;box-shadow:0 0 0 3px #3b82f626,0 0 14px #3b82f6b3;height:14px;left:-40px;position:absolute;top:4px;width:14px}.timeline-content h3{font-size:16px;font-weight:600;margin:0 0 4px}.timeline-dates{font-feature-settings:"tnum";color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums;margin:0 0 8px}.timeline-content p{color:var(--text-muted);font-size:14px;margin:0 0 4px}.timeline-content ul{color:var(--text-muted);font-size:14px;line-height:1.7;margin:6px 0 0;padding-left:18px}.cards-stack{display:flex;flex-direction:column;gap:16px}.exp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #02061780;padding:18px 22px;transition:transform .25s ease,border-color .25s ease}.exp-card:hover{border-color:#60a5fa40;transform:translateY(-2px)}.exp-card.subtle{border-color:#94a3b82e;border-style:dashed;box-shadow:none}.exp-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;margin-bottom:8px}.exp-header h3{font-size:16px;font-weight:600;margin:0}.exp-location{color:var(--text-muted);font-size:13px}.exp-card p{line-height:1.6;margin:0 0 10px}.exp-card p,.exp-card ul{color:var(--text-muted);font-size:14px}.exp-card ul{line-height:1.7;margin:0;padding-left:18px}.project-card{background:radial-gradient(circle at top left,#3b82f61f,#0000 50%),var(--bg-card);border:1px solid #60a5fa73;border-radius:16px;box-shadow:0 18px 48px #020617cc;padding:24px 26px;transition:border-color .25s ease,box-shadow .25s ease}.project-card:hover{border-color:#60a5fab3;box-shadow:0 24px 60px #3b82f61f}.project-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.project-header h3{font-size:20px;font-weight:700;margin:0}.project-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.project-tag{background:#0f172ae6;border:1px solid #bfdbfe66;border-radius:999px;color:#bfdbfe;font-size:12px;padding:4px 12px;white-space:nowrap}.project-lead{color:var(--text-muted);font-size:14px;line-height:1.7;margin:0 0 14px}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.project-tech span{background:#0f172af2;border:1px solid #94a3b899;border-radius:999px;color:#dbeafe;font-size:12px;padding:5px 11px}.project-list{font-size:14px;line-height:1.8;margin:0;padding-left:18px}.footer,.project-list{color:var(--text-muted)}.footer{border-top:1px solid var(--border);font-size:13px;margin-top:40px;padding-top:24px;text-align:center}.footer a{color:var(--blue-light);text-decoration:none}.footer a:hover{text-decoration:underline}@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-title{font-size:40px}}@media (max-width:720px){.hero-left{align-items:center;flex-direction:column;text-align:center}.hero-buttons{justify-content:center}.status-badge{margin-left:auto;margin-right:auto}}@media (max-width:640px){.home-root{padding-top:72px}.hero-title{font-size:34px}.hero-photo{height:150px;width:150px}}.contact-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.contact-card{animation:fadeIn .25s ease;background:#0f172af2;border:1px solid #60a5fa59;border-radius:14px;box-shadow:0 16px 40px #0009;color:#e5e7eb;padding:24px 28px;width:300px}.contact-card h3{font-size:20px;margin-bottom:12px;margin-top:0}.contact-card p{font-size:15px;margin:6px 0}.close-btn{background:#3b82f6d9;border:none;border-radius:8px;color:#0b1120;cursor:pointer;font-weight:600;margin-top:16px;padding:10px;transition:.2s;width:100%}.close-btn:hover{background:#60a5fa}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nba-page{color:var(--text);margin:0 auto;max-width:1120px;padding:60px 20px 80px}.nba-hero{margin-bottom:48px;padding:60px 20px 56px;position:relative;text-align:center}.nba-hero-glow-a,.nba-hero-glow-b{border-radius:999px;filter:blur(90px);opacity:.15;pointer-events:none;position:absolute;z-index:-1}.nba-hero-glow-a{background:var(--blue);height:300px;left:50%;top:0;transform:translateX(-70%);width:400px}.nba-hero-glow-b{background:var(--violet);height:250px;left:50%;top:0;transform:translateX(-10%);width:300px}.nba-eyebrow{background:#a5b4fc14;border:1px solid #a5b4fc33;border-radius:999px;color:var(--text-accent);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:20px;padding:4px 14px;text-transform:uppercase}.nba-hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#93c5fd 55%,#c4b5fd);-webkit-background-clip:text;background-clip:text;font-size:52px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 16px}.nba-hero-sub{color:var(--text-muted);font-size:16px;line-height:1.7;margin:0 auto 28px;max-width:580px}.nba-hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.nba-btn{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:6px;padding:10px 22px;text-decoration:none;transition:background .2s,color .2s,transform .15s,box-shadow .2s,border-color .2s}.nba-btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue-light));box-shadow:0 8px 24px #3b82f666;color:#060f1e}.nba-btn.primary:hover{box-shadow:0 12px 32px #3b82f699;transform:translateY(-2px)}.nba-btn.ghost{background:#0f172a99;border-color:#94a3b84d;color:var(--text)}.nba-btn.ghost:hover{background:#1e293bcc;border-color:var(--blue-light);color:var(--blue-light);transform:translateY(-1px)}.stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px;text-align:center;transition:border-color .25s ease,transform .25s ease}.stat-card:hover{border-color:#60a5fa59;transform:translateY(-2px)}.stat-num{color:var(--blue-light);display:block;font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.stat-label{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.predictor-card{background:var(--bg-card);border:1px solid var(--border-accent);border-radius:16px;box-shadow:0 16px 40px #02061799;margin-bottom:40px;padding:28px 30px}.predictor-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.predictor-header h2{font-size:20px;font-weight:700;margin:0 0 4px}.predictor-desc{color:var(--text-muted);font-size:14px;margin:0}.live-badge{align-items:center;background:#4ade8012;border:1px solid #4ade8038;border-radius:999px;color:var(--green);display:inline-flex;font-size:12px;font-weight:600;gap:7px;padding:5px 13px;white-space:nowrap}.live-dot{animation:pulse-green 2.2s ease-in-out infinite;background:var(--green);border-radius:50%;flex-shrink:0;height:7px;width:7px}@keyframes pulse-green{0%,to{box-shadow:0 0 0 0 #4ade8080}50%{box-shadow:0 0 0 5px #4ade8000}}.predictor-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.team-select-wrap{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:180px}.team-select-wrap label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.team-select-wrap select{-webkit-appearance:auto;appearance:auto;background:#0f172ab3;border:1px solid #94a3b84d;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-family:inherit;font-size:14px;outline:none;padding:11px 14px;transition:border-color .2s ease,box-shadow .2s ease}.team-select-wrap select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f626}.vs-divider{color:var(--text-muted);flex-shrink:0;font-size:16px;font-weight:800;letter-spacing:.1em;padding:20px 4px 0}.predictor-error{color:#f87171;font-size:13px;margin:0 0 14px}.predict-btn{align-items:center;background:linear-gradient(135deg,var(--blue),var(--blue-light));border:none;border-radius:999px;box-shadow:0 8px 24px #3b82f666;color:#060f1e;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:700;gap:8px;padding:12px 32px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s}.predict-btn:hover:not(:disabled){box-shadow:0 12px 32px #3b82f699;transform:translateY(-2px)}.predict-btn:disabled{cursor:not-allowed;opacity:.7}@keyframes spin{to{transform:rotate(1turn)}}.btn-spinner{animation:spin .65s linear infinite;border:2px solid #060f1e59;border-radius:50%;border-top-color:#060f1e;height:15px;width:15px}.prediction-result{background:#3b82f60f;border:1px solid #60a5fa4d;border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;margin-top:20px;padding:20px 22px}.result-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.result-winner{color:var(--blue-light);font-size:24px;font-weight:700;letter-spacing:-.01em}.confidence-wrap{align-items:center;display:flex;gap:12px;margin-top:4px}.confidence-track{background:#94a3b826;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.confidence-bar{background:linear-gradient(90deg,var(--blue),var(--blue-light));border-radius:3px;height:100%;transition:width .5s ease}.confidence-text{font-feature-settings:"tnum";color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.result-error{color:#f87171;font-size:14px}.dashboard-section{margin-bottom:48px}.dash-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.dash-title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.dash-sub{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0}.browser-frame{border:1px solid var(--border-accent);border-radius:var(--radius);box-shadow:0 24px 64px #020617b3;overflow:hidden}.browser-bar{align-items:center;background:#0f172afa;border-bottom:1px solid #94a3b81a;display:flex;gap:12px;padding:10px 16px}.browser-dots{display:flex;flex-shrink:0;gap:6px}.browser-dots span{border-radius:50%;display:block;height:12px;width:12px}.browser-dots span:first-child{background:#ef4444}.browser-dots span:nth-child(2){background:#f59e0b}.browser-dots span:nth-child(3){background:#22c55e}.browser-url{background:#02061799;border-radius:6px;color:#475569;flex:1 1;font-family:monospace;font-size:12px;letter-spacing:.01em;padding:4px 14px;text-align:center}.dash-iframe{background:var(--bg-surface);border:none;display:block;height:820px;width:100%}.system-section{margin-top:8px}.system-title{display:inline-block;font-size:22px;font-weight:700;letter-spacing:-.01em;margin-bottom:20px;position:relative}.system-title:after{background:linear-gradient(90deg,var(--blue),var(--blue-light));border-radius:1px;bottom:-6px;content:"";height:2px;left:0;position:absolute;width:32px}.system-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.system-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;transition:border-color .25s ease,transform .25s ease}.system-card:hover{border-color:#60a5fa4d;transform:translateY(-2px)}.system-icon{display:block;font-size:20px;margin-bottom:10px}.system-card h3{font-size:15px;font-weight:600;margin:0 0 8px}.system-card p{color:var(--text-muted);font-size:13px;line-height:1.65;margin:0}@media (max-width:900px){.nba-hero-title{font-size:40px}.stats-row{grid-template-columns:repeat(2,1fr)}.dash-iframe{height:680px}}@media (max-width:640px){.nba-page{padding-top:40px}.nba-hero-title{font-size:32px}.nba-hero{padding:40px 0 36px}.predictor-card{padding:20px 18px}.predictor-inputs{flex-direction:column}.vs-divider{align-self:center;padding:0}.stats-row{grid-template-columns:repeat(2,1fr)}.dash-iframe{height:560px}}.github-page{background:#020617;font-family:system-ui,sans-serif;margin:0 auto;max-width:900px;min-height:100vh;padding:80px 20px;position:relative;text-align:center;width:100%;z-index:1}.github-page h1{color:#87baff;font-size:36px;font-weight:700;margin-bottom:18px;text-shadow:0 0 18px #3b82f68c}.github-page p{color:#e2e8f0;font-size:17px;line-height:1.7;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:700px}.github-btn{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:999px;box-shadow:0 10px 25px #3b82f680;color:#0b1120;display:inline-block;font-size:15px;font-weight:600;padding:12px 24px;text-decoration:none;transition:.2s ease}.github-btn:hover{box-shadow:0 14px 30px #3b82f6b3;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}*,:after,:before{box-sizing:border-box}
/*# sourceMappingURL=main.8578ca39.css.map*/