@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";.site-header{position:fixed;top:0;left:0;right:0;height:55px;background-color:transparent;border-bottom:1px solid #959595;display:flex;align-items:center;justify-content:space-between;padding-left:20px;padding-right:20px;color:#000;font-weight:600;font-size:16px;z-index:2000}.site-header.blue{background-color:#0117d5;border-bottom:1px solid #ffffff;color:#fff}.header-left,.header-right{flex:0 0 auto;display:flex;align-items:center}.header-center{position:absolute;display:flex;justify-content:center;align-items:center}.left-name{letter-spacing:1px;color:#000}.site-header.blue .left-name{color:#fff}.site-header.blue .left-name:hover{color:#0117d5}.nav-links{display:flex;padding-right:100px;gap:70px;align-items:center}.nav-links a{font-size:13px;color:#000;text-decoration:none;letter-spacing:1px;font-weight:bolder}.time-bubble{background:#ff0;padding:2px 10px;color:#000;border-radius:999px;letter-spacing:1px}.nav-link-highlight{position:relative;display:inline-block;transition:color .3s ease}.site-header.blue .nav-links a{color:#fff}.site-header.blue .nav-links a:hover{color:#0117d5}.nav-link-highlight:before{content:"";position:absolute;top:50%;left:50%;height:170%;width:120%;background:#ffff96;z-index:-1;transform:translate(-50%,-50%) scaleX(0);transform-origin:center;transition:transform .3s ease}.nav-link-highlight:hover:before{transform:translate(-50%,-50%) scaleX(1)}@media (max-width: 900px){.nav-links{display:none}.left-name{font-size:12px}.time-bubble{font-size:13px;padding:3px 14px}.site-header{height:40px}}.welcome-container{position:fixed;top:0;left:0;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;letter-spacing:.1em;font-weight:600;color:#000;pointer-events:none;z-index:10;box-sizing:border-box;overflow:visible;overscroll-behavior:none;background-color:#fff;background-image:radial-gradient(#13121279 1px,transparent 1px);background-size:10px 10px;gap:2rem}.welcome-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to bottom,#fff,#fffc);pointer-events:none}.welcome-header-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;position:fixed;top:4rem}.welcome-left{max-width:600px;font-size:.9rem;line-height:1.1;white-space:pre-wrap;flex:1;padding-left:1rem}.intro-heading{margin:0}.welcome-right{text-align:right;display:flex;flex-direction:column;font-size:.75rem;line-height:.7;gap:.3rem;align-items:flex-end;flex:1;padding-right:1rem}.label-block{white-space:nowrap}.project-info{position:absolute;bottom:3rem;left:2rem;background-color:#ffffffd9;padding:.8rem;max-width:10rem;font-size:10px;border-radius:8px;z-index:10;border:3px solid rgb(0,0,0);z-index:1100;pointer-events:auto}.project-info img{display:block;max-width:9rem;max-height:9rem;height:auto;border:1px solid black;border-radius:6px;margin-bottom:.6rem;margin-left:auto;margin-right:auto}.see-more-link{font-weight:600;text-decoration:none;color:#00f;display:inline-block;margin-top:4px}.see-more-link:hover{text-decoration:underline}.djscene-canvas{background:transparent;top:-100px;z-index:1000;touch-action:none;pointer-events:auto}@media (max-width: 600px){.project-info{position:fixed;left:1rem;right:1rem;bottom:6rem;max-width:none;width:auto;display:flex;align-items:center;gap:.8rem;padding:.6rem .7rem;font-size:12px;background-color:#ffffffeb}.project-info img{max-width:60px;max-height:60px;margin:0;flex-shrink:0}.see-more-link{white-space:nowrap;pointer-events:auto}}:root{--space-full-width: 320px;--space-full-height: 80px;--space-base-width: 295px;--space-base-height: 20px;--space-key-width: 300px;--space-key-height: 40px;--border-radius: 15px;--border-color: rgb(0, 0, 0);--stroke-color: rgb(255, 55, 0);--pressed-glow-color: rgba(203, 11, 11, 0)}.space-full{position:fixed;left:50%;bottom:0rem;transform:translate(-50%);width:var(--space-full-width);height:var(--space-full-height);display:flex;flex-direction:column;align-items:center;z-index:1000;pointer-events:auto}svg#space-base{width:var(--space-key-width);height:50px;display:block;position:absolute;left:50%;top:7px;transform:translate(-50%);z-index:-1;pointer-events:none;background:transparent}svg#rectangle{touch-action:none;-ms-touch-action:none}#stroke-bottom-base{fill:none;stroke:var(--border-color);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;opacity:1}.space-up,.space-down-active,.space-down{width:var(--space-key-width);height:var(--space-key-height);position:absolute;left:50%;transform:translate(-50%);transition:bottom .15s cubic-bezier(.4,2,.6,1),box-shadow .15s;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}#stroke-top,#stroke-bottom{fill:none;stroke:var(--stroke-color);stroke-width:3px;rx:var(--border-radius);ry:var(--border-radius);stroke-dasharray:460;transition:stroke-dashoffset 3.2s cubic-bezier(0,0,1,1)}.space-up{bottom:36px}.space-down-active,.space-down{bottom:28px}svg#rectangle.space-up #stroke-top,svg#rectangle.space-up #stroke-bottom{stroke-dashoffset:460;transition:stroke-dashoffset 2.9s cubic-bezier(0,0,1,1)}svg#rectangle.space-down-active #stroke-top,svg#rectangle.space-down-active #stroke-bottom,svg#rectangle.space-down #stroke-top,svg#rectangle.space-down #stroke-bottom{stroke-dashoffset:0;filter:drop-shadow(0 0 6px var(--pressed-glow-color))}#base-stroke{stroke:var(--border-color);stroke-width:1px;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:1}svg#rectangle.space-down-active text{fill:red}html,body{height:100%;font-family:IBM Plex Mono,monospace;overflow-x:hidden;overflow-y:auto;margin:0}*,*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p{margin:0}.projects-page{min-height:100dvh;background-color:#0117d5;color:#fff;font-family:IBM Plex Mono,monospace;padding:0;margin:0;overflow-x:hidden;overflow-y:hidden}.projects-container{width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;box-sizing:border-box;animation:slideUp .8s cubic-bezier(.165,.84,.44,1) forwards}.projects-header{text-align:center;margin-bottom:3rem;z-index:10;padding-top:70px}.projects-title{font-size:1.5rem;font-weight:700;letter-spacing:.15em;margin:0 0 .5rem;color:#f0ff18;font-family:IBM Plex Mono,monospace}.projects-subtitle{font-size:.9rem;font-weight:500;letter-spacing:.1em;opacity:.9;margin:0;color:#fff}.vinyl-collection{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;padding-top:130px}.vinyl-cover{position:relative;cursor:pointer;opacity:0;transform:translateY(30px) scale(.9);animation:vinylSlideIn .6s ease-out forwards;transition:all .4s cubic-bezier(.165,.84,.44,1)}.album-cover{position:relative;width:100%;aspect-ratio:1;background:transparent;border-radius:15px;overflow:hidden;transition:all .4s cubic-bezier(.165,.84,.44,1);min-height:280px;max-height:380px}.vinyl-cover:hover .album-cover{transform:translateY(-10px) rotateY(5deg)}.cover-art{position:absolute;top:15px;left:15px;right:15px;bottom:15px;display:flex;align-items:center;justify-content:center;background:#1a1a1a;border-radius:50%;overflow:hidden}.vinyl-disc{width:100%;height:100%;border-radius:50%;position:relative;background:#1a1a1a;transition:all .4s ease}.vinyl-cover:hover .vinyl-disc{animation:vinylSpin 2s linear infinite;transform:scale(1.05)}.center-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:35%;height:35%;border-radius:50%;background:linear-gradient(180deg,var(--project-color) 0%,var(--project-accent) 50%,var(--project-color) 50%,var(--project-color) 100%);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 10px #0003;z-index:10;text-align:center}.vinyl-title{display:block;font-size:.7em;color:#fff;font-weight:700;letter-spacing:0px;line-height:1;max-width:100%;text-transform:uppercase;margin:0 auto}.project-title{display:block;text-align:left;margin:0;font-size:1.2rem;line-height:1.2;padding:.5rem;color:#fff;font-weight:700;letter-spacing:.5px;text-transform:uppercase;width:auto;position:absolute;bottom:-2.5rem;left:0;z-index:10}.vinyl-grooves{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;background:radial-gradient(circle at center,transparent 30%,rgba(255,255,255,.1) 30.5%,transparent 31%),radial-gradient(circle at center,transparent 32%,rgba(255,255,255,.1) 32.5%,transparent 33%),radial-gradient(circle at center,transparent 53%,rgba(255,255,255,.1) 53.5%,transparent 54%),radial-gradient(circle at center,transparent 55%,rgba(255,255,255,.1) 55.5%,transparent 56%),radial-gradient(circle at center,transparent 67%,rgba(255,255,255,.1) 67.5%,transparent 68%);z-index:1}.curved-title{position:absolute;bottom:10px;left:50%;transform:translate(-50%);text-align:center;white-space:nowrap;text-transform:uppercase;letter-spacing:3px;-webkit-text-stroke:1px #fff;color:transparent;background:repeating-radial-gradient(circle,#fff 0,#fff 1px,transparent 1px,transparent 3px);-webkit-background-clip:text;background-clip:text}.project-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.project-modal-content{background:#0117d5;border:2px solid #F0FF18;border-radius:12px;max-width:800px;width:90%;max-height:85vh;overflow-y:auto;cursor:default;position:relative;animation:slideUpModal .4s cubic-bezier(.165,.84,.44,1);font-family:IBM Plex Mono,monospace}.modal-actions{display:flex;gap:1rem;flex-wrap:wrap}.action-button{display:flex;align-items:center;gap:.5rem;background:#f0ff181a;border:1px solid rgba(240,255,24,.4);border-radius:6px;padding:.6rem 1rem;color:#f0ff18;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none}.action-button:hover{background:#f0ff1833;transform:translateY(-2px);box-shadow:0 5px 15px #f0ff184d}.button-icon{font-size:1rem}@keyframes vinylSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes vinylSlideIn{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1200px){.projects-page{overflow-y:auto;height:auto;min-height:100vh}.projects-container{height:auto;min-height:100vh}.projects-title{font-size:1.5rem}.vinyl-collection{grid-template-columns:1fr;gap:1.5rem}.artist-name{font-size:.5rem}.vinyl-title{font-size:.4em}.modal-overlay{padding:1rem}.modal-content{border-radius:15px}.modal-header,.modal-body{padding:1.5rem}}@media (prefers-reduced-motion: reduce){.vinyl-disc,.vinyl-cover,.modal-content{animation:none}}.experiences-page{min-height:100dvh;background-color:#0117d5;color:#fff;font-family:IBM Plex Mono,monospace;padding:0;margin:0;overflow-x:hidden;overflow-y:hidden}.experiences-container{width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;box-sizing:border-box;animation:slideUp .8s cubic-bezier(.165,.84,.44,1) forwards}.experiences-header{position:fixed;text-align:center;margin-bottom:3rem;z-index:10;top:90px}.experiences-title{font-size:1.5rem;font-weight:700;letter-spacing:.15em;margin:0 0 .5rem;color:#f0ff18;font-family:IBM Plex Mono,monospace}.experiences-subtitle{font-size:.9rem;font-weight:500;letter-spacing:.1em;opacity:.9;margin:0;color:#fff}.timeline-container{position:relative;width:100%;max-width:1600px;padding-top:90px;display:flex;align-items:center;justify-content:center}.timeline-line{display:none}.timeline-content{display:flex;justify-content:space-evenly;align-items:center;width:100%;height:100%;position:relative;z-index:2;gap:50px}.experience-card{position:relative;width:240px;flex-shrink:0;opacity:0;transform:translateY(50px) scale(.9);transition:all .6s cubic-bezier(.165,.84,.44,1)}.experience-card.animated{opacity:1;transform:translateY(0) scale(1);transition-delay:var(--delay)}.experience-card{height:490px;width:240px;display:flex;flex-direction:column;position:relative}.experience-card:not(:last-child):after{content:"";position:absolute;top:50%;right:-50px;width:50px;height:4px;background:#f0ff18;transform:translateY(-50%);box-shadow:0 0 15px #f0ff1866;z-index:1}.experience-card:not(:last-child):before{content:"";position:absolute;top:50%;right:-25px;width:20px;height:20px;border-radius:50%;background:#f0ff18;box-shadow:0 0 20px 5px #f0ff18cc;transform:translateY(-50%);z-index:2}.card-content{background:#ffffff0d;border:2px solid rgba(240,255,24,.3);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;cursor:pointer;flex:1;display:flex;flex-direction:column}.card-content:hover{border-color:#f0ff18;background:#ffffff14;transform:translateY(-5px);box-shadow:0 10px 30px #f0ff1833}.card-image-container{width:100%;height:120px;margin-bottom:1rem;border-radius:8px;overflow:hidden;border:2px solid rgba(240,255,24,.2);flex-shrink:0}.card-image{width:100%;height:100%;object-fit:cover}.card-info{flex:1;display:flex;flex-direction:column}.card-title{font-size:1rem;font-weight:700;color:#f0ff18;margin:0 0 .3rem;letter-spacing:.05em}.card-company{display:block;font-size:.85rem;font-weight:600;color:#fff;margin-bottom:.2rem}.card-period{display:block;font-size:.75rem;font-weight:500;color:#ffffffb3;letter-spacing:.05em}.card-description{font-size:.8rem;line-height:1.5;color:#ffffffe6;margin:0 0 1rem;flex:1}.card-technologies{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:#f0ff181a;color:#f0ff18;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;border:1px solid rgba(240,255,24,.3);letter-spacing:.05em}.experience-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;z-index:1000;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.experience-modal-content{position:fixed;background:#0117d5;border:2px solid #F0FF18;top:10px;border-radius:12px;max-width:800px;width:90%;max-height:85vh;overflow-y:auto;cursor:default;position:relative;animation:slideUpModal .4s cubic-bezier(.165,.84,.44,1);font-family:IBM Plex Mono,monospace}.modal-close-button{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:2px solid #F0FF18;border-radius:50%;background:#f0ff181a;color:#f0ff18;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.modal-close-button:hover{background:#f0ff18;color:#0117d5;transform:scale(1.1)}.modal-header{display:flex;gap:2rem;padding:2rem 2rem 1rem;align-items:flex-start}.modal-image-container{flex-shrink:0;width:150px;height:120px;border-radius:8px;overflow:hidden;border:2px solid rgba(240,255,24,.3)}.modal-image{width:100%;height:100%;object-fit:cover}.modal-title-section{flex:1}.modal-title{font-size:1.5rem;font-weight:700;color:#f0ff18;margin:0 0 .5rem;letter-spacing:.05em}.modal-company{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 .3rem}.modal-period{font-size:.9rem;font-weight:500;color:#fffc;letter-spacing:.05em}.modal-body{padding:0 2rem 2rem}.modal-section{margin-bottom:2rem}.modal-section-title{font-size:.9rem;font-weight:700;color:#f0ff18;margin:0 0 1rem;letter-spacing:.1em}.modal-description{font-size:.9rem;line-height:1.6;color:#ffffffe6;margin:0}.modal-list{list-style:none;padding:0;margin:0}.modal-list-item{font-size:.85rem;line-height:1.5;color:#ffffffe6;margin-bottom:.8rem;padding-left:1.2rem;position:relative}.modal-list-item:before{content:"▸";position:absolute;left:0;color:#f0ff18;font-weight:700}.modal-technologies{display:flex;flex-wrap:wrap;gap:.8rem}.modal-tech-tag{background:#f0ff1826;color:#f0ff18;padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid rgba(240,255,24,.4);letter-spacing:.05em}@keyframes slideUpModal{0%{transform:translateY(50px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (max-width: 768px){.experience-modal-content{width:95%;max-height:90vh}.modal-header{flex-direction:column;gap:1rem;padding:1.5rem 1.5rem 1rem}.modal-image-container{width:100%;height:150px}.modal-body{padding:0 1.5rem 1.5rem}.modal-title{font-size:1.3rem}.modal-company{font-size:1rem}.modal-close-button{top:.5rem;right:.5rem;width:35px;height:35px;font-size:20px}}@media (max-width: 1200px){.timeline-content{flex-direction:column;height:auto;gap:3rem;overflow-y:auto;padding:2rem 0}.timeline-line{display:none}.experience-card{width:100%;max-width:400px;height:350px;align-self:center!important;margin:0!important}.card-connector{display:none}.experiences-page{overflow-y:auto}.experiences-container{height:auto;min-height:100vh;padding:1rem}.timeline-container{height:auto}}@media (max-width: 900px){.experiences-header{top:75px}.experiences-title{font-size:1.2rem}.experiences-subtitle{font-size:.8rem}.experience-card{width:100%;max-width:350px}.card-content{padding:1.2rem}.card-image-container{height:100px}.card-title{font-size:.9rem}.card-company{font-size:.8rem}.card-description{font-size:.75rem}.timeline-content{gap:2rem}}@media (max-width: 480px){.experiences-container{padding:.5rem}.experiences-header{top:60px}.experiences-title{font-size:1rem}.experiences-subtitle{font-size:.75rem}.experience-card{max-width:300px}.card-content{padding:1rem}.card-image-container{height:80px}.card-title{font-size:.85rem}.card-company{font-size:.75rem}.card-period,.card-description{font-size:.7rem}.tech-tag{font-size:.65rem;padding:.15rem .4rem}.timeline-content{gap:1.5rem}}@media (min-width: 1201px){.experience-card:hover .card-content{transform:translateY(-5px)}}.contact-page{min-height:100dvh;background-color:#0117d5;color:#fff;font-family:IBM Plex Mono,monospace;padding:0;margin:0;display:flex;align-items:center;justify-content:center}.contact-container{max-width:800px;width:800px;height:600px;margin-top:55px;border-radius:8px;position:relative;perspective:1000px;animation:slideUp .6s cubic-bezier(.165,.84,.44,1) forwards}.contact-header{text-align:left;margin-bottom:1.5rem}.contact-title{font-size:1rem;font-weight:600;letter-spacing:.1em;margin:0;color:#f0ff18;font-family:IBM Plex Mono,monospace}.contact-subtitle{font-size:.9rem;font-weight:500;letter-spacing:.05em;line-height:1.4;opacity:.9;margin:0}.album-flip-container{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s ease-in-out}.album-flip-container.flipped{transform:rotateY(180deg)}.album-side{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:6px;padding:2rem;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.album-front{background:#fff;color:#000;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem;border:1px solid #000}.canvas-area{width:100%;height:90%}.board-link-area{padding-top:1rem;text-align:center}.view-board-button{background-color:#f0f0f0;color:#333;padding:.6rem 1rem;border-radius:4px;text-decoration:none;font-weight:500;font-size:.8rem;transition:all .2s}.view-board-button:hover{background-color:#e0e0e0;color:#000}.album-back{transform:rotateY(180deg);justify-content:flex-start;border:1px solid #F0FF18;background-color:#0117d5;box-sizing:border-box}.album-title{font-size:2rem;font-weight:700;color:#f0ff18;margin-bottom:1rem;font-family:IBM Plex Mono,monospace;letter-spacing:.1em}.album-artist{font-size:1.2rem;font-weight:500;color:#000;margin-bottom:2rem;font-family:IBM Plex Mono,monospace}.album-info{font-size:.9rem;color:#fffc;font-family:IBM Plex Mono,monospace;line-height:1.6}.contact-content,.contact-form{flex-grow:1;display:flex;flex-direction:column}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.1em;margin-bottom:.5rem;color:#fff}.form-input,.form-textarea{width:100%;padding:.8rem;background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;font-family:IBM Plex Mono,monospace;font-size:.9rem;transition:all .3s ease;box-sizing:border-box}.form-input::placeholder,.form-textarea::placeholder{color:#fff9;font-style:italic}.form-input:focus,.form-textarea:focus{outline:none;border-color:#ffffffb3;background-color:#ffffff26;box-shadow:0 0 0 2px #ffffff1a}.form-textarea{resize:none;min-height:120px;line-height:1.5;flex-grow:1}.submit-button{width:100%;padding:1rem;background-color:#f0ff18;color:#0117d5;border:2px dotted #F0FF18;border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:.9rem;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all .3s ease}.submit-button:hover:not(:disabled){background-color:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 12px #0003;border-color:#f0ff18}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.status-message{margin-top:1rem;padding:.8rem;border-radius:4px;font-size:.85rem;font-weight:500;text-align:center}.status-message.success{background-color:#00ff001a;border:1px solid rgba(0,255,0,.3);color:#90ee90}.status-message.error{background-color:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#ffb6c1}.simplified-socials{display:flex;justify-content:center;gap:2rem;padding:1.5rem 0 .5rem}.social-icon-link{color:#fff;transition:color .3s ease,transform .3s ease}.social-icon-link:hover{color:#f0ff18;transform:translateY(-3px)}.social-icon{width:28px;height:28px}.switch-side-button{position:absolute;top:1rem;right:1rem;z-index:100000;background-color:transparent;font-family:IBM Plex Mono,monospace;font-size:.75rem;padding:.4rem .8rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.switch-side-button.on-front{border:1px solid black;color:#000}.switch-side-button.on-back{border:1px solid white;color:#fff}.switch-side-button:hover{background-color:#0000000d}.floating-drawings-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;gap:200px;z-index:1;overflow:hidden}.floating-drawing-wrapper{position:absolute;animation:gentleFloat 15s infinite ease-in-out;transition:opacity .5s ease;pointer-events:auto}.floating-drawing-wrapper.fade-out{opacity:0}.floating-drawing-wrapper.fade-in{opacity:0;animation:fadeIn .5s ease forwards,gentleFloat 15s infinite ease-in-out .5s}.floating-drawing{width:150px;height:150px;object-fit:cover;border-radius:5px;opacity:1;filter:blur(0px);box-shadow:0 2px 8px #0000004d;border:2px solid rgba(255,255,255,.5);display:block;cursor:pointer;transition:transform .2s ease;pointer-events:auto}.drawing-name-overlay{position:absolute;bottom:5px;left:5px;background:#fff;color:#fff;font-size:.7rem;font-family:IBM Plex Mono,monospace;border-radius:3px;pointer-events:none;transform-origin:bottom left;width:fit-content;height:fit-content}.artist-name{font-weight:700;font-size:.8rem;color:#000}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@media (max-width: 768px){.contact-container{padding:1.5rem;margin-top:40px}.contact-content{flex-direction:column;gap:2rem}.contact-sidebar{flex:none}.contact-title{font-size:1rem}.contact-subtitle{font-size:.8rem}.form-input,.form-textarea{padding:.7rem;font-size:.85rem}.submit-button{padding:.4rem;font-size:.85rem}.social-content{flex-direction:column;align-items:flex-start;gap:.5rem}.copy-button{align-self:flex-start}.info-block{flex-direction:column;align-items:flex-start;gap:.3rem}}@keyframes slideUp{0%{transform:translateY(100px)}to{transform:translateY(0)}}.custom-alert{position:fixed;top:40px;right:20px;z-index:10000;padding:1rem 1.5rem;border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:.9rem;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid;transition:all .3s ease;animation:slideInAlert .3s ease-out;min-width:250px;box-shadow:0 4px 12px #00000026}.custom-alert:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.alert-success{background:#00ff0026;border-color:#0f06;color:#90ee90}.alert-error{background:#ff000026;border-color:#f006;color:#ffb6c1}.alert-content{display:flex;align-items:center;gap:1rem}.alert-link{font-weight:600;color:#fff;text-decoration:underline;background:#ffffff1a;padding:.3rem .6rem;border-radius:4px;transition:background .2s}.alert-link:hover{background:#fff3}@keyframes slideInAlert{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.contact-container{padding:1rem}.contact-title{font-size:1.8rem}.contact-subtitle{font-size:.75rem}.custom-alert{top:10px;right:10px;left:10px;min-width:auto}}.drawing-canvas-container{width:100%;height:100%;display:flex;flex-direction:column;background-color:#fff;border-radius:8px;padding:.5rem;box-sizing:border-box}.canvas-header{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem;position:relative}.canvas-header .canvas-title{flex:1;text-align:center}.canvas-header .artist-name-input{position:absolute;left:0;top:50%;transform:translateY(-50%)}.artist-name-input{padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;font-size:.8rem;font-family:IBM Plex Mono,monospace;width:120px;background-color:#fff;color:#000}.artist-name-input:focus{outline:none;border-color:#f0ff18}.canvas-title{font-size:.9rem;font-weight:700;letter-spacing:.2em;color:#000;font-family:IBM Plex Mono,monospace}.drawing-canvas{flex:1;border:2px solid #000;cursor:crosshair;background-color:#fff;border-radius:4px;margin-bottom:.5rem;width:100%;min-height:0}.drawing-canvas:hover{border-color:#f0ff18}.drawing-controls{display:flex;flex-direction:row;gap:.5rem;font-family:IBM Plex Mono,monospace;justify-content:space-between;align-items:center;flex-wrap:wrap}.tool-section,.color-section,.size-section,.action-section{display:flex;flex-direction:row;gap:.3rem;align-items:center}.tool-buttons,.color-palette,.size-buttons{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.tool-btn,.size-btn{background:#0000000d;border:1px solid rgba(0,0,0,.2);color:#000;padding:.3rem .6rem;border-radius:3px;cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.05em;transition:all .2s ease;font-family:IBM Plex Mono,monospace}.tool-btn:hover,.save-btn:hover{background:#007bff33;border-color:#007bff}.send-btn{background:#007bff1a;border:1px solid rgba(0,123,255,.3);color:#007bff;padding:.4rem .8rem;border-radius:3px;cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.05em;transition:all .2s ease;font-family:IBM Plex Mono,monospace;margin-left:.5rem}.send-btn:hover{background:#007bff33;border-color:#007bff}.tool-btn.active,.size-btn.active{background:#f0ff18;border-color:#f0ff18;color:#000}.color-btn{width:24px;height:24px;min-width:24px;min-height:24px;max-width:24px;max-height:24px;border:2px solid rgba(0,0,0,.2);border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0;flex-grow:0;display:inline-block;padding:0;line-height:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.color-btn:hover{transform:scale(1.1);border-color:#000}.color-btn.active{border-color:#000;border-width:3px;transform:scale(1.1)}.clear-btn{background:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#f44;padding:.4rem .8rem;border-radius:3px;cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.05em;transition:all .2s ease;font-family:IBM Plex Mono,monospace;align-self:flex-start}.clear-btn:hover{background:#f003;border-color:#ff000080;transform:translateY(-1px)}@media (max-width: 768px){.drawing-canvas-container{padding:.8rem}.drawing-controls{gap:.6rem}.tool-buttons,.color-palette,.size-buttons{gap:.3rem}.tool-btn,.size-btn{padding:.25rem .5rem;font-size:.65rem}.color-btn{width:20px;height:20px}.floating-drawing,.dropping-drawing{width:80px;height:80px}}.image-board-page{min-height:100dvh;background-color:#0117d5;color:#fff;font-family:IBM Plex Mono,monospace;margin:0;overflow-y:auto}.board-header{display:flex;justify-content:space-between;align-items:center;padding:0 1rem;margin-bottom:1rem}.retro-title{font-family:Courier New,Courier,monospace;font-size:2rem;color:#f0ff18;text-align:center;margin-top:.3rem}.board-header h1{font-size:1.2rem;font-weight:600;letter-spacing:.1em;color:#f0ff18;margin:0}.back-link{color:#fff;font-size:.9rem;text-decoration:none;transition:color .2s}.back-link:hover{color:#f0ff18}.drawings-grid-container{padding:4rem 0rem 0rem;width:100%;min-height:100vh;overflow-y:auto}.drawings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.4rem;max-width:1400px;margin:0 auto}@media (max-width: 768px){.drawings-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem}.drawings-grid-container{padding:1rem}}@media (max-width: 480px){.drawings-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem}.drawings-grid-container{padding:.5rem}}.grid-drawing-wrapper{position:relative;opacity:0;transform:translateY(30px) scale(.9);animation:gridSpawnIn .6s ease forwards;transition:transform .3s ease}.grid-drawing-wrapper:hover{transform:translateY(-5px) scale(1.05);z-index:10}.grid-drawing-wrapper:hover .grid-drawing{transform:scale(1.1)}.grid-drawing{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px #0000004d;border:2px solid rgba(255,255,255,.7);display:block;cursor:pointer;transition:all .3s ease;transform:scale(1)}.grid-drawing:hover{box-shadow:0 8px 20px #f0ff184d;border-color:#f0ff18cc}.drawing-name-overlay{position:absolute;bottom:8px;left:8px;background:#fffffff2;color:#000;padding:4px 8px;font-size:.7rem;font-family:IBM Plex Mono,monospace;border-radius:4px;pointer-events:none;transform-origin:bottom left;width:fit-content;height:fit-content;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.artist-name{font-weight:700;font-size:.8rem;color:#000!important}@keyframes gridSpawnIn{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;cursor:pointer}.image-modal-content{position:relative;max-width:80vw;max-height:80vh;cursor:default}.expanded-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:12px;box-shadow:0 8px 32px #00000080}.close-button{position:absolute;top:-15px;right:-15px;width:40px;height:40px;border:none;border-radius:50%;background:#ffffffe6;color:#000;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.close-button:hover{background:#fff}.expanded-info{margin-top:15px;text-align:center;color:#fff;font-family:IBM Plex Mono,monospace}.expanded-artist-name{font-size:1.2rem;font-weight:700;color:#fff}.loading-spinner-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}.loading-spinner{border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid #F0FF18;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-page{min-height:100dvh;background-color:#0117d5;color:#fff;font-family:IBM Plex Mono,monospace;padding:0;margin:0;overflow-x:hidden;overflow-y:auto}.about-container{max-width:1400px;margin:0 auto;padding:2rem;position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;gap:4rem}.slide-up-animation{animation:slideUp .8s cubic-bezier(.165,.84,.44,1) forwards}.about-header{text-align:center;margin-bottom:2rem;z-index:10;padding-top:4rem}.about-title{font-size:1.5rem;font-weight:700;letter-spacing:.15em;margin:0 0 .5rem;color:#f0ff18;font-family:IBM Plex Mono,monospace}.about-subtitle{font-size:.9rem;font-weight:500;letter-spacing:.1em;opacity:.9;margin:0;color:#fff}.about-section{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.165,.84,.44,1)}.about-section.animated{opacity:1;transform:translateY(0)}.section-title{font-size:1.2rem;font-weight:700;color:#f0ff18;margin:0 0 2rem;letter-spacing:.1em;text-align:center}.hero-section{margin-bottom:3rem}.hero-content{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.hero-text{display:flex;flex-direction:column;gap:1.5rem}.hero-description{font-size:.9rem;line-height:1.7;color:#ffffffe6;margin:0}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:#ffffff0d;border:2px solid rgba(240,255,24,.3);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-item{text-align:center;display:flex;flex-direction:column;gap:.5rem}.stat-number{font-size:2rem;font-weight:700;color:#f0ff18;line-height:1}.stat-label{font-size:.75rem;font-weight:500;color:#fffc;letter-spacing:.05em;text-transform:uppercase}.skills-interests-section{margin-bottom:3rem}.skills-interests-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.skills-column,.interests-column{display:flex;flex-direction:column}.skills-column .section-title,.interests-column .section-title{text-align:left;margin-bottom:2rem}.skills-grid{display:flex;flex-direction:column;gap:1.5rem}.skill-group{background:#ffffff0d;border:2px solid rgba(240,255,24,.3);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;opacity:0;transform:translateY(20px);animation:slideInUp .6s ease-out forwards;animation-delay:var(--delay)}.skill-group:hover{border-color:#f0ff18;background:#ffffff14;transform:translateY(-5px);box-shadow:0 10px 30px #f0ff1833}.skill-category{font-size:.9rem;font-weight:700;color:#f0ff18;margin:0 0 1rem;letter-spacing:.05em}.skill-items{display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{background:#f0ff1826;color:#f0ff18;padding:.3rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;border:1px solid rgba(240,255,24,.4);letter-spacing:.05em;transition:all .3s ease}.skill-tag:hover{background:#f0ff1840;transform:translateY(-2px)}.interests-grid{display:flex;flex-direction:column;gap:1.5rem}.interest-card{background:#ffffff0d;border:2px solid rgba(240,255,24,.3);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;text-align:center;opacity:0;transform:translateY(20px);animation:slideInUp .6s ease-out forwards;animation-delay:var(--delay)}.interest-card:hover{border-color:#f0ff18;background:#ffffff14;transform:translateY(-5px);box-shadow:0 10px 30px #f0ff1833}.interest-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.interest-title{font-size:.9rem;font-weight:700;color:#f0ff18;margin:0 0 .8rem;letter-spacing:.05em}.interest-description{font-size:.8rem;line-height:1.6;color:#ffffffe6;margin:0}.cta-section{text-align:center;margin-top:2rem}.cta-content{background:#ffffff0d;border:2px solid rgba(240,255,24,.3);border-radius:12px;padding:3rem 2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:600px;margin:0 auto}.cta-title{font-size:1.3rem;font-weight:700;color:#f0ff18;margin:0 0 1.5rem;letter-spacing:.05em}.cta-description{font-size:.9rem;line-height:1.6;color:#ffffffe6;margin:0 0 2rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-button{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 2rem;border-radius:6px;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s ease;letter-spacing:.05em;text-transform:uppercase}.cta-button.primary{background:#f0ff18;color:#0117d5;border:2px solid #F0FF18}.cta-button.primary:hover{background:transparent;color:#f0ff18;transform:translateY(-2px);box-shadow:0 5px 15px #f0ff184d}.cta-button.secondary{background:transparent;color:#f0ff18;border:2px solid rgba(240,255,24,.4)}.cta-button.secondary:hover{background:#f0ff181a;border-color:#f0ff18;transform:translateY(-2px);box-shadow:0 5px 15px #f0ff1833}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.about-container{padding:2rem 1.5rem;gap:3rem}.hero-content{grid-template-columns:1fr;gap:2rem}.hero-stats{grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.5rem}.skills-interests-container{grid-template-columns:1fr;gap:2rem}.skills-column .section-title,.interests-column .section-title{text-align:center}}@media (max-width: 768px){.about-header{padding-top:3rem}.about-title{font-size:1.2rem}.about-subtitle{font-size:.8rem}.about-container{padding:1rem;gap:2.5rem}.section-title{font-size:1rem;margin-bottom:1.5rem;text-align:center}.hero-stats{grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.7rem}.skills-interests-container{grid-template-columns:1fr;gap:2rem}.skill-group,.interest-card{padding:1.5rem}.cta-content{padding:2rem 1.5rem}.cta-buttons{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:250px}}@media (max-width: 480px){.about-container{padding:.5rem;gap:2rem}.about-title{font-size:1rem}.about-subtitle{font-size:.75rem}.section-title{font-size:.9rem}.hero-description{font-size:.8rem}.hero-stats{padding:1rem}.stat-number{font-size:1.2rem}.skill-group,.interest-card,.value-item{padding:1rem}.skill-category,.interest-title,.value-title{font-size:.9rem}.interest-icon{font-size:2.5rem}.cta-title{font-size:1.1rem}.cta-description{font-size:.8rem}}@media (prefers-reduced-motion: reduce){.about-section,.skill-group,.interest-card,.value-item{animation:none;opacity:1;transform:none}.slide-up-animation{animation:none}.skill-group:hover,.interest-card:hover,.value-item:hover,.cta-button:hover{transform:none}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
