@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Orbitron:wght@500;700;800&family=Oxanium:wght@500;600;700&family=Rajdhani:wght@400;500;600;700&display=swap";.admin-shell{min-height:100vh;background:radial-gradient(circle at 20% 20%,#2f1848 0%,transparent 35%),radial-gradient(circle at 85% 8%,#4d173a 0%,transparent 30%),linear-gradient(180deg,#0b0414,#120713);color:#f6efff;padding:1.2rem;font-family:Rajdhani,sans-serif}.admin-wrap{width:min(1180px,100%);margin:0 auto;border:1px solid rgba(233,132,255,.3);border-radius:20px;background:#170a23c7;padding:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-topbar{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.admin-topbar h1{margin:0;font-family:Orbitron,sans-serif;font-size:clamp(1.15rem,3.6vw,1.95rem)}.admin-topbar-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.admin-link-btn,.admin-icon-btn{border:1px solid rgba(255,183,229,.45);border-radius:999px;padding:.42rem .88rem;text-decoration:none;background:#300e3ac2;color:#f6efff;display:inline-flex;align-items:center;gap:.4rem;font-family:inherit;font-size:.95rem;transition:transform .2s ease,border-color .2s ease,background .2s ease}.admin-link-btn:hover,.admin-icon-btn:hover{transform:translateY(-1px);border-color:#ffd8f3c7}.admin-icon-btn{cursor:pointer}.admin-icon-btn.default{background:#300e3ac2}.admin-icon-btn.success{background:linear-gradient(110deg,#2b9f6173,#4cc28b57);border-color:#7ff3b899}.admin-icon-btn.danger{background:linear-gradient(110deg,#bf3b5d73,#a0274557);border-color:#ff94ad99}.admin-icon-btn.ghost{background:#2b0d38b3;border-color:#b085c794}.admin-icon-btn:disabled{opacity:.5;cursor:not-allowed}.admin-login-wrap{width:min(420px,100%);margin:10vh auto 0;border:1px solid rgba(233,132,255,.3);border-radius:20px;background:#170a23bf;padding:1rem}.admin-login-wrap h1{margin:0 0 .35rem;font-family:Orbitron,sans-serif}.admin-login-wrap p{margin:0 0 .8rem;color:#d7c3e2}.admin-back-link{margin-top:.5rem;display:inline-flex;border:1px solid rgba(255,183,229,.45);border-radius:999px;padding:.4rem .85rem;text-decoration:none;background:#300e3ac2;color:#f6efff}.admin-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}.admin-tabs button{border:1px solid rgba(255,159,223,.4);border-radius:999px;background:#2b0d2cb8;color:#f6efff;padding:.38rem .75rem;cursor:pointer;transition:transform .2s ease}.admin-tabs button:hover{transform:translateY(-1px)}.admin-tabs button.active{background:linear-gradient(90deg,#b44dff4d,#ff35683d)}.admin-card{border:1px solid rgba(255,159,223,.26);border-radius:14px;background:#220c2ba3;padding:.8rem;margin-bottom:.8rem}.admin-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card h3{margin:0 0 .5rem}.admin-subsection-title{margin-top:1rem;padding-top:.75rem;border-top:1px dashed rgba(255,182,233,.34)}.admin-card .admin-list{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed rgba(255,182,233,.34)}.admin-form{display:grid;gap:.45rem}.admin-form input,.admin-form textarea,.admin-form select{border:1px solid rgba(255,167,225,.38);border-radius:10px;background:#2b0d38d1;color:#f6efff;padding:.55rem .65rem;font-family:inherit}.admin-file-input{border:1px solid rgba(255,167,225,.38);border-radius:10px;background:#2b0d38d1;color:#f6efff;padding:.4rem .5rem;display:flex;align-items:center;gap:.55rem}.admin-file-native{display:none}.admin-file-trigger{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,188,231,.55);background:linear-gradient(110deg,#ff51ae6b,#8559ff59);color:#fff2fb;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.admin-file-name{font-size:.95rem;color:#f6efffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-form textarea{min-height:90px}.admin-form button{border:1px solid rgba(255,188,231,.55);border-radius:10px;background:linear-gradient(110deg,#ff51ae6b,#8559ff59);color:#fff2fb;padding:.5rem .8rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer}.admin-form button:disabled{opacity:.56;cursor:not-allowed}.admin-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid rgba(255,167,225,.38);border-radius:10px;background:#2b0d38d1;padding:.5rem .65rem}.admin-toggle-row span{color:#f6efff}.admin-toggle-btn{position:relative;min-width:82px;border:1px solid rgba(255,188,231,.55);border-radius:999px;background:#1f0928e6;color:#f6efff;padding:.2rem .5rem;display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;transition:background .25s ease,border-color .25s ease;cursor:pointer}.admin-toggle-btn .admin-toggle-thumb{position:absolute;left:3px;width:22px;height:22px;border-radius:50%;background:#f7ddff;box-shadow:0 0 0 1px #ffbfed80,0 3px 10px #0d04128c;transition:transform .22s ease}.admin-toggle-btn .admin-toggle-label{font-size:.84rem;font-weight:700;letter-spacing:.02em}.admin-toggle-btn.is-on{background:linear-gradient(90deg,#ff56b080,#8559ff80);border-color:#ffc5ecbf}.admin-toggle-btn.is-on .admin-toggle-thumb{transform:translate(53px)}.admin-toggle-btn.is-off{background:#1f0928f2;border-color:#b085c794}.admin-toggle-btn:disabled{opacity:.56;cursor:not-allowed}.admin-inline-actions{display:flex;gap:.35rem;flex-wrap:wrap}.admin-list{display:grid;gap:.5rem;margin-top:.65rem}.admin-list-item{border:1px solid rgba(255,164,226,.28);border-radius:12px;background:#270d32b8;padding:.65rem;display:grid;gap:.55rem;color:#f6efff}.admin-list-item.clickable{text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease;color:#f6efff;font-family:inherit}.admin-list-item.clickable:hover{transform:translateY(-2px);border-color:#ffcbf18c}.admin-list-item h4,.admin-list-item.clickable p{margin:0;color:#f6efff}.admin-tech-list{display:flex;flex-wrap:wrap;gap:.38rem}.admin-tech-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid rgba(174,139,199,.5);border-radius:999px;background:#371749b8;color:#f3e8fb;padding:.18rem .52rem;font-size:.9rem;line-height:1.2}.admin-tech-empty{color:#d4bfdc}.admin-item-head{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.admin-item-head h4{margin:0;display:inline-flex;align-items:center;gap:.35rem}.admin-status-pill{border-radius:999px;padding:.16rem .58rem;font-size:.78rem;border:1px solid transparent}.admin-status-pill.on{background:#4ac68a29;border-color:#6fe4ac94;color:#a6ffd2}.admin-status-pill.off{background:#bd5e7c29;border-color:#ff9db894;color:#ffb1c8}.admin-item-grid{display:grid;gap:.2rem}.admin-item-grid p{margin:0;color:#e8d9ef;overflow-wrap:anywhere}.admin-message-item{cursor:default}.admin-message-time{font-size:.8rem;color:#d9c8e6}.admin-edit-wrap{display:grid;gap:.55rem;border-top:1px solid rgba(255,159,223,.22);padding-top:.55rem}.admin-detail-page{margin-bottom:1rem}.admin-detail-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:.65rem}.admin-detail-actions{display:flex;flex-wrap:wrap;gap:.45rem}.admin-back-detail-btn{border:1px solid rgba(255,183,229,.45);border-radius:999px;padding:.42rem .88rem;background:#300e3ac2;color:#f6efff;display:inline-flex;align-items:center;gap:.35rem;font-family:inherit;cursor:pointer}.admin-detail-card{margin-bottom:0}.admin-detail-image-wrap{margin-top:.65rem}.admin-detail-image-btn{width:100%;border:1px solid rgba(255,188,231,.42);border-radius:12px;background:#1d0926d1;padding:.55rem;color:#f6efff;display:grid;gap:.45rem;justify-items:center;cursor:pointer}.admin-detail-image{width:100%;max-height:320px;object-fit:contain;border-radius:10px}.admin-detail-image-btn span{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.admin-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08040eeb;z-index:120;display:grid;place-items:center;padding:1rem}.admin-fullscreen-image{max-width:min(1200px,96vw);max-height:90vh;object-fit:contain;border-radius:12px;border:1px solid rgba(255,201,240,.45)}.admin-fullscreen-close{position:fixed;top:1rem;right:1rem;border:1px solid rgba(255,183,229,.45);border-radius:999px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:#300e3ad1;color:#f6efff;cursor:pointer}.admin-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08040ed1;z-index:140;display:grid;place-items:start center;padding:1rem;overflow-y:auto}.admin-crop-modal{width:min(760px,100%);max-height:calc(100vh - 2rem);border:1px solid rgba(255,176,228,.44);border-radius:16px;background:#1c0b28f2;padding:.9rem;display:grid;gap:.8rem;overflow-y:auto;margin-block:auto}.admin-crop-modal h3{margin:0}.admin-crop-preview{width:100%;aspect-ratio:var(--crop-ratio);max-height:48vh;border-radius:12px;overflow:hidden;border:1px solid rgba(255,188,231,.35);background:#12071beb}.admin-crop-preview img{width:100%;height:100%;object-fit:cover;transform-origin:center}.admin-crop-controls{display:grid;gap:.5rem}.admin-crop-controls label{display:grid;gap:.35rem;font-size:.92rem}.admin-crop-controls input[type=range]{width:100%}.admin-crop-actions{display:flex;gap:.45rem;flex-wrap:wrap}@media (max-width: 720px){.admin-crop-overlay{padding:.7rem}.admin-crop-modal{max-height:calc(100vh - 1.4rem);padding:.75rem}.admin-crop-preview{max-height:40vh}}.admin-alert{border:1px solid rgba(255,196,234,.46);border-radius:12px;padding:.65rem;margin-bottom:.8rem;background:#35123eb8}.admin-alert.success{border-color:#6fe4ac94;background:#1a46379e}.admin-toast{position:fixed;right:1.2rem;bottom:1.2rem;z-index:150;border:1px solid rgba(111,228,172,.58);border-radius:12px;padding:.65rem .85rem;background:#1a4637e6;color:#dbffe9;display:inline-flex;align-items:center;gap:.45rem;box-shadow:0 10px 28px #05160e73}.admin-metric-grid{display:grid;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-metric{border:1px solid rgba(255,164,226,.28);border-radius:12px;background:#270d32b8;padding:.7rem}.admin-metric h4,.admin-metric p{margin:0}.admin-metric p{margin-top:.3rem;font-size:1.5rem;font-weight:700}@media (max-width: 1000px){.admin-grid,.admin-metric-grid{grid-template-columns:1fr}.admin-grid>.admin-card+.admin-card{margin-top:.2rem;border-top:1px solid rgba(255,203,241,.32);box-shadow:0 -10px 26px #07020c47 inset}}:root{--bg-start: #0b0414;--bg-end: #120713;--panel: rgba(23, 10, 35, .72);--line: rgba(233, 132, 255, .35);--text: #f6efff;--muted: #d0bddc;--purple: #b44dff;--red: #ff3568}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Rajdhani,sans-serif;color:var(--text);overflow-x:hidden;background:radial-gradient(circle at 20% 20%,#33144f 0%,transparent 35%),radial-gradient(circle at 80% 10%,#5a1135 0%,transparent 30%),linear-gradient(180deg,var(--bg-start),var(--bg-end))}a{color:inherit}.app-shell{position:relative;isolation:isolate}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;background:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:1;transform:scale(1);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),backdrop-filter 1.1s cubic-bezier(.22,1,.36,1);animation:splashIntro .68s cubic-bezier(.22,1,.36,1)}.splash-screen.is-exiting{opacity:0;transform:scale(1.015);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.splash-brand{display:inline-flex;align-items:center;justify-content:center;gap:clamp(.7rem,2vw,1rem);animation:splashBrandIn .76s cubic-bezier(.16,1,.3,1)}.splash-name{font-family:Orbitron,sans-serif;font-size:clamp(1.15rem,3vw,1.9rem);font-weight:700;letter-spacing:.04em;color:#35144f;text-shadow:0 0 12px rgba(180,87,235,.2)}.splash-logo{width:clamp(72px,11vw,112px);height:auto;filter:drop-shadow(0 0 12px rgba(180,87,235,.28)) drop-shadow(0 0 30px rgba(125,70,188,.18));animation:splashPulse 1.8s ease-in-out infinite}.space-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-3;will-change:transform}.stars-near{background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 1.2px);background-size:110px 110px;opacity:.3;animation:floatSlow 90s linear infinite}.stars-mid{background-image:radial-gradient(circle,rgba(225,98,255,.7) 0 1px,transparent 1.5px);background-size:160px 160px;opacity:.26;animation:floatMid 60s linear infinite}.stars-far{background-image:radial-gradient(circle,rgba(255,90,130,.65) 0 1px,transparent 1.3px);background-size:220px 220px;opacity:.22;animation:floatFast 42s linear infinite}.topbar{position:fixed;top:1rem;left:50%;transform:translate(-50%);width:min(1100px,calc(100% - 2rem));display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:999px;padding:.65rem 1rem;background:#13081bd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;opacity:1;filter:blur(0);box-shadow:0 14px 36px #0a021273,inset 0 0 24px #ff9de814;will-change:transform,opacity,filter;transition:transform .62s cubic-bezier(.16,1,.3,1),opacity .54s ease,filter .52s ease,box-shadow .56s ease,border-color .42s ease}.topbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,#ff91e31a,#855aff0f);opacity:.55;transition:opacity .46s ease}.topbar-hidden{transform:translate(-50%,-165%) scale(.94);opacity:0;filter:blur(8px);border-color:#e884ff14;box-shadow:0 0 #0a021200;pointer-events:none}.topbar-visible{transform:translate(-50%);opacity:1;filter:blur(0);border-color:var(--line);box-shadow:0 14px 36px #0a021273,inset 0 0 24px #ff9de814;pointer-events:auto;animation:topbarReveal .7s cubic-bezier(.16,1,.3,1)}.topbar-hidden:before{opacity:0}.topbar-visible:before{opacity:.8}.menu-toggle{display:none;border:1px solid var(--line);border-radius:10px;background:#200b2ae6;color:var(--text);font-size:1.2rem;padding:.35rem .5rem;transition:transform .24s ease,background-color .24s ease,border-color .24s ease}.menu-toggle svg{display:block;transition:transform .26s ease}.menu-toggle.active{border-color:#ffd0e0;background:#3e1445f5}.menu-toggle.active svg{transform:rotate(180deg) scale(1.05)}.brand{margin:0;display:flex;align-items:center;gap:.5rem;font-family:Orbitron,sans-serif;letter-spacing:.08em;color:#f4c2ff;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .42s ease,filter .42s ease}.brand-text{position:relative;display:inline-block;line-height:1}.brand-text:before,.brand-text:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .18s ease}.brand:hover .brand-text{animation:brandFuzzyBase .34s steps(10,end) infinite}.brand:hover .brand-text:before{color:#ff7ae4f2;filter:blur(.9px);opacity:.8;animation:brandFuzzyLayerA .28s steps(8,end) infinite}.brand:hover .brand-text:after{color:#8c7cffe6;filter:blur(1.2px);opacity:.72;animation:brandFuzzyLayerB .26s steps(7,end) infinite}.topbar nav{display:flex;gap:.9rem}.topbar nav a{text-decoration:none;border:1px solid transparent;border-radius:999px;padding:.3rem .75rem;background:#3411432e;color:var(--text);box-shadow:inset 0 0 0 1px #ffb6e60f}.topbar nav a:hover{border-color:#ffcdedd1;color:#fff0fb;background:linear-gradient(125deg,#794dffdb,#ff54b0d6);box-shadow:0 10px 20px #8655ff52,0 6px 16px #ff5bb540}.topbar nav a:focus-visible{border-color:#ffcdedd1;color:#fff0fb;background:linear-gradient(125deg,#794dffdb,#ff54b0d6);box-shadow:0 10px 20px #8655ff52,0 6px 16px #ff5bb540;outline:none}.topbar .menu-toggle,.topbar nav a{transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .42s ease,filter .42s ease,border-color .24s ease,background-color .24s ease}.topbar-hidden .brand,.topbar-hidden .menu-toggle,.topbar-hidden nav a{opacity:0;transform:translateY(-10px) scale(.95);filter:blur(3px)}.topbar-visible .brand,.topbar-visible .menu-toggle,.topbar-visible nav a{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.topbar-visible .brand{transition-delay:70ms}.topbar-visible nav a:nth-child(1){transition-delay:.1s}.topbar-visible nav a:nth-child(2){transition-delay:.14s}.topbar-visible nav a:nth-child(3){transition-delay:.18s}.topbar-visible nav a:nth-child(4){transition-delay:.22s}.topbar-visible nav a:nth-child(5){transition-delay:.26s}main{padding-top:0}.section-page{min-height:100vh;width:min(1100px,calc(100% - 2rem));margin:0 auto;display:grid;align-items:center;padding:1rem 0}.section-panel{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:clamp(1.2rem,3vw,2rem);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:0 0 120px #b349fd1f,inset 0 0 30px #ffffff05}.home-section{width:100%;min-height:100vh;padding:0}.home-hero-wrap{position:relative;height:100vh;min-height:100vh;border:none;border-radius:0;overflow:hidden;background:radial-gradient(circle at 50% 0%,#6e227b73,#0d0614f0)}.antigravity-host,.antigravity-canvas{width:100%;height:100%}.antigravity-canvas{display:block}.home-copy-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;justify-items:center;gap:1rem;padding:1rem;text-align:center;pointer-events:none;background:radial-gradient(circle,#12071c40,#08040e8f)}.home-copy-kicker{margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(.72rem,1.35vw,.95rem);letter-spacing:.18em;color:#ffbee8;opacity:.88}.home-copy-title{margin:0;font-family:JetBrains Mono,monospace;font-size:clamp(1.65rem,6vw,4.8rem);line-height:1.12;font-weight:700;color:#ffd2ff;text-shadow:0 0 18px rgba(255,159,252,.55),0 0 50px rgba(198,78,255,.22);transition:opacity .26s ease,filter .26s ease;animation:encryptedGlow 3s ease-in-out infinite}.home-explore-btn{pointer-events:auto;margin-top:.35rem;text-decoration:none;font-family:JetBrains Mono,monospace;font-size:clamp(.78rem,1.35vw,.98rem);letter-spacing:.12em;text-transform:uppercase;color:#ffe7fb;border:1px solid rgba(255,194,238,.62);border-radius:999px;padding:.62rem 1.25rem;background:linear-gradient(110deg,#ff73d047,#774eff38);box-shadow:0 10px 26px #ff65c542;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.home-explore-btn:hover{transform:translateY(-2px);border-color:#ffe0f6;box-shadow:0 14px 30px #ff65c557}.animated-subtitle{background:linear-gradient(90deg,#ffd3ff,#ff7a9f,#ffd3ff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titlePulse 6s ease-in-out infinite}.section-panel>h2.animated-subtitle{position:relative;z-index:0;display:block;width:100%;margin:0 0 .75rem;padding:clamp(1rem,2vw,1.2rem) clamp(1rem,2.2vw,1.4rem);border-radius:20px;overflow:hidden;isolation:isolate;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#f0c8ff;-webkit-text-fill-color:#f0c8ff;text-shadow:0 0 12px rgba(255,170,240,.35);animation:none}.section-panel>h2.animated-subtitle:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(96deg,#3814508c,#120624d1);border:1px solid rgba(224,137,255,.28);border-radius:inherit;z-index:-2;box-shadow:inset 0 0 34px #c45dff24,0 0 24px #a83feb1a}.section-panel>h2.animated-subtitle:after{content:"";position:absolute;inset:-45% -14% auto;height:175%;background:radial-gradient(circle,rgba(240,110,223,.18) 0%,rgba(157,77,220,.09) 38%,transparent 72%);filter:blur(10px);pointer-events:none;z-index:-1}.intro-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:1.2rem;align-items:center}.eyebrow{margin:0;display:inline-flex;align-items:center;gap:.45rem;color:#f2a6ff;letter-spacing:.06em}h1,h2,h3,h4{font-family:Orbitron,sans-serif;margin:.8rem 0;line-height:1.2}h1{font-size:clamp(1.25rem,3.85vw,2.95rem)}h1 span{color:#ff84a8}.lead,.section-desc,.project-card p,.shortcut-card p{color:var(--muted);font-size:1.2rem}.quick-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}.quick-links a,.project-card a,.shortcut-card a{text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:999px;padding:.45rem .85rem;background:linear-gradient(120deg,#b44dff29,#ff35681c)}.quick-links a:hover,.project-card a:hover,.shortcut-card a:hover{border-color:#ffc2d4;color:#ffd4e6}.resume-cta{position:relative;isolation:isolate;overflow:hidden;padding:.62rem 1.2rem!important;font-family:Oxanium,Orbitron,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.025em;color:#fff3fd;border:1px solid rgba(255,184,233,.84)!important;background:linear-gradient(118deg,#ff55ad75,#9154ff66)!important;box-shadow:0 10px 28px #ff47b04d,inset 0 0 16px #ffddf521;transition:transform .23s cubic-bezier(.22,1,.36,1),box-shadow .23s cubic-bezier(.22,1,.36,1),border-color .2s ease,filter .22s ease;animation:resumeIdlePulse 3.4s ease-in-out infinite}.resume-cta:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;z-index:-1;background:linear-gradient(100deg,#fff0 15%,#fff1fd8c,#fff0 85%);transform:translate(-135%);transition:transform .64s cubic-bezier(.22,1,.36,1)}.resume-cta:after{content:"";position:absolute;inset:auto auto -18px -26px;width:74px;height:74px;background:radial-gradient(circle,#ff96e847,#ff96e800);pointer-events:none}.resume-cta svg{font-size:1.02rem;filter:drop-shadow(0 0 9px rgba(255,215,243,.75));transition:transform .24s ease,filter .22s ease}.resume-cta:hover{transform:translateY(-4px) scale(1.03);border-color:#ffe2f5!important;box-shadow:0 16px 34px #ff47b066,inset 0 0 24px #ffddf533;filter:saturate(1.12)}.resume-cta:hover:before{transform:translate(135%)}.resume-cta:hover svg{transform:translateY(-1px) rotate(-8deg) scale(1.08);filter:drop-shadow(0 0 12px rgba(255,228,249,.95))}.resume-cta:active{transform:translateY(0) scale(.97);box-shadow:0 7px 16px #ff47b04d,inset 0 0 24px #ffddf538;animation:resumeClickBurst .3s ease}.about-title-dynamic{display:block}.intro-layout .lead{text-align:justify;text-justify:inter-word}.about-photo-stack{position:relative;width:min(100%,430px);aspect-ratio:1 / 1;min-height:0;display:block;margin-inline:auto}.about-photo-stage{position:relative;width:100%;height:100%;aspect-ratio:1 / 1;min-height:0;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.about-photo-stage.is-grabbing{cursor:grabbing}.about-photo-layer{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,169,226,.4);box-shadow:0 14px 34px #0802105c;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .38s ease,filter .38s ease}.about-photo-layer img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.about-photo-layer.layer-0{z-index:3;transform:translate(0) scale(1);opacity:1;pointer-events:auto}.about-photo-layer.layer-1{z-index:2;transform:translate(8px) translateY(12px) scale(.965);opacity:.8;filter:saturate(.92);pointer-events:none}.about-photo-layer.layer-2{z-index:1;transform:translate(16px) translateY(22px) scale(.93);opacity:.58;filter:saturate(.84);pointer-events:none}.about-photo-layer.layer-0.swipe-right{animation:aboutCardSwipeRight .28s cubic-bezier(.22,1,.36,1) forwards}.about-photo-layer.layer-0.swipe-left{animation:aboutCardSwipeLeft .28s cubic-bezier(.22,1,.36,1) forwards}@keyframes aboutCardSwipeRight{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(88px) rotate(6deg) scale(.93);opacity:0}}@keyframes aboutCardSwipeLeft{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(-88px) rotate(-6deg) scale(.93);opacity:0}}.portrait-wrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:350px}.portrait-wrap img{width:100%;height:100%;object-fit:cover}.skill-box{margin-top:1rem;display:grid;gap:.85rem}.certification-panel{position:relative;overflow:hidden}.certification-panel:before{content:"";position:absolute;inset:-32% -10% auto;height:70%;background:radial-gradient(circle,rgba(255,121,218,.18) 0%,transparent 72%);pointer-events:none}.certification-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem;animation:certGridReveal .36s cubic-bezier(.22,1,.36,1)}.cert-card{border:1px solid rgba(255,152,215,.26);border-radius:14px;background:linear-gradient(135deg,#2e103be0,#1d0c2fd6);padding:.7rem;cursor:pointer;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .24s ease}.cert-card:hover{transform:translateY(-6px) scale(1.015);border-color:#ffceecc2;box-shadow:0 14px 28px #ff60b740}.cert-card:focus-visible{outline:2px solid #ffd4eb;outline-offset:2px}.cert-thumb-wrap{overflow:hidden;border-radius:10px;border:1px solid rgba(255,176,228,.24);background:#1c0929e6}.cert-thumb{width:100%;height:138px;object-fit:cover;display:block;transition:transform .28s ease,filter .28s ease}.cert-card:hover .cert-thumb{transform:scale(1.06);filter:saturate(1.1) contrast(1.04)}.cert-card h4{margin:.6rem 0 .35rem;font-family:Oxanium,Orbitron,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.02em;line-height:1.28;min-height:2.4rem;color:#ffe6f4}.cert-card p{margin:0;color:#efc6dd;font-size:.98rem}.cert-card span{display:inline-block;margin-top:.4rem;border:1px solid rgba(255,171,224,.4);border-radius:999px;padding:.18rem .55rem;font-size:.8rem;color:#ffdff1;background:#4d144c99}.cert-card.placeholder{position:relative;cursor:default;border-style:dashed;border-color:#b4b4b459;background:linear-gradient(135deg,#55555f6b,#3a3a4466);box-shadow:none;filter:grayscale(.2);overflow:hidden}.cert-card.placeholder span{color:#e2e2e8e6;border-color:#9c9ca480;background:#56565e9e}.cert-card.placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 58%,#e4c6e014,#7862800f 42%,#0000 78%);opacity:0;transition:opacity .22s ease;pointer-events:none;z-index:1}.cert-card.placeholder:hover{transform:none;border-color:#c4c4c46b;box-shadow:none}.cert-card.placeholder:hover:before{opacity:1}.cert-card.placeholder:focus-visible{outline:none}.cert-skeleton-block{position:relative;border-color:#c6c6c633;background:#383840a8}.cert-card.placeholder:hover .cert-skeleton-block{border-color:#a8a8b052;background:#2c2c34bd}.cert-thumb-hover-label{position:absolute;top:50%;left:50%;border:1px solid rgba(214,214,220,.36);border-radius:999px;padding:.28rem .75rem;text-align:center;font-family:Oxanium,Orbitron,sans-serif;font-size:.82rem;letter-spacing:.05em;color:#eaeaeeeb;background:linear-gradient(120deg,#6868708f,#54545c80);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 8px 16px #18141e33,inset 0 0 0 1px #fff5ff0d;opacity:0;transform:translate(-50%,-50%) scale(.94);transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease;z-index:3;margin-top:0;color:#ececf1f0;border-color:#bcbcc470;background:linear-gradient(120deg,#606068b8,#4d4d55b3)}.cert-card.placeholder:hover .cert-thumb-hover-label{opacity:.95;transform:translate(-50%,-50%) scale(.98);border-color:#ceced58a;box-shadow:0 10px 22px #16161b4d,inset 0 0 0 1px #f2f2f717}.cert-card.placeholder .cert-thumb{background:linear-gradient(105deg,#7c7c848c,#65656e85);background-size:100% 100%;position:relative;z-index:0}.cert-card.placeholder:hover .cert-thumb{background:linear-gradient(105deg,#5f5f67b8,#4c4c54b3);filter:none}.cert-title-slot{position:relative;margin-top:.6rem;min-height:2.4rem}.cert-title-slot .cert-skeleton-title{margin-top:0;width:84%;height:16px}.cert-placeholder-title{position:absolute;top:0;left:0;margin:0;width:84%;min-height:2.4rem;font-family:Oxanium,Orbitron,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.02em;line-height:1.28;color:#fffffff5;text-shadow:none;filter:none;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.cert-card.placeholder:hover .cert-title-slot .cert-skeleton-title{opacity:0}.cert-card.placeholder:hover .cert-placeholder-title{opacity:.92;transform:translateY(0)}.cert-skeleton-title,.cert-skeleton-line,.cert-skeleton-pill{border:1px solid rgba(156,156,164,.36);border-radius:999px;background:linear-gradient(105deg,#8e8e9680,#7878807a);background-size:100% 100%}.cert-card.placeholder:hover .cert-skeleton-title,.cert-card.placeholder:hover .cert-skeleton-line,.cert-card.placeholder:hover .cert-skeleton-pill{border-color:#8c8c9480;background:linear-gradient(105deg,#62626abd,#505058b8)}.cert-skeleton-title{margin-top:.78rem;width:84%;height:16px}.cert-skeleton-line{margin-top:.35rem;width:58%;height:13px}.cert-skeleton-pill{margin-top:0;width:64px;height:24px}.cert-year-slot{position:relative;margin-top:.4rem;width:64px;height:24px}.cert-year-slot .cert-skeleton-pill{position:absolute;top:0;left:0}.cert-skeleton-year{position:absolute;top:0;left:0;width:64px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:600;letter-spacing:.08em;color:#e5e5eae6;border:1px solid rgba(156,156,164,.5);border-radius:999px;background:linear-gradient(105deg,#80808899,#6b6b7394);margin-top:0;padding:0;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.cert-card.placeholder:hover .cert-year-slot .cert-skeleton-pill,.cert-card.placeholder:hover .cert-skeleton-year{border-color:#8c8c9485;background:linear-gradient(105deg,#616169c2,#4f4f57bd)}.cert-card.placeholder:hover .cert-year-slot .cert-skeleton-pill{opacity:0}.cert-card.placeholder:hover .cert-skeleton-year{opacity:.94;transform:translateY(0)}.cert-pagination{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem}.cert-pagination>button{width:40px;height:40px;border:1px solid rgba(255,171,224,.46);border-radius:12px;background:#2c0e3bcc;color:#ffe3f3;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,border-color .18s ease}.cert-pagination>button:hover{transform:translateY(-2px);border-color:#ffd8ee}.cert-dots{display:inline-flex;gap:.5rem}.cert-dots button{width:10px;height:10px;border:1px solid rgba(255,182,229,.72);border-radius:999px;background:#42144ca6;padding:0;transition:transform .18s ease,background-color .18s ease}.cert-dots button.active{background:#ffb8e1;transform:scale(1.15)}.cert-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080410cc;display:grid;place-items:center;padding:1rem;z-index:60;animation:certOverlayFade .22s ease}.cert-modal{position:relative;width:min(760px,calc(100% - 1rem));border:1px solid rgba(255,189,232,.55);border-radius:20px;background:linear-gradient(160deg,#260d37f2,#190a25f5);padding:1.1rem;box-shadow:0 18px 46px #00000073,0 0 52px #ff53b826;animation:certModalIn .28s cubic-bezier(.22,1,.36,1)}.cert-modal-close{position:absolute;top:.65rem;right:.65rem;border:1px solid rgba(255,186,230,.42);border-radius:10px;background:#391442d1;color:#ffe5f4;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center}.cert-modal img{width:100%;max-height:440px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,191,232,.3)}.cert-modal h3{margin:.95rem 0 .25rem;color:#ffe4f5}.cert-modal p{margin:0 0 .9rem;color:#efc6dd}.cert-link-btn{text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(255,194,235,.72);border-radius:999px;padding:.52rem .95rem;color:#fff0fa;background:linear-gradient(118deg,#ff53b359,#8058ff4d);transition:transform .18s ease,border-color .18s ease}.cert-link-btn:hover{transform:translateY(-2px);border-color:#ffdcf1}.skill-lane{position:relative;overflow:hidden;border:1px solid rgba(255,121,188,.25);border-radius:16px;padding:.6rem 1rem;background:#210d2b9e}.lane-corner-tag{position:absolute;top:.35rem;bottom:.35rem;transform:none;display:inline-flex;align-items:center;justify-content:center;min-height:0;width:34px;padding:.4rem .2rem;border:1px solid rgba(255,162,226,.55);border-radius:999px;background:linear-gradient(180deg,#ff4fa8eb,#d6378ae0);box-shadow:0 10px 20px #ff358842;font-family:Orbitron,sans-serif;font-size:.64rem;color:#ffe6f5;letter-spacing:.08em;text-transform:uppercase;text-align:center;font-weight:700;writing-mode:vertical-rl;text-orientation:mixed;line-height:1;z-index:2;pointer-events:none}.lane-corner-text{display:inline-block;font-style:italic}.lane-corner-tag.left{left:.45rem}.lane-corner-tag.left .lane-corner-text{transform:rotate(180deg)}.lane-corner-tag.right{right:.45rem;writing-mode:vertical-lr;text-orientation:mixed;pointer-events:none}.lane-corner-tag.right .lane-corner-text{transform:rotate(0)}.marquee-wrap{overflow:hidden}.marquee-track{display:flex;gap:.35rem;width:max-content;padding:0;animation-duration:20s;animation-timing-function:linear;animation-iteration-count:infinite}.marquee-track.left{animation-name:marqueeLeft}.marquee-track.right{animation-name:marqueeRight}.marquee-track.fast{animation-duration:8s}.logo-glyph{display:inline-grid;place-items:center;min-width:118px;padding:.5rem .45rem;gap:.3rem}.logo-glyph svg{font-size:clamp(2.9rem,5.2vw,3.8rem);filter:drop-shadow(0 8px 14px rgba(0,0,0,.3))}.logo-glyph span{font-size:clamp(.72rem,1.3vw,.86rem);letter-spacing:.06em;color:#e7d6ee;font-weight:700;text-transform:uppercase;text-align:center;white-space:nowrap}.portfolio-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.portfolio-tabs button{border:1px solid rgba(255,159,223,.4);border-radius:999px;padding:.4rem .9rem;background:#2b0d2cb3;color:var(--text);font-family:Rajdhani,sans-serif;font-size:1rem}.portfolio-tabs button.active{background:linear-gradient(90deg,#b44dff4d,#ff35683d);border-color:#ffc5de}.portfolio-mobile-filter{display:none;margin-top:.9rem}.portfolio-mobile-filter label{display:block;margin-bottom:.35rem;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#f4cae5}.portfolio-mobile-select-wrap{position:relative}.portfolio-mobile-select-wrap:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:12px;pointer-events:none;background:linear-gradient(130deg,#ff75c41c,#7a5cff14)}.portfolio-mobile-select-wrap:after{content:"";position:absolute;right:.95rem;top:50%;width:9px;height:9px;border-right:2px solid rgba(245,227,240,.9);border-bottom:2px solid rgba(245,227,240,.9);transform:translateY(-62%) rotate(45deg);pointer-events:none}.portfolio-mobile-filter select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;position:relative;z-index:1;border:1px solid rgba(255,159,223,.44);border-radius:12px;background:linear-gradient(130deg,#351040eb,#240c33eb);color:#f9ebf8;font-family:Rajdhani,sans-serif;font-size:1.04rem;font-weight:700;letter-spacing:.02em;padding:.68rem 2.3rem .68rem .9rem;box-shadow:0 8px 22px #0a031057,inset 0 0 0 1px #ffdcf412;transition:border-color .2s ease,box-shadow .2s ease,transform .18s ease}.portfolio-mobile-filter select:hover{border-color:#ffbde594}.portfolio-mobile-filter select:focus{outline:none;border-color:#ffd6edc7;box-shadow:0 12px 28px #08020e6b,0 0 0 2px #ff95d84d,inset 0 0 0 1px #ffe6f51f}.portfolio-mobile-filter select option{background:#452d55;color:#f8eaf5}.portfolio-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.portfolio-row-animator{overflow:hidden;transition:max-height .43s cubic-bezier(.22,1,.36,1)}.portfolio-row-animator.is-animating{will-change:max-height}.project-card{border:1px solid rgba(255,137,199,.23);border-radius:14px;padding:.85rem;background:#220c2ba3}.project-card.clickable{cursor:pointer}.project-card.clickable:hover{transform:translateY(-4px);border-color:#ffc5de}.project-card img{width:100%;height:170px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.16)}.project-card.clickable p{line-height:1.45;min-height:4.35em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card.skeleton{border-style:dashed;border-color:#ffaee24d;background:linear-gradient(135deg,#2b12379e,#1e0c2b94);cursor:default;overflow:hidden;position:relative}.project-card.skeleton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 52% 45%,#e6ceee12,#6653790f 48%,#0000 84%);opacity:0;transition:opacity .22s ease;pointer-events:none}.project-card.skeleton:hover:before{opacity:1}.project-thumb-skeleton-wrap{position:relative}.project-skeleton-hover-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.94);border:1px solid rgba(188,188,196,.44);border-radius:999px;padding:.22rem .72rem;font-family:Oxanium,Orbitron,sans-serif;font-size:.79rem;letter-spacing:.05em;color:#ececf1f0;background:linear-gradient(120deg,#606068b8,#4d4d55b3);opacity:0;transition:opacity .22s ease,transform .22s ease;z-index:2}.project-card.skeleton:hover .project-skeleton-hover-label{opacity:.95;transform:translate(-50%,-50%) scale(.98)}.project-skeleton-title-slot{position:relative;min-height:4.35em}.project-skeleton-hover-title{position:absolute;top:0;left:0;margin:0;width:76%;min-height:4.35em;font-family:Oxanium,Orbitron,sans-serif;font-size:1.02rem;font-weight:600;letter-spacing:.015em;line-height:1.35;color:#fffffff2;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}.project-card.skeleton:hover .project-skeleton-title-slot .project-line-skeleton.short{opacity:0}.project-card.skeleton:hover .project-skeleton-hover-title{opacity:.92;transform:translateY(0)}.project-thumb-skeleton,.project-line-skeleton{border:1px solid rgba(211,178,226,.24);background:#68497b38;border-radius:10px;transition:background .22s ease,border-color .22s ease,opacity .2s ease}.project-thumb-skeleton{height:170px;margin-bottom:.7rem}.project-line-skeleton{height:16px;margin-bottom:.45rem}.project-line-skeleton.short{width:66%}.project-card.skeleton:hover .project-thumb-skeleton,.project-card.skeleton:hover .project-line-skeleton{border-color:#b4a4c470;background:#53406270}.portfolio-more-wrap{margin-top:.85rem;display:flex;justify-content:center}.portfolio-more-wrap button{border:1px solid rgba(255,181,230,.48);border-radius:999px;background:linear-gradient(120deg,#b652ff40,#ff3f8538);color:#ffecf9;padding:.42rem 1rem;font-family:inherit;font-weight:600;cursor:pointer}.project-detail{margin-top:1rem;border:1px solid rgba(255,137,199,.23);border-radius:14px;padding:1rem;background:#220c2ba3}.shortcut-card{border:1px solid rgba(255,137,199,.23);border-radius:14px;padding:.95rem;background:#220c2ba3}.shortcut-card.single{margin-top:1rem}.project-detail img{width:100%;max-height:330px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.18)}.breadcrumbs{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.8rem;color:#f6c2da}.breadcrumbs button{border:1px solid rgba(255,137,199,.35);border-radius:999px;background:#321039b8;color:var(--text);padding:.28rem .7rem}.project-nav-controls{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem}.project-nav-slot{flex:1;min-width:0;display:flex}.project-nav-slot.left{justify-content:flex-start}.project-nav-slot.right{justify-content:flex-end}.project-switch-btn{border:1px solid rgba(255,137,199,.45);border-radius:999px;background:#3a143fc7;color:#ffe8f5;padding:.45rem .85rem;display:inline-flex;align-items:center;gap:.4rem;font-weight:600;max-width:100%;transition:transform .18s ease,border-color .18s ease}.project-switch-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-switch-btn:hover{transform:translateY(-2px);border-color:#ffd2e2}.repo-cta{margin-top:.5rem;display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;border:1px solid rgba(255,137,199,.55);border-radius:12px;padding:.6rem .9rem;color:#ffe9f6;background:linear-gradient(120deg,#ff468f42,#8958ff47);box-shadow:0 8px 16px #ff529a2e;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.repo-cta:hover{transform:translateY(-2px);border-color:#ffd2e2;box-shadow:0 10px 22px #ff529a3d}.repo-cta span{font-weight:700}.stack-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.95rem}.stack-icon-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,137,199,.35);border-radius:12px;background:#321039b8;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.stack-icon-link svg{font-size:1.18rem}.stack-icon-link:hover{transform:translateY(-2px);border-color:#ffd2e2}.site-footer{width:min(1100px,calc(100% - 2rem));margin:0 auto 2rem;border:1px solid var(--line);border-radius:16px;padding:1rem;text-align:center;background:#14071bd1}.site-footer h3{margin:0 0 .25rem;font-size:1.1rem}.site-footer p{margin:0 0 .7rem;color:var(--muted)}.site-footer .footer-quote-source{margin-bottom:1.05rem}.site-footer .footer-copyright{margin-bottom:.85rem}.contact-panel{position:relative;overflow:hidden}.contact-panel:before{content:"";position:absolute;inset:-40% -10% auto;height:80%;background:radial-gradient(circle,rgba(127,82,255,.28) 0%,transparent 70%);pointer-events:none}.contact-grid{position:relative;z-index:1;margin-top:1.1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.contact-grid a{display:inline-flex;align-items:center;gap:.55rem;border:1px solid rgba(255,159,223,.4);border-radius:12px;text-decoration:none;padding:.7rem .85rem;background:#1e0b2acc;transition:transform .22s ease,border-color .22s ease}.contact-grid a:hover{transform:translateY(-2px);border-color:#ffd3e6}.contact-message-form{position:relative;z-index:1;margin-top:1rem;display:grid;gap:.7rem}.contact-message-form input,.contact-message-form textarea{border:1px solid rgba(255,159,223,.4);border-radius:12px;background:#1e0b2acc;color:#f8ecff;padding:.7rem .85rem;font:inherit}.contact-message-form textarea{min-height:110px;resize:vertical}.contact-email-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid rgba(255,159,223,.4);border-radius:12px;background:#1e0b2acc;overflow:hidden}.contact-email-wrap input{border:0;border-radius:0;background:transparent}.contact-email-wrap span{height:100%;display:inline-flex;align-items:center;padding:0 .85rem;border-left:1px solid rgba(255,159,223,.35);color:#f8ecffd1;background:#30103cdb}.contact-send-btn{border:1px solid rgba(255,169,228,.58);border-radius:12px;background:linear-gradient(100deg,#ff5cb673,#7858ff66);color:#fff1fb;padding:.68rem 1rem;font:inherit;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer}.contact-send-btn:disabled{opacity:.65;cursor:not-allowed}.contact-feedback{margin:.65rem 0 0;font-size:.95rem}.contact-feedback.error{color:#ffc1d1}.contact-feedback.success{color:#9dffd0}.site-toast{position:fixed;right:1.1rem;bottom:1.1rem;z-index:120;border:1px solid rgba(111,228,172,.58);border-radius:12px;padding:.62rem .85rem;background:#1a4637eb;color:#dbffe9;display:inline-flex;align-items:center;gap:.45rem;box-shadow:0 10px 28px #05160e73}.footer-socials{display:flex;justify-content:center;gap:.8rem}.footer-socials a{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,160,225,.28);border-radius:999px;padding:0;background:#2f113659;color:#f4eeffad;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.footer-socials a svg{font-size:1.95rem}.footer-socials a:hover{transform:translateY(-3px);border-color:#ffceefd6;color:#fff2fc;background:linear-gradient(125deg,#7751ffd1,#ff58add1);box-shadow:0 10px 24px #9554ff59,0 6px 18px #ff57ac4d}.footer-socials a:focus-visible{outline:2px solid rgba(255,213,240,.84);outline-offset:2px}@keyframes titlePulse{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes certGridReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes certOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes certModalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes resumeIdlePulse{0%{box-shadow:0 10px 28px #ff47b04d,inset 0 0 16px #ffddf521}50%{box-shadow:0 13px 32px #ff47b06b,inset 0 0 20px #ffddf533}to{box-shadow:0 10px 28px #ff47b04d,inset 0 0 16px #ffddf521}}@keyframes resumeClickBurst{0%{filter:brightness(1)}45%{filter:brightness(1.14)}to{filter:brightness(1)}}@keyframes topbarReveal{0%{transform:translate(-50%,-70%) scale(.97);opacity:0;filter:blur(8px)}55%{transform:translate(-50%,.35rem) scale(1);opacity:1;filter:blur(0)}to{transform:translate(-50%);opacity:1;filter:blur(0)}}@keyframes brandFuzzyBase{0%{transform:translate(0)}20%{transform:translate(-.4px,.1px)}40%{transform:translate(.5px,-.3px)}60%{transform:translate(-.2px,.35px)}80%{transform:translate(.35px,-.1px)}to{transform:translate(0)}}@keyframes brandFuzzyLayerA{0%{transform:translate(0)}25%{transform:translate(-1.1px,.4px)}50%{transform:translate(1.2px,-.7px)}75%{transform:translate(-.8px,.9px)}to{transform:translate(0)}}@keyframes brandFuzzyLayerB{0%{transform:translate(0)}20%{transform:translate(1px,-.45px)}45%{transform:translate(-1.2px,.8px)}70%{transform:translate(.7px,-1px)}to{transform:translate(0)}}@keyframes encryptedGlow{0%{opacity:.9;filter:saturate(.95)}50%{opacity:1;filter:saturate(1.15)}to{opacity:.9;filter:saturate(.95)}}@keyframes marqueeLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marqueeRight{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes floatSlow{0%{transform:translateY(0)}to{transform:translateY(-180px)}}@keyframes floatMid{0%{transform:translateY(0)}to{transform:translateY(-260px)}}@keyframes floatFast{0%{transform:translateY(0)}to{transform:translateY(-320px)}}@keyframes splashPulse{0%,to{transform:scale(.96);opacity:.92}50%{transform:scale(1.04);opacity:1}}@keyframes splashIntro{0%{opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}to{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}@keyframes splashBrandIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 920px){.intro-layout,.skill-grid,.project-grid,.shortcut-grid{grid-template-columns:1fr}.topbar{border-radius:20px;align-items:center;flex-wrap:wrap}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.topbar nav{width:100%;display:flex;flex-direction:column;margin-top:.2rem;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(-4px);transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .24s ease,transform .26s ease}.topbar nav.open{max-height:260px;opacity:1;pointer-events:auto;transform:translateY(0)}.topbar nav a{text-align:center}main{padding-top:6rem}.logo-glyph{min-width:92px}.logo-glyph svg{font-size:clamp(2.3rem,8vw,2.9rem)}.skill-lane{padding-inline:2rem}.lane-corner-tag{width:30px;font-size:.58rem}.contact-grid{grid-template-columns:1fr}.certification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero-wrap{height:100vh;min-height:100vh}.home-copy-layer{padding-inline:1.2rem}.about-photo-stack,.about-photo-stage{min-height:0}.about-photo-stack{width:min(100%,360px);margin-inline:auto}.portfolio-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.portfolio-tabs button{width:100%;text-align:center;padding:.5rem .45rem}.portfolio-row{gap:.75rem}.section-panel>h2.animated-subtitle{padding:.95rem 1.1rem;border-radius:16px}}@media (max-width: 600px){.certification-grid{grid-template-columns:1fr}.cert-thumb{height:178px}#portfolio .section-panel{padding:1rem .85rem}.portfolio-tabs{display:none;margin-top:.7rem;gap:.45rem}.portfolio-mobile-filter{display:block}.portfolio-tabs button{font-size:.92rem;padding:.48rem .35rem}.portfolio-row{display:grid;grid-template-columns:1fr;margin-top:.8rem;gap:.65rem}.project-card{padding:.72rem}.project-card.clickable{width:100%}.project-card img{height:154px}.about-photo-stack,.about-photo-stage{min-height:0}.about-photo-stack{width:min(100%,320px);margin-inline:auto}.section-panel>h2.animated-subtitle{padding:.85rem .95rem;border-radius:14px}}
