:root{--black:#0d0b12;--white:#f7f5ff;--violet:#8b5cf6;--pink:#ff4fd8;--acid:#d7ff38;--cyan:#38f2ff;--line:rgba(247,245,255,.22);--mono:'Courier New',monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--mono);overflow-x:hidden}
button,input,textarea{font:inherit}
button,a{color:inherit}
a{text-decoration-thickness:1px;text-underline-offset:.25em}
.skip{position:fixed;left:1rem;top:-5rem;z-index:200;background:var(--acid);color:var(--black);padding:.7rem 1rem}
.skip:focus{top:1rem}
.boot{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#08070b;transition:opacity .7s,visibility .7s}
.boot.gone{opacity:0;visibility:hidden}
.boot-noise{position:absolute;inset:0;opacity:.13;background-image:repeating-radial-gradient(circle at 20% 40%,transparent 0,transparent 4px,#fff 5px,#fff 6px);background-size:18px 18px;animation:noise .35s steps(2) infinite}
.boot-box{position:relative;width:min(720px,calc(100% - 2rem));border:1px solid var(--cyan);box-shadow:0 0 38px #38f2ff55,inset 0 0 38px #38f2ff22;padding:clamp(1.5rem,6vw,5rem);text-align:center;background:#0d0b12dd}
.boot-box>p,.boot-box small{color:var(--cyan);letter-spacing:.16em}
.boot-box .age-notice{display:grid;gap:.35rem;margin:-1.4rem auto 1.2rem;max-width:520px;color:var(--white);letter-spacing:.04em;line-height:1.45}
.age-notice strong{color:var(--acid);font:900 1.05rem var(--sans);letter-spacing:.14em}.age-notice span{font-size:.78rem}
.boot h1{font:900 clamp(4rem,13vw,10rem)/.72 var(--sans);letter-spacing:-.1em;margin:1rem 0 3rem;text-shadow:5px 5px 0 var(--pink)}
.boot h1 span{color:var(--acid);animation:blink .65s steps(1) infinite}
.boot button{border:2px outset var(--white);background:var(--violet);padding:1rem 1.7rem;font-weight:900;cursor:pointer;box-shadow:6px 6px 0 var(--pink)}
.boot button:hover{background:var(--acid);color:var(--black);box-shadow:2px 2px 0 var(--pink);transform:translate(4px,4px)}
.boot small{display:block;margin-top:2rem}
.topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:76px;padding:.65rem clamp(1rem,3vw,2.5rem);background:#0d0b12ee;border-bottom:1px solid var(--cyan);backdrop-filter:blur(10px)}
.wordmark{display:flex;align-items:center;gap:.25rem;text-decoration:none;font-family:var(--sans);font-size:1.3rem;letter-spacing:-.08em}
.wordmark::before{content:"";width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#24113b url('photo-orange-sticker.png') center 34%/135% auto no-repeat;border:2px solid var(--cyan);box-shadow:3px 3px 0 var(--pink);animation:logo-pulse 3s ease-in-out infinite}
.wordmark i{font-style:normal;color:var(--pink)}
.wordmark span{font:700 .58rem var(--mono);letter-spacing:.1em;color:var(--acid);align-self:flex-start}
.topbar nav{display:flex;justify-content:center;gap:clamp(1rem,3vw,3rem)}
.topbar nav a{font-size:.78rem;text-decoration:none}
.topbar nav a:hover{color:var(--acid);text-shadow:0 0 10px var(--acid)}
.menu{display:none}
.motion-button,.menu{border:1px solid var(--line);background:transparent;padding:.55rem .75rem;font-size:.7rem;cursor:pointer}
.landing{position:relative;min-height:calc(100svh - 76px);overflow:hidden;background:radial-gradient(circle at 50% 42%,#3c176d 0,#170d2b 42%,var(--black) 75%);isolation:isolate}
.grid-floor{position:absolute;z-index:-1;left:-30%;right:-30%;bottom:-45%;height:88%;background-image:linear-gradient(#38f2ff66 1px,transparent 1px),linear-gradient(90deg,#38f2ff66 1px,transparent 1px);background-size:55px 55px;transform:perspective(600px) rotateX(58deg);transform-origin:50% 0;animation:gridmove 8s linear infinite}
.halo{position:absolute;border:1px solid var(--pink);border-radius:50%;left:50%;top:48%;translate:-50% -50%;opacity:.5}
.halo-a{width:min(62vw,700px);aspect-ratio:1;animation:spin 18s linear infinite}
.halo-b{width:min(42vw,470px);aspect-ratio:1;border-style:dashed;border-color:var(--cyan);animation:spin 12s linear infinite reverse}
.status{position:absolute;left:2rem;top:1.4rem;font-size:.68rem;letter-spacing:.15em}
.status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px var(--acid);animation:blink 1s steps(1) infinite}
.landing-title{position:absolute;left:50%;top:47%;translate:-50% -50%;text-align:center;z-index:2}
.landing-title>span{display:block;letter-spacing:1.2em;font-size:.65rem;margin-right:-1.2em}
.landing-title h2{font:900 clamp(5rem,15vw,13rem)/.64 var(--sans);letter-spacing:-.1em;margin:.65rem 0;text-shadow:7px 7px 0 #3b1469,-3px -3px 0 var(--cyan)}
.landing-title h2 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--pink);text-shadow:0 0 24px #ff4fd877}
.landing-title p{display:inline-block;background:var(--acid);color:var(--black);padding:.28rem .6rem;font-weight:900;letter-spacing:.18em;transform:rotate(-2deg)}
.instruction{position:absolute;left:50%;bottom:6rem;translate:-50%;font-size:.72rem;letter-spacing:.12em;text-align:center}
.down{position:absolute;right:2rem;bottom:1.5rem;font-size:.68rem;text-decoration:none}
.down span{font-size:1.5rem;color:var(--acid)}
.portal{position:absolute;z-index:5;width:118px;height:92px;border:2px outset #fff;background:linear-gradient(135deg,#250f45,#7b2bbd);color:#fff;text-align:left;padding:.7rem;box-shadow:7px 7px 0 #0008;cursor:grab;user-select:none}
.portal:active{cursor:grabbing}
.portal:hover{background:var(--pink);color:var(--black);box-shadow:0 0 26px var(--pink)}
.portal b{position:absolute;right:.5rem;top:.25rem;color:var(--acid);font-size:1.5rem}
.portal span{font-weight:900;font-size:.78rem}
.portal i{display:block;font-style:normal;font-size:.58rem;margin-top:.8rem;color:var(--cyan)}
.p1{left:6%;top:17%;animation:float1 6s ease-in-out infinite}
.p2{right:7%;top:18%;animation:float2 7.4s ease-in-out infinite}
.p3{left:12%;bottom:15%;animation:float2 8.2s ease-in-out infinite reverse}
.p4{right:13%;bottom:18%;animation:float1 6.8s ease-in-out infinite reverse}
.ticker{overflow:hidden;background:var(--acid);color:var(--black);border-block:3px solid var(--black);font-weight:900;white-space:nowrap}
.ticker div{width:max-content;padding:.65rem 0;animation:ticker 25s linear infinite}
.section-title p,.eyebrow{color:var(--cyan);font-size:.7rem;letter-spacing:.17em}
.section-title h2,.guestbook h2{font:900 clamp(3.8rem,10vw,8rem)/.72 var(--sans);letter-spacing:-.08em;margin:1rem 0}
.section-title>span{display:block;max-width:430px}
.galleries{padding:clamp(5rem,10vw,10rem) clamp(1rem,4vw,4rem);background:#ece9f7;color:var(--black)}
.gallery-map{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:5rem}
.profile-art-line{display:flex;align-items:flex-end;justify-content:center;gap:clamp(.25rem,2vw,1.35rem);min-height:210px;margin:2.5rem 0 -2.5rem;pointer-events:none}
.profile-art-line img{width:clamp(72px,11vw,160px);max-height:230px;object-fit:contain;filter:drop-shadow(7px 8px 0 #8b5cf655)}
.profile-art-line img:nth-child(1){rotate:-8deg}.profile-art-line img:nth-child(2){rotate:5deg;border:5px solid #fff;box-shadow:7px 7px 0 #ff4fd8}.profile-art-line img:nth-child(3){rotate:-3deg}
.gallery-slot{grid-column:span 4;border:3px solid var(--black);padding:.75rem;background:#fff;text-align:left;cursor:pointer;box-shadow:8px 8px 0 var(--violet);transition:.2s}
.gallery-slot{text-decoration:none;color:inherit}
.gallery-slot:nth-child(even){transform:translateY(2.5rem) rotate(1deg);box-shadow:8px 8px 0 var(--pink)}
.gallery-slot:hover{transform:translate(-3px,-3px) rotate(-1deg);box-shadow:14px 14px 0 var(--acid)}
.slot-art{display:grid;place-items:center;aspect-ratio:4/3;background:repeating-conic-gradient(#cac5d8 0 25%,#efedf5 0 50%) 0/24px 24px;border:1px solid var(--black);margin-bottom:.8rem;overflow:hidden}
.slot-art i{font-style:normal;font-weight:900;text-align:center;background:var(--black);color:var(--acid);padding:.5rem;animation:glitch 2.8s steps(1) infinite}
.slot-art img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:saturate(1.08) contrast(1.04);transition:transform .35s,filter .35s}
.active-model:hover .slot-art img{transform:scale(1.045);filter:saturate(1.25) contrast(1.08)}
.active-model small{color:#6241c7;font-weight:900}
.gallery-slot b,.gallery-slot small{display:block}
.gallery-slot b{font:900 1.6rem var(--sans)}
.gallery-slot small{margin-top:.35rem}
.gallery-disclaimer{max-width:860px;margin:5rem auto 0;padding:1.1rem 1.3rem;border:2px solid var(--black);background:#fff;box-shadow:7px 7px 0 var(--pink);font-weight:900;line-height:1.55;text-align:center}
.care{padding:clamp(5rem,10vw,10rem) clamp(1rem,4vw,4rem);background:linear-gradient(145deg,#17101f,#100d14)}
.inverse h2{color:var(--pink)}
.care-console{border:2px solid var(--cyan);box-shadow:0 0 35px #38f2ff33;background:#050608;margin-top:4rem}
.console-tabs{display:flex;border-bottom:1px solid var(--cyan)}
.console-tabs button{flex:1;border:0;border-right:1px solid var(--cyan);background:#111;color:var(--cyan);padding:1rem;cursor:pointer}
.console-tabs button.active{background:var(--cyan);color:var(--black);font-weight:900}
.console-screen{padding:clamp(2rem,6vw,5rem);min-height:350px}
.console-screen>p{color:var(--acid);letter-spacing:.14em}
.console-screen h3{font:900 clamp(2.5rem,6vw,5.5rem)/.9 var(--sans);letter-spacing:-.06em;margin:1rem 0}
.console-screen>p:nth-of-type(2){max-width:720px;font:1.25rem/1.6 var(--mono)}
.console-screen button{border:1px solid var(--pink);background:transparent;color:var(--pink);padding:.8rem 1rem;cursor:pointer}
.console-screen button:hover{background:var(--pink);color:var(--black)}
.console-meter{display:flex;gap:5px;padding:.7rem;border-top:1px solid var(--cyan)}
.console-meter i{height:8px;flex:1;background:var(--violet);animation:meter 1s steps(2) infinite}
.console-meter i:nth-child(2n){animation-delay:.2s}
.console-meter i:nth-child(3n){animation-delay:.5s}
.guestbook{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);padding:clamp(5rem,10vw,10rem) clamp(1rem,4vw,4rem);background:var(--violet)}
.guestbook>div>p:last-child{max-width:500px}
.guestbook form{display:grid;gap:1rem;background:var(--black);padding:clamp(1.5rem,4vw,3rem);border:2px solid var(--white);box-shadow:12px 12px 0 var(--pink)}
.guest-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.guestbook form button:disabled{opacity:.65;cursor:wait}
.guestbook label{display:grid;gap:.5rem;color:var(--cyan);font-size:.75rem}
.guestbook input,.guestbook textarea{border:1px solid var(--cyan);background:#050608;color:#fff;padding:.9rem;font-size:1rem}
.guestbook form button{border:0;background:var(--acid);color:var(--black);padding:1rem;font-weight:900;cursor:pointer}
.guestbook form button:hover{background:var(--pink)}
#guest-status{color:var(--acid);margin:0}
.about{padding:clamp(5rem,9vw,9rem) clamp(1rem,4vw,4rem);background:var(--pink);color:var(--black)}
.about>p{font-size:.7rem;letter-spacing:.2em}
.about h2{max-width:1050px;font:900 clamp(3rem,8vw,7rem)/.86 var(--sans);letter-spacing:-.07em}
.about>div{display:flex;flex-wrap:wrap;gap:1rem}
.about span{border:2px solid var(--black);padding:.8rem;background:#fff}
footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:2rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line)}
footer p{text-align:center;font-size:.68rem;color:var(--cyan)}
.wordmark.small{font-size:1rem}
.model-window{width:min(1050px,calc(100% - 1rem));max-height:92vh;padding:0;border:2px solid var(--cyan);background:var(--black);color:var(--white);box-shadow:16px 16px 0 #0008}
.model-window::backdrop{background:#200c36dd;backdrop-filter:blur(6px)}
.window-bar{display:flex;align-items:center;justify-content:space-between;background:var(--cyan);color:var(--black);padding:.5rem .7rem;font-weight:900}
.window-bar button{border:2px outset #fff;background:#bbb;width:30px;height:26px;cursor:pointer}
.profile-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem;padding:clamp(1.2rem,4vw,3.5rem)}
.profile-empty{display:grid;place-items:center;aspect-ratio:4/5;border:1px solid var(--pink);background:repeating-linear-gradient(45deg,#24113b,#24113b 10px,#160b25 10px,#160b25 20px);color:var(--acid);font-weight:900;text-align:center}
.profile-shell aside p{font-size:.65rem;color:var(--cyan)}
.profile-shell h2,.article-window h2{font:900 clamp(3rem,7vw,6rem)/.8 var(--sans);letter-spacing:-.08em;margin:1rem 0}
.profile-shell dl div{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line);padding:.65rem 0}
.profile-shell dt{color:var(--cyan)}
.profile-shell dd{margin:0}
.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:2rem}
.mini-gallery i{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line);color:var(--pink);font-style:normal}
.article-window article{padding:clamp(2rem,6vw,5rem)}
.article-window article>p:last-child{font-size:1.15rem;line-height:1.7}
.trail{position:fixed;z-index:90;width:10px;height:10px;border:1px solid var(--acid);pointer-events:none;animation:trail .6s linear forwards}

body.motion-off *{animation-play-state:paused!important}
.portal.dragging{animation:none!important;z-index:20}
.portal.dragged{animation:none!important}

@keyframes blink{50%{opacity:0}
}
@keyframes noise{to{transform:translate(7px,-5px)}
}
@keyframes spin{to{transform:rotate(360deg)}
}
@keyframes gridmove{to{background-position:0 55px,55px 0}
}
@keyframes float1{0%,100%{translate:0 0;rotate:-2deg}
50%{translate:20px 24px;rotate:4deg}
}
@keyframes float2{0%,100%{translate:0 0;rotate:3deg}
50%{translate:-22px 17px;rotate:-4deg}
}
@keyframes ticker{to{transform:translateX(-50%)}
}
@keyframes glitch{0%,92%,100%{transform:none}
94%{transform:translateX(8px);color:var(--pink)}
96%{transform:translateX(-5px)}
}
@keyframes meter{50%{opacity:.15}
}
@keyframes trail{to{opacity:0;transform:scale(3) rotate(90deg)}
}

@media(max-width:850px){.topbar{grid-template-columns:1fr auto auto}
.menu{display:block}
.topbar nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--black);padding:1rem;border-bottom:1px solid var(--cyan)}
.topbar nav.open{display:flex}
.landing-title h2{font-size:clamp(5rem,20vw,9rem)}
.p3{left:4%}
.p4{right:4%}
.gallery-slot{grid-column:span 6}
.guestbook,.profile-shell{grid-template-columns:1fr}
.profile-empty{max-height:420px}
.guestbook h2{font-size:clamp(4rem,16vw,7rem)}
}

@media(max-width:560px){.motion-button{display:none}
.landing{min-height:700px}
.landing-title{top:45%}
.landing-title h2{font-size:21vw}
.portal{width:94px;height:78px}
.portal span{font-size:.65rem}
.portal b{font-size:1rem}
.p1{left:3%;top:14%}
.p2{right:3%;top:15%}
.p3{left:3%;bottom:12%}
.p4{right:3%;bottom:14%}
.instruction{bottom:7rem}
.down{display:none}
.gallery-slot{grid-column:1/-1}
.gallery-slot:nth-child(even){transform:none}
.console-tabs{flex-direction:column}
.console-tabs button{border-bottom:1px solid var(--cyan)}
footer{grid-template-columns:1fr;text-align:center}
footer .wordmark{justify-content:center}
footer p{text-align:center}
.about>div{display:grid}
.profile-shell dl div{grid-template-columns:90px 1fr}
}

@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}
.boot-noise{display:none}
}

.console-link{display:inline-block;border:1px solid var(--pink);background:transparent;color:var(--pink);padding:.8rem 1rem;cursor:pointer}
.console-link:hover{background:var(--pink);color:var(--black)}
.sole-enter{position:relative;display:inline-grid!important;grid-template-columns:110px auto;align-items:center;gap:1rem;padding:.2rem 1.4rem .2rem .35rem!important;text-align:left}
.enter-art{width:110px;height:125px;background:url('photo-orange-sticker.png') center/contain no-repeat;animation:wiggle 2.4s ease-in-out infinite}.sole-enter b{line-height:1.35}
.landing-feet{position:absolute;z-index:1;left:50%;top:50%;width:min(34vw,430px);height:min(72vh,650px);object-fit:cover;translate:-50% -50%;opacity:.72;border:4px solid #fff;box-shadow:16px 16px 0 #ff4fd8,-12px -12px 0 #38f2ff;filter:saturate(1.15) contrast(1.08);animation:hero-bob 5s ease-in-out infinite}
.photo-orbit{position:absolute;z-index:0;inset:0;pointer-events:none}.orbit-photo{position:absolute;width:clamp(82px,10vw,150px);aspect-ratio:4/5;object-fit:cover;border:3px solid #fff;box-shadow:7px 7px 0 var(--pink),0 0 24px #38f2ff55;filter:saturate(1.15) contrast(1.08);opacity:.72}.o1{left:2%;top:9%;rotate:-9deg;animation:photo-float-a 7s ease-in-out infinite}.o2{right:3%;top:10%;rotate:7deg;animation:photo-float-b 8s ease-in-out infinite}.o3{left:4%;bottom:8%;rotate:5deg;animation:photo-float-b 9s ease-in-out infinite reverse}.o4{right:4%;bottom:9%;rotate:-8deg;animation:photo-float-a 7.5s ease-in-out infinite reverse}.o5{left:20%;top:23%;rotate:10deg;animation:photo-float-a 10s ease-in-out infinite reverse}.o6{right:20%;bottom:23%;rotate:-6deg;animation:photo-float-b 8.5s ease-in-out infinite}
.brand-character{position:absolute;z-index:4;right:clamp(8rem,15vw,16rem);top:5%;width:clamp(100px,11vw,165px);height:auto;rotate:8deg;filter:drop-shadow(9px 9px 0 #05060888);animation:sticker-float 6.5s ease-in-out infinite;pointer-events:none}
.portal{width:132px;height:96px;text-decoration:none}.landing-title{z-index:3}.instruction{z-index:4}
@keyframes wiggle{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(7deg) translateY(-8px)}}
@keyframes logo-pulse{0%,100%{transform:rotate(-4deg) scale(1)}50%{transform:rotate(5deg) scale(1.08)}}
@keyframes hero-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-18px) rotate(2deg)}}
@keyframes spin-slow{to{transform:rotate(360deg)}}
@keyframes photo-float-a{0%,100%{translate:0 0}50%{translate:18px 22px}}
@keyframes photo-float-b{0%,100%{translate:0 0}50%{translate:-18px 16px}}
@keyframes sticker-float{0%,100%{translate:0 0;rotate:8deg}50%{translate:-10px 18px;rotate:3deg}}
@media(max-width:560px){.sole-enter{grid-template-columns:76px auto!important}.enter-art{width:76px;height:90px}.landing-feet{width:52vw;height:54vh;opacity:.56}.orbit-photo{width:74px}.o5,.o6{display:none}.brand-character{right:1%;top:26%;width:94px;opacity:.92}}
