@import url('https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap');

@font-face{font-family:RetroConsole;src:url('assets/fonts/lucida-console.ttf') format('truetype');font-display:swap}
:root{--void:#080018;--night:#10002d;--ink:#19092c;--wine:#521427;--rust:#6f2b1b;--magenta:#d63b9c;--violet:#8e20ff;--acid:#fff35a;--cyan:#76f6ff;--cream:#fff5d7;--muted:#e9a5c5}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{position:relative;background:var(--void) url('assets/generated/site-bg-cyber.webp') center/cover fixed no-repeat;color:var(--cream);font-family:Silkscreen,RetroConsole,"Courier New",monospace;font-size:11px}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 0 30%,rgba(5,0,24,.35) 76%),linear-gradient(rgba(10,0,45,.2),rgba(9,0,27,.48));box-shadow:inset 0 0 80px #050012}
button,a{font:inherit}button{letter-spacing:.02em}button,.toolbar a{position:relative;z-index:30}
.site-ornaments{position:fixed;inset:0;z-index:4;pointer-events:none;background:url('assets/generated/site-overlay-pixels.webp') center/100% 100% no-repeat;image-rendering:pixelated;opacity:1}
.particle-field{position:fixed;inset:-16%;z-index:5;pointer-events:none;background-repeat:repeat;background-position:0 -700px;image-rendering:pixelated;mix-blend-mode:screen;will-change:background-position,transform}
.particle-stars{background-image:url('assets/generated/particle-stars.webp');background-size:650px 650px;opacity:.12;animation:particleFallA 13s linear infinite}
.particle-bubbles{background-image:url('assets/generated/particle-bubbles.webp');background-size:780px 780px;opacity:.075;animation:particleFallB 19s steps(38,end) infinite}
.particle-glitch{background-image:url('assets/generated/particle-glitch.webp');background-size:860px 860px;opacity:.06;animation:particleJitter 8s steps(16,end) infinite}
.game{position:absolute;inset:clamp(38px,6vh,58px) clamp(100px,10vw,160px);display:grid;grid-template-rows:48px 50px minmax(0,1fr) 28px;overflow:hidden;border:4px solid var(--violet);border-radius:22px;background:var(--night);box-shadow:0 0 0 2px var(--acid),0 0 24px #e637d8,inset 0 0 0 2px #301064}
.game::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(118,246,255,.18) 4px);mix-blend-mode:screen}
.titlebar{display:grid;grid-template-columns:150px 1fr auto;align-items:center;padding:0 14px;color:#fff;background:linear-gradient(to bottom,#0d0028 0 62%,#bd3293 63% 100%);border-bottom:2px solid var(--acid);text-shadow:3px 3px 0 #3d006f}
.window-dots{display:flex;gap:9px}.window-dots i{width:15px;height:15px;background:var(--acid);border:2px solid #1a003c;box-shadow:3px 3px 0 var(--magenta);transform:rotate(45deg)}.window-dots i:nth-child(2){background:var(--cyan)}.window-dots i:nth-child(3){background:#ff68c4}
.titlebar h1{margin:0;text-align:center;color:#fffef1;font-size:18px;line-height:1;text-transform:lowercase;letter-spacing:.07em;text-shadow:3px 3px 0 #4d086f,-1px -1px 0 var(--acid);animation:titleBuzz 3.4s steps(2,end) infinite}.titlebar h1 span{color:var(--acid)}
.title-actions{display:flex;gap:7px}.title-actions button,.toolbar button,.toolbar a,.preview-controls button{min-height:30px;border:2px solid var(--acid);border-radius:13px;background:linear-gradient(#7e174d,#35104e);color:#fff;text-decoration:none;font-weight:700;cursor:pointer;box-shadow:3px 3px 0 var(--violet),inset 0 0 0 1px #e94daa;padding:6px 11px;text-shadow:2px 2px 0 #310042}
.title-actions button:hover,.toolbar button:hover,.toolbar a:hover,.preview-controls button:hover{color:var(--acid);background:linear-gradient(#c63883,#571257);transform:translate(-1px,-1px);box-shadow:4px 4px 0 #5f00d5,inset 0 0 0 1px #ff67c5}.title-actions button:active,.toolbar button:active,.preview-controls button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--violet)}
.toolbar{display:flex;align-items:center;gap:8px;padding:7px 11px;background:#54142b;border-bottom:3px solid var(--magenta)}
.toolbar .tool{display:inline-flex;flex:0 0 132px;align-items:center;justify-content:center;width:132px;height:34px;min-height:34px;max-height:34px;padding:0 8px;line-height:1;white-space:nowrap;border-radius:16px;background:#210050}.toolbar .tool span{display:inline-flex;flex:0 0 20px;align-items:center;justify-content:center;height:20px;margin-right:4px;color:var(--cyan);font-size:16px;line-height:20px}.toolbar .tool.active{color:var(--acid);background:linear-gradient(#c13a8d,#651557);box-shadow:0 0 0 2px var(--violet),3px 3px 0 #21003f,inset 0 0 0 1px #ff77cd}.toolbar-space{flex:1}.toolbar a{padding:6px 9px}
.workspace{min-height:0;display:grid;grid-template-columns:minmax(260px,39%) minmax(390px,61%);gap:11px;padding:10px;background:linear-gradient(135deg,#461036,#180037)}
.chrome-panel{min-width:0;min-height:0;overflow:hidden;border:2px solid var(--acid);border-radius:14px;background:var(--wine);box-shadow:0 0 0 3px var(--violet),4px 4px 0 #080018,inset 0 0 0 1px #eb54af}
.panel-title{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:var(--acid);background:#130031;border-bottom:2px solid var(--magenta);text-shadow:2px 2px 0 #5e0a65}.panel-title span{color:var(--cyan);font-size:8px}.panel-title .online{color:#b9ff52}
.preview-window{display:grid;grid-template-rows:30px minmax(0,1fr) 40px}.scene{position:relative;min-height:0;overflow:hidden;background-position:center;background-size:cover;border:5px solid #260044;box-shadow:inset 0 0 0 2px #e24ca7}.scene::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(17,0,42,.12) 5px);mix-blend-mode:multiply}
.scene[data-scene="neon"]{background-image:url('assets/generated/neon-room.webp')}.scene[data-scene="aqua"]{background-image:url('assets/generated/aqua-room.webp')}.scene[data-scene="bio"]{background-image:url('assets/generated/y3k-room.webp')}
.scene[data-scene="malibu"]{background-image:url('assets/generated/malibu-room.webp')}
.scene[data-scene="wasteland"]{background-image:url('assets/generated/wasteland-room.webp')}
.avatar-stack{position:absolute;inset:2% 3% 1%;z-index:2}.avatar-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.avatar-stack img:not([src]){display:none}.avatar-stack #headLayer,.avatar-stack #decorLayer{right:auto;bottom:auto;width:36%;height:36%;left:32%;object-fit:contain;transform:none!important;transform-origin:50% 0}.avatar-stack #headLayer{z-index:2;top:-2%!important}.avatar-stack #decorLayer{z-index:3}.avatar-stack #bodyLayer{transform-origin:50% 0}
.scene:has(#bodyLayer[src$="neon.png"]) #bodyLayer{transform:translateY(-2.1%) scale(1.029)}.scene:has(#bodyLayer[src$="aqua.png"]) #bodyLayer{transform:translateY(-.6%) scale(.993)}.scene:has(#bodyLayer[src$="bio.png"]) #bodyLayer{transform:translateY(3.1%) scale(.968)}.scene:has(#bodyLayer[src$="night.png"]) #bodyLayer{transform:translateY(2.2%) scale(.978)}
.scene:has(#bodyLayer[src$="malibu.png"]) #bodyLayer{transform:translateY(8.6%) scale(.913)}.scene[data-head="malibu"] #headLayer{top:-5.04%!important;transform:scale(.957)!important;transform-origin:50% 0}.scene[data-head="buzz"] #headLayer{top:-2.35%!important;transform:scale(.849)!important;transform-origin:50% 0}.scene[data-head="silver"] #headLayer{top:-2.04%!important;transform:scale(.808)!important;transform-origin:50% 0}.scene[data-head="curls"] #headLayer{top:-1.58%!important;transform:scale(.808)!important;transform-origin:50% 0}
.scene:has(#bodyLayer[src$="wasteland.png"]) #bodyLayer{transform:translateY(.9%) scale(1)}.scene[data-head="wasteland"] #headLayer{left:31.7%;top:.75%!important;transform:scale(.674)!important;transform-origin:50% 0}
.scene[data-decor="visor"] #decorLayer{top:.5%}.scene[data-decor="phones"] #decorLayer{top:1.5%;transform:scaleY(1.15)!important;transform-origin:50% 50%}.scene[data-decor="orbit"] #decorLayer{top:-1%}.scene[data-decor="crown"] #decorLayer{top:0}
.scene[data-decor="malibu"] #decorLayer{top:1.4%}
.scene[data-decor="wasteland"] #decorLayer{top:.83%}
.pet-layer{display:none;position:absolute;z-index:4;right:1%;bottom:1%;width:32%;max-height:35%;object-fit:contain}.pet-layer[src]{display:block}
.preview-controls{display:grid;grid-template-columns:auto 1fr 1fr;gap:6px;padding:5px;background:#2a063d;border-top:2px solid var(--magenta)}.preview-controls button{padding:4px 7px}.preview-controls #exportImage{color:#19002f;background:linear-gradient(#fff35a,#ef9f27);text-shadow:none}
.right-stack{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1.65fr) minmax(170px,.75fr);gap:11px}.catalog-window{display:grid;grid-template-rows:30px minmax(0,1fr) 25px;background:#26004f}.catalog{min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));grid-auto-rows:minmax(132px,1fr);gap:9px;padding:10px;background:linear-gradient(150deg,#43103d,#210052 55%,#45104b);scrollbar-color:var(--violet) #15002e;scrollbar-width:thin}.catalog.hidden{display:none}
.asset-card{position:relative;min-width:0;padding:7px;border:2px solid #ad3c89;border-radius:12px;background:#26004e;color:var(--cream);cursor:pointer;box-shadow:3px 3px 0 #0a001c;text-align:center;text-shadow:2px 2px 0 #490054}.asset-card:hover,.asset-card.active{border-color:var(--acid);background:#3b075b;outline:3px solid var(--violet);outline-offset:0}.asset-card.active{animation:selectedPulse 2.2s steps(2,end) infinite}.asset-card.active::after{content:"✓";position:absolute;right:7px;top:7px;display:grid;place-items:center;width:23px;height:23px;border:2px solid var(--acid);border-radius:50%;color:#21002f;background:var(--cyan);box-shadow:2px 2px 0 var(--magenta);font-size:14px;text-shadow:none}
.asset-preview,.empty-preview{display:block;height:calc(100% - 42px);min-height:100px;border:2px solid #7c2873;border-radius:7px;background-position:center;background-size:contain;background-repeat:no-repeat;background-color:#160035;image-rendering:pixelated}.empty-preview{display:grid;place-items:center;color:var(--acid);font-weight:700}.asset-card b,.asset-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card b{margin-top:6px;color:var(--acid);font-size:10px}.asset-card small{margin-top:3px;color:var(--cyan);font-size:8px}
.head-original{background-image:url('assets/doll/head-no-neck.webp')}.head-malibu{background-image:url('assets/doll/head-malibu.webp')}.head-buzz{background-image:url('assets/doll/head-buzz.webp')}.head-silver{background-image:url('assets/doll/head-silver.webp')}.head-curls{background-image:url('assets/doll/head-curls.webp')}.head-wasteland{background-image:url('assets/doll/head-wasteland.webp')}.outfit-neon{background-image:url('assets/doll/bodies/neon.webp')}.outfit-aqua{background-image:url('assets/doll/bodies/aqua.webp')}.outfit-bio{background-image:url('assets/doll/bodies/bio.webp')}.outfit-night{background-image:url('assets/doll/bodies/night.webp')}.outfit-malibu{background-image:url('assets/doll/bodies/malibu.webp')}.outfit-wasteland{background-image:url('assets/doll/bodies/wasteland.webp')}.scene-neon{background-image:url('assets/generated/neon-room.webp');background-size:cover}.scene-aqua{background-image:url('assets/generated/aqua-room.webp');background-size:cover}.scene-bio{background-image:url('assets/generated/y3k-room.webp');background-size:cover}.scene-malibu{background-image:url('assets/generated/malibu-room.webp');background-size:cover}.scene-wasteland{background-image:url('assets/generated/wasteland-room.webp');background-size:cover}.decor-visor{background-image:url('assets/doll/decor/cyan-visor.webp')}.decor-phones{background-image:url('assets/doll/decor/chrome-headphones.webp')}.decor-orbit{background-image:url('assets/doll/decor/orbit-halo.webp')}.decor-crown{background-image:url('assets/doll/decor/bio-crown.webp')}.decor-malibu{background-image:url('assets/doll/decor/malibu-visor.webp')}.decor-wasteland{background-image:url('assets/doll/decor/wasteland-mask.webp')}.pet-triton{background-image:url('assets/generated/triton-pet.webp')}.pet-manta{background-image:url('assets/generated/aqua-manta.webp')}.pet-frog{background-image:url('assets/generated/y3k-frog.webp')}.pet-poodle{background-image:url('assets/generated/malibu-poodle.webp')}.pet-wasteland{background-image:url('assets/generated/wasteland-fennec.webp')}
.catalog-footer{display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:var(--acid);background:#13002f;border-top:2px solid var(--magenta);font-size:8px}
.links-window{display:grid;grid-template-rows:30px minmax(0,1fr)}.links-layout{min-height:0;display:grid;grid-template-columns:minmax(190px,.9fr) minmax(220px,1.1fr);gap:9px;padding:8px;background:linear-gradient(135deg,#57142e,#26004c)}.player-summary,.link-column{min-width:0;min-height:0}.player-summary{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:5px}.player{display:flex;align-items:center;gap:10px;grid-column:1;min-width:0;padding:0}.player-icon{display:grid;flex:0 0 48px;place-items:center;width:48px;height:48px;overflow:hidden;background:#210052;border:2px solid var(--acid);box-shadow:3px 3px 0 var(--magenta),inset 0 0 0 2px var(--violet)}.player-icon img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.player b{display:block;color:var(--acid);font-size:12px;line-height:1.35;letter-spacing:.05em}.player-summary>p{margin:0;color:#ffc7df;font-family:RetroConsole,"Courier New",monospace;font-size:9px;line-height:1.35}.player-summary>p:empty{display:none}.player-summary dl{display:grid;grid-template-columns:repeat(3,1fr);align-self:end;margin:0;border:1px solid #a93c7d;background:#350d31}.player-summary dl div{min-width:0;padding:4px;border-right:1px solid #7b285c}.player-summary dl div:last-child{border:0}.player-summary dt{font-size:6px;color:var(--muted)}.player-summary dd{margin:3px 0 0;color:var(--acid);font-size:7px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-column{display:grid;grid-template-rows:minmax(0,1fr) auto}.link-list{min-height:0;overflow:auto;margin:0;scrollbar-color:var(--violet) #18002d;scrollbar-width:thin}.link-list a{position:relative;z-index:30;display:flex;justify-content:space-between;padding:7px 6px;color:var(--acid);text-decoration:none;border-top:1px solid #9f3577;background:#240046}.link-list a:last-child{border-bottom:1px solid #9f3577}.link-list a:hover{color:#170026;background:#77f5ff;text-shadow:none}.link-column>p{margin:5px 0 0;color:#ffc7df;font-family:RetroConsole,"Courier New",monospace;font-size:8px;line-height:1.3}
.statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:var(--cyan);background:#12002d;border-top:2px solid var(--magenta);font-size:8px;text-shadow:2px 2px 0 #53005e}.statusbar span:first-child{color:var(--acid)}
@keyframes bootIn{0%{opacity:0;transform:scale(.985);filter:brightness(2)}70%{opacity:1;filter:brightness(1.2)}100%{transform:scale(1);filter:none}}
@keyframes particleFallA{0%{background-position:0 -700px;transform:translateX(0)}24%{transform:translateX(3px)}25%{transform:translateX(-2px)}50%{transform:translateX(1px)}75%{transform:translateX(-3px)}100%{background-position:18px 0;transform:translateX(0)}}
@keyframes particleFallB{0%{background-position:70px -850px;transform:translateX(0)}20%{transform:translateX(-5px)}21%{transform:translateX(3px)}44%{transform:translateX(1px)}45%{transform:translateX(-4px)}74%{transform:translateX(4px)}75%{transform:translateX(-1px)}100%{background-position:0 0;transform:translateX(0)}}
@keyframes particleJitter{0%{background-position:10px -620px;transform:translate(0)}18%{transform:translate(4px,-2px)}19%{transform:translate(-3px,1px)}39%{transform:translate(2px,3px)}40%{transform:translate(-4px,-1px)}64%{transform:translate(3px,0)}65%{transform:translate(-1px,2px)}100%{background-position:-24px 0;transform:translate(0)}}
@keyframes titleBuzz{0%,94%,100%{transform:translateX(0)}95%{transform:translateX(2px)}96%{transform:translateX(-2px)}}@keyframes selectedPulse{0%,100%{box-shadow:3px 3px 0 #0a001c,0 0 0 rgba(255,243,90,0)}50%{box-shadow:3px 3px 0 #0a001c,0 0 12px rgba(255,243,90,.5)}}
@media(max-width:1050px){.game{inset:34px 88px;grid-template-rows:42px 44px minmax(0,1fr) 24px;border-radius:16px}.titlebar{grid-template-columns:70px 1fr auto}.titlebar h1{font-size:12px}.window-dots i{width:10px;height:10px}.title-actions button{min-height:26px;padding:4px 6px;font-size:7px}.toolbar{gap:4px;padding:4px}.toolbar .tool{flex:1 1 25%;width:auto;min-width:0;height:32px;min-height:32px;max-height:32px;padding:0 3px;font-size:7px}.toolbar .tool span{flex-basis:15px;margin-right:2px}.toolbar a{display:none}.workspace{grid-template-columns:minmax(245px,39%) minmax(380px,61%);padding:6px;gap:8px}.right-stack{grid-template-rows:minmax(0,1.45fr) minmax(156px,.8fr);gap:8px}.catalog{grid-template-columns:repeat(2,minmax(90px,1fr));grid-auto-rows:minmax(115px,1fr);gap:7px;padding:8px}.links-layout{grid-template-columns:minmax(165px,.85fr) minmax(195px,1.15fr);gap:6px;padding:6px}.player-summary>p{font-size:8px}.link-list a{padding:5px 4px;font-size:7px}.link-column>p{font-size:7px}.particle-stars{background-size:570px}.particle-bubbles{background-size:690px}.particle-glitch{background-size:760px}}
@media(max-width:720px){body{font-size:9px}.game{inset:6px;grid-template-rows:38px 40px minmax(0,1fr) 22px;border-width:3px}.titlebar{grid-template-columns:1fr auto}.window-dots{display:none}.titlebar h1{text-align:left;font-size:11px}.title-actions button:first-child{display:none}.toolbar{gap:3px}.toolbar .tool{font-size:6px}.toolbar .tool span{display:none}.workspace{grid-template-columns:42% 58%;gap:4px;padding:4px}.right-stack{grid-template-rows:minmax(0,1.5fr) minmax(140px,.75fr);gap:5px}.catalog{grid-template-columns:repeat(2,minmax(70px,1fr));grid-auto-rows:minmax(105px,1fr)}.links-layout{display:block;padding:5px}.player-summary{display:none}.link-column{height:100%}.preview-controls{grid-template-columns:1fr}.preview-controls button:not(#clear){display:none}.statusbar span:last-child{display:none}.site-ornaments{opacity:.72}}
@media(prefers-reduced-motion:reduce){.game,.particle-field,.titlebar h1,.asset-card.active{animation:none!important}}
