@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700;800;900&display=swap";.portfolioTerminal{z-index:9999;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(26px)saturate(165%);color:#f4dff0;-webkit-user-select:none;user-select:none;transform:translate(var(--terminal-x), var(--terminal-y)) scale(1);background:radial-gradient(circle at 0 0,#ffd5e929,#0000 32%),radial-gradient(circle at 100% 0,#eadfff2e,#0000 34%),linear-gradient(#211c2bb8,#1a1623d1);border:1px solid #ffffff29;font-family:JetBrains Mono,Fira Code,Consolas,monospace;transition:opacity .26s,transform .42s cubic-bezier(.22,1,.36,1),filter .32s;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 30px 90px #1b142757,inset 0 1px #ffffff14}.portfolioTerminal.isOpen{opacity:1;pointer-events:auto;filter:blur();transform:translate(var(--terminal-x), var(--terminal-y)) scale(1)}.portfolioTerminal.isHidden{opacity:0;pointer-events:none;filter:blur(12px);transform:translate(var(--terminal-x), calc(var(--terminal-y) - 24px)) scale(.94)}.portfolioTerminal:before{content:"";pointer-events:none;opacity:.4;mix-blend-mode:soft-light;background:repeating-linear-gradient(#ffffff04 0 1px,#0000 1px 3px);position:absolute;inset:0}.terminalHeader{-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;background:linear-gradient(#ffffff14,#ffffff08);border-bottom:1px solid #ffffff14;align-items:center;gap:1rem;height:44px;padding-inline:1rem;display:flex}.terminalHeader:active{cursor:grabbing}.terminalButtons{flex-shrink:0;gap:.5rem;display:flex}.terminalButtons span{border-radius:999px;width:.72rem;height:.72rem;box-shadow:inset 0 1px 2px #ffffff38,0 0 12px #ffffff14}.terminalButtons span:first-child{background:#ffb3c7}.terminalButtons span:nth-child(2){background:#ffe4a8}.terminalButtons span:nth-child(3){background:#bdeccf}.terminalTitle{white-space:nowrap;text-overflow:ellipsis;color:#f5d7ff;letter-spacing:.04em;min-width:0;font-size:.78rem;font-weight:700;overflow:hidden}.terminalBody{text-shadow:0 0 10px #ffbef014;-webkit-user-select:text;user-select:text;background:linear-gradient(#ffffff04,#ffffff04);height:calc(100% - 44px);padding:1rem;font-size:.92rem;line-height:1.7;overflow:hidden auto}.terminalBody::-webkit-scrollbar{width:10px}.terminalBody::-webkit-scrollbar-track{background:0 0}.terminalBody::-webkit-scrollbar-thumb{background:#ffd5e929;border-radius:999px}.terminalLine{white-space:pre-wrap;word-break:break-word}.terminalLine.system{color:#ffc9e2}.terminalLine.input{color:#cbb6ff;margin-top:.5rem;font-weight:700}.terminalLine.output{color:#d9f6e4}.terminalLine.error{color:#ffb3c7}.terminalInputRow{color:#cbb6ff;align-items:center;gap:.6rem;margin-top:.45rem;display:flex}.terminalInputRow span{font-weight:800}.terminalInputRow input{color:#f7e6ff;min-width:0;font:inherit;caret-color:#ffc9e2;background:0 0;border:none;outline:none;flex:1}.terminalInputRow input::placeholder{color:#ffffff47}.terminalInputRow input::selection{background:#ffd5e938}.terminalLine::selection{background:#ffd5e938}.terminalResizeHandle{cursor:nwse-resize;opacity:.75;touch-action:none;width:28px;height:28px;position:absolute;bottom:0;right:0}.terminalResizeHandle:before{content:"";background:linear-gradient(135deg,#0000 0% 42%,#ffd5e98c 42% 52%,#0000 52%),linear-gradient(135deg,#0000 0% 62%,#cbb6ff8c 62% 72%,#0000 72%);position:absolute;inset:0}.terminalInputWrapper{flex:1;align-items:center;display:flex;position:relative}.terminalAutocompletePreview{pointer-events:none;font:inherit;white-space:pre;align-items:center;display:flex;position:absolute;inset:0}.terminalInputInvisible{visibility:hidden}.terminalAutocompleteGhost{color:#cbb6ff6b}.terminalInputWrapper input{z-index:1;background:0 0;width:100%;position:relative}.terminalPrompt{color:#cbb6ff;flex-shrink:0;font-weight:800}@media (width<=640px){.portfolioTerminal{border-radius:var(--radius-md);max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.terminalHeader{gap:.75rem;height:42px;padding-inline:.8rem}.terminalTitle{max-width:60vw;font-size:.7rem}.terminalButtons{gap:.42rem}.terminalButtons span{width:.62rem;height:.62rem}.terminalBody{height:calc(100% - 42px);padding:.85rem;font-size:.78rem;line-height:1.65}.terminalResizeHandle{width:38px;height:38px}}:root{--bg:#fff8fb;--bg-warm:#fff3df;--surface:#fffdffc7;--surface-solid:#fffdfd;--surface-tint:#fdf0f8;--lavender:#eadfff;--lavender-deep:#cdb8ff;--pink:#ffd5e9;--rose:#f4aeca;--sage:#dcf0e4;--mint:#c8ead9;--butter:#fff0b9;--gold:#c79b4d;--plum:#67476f;--berry:#a95a83;--ink:#3d3342;--muted:#7e7187;--soft:#67476f21;--border:#67476f29;--border-strong:#67476f47;--shadow:0 26px 80px #67476f21;--shadow-soft:0 14px 42px #67476f1a;--shadow-hover:0 34px 100px #67476f33;--container:1180px;--space-xs:.4rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-xl:34px;--bp-sm:640px;--bp-md:820px;--bp-lg:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 8% 8%,#ffd5e9f2,#0000 26rem),radial-gradient(circle at 92% 10%,#eadffff2,#0000 28rem),radial-gradient(circle at 50% 86%,#dcf0e4d9,#0000 34rem),linear-gradient(145deg,#fff9fb 0%,#fff5ed 46%,#f7f0ff 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;position:fixed;inset:0}body:before{z-index:-2;opacity:.35;background-image:radial-gradient(circle,#67476f1f 1px,#0000 1.35px),radial-gradient(circle,#c79b4d2e 1px,#0000 1.35px);background-position:0 0,18px 25px;background-size:34px 34px,82px 82px;-webkit-mask-image:linear-gradient(#000 0%,#0000 78%);mask-image:linear-gradient(#000 0%,#0000 78%)}body:after{z-index:-3;background:linear-gradient(110deg,#0000 0 42%,#ffffff52 42% 44%,#0000 44% 100%),linear-gradient(18deg,#0000 0 68%,#ffffff47 68% 70%,#0000 70% 100%)}::selection{background:var(--lavender-deep);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%}main{overflow:hidden}h1,h2,h3,p{margin-top:0}h1,h2{color:#463047;font-family:Cormorant Garamond,Georgia,serif}h1{letter-spacing:-.055em;max-width:780px;margin-bottom:1.25rem;font-size:clamp(3.1rem,17vw,7.8rem);line-height:.86}h2{letter-spacing:-.045em;margin-bottom:1rem;font-size:clamp(2.35rem,12vw,5.2rem);line-height:.9}h3{color:#49394f;letter-spacing:-.025em;margin-bottom:.7rem;font-size:1.18rem;line-height:1.22}p{color:var(--muted);line-height:1.75}.eyebrow{color:var(--berry);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .85rem;font-size:.76rem;font-weight:900}.shell{width:min(var(--container), calc(100% - 1rem));margin-inline:auto}.section{padding-block:clamp(3.5rem,8vw,7rem)}.sectionHeader{max-width:760px;margin-bottom:2rem}.splitHeader{align-items:flex-start;gap:var(--space-md);flex-direction:column;margin-bottom:2rem;display:flex}.autoGrid,.inventoryGrid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));display:grid}.autoGridWide{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.footer{text-align:center;color:var(--muted);padding:3rem 1rem 2rem}@media (width>=640px){.shell{width:min(var(--container), calc(100% - 2rem))}}@media (width>=900px){.splitHeader{flex-direction:row;justify-content:space-between;align-items:end}}.glass{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%)}.tags{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.tags span{color:var(--plum);background:#eadfffb8;border:1px solid #67476f14;border-radius:999px;padding:.42rem .64rem;font-size:.76rem;font-weight:850}.projectMetaStack{color:var(--plum);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.32rem;font-size:.72rem;font-weight:950;display:flex}.projectMetaStack.horizontal{flex-direction:row;align-items:flex-start;margin-bottom:.7rem}.pageTransition{min-height:100vh}.navbar{z-index:9000;width:min(calc(100% - 2rem), var(--container));-webkit-backdrop-filter:blur(24px)saturate(170%);background:linear-gradient(#ffffffad,#ffffff61);border:1px solid #ffffff94;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 18px 52px #67476f21,inset 0 1px #ffffffd1}.navbarLeft{-webkit-backdrop-filter:blur(18px)saturate(165%);background:linear-gradient(#ffffffbd,#ffffff7a);border:1px solid #ffffff85;border-radius:999px;align-items:center;gap:.75rem;padding:.45rem;display:flex;box-shadow:0 14px 38px #67476f1f,inset 0 1px #ffffffc7}.logo,.logoButton{align-items:center;gap:.8rem;display:flex}.logoIcon{border-radius:.75rem;flex-shrink:0;width:2rem;height:2rem;display:block}.logoButton{min-height:2.8rem;color:var(--plum);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 1rem 0 .8rem;font-size:.96rem;font-weight:800;transition:transform .22s,box-shadow .22s,background .22s;position:relative}.logoButton:hover{transform:translateY(-1px);box-shadow:0 12px 28px #a95a832e,inset 0 1px #ffffffbf}.logoButton:active{transform:scale(.98)}.logoMark{width:2rem;height:2rem;color:var(--berry);background:linear-gradient(135deg,#ffd5e9e6,#eadfffeb);border-radius:999px;place-items:center;font-size:.9rem;display:grid;box-shadow:inset 0 1px 1px #ffffffd9,0 6px 16px #a95a8329}.navBackButton,.terminalNavButton{min-width:2.8rem;height:2.8rem;color:var(--plum);font:inherit;cursor:pointer;background:linear-gradient(#ffffff8f,#ffffff52);border:1px solid #ffffff6b;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding-inline:.9rem;font-size:.9rem;font-weight:700;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;display:inline-flex;position:relative}.navBackButton:hover,.terminalNavButton:hover{background:radial-gradient(circle at 0 0,#ffd5e98c,#0000 42%),#ffffff8a;border-color:#ffd5e999;transform:translateY(-1px);box-shadow:0 10px 24px #a95a8324}.navBackButton:active,.terminalNavButton:active{transform:scale(.97)}.terminalNavButton{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-weight:900;overflow:hidden}.terminalNavButton:before{content:"";opacity:0;background:linear-gradient(135deg,#0000,#ffffff52,#0000);transition:opacity .22s;position:absolute;inset:0}.terminalNavButton:hover:before{opacity:1}.terminalNavButton span{z-index:1;position:relative}.terminalNavButton.isActive{color:var(--berry);background:radial-gradient(circle at 0 0,#cbb6ffd1,#0000 40%),linear-gradient(#ffd5e9a8,#ffffff4d);border-color:#cbb6ff6b;box-shadow:0 12px 30px #a95a8338,0 0 24px #cbb6ff38}.navToggle{cursor:pointer;background:linear-gradient(#ffffff9e,#ffffff57);border:1px solid #ffffff80;border-radius:999px;place-items:center;width:2.8rem;height:2.8rem;display:none}.navToggle span{background:var(--plum);border-radius:999px;width:1.1rem;height:2px;display:block}.navToggle span+span{margin-top:4px}.navbar nav{background:#ffffff47;border:1px solid #ffffff6b;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem;display:flex}.navLink,.navResume{min-height:2.55rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 .95rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,color .2s,box-shadow .2s;display:inline-flex}.navLink:hover,.navResume:hover{color:var(--plum);background:radial-gradient(circle at 0 0,#ffd5e994,#0000 46%),#ffffff75;transform:translateY(-1px);box-shadow:0 10px 22px #67476f1a}.navResume{color:var(--berry);background:linear-gradient(135deg,#ffd5e99e,#eadfff94)}@media (width<=900px){.navbar{border-radius:var(--radius-lg);align-items:flex-start}.navbarLeft{max-width:calc(100% - 3.4rem);overflow:hidden}.navToggle{flex-shrink:0;display:grid}.navbar nav{border-radius:var(--radius-lg);opacity:0;pointer-events:none;transform-origin:100% 0;-webkit-backdrop-filter:blur(22px)saturate(165%);background:linear-gradient(#ffffffd1,#ffffff8a);border:1px solid #ffffff94;flex-direction:column;align-items:stretch;gap:.35rem;min-width:220px;padding:.55rem;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:calc(100% + .75rem);right:0;transform:translateY(-10px)scale(.96);box-shadow:0 20px 60px #67476f29,inset 0 1px #fffc}.navbar nav.navOpen{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.navLink,.navResume{justify-content:flex-start;width:100%;min-height:2.65rem;padding-inline:1rem}}@media (width<=640px){.navbar{border-radius:var(--radius-lg);gap:.5rem;width:calc(100% - 1rem);padding:.35rem;top:.75rem}.navbarLeft{gap:.45rem;padding:.35rem}.logoButton{min-height:2.5rem;padding-right:.85rem}.logo{font-size:.82rem}.logoButton span:last-child{white-space:nowrap;text-overflow:ellipsis;max-width:34vw;overflow:hidden}.logoMark{width:1.8rem;height:1.8rem}.navBackButton,.terminalNavButton{min-width:2.5rem;height:2.5rem;padding-inline:.7rem;font-size:.82rem}.navBackButton span:last-child{display:none}.navToggle{width:2.5rem;height:2.5rem}.navbar nav{min-width:unset;left:0;right:0}}@media (width<=420px){.logoButton span:last-child{display:none}.logoButton{padding-right:.55rem}}.button,.cardActions a,.contactLinks a{border:1px solid var(--border);min-height:2.85rem;color:var(--plum);background:#ffffffc7;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.08rem;font-size:.93rem;font-weight:900;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex;box-shadow:0 10px 24px #67476f14}.button:hover,.cardActions a:hover,.contactLinks a:hover{background:#fff;transform:translateY(-2px);box-shadow:0 16px 34px #67476f24}.button.primary{color:#fff;background:linear-gradient(135deg, var(--plum), var(--berry));border-color:#67476f3d}.cardActions,.heroActions,.contactLinks{flex-wrap:wrap;gap:.8rem;margin-top:1.65rem;display:flex}.cardActions{margin-top:1.1rem}.cardActions a{min-height:2.45rem;padding:.58rem .82rem;font-size:.84rem}@media (width<=520px){.heroActions,.cardActions,.contactLinks{flex-direction:column;align-items:stretch}.button,.cardActions a,.contactLinks a{width:100%}}.projectCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:100%;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.projectCard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hover);transform:translateY(-7px)}.projectImageWrapper{aspect-ratio:4/3;border-bottom:1px solid var(--border);background:var(--lavender);position:relative;overflow:hidden}.projectImage{object-fit:cover;filter:saturate(1.04)contrast(1.03);width:100%;height:100%;transition:transform .4s;display:block}.projectCard:hover .projectImage{transform:scale(1.035)}.projectImageOverlay,.projectImageGlow{pointer-events:none;position:absolute}.projectImageOverlay{background:linear-gradient(#2018240d,#20182485);inset:0}.projectImageGlow{background:radial-gradient(circle,#ffd5e973,#0000 70%);border-radius:999px;width:14rem;height:14rem;top:-5rem;right:-5rem}.projectPlaceholder{isolation:isolate;background:radial-gradient(circle at 20% 18%,#ffffff24,#0000 24%),radial-gradient(circle at 82% 24%,#ffd7e938,#0000 28%),radial-gradient(circle at 50% 100%,#dcf0e42e,#0000 34%),linear-gradient(145deg,#7f5a83 0%,#6d547e 32%,#5e547d 68%,#556b73 100%);place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.projectPlaceholder:before{content:"";opacity:.45;background-image:radial-gradient(circle,#ffffff14 1px,#0000 1.5px);background-size:24px 24px;position:absolute;inset:0}.projectPlaceholder:after{content:"";background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid #ffffff24;border-radius:1.4rem;position:absolute;inset:1rem;box-shadow:inset 0 1px #ffffff14,0 18px 40px #00000029}.placeholderGlow{filter:blur(14px);background:radial-gradient(circle,#ffffff38,#0000 68%);border-radius:999px;width:15rem;height:15rem;animation:7s ease-in-out infinite placeholderFloat;position:absolute}.projectGlyph{z-index:3;aspect-ratio:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 28% 20%,#ffffffeb,#0000 42%),#ffffff2e;border:1px solid #ffffff47;border-radius:1.25rem;place-items:center;width:4.6rem;display:grid;position:absolute;bottom:1rem;left:1rem;box-shadow:0 12px 32px #00000029,inset 0 1px #ffffff3d}.projectGlyph span{color:#fff7fc;text-shadow:0 2px 10px #00000040;font-size:1.3rem;font-weight:950}.projectCardTop{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding:1rem 1.1rem 0;display:flex}.rarityPill{color:#8a6530;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#fff0b9b8;border:1px solid #c79b4d33;border-radius:999px;width:fit-content;padding:.35rem .58rem;font-size:.7rem;font-weight:950}.projectCardContent{flex-direction:column;flex:1;padding:1rem 1.1rem 1.2rem;display:flex}.projectCardContent .cardActions{margin-top:auto;padding-top:1.1rem}.projectDetails{font-size:.88rem}.projectCardLink{color:inherit;text-decoration:none;display:block}.projectCard{cursor:pointer}@keyframes placeholderFloat{0%,to{transform:translate(-1rem,.4rem)scale(1)}50%{transform:translate(1rem,-.6rem)scale(1.08)}}@media (width>=700px){.projectImageWrapper{aspect-ratio:16/10}}.inventoryWindow,.commandPanel,.consoleMini{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%)}.inventoryWindow{border-radius:var(--radius-xl);width:100%;padding:1rem}.windowTitle{color:var(--plum);justify-content:space-between;align-items:center;padding:.25rem .25rem .9rem;font-weight:900;display:flex}.windowTitle small{color:var(--muted);font-weight:800}.inventoryPreview{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}.inventorySlot{border:1px solid var(--border);min-height:128px;color:var(--plum);text-align:center;background:radial-gradient(circle at 28% 18%,#ffffffe6,#0000 42%),linear-gradient(135deg,#ffffffe6,#eadfffcc);border-radius:1.4rem;align-content:center;place-items:center;gap:.15rem;padding:1rem;transition:transform .18s;display:grid;box-shadow:inset 0 1px #fffffff2,0 10px 24px #67476f14}.inventorySlot:hover{transform:translateY(-4px)rotate(-1deg)}.inventorySlot.featured{background:radial-gradient(circle at top left, #ffffffeb, transparent 45%), linear-gradient(135deg, var(--pink), var(--lavender))}.slotIcon{font-size:1.6rem;line-height:1}.inventorySlot strong{font-size:1.05rem}.inventorySlot small{color:var(--muted);font-weight:800}@media (width>=820px){.inventoryWindow{width:min(430px,100%);position:absolute;inset:1rem 0 auto auto;transform:rotate(2deg)}}.commandPanel{border-radius:1.4rem;width:100%;padding:1rem}.commandHeader{gap:.4rem;margin-bottom:.8rem;display:flex}.commandHeader span{background:var(--pink);border-radius:999px;width:.65rem;height:.65rem}.commandHeader span:nth-child(2){background:var(--butter)}.commandHeader span:nth-child(3){background:var(--sage)}.commandLines,.consoleMini{font-family:Cascadia Code,Fira Code,Consolas,monospace}.commandLines{font-size:.82rem}.commandLines p{color:var(--plum);margin:.35rem 0}.commandLines span,.consoleMini span{color:var(--gold);font-weight:900}.commandLines .mutedLine{color:var(--muted);padding-left:1.2rem}.consoleMini{width:100%;min-width:0;color:var(--plum);border-radius:1rem;padding:.85rem 1rem;font-size:.88rem}@media (width>=820px){.commandPanel{width:min(340px,88%);position:absolute;bottom:1.5rem;left:0;transform:rotate(-3deg)}}@media (width>=900px){.consoleMini{width:auto;min-width:230px}}.magicCursorLayer{z-index:9999;pointer-events:none;position:fixed;inset:0;overflow:hidden}.magicSparkle{opacity:0;width:1.8rem;height:1.8rem;transform:translate(-50%, -50%) rotate(var(--rotation)) scale(var(--scale));place-items:center;animation:1.25s cubic-bezier(.22,1,.36,1) forwards magicSparkleFloat;display:grid;position:absolute;top:0;left:0}.magicSparkle:before{content:"";filter:blur(32px);opacity:1;background:radial-gradient(circle,#fff 0%,#ffb6d6fa 18%,#ff8cc4d1 38%,#ffd6e86b 58%,#0000 78%);border-radius:999px;position:absolute;inset:-.45rem}.magicSparkle:after{content:attr(data-glyph);color:#d5e6f2;text-shadow:0 0 4px #fff,0 0 10px #fff0f8,0 0 18px #ffb6d6,0 0 34px #ff8cc4,0 0 54px #ff69b4f2,0 0 84px #ff69b4a6;filter:drop-shadow(0 0 10px #ffb6d6f2)drop-shadow(0 0 20px #ff8cc4bf)drop-shadow(0 0 38px #ff69b48c);font-size:1.2rem;line-height:1;position:relative}@keyframes magicSparkleFloat{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--rotation)) scale(.2)}32%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(calc(var(--rotation) + 220deg)) scale(.1)}}@media (width<=819px){.magicSparkle{width:5.8rem;height:5.8rem}.magicSparkle:after{text-shadow:0 0 6px #fff,0 0 14px #fff0f8,0 0 26px #ffb6d6,0 0 46px #ff69b4f2,0 0 72px #ff69b4bf;font-size:1.9rem}}.hero{grid-template-columns:1fr;align-items:center;gap:clamp(3rem,6vw,6rem);min-height:86vh;padding:clamp(4rem,8vw,7rem) 0 clamp(4rem,7vw,6rem);display:grid}.heroContent{z-index:2;position:relative}.hero h1{letter-spacing:-.055em;max-width:10ch;color:var(--text-primary);margin-bottom:1.5rem;font-size:clamp(3.2rem,8vw,6.4rem);line-height:.92}.heroText{max-width:620px;color:var(--text-secondary);margin-bottom:2rem;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.8}.heroActions{flex-wrap:wrap;gap:1rem;margin-bottom:1.8rem;display:flex}.heroVisual{justify-content:center;width:100%;display:flex}@media (width>=980px){.hero{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)}.heroVisual{justify-content:flex-end}}@media (width<=860px){.hero{min-height:auto}.hero h1{max-width:100%}}.featuredProject{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);background:radial-gradient(circle at 18% 10%,#fffffff2,#0000 30%),radial-gradient(circle at 90% 0,#ffd5e97a,#0000 34%),radial-gradient(circle at 10% 100%,#dcf0e46b,#0000 34%),linear-gradient(145deg,#fffdffe6,#eadfff8a);grid-template-columns:1fr;align-items:center;gap:2rem;margin-top:1rem;padding:clamp(1.25rem,3vw,2.2rem);display:grid}.featuredCopy{max-width:560px}.featuredCopy h2{color:var(--text-primary);margin-bottom:1rem;font-size:clamp(2rem,5vw,3rem);line-height:1}.featuredCopy p{color:var(--text-secondary);line-height:1.8}.featureStats{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.75rem;margin:1.4rem 0 1rem;display:grid}.featureStats div{border:1px solid var(--border);background:#ffffff8f;border-radius:1.2rem;padding:.9rem}.featureStats strong,.featureStats span{display:block}.featureStats strong{color:var(--plum);font-size:1.05rem}.featureStats span{color:var(--muted);font-size:.82rem;font-weight:700}.featuredVisual{min-height:auto}.engineCard{border:1px solid var(--border);background:linear-gradient(135deg,#ffffffc7,#eadfff8c);border-radius:1.8rem;height:100%;min-height:320px;overflow:hidden;box-shadow:inset 0 1px #fffffff2}.engineCardBar{border-bottom:1px solid var(--border);align-items:center;gap:.45rem;height:44px;padding:0 1rem;display:flex}.engineCardBar span{background:var(--pink);border-radius:999px;width:.72rem;height:.72rem}.engineCardBar span:nth-child(2){background:var(--butter)}.engineCardBar span:nth-child(3){background:var(--sage)}.engineViewport{background:#15131a;height:calc(100% - 44px);min-height:276px;position:relative;overflow:hidden}.engineScreenshot{width:100%;height:100%;min-height:inherit;object-fit:cover;filter:saturate(1.05)contrast(1.02);display:block}.featuredProjectHero{-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:radial-gradient(circle at 18% 10%,#fffffff2,#0000 30%),radial-gradient(circle at 90% 0,#ffd5e97a,#0000 34%),radial-gradient(circle at 10% 100%,#dcf0e46b,#0000 34%),linear-gradient(145deg,#fffdffe6,#eadfff8a);border-radius:1.6rem;gap:1.1rem;width:min(100%,460px);margin-top:0;padding:1rem}.featuredProjectHero .featuredCopy{max-width:none}.featuredProjectHero .featuredCopy h2{margin-bottom:.55rem;font-size:1.45rem}.featuredProjectHero .featuredCopy p{font-size:.92rem;line-height:1.65}.featuredProjectHero .featureStats{gap:.65rem;margin:1rem 0 0}.featuredProjectHero .featureStats div{border-radius:1rem;padding:.75rem}.featuredProjectHero .featureStats strong{font-size:.88rem}.featuredProjectHero .featureStats span{font-size:.72rem;line-height:1.35}.featuredProjectHero .tagList{display:none}.featuredProjectHero .engineCard{border-radius:1.4rem;min-height:0}.featuredProjectHero .engineCardBar{height:36px;padding:0 .85rem}.featuredProjectHero .engineCardBar span{width:.58rem;height:.58rem}.featuredProjectHero .engineViewport{aspect-ratio:16/10;height:auto;min-height:0}.featuredProjectHero .engineScreenshot{min-height:0}@media (width>=1080px){.featuredProject:not(.featuredProjectHero){grid-template-columns:.9fr 1.1fr}.featuredProject:not(.featuredProjectHero) .engineCard{min-height:370px}.featuredProject:not(.featuredProjectHero) .engineViewport{min-height:326px}}@media (width<=640px){.featuredProjectHero{width:100%}.engineCard{border-radius:1.35rem}.featureStats{gap:.5rem}.featureStats div{padding:.7rem}.featureStats strong{font-size:.88rem}.featureStats span{font-size:.7rem;line-height:1.3}}.techStackGrid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.85rem;width:100%;max-width:1280px;margin-inline:auto;display:grid}.techStackCard{isolation:isolate;-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);background:radial-gradient(circle at 18% 10%,#fffffff2,#0000 30%),radial-gradient(circle at 90% 0,#ffd5e97a,#0000 34%),radial-gradient(circle at 10% 100%,#dcf0e46b,#0000 34%),linear-gradient(145deg,#fffdffe6,#eadfff8a);border:1px solid #ffffff94;border-radius:1.25rem;flex-direction:column;width:100%;height:100%;padding:.85rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 18px 52px #67476f1a}.techStackCard:hover{border-color:#a95a833d;transform:translateY(-3px);box-shadow:inset 0 1px #ffffffd1,0 26px 72px #67476f29}.techStackCard:before{content:"";z-index:-1;opacity:.22;pointer-events:none;background-image:radial-gradient(circle,#67476f14 1px,#0000 1.35px);background-size:24px 24px;position:absolute;inset:0}.techStackCard:after{content:"";z-index:-1;filter:blur(6px);background:radial-gradient(circle,#ffd5e97a,#0000 70%);border-radius:999px;width:8rem;height:8rem;position:absolute;bottom:-4rem;right:-3.5rem}.techStackHeader,.techStackList{z-index:1;position:relative}.techStackHeader{align-items:center;gap:.65rem;margin-bottom:.7rem;display:flex}.techStackIcon{aspect-ratio:1;background:radial-gradient(circle at 28% 20%, #fffffff2, transparent 42%), linear-gradient(135deg, var(--pink), var(--lavender));width:2.25rem;color:var(--plum);border-radius:.8rem;flex:none;place-items:center;font-size:.9rem;font-weight:950;display:grid;box-shadow:inset 0 1px #ffffffe0,0 10px 22px #67476f1c}.techStackHeader h3{min-width:0;color:var(--plum);letter-spacing:-.02em;margin:0;font-size:.95rem;line-height:1.12}.techStackList{flex:1;align-content:start;gap:.46rem;display:grid}.techStackRow{grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr));gap:.46rem;display:grid}.techStackRow:nth-child(odd) .techStackItem{--stack-tint:linear-gradient(145deg, #ffffffc7, #ffffff85)}.techStackRow:nth-child(2n) .techStackItem{--stack-tint:linear-gradient(145deg, #f4e8f2eb, #e7dcf0ad);border-left-color:#a95a8380;box-shadow:inset 0 1px #ffffff9e,0 8px 18px #67476f14}.techStackItem{min-width:0;min-height:2.05rem;color:var(--plum);text-align:center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);--stack-tint:linear-gradient(145deg, #ffffffbd, #ffffff70);background:radial-gradient(circle at top left, #ffffffbd, transparent 46%), var(--stack-tint);border:1px solid #ffffffad;border-left:2px solid #a95a8361;border-radius:.72rem;justify-content:center;align-items:center;padding:.44rem .48rem;font-size:clamp(.66rem,1.1vw,.78rem);font-weight:850;line-height:1.12;transition:transform .18s,box-shadow .18s,background-color .18s;display:flex;box-shadow:inset 0 1px #ffffffad,0 6px 14px #67476f0d}.techStackItem:hover{background:radial-gradient(circle at 0 0,#ffffffe6,#0000 46%),linear-gradient(145deg,#ffffffd6,#fff5fc94);transform:translateY(-2px);box-shadow:inset 0 1px #ffffffd1,0 10px 20px #67476f1a}.skillsSection .sectionHeader{text-align:center;margin-inline:auto}@media (width<=900px){.techStackGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}}@media (width<=560px){.techStackGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.techStackCard{border-radius:.9rem;padding:.58rem}.techStackHeader{gap:.42rem;margin-bottom:.45rem}.techStackIcon{border-radius:.62rem;width:1.75rem;font-size:.75rem}.techStackHeader h3{font-size:.76rem;line-height:1.05}.techStackList{gap:.3rem}.techStackRow{grid-template-columns:repeat(auto-fit,minmax(3.8rem,1fr));gap:.3rem}.techStackItem{border-left-width:2px;border-radius:.48rem;min-height:1.55rem;padding:.28rem .3rem;font-size:.56rem;line-height:1.08}}.aboutLayout{grid-template-columns:1fr;align-items:stretch;gap:1rem;display:grid}.textPanel,.aboutNote{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);padding:clamp(1.4rem,3vw,2rem)}.aboutNote{background:radial-gradient(circle at 18% 18%, #ffd5e98c, transparent 45%), var(--surface);flex-direction:column;justify-content:center;display:flex}.aboutNote span{color:var(--berry);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:950}.aboutNote strong{color:var(--plum);letter-spacing:-.04em;margin:.6rem 0 .8rem;font-size:1.6rem;line-height:1.1;display:block}@media (width>=900px){.aboutLayout{grid-template-columns:1.2fr .8fr}}.contactSection{padding-bottom:4rem}.contactPanel{text-align:center;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);padding:clamp(1.4rem,3vw,2rem);position:relative;overflow:hidden}.contactPanel:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffd5e9a6,#0000 70%);border-radius:999px;width:24rem;height:24rem;position:absolute;top:-14rem;left:50%;transform:translate(-50%)}.contactPanel>*{position:relative}.contactPanel p{max-width:620px;margin-inline:auto}.contactLinks{justify-content:center}.artGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1rem;display:grid}.artCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);grid-template-columns:1fr;align-items:center;gap:1.2rem;padding:1rem;display:grid}.artPreview{aspect-ratio:16/10;border:1px solid var(--border);background:radial-gradient(circle at top left, #ffffffe6, transparent 42%), linear-gradient(135deg, var(--sage), var(--pink));border-radius:1.4rem;place-items:center;min-height:180px;display:grid;position:relative;overflow:hidden}.artPreview img{object-fit:cover;width:100%;height:100%;display:block}.artPreview span{color:var(--plum);font-size:2.3rem}@media (width>=620px){.artCard{grid-template-columns:150px minmax(0,1fr)}.artPreview{aspect-ratio:1;min-height:150px}}.projectPage{padding-top:clamp(2rem,5vw,4rem)}.projectPageHero,.projectPagePanel,.projectInfoCard{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%)}.projectPageHero{border-radius:var(--radius-xl);grid-template-columns:.92fr 1.08fr;align-items:stretch;gap:clamp(1rem,3vw,2rem);padding:clamp(1rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.projectPageHero:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffd5e98c,#0000 70%);border-radius:999px;width:28rem;height:28rem;position:absolute;top:-12rem;left:-10rem}.projectPageHero:after{content:"";pointer-events:none;background:radial-gradient(circle,#dcf0e48c,#0000 70%);border-radius:999px;width:24rem;height:24rem;position:absolute;bottom:-12rem;right:-8rem}.projectPageCopy,.projectPageVisual{z-index:1;position:relative}.projectPageCopy{flex-direction:column;justify-content:center;padding:clamp(.5rem,2vw,1rem);display:flex}.projectPageMeta{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.projectPageMeta .projectGlyph{background:radial-gradient(circle at 28% 20%, #fffffff2, transparent 42%), linear-gradient(135deg, var(--pink), var(--lavender));border:1px solid #ffffff8c;flex:none;width:4.8rem;position:static;box-shadow:inset 0 1px #fffc,0 18px 42px #67476f24}.projectPageMeta .projectGlyph span{color:var(--plum);text-shadow:none}.projectPageInfo{flex-wrap:wrap;gap:.45rem;display:flex}.projectPageInfo span{border:1px solid var(--border);color:var(--plum);letter-spacing:.08em;text-transform:uppercase;background:#ffffff94;border-radius:999px;padding:.38rem .62rem;font-size:.75rem;font-weight:900}.projectPageLead{max-width:620px;margin-bottom:1rem;font-size:clamp(1.02rem,1.4vw,1.18rem)}.projectPageActions{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.projectPageActions a{border:1px solid var(--border);min-height:2.85rem;color:var(--plum);background:#ffffffc7;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.08rem;font-size:.93rem;font-weight:900;display:inline-flex}.projectPageVisual{border:1px solid var(--border);border-radius:calc(var(--radius-xl) - .6rem);background:linear-gradient(145deg,#7f5a83f2,#556b73f2);min-height:420px;position:relative;overflow:hidden}.projectPageVisual:after{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffd5e933,#0000 34%),linear-gradient(#0000 52%,#20182466);position:absolute;inset:0}.projectPageVisual img{object-fit:cover;width:100%;height:100%;display:block}.projectPagePlaceholder{background:radial-gradient(circle at 20% 18%,#ffffff24,#0000 24%),linear-gradient(145deg,#7f5a83 0%,#6d547e 40%,#556b73 100%);place-items:center;width:100%;height:100%;display:grid}.projectPagePlaceholder .projectGlyph{position:static}.projectPagePanel{border-radius:var(--radius-xl);margin-top:1rem;padding:clamp(1.4rem,3vw,2rem)}.projectPagePanel h2{max-width:720px}.projectPagePanel p{max-width:820px;margin-bottom:0}.projectPageGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.projectInfoCard{border-radius:var(--radius-lg);padding:1.25rem}.projectInfoCard span,.projectInfoCard strong{display:block}.projectInfoCard span{color:var(--berry);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem;font-size:.76rem;font-weight:950}.projectInfoCard strong{color:var(--plum);font-size:1.25rem;line-height:1.1}@media (width<=900px){.projectPageHero{grid-template-columns:1fr}.projectPageVisual{min-height:320px}.projectPageGrid{grid-template-columns:1fr}}@media (width<=560px){.projectPage{padding-top:1rem}.projectPageHero,.projectPagePanel{border-radius:1.55rem}.projectPageVisual{border-radius:1.25rem;min-height:240px}.projectPageMeta{flex-direction:column;align-items:flex-start}.projectPageActions{flex-direction:column}.projectPageActions a{width:100%}}
