:root{color:#f5f5f5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg:#0d1117;--color-bg-secondary:#10141b;--color-surface:#161b22;--color-surface-hover:#1c222b;--color-text:#f5f5f5;--color-text-secondary:#a8b0bd;--color-accent:#d9a441;--color-accent-hover:#e5b653;--color-border:#2a3039;--container-width:1200px;--header-height:72px;--section-spacing:7rem;--radius-small:6px;--radius-medium:12px;--radius-large:18px;--transition-fast:.18s ease;--transition-normal:.28s ease;background-color:#0d1117;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{background-color:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}:where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}#root,.public-layout,.admin-layout{min-height:100vh}.public-layout{flex-direction:column;display:flex}.portfolio-main{flex:1;width:100%}.section-container{width:min(100% - 3rem, var(--container-width));margin-inline:auto}.portfolio-section{padding-block:var(--section-spacing)}.section-eyebrow,.hero-eyebrow{color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem;font-weight:700}.portfolio-section h2{margin:0 0 1.25rem;font-size:clamp(2rem,5vw,3.25rem);line-height:1.1}.portfolio-section p{max-width:700px;color:var(--color-text-secondary);margin:0;font-size:1.05rem;line-height:1.8}.button{border-radius:var(--radius-small);min-height:48px;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:.75rem 1.4rem;font-weight:700;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background-color:var(--color-accent);color:var(--color-bg)}.button-primary:hover{background-color:var(--color-accent-hover)}.button-secondary{border-color:var(--color-border);color:var(--color-text);background-color:#0000}.button-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.skip-link{z-index:2000;background:var(--color-accent);color:var(--color-bg);border-radius:.5rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;transition:transform .2s;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:1000;height:var(--header-height);-webkit-backdrop-filter:blur(14px);background-color:#0d1117eb;border-bottom:1px solid #ffffff0f;position:sticky;top:0}.navbar{width:min(100% - 3rem, var(--container-width));justify-content:space-between;align-items:center;height:100%;margin-inline:auto;display:flex}.navbar-brand{border:1px solid var(--color-accent);border-radius:var(--radius-small);width:42px;height:42px;color:var(--color-accent);letter-spacing:.08em;transition:background-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:inline-flex}.navbar-brand:hover{background-color:var(--color-accent);color:var(--color-bg)}.navbar-links{align-items:center;gap:2rem;margin:0;padding:0;list-style:none;display:flex}.navbar-links a{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.9rem;font-weight:600;position:relative}.navbar-links a:after{content:"";background-color:var(--color-accent);transform-origin:100%;width:100%;height:2px;transition:transform var(--transition-fast);position:absolute;bottom:-.45rem;left:0;transform:scaleX(0)}.navbar-links a:hover{color:var(--color-text)}.navbar-links a:hover:after{transform-origin:0;transform:scaleX(1)}.navbar-toggle{background:0 0;border:0;width:44px;height:44px;padding:0;display:none}.navbar-toggle span{background-color:var(--color-text);width:24px;height:2px;transition:transform var(--transition-fast), opacity var(--transition-fast);margin:5px auto;display:block}.navbar-links a.is-active{color:var(--color-accent)}.navbar-links a.is-active:after{width:100%}@media (width<=768px){.navbar{width:min(100% - 2rem, var(--container-width))}.navbar-toggle{z-index:1001;display:block;position:relative}.navbar-links{top:var(--header-height);border-bottom:1px solid var(--color-border);opacity:0;visibility:hidden;transition:opacity var(--transition-normal), visibility var(--transition-normal), transform var(--transition-normal);background-color:#0d1117fa;flex-direction:column;align-items:stretch;gap:0;padding:1rem;display:flex;position:absolute;left:0;right:0;transform:translateY(-12px)}.navbar-links.is-open{opacity:1;visibility:visible;transform:translateY(0)}.navbar-links li{width:100%}.navbar-links a{border-radius:var(--radius-small);width:100%;padding:1rem;font-size:1rem;display:block}.navbar-links a:after{display:none}.navbar-links a:hover{background-color:var(--color-surface);color:var(--color-accent)}.navbar-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.navbar-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}.hero-section{min-height:calc(100vh - var(--header-height));background:radial-gradient(circle at 80% 45%, #d9a44114, transparent 32%), var(--color-bg);align-items:center;padding-block:5rem;display:flex;position:relative;overflow:hidden}.hero-content{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.hero-copy{max-width:720px}.hero-copy h1{letter-spacing:-.055em;max-width:750px;margin:0;font-size:clamp(3rem,7vw,5.75rem);font-weight:800;line-height:.98}.hero-copy h1 span{color:var(--color-accent)}.hero-description{max-width:620px;color:var(--color-text-secondary);margin:1.75rem 0 0;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.8}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2.25rem;display:flex}.hero-visual{justify-content:center;align-items:center;min-height:420px;display:flex;position:relative}.hero-visual-glow{aspect-ratio:1;filter:blur(70px);background-color:#d9a4411f;border-radius:50%;width:70%;position:absolute}.hero-code-card{z-index:1;border:1px solid var(--color-border);border-radius:var(--radius-large);width:min(100%,460px);transition:transform var(--transition-normal), border-color var(--transition-normal);background-color:#161b22e6;position:relative;overflow:hidden;transform:rotate(2deg);box-shadow:0 30px 80px #00000059,0 0 0 1px #ffffff05}.hero-code-card:hover{border-color:#d9a44173;transform:rotate(0)translateY(-5px)}.hero-code-header{border-bottom:1px solid var(--color-border);background-color:#ffffff06;align-items:center;gap:.45rem;height:46px;padding-inline:1rem;display:flex}.hero-code-header span{background-color:var(--color-text-secondary);opacity:.35;border-radius:50%;width:9px;height:9px}.hero-code-content{color:var(--color-text-secondary);flex-direction:column;gap:.85rem;padding:clamp(1.5rem,4vw,2.5rem);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:clamp(.8rem,1.5vw,.95rem);line-height:1.6;display:flex}.hero-code-content strong{color:var(--color-accent);font-weight:600}.hero-code-content em{color:var(--color-text);font-style:normal}.code-indent{padding-left:1.5rem}.code-muted{opacity:.55;margin-bottom:.5rem}.about-section{background-color:var(--color-bg-secondary)}.section-heading{max-width:760px;margin-bottom:3.5rem}.section-heading h2{margin-bottom:0}.section-heading h2 span{color:var(--color-accent)}.about-grid{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.about-visual{border:1px solid var(--color-border);border-radius:var(--radius-large);background:linear-gradient(145deg, #d9a44114, transparent 55%), var(--color-surface);padding:clamp(1.5rem,4vw,2.5rem)}.about-visual-label{color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 2rem;font-size:.75rem;font-weight:700}.about-flow{color:var(--color-text);justify-content:space-between;align-items:center;gap:.75rem;font-size:clamp(.9rem,2vw,1.05rem);font-weight:700;display:flex}.about-arrow{color:var(--color-accent)}.about-stack{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.65rem;margin-top:2rem;padding-top:1.5rem;display:flex}.about-stack span{border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:999px;padding:.45rem .75rem;font-size:.8rem;font-weight:600}.about-copy{gap:1.4rem;display:grid}.about-copy p{max-width:680px}@media (width<=850px){.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-visual{max-width:600px}}@media (width<=480px){.about-flow{flex-direction:column;align-items:flex-start}.about-arrow{transform:rotate(90deg)}}.skills-section .section-heading p:last-child{margin-top:1.5rem}.skills-grid{grid-template-columns:repeat(6,1fr);gap:1rem;display:grid}.skill-card{border:1px solid var(--color-border);border-radius:var(--radius-medium);background-color:var(--color-surface);min-height:190px;transition:border-color var(--transition-normal), background-color var(--transition-normal), transform var(--transition-normal);grid-column:span 2;padding:1.5rem}.skill-card:hover{background-color:var(--color-surface-hover);border-color:#d9a44173;transform:translateY(-4px)}.skill-card:nth-child(4){grid-column:2/span 2}.skill-card:nth-child(5){grid-column:4/span 2}.skill-card-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.skill-card-marker{background-color:var(--color-accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 14px #d9a44173}.skill-card h3{letter-spacing:.02em;margin:0;font-size:1rem}.skill-list{flex-wrap:wrap;gap:.6rem;display:flex}.skill-list span{border:1px solid var(--color-border);border-radius:var(--radius-small);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);transition:border-color var(--transition-fast), color var(--transition-fast);padding:.5rem .75rem;font-size:.85rem;font-weight:600}.skill-card:hover .skill-list span{border-color:#d9a44133}.skill-list span:hover{color:var(--color-accent)}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card,.skill-card:nth-child(4),.skill-card:nth-child(5){grid-column:auto}.skill-card:last-child{grid-column:1/-1}}@media (width<=600px){.skills-grid{grid-template-columns:1fr}.skill-card,.skill-card:last-child{grid-column:auto}.skill-card{min-height:auto}}.projects-section{background-color:var(--color-bg-secondary)}.projects-section .section-heading p:last-child{margin-top:1.5rem}.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.project-card{border:1px solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-surface);transition:border-color var(--transition-normal), transform var(--transition-normal), box-shadow var(--transition-normal);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{border-color:#d9a44173;transform:translateY(-6px);box-shadow:0 24px 55px #00000038}.project-card-visual{border-bottom:1px solid var(--color-border);background:radial-gradient(circle at 75% 30%, #d9a4412e, transparent 35%), linear-gradient(145deg, var(--color-surface-hover), var(--color-bg));justify-content:space-between;align-items:flex-end;min-height:180px;padding:1.5rem;display:flex;position:relative}.project-card-visual>span{z-index:1;color:var(--color-text-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:700;position:relative}.project-card-symbol{color:#d9a44140;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:clamp(3rem,6vw,4.5rem);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-card-content{flex-direction:column;flex:1;padding:1.5rem;display:flex}.project-type{color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .65rem;font-size:.7rem;font-weight:700}.project-card h3{margin:0;font-size:1.35rem;line-height:1.25}.project-description{color:var(--color-text-secondary);margin:1rem 0 0;font-size:.95rem;line-height:1.7}.project-technologies{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.project-technologies span{border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-secondary);padding:.4rem .6rem;font-size:.75rem;font-weight:600}.project-link{color:var(--color-text);transition:color var(--transition-fast), gap var(--transition-fast);background:0 0;border:0;align-self:flex-start;align-items:center;gap:.5rem;margin-top:auto;padding:1.75rem 0 0;font-weight:700;display:inline-flex}.project-link:hover{color:var(--color-accent);gap:.75rem}@media (width<=950px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.projects-grid{grid-template-columns:1fr}.project-card-visual{min-height:160px}}.project-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#05080cd1;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.project-modal{border:1px solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-surface);width:min(100%,1000px);max-height:calc(100vh - 4rem);position:relative;overflow-y:auto;box-shadow:0 30px 80px #00000073}.project-modal-cover{border:1px solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-bg);width:100%;max-width:720px;margin:0 auto 2.5rem;overflow:hidden;box-shadow:0 20px 45px #00000047}.project-modal-cover img{object-fit:contain;width:100%;height:auto;display:block}.project-modal-close{z-index:2;float:right;border:1px solid var(--color-border);background-color:var(--color-bg-secondary);width:42px;height:42px;color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;margin:1.25rem 1.25rem 0 0;font-size:1.5rem;line-height:1;display:flex;position:sticky;top:1.25rem}.project-modal-close:hover{background-color:var(--color-surface-hover);color:var(--color-accent);border-color:#d9a4418c;transform:rotate(90deg)}.project-modal-header{border-bottom:1px solid var(--color-border);background:radial-gradient(circle at 80% 20%, #d9a44124, transparent 30%), linear-gradient(145deg, var(--color-surface-hover), var(--color-bg));padding:clamp(2rem,5vw,4rem) clamp(1.5rem,6vw,5rem) clamp(2rem,4vw,3rem)}.project-modal-header .project-type{margin-bottom:1rem}.project-modal-header h2{max-width:760px;color:var(--color-text);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.project-modal-summary{max-width:760px;color:var(--color-text-secondary);margin:1.5rem 0 0;font-size:clamp(1rem,2vw,1.1rem);line-height:1.8}.project-modal-content{gap:0;padding:clamp(1rem,3vw,2rem) clamp(1.5rem,6vw,5rem) clamp(2.5rem,6vw,5rem);display:grid}.project-case-study-section{border-bottom:1px solid var(--color-border);padding:clamp(1.75rem,4vw,3rem) 0}.project-case-study-section:last-child{border-bottom:0}.project-case-study-section h3{color:var(--color-text);margin:0;font-size:1.25rem;line-height:1.3}.project-case-study-section h3:before{content:"";vertical-align:middle;background-color:var(--color-accent);width:24px;height:2px;margin-right:.75rem;display:inline-block}.project-case-study-section p{max-width:780px;color:var(--color-text-secondary);margin:1rem 0 0;line-height:1.8}.project-case-study-section .project-technologies{margin-top:1.25rem}.project-case-study-section .project-technologies span{background-color:#d9a4410f;border-color:#d9a44140}.project-modal-meta{flex-wrap:wrap;gap:1rem 3rem;margin-top:1.5rem;padding-bottom:1rem;display:flex}.project-modal-meta span{color:var(--color-text-secondary);flex-direction:column;gap:.35rem;font-size:.95rem;display:flex}.project-modal-meta strong{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.project-modal-actions{flex-wrap:wrap;gap:.85rem;margin-top:1.75rem;display:flex}.project-modal-action{border:1px solid var(--color-border);border-radius:var(--radius-medium);background-color:var(--color-bg-secondary);color:var(--color-text);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.project-modal-action:hover{background-color:var(--color-surface-hover);color:var(--color-accent);border-color:#d9a4418c;transform:translateY(-2px)}.project-modal-action-primary{background-color:var(--color-accent);color:var(--color-bg);border-color:#d9a44173}.project-modal-action-primary:hover{border-color:var(--color-accent);background-color:var(--color-accent-hover);color:var(--color-bg)}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.project-gallery-item{border:1px solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-bg-secondary);margin:0;overflow:hidden}.project-gallery-item img{object-fit:contain;width:100%;height:auto;display:block}.project-gallery-item figcaption{border-top:1px solid var(--color-border);color:var(--color-text-secondary);padding:.9rem 1rem;font-size:.85rem;line-height:1.5}@media (width<=650px){.project-modal-backdrop{align-items:stretch;padding:0}.project-modal{border:0;border-radius:0;width:100%;max-height:100vh}.project-modal-cover{border-radius:var(--radius-medium);margin-bottom:2rem}.project-modal-close{width:40px;height:40px;margin:1rem 1rem 0 0;top:1rem}.project-modal-header{padding:4.5rem 1.5rem 2rem}.project-modal-header h2{font-size:clamp(2rem,10vw,2.75rem)}.project-modal-summary{font-size:.95rem;line-height:1.7}.project-modal-content{padding:0 1.5rem 2rem}.project-case-study-section{padding:2rem 0}.project-gallery{grid-template-columns:1fr;gap:1.25rem}.project-gallery-item{border-radius:var(--radius-medium)}}.resume-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);display:grid}.resume-heading{align-self:start}.resume-heading h2 span{color:var(--color-accent)}.resume-heading>p:not(.section-eyebrow){max-width:520px;margin-top:1.5rem}.resume-heading .button{margin-top:2rem}.resume-summary{border-top:1px solid var(--color-border)}.resume-item{border-bottom:1px solid var(--color-border);grid-template-columns:42px 1fr;gap:1.25rem;padding:2rem 0;display:grid}.resume-item-number{color:var(--color-accent);padding-top:.15rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8rem;font-weight:700}.resume-item-label{color:var(--color-text-secondary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .45rem;font-size:.7rem;font-weight:700}.resume-item h3{margin:0;font-size:clamp(1.1rem,2vw,1.35rem)}.resume-item div>p:last-child{max-width:620px;margin-top:.75rem}@media (width<=800px){.resume-grid{grid-template-columns:1fr;gap:3rem}}@media (width<=480px){.resume-item{grid-template-columns:32px 1fr;gap:.85rem}}.contact-section{background-color:var(--color-bg-secondary)}.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.contact-copy h2 span{color:var(--color-accent)}.contact-copy>p:not(.section-eyebrow){max-width:520px;margin-top:1.5rem}.contact-note{border-top:1px solid var(--color-border);align-items:flex-start;gap:.8rem;max-width:480px;margin-top:2rem;padding-top:1.5rem;display:flex}.contact-note-marker{background-color:var(--color-accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:.55rem;box-shadow:0 0 14px #d9a44173}.contact-note p{color:var(--color-text-secondary);margin:0;font-size:.9rem}.contact-form{border:1px solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-surface);gap:1.25rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.form-group{gap:.5rem;display:grid}.form-group label{color:var(--color-text);font-size:.8rem;font-weight:700}.form-group input,.form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius-small);background-color:var(--color-bg-secondary);width:100%;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.85rem 1rem}.form-group textarea{resize:vertical;min-height:150px}.form-group input::placeholder,.form-group textarea::placeholder{color:#6f7783}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #d9a4411a}.form-message{border-radius:var(--radius-small);border:1px solid;margin:0;padding:.85rem 1rem;font-size:.85rem;line-height:1.5}.form-message-success{color:#8ed6aa;background-color:#48bb7814;border-color:#48bb7859}.form-message-error{color:#f0a0a0;background-color:#ef686814;border-color:#ef686859}.contact-form .button:disabled{cursor:not-allowed;opacity:.65}.contact-form .button{justify-self:start;margin-top:.5rem}@media (width<=800px){.contact-grid{grid-template-columns:1fr;gap:3rem}}@media (width<=600px){.contact-form .button{width:100%}}.site-footer{border-top:1px solid var(--color-border);background-color:var(--color-bg);margin-top:auto}.footer-content{width:min(calc(100% - 3rem), var(--container-width));grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;margin:0 auto;padding:2rem 0;display:grid}.footer-brand{align-items:center;gap:.85rem;display:flex}.footer-logo{border:1px solid var(--color-accent);border-radius:var(--radius-small);width:38px;height:38px;color:var(--color-accent);letter-spacing:.04em;transition:background-color var(--transition-fast), color var(--transition-fast);place-items:center;font-size:.8rem;font-weight:800;display:grid}.footer-logo:hover{background-color:var(--color-accent);color:var(--color-bg)}.footer-brand p{color:var(--color-text);margin:0;font-size:.85rem;font-weight:700}.footer-brand span{color:var(--color-text-secondary);margin-top:.15rem;font-size:.7rem;display:block}.footer-copyright{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.75rem}.footer-back-to-top{color:var(--color-text-secondary);transition:color var(--transition-fast), gap var(--transition-fast);justify-self:end;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;display:inline-flex}.footer-back-to-top:hover{color:var(--color-accent);gap:.65rem}@media (width<=700px){.footer-content{width:min(calc(100% - 2rem), var(--container-width));text-align:center;grid-template-columns:1fr;justify-items:center;gap:1.5rem}.footer-brand{flex-direction:column}.footer-back-to-top{justify-self:center}}.admin-layout{background-color:var(--color-bg);grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--color-border);background-color:var(--color-bg-secondary);flex-direction:column;height:100vh;padding:2rem 1.5rem;display:flex;position:sticky;top:0}.admin-sidebar-header{border-bottom:1px solid var(--color-border);padding-bottom:2rem}.admin-eyebrow,.admin-card-label{color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:700}.admin-sidebar-header h1{margin:0;font-size:1.75rem;line-height:1.1}.admin-nav{gap:.4rem;margin-top:2rem;display:grid}.admin-nav a{border-radius:var(--radius-small);color:var(--color-text-secondary);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;padding:.8rem 1rem;font-weight:600}.admin-nav a:hover{background-color:var(--color-surface);color:var(--color-text)}.admin-nav a.active{color:var(--color-accent);background-color:#d9a44114;border-color:#d9a44140}.admin-sidebar-footer{border-top:1px solid var(--color-border);gap:1rem;margin-top:auto;padding-top:2rem;display:grid}.admin-user{color:var(--color-text-secondary);margin:0;font-size:.8rem;line-height:1.5}.admin-user strong{color:var(--color-text)}.admin-sidebar-footer .button{width:100%}.admin-content{min-width:0}.admin-topbar{border-bottom:1px solid var(--color-border);background-color:#0d1117e6;justify-content:flex-end;align-items:center;min-height:64px;padding:0 2rem;display:flex}.admin-topbar a{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.85rem;font-weight:600}.admin-topbar a:hover{color:var(--color-accent)}.admin-page{width:min(100% - 4rem,1200px);margin-inline:auto;padding-block:3rem}.admin-page-header{margin-bottom:2.5rem}.admin-page-header h2{margin:0 0 .75rem;font-size:clamp(2rem,4vw,2.75rem);line-height:1.1}.admin-page-header>p:last-child{max-width:650px;color:var(--color-text-secondary);margin:0;line-height:1.7}.admin-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.admin-dashboard-card{border:1px solid var(--color-border);border-radius:var(--radius-medium);background-color:var(--color-surface);min-height:280px;transition:border-color var(--transition-fast), transform var(--transition-fast);flex-direction:column;justify-content:space-between;gap:2rem;padding:1.5rem;display:flex}.admin-dashboard-card:hover{border-color:#d9a44173;transform:translateY(-3px)}.admin-dashboard-card h3{margin:0 0 .75rem;font-size:1.4rem}.admin-dashboard-card p:not(.admin-card-label){color:var(--color-text-secondary);margin:0;line-height:1.7}.admin-dashboard-card .button{align-self:flex-start}@media (width<=950px){.admin-layout{grid-template-columns:220px minmax(0,1fr)}.admin-dashboard-grid{grid-template-columns:1fr}.admin-dashboard-card{min-height:auto}}@media (width<=700px){.admin-layout{display:block}.admin-sidebar{border-right:0;border-bottom:1px solid var(--color-border);width:100%;height:auto;padding:1.25rem;position:static}.admin-sidebar-header{padding-bottom:1rem}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.admin-nav a{text-align:center}.admin-sidebar-footer{margin-top:1.25rem;padding-top:1rem}.admin-topbar{min-height:56px;padding-inline:1.25rem}.admin-page{width:min(100% - 2rem,1200px);padding-block:2rem}}@media (width<=430px){.admin-nav{grid-template-columns:1fr}}.admin-login{background:radial-gradient(circle at top, #d9a44114, transparent 35%), var(--color-bg);place-items:center;min-height:100vh;padding:2rem;display:grid}.admin-login-card{border:1px solid var(--color-border);border-radius:var(--radius-large);background-color:var(--color-surface);width:min(100%,440px);padding:clamp(1.75rem,5vw,2.5rem)}.admin-login-header{margin-bottom:2rem}.admin-login-header h1{margin:0 0 .75rem;font-size:clamp(2rem,6vw,2.5rem);line-height:1.1}.admin-login-header>p:last-child{color:var(--color-text-secondary);margin:0;line-height:1.7}.admin-login-form{gap:1.25rem;display:grid}.admin-login-field{gap:.5rem;display:grid}.admin-login-field label{color:var(--color-text);font-size:.8rem;font-weight:700}.admin-login-field input{border:1px solid var(--color-border);border-radius:var(--radius-small);background-color:var(--color-bg-secondary);width:100%;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.85rem 1rem}.admin-login-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #d9a4411a}.admin-login-error{border-radius:var(--radius-small);color:#f0a0a0;background-color:#ef686814;border:1px solid #ef686859;margin:0;padding:.85rem 1rem;font-size:.85rem;line-height:1.5}.admin-login-form .button{width:100%;margin-top:.25rem}.admin-login-form .button:disabled{cursor:not-allowed;opacity:.65}.admin-login-return{color:var(--color-text-secondary);transition:color var(--transition-fast);margin-top:1.5rem;font-size:.85rem;font-weight:600;display:inline-block}.admin-login-return:hover{color:var(--color-accent)}@media (width<=500px){.admin-login{padding:1rem}.admin-login-card{padding:1.5rem}}.admin-page-header-row{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.admin-page-header-row .button{flex-shrink:0}.admin-projects-error{background:#dc505014;border:1px solid #dc505059;border-radius:.75rem;margin:1.5rem 0;padding:1rem 1.25rem}.admin-project-list{gap:1rem;margin-top:2rem;display:grid}.admin-project-card{background:#161b22;border:1px solid #ffffff14;border-radius:1rem;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem;display:flex}.admin-project-card-main{flex:1;min-width:0}.admin-project-card-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:.75rem;display:flex}.admin-project-card-heading h3{color:#f5f5f5;margin:.2rem 0 0}.admin-project-card-main>p{color:#a8b0bd;margin:0;line-height:1.6}.admin-project-badges{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.admin-badge{color:#a8b0bd;white-space:nowrap;border:1px solid #ffffff1f;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.admin-badge-success{color:#8ed6a5;border-color:#5fbe7d4d}.admin-badge-accent{color:#d9a441;border-color:#d9a44159}.admin-project-meta{color:#a8b0bd;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1rem;font-size:.85rem;display:flex}.admin-project-actions{flex-shrink:0;gap:.75rem;display:flex}.button-danger{color:#ef8c8c;background:0 0;border:1px solid #dc505066}.button-danger:hover:not(:disabled){background:#dc50501a;border-color:#dc5050b3}.button-danger:disabled{cursor:not-allowed;opacity:.6}.admin-empty-state{text-align:center;border:1px dashed #ffffff26;border-radius:1rem;margin-top:2rem;padding:3rem 2rem}.admin-empty-state h3{margin-top:0}.admin-empty-state p{color:#a8b0bd;margin-bottom:1.5rem}@media (width<=800px){.admin-project-card{flex-direction:column;align-items:stretch}.admin-project-actions{width:100%}.admin-project-actions .button{text-align:center;flex:1}}@media (width<=600px){.admin-page-header-row{flex-direction:column}.admin-page-header-row .button{text-align:center;width:100%}.admin-project-card-heading{flex-direction:column}.admin-project-badges{justify-content:flex-start}.admin-project-actions{flex-direction:column}}.admin-project-form{gap:1.5rem;margin-top:2rem;display:grid}.admin-form-section{background:#161b22;border:1px solid #ffffff14;border-radius:1rem;padding:1.5rem}.admin-form-section-heading{margin-bottom:1.5rem}.admin-form-section-heading h3{color:#f5f5f5;margin:.25rem 0 0}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.admin-form-field{flex-direction:column;gap:.5rem;display:flex}.admin-form-field-full{grid-column:1/-1}.admin-form-field label{color:#f5f5f5;font-size:.9rem;font-weight:600}.admin-form-field input,.admin-form-field textarea,.admin-form-select{color:#f5f5f5;width:100%;font:inherit;background:#10141b;border:1px solid #ffffff1f;border-radius:.65rem;outline:none;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.admin-form-field textarea{resize:vertical;line-height:1.6}.admin-form-field input:focus,.admin-form-field textarea:focus,.admin-form-field select:focus{border-color:#d9a441b3;box-shadow:0 0 0 3px #d9a4411a}.admin-form-toggles{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}.admin-form-toggle,.admin-technology-option{cursor:pointer;align-items:center;gap:.65rem;display:flex}.admin-form-toggle{background:#10141b;border:1px solid #ffffff1a;border-radius:.65rem;padding:.75rem 1rem}.admin-form-toggle input,.admin-technology-option input{accent-color:#d9a441;width:1rem;height:1rem}.admin-technology-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.admin-technology-option{color:#f5f5f5;background:#10141b;border:1px solid #ffffff1a;border-radius:.65rem;padding:.85rem 1rem}.admin-technology-option:hover{border-color:#d9a44166}.admin-form-actions{justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}@media (width<=850px){.admin-technology-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.admin-form-grid{grid-template-columns:1fr}.admin-form-field-full{grid-column:auto}.admin-technology-options{grid-template-columns:1fr}.admin-form-actions{flex-direction:column-reverse}.admin-form-actions .button{text-align:center;width:100%}}.admin-technologies-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);align-items:start;gap:1.5rem;margin-top:2rem;display:grid}.admin-technology-form{gap:1.25rem;display:grid}.admin-technology-form-actions{justify-content:flex-end;gap:.75rem;margin-top:.25rem;display:flex}.admin-technology-list-section{background:#161b22;border:1px solid #ffffff14;border-radius:1rem;padding:1.5rem}.admin-technology-list{gap:.75rem;display:grid}.admin-technology-card{background:#10141b;border:1px solid #ffffff14;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem;display:flex}.admin-technology-card-info{min-width:0}.admin-technology-card-info h4{color:#f5f5f5;margin:0}.admin-technology-card-info .admin-project-meta{margin-top:.4rem}.admin-technology-card-actions{flex-shrink:0;gap:.5rem;display:flex}@media (width>=901px){.admin-technology-form-card{position:sticky;top:2rem}}@media (width<=900px){.admin-technologies-layout{grid-template-columns:1fr}}@media (width<=550px){.admin-technology-card{flex-direction:column;align-items:stretch}.admin-technology-card-actions{width:100%}.admin-technology-card-actions .button{text-align:center;flex:1}.admin-technology-form-actions{flex-direction:column-reverse}.admin-technology-form-actions .button{width:100%}}.admin-project-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.admin-project-image-card{background:#10141b;border:1px solid #ffffff14;border-radius:.9rem;overflow:hidden}.admin-project-image-preview{aspect-ratio:16/10;background:#0d1117;position:relative;overflow:hidden}.admin-project-image-preview img{object-fit:cover;width:100%;height:100%;display:block}.admin-project-image-cover-badge{color:#0d1117;letter-spacing:.04em;text-transform:uppercase;background:#d9a441;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:700;position:absolute;top:.75rem;left:.75rem}.admin-project-image-details{gap:.55rem;padding:1rem;display:grid}.admin-project-image-details p{color:#a8b0bd;margin:0;line-height:1.5}.admin-project-image-details strong{color:#f5f5f5}@media (width<=750px){.admin-project-image-grid{grid-template-columns:1fr}}.admin-messages-page,.admin-message-details-page{width:100%}.admin-message-list{gap:1rem;display:grid}.admin-message-card{border:1px solid var(--color-border);border-radius:var(--radius-medium);background-color:var(--color-surface);transition:border-color var(--transition-fast), transform var(--transition-fast);justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem;display:flex}.admin-message-card:hover{border-color:#d9a44159;transform:translateY(-2px)}.admin-message-card-unread{border-left:3px solid var(--color-accent)}.admin-message-card-read{opacity:.82}.admin-message-card-content{flex:1;min-width:0}.admin-message-card-heading{align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.admin-message-card-heading h3{color:var(--color-text);margin:0;font-size:1.1rem}.admin-message-status{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;border:1px solid #ffffff1f;border-radius:999px;align-items:center;padding:.3rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.admin-message-card-unread .admin-message-status{color:var(--color-accent);border-color:#d9a44159}.admin-message-email,.admin-message-subject,.admin-message-date{margin:0}.admin-message-email{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.9rem}.admin-message-subject{color:var(--color-text);font-weight:600}.admin-message-date{color:var(--color-text-secondary);margin-top:.5rem;font-size:.8rem}.admin-message-card-actions{flex-shrink:0}.admin-message-details-card{border:1px solid var(--color-border);border-radius:var(--radius-medium);background-color:var(--color-surface);padding:2rem}.admin-message-details-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem;display:flex}.admin-message-details-header h3{color:var(--color-text);margin:0 0 .4rem;font-size:1.4rem}.admin-message-details-header a{color:var(--color-accent);overflow-wrap:anywhere}.admin-message-details-meta{border-bottom:1px solid var(--color-border);gap:.5rem;padding-block:1.5rem;display:grid}.admin-message-details-meta p{color:var(--color-text-secondary);margin:0}.admin-message-details-meta strong{color:var(--color-text)}.admin-message-body{padding-block:2rem}.admin-message-body p{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.8}.admin-message-details-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.75rem;padding-top:1.5rem;display:flex}@media (width<=700px){.admin-message-card{flex-direction:column;align-items:stretch;gap:1.25rem}.admin-message-card-actions{width:100%}.admin-message-card-actions .button{text-align:center;width:100%}.admin-message-details-card{padding:1.25rem}.admin-message-details-header,.admin-message-details-actions{flex-direction:column}.admin-message-details-actions .button{text-align:center;width:100%}}@media (width<=768px){:root{--section-spacing:5rem}.section-container{width:min(100% - 2rem, var(--container-width))}.portfolio-section p{font-size:1rem}}@media (width<=900px){.hero-section{min-height:auto;padding-block:5rem}.hero-content{grid-template-columns:1fr;gap:4rem}.hero-copy{max-width:700px}.hero-visual{min-height:auto}.hero-code-card{width:min(100%,520px);transform:none}.hero-code-card:hover{transform:translateY(-4px)}}@media (width<=600px){.hero-section{padding-block:4rem}.hero-copy h1{font-size:clamp(2.75rem,14vw,4rem)}.hero-description{line-height:1.7}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-code-content{overflow-x:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
