:root{--base-deep: #0f1115;--base-deeper: #080a0e;--panel-bg: rgba(22, 26, 32, .72);--panel-bg-strong: rgba(15, 17, 21, .92);--panel-border: rgba(176, 184, 196, .2);--panel-border-bright: rgba(245, 241, 232, .36);--ivory: #f5f1e8;--cream: #ded6c4;--muted: #a7afbd;--silver: #b0b8c4;--slate-light: #7f8999;--slate-warm: #2b3038;--success: #22c55e;--warning: #eab308;--danger: #ef4444;--radius-xl: 32px;--radius-lg: 22px;--radius-md: 16px;--shadow-soft: 0 24px 80px rgba(0, 0, 0, .38);--silk-ease: cubic-bezier(.19, 1, .22, 1)}.portfolio-app{min-height:100vh;position:relative;overflow-x:hidden;background:var(--base-deep)}.background-effects{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;background:var(--base-deep);isolation:isolate}.luminary-atmosphere{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#0f1115,#161a20,#1c2128 70%,#0d0f13)}.luminary-atmosphere:before,.luminary-atmosphere:after{content:"";position:absolute;inset:-20%;pointer-events:none}.luminary-atmosphere:before{background:radial-gradient(circle at 16% 14%,rgba(176,184,196,.14),transparent 32%),radial-gradient(circle at 80% 6%,rgba(156,163,175,.1),transparent 30%),radial-gradient(circle at 52% 92%,rgba(61,66,74,.52),transparent 42%);animation:atmosphereDrift 26s var(--silk-ease) infinite alternate}.luminary-atmosphere:after{background:linear-gradient(115deg,transparent 0%,rgba(176,184,196,.045) 46%,transparent 62%),linear-gradient(245deg,transparent 0%,rgba(245,241,232,.035) 38%,transparent 58%);mix-blend-mode:screen;animation:silkSweep 18s var(--silk-ease) infinite alternate}.luminary-grid{--mx: 50vw;--my: 50vh;position:absolute;inset:0;z-index:1;opacity:1;background-image:linear-gradient(to right,rgba(190,198,210,.13) 1px,transparent 1px),linear-gradient(to bottom,rgba(190,198,210,.13) 1px,transparent 1px);background-size:120px 120px;background-position:center top;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.6) 12%,rgba(0,0,0,.54) 84%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.6) 12%,rgba(0,0,0,.54) 84%,transparent 100%)}.luminary-grid:after{content:"";position:absolute;inset:0;opacity:.95;background-image:linear-gradient(to right,rgba(235,239,246,.36) 1px,transparent 1px),linear-gradient(to bottom,rgba(235,239,246,.36) 1px,transparent 1px);background-size:120px 120px;background-position:center top;-webkit-mask-image:radial-gradient(circle 420px at var(--mx) var(--my),rgba(0,0,0,1) 0%,transparent 72%);mask-image:radial-gradient(circle 420px at var(--mx) var(--my),rgba(0,0,0,1) 0%,transparent 72%)}.luminary-vignette{position:absolute;inset:0;z-index:2;background:radial-gradient(circle at center,transparent 0%,rgba(8,10,14,.14) 58%,rgba(8,10,14,.68) 100%),linear-gradient(90deg,rgba(8,10,14,.5),transparent 22%,transparent 78%,rgba(8,10,14,.5))}.luminary-grain{position:absolute;inset:0;z-index:3;width:100%;height:100%;opacity:.032;mix-blend-mode:overlay}@keyframes atmosphereDrift{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.04)}}@keyframes silkSweep{0%{transform:translate3d(-4%,-2%,0) rotate(0);opacity:.55}to{transform:translate3d(4%,3%,0) rotate(2deg);opacity:.9}}@media(prefers-reduced-motion:reduce){.luminary-atmosphere:before,.luminary-atmosphere:after{animation:none}}.site-header{position:fixed;top:18px;left:50%;transform:translate(-50%);width:min(1180px,calc(100% - 32px));z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--panel-border);border-radius:999px;background:#0f1115d1;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 20px 70px #00000040}.brand-mark{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-orb{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--base-deep);background:linear-gradient(135deg,var(--ivory),var(--silver));font-weight:800;letter-spacing:-.05em}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{color:var(--ivory);line-height:1}.brand-mark small{color:var(--muted);font-size:.72rem;margin-top:4px}.main-nav{display:flex;align-items:center;gap:4px}.main-nav a{color:var(--cream);text-decoration:none;font-size:.9rem;padding:10px 14px;border-radius:999px;transition:color .35s var(--silk-ease),background .35s var(--silk-ease)}.main-nav a:hover,.main-nav a.is-active{color:var(--ivory);background:#b0b8c421}.nav-divider{width:1px;height:22px;background:var(--panel-border);margin:0 4px}.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:0}.nav-toggle span{display:block;width:22px;height:2px;background:var(--ivory);margin:5px auto;border-radius:999px}.side-progress{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;gap:12px}.side-progress a{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid transparent}.side-progress span{width:7px;height:7px;border-radius:50%;background:#f5f1e861;transition:transform .35s var(--silk-ease),background .35s var(--silk-ease)}.side-progress a.is-active{border-color:var(--panel-border-bright)}.side-progress a.is-active span{transform:scale(1.4);background:var(--ivory)}.portfolio-section{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;padding:118px 0}.section-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:clamp(28px,6vw,78px);align-items:center}.hero-section{padding-top:132px}.hero-image-wash{display:none}.hero-signal-field{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:.82;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.78) 16%,rgba(0,0,0,.88) 78%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.78) 16%,rgba(0,0,0,.88) 78%,transparent 100%)}.hero-signal-field canvas{width:100%;height:100%;display:block}.hero-section:after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 68% 32%,rgba(205,213,224,.12),transparent 34%),linear-gradient(90deg,#0f11158f,#0f111514,#0f11159e);pointer-events:none}.hero-shell{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);gap:clamp(30px,6vw,86px);align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--silver);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}h1,h2,h3,p{margin-top:0}.hero-copy h1,.section-copy h2,.section-heading h2{color:var(--ivory);letter-spacing:-.06em;line-height:.94}.hero-copy h1{font-size:clamp(4rem,11vw,9.4rem);margin:22px 0 12px;max-width:820px}.section-copy h2,.section-heading h2{font-size:clamp(2.5rem,6vw,5.8rem);margin:18px 0 24px}.hero-copy p,.section-copy p,.section-heading p{color:var(--cream);line-height:1.8;font-size:1.04rem;max-width:790px}.word-slider{height:42px;overflow:hidden;margin-bottom:24px;color:var(--ivory);font-size:clamp(1.2rem,2.5vw,1.85rem);font-weight:800}.word-slider-inner{transition:transform .7s var(--silk-ease)}.word-slide{height:42px;display:flex;align-items:center}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0}.primary-button,.secondary-button,.text-button,.pager-row button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:999px;cursor:pointer;transition:transform .35s var(--silk-ease),background .35s var(--silk-ease),border-color .35s var(--silk-ease)}.primary-button{border:0;color:var(--base-deep);background:linear-gradient(135deg,var(--ivory),var(--silver));padding:14px 22px;font-weight:800}.secondary-button,.pager-row button{border:1px solid var(--panel-border-bright);color:var(--ivory);background:#b0b8c414;padding:13px 20px;font-weight:700}.text-button{border:0;color:var(--ivory);background:transparent;padding:0;font-weight:800}.primary-button:hover,.secondary-button:hover,.text-button:hover,.pager-row button:hover:not(:disabled){transform:translateY(-2px)}button:disabled{opacity:.55;cursor:not-allowed}.hero-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px}.hero-highlights div,.kpi-tile,.repo-card,.education-card,.project-panel,.contact-card,.feature-console{border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft)}.hero-highlights div{border-radius:var(--radius-md);padding:16px}.hero-highlights strong,.hero-highlights span{display:block}.hero-highlights strong{color:var(--ivory);font-size:1.05rem}.hero-highlights span,.muted-copy,.software-status,.repo-meta,.kpi-tile small,.project-panel-header p,.result-card small{color:var(--muted)}.portrait-card{position:relative;padding:18px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#f5f1e81f,#b0b8c40d);border:1px solid var(--panel-border-bright);box-shadow:var(--shadow-soft)}.portrait-frame{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:.82;background:var(--slate-warm)}.portrait-frame img,.about-visual>img,.project-aside img{width:100%;height:100%;object-fit:cover;display:block}.portrait-frame-animated{isolation:isolate}.portrait-frame-animated .portrait-image-layer{position:absolute;inset:0;transform:scale(1.018);will-change:clip-path,opacity,transform}.portrait-frame-animated .portrait-image-primary{z-index:1;opacity:1;transform:scale(1)}.portrait-frame-animated .portrait-image-alternate{z-index:2;opacity:0;clip-path:inset(0 0 100% 0 round 26px);transition:clip-path 3.25s cubic-bezier(.22,1,.36,1),opacity 1.2s ease,transform 3.8s var(--silk-ease)}.portrait-stage-alternate .portrait-image-alternate{opacity:1;clip-path:inset(0 0 0 0 round 26px);transform:scale(1)}.portrait-stage-returning .portrait-image-alternate,.portrait-stage-complete .portrait-image-alternate{opacity:0;clip-path:inset(0 0 100% 0 round 26px);transform:scale(1.012);transition:clip-path 3.35s cubic-bezier(.22,1,.36,1),opacity 2.45s ease,transform 3.35s var(--silk-ease)}.portrait-frame-animated:after{content:"";position:absolute;left:-14%;right:-14%;height:38%;z-index:4;pointer-events:none;opacity:0;background:linear-gradient(180deg,#fff0,#ffffff12 28%,#f6e8c640 48%,#95c3ff2e 56%,#ffffff0f 72%,#fff0);filter:blur(10px);mix-blend-mode:screen}.portrait-stage-alternate:after{animation:portrait-refresh-down 3.25s cubic-bezier(.22,1,.36,1) both}.portrait-stage-returning:after{animation:portrait-refresh-up 3.35s cubic-bezier(.22,1,.36,1) both}@keyframes portrait-refresh-down{0%{opacity:0;transform:translateY(-115%)}20%,76%{opacity:.82}to{opacity:0;transform:translateY(286%)}}@keyframes portrait-refresh-up{0%{opacity:0;transform:translateY(286%)}20%,78%{opacity:.7}to{opacity:0;transform:translateY(-115%)}}.portrait-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px 6px}.portrait-caption strong,.portrait-caption span{display:block}.portrait-caption strong{color:var(--ivory)}.portrait-caption span{color:var(--muted);font-size:.9rem;text-align:right}.social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.social-links a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px;color:var(--ivory);text-decoration:none;border-radius:999px;border:1px solid var(--panel-border);background:#f5f1e80f}.social-links img{max-width:26px;max-height:26px;object-fit:contain}.about-grid{align-items:start}.about-visual{display:grid;gap:18px}.about-visual>img{aspect-ratio:1.1;border-radius:var(--radius-xl);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft)}.education-stack{display:grid;gap:14px}.education-card{display:grid;grid-template-columns:68px 1fr;gap:16px;align-items:center;border-radius:var(--radius-lg);padding:16px}.education-card img{width:68px;height:68px;border-radius:18px;object-fit:contain;background:#ffffffe6;padding:8px}.education-card strong,.education-card span,.education-card small{display:block}.education-card strong{color:var(--ivory)}.education-card span,.education-card small{color:var(--muted);line-height:1.55}.section-heading{margin-bottom:34px}.project-layout{display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:22px;align-items:stretch}.project-aside{display:grid;grid-template-rows:280px 1fr;gap:16px}.project-aside img{border-radius:var(--radius-xl);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft)}.tab-list{display:grid;gap:10px}.tab-list button{width:100%;border:1px solid var(--panel-border);color:var(--cream);background:#b0b8c40f;border-radius:var(--radius-md);padding:16px;text-align:left;cursor:pointer;transition:background .35s var(--silk-ease),border-color .35s var(--silk-ease),transform .35s var(--silk-ease)}.tab-list button span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;margin-bottom:7px}.tab-list button:hover,.tab-list button.is-active{transform:translateY(-2px);color:var(--ivory);border-color:var(--panel-border-bright);background:#b0b8c424}.project-panel{border-radius:var(--radius-xl);padding:clamp(22px,4vw,38px);min-height:620px}.project-panel-header{margin-bottom:26px}.project-panel-header h3{color:var(--ivory);font-size:clamp(1.8rem,4vw,3.3rem);line-height:1;margin:10px 0 14px;letter-spacing:-.04em}.stack-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.stack-list span,.status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--panel-border);background:#b0b8c414;color:var(--cream);padding:7px 10px;font-size:.82rem;font-weight:700}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kpi-tile{border-radius:var(--radius-lg);padding:18px}.kpi-label,.load-bar-label,.feature-toolbar span{color:var(--muted);font-size:.82rem}.kpi-tile strong{display:block;color:var(--ivory);font-size:1.08rem;margin:7px 0 4px}.digital-lights{display:inline-flex;align-items:center;gap:5px;margin-top:12px}.light-dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 14px currentColor}.light-muted{color:#b0b8c46b;background:currentColor}.status-healthy,.status-pill.good,.status-pill.low{color:var(--success);background:#22c55e1f;border-color:#22c55e5c}.status-degraded,.status-pill.warn,.status-pill.medium{color:var(--warning);background:#eab3081f;border-color:#eab3085c}.status-down,.status-pill.high{color:var(--danger);background:#ef44441f;border-color:#ef44445c}.is-pulsing .status-healthy,.is-pulsing .status-degraded,.is-pulsing .status-down{animation:pulseLight 1.6s ease-in-out infinite}@keyframes pulseLight{0%,to{transform:scale(.95);opacity:.75}50%{transform:scale(1.16);opacity:1}}.light-label{color:var(--muted);margin-left:6px;font-size:.84rem}.load-bar-wrap,.feature-console,.software-wrap{margin-top:18px}.load-bar-label{display:flex;justify-content:space-between;margin-bottom:8px}.load-bar{height:12px;border-radius:999px;overflow:hidden;background:#b0b8c424}.load-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--silver),rgba(96,165,250,.9))}.table-shell{overflow-x:auto;margin-top:18px;border:1px solid var(--panel-border);border-radius:var(--radius-lg)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:13px 14px;border-bottom:1px solid rgba(176,184,196,.14);text-align:left;vertical-align:top}th{color:var(--ivory);background:#f5f1e80f;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}td{color:var(--cream)}.feature-console{border-radius:var(--radius-lg);padding:18px}.feature-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.feature-toolbar strong,.feature-toolbar span{display:block}.feature-toolbar strong{color:var(--ivory);margin-bottom:4px}.compact-toolbar{margin:14px 0}.scan-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}input,textarea,select{width:100%;border:1px solid var(--panel-border);border-radius:var(--radius-md);color:var(--ivory);background:#0f1115b8;padding:13px 14px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--panel-border-bright)}.pager-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.pager-row button{padding:10px 16px}.result-card{border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:18px;background:#0f11158c}.result-card-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:6px}.result-card-header span,.result-card-header strong{color:var(--ivory)}.risk-high{color:var(--danger)!important}.risk-medium{color:var(--warning)!important}.risk-low{color:var(--success)!important}pre{white-space:pre-wrap;max-height:320px;overflow:auto;color:var(--cream);background:#080a0ea3;border-radius:var(--radius-md);padding:16px;line-height:1.6}.software-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.software-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.repo-card{border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;min-height:238px}.repo-card-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px}.repo-card-top a{color:var(--ivory);font-weight:800;text-decoration:none;overflow-wrap:anywhere}.repo-card-top span{color:var(--base-deep);background:var(--silver);border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:900;height:fit-content}.repo-card p{color:var(--cream);line-height:1.65;flex:1}.repo-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.82rem;margin-bottom:14px}.contact-section{min-height:auto;padding-bottom:34px}.contact-card{border-radius:var(--radius-xl);padding:clamp(22px,4vw,34px)}.contact-form{display:grid;gap:16px}.contact-form label{display:grid;gap:8px;color:var(--cream);font-weight:800}.form-error,.form-success{border-radius:var(--radius-md);padding:14px 16px;line-height:1.55}.form-error{color:#fecaca;background:#ef44441f;border:1px solid rgba(239,68,68,.38)}.form-success{color:#bbf7d0;background:#22c55e1f;border:1px solid rgba(34,197,94,.38)}.compact{margin:12px 0}.site-footer{width:min(1180px,calc(100% - 40px));margin:48px auto 0;padding-top:20px;color:var(--muted);border-top:1px solid var(--panel-border);text-align:center}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--silk-ease),transform .9s var(--silk-ease)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media(max-width:1080px){.main-nav{position:absolute;top:calc(100% + 12px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:14px;border-radius:26px;border:1px solid var(--panel-border);background:#0f1115f2}.main-nav.is-open{display:flex}.nav-toggle{display:block}.nav-divider{width:100%;height:1px}.hero-shell,.two-column,.project-layout{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(3.4rem,16vw,7rem)}.project-aside{grid-template-rows:auto}.project-aside img{aspect-ratio:16 / 8}.health-grid,.software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-progress{display:none}}@media(max-width:720px){.hero-signal-field{opacity:.62}.portfolio-section{padding:98px 0}.section-shell{width:min(100% - 28px,1180px)}.site-header{top:10px;width:calc(100% - 20px)}.hero-highlights,.health-grid,.software-grid,.social-links,.scan-form{grid-template-columns:1fr}.portrait-caption,.feature-toolbar,.software-status,.result-card-header{align-items:flex-start;flex-direction:column}.portrait-caption span{text-align:left}.project-panel{padding:18px;min-height:auto}.section-copy h2,.section-heading h2{font-size:clamp(2.2rem,14vw,4rem)}}@media(prefers-reduced-motion:reduce){.hero-signal-field{opacity:.44}.portrait-frame-animated .portrait-image-layer{transform:none;transition:none}.portrait-frame-animated:after{display:none}.portrait-frame-animated .portrait-image-alternate{opacity:0;clip-path:inset(0 0 100% 0 round 26px)}}.App{min-height:100vh}:root{color-scheme:dark}html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#0f1115;color:#f5f1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}a{color:inherit}#root{min-height:100vh}
