body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:1440px){body{font-size:.9rem}.app-wrapper{min-height:100vh;overflow-x:hidden}}@media (max-width:768px){body{font-size:.95rem}}@font-face{font-display:swap;font-family:Thorilat;font-style:normal;font-weight:400;src:url(/static/media/Thorilat.5c5fed14babb28aba560.otf) format("truetype")}@font-face{font-display:swap;font-family:Dansk;font-style:normal;font-weight:400;src:url(/static/media/Dansk.520661ef784a61f8f58f.ttf) format("truetype")}:root{--font-heading:"Thorilat",sans-serif;--font-body:"Dansk",sans-serif;--color-bg:#f5f3ef;--color-text:#2e2e2e;--color-accent:#c2a85d;--color-navy:#1a2a40;--color-gold:#c49a3d;--color-gold-hover:#b5892f}*{box-sizing:border-box;margin:0;padding:0}#global-overlay{background:repeating-linear-gradient(0deg,#0000,rgba(107,63,42,.015) 1px,rgba(107,63,42,.015) 2px,#0000 5px);inset:0;mix-blend-mode:normal;opacity:.9;pointer-events:none;position:fixed;z-index:2147483000}body:hover #global-overlay{animation:global-crt-warp .18s ease-in-out}@keyframes global-crt-warp{0%,to{transform:translateX(0) scaleX(1)}50%{transform:translateX(.5px) scaleX(1.001)}}body{background-color:#f5f3ef;background-color:var(--color-bg);color:#2e2e2e;color:var(--color-text);font-family:Dansk,sans-serif;font-family:var(--font-body);margin:0;overflow-x:hidden;padding:0}h1{letter-spacing:4px}p{letter-spacing:.05em}.tight-text{letter-spacing:-.5px}.app-wrapper{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;width:100%}.main-content{align-items:center;display:flex;flex:1 1;justify-content:center;max-width:100vw;width:100%}video{cursor:pointer!important}.npc-dialog{background:#2c3e50;border:2px solid #34495e;border-radius:12px;box-shadow:0 8px 24px #2c3e5066,inset 0 1px 0 #ffffff1a;color:#ecf0f1;font-size:clamp(12px,2.5vw,14px);font-weight:500;left:clamp(65px,10vw,100px);max-width:clamp(200px,25vw,280px);padding:10px 14px;position:fixed;top:clamp(18px,3vh,28px);z-index:1000}.npc-dialog-content{font-family:var(--font-body);line-height:1.4;position:relative}.npc-dialog-tail{border-bottom:8px solid #0000;border-right:10px solid #2c3e50;border-top:8px solid #0000;height:0;left:-10px;position:absolute;top:50%;transform:translateY(-50%);width:0}@media (max-width:768px){.npc-dialog{left:clamp(48px,12vw,75px);max-width:clamp(180px,40vw,220px);padding:8px 12px;top:clamp(15px,2vh,20px)}.npc-dialog-tail{border-bottom:6px solid #0000;border-right:8px solid #2c3e50;border-top:6px solid #0000}}@media (max-width:480px){.npc-dialog{font-size:clamp(11px,2.2vw,13px);left:clamp(40px,15vw,65px);max-width:clamp(160px,45vw,200px);top:clamp(12px,1.5vh,18px)}}.header-nav{backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:paint;justify-content:space-between;left:0;padding-left:2rem;position:absolute;right:2rem;top:2rem;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:opacity,transform;z-index:10}.header-nav,.logo-container{align-items:center;display:flex}.logo-container{cursor:pointer}.logo{height:28px;transition:transform .3s ease}.logo:hover{transform:scale(1.05)}.nav-links{color:var(--color-navy);display:flex;font-family:var(--font-body);font-size:1.2rem;font-weight:500;gap:2.5rem;list-style:none;margin:0;padding:0}.nav-links li{cursor:pointer;transition:color .3s ease}.nav-links li:hover{color:var(--color-accent)}.burger{display:none}.burger span{background-color:var(--color-navy);display:block;height:2px;transition:transform .3s ease}@media (max-width:768px){.nav-links{display:none}.burger{background:none;border:none;cursor:pointer;height:1.2rem;justify-content:space-between;padding:0;width:1.5rem}.burger,.nav-links.open{display:flex;flex-direction:column}.nav-links.open{background-color:var(--color-bg);border-radius:6px;box-shadow:0 4px 12px #0000001a;font-size:.9rem;gap:.75rem;padding:1rem;position:absolute;right:2rem;top:4rem}.burger.open span:first-child{transform:translateY(5px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}}@media (max-width:1440px){.landing{padding:3rem 1.5rem}.hero-layout{max-width:1100px;padding:0 clamp(12px,1.5vw,20px)}.intro-block{left:clamp(200px,32vw,320px);width:clamp(280px,45vw,520px)}.intro-block h1{font-size:clamp(2rem,6.5vw,6.5rem)}.avatar-8bit-container{width:clamp(180px,28vw,300px)}}@media (max-width:768px){.landing{justify-content:center;padding:2rem 1rem}.hero-layout{flex-direction:column;gap:1rem;grid-template-columns:1fr;grid-template-rows:45vh 1fr;text-align:center}.intro-block{left:auto;position:relative;text-align:center;top:auto;transform:none;width:100%}.tagline{flex-direction:column;font-size:1rem;max-width:100%;transform:none}.typed-heading{font-size:clamp(2rem,6vw,3rem)}}.landing{align-items:center;background-color:var(--color-bg);color:var(--color-navy);display:flex;flex:1 1;justify-content:flex-start;max-width:100vw;min-height:50vh;overflow:hidden;padding:4rem 2rem 4rem 100px}.hero-layout,.landing{position:relative;width:100%}.hero-layout{margin-left:auto;margin-right:auto;max-width:1200px;min-height:60vh;padding:0 clamp(16px,2vw,24px)}.avatar{border-radius:50%;box-shadow:0 6px 20px #0000001a;flex-shrink:0;height:200px;object-fit:cover;transition:transform .4s ease,box-shadow .4s ease;width:200px}.avatar:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-1px) scale(1.01)}.intro-block{left:clamp(240px,40vw,400px);max-width:calc(100vw - 280px);position:absolute;text-align:left;top:50%;transform:translateY(-50%);width:clamp(300px,50vw,600px);z-index:5}.intro-block h1{color:var(--color-navy);font-family:var(--font-heading);font-size:clamp(2.5rem,8.5vw,8.5rem);font-weight:700;line-height:.85;margin:0;transform:translateY(5px)}.intro-block h2{color:var(--color-accent);font-family:var(--font-body);font-size:clamp(1.25rem,3vw,2rem);font-weight:600;margin-bottom:.5rem;transform:translateX(3px)!important}.tagline{align-items:baseline;color:var(--color-text);display:flex;font-size:1.1rem;font-weight:400;transform:translateX(1px)}.fade-in{animation:fadeInUp .8s ease forwards}.tagline-prefix{border-bottom:2px solid var(--color-accent);font-size:1.3rem;font-weight:500;margin-right:.34rem;opacity:0;padding-bottom:2px;transform:translateY(10px);transition:all .6s ease}.tagline-prefix.show{opacity:1;transform:translateY(0)}.typed-heading{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.2;margin-bottom:.5rem}.typed-wrapper{display:inline-block;font-size:1.3rem;vertical-align:initial;white-space:nowrap}.glitch-text{animation:glitch 1.2s infinite;display:inline-block;position:relative}@keyframes glitch{0%{text-shadow:2px 0 red,-2px 0 blue}20%{text-shadow:-2px 0 red,2px 0 blue}40%{text-shadow:2px 0 red,-2px 0 blue}60%{text-shadow:-2px 0 red,2px 0 blue}80%{text-shadow:2px 0 red,-2px 0 blue}to{text-shadow:none}}.tagline-prefix,.typed-wrapper{will-change:transform,opacity}@media (max-width:1440px){.avatar-8bit-container{transform:translateY(-50%) translateX(-10px);width:clamp(180px,28vw,300px)}.avatar-8bit{height:clamp(200px,38vh,420px)}.work-bubble{font-size:clamp(11px,2.2vw,14px);left:clamp(-25px,-3.5vw,-15px);line-height:1.3;max-width:clamp(130px,15vw,165px);min-width:clamp(110px,13vw,155px);padding:10px 14px;top:clamp(8px,1.5vh,28px)}}@media (max-width:1100px){.work-bubble{font-size:clamp(10px,2vw,13px);left:clamp(-20px,-3vw,-10px);line-height:1.35;max-width:clamp(110px,14vw,150px);min-width:clamp(100px,12vw,140px);padding:9px 12px;top:clamp(8px,1.5vh,25px)}}.avatar-8bit-container{align-items:flex-end;display:flex;height:auto;justify-content:flex-end;left:0;overflow:visible;position:absolute;top:50%;transform:translateY(-50%);width:clamp(200px,35vw,350px);z-index:10}.avatar-8bit{filter:contrast(1.1) brightness(1.05);height:clamp(220px,42vh,480px);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;width:auto}.work-bubble{word-wrap:break-word;animation:gameDialogPulse 3s ease-in-out infinite;background:#fff;border:3px solid #6b3f2a;border-radius:0;box-shadow:0 0 0 1px #6b3f2a33,0 4px 8px #6b3f2a4d,0 8px 16px #6b3f2a33,0 12px 24px #00000026,inset 0 1px 0 #fffc,inset 0 -1px 0 #6b3f2a1a;color:#6b3f2a;font-family:var(--font-body);font-size:clamp(13px,2.8vw,16px);font-weight:600;left:clamp(-30px,-4vw,-10px);line-height:1.25;max-width:clamp(140px,16vw,180px);min-width:clamp(120px,14vw,165px);padding:14px 18px;position:absolute;top:clamp(10px,2vh,30px);white-space:normal;z-index:20}@keyframes gameDialogPulse{0%,to{box-shadow:0 0 0 1px #6b3f2a33,0 4px 8px #6b3f2a4d,0 8px 16px #6b3f2a33,0 12px 24px #00000026,inset 0 1px 0 #fffc,inset 0 -1px 0 #6b3f2a1a}50%{box-shadow:0 0 0 2px #6b3f2a66,0 4px 8px #6b3f2a66,0 8px 16px #6b3f2a40,0 12px 24px #0000002e,inset 0 1px 0 #ffffffe6,inset 0 -1px 0 #6b3f2a26}}.work-bubble.clickable{cursor:pointer}.work-bubble.clickable:hover{transform:translateY(-2px);transition:transform .2s ease}.dialog-indicator{animation:gameArrowBounce 1.2s ease-in-out infinite;bottom:2px;color:#6b3f2acc;font-size:8px;font-weight:400;position:absolute;right:4px}@keyframes gameArrowBounce{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}.bubble-tail,.bubble-tail:after{display:none}@media (max-width:768px){.avatar-8bit-container{justify-content:center;transform:translateY(-50%) translateX(0);width:45vw}.avatar-8bit{height:clamp(180px,38vh,400px)}.work-bubble{box-shadow:0 0 0 1px #6b3f2a4d,0 3px 6px #6b3f2a4d,0 6px 12px #0000001a,inset 0 1px 0 #ffffffb3;left:clamp(-25px,-3vw,-15px);line-height:1.3;max-width:clamp(120px,20vw,160px);min-width:clamp(100px,16vw,140px);padding:12px 15px;top:clamp(5px,1vh,25px)}.dialog-indicator{bottom:4px;color:#6b3f2ab3;font-size:7px;right:8px}@keyframes gameArrowBounce{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}}.avatar-8bit-container:hover .work-bubble:not(.clickable){background:#fefefe;border-color:#5d3426;transform:translateY(-1px);transition:all .3s ease}@media (max-width:768px){.about-layout{flex-direction:column;gap:2rem;height:auto;overflow:visible;padding:2rem 1rem}.bio-panel{max-width:100%;padding-right:0;text-align:center}.bio-panel h2{font-size:1.25rem;margin-bottom:.75rem;padding-bottom:.4rem}.timeline-panel{max-height:none;overflow-y:visible;padding-left:0}.timeline-panel .chrono-card{padding:1rem 1.25rem}.timeline-panel .chrono-card-subtitle,.timeline-panel .chrono-card-title{font-size:.9rem}.timeline-panel .chrono-card-text{font-size:.75rem;line-height:1.6}}.about-layout{background-color:var(--color-bg);color:var(--color-text);display:flex;gap:3rem;height:calc(100vh - 7.5rem);overflow:hidden;padding:4rem 2rem}.about-link{color:var(--color-navy);cursor:pointer;transition:color .3s ease}.about-link:hover{color:var(--color-gold)}.bio-panel{display:flex;flex:1 1;flex-direction:column;justify-content:center;max-width:520px;padding-right:2rem}.bio-panel h2{border-bottom:2px solid var(--color-accent);font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.bio-text{color:var(--color-text);font-size:1rem;font-weight:400;letter-spacing:.01em;line-height:1.8}.fade-in{animation:fadeInUp .6s ease forwards;animation-delay:.1s;opacity:0;transform:translateY(8px)}.fade-out{opacity:.3}.timeline-panel{flex:1 1;max-height:calc(100vh - 7.5rem);overflow-y:auto;padding-left:1rem;scroll-behavior:smooth}.timeline-panel ::-webkit-scrollbar{display:none!important;height:0;width:0}.timeline-panel *{-ms-overflow-style:none!important;scrollbar-width:none!important}.timeline-panel .chrono-card-title{color:var(--color-accent);font-size:.9rem;font-weight:600;letter-spacing:.02em;margin-bottom:.75rem;text-align:center}.timeline-panel .chrono-card{background-color:var(--color-light);border-radius:14px;box-shadow:0 8px 24px #0000000f;padding:1.5rem 1.75rem;transition:transform .3s ease,box-shadow .3s ease}.timeline-panel .chrono-card:hover{box-shadow:0 12px 28px #00000014;transform:translateY(-4px)}.timeline-panel .chrono-card-subtitle{color:var(--color-gold);font-size:1rem;font-weight:600;margin-bottom:.5rem;text-align:center}.timeline-panel .chrono-card-text{color:var(--color-text);font-size:.8rem;line-height:1.7;opacity:0;text-align:justify;transform:translateY(10px);transition:all .6s ease}.timeline-panel .chrono-card.in-view .chrono-card-text,.timeline-panel .chrono-card:hover .chrono-card-text{opacity:1;transform:translateY(0)}.timeline-panel .chrono-card h3,.timeline-panel .chrono-card h4{margin:.25rem 0}.timeline-panel .chrono-card p{margin-top:.5rem}.timeline-panel .active{color:var(--color-navy)!important}.timeline-panel [role=toolbar]{display:none}@media (min-width:1025px){.skills-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr);justify-items:center}}@media (max-width:1024px) and (min-width:769px){.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.skill-card{min-height:100px;padding:.75rem}.skill-logo{height:48px;margin-bottom:.5rem;max-width:64px}.skill-category{font-size:.75rem}}.skills-section{background-color:var(--color-bg);margin:0 auto;max-width:1200px;overflow-x:hidden;padding:8rem 4rem 4rem;text-align:center}.skills-heading{color:var(--color-navy);font-family:var(--font-heading);font-size:2rem;margin-bottom:.5rem}.skills-subtext{color:var(--color-text);font-size:1.2rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:800px}.skills-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(6,1fr);justify-items:center;max-width:100%;width:100%}.skill-card{align-items:center;animation:fadeInUp .6s ease forwards;animation-delay:calc(.05s*var(--i));background:#0000;border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-height:120px;opacity:0;padding:1rem;transform:translateY(10px);transition:transform .3s ease}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.skill-card:hover{transform:translateY(-5px)}.skill-logo{height:64px;margin-bottom:.75rem;max-width:80px;object-fit:contain}.skill-name{color:var(--color-navy)}.skill-category,.skill-name{font-size:.9rem;font-weight:600}.skill-category{color:var(--color-accent);font-family:var(--font-body);letter-spacing:.03em;line-height:1.3;text-shadow:0 1px 2px #1a2a4014}.projects-section{align-items:flex-start;background-color:#f5f3ef;background-color:var(--color-bg,#f5f3ef);display:flex;justify-content:center;min-height:70vh;padding:40px 0 0}.projects-container{box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;max-width:1200px;width:100%}.projects-title{color:#1a2a40;color:var(--color-navy,#1a2a40);font-family:Dansk,sans-serif;font-size:1rem;letter-spacing:2px;margin-bottom:48px;margin-top:20px;text-align:center}.filter-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.filter-btn{background:#f5f3ef;border:3px solid #c2a85d;border:3px solid var(--color-accent,#c2a85d);box-shadow:0 3px 0 #c2a85d66,0 6px 12px #2e2e2e26;color:#1a2a40;color:var(--color-navy,#1a2a40);cursor:pointer;font-family:Dansk,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.5px;min-width:160px;padding:10px 24px;transition:all .3s ease}.filter-btn:hover{background:#c2a85d;background:var(--color-accent,#c2a85d);box-shadow:0 5px 0 #c2a85d80,0 8px 16px #c2a85d40;color:#f5f3ef;transform:translateY(-2px)}.filter-btn.active{background:#1a2a40;background:var(--color-navy,#1a2a40);border-color:#1a2a40;border-color:var(--color-navy,#1a2a40);box-shadow:0 3px 0 #1a2a4099,0 6px 12px #1a2a404d;color:#c2a85d;color:var(--color-accent,#c2a85d)}.projects-scroll-wrapper{margin-bottom:20px;position:relative;width:100%}.projects-grid{align-items:center;display:flex;flex-wrap:nowrap;gap:25px;min-width:100%;overflow-x:auto;overflow-y:hidden;padding:30px 0 32px;scrollbar-color:#c2a85d4d #c2a85d33;scrollbar-width:thin}.projects-grid::-webkit-scrollbar{background:#0000;height:12px}.projects-grid::-webkit-scrollbar-track{background:#c2a85d33;border-radius:10px;margin:0 20px}.projects-grid::-webkit-scrollbar-thumb{background:#c2a85d4d;background-clip:padding-box;border:2px solid #f5f3ef;border:2px solid var(--color-bg,#f5f3ef);border-radius:10px;cursor:grab;min-width:40px;-webkit-transition:background .3s ease;transition:background .3s ease}.projects-grid::-webkit-scrollbar-thumb:hover{background:#c2a85d73}.projects-grid::-webkit-scrollbar-thumb:active{background:#c2a85d8c;cursor:grabbing}.project-card{background:linear-gradient(135deg,#faf8f5,#f0ebe3);border:4px solid #c2a85d;border:4px solid var(--color-accent,#c2a85d);border-radius:8px;box-shadow:0 6px 0 #c2a85d4d,0 10px 25px #2e2e2e26;cursor:pointer;flex-shrink:0;max-width:280px;min-width:280px;overflow:hidden;transition:all .3s ease}.project-card:hover{box-shadow:0 10px 0 #c2a85d66,0 14px 35px #c2a85d40;transform:translateY(-6px)}.project-image-container{background:linear-gradient(135deg,#e8e3d9,#d9d0c4);border-bottom:3px solid #c2a85d4d;height:140px;overflow:hidden;position:relative;width:100%}.project-image{height:100%;image-rendering:pixelated;object-fit:cover;opacity:.95;transition:transform .3s ease;width:100%}.project-card:hover .project-image{opacity:1;transform:scale(1.05)}.project-category-badge{background:#1a2a40e6;border:2px solid #c2a85d;border:2px solid var(--color-accent,#c2a85d);box-shadow:0 2px 8px #0003;color:#c2a85d;color:var(--color-accent,#c2a85d);font-family:Dansk,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.8px;padding:4px 10px;position:absolute;right:8px;text-align:center;text-transform:uppercase;top:8px}.project-content{padding:15px;text-align:center}.project-title{color:#1a2a40;color:var(--color-navy,#1a2a40);font-family:Thorilat,sans-serif;font-size:1.1rem;letter-spacing:1.5px;margin:0;text-shadow:1px 1px 0 #c2a85d4d}.no-projects{color:#c2a85d;color:var(--color-accent,#c2a85d);font-family:Dansk,sans-serif;font-size:1.1rem;padding:40px 20px;text-align:center;width:100%}@media (max-width:768px){.projects-section{min-height:80vh;padding:50px 0 0}.projects-title{font-size:1.7rem;margin-bottom:15px}.projects-grid{gap:20px;padding:24px 0 28px}.projects-scroll-wrapper{margin-bottom:15px}.project-card{max-width:240px;min-width:240px}.project-image-container{height:120px}}@media (max-width:480px){.projects-section{min-height:90vh;padding:24px 0 0}.projects-title{font-size:1.4rem;margin-bottom:10px}.projects-grid{gap:15px;padding:18px 0 20px}.project-card{border-width:3px;max-width:200px;min-width:200px}.project-image-container{height:100px}}.project-window-backdrop{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#00000026;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;-webkit-user-select:none;user-select:none;width:100vw;z-index:1500}.project-window{background:linear-gradient(135deg,#faf8f5,#f0ebe3);border:3px solid #c2a85d;border-radius:12px;box-shadow:0 0 35px #c2a85dd9,0 15px 35px #2e2e2e40;display:flex;flex-direction:column;overflow:hidden;position:absolute;transition:box-shadow .25s ease}.project-window:hover{box-shadow:0 0 60px #040403,0 20px 50px #2e2e2e59}.project-window-header{align-items:center;background:#1a2a40d9;color:#c2a85d;cursor:grab;display:flex;flex-shrink:0;font-family:Thorilat,sans-serif;font-size:1.3rem;justify-content:space-between;letter-spacing:2px;padding:12px 20px;-webkit-user-select:none;user-select:none}.project-window-header:active{cursor:grabbing}.project-window-title{margin:0;-webkit-user-select:text;user-select:text}.close-btn{background:#0000;border:none;color:#c2a85d;cursor:pointer;font-size:1.5rem;font-weight:700;transition:color .2s ease}.close-btn:focus,.close-btn:hover{color:#ffe55c;outline:none}.project-window-content{display:flex;flex-direction:column;flex-grow:1;gap:20px;overflow-y:auto;padding:20px 20px 56px}.project-window-image{border-radius:8px;flex-shrink:0;height:auto;max-height:240px;object-fit:cover;-webkit-user-select:none;user-select:none;width:100%}.project-window-description{color:#5a5a5a;font-family:Courier New,monospace;font-size:1rem;line-height:1.4;max-height:150px;overflow-wrap:break-word;overflow-y:auto;padding-bottom:20px;padding-right:8px}.project-window-description::-webkit-scrollbar{width:8px}.project-window-description::-webkit-scrollbar-track{background:#0000}.project-window-description::-webkit-scrollbar-thumb{background:#c2a85d66;border-radius:10px;opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.project-window-description:hover::-webkit-scrollbar-thumb{opacity:1}.project-window-description::-webkit-scrollbar-thumb:hover{background:#c2a85dcc}.project-window-tech-stack{background:linear-gradient(0deg,#faf8f5fa,#0000);border-top:2px solid #c2a85d4d;bottom:0;display:flex;flex-wrap:wrap;gap:10px;left:0;min-height:44px;padding:12px 20px 16px;position:absolute;right:0;z-index:10}.project-tech-tag{background:#e8e3d9;border:2px solid #c2a85d;border-radius:6px;color:#1a2a40;font-family:Dansk,sans-serif;font-size:.85rem;font-weight:600;padding:5px 12px;-webkit-user-select:none;user-select:none}.project-window-resizer{background:url('data:image/svg+xml;utf8,<svg fill="%23c2a85d" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M14 14h1.5v1.5H14zm3 3h1.5v1.5H17zm-6 0h1.5v1.5H11zm3-6h1.5v1.5H14z"/></svg>') 50% no-repeat;bottom:8px;cursor:se-resize;height:28px;opacity:.7;position:absolute;right:8px;transition:opacity .25s ease;width:28px;z-index:20}.project-window-resizer:hover{opacity:1}@media (max-width:768px){.project-window{border-radius:10px;bottom:auto!important;height:70vh!important;left:5vw!important;max-height:none!important;max-width:none!important;right:auto!important;top:10vh!important;width:90vw!important}.project-window-content{padding:15px 15px 66px}}.portfolio-link{color:#907cfb;cursor:pointer;text-decoration:underline;transition:color .18s}.portfolio-link:focus,.portfolio-link:hover{color:#ffeaa7;outline:none}.meta-link-row{align-items:center;display:flex;justify-content:center;margin:12px 0 4px;pointer-events:auto;width:100%}.portfolio-meta-link{background:#fffbe5;border:2px solid #ffe55c;border-radius:13px;box-shadow:0 0 4px #ffe55c44,0 1px 4px #201a2222;color:#161428;cursor:pointer;display:inline-block;font-family:Fira Mono,monospace;font-size:.78rem;font-weight:700;letter-spacing:.7px;min-width:0;outline:none;padding:2px 9px;position:relative;text-align:center;text-decoration:none;transition:box-shadow .19s,background .16s,color .14s,border .14s}.portfolio-meta-link:focus,.portfolio-meta-link:hover{background:#fff277;border:2.2px solid #ffe55c;box-shadow:0 0 20px #ffe55c99,0 4px 18px #201a2295;color:#161428;outline:none;text-shadow:0 1px 2px #ffe55ca8}.portfolio-meta-link:active{background:#fffdd6;color:#161428}.meta-link-icon{filter:drop-shadow(0 0 2px #ffeaa7bb);font-size:1em;margin:0 4px;vertical-align:middle}.portfolio-npc-dialog{background:#222531ee;border:2px solid #e8cb62;border-radius:8px;box-shadow:0 4px 19px #0000001c;color:#ffeaa7;font-family:monospace;font-family:var(--font-body,monospace);font-size:1.08rem;max-width:320px;padding:16px 28px;pointer-events:auto;text-align:center;z-index:2000}@media (max-width:768px){.form-columns{max-width:100%;padding:2rem 1rem}.form-section{margin-top:3rem}.contact-header h3{font-size:1.5rem}label{font-size:.8rem}input[type=email],input[type=text],textarea{font-size:.85rem;padding:.5rem .75rem}.button-row{align-items:stretch;flex-direction:column;gap:.5rem}.alt-button,.button{font-size:.8rem;padding:.5rem 1rem;width:100%}textarea{max-height:180px;min-height:100px}input::placeholder,textarea::placeholder{transition-delay:.3s}}@media (max-width:600px){.form-columns{padding:1.5rem 1rem}.button-row{flex-direction:column}textarea{max-height:160px;min-height:80px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.contact-layout,.form-columns{box-sizing:border-box;font-family:var(--font-body);margin:auto;max-width:600px;overflow:hidden;padding:1rem;width:100%}.form-section{animation:fadeIn .6s ease-out;background:none;border-radius:0;box-shadow:none;margin-top:5rem;padding:0;width:100%}.form-section h3{color:var(--color-navy);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:.5rem}.form-section p{color:#555;font-size:.95rem;margin-bottom:1.5rem}.contact-header{margin-bottom:2rem;text-align:center}.contact-header h3{color:var(--color-navy);display:inline-block;font-family:var(--font-heading);font-size:1.8rem;letter-spacing:2px}.wave-emoji{animation:wave 1.5s ease-in-out infinite;display:inline-block;transform-origin:70% 70%}@keyframes wave{0%{transform:rotate(0deg)}25%{transform:rotate(15deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(15deg)}to{transform:rotate(0deg)}}label{color:var(--color-text);display:block;font-size:1rem;font-weight:600;letter-spacing:1px;margin-bottom:.25rem}input[type=email],input[type=text],textarea{background-color:initial;border:none;border-bottom:1px solid #ccc;color:var(--color-text);font-family:var(--font-body);font-size:.9rem;margin-bottom:1rem;padding:.6rem .75rem;transition:border-color .3s ease,background-color .3s ease;width:100%}input:focus,textarea:focus{background-color:#c2a85d0d;border-bottom:1px solid var(--color-accent)}textarea{max-height:90px;min-height:60px;resize:vertical}input:focus,textarea:focus{border-color:var(--color-accent);outline:none}input::placeholder,textarea::placeholder{color:#999;font-style:italic;opacity:0;transition:opacity .6s ease}input:focus::placeholder,textarea:focus::placeholder{opacity:1}form{overflow:visible;padding-right:0;width:100%}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.alt-button,.button{border-radius:4px;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:1px;padding:.4rem .9rem;text-align:center;text-decoration:none;transition:background-color .3s ease}.button{border:none;color:#fff}.button,.button:hover{background-color:var(--color-accent)}.button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);transition:box-shadow .3s ease,transform .3s ease}.alt-button{border:1px solid var(--color-accent)}.alt-button,.alt-button:hover{background-color:var(--color-accent);color:#fff}.alt-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);transition:box-shadow .3s ease,transform .3s ease}@media (max-width:1024px){.main-content{padding-top:2rem}}@media (max-width:768px){.main-content{padding-top:1rem}.social-links{flex-direction:column;gap:.75rem}.site-footer{font-size:.7rem;padding:1rem .5rem}.attribution{font-size:.65rem}}.site-footer{background-color:var(--color-bg);border-top:1px solid #ddd;color:var(--color-text);font-size:.8rem;padding:1rem;text-align:center}.social-links{display:flex;gap:1.5rem;justify-content:center;margin:1rem 0}.social-links a{color:var(--color-navy);font-weight:600;text-decoration:none;transition:color .3s ease}.social-links a:hover{color:var(--color-accent)}.attribution{color:#888;font-size:.75rem;margin-top:1rem}.glitch-overlay{height:100vh;left:0;mix-blend-mode:normal;pointer-events:none;position:fixed;top:0;width:100vw;z-index:999}.crt-scanlines{animation:scanlineMove .08s linear infinite,scanlineFlicker .5s ease-in-out infinite alternate;background-image:linear-gradient(180deg,#0000 0,#00ff0026 40%,#ffffff1a 50%,#00ff0026 60%,#0000),linear-gradient(180deg,#0000 0,#ff00ff14 25%,#0000 26%,#0000 74%,#ff00ff14 75%,#0000);background-size:100% 6px,100% 2px;height:200%;left:0;opacity:.4;position:absolute;top:0;width:100%}@keyframes scanlineMove{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes scanlineFlicker{0%{filter:brightness(1);opacity:.3}to{filter:brightness(1.2);opacity:.5}}.screen-static{animation:staticNoiseVertical .15s steps(12) infinite,staticIntensity 2s ease-in-out infinite;background-image:radial-gradient(circle at 20% 30%,#ffffff4d 1px,#0000 0),radial-gradient(circle at 80% 70%,#0ff3 1px,#0000 0),radial-gradient(circle at 40% 80%,#ff00ff40 1px,#0000 0);background-size:6px 6px,4px 4px,8px 8px;height:100%;left:0;opacity:.15;position:absolute;top:0;width:100%}@keyframes staticNoiseVertical{0%{transform:translateY(0) scale(1)}8%{transform:translateY(-2px) scale(1.02)}16%{transform:translateY(-3px) scale(.98)}25%{transform:translateY(2px) scale(1.01)}33%{transform:translateY(3px) scale(.99)}41%{transform:translateY(3px) scale(1.02)}50%{transform:translateY(-2px) scale(.97)}58%{transform:translateY(-3px) scale(1.03)}66%{transform:translateY(2px) scale(.98)}75%{transform:translateY(1px) scale(1.01)}83%{transform:translateY(-2px) scale(.99)}91%{transform:translateY(2px) scale(1)}to{transform:translateY(0) scale(1)}}@keyframes staticIntensity{0%,to{opacity:.1}50%{opacity:.2}}.rgb-shift{animation:rgbColorShift 1.5s ease-in-out infinite;background:linear-gradient(90deg,#ff000040,#0000 3%,#0000 97%,#00ffff40),linear-gradient(180deg,#00ff0026,#0000 5%,#0000 95%,#ff00ff26);height:100%;left:0;position:absolute;top:0;width:100%}@keyframes rgbColorShift{0%,to{filter:hue-rotate(0deg) saturate(1);opacity:.6}25%{filter:hue-rotate(90deg) saturate(1.2);opacity:.9}50%{filter:hue-rotate(180deg) saturate(.8);opacity:.7}75%{filter:hue-rotate(270deg) saturate(1.1);opacity:.8}}.digital-corruption{animation:corruptionBlocksVertical .3s steps(6) infinite;background-image:linear-gradient(90deg,#0000,#ffffff1a 10%,#0000 11%,#0000 89%,#00ffff26 90%,#0000);height:100%;left:0;position:absolute;top:0;width:100%}@keyframes corruptionBlocksVertical{0%{opacity:.8;transform:translateY(0)}16%{opacity:.6;transform:translateY(-5px)}33%{opacity:.9;transform:translateY(3px)}50%{opacity:.7;transform:translateY(-2px)}66%{opacity:.8;transform:translateY(4px)}83%{opacity:.5;transform:translateY(-1px)}to{opacity:.8;transform:translateY(0)}}.floating-diamonds{height:100%;left:0;position:absolute;top:0;width:100%}.diamond-cross{animation:diamondFloat 4s ease-in-out infinite;position:absolute}.diamond-symbol{animation:diamondSparkle 1s ease-in-out infinite alternate;color:#ffe55c;display:block;font-size:16px;text-shadow:0 0 5px #ffe55c,0 0 10px #ffe55c,0 0 15px gold}.diamond-type-0 .diamond-symbol{color:#ffe55c;text-shadow:0 0 8px #ffe55c,0 0 16px gold}.diamond-type-1 .diamond-symbol{color:#ff6b9d;text-shadow:0 0 8px #ff6b9d,0 0 16px #ff1493}.diamond-type-2 .diamond-symbol{color:#4caf50;text-shadow:0 0 8px #4caf50,0 0 16px #0f0}@keyframes diamondFloat{0%{opacity:0;transform:translateY(100vh) rotate(0deg) scale(0)}15%{opacity:1;transform:translateY(85vh) rotate(45deg) scale(1)}85%{opacity:1;transform:translateY(-10vh) rotate(315deg) scale(1)}to{opacity:0;transform:translateY(-25vh) rotate(1turn) scale(0)}}@keyframes diamondSparkle{0%{filter:brightness(1);transform:scale(1) rotate(0deg)}to{filter:brightness(1.5);transform:scale(1.2) rotate(180deg)}}.crt-vignette{background:radial-gradient(ellipse at center,#0000 60%,#0000004d 80%,#0009 100%),radial-gradient(ellipse at center,#00ff000d 0,#0000 40%);box-shadow:inset 0 0 100px #000000b3,inset 0 0 50px #00ff001a}.crt-vignette,.screen-flicker{height:100%;left:0;position:absolute;top:0;width:100%}.screen-flicker{animation:screenFlicker .1s steps(2) infinite;background:#ffffff0d}@keyframes screenFlicker{0%,90%{opacity:0}5%,85%{opacity:1}}.glitch-overlay *{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform,opacity}@media (max-width:768px){.crt-scanlines{background-size:100% 4px,100% 2px;opacity:.35}.screen-static{background-size:4px 4px,3px 3px,5px 5px;opacity:.12}.rgb-shift{opacity:.5}}.sparkle-background{height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100vw;z-index:1}.sparkle-dot{animation:sparkle 3s ease-in-out infinite;background:var(--color-accent);border-radius:50%;opacity:0;position:absolute}@keyframes sparkle{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.6;transform:scale(1.2)}}.sparkle-dot:nth-child(2n){animation:sparkleAlt 4s ease-in-out infinite}@keyframes sparkleAlt{0%,to{opacity:0;transform:scale(1)}25%{opacity:.3;transform:scale(.9)}75%{opacity:.8;transform:scale(1.1)}}@media (max-width:768px){.sparkle-dot{animation-duration:2.5s}}*{cursor:none!important}.cursor-trail{animation:trailFade .4s ease-out forwards;border-radius:50%;height:4px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);width:4px;z-index:9997}@keyframes trailFade{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.3)}}.custom-cursor{height:8px;mix-blend-mode:difference;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:all .06s ease;transition:opacity .25s ease-in-out;width:8px;z-index:9999}.cursor-inner{animation:cursorPulse 2s ease-in-out infinite;background:var(--color-accent);border-radius:50%;box-shadow:0 0 8px var(--color-accent);height:100%;width:100%}.custom-cursor.hovering{transform:translate(-50%,-50%) scale(1.5)}.custom-cursor.hovering .cursor-inner{animation:cursorHoverPulse .8s ease-in-out infinite;box-shadow:0 0 6px var(--cursor-color),0 0 12px #c2a85d66;box-shadow:0 0 6px var(--cursor-color),0 0 12px rgba(var(--color-accent-rgb,194,168,93),.4)}@keyframes cursorPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes cursorHoverPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width:768px){*{cursor:auto!important}.cursor-trail,.custom-cursor{display:none}}.mobile-construction{align-items:center;background:#000;color:#f5f3ef;color:var(--color-bg,#f5f3ef);display:flex;font-family:Dansk,sans-serif;font-family:var(--font-body,"Dansk",sans-serif);height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:9999}.sparkle-container{height:100%;left:0;perspective:800px;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.sparkle{animation:smoothContinuousSpinLifecycle 5s ease infinite;opacity:0;transform-style:preserve-3d}.sparkle,.sparkle:before{height:16px;position:absolute;width:16px}.sparkle:before{animation:smoothDiamondTwinkle 4s ease-in-out infinite;background:radial-gradient(ellipse at 35% 25%,#fffffff2 0,#0000 45%),linear-gradient(45deg,#ffffff40,#0000 25%,#ffeb5c4d 45%,#0000 55%,#fff3 75%,#0000),linear-gradient(135deg,#fff59d,#ffe55c 15%,gold 30%,#f4d03f 45%,#e6b800 60%,#b8860b 75%,#8b6914 90%,#654321);box-shadow:inset 2px 2px 1px #ffffffb3,inset -1px -1px 2px #8b691480,0 0 6px #ffd700cc,0 0 12px #ffd70099,0 0 20px #ffd70066,0 0 30px #ffd70040,0 3px 6px #0006,0 6px 12px #0003;-webkit-clip-path:polygon(50% 0,75% 25%,75% 75%,50% 100%,25% 75%,25% 25%);clip-path:polygon(50% 0,75% 25%,75% 75%,50% 100%,25% 75%,25% 25%);content:"";image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;transform-origin:center center}.sparkle:nth-child(4n){animation-duration:5.3s;height:14px;width:14px}.sparkle:nth-child(4n):before{animation-duration:4.2s;background:radial-gradient(ellipse at 35% 25%,#ffffffe6 0,#0000 45%),linear-gradient(45deg,#ffffff40,#0000 25%,#ffb6c14d 45%,#0000 55%,#fff3 75%,#0000),linear-gradient(135deg,#ffcdd2,#ff8a95 15%,#ff6b9d 30%,#f48fb1 45%,#e91e63 60%,#c2185b 75%,#ad1457 90%,#880e4f);box-shadow:inset 2px 2px 1px #fff9,inset -1px -1px 2px #880e4f80,0 0 6px #e91e63b3,0 0 12px #e91e6380,0 0 20px #e91e6359,0 3px 6px #0006;height:14px;width:14px}.sparkle:nth-child(5n){animation-duration:4.7s;height:18px;width:18px}.sparkle:nth-child(5n):before{animation-duration:3.9s;background:radial-gradient(ellipse at 35% 25%,#ffffffe6 0,#0000 45%),linear-gradient(45deg,#ffffff40,#0000 25%,#c8e6c94d 45%,#0000 55%,#fff3 75%,#0000),linear-gradient(135deg,#c8e6c9,#a5d6a7 15%,#81c784 30%,#66bb6a 45%,#4caf50 60%,#388e3c 75%,#2e7d32 90%,#1b5e20);box-shadow:inset 2px 2px 1px #ffffffb3,inset -1px -1px 2px #1b5e2099,0 0 8px #4caf50cc,0 0 16px #4caf5099,0 0 26px #4caf5066,0 3px 6px #00000073;height:18px;width:18px}.sparkle:nth-child(7n){animation-duration:5.8s;height:20px;width:20px}.sparkle:nth-child(7n):before{animation-duration:3.6s;background:radial-gradient(ellipse at 35% 25%,#fffffff2 0,#0000 45%),linear-gradient(45deg,#ffffff40,#0000 25%,#bbdefb4d 45%,#0000 55%,#fff3 75%,#0000),linear-gradient(135deg,#bbdefb,#90caf9 15%,#64b5f6 30%,#42a5f5 45%,#2196f3 60%,#1976d2 75%,#1565c0 90%,#0d47a1);box-shadow:inset 2px 2px 1px #fffc,inset -1px -1px 2px #0d47a199,0 0 10px #2196f3e6,0 0 20px #2196f3b3,0 0 32px #2196f380,0 3px 8px #00000080;height:20px;width:20px}.sparkle:nth-child(11n){animation-duration:6.2s;height:22px;width:22px}.sparkle:nth-child(11n):before{animation-duration:3.2s;background:radial-gradient(ellipse at 35% 25%,#fff 0,#0000 40%),conic-gradient(from 0deg at center,#ffb3ba 0deg,#ffdfba 60deg,#ffffba 120deg,#baffc9 180deg,#bae1ff 240deg,#d4baff 300deg,#ffb3ba 1turn),linear-gradient(45deg,#ffffff4d,#0000 20%,#ffd70033 40%,#0000 60%,#ffffff40 80%,#0000);box-shadow:inset 3px 3px 1px #ffffffe6,inset -2px -2px 3px #0003,0 0 12px #ffd700e6,0 0 24px #ffb3ba99,0 0 36px #baffc980,0 4px 10px #0009;height:22px;width:22px}@keyframes smoothContinuousSpinLifecycle{0%{opacity:0;transform:translateY(20px) rotateY(0deg) scale(.6)}5%{opacity:.2;transform:translateY(15px) rotateY(20deg) scale(.7)}10%{opacity:.5;transform:translateY(10px) rotateY(50deg) scale(.85)}15%{opacity:1;transform:translateY(5px) rotateY(90deg) scale(1)}18%{opacity:1;transform:translateY(3px) rotateY(140deg) scale(1.02)}21%{opacity:1;transform:translateY(1px) rotateY(210deg) scale(1.03)}25%{opacity:1;transform:translateY(0) rotateY(300deg) scale(1.04)}30%{opacity:1;transform:translateY(-2px) rotateY(480deg) scale(1.04)}35%{opacity:1;transform:translateY(-4px) rotateY(2turn) scale(1.04)}40%{opacity:1;transform:translateY(-6px) rotateY(3turn) scale(1.04)}45%{opacity:1;transform:translateY(-8px) rotateY(4turn) scale(1.04)}50%{opacity:1;transform:translateY(-9px) rotateY(5turn) scale(1.04)}55%{opacity:1;transform:translateY(-10px) rotateY(6turn) scale(1.04)}60%{opacity:1;transform:translateY(-11px) rotateY(7turn) scale(1.04)}65%{opacity:1;transform:translateY(-12px) rotateY(8turn) scale(1.04)}70%{opacity:1;transform:translateY(-13px) rotateY(9turn) scale(1.04)}75%{opacity:1;transform:translateY(-14px) rotateY(10turn) scale(1.04)}78%{opacity:1;transform:translateY(-16px) rotateY(3720deg) scale(1.02)}81%{opacity:1;transform:translateY(-18px) rotateY(3820deg) scale(1)}85%{opacity:1;transform:translateY(-20px) rotateY(3900deg) scale(.98)}90%{opacity:.8;transform:translateY(-23px) rotateY(11turn) scale(.92)}95%{opacity:.4;transform:translateY(-26px) rotateY(4000deg) scale(.85)}to{opacity:0;transform:translateY(-30px) rotateY(4020deg) scale(.7)}}@keyframes smoothDiamondTwinkle{0%,to{filter:brightness(1) hue-rotate(0deg) saturate(1);transform:scale(1)}20%{filter:brightness(1.1) hue-rotate(1deg) saturate(1.05);transform:scale(1.01)}40%{filter:brightness(1.2) hue-rotate(-1deg) saturate(1.1);transform:scale(1.02)}60%{filter:brightness(1.15) hue-rotate(2deg) saturate(1.08);transform:scale(1.015)}80%{filter:brightness(1.05) hue-rotate(-1deg) saturate(1.03);transform:scale(1.005)}}.construction-content{animation:slideInUp 1s ease-out;max-width:90vw;padding:2rem;position:relative;text-align:center;z-index:10}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.avatar-container{animation:avatarEntrance 1.5s ease-out .3s both;display:inline-block;margin-bottom:2rem;position:relative}@keyframes avatarEntrance{0%{opacity:0;transform:scale(.5) rotate(-10deg)}70%{transform:scale(1.05) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.thumbs-avatar{filter:drop-shadow(0 0 20px rgba(245,243,239,.3));height:120px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;transition:transform .3s ease;width:120px}.thumbs-avatar:hover{transform:scale(1.1) rotate(5deg)}.avatar-glow{animation:glow 2s ease-in-out infinite alternate;background:radial-gradient(circle,#f5f3ef33 0,#0000 70%);border-radius:50%;bottom:-10px;left:-10px;position:absolute;right:-10px;top:-10px}@keyframes glow{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.construction-text{margin-bottom:2.5rem}.main-title{animation:titleGlow 3s ease-in-out infinite alternate;color:#f5f3ef;color:var(--color-bg,#f5f3ef);font-family:Thorilat,sans-serif;font-family:var(--font-heading,"Thorilat",sans-serif);font-size:clamp(1.8rem,5vw,2.5rem);font-weight:700;letter-spacing:2px;margin-bottom:.5rem;text-transform:uppercase}.subtitle{margin-top:1rem}.accent-text{animation:fadeInOut 2s ease-in-out infinite alternate;color:#c2a85d;color:var(--color-accent,#c2a85d);font-size:1.1rem;font-weight:500;letter-spacing:1px;opacity:.9}@keyframes fadeInOut{0%{opacity:.7}to{opacity:1}}.loading-dots{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem}.dot{animation:loadingDots 1.5s ease-in-out infinite;background-color:#c2a85d;background-color:var(--color-accent,#c2a85d);border-radius:50%;height:8px;width:8px}.dot:nth-child(2){animation-delay:.3s}.dot:nth-child(3){animation-delay:.6s}@keyframes loadingDots{0%,60%,to{opacity:.7;transform:scale(1)}30%{opacity:1;transform:scale(1.4)}}.rotate-hint{animation:slideInUp 1s ease-out 2s both;color:#f5f3ef;color:var(--color-bg,#f5f3ef);font-size:.9rem;opacity:.6}.rotate-hint p{letter-spacing:.5px;margin:0}.floating-particles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.particle{animation:particleFloat 4s ease-in-out infinite;background:linear-gradient(45deg,#c2a85d,#0000);background:linear-gradient(45deg,var(--color-accent,#c2a85d),#0000);border-radius:50%;height:4px;position:absolute;width:4px}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh) rotate(0deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100px) rotate(1turn)}}@media (max-height:600px){.construction-content{padding:1rem}.thumbs-avatar{height:80px;width:80px}.main-title{font-size:clamp(1.4rem,4vw,2rem)}.rotate-hint{font-size:.8rem}}@media (orientation:landscape) and (max-height:500px){.construction-content{padding:1rem}.avatar-container,.loading-dots{margin-bottom:1rem}}.loading-screen{align-items:center;background:radial-gradient(circle at center,#1a1a2e 0,#16213e 50%,#0f0f0f 100%);display:flex;flex-direction:column;font-family:Press Start\ 2P,Courier New,monospace;height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:9999}.loading-screen:before{animation:scanlines 2s linear infinite;background:repeating-linear-gradient(0deg,#00ff0008,#00ff0008 1px,#0000 0,#0000 2px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes scanlines{0%{transform:translateY(0)}to{transform:translateY(2px)}}.loading-container{max-width:500px;padding:2rem;position:relative;text-align:center;z-index:1}.loading-title{animation:titleGlow 2s ease-in-out infinite alternate;color:#0f8;font-size:1.5rem;letter-spacing:2px;margin-bottom:2rem;text-shadow:0 0 10px #0f8,0 0 20px #0f8,0 0 30px #0f8}@keyframes titleGlow{0%{text-shadow:0 0 10px #0f8,0 0 20px #0f8,0 0 30px #0f8}to{text-shadow:0 0 5px #0f8,0 0 10px #0f8,0 0 15px #0f8}}.loading-progress-container{background:#1a1a2e;border:2px solid #0f8;border-radius:4px;box-shadow:inset 0 0 10px #0f83,0 0 10px #00ff884d;height:24px;margin-bottom:1.5rem;overflow:hidden;position:relative;width:100%}.loading-progress-bar{background:linear-gradient(90deg,#0f8,#00cc70 50%,#0f8);box-shadow:0 0 15px #0f89;height:100%;position:relative;transition:width .3s ease-out}.loading-progress-bar:before{animation:progressStripes 1s linear infinite;background:repeating-linear-gradient(45deg,#0000,#0000 10px,#ffffff1a 0,#ffffff1a 20px);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes progressStripes{0%{transform:translateX(-20px)}to{transform:translateX(20px)}}.loading-progress-text{color:#0f8;font-size:.75rem;font-weight:400;letter-spacing:1px;margin-bottom:1rem;text-align:center}.loading-status{animation:statusBlink 1.5s ease-in-out infinite;color:#8cf;font-size:.625rem;letter-spacing:.5px;margin-top:1rem;min-height:20px}@keyframes statusBlink{0%,50%{opacity:1}51%,to{opacity:.7}}.loading-dots:after{animation:dots 1.5s steps(4) infinite;content:""}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.loading-decorations{height:100%;pointer-events:none;position:absolute;width:100%;z-index:0}.loading-pixel{animation:floatPixel 4s ease-in-out infinite;background:#0f8;box-shadow:0 0 6px #0f8;height:3px;position:absolute;width:3px}.loading-pixel:first-child{animation-delay:0s;left:10%;top:20%}.loading-pixel:nth-child(2){animation-delay:1s;left:90%;top:60%}.loading-pixel:nth-child(3){animation-delay:2s;left:20%;top:80%}.loading-pixel:nth-child(4){animation-delay:3s;left:80%;top:30%}@keyframes floatPixel{0%,to{opacity:.7;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-20px) scale(1.2)}}.loading-screen.fade-out{animation:fadeOut .8s ease-out forwards}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.loading-complete .loading-title{animation:completePulse .5s ease-in-out 3;color:#fff}@keyframes completePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width:768px){.loading-title{font-size:1.2rem}.loading-container{max-width:90%;padding:1rem}.loading-progress-container{height:20px}}@media (max-width:480px){.loading-title{font-size:1rem}.loading-progress-text{font-size:.7rem}.loading-status{font-size:.6rem}}
/*# sourceMappingURL=main.905a5aab.css.map*/