:root{--ink: #4A3B45;--ink-soft: #8A7683;--paper: #FFFBF6;--card: #FFFFFF;--line: #F0E3DA;--accent: #FF8FB1;--accent-deep: #E36B92;--radius: 18px;--shadow: 0 4px 16px rgba(120, 80, 100, .1)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font:16px/1.4 Nunito,Segoe UI,system-ui,sans-serif;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}.splash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 80% at 50% 8%,#ffffffbf,#fff0 60%),linear-gradient(180deg,#ffd3e9,#ffa6d0 48%,#f177b4);transition:opacity .45s ease,visibility .45s ease}.splash.is-gone{opacity:0;visibility:hidden}.splash-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:clamp(4px,1.4vh,16px);padding:16px;text-align:center}.splash-title{margin:0;line-height:.92;display:flex;flex-direction:column;animation:title-bob 3.2s ease-in-out infinite}.splash-word-a,.splash-word-b{display:block;font-weight:900;letter-spacing:-.02em;background:linear-gradient(180deg,#fff,#fff3c4 45%,#ffc85c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #D2418C) drop-shadow(0 8px 14px rgba(150,20,90,.38))}.splash-word-a{font-size:clamp(46px,11vw,116px)}.splash-word-b{font-size:clamp(30px,7.2vw,74px)}.splash-stage{position:relative;display:grid;place-items:center}.splash-stage:before{content:"";position:absolute;width:108%;height:88%;border-radius:50%;background:radial-gradient(closest-side,#ffffff8c,#fff0)}.splash-hero{position:relative;display:block;height:clamp(180px,42vh,430px);width:auto;filter:drop-shadow(0 18px 24px rgba(140,20,85,.32));animation:hero-float 4.6s ease-in-out infinite}.splash-credit{margin:0;font-size:clamp(13px,2.1vw,19px);font-weight:700;color:#7a2350;text-shadow:0 1px 0 rgba(255,255,255,.55)}.splash-credit strong{color:#5e1740}.splash-play{margin-top:clamp(4px,1.2vh,14px);border:none;border-radius:999px;padding:clamp(12px,1.8vh,18px) clamp(44px,9vw,78px);font:inherit;font-size:clamp(20px,3.4vw,30px);font-weight:900;letter-spacing:.04em;color:#fff;cursor:pointer;background:linear-gradient(180deg,#ff7fb8,#e8438e);box-shadow:0 6px #b8206b,0 14px 26px #8c145566;animation:play-pulse 1.9s ease-in-out infinite;transition:transform .12s ease,box-shadow .12s ease}.splash-play:hover{transform:translateY(-2px)}.splash-play:active{transform:translateY(4px);box-shadow:0 2px #b8206b,0 6px 14px #8c145566}.splash-play:focus-visible{outline:4px solid #fff;outline-offset:4px}.sparkles{position:absolute;inset:0;z-index:1;pointer-events:none}.sparkle{position:absolute;animation:sparkle-drift var(--dur) linear infinite;animation-delay:var(--delay)}.sparkle i{display:block;width:var(--size);height:var(--size);background:var(--tint);clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);animation:sparkle-twinkle var(--dur) ease-in-out infinite;animation-delay:var(--delay)}@keyframes sparkle-drift{0%{transform:translate3d(0,12vh,0)}to{transform:translate3d(0,-22vh,0)}}@keyframes sparkle-twinkle{0%,to{opacity:0;transform:scale(.2) rotate(0)}35%{opacity:1;transform:scale(1) rotate(35deg)}65%{opacity:.75;transform:scale(.8) rotate(70deg)}}@keyframes title-bob{0%,to{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-9px) rotate(1.2deg)}}@keyframes hero-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1deg)}}@keyframes play-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.055)}}@media(prefers-reduced-motion:reduce){.splash-title,.splash-hero,.splash-play,.sparkle,.sparkle i{animation:none}.sparkle i{opacity:.85}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 22px;background:var(--card);border-bottom:2px solid var(--line)}.topbar h1{margin:0;font-size:26px;letter-spacing:-.01em;color:var(--accent-deep)}.topbar-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:none;border-radius:999px;padding:10px 18px;font:inherit;font-weight:700;color:#fff;background:var(--accent);cursor:pointer;box-shadow:var(--shadow);transition:transform .12s ease,filter .12s ease}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px) scale(.98)}.btn-ghost{background:#fff;color:var(--ink-soft);border:2px solid var(--line);box-shadow:none}.layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,1fr) minmax(340px,480px);gap:20px;padding:20px}.stage-panel{display:flex;flex-direction:column;align-items:center;gap:14px;min-height:0}.stage{position:relative;flex:1;width:100%;min-height:0;border-radius:26px;border:2px solid var(--line);box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden;padding:12px}.stage-sparkles{z-index:0;opacity:.85}.stage-sparkles .sparkle i{filter:drop-shadow(0 1px 2px rgba(150,90,40,.28))}.doll{z-index:1}.doll{position:relative;aspect-ratio:1 / 1;height:100%;max-height:100%;max-width:100%}.layer{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;overflow:visible}.layer-base{z-index:20}.backdrop-row{display:flex;gap:10px}.swatch{width:40px;height:40px;border-radius:50%;border:3px solid var(--line);cursor:pointer;padding:0;transition:transform .12s ease}.swatch:hover{transform:scale(1.08)}.swatch.is-on{border-color:var(--accent);transform:scale(1.12)}.closet{display:flex;flex-direction:column;min-height:0;background:var(--card);border:2px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.tabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-bottom:2px solid var(--line);flex:0 0 auto}.tab{flex:0 0 auto;border:2px solid transparent;background:#fff3f7;color:var(--ink-soft);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}.tab:hover{border-color:var(--line)}.tab.is-active{background:var(--accent);color:#fff}.tab-icon{font-size:17px}.items{flex:1;min-height:0;overflow-y:auto;padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;align-content:start}.item{border:3px solid var(--line);background:#fff;border-radius:var(--radius);padding:8px 6px 10px;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .12s ease,border-color .12s ease}.item:hover{transform:translateY(-2px);border-color:#f5d2df}.item.is-on{border-color:var(--accent);background:#fff3f7;box-shadow:0 0 0 3px #ff8fb138}.thumb{width:100%;aspect-ratio:1 / 1;display:grid;place-items:center;background:linear-gradient(180deg,#fbf6f1,#fff);border-radius:12px;overflow:hidden}.thumb-art{width:100%;height:100%;display:block}.thumb-none{color:var(--ink-soft);font-size:26px;font-weight:700}.items-empty{grid-column:1 / -1;margin:28px 0 0;text-align:center;font-size:15px;font-weight:800;color:var(--ink-soft)}.item-name{font-size:12px;font-weight:700;color:var(--ink-soft);text-align:center;line-height:1.2}.palette-wrap[hidden]{display:none}.palette-wrap{flex:0 0 auto;border-top:2px solid var(--line);padding:12px 14px;display:flex;align-items:center;gap:12px;background:#fffbf8}.palette-label{font-size:13px;font-weight:800;color:var(--ink-soft);flex:0 0 auto}.palette{display:flex;flex-wrap:wrap;gap:8px}.swatch-sm{width:32px;height:32px;border-width:3px}@media(max-width:900px){.layout{grid-template-columns:1fr;grid-template-rows:minmax(280px,46vh) 1fr}.topbar{padding:12px 14px}.topbar h1{font-size:21px}.layout{padding:12px;gap:12px}}.tab-text{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}.tab-tib,.item-tib{display:block;font-family:var(--font-tibetan, "Genla Uchen", serif);color:var(--gd-tib, #7a6a55);line-height:1.6}.tab-tib{font-size:.85em}.item-tib{font-size:.95em;margin-top:-.15em}
