:root{font-family:Space Grotesk,sans-serif;color:#f2eee5;background:#191912;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-base: #191912;--bg-deep: #25241d;--panel-base: #8f8b68;--panel-top: #cfc2a1;--panel-edge: #d29b63;--panel-edge-soft: rgba(210, 155, 99, .22);--panel-shadow: rgba(92, 82, 56, .2);--panel-highlight: rgba(255, 247, 224, .14);--ink-soft: #d9d2c4;--line-soft: rgba(255, 255, 255, .08);--accent-orange: #d29b63;--accent-yellow: #d8c78f;--accent-green: #9fad83}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(216,199,143,.14),transparent 28%),radial-gradient(circle at bottom right,rgba(159,173,131,.12),transparent 30%),linear-gradient(180deg,#1c1c15,#2a2922)}a{color:inherit;text-decoration:none}#root{min-height:100vh}.page-shell{min-height:100vh;position:relative;overflow:hidden;padding:32px;display:flex;flex-direction:column;justify-content:center}.page-background{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 24%),linear-gradient(180deg,#28261d1f,#28261d6b)}.background-grid{position:absolute;inset:0}.page-content{position:relative;z-index:1;width:min(100%,1100px);margin:0 auto}.portfolio-shell{overflow:auto;justify-content:flex-start}.portfolio-background{background:linear-gradient(180deg,#201f19,#2a2821)}.glass-panel{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 18%),#26241de0;box-shadow:inset 0 1px #ffffff0a,0 30px 80px #16151138;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-card{width:100%;padding:56px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 18%),#26241de0;animation:rise .7s ease-out}.hero-copy{display:flex;flex-direction:column}.eyebrow,.section-label,.signal-panel p:first-of-type{margin:0 0 12px;font-family:IBM Plex Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:#ff755d;color:var(--accent-yellow)}h1{margin:0;max-width:11ch;font-size:clamp(3rem,7vw,6rem);line-height:.92;text-transform:uppercase;text-shadow:0 10px 30px rgba(0,0,0,.38)}.lede{max-width:620px;margin:24px 0 0;font-size:1.1rem;color:var(--ink-soft)}.social-widgets{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.social-widget{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,248,224,.12);background:#5a564457;color:#f2eee5;box-shadow:inset 0 1px #ffffff0d,0 12px 24px #18161124;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.social-widget:hover{transform:translateY(-2px);border-color:#d8c78f52;background:#716c5666;box-shadow:inset 0 1px #ffffff0f,0 16px 28px #1816112e}.social-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,#d8c78ff2,#d29b63eb);color:#332b20;font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:600;text-transform:uppercase}.social-icon svg{width:15px;height:15px;display:block;fill:currentColor}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}.primary-button,.secondary-button{padding:14px 20px;border-radius:10px;font-weight:700;text-transform:uppercase;box-shadow:0 12px 24px #0003;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.primary-button{border:1px solid var(--accent-orange);background:linear-gradient(180deg,#f6bb57 0%,var(--accent-orange) 100%);color:#2d281f}.secondary-button{border:1px solid rgba(242,217,107,.18);background:#78775c47}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);box-shadow:0 16px 28px #00000042}.details-grid{display:grid;gap:18px}.details-grid>article{padding:20px;border-radius:18px}.details-grid p,.signal-panel p:last-of-type{color:var(--ink-soft)}.details-grid{width:100%;margin-top:18px;grid-template-columns:1fr;align-items:start}.signal-panel h3{margin:0 0 8px;font-size:clamp(1.35rem,2.5vw,1.8rem)}.signal-panel{position:relative;overflow:hidden}.github-panel{display:grid;gap:12px}.github-panel-header{display:flex;align-items:center;gap:10px}.github-panel-header p{margin:0}.github-panel-copy{margin:0;font-size:.92rem}.github-repo-link{display:grid;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#22211a8a;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.github-repo-link:hover{transform:translateY(-1px);border-color:#d8c78f47;background:#2b2920b3}.github-repo-link span{font-family:IBM Plex Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#f2eee5b8}.github-repo-link strong{font-size:.98rem}.github-status-list{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.github-status-row{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.github-status-row span{font-family:IBM Plex Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#f2eee5b8}.github-status-row strong,.github-repo-link strong{font-size:.98rem}.github-language-list{display:flex;flex-wrap:wrap;gap:8px}.github-language-pill{padding:6px 10px;border-radius:999px;border:1px solid rgba(216,199,143,.18);background:#d8c78f1f;font-family:IBM Plex Mono,monospace;font-size:.72rem;color:#f3e8bf}.github-commit-list{display:grid;gap:8px}.github-commit-item,.github-status-empty{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.github-commit-item{transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.github-commit-item:hover{transform:translateY(-1px);border-color:#d8c78f3d;background:#2e2b228c}.github-commit-item span{font-family:IBM Plex Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#f2eee5b8}.github-commit-item strong{font-size:.92rem;line-height:1.35}.github-status-empty{font-size:.92rem;color:var(--ink-soft)}.github-activity-section{display:grid;gap:8px}.github-activity-label{margin:0;font-family:IBM Plex Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#f2eee5b8}.activity-graph{display:flex;align-items:flex-end;gap:2px;height:64px}.activity-bar{flex:1;min-width:0;height:var(--bar-pct, 0%);min-height:2px;border-radius:2px 2px 0 0;background:var(--accent-yellow);opacity:.55;transition:opacity .12s ease}.activity-bar:hover{opacity:1}.activity-bar-empty{opacity:.15}.signal-dot{width:10px;height:10px;display:inline-block;border-radius:50%;background:var(--accent-green);box-shadow:0 0 18px #98bf558c;margin-bottom:0}.signal-panel:after{content:"";position:absolute;inset:auto -30px -30px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(216,199,143,.2),transparent 65%)}.portfolio-page{width:100%;padding:40px;border-radius:24px;background:#2f2c24;border:1px solid rgba(255,248,224,.08);animation:rise .5s ease-out}.portfolio-page-header{display:grid;gap:8px}.portfolio-page h2{margin:0;font-size:clamp(2.3rem,5vw,4rem);line-height:.98;text-transform:uppercase}.portfolio-description{max-width:640px;margin:0;color:var(--ink-soft);font-size:1rem}.portfolio-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.portfolio-category-grid,.portfolio-project-grid{display:grid;gap:16px;margin-top:28px}.portfolio-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-category-card,.portfolio-project-card{border:1px solid rgba(255,248,224,.08);box-shadow:0 18px 32px #14130e2e}.portfolio-category-card{min-height:220px;padding:24px;border-radius:20px;display:flex;flex-direction:column;gap:14px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.portfolio-category-card:hover{transform:translateY(-3px);border-color:#fff8e02e;box-shadow:0 24px 38px #14130e3d}.portfolio-card-label,.portfolio-card-link{font-family:IBM Plex Mono,monospace;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.portfolio-card-label{color:#fff4d6e6}.portfolio-category-card h3{margin:0;font-size:1.35rem}.portfolio-category-card p{margin:0;color:#f0eadb}.portfolio-card-link{margin-top:auto;color:#fff8e0b8}.portfolio-project-card{display:flex;flex-direction:column;overflow:hidden;border:none;box-shadow:none;background:transparent}.portfolio-accent-sand{background:#7d6a4f}.portfolio-accent-amber{background:#91663c}.portfolio-accent-olive{background:#63714e}.portfolio-project-media{position:relative;display:grid;gap:10px;min-height:0;margin:0 10px;padding:0;border-radius:18px 18px 0 0;background:transparent;box-shadow:none}.portfolio-project-preview{position:relative;display:grid;align-content:end;gap:10px;min-height:0}.portfolio-project-chip{position:absolute;top:0;left:0;padding:6px 10px;border-radius:999px;background:#ffffff14;color:#fff8e0eb;font-family:IBM Plex Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.portfolio-project-embed-shell{width:100%;overflow:hidden;border-radius:14px;background:transparent;box-shadow:0 8px 16px #00000024}.portfolio-project-embed{width:100%;aspect-ratio:16 / 9;display:block;border:0}.portfolio-project-copy{flex:1;margin:0 10px;padding:22px 24px 24px;border-radius:0 0 18px 18px;background:#f3efe6;box-shadow:0 10px 18px #0000001f}.portfolio-project-copy h3{margin:0 0 10px;font-family:IBM Plex Mono,monospace;font-size:clamp(1.45rem,2.2vw,1.95rem);text-align:left;color:#141414}.portfolio-project-copy p{margin:0;font-family:IBM Plex Mono,monospace;font-size:.98rem;line-height:1.65;text-align:left;color:#171717}.background-glow{position:absolute;border-radius:999px;background:radial-gradient(circle,rgba(210,155,99,.34),transparent 72%);filter:blur(28px);opacity:.5;pointer-events:none}.glow-one{width:240px;height:240px;left:-40px;top:60px;animation:glowPulse 19s ease-in-out infinite}.glow-two{width:320px;height:220px;right:-60px;bottom:80px;opacity:.32;animation:glowPulse 15s ease-in-out infinite reverse;background:radial-gradient(circle,rgba(159,173,131,.28),transparent 72%)}.scene-tile{position:absolute;display:block;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 32%),linear-gradient(135deg,var(--panel-top) 0%,#b9b18c 42%,var(--panel-base) 100%);border:1px solid rgba(255,248,224,.12);box-shadow:0 20px 30px #27231b2e,0 9px 0 var(--panel-edge),0 16px 28px var(--panel-edge-soft),0 28px 40px var(--panel-shadow);animation:tileWave 6.5s ease-in-out infinite;will-change:transform}.scene-tile:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,var(--panel-highlight),transparent 42%),linear-gradient(0deg,rgba(88,82,63,.1),transparent 38%)}.panel-large{width:220px;height:130px}.panel-wide{width:250px;height:96px}.panel-square{width:150px;height:150px}.layer-1{top:-3%;left:-6%;animation-delay:0s}.layer-2{top:3%;left:14%;animation-delay:.45s}.layer-3{top:11%;left:30%;animation-delay:.9s}.layer-4{top:4%;right:18%;animation-delay:1.35s}.layer-5{top:16%;right:-4%;animation-delay:1.8s}.layer-6{top:29%;left:-2%;animation-delay:.3s}.layer-7{top:38%;left:18%;animation-delay:.8s}.layer-8{top:30%;left:41%;z-index:-1;animation-delay:1.25s}.layer-9{top:43%;right:13%;animation-delay:1.7s}.layer-10{top:57%;right:-2%;animation-delay:2.1s}.layer-11{top:63%;left:8%;animation-delay:.55s}.layer-12{top:68%;left:32%;z-index:-1;animation-delay:1.1s}.layer-13{top:62%;right:18%;animation-delay:1.65s}.layer-14{top:76%;right:-4%;animation-delay:2.2s}.layer-15{top:82%;left:-5%;animation-delay:.75s}.layer-16{top:85%;left:44%;z-index:-1;animation-delay:1.45s}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes tileWave{0%,to{transform:translateY(0);box-shadow:0 20px 30px #27231b2e,0 9px 0 var(--panel-edge),0 16px 28px var(--panel-edge-soft),0 28px 40px var(--panel-shadow)}35%{transform:translateY(-18px);box-shadow:0 28px 36px #342e2333,0 13px 0 var(--panel-edge),0 20px 30px #d29b633d,0 36px 44px #9fad832e}60%{transform:translateY(-10px)}80%{transform:translateY(0)}}@keyframes glowPulse{0%,to{transform:scale(1) translateZ(0);opacity:.45}50%{transform:scale(1.15) translate3d(10px,-6px,0);opacity:.75}}@media(max-width:820px){.page-shell{padding:18px}.hero-card{padding:28px}.github-status-list{grid-template-columns:1fr}.panel-large{width:164px;height:100px}.panel-wide{width:180px;height:72px}.panel-square{width:110px;height:110px}.social-widgets{gap:10px}.social-widget{width:100%;justify-content:center}.portfolio-page{padding:28px}.portfolio-category-grid,.portfolio-project-grid{grid-template-columns:1fr}.portfolio-project-media{min-height:0;margin:0 8px;padding:0}.portfolio-project-embed-shell{border-radius:12px}.portfolio-project-copy{margin:0 8px;padding:18px 18px 20px}.portfolio-project-copy h3{font-size:1.35rem}.portfolio-project-copy p{font-size:.94rem}.layer-1{top:4%;left:-18%}.layer-2{top:9%;left:12%}.layer-3{top:18%;left:42%}.layer-4{top:23%;right:10%}.layer-5{top:31%;right:-18%}.layer-6{top:42%;left:-12%}.layer-7{top:50%;left:12%}.layer-8{top:56%;left:40%}.layer-9{top:67%;right:10%}.layer-10{top:77%;right:-20%}.layer-11{top:83%;left:-8%}.layer-12{top:87%;left:22%}.layer-13{top:81%;right:8%}.layer-14{top:93%;right:-18%}.layer-15{top:98%;left:-12%}.layer-16{top:102%;left:36%}}
