:root{--background-color: rgb(6, 4, 14);--background-transparent-color: rgba(6, 4, 14, 0);--background-header-color: rgba(10, 8, 20, .82);--quarte-color: rgb(20, 10, 40);--tertiary-color: rgb(96, 76, 140);--secondary-color: rgb(136, 112, 176);--primary-color: rgb(214, 206, 255);--text-color: rgba(228, 228, 232, 1);--highlight-color: rgb(214, 171, 105);--dropshadow-color: rgba(136, 112, 176, .6)}body{margin:0;min-height:100vh;background-color:var(--background-color);color:var(--text-color);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}canvas{display:block}#quarks-js{position:absolute;width:100%;height:100%;background-color:var(--background-color)}#quarks-webgl{position:fixed;inset:0;width:100%;height:100%;display:block;background-color:var(--background-color);z-index:0;pointer-events:none}.page-body{display:flex;flex-direction:row;flex-wrap:wrap;vertical-align:middle;background-color:var(--background-transparent-color);position:relative;z-index:10;padding:96px 8vw 48px;box-sizing:border-box;gap:25px}.menu-brand-container{display:flex;flex-direction:row;padding:10px;flex-wrap:wrap;align-items:left}.menu-brand-title-container{display:flex;flex-direction:column;flex-wrap:wrap;vertical-align:title;font-weight:600}.menu-header{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;vertical-align:middle;background-color:var(--background-header-color);position:sticky;top:0;z-index:1001;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(214,171,105,.25);box-shadow:0 10px 30px #0000008c}.menu-brand-logo-container{display:block;padding:0;margin:0}.menu-brand-logo{width:75px;height:75px;display:block;filter:drop-shadow(0 0 6px var(--dropshadow-color));padding-right:25px}.menu-brand-title-primary{color:var(--primary-color);font-size:24px}.menu-brand-title-second{color:var(--secondary-color);font-size:30px}.menu-brand-tagline{color:var(--text-color);padding:0;font-size:12px}.menu-links{display:flex;flex-direction:row;flex-wrap:wrap;flex-grow:1;align-items:center;justify-content:end;gap:20px;font-size:14px;text-transform:uppercase;letter-spacing:1.4px;padding-right:25px}.menu-links a{color:var(--text-color);text-decoration:none;opacity:.85;transition:opacity .2s ease}.menu-links a:hover{opacity:1;color:var(--highlight-color);transform:scale(1.2)}.menu-links a.active{opacity:1;color:var(--highlight-color)}h1{color:var(--primary-color);z-index:10;position:relative}h2{position:relative;z-index:10;color:var(--tertiary-color)}h3{position:relative;z-index:10;color:var(--secondary-color)}.card{position:relative;background:radial-gradient(circle at top left,rgba(214,171,105,.08),transparent 55%),linear-gradient(145deg,#140a28f5,#050210fa);margin:12px;border-radius:20px;border:1px solid rgba(214,171,105,.28);box-shadow:0 18px 45px #000000bf,0 0 0 1px #604c8c59;width:auto;overflow:hidden;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out}.card:hover{transform:translateY(-4px);box-shadow:0 26px 60px #000000d9,0 0 0 1px #d6ab6973;border-color:#d6ab698c}.card-title{display:flex;flex-direction:row;flex-wrap:wrap;flex-grow:1;align-items:center;justify-content:center;position:relative;padding:20px;border-radius:20px 20px 0 0;border-bottom:1px solid rgba(214,171,105,.55);background:linear-gradient(120deg,#140a28fa,#3c235cf5);color:var(--text-color);text-transform:uppercase;letter-spacing:2px;font-size:.9rem}.card-body{display:flex;flex-direction:row;flex-wrap:wrap;flex-grow:1;vertical-align:middle;position:relative;width:100%;color:var(--text-color);padding:25px;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.headshot{width:150px;padding:10px 25px 10px 10px;border-radius:80px;height:auto;display:block}.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;margin-right:16px;background:transparent;border:1px solid var(--secondary-color);border-radius:8px;cursor:pointer;z-index:20}.menu-toggle-bar{display:block;width:20px;height:2px;background:var(--text-color);margin:3px 0;transition:transform .2s ease}@media(max-width:768px){.menu-header{align-items:center}.menu-links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px 20px;background-color:var(--background-header-color);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1002}.menu-links.menu-links--open{display:flex}.menu-toggle{display:inline-flex}}.card-link{text-decoration:none;color:inherit;display:block}.card-link:focus-visible{outline:2px solid var(--highlight-color);outline-offset:4px;border-radius:20px}.home-page>.card,.home-page>.card-link{flex:1 1 320px;min-width:260px}.home-page .card{width:100%;margin:0}.home-page{gap:25px}.home-card--compact{overflow:hidden}.home-page>.card-link:first-child,.home-page>.card:first-child{flex-basis:100%}.projects-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:25px;width:100%;align-items:stretch}.projects-headshot-card,.projects-repo-card{flex:1 1 0;margin:0}.projects-headshot-body{align-items:center;gap:16px}.projects-headshot-text h3{margin:0}.projects-repos-wrapper{display:flex;flex-wrap:wrap;gap:25px;flex:1 1 100%}.projects-repo-card .card-body{display:flex;flex-direction:column;gap:12px}.projects-repo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.projects-repo-language{font-size:.8rem;opacity:.9}.projects-repo-link{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--highlight-color);text-decoration:none}.projects-repo-link:hover{text-decoration:underline}@media(max-width:900px){.projects-headshot-card,.projects-repo-card{flex-basis:100%}}.gallery-card{width:calc(50% - 50px)}.page-body>.card:first-child{width:100%}.gallery-card .card-body{flex-direction:column;align-items:center;text-align:center}.gallery-card-image{width:100%;max-width:420px;height:auto;border-radius:16px;box-shadow:0 6px 18px #00000059;margin-bottom:16px}.gallery-card-description{margin:0;color:var(--text-color);line-height:1.5}@media(max-width:900px){.gallery-card{width:calc(100% - 50px)}}.contact-card{width:100%}.contact-form{display:flex;flex-direction:column;gap:16px;width:100%}.contact-field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text-color)}.contact-field input,.contact-field textarea{background:#050109a6;border:1px solid rgba(194,184,255,.35);border-radius:12px;padding:12px 14px;color:var(--text-color);font-size:14px;font-family:inherit}.contact-field input:focus,.contact-field textarea:focus{outline:2px solid var(--highlight-color);outline-offset:2px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.contact-submit{background:var(--secondary-color);color:var(--text-color);border:none;border-radius:10px;padding:12px 18px;cursor:pointer;text-transform:uppercase;letter-spacing:1px;font-weight:600}.contact-submit:hover{color:var(--highlight-color)}.contact-submit:disabled{cursor:not-allowed;opacity:.7}.contact-email-link{color:var(--text-color);text-decoration:none;font-size:14px;opacity:.85}.contact-email-link:hover{opacity:1;color:var(--highlight-color)}.contact-thanks{margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid rgba(234,249,182,.6);background:#1a042bcc;color:var(--highlight-color);font-size:14px;letter-spacing:.4px}.contact-error{margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,120,120,.6);background:#3c0a14e6;color:#ffd6d6;font-size:14px}.about-intro-card{width:100%}.about-intro-body{display:flex;align-items:center;gap:24px}.about-intro-body h3{margin-top:0}.about-intro-body p{margin:0}.steampunk-card{position:relative;border:1px solid rgba(214,171,105,.45);background:linear-gradient(160deg,#140a28fa,#3c235ce6)}.steampunk-card:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(234,249,182,.45);border-radius:18px;pointer-events:none}.about-card-section{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.about-card-section:last-child{margin-bottom:0}.about-card-section h3{margin:0;color:var(--highlight-color)}.about-card-section ul{margin:0;padding-left:18px;color:var(--text-color)}.about-card-section p{margin:0;color:var(--text-color)}@media(max-width:900px){.about-intro-body{flex-direction:column;align-items:flex-start}}.not-found-page{justify-content:center}.not-found-card{width:min(720px,100%)}.not-found-body{flex-direction:column;gap:16px;text-align:center}.not-found-link{align-self:center;padding:10px 18px;border-radius:10px;background:var(--secondary-color);color:var(--text-color);text-decoration:none;text-transform:uppercase;letter-spacing:1px}.not-found-link:hover{color:var(--highlight-color)}
