/* Love Nest - Room in a Card */
/* Scoped under .love-nest to avoid conflicts with main.css */

/* ========== TOKENS ========== */
.love-nest {
  --ln-pink: #FF2D78;
  --ln-cyan: #00E5FF;
  --ln-purple: #B24BF3;
  --ln-yellow: #FFE03D;
  --ln-green: #39FF14;
  --ln-bg: #0D0D1A;
  --ln-panel: #151528;
  --ln-card: #1A1A35;
  --ln-text: #E8E4F0;
  --ln-muted: #8B87A0;
  --ln-border: rgba(255,255,255,0.06);
  --ln-glow-pink: 0 0 20px rgba(255,45,120,0.4);
  --ln-glow-cyan: 0 0 20px rgba(0,229,255,0.4);
  --ln-glow-purple: 0 0 20px rgba(178,75,243,0.4);
  --ln-font: "Outfit", "DM Sans", sans-serif;
  --ln-radius: 18px;
  --ln-radius-sm: 10px;
  /* Hair color (dynamic) */
  --hair-main: #6B2D9E;
  --hair-light: #7B3DB0;
  --hair-dark: #4A1A6B;
  --hair-back: #5A2A7E;
}

.love-nest {
  font-family: var(--ln-font);
  color: var(--ln-text);
  background: var(--ln-bg);
  min-height: 80vh;
  max-width: 520px;
  margin: 0 auto;
  padding: 14px 14px 40px;
}

/* Dark background extends full width behind the nest */
.body-nest #main-content {
  background: #0D0D1A;
}

/* ========== NEST HEADER ========== */
.nest-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; margin-bottom: 14px;
  background: var(--ln-panel); border-radius: var(--ln-radius-sm);
  border: 1px solid var(--ln-border);
}

.nest-bar-left { display: flex; align-items: center; gap: 10px; }

.nest-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, var(--ln-pink), var(--ln-purple));
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: #fff; font-weight: 700;
  box-shadow: var(--ln-glow-pink);
  border: 2px solid rgba(255,45,120,0.3);
}

.nest-user-info { display: flex; flex-direction: column; line-height: 1.2; }
.nest-username { font-weight: 700; font-size: 14px; color: #fff; }
.nest-level {
  font-size: 11px; color: var(--ln-cyan);
  text-shadow: 0 0 8px rgba(0,229,255,0.3);
}

.nest-bar-right { display: flex; align-items: center; gap: 10px; }

.heart-balance {
  display: flex; align-items: center; gap: 5px;
  background: rgba(255,45,120,0.1);
  border: 1.5px solid rgba(255,45,120,0.25);
  border-radius: 20px; padding: 5px 14px;
  font-weight: 700; font-size: 14px;
  color: var(--ln-pink);
  text-shadow: 0 0 10px rgba(255,45,120,0.3);
}

.heart-balance-icon { font-size: 15px; animation: hbPulse 1.5s ease-in-out infinite; }
@keyframes hbPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.25)} }

/* ========== TITLE ========== */
.nest-title-row {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}

.nest-title {
  font-size: 20px; font-weight: 800;
  display: flex; align-items: center; gap: 8px;
  background: linear-gradient(90deg, var(--ln-pink), var(--ln-purple), var(--ln-cyan));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ========== THEME SWITCHER ========== */
.theme-switcher {
  display: flex; gap: 6px; margin-bottom: 14px; align-items: center;
  background: var(--ln-panel); padding: 8px 12px;
  border-radius: var(--ln-radius-sm); border: 1px solid var(--ln-border);
}

.theme-btn {
  flex: 1; padding: 8px 6px; border-radius: 10px;
  border: 2px solid rgba(255,255,255,0.06);
  background: var(--ln-card); font-family: var(--ln-font);
  font-size: 12px; font-weight: 700; cursor: pointer;
  transition: all 200ms ease; color: var(--ln-muted); text-align: center;
}
.theme-btn:hover { border-color: var(--ln-purple); color: var(--ln-purple); }
.theme-btn.theme-active {
  border-color: var(--ln-purple);
  background: rgba(178,75,243,0.15);
  color: var(--ln-purple);
  box-shadow: var(--ln-glow-purple);
}

.theme-btn-label { display: inline; }
.theme-btn-lock { font-size: 10px; margin-left: 3px; }
.theme-btn.theme-locked {
  opacity: 0.45; cursor: not-allowed;
}
.theme-btn.theme-locked:hover { border-color: rgba(255,255,255,0.06); color: var(--ln-muted); }

/* ========== SWITCHER ROW ========== */
.switcher-row {
  display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; align-items: center;
}

.switcher-group { display: flex; gap: 4px; }

.switcher-label {
  font-size: 10px; font-weight: 600; color: var(--ln-muted);
  text-transform: uppercase; letter-spacing: 1px;
  align-self: center; margin-right: 2px;
}

.sw-btn {
  padding: 5px 12px; border-radius: 20px;
  border: 2px solid rgba(255,255,255,0.08); background: var(--ln-panel);
  font-family: var(--ln-font); font-size: 12px; font-weight: 600;
  cursor: pointer; transition: all 150ms ease; color: var(--ln-muted);
}
.sw-btn:hover { border-color: var(--ln-pink); color: var(--ln-pink); }
.sw-btn.active {
  border-color: var(--ln-pink);
  background: rgba(255,45,120,0.1);
  color: var(--ln-pink);
  box-shadow: var(--ln-glow-pink);
}

.sw-btn.mood-active {
  border-color: var(--ln-cyan);
  background: rgba(0,229,255,0.08);
  color: var(--ln-cyan);
  box-shadow: var(--ln-glow-cyan);
}

.sw-divider {
  width: 1px; height: 24px; background: rgba(255,255,255,0.06);
  align-self: center; margin: 0 4px;
}

/* ========== ROOM FRAME ========== */
.room-frame {
  position: relative; border-radius: 22px; overflow: hidden;
  box-shadow:
    0 0 0 2px rgba(178,75,243,0.2),
    0 0 40px rgba(178,75,243,0.15),
    0 8px 32px rgba(0,0,0,0.4);
  transition: filter 1s ease, box-shadow 600ms ease;
}

.room-card {
  position: relative; width: 100%;
  aspect-ratio: 16 / 10; overflow: hidden;
}

/* ========== ROOM LAYERS ========== */
.room-wall {
  position: absolute; inset: 0; bottom: 36%;
  background: linear-gradient(180deg, #1E1E3A 0%, #252545 100%);
  transition: background 1s ease;
}

.room-wall::after {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(30deg, rgba(178,75,243,0.03) 12%, transparent 12.5%, transparent 87%, rgba(178,75,243,0.03) 87.5%),
    linear-gradient(150deg, rgba(178,75,243,0.03) 12%, transparent 12.5%, transparent 87%, rgba(178,75,243,0.03) 87.5%),
    linear-gradient(30deg, rgba(178,75,243,0.03) 12%, transparent 12.5%, transparent 87%, rgba(178,75,243,0.03) 87.5%),
    linear-gradient(150deg, rgba(178,75,243,0.03) 12%, transparent 12.5%, transparent 87%, rgba(178,75,243,0.03) 87.5%);
  background-size: 40px 70px;
  background-position: 0 0, 0 0, 20px 35px, 20px 35px;
}

.room-led-strip {
  position: absolute; left: 0; right: 0; top: 61%; height: 3px; z-index: 5;
  background: var(--ln-cyan);
  box-shadow: 0 0 8px rgba(0,229,255,0.6), 0 0 20px rgba(0,229,255,0.3), 0 2px 4px rgba(0,229,255,0.4);
  animation: ledPulse 4s ease-in-out infinite;
}
@keyframes ledPulse {
  0%,100% { opacity: 0.8; } 50% { opacity: 1; box-shadow: 0 0 12px rgba(0,229,255,0.8), 0 0 30px rgba(0,229,255,0.5); }
}

.room-floor {
  position: absolute; left: 0; right: 0; top: 62%; bottom: 0;
  background: linear-gradient(180deg, #1A1530 0%, #15122A 100%);
}
.room-floor::before {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0px, transparent 60px, rgba(255,255,255,0.015) 60px, rgba(255,255,255,0.015) 62px);
}
.room-floor::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,229,255,0.04), transparent 40%);
}

