:root{--bg-0: #050816;--bg-1: #09142a;--bg-2: #101f40;--gold: #ffd700;--pink: #ff4fa3;--purple: #8a5cff;--blue: #49c6ff;--glass: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .14);--theme-primary: var(--purple);--theme-accent: var(--pink);--theme-glow: var(--gold);--theme-glass-opacity: .08;--theme-bg-darkness: 1;--font-display: "Playfair Display", Georgia, serif;--font-body: "Poppins", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;min-height:100%;background:var(--bg-0);color:#f5f3ff;font-family:var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}body{overscroll-behavior:none}button{font-family:var(--font-body)}:focus-visible{outline:2px solid var(--theme-glow);outline-offset:3px;border-radius:6px}#sky-canvas,#fx-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}#fx-canvas{z-index:5}#app{position:relative;z-index:10;width:100%;min-height:100vh}#toast-root{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:999;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:#101428e6;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:12px 22px;border-radius:999px;font-size:.9rem;box-shadow:0 8px 30px #0006;opacity:0;transform:translateY(12px) scale(.96);transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}.toast--visible{opacity:1;transform:translateY(0) scale(1)}.phase{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;opacity:0;transition:opacity 1.1s ease;pointer-events:none}.phase--active{opacity:1;pointer-events:auto}.phase--black{background:#000;z-index:20}.signature-line{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2.8rem);color:#fff;opacity:0;letter-spacing:.02em;text-shadow:0 0 24px rgba(255,255,255,.25);transition:opacity 1.4s ease;max-width:90vw}.signature-line--visible{opacity:1}.signature-sub{font-family:var(--font-body);font-size:clamp(.85rem,2vw,1.1rem);color:#ffffffa6;margin-top:14px;opacity:0;transition:opacity 1.4s ease .2s}.signature-sub--visible{opacity:1}.sparkle-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px #fffc;pointer-events:none;animation:sparkle-fade 1.6s ease-out forwards}@keyframes sparkle-fade{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.2) translateY(-10px)}}.hero-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,5vw,3.2rem);color:#fff;text-shadow:0 0 30px color-mix(in srgb,var(--theme-glow) 60%,transparent);opacity:0;transform:translateY(18px);transition:opacity 1.3s ease,transform 1.3s cubic-bezier(.22,1,.36,1);max-width:90vw}.hero-title--visible{opacity:1;transform:translateY(0)}.hero-subtitle{font-family:var(--font-body);font-weight:300;font-size:clamp(.85rem,2vw,1.15rem);color:#ffffff8c;margin-top:16px;opacity:0;transition:opacity 1.3s ease .3s}.hero-subtitle--visible{opacity:1}.hero-title--rising{transform:translateY(-160px) scale(.85);transition:transform 1.4s cubic-bezier(.4,0,.2,1),opacity 1s ease}.hero-subtitle--fading{opacity:0!important}.welcome-phase{display:flex;align-items:center;justify-content:center;min-height:100%}.welcome-text{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,4.4vw,2.6rem);color:#fff;text-align:center;max-width:88vw;text-shadow:0 0 34px color-mix(in srgb,var(--theme-glow) 65%,transparent);opacity:0;transition:opacity .8s ease;min-height:1.4em}.welcome-text--visible{opacity:1}.welcome-text:after{content:"";display:inline-block;width:3px;height:.9em;margin-left:4px;background:currentColor;vertical-align:-.12em;animation:welcome-caret-blink .9s steps(1) infinite}.welcome-text--done:after{display:none}@keyframes welcome-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.welcome-phase--fading .welcome-text{opacity:0;transition:opacity 1s ease}.giftbox-stage{position:relative;width:min(280px,60vw);height:min(220px,48vw);margin-top:32px;opacity:0;transform:scale(.85);transition:opacity 1s ease,transform 1s cubic-bezier(.34,1.56,.64,1)}.giftbox-stage--visible{opacity:1;transform:scale(1);animation:giftbox-breathe 4.5s ease-in-out infinite}.giftbox-stage--secondary{width:min(210px,50vw);height:min(170px,40vw)}@keyframes giftbox-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.giftbox-stage:hover{filter:drop-shadow(0 0 34px color-mix(in srgb,var(--theme-glow) 55%,transparent))}.giftbox{position:absolute;inset:0;cursor:pointer;transform-style:preserve-3d}.giftbox-body{position:absolute;left:8%;right:8%;bottom:0;height:62%;border-radius:14px;background:linear-gradient(145deg,#2c1f52,#171034 60%,#0d0a22);box-shadow:0 30px 60px #0000008c,inset 0 1px #ffffff26,0 0 0 1px #ffffff0f}.giftbox-lid{position:absolute;left:2%;right:2%;top:26%;height:20%;border-radius:12px;background:linear-gradient(145deg,#3a2a68,#1d1442 65%,#100b2c);box-shadow:0 14px 30px #00000080,inset 0 1px #fff3;transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.6,.05,.2,1);z-index:3}.giftbox--open .giftbox-lid{transform:rotateX(-118deg) translateY(-6px)}.giftbox-ribbon-v{position:absolute;left:50%;top:0;bottom:0;width:14%;transform:translate(-50%);background:linear-gradient(180deg,var(--theme-glow),#b8860b);box-shadow:0 0 14px color-mix(in srgb,var(--theme-glow) 60%,transparent);z-index:4;transition:opacity .5s ease}.giftbox-ribbon-h{position:absolute;left:8%;right:8%;top:44%;height:12%;background:linear-gradient(90deg,var(--theme-glow),#b8860b);box-shadow:0 0 14px color-mix(in srgb,var(--theme-glow) 60%,transparent);z-index:4;transition:opacity .5s ease}.giftbox--open .giftbox-ribbon-v,.giftbox--open .giftbox-ribbon-h{opacity:0}.giftbox-bow{position:absolute;left:50%;top:-10%;width:22%;height:22%;transform:translate(-50%);z-index:5;transition:opacity .4s ease,transform .6s ease}.giftbox-bow:before,.giftbox-bow:after{content:"";position:absolute;width:60%;height:100%;border-radius:50% 50% 50% 0;background:linear-gradient(135deg,var(--theme-glow),#c99400);box-shadow:0 0 12px color-mix(in srgb,var(--theme-glow) 65%,transparent)}.giftbox-bow:before{left:-20%;transform:rotate(-35deg)}.giftbox-bow:after{right:-20%;transform:rotate(35deg) scaleX(-1);border-radius:50% 50% 50% 0}.giftbox--open .giftbox-bow{opacity:0;transform:translate(-50%) translateY(-20px) scale(.6)}.giftbox-glow{position:absolute;left:50%;top:30%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff,var(--theme-glow) 40%,transparent 70%);opacity:0;transition:opacity .6s ease,width .6s ease,height .6s ease;z-index:2;filter:blur(2px)}.giftbox--open .giftbox-glow{opacity:1;width:340px;height:340px}.giftbox-lock{position:absolute;left:50%;top:20%;width:15%;height:22%;transform:translate(-50%);background:linear-gradient(160deg,#ffe27a,var(--theme-glow) 60%,#a67c00);border-radius:6px 6px 10px 10px;box-shadow:0 0 18px color-mix(in srgb,var(--theme-glow) 55%,transparent),inset 0 1px #fff6;z-index:6;transition:opacity .5s ease,transform .6s ease}.giftbox-lock:before{content:"";position:absolute;left:25%;top:-55%;width:50%;height:55%;border:4px solid var(--theme-glow);border-bottom:none;border-radius:50% 50% 0 0}.giftbox--unlocked .giftbox-lock{opacity:0;transform:translate(-50%,30px) rotate(25deg)}.giftbox-caption{margin-top:18px;font-size:.85rem;color:#ffffff80;opacity:0;transition:opacity 1s ease .4s}.giftbox-caption--visible{opacity:1}.card-emerge{position:absolute;left:50%;top:14%;width:44%;height:28%;transform:translate(-50%,10px) scale(.45);border-radius:10px;background:linear-gradient(160deg,#ffffff29,#ffffff0a);border:1px solid var(--glass-border);box-shadow:0 0 30px color-mix(in srgb,var(--theme-glow) 40%,transparent);opacity:0;transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.22,1,.36,1);z-index:7;pointer-events:none}.card-emerge--visible{opacity:1;transform:translate(-50%,-70px) scale(.95)}.card-scene{position:relative;width:min(560px,88vw);perspective:1600px;margin-top:12px}.book-wrap{position:relative;width:100%;min-height:440px;perspective:2000px;opacity:0;transform:translateY(90px) scale(.8);transition:opacity 1.4s ease,transform 1.6s cubic-bezier(.22,1,.36,1)}.book-wrap--visible{opacity:1;transform:translateY(0) scale(1)}.book{position:relative;width:100%;min-height:440px;transform-style:preserve-3d}.book--opening{animation:book-open 1.3s cubic-bezier(.22,1,.36,1)}@keyframes book-open{0%{transform:rotateX(22deg) rotateY(10deg) scale(.92);filter:brightness(.7)}55%{transform:rotateX(-4deg) rotateY(-2deg) scale(1.01);filter:brightness(1.08)}to{transform:rotateX(0) rotateY(0) scale(1);filter:brightness(1)}}.book--opening .book-page--cover:before{animation:book-cover-sheen 1.3s ease}@keyframes book-cover-sheen{0%{box-shadow:inset 0 0 #fff0}50%{box-shadow:inset -60px 40px 80px -20px #ffffff4d}to{box-shadow:inset 0 0 #fff0}}.book-page{position:absolute;inset:0;border-radius:26px;background:linear-gradient(160deg,#ffffff17,#ffffff08);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 40px 90px #0000008c,inset 0 1px #ffffff26,0 0 60px color-mix(in srgb,var(--theme-primary) 18%,transparent);padding:clamp(28px,6vw,56px) clamp(20px,6vw,48px);display:flex;flex-direction:column;align-items:center;justify-content:center;transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden;transition:transform 1.15s cubic-bezier(.61,.06,.18,1),box-shadow 1.15s ease;overflow:hidden}.book-page:before{content:"";position:absolute;inset:10px;border-radius:20px;border:1px solid color-mix(in srgb,var(--theme-glow) 30%,transparent);pointer-events:none}.book-page:after{content:"";position:absolute;left:0;top:0;bottom:0;width:40px;background:linear-gradient(90deg,rgba(0,0,0,.28),transparent);pointer-events:none}.book-page--flipped{transform:rotateY(-172deg);box-shadow:none}.book-page--cover{background:linear-gradient(160deg,#ffffff24,#ffffff0a);border:1px solid color-mix(in srgb,var(--theme-glow) 35%,var(--glass-border))}.book-page--flipping{transition:transform 1.1s cubic-bezier(.61,.06,.18,1),box-shadow 1.1s ease;box-shadow:0 60px 120px #000000a6,inset 0 1px #ffffff2e}.book-page--flipping:before{animation:page-curl-glow 1.1s ease}@keyframes page-curl-glow{0%{box-shadow:inset 0 0 #fff0}45%{box-shadow:inset 40px 0 60px -20px #ffffff40}to{box-shadow:inset 0 0 #fff0}}.card-title{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2.6rem);font-weight:600;color:#fff;text-shadow:0 0 26px color-mix(in srgb,var(--theme-glow) 55%,transparent);opacity:0;transform:translateY(10px);transition:opacity 1s ease,transform 1s ease}.card-title--visible{opacity:1;transform:translateY(0)}.card-name{font-family:var(--font-display);font-size:clamp(1.4rem,4.4vw,2.1rem);color:var(--theme-glow);margin-top:10px;opacity:0;transform:translateY(10px);transition:opacity 1s ease,transform 1s ease}.card-name--visible{opacity:1;transform:translateY(0)}.card-message{margin-top:26px;font-size:clamp(.92rem,2.2vw,1.08rem);line-height:1.85;color:#ffffffe0;white-space:pre-wrap;text-align:left;max-height:46vh;overflow-y:auto;padding-right:4px}.card-message::-webkit-scrollbar{width:4px}.card-message::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--theme-primary) 60%,transparent);border-radius:4px}.typing-cursor{display:inline-block;width:2px;height:1em;background:var(--theme-glow);margin-left:2px;vertical-align:-.15em;animation:cursor-blink .9s steps(1) infinite}@keyframes cursor-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.card-transition-text{font-family:var(--font-display);font-size:clamp(1.1rem,3.4vw,1.7rem);color:#fff;margin-top:26px;text-align:center;text-shadow:0 0 22px color-mix(in srgb,var(--theme-glow) 50%,transparent);opacity:0;transition:opacity 1.2s ease}.card-transition-text--visible{opacity:1}.btn{position:relative;font-family:var(--font-body);font-weight:600;font-size:.95rem;color:#1a1206;padding:14px 34px;border:none;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,#ffe27a,var(--theme-glow) 55%,#d9a300);box-shadow:0 12px 28px color-mix(in srgb,var(--theme-glow) 35%,transparent);overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;isolation:isolate}.btn--morphing{transform:scale(.94);opacity:.7;transition:transform .16s ease,opacity .16s ease}.btn:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.65),transparent);transform:skew(-20deg);transition:left .7s ease}.btn:hover:after{left:130%}.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 34px color-mix(in srgb,var(--theme-glow) 45%,transparent)}.btn:active{transform:translateY(0) scale(.97)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn--ghost{background:var(--glass);color:#fff;border:1px solid var(--glass-border);box-shadow:none}.btn--ghost:hover{box-shadow:0 10px 26px #00000059}.btn-row{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;justify-content:center}.gift-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) translateY(12px);text-align:center;opacity:0;transition:opacity 1.2s ease,transform 1.2s ease;z-index:15;pointer-events:none}.gift-prompt--visible{opacity:1;transform:translate(-50%,-50%) translateY(0);pointer-events:auto}.gift-prompt-text{font-family:var(--font-display);font-size:clamp(1.1rem,3.2vw,1.5rem);color:#fff;text-shadow:0 0 20px color-mix(in srgb,var(--theme-glow) 50%,transparent);margin-bottom:16px}.reward-card{margin-top:28px}.reward-title{font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2rem);color:#fff}.reward-subtitle{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffff80;margin-top:6px}.code-display{margin-top:22px;font-family:Poppins,monospace;font-size:clamp(1.1rem,3.4vw,1.6rem);letter-spacing:.14em;color:var(--theme-glow);background:#00000040;padding:14px 24px;border-radius:14px;border:1px solid color-mix(in srgb,var(--theme-glow) 40%,transparent);min-width:220px;transition:filter .4s ease}.code-display--hidden{filter:blur(8px);-webkit-user-select:none;user-select:none}.cake-scene{position:relative;width:min(320px,72vw);height:min(250px,56vw);margin-top:24px}.cake-tier{position:absolute;left:8%;right:8%;border-radius:12px;box-shadow:inset 0 -6px 12px #00000040,0 12px 24px #0006}.cake-tier--bottom{bottom:0;height:42%;background:linear-gradient(160deg,#ffd9e8,var(--theme-accent) 80%)}.cake-tier--top{left:20%;right:20%;bottom:38%;height:32%;background:linear-gradient(160deg,#fff3c4,var(--theme-glow) 85%)}.cake-drip{position:absolute;top:-6px;left:0;right:0;height:14px;background:repeating-radial-gradient(circle at 10px 0,#fff 0 5px,transparent 6px 20px);opacity:.7}.candle{position:absolute;bottom:68%;width:5px;height:26px;background:linear-gradient(180deg,#fff,#eee);border-radius:2px}.candle--letter{width:auto;height:auto;background:none;border-radius:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,4.4vw,2.1rem);line-height:1;color:#fffdf3;text-shadow:0 0 10px color-mix(in srgb,var(--theme-glow) 70%,transparent),0 2px 3px rgba(0,0,0,.35);transform:translate(-50%);transition:opacity .6s ease,text-shadow .6s ease}.flame{position:absolute;top:-14px;left:50%;width:8px;height:14px;transform:translate(-50%);background:radial-gradient(circle,#fff6c5,var(--theme-glow) 55%,transparent 90%);border-radius:50%/60% 60% 40% 40%;animation:flame-flicker 1.4s ease-in-out infinite alternate;filter:blur(.3px);transition:opacity .4s ease,transform .4s ease}.candle--letter .flame{top:-20px}.flame--out{animation:none;opacity:0;transform:translate(-50%) scale(.3) translateY(6px)}.candle--letter.candle--out{text-shadow:none;color:#d9d3c4;opacity:.75}.cake-smoke{position:absolute;top:-18px;left:50%;width:10px;height:20px;transform:translate(-50%);background:radial-gradient(circle,rgba(220,220,220,.55),transparent 75%);border-radius:50%;opacity:0;pointer-events:none}.cake-smoke--rise{animation:smoke-rise 1.4s ease-out forwards}@keyframes smoke-rise{0%{opacity:.7;transform:translate(-50%) translateY(0) scale(.6)}to{opacity:0;transform:translate(-50%) translateY(-30px) scale(1.6)}}@keyframes flame-flicker{0%{transform:translate(-50%) scale(1) rotate(-3deg)}50%{transform:translate(-50%) scale(1.08) rotate(2deg)}to{transform:translate(-50%) scale(.95) rotate(-2deg)}}.blow-btn{margin-top:22px;font-family:var(--font-display);font-weight:700;font-size:clamp(1rem,2.6vw,1.2rem);letter-spacing:.04em;padding:12px 36px;border:none;border-radius:999px;cursor:pointer;color:#1a1206;background:linear-gradient(135deg,#ffe27a,var(--theme-glow) 55%,#d9a300);box-shadow:0 12px 28px color-mix(in srgb,var(--theme-glow) 35%,transparent);opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease,box-shadow .2s ease}.blow-btn--visible{opacity:1;transform:translateY(0)}.blow-btn:hover{box-shadow:0 16px 34px color-mix(in srgb,var(--theme-glow) 50%,transparent)}.blow-btn:disabled{opacity:.45;cursor:default;transform:translateY(0) scale(.97)}.ending-text{font-family:var(--font-display);font-size:clamp(1.1rem,3.4vw,1.6rem);line-height:1.7;color:#fff;max-width:680px;opacity:0;transition:opacity 1.6s ease;text-shadow:0 0 20px color-mix(in srgb,var(--theme-primary) 40%,transparent)}.ending-text--visible{opacity:1}.ending-signature{margin-top:22px;font-size:clamp(.95rem,2.4vw,1.15rem);color:#ffffffb3;opacity:0;transition:opacity 1.6s ease;text-shadow:0 0 14px color-mix(in srgb,var(--theme-glow) 40%,transparent)}.ending-signature--visible{opacity:1}.music-player{position:fixed;left:50%;bottom:14px;z-index:40;width:min(320px,calc(100vw - 24px));padding:8px 10px 10px;border-radius:16px;background:#120e1c99;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 32px #00000073;opacity:0;transform:translate(-50%,14px) scale(.94);transition:opacity .6s ease,transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.music-player--visible{opacity:1;transform:translate(-50%) scale(1);pointer-events:auto}.music-player-credit{position:fixed;left:50%;bottom:84px;z-index:40;transform:translate(-50%);font-family:var(--font-body);font-size:.62rem;letter-spacing:.06em;color:#ffffff61;opacity:0;transition:opacity .6s ease;pointer-events:none;white-space:nowrap}.music-player-credit--visible{opacity:1}.music-player-row{display:flex;align-items:center;gap:6px}.music-player-btn{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:.72rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .15s ease}.music-player-btn:hover{background:#fff3}.music-player-btn:active{transform:scale(.9)}.music-player-btn--play{width:28px;height:28px;background:color-mix(in srgb,var(--theme-primary) 55%,rgba(255,255,255,.12))}.music-player-btn:disabled{cursor:default}.music-player-info{flex:1 1 auto;min-width:0;overflow:hidden}.music-player-title{font-size:.78rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-player-time{font-size:.66rem;color:#ffffff8c;margin-top:1px;font-variant-numeric:tabular-nums}.music-player-progress{position:relative;margin-top:7px;height:4px;border-radius:4px;background:#ffffff24;cursor:pointer;touch-action:none}.music-player-progress-fill{height:100%;width:0%;border-radius:4px;background:linear-gradient(90deg,var(--theme-primary),var(--theme-glow));transition:width .35s linear;pointer-events:none}.music-player-progress-thumb{position:absolute;top:50%;left:0%;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-primary) 60%,transparent),0 2px 6px #00000080;transform:translate(-50%,-50%) scale(.001);transition:transform .15s ease,width .35s linear,left .35s linear;pointer-events:none}.music-player-progress:hover .music-player-progress-thumb,.music-player-progress--dragging .music-player-progress-thumb{transform:translate(-50%,-50%) scale(1)}.music-player-progress--dragging .music-player-progress-fill,.music-player-progress--dragging .music-player-progress-thumb{transition:none}@media(max-width:480px){.card{min-height:380px;padding:26px 18px}.giftbox-stage{width:70vw;height:56vw}}@media(min-width:1800px){.card-scene{max-width:680px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.admin-root{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 20% 0%,rgba(138,92,255,.18),transparent 55%),radial-gradient(circle at 80% 100%,rgba(255,79,163,.15),transparent 55%),var(--bg-0);overflow-y:auto;padding:32px clamp(16px,4vw,48px) 64px;color:#f5f3ff}.admin-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:28px}.admin-title{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem)}.admin-subtitle{font-size:.85rem;color:#ffffff80}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.admin-card{background:#ffffff0d;border:1px solid var(--glass-border);border-radius:18px;padding:22px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 40px #00000059;transition:transform .25s ease,box-shadow .25s ease}.admin-card:hover{transform:translateY(-2px);box-shadow:0 26px 50px #00000073}.admin-card h3{margin:0 0 14px;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:8px}.admin-field{margin-bottom:14px}.admin-field label{display:block;font-size:.78rem;color:#ffffff8c;margin-bottom:6px}.admin-field input[type=text],.admin-field textarea,.admin-field input[type=color]{width:100%;background:#00000040;border:1px solid var(--glass-border);border-radius:10px;padding:10px 12px;color:#fff;font-family:var(--font-body);font-size:.88rem;transition:border-color .2s ease,box-shadow .2s ease}.admin-field textarea{resize:vertical;min-height:90px}.admin-field input:focus,.admin-field textarea:focus{border-color:var(--theme-glow);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-glow) 20%,transparent);outline:none}.admin-slider-row{display:flex;align-items:center;gap:10px}.admin-slider-row input[type=range]{flex:1;accent-color:var(--theme-glow)}.admin-slider-value{font-size:.78rem;color:#fff9;min-width:34px;text-align:right}.admin-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.admin-toggle-row:last-child{border-bottom:none}.admin-switch{position:relative;width:42px;height:24px;border-radius:999px;background:#ffffff26;cursor:pointer;transition:background .25s ease;border:none;flex-shrink:0}.admin-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.admin-switch--on{background:linear-gradient(135deg,var(--theme-glow),#d9a300)}.admin-switch--on:after{transform:translate(18px)}.admin-file-drop{border:1.5px dashed var(--glass-border);border-radius:12px;padding:18px;text-align:center;font-size:.8rem;color:#ffffff8c;cursor:pointer;transition:border-color .2s ease,background .2s ease}.admin-file-drop:hover{border-color:var(--theme-glow);background:#ffffff08}.admin-music-controls{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.admin-icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--glass-border);background:#ffffff0f;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease}.admin-icon-btn:hover{background:#ffffff24;transform:translateY(-1px)}.admin-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.admin-status{font-size:.78rem;color:#fff6;margin-top:6px}.admin-warning{font-size:.78rem;color:var(--pink);margin-top:6px}
