@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#0c0c0c;--bg-secondary:#141414;--bg-tertiary:#1c1c1c;--accent:#d4a574;--accent-2:#c49a6c;--accent-3:#b8956a;--text:#fafafa;--text-soft:#e5e5e5;--muted:#a3a3a3;--muted-soft:#737373;--line:#d4a5741f;--line-strong:#d4a57440;--glass:#141414bf;--glass-strong:#1c1c1ceb;--glass-border:#d4a5741a;--glass-hover:#d4a57426;--shadow:0 8px 32px #00000080;--shadow-sm:0 4px 16px #0000004d;--shadow-card:0 2px 8px #0000004d, 0 8px 24px #0003;--shadow-lg:0 20px 50px #0006, 0 0 80px #d4a57414;--gradient-accent:linear-gradient(147deg, #d4a574, #b8956a);--gradient-hero:linear-gradient(162deg, #d4a574 0%, #c49a6c 60%, #a67c52 100%);--radius:12px;--radius-lg:16px;--radius-xl:20px;--transition:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--container-max:1120px;--container-padding:32px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#fafaf9;--bg-secondary:#f5f5f4;--bg-tertiary:#e7e5e4;--text:#1c1917;--text-soft:#292524;--muted:#57534e;--muted-soft:#78716c;--line:#a8825f26;--line-strong:#a8825f4d;--glass:#fffc;--glass-strong:#fffffff2;--glass-border:#a8825f1f;--glass-hover:#a8825f2e;--shadow:0 8px 32px #1c191714;--shadow-sm:0 4px 16px #1c19170d;--shadow-card:0 2px 8px #1c19170a, 0 8px 24px #1c19170f;--gradient-accent:linear-gradient(147deg, #c49a6c, #a67c52);--gradient-hero:linear-gradient(162deg, #c49a6c 0%, #b8956a 60%, #8b6b47 100%)}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}html:focus-within{scroll-behavior:auto}body{background:var(--bg-primary);color:var(--text);font-family:var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%}::selection{background:var(--accent);color:#fff}.portfolio-layout{z-index:1;min-height:100vh;position:relative}.top-navbar{z-index:50;background:var(--glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);position:sticky;top:0}.navbar-inner{max-width:var(--container-max);padding:0 var(--container-padding);justify-content:space-between;align-items:center;height:64px;margin:0 auto;display:flex}.navbar-brand{transition:opacity var(--transition);align-items:center;gap:10px;display:flex}.navbar-brand:hover{opacity:.8}.brand-name{letter-spacing:-.02em;background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:800}.brand-mark{background:var(--gradient-accent);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.8rem;font-weight:900;display:grid;box-shadow:0 0 12px #d4a57459}.navbar-links{align-items:center;gap:2px;display:flex}.navbar-link{color:var(--muted);transition:all var(--transition);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:8px 12px;font-size:.85rem;font-weight:500;display:flex}.navbar-link:hover{color:var(--text);background:var(--glass-hover)}.navbar-link.active{color:#fff;background:var(--gradient-accent)}.navbar-link svg{flex-shrink:0}.navbar-actions{align-items:center;gap:8px;display:flex}.navbar-toggle{border:1px solid var(--glass-border);background:var(--glass);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:10px;place-items:center;display:none}.navbar-mobile{border-top:1px solid var(--glass-border);flex-direction:column;gap:2px;padding:12px 16px 20px;display:none}.navbar-mobile .navbar-link{padding:10px 14px;font-size:.9rem}.navbar-overlay{display:none}.portfolio-main{padding:56px var(--container-padding);z-index:1;min-height:calc(100vh - 64px);position:relative}.icon-button,.button{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(8px);min-height:40px;color:var(--text);cursor:pointer;transition:all var(--transition);white-space:nowrap;justify-content:center;align-items:center;font-size:.88rem;font-weight:600;display:inline-flex}.icon-button{width:40px}.button{gap:7px;padding:0 16px}.button.primary{background:var(--gradient-accent);color:#fff;border-color:#0000;box-shadow:0 2px 16px #d4a57459}.button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 24px #d4a57480}.button.lg{border-radius:999px;min-height:48px;padding:0 24px;font-size:.95rem}.button.social{border-radius:999px}.button:hover,.icon-button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #d4a5742e}.button:active,.icon-button:active{transform:translateY(0)}.page-content{max-width:var(--container-max);z-index:1;margin:0 auto;position:relative}.page-header{margin-bottom:44px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;text-shadow:0 0 24px #d4a57466;align-items:center;gap:8px;font-size:.8rem;font-weight:800;display:inline-flex}.page-header h1{letter-spacing:-.02em;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:12px 0 0;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.1}.section-reveal{border-top:1px solid var(--glass-border);padding:80px 0}.section-reveal:first-of-type{border-top:none}.section-reveal:nth-of-type(2){padding-top:72px}@media (max-width:920px){.section-reveal{padding:64px 0}}@media (max-width:620px){.section-reveal{padding:48px 0}}.page-home{max-width:100%}.home-hero{min-height:calc(100vh - 80px);max-width:var(--container-max);grid-template-columns:1.15fr .85fr;align-items:center;gap:36px;margin:0 auto;display:grid;position:relative}.home-hero-content{flex-direction:column;display:flex}.home-title{letter-spacing:-.045em;margin:0 0 16px;font-size:clamp(2.8rem,6vw,4.6rem);line-height:.92}.home-title span{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lead{max-width:480px;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7}.lead.claim{color:var(--text-soft);border-left:3px solid var(--accent);max-width:440px;padding-left:14px;font-weight:500}.lead.sub{margin-top:6px;font-size:.9rem}.hero-actions,.social-row{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.home-hero-visual{border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:radial-gradient(ellipse at center, #d4a5740d, transparent 70%), var(--glass);-webkit-backdrop-filter:blur(8px);min-height:340px;box-shadow:var(--shadow), 0 0 60px #d4a5740a;justify-content:center;align-items:center;padding:20px;display:flex;overflow:hidden}.panel,.card{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-card);transition:all var(--transition)}.panel{padding:28px}.panel h3,.card h3{letter-spacing:-.02em;margin:0 0 8px;font-size:1.1rem}.panel p,.card p{color:var(--muted);line-height:1.65}.card:hover{border-color:var(--accent);box-shadow:0 12px 40px #d4a57424, var(--shadow-card);transform:translateY(-4px)}.about-layout{grid-template-columns:1fr 1.3fr;align-items:start;gap:36px;display:grid}.about-image-wrapper{flex-direction:column;align-items:center;display:flex;position:relative}.about-image-accent{background:var(--gradient-accent);opacity:.15;z-index:0;filter:blur(8px);border-radius:9999px;position:absolute;inset:-8px}.about-image{z-index:1;object-fit:cover;aspect-ratio:1;width:100%;max-width:300px;height:auto;box-shadow:0 0 0 4px #d4a5741f, 0 0 24px #d4a5741a, var(--shadow);transition:box-shadow var(--transition), transform var(--transition);border-radius:9999px;position:relative}.about-image:hover{box-shadow:0 0 0 4px #d4a57438, 0 0 36px #d4a5742e, var(--shadow);transform:scale(1.02)}.about-bio{color:var(--text-soft);margin-bottom:20px;font-size:.95rem;line-height:1.75}.about-details{flex-direction:column;align-items:center;gap:6px;margin-top:14px;display:flex}.about-detail{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.about-detail svg{color:var(--accent);flex-shrink:0}.about-highlights{flex-wrap:wrap;gap:8px;display:flex}.highlight-card{border:1px solid var(--glass-border);transition:all var(--transition);background:#d4a5740f;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.highlight-card:hover{border-color:var(--accent);background:#d4a5741f}.highlight-card strong{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.7rem}.highlight-card span{color:var(--text-soft);font-size:.84rem}.skill-orbit{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.skill-orbit-group:nth-child(2n){margin-top:28px}.skill-orbit-group{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(8px);transition:all var(--transition);flex-direction:column;gap:12px;padding:16px 20px;display:flex}.skill-orbit-group:hover{border-color:var(--accent);box-shadow:0 4px 20px #d4a5741a}.skill-orbit-label{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.skill-orbit-pills{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{background:color-mix(in srgb, var(--pill-color,var(--accent)) 10%, transparent);border:1px solid color-mix(in srgb, var(--pill-color,var(--accent)) 18%, transparent);color:var(--text);cursor:default;transition:all var(--transition);will-change:transform;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;display:inline-flex}.skill-pill:hover{background:color-mix(in srgb, var(--pill-color,var(--accent)) 18%, transparent);border-color:color-mix(in srgb, var(--pill-color,var(--accent)) 38%, transparent);box-shadow:0 4px 16px color-mix(in srgb, var(--pill-color,var(--accent)) 18%, transparent);transform:translateY(-2px)}.project-carousel{position:relative}.project-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;gap:20px;padding:4px 4px 20px;display:flex;overflow-x:auto}.project-track::-webkit-scrollbar{height:8px}.project-track::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.project-track::-webkit-scrollbar-track{background:0 0}.project-track:focus{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-lg)}.project-card{scroll-snap-align:start;width:360px;max-width:85vw;transform-style:preserve-3d;will-change:transform;background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition);flex:none;padding:0;overflow:hidden}.project-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 12px 40px #d4a57429}.project-image-wrapper{position:relative;overflow:hidden}.project-image-wrapper img{aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--glass-border);width:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);display:block}.project-card:hover .project-image-wrapper img{transform:scale(1.06)}.project-link-badge{background:var(--glass-strong);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);width:36px;height:36px;color:var(--text);opacity:0;transition:all var(--transition);border-radius:8px;place-items:center;display:grid;position:absolute;top:12px;right:12px;transform:translateY(-6px)}.project-card:hover .project-link-badge{opacity:1;transform:translateY(0)}.project-body{padding:18px}.project-body h3{background:linear-gradient(135deg,#f8fafc,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:1.05rem}.project-desc{margin-top:8px;font-size:.9rem}.tag-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{color:var(--muted);transition:all var(--transition);background:#d4a5740f;border:1px solid #d4a57438;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:500}.tag:hover{border-color:var(--accent);color:var(--accent);background:#d4a5741f}.carousel-nav{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.carousel-arrow{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(8px);width:40px;height:40px;color:var(--text);cursor:pointer;transition:all var(--transition);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.carousel-arrow:hover{border-color:var(--accent);background:var(--glass-hover);transform:translateY(-2px);box-shadow:0 4px 16px #d4a5742e}.carousel-arrow:active{transform:translateY(0)}.timeline{gap:0;max-width:100%;padding-left:8px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--accent), transparent);opacity:.4;width:2px;position:absolute;top:8px;bottom:8px;left:9px}.timeline-item{grid-template-columns:28px 150px 1fr;align-items:start;gap:14px;padding:18px 0;display:grid;position:relative}.timeline-dot{background:var(--gradient-accent);border:3px solid var(--bg-primary);z-index:1;border-radius:50%;width:20px;height:20px;margin-top:2px;box-shadow:0 0 12px #d4a57473}.timeline-date{color:var(--accent);padding-top:2px;font-size:.88rem;font-weight:800}.timeline-content{background:var(--glass);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:var(--radius);transition:all var(--transition);padding:14px 16px}.timeline-content:hover{border-color:var(--accent);box-shadow:0 4px 16px #d4a5741a}.timeline-content h3{margin:0 0 4px;font-size:1rem}.timeline-org{color:var(--muted);margin-bottom:6px;font-size:.85rem}.timeline-content p:last-child{font-size:.9rem;line-height:1.65}.edu-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.edu-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);border-top:3px solid var(--accent);transition:all var(--transition);padding:24px;position:relative}.edu-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #d4a57424}.edu-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.edu-degree{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:800}.edu-years{color:var(--muted);white-space:nowrap;font-size:.82rem}.edu-card h3{letter-spacing:-.02em;margin:0 0 2px;font-size:1.15rem}.edu-loc{color:var(--muted);margin-bottom:12px;font-size:.85rem}.edu-card p:last-child{color:var(--text-soft);font-size:.92rem;line-height:1.65}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.cert-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition);padding:20px}.cert-card:nth-child(3n+1){border-top:3px solid #d4a574}.cert-card:nth-child(3n+2){border-top:3px solid #b8956a}.cert-card:nth-child(3n){border-top:3px solid #8b6b47}.cert-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 28px #d4a57424}.cert-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cert-issuer{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.cert-date{color:var(--muted);font-size:.82rem}.cert-card h3{margin-bottom:6px;font-size:1rem}.cert-link{color:var(--accent);transition:gap var(--transition);align-items:center;gap:5px;margin-top:10px;font-size:.88rem;font-weight:600;display:inline-flex}.cert-link:hover{gap:8px}.resume-viewer{flex-direction:column;gap:20px;display:flex}.resume-actions{gap:10px;display:flex}.resume-embed{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(8px);overflow:hidden}.resume-iframe{border:none;width:100%;height:80vh}.contact-layout{grid-template-columns:1fr 1.05fr;align-items:start;gap:32px;display:grid}.contact-info .lead{margin-bottom:18px}.contact-details{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.contact-detail{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.contact-detail svg{color:var(--accent)}.contact-detail a{color:var(--accent);font-weight:600}.contact-detail a:hover{text-decoration:underline}.contact-form{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-card);gap:12px;padding:24px;display:grid}.field{gap:6px;display:grid}.field.full{grid-column:1/-1}.field label{color:var(--text-soft);font-size:.85rem;font-weight:700}.field input,.field textarea,.field select{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);width:100%;color:var(--text);transition:all var(--transition);padding:10px 12px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #d4a5742e,0 0 16px #d4a5741a}.field textarea{resize:vertical;min-height:90px}.contact-form-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:280px;padding:24px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.notice{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);color:var(--muted);padding:10px 14px;font-size:.9rem}.code-snippet-window{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.82rem;line-height:1.6;overflow:hidden}.code-snippet-header{background:var(--bg-tertiary);border-bottom:1px solid var(--glass-border);align-items:center;gap:12px;padding:10px 14px;display:flex}.code-snippet-dots{gap:6px;display:flex}.code-snippet-dots .dot{border-radius:50%;width:10px;height:10px}.dot.red{background:#ef4444}.dot.yellow{background:#eab308}.dot.green{background:#22c55e}.code-snippet-tab{background:var(--glass);color:var(--text-soft);border-radius:6px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;display:flex}.tab-icon{color:var(--accent)}.code-snippet-body{padding:16px 12px;overflow-x:auto}.code-line{white-space:pre;gap:16px;padding:2px 0;display:flex}.code-line.highlight{border-left:2px solid var(--accent);background:#d4a57414;margin:0 -12px;padding:2px 12px}.code-line.result{border-top:1px dashed var(--glass-border);margin-top:8px;padding-top:8px}.line-number{color:var(--muted-soft);text-align:right;-webkit-user-select:none;user-select:none;min-width:18px}.indent{color:#0000}.keyword{color:#c49a6c;font-weight:600}.function{color:#a67c52}.param{color:var(--text-soft)}.variable{color:#e5c07b}.string{color:#98c379}.number{color:#d19a66}.comment{color:var(--muted-soft);font-style:italic}.punctuation{color:var(--muted)}@media (max-width:620px){.code-snippet-window{font-size:.72rem}.code-snippet-body{padding:12px 8px}}.admin-layout{background:var(--bg-primary);z-index:1;min-height:100vh;position:relative}.admin-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(12px);flex-direction:column;height:100vh;padding:20px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar .brand{margin-bottom:4px}.admin-main{padding:24px;overflow-y:auto}.admin-tabs{gap:3px;margin-top:18px;display:grid}.admin-tab{justify-content:flex-start;width:100%;min-height:36px;font-size:.85rem}.admin-tab.active{background:var(--gradient-accent);color:#fff;border-color:#0000;box-shadow:0 2px 12px #d4a57459}.admin-tab:not(.active):hover{background:var(--glass-hover);border-color:var(--glass-border)}.dashboard-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0;display:grid}.dashboard-grid .stat{text-align:center}.editor-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:14px;display:grid}.editor-list{gap:5px;display:grid}.list-button{text-align:left;justify-content:flex-start;width:100%;padding:10px 12px;font-size:.86rem}.list-button.active{border-color:var(--accent);background:var(--glass-hover)}.form-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.section-heading h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.4rem,2.5vw,2rem)}.nav-actions{align-items:center;gap:8px;display:flex}.black-hole{cursor:pointer;z-index:9999;opacity:0;background:radial-gradient(circle,#000 55%,#000c 75%,#0000);border-radius:50%;width:48px;height:48px;transition:opacity .6s,transform .6s cubic-bezier(.34,1.56,.64,1);position:fixed;transform:scale(0);box-shadow:0 0 24px #d4a57480,0 0 48px #d4a57440,inset 0 0 18px #000000f2}.black-hole.visible{opacity:1;transform:scale(1)}.black-hole:before{content:"";border:2px dashed #d4a57459;border-radius:50%;animation:4s linear infinite black-hole-ring;position:absolute;inset:-12px}.black-hole:after{content:"";background:radial-gradient(circle,#d4a57414 0%,#0000 70%);border-radius:50%;animation:2s ease-in-out infinite black-hole-pulse;position:absolute;inset:-24px}.black-hole:focus{outline:2px solid var(--accent);outline-offset:6px}.black-hole.sucking{animation:.8s ease-in forwards black-hole-suck}@keyframes black-hole-ring{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes black-hole-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes black-hole-suck{0%{opacity:1;transform:scale(1)}60%{opacity:.6;transform:scale(2)}to{opacity:0;transform:scale(0)}}.black-hole-overlay{z-index:9998;pointer-events:none;opacity:0;transition:opacity .1s;position:fixed;inset:0}.black-hole-overlay.active{opacity:1;animation:.9s ease-in forwards viewport-suck}@keyframes viewport-suck{0%{-webkit-backdrop-filter:blur()brightness();backdrop-filter:blur()brightness()}30%{-webkit-backdrop-filter:blur(4px)brightness(.9);backdrop-filter:blur(4px)brightness(.9)}60%{-webkit-backdrop-filter:blur(12px)brightness(.6);backdrop-filter:blur(12px)brightness(.6)}90%{-webkit-backdrop-filter:blur(20px)brightness(.2);backdrop-filter:blur(20px)brightness(.2)}to{-webkit-backdrop-filter:blur(30px)brightness(0);backdrop-filter:blur(30px)brightness(0)}}.black-hole-toast{background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);color:var(--text);z-index:10001;opacity:0;border-radius:999px;padding:14px 28px;font-size:.92rem;font-weight:500;animation:.4s .3s forwards toast-appear,.4s 3s forwards toast-fade;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.black-hole-toast strong{color:var(--accent)}@keyframes toast-appear{0%{opacity:0;transform:translate(-50%)translateY(24px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toast-fade{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.black-hole,.black-hole:before,.black-hole:after{animation:none}.black-hole.sucking{opacity:0;animation:none}.black-hole-overlay.active{-webkit-backdrop-filter:blur();backdrop-filter:blur();opacity:0;animation:none}}@media (max-width:620px){.black-hole{width:56px;height:56px}}@media (max-width:920px){.navbar-links{display:none}.navbar-toggle{display:grid}.navbar-mobile{display:flex}.navbar-overlay{z-index:25;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0c0c99;display:block;position:fixed;inset:0}.portfolio-main{padding:56px 24px 24px}.home-hero,.about-layout,.contact-layout{grid-template-columns:1fr}.home-hero-visual{min-height:320px}.about-highlights{justify-content:center}.skill-orbit{grid-template-columns:1fr}.skill-orbit-group:nth-child(2n){margin-top:0}.project-card{width:320px}.cert-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(3,1fr)}.editor-grid,.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-tabs{flex-flow:wrap;gap:6px}.about-image{max-width:240px}}@media (max-width:620px){.form-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:24px 1fr}.timeline-date,.timeline-content{grid-column:2}.about-highlights{justify-content:center}.skill-orbit{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.portfolio-main{padding:48px 16px 16px}.about-image{max-width:200px}}