/* ========== WINDOW ========== */
.room-window {
  position: absolute; top: 4%; left: 50%; transform: translateX(-50%);
  width: 36%; aspect-ratio: 2.5 / 1.8; z-index: 3;
}
.window-outer {
  width: 100%; height: 100%;
  border: 3px solid #3A3A5C; border-radius: 6px;
  overflow: hidden; position: relative;
  box-shadow: inset 0 0 20px rgba(0,0,0,0.3), 0 0 15px rgba(178,75,243,0.1);
}
.window-sky {
  width: 100%; height: 100%;
  background: linear-gradient(180deg, #0A0A24 0%, #141440 40%, #1E1E55 100%);
  transition: background 1s ease; position: relative;
}
.city-silhouette { position: absolute; bottom: 0; left: 0; right: 0; height: 55%; }
.building { position: absolute; bottom: 0; background: #0A0A1E; }
.b1{left:2%;width:12%;height:65%} .b2{left:16%;width:8%;height:80%} .b3{left:26%;width:14%;height:50%}
.b4{left:42%;width:10%;height:90%} .b5{left:54%;width:16%;height:60%} .b6{left:72%;width:8%;height:75%}
.b7{left:82%;width:14%;height:55%}
.building::after {
  content:'';position:absolute;inset:8% 15%;
  background-image:radial-gradient(circle,rgba(255,230,100,0.6)1px,transparent 1px);background-size:6px 8px;
}
.w-star { position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:tw 2s ease-in-out infinite alternate; }
.ws1{top:8%;left:15%} .ws2{top:5%;left:45%;animation-delay:.5s} .ws3{top:12%;left:70%;animation-delay:1s}
.ws4{top:3%;left:85%;animation-delay:1.5s} .ws5{top:15%;left:30%;animation-delay:.7s}
@keyframes tw { 0%{opacity:.3;transform:scale(.8)} 100%{opacity:1;transform:scale(1.3)} }
.window-moon {
  position:absolute;top:6%;right:10%;width:15%;aspect-ratio:1;
  background:radial-gradient(circle at 40% 40%,#FFF8DC,#F5E6B8);border-radius:50%;
  box-shadow:0 0 15px rgba(255,248,220,0.4),0 0 40px rgba(255,248,220,0.15);
}
.window-neon-reflect {
  position:absolute;bottom:5%;left:15%;right:15%;height:3px;
  background:var(--ln-pink);filter:blur(3px);opacity:.4;
}
.window-cross {
  position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translateX(-50%);background:#3A3A5C;z-index:2;
}

/* ========== WALL DECOR ========== */
.neon-sign {
  position:absolute;top:10%;right:6%;z-index:4;
  font-size:clamp(10px,3vw,18px);font-weight:800;color:var(--ln-pink);
  text-shadow:0 0 5px var(--ln-pink),0 0 15px var(--ln-pink),0 0 30px rgba(255,45,120,0.5);
  animation:neonFlicker 4s ease-in-out infinite;letter-spacing:1px;
  font-family: var(--ln-font);
}
@keyframes neonFlicker { 0%,92%,94%,97%,100%{opacity:1} 93%{opacity:.4} 96%{opacity:.7} }

.wall-poster {
  position:absolute;top:8%;left:5%;z-index:4;width:14%;aspect-ratio:0.7;
  border-radius:3px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,0.4);
  cursor:pointer;transition:transform 200ms ease;
}
.wall-poster:hover { transform:scale(1.06) rotate(-1deg); }
.poster-inner {
  width:100%;height:100%;background:linear-gradient(135deg,#2A1A4E,#4A2080);position:relative;overflow:hidden;
}
.poster-star {
  position:absolute;width:60%;height:60%;top:10%;left:20%;
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  background:linear-gradient(135deg,var(--ln-pink),var(--ln-purple));
}
.poster-text {
  position:absolute;bottom:8%;left:0;right:0;text-align:center;font-size:5px;font-weight:700;
  color:var(--ln-cyan);letter-spacing:1px;text-shadow:0 0 4px var(--ln-cyan);
  font-family: var(--ln-font);
}

/* Rug */
.room-rug {
  position:absolute;bottom:3%;left:50%;transform:translateX(-50%);
  width:46%;height:25%;border-radius:50%;z-index:6;
  background:linear-gradient(135deg,rgba(178,75,243,0.15),rgba(0,229,255,0.1),rgba(255,45,120,0.12));
  box-shadow:0 0 30px rgba(178,75,243,0.1);opacity:.7;
}
.room-rug::before { content:'';position:absolute;inset:15%;border:1px solid rgba(0,229,255,0.15);border-radius:50%; }

/* ========== ANIME CHIBI CHARACTER ========== */
.character-wrap {
  position: absolute;
  bottom: 28%; left: 50%; transform: translateX(-50%);
  z-index: 10; width: 22%; aspect-ratio: 0.55 / 1;
  animation: chibiIdle 2.8s ease-in-out infinite;
}
@keyframes chibiIdle {
  0%,100% { transform: translateX(-50%) translateY(0); }
  35% { transform: translateX(-50%) translateY(-8px); }
}

.chibi-shadow {
  position:absolute;bottom:-6%;left:50%;transform:translateX(-50%);
  width:70%;height:10%;background:rgba(178,75,243,0.2);border-radius:50%;filter:blur(4px);
  animation:cShadow 2.8s ease-in-out infinite;
}
@keyframes cShadow { 0%,100%{transform:translateX(-50%) scaleX(1);opacity:.2} 35%{transform:translateX(-50%) scaleX(.8);opacity:.1} }

.chibi { position: relative; width: 100%; height: 100%; }

/* === HAIR BACK === */
.chibi-hair-back {
  position:absolute;top:2%;left:50%;transform:translateX(-50%);
  width:105%;height:52%;
  background:linear-gradient(180deg,var(--hair-dark),var(--hair-main));
  border-radius:55% 55% 40% 40%;z-index:1;
}

/* Long strands (female) */
.hair-strand-l,.hair-strand-r {
  position:absolute;top:35%;width:18%;height:55%;
  background:linear-gradient(180deg,var(--hair-back),var(--hair-light));z-index:1;
}
.hair-strand-l{left:-4%;border-radius:0 0 40% 60%}
.hair-strand-r{right:-4%;border-radius:0 0 60% 40%}

/* Male: hide long strands, shorter back */
.chibi[data-gender="male"] .hair-strand-l,
.chibi[data-gender="male"] .hair-strand-r { display: none; }
.chibi[data-gender="male"] .chibi-hair-back {
  height: 38%; border-radius: 50% 50% 35% 35%;
}

/* === HEAD === */
.chibi-head {
  position:absolute;top:8%;left:50%;transform:translateX(-50%);
  width:88%;aspect-ratio:1;
  background:linear-gradient(180deg,#FFE4D0,#FFD4B8);
  border-radius:50% 50% 45% 45%;z-index:2;
}

.chibi[data-gender="male"] .chibi-head {
  border-radius: 48% 48% 42% 42%;
}

/* Blush */
.chibi-blush-l,.chibi-blush-r {
  position:absolute;top:60%;width:16%;aspect-ratio:1.6;
  background:rgba(255,130,160,0.35);border-radius:50%;z-index:4;
}
.chibi-blush-l{left:10%} .chibi-blush-r{right:10%}

/* === BANGS === */
.chibi-bangs {
  position:absolute;top:4%;left:50%;transform:translateX(-50%);
  width:96%;height:30%;z-index:5;
}
.bang { position:absolute;bottom:0; }

/* Hairstyle: long (default female) */
.bang-1{left:2%;width:28%;height:100%;clip-path:polygon(0% 0%,100% 0%,85% 100%,10% 80%);background:linear-gradient(180deg,var(--hair-light),var(--hair-dark))}
.bang-2{left:22%;width:22%;height:110%;clip-path:polygon(15% 0%,100% 0%,70% 100%,0% 85%);background:linear-gradient(180deg,var(--hair-main),var(--hair-dark))}
.bang-3{left:38%;width:24%;height:105%;clip-path:polygon(10% 0%,90% 0%,100% 100%,0% 90%);background:linear-gradient(180deg,var(--hair-light),var(--hair-dark))}
.bang-4{right:22%;width:22%;height:108%;clip-path:polygon(0% 0%,85% 0%,100% 85%,30% 100%);background:linear-gradient(180deg,var(--hair-main),var(--hair-dark))}
.bang-5{right:2%;width:28%;height:100%;clip-path:polygon(0% 0%,100% 0%,90% 80%,15% 100%);background:linear-gradient(180deg,var(--hair-light),var(--hair-dark))}

.hair-highlight {
  position:absolute;top:8%;left:35%;width:20%;height:80%;
  background:linear-gradient(180deg,rgba(255,255,255,0.15),transparent);
  clip-path:polygon(20% 0%,80% 0%,60% 100%,40% 100%);z-index:6;
}

/* Hairstyle: spiky (male default) */
.chibi[data-hair="spiky"] .bang-1{left:0;width:25%;height:120%;clip-path:polygon(30% 0%,80% 0%,100% 100%,0% 70%)}
.chibi[data-hair="spiky"] .bang-2{left:18%;width:20%;height:130%;clip-path:polygon(20% 0%,90% 0%,60% 100%,0% 80%)}
.chibi[data-hair="spiky"] .bang-3{left:35%;width:22%;height:125%;clip-path:polygon(10% 0%,100% 0%,80% 100%,20% 90%)}
.chibi[data-hair="spiky"] .bang-4{right:18%;width:20%;height:128%;clip-path:polygon(0% 0%,80% 0%,100% 80%,10% 100%)}
.chibi[data-hair="spiky"] .bang-5{right:0;width:25%;height:115%;clip-path:polygon(0% 0%,70% 0%,100% 70%,20% 100%)}
.chibi[data-hair="spiky"] .chibi-bangs { height: 35%; top: 0%; }
.chibi[data-hair="spiky"] .chibi-hair-back { height: 40%; border-radius: 50% 50% 35% 35%; }
.chibi[data-hair="spiky"] .hair-strand-l,
.chibi[data-hair="spiky"] .hair-strand-r { display: none; }

/* Hairstyle: twintails */
.twintail-l, .twintail-r {
  position:absolute;top:30%;width:22%;height:65%;z-index:0;display:none;
  background:linear-gradient(180deg,var(--hair-main),var(--hair-light));
}
.twintail-l{left:-14%;border-radius:40% 30% 50% 60%;transform:rotate(-8deg)}
.twintail-r{right:-14%;border-radius:30% 40% 60% 50%;transform:rotate(8deg)}

.twintail-tie-l,.twintail-tie-r {
  position:absolute;top:28%;width:10%;height:8%;z-index:1;display:none;
  background:var(--ln-pink);border-radius:50%;
  box-shadow:0 0 6px rgba(255,45,120,0.4);
}
.twintail-tie-l{left:-2%} .twintail-tie-r{right:-2%}

.chibi[data-hair="twintails"] .twintail-l,
.chibi[data-hair="twintails"] .twintail-r,
.chibi[data-hair="twintails"] .twintail-tie-l,
.chibi[data-hair="twintails"] .twintail-tie-r { display: block; }
.chibi[data-hair="twintails"] .hair-strand-l,
.chibi[data-hair="twintails"] .hair-strand-r { display: none; }
.chibi[data-hair="twintails"] .bang-1{height:90%;clip-path:polygon(0% 0%,100% 0%,90% 100%,5% 85%)}
.chibi[data-hair="twintails"] .bang-5{height:90%;clip-path:polygon(0% 0%,100% 0%,95% 85%,10% 100%)}

/* Hairstyle: bob */
.chibi[data-hair="bob"] .hair-strand-l,
.chibi[data-hair="bob"] .hair-strand-r {
  display: block; height: 35%; top: 32%;
  border-radius: 0 0 50% 50%;
}
.chibi[data-hair="bob"] .chibi-hair-back { height: 42%; }
.chibi[data-hair="bob"] .bang-1{height:95%;clip-path:polygon(0% 0%,100% 0%,95% 100%,8% 90%)}
.chibi[data-hair="bob"] .bang-5{height:95%;clip-path:polygon(0% 0%,100% 0%,92% 90%,5% 100%)}

/* Hairstyle: ponytail */
.ponytail {
  position:absolute;top:15%;right:-25%;width:30%;height:60%;z-index:0;display:none;
  background:linear-gradient(180deg,var(--hair-main),var(--hair-light));
  border-radius:30% 60% 50% 30%;transform:rotate(15deg);
}
.ponytail-tie {
  position:absolute;top:16%;right:-8%;width:10%;height:7%;z-index:1;display:none;
  background:var(--ln-cyan);border-radius:50%;box-shadow:0 0 6px rgba(0,229,255,0.4);
}
.chibi[data-hair="ponytail"] .ponytail,
.chibi[data-hair="ponytail"] .ponytail-tie { display: block; }
.chibi[data-hair="ponytail"] .hair-strand-l,
.chibi[data-hair="ponytail"] .hair-strand-r { display: none; }
.chibi[data-hair="ponytail"] .chibi-hair-back { height: 42%; }

/* Hairstyle: undercut (male) */
.chibi[data-hair="undercut"] .bang-1{display:none}
.chibi[data-hair="undercut"] .bang-5{display:none}
.chibi[data-hair="undercut"] .bang-2{left:10%;width:30%;height:120%;clip-path:polygon(0% 0%,100% 0%,80% 100%,10% 90%)}
.chibi[data-hair="undercut"] .bang-3{left:30%;width:35%;height:115%;clip-path:polygon(5% 0%,95% 0%,100% 100%,0% 95%)}
.chibi[data-hair="undercut"] .bang-4{right:10%;width:25%;height:105%;clip-path:polygon(10% 0%,100% 0%,90% 100%,0% 80%)}
.chibi[data-hair="undercut"] .chibi-bangs { height: 28%; top: 2%; }
.chibi[data-hair="undercut"] .chibi-hair-back {
  height: 32%; width: 95%;
  background: linear-gradient(180deg, var(--hair-dark), rgba(0,0,0,0.3));
  border-radius: 50% 50% 40% 40%;
}
.chibi[data-hair="undercut"] .hair-strand-l,
.chibi[data-hair="undercut"] .hair-strand-r { display: none; }

/* Hairstyle: messy */
.chibi[data-hair="messy"] .bang-1{left:0;width:26%;height:115%;clip-path:polygon(0% 10%,80% 0%,100% 100%,10% 80%)}
.chibi[data-hair="messy"] .bang-2{left:18%;width:22%;height:120%;clip-path:polygon(15% 0%,100% 10%,70% 100%,0% 85%)}
.chibi[data-hair="messy"] .bang-3{left:36%;width:24%;height:110%;clip-path:polygon(10% 5%,90% 0%,100% 95%,0% 100%)}
.chibi[data-hair="messy"] .bang-4{right:18%;width:22%;height:118%;clip-path:polygon(0% 0%,85% 10%,100% 85%,20% 100%)}
.chibi[data-hair="messy"] .bang-5{right:0;width:26%;height:112%;clip-path:polygon(0% 5%,100% 0%,90% 80%,15% 100%)}
.chibi[data-hair="messy"] .chibi-bangs { height: 34%; top: 1%; }
.chibi[data-hair="messy"] .chibi-hair-back { height: 46%; border-radius: 55% 55% 35% 35%; }

/* Hairstyle: pixie */
.chibi[data-hair="pixie"] .bang-1{display:none}
.chibi[data-hair="pixie"] .bang-5{display:none}
.chibi[data-hair="pixie"] .bang-2{left:8%;width:28%;height:100%;clip-path:polygon(10% 0%,100% 0%,85% 100%,0% 80%)}
.chibi[data-hair="pixie"] .bang-3{left:30%;width:30%;height:95%;clip-path:polygon(5% 0%,95% 0%,100% 100%,0% 95%)}
.chibi[data-hair="pixie"] .bang-4{right:12%;width:24%;height:90%;clip-path:polygon(10% 0%,100% 0%,80% 90%,0% 100%)}
.chibi[data-hair="pixie"] .chibi-bangs { height: 26%; top: 3%; }
.chibi[data-hair="pixie"] .chibi-hair-back { height: 30%; border-radius: 50% 50% 40% 40%; }
.chibi[data-hair="pixie"] .hair-strand-l,
.chibi[data-hair="pixie"] .hair-strand-r { display: none; }

/* Hairstyle: wavy */
.chibi[data-hair="wavy"] .chibi-hair-back { height: 56%; border-radius: 55% 55% 45% 45%; }
.chibi[data-hair="wavy"] .hair-strand-l,
.chibi[data-hair="wavy"] .hair-strand-r {
  display: block; height: 60%; top: 32%;
  background: repeating-linear-gradient(180deg,var(--hair-main) 0px,var(--hair-light) 8px,var(--hair-back) 16px);
}

/* Hairstyle: braid */
.chibi[data-hair="braid"] .hair-strand-l { display: none; }
.chibi[data-hair="braid"] .hair-strand-r {
  display: block; height: 70%; top: 30%; width: 14%;
  background: repeating-linear-gradient(180deg,var(--hair-main) 0px,var(--hair-dark) 6px,var(--hair-light) 12px);
  border-radius: 0 0 50% 50%;
}
.chibi[data-hair="braid"] .chibi-hair-back { height: 44%; }

/* Hairstyle: mohawk */
.chibi[data-hair="mohawk"] .bang-1{display:none}
.chibi[data-hair="mohawk"] .bang-5{display:none}
.chibi[data-hair="mohawk"] .bang-2{display:none}
.chibi[data-hair="mohawk"] .bang-4{display:none}
.chibi[data-hair="mohawk"] .bang-3{left:35%;width:30%;height:140%;clip-path:polygon(20% 0%,80% 0%,100% 100%,0% 100%)}
.chibi[data-hair="mohawk"] .chibi-bangs { height: 38%; top: -4%; }
.chibi[data-hair="mohawk"] .chibi-hair-back {
  height: 28%; width: 40%; border-radius: 40% 40% 0 0;
}
.chibi[data-hair="mohawk"] .hair-strand-l,
.chibi[data-hair="mohawk"] .hair-strand-r { display: none; }

/* Hairstyle: curly */
.chibi[data-hair="curly"] .chibi-hair-back {
  height: 54%; width: 115%; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%,var(--hair-light),var(--hair-main) 60%,var(--hair-dark));
}
.chibi[data-hair="curly"] .hair-strand-l,
.chibi[data-hair="curly"] .hair-strand-r { display: none; }
.chibi[data-hair="curly"] .chibi-bangs { height: 32%; }
.chibi[data-hair="curly"] .bang-1{left:0;width:24%;height:105%;border-radius:50%;clip-path:none;background:var(--hair-main)}
.chibi[data-hair="curly"] .bang-2{left:18%;width:20%;height:110%;border-radius:50%;clip-path:none;background:var(--hair-light)}
.chibi[data-hair="curly"] .bang-3{left:35%;width:22%;height:108%;border-radius:50%;clip-path:none;background:var(--hair-main)}
.chibi[data-hair="curly"] .bang-4{right:18%;width:20%;height:106%;border-radius:50%;clip-path:none;background:var(--hair-light)}
.chibi[data-hair="curly"] .bang-5{right:0;width:24%;height:104%;border-radius:50%;clip-path:none;background:var(--hair-main)}

/* Hairstyle: hime (princess cut with sidelocks) */
.chibi[data-hair="hime"] .chibi-hair-back { height: 50%; }
.chibi[data-hair="hime"] .hair-strand-l,
.chibi[data-hair="hime"] .hair-strand-r {
  display: block; height: 55%; top: 30%; width: 16%;
  border-radius: 0 0 4px 4px;
}
.chibi[data-hair="hime"] .bang-1{left:0;width:26%;height:100%;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}
.chibi[data-hair="hime"] .bang-5{right:0;width:26%;height:100%;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}

/* Hairstyle: odango (double buns) */
.chibi[data-hair="odango"] .chibi-hair-back { height: 44%; }
.chibi[data-hair="odango"] .hair-strand-l,
.chibi[data-hair="odango"] .hair-strand-r { display: none; }
.chibi[data-hair="odango"] .chibi-bangs::before,
.chibi[data-hair="odango"] .chibi-bangs::after {
  content: ''; position: absolute; top: -30%; width: 24%; height: 28%;
  background: var(--hair-main); border-radius: 50%; z-index: 6;
}
.chibi[data-hair="odango"] .chibi-bangs::before { left: 6%; }
.chibi[data-hair="odango"] .chibi-bangs::after { right: 6%; }

/* Hairstyle: drill curls */
.chibi[data-hair="drill"] .chibi-hair-back { height: 46%; }
.chibi[data-hair="drill"] .hair-strand-l,
.chibi[data-hair="drill"] .hair-strand-r {
  display: block; height: 65%; top: 32%; width: 20%;
  background: repeating-linear-gradient(180deg,var(--hair-main) 0px,var(--hair-light) 5px,var(--hair-dark) 10px);
  border-radius: 0 0 40% 40%;
}

/* Hairstyle: wolf cut */
.chibi[data-hair="wolf"] .chibi-hair-back { height: 50%; border-radius: 55% 55% 30% 30%; }
.chibi[data-hair="wolf"] .hair-strand-l,
.chibi[data-hair="wolf"] .hair-strand-r {
  display: block; height: 50%; top: 34%;
}
.chibi[data-hair="wolf"] .chibi-bangs { height: 34%; top: 1%; }
.chibi[data-hair="wolf"] .bang-1{left:0;width:28%;height:120%;clip-path:polygon(0% 0%,100% 0%,90% 100%,5% 70%)}
.chibi[data-hair="wolf"] .bang-2{left:20%;width:22%;height:115%;clip-path:polygon(10% 0%,100% 5%,70% 100%,0% 80%)}
.chibi[data-hair="wolf"] .bang-3{left:38%;width:24%;height:110%;clip-path:polygon(5% 0%,95% 0%,100% 100%,0% 95%)}
.chibi[data-hair="wolf"] .bang-4{right:20%;width:22%;height:112%;clip-path:polygon(0% 5%,90% 0%,100% 80%,30% 100%)}
.chibi[data-hair="wolf"] .bang-5{right:0;width:28%;height:118%;clip-path:polygon(0% 0%,100% 0%,95% 70%,10% 100%)}

/* === CAT EARS === */
.neko-ear { position:absolute;top:-8%;width:22%;height:28%;z-index:3; }
.neko-ear-left{left:8%;transform-origin:bottom center;animation:earTwitchL 5s ease-in-out infinite}
.neko-ear-right{right:8%;transform-origin:bottom center;animation:earTwitchR 5s ease-in-out infinite}
.ear-outer { width:100%;height:100%;clip-path:polygon(50% 0%,0% 100%,100% 100%); }
.neko-ear-left .ear-outer{background:linear-gradient(135deg,var(--hair-main),var(--hair-dark))}
.neko-ear-right .ear-outer{background:linear-gradient(225deg,var(--hair-main),var(--hair-dark))}
.ear-inner {
  position:absolute;top:30%;left:50%;transform:translateX(-50%);width:55%;height:55%;
  clip-path:polygon(50% 0%,0% 100%,100% 100%);background:linear-gradient(180deg,#FFB0C8,#FF8FAF);
}
@keyframes earTwitchL { 0%,85%,100%{transform:rotate(0)} 88%{transform:rotate(-8deg)} 91%{transform:rotate(0)} }
@keyframes earTwitchR { 0%,85%,100%{transform:rotate(0)} 88%{transform:rotate(8deg)} 91%{transform:rotate(0)} }

/* === ANIME EYES === */
.chibi-eyes {
  position:absolute;top:42%;left:50%;transform:translateX(-50%);
  display:flex;gap:22%;width:70%;justify-content:center;z-index:6;
}
.anime-eye {
  width:30%;aspect-ratio:0.78;position:relative;
  border-radius:45% 45% 50% 50%;overflow:hidden;background:#1A0A2E;
}
.chibi[data-gender="male"] .anime-eye { aspect-ratio: 0.9; border-radius: 40% 40% 45% 45%; }

.eye-iris {
  position:absolute;inset:8%;border-radius:45% 45% 50% 50%;
  background:radial-gradient(ellipse at 50% 40%,#FF69B4 0%,#E91E8C 30%,#B0156B 60%,#6B0D40 100%);
  overflow:hidden;
}
.eye-pupil {
  position:absolute;top:30%;left:50%;transform:translateX(-50%);width:40%;aspect-ratio:.9;
  background:#0A0015;border-radius:50%;
}
.eye-shine-1{position:absolute;top:10%;right:12%;width:32%;aspect-ratio:.85;background:#fff;border-radius:50%;z-index:2;animation:eyeSparkle 3s ease-in-out infinite}
.eye-shine-2{position:absolute;bottom:20%;left:15%;width:16%;aspect-ratio:1;background:rgba(255,255,255,0.7);border-radius:50%;z-index:2}
.eye-shine-3{position:absolute;top:35%;left:25%;width:10%;aspect-ratio:1;background:rgba(0,229,255,0.5);border-radius:50%;z-index:2}
@keyframes eyeSparkle { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }
.eye-lash{position:absolute;top:-2px;left:-3%;right:-3%;height:18%;background:#1A0A2E;border-radius:0 0 50% 50%;z-index:3}

.chibi[data-gender="male"] .eye-lash { height: 10%; }

/* Nose + mouth */
.chibi-nose{position:absolute;top:63%;left:50%;transform:translateX(-50%);width:4%;height:3%;background:#FFBCA0;border-radius:50%;z-index:6}
.chibi-mouth{position:absolute;top:68%;left:50%;transform:translateX(-50%);width:14%;height:7%;z-index:6}
.mouth-shape{width:100%;height:100%;border-bottom:2.5px solid #E88B70;border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-radius:0 0 50% 50%}
.mouth-fang{position:absolute;top:2px;right:15%;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:5px solid #fff;z-index:7}

/* === BODY === */
.chibi-body {
  position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:70%;height:40%;z-index:2;
}
.body-outfit {
  position:absolute;inset:0;
  background:linear-gradient(180deg,#2A1A4E,#1E1040);
  border-radius:35% 35% 25% 25%;overflow:hidden;
}
.chibi[data-gender="male"] .chibi-body { width: 76%; }
.chibi[data-gender="male"] .body-outfit { border-radius: 30% 30% 25% 25%; }

.outfit-stripe {
  position:absolute;top:20%;left:50%;transform:translateX(-50%);width:30%;height:60%;
  background:linear-gradient(180deg,var(--ln-cyan) 0%,var(--ln-cyan) 3%,transparent 3%,transparent 97%,var(--ln-cyan) 97%,var(--ln-cyan) 100%);opacity:.4;
}
.outfit-collar {
  position:absolute;top:-2px;left:50%;transform:translateX(-50%);width:45%;height:15%;
  border-bottom:3px solid var(--ln-cyan);border-radius:0 0 50% 50%;opacity:.5;
}
.outfit-heart {
  position:absolute;top:30%;left:50%;transform:translateX(-50%);
  font-size:clamp(8px,2vw,14px);filter:drop-shadow(0 0 4px rgba(255,45,120,0.5));
}
.chibi-arm {
  position:absolute;top:25%;width:20%;height:35%;
  background:linear-gradient(180deg,#FFE4D0,#FFD4B8);z-index:1;
}
.chibi-arm-l{left:-10%;border-radius:50% 40% 50% 50%;transform:rotate(15deg)}
.chibi-arm-r{right:-10%;border-radius:40% 50% 50% 50%;transform:rotate(-15deg)}
.chibi-legs {
  position:absolute;bottom:-2%;left:50%;transform:translateX(-50%);
  display:flex;gap:8%;width:55%;justify-content:center;z-index:3;
}
.chibi-leg{width:35%;aspect-ratio:.8;background:#1E1040;border-radius:30% 30% 50% 50%;position:relative}
.chibi-shoe{position:absolute;bottom:-6%;left:50%;transform:translateX(-50%);width:110%;height:40%;background:var(--ln-pink);border-radius:50%;box-shadow:0 0 6px rgba(255,45,120,0.3)}

/* Tail */
.chibi-tail {
  position:absolute;bottom:18%;right:-20%;width:45%;height:35%;
  border:4px solid var(--hair-main);border-color:var(--hair-main) var(--hair-main) transparent transparent;
  border-radius:0 70% 0 0;z-index:0;transform-origin:bottom left;animation:tailWag 3s ease-in-out infinite;
}
@keyframes tailWag { 0%,100%{transform:rotate(-5deg)} 50%{transform:rotate(12deg)} }
.tail-tip {
  position:absolute;top:-4px;right:-4px;width:10px;height:10px;
  background:var(--ln-purple);border-radius:50%;box-shadow:0 0 8px var(--ln-purple);
}

/* Particles + ZZZ */
.char-particles{position:absolute;inset:-40% -60%;pointer-events:none;z-index:11}
.char-particle{position:absolute;font-size:14px;opacity:0}
@keyframes pFloat { 0%{opacity:0;transform:translateY(0) scale(.5)} 15%{opacity:1} 100%{opacity:0;transform:translateY(-50px) scale(.3) rotate(20deg)} }
.zzz-wrap{position:absolute;top:-10%;right:-40%;z-index:12;opacity:0;transition:opacity 800ms ease}
.zzz{position:absolute;font-weight:800;color:rgba(0,229,255,0.6);text-shadow:0 0 6px rgba(0,229,255,0.3);animation:zFloat 3s ease-in-out infinite;font-family:var(--ln-font)}
.zzz:nth-child(1){font-size:10px} .zzz:nth-child(2){font-size:15px;left:12px;top:-14px;animation-delay:1s} .zzz:nth-child(3){font-size:20px;left:26px;top:-32px;animation-delay:2s}
@keyframes zFloat { 0%{opacity:0;transform:translateY(0)} 50%{opacity:.8;transform:translateY(-8px) rotate(8deg)} 100%{opacity:0;transform:translateY(-18px)} }

/* ========== FURNITURE ========== */
.item{position:absolute;z-index:7;cursor:pointer;transition:transform 200ms ease;filter:drop-shadow(0 3px 8px rgba(0,0,0,0.3))}
.item:hover{transform:scale(1.06)}

.item-monitor{top:16%;right:4%;width:18%;aspect-ratio:.9}
.monitor{position:relative;width:100%;height:100%}
.monitor-screen{position:absolute;top:0;left:5%;right:5%;height:70%;background:#0D0D2A;border:3px solid #3A3A5C;border-radius:4px;overflow:hidden}
.screen-content{width:100%;height:100%;background:linear-gradient(135deg,#1A0A3A,#2D1B69);position:relative}
.screen-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(12px,3vw,20px);animation:screenPulse 2s ease-in-out infinite}
@keyframes screenPulse { 0%,100%{transform:translate(-50%,-50%) scale(1)} 50%{transform:translate(-50%,-50%) scale(1.15)} }
.screen-scanline{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,0.08) 2px,rgba(0,0,0,0.08) 4px)}
.monitor-rgb{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ln-pink),var(--ln-purple),var(--ln-cyan),var(--ln-green),var(--ln-pink));background-size:200% 100%;animation:rgbSlide 3s linear infinite}
@keyframes rgbSlide { 0%{background-position:0% 0%} 100%{background-position:200% 0%} }
.monitor-stand{position:absolute;bottom:10%;left:50%;transform:translateX(-50%);width:12%;height:18%;background:#3A3A5C}
.monitor-base{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);width:50%;height:6%;background:#3A3A5C;border-radius:2px}

.item-plant{bottom:2%;left:4%;width:10%;aspect-ratio:.6;z-index:8}
.plant{position:relative;width:100%;height:100%}
.plant-pot{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:65%;height:32%;background:linear-gradient(180deg,#3A2060,#2A1545);border-radius:4px 4px 30% 30%;border:1px solid rgba(178,75,243,0.2)}
.plant-pot-rim{position:absolute;bottom:30%;left:50%;transform:translateX(-50%);width:75%;height:7%;background:#4A2880;border-radius:3px}
.plant-leaf{position:absolute;width:32%;height:38%;background:#00C853;border-radius:0 80% 0 80%;transform-origin:bottom center;box-shadow:0 0 6px rgba(57,255,20,0.2)}
.plant-leaf::after{content:'';position:absolute;width:100%;height:100%;background:#00E676;border-radius:0 80% 0 80%;transform:scaleX(-.8) rotate(5deg)}
.pl-1{bottom:38%;left:18%;transform:rotate(-30deg);animation:leafSway 4s ease-in-out infinite;--r:-30deg}
.pl-2{bottom:44%;left:42%;transform:rotate(5deg);animation:leafSway 4s ease-in-out infinite .5s;--r:5deg}
.pl-3{bottom:36%;right:12%;transform:rotate(25deg);animation:leafSway 4s ease-in-out infinite 1s;--r:25deg}
@keyframes leafSway { 0%,100%{transform:rotate(var(--r,-30deg))} 50%{transform:rotate(calc(var(--r,-30deg) + 6deg))} }

.item-lamp{bottom:2%;right:5%;width:6%;aspect-ratio:.15;z-index:8}
.nlamp{position:relative;width:100%;height:100%}
.nlamp-tube{position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:50%;background:var(--ln-purple);border-radius:20px;box-shadow:0 0 10px var(--ln-purple),0 0 25px rgba(178,75,243,0.4)}
.nlamp-pole{position:absolute;top:48%;left:50%;transform:translateX(-50%);width:20%;height:42%;background:#3A3A5C;border-radius:2px}
.nlamp-base{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:6%;background:#3A3A5C;border-radius:3px}
.nlamp-glow{position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:400%;aspect-ratio:1;background:radial-gradient(circle,rgba(178,75,243,0.12),transparent 60%);pointer-events:none}

/* ========== DYNAMIC ROOM ITEMS ========== */
.room-items-dynamic{position:absolute;inset:0;pointer-events:none;z-index:6}
.room-anim-overlay{position:absolute;inset:0;pointer-events:none;z-index:11;overflow:hidden}
.room-placed{position:absolute;display:flex;align-items:center;justify-content:center}
.room-placed .store-preview{width:48px;height:48px}

/* ========== ROOM ANIMATION PARTICLES ========== */
.ra-heart{position:absolute;font-size:12px;animation:raFloat 4s ease-in-out infinite;opacity:0}
.ra-sparkle{position:absolute;width:4px;height:4px;background:#FFD700;border-radius:50%;animation:raFloat 3s ease-in-out infinite;opacity:0;box-shadow:0 0 6px #FFD700}
.ra-firefly{position:absolute;width:3px;height:3px;background:#FBBF24;border-radius:50%;animation:raFirefly 6s ease-in-out infinite;opacity:0;box-shadow:0 0 8px #FBBF24}
.ra-snowflake{position:absolute;font-size:10px;animation:raFall 5s linear infinite;opacity:0}
.ra-bubble{position:absolute;width:8px;height:8px;border:1px solid rgba(0,229,255,0.4);border-radius:50%;animation:raFloat 5s ease-in-out infinite;opacity:0}
.ra-leaf{position:absolute;font-size:11px;animation:raLeaf 6s ease-in-out infinite;opacity:0}
.ra-confetti{position:absolute;width:4px;height:8px;border-radius:1px;animation:raFall 3s linear infinite;opacity:0}
.ra-butterfly{position:absolute;font-size:14px;animation:raFirefly 8s ease-in-out infinite;opacity:0}
.ra-raindrop{position:absolute;width:1.5px;height:12px;background:linear-gradient(to bottom,transparent,rgba(0,229,255,0.4));animation:raRain 0.8s linear infinite;opacity:0}
.ra-petal{position:absolute;width:6px;height:6px;background:#FFB7C5;border-radius:50% 0;animation:raLeaf 5s ease-in-out infinite;opacity:0}
.ra-bolt{position:absolute;font-size:18px;animation:raFlash 3s ease-in-out infinite;opacity:0}
.ra-galaxy{position:absolute;width:3px;height:3px;border-radius:50%;animation:raOrbit 8s linear infinite;opacity:0}
.ra-ember{position:absolute;width:4px;height:4px;background:#EF4444;border-radius:50%;animation:raFloat 3s ease-in-out infinite;opacity:0;box-shadow:0 0 6px #EF4444,0 0 12px #F59E0B}
.ra-aurora{position:absolute;left:0;width:100%;height:30%;background:linear-gradient(90deg,rgba(16,185,129,0.15),rgba(99,102,241,0.15),rgba(16,185,129,0.15));animation:raAurora 6s ease-in-out infinite;opacity:0;filter:blur(8px)}

@keyframes raFloat{0%{transform:translateY(0);opacity:0}10%{opacity:.8}90%{opacity:.8}100%{transform:translateY(-120px);opacity:0}}
@keyframes raFall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.5}100%{transform:translateY(300px) rotate(360deg);opacity:0}}
@keyframes raFirefly{0%{transform:translate(0,0);opacity:0}15%{opacity:.7}50%{transform:translate(30px,-40px);opacity:.9}85%{opacity:.5}100%{transform:translate(-20px,10px);opacity:0}}
@keyframes raLeaf{0%{transform:translate(0,-10px) rotate(0);opacity:0}10%{opacity:.7}50%{transform:translate(20px,60px) rotate(180deg);opacity:.8}100%{transform:translate(-10px,160px) rotate(360deg);opacity:0}}
@keyframes raRain{0%{transform:translateY(-15px);opacity:.6}100%{transform:translateY(300px);opacity:0}}
@keyframes raFlash{0%,85%,100%{opacity:0;transform:scale(1)}88%{opacity:1;transform:scale(1.4)}92%{opacity:0;transform:scale(1)}}
@keyframes raOrbit{0%{transform:rotate(0) translateX(30px);opacity:0}10%{opacity:.6}90%{opacity:.6}100%{transform:rotate(360deg) translateX(30px);opacity:0}}
@keyframes raAurora{0%,100%{transform:translateX(-20%);opacity:0}30%{opacity:.4}70%{opacity:.4}100%{transform:translateX(20%);opacity:0}}

/* Animation section */
.anim-section{margin-top:16px}

/* ========== OVERLAYS ========== */
.rain-overlay{position:absolute;inset:0;z-index:15;pointer-events:none;opacity:0;transition:opacity 1s ease;overflow:hidden}
.raindrop{position:absolute;width:1.5px;background:linear-gradient(to bottom,transparent,rgba(0,229,255,0.3));animation:rainDrop linear infinite}
@keyframes rainDrop { 0%{transform:translateY(-20px);opacity:.8} 100%{transform:translateY(500px);opacity:0} }
.dust-overlay{position:absolute;inset:0;z-index:14;pointer-events:none;opacity:0;transition:opacity 1s ease}
.dust-p{position:absolute;width:2px;height:2px;background:rgba(178,75,243,0.4);border-radius:50%;animation:dustF 10s ease-in-out infinite}
@keyframes dustF { 0%,100%{transform:translate(0,0);opacity:.2} 25%{transform:translate(8px,-12px);opacity:.5} 75%{transform:translate(-6px,-20px);opacity:.3} }
.glitch-tl,.glitch-tr{position:absolute;top:0;z-index:13;width:60px;height:60px;opacity:0;transition:opacity 1s ease}
.glitch-tl{left:0} .glitch-tr{right:0;transform:scaleX(-1)}
.glitch-line{position:absolute;top:0;left:0;height:1px;transform-origin:top left}
.gl-1{width:45px;transform:rotate(0);background:rgba(0,229,255,0.2)}
.gl-2{width:48px;transform:rotate(22deg);background:rgba(255,45,120,0.15)}
.gl-3{width:55px;transform:rotate(45deg);background:rgba(178,75,243,0.2)}
.gl-4{width:48px;transform:rotate(67deg);background:rgba(0,229,255,0.15)}
.gl-5{width:45px;transform:rotate(90deg);background:rgba(255,45,120,0.2)}
.sparkle-deco{position:absolute;bottom:40%;left:3%;z-index:6;font-size:14px;display:flex;gap:4px;opacity:0;transition:opacity 800ms ease}
.sp{animation:spSpin 2s ease-in-out infinite;display:inline-block}
.sp:nth-child(2){animation-delay:.3s} .sp:nth-child(3){animation-delay:.6s}
@keyframes spSpin { 0%,100%{transform:rotate(0) scale(1)} 50%{transform:rotate(180deg) scale(1.2)} }
.notes-deco{position:absolute;top:30%;left:16%;z-index:12;opacity:0;transition:opacity 800ms ease}
.note-f{position:absolute;font-size:16px;animation:nFloat 4s ease-in-out infinite;opacity:.7;filter:drop-shadow(0 0 4px rgba(0,229,255,0.5))}
.note-f:nth-child(2){left:18px;top:-8px;animation-delay:1.3s}
@keyframes nFloat { 0%{opacity:0;transform:translateY(0)} 40%{opacity:.7} 100%{opacity:0;transform:translateY(-25px) rotate(12deg)} }

/* ========== MOOD OVERRIDES ========== */
.room-card[data-mood="happy"]{filter:saturate(1.1) brightness(1.05)}
.room-card[data-mood="happy"] .sparkle-deco{opacity:1}
.room-card[data-mood="happy"] .room-led-strip{background:var(--ln-pink);box-shadow:0 0 8px rgba(255,45,120,0.6),0 0 20px rgba(255,45,120,0.3)}
.room-card[data-mood="happy"] .character-wrap{animation:chibiHappy 1.5s ease-in-out infinite}
.room-card[data-mood="happy"] .char-particle{animation:pFloat 3.5s ease-out infinite}
.room-card[data-mood="happy"] .char-particle:nth-child(1){left:10%;top:20%}
.room-card[data-mood="happy"] .char-particle:nth-child(2){left:75%;top:15%;animation-delay:1.2s}
.room-card[data-mood="happy"] .char-particle:nth-child(3){left:45%;top:5%;animation-delay:2.4s}
@keyframes chibiHappy { 0%,100%{transform:translateX(-50%) translateY(0) rotate(0)} 25%{transform:translateX(-50%) translateY(-12px) rotate(-3deg)} 75%{transform:translateX(-50%) translateY(-10px) rotate(3deg)} }
.room-card[data-mood="happy"] .anime-eye{background:none;border-radius:0;overflow:visible}
.room-card[data-mood="happy"] .eye-iris,.room-card[data-mood="happy"] .eye-pupil,
.room-card[data-mood="happy"] .eye-shine-1,.room-card[data-mood="happy"] .eye-shine-2,
.room-card[data-mood="happy"] .eye-shine-3,.room-card[data-mood="happy"] .eye-lash{display:none}
.room-card[data-mood="happy"] .anime-eye::before{content:'';position:absolute;top:20%;left:5%;right:5%;height:50%;border-top:3px solid #1A0A2E;border-radius:50% 50% 0 0}

.room-card[data-mood="chill"] .notes-deco{opacity:1}
.room-card[data-mood="chill"] .room-led-strip{background:var(--ln-cyan);animation:ledPulseSlow 6s ease-in-out infinite}
@keyframes ledPulseSlow { 0%,100%{opacity:.5} 50%{opacity:.8} }
.room-card[data-mood="chill"] .anime-eye{height:40%!important;border-radius:50%!important}
.room-card[data-mood="chill"] .eye-lash{height:30%}
.room-card[data-mood="chill"] .character-wrap{animation:chibiChill 4s ease-in-out infinite}
@keyframes chibiChill { 0%,100%{transform:translateX(-50%) rotate(0)} 50%{transform:translateX(-50%) rotate(2deg) translateY(-2px)} }

.room-card[data-mood="sad"]{filter:saturate(.3) brightness(.7);box-shadow:0 0 0 2px rgba(100,100,140,0.2),0 8px 32px rgba(0,0,0,0.5)}
.room-card[data-mood="sad"] .room-wall{background:linear-gradient(180deg,#151525,#1A1A30)}
.room-card[data-mood="sad"] .rain-overlay{opacity:1}
.room-card[data-mood="sad"] .room-led-strip{background:#4466AA;box-shadow:0 0 8px rgba(68,102,170,0.4);animation:none;opacity:.4}
.room-card[data-mood="sad"] .neon-sign{opacity:.3;animation:none}
.room-card[data-mood="sad"] .anime-eye{border-radius:30% 30% 50% 50%!important}
.room-card[data-mood="sad"] .eye-shine-1{opacity:.4}
.room-card[data-mood="sad"] .eye-shine-3{display:none}
.room-card[data-mood="sad"] .mouth-shape{border-bottom:none;border-top:2.5px solid #E88B70;border-radius:50% 50% 0 0}
.room-card[data-mood="sad"] .mouth-fang{display:none}
.room-card[data-mood="sad"] .chibi-tail{animation:tailSad 6s ease-in-out infinite}
@keyframes tailSad { 0%,100%{transform:rotate(-10deg)} 50%{transform:rotate(-5deg)} }

.room-card[data-mood="sleep"]{filter:saturate(.15) brightness(.4);box-shadow:0 0 0 2px rgba(50,50,80,0.2),0 8px 32px rgba(0,0,0,0.5)}
.room-card[data-mood="sleep"] .room-wall{background:linear-gradient(180deg,#0D0D18,#12122A)}
.room-card[data-mood="sleep"] .room-led-strip{background:rgba(178,75,243,0.3);box-shadow:0 0 4px rgba(178,75,243,0.2);animation:none;opacity:.3}
.room-card[data-mood="sleep"] .neon-sign{opacity:.15;animation:none}
.room-card[data-mood="sleep"] .nlamp-tube{opacity:.3;box-shadow:none}
.room-card[data-mood="sleep"] .dust-overlay{opacity:1}
.room-card[data-mood="sleep"] .glitch-tl,.room-card[data-mood="sleep"] .glitch-tr{opacity:1}
.room-card[data-mood="sleep"] .zzz-wrap{opacity:1}
.room-card[data-mood="sleep"] .anime-eye{background:none;border-radius:0;overflow:visible;height:auto!important}
.room-card[data-mood="sleep"] .eye-iris,.room-card[data-mood="sleep"] .eye-pupil,
.room-card[data-mood="sleep"] .eye-shine-1,.room-card[data-mood="sleep"] .eye-shine-2,
.room-card[data-mood="sleep"] .eye-shine-3,.room-card[data-mood="sleep"] .eye-lash{display:none}
.room-card[data-mood="sleep"] .anime-eye::before{content:'';position:absolute;top:40%;left:5%;right:5%;height:0;border-top:2.5px solid #1A0A2E}
.room-card[data-mood="sleep"] .character-wrap{animation:chibiSleep 5s ease-in-out infinite}
@keyframes chibiSleep { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(3px)} }
.room-card[data-mood="sleep"] .chibi-tail{animation:none;transform:rotate(-15deg)}
.room-card[data-mood="sleep"] .neko-ear-left,.room-card[data-mood="sleep"] .neko-ear-right{animation:none}
.room-card[data-mood="sleep"] .neko-ear-left{transform:rotate(-12deg)}
.room-card[data-mood="sleep"] .neko-ear-right{transform:rotate(12deg)}

/* ========== ROOM INFO BAR ========== */
.room-info {
  display:flex;align-items:center;justify-content:space-between;
  margin-top:10px;padding:8px 12px;background:var(--ln-panel);border-radius:var(--ln-radius-sm);border:1px solid var(--ln-border);
}
.mood-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}
.mood-badge.m-happy{background:rgba(255,45,120,0.15);color:var(--ln-pink)}
.mood-badge.m-chill{background:rgba(0,229,255,0.1);color:var(--ln-cyan)}
.mood-badge.m-sad{background:rgba(100,120,180,0.15);color:#8899CC}
.mood-badge.m-sleep{background:rgba(178,75,243,0.1);color:var(--ln-purple)}
.room-btns{display:flex;gap:6px}
.room-btn{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;font-family:var(--ln-font);cursor:pointer;transition:all 150ms ease;border:1.5px solid var(--ln-border);background:var(--ln-panel);color:var(--ln-text);display:flex;align-items:center;gap:4px}
.room-btn:hover{border-color:var(--ln-cyan);box-shadow:var(--ln-glow-cyan)}
.room-btn.btn-share{background:linear-gradient(135deg,var(--ln-pink),var(--ln-purple));color:#fff;border:none;box-shadow:var(--ln-glow-pink)}

/* ========== HAIR SHOP SECTION ========== */
.hair-section { margin-top: 18px; }

.section-label {
  font-size: 14px; font-weight: 700; margin-bottom: 10px;
  display: flex; align-items: center; gap: 6px;
}

.hair-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 8px;
}

.hair-card {
  border-radius: 14px; padding: 10px 8px 8px;
  border: 2px solid rgba(255,255,255,0.06);
  background: var(--ln-panel);
  display: flex; flex-direction: column; align-items: center;
  cursor: pointer; transition: all 150ms ease; position: relative;
  text-align: center;
}
.hair-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  border-color: var(--ln-purple);
}
.hair-card.hc-active {
  border-color: var(--ln-pink);
  box-shadow: var(--ln-glow-pink);
  background: rgba(255,45,120,0.06);
}
.hair-card.hc-locked { opacity: 0.6; }
.hair-card.hc-locked:hover { opacity: 0.8; }

.hc-preview {
  width: 48px; height: 48px; border-radius: 50%;
  margin-bottom: 6px; position: relative; overflow: hidden;
}

.hc-head {
  width: 100%; height: 100%;
  background: linear-gradient(180deg, #FFE4D0, #FFD4B8);
  border-radius: 50%; position: relative;
}

.hc-bangs {
  position: absolute; top: 0; left: 0; right: 0; height: 50%;
  overflow: hidden;
}

.hc-bang { position: absolute; bottom: 0; }

/* Mini preview styles per hair */
.hc-bangs[data-preview="long"] .hc-bang:nth-child(1){left:5%;width:30%;height:100%;clip-path:polygon(0% 0%,100% 0%,85% 100%,10% 80%)}
.hc-bangs[data-preview="long"] .hc-bang:nth-child(2){left:28%;width:25%;height:110%;clip-path:polygon(10% 0%,90% 0%,100% 100%,0% 90%)}
.hc-bangs[data-preview="long"] .hc-bang:nth-child(3){right:5%;width:30%;height:100%;clip-path:polygon(0% 0%,100% 0%,90% 80%,15% 100%)}

.hc-bangs[data-preview="spiky"] .hc-bang:nth-child(1){left:2%;width:28%;height:120%;clip-path:polygon(30% 0%,80% 0%,100% 100%,0% 70%)}
.hc-bangs[data-preview="spiky"] .hc-bang:nth-child(2){left:25%;width:30%;height:130%;clip-path:polygon(10% 0%,90% 0%,80% 100%,20% 90%)}
.hc-bangs[data-preview="spiky"] .hc-bang:nth-child(3){right:2%;width:28%;height:115%;clip-path:polygon(0% 0%,70% 0%,100% 70%,20% 100%)}

.hc-bangs[data-preview="twintails"] .hc-bang:nth-child(1){left:5%;width:30%;height:90%;clip-path:polygon(0% 0%,100% 0%,90% 100%,5% 85%)}
.hc-bangs[data-preview="twintails"] .hc-bang:nth-child(2){left:28%;width:25%;height:100%;clip-path:polygon(10% 0%,90% 0%,100% 100%,0% 90%)}
.hc-bangs[data-preview="twintails"] .hc-bang:nth-child(3){right:5%;width:30%;height:90%;clip-path:polygon(0% 0%,100% 0%,95% 85%,10% 100%)}

.hc-bangs[data-preview="bob"] .hc-bang:nth-child(1){left:5%;width:30%;height:95%;clip-path:polygon(0% 0%,100% 0%,95% 100%,8% 90%)}
.hc-bangs[data-preview="bob"] .hc-bang:nth-child(2){left:28%;width:25%;height:100%;clip-path:polygon(10% 0%,90% 0%,100% 100%,0% 90%)}
.hc-bangs[data-preview="bob"] .hc-bang:nth-child(3){right:5%;width:30%;height:95%;clip-path:polygon(0% 0%,100% 0%,92% 90%,5% 100%)}

.hc-bangs[data-preview="ponytail"] .hc-bang:nth-child(1){left:5%;width:30%;height:100%;clip-path:polygon(0% 0%,100% 0%,85% 100%,10% 80%)}
.hc-bangs[data-preview="ponytail"] .hc-bang:nth-child(2){left:28%;width:25%;height:105%;clip-path:polygon(10% 0%,90% 0%,100% 100%,0% 90%)}
.hc-bangs[data-preview="ponytail"] .hc-bang:nth-child(3){right:5%;width:30%;height:100%;clip-path:polygon(0% 0%,100% 0%,90% 80%,15% 100%)}

.hc-bangs[data-preview="undercut"] .hc-bang:nth-child(1){display:none}
.hc-bangs[data-preview="undercut"] .hc-bang:nth-child(2){left:15%;width:40%;height:115%;clip-path:polygon(5% 0%,95% 0%,100% 100%,0% 95%)}
.hc-bangs[data-preview="undercut"] .hc-bang:nth-child(3){right:15%;width:25%;height:105%;clip-path:polygon(10% 0%,100% 0%,90% 100%,0% 80%)}

.hc-name { font-size: 11px; font-weight: 600; color: var(--ln-text); }
.hc-price {
  font-size: 10px; font-weight: 700; margin-top: 2px;
  display: flex; align-items: center; gap: 3px;
}
.hc-price.owned { color: var(--ln-green); }
.hc-price.locked { color: var(--ln-yellow); }

.hc-equipped {
  position: absolute; top: -3px; right: -3px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--ln-green); color: #000; font-size: 9px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--ln-bg); box-shadow: 0 0 6px rgba(57,255,20,0.4);
}

.hc-lock {
  position: absolute; top: -3px; right: -3px;
  width: 16px; height: 16px; border-radius: 50%;
  background: rgba(255,224,61,0.2); color: var(--ln-yellow); font-size: 9px;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--ln-bg);
}

/* ========== INVENTORY ========== */
.inv-section { margin-top: 18px; }
.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px}
.inv-item{aspect-ratio:1;border-radius:12px;border:2px solid rgba(255,255,255,0.06);background:var(--ln-panel);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all 150ms ease;position:relative}
.inv-item:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,0.3);border-color:var(--ln-pink)}
.inv-emoji{font-size:26px} .inv-name{font-size:9px;color:var(--ln-muted);margin-top:2px}
.inv-equip{position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;background:var(--ln-green);color:#000;font-size:8px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ln-bg);box-shadow:0 0 6px rgba(57,255,20,0.4)}
.inv-item.t-rare{border-color:rgba(0,229,255,0.3);box-shadow:0 0 8px rgba(0,229,255,0.1)}
.inv-item.t-epic{border-color:rgba(178,75,243,0.3);box-shadow:0 0 8px rgba(178,75,243,0.1)}
.inv-item.t-leg{border-color:rgba(255,224,61,0.4);background:linear-gradient(135deg,rgba(255,224,61,0.05),rgba(255,45,120,0.05));box-shadow:0 0 12px rgba(255,224,61,0.1)}

/* ========== REFERRAL SECTION ========== */
.ref-section{margin-top:16px}
.ref-card{background:var(--ln-panel);border-radius:var(--ln-radius);border:1px solid var(--ln-border);padding:16px}
.ref-desc{font-size:12px;color:var(--ln-muted);margin-bottom:12px;line-height:1.4}
.ref-link-row{display:flex;gap:6px;margin-bottom:10px}
.ref-link-input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--ln-border);background:rgba(0,0,0,0.15);color:var(--ln-text);font-family:inherit;font-size:12px;outline:none}
.ref-copy-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--ln-pink);color:#fff;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:all 150ms ease;white-space:nowrap}
.ref-copy-btn:hover{filter:brightness(1.15)}
.ref-copy-btn.copied{background:#10B981}
.ref-share-row{margin-bottom:14px}
.ref-share-btn{width:100%;padding:10px;border:1.5px solid rgba(178,75,243,0.25);border-radius:8px;background:rgba(178,75,243,0.08);color:var(--ln-purple);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all 150ms ease}
.ref-share-btn:hover{background:rgba(178,75,243,0.15);border-color:var(--ln-purple)}
.ref-rewards{background:rgba(0,0,0,0.08);border-radius:10px;padding:12px;margin-bottom:14px}
.ref-reward-title{font-size:12px;font-weight:700;margin-bottom:8px;color:var(--ln-text)}
.ref-reward-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px}
.ref-reward-label{color:var(--ln-muted)}
.ref-reward-val{font-weight:700;color:var(--ln-pink)}
.ref-stats{display:flex;gap:8px;justify-content:center}
.ref-stat{flex:1;text-align:center;padding:10px 6px;background:rgba(0,0,0,0.08);border-radius:10px}
.ref-stat-num{display:block;font-size:20px;font-weight:800;color:var(--ln-pink)}
.ref-stat-label{font-size:10px;font-weight:600;color:var(--ln-muted);text-transform:uppercase;letter-spacing:0.5px}

.shop-cta{margin-top:14px;padding:14px 16px;border-radius:var(--ln-radius);border:1.5px solid rgba(178,75,243,0.15);background:linear-gradient(135deg,rgba(178,75,243,0.05),rgba(0,229,255,0.03));display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all 200ms ease;font-size:13px;font-weight:500}
.shop-cta:hover{border-color:var(--ln-purple);box-shadow:var(--ln-glow-purple)}
.shop-arrow{font-size:20px;color:var(--ln-purple)}

/* ========== KAWAII PET THEME ========== */
.love-nest[data-theme="kawaii"]{--ln-pink:#FF69B4;--ln-cyan:#81D4FA;--ln-purple:#CE93D8;--ln-yellow:#FFE082;--ln-green:#A5D6A7;--ln-bg:#FFF0F5;--ln-panel:#FFE4EC;--ln-card:#FFDBE5;--ln-text:#5C3D50;--ln-muted:#9A7089;--ln-border:rgba(150,80,120,0.1);--ln-glow-pink:0 0 12px rgba(255,105,180,0.2);--ln-glow-cyan:0 0 12px rgba(129,212,250,0.2);--ln-glow-purple:0 0 12px rgba(206,147,216,0.2)}
/* Kawaii room */
.love-nest[data-theme="kawaii"] .room-wall{background:linear-gradient(180deg,#FFE8F0,#FFD6E3)}
.love-nest[data-theme="kawaii"] .room-wall::after{background-image:radial-gradient(circle,rgba(255,105,180,0.06) 2px,transparent 2px);background-size:20px 20px}
.love-nest[data-theme="kawaii"] .room-floor{background:linear-gradient(180deg,#F8E0E8,#FFD6E0)}
.love-nest[data-theme="kawaii"] .room-floor::before{background:repeating-linear-gradient(90deg,transparent 0px,transparent 50px,rgba(255,105,180,0.04) 50px,rgba(255,105,180,0.04) 52px)}
.love-nest[data-theme="kawaii"] .room-floor::after{background:linear-gradient(180deg,rgba(255,105,180,0.04),transparent 40%)}
.love-nest[data-theme="kawaii"] .room-led-strip{background:linear-gradient(90deg,#FFB6C1,#CE93D8,#81D4FA,#FFB6C1);box-shadow:0 0 6px rgba(255,182,193,0.3);height:4px;border-radius:2px}
.love-nest[data-theme="kawaii"] .room-frame{box-shadow:0 0 0 2px rgba(255,105,180,0.15),0 4px 24px rgba(255,105,180,0.1),0 8px 32px rgba(0,0,0,0.08)}
.love-nest[data-theme="kawaii"] .room-rug{background:linear-gradient(135deg,rgba(255,182,193,0.2),rgba(206,147,216,0.15),rgba(129,212,250,0.12))}
/* Kawaii window */
.love-nest[data-theme="kawaii"] .window-sky{background:linear-gradient(180deg,#87CEEB 0%,#B0E0FF 50%,#E0F4FF 100%)}
.love-nest[data-theme="kawaii"] .window-outer{border-color:#E8C0D0;box-shadow:inset 0 0 10px rgba(255,105,180,0.08)}
.love-nest[data-theme="kawaii"] .window-cross{background:#E8C0D0}
.love-nest[data-theme="kawaii"] .city-silhouette{height:35%}
.love-nest[data-theme="kawaii"] .building{background:#81C784;border-radius:50% 50% 0 0}
.love-nest[data-theme="kawaii"] .building::after{display:none}
.love-nest[data-theme="kawaii"] .w-star{width:18px;height:12px;border-radius:50%;background:rgba(255,255,255,0.85);box-shadow:6px 3px 0 rgba(255,255,255,0.7),-5px 2px 0 rgba(255,255,255,0.5);animation:none}
.love-nest[data-theme="kawaii"] .window-moon{background:radial-gradient(circle at 40% 40%,#FFE082,#FFD54F);box-shadow:0 0 20px rgba(255,224,130,0.5);width:18%;top:5%}
.love-nest[data-theme="kawaii"] .window-neon-reflect{display:none}
/* Kawaii decor */
.love-nest[data-theme="kawaii"] .neon-sign{color:#FF69B4;text-shadow:0 0 8px rgba(255,105,180,0.3);animation:none}
.love-nest[data-theme="kawaii"] .poster-inner{background:linear-gradient(135deg,#FFE4EC,#FFB6C1)}
.love-nest[data-theme="kawaii"] .poster-star{background:linear-gradient(135deg,#FF69B4,#CE93D8)}
.love-nest[data-theme="kawaii"] .poster-text{color:#FF69B4;text-shadow:none}
/* Kawaii items */
.love-nest[data-theme="kawaii"] .monitor-screen{border-color:#E8C0D0;border-radius:6px}
.love-nest[data-theme="kawaii"] .screen-content{background:linear-gradient(135deg,#FFE4EC,#FFDBE5)}
.love-nest[data-theme="kawaii"] .monitor-rgb{background:linear-gradient(90deg,#FFB6C1,#CE93D8,#81D4FA,#FFB6C1);background-size:200% 100%}
.love-nest[data-theme="kawaii"] .monitor-stand,.love-nest[data-theme="kawaii"] .monitor-base{background:#E8C0D0}
.love-nest[data-theme="kawaii"] .plant-pot{background:linear-gradient(180deg,#FF69B4,#E91E8C);border-color:rgba(255,105,180,0.3)}
.love-nest[data-theme="kawaii"] .plant-pot-rim{background:#FF69B4}
.love-nest[data-theme="kawaii"] .plant-leaf{background:#A5D6A7;box-shadow:none}
.love-nest[data-theme="kawaii"] .plant-leaf::after{background:#C8E6C9}
.love-nest[data-theme="kawaii"] .nlamp-tube{background:#FF69B4;box-shadow:0 0 10px #FF69B4,0 0 20px rgba(255,105,180,0.3)}
.love-nest[data-theme="kawaii"] .nlamp-pole,.love-nest[data-theme="kawaii"] .nlamp-base{background:#E8C0D0}
.love-nest[data-theme="kawaii"] .nlamp-glow{background:radial-gradient(circle,rgba(255,105,180,0.1),transparent 60%)}
/* Kawaii character: CUTE CAT */
.love-nest[data-theme="kawaii"] .chibi-hair-back,.love-nest[data-theme="kawaii"] .hair-strand-l,.love-nest[data-theme="kawaii"] .hair-strand-r,.love-nest[data-theme="kawaii"] .chibi-bangs,.love-nest[data-theme="kawaii"] .twintail-l,.love-nest[data-theme="kawaii"] .twintail-r,.love-nest[data-theme="kawaii"] .ponytail,.love-nest[data-theme="kawaii"] .twintail-tie-l,.love-nest[data-theme="kawaii"] .twintail-tie-r,.love-nest[data-theme="kawaii"] .ponytail-tie{display:none!important}
.love-nest[data-theme="kawaii"] .chibi-head{width:100%;aspect-ratio:1;background:linear-gradient(180deg,#FFFFFF,#FFF5F5);border-radius:50%;top:0%}
.love-nest[data-theme="kawaii"] .neko-ear{width:30%;height:34%;top:-14%}
.love-nest[data-theme="kawaii"] .neko-ear-left{left:4%}
.love-nest[data-theme="kawaii"] .neko-ear-right{right:4%}
.love-nest[data-theme="kawaii"] .neko-ear-left .ear-outer{background:linear-gradient(135deg,#FFF,#FFE8F0)}
.love-nest[data-theme="kawaii"] .neko-ear-right .ear-outer{background:linear-gradient(225deg,#FFF,#FFE8F0)}
.love-nest[data-theme="kawaii"] .ear-inner{background:linear-gradient(180deg,#FFB6C1,#FF69B4);width:50%;height:50%;top:35%}
/* Cat eyes */
.love-nest[data-theme="kawaii"] .chibi-eyes{top:38%;width:78%}
.love-nest[data-theme="kawaii"] .anime-eye{width:36%;aspect-ratio:0.9;background:#1A0A2E;border-radius:50%}
.love-nest[data-theme="kawaii"] .eye-iris{background:radial-gradient(ellipse at 50% 45%,#FF69B4,#E91E8C 50%,#880E4F)!important}
.love-nest[data-theme="kawaii"] .eye-shine-1{width:38%;top:8%;right:10%}
.love-nest[data-theme="kawaii"] .eye-shine-2{width:22%}
/* Cat nose */
.love-nest[data-theme="kawaii"] .chibi-nose{width:8%;height:5%;background:#FF69B4;clip-path:polygon(50% 0%,0% 100%,100% 100%);border-radius:0;top:60%}
/* Cat mouth */
.love-nest[data-theme="kawaii"] .chibi-mouth{top:66%;width:20%}
.love-nest[data-theme="kawaii"] .mouth-fang{display:none}
/* Cat blush + whiskers */
.love-nest[data-theme="kawaii"] .chibi-blush-l,.love-nest[data-theme="kawaii"] .chibi-blush-r{width:20%;aspect-ratio:1.8;background:rgba(255,105,180,0.3);top:58%}
.love-nest[data-theme="kawaii"] .chibi-blush-l::before,.love-nest[data-theme="kawaii"] .chibi-blush-l::after{content:'';position:absolute;height:1.5px;background:rgba(90,50,70,0.2);width:250%}
.love-nest[data-theme="kawaii"] .chibi-blush-l::before{top:25%;right:60%;transform:rotate(-8deg)}
.love-nest[data-theme="kawaii"] .chibi-blush-l::after{top:65%;right:60%;transform:rotate(8deg)}
.love-nest[data-theme="kawaii"] .chibi-blush-r::before,.love-nest[data-theme="kawaii"] .chibi-blush-r::after{content:'';position:absolute;height:1.5px;background:rgba(90,50,70,0.2);width:250%}
.love-nest[data-theme="kawaii"] .chibi-blush-r::before{top:25%;left:60%;transform:rotate(8deg)}
.love-nest[data-theme="kawaii"] .chibi-blush-r::after{top:65%;left:60%;transform:rotate(-8deg)}
/* Cat body */
.love-nest[data-theme="kawaii"] .chibi-body{width:55%;height:32%}
.love-nest[data-theme="kawaii"] .body-outfit{background:linear-gradient(180deg,#FFF,#FFF5F5);border-radius:45%}
.love-nest[data-theme="kawaii"] .outfit-stripe{display:none}
.love-nest[data-theme="kawaii"] .outfit-collar{border-bottom:3px solid #FF69B4;opacity:1}
.love-nest[data-theme="kawaii"] .chibi-arm{background:linear-gradient(180deg,#FFF,#FFF5F5);border-radius:50%}
.love-nest[data-theme="kawaii"] .chibi-leg{background:#FFF;border-radius:50%}
.love-nest[data-theme="kawaii"] .chibi-shoe{background:#FFB6C1;border-radius:50%;box-shadow:0 0 4px rgba(255,182,193,0.3)}
/* Cat tail */
.love-nest[data-theme="kawaii"] .chibi-tail{border-width:5px;border-color:#FFF #FFF transparent transparent;width:50%;height:40%;border-radius:0 80% 0 0}
.love-nest[data-theme="kawaii"] .tail-tip{background:#FFB6C1;box-shadow:0 0 6px rgba(255,182,193,0.4)}
.love-nest[data-theme="kawaii"] .chibi-shadow{background:rgba(255,105,180,0.15)}
/* Kawaii idle */
.love-nest[data-theme="kawaii"] .character-wrap{animation:kawaiiIdle 2.2s ease-in-out infinite}
@keyframes kawaiiIdle{0%,100%{transform:translateX(-50%) translateY(0) rotate(0)}30%{transform:translateX(-50%) translateY(-6px) rotate(-2deg)}60%{transform:translateX(-50%) translateY(-4px) rotate(2deg)}}
.love-nest[data-theme="kawaii"] .chibi[data-gender="male"] .chibi-head{border-radius:48%}
.love-nest[data-theme="kawaii"] .chibi[data-gender="male"] .chibi-body{width:58%}
.love-nest[data-theme="kawaii"] .chibi[data-gender="male"] .anime-eye{aspect-ratio:1}
/* Hide hair shop for kawaii */
.love-nest[data-theme="kawaii"] .hair-section{display:none}

/* ========== PIXEL HERO THEME ========== */
.love-nest[data-theme="pixel"]{--ln-pink:#FF4444;--ln-cyan:#4488FF;--ln-purple:#AA44FF;--ln-yellow:#FFD700;--ln-green:#44FF44;--ln-bg:#1A1C2E;--ln-panel:#262940;--ln-card:#2E3150;--ln-text:#E8E8F0;--ln-muted:#8888AA;--ln-border:rgba(255,255,255,0.08);--ln-glow-pink:0 0 8px rgba(255,68,68,0.3);--ln-glow-cyan:0 0 8px rgba(68,136,255,0.3);--ln-glow-purple:0 0 8px rgba(170,68,255,0.3)}
/* Pixel: blocky borders */
.love-nest[data-theme="pixel"] .room-frame{border-radius:4px;box-shadow:0 0 0 3px rgba(255,215,0,0.2),0 4px 20px rgba(0,0,0,0.5)}
.love-nest[data-theme="pixel"] .sw-btn,.love-nest[data-theme="pixel"] .theme-btn{border-radius:4px}
.love-nest[data-theme="pixel"] .heart-balance{border-radius:4px}
.love-nest[data-theme="pixel"] .nest-avatar{border-radius:4px;background:linear-gradient(135deg,#FFD700,#FF4444)}
.love-nest[data-theme="pixel"] .theme-switcher{border-radius:4px}
.love-nest[data-theme="pixel"] .mood-badge{border-radius:4px}
.love-nest[data-theme="pixel"] .room-btn{border-radius:4px}
.love-nest[data-theme="pixel"] .room-info{border-radius:4px}
/* Pixel room */
.love-nest[data-theme="pixel"] .room-wall{background:linear-gradient(180deg,#2A2D45,#252840)}
.love-nest[data-theme="pixel"] .room-wall::after{background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:24px 12px}
.love-nest[data-theme="pixel"] .room-floor{background:linear-gradient(180deg,#1E2035,#181A2E)}
.love-nest[data-theme="pixel"] .room-floor::before{background:repeating-linear-gradient(90deg,transparent 0,transparent 40px,rgba(255,215,0,0.02) 40px,rgba(255,215,0,0.02) 42px)}
.love-nest[data-theme="pixel"] .room-led-strip{background:#FFD700;box-shadow:0 0 6px rgba(255,215,0,0.4);animation:none;height:3px;border-radius:0}
.love-nest[data-theme="pixel"] .room-rug{border-radius:4px;background:rgba(255,215,0,0.06)}
.love-nest[data-theme="pixel"] .room-rug::before{border-radius:4px;border-color:rgba(255,215,0,0.1)}
/* Pixel window */
.love-nest[data-theme="pixel"] .window-outer{border-radius:2px;border-color:#555}
.love-nest[data-theme="pixel"] .window-cross{background:#555}
.love-nest[data-theme="pixel"] .building{border-radius:0;background:#0F0F1E}
.love-nest[data-theme="pixel"] .w-star{border-radius:0;width:3px;height:3px;animation:none;opacity:.7}
.love-nest[data-theme="pixel"] .window-moon{border-radius:2px}
.love-nest[data-theme="pixel"] .window-neon-reflect{display:none}
/* Pixel decor */
.love-nest[data-theme="pixel"] .neon-sign{color:#FFD700;text-shadow:0 0 4px #FFD700;animation:none;letter-spacing:2px}
.love-nest[data-theme="pixel"] .wall-poster{border-radius:2px}
.love-nest[data-theme="pixel"] .poster-inner{background:linear-gradient(135deg,#2A2D45,#3A3D55)}
.love-nest[data-theme="pixel"] .poster-star{background:linear-gradient(135deg,#FFD700,#FF4444)}
.love-nest[data-theme="pixel"] .poster-text{color:#FFD700;text-shadow:0 0 4px #FFD700}
/* Pixel items */
.love-nest[data-theme="pixel"] .monitor-screen{border-radius:2px;border-color:#555}
.love-nest[data-theme="pixel"] .screen-content{background:linear-gradient(135deg,#0A0A2E,#1A1A4E)}
.love-nest[data-theme="pixel"] .monitor-rgb{background:linear-gradient(90deg,#FF4444,#FFD700,#44FF44,#4488FF);background-size:200% 100%}
.love-nest[data-theme="pixel"] .plant-pot{border-radius:2px;background:linear-gradient(180deg,#8B4513,#654321)}
.love-nest[data-theme="pixel"] .plant-pot-rim{background:#A0522D;border-radius:1px}
.love-nest[data-theme="pixel"] .plant-leaf{border-radius:2px;box-shadow:none}
.love-nest[data-theme="pixel"] .plant-leaf::after{border-radius:2px}
.love-nest[data-theme="pixel"] .nlamp-tube{background:#FFD700;box-shadow:0 0 8px #FFD700;border-radius:2px}
.love-nest[data-theme="pixel"] .nlamp-pole,.love-nest[data-theme="pixel"] .nlamp-base{background:#555}
.love-nest[data-theme="pixel"] .nlamp-base{border-radius:1px}
.love-nest[data-theme="pixel"] .nlamp-glow{background:radial-gradient(circle,rgba(255,215,0,0.1),transparent 60%)}
/* Pixel character: BLOCKY HERO */
.love-nest[data-theme="pixel"] .neko-ear,.love-nest[data-theme="pixel"] .chibi-tail{display:none!important}
.love-nest[data-theme="pixel"] .chibi-blush-l,.love-nest[data-theme="pixel"] .chibi-blush-r{display:none}
.love-nest[data-theme="pixel"] .chibi-head{border-radius:6px;background:linear-gradient(180deg,#FFD4A8,#FFBE8A)}
.love-nest[data-theme="pixel"] .chibi[data-gender="male"] .chibi-head{border-radius:5px}
/* Helmet */
.love-nest[data-theme="pixel"] .chibi-hair-back{border-radius:6px 6px 3px 3px!important;background:linear-gradient(180deg,#4488FF,#3366CC)!important;height:38%!important;width:100%}
.love-nest[data-theme="pixel"] .hair-strand-l,.love-nest[data-theme="pixel"] .hair-strand-r{display:none!important}
.love-nest[data-theme="pixel"] .twintail-l,.love-nest[data-theme="pixel"] .twintail-r,.love-nest[data-theme="pixel"] .ponytail,.love-nest[data-theme="pixel"] .twintail-tie-l,.love-nest[data-theme="pixel"] .twintail-tie-r,.love-nest[data-theme="pixel"] .ponytail-tie{display:none!important}
.love-nest[data-theme="pixel"] .chibi-bangs{height:22%;top:5%}
.love-nest[data-theme="pixel"] .bang-1{left:2%!important;width:96%!important;height:100%!important;clip-path:none!important;background:linear-gradient(180deg,#4488FF,#3366CC)!important;border-radius:4px 4px 2px 2px}
.love-nest[data-theme="pixel"] .bang-2,.love-nest[data-theme="pixel"] .bang-3,.love-nest[data-theme="pixel"] .bang-4,.love-nest[data-theme="pixel"] .bang-5,.love-nest[data-theme="pixel"] .hair-highlight{display:none!important}
.love-nest[data-theme="pixel"] .chibi[data-hair] .bang-1{left:2%!important;width:96%!important;height:100%!important;clip-path:none!important;background:linear-gradient(180deg,#4488FF,#3366CC)!important}
.love-nest[data-theme="pixel"] .chibi[data-hair] .bang-2,.love-nest[data-theme="pixel"] .chibi[data-hair] .bang-3,.love-nest[data-theme="pixel"] .chibi[data-hair] .bang-4,.love-nest[data-theme="pixel"] .chibi[data-hair] .bang-5{display:none!important}
.love-nest[data-theme="pixel"] .chibi[data-hair] .chibi-hair-back{border-radius:6px 6px 3px 3px!important;background:linear-gradient(180deg,#4488FF,#3366CC)!important;height:38%!important}
/* Pixel eyes */
.love-nest[data-theme="pixel"] .chibi-eyes{top:42%;width:65%}
.love-nest[data-theme="pixel"] .anime-eye{border-radius:2px;background:#FFF;width:28%;aspect-ratio:1.2}
.love-nest[data-theme="pixel"] .eye-iris{border-radius:1px;background:#111!important;inset:25%}
.love-nest[data-theme="pixel"] .eye-pupil{display:none}
.love-nest[data-theme="pixel"] .eye-shine-1{width:28%;border-radius:1px;top:15%;right:15%;animation:none}
.love-nest[data-theme="pixel"] .eye-shine-2,.love-nest[data-theme="pixel"] .eye-shine-3{display:none}
.love-nest[data-theme="pixel"] .eye-lash{display:none}
/* Pixel nose/mouth */
.love-nest[data-theme="pixel"] .chibi-nose{width:5%;height:3%;border-radius:1px;background:#E8A070}
.love-nest[data-theme="pixel"] .mouth-shape{border-radius:0;border-bottom:2px solid #C08060}
.love-nest[data-theme="pixel"] .mouth-fang{display:none}
/* Armor body */
.love-nest[data-theme="pixel"] .chibi-body{width:76%}
.love-nest[data-theme="pixel"] .body-outfit{background:linear-gradient(180deg,#3366CC,#224499);border-radius:6px}
.love-nest[data-theme="pixel"] .outfit-stripe{background:#FFD700;opacity:.5;width:8%}
.love-nest[data-theme="pixel"] .outfit-collar{border-bottom-color:#FFD700;border-radius:0;border-bottom-width:3px}
.love-nest[data-theme="pixel"] .chibi-arm{border-radius:3px;background:linear-gradient(180deg,#4488FF,#3366CC)}
.love-nest[data-theme="pixel"] .chibi-leg{background:#224499;border-radius:3px}
.love-nest[data-theme="pixel"] .chibi-shoe{background:#8B4513;border-radius:2px;box-shadow:none}
.love-nest[data-theme="pixel"] .chibi-shadow{background:rgba(0,0,0,0.3)}
/* Pixel idle */
.love-nest[data-theme="pixel"] .character-wrap{animation:pixelIdle 1.5s steps(2) infinite}
@keyframes pixelIdle{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-4px)}}
.love-nest[data-theme="pixel"] .chibi[data-gender="female"] .chibi-body{width:70%}
.love-nest[data-theme="pixel"] .chibi[data-gender="female"] .body-outfit{border-radius:8px}
/* Hide hair shop for pixel */
.love-nest[data-theme="pixel"] .hair-section{display:none}

/* ========== KAWAII ACCESSORIES ========== */
.kw-bow,.kw-ribbon,.kw-headphones,.kw-crown,.kw-glasses,.kw-flower,.kw-star-clip,.kw-scarf,.kw-beret,.kw-cat-ears,.kw-butterfly,.kw-tiara,.kw-halo,.kw-witch-hat,.kw-devil-horns,.px-spike-l,.px-spike-r{display:none}
.kw-shop-section{display:none}
.px-shop-section{display:none}
.love-nest[data-theme="kawaii"] .kw-shop-section{display:block}
.love-nest[data-theme="pixel"] .px-shop-section{display:block}
/* Bow */
.kw-bow{position:absolute;top:-6%;left:50%;transform:translateX(-50%);z-index:10;width:26%;height:14%}
.kw-bow-l,.kw-bow-r{position:absolute;top:20%;width:45%;height:80%;background:#FF69B4;border-radius:50%}
.kw-bow-l{left:0;transform:rotate(-15deg)}
.kw-bow-r{right:0;transform:rotate(15deg)}
.kw-bow-k{position:absolute;top:30%;left:50%;transform:translateX(-50%);width:22%;height:55%;background:#E91E8C;border-radius:50%;z-index:1}
.chibi[data-kw-acc="bow"] .kw-bow{display:block}
/* Ribbon */
.kw-ribbon{position:absolute;top:-4%;left:50%;transform:translateX(-50%);z-index:10;width:22%;height:10%}
.kw-rib-l,.kw-rib-r{position:absolute;top:10%;width:42%;height:90%;border-radius:40%}
.kw-rib-l{left:2%;background:#DC2626;transform:rotate(-20deg)}
.kw-rib-r{right:2%;background:#DC2626;transform:rotate(20deg)}
.chibi[data-kw-acc="ribbon"] .kw-ribbon{display:block}
/* Headphones */
.kw-headphones{position:absolute;top:-8%;left:50%;transform:translateX(-50%);width:110%;height:55%;z-index:10;pointer-events:none}
.kw-hp-band{position:absolute;top:0;left:15%;right:15%;height:30%;border:3px solid #444;border-bottom:none;border-radius:50% 50% 0 0}
.kw-hp-l,.kw-hp-r{position:absolute;top:22%;width:16%;height:22%;background:#333;border-radius:30%;border:2px solid #555}
.kw-hp-l{left:2%}
.kw-hp-r{right:2%}
.chibi[data-kw-acc="headphones"] .kw-headphones{display:block}
/* Crown */
.kw-crown{position:absolute;top:-12%;left:22%;width:56%;height:16%;z-index:10;background:#FFD700;clip-path:polygon(0% 100%,8% 30%,20% 80%,35% 15%,50% 75%,65% 15%,80% 80%,92% 30%,100% 100%);filter:drop-shadow(0 0 4px rgba(255,215,0,0.4))}
.chibi[data-kw-acc="crown"] .kw-crown{display:block}
/* Glasses */
.kw-glasses{position:absolute;top:40%;left:50%;transform:translateX(-50%);width:80%;height:20%;z-index:10;pointer-events:none}
.kw-gl-l,.kw-gl-r{position:absolute;top:0;width:36%;height:100%;border:2px solid #555;border-radius:50%;background:rgba(100,200,255,0.08)}
.kw-gl-l{left:4%}
.kw-gl-r{right:4%}
.kw-gl-br{position:absolute;top:35%;left:38%;width:24%;height:2px;background:#555}
.chibi[data-kw-acc="glasses"] .kw-glasses{display:block}
/* Flower Pin */
.kw-flower{position:absolute;top:-4%;right:8%;width:18%;height:18%;z-index:10}
.kw-fl-petal{position:absolute;width:40%;height:40%;background:#FF69B4;border-radius:50%;top:10%;left:30%}
.kw-fl-petal:nth-child(1){transform:rotate(0deg) translateY(-40%)}
.kw-fl-petal:nth-child(2){transform:rotate(72deg) translateY(-40%)}
.kw-fl-petal:nth-child(3){transform:rotate(144deg) translateY(-40%)}
.kw-fl-petal:nth-child(4){transform:rotate(216deg) translateY(-40%)}
.kw-fl-petal:nth-child(5){transform:rotate(288deg) translateY(-40%)}
.kw-fl-center{position:absolute;width:30%;height:30%;background:#FFD700;border-radius:50%;top:35%;left:35%;z-index:1}
.chibi[data-kw-acc="flower"] .kw-flower{display:block}
/* Star Clip */
.kw-star-clip{position:absolute;top:-2%;right:12%;width:14%;height:14%;z-index:10;background:#FFD700;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 3px rgba(255,215,0,0.5))}
.chibi[data-kw-acc="star-clip"] .kw-star-clip{display:block}
/* Scarf */
.kw-scarf{position:absolute;bottom:-12%;left:50%;transform:translateX(-50%);width:90%;height:18%;z-index:11}
.kw-scarf-wrap{position:absolute;top:0;left:0;width:100%;height:60%;background:#E8A598;border-radius:4px}
.kw-scarf-tail{position:absolute;bottom:0;right:15%;width:25%;height:70%;background:#E8A598;border-radius:0 0 4px 4px}
.chibi[data-kw-acc="scarf"] .kw-scarf{display:block}
/* Beret */
.kw-beret{position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:70%;height:18%;z-index:10;background:#8B4513;border-radius:50% 50% 30% 30%;box-shadow:0 2px 0 #6D3410}
.kw-beret::after{content:"";position:absolute;top:-15%;left:50%;transform:translateX(-50%);width:12%;height:30%;background:#8B4513;border-radius:50%}
.chibi[data-kw-acc="beret"] .kw-beret{display:block}
/* Cat Ears (extra) */
.kw-cat-ears{position:absolute;top:-14%;left:50%;transform:translateX(-50%);width:70%;height:20%;z-index:10}
.kw-ce-l,.kw-ce-r{position:absolute;top:0;width:30%;height:100%;background:#FFB6C1;clip-path:polygon(50% 0%,0% 100%,100% 100%)}
.kw-ce-l{left:8%}
.kw-ce-r{right:8%}
.kw-ce-l::after,.kw-ce-r::after{content:"";position:absolute;top:30%;left:25%;width:50%;height:50%;background:#FF69B4;clip-path:polygon(50% 0%,0% 100%,100% 100%)}
.chibi[data-kw-acc="cat-ears"] .kw-cat-ears{display:block}
/* Butterfly Clip */
.kw-butterfly{position:absolute;top:-2%;right:6%;width:16%;height:16%;z-index:10}
.kw-bfly-wing-l,.kw-bfly-wing-r{position:absolute;top:0;width:45%;height:80%;border-radius:50%;background:linear-gradient(135deg,#A78BFA,#7C3AED)}
.kw-bfly-wing-l{left:0;transform:rotate(-15deg)}
.kw-bfly-wing-r{right:0;transform:rotate(15deg)}
.kw-bfly-body{position:absolute;top:15%;left:50%;transform:translateX(-50%);width:10%;height:70%;background:#4C1D95;border-radius:3px}
.chibi[data-kw-acc="butterfly"] .kw-butterfly{display:block}
/* Tiara */
.kw-tiara{position:absolute;top:-8%;left:50%;transform:translateX(-50%);width:60%;height:12%;z-index:10}
.kw-tiara-band{position:absolute;bottom:0;left:0;width:100%;height:40%;background:linear-gradient(90deg,#C0C0C0,#E8E8E8,#C0C0C0);border-radius:2px}
.kw-tiara-gem{position:absolute;top:0;left:50%;transform:translateX(-50%);width:16%;height:70%;background:#7C3AED;clip-path:polygon(50% 0%,0% 100%,100% 100%);filter:drop-shadow(0 0 3px rgba(124,58,237,0.5))}
.chibi[data-kw-acc="tiara"] .kw-tiara{display:block}
/* Halo */
.kw-halo{position:absolute;top:-16%;left:50%;transform:translateX(-50%);width:60%;height:10%;z-index:10;border:3px solid #FFD700;border-radius:50%;box-shadow:0 0 8px rgba(255,215,0,0.5),inset 0 0 4px rgba(255,215,0,0.3);background:transparent}
.chibi[data-kw-acc="halo"] .kw-halo{display:block}
/* Witch Hat */
.kw-witch-hat{position:absolute;top:-22%;left:50%;transform:translateX(-50%);width:50%;height:30%;z-index:10}
.kw-wh-cone{position:absolute;top:0;left:50%;transform:translateX(-50%);width:50%;height:80%;background:#2D1B69;clip-path:polygon(50% 0%,0% 100%,100% 100%)}
.kw-wh-brim{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:120%;height:25%;background:#2D1B69;border-radius:50%;z-index:1}
.chibi[data-kw-acc="witch-hat"] .kw-witch-hat{display:block}
/* Devil Horns */
.kw-devil-horns{position:absolute;top:-12%;left:50%;transform:translateX(-50%);width:60%;height:16%;z-index:10}
.kw-dh-l,.kw-dh-r{position:absolute;top:0;width:20%;height:100%;background:#DC2626;clip-path:polygon(50% 0%,0% 100%,100% 100%)}
.kw-dh-l{left:10%;transform:rotate(-10deg)}
.kw-dh-r{right:10%;transform:rotate(10deg)}
.chibi[data-kw-acc="devil-horns"] .kw-devil-horns{display:block}

/* ========== PIXEL HELM VISUAL (cross-theme helm display) ========== */
/* Container covers upper half of chibi-head - helms sit ON the head */
.px-helm-visual{display:none;position:absolute;top:-18%;left:50%;transform:translateX(-50%);width:110%;height:55%;z-index:12;pointer-events:none}
.px-hv-dome{position:absolute;bottom:0;left:5%;width:90%;height:80%;border-radius:50% 50% 8% 8%;z-index:1}
.px-hv-visor{display:none;position:absolute;bottom:-5%;left:20%;width:60%;height:22%;z-index:2}
.px-hv-crest{display:none;position:absolute;z-index:3}
.px-hv-horn-l,.px-hv-horn-r{display:none;position:absolute;z-index:3}
/* On pixel theme, hide overlay (hair IS the helm there) */
.love-nest[data-theme="pixel"] .px-helm-visual{display:none!important}

/* === Basic - blue bucket helm covering top of head === */
.chibi[data-px-helm="basic"] .px-helm-visual{display:block}
.chibi[data-px-helm="basic"] .px-hv-dome{background:linear-gradient(180deg,#6EB5FF,#3366CC);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.15),0 2px 6px rgba(0,0,0,0.3)}
.chibi[data-px-helm="basic"] .px-hv-visor{display:block;background:linear-gradient(180deg,#2255AA,#1A3D7A);border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,0.3)}

/* === Knight - polished silver helm with red plume === */
.chibi[data-px-helm="knight"] .px-helm-visual{display:block}
.chibi[data-px-helm="knight"] .px-hv-dome{background:linear-gradient(150deg,#E0E0E0,#A0A0A0,#C0C0C0);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.15),0 2px 6px rgba(0,0,0,0.3)}
.chibi[data-px-helm="knight"] .px-hv-visor{display:block;background:linear-gradient(180deg,#777,#555);border-radius:2px;height:18%;bottom:-2%}
.chibi[data-px-helm="knight"] .px-hv-crest{display:block;top:-15%;left:50%;transform:translateX(-50%);width:14%;height:55%;background:linear-gradient(180deg,#DC2626,#991B1B);border-radius:4px 4px 2px 2px;box-shadow:0 0 6px rgba(220,38,38,0.3)}

/* === Gold - ornate golden helm with central gem === */
.chibi[data-px-helm="gold"] .px-helm-visual{display:block}
.chibi[data-px-helm="gold"] .px-hv-dome{background:linear-gradient(150deg,#FFE44D,#FFD700,#B8860B);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.1),0 2px 10px rgba(255,215,0,0.4)}
.chibi[data-px-helm="gold"] .px-hv-visor{display:block;background:linear-gradient(180deg,#B8860B,#8B6914);border-radius:2px;height:18%;bottom:-2%}
.chibi[data-px-helm="gold"] .px-hv-crest{display:block;top:8%;left:50%;transform:translateX(-50%);width:18%;height:22%;background:radial-gradient(circle,#A855F7,#7C3AED);border-radius:50%;box-shadow:0 0 10px rgba(124,58,237,0.6),0 0 20px rgba(124,58,237,0.3)}

/* === Dragon - fiery red helm with large horns === */
.chibi[data-px-helm="dragon"] .px-helm-visual{display:block}
.chibi[data-px-helm="dragon"] .px-hv-dome{background:linear-gradient(150deg,#FF4444,#DC2626,#7F1D1D);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.2),0 2px 8px rgba(220,38,38,0.4)}
.chibi[data-px-helm="dragon"] .px-hv-visor{display:block;background:linear-gradient(180deg,#991B1B,#600);border-radius:2px;height:18%;bottom:-2%}
.chibi[data-px-helm="dragon"] .px-hv-horn-l,.chibi[data-px-helm="dragon"] .px-hv-horn-r{display:block;top:-25%;width:18%;height:65%;background:linear-gradient(180deg,#FFD700,#DC2626);clip-path:polygon(50% 0%,15% 100%,85% 100%)}
.chibi[data-px-helm="dragon"] .px-hv-horn-l{left:0;transform:rotate(-25deg)}
.chibi[data-px-helm="dragon"] .px-hv-horn-r{right:0;transform:rotate(25deg)}

/* === Leather - soft brown cap === */
.chibi[data-px-helm="leather"] .px-helm-visual{display:block;height:40%}
.chibi[data-px-helm="leather"] .px-hv-dome{background:linear-gradient(150deg,#C08050,#A0522D,#78350F);border-radius:50% 50% 20% 20%;box-shadow:inset 0 -3px 6px rgba(0,0,0,0.15),0 2px 4px rgba(0,0,0,0.25)}
.chibi[data-px-helm="leather"] .px-hv-visor{display:block;background:#6D3A1A;border-radius:3px;height:22%;bottom:-8%;left:25%;width:50%}

/* === Bandana - wide cloth wrap with trailing tail === */
.chibi[data-px-helm="bandana"] .px-helm-visual{display:block;height:28%;top:-8%}
.chibi[data-px-helm="bandana"] .px-hv-dome{background:linear-gradient(180deg,#EF4444,#DC2626);border-radius:6px;height:80%;box-shadow:inset 0 -2px 4px rgba(0,0,0,0.15)}
.chibi[data-px-helm="bandana"] .px-hv-crest{display:block;top:10%;right:-15%;width:40%;height:65%;background:linear-gradient(90deg,#DC2626,#B91C1C);clip-path:polygon(0% 0%,0% 100%,80% 80%,100% 50%,80% 20%);filter:drop-shadow(1px 1px 2px rgba(0,0,0,0.2))}

/* === Viking - brown helm with big curved ivory horns === */
.chibi[data-px-helm="viking"] .px-helm-visual{display:block}
.chibi[data-px-helm="viking"] .px-hv-dome{background:linear-gradient(150deg,#A0782C,#8B6914,#5C3310);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.2),0 2px 6px rgba(0,0,0,0.3)}
.chibi[data-px-helm="viking"] .px-hv-visor{display:block;background:#5C3310;border-radius:2px;height:15%;bottom:-2%}
.chibi[data-px-helm="viking"] .px-hv-horn-l,.chibi[data-px-helm="viking"] .px-hv-horn-r{display:block;top:-20%;width:20%;height:70%;background:linear-gradient(180deg,#FFFFF0,#D4A574);border-radius:50% 50% 8px 8px;clip-path:ellipse(50% 50% at 50% 50%)}
.chibi[data-px-helm="viking"] .px-hv-horn-l{left:-8%;transform:rotate(-35deg)}
.chibi[data-px-helm="viking"] .px-hv-horn-r{right:-8%;transform:rotate(35deg)}

/* === Iron Mask - dark steel full-face helm === */
.chibi[data-px-helm="iron-mask"] .px-helm-visual{display:block;height:62%}
.chibi[data-px-helm="iron-mask"] .px-hv-dome{background:linear-gradient(150deg,#7B8794,#4B5563,#374151);height:70%;box-shadow:inset 0 -4px 8px rgba(0,0,0,0.2),0 2px 6px rgba(0,0,0,0.4)}
.chibi[data-px-helm="iron-mask"] .px-hv-visor{display:block;background:#1F2937;height:12%;bottom:5%;left:25%;width:50%;border-radius:1px;box-shadow:0 0 4px rgba(0,0,0,0.5)}

/* === Samurai - kabuto with wide crescent crest === */
.chibi[data-px-helm="samurai"] .px-helm-visual{display:block}
.chibi[data-px-helm="samurai"] .px-hv-dome{background:linear-gradient(150deg,#9A3412,#7C2D12,#451A03);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.2),0 2px 6px rgba(0,0,0,0.3)}
.chibi[data-px-helm="samurai"] .px-hv-visor{display:block;background:#451A03;border-radius:2px;height:15%;bottom:-2%}
.chibi[data-px-helm="samurai"] .px-hv-crest{display:block;top:-20%;left:50%;transform:translateX(-50%);width:90%;height:40%;background:linear-gradient(180deg,#FFD700,#B8860B);clip-path:polygon(50% 100%,0% 0%,20% 0%,50% 70%,80% 0%,100% 0%);filter:drop-shadow(0 0 4px rgba(255,215,0,0.4))}

/* === Gladiator - bronze helm with tall red mohawk crest === */
.chibi[data-px-helm="gladiator"] .px-helm-visual{display:block}
.chibi[data-px-helm="gladiator"] .px-hv-dome{background:linear-gradient(150deg,#D4A04C,#B8860B,#8B6914);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.15),0 2px 6px rgba(0,0,0,0.3)}
.chibi[data-px-helm="gladiator"] .px-hv-visor{display:block;background:#8B6914;border-radius:2px;height:18%;bottom:-2%}
.chibi[data-px-helm="gladiator"] .px-hv-crest{display:block;top:-35%;left:50%;transform:translateX(-50%);width:16%;height:80%;background:linear-gradient(180deg,#EF4444,#DC2626,#991B1B);border-radius:6px 6px 2px 2px;box-shadow:0 0 8px rgba(220,38,38,0.3)}

/* === Wizard - tall pointed purple hat with gold star === */
.chibi[data-px-helm="wizard"] .px-helm-visual{display:block;height:80%;top:-45%}
.chibi[data-px-helm="wizard"] .px-hv-dome{background:linear-gradient(180deg,#7C3AED,#6D28D9,#4C1D95);height:40%;bottom:0;border-radius:50% 50% 25% 25%;box-shadow:inset 0 -3px 6px rgba(0,0,0,0.15)}
.chibi[data-px-helm="wizard"] .px-hv-crest{display:block;bottom:30%;left:50%;transform:translateX(-50%);width:55%;height:75%;background:linear-gradient(180deg,#5B21B6,#6D28D9,#4C1D95);clip-path:polygon(50% 0%,20% 100%,80% 100%);filter:drop-shadow(0 0 6px rgba(109,40,217,0.3))}
.chibi[data-px-helm="wizard"] .px-hv-horn-l{display:block;top:8%;left:50%;transform:translateX(-50%);width:12%;height:12%;background:radial-gradient(circle,#FFE44D,#FFD700);border-radius:0;clip-path:polygon(50% 0%,0% 38%,19% 100%,81% 100%,100% 38%);filter:drop-shadow(0 0 6px rgba(255,215,0,0.6))}

/* === Crystal Crown - tall sparkling gemstone crown === */
.chibi[data-px-helm="crystal"] .px-helm-visual{display:block;height:50%;top:-22%}
.chibi[data-px-helm="crystal"] .px-hv-dome{background:linear-gradient(180deg,#C4B5FD,#A78BFA,#7C3AED);height:40%;bottom:0;border-radius:4px;box-shadow:0 0 12px rgba(167,139,250,0.5)}
.chibi[data-px-helm="crystal"] .px-hv-crest{display:block;bottom:30%;left:50%;transform:translateX(-50%);width:22%;height:65%;background:linear-gradient(180deg,#E9DDFF,#A78BFA);clip-path:polygon(50% 0%,20% 100%,80% 100%);filter:drop-shadow(0 0 6px rgba(196,181,253,0.6))}
.chibi[data-px-helm="crystal"] .px-hv-horn-l,.chibi[data-px-helm="crystal"] .px-hv-horn-r{display:block;bottom:30%;width:16%;height:48%;background:linear-gradient(180deg,#DDD6FE,#A78BFA);clip-path:polygon(50% 0%,10% 100%,90% 100%);filter:drop-shadow(0 0 4px rgba(167,139,250,0.4))}
.chibi[data-px-helm="crystal"] .px-hv-horn-l{left:14%}
.chibi[data-px-helm="crystal"] .px-hv-horn-r{right:14%}

/* === Demon - dark menacing helm with large curved horns + glowing visor === */
.chibi[data-px-helm="demon"] .px-helm-visual{display:block;height:60%}
.chibi[data-px-helm="demon"] .px-hv-dome{background:linear-gradient(150deg,#600,#450A0A,#1C0505);height:75%;box-shadow:inset 0 -4px 8px rgba(0,0,0,0.3),0 2px 10px rgba(127,29,29,0.5)}
.chibi[data-px-helm="demon"] .px-hv-visor{display:block;background:#EF4444;height:10%;bottom:15%;left:25%;width:50%;border-radius:1px;box-shadow:0 0 8px rgba(239,68,68,0.6);opacity:0.8}
.chibi[data-px-helm="demon"] .px-hv-horn-l,.chibi[data-px-helm="demon"] .px-hv-horn-r{display:block;top:-15%;width:20%;height:60%;background:linear-gradient(180deg,#991B1B,#450A0A);clip-path:polygon(50% 0%,15% 60%,0% 100%,100% 100%,85% 60%)}
.chibi[data-px-helm="demon"] .px-hv-horn-l{left:-6%;transform:rotate(-30deg)}
.chibi[data-px-helm="demon"] .px-hv-horn-r{right:-6%;transform:rotate(30deg)}

/* === Phoenix - golden helm with tall fire plume === */
.chibi[data-px-helm="phoenix"] .px-helm-visual{display:block;height:65%;top:-30%}
.chibi[data-px-helm="phoenix"] .px-hv-dome{background:linear-gradient(150deg,#FFE44D,#F59E0B,#D97706);height:60%;bottom:0;box-shadow:inset 0 -4px 8px rgba(0,0,0,0.1),0 2px 10px rgba(245,158,11,0.4)}
.chibi[data-px-helm="phoenix"] .px-hv-visor{display:block;background:#D97706;border-radius:2px;height:12%;bottom:-2%}
.chibi[data-px-helm="phoenix"] .px-hv-crest{display:block;top:0;left:50%;transform:translateX(-50%);width:30%;height:55%;background:linear-gradient(180deg,#FBBF24,#EF4444,#DC2626);clip-path:polygon(50% 0%,25% 30%,0% 100%,50% 75%,100% 100%,75% 30%);filter:drop-shadow(0 0 8px rgba(239,68,68,0.5))}
.chibi[data-px-helm="phoenix"] .px-hv-horn-l,.chibi[data-px-helm="phoenix"] .px-hv-horn-r{display:block;top:20%;width:14%;height:40%;background:linear-gradient(180deg,#FBBF24,#F59E0B);clip-path:polygon(50% 0%,0% 100%,100% 100%)}
.chibi[data-px-helm="phoenix"] .px-hv-horn-l{left:4%;transform:rotate(-20deg)}
.chibi[data-px-helm="phoenix"] .px-hv-horn-r{right:4%;transform:rotate(20deg)}

/* ========== PIXEL HELMET COLOR VARIATIONS ========== */
/* High specificity needed to override pixel theme defaults (0,5,0) */
/* Knight - silver armor */
.love-nest .chibi.chibi[data-px-helm="knight"] .chibi-hair-back{background:linear-gradient(180deg,#9CA3AF,#6B7280)!important}
.love-nest .chibi.chibi[data-px-helm="knight"] .bang-1{background:linear-gradient(180deg,#9CA3AF,#6B7280)!important}
.love-nest .chibi.chibi[data-px-helm="knight"] .body-outfit{background:linear-gradient(180deg,#9CA3AF,#6B7280)!important}
.love-nest .chibi.chibi[data-px-helm="knight"] .chibi-arm{background:linear-gradient(180deg,#9CA3AF,#6B7280)!important}
.love-nest .chibi.chibi[data-px-helm="knight"] .chibi-leg{background:#6B7280!important}
/* Gold - royal gold armor */
.love-nest .chibi.chibi[data-px-helm="gold"] .chibi-hair-back{background:linear-gradient(180deg,#FFD700,#DAA520)!important}
.love-nest .chibi.chibi[data-px-helm="gold"] .bang-1{background:linear-gradient(180deg,#FFD700,#DAA520)!important}
.love-nest .chibi.chibi[data-px-helm="gold"] .body-outfit{background:linear-gradient(180deg,#DAA520,#B8860B)!important}
.love-nest .chibi.chibi[data-px-helm="gold"] .chibi-arm{background:linear-gradient(180deg,#FFD700,#DAA520)!important}
.love-nest .chibi.chibi[data-px-helm="gold"] .chibi-leg{background:#B8860B!important}
.love-nest .chibi.chibi[data-px-helm="gold"] .outfit-stripe{background:#FFF!important;opacity:.3}
/* Dragon - red/black armor + spikes */
.love-nest .chibi.chibi[data-px-helm="dragon"] .chibi-hair-back{background:linear-gradient(180deg,#DC2626,#991B1B)!important}
.love-nest .chibi.chibi[data-px-helm="dragon"] .bang-1{background:linear-gradient(180deg,#DC2626,#991B1B)!important}
.love-nest .chibi.chibi[data-px-helm="dragon"] .body-outfit{background:linear-gradient(180deg,#991B1B,#7F1D1D)!important}
.love-nest .chibi.chibi[data-px-helm="dragon"] .chibi-arm{background:linear-gradient(180deg,#DC2626,#991B1B)!important}
.love-nest .chibi.chibi[data-px-helm="dragon"] .chibi-leg{background:#7F1D1D!important}
.love-nest .chibi.chibi[data-px-helm="dragon"] .outfit-stripe{background:#FFD700!important}
.love-nest .chibi.chibi[data-px-helm="dragon"] .chibi-shoe{background:#2A0A0A!important}
/* Dragon spikes */
.px-spike-l,.px-spike-r{position:absolute;top:-2%;width:10%;height:18%;z-index:4;background:#DC2626;clip-path:polygon(50% 0%,0% 100%,100% 100%)}
.px-spike-l{left:4%;transform:rotate(-20deg)}
.px-spike-r{right:4%;transform:rotate(20deg)}
.love-nest .chibi.chibi[data-px-helm="dragon"] .px-spike-l,.love-nest .chibi.chibi[data-px-helm="dragon"] .px-spike-r{display:block}
/* Leather - brown */
.love-nest .chibi.chibi[data-px-helm="leather"] .chibi-hair-back{background:linear-gradient(180deg,#92400E,#78350F)!important}
.love-nest .chibi.chibi[data-px-helm="leather"] .bang-1{background:linear-gradient(180deg,#92400E,#78350F)!important}
.love-nest .chibi.chibi[data-px-helm="leather"] .body-outfit{background:linear-gradient(180deg,#78350F,#5C2D0E)!important}
.love-nest .chibi.chibi[data-px-helm="leather"] .chibi-arm{background:linear-gradient(180deg,#92400E,#78350F)!important}
/* Bandana - red */
.love-nest .chibi.chibi[data-px-helm="bandana"] .chibi-hair-back{background:linear-gradient(180deg,#DC2626,#B91C1C)!important}
.love-nest .chibi.chibi[data-px-helm="bandana"] .bang-1{background:linear-gradient(180deg,#DC2626,#B91C1C)!important}
/* Viking - dark brown */
.love-nest .chibi.chibi[data-px-helm="viking"] .chibi-hair-back{background:linear-gradient(180deg,#78350F,#5C2D0E)!important}
.love-nest .chibi.chibi[data-px-helm="viking"] .bang-1{background:linear-gradient(180deg,#78350F,#5C2D0E)!important}
.love-nest .chibi.chibi[data-px-helm="viking"] .body-outfit{background:linear-gradient(180deg,#5C2D0E,#4A2410)!important}
.love-nest .chibi.chibi[data-px-helm="viking"] .chibi-arm{background:linear-gradient(180deg,#78350F,#5C2D0E)!important}
.love-nest .chibi.chibi[data-px-helm="viking"] .px-spike-l,.love-nest .chibi.chibi[data-px-helm="viking"] .px-spike-r{display:block;background:#D4A574;clip-path:polygon(50% 0%,30% 100%,70% 100%)}
/* Iron Mask - steel gray */
.love-nest .chibi.chibi[data-px-helm="iron-mask"] .chibi-hair-back{background:linear-gradient(180deg,#6B7280,#4B5563)!important}
.love-nest .chibi.chibi[data-px-helm="iron-mask"] .bang-1{background:linear-gradient(180deg,#6B7280,#4B5563)!important}
.love-nest .chibi.chibi[data-px-helm="iron-mask"] .body-outfit{background:linear-gradient(180deg,#4B5563,#374151)!important}
.love-nest .chibi.chibi[data-px-helm="iron-mask"] .chibi-arm{background:linear-gradient(180deg,#6B7280,#4B5563)!important}
/* Samurai - dark crimson */
.love-nest .chibi.chibi[data-px-helm="samurai"] .chibi-hair-back{background:linear-gradient(180deg,#7C2D12,#5C1F0E)!important}
.love-nest .chibi.chibi[data-px-helm="samurai"] .bang-1{background:linear-gradient(180deg,#7C2D12,#5C1F0E)!important}
.love-nest .chibi.chibi[data-px-helm="samurai"] .body-outfit{background:linear-gradient(180deg,#5C1F0E,#451A03)!important}
.love-nest .chibi.chibi[data-px-helm="samurai"] .chibi-arm{background:linear-gradient(180deg,#7C2D12,#5C1F0E)!important}
/* Gladiator - bronze/gold */
.love-nest .chibi.chibi[data-px-helm="gladiator"] .chibi-hair-back{background:linear-gradient(180deg,#B8860B,#8B6914)!important}
.love-nest .chibi.chibi[data-px-helm="gladiator"] .bang-1{background:linear-gradient(180deg,#B8860B,#8B6914)!important}
.love-nest .chibi.chibi[data-px-helm="gladiator"] .body-outfit{background:linear-gradient(180deg,#8B6914,#6B5210)!important}
.love-nest .chibi.chibi[data-px-helm="gladiator"] .chibi-arm{background:linear-gradient(180deg,#B8860B,#8B6914)!important}
.love-nest .chibi.chibi[data-px-helm="gladiator"] .px-spike-l,.love-nest .chibi.chibi[data-px-helm="gladiator"] .px-spike-r{display:block;background:#B8860B;height:22%;clip-path:polygon(50% 0%,20% 100%,80% 100%)}
/* Wizard - purple */
.love-nest .chibi.chibi[data-px-helm="wizard"] .chibi-hair-back{background:linear-gradient(180deg,#6D28D9,#5B21B6)!important}
.love-nest .chibi.chibi[data-px-helm="wizard"] .bang-1{background:linear-gradient(180deg,#6D28D9,#5B21B6)!important}
.love-nest .chibi.chibi[data-px-helm="wizard"] .body-outfit{background:linear-gradient(180deg,#5B21B6,#4C1D95)!important}
.love-nest .chibi.chibi[data-px-helm="wizard"] .chibi-arm{background:linear-gradient(180deg,#6D28D9,#5B21B6)!important}
/* Crystal - amethyst */
.love-nest .chibi.chibi[data-px-helm="crystal"] .chibi-hair-back{background:linear-gradient(180deg,#A78BFA,#7C3AED)!important}
.love-nest .chibi.chibi[data-px-helm="crystal"] .bang-1{background:linear-gradient(180deg,#A78BFA,#7C3AED)!important}
.love-nest .chibi.chibi[data-px-helm="crystal"] .body-outfit{background:linear-gradient(180deg,#7C3AED,#6D28D9)!important}
.love-nest .chibi.chibi[data-px-helm="crystal"] .chibi-arm{background:linear-gradient(180deg,#A78BFA,#7C3AED)!important}
/* Demon - dark blood */
.love-nest .chibi.chibi[data-px-helm="demon"] .chibi-hair-back{background:linear-gradient(180deg,#7F1D1D,#450A0A)!important}
.love-nest .chibi.chibi[data-px-helm="demon"] .bang-1{background:linear-gradient(180deg,#7F1D1D,#450A0A)!important}
.love-nest .chibi.chibi[data-px-helm="demon"] .body-outfit{background:linear-gradient(180deg,#450A0A,#1C0505)!important}
.love-nest .chibi.chibi[data-px-helm="demon"] .chibi-arm{background:linear-gradient(180deg,#7F1D1D,#450A0A)!important}
.love-nest .chibi.chibi[data-px-helm="demon"] .px-spike-l,.love-nest .chibi.chibi[data-px-helm="demon"] .px-spike-r{display:block;background:#991B1B}
/* Phoenix - fire gold */
.love-nest .chibi.chibi[data-px-helm="phoenix"] .chibi-hair-back{background:linear-gradient(180deg,#F59E0B,#D97706)!important}
.love-nest .chibi.chibi[data-px-helm="phoenix"] .bang-1{background:linear-gradient(180deg,#F59E0B,#EF4444)!important}
.love-nest .chibi.chibi[data-px-helm="phoenix"] .body-outfit{background:linear-gradient(180deg,#D97706,#B45309)!important}
.love-nest .chibi.chibi[data-px-helm="phoenix"] .chibi-arm{background:linear-gradient(180deg,#F59E0B,#D97706)!important}
.love-nest .chibi.chibi[data-px-helm="phoenix"] .px-spike-l,.love-nest .chibi.chibi[data-px-helm="phoenix"] .px-spike-r{display:block;background:linear-gradient(180deg,#EF4444,#F59E0B);height:24%}
/* Pixel shop preview colors */
.px-preview-basic{background:#4488FF}
.px-preview-knight{background:#9CA3AF}
.px-preview-gold{background:linear-gradient(135deg,#FFD700,#DAA520)}
.px-preview-dragon{background:linear-gradient(135deg,#DC2626,#991B1B)}

/* ========== NEST TABS ========== */
.nest-tabs {
  display: flex; gap: 4px; margin-bottom: 14px;
  background: var(--ln-panel); border-radius: var(--ln-radius-sm);
  border: 1px solid var(--ln-border); padding: 6px;
}
.nest-tab {
  flex: 1; text-align: center; padding: 10px 8px;
  border-radius: 8px; font-family: var(--ln-font);
  font-size: 13px; font-weight: 700; cursor: pointer;
  transition: all 200ms ease; color: var(--ln-muted);
  text-decoration: none; display: block;
  border: 2px solid transparent;
}
.nest-tab:hover { color: var(--ln-pink); }
.nest-tab.active {
  background: rgba(255,45,120,0.1);
  color: var(--ln-pink);
  border-color: rgba(255,45,120,0.25);
  box-shadow: var(--ln-glow-pink);
}

/* ========== SETUP WIZARD ========== */
#nest-setup {
  padding: 20px 16px;
  background: var(--ln-panel);
  border-radius: var(--ln-radius);
  border: 1px solid var(--ln-border);
}
.setup-header { text-align: center; margin-bottom: 28px; }
.setup-subtitle { color: var(--ln-muted); font-size: 14px; margin-top: 6px; }

.setup-step-label {
  font-size: 11px; font-weight: 600; color: var(--ln-muted);
  text-transform: uppercase; letter-spacing: 1px;
  margin-bottom: 16px; text-align: center;
}

.setup-theme-cards { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.setup-theme-card {
  display: flex; align-items: stretch; gap: 0;
  border-radius: 14px;
  border: 2px solid var(--ln-border);
  background: var(--ln-card); cursor: pointer;
  transition: all 200ms ease; font-family: var(--ln-font);
  color: var(--ln-text); text-align: left; overflow: hidden;
}
.setup-theme-card:hover { border-color: var(--ln-purple); }
.setup-theme-card.active {
  border-color: var(--ln-purple);
  background: rgba(178,75,243,0.08);
  box-shadow: var(--ln-glow-purple);
}

/* Setup preview mini-scene */
.setup-preview {
  width: 100px; min-height: 100px; flex-shrink: 0;
  position: relative; overflow: hidden;
}
.setup-preview .sp-room {
  position: absolute; inset: 0;
}
.setup-preview .sp-glow {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 60px; height: 30px; border-radius: 50%;
  filter: blur(10px); opacity: 0.5;
}
.sp-mini {
  position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%);
}

/* ---- ANIME NEKO mini ---- */
.sp-anime .sp-room { background: linear-gradient(180deg, #0D0D1A 0%, #1A0A2E 60%, #2A1040 100%); }
.sp-anime .sp-glow { background: radial-gradient(ellipse, rgba(178,75,243,0.6), transparent); }

.sp-mini-anime { width: 40px; height: 58px; }
.sp-a-hair-back {
  position: absolute; top: 4px; left: 2px; width: 36px; height: 34px;
  background: #5A2A7E; border-radius: 50% 50% 40% 40%;
}
.sp-a-ear {
  position: absolute; top: -2px; width: 0; height: 0;
  border-left: 7px solid transparent; border-right: 7px solid transparent;
  border-bottom: 12px solid #6B2D9E;
}
.sp-a-ear-l { left: 2px; transform: rotate(-10deg); }
.sp-a-ear-r { right: 2px; transform: rotate(10deg); }
.sp-a-ear::after {
  content: ""; position: absolute; top: 5px; left: -4px;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-bottom: 7px solid #FF69B4;
}
.sp-a-head {
  position: absolute; top: 6px; left: 4px; width: 32px; height: 28px;
  background: #FFE0D0; border-radius: 50%;
}
.sp-a-bangs {
  position: absolute; top: -2px; left: -2px; right: -2px; height: 16px;
  background: linear-gradient(180deg, #7B3DB0, #6B2D9E);
  border-radius: 16px 16px 4px 4px;
  clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 85% 100%, 65% 75%, 50% 100%, 35% 75%, 15% 100%, 0% 70%);
}
.sp-a-face {
  position: absolute; top: 13px; left: 4px; right: 4px;
  display: flex; justify-content: space-between;
}
.sp-a-eye {
  width: 9px; height: 9px; border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #E040A0, #8020C0);
  box-shadow: 0 0 3px rgba(224,64,160,0.5);
  position: relative;
}
.sp-a-eye::after {
  content: ""; position: absolute; top: 2px; left: 2px;
  width: 3px; height: 3px; border-radius: 50%; background: #fff;
}
.sp-a-mouth {
  position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 3px; border-radius: 0 0 4px 4px;
  background: #E86080;
}
.sp-a-blush {
  position: absolute; top: 17px; width: 6px; height: 3px;
  background: rgba(255,105,180,0.35); border-radius: 50%;
}
.sp-a-blush-l { left: 1px; }
.sp-a-blush-r { right: 1px; }
.sp-a-body {
  position: absolute; top: 34px; left: 8px; width: 24px; height: 18px;
  background: linear-gradient(180deg, #FF2D78, #D02060);
  border-radius: 6px 6px 4px 4px;
}
.sp-a-body::after {
  content: ""; position: absolute; top: 3px; left: 50%; transform: translateX(-50%);
  width: 6px; height: 6px; background: rgba(255,255,255,0.25);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
.sp-a-tail {
  position: absolute; bottom: 4px; right: -4px; width: 14px; height: 8px;
  border: 2px solid #6B2D9E; border-radius: 0 12px 12px 0;
  border-left: none;
}

/* ---- KAWAII PET mini ---- */
.sp-kawaii .sp-room { background: linear-gradient(180deg, #FFF0F5 0%, #FFE4F0 60%, #FFD6E8 100%); }
.sp-kawaii .sp-glow { background: radial-gradient(ellipse, rgba(255,105,180,0.4), transparent); }

.sp-mini-kawaii { width: 44px; height: 54px; }
.sp-k-ear {
  position: absolute; top: -1px; width: 0; height: 0;
  border-left: 7px solid transparent; border-right: 7px solid transparent;
  border-bottom: 13px solid #FFB6D9;
}
.sp-k-ear::after {
  content: ""; position: absolute; top: 5px; left: -4px;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-bottom: 8px solid #FFDDEE;
}
.sp-k-ear-l { left: 5px; transform: rotate(-12deg); }
.sp-k-ear-r { right: 5px; transform: rotate(12deg); }
.sp-k-bow {
  position: absolute; top: -3px; left: 50%; transform: translateX(-50%); z-index: 2;
  width: 16px; height: 10px;
}
.sp-k-bow::before, .sp-k-bow::after {
  content: ""; position: absolute; top: 1px;
  width: 7px; height: 7px; border-radius: 50%;
  background: #FF69B4;
}
.sp-k-bow::before { left: 0; }
.sp-k-bow::after { right: 0; }
.sp-k-head {
  position: absolute; top: 8px; left: 2px; width: 40px; height: 32px;
  background: #FFD6E8; border-radius: 50%;
}
.sp-k-eye {
  position: absolute; top: 14px; width: 6px; height: 6px; border-radius: 50%;
  background: #333;
}
.sp-k-head .sp-k-eye:first-child { left: 10px; }
.sp-k-head .sp-k-eye:nth-child(2) { right: 10px; }
.sp-k-eye::after {
  content: ""; position: absolute; top: 1px; left: 1px;
  width: 2px; height: 2px; border-radius: 50%; background: #fff;
}
.sp-k-mouth {
  position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%);
  width: 5px; height: 3px; background: #FF8EC4;
  border-radius: 0 0 5px 5px;
}
.sp-k-blush {
  position: absolute; top: 18px; width: 7px; height: 4px;
  background: rgba(255,150,200,0.45); border-radius: 50%;
}
.sp-k-blush-l { left: 3px; }
.sp-k-blush-r { right: 3px; }
.sp-k-body {
  position: absolute; top: 36px; left: 8px; width: 28px; height: 14px;
  background: #FFB6D9; border-radius: 8px 8px 10px 10px;
}
.sp-k-paw {
  position: absolute; top: 44px; width: 8px; height: 6px;
  background: #FFD6E8; border-radius: 50%;
}
.sp-k-paw-l { left: 6px; }
.sp-k-paw-r { right: 6px; }
.sp-k-tail {
  position: absolute; bottom: 6px; right: -2px; width: 12px; height: 10px;
  border: 2px solid #FFB6D9; border-radius: 0 10px 10px 0;
  border-left: none;
}

/* ---- PIXEL HERO mini ---- */
.sp-pixel .sp-room { background: linear-gradient(180deg, #0A1628 0%, #0D2140 60%, #142850 100%); }
.sp-pixel .sp-glow { background: radial-gradient(ellipse, rgba(68,136,255,0.5), transparent); }

.sp-mini-pixel { width: 36px; height: 56px; image-rendering: pixelated; }
.sp-p-helm {
  position: absolute; top: 0; left: 4px; width: 28px; height: 14px;
  background: #4488FF; border-radius: 3px 3px 0 0;
  box-shadow: inset 0 -2px 0 #3366CC;
}
.sp-p-helm::before {
  content: ""; position: absolute; top: -4px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 6px; background: #FFD700;
}
.sp-p-visor {
  position: absolute; top: 10px; left: 6px; width: 24px; height: 4px;
  background: #00E5FF; box-shadow: 0 0 4px rgba(0,229,255,0.6);
}
.sp-p-face {
  position: absolute; top: 14px; left: 6px; width: 24px; height: 12px;
  background: #FFD9B3; border-radius: 0 0 2px 2px;
  display: flex; justify-content: space-between; align-items: center;
  padding: 0 4px;
}
.sp-p-eye {
  width: 4px; height: 4px; background: #222; border-radius: 1px;
}
.sp-p-body {
  position: absolute; top: 26px; left: 4px; width: 28px; height: 16px;
  background: #3366CC;
  box-shadow: inset 0 -2px 0 #224499;
}
.sp-p-body::after {
  content: ""; position: absolute; top: 3px; left: 50%; transform: translateX(-50%);
  width: 8px; height: 8px; background: #44DD44;
  clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
}
.sp-p-arm {
  position: absolute; top: 28px; width: 6px; height: 12px;
  background: #3366CC; border-radius: 1px;
}
.sp-p-arm-l { left: -1px; }
.sp-p-arm-r { right: -1px; }
.sp-p-sword {
  position: absolute; top: 18px; right: -6px; width: 3px; height: 22px;
  background: linear-gradient(180deg, #FFD700, #C0C0C0);
  border-radius: 1px; transform: rotate(15deg);
}
.sp-p-sword::before {
  content: ""; position: absolute; bottom: -2px; left: -2px;
  width: 7px; height: 3px; background: #8B6914; border-radius: 1px;
}
.sp-p-leg {
  position: absolute; top: 42px; width: 10px; height: 10px;
  background: #224499; border-radius: 0 0 2px 2px;
}
.sp-p-leg-l { left: 5px; }
.sp-p-leg-r { right: 5px; }
.sp-p-leg::after {
  content: ""; position: absolute; bottom: 0; left: -1px;
  width: 12px; height: 4px; background: #553322; border-radius: 1px;
}

/* Theme card info */
.setup-theme-info {
  display: flex; flex-direction: column; justify-content: center;
  padding: 12px 14px; gap: 4px; flex: 1;
}
.setup-theme-name { font-weight: 700; font-size: 15px; display: block; }
.setup-theme-desc { font-size: 11px; color: var(--ln-muted); display: block; line-height: 1.4; }
.setup-theme-colors {
  display: flex; gap: 5px; margin-top: 4px;
}
.sp-dot {
  width: 12px; height: 12px; border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.15);
}

.setup-nav { display: flex; gap: 10px; justify-content: center; margin-top: 20px; }

.setup-next-btn, .setup-confirm-btn {
  display: block; width: 100%; padding: 12px 24px;
  border: none; border-radius: 10px;
  font-family: var(--ln-font); font-size: 15px; font-weight: 700;
  cursor: pointer; transition: all 200ms ease;
}
.setup-next-btn {
  background: var(--ln-purple); color: #fff;
  box-shadow: 0 0 15px rgba(178,75,243,0.3);
}
.setup-next-btn:hover { background: #9B3AD8; }
.setup-confirm-btn {
  background: linear-gradient(135deg, var(--ln-pink), var(--ln-purple));
  color: #fff; box-shadow: 0 0 20px rgba(255,45,120,0.3);
}
.setup-confirm-btn:hover { opacity: 0.9; }

.setup-back-btn {
  padding: 10px 20px; border: 2px solid var(--ln-border);
  border-radius: 10px; background: transparent;
  color: var(--ln-muted); font-family: var(--ln-font);
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: all 200ms ease;
}
.setup-back-btn:hover { border-color: var(--ln-muted); color: var(--ln-text); }

.setup-starter-info {
  display: flex; flex-direction: column; gap: 10px;
  background: var(--ln-card); border-radius: 12px;
  padding: 16px; border: 1px solid var(--ln-border);
}
.setup-starter-item {
  font-size: 14px; padding: 6px 0;
  border-bottom: 1px solid var(--ln-border);
}
.setup-starter-item:last-child { border-bottom: none; }

/* ========== ROOM THEMES (data-room on .room-card) ========== */
.room-card[data-room="sakura"] .room-wall{background:linear-gradient(180deg,#FFE0EC,#FFD6E3)}
.room-card[data-room="sakura"] .room-floor{background:linear-gradient(180deg,#F8D6E0,#FFD0DB)}
.room-card[data-room="sakura"] .room-rug{background:linear-gradient(135deg,rgba(255,183,197,0.3),rgba(255,182,218,0.2))}
.room-card[data-room="sakura"] .room-led-strip{background:linear-gradient(90deg,#FFB7C5,#FF69B4,#FFB7C5);box-shadow:0 0 8px rgba(255,105,180,0.3)}

.room-card[data-room="ocean"] .room-wall{background:linear-gradient(180deg,#0B3D5C,#0A4B7C)}
.room-card[data-room="ocean"] .room-floor{background:linear-gradient(180deg,#0D5280,#0A4068)}
.room-card[data-room="ocean"] .room-rug{background:linear-gradient(135deg,rgba(0,180,216,0.15),rgba(144,224,239,0.1))}
.room-card[data-room="ocean"] .room-led-strip{background:linear-gradient(90deg,#00B4D8,#0077B6,#90E0EF);box-shadow:0 0 8px rgba(0,180,216,0.4)}

.room-card[data-room="space"] .room-wall{background:linear-gradient(180deg,#0B0B2B,#1B1464);background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,0.5),transparent),radial-gradient(1px 1px at 30% 60%,rgba(255,255,255,0.4),transparent),radial-gradient(1px 1px at 50% 10%,rgba(255,255,255,0.6),transparent),radial-gradient(1px 1px at 70% 40%,rgba(255,255,255,0.3),transparent),radial-gradient(1px 1px at 90% 70%,rgba(255,255,255,0.5),transparent),linear-gradient(180deg,#0B0B2B,#1B1464)}
.room-card[data-room="space"] .room-floor{background:linear-gradient(180deg,#151540,#0E0E30)}
.room-card[data-room="space"] .room-rug{background:linear-gradient(135deg,rgba(109,40,217,0.15),rgba(99,102,241,0.1))}
.room-card[data-room="space"] .room-led-strip{background:linear-gradient(90deg,#6D28D9,#3B82F6,#6D28D9);box-shadow:0 0 8px rgba(109,40,217,0.4)}

.room-card[data-room="forest"] .room-wall{background:linear-gradient(180deg,#1A3A0A,#2D5016)}
.room-card[data-room="forest"] .room-floor{background:linear-gradient(180deg,#3D5A1E,#2A4412)}
.room-card[data-room="forest"] .room-rug{background:linear-gradient(135deg,rgba(74,222,128,0.12),rgba(134,239,172,0.08))}
.room-card[data-room="forest"] .room-led-strip{background:linear-gradient(90deg,#4ADE80,#22C55E,#86EFAC);box-shadow:0 0 8px rgba(34,197,94,0.4)}

.room-card[data-room="sunset-beach"] .room-wall{background:linear-gradient(180deg,#F97316,#FBBF24)}
.room-card[data-room="sunset-beach"] .room-floor{background:linear-gradient(180deg,#F5DEB3,#EDD9A3)}
.room-card[data-room="sunset-beach"] .room-rug{background:linear-gradient(135deg,rgba(251,191,36,0.2),rgba(249,115,22,0.1))}
.room-card[data-room="sunset-beach"] .room-led-strip{background:linear-gradient(90deg,#F97316,#FBBF24,#FDE68A);box-shadow:0 0 8px rgba(249,115,22,0.4)}

.room-card[data-room="city-night"] .room-wall{background:linear-gradient(180deg,#1E1B4B,#312E81)}
.room-card[data-room="city-night"] .room-floor{background:linear-gradient(180deg,#1E1B4B,#1A1740)}
.room-card[data-room="city-night"] .room-rug{background:linear-gradient(135deg,rgba(244,114,182,0.1),rgba(55,48,163,0.08))}
.room-card[data-room="city-night"] .room-led-strip{background:linear-gradient(90deg,#F472B6,#3730A3,#F472B6);box-shadow:0 0 8px rgba(244,114,182,0.3)}

.room-card[data-room="snow-cabin"] .room-wall{background:linear-gradient(180deg,#F0F7FF,#DBEAFE)}
.room-card[data-room="snow-cabin"] .room-floor{background:linear-gradient(180deg,#C4A882,#B09070)}
.room-card[data-room="snow-cabin"] .room-rug{background:linear-gradient(135deg,rgba(147,197,253,0.2),rgba(191,219,254,0.15))}
.room-card[data-room="snow-cabin"] .room-led-strip{background:linear-gradient(90deg,#93C5FD,#BFDBFE,#E0F2FE);box-shadow:0 0 8px rgba(147,197,253,0.3)}

.room-card[data-room="garden"] .room-wall{background:linear-gradient(180deg,#F0FDF4,#DCFCE7)}
.room-card[data-room="garden"] .room-floor{background:linear-gradient(180deg,#BBF7D0,#A7F3D0)}
.room-card[data-room="garden"] .room-rug{background:linear-gradient(135deg,rgba(249,168,212,0.15),rgba(187,247,208,0.1))}
.room-card[data-room="garden"] .room-led-strip{background:linear-gradient(90deg,#F9A8D4,#BBF7D0,#F9A8D4);box-shadow:0 0 8px rgba(249,168,212,0.3)}

.room-card[data-room="steampunk"] .room-wall{background:linear-gradient(180deg,#44260D,#78350F)}
.room-card[data-room="steampunk"] .room-floor{background:linear-gradient(180deg,#5C3310,#4A280C)}
.room-card[data-room="steampunk"] .room-rug{background:linear-gradient(135deg,rgba(217,119,6,0.15),rgba(146,64,14,0.1))}
.room-card[data-room="steampunk"] .room-led-strip{background:linear-gradient(90deg,#D97706,#B45309,#D97706);box-shadow:0 0 8px rgba(217,119,6,0.4)}

.room-card[data-room="crystal-cave"] .room-wall{background:linear-gradient(180deg,#2E1065,#4C1D95)}
.room-card[data-room="crystal-cave"] .room-floor{background:linear-gradient(180deg,#3B0F80,#2E1065)}
.room-card[data-room="crystal-cave"] .room-rug{background:linear-gradient(135deg,rgba(167,139,250,0.15),rgba(124,58,237,0.1))}
.room-card[data-room="crystal-cave"] .room-led-strip{background:linear-gradient(90deg,#A78BFA,#7C3AED,#A78BFA);box-shadow:0 0 8px rgba(167,139,250,0.4)}

.room-card[data-room="coral-reef"] .room-wall{background:linear-gradient(180deg,#0E4D64,#0891B2)}
.room-card[data-room="coral-reef"] .room-floor{background:linear-gradient(180deg,#0C5A72,#0A4858)}
.room-card[data-room="coral-reef"] .room-rug{background:linear-gradient(135deg,rgba(244,114,182,0.12),rgba(6,182,212,0.1))}
.room-card[data-room="coral-reef"] .room-led-strip{background:linear-gradient(90deg,#06B6D4,#F472B6,#06B6D4);box-shadow:0 0 8px rgba(6,182,212,0.4)}

.room-card[data-room="aurora"] .room-wall{background:linear-gradient(180deg,#042F2E,#064E3B)}
.room-card[data-room="aurora"] .room-floor{background:linear-gradient(180deg,#053B34,#042F2E)}
.room-card[data-room="aurora"] .room-rug{background:linear-gradient(135deg,rgba(16,185,129,0.12),rgba(99,102,241,0.08))}
.room-card[data-room="aurora"] .room-led-strip{background:linear-gradient(90deg,#10B981,#6366F1,#10B981);box-shadow:0 0 8px rgba(16,185,129,0.4)}

.room-card[data-room="volcano"] .room-wall{background:linear-gradient(180deg,#3B0E0E,#7C2D12)}
.room-card[data-room="volcano"] .room-floor{background:linear-gradient(180deg,#5C1F0E,#3B0E0E)}
.room-card[data-room="volcano"] .room-rug{background:linear-gradient(135deg,rgba(239,68,68,0.15),rgba(245,158,11,0.1))}
.room-card[data-room="volcano"] .room-led-strip{background:linear-gradient(90deg,#EF4444,#F59E0B,#EF4444);box-shadow:0 0 8px rgba(239,68,68,0.4)}

/* ========== SHOP SECTIONS ========== */
.hair-section, .kw-shop-section, .px-shop-section {
  margin-top: 16px;
}
.section-label {
  font-size: 13px; font-weight: 700; color: var(--ln-text);
  margin-bottom: 10px; padding-left: 4px;
}

/* ========== INVENTORY ========== */
.inv-section { margin-top: 20px; }
.inv-grid {
  display: flex; flex-direction: column; gap: 16px;
}
.inv-cat-section {}
.inv-cat-header {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--ln-muted);
  margin-bottom: 8px; padding-left: 2px;
}
.inv-cat-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 8px;
}
.inv-empty {
  text-align: center; color: var(--ln-muted); font-size: 12px; padding: 24px 12px;
}
.inv-item {
  display: flex; flex-direction: column; align-items: center;
  gap: 4px; padding: 10px 6px;
  background: var(--ln-card); border-radius: 10px;
  border: 1px solid var(--ln-border);
  font-size: 11px; color: var(--ln-muted); text-align: center;
  cursor: pointer; transition: all 150ms ease; position: relative;
}
.inv-item:hover { border-color: var(--ln-pink); transform: translateY(-2px); }
.inv-item .inv-icon { font-size: 22px; }
.inv-item .inv-name { font-weight: 600; line-height: 1.2; }
.inv-item.inv-equipped {
  border-color: var(--ln-cyan);
  background: rgba(0,229,255,0.06);
  color: var(--ln-cyan);
}
.inv-badge {
  position: absolute; top: 4px; right: 4px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--ln-cyan); color: #0B0B1A;
  font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}

/* ========== STORE CTA ========== */
.shop-cta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 20px; padding: 14px 18px;
  background: linear-gradient(135deg, rgba(255,45,120,0.12), rgba(178,75,243,0.12));
  border: 1px solid rgba(255,45,120,0.2);
  border-radius: var(--ln-radius-sm);
  text-decoration: none; color: var(--ln-pink);
  font-weight: 700; font-size: 14px;
  transition: all 200ms ease;
}
.shop-cta:hover {
  background: linear-gradient(135deg, rgba(255,45,120,0.2), rgba(178,75,243,0.2));
  border-color: var(--ln-pink);
}
.shop-arrow { font-size: 20px; }

/* ========== ROOM INFO BAR ========== */
.room-info {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 10px; padding: 0 4px;
}
.mood-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 12px; border-radius: 20px;
  font-size: 12px; font-weight: 600;
  border: 1.5px solid;
}
.mood-badge.m-happy { color: var(--ln-pink); border-color: rgba(255,45,120,0.3); background: rgba(255,45,120,0.08); }
.mood-badge.m-chill { color: var(--ln-cyan); border-color: rgba(0,229,255,0.3); background: rgba(0,229,255,0.08); }
.mood-badge.m-sad { color: #8B87A0; border-color: rgba(139,135,160,0.3); background: rgba(139,135,160,0.08); }
.mood-badge.m-sleep { color: var(--ln-purple); border-color: rgba(178,75,243,0.3); background: rgba(178,75,243,0.08); }

.room-btns { display: flex; gap: 6px; }
.room-btn {
  padding: 4px 12px; border-radius: 20px;
  border: 1.5px solid var(--ln-border); background: var(--ln-panel);
  font-family: var(--ln-font); font-size: 12px; font-weight: 600;
  color: var(--ln-muted); cursor: pointer; transition: all 150ms ease;
}
.room-btn:hover { border-color: var(--ln-pink); color: var(--ln-pink); }

/* ========== NOT LOGGED IN STATE ========== */
.nest-guest {
  text-align: center; padding: 60px 20px;
  background: var(--ln-panel); border-radius: var(--ln-radius);
  border: 1px solid var(--ln-border);
}
.nest-guest h1 {
  font-family: var(--ln-font); font-size: 24px; font-weight: 800;
  margin-bottom: 12px;
  background: linear-gradient(90deg, var(--ln-pink), var(--ln-purple));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.nest-guest p { color: var(--ln-muted); margin-bottom: 20px; }
.nest-guest a {
  display: inline-block; padding: 10px 24px;
  background: var(--ln-pink); color: #fff; border-radius: 20px;
  font-weight: 600; text-decoration: none;
  transition: background 200ms ease;
}
.nest-guest a:hover { background: #E0205A; }

/* ========== SHARED VISUAL PREVIEWS (store + nest) ========== */
.store-preview {
  width: 56px; height: 56px; margin: 0 auto 6px;
  position: relative; border-radius: 10px; overflow: hidden;
  background: rgba(255,255,255,0.03);
}

/* -- Color swatches -- */
.sv-clr {
  width: 36px; height: 36px; border-radius: 50%;
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  border: 2px solid rgba(255,255,255,0.15);
}

/* -- Hairstyle previews -- */
.sv-hs { position: relative; width: 100%; height: 100%; }
.sv-hs-face {
  width: 20px; height: 22px; background: #FFD5B8; border-radius: 50%;
  position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); z-index: 2;
}
.sv-hs-face::before, .sv-hs-face::after {
  content: ''; position: absolute; width: 3px; height: 3px;
  background: #333; border-radius: 50%; top: 9px;
}
.sv-hs-face::before { left: 5px; }
.sv-hs-face::after { right: 5px; }
.sv-hs-hair { position: absolute; z-index: 3; background: #6B2D9E; }
.sv-hs-long .sv-hs-hair {
  width: 26px; height: 30px; bottom: 8px; left: 50%; transform: translateX(-50%);
  border-radius: 10px 10px 4px 4px;
}
.sv-hs-spiky .sv-hs-hair {
  width: 28px; height: 16px; bottom: 26px; left: 50%; transform: translateX(-50%);
  clip-path: polygon(0% 100%,12% 20%,25% 100%,38% 0%,50% 80%,62% 0%,75% 100%,88% 20%,100% 100%);
}
.sv-hs-bob .sv-hs-hair {
  width: 26px; height: 22px; bottom: 16px; left: 50%; transform: translateX(-50%);
  border-radius: 8px 8px 6px 6px;
}
.sv-hs-ponytail .sv-hs-hair {
  width: 24px; height: 12px; bottom: 26px; left: 50%; transform: translateX(-50%);
  border-radius: 10px 10px 0 0;
}
.sv-hs-ponytail .sv-hs-tail {
  position: absolute; z-index: 1; width: 5px; height: 20px;
  background: #5A2280; border-radius: 3px;
  right: 11px; bottom: 6px; transform: rotate(8deg);
}
.sv-hs-twintails .sv-hs-hair {
  width: 24px; height: 12px; bottom: 26px; left: 50%; transform: translateX(-50%);
  border-radius: 10px 10px 0 0;
}
.sv-hs-twintails .sv-hs-tail-l,
.sv-hs-twintails .sv-hs-tail-r {
  position: absolute; z-index: 1; width: 5px; height: 22px;
  background: #5A2280; border-radius: 3px; bottom: 4px;
}
.sv-hs-twintails .sv-hs-tail-l { left: 10px; transform: rotate(-5deg); }
.sv-hs-twintails .sv-hs-tail-r { right: 10px; transform: rotate(5deg); }
.sv-hs-undercut .sv-hs-hair {
  width: 18px; height: 10px; bottom: 26px; left: 50%; transform: translateX(-50%);
  border-radius: 6px 6px 0 0;
}
.sv-hs-undercut .sv-hs-shave-l,
.sv-hs-undercut .sv-hs-shave-r {
  position: absolute; z-index: 1; width: 5px; height: 5px;
  background: rgba(107,45,158,0.3); border-radius: 0 0 2px 2px; bottom: 22px;
}
.sv-hs-undercut .sv-hs-shave-l { left: 14px; }
.sv-hs-undercut .sv-hs-shave-r { right: 14px; }

/* -- Nest theme characters (scaled from setup-preview) -- */
.sv-char {
  width: 56px; height: 56px; position: relative;
  overflow: hidden; border-radius: 10px;
}
.sv-char .sp-room { position: absolute; inset: 0; }
.sv-char .sp-glow {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 30px; height: 16px; border-radius: 50%;
  filter: blur(6px); opacity: 0.5;
}
.sv-char .sp-mini {
  position: absolute; bottom: 2px; left: 50%;
  transform: translateX(-50%) scale(0.52); transform-origin: bottom center;
}

/* -- Accessory previews -- */
.sv-acc {
  position: relative; width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
}
.sv-bow { width: 24px; height: 14px; position: relative; }
.sv-bow::before, .sv-bow::after {
  content: ''; position: absolute; top: 0;
  width: 10px; height: 14px; background: #FF69B4; border-radius: 50%;
}
.sv-bow::before { left: 0; }
.sv-bow::after { right: 0; }
.sv-bow-center {
  width: 6px; height: 6px; background: #FF1493; border-radius: 50%;
  position: absolute; top: 4px; left: 50%; transform: translateX(-50%); z-index: 1;
}
.sv-ribbon {
  width: 8px; height: 28px; background: #DC2626; border-radius: 2px; position: relative;
}
.sv-ribbon::after {
  content: ''; position: absolute; bottom: -5px; left: -3px;
  width: 0; height: 0;
  border-left: 7px solid transparent; border-right: 7px solid transparent;
  border-top: 7px solid #DC2626;
}
.sv-glasses { position: relative; width: 30px; height: 14px; }
.sv-glasses-lens {
  width: 11px; height: 11px; border: 2px solid #B8860B;
  border-radius: 50%; position: absolute; top: 2px;
}
.sv-glasses-lens:first-child { left: 0; }
.sv-glasses-lens:nth-child(2) { right: 0; }
.sv-glasses-bridge {
  width: 4px; height: 2px; background: #B8860B;
  position: absolute; top: 7px; left: 50%; transform: translateX(-50%);
}
.sv-hp { width: 28px; height: 26px; position: relative; }
.sv-hp-band {
  width: 22px; height: 12px; border: 3px solid #333;
  border-bottom: none; border-radius: 14px 14px 0 0;
  position: absolute; top: 2px; left: 50%; transform: translateX(-50%);
}
.sv-hp-cup {
  width: 8px; height: 10px; background: #FF69B4; border-radius: 3px;
  position: absolute; bottom: 0;
}
.sv-hp-cup-l { left: 1px; }
.sv-hp-cup-r { right: 1px; }
.sv-hp-ear {
  width: 0; height: 0; position: absolute; top: -2px;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-bottom: 6px solid #FF69B4;
}
.sv-hp-ear-l { left: -1px; }
.sv-hp-ear-r { right: -1px; }
.sv-crown { width: 28px; height: 22px; position: relative; }
.sv-crown-peaks {
  width: 28px; height: 16px; position: absolute; top: 0;
  background: #FFD700;
  clip-path: polygon(0% 100%,0% 40%,18% 100%,33% 0%,50% 75%,67% 0%,82% 100%,100% 40%,100% 100%);
}
.sv-crown-base {
  width: 28px; height: 8px; background: #FFD700;
  border-radius: 0 0 3px 3px; position: absolute; bottom: 0;
}
.sv-crown-gem {
  width: 5px; height: 5px; background: #DC2626; border-radius: 50%;
  position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%); z-index: 1;
  box-shadow: 0 0 4px rgba(220,38,38,0.6);
}

/* -- Equipment (pixel helms) -- */
.sv-helm { position: relative; width: 30px; height: 26px; }
.sv-helm-dome {
  width: 30px; height: 18px; border-radius: 16px 16px 4px 4px;
  position: absolute; top: 0;
}
.sv-helm-visor {
  width: 22px; height: 6px; border-radius: 2px;
  position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%);
}
.sv-helm-basic .sv-helm-dome { background: #6B7280; }
.sv-helm-basic .sv-helm-visor { background: #374151; }
.sv-helm-knight .sv-helm-dome { background: #9CA3AF; border: 1px solid #6B7280; }
.sv-helm-knight .sv-helm-visor { background: #1F2937; }
.sv-helm-knight .sv-helm-crest {
  position: absolute; top: -2px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 20px; background: #9CA3AF; border-radius: 2px;
}
.sv-helm-gold .sv-helm-dome { background: linear-gradient(180deg,#FFD700,#DAA520); }
.sv-helm-gold .sv-helm-visor { background: #8B6914; }
.sv-helm-gold .sv-helm-gem {
  position: absolute; top: -3px; left: 50%; transform: translateX(-50%);
  width: 6px; height: 6px; background: #FFD700; border-radius: 50%;
  box-shadow: 0 0 8px rgba(255,215,0,0.6);
}
.sv-helm-dragon .sv-helm-dome { background: linear-gradient(180deg,#DC2626,#991B1B); }
.sv-helm-dragon .sv-helm-visor { background: #00FF88; box-shadow: 0 0 6px rgba(0,255,136,0.5); }
.sv-helm-dragon .sv-helm-horn {
  position: absolute; top: -6px; width: 0; height: 0;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-bottom: 10px solid #DC2626;
}
.sv-helm-dragon .sv-helm-horn-l { left: 2px; transform: rotate(-15deg); }
.sv-helm-dragon .sv-helm-horn-r { right: 2px; transform: rotate(15deg); }

/* -- Decoration previews -- */
.sv-deco { position: relative; width: 100%; height: 100%; }
.sv-poster {
  width: 28px; height: 22px; background: #1A1A35;
  border: 2px solid #FFD700; border-radius: 3px;
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  display: flex; align-items: center; justify-content: center;
}
.sv-poster-star {
  width: 12px; height: 12px; background: #FFD700;
  clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.sv-sparkles { position: absolute; inset: 0; }
.sv-sparkle-dot {
  position: absolute; width: 4px; height: 4px;
  background: #FFE03D; border-radius: 50%;
  animation: sv-twinkle 1.5s infinite;
}
.sv-sparkle-dot:nth-child(1) { top: 10px; left: 14px; }
.sv-sparkle-dot:nth-child(2) { top: 22px; left: 34px; animation-delay: 0.5s; }
.sv-sparkle-dot:nth-child(3) { top: 36px; left: 20px; animation-delay: 1s; }
.sv-sparkle-dot:nth-child(4) { top: 16px; left: 38px; animation-delay: 0.3s; width: 3px; height: 3px; }
@keyframes sv-twinkle {
  0%,100% { opacity: 0.3; transform: scale(0.6); }
  50% { opacity: 1; transform: scale(1.2); }
}
.sv-note {
  position: absolute; font-size: 16px; color: #B24BF3;
  animation: sv-float 2s infinite ease-in-out;
}
.sv-note:nth-child(1) { top: 12px; left: 14px; }
.sv-note:nth-child(2) { top: 26px; left: 30px; animation-delay: 0.7s; font-size: 12px; }
.sv-note:nth-child(3) { top: 18px; left: 36px; animation-delay: 1.2s; }
@keyframes sv-float {
  0%,100% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(-4px); opacity: 1; }
}
.sv-neon {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  font-size: 11px; font-weight: 800; color: #FF2D78;
  text-shadow: 0 0 8px rgba(255,45,120,0.8), 0 0 16px rgba(255,45,120,0.4);
  letter-spacing: 2px; animation: sv-neon-pulse 2s infinite;
}
@keyframes sv-neon-pulse {
  0%,100% { opacity: 1; }
  50% { opacity: 0.6; }
}
.sv-window {
  width: 32px; height: 28px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  background: linear-gradient(180deg,#0A0A20,#1A1040);
  border: 2px solid #333; border-radius: 4px 4px 0 0; overflow: hidden;
}
.sv-window-skyline {
  position: absolute; bottom: 0; left: 0; right: 0; height: 14px; background: #111;
  clip-path: polygon(0% 100%,0% 60%,10% 60%,10% 30%,20% 30%,20% 50%,30% 50%,30% 20%,40% 20%,40% 45%,50% 45%,50% 70%,60% 70%,60% 10%,70% 10%,70% 50%,80% 50%,80% 35%,90% 35%,90% 65%,100% 65%,100% 100%);
}
.sv-window-star {
  position: absolute; width: 2px; height: 2px; background: #FFE03D; border-radius: 50%;
}
.sv-window-star:nth-child(1) { top: 3px; left: 6px; }
.sv-window-star:nth-child(2) { top: 5px; left: 20px; }
.sv-glitch { position: absolute; inset: 0; overflow: hidden; }
.sv-glitch-line {
  position: absolute; left: 0; right: 0; height: 2px;
  animation: sv-glitch-anim 2s infinite;
}
.sv-glitch-line:nth-child(1) { top: 12px; background: rgba(0,229,255,0.6); }
.sv-glitch-line:nth-child(2) { top: 24px; background: rgba(255,45,120,0.6); animation-delay: 0.3s; }
.sv-glitch-line:nth-child(3) { top: 36px; background: rgba(178,75,243,0.6); animation-delay: 0.7s; }
.sv-glitch-line:nth-child(4) { top: 44px; background: rgba(0,229,255,0.4); animation-delay: 1.1s; width: 60%; }
@keyframes sv-glitch-anim {
  0%,100% { opacity: 0.3; transform: translateX(0); }
  25% { opacity: 1; transform: translateX(4px); }
  50% { opacity: 0.5; transform: translateX(-2px); }
  75% { opacity: 0.8; transform: translateX(1px); }
}

/* -- Furniture previews -- */
.sv-furn {
  position: relative; width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
}
.sv-bookshelf {
  width: 30px; height: 32px; position: relative;
  background: #5C3317; border-radius: 2px; border: 1px solid #4A2810;
}
.sv-shelf {
  position: absolute; left: 1px; right: 1px; height: 1px; background: #4A2810;
}
.sv-shelf:nth-child(1) { top: 10px; }
.sv-shelf:nth-child(2) { top: 21px; }
.sv-bk {
  position: absolute; width: 3px; border-radius: 0.5px;
}
.sv-vinyl {
  width: 30px; height: 30px; border-radius: 50%;
  background: conic-gradient(#222 0deg, #111 40deg, #222 80deg, #111 120deg, #222 160deg, #111 200deg, #222 240deg, #111 280deg, #222 320deg, #111 360deg);
  position: relative; border: 1px solid #444;
  animation: sv-spin 4s linear infinite;
}
.sv-vinyl::after {
  content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 8px; height: 8px; background: #DC2626; border-radius: 50%;
}
@keyframes sv-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
.sv-gamepad {
  width: 32px; height: 20px; background: #1F1F2E;
  border-radius: 10px; position: relative; border: 1px solid #333;
}
.sv-gp-dpad {
  position: absolute; top: 5px; left: 5px; width: 10px; height: 10px;
}
.sv-gp-dpad::before {
  content: ''; position: absolute; top: 3px; left: 0;
  width: 10px; height: 4px; background: #555; border-radius: 1px;
}
.sv-gp-dpad::after {
  content: ''; position: absolute; top: 0; left: 3px;
  width: 4px; height: 10px; background: #555; border-radius: 1px;
}
.sv-gp-btn {
  position: absolute; width: 4px; height: 4px; border-radius: 50%;
}
.sv-aqua {
  width: 32px; height: 24px; background: linear-gradient(180deg,#0EA5E9,#0369A1);
  border-radius: 3px; position: relative; overflow: hidden; border: 2px solid #64748B;
}
.sv-fish {
  position: absolute; width: 7px; height: 4px; border-radius: 50%;
  animation: sv-swim 3s infinite ease-in-out;
}
.sv-fish::after {
  content: ''; position: absolute; right: -3px; top: 0;
  border-top: 2px solid transparent; border-bottom: 2px solid transparent;
  border-left: 3px solid;
  border-left-color: inherit;
}
.sv-fish-1 { top: 5px; left: 4px; background: #FF6B35; border-left-color: #FF6B35; color: #FF6B35; }
.sv-fish-2 { top: 13px; left: 14px; background: #FBBF24; border-left-color: #FBBF24; color: #FBBF24; animation-delay: 1s; }
.sv-fish-2::after { border-left-color: #FBBF24; }
.sv-fish-1::after { border-left-color: #FF6B35; }
.sv-bubble {
  position: absolute; width: 3px; height: 3px; background: rgba(255,255,255,0.4);
  border-radius: 50%; animation: sv-rise 2s infinite;
}
.sv-bubble:nth-child(3) { bottom: 2px; left: 8px; animation-delay: 0.5s; }
.sv-bubble:nth-child(4) { bottom: 2px; left: 20px; animation-delay: 1.2s; }
@keyframes sv-swim { 0%,100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@keyframes sv-rise { 0% { transform: translateY(0); opacity: 0.6; } 100% { transform: translateY(-14px); opacity: 0; } }
.sv-catbed { width: 30px; height: 20px; position: relative; }
.sv-catbed-base {
  width: 30px; height: 10px; background: #8B4513; border-radius: 50%;
  position: absolute; bottom: 0;
}
.sv-catbed-cushion {
  width: 24px; height: 6px; background: #EC4899; border-radius: 50%;
  position: absolute; bottom: 4px; left: 3px;
}
.sv-catbed-cat {
  width: 12px; height: 8px; background: #F97316; border-radius: 50% 50% 0 0;
  position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%);
}
.sv-catbed-cat::before, .sv-catbed-cat::after {
  content: ''; position: absolute; top: -3px;
  width: 0; height: 0;
  border-left: 3px solid transparent; border-right: 3px solid transparent;
  border-bottom: 4px solid #F97316;
}
.sv-catbed-cat::before { left: 0; }
.sv-catbed-cat::after { right: 0; }

/* -- Room theme previews -- */
.sv-room-theme {
  position: absolute; inset: 0; border-radius: 10px; overflow: hidden;
}
.sv-sakura { background: linear-gradient(180deg,#FFF0F5,#FFD6E8); }
.sv-petal {
  position: absolute; width: 6px; height: 6px;
  background: #FF69B4; border-radius: 50% 0 50% 0;
  animation: sv-fall 3s infinite ease-in-out;
}
.sv-petal:nth-child(1) { top: 8px; left: 10px; }
.sv-petal:nth-child(2) { top: 14px; left: 30px; animation-delay: 0.8s; width: 5px; height: 5px; }
.sv-petal:nth-child(3) { top: 28px; left: 18px; animation-delay: 1.5s; }
.sv-petal:nth-child(4) { top: 6px; left: 40px; animation-delay: 0.4s; width: 4px; height: 4px; }
@keyframes sv-fall {
  0%,100% { transform: translateY(0) rotate(0); opacity: 0.6; }
  50% { transform: translateY(6px) rotate(30deg); opacity: 1; }
}
.sv-ocean { background: linear-gradient(180deg,#0369A1,#0C4A6E); }
.sv-wave {
  position: absolute; left: -20px; right: -20px; height: 20px;
  background: rgba(14,165,233,0.3); border-radius: 50%;
  animation: sv-wave-move 3s infinite ease-in-out;
}
.sv-wave:nth-child(1) { bottom: 8px; }
.sv-wave:nth-child(2) { bottom: 2px; animation-delay: 1s; background: rgba(14,165,233,0.5); }
@keyframes sv-wave-move { 0%,100% { transform: translateX(-4px); } 50% { transform: translateX(4px); } }
.sv-space { background: linear-gradient(180deg,#0A0A2E,#0D0D1A); }
.sv-star {
  position: absolute; width: 2px; height: 2px;
  background: #fff; border-radius: 50%; animation: sv-twinkle 2s infinite;
}
.sv-star:nth-child(1) { top: 8px; left: 10px; }
.sv-star:nth-child(2) { top: 16px; left: 30px; animation-delay: 0.5s; }
.sv-star:nth-child(3) { top: 28px; left: 14px; animation-delay: 1s; }
.sv-star:nth-child(4) { top: 12px; left: 42px; animation-delay: 0.3s; }
.sv-star:nth-child(5) { top: 38px; left: 36px; animation-delay: 0.8s; width: 3px; height: 3px; }
.sv-star:nth-child(6) { top: 22px; left: 22px; animation-delay: 1.3s; }
.sv-star:nth-child(7) { top: 40px; left: 8px; animation-delay: 0.6s; }

/* -- Animation previews -- */
.sv-anim { position: relative; width: 100%; height: 100%; overflow: hidden; }
.sv-anim-sparkle .sv-sparkle-dot:nth-child(1) { background: #00E5FF; }
.sv-anim-sparkle .sv-sparkle-dot:nth-child(2) { background: #B24BF3; }
.sv-anim-sparkle .sv-sparkle-dot:nth-child(3) { background: #FFE03D; }
.sv-anim-sparkle .sv-sparkle-dot:nth-child(4) { background: #FF2D78; }
.sv-anim-heart {
  position: absolute; color: #FF2D78; font-size: 10px;
  animation: sv-heart-fall 2.5s infinite;
}
.sv-anim-heart:nth-child(1) { left: 8px; }
.sv-anim-heart:nth-child(2) { left: 22px; animation-delay: 0.8s; font-size: 8px; }
.sv-anim-heart:nth-child(3) { left: 38px; animation-delay: 1.5s; }
.sv-anim-heart:nth-child(4) { left: 14px; animation-delay: 0.4s; font-size: 7px; }
@keyframes sv-heart-fall {
  0% { top: -8px; opacity: 0; }
  20% { opacity: 1; }
  100% { top: 56px; opacity: 0; }
}
.sv-firefly {
  position: absolute; width: 4px; height: 4px;
  background: #39FF14; border-radius: 50%;
  box-shadow: 0 0 6px rgba(57,255,20,0.8);
  animation: sv-fly 3s infinite ease-in-out;
}
.sv-firefly:nth-child(1) { top: 14px; left: 12px; }
.sv-firefly:nth-child(2) { top: 28px; left: 32px; animation-delay: 1s; }
.sv-firefly:nth-child(3) { top: 20px; left: 40px; animation-delay: 2s; width: 3px; height: 3px; }
.sv-firefly:nth-child(4) { top: 36px; left: 16px; animation-delay: 0.5s; }
@keyframes sv-fly {
  0%,100% { transform: translate(0,0); opacity: 0.3; }
  25% { transform: translate(4px,-3px); opacity: 1; }
  50% { transform: translate(-2px,2px); opacity: 0.6; }
  75% { transform: translate(3px,4px); opacity: 1; }
}
.sv-snowflake {
  position: absolute; width: 3px; height: 3px;
  background: #fff; border-radius: 50%;
  animation: sv-snow-fall 3s infinite linear;
}
.sv-snowflake:nth-child(1) { left: 8px; }
.sv-snowflake:nth-child(2) { left: 20px; animation-delay: 0.6s; width: 4px; height: 4px; }
.sv-snowflake:nth-child(3) { left: 34px; animation-delay: 1.2s; }
.sv-snowflake:nth-child(4) { left: 14px; animation-delay: 1.8s; width: 2px; height: 2px; }
.sv-snowflake:nth-child(5) { left: 42px; animation-delay: 0.3s; }
.sv-snowflake:nth-child(6) { left: 28px; animation-delay: 0.9s; width: 4px; height: 4px; }
@keyframes sv-snow-fall {
  0% { top: -4px; opacity: 0; }
  10% { opacity: 1; }
  100% { top: 60px; opacity: 0.3; }
}

/* ========== NEW HAIRSTYLE PREVIEWS ========== */
.sv-hs-messy .sv-hs-hair {
  width: 28px; height: 22px; bottom: 18px; left: 50%; transform: translateX(-50%);
  border-radius: 40% 60% 30% 50%;
  clip-path: polygon(0% 40%,10% 10%,25% 50%,40% 0%,55% 40%,70% 5%,85% 45%,100% 15%,100% 100%,0% 100%);
}
.sv-hs-pixie .sv-hs-hair {
  width: 22px; height: 12px; bottom: 26px; left: 50%; transform: translateX(-50%);
  border-radius: 8px 8px 2px 2px;
}
.sv-hs-wavy .sv-hs-hair {
  width: 26px; height: 30px; bottom: 8px; left: 50%; transform: translateX(-50%);
  border-radius: 10px 10px 40% 40%;
  background: repeating-linear-gradient(180deg,#6B2D9E 0px,#7B3DB0 4px,#5A2280 8px);
}
.sv-hs-braid .sv-hs-hair {
  width: 24px; height: 12px; bottom: 26px; left: 50%; transform: translateX(-50%);
  border-radius: 10px 10px 0 0;
}
.sv-hs-braid .sv-hs-tail {
  position: absolute; z-index: 1; width: 6px; height: 24px;
  background: repeating-linear-gradient(180deg,#6B2D9E 0px,#5A2280 3px,#7B3DB0 6px);
  border-radius: 3px; right: 14px; bottom: 4px; transform: rotate(5deg);
}
.sv-hs-mohawk .sv-hs-hair {
  width: 10px; height: 18px; bottom: 22px; left: 50%; transform: translateX(-50%);
  border-radius: 4px 4px 0 0;
}
.sv-hs-mohawk .sv-hs-crest {
  position: absolute; z-index: 4; width: 6px; height: 10px;
  background: #7B3DB0; border-radius: 3px 3px 0 0;
  bottom: 36px; left: 50%; transform: translateX(-50%);
}
.sv-hs-curly .sv-hs-hair {
  width: 30px; height: 28px; bottom: 12px; left: 50%; transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%,#7B3DB0,#6B2D9E 40%,#5A2280);
}
.sv-hs-hime .sv-hs-hair {
  width: 26px; height: 16px; bottom: 22px; left: 50%; transform: translateX(-50%);
  border-radius: 6px 6px 0 0;
}
.sv-hs-hime .sv-hs-side-l, .sv-hs-hime .sv-hs-side-r {
  position: absolute; z-index: 1; width: 5px; height: 22px;
  background: #6B2D9E; border-radius: 0 0 3px 3px; bottom: 8px;
}
.sv-hs-hime .sv-hs-side-l { left: 12px; }
.sv-hs-hime .sv-hs-side-r { right: 12px; }
.sv-hs-odango .sv-hs-hair {
  width: 24px; height: 12px; bottom: 26px; left: 50%; transform: translateX(-50%);
  border-radius: 10px 10px 0 0;
}
.sv-hs-odango .sv-hs-bun-l, .sv-hs-odango .sv-hs-bun-r {
  position: absolute; z-index: 4; width: 10px; height: 10px;
  background: #6B2D9E; border-radius: 50%; bottom: 32px;
}
.sv-hs-odango .sv-hs-bun-l { left: 11px; }
.sv-hs-odango .sv-hs-bun-r { right: 11px; }
.sv-hs-drill .sv-hs-hair {
  width: 24px; height: 12px; bottom: 26px; left: 50%; transform: translateX(-50%);
  border-radius: 10px 10px 0 0;
}
.sv-hs-drill .sv-hs-tail-l, .sv-hs-drill .sv-hs-tail-r {
  position: absolute; z-index: 1; width: 7px; height: 22px;
  background: repeating-linear-gradient(180deg,#6B2D9E 0px,#5A2280 3px,#7B3DB0 6px);
  border-radius: 0 0 50% 50%; bottom: 4px;
}
.sv-hs-drill .sv-hs-tail-l { left: 9px; transform: rotate(-3deg); }
.sv-hs-drill .sv-hs-tail-r { right: 9px; transform: rotate(3deg); }
.sv-hs-wolf .sv-hs-hair {
  width: 30px; height: 26px; bottom: 12px; left: 50%; transform: translateX(-50%);
  border-radius: 6px;
  clip-path: polygon(0% 25%,15% 0%,50% 15%,85% 0%,100% 25%,100% 100%,85% 85%,70% 100%,30% 100%,15% 85%,0% 100%);
}

/* ========== NEW ACCESSORY PREVIEWS ========== */
.sv-flower {
  width: 22px; height: 22px; position: relative;
}
.sv-petal-r {
  position: absolute; width: 8px; height: 8px;
  background: #FF69B4; border-radius: 50% 0 50% 0;
}
.sv-petal-r:nth-child(1) { top: 0; left: 7px; }
.sv-petal-r:nth-child(2) { top: 5px; left: 14px; transform: rotate(72deg); }
.sv-petal-r:nth-child(3) { top: 12px; left: 11px; transform: rotate(144deg); }
.sv-petal-r:nth-child(4) { top: 12px; left: 3px; transform: rotate(216deg); }
.sv-petal-r:nth-child(5) { top: 5px; left: 0; transform: rotate(288deg); }
.sv-flower-center {
  position: absolute; top: 6px; left: 7px;
  width: 8px; height: 8px; background: #FBBF24;
  border-radius: 50%; z-index: 1;
}
.sv-star-clip {
  font-size: 24px; color: #FFD700;
  text-shadow: 0 0 8px rgba(255,215,0,0.6);
}
.sv-scarf {
  position: relative; width: 26px; height: 22px;
}
.sv-scarf-wrap {
  width: 26px; height: 8px; background: #DC2626;
  border-radius: 4px; position: absolute; top: 4px;
}
.sv-scarf-tail {
  width: 8px; height: 14px; background: #DC2626;
  border-radius: 0 0 4px 4px; position: absolute; top: 10px; left: 4px;
}
.sv-beret {
  position: relative; width: 26px; height: 20px;
}
.sv-beret-top {
  width: 26px; height: 14px; background: #7C3AED;
  border-radius: 50% 50% 30% 30%; position: absolute; top: 0;
}
.sv-beret::after {
  content: ''; position: absolute; bottom: 0; left: 2px;
  width: 22px; height: 4px; background: #6D28D9;
  border-radius: 2px;
}
.sv-cat-ears {
  position: relative; width: 28px; height: 18px;
}
.sv-c-ear {
  position: absolute; bottom: 0; width: 0; height: 0;
  border-left: 8px solid transparent; border-right: 8px solid transparent;
  border-bottom: 16px solid #FFB6C1;
}
.sv-c-ear:first-child { left: 0; }
.sv-c-ear:nth-child(2) { right: 0; }
.sv-c-ear::after {
  content: ''; position: absolute; top: 7px; left: -4px;
  border-left: 5px solid transparent; border-right: 5px solid transparent;
  border-bottom: 9px solid #FF69B4;
}
.sv-butterfly {
  position: relative; width: 24px; height: 18px;
}
.sv-bw {
  position: absolute; top: 0; width: 10px; height: 14px;
  background: linear-gradient(135deg,#8B5CF6,#EC4899);
  border-radius: 50%;
}
.sv-bw-l { left: 0; }
.sv-bw-r { right: 0; }
.sv-bw-body {
  position: absolute; top: 2px; left: 50%; transform: translateX(-50%);
  width: 2px; height: 14px; background: #333; border-radius: 1px; z-index: 1;
}
.sv-tiara {
  position: relative; width: 28px; height: 16px;
}
.sv-tiara-band {
  width: 28px; height: 6px; background: #C0C0C0;
  border-radius: 2px; position: absolute; bottom: 0;
  border: 1px solid #A0A0A0;
}
.sv-tiara-gem {
  width: 8px; height: 10px; position: absolute; top: 0;
  left: 50%; transform: translateX(-50%);
  background: #60A5FA; clip-path: polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  box-shadow: 0 0 6px rgba(96,165,250,0.6);
}
.sv-halo {
  width: 28px; height: 10px;
  border: 3px solid #FFD700; border-radius: 50%;
  box-shadow: 0 0 10px rgba(255,215,0,0.5), inset 0 0 4px rgba(255,215,0,0.3);
}
.sv-witch-hat {
  position: relative; width: 28px; height: 28px;
}
.sv-wh-cone {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 10px solid transparent; border-right: 10px solid transparent;
  border-bottom: 20px solid #4B0082;
}
.sv-wh-brim {
  position: absolute; bottom: 0; left: -2px;
  width: 32px; height: 6px; background: #4B0082;
  border-radius: 50%; z-index: 1;
}
.sv-devil-horns {
  position: relative; width: 30px; height: 18px;
}
.sv-dh {
  position: absolute; bottom: 0; width: 0; height: 0;
  border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-bottom: 16px solid #DC2626;
  filter: drop-shadow(0 0 4px rgba(220,38,38,0.5));
}
.sv-dh:first-child { left: 2px; transform: rotate(-12deg); }
.sv-dh:nth-child(2) { right: 2px; transform: rotate(12deg); }

/* ========== NEW EQUIPMENT PREVIEWS ========== */
.sv-helm-leather .sv-helm-dome { background: #92400E; }
.sv-helm-leather .sv-helm-visor { background: #78350F; }
.sv-helm-bandana .sv-helm-dome { background: #DC2626; border-radius: 8px 8px 0 0; height: 12px; }
.sv-helm-bandana .sv-helm-visor { display: none; }
.sv-helm-viking .sv-helm-dome { background: #78350F; border: 1px solid #92400E; }
.sv-helm-viking .sv-helm-visor { background: #451A03; }
.sv-horn-up {
  border-bottom: 14px solid #E5E7EB !important;
  transform: rotate(-25deg) !important;
}
.sv-horn-up:last-child { transform: rotate(25deg) !important; }
.sv-helm-iron-mask .sv-helm-dome { background: #6B7280; height: 22px; border-radius: 12px; }
.sv-helm-iron-mask .sv-helm-visor { background: #1F2937; width: 18px; height: 3px; }
.sv-helm-samurai .sv-helm-dome { background: #7C2D12; border: 1px solid #B45309; }
.sv-helm-samurai .sv-helm-visor { background: #1C1917; }
.sv-crest-wide {
  width: 30px !important; height: 4px !important;
  background: #B45309 !important; top: -2px !important;
  border-radius: 2px !important;
}
.sv-helm-gladiator .sv-helm-dome { background: #B8860B; }
.sv-helm-gladiator .sv-helm-visor { background: #78350F; }
.sv-crest-tall {
  width: 3px !important; height: 14px !important;
  background: #DC2626 !important; top: -5px !important;
}
.sv-helm-wizard .sv-helm-dome {
  background: linear-gradient(180deg,#4C1D95,#6D28D9);
  border-radius: 6px 6px 14px 14px; height: 14px;
}
.sv-helm-wizard .sv-helm-visor { display: none; }
.sv-helm-point {
  position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-bottom: 12px solid #4C1D95;
}
.sv-helm-demon .sv-helm-dome { background: linear-gradient(180deg,#4A0404,#7F1D1D); }
.sv-helm-demon .sv-helm-visor { background: #FF4444; box-shadow: 0 0 6px rgba(255,68,68,0.6); }
.sv-horn-curved {
  border-bottom: 12px solid #4A0404 !important;
  transform: rotate(-30deg) !important;
}
.sv-horn-curved:last-child { transform: rotate(30deg) !important; }
.sv-helm-crystal .sv-helm-dome { background: linear-gradient(180deg,#A78BFA,#7C3AED); }
.sv-helm-crystal .sv-helm-visor { background: #C4B5FD; box-shadow: 0 0 4px rgba(167,139,250,0.5); }
.sv-gem-l { left: 2px !important; top: 2px !important; width: 4px !important; height: 4px !important; }
.sv-gem-r { right: 2px !important; top: 2px !important; width: 4px !important; height: 4px !important; }
.sv-helm-phoenix .sv-helm-dome { background: linear-gradient(180deg,#F59E0B,#DC2626); }
.sv-helm-phoenix .sv-helm-visor { background: #7C2D12; }
.sv-crest-fire {
  width: 8px !important; height: 12px !important;
  background: linear-gradient(180deg,#F59E0B,#EF4444) !important;
  clip-path: polygon(50% 0%,80% 40%,100% 100%,0% 100%,20% 40%) !important;
  top: -8px !important; border-radius: 0 !important;
}

/* ========== NEW DECORATION PREVIEWS ========== */
.sv-ivy { position: relative; width: 100%; height: 100%; }
.sv-vine {
  position: absolute; width: 2px; background: #166534;
}
.sv-vine:first-child { left: 14px; top: 4px; height: 44px; }
.sv-vine:nth-child(2) { left: 34px; top: 8px; height: 38px; }
.sv-leaf-d {
  position: absolute; width: 8px; height: 6px;
  background: #22C55E; border-radius: 0 50% 0 50%;
}
.sv-leaf-d:nth-child(3) { top: 14px; left: 16px; }
.sv-leaf-d:nth-child(4) { top: 26px; left: 8px; transform: scaleX(-1); }
.sv-leaf-d:nth-child(5) { top: 20px; left: 36px; }
.sv-clock {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 30px; height: 30px;
}
.sv-clock-face {
  width: 30px; height: 30px; border-radius: 50%;
  border: 2px solid #00E5FF; background: rgba(0,229,255,0.08);
  box-shadow: 0 0 8px rgba(0,229,255,0.3);
}
.sv-clock-hand {
  position: absolute; background: #00E5FF;
  left: 50%; transform-origin: bottom center;
}
.sv-hand-h {
  width: 2px; height: 8px; bottom: 50%; left: calc(50% - 1px);
  transform: rotate(30deg);
}
.sv-hand-m {
  width: 1.5px; height: 11px; bottom: 50%; left: calc(50% - 0.75px);
  transform: rotate(190deg);
}
.sv-pennant {
  position: absolute; top: 8px; left: 6px; right: 6px;
  display: flex; gap: 3px; justify-content: center;
}
.sv-pen {
  width: 6px; height: 12px;
  clip-path: polygon(0% 0%,100% 0%,50% 100%);
}
.sv-fairy {
  position: relative; width: 100%; height: 100%;
}
.sv-fl-wire {
  position: absolute; top: 12px; left: 4px; right: 4px;
  height: 2px; background: #555;
}
.sv-fl {
  position: absolute; top: 8px; width: 5px; height: 5px;
  border-radius: 50%;
  box-shadow: 0 0 6px currentColor;
  animation: sv-twinkle 1.5s infinite;
}
.sv-fl:nth-child(1) { left: 6px; background: #FBBF24; color: #FBBF24; }
.sv-fl:nth-child(2) { left: 16px; background: #F472B6; color: #F472B6; animation-delay: 0.3s; }
.sv-fl:nth-child(3) { left: 26px; background: #34D399; color: #34D399; animation-delay: 0.6s; }
.sv-fl:nth-child(4) { left: 36px; background: #60A5FA; color: #60A5FA; animation-delay: 0.9s; }
.sv-fl:nth-child(5) { left: 44px; background: #A78BFA; color: #A78BFA; animation-delay: 1.2s; }
.sv-dc {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 28px; height: 36px;
}
.sv-dc-ring {
  width: 24px; height: 24px; border-radius: 50%;
  border: 2px solid #A78BFA; position: absolute; top: 0; left: 2px;
}
.sv-dc-web {
  position: absolute; top: 4px; left: 6px;
  width: 16px; height: 16px;
  background: radial-gradient(circle,transparent 3px,rgba(167,139,250,0.2) 3px,rgba(167,139,250,0.2) 4px,transparent 4px,transparent 7px,rgba(167,139,250,0.15) 7px,rgba(167,139,250,0.15) 8px,transparent 8px);
}
.sv-dc-feather {
  position: absolute; bottom: 0; width: 3px; height: 12px;
  background: linear-gradient(180deg,#A78BFA,#EC4899);
  border-radius: 0 0 3px 3px;
}
.sv-dc-feather:nth-child(3) { left: 8px; }
.sv-dc-feather:nth-child(4) { left: 16px; }
.sv-photos {
  position: absolute; inset: 6px; display: grid;
  grid-template-columns: 1fr 1fr; gap: 3px;
}
.sv-photo {
  border-radius: 2px; opacity: 0.7;
}
.sv-lanterns {
  position: absolute; inset: 6px;
  display: flex; align-items: center; justify-content: center; gap: 4px;
}
.sv-lantern {
  width: 10px; height: 14px; border-radius: 4px 4px 2px 2px;
  box-shadow: 0 0 6px currentColor; opacity: 0.8;
}
.sv-lantern:nth-child(2) { margin-top: -8px; }
.sv-aurora-deco {
  position: absolute; inset: 0; overflow: hidden;
}
.sv-aurora-band {
  position: absolute; left: -10px; right: -10px; height: 14px;
  border-radius: 50%;
  animation: sv-aurora-shift 3s infinite ease-in-out;
}
.sv-aurora-band:nth-child(1) {
  top: 14px; background: rgba(16,185,129,0.4);
}
.sv-aurora-band:nth-child(2) {
  top: 26px; background: rgba(99,102,241,0.3);
  animation-delay: 1s;
}
@keyframes sv-aurora-shift {
  0%,100% { transform: translateX(-4px) scaleY(1); opacity: 0.6; }
  50% { transform: translateX(4px) scaleY(1.3); opacity: 1; }
}
.sv-holo {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 28px; height: 28px;
}
.sv-holo-shape {
  width: 24px; height: 24px; margin: 2px auto;
  border: 2px solid rgba(0,229,255,0.5);
  border-radius: 4px; position: relative;
  box-shadow: 0 0 8px rgba(0,229,255,0.3), inset 0 0 8px rgba(178,75,243,0.2);
  animation: sv-holo-spin 4s linear infinite;
}
@keyframes sv-holo-spin {
  0% { transform: perspective(40px) rotateY(0); }
  100% { transform: perspective(40px) rotateY(360deg); }
}
.sv-mball {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg,#C0C0C0 20%,#E0E0E0 40%,#A0A0A0 60%,#D0D0D0 80%);
  box-shadow: 0 0 8px rgba(200,200,200,0.4);
  animation: sv-spin 6s linear infinite;
}
.sv-mball-shine {
  position: absolute; top: 4px; left: 6px;
  width: 6px; height: 6px; background: rgba(255,255,255,0.6);
  border-radius: 50%;
}

/* ========== NEW FURNITURE PREVIEWS ========== */
.sv-cactus { width: 20px; height: 30px; position: relative; }
.sv-cactus-body {
  position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%);
  width: 10px; height: 18px; background: #22C55E;
  border-radius: 6px 6px 2px 2px;
}
.sv-cactus-arm {
  position: absolute; bottom: 14px; left: 13px;
  width: 6px; height: 8px; background: #22C55E;
  border-radius: 0 6px 6px 0;
}
.sv-cactus-pot {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 14px; height: 8px; background: #92400E;
  border-radius: 0 0 4px 4px;
}
.sv-candle { width: 14px; height: 28px; position: relative; }
.sv-candle-body {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 12px; height: 18px; background: #FEF3C7;
  border-radius: 3px 3px 2px 2px;
}
.sv-candle-flame {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  width: 6px; height: 10px; background: linear-gradient(180deg,#FBBF24,#F97316);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  box-shadow: 0 0 8px rgba(251,191,36,0.6);
  animation: sv-flicker 0.5s infinite alternate;
}
@keyframes sv-flicker {
  0% { transform: translateX(-50%) scaleY(1); }
  100% { transform: translateX(-50%) scaleY(0.85) scaleX(0.9); }
}
.sv-cushion {
  width: 28px; height: 16px; background: #EC4899;
  border-radius: 50%; position: relative;
  box-shadow: inset 0 -3px 0 #DB2777;
}
.sv-rug {
  width: 34px; height: 20px;
  background: linear-gradient(135deg,#8B5CF6 25%,#EC4899 50%,#06B6D4 75%);
  border-radius: 50%; opacity: 0.7;
}
.sv-rug::after {
  content: ''; position: absolute; inset: 3px;
  border: 1px solid rgba(255,255,255,0.2); border-radius: 50%;
}
.sv-terrarium { width: 24px; height: 28px; position: relative; }
.sv-terr-dome {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 22px; height: 18px; border-radius: 50% 50% 0 0;
  border: 2px solid rgba(200,200,200,0.4); border-bottom: none;
  background: rgba(200,255,200,0.05);
}
.sv-terr-plant {
  position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%);
  width: 8px; height: 12px; background: #22C55E;
  border-radius: 50% 50% 0 0;
}
.sv-terr-base {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 24px; height: 8px; background: #92400E;
  border-radius: 0 0 4px 4px;
}
.sv-vanity { width: 24px; height: 28px; position: relative; }
.sv-vanity-mirror {
  position: absolute; top: 2px; left: 50%; transform: translateX(-50%);
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid #D4A574;
  background: linear-gradient(135deg,rgba(200,220,255,0.3),rgba(255,255,255,0.1));
}
.sv-vanity-base {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 20px; height: 6px; background: #D4A574;
  border-radius: 2px;
}
.sv-plush { width: 24px; height: 26px; position: relative; }
.sv-plush-head {
  position: absolute; top: 2px; left: 50%; transform: translateX(-50%);
  width: 16px; height: 14px; background: #D4A574;
  border-radius: 50%; z-index: 1;
}
.sv-plush-ear {
  position: absolute; top: 0; width: 7px; height: 7px;
  background: #C09060; border-radius: 50%;
}
.sv-plush-ear:first-child { left: 2px; }
.sv-plush-ear:nth-child(2) { right: 2px; }
.sv-plush-body {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 18px; height: 12px; background: #D4A574;
  border-radius: 6px 6px 4px 4px;
}
.sv-mug { width: 22px; height: 22px; position: relative; }
.sv-mug-body {
  position: absolute; bottom: 0; left: 2px;
  width: 14px; height: 16px; background: #EC4899;
  border-radius: 2px 2px 4px 4px;
}
.sv-mug-handle {
  position: absolute; bottom: 4px; right: 0;
  width: 6px; height: 10px; border: 2px solid #EC4899;
  border-left: none; border-radius: 0 4px 4px 0;
}
.sv-steam {
  position: absolute; top: 0; left: 6px;
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,0.2);
  animation: sv-steam-rise 2s infinite;
}
@keyframes sv-steam-rise {
  0% { opacity: 0.5; transform: translateY(0) scale(0.8); }
  100% { opacity: 0; transform: translateY(-6px) scale(1.2); }
}
.sv-globe { width: 22px; height: 28px; position: relative; }
.sv-globe-sphere {
  position: absolute; top: 2px; left: 50%; transform: translateX(-50%);
  width: 18px; height: 18px; border-radius: 50%;
  background: linear-gradient(135deg,#3B82F6,#22C55E);
  border: 1px solid #6B7280;
  animation: sv-spin 8s linear infinite;
}
.sv-globe-stand {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 14px; height: 6px; background: #6B7280;
  border-radius: 2px; clip-path: polygon(20% 0%,80% 0%,100% 100%,0% 100%);
}
.sv-bonsai { width: 24px; height: 28px; position: relative; }
.sv-bonsai-crown {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 22px; height: 14px; background: #22C55E;
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(34,197,94,0.3);
}
.sv-bonsai-trunk {
  position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 10px; background: #92400E; border-radius: 1px;
}
.sv-bonsai-pot {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 16px; height: 8px; background: #7C2D12;
  border-radius: 0 0 4px 4px;
}
.sv-lava { width: 14px; height: 30px; position: relative; }
.sv-lava-glass {
  position: absolute; top: 2px; left: 50%; transform: translateX(-50%);
  width: 10px; height: 22px; background: rgba(139,92,246,0.15);
  border-radius: 5px 5px 3px 3px; border: 1px solid rgba(139,92,246,0.3);
}
.sv-lava-blob {
  position: absolute; left: 50%; transform: translateX(-50%);
  border-radius: 50%; background: #EF4444;
  box-shadow: 0 0 4px rgba(239,68,68,0.5);
  animation: sv-lava-move 3s infinite ease-in-out;
}
.sv-lava-blob:nth-child(2) { top: 8px; width: 6px; height: 6px; }
.sv-lava-blob:nth-child(3) { top: 16px; width: 4px; height: 5px; animation-delay: 1.5s; }
@keyframes sv-lava-move {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-4px); }
}
.sv-lava-base {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 12px; height: 6px; background: #374151; border-radius: 2px;
}
.sv-telescope { width: 24px; height: 28px; position: relative; }
.sv-tel-tube {
  position: absolute; top: 4px; left: 6px;
  width: 16px; height: 6px; background: #B8860B;
  border-radius: 3px; transform: rotate(-25deg);
}
.sv-tel-tube::after {
  content: ''; position: absolute; left: -2px; top: -1px;
  width: 6px; height: 8px; background: #DAA520;
  border-radius: 2px;
}
.sv-tel-stand {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 2px; height: 16px; background: #6B7280;
}
.sv-tel-stand::after {
  content: ''; position: absolute; bottom: 0; left: -6px;
  width: 14px; height: 2px; background: #6B7280;
}
.sv-piano { width: 30px; height: 24px; position: relative; }
.sv-piano-top {
  position: absolute; top: 0; left: 0;
  width: 30px; height: 14px; background: #1F1F2E;
  border-radius: 4px 4px 0 0;
}
.sv-piano-keys {
  position: absolute; bottom: 0; left: 2px;
  width: 26px; height: 10px;
  background: repeating-linear-gradient(90deg,#FFF 0px,#FFF 3px,#EEE 3px,#EEE 4px);
  border-radius: 0 0 2px 2px;
}
.sv-piano-keys::after {
  content: ''; position: absolute; top: 0; left: 2px;
  width: 22px; height: 5px;
  background: repeating-linear-gradient(90deg,transparent 0px,transparent 3px,#222 3px,#222 5px,transparent 5px,transparent 8px);
}

/* ========== ROOM THEME SWATCH PREVIEWS ========== */
.sv-rt-swatch {
  display: flex; align-items: flex-end; justify-content: center;
  padding-bottom: 6px;
}
.sv-rt-label {
  font-size: 8px; font-weight: 800; color: rgba(255,255,255,0.75);
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  letter-spacing: 0.5px; text-transform: uppercase;
}

/* ========== NEW ANIMATION PREVIEWS ========== */
.sv-bubble-a {
  position: absolute; width: 8px; height: 8px;
  border-radius: 50%; border: 1.5px solid rgba(100,200,255,0.5);
  background: rgba(100,200,255,0.1);
  animation: sv-rise 2.5s infinite;
}
.sv-bubble-a:nth-child(1) { bottom: 2px; left: 8px; }
.sv-bubble-a:nth-child(2) { bottom: 6px; left: 24px; animation-delay: 0.7s; width: 6px; height: 6px; }
.sv-bubble-a:nth-child(3) { bottom: 0; left: 38px; animation-delay: 1.4s; }
.sv-bubble-a:nth-child(4) { bottom: 4px; left: 16px; animation-delay: 0.3s; width: 5px; height: 5px; }
.sv-leaf-a {
  position: absolute; font-size: 14px;
  animation: sv-fall 3s infinite ease-in-out;
}
.sv-leaf-a:nth-child(1) { top: 2px; left: 6px; }
.sv-leaf-a:nth-child(2) { top: 8px; left: 28px; animation-delay: 0.8s; font-size: 12px; }
.sv-leaf-a:nth-child(3) { top: 4px; left: 42px; animation-delay: 1.5s; }
.sv-leaf-a:nth-child(4) { top: 14px; left: 16px; animation-delay: 0.4s; font-size: 10px; }
.sv-confetti {
  position: absolute; width: 4px; height: 8px; border-radius: 1px;
  animation: sv-confetti-fall 2s infinite;
}
.sv-confetti:nth-child(1) { left: 6px; }
.sv-confetti:nth-child(2) { left: 16px; animation-delay: 0.4s; }
.sv-confetti:nth-child(3) { left: 26px; animation-delay: 0.8s; }
.sv-confetti:nth-child(4) { left: 36px; animation-delay: 1.2s; }
.sv-confetti:nth-child(5) { left: 44px; animation-delay: 0.2s; }
@keyframes sv-confetti-fall {
  0% { top: -8px; opacity: 0; transform: rotate(0); }
  20% { opacity: 1; }
  100% { top: 56px; opacity: 0; transform: rotate(360deg); }
}
.sv-bfly {
  position: absolute; font-size: 14px;
  animation: sv-fly 3s infinite ease-in-out;
}
.sv-bfly:nth-child(1) { top: 10px; left: 10px; }
.sv-bfly:nth-child(2) { top: 24px; left: 30px; animation-delay: 1s; font-size: 12px; }
.sv-bfly:nth-child(3) { top: 16px; left: 40px; animation-delay: 2s; }
.sv-raindrop {
  position: absolute; width: 2px; height: 10px;
  background: linear-gradient(180deg,transparent,rgba(100,180,255,0.5));
  animation: sv-rain-fall 1.5s infinite linear;
}
.sv-raindrop:nth-child(1) { left: 6px; }
.sv-raindrop:nth-child(2) { left: 16px; animation-delay: 0.3s; }
.sv-raindrop:nth-child(3) { left: 26px; animation-delay: 0.6s; }
.sv-raindrop:nth-child(4) { left: 36px; animation-delay: 0.9s; }
.sv-raindrop:nth-child(5) { left: 44px; animation-delay: 0.2s; }
.sv-raindrop:nth-child(6) { left: 12px; animation-delay: 1.1s; }
@keyframes sv-rain-fall {
  0% { top: -10px; opacity: 0.6; }
  100% { top: 56px; opacity: 0; }
}
.sv-anim-petals { background: rgba(255,240,245,0.05); }
.sv-petal-a {
  position: absolute; width: 6px; height: 6px;
  background: #FF69B4; border-radius: 50% 0 50% 0;
  animation: sv-fall 3s infinite ease-in-out;
}
.sv-petal-a:nth-child(1) { top: 4px; left: 10px; }
.sv-petal-a:nth-child(2) { top: 12px; left: 30px; animation-delay: 0.8s; width: 5px; height: 5px; }
.sv-petal-a:nth-child(3) { top: 8px; left: 42px; animation-delay: 1.5s; }
.sv-petal-a:nth-child(4) { top: 20px; left: 18px; animation-delay: 0.4s; width: 4px; height: 4px; }
.sv-anim-lightning {
  background: linear-gradient(180deg,rgba(30,30,60,0.3),rgba(20,20,40,0.5));
}
.sv-bolt {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%); font-size: 28px;
  color: #FBBF24; animation: sv-bolt-flash 1.5s infinite;
}
@keyframes sv-bolt-flash {
  0%,70%,100% { opacity: 0.2; text-shadow: none; }
  75%,85% { opacity: 1; text-shadow: 0 0 12px #FBBF24, 0 0 24px rgba(251,191,36,0.5); }
}
.sv-anim-galaxy {
  background: linear-gradient(135deg,#0A0A2E,#1B1464);
  border-radius: 10px;
}
.sv-gx-dot {
  position: absolute; width: 3px; height: 3px;
  border-radius: 50%;
  animation: sv-galaxy-orbit 4s linear infinite;
}
.sv-gx-dot:nth-child(1) { background: #A78BFA; top: 24px; left: 24px; }
.sv-gx-dot:nth-child(2) { background: #EC4899; top: 18px; left: 32px; animation-delay: 0.8s; }
.sv-gx-dot:nth-child(3) { background: #60A5FA; top: 30px; left: 18px; animation-delay: 1.6s; }
.sv-gx-dot:nth-child(4) { background: #F472B6; top: 22px; left: 14px; animation-delay: 2.4s; width: 2px; height: 2px; }
.sv-gx-dot:nth-child(5) { background: #818CF8; top: 34px; left: 30px; animation-delay: 3.2s; }
@keyframes sv-galaxy-orbit {
  0% { transform: rotate(0) translateX(6px) rotate(0); opacity: 0.4; }
  50% { opacity: 1; }
  100% { transform: rotate(360deg) translateX(6px) rotate(-360deg); opacity: 0.4; }
}
.sv-anim-phoenix {
  background: linear-gradient(180deg,rgba(127,29,29,0.3),rgba(120,53,15,0.2));
}
.sv-ember {
  position: absolute; width: 4px; height: 4px;
  background: #F59E0B; border-radius: 50%;
  box-shadow: 0 0 6px rgba(245,158,11,0.8);
  animation: sv-ember-rise 2s infinite;
}
.sv-ember:nth-child(1) { bottom: 4px; left: 12px; }
.sv-ember:nth-child(2) { bottom: 8px; left: 26px; animation-delay: 0.5s; background: #EF4444; }
.sv-ember:nth-child(3) { bottom: 2px; left: 36px; animation-delay: 1s; }
.sv-ember:nth-child(4) { bottom: 6px; left: 20px; animation-delay: 1.5s; width: 3px; height: 3px; background: #EF4444; }
@keyframes sv-ember-rise {
  0% { transform: translateY(0); opacity: 0.8; }
  50% { opacity: 1; }
  100% { transform: translateY(-40px) translateX(4px); opacity: 0; }
}
.sv-anim-aurora {
  background: linear-gradient(180deg,#064E3B,#0A0A2E);
  border-radius: 10px;
}
.sv-aurora-wave {
  position: absolute; left: -10px; right: -10px; height: 16px;
  border-radius: 50%; opacity: 0.6;
  animation: sv-aurora-shift 3s infinite ease-in-out;
}
.sv-aurora-wave:nth-child(1) { top: 14px; background: rgba(16,185,129,0.5); }
.sv-aurora-wave:nth-child(2) { top: 28px; background: rgba(99,102,241,0.4); animation-delay: 1s; }

/* ========== REDUCED MOTION ========== */
@media (prefers-reduced-motion: reduce) {
  .love-nest *,
  .love-nest *::before,
  .love-nest *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
