@font-face{font-family:Marvin Visions Variable;src:url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/756881/MarvinVisionsTrial-Variable.ttf)}:root{--color-page-background-main: #0c1118;--color-page-background-bottom: #0a1017;--color-page-background-overlay-left: #233955;--color-page-background-overlay-right: #19283b;--color-navigation-background: #141c28;--color-card-background-main: #f5f7fc;--color-card-background-subtle: #e7edf7;--color-card-background-gradient-about: #f2f6ff;--color-card-background-gradient-projects: #eff4ff;--color-card-background-gradient-skills: #eef4ff;--color-card-background-image-frame: #f9fbff;--color-input-focus-background: #f8fbff;--color-text-primary: #e8eef8;--color-text-secondary: #aeb8c7;--color-text-on-light-surface: #1b2738;--color-accent-main: #9fc0ff;--color-accent-soft: #cfe0ff;--color-border-muted: #44566f;--color-shadow-offset: #6b7f9b;--size-bottom-navigation-height: 66px;--space-tab-title-to-content: 1rem}html,body{max-width:100%;overflow-x:hidden}body{font-family:Marvin Visions Variable,sans-serif;color:var(--color-text-primary);margin:0;min-height:100vh;min-height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(1200px 500px at 20% -5%,var(--color-page-background-overlay-left) 0%,transparent 70%),radial-gradient(900px 450px at 90% 10%,var(--color-page-background-overlay-right) 0%,transparent 72%),linear-gradient(180deg,var(--color-page-background-main) 0%,var(--color-page-background-bottom) 100%)}.tabcontent{color:var(--color-text-primary);display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding:18px 18px calc(var(--size-bottom-navigation-height) + env(safe-area-inset-bottom,0px));animation:tab-content-fade-in .28s ease}.tabcontent>.tab-section-title{margin:0 0 var(--space-tab-title-to-content)}.tab-section-title{color:var(--color-text-primary);font-size:clamp(1.4rem,3.1vw,2.35rem);font-weight:760;letter-spacing:.012em;line-height:1.05;text-align:center}@keyframes tab-content-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){:root{--size-bottom-navigation-height: 58px}.tablink{font-size:.8rem;padding:.85rem .35rem;letter-spacing:.01em;text-transform:none}.tabcontent{padding:12px 12px calc(var(--size-bottom-navigation-height) + env(safe-area-inset-bottom,0px))}}@media(max-width:420px){.tablink{font-size:.75rem;padding:.8rem .3rem}}.tabbar{position:fixed;left:0;right:0;bottom:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid color-mix(in oklab,var(--color-accent-main) 30%,transparent 70%);background:color-mix(in oklab,var(--color-navigation-background) 88%,black 12%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -12px 30px #00000059}.tablink{font-family:inherit;font-size:.9rem;font-weight:820;letter-spacing:.015em;text-transform:uppercase;background:transparent;border:0;padding:1rem .5rem;color:var(--color-text-secondary);position:relative;transition:color .22s ease,background-color .22s ease;cursor:pointer}.tablink:before{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:0;width:0;height:3px;border-radius:999px;background:var(--color-accent-soft);transition:width .22s ease}.tablink:hover{color:var(--color-text-primary);background:color-mix(in oklab,var(--color-accent-main) 12%,transparent 88%)}.tablink:hover:before,.tablink.active:before{width:70%}.tablink.active{color:var(--color-card-background-main);background:color-mix(in oklab,var(--color-accent-main) 22%,transparent 78%)}#About{background-color:transparent;display:block;min-height:0;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.brutalist-card{width:min(100%,860px);max-width:100%;margin-inline:auto;border:3px solid var(--color-text-on-light-surface);background:linear-gradient(180deg,var(--color-card-background-main) 0%,var(--color-card-background-gradient-about) 100%);padding:1rem;border-radius:4px;box-shadow:11px 11px 0 var(--color-shadow-offset),0 18px 36px #00000040;position:relative;box-sizing:border-box;transition:transform .22s ease,box-shadow .22s ease}.brutalist-card:before{content:"";position:absolute;inset:8px;border:1px dashed color-mix(in oklab,var(--color-text-on-light-surface) 42%,transparent 58%);pointer-events:none}.brutalist-card:hover{transform:translate(-2px,-2px);box-shadow:13px 13px 0 var(--color-shadow-offset),0 20px 40px #00000047}.brutalist-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem;border-bottom:2px solid var(--color-text-on-light-surface);padding-bottom:.65rem}.brutalist-card__alert{font-weight:900;color:var(--color-text-on-light-surface);font-size:clamp(1.05rem,3vw,1.65rem);letter-spacing:.02em;line-height:1;text-transform:uppercase}.brutalist-card__message{margin-top:.3rem;color:var(--color-text-on-light-surface);font-size:clamp(.95rem,1.65vw,1.04rem);line-height:1.6;border-top:2px solid var(--color-border-muted);padding-top:.8rem;font-weight:680;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.brutalist-card__actions{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.brutalist-card__button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:.75rem .9rem;text-align:center;font-size:.86rem;font-weight:840;letter-spacing:.02em;text-transform:uppercase;border:2px solid var(--color-text-on-light-surface);background-color:var(--color-card-background-main);color:var(--color-text-on-light-surface);position:relative;transition:transform .2s ease,box-shadow .2s ease,color .2s ease,background-color .2s ease;box-shadow:5px 5px 0 var(--color-border-muted);overflow:hidden;text-decoration:none;box-sizing:border-box;white-space:nowrap}.brutalist-card__button--read{background-color:var(--color-card-background-subtle)}.brutalist-card__button:before{content:"";position:absolute;top:0;left:-120%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(159,192,255,.35),transparent);transition:left .55s ease}.brutalist-card__button:hover:before{left:130%}.brutalist-card__button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--color-border-muted);background-color:var(--color-card-background-subtle)}.brutalist-card__button:active{transform:translate(2px,2px);box-shadow:none}@media(max-width:768px){.brutalist-card{padding:.85rem;border-width:2px;box-shadow:8px 8px 0 var(--color-shadow-offset),0 14px 28px #00000040}.brutalist-card:before{inset:6px}.brutalist-card:hover{transform:none;box-shadow:8px 8px 0 var(--color-shadow-offset),0 14px 28px #00000040}}@media(max-width:480px){.brutalist-card__actions{grid-template-columns:1fr;gap:.55rem}.brutalist-card__button{min-height:42px;font-size:.8rem}}#Projects{background-color:transparent}#Projects.tabcontent{padding-bottom:calc(var(--size-bottom-navigation-height) + env(safe-area-inset-bottom,0px) + 34px)}.projects-section{width:min(1240px,100%);margin:0 auto;padding:2px 0 0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}.project-card{display:flex;flex-direction:column;border:2px solid color-mix(in oklab,var(--color-text-on-light-surface) 88%,var(--color-border-muted) 12%);background:linear-gradient(180deg,var(--color-card-background-main) 0%,var(--color-card-background-gradient-projects) 100%);box-shadow:7px 7px color-mix(in oklab,var(--color-shadow-offset) 85%,#41526a 15%),0 14px 26px #0003;position:relative;box-sizing:border-box;overflow:hidden;min-height:100%;transition:transform .2s ease,box-shadow .2s ease}.project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(130deg,color-mix(in oklab,var(--color-accent-soft) 34%,transparent 66%) 0%,transparent 45%);pointer-events:none;opacity:.55}.project-card:hover{transform:translate(-3px,-3px);box-shadow:10px 10px color-mix(in oklab,var(--color-shadow-offset) 82%,#41526a 18%),0 18px 30px #0000003d}.project-card__image-frame{flex:0 0 auto;aspect-ratio:16 / 9;border-bottom:2px solid var(--color-border-muted);overflow:hidden;background:linear-gradient(180deg,color-mix(in oklab,var(--color-card-background-subtle) 85%,white 15%) 0%,var(--color-card-background-image-frame) 100%)}.project-card__image-frame img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform .35s ease}.project-card:hover .project-card__image-frame img{transform:scale(1.06)}.project-card__content{flex:1 1 auto;position:relative;z-index:1;padding:12px;display:flex;flex-direction:column;gap:10px}.project-card__title{color:var(--color-text-on-light-surface);font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.016em;border-bottom:2px solid color-mix(in oklab,var(--color-text-on-light-surface) 84%,var(--color-border-muted) 16%);padding-bottom:6px;line-height:1.14}.project-card__description{color:color-mix(in oklab,var(--color-text-on-light-surface) 84%,var(--color-text-secondary) 16%);font-size:.81rem;line-height:1.42;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;min-height:3.4506rem}.project-card__tech-tags{display:flex;flex-wrap:wrap;gap:6px}.project-card__tech-tag{display:inline-flex;align-items:center;border:1px solid color-mix(in oklab,var(--color-text-on-light-surface) 74%,var(--color-border-muted) 26%);color:var(--color-text-on-light-surface);background:color-mix(in oklab,var(--color-card-background-subtle) 88%,#ffffff 12%);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.01em;padding:.24rem .46rem;line-height:1.1}.project-card__link-button{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:34px;padding:.42rem .65rem;border:2px solid var(--color-text-on-light-surface);background:linear-gradient(180deg,#ffffff 0%,var(--color-card-background-subtle) 100%);color:var(--color-text-on-light-surface);text-decoration:none;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.018em;box-sizing:border-box;box-shadow:3px 3px color-mix(in oklab,var(--color-border-muted) 88%,#5f6f86 12%);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.project-card__link-button:hover{transform:translate(-1px,-1px);box-shadow:5px 5px color-mix(in oklab,var(--color-border-muted) 88%,#5f6f86 12%);background:linear-gradient(180deg,color-mix(in oklab,#ffffff 84%,var(--color-accent-soft) 16%) 0%,var(--color-card-background-subtle) 100%)}.project-card__link-button:active{transform:translate(1px,1px);box-shadow:none}@media(max-width:1000px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card__content{padding:11px;gap:8px}}@media(max-width:680px){#Projects.tabcontent{padding-bottom:calc(var(--size-bottom-navigation-height) + env(safe-area-inset-bottom,0px) + 20px)}.projects-grid{grid-template-columns:1fr;gap:12px}.project-card{box-shadow:5px 5px color-mix(in oklab,var(--color-shadow-offset) 85%,#41526a 15%),0 11px 22px #0003}.project-card:hover{transform:none;box-shadow:5px 5px color-mix(in oklab,var(--color-shadow-offset) 85%,#41526a 15%),0 11px 22px #0003}.project-card:hover .project-card__image-frame img{transform:scale(1.01)}}#Skills{background-color:transparent}.skills{padding:0}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;justify-items:center}.skill-card{width:min(100%,280px);border:3px solid var(--color-text-on-light-surface);background:linear-gradient(180deg,var(--color-card-background-main) 0%,var(--color-card-background-gradient-skills) 100%);box-shadow:9px 9px 0 var(--color-shadow-offset),0 12px 24px #0000002e;box-sizing:border-box;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.skill-card:hover{transform:translate(-2px,-2px);box-shadow:11px 11px 0 var(--color-shadow-offset),0 16px 28px #00000038}.skill-card__media{border-bottom:2px solid var(--color-border-muted);background-color:var(--color-card-background-image-frame);padding:10px;overflow:hidden}.skill-card__media img{width:100%;height:auto;object-fit:contain;display:block;filter:contrast(1.03) saturate(1.03)}.skill-card__btn{display:inline-flex;align-items:center;justify-content:center;width:calc(100% - 1rem);margin:.5rem;min-height:40px;border:2px solid var(--color-text-on-light-surface);background-color:var(--color-card-background-main);color:var(--color-text-on-light-surface);text-decoration:none;font-size:.8rem;font-weight:860;letter-spacing:.02em;text-transform:uppercase;box-sizing:border-box;box-shadow:4px 4px 0 var(--color-border-muted);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.skill-card__btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-border-muted);background-color:var(--color-card-background-subtle)}.skill-card__btn:active{transform:translate(2px,2px);box-shadow:none}@media(max-width:980px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:640px){.skills-grid{grid-template-columns:1fr;gap:12px}.skill-card{width:min(100%,320px);border-width:2px;box-shadow:6px 6px 0 var(--color-shadow-offset),0 12px 22px #0003}.skill-card:hover{transform:none;box-shadow:6px 6px 0 var(--color-shadow-offset),0 12px 22px #0003}}#Contact{background-color:transparent}.contact-section{min-height:0;display:block;padding:0;box-sizing:border-box}.contact-content-wrapper{width:100%;display:block}.contact-form-card{width:min(100%,860px);margin-inline:auto;border:3px solid var(--color-text-on-light-surface);background:linear-gradient(180deg,var(--color-card-background-main) 0%,var(--color-card-background-gradient-projects) 100%);box-shadow:10px 10px 0 var(--color-shadow-offset),0 14px 28px #0003;padding:1rem;box-sizing:border-box}.contact-form-card h2{margin:0;color:var(--color-text-on-light-surface);font-size:clamp(1.1rem,2.5vw,1.65rem);text-transform:uppercase;letter-spacing:.015em;border-bottom:2px solid var(--color-text-on-light-surface);padding-bottom:.6rem}.contact-form-card p{margin:.75rem 0 0;color:color-mix(in oklab,var(--color-text-on-light-surface) 85%,var(--color-text-secondary) 15%);font-size:.9rem;line-height:1.45}.contact-form-grid{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.contact-form-field{display:flex;flex-direction:column;gap:.38rem}.contact-form-field--full-width{grid-column:1 / -1}.contact-field-label{font-size:.78rem;color:var(--color-text-on-light-surface);font-weight:860;text-transform:uppercase;letter-spacing:.012em}.contact-field-input,.contact-field-textarea{width:100%;border:2px solid color-mix(in oklab,var(--color-text-on-light-surface) 92%,var(--color-border-muted) 8%);background:var(--color-card-background-subtle);color:var(--color-text-on-light-surface);padding:.62rem .72rem;outline:none;box-sizing:border-box;font-family:inherit;font-size:.9rem;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.contact-field-input::placeholder,.contact-field-textarea::placeholder{color:color-mix(in oklab,var(--color-text-on-light-surface) 55%,white 45%)}.contact-field-input:focus,.contact-field-textarea:focus{background:var(--color-input-focus-background);border-color:var(--color-accent-main);box-shadow:0 0 0 2px color-mix(in oklab,var(--color-accent-main) 40%,transparent 60%)}.contact-field-textarea{resize:vertical;min-height:130px}.contact-submit-button{grid-column:1 / -1;justify-self:start;min-height:44px;padding:.62rem 1rem;border:2px solid var(--color-text-on-light-surface);background:var(--color-card-background-main);color:var(--color-text-on-light-surface);box-shadow:4px 4px 0 var(--color-border-muted);text-transform:uppercase;font-size:.82rem;font-weight:900;letter-spacing:.014em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.contact-submit-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-border-muted);background:var(--color-card-background-subtle)}.contact-submit-button:active{transform:translate(2px,2px);box-shadow:none}@media(max-width:768px){.contact-form-card{border-width:2px;box-shadow:7px 7px 0 var(--color-shadow-offset),0 14px 24px #0003;padding:.85rem}.contact-form-grid{grid-template-columns:1fr;gap:.58rem}.contact-submit-button{width:100%;justify-self:stretch}}.contact-submit-button:disabled{opacity:.75;cursor:not-allowed;transform:none;box-shadow:4px 4px 0 var(--color-border-muted)}.contact-form-status{grid-column:1 / -1;margin:.1rem 0 0;padding:.62rem .72rem;border:2px solid var(--color-border-muted);background:color-mix(in oklab,var(--color-card-background-subtle) 85%,white 15%);color:var(--color-text-on-light-surface);font-size:.84rem;line-height:1.4;min-height:44px;box-sizing:border-box}.contact-form-status:empty{display:none}.contact-form-status--sending{border-color:color-mix(in oklab,var(--color-accent-main) 60%,var(--color-border-muted) 40%)}.contact-form-status--success{border-color:color-mix(in oklab,#1f8a4d 70%,var(--color-border-muted) 30%);background:color-mix(in oklab,#1f8a4d 8%,white 92%)}.contact-form-status--error{border-color:color-mix(in oklab,#9d2b2b 70%,var(--color-border-muted) 30%);background:color-mix(in oklab,#9d2b2b 9%,white 91%)}
