:root{color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff7fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans,Noto Sans CJK SC,sans-serif}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.site{--bg:#fff7fb;--surface:rgba(255,252,254,.84);--surface-solid:rgba(255,251,253,.95);--text:#302c35;--muted:#817684;--line:rgba(100,82,115,.14);--pink:#ee8faf;--pink-dark:#c95e87;--pink-soft:#fbe3ec;--purple:#897ca8;--lavender:#b9adeb;--lavender-soft:#eeeaff;position:relative;isolation:isolate;overflow-x:clip;min-height:100vh;padding-bottom:34px;color:var(--text);background:var(--bg);transition:color .25s ease,background .25s ease}.site:before{background:linear-gradient(180deg,rgba(255,247,251,.18),rgba(255,247,251,.54) 45%,rgba(255,247,251,.94) 88%),url(/huanyi-sing.webp) 82% 0 /300px auto no-repeat,url(/huanyi-bunny.webp) 5% 1% /300px auto no-repeat,radial-gradient(circle at 50% 15%,rgba(255,255,255,.28),transparent 35%),linear-gradient(145deg,#a88eb8,#d7bad2 35%,#fff0f2 77%,#ffe0e9);opacity:.9}.site:after,.site:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none}.site:after{background:radial-gradient(circle at 86% 7%,rgba(238,143,175,.16),transparent 22rem),radial-gradient(circle at 7% 34%,rgba(185,173,235,.16),transparent 24rem)}.site.theme-dark{--bg:#191620;--surface:rgba(42,36,50,.86);--surface-solid:rgba(40,34,47,.95);--text:#fff4f9;--muted:#c5b4c7;--line:rgba(239,226,255,.13);--pink:#f29abc;--pink-dark:#ffafd0;--pink-soft:rgba(242,154,188,.13);--purple:#d7c9ff;--lavender:#aa9add;--lavender-soft:rgba(170,154,221,.12)}.site.theme-dark:before{background:linear-gradient(180deg,rgba(25,22,32,.46),rgba(25,22,32,.76) 45%,rgba(25,22,32,.96) 88%),url(/huanyi-sing.webp) 82% 0 /300px auto no-repeat,url(/huanyi-bunny.webp) 5% 1% /300px auto no-repeat,radial-gradient(circle at 50% 15%,rgba(193,169,220,.2),transparent 35%),linear-gradient(145deg,#43334f,#33283e 45%,#1b1828)}.artist-hub,.controls,.header,.intro,.live-card,.request-guide,.search-panel,.song-list,.toolbar,footer{position:relative;z-index:1;width:min(900px,calc(100% - 32px));margin-inline:auto}.header{height:82px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.header{align-items:center}.brand{display:inline-flex;gap:11px;color:var(--text);text-decoration:none}.brand-dot{width:40px;height:34px;display:grid;place-items:center;position:relative;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#2e2b34;color:white;font-size:10px;font-weight:900;letter-spacing:.03em;box-shadow:0 8px 22px rgba(49,43,57,.16)}.brand-dot:before{content:"";position:absolute;left:6px;bottom:5px;width:5px;height:7px;border-radius:2px;background:#111015;opacity:.75}.brand-dot:after{content:"";position:absolute;right:-3px;top:-5px;width:12px;height:12px;border:2px solid rgba(255,255,255,.78);border-radius:50%;background:var(--lavender);box-shadow:0 2px 5px rgba(78,62,94,.22)}.brand-dot.brand-avatar{width:40px;height:40px;overflow:hidden;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#fff8fb;box-shadow:0 8px 22px rgba(111,79,104,.18)}.brand-dot.brand-avatar:after,.brand-dot.brand-avatar:before{content:none}.brand-avatar img{width:100%;height:100%;display:block;object-fit:cover}.brand>span:last-child{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:14px;letter-spacing:.16em}.brand small{color:var(--muted);font-size:7px;letter-spacing:.2em}.header-actions{display:flex;align-items:center;gap:8px}.round-button,.text-button{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.text-button{height:38px;padding:0 14px;border-radius:999px;font-size:11px;font-weight:700}.round-button{width:38px;height:38px;border-radius:50%;font-size:17px}.birthday-link,.share-button{color:var(--pink-dark)}.birthday-link{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:10px;font-weight:700;text-decoration:none}.intro{min-height:250px;padding:55px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.intro:before{content:"";position:absolute;left:12px;top:35px;width:58px;height:9px;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(238,143,175,.32),transparent);transform:rotate(-9deg)}.intro-copy p{margin:0 0 12px;color:var(--pink-dark);font-size:9px;font-weight:800;letter-spacing:.2em}.intro-copy h1{margin:0;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(38px,7vw,64px);font-weight:500;letter-spacing:-.05em}.intro-copy>span{display:block;max-width:520px;margin-top:17px;color:var(--muted);font-size:13px;line-height:1.75}.intro-count{display:inline-flex;margin-top:12px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--pink-dark);font-size:9px;font-weight:700}.music-mark{flex:0 0 160px;height:120px;position:relative;display:flex;align-items:end;justify-content:center;gap:8px;border-radius:50%;background:radial-gradient(circle,var(--lavender-soft),transparent 68%)}.music-mark:after,.music-mark:before{content:"";position:absolute;top:3px;width:22px;height:44px;border:2px solid rgba(185,173,235,.58);border-radius:60% 60% 48% 48%;background:rgba(255,255,255,.48)}.music-mark:before{right:46px;transform:rotate(-14deg)}.music-mark:after{right:23px;transform:rotate(14deg)}.music-mark i{position:absolute;top:13px;left:25px;color:var(--pink);font:50px/1 Georgia,serif;transform:rotate(-8deg)}.music-mark b{width:6px;border-radius:999px;background:linear-gradient(var(--pink),var(--lavender));opacity:.7;transform-origin:bottom;animation:bars .9s ease-in-out infinite alternate}.music-mark b:first-of-type{height:28px}.music-mark b:nth-of-type(2){height:58px;animation-delay:.15s}.music-mark b:nth-of-type(3){height:40px;animation-delay:.3s}.music-mark b:nth-of-type(4){height:72px;animation-delay:.45s}.music-mark b:nth-of-type(5){height:34px;animation-delay:.6s}.live-card{min-height:72px;padding:14px 18px;display:flex;align-items:center;gap:13px;border:1px solid rgba(185,173,235,.28);border-radius:18px;background:linear-gradient(110deg,var(--lavender-soft),var(--pink-soft) 52%,var(--surface));color:var(--text);text-decoration:none;box-shadow:0 12px 34px rgba(125,101,151,.08)}.live-card>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.live-card strong{font-size:13px}.live-card small{color:var(--muted);font-size:10px}.live-card>b{margin-left:auto;color:var(--pink-dark);font-size:19px}.live-dot{width:9px;height:9px;border-radius:50%;background:#f04e78;box-shadow:0 0 0 6px rgba(240,78,120,.12);animation:pulse 1.5s infinite}.artist-hub{min-height:66px;margin-top:9px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.artist-hub>div{display:flex;flex-direction:column;gap:3px}.artist-hub strong{font-size:11px}.artist-hub small{color:var(--muted);font-size:9px}.artist-hub .artist-links{flex:0 0 auto}.request-guide{min-height:48px;margin-top:9px;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px dashed rgba(201,94,135,.24);border-radius:15px;background:rgba(255,252,254,.62);color:var(--muted);font-size:9px}.request-guide>strong{margin-right:auto;color:var(--text);font-size:10px}.request-guide>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.request-guide b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--pink-soft);color:var(--pink-dark);font-size:8px}.request-guide i{color:var(--pink);font-style:normal}.search-panel{margin-top:16px;padding:7px;box-shadow:0 12px 34px rgba(111,86,129,.07)}.controls,.search-panel{border:1px solid var(--line);border-radius:18px;background:var(--surface)}.controls{margin-top:8px;padding:12px 18px;box-shadow:0 16px 45px rgba(111,86,129,.055)}.search-box{height:54px;padding:0 15px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface-solid)}.search-box>span{color:var(--pink-dark);font:27px/1 Georgia,serif;transform:rotate(-18deg)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.search-box input::placeholder{color:var(--muted)}.search-box button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:20px}.filters-head{min-height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.filters-head strong{font-size:12px}.filters-head button{border:0;background:none;color:var(--pink-dark);cursor:pointer;font-size:10px}.filters-head button:disabled{opacity:.35;cursor:default}.filter-group{display:grid;grid-template-columns:62px 1fr;align-items:start;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.filter-group:last-child{border-bottom:0}.filter-label{padding-top:7px;color:var(--muted);font-size:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:7px 12px;border:1px solid transparent;border-radius:999px;background:linear-gradient(110deg,var(--pink-soft),var(--lavender-soft));color:var(--muted);cursor:pointer;font-size:10px;transition:.15s ease}.chip:hover{border-color:rgba(232,79,138,.28);color:var(--pink-dark)}.chip.active{background:var(--pink);color:white;box-shadow:0 5px 15px rgba(232,79,138,.17)}select{border:1px solid var(--line);border-radius:11px;background:var(--surface-solid);color:var(--text);outline:none;cursor:pointer}.toolbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.toolbar strong{color:var(--pink-dark);font-size:18px}.toolbar>div:first-child>span{margin:0 8px}.toolbar small{font-size:9px}.toolbar-actions{display:flex;align-items:center;gap:7px}.toolbar label{display:flex;align-items:center;gap:8px}.toolbar select{height:34px;padding:0 9px;font-size:10px}.random-button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(110deg,var(--pink-soft),var(--lavender-soft));color:var(--pink-dark);cursor:pointer;font-size:10px;font-weight:700}.random-button:disabled{opacity:.4;cursor:default}.song-list{display:grid;gap:8px}.song-card{min-width:0;min-height:76px;padding:7px;display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:4px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);content-visibility:auto;contain-intrinsic-size:76px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.song-card:hover{transform:translateY(-1px);border-color:rgba(232,79,138,.38);box-shadow:0 9px 24px rgba(176,78,117,.08)}.song-copy-action{min-width:0;min-height:60px;padding:5px 7px;display:grid;grid-template-columns:28px minmax(0,1fr) auto 30px;align-items:center;gap:12px;border:0;border-radius:11px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.song-note{color:var(--pink);font:20px/1 Georgia,serif;transform:rotate(-8deg)}.song-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.song-copy small,.song-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-copy strong{font-size:13px}.song-copy small{color:var(--muted);font-size:10px}.song-copy i{margin-left:7px;padding:2px 6px;border-radius:999px;background:var(--pink-soft);color:var(--pink-dark);font-size:8px;font-style:normal;vertical-align:2px}.song-meta{max-width:112px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.song-meta i{padding:4px 7px;border-radius:999px;background:var(--lavender-soft);color:var(--purple);font-size:8px;font-style:normal}.song-meta time{color:var(--muted);font-size:7px;white-space:nowrap}.copy-symbol{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--pink-dark);font-size:9px;font-weight:800}.favorite-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-solid);color:var(--muted);cursor:pointer;font:18px/1 Georgia,serif;transition:transform .15s ease,color .15s ease,background .15s ease}.favorite-button:hover{color:var(--pink-dark);transform:scale(1.06)}.favorite-button.active{border-color:rgba(238,143,175,.32);background:var(--pink-soft);color:var(--pink-dark)}.load-more{min-height:46px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--pink-dark);cursor:pointer;font-size:11px}.load-more span{color:var(--muted);font-size:10px}.empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted)}.empty b{color:var(--pink);font:42px Georgia,serif}.empty strong{color:var(--text);font-size:14px}.empty span{font-size:10px}footer{margin-top:62px;padding:28px 0 10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}footer .brand{transform:scale(.82);transform-origin:left center}.footer-center{display:flex;flex-direction:column;align-items:center;gap:10px}footer p{margin:0;font-family:Georgia,Songti SC,serif;font-size:12px;font-style:italic}.birthday-heart-trigger{min-width:36px;min-height:30px;margin-left:2px;padding:3px 8px;border:0;border-radius:999px;background:transparent;color:var(--pink-dark);cursor:pointer;font:inherit;font-size:15px;line-height:1}.birthday-heart-trigger:focus-visible,.birthday-heart-trigger:hover{background:var(--pink-soft);outline:0}.artist-links{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.artist-links a{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--pink-dark);text-decoration:none;font-size:9px;font-weight:700}.artist-links a:hover{border-color:rgba(232,79,138,.38);background:var(--pink-soft)}footer>small{text-align:right}.back-to-top{position:fixed;z-index:9;right:16px;bottom:20px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-solid);color:var(--pink-dark);text-decoration:none;font-size:18px;box-shadow:0 10px 28px rgba(65,35,49,.14)}.toast{position:fixed;z-index:10;left:50%;bottom:26px;transform:translate(-50%,18px);padding:12px 17px;border-radius:999px;background:var(--text);color:var(--bg);opacity:0;pointer-events:none;transition:.22s ease;font-size:11px;box-shadow:0 12px 34px rgba(65,35,49,.2)}.toast.show{opacity:1;transform:translate(-50%)}.toast-action{display:flex;align-items:center;gap:12px;white-space:nowrap}.toast-action a{padding-left:12px;border-left:1px solid;color:var(--bg);font-weight:800;text-decoration:none;pointer-events:auto}.mobile-tool-dock{display:none}@keyframes bars{to{transform:scaleY(.42);opacity:.3}}@keyframes pulse{50%{transform:scale(1.14);opacity:.7}}@media (max-width:640px){.site{padding-bottom:104px}.artist-hub,.controls,.header,.intro,.live-card,.request-guide,.search-panel,.song-list,.toolbar,footer{width:min(100% - 24px,900px)}.site.theme-dark:before,.site:before{background-size:100% 100%,38vw auto,38vw auto,100% 100%,100% 100%;background-position:50%,92% 0,8% 0,50%,50%}.header{height:72px}.header-actions{gap:5px}.round-button,.text-button{height:34px}.text-button{padding-inline:10px;font-size:9px}.round-button{width:34px}.intro{min-height:250px;padding:42px 10px 32px;border-radius:0 0 26px 26px}.intro-copy h1{font-size:42px}.intro-copy>span{max-width:290px;font-size:12px}.intro-count{max-width:100%;line-height:1.45}.music-mark{display:none}.artist-hub{align-items:flex-start;flex-direction:column;gap:10px}.artist-hub .artist-links{justify-content:flex-start}.request-guide{justify-content:space-between;gap:5px;padding-inline:10px}.request-guide>strong{display:none}.request-guide i{font-size:8px}.request-guide>span{gap:3px;font-size:8px}.search-panel{position:sticky;z-index:8;top:8px;margin-top:12px;padding:6px;border-radius:17px;box-shadow:0 12px 34px rgba(65,35,49,.14)}.controls{padding:10px 12px;border-radius:16px}.filter-group{grid-template-columns:46px 1fr}.chip{padding:6px 10px}.toolbar{gap:8px}.toolbar label>span,.toolbar small,.toolbar>div:first-child>span{display:none}.toolbar-actions{gap:5px}.random-button{padding-inline:8px}.song-card{grid-template-columns:minmax(0,1fr) 34px}.song-copy-action{grid-template-columns:24px minmax(0,1fr) 28px;gap:8px;padding-inline:5px}.song-meta{display:none}.favorite-button{width:32px;height:32px}footer{display:flex;flex-direction:column;gap:12px}.footer-center,footer{align-items:flex-start}.artist-links{justify-content:flex-start}footer>small{text-align:left}.mobile-tool-dock{position:fixed;z-index:12;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(calc(100% - 20px),420px);min-height:62px;padding:6px;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:20px;background:var(--surface-solid);box-shadow:0 14px 38px rgba(65,35,49,.2);transform:translateX(-50%);backdrop-filter:blur(16px)}.mobile-tool-dock a,.mobile-tool-dock button{min-width:0;min-height:48px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:14px;background:transparent;color:var(--muted);cursor:pointer;text-decoration:none}.mobile-tool-dock b{color:var(--pink-dark);font:18px/1 Georgia,serif}.mobile-tool-dock span{font-size:8px;font-weight:700}.mobile-tool-dock .active{background:linear-gradient(120deg,var(--pink-soft),var(--lavender-soft));color:var(--pink-dark)}.mobile-tool-dock button:disabled{opacity:.4;cursor:default}.back-to-top{bottom:84px}.toast-action{bottom:84px;max-width:calc(100% - 24px);padding:11px 13px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-data:reduce){.site:before{background:var(--bg);opacity:1}}.birthday-page{--birthday-pink:#e98eae;--birthday-deep:#a95c7e;--birthday-purple:#9181b5;min-height:100vh;overflow-x:clip;color:#403442;background:linear-gradient(145deg,#f0d9e9,#fff7fb 43%,#ffe7ef);position:relative;padding-bottom:40px}.birthday-page:before{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;opacity:.32;background:radial-gradient(circle at 12% 20%,#c5b1e8 0,transparent 24%),radial-gradient(circle at 90% 10%,#f2a4c0 0,transparent 28%),linear-gradient(180deg,transparent 55%,#fff6fa)}.birthday-footer,.birthday-header,.birthday-hero,.birthday-section{width:min(900px,calc(100% - 32px));margin-inline:auto;position:relative;z-index:1}.birthday-header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #a95c7e26}.birthday-back,.birthday-footer a{color:var(--birthday-deep);font-size:10px;font-weight:700;text-decoration:none}.birthday-logo{color:var(--birthday-purple);letter-spacing:.19em;font-size:9px;font-weight:800}.birthday-bow{font-size:22px;filter:drop-shadow(0 4px 8px #a95c7e25)}.birthday-hero{min-height:390px;padding:70px 40px 56px;overflow:hidden;border-bottom:1px solid #a95c7e1f}.birthday-hero:after{content:"";position:absolute;right:2%;bottom:15%;width:260px;height:160px;border-radius:50%;background:radial-gradient(ellipse,#ffffffa8,transparent 70%);transform:rotate(-12deg)}.birthday-kicker{color:var(--birthday-pink);letter-spacing:.28em;font-size:9px;font-weight:800}.birthday-hero h1{margin:18px 0 10px;color:#3c3342;font-family:Georgia,Songti SC,serif;font-size:clamp(44px,9vw,78px);font-weight:500;letter-spacing:-.08em}.birthday-hero p{max-width:390px;margin:0;color:#8b7888;font-size:13px;line-height:1.9}.birthday-rabbit{position:absolute;right:13%;top:100px;width:138px;height:138px;display:grid;place-items:center;border:1px solid #ffffffaa;border-radius:50%;background:#fffafca8;font-size:78px;transform:rotate(5deg);box-shadow:0 18px 50px #a95c7e16}.birthday-count{display:inline-flex;margin-top:28px;padding:8px 13px;border:1px solid #e98eae45;border-radius:999px;background:#ffffff8a;color:var(--birthday-deep);font-size:10px;font-weight:700}.birthday-section{margin-top:20px;padding:24px;border:1px solid #a95c7e20;border-radius:22px;background:#fffdfdc7;box-shadow:0 18px 50px #a95c7e0d}.birthday-section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.birthday-section-title>span{color:var(--birthday-pink);font:22px/1 Georgia,serif}.birthday-section-title div{display:flex;flex-direction:column;gap:4px}.birthday-section-title strong{color:#4b3b4d;font-size:14px}.birthday-section-title small{color:#a28da0;font-size:10px}.wish-form{display:grid;gap:10px}.wish-form input,.wish-form textarea{width:100%;border:1px solid #a95c7e22;border-radius:13px;outline:0;background:#fffafdd9;color:#4b3b4d;font-size:12px}.wish-form input{height:44px;padding:0 13px}.wish-form textarea{min-height:110px;padding:13px;resize:vertical;line-height:1.7}.wish-form input:focus,.wish-form textarea:focus{border-color:#e98eae99;box-shadow:0 0 0 3px #e98eae14}.wish-form-bottom{display:flex;align-items:center;justify-content:space-between}.wish-form-bottom small{color:#a28da0;font-size:10px}.wish-form-bottom button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:linear-gradient(110deg,#ec9bb7,#b6a6df);color:white;cursor:pointer;font-size:11px;font-weight:800;box-shadow:0 8px 20px #a95c7e25}.wish-grid{columns:260px 2;column-gap:12px}.wish-card{break-inside:avoid;position:relative;margin:0 0 12px;padding:19px 17px 14px;border:1px solid #a95c7e1b;border-radius:16px;background:linear-gradient(145deg,#fffdfd,#fff5f8);box-shadow:0 8px 22px #a95c7e0a}.wish-mark{color:#e98eae80;font:38px/1 Georgia,serif}.wish-card p{margin:-2px 0 18px;color:#635363;font-family:Georgia,Songti SC,serif;font-size:13px;line-height:1.75}.wish-card footer{width:auto;display:flex;align-items:center;justify-content:space-between;border:0;margin:0;padding:0;color:#96798b;font-size:9px}.wish-card footer strong{color:var(--birthday-deep);font-size:10px}.wish-card footer small{color:#b7a4b0}.birthday-footer{display:flex;align-items:center;justify-content:space-between;margin-top:46px;padding:0 4px;color:var(--birthday-deep);font-family:Georgia,Songti SC,serif;font-size:12px}.birthday-toast{position:fixed;z-index:5;bottom:24px;left:50%;padding:12px 17px;border-radius:999px;background:#403442;color:white;font-size:11px;transform:translateX(-50%);box-shadow:0 12px 28px #40344230}@media (max-width:640px){.birthday-footer,.birthday-header,.birthday-hero,.birthday-section{width:min(100% - 24px,900px)}.birthday-header{height:68px}.birthday-logo{font-size:8px}.birthday-hero{min-height:390px;padding:62px 12px 45px}.birthday-hero h1{max-width:260px;font-size:48px;line-height:1.1}.birthday-hero p{max-width:250px;font-size:12px}.birthday-rabbit{right:3%;top:92px;width:112px;height:112px;font-size:63px;opacity:.92}.birthday-section{padding:18px 14px;border-radius:18px}.wish-grid{column-count:1}.birthday-footer{align-items:flex-start;flex-direction:column;gap:11px}.birthday-link{padding-inline:9px;font-size:9px}}.birthday-page{background:linear-gradient(150deg,#eed7e8,#fff8fb 38%,#ffe8ef 72%,#eee7ff)}.birthday-page:after{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(233,142,174,.25) 1px,transparent 1.5px);background-size:34px 34px;mask-image:linear-gradient(180deg,#0005,transparent 72%)}.birthday-hero{min-height:500px;padding-top:64px}.birthday-hero:before{content:"";position:absolute;width:360px;height:360px;right:-65px;top:45px;border:1px solid rgba(233,142,174,.18);border-radius:50%;box-shadow:inset 0 0 0 26px rgba(255,255,255,.18),inset 0 0 0 27px rgba(145,129,181,.08)}.birthday-confetti i{position:absolute;z-index:2;color:var(--birthday-pink);font-style:normal;opacity:.65;animation:birthday-float 3.6s ease-in-out infinite alternate}.birthday-confetti i:first-child{left:2%;top:18%;font-size:20px}.birthday-confetti i:nth-child(2){left:47%;top:13%;color:var(--birthday-purple);animation-delay:.6s}.birthday-confetti i:nth-child(3){right:5%;top:14%;font-size:24px;animation-delay:1.2s}.birthday-confetti i:nth-child(4){right:38%;bottom:20%;color:var(--birthday-purple);animation-delay:1.8s}.birthday-mascot{position:absolute;z-index:2;right:11%;top:105px;width:160px;height:160px;border:4px solid rgba(255,255,255,.92);border-radius:50%;background:rgba(255,250,252,.72);box-shadow:0 22px 55px rgba(169,92,126,.18),0 0 0 1px rgba(233,142,174,.18)}.birthday-mascot img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.birthday-mascot span{position:absolute;z-index:3;left:-12px;top:-15px;font-size:37px;transform:rotate(-12deg);filter:drop-shadow(0 5px 10px rgba(169,92,126,.18))}.birthday-mascot b{position:absolute;z-index:3;right:-8px;bottom:-2px;font-size:42px;transform:rotate(7deg);filter:drop-shadow(0 6px 10px rgba(169,92,126,.2))}.birthday-count-title{margin-top:28px;color:var(--birthday-deep);font-size:10px;font-weight:800;letter-spacing:.08em}.countdown-grid{width:min(430px,100%);margin-top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.countdown-grid>div{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(169,92,126,.16);border-radius:16px;background:rgba(255,255,255,.68);box-shadow:0 10px 28px rgba(169,92,126,.06)}.countdown-grid strong{min-width:2ch;color:#4b3b4d;font:29px/1 Georgia,serif;text-align:center;font-variant-numeric:tabular-nums}.birthday-timezone,.countdown-grid small{color:#a28da0;font-size:8px}.birthday-timezone{display:block;margin-top:9px;letter-spacing:.06em}.sealed-count{width:fit-content;margin-top:12px;padding:7px 11px;display:flex;align-items:center;gap:6px;border:1px solid rgba(233,142,174,.23);border-radius:999px;background:rgba(255,255,255,.66);color:#a28da0}.sealed-count span{font-size:13px}.sealed-count strong{color:var(--birthday-deep);font:15px/1 Georgia,serif}.sealed-count small{font-size:8px}.wish-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.wish-form-bottom button:disabled{opacity:.6;cursor:wait}.wish-state{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#a28da0;font-size:10px}.wish-state>span{color:var(--birthday-pink);font-size:28px}.wish-state strong{color:#635363;font-size:12px}.wish-state small{font-size:9px}.wish-vault{min-height:260px;padding:28px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(169,92,126,.24);border-radius:20px;background:linear-gradient(145deg,rgba(255,253,253,.86),rgba(247,239,252,.78));overflow:hidden;position:relative}.wish-vault:before{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(233,142,174,.13);border-radius:50%;box-shadow:inset 0 0 0 24px rgba(255,255,255,.2)}.wish-vault>*{position:relative;z-index:1}.wish-vault-icon{width:82px;height:82px;display:grid;place-items:center;position:relative;border:1px solid rgba(233,142,174,.24);border-radius:50%;background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(169,92,126,.1)}.wish-vault-icon span{font-size:37px}.wish-vault-icon i{position:absolute;right:-3px;bottom:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--birthday-deep);font-size:13px;font-style:normal;box-shadow:0 5px 14px rgba(169,92,126,.16)}.wish-vault>strong{margin-top:16px;color:#59485a;font-family:Georgia,Songti SC,serif;font-size:16px;font-weight:500}.wish-vault>p{max-width:470px;margin:8px 0 17px;color:#9b8796;font-size:10px;line-height:1.8}.wish-preview-button{min-height:42px;padding:0 18px;border:0;border-radius:999px;background:linear-gradient(110deg,#e996b2,#aa9bd1);color:white;cursor:pointer;font-size:11px;font-weight:800;box-shadow:0 9px 24px rgba(169,92,126,.2);transition:transform .18s ease,box-shadow .18s ease}.wish-preview-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(169,92,126,.25)}.wish-preview-button:disabled{border:1px solid rgba(169,92,126,.15);background:rgba(255,255,255,.58);color:#b7a4b0;cursor:not-allowed;box-shadow:none}.wish-vault.ready{border-style:solid;border-color:rgba(233,142,174,.35);background:linear-gradient(145deg,rgba(255,253,253,.96),rgba(255,234,242,.82))}.wish-vault.opening .wish-vault-icon{animation:envelope-open .85s cubic-bezier(.2,.8,.2,1) both}.wish-vault.opening .wish-vault-icon i{animation:lock-away .45s ease forwards}.wish-vault.opening:after{content:"✦  ♡  ✧  ♪";position:absolute;z-index:3;top:45px;color:var(--birthday-pink);font-size:19px;letter-spacing:22px;animation:wish-sparkle .85s ease both}.birthday-preview-banner{min-height:46px;padding:8px 18px;display:flex;align-items:center;justify-content:center;gap:12px;position:relative;z-index:8;background:#43384a;color:#fff8fb;font-size:9px}.birthday-preview-banner strong{color:#ffc4d8;font-size:10px}.birthday-preview-banner span{color:#e4d7e5}.birthday-preview-banner a{padding:6px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:white;text-decoration:none;font-weight:700}.birthday-note{width:min(900px,calc(100% - 32px));min-height:100px;margin:24px auto 0;padding:20px;display:flex;align-items:center;justify-content:center;gap:15px;position:relative;z-index:1;border:1px solid rgba(169,92,126,.16);border-radius:22px;background:linear-gradient(110deg,rgba(255,255,255,.55),rgba(238,231,255,.58));color:var(--birthday-deep)}.birthday-note span{color:#b59dac;font:11px Georgia,serif;letter-spacing:.14em}.birthday-note i{width:35px;height:1px;background:rgba(233,142,174,.35);font-size:0}.birthday-note strong{font-family:Georgia,Songti SC,serif;font-size:clamp(14px,3vw,20px);font-weight:500;letter-spacing:.08em}@keyframes birthday-float{to{transform:translateY(-9px) rotate(8deg);opacity:1}}@keyframes envelope-open{0%{transform:scale(1) rotate(0)}45%{transform:scale(1.1) rotate(-5deg)}to{transform:translateY(-8px) scale(1.04) rotate(3deg);background:#fff5f9;box-shadow:0 20px 42px rgba(169,92,126,.22)}}@keyframes lock-away{to{transform:translate(18px,-18px) scale(.4) rotate(30deg);opacity:0}}@keyframes wish-sparkle{0%{transform:translateY(35px) scale(.5);opacity:0}to{transform:translateY(-12px) scale(1);opacity:1}}@media (max-width:640px){.birthday-hero{min-height:540px;padding-top:54px}.birthday-hero:before{width:230px;height:230px;right:-75px;top:80px}.birthday-kicker{display:block;max-width:240px;line-height:1.8}.birthday-hero h1{max-width:230px}.birthday-mascot{right:-4px;top:122px;width:112px;height:112px;border-width:3px}.birthday-mascot span{left:-9px;top:-12px;font-size:27px}.birthday-mascot b{right:-4px;bottom:-3px;font-size:32px}.birthday-count-title{margin-top:36px}.countdown-grid{width:100%;gap:5px}.countdown-grid>div{min-height:64px;border-radius:13px}.countdown-grid strong{font-size:23px}.countdown-grid small{font-size:7px}.wish-form-bottom{align-items:flex-end;gap:10px}.wish-form-bottom small{max-width:170px;line-height:1.5}.wish-vault{min-height:245px;padding-inline:13px}.wish-vault>p{max-width:290px}.birthday-note{width:min(100% - 24px,900px);min-height:82px;gap:8px;padding-inline:10px}.birthday-note i{width:14px}.birthday-note strong{text-align:center;font-size:13px}}.admin-page{--admin-pink:#dd7fa3;--admin-deep:#8c4e6d;--admin-line:rgba(91,65,89,.14);min-height:100vh;padding-bottom:48px;color:#433844;background:radial-gradient(circle at 86% 4%,rgba(218,196,241,.52),transparent 30rem),linear-gradient(145deg,#fff7fa,#f8f3fb 52%,#ffeef4)}.admin-header,.admin-hero,.admin-panel,.admin-stats{width:min(980px,calc(100% - 32px));margin-inline:auto}.admin-header{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--admin-line)}.admin-header a{color:var(--admin-deep);font-size:10px;font-weight:700;text-decoration:none}.admin-header>span{color:#846f86;font-size:9px;font-weight:800;letter-spacing:.16em}.admin-header small{color:#a493a4;font-size:8px}.admin-header-user{display:inline-flex;align-items:center;gap:9px}.admin-logout{padding:0;border:0;background:transparent;color:#a95c7e;cursor:pointer;font-size:9px}.admin-hero{min-height:230px;padding:52px 26px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px}.admin-hero p{margin:0 0 10px;color:var(--admin-pink);font-size:8px;font-weight:800;letter-spacing:.2em}.admin-hero h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(38px,7vw,62px);font-weight:500;letter-spacing:-.06em}.admin-hero>div>span{display:block;margin-top:13px;color:#887888;font-size:11px}.admin-hero nav{display:flex;align-items:center;gap:8px}.admin-hero nav a,.admin-hero nav button{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;border:1px solid var(--admin-line);border-radius:999px;font-size:10px;font-weight:800;cursor:pointer;text-decoration:none}.admin-primary-link{border:0!important;background:linear-gradient(110deg,#df87a7,#a99ad0);color:white;box-shadow:0 9px 24px rgba(140,78,109,.17)}.admin-hero nav button{background:rgba(255,255,255,.65);color:var(--admin-deep)}.admin-hero nav button:disabled{opacity:.45;cursor:default}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.admin-stats>div{min-height:86px;padding:15px;display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid var(--admin-line);border-radius:17px;background:rgba(255,255,255,.7)}.admin-stats>div.accent{background:linear-gradient(130deg,rgba(255,225,237,.9),rgba(239,231,255,.86))}.admin-stats strong{color:var(--admin-deep);font:26px/1 Georgia,serif}.admin-stats small{color:#948393;font-size:9px}.admin-panel{margin-top:16px;padding:20px;border:1px solid var(--admin-line);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 20px 60px rgba(91,65,89,.06)}.admin-panel-head{min-height:46px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.admin-panel-head>div{display:flex;flex-direction:column;gap:4px}.admin-panel-head strong{font-size:13px}.admin-panel-head small{color:#9a8999;font-size:9px}.admin-panel-head>button{border:0;background:none;color:var(--admin-deep);cursor:pointer;font-size:9px;font-weight:700}.admin-tabs{padding:8px 0 14px;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--admin-line)}.admin-tabs button{min-height:32px;padding:0 11px;border:1px solid var(--admin-line);border-radius:999px;background:#fffafd;color:#897789;cursor:pointer;font-size:9px}.admin-tabs button.active{border-color:transparent;background:#4b404f;color:white}.admin-tabs span{margin-left:3px;opacity:.7}.admin-list-tools{padding:12px 0;display:grid;grid-template-columns:auto minmax(200px,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid var(--admin-line)}.admin-select-all{display:flex;align-items:center;gap:6px;color:#887888;font-size:9px;white-space:nowrap}.admin-select-all input,.admin-wish-check input{accent-color:var(--admin-pink)}.admin-search{min-height:38px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid var(--admin-line);border-radius:12px;background:#fffafd}.admin-search>span{color:var(--admin-pink);font:19px/1 Georgia,serif}.admin-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#514452;font-size:10px}.admin-search button{border:0;background:none;color:#9c899a;cursor:pointer}.admin-list-tools select{height:38px;padding:0 9px;border:1px solid var(--admin-line);border-radius:12px;background:#fffafd;color:#665566;font-size:9px}.admin-bulk-bar{margin-top:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(221,127,163,.25);border-radius:13px;background:linear-gradient(110deg,rgba(255,232,241,.86),rgba(241,235,255,.78))}.admin-bulk-bar strong{color:var(--admin-deep);font-size:10px}.admin-bulk-bar div{display:flex;flex-wrap:wrap;gap:5px}.admin-bulk-bar button{min-height:30px;padding:0 9px;border:1px solid var(--admin-line);border-radius:999px;background:#fff;color:#746474;cursor:pointer;font-size:8px}.admin-bulk-bar button.approve{border-color:#bfe2ca;color:#39714a}.admin-bulk-bar button.hide{color:#946078}.admin-bulk-bar button:disabled{opacity:.45;cursor:wait}.admin-wish-list{display:grid;gap:8px;padding-top:12px}.admin-wish-card{padding:15px 16px;border:1px solid var(--admin-line);border-radius:15px;background:rgba(255,253,254,.9);transition:border-color .15s ease,background .15s ease}.admin-wish-card.selected{border-color:rgba(221,127,163,.52);background:rgba(255,244,248,.96)}.admin-wish-card footer,.admin-wish-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-wish-check{min-width:0;display:flex;align-items:center;gap:7px}.admin-risk,.admin-status{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap}.admin-status.pending{background:#fff1cf;color:#8b671f}.admin-status.approved{background:#e3f6e9;color:#39714a}.admin-status.hidden{background:#ece9ed;color:#726b73}.admin-risk{background:#fff0eb;color:#a45f48}.admin-wish-meta time{color:#a897a6;font-size:8px}.admin-wish-card>p{margin:13px 0 16px;color:#5d4e5e;font-family:Georgia,Songti SC,serif;font-size:12px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.admin-wish-card footer{width:auto;margin:0;padding:0;border:0}.admin-wish-card footer strong{color:var(--admin-deep);font-size:10px}.admin-wish-card footer div{display:flex;gap:5px}.admin-wish-card footer button{min-height:30px;padding:0 10px;border:1px solid var(--admin-line);border-radius:999px;background:#fff;color:#7f6d7e;cursor:pointer;font-size:8px}.admin-wish-card footer button.approve{border-color:#bfe2ca;background:#edf9f0;color:#39714a}.admin-wish-card footer button.hide{color:#946078}.admin-wish-card footer button:disabled{opacity:.45;cursor:wait}.admin-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#a392a2;font-size:10px}.admin-empty span{color:var(--admin-pink);font-size:30px}.admin-empty strong{color:#665566;font-size:12px}.admin-toast{position:fixed;z-index:10;left:50%;bottom:24px;transform:translateX(-50%);padding:11px 16px;border-radius:999px;background:#403643;color:white;font-size:10px;box-shadow:0 12px 30px rgba(64,54,67,.22)}.admin-denied{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff7fa;color:#59495a}.admin-denied p{margin:0;color:#9a8999;font-size:11px}.admin-denied a{color:#a95c7e;font-size:10px}@media (max-width:640px){.birthday-preview-banner{padding:8px 10px;justify-content:space-between}.birthday-preview-banner span{display:none}.birthday-preview-banner a{padding:5px 8px}.admin-header,.admin-hero,.admin-panel,.admin-stats{width:min(100% - 24px,980px)}.admin-header small{display:none}.admin-hero{min-height:250px;padding:40px 5px 28px;align-items:flex-start;flex-direction:column;gap:23px}.admin-hero h1{font-size:45px}.admin-hero nav{width:100%}.admin-hero nav a,.admin-hero nav button{flex:1;justify-content:center}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-stats>div{min-height:72px}.admin-panel{padding:15px 11px;border-radius:18px}.admin-tabs{flex-wrap:nowrap;overflow-x:auto}.admin-tabs button{flex:0 0 auto}.admin-list-tools{grid-template-columns:1fr auto}.admin-select-all{grid-column:1/-1}.admin-bulk-bar{align-items:flex-start;flex-direction:column}.admin-bulk-bar div{width:100%}.admin-bulk-bar button{flex:1}.admin-wish-card{padding:14px 12px}.admin-wish-meta{align-items:flex-start}.admin-wish-check{flex-wrap:wrap}.admin-wish-card footer{align-items:flex-start;flex-direction:column}.admin-wish-card footer div{width:100%}.admin-wish-card footer button{flex:1}.admin-toast{max-width:calc(100% - 24px);white-space:nowrap}}.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f7e7f0,#fff9fc 52%,#eee8fb);color:#4c3c4d}.admin-login-card{width:min(100%,390px);display:flex;flex-direction:column;gap:12px;padding:30px;border:1px solid rgba(169,92,126,.16);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 24px 70px rgba(96,62,91,.12)}.admin-login-back{color:#a95c7e;font-size:11px;text-decoration:none}.admin-login-card p{margin:22px 0 0;color:#c57d9d;font-size:10px;font-weight:800;letter-spacing:.18em}.admin-login-card h1{margin:0;font:500 34px/1.15 Georgia,Songti SC,serif}.admin-login-card>span{color:#968697;font-size:12px}.admin-login-card label{margin-top:12px;color:#6b576a;font-size:11px;font-weight:700}.admin-login-card input{min-height:44px;padding:0 13px;border:1px solid rgba(169,92,126,.2);border-radius:12px;outline:none;background:#fff;color:#403442;font:inherit}.admin-login-card input:focus{border-color:#d884a4;box-shadow:0 0 0 3px rgba(216,132,164,.13)}.admin-login-card button{min-height:44px;margin-top:5px;border:0;border-radius:999px;background:linear-gradient(110deg,#df8daa,#9d91c7);color:white;cursor:pointer;font-size:12px;font-weight:800}.admin-login-card button:disabled{opacity:.6;cursor:wait}.admin-login-notice{padding:10px 12px;border-radius:10px;background:#fff0f3;color:#a44e6d;font-size:11px;line-height:1.5}