:root { --ink: #315678; --line: #9fcbe4; --blue: #dff3ff; --paper: #f8fdff; --soft: #edf9ff; --accent: #6faed2; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #eaf7fd; font-family: Nunito, sans-serif; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .34; background-image: radial-gradient(#82b8d4 0.65px, transparent .65px); background-size: 5px 5px; mix-blend-mode: multiply; }
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .48; background: radial-gradient(circle at 3% 27%, rgba(126, 190, 222, .22) 0 7%, transparent 7.2%), radial-gradient(circle at 97% 72%, rgba(163, 216, 239, .26) 0 9%, transparent 9.2%), radial-gradient(circle at 7% 79%, rgba(104, 170, 207, .18) 0 2px, transparent 3px), radial-gradient(circle at 93% 21%, rgba(104, 170, 207, .18) 0 2px, transparent 3px); }
.page-shell { position: relative; width: min(1380px, calc(100% - 28px)); margin: 24px auto; display: grid; grid-template-columns: 270px 1fr; overflow: hidden; border: 2px solid var(--line); border-radius: 28px; background: rgba(248,253,255,.82); box-shadow: 0 16px 50px rgba(94,150,184,.16); }
.sidebar { display: flex; flex-direction: column; padding: 42px 26px; border-right: 2px solid var(--line); background: rgba(221,243,255,.6); }
.eyebrow,.panel-label,.section-heading { margin: 0; font: 22px/1 "VT323", monospace; letter-spacing: .6px; color: #5487a7; }
h1 { margin: 9px 0 20px; font: 43px/.9 "VT323", monospace; color: #285579; font-weight: 400; letter-spacing: -.8px; white-space: nowrap; }
.intro { line-height: 1.55; margin: 0 0 28px; font-size: 15px; }
nav { display: grid; gap: 8px; }
nav a { color: var(--ink); text-decoration: none; padding: 9px 12px; border: 1.5px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.62); transition: transform .2s, background .2s; }
nav a:hover { background: white; transform: translateX(4px); }
.side-orbit { position: relative; flex: 1; min-height: 225px; margin: 18px -8px 0; overflow: hidden; border: 1.5px solid rgba(159,203,228,.8); border-radius: 100px 100px 24px 24px; background: radial-gradient(circle at 72% 21%, rgba(255,255,255,.92) 0 11%, transparent 11.5%), linear-gradient(150deg, rgba(234,249,255,.88), rgba(196,231,248,.56)); }
.side-orbit::before { content: ""; position: absolute; width: 150px; height: 150px; left: -51px; bottom: -52px; border: 1px dashed rgba(89,155,193,.55); border-radius: 50%; }
.side-orbit::after { content: ""; position: absolute; width: 94px; height: 94px; right: -34px; top: 51px; border: 1px solid rgba(89,155,193,.38); border-radius: 50%; }
.orbit-cloud,.orbit-star,.orbit-terminal,.orbit-spark { position: absolute; color: #70acd0; }
.orbit-cloud { font-size: 46px; color: #b9e0f5; text-shadow: 0 2px 0 #80b9d9; }
.cloud-one { top: 36px; left: 17px; }.cloud-two { bottom: 38px; right: 12px; font-size: 37px; }
.orbit-star { top: 28px; right: 29px; font-size: 22px; }.orbit-terminal { z-index: 1; left: 50%; top: 49%; transform: translate(-50%,-50%) rotate(-7deg); padding: 10px 13px; border: 1.5px solid #83b9d8; border-radius: 12px; background: rgba(255,255,255,.82); box-shadow: 3px 4px 0 rgba(136,194,224,.22); font: 29px "VT323", monospace; color: #3d7da4; }.orbit-spark { font-size: 24px; }.spark-one { bottom: 22px; left: 30px; }.spark-two { top: 79px; right: 52px; font-size: 34px; }
.tiny-note { margin: 18px 0 0; font: 19px/1.05 "VT323", monospace; color: #6698b6; }
.content { padding: 26px; }
.hero { min-height: 306px; display: flex; align-items: center; overflow: hidden; padding: 30px 24px 18px 32px; border: 2px solid var(--line); border-radius: 22px; background: linear-gradient(115deg, #ecfaff, #d8f0fc); }
.hero-copy { position: relative; z-index: 1; width: 56%; }
.status { display: inline-flex; gap: 7px; align-items: center; padding: 6px 10px; border-radius: 99px; border: 1px solid #b4dcf1; background: rgba(255,255,255,.7); font-size: 12px; }
.status span { width: 8px; height: 8px; border-radius: 50%; background: #81c8aa; }
h2 { margin: 14px 0 12px; font: 38px/.9 "VT323", monospace; font-weight: 400; color: #2c5c7d; }
.hero-copy p { max-width: 355px; margin: 0; line-height: 1.5; }
.pet { align-self: end; width: min(46%, 330px); margin: -10px -12px -28px auto; filter: drop-shadow(0 10px 10px rgba(57,107,140,.16)); }
.panel { border: 2px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.66); }
.welcome { margin: 18px 0 29px; padding: 17px 22px; max-width: 510px; transform: rotate(-.3deg); }
.welcome p:last-child { margin: 7px 0 0; line-height: 1.42; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; }
.section-heading span { font-size: 17px; }
.projects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.project-card { min-height: 190px; padding: 16px; border: 2px solid var(--line); border-radius: 21px 21px 8px 8px; background: linear-gradient(180deg, rgba(225,245,255,.9), rgba(255,255,255,.8)); }
.project-icon { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #5f9cc2; font-size: 18px; }
h3 { margin: 22px 0 7px; font: 27px/1 "VT323", monospace; font-weight: 400; }
.project-card p { min-height: 44px; margin: 0 0 9px; font-size: 13px; line-height: 1.35; }
.project-card a { display: inline-block; padding: 9px 14px; border: 2px solid #417da6; border-radius: 11px; background: linear-gradient(180deg, #79bde2, #569dca); box-shadow: 0 3px 0 #397ca8, 0 5px 10px rgba(56,122,164,.2); color: #fff; font: 800 13px/1 Nunito, sans-serif; letter-spacing: .2px; text-decoration: none; text-shadow: 0 1px 0 rgba(31,83,119,.3); transition: transform .15s, box-shadow .15s, filter .15s; }
.project-card a:hover { filter: brightness(1.06); transform: translateY(-2px); box-shadow: 0 5px 0 #397ca8, 0 8px 14px rgba(56,122,164,.24); }
.project-card a:active { transform: translateY(2px); box-shadow: 0 1px 0 #397ca8; }
.future { opacity: .75; border-style: dashed; }
.links { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 27px; padding: 16px 21px; }
.links h2 { margin: 4px 0 0; }
.socials { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-left: 42px; }
.socials a { min-width: 0; padding: 8px 9px; border-radius: 10px; background: #e3f4ff; color: #376f91; text-align: center; text-decoration: none; font: 18px "VT323", monospace; }
.socials a span { opacity: .65; }
footer { grid-column: 1 / -1; padding: 9px; border-top: 2px solid var(--line); background: #d8f1ff; text-align: center; font: 18px "VT323", monospace; }
@media (max-width: 760px) { body::after { opacity: .22; } .page-shell { width: min(100% - 20px, 600px); grid-template-columns: 1fr; margin: 10px auto; border-radius: 20px; } .sidebar { border-right: 0; border-bottom: 2px solid var(--line); padding: 28px 23px; } .side-orbit { display: none; } .tiny-note { display: none; } .content { padding: 14px; } .hero { min-height: 300px; padding: 22px 15px; } .hero-copy { width: 63%; } .pet { width: 48%; margin-right: -22px; } .projects { grid-template-columns: 1fr; } .links { align-items: flex-start; flex-direction: column; } .socials { width: 100%; margin-left: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 430px) { .hero { display: block; min-height: 405px; } .hero-copy { width: 100%; } .pet { display: block; width: 70%; margin: 3px auto -25px; } .socials { grid-template-columns: 1fr; } }
