:root{color-scheme:light;--huanyi-safe-top:env(safe-area-inset-top,0px);--huanyi-safe-bottom:env(safe-area-inset-bottom,0px)}*{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;--site-light-start:#a88eb8;--site-light-middle:#d7bad2;--site-light-end:#ffe0e9;--site-dark-start:#43334f;--site-dark-middle:#33283e;--site-dark-end:#1b1828;position:relative;isolation:isolate;overflow-x:clip;min-height:100vh;padding-top:var(--huanyi-safe-top);padding-bottom:calc(34px + var(--huanyi-safe-bottom));color:var(--text);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),linear-gradient(180deg,rgba(255,247,251,.18) 0,rgba(255,247,251,.54) 45%,rgba(255,247,251,.94) 88%),radial-gradient(circle at 50% 15%,rgba(255,255,255,.28),transparent 35%),linear-gradient(145deg,var(--site-light-start) 0,var(--site-light-middle) 38%,var(--site-light-end) 100%);transition:color .25s ease}.site.appearance-preview-device{min-height:var(--huanyi-preview-height)}.site:after,.site:before{content:none;display:none}.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);background:radial-gradient(circle at 86% 7%,rgba(242,154,188,.12),transparent 22rem),radial-gradient(circle at 7% 34%,rgba(170,154,221,.13),transparent 24rem),linear-gradient(180deg,rgba(25,22,32,.46) 0,rgba(25,22,32,.76) 45%,rgba(25,22,32,.96) 88%),radial-gradient(circle at 50% 15%,rgba(193,169,220,.2),transparent 35%),linear-gradient(145deg,var(--site-dark-start) 0,var(--site-dark-middle) 45%,var(--site-dark-end) 100%)}.site-sticker-layer{position:absolute;z-index:0;top:0;right:0;left:0;height:min(900px,100vh);overflow:hidden;pointer-events:none}.site-sticker{position:absolute;left:var(--sticker-desktop-x);top:var(--sticker-desktop-y);width:var(--sticker-desktop-size);max-width:none;height:auto;display:block;filter:drop-shadow(0 14px 22px rgba(72,48,78,.13));transform:translateX(-50%) rotate(var(--sticker-rotation));transform-origin:center top}.site-sticker.desktop-hidden{display:none}.birthday-strip,.controls,.header,.intro,.request-guide,.search-panel,.site>footer,.song-list,.toolbar{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}.share-button{color:var(--pink-dark)}.fan-tools-link{min-height:38px;padding:0 11px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--purple);font-size:9px;font-weight:700;text-decoration:none;white-space:nowrap}.fan-tools-link:hover{border-color:rgba(137,124,168,.38);background:var(--lavender-soft)}.bookshelf-link{width:38px;height:38px;display:inline-grid;place-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--purple);text-decoration:none}.bookshelf-link:hover{border-color:rgba(137,124,168,.38);background:var(--lavender-soft)}.bookshelf-link:focus-visible{outline:2px solid var(--pink-dark);outline-offset:3px}.birthday-link{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--pink-dark);font-size:10px;font-weight:700;text-decoration:none}.birthday-strip{margin-top:38px}.birthday-strip>a{min-height:58px;padding:10px 13px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid rgba(238,143,175,.24);border-radius:17px;background:linear-gradient(112deg,rgba(255,252,254,.9),rgba(251,227,236,.78) 54%,rgba(238,234,255,.78));color:var(--text);text-decoration:none;box-shadow:0 12px 32px rgba(125,82,108,.08);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.birthday-strip>a:hover{transform:translateY(-1px);border-color:rgba(238,143,175,.48);box-shadow:0 15px 34px rgba(125,82,108,.12)}.birthday-strip-cake{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(238,143,175,.3);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(251,227,236,.9));font:20px/1 system-ui,sans-serif;box-shadow:0 6px 15px rgba(201,94,135,.1)}.birthday-strip-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.birthday-strip-copy small{color:var(--purple);font-size:7px;font-weight:800;letter-spacing:.16em}.birthday-strip-copy strong{overflow:hidden;color:var(--pink-dark);font-size:10px;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.birthday-strip b{min-height:34px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#4a414e;color:#fff8fc;font-size:9px;white-space:nowrap}.birthday-strip b span{color:#ffc0d7;font-size:13px}.intro{min-height:292px;padding:46px 38px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.intro-copy{min-width:0;flex:1}.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,6vw,58px);font-weight:500;letter-spacing:-.05em}.intro-copy>span{display:block;max-width:540px;margin-top:15px;color:var(--muted);font-size:14px;line-height:1.7}.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}.intro-actions{width:min(540px,100%);margin-top:17px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.intro-action{min-width:0;min-height:54px;padding:8px 12px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);cursor:pointer;text-align:left;text-decoration:none;box-shadow:0 10px 28px rgba(92,66,104,.07);transition:transform .18s ease,border-color .18s ease,background .18s ease}.intro-action:hover{transform:translateY(-1px);border-color:rgba(232,79,138,.34);background:var(--surface-solid)}.intro-action>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}.intro-action small,.intro-action strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intro-action strong{font-size:11px}.intro-action small{color:var(--muted);font-size:8px}.intro-action>b{color:var(--pink-dark);font-size:9px;white-space:nowrap}.intro-live-action{background:linear-gradient(110deg,var(--lavender-soft),var(--pink-soft) 72%,var(--surface))}.intro-artist-action:disabled{opacity:.48;cursor:default;transform:none}.intro-music-icon{color:var(--purple);font:16px/1 Georgia,serif}.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-dot{width:9px;height:9px;border:2px solid var(--pink-dark);border-radius:50%;background:transparent}.request-guide{min-height:38px;margin-top:6px;padding:8px 14px;display:flex;align-items:center;gap:10px;border:1px dashed rgba(201,94,135,.24);border-radius:13px;background:rgba(255,252,254,.58);color:var(--muted);font-size:9px}.request-guide>strong{flex:0 0 auto;color:var(--pink-dark);font-size:9px}.request-guide>span{line-height:1.5}.search-panel{margin-top:2px;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{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;font-size:20px}.filters-head{min-height:52px;justify-content:space-between;border-bottom:1px solid var(--line)}.filters-head,.filters-title{display:flex;align-items:center}.filters-title{gap:8px}.filters-title strong{font-size:12px}.filters-title small{display:none;color:var(--muted);font-size:9px;font-weight:500}.filters-head-actions{display:flex;align-items:center;gap:3px}.filters-head button{border:0;background:none;color:var(--pink-dark);cursor:pointer;font-size:10px}.filters-head button:disabled{opacity:.35;cursor:default}.filters-toggle{display:none}.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)}.tag-more-toggle{display:none;min-height:32px;padding:0 11px;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--pink-dark);cursor:pointer;font-size:10px;font-weight:700}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}.song-card{grid-template-columns:minmax(0,1fr) 44px 44px;column-gap:2px}.song-copy-action{grid-template-columns:28px minmax(0,1fr) auto;font-family:inherit}.song-request-button{width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--pink-dark);font-family:inherit;cursor:pointer}.song-request-button>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--pink-soft);font-size:12px;font-weight:600;line-height:1;transition:border-color .15s ease,background .15s ease}.song-request-button:hover>span{border-color:var(--pink);background:var(--lavender-soft)}.favorite-button:focus-visible,.song-copy-action:focus-visible,.song-request-button:focus-visible{outline:2px solid var(--pink-dark);outline-offset:2px}.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)}.song-card .favorite-button{width:44px;height:44px;border-color:transparent;background:transparent}.load-more,.song-card .favorite-button.active{color:var(--pink-dark)}.load-more{min-height:46px;border:1px solid var(--line);border-radius:13px;background:var(--surface);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}.song-empty{padding:26px 14px}.song-suggestion-open{min-height:36px;margin-top:7px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:linear-gradient(110deg,var(--pink-soft),var(--lavender-soft));color:var(--pink-dark);cursor:pointer;font-size:9px;font-weight:800}.song-suggestion-form{width:min(560px,100%);margin-top:9px;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 12px 30px rgba(78,54,75,.07);text-align:left}.song-suggestion-form label{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:800}.song-suggestion-form input,.song-suggestion-form textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:10px;outline:0;background:var(--surface-solid);color:var(--text);font:inherit}.song-suggestion-form input{height:39px}.song-suggestion-form textarea{min-height:70px;line-height:1.6;resize:vertical}.song-suggestion-note{grid-column:1/-1}.song-suggestion-form>div{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}.song-suggestion-form button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid);color:var(--muted);cursor:pointer;font-size:8px;font-weight:800}.song-suggestion-form button.submit{border-color:transparent;background:linear-gradient(110deg,var(--pink),var(--lavender));color:white}.song-suggestion-form button:disabled{opacity:.5;cursor:wait}.song-suggestion-form>p{grid-column:1/-1;margin:0;color:var(--pink-dark);font-size:9px;line-height:1.5;text-align:center}.song-suggestion-tail{min-height:180px;margin-top:10px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed rgba(232,79,138,.28);border-radius:18px;background:linear-gradient(125deg,var(--surface),var(--pink-soft));text-align:center}.song-suggestion-tail>div{display:flex;flex-direction:column;gap:5px}.song-suggestion-tail b{color:var(--pink-dark);font:9px/1 Georgia,Songti SC,serif;letter-spacing:.12em}.song-suggestion-tail strong{color:var(--text);font:16px/1.3 Georgia,Songti SC,serif}.song-suggestion-tail span{color:var(--muted);font-size:9px}.song-suggestion-tail .song-suggestion-form{margin-top:4px}.site>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}.site>footer .brand{transform:scale(.82);transform-origin:left center}.footer-center{display:flex;flex-direction:column;align-items:center;gap:10px}.site>footer p{margin:0;font-family:Georgia,Songti SC,serif;font-size:12px;font-style:italic}.artist-links{--platform-columns:2;display:grid;grid-template-columns:repeat(var(--platform-columns),minmax(0,1fr));justify-content:center;gap:7px}.artist-links a{min-width:0;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--pink-dark);text-align:center;text-decoration:none;font-size:9px;font-weight:700;white-space:nowrap}.artist-links a:hover{border-color:rgba(232,79,138,.38);background:var(--pink-soft)}.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}.version-link{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;color:var(--pink-dark);font-size:8px;font-variant-numeric:tabular-nums;font-weight:700;text-decoration:none}.version-link span{padding-bottom:1px;border-bottom:1px solid}.version-link:hover{color:var(--text)}.artist-platform-dialog-backdrop{position:fixed;z-index:30;inset:0;padding:24px;display:grid;place-items:center;background:rgba(31,25,37,.36);backdrop-filter:blur(6px)}.artist-platform-dialog{width:min(430px,100%);padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--surface-solid);color:var(--text);box-shadow:0 24px 70px rgba(31,21,38,.24)}.artist-platform-dialog-head{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:11px}.artist-platform-dialog-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}.artist-platform-dialog-head small{color:var(--purple);font-size:7px;font-weight:800;letter-spacing:.13em}.artist-platform-dialog-head strong{font-size:13px}.artist-platform-dialog-head div>span{color:var(--muted);font-size:9px}.artist-platform-dialog-head>button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);cursor:pointer;font-size:20px}.artist-platform-dialog-links{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.artist-platform-dialog-links a{min-height:48px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(115deg,var(--surface),var(--lavender-soft));color:var(--text);text-decoration:none;font-size:10px;font-weight:700}.artist-platform-dialog-links a:hover{border-color:rgba(232,79,138,.36);background:linear-gradient(115deg,var(--pink-soft),var(--lavender-soft))}.artist-platform-dialog-links b{color:var(--pink-dark);font-size:13px}.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}}@media (max-width:640px){.site{padding-bottom:calc(104px + var(--huanyi-safe-bottom))}.site-sticker-layer{height:min(700px,100vh)}.site-sticker{left:var(--sticker-mobile-x);top:var(--sticker-mobile-y);width:var(--sticker-mobile-size);display:block;filter:drop-shadow(0 9px 15px rgba(72,48,78,.1))}.site-sticker.desktop-hidden:not(.mobile-hidden){display:block}.site-sticker.mobile-hidden{display:none}.birthday-strip,.controls,.header,.intro,.request-guide,.search-panel,.site>footer,.song-list,.toolbar{width:min(100% - 24px,900px)}.header{height:72px}.header-actions{gap:4px}.round-button,.text-button{height:44px}.text-button{padding-inline:9px;font-size:9px}.round-button{width:44px}.birthday-link,.fan-tools-link{min-height:44px;display:inline-flex;align-items:center}.fan-tools-link{padding-inline:8px}.intro{min-height:292px;padding:38px 10px 28px;border-radius:0 0 26px 26px}.intro-copy h1{font-size:40px}.intro-copy>span{max-width:330px;margin-top:14px;font-size:12px}.intro-count{max-width:100%;line-height:1.45}.intro-actions{margin-top:15px;gap:6px}.intro-action{min-height:52px;padding-inline:9px;gap:8px}.intro-action strong{font-size:10px}.intro-action small{display:none}.intro-action>b{font-size:8px}.music-mark{display:none}.birthday-strip{margin-top:28px}.birthday-strip>a{min-height:56px;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:9px;border-radius:15px}.birthday-strip-cake{width:32px;height:32px;border-radius:10px;font-size:17px}.birthday-strip-copy small{display:none}.birthday-strip-copy strong{font-size:9px}.birthday-strip b{min-height:32px}.birthday-strip b,.request-guide{padding-inline:10px;font-size:8px}.request-guide{min-height:36px;gap:7px}.request-guide>strong{font-size:8px}.search-panel{position:sticky;z-index:8;top:8px;margin-top:2px;padding:6px;border-radius:17px;box-shadow:0 12px 34px rgba(65,35,49,.14)}.controls{padding:0 12px;border-radius:16px}.controls.collapsed .filters-body{display:none}.controls.expanded .filters-head{border-bottom:1px solid var(--line)}.filters-head{min-height:54px;border-bottom:0}.filters-title{min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.filters-title small{display:block}.filters-head-actions{gap:1px}.filters-head button{min-height:44px;padding-inline:8px}.filters-toggle{display:inline-flex;align-items:center}.filter-group{grid-template-columns:46px 1fr}.chip{min-height:44px;padding:7px 11px;font-size:11px}.tag-more-toggle{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.tag-filter.collapsed .tag-overflow-option:not(.active){display:none}.toolbar{gap:8px}.toolbar label>span,.toolbar small,.toolbar>div:first-child>span{display:none}.toolbar-actions{gap:5px}.toolbar select{height:44px}.random-button{min-height:44px;padding-inline:8px}.song-card{grid-template-columns:minmax(0,1fr) 44px 44px;gap:2px}.song-copy-action{grid-template-columns:20px minmax(0,1fr);gap:6px;padding-inline:5px}.song-meta{display:none}.favorite-button{width:44px;height:44px}.song-suggestion-form{grid-template-columns:1fr;padding:12px 10px}.song-suggestion-form>div,.song-suggestion-form>p,.song-suggestion-note{grid-column:auto}.song-suggestion-form>div button{flex:1}.song-suggestion-tail{min-height:160px;padding:20px 10px}.site>footer{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-center{width:100%;align-items:flex-start}.artist-links{--platform-columns:2!important;width:100%;justify-content:stretch}.footer-meta{align-items:flex-start;text-align:left}.artist-platform-dialog-backdrop{padding:12px;align-items:end}.artist-platform-dialog{padding:16px;border-radius:22px 22px 16px 16px}.artist-platform-dialog-links a{min-height:52px}.mobile-tool-dock{position:fixed;z-index:12;left:50%;bottom:max(10px,var(--huanyi-safe-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 12px 30px rgba(65,35,49,.17);transform:translateX(-50%)}.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,.toast-action{bottom:calc(84px + var(--huanyi-safe-bottom))}.toast-action{max-width:calc(100% - 24px);padding:11px 13px;font-size:10px}.toolbar{scroll-margin-top:calc(86px + var(--huanyi-safe-top))}.header{height:auto;min-height:72px;padding-block:12px;flex-wrap:wrap;column-gap:6px;row-gap:10px}.header-actions{margin-left:auto}.bookshelf-link{width:44px;height:44px}.search-panel{top:calc(8px + var(--huanyi-safe-top))}.search-box input{font-size:16px}.artist-platform-dialog-head>button,.back-to-top,.search-box button{min-width:44px;min-height:44px}.artist-platform-dialog-head{grid-template-columns:40px minmax(0,1fr) 44px}.header>.brand{min-height:44px;gap:6px}.header-actions .text-button{min-width:44px}}@media (max-width:360px){.header>.brand>span:last-child{display:none}.intro-copy h1{font-size:34px}.toolbar{flex-wrap:wrap;padding-block: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{background:var(--bg)}.site-sticker-layer{display:none}}.changelog-page{--log-text:#3d3440;--log-muted:#8f7d8d;--log-line:rgba(126,91,116,.15);min-height:100vh;padding-top:var(--huanyi-safe-top);padding-bottom:calc(44px + var(--huanyi-safe-bottom));color:var(--log-text);background:radial-gradient(circle at 84% 8%,rgba(190,174,235,.34),transparent 24rem),radial-gradient(circle at 8% 30%,rgba(244,173,199,.26),transparent 25rem),#fff8fb}.changelog-footer,.changelog-header,.changelog-hero,.changelog-releases{width:min(820px,calc(100% - 32px));margin-inline:auto}.changelog-header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--log-line)}.changelog-header a{color:#ad5f80;font-size:10px;font-weight:800;text-decoration:none}.changelog-header span{color:#a18da0;font-size:8px;font-weight:900;letter-spacing:.22em}.changelog-hero{padding:64px 8px 40px}.changelog-hero p{margin:0 0 12px;color:#dc7fa3;font-size:8px;font-weight:900;letter-spacing:.25em}.changelog-hero h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(42px,8vw,68px);font-weight:500;letter-spacing:-.06em}.changelog-hero span{display:block;max-width:480px;margin-top:15px;color:var(--log-muted);font-size:11px;line-height:1.8}.changelog-releases{display:grid;gap:13px}.changelog-series{overflow:hidden;border:1px solid var(--log-line);border-radius:24px;background:rgba(255,255,255,.54);box-shadow:0 18px 48px rgba(105,72,99,.06)}.changelog-series.current{border-color:rgba(220,127,163,.32);background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,238,245,.62))}.changelog-series-version{min-height:76px;padding:18px 24px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;list-style:none;cursor:pointer;user-select:none}.changelog-series-version::-webkit-details-marker{display:none}.changelog-series-version::marker{content:""}.changelog-series-version:focus-visible{outline:2px solid rgba(169,92,126,.35);outline-offset:-6px;border-radius:20px}.changelog-series-version>div{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.changelog-series-version strong{color:#8e648f;font:20px/1 Georgia,serif}.changelog-series-version b{padding:4px 7px;border-radius:999px;background:#eee7f7;color:#80658d;font-size:7px}.changelog-series-version time{color:#a08e9d;font-size:9px}.changelog-series-version>span:not(.changelog-series-toggle){min-width:0;overflow:hidden;color:#6b5969;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.changelog-series-toggle{display:inline-flex;align-items:center;gap:5px;color:#99788e;font-size:8px;font-weight:800;white-space:nowrap}.changelog-series-toggle i{display:inline-block;font-style:normal;transition:transform .18s ease}.changelog-series[open]>.changelog-series-version .changelog-series-toggle i{transform:rotate(180deg)}.changelog-series[open]>.changelog-series-version{border-bottom:1px solid var(--log-line)}.changelog-series-items{padding:12px;display:grid;gap:10px}.changelog-release{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;padding:26px;border:1px solid var(--log-line);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 18px 48px rgba(105,72,99,.06);overflow:hidden}.changelog-release.nested{border-radius:16px;box-shadow:none}.changelog-release.current{border-color:rgba(220,127,163,.3);background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,238,245,.78))}.changelog-release:not([open]){grid-template-columns:1fr;padding-block:18px}.changelog-version{display:flex;flex-direction:column;align-items:flex-start;gap:8px;list-style:none;cursor:pointer;user-select:none}.changelog-version::-webkit-details-marker{display:none}.changelog-version::marker{content:""}.changelog-version:focus-visible{outline:2px solid rgba(169,92,126,.35);outline-offset:6px;border-radius:10px}.changelog-version>div{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.changelog-version strong{color:#a95c7e;font:18px/1 Georgia,serif}.changelog-version b{padding:4px 7px;border-radius:999px;background:#f9dce7;color:#a95c7e;font-size:7px}.changelog-version time{color:#a08e9d;font-size:9px}.changelog-release-label{color:#6b5969;font-size:10px;font-weight:700}.changelog-toggle{display:inline-flex;align-items:center;gap:5px;color:#aa7c91;font-size:8px;font-weight:800}.changelog-toggle i{display:inline-block;font-style:normal;transition:transform .18s ease}.changelog-release[open]>.changelog-version .changelog-toggle i{transform:rotate(180deg)}.changelog-release:not([open]) .changelog-version{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;width:100%}.changelog-release:not([open]) .changelog-release-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changelog-groups{display:grid;gap:20px}.changelog-groups section+section{padding-top:18px;border-top:1px solid var(--log-line)}.changelog-groups h2{margin:0 0 9px;color:#5c4b5b;font-size:12px}.changelog-groups ul{margin:0;padding-left:17px;color:#806e7d;font-size:10px;line-height:1.85}.changelog-groups li::marker{color:#df8daa}.changelog-footer{margin-top:26px;padding:22px 4px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--log-line);color:#a08e9d;font-size:8px}.changelog-footer a{color:#a95c7e;font-weight:800;text-decoration:none}@media (max-width:640px){.version-link{justify-content:flex-start}.changelog-hero{padding-top:48px}.changelog-series-version{padding:16px 18px;grid-template-columns:1fr auto}.changelog-series-toggle,.changelog-series-version time{justify-self:end}.changelog-series-version>span:not(.changelog-series-toggle){grid-column:1/-1}.changelog-series-items{padding:8px}.changelog-release{grid-template-columns:1fr;gap:22px;padding:20px}.changelog-release:not([open]) .changelog-version{grid-template-columns:1fr auto}.changelog-release:not([open]) .changelog-toggle,.changelog-release:not([open]) .changelog-version time{justify-self:end}.changelog-footer{align-items:flex-start;flex-direction:column}}.changelog-compact .changelog-footer,.changelog-compact .changelog-header,.changelog-compact .changelog-hero,.changelog-compact .changelog-releases{width:min(720px,calc(100% - 32px))}.changelog-compact .changelog-header{height:60px}.changelog-compact .changelog-header a{font-size:13px}.changelog-compact .changelog-header .changelog-member-link{min-height:44px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(139,112,151,.2);border-radius:999px;background:rgba(255,255,255,.7);color:#7d668a;font-size:12px;font-weight:600;white-space:nowrap}.changelog-compact .changelog-header .changelog-member-link:hover{background:#f0e8f6;border-color:rgba(139,112,151,.35)}.changelog-compact .changelog-header .changelog-member-link:focus-visible{outline:2px solid #a95c7e;outline-offset:3px}.changelog-compact .changelog-hero{padding:26px 0 20px}.changelog-compact .changelog-hero h1{font-size:32px;letter-spacing:-.03em}.changelog-compact .changelog-hero span{margin-top:8px;font-size:14px}.changelog-compact .changelog-releases{gap:0;overflow:hidden;border:1px solid var(--log-line);border-radius:16px;background:rgba(255,255,255,.75)}.changelog-compact .changelog-release,.changelog-compact .changelog-release:not([open]),.changelog-compact .changelog-series{display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.changelog-compact .changelog-releases>details+details,.changelog-compact .changelog-series-items>details+details{border-top:1px solid var(--log-line)}.changelog-compact .changelog-release:not([open]) .changelog-version,.changelog-compact .changelog-series-version,.changelog-compact .changelog-version{min-height:72px;width:100%;padding:12px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:5px 10px;align-items:center}.changelog-compact summary:hover{background:rgba(238,227,243,.3)}.changelog-compact summary:focus-visible{outline:2px solid #a95c7e;outline-offset:-3px;border-radius:8px}.changelog-compact summary>div{grid-column:1;grid-row:1;min-width:0}.changelog-compact summary strong{font:600 16px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;color:#5e4b61}.changelog-compact summary b{padding:2px 6px;font-size:12px}.changelog-compact summary time{grid-column:2;grid-row:1;font-size:12px;color:#827081;white-space:nowrap}.changelog-compact .changelog-release-label,.changelog-compact .changelog-release:not([open]) .changelog-release-label,.changelog-compact .changelog-series-version>span:not(.changelog-series-toggle){grid-column:1/3;grid-row:2;font-size:13px;line-height:1.5;font-weight:400;white-space:normal;overflow-wrap:anywhere;color:#827081}.changelog-compact .changelog-series-toggle,.changelog-compact .changelog-toggle{grid-column:3;grid-row:1/3;justify-self:end;font-size:18px}.changelog-compact .changelog-series-items{display:block;padding:0 12px;border-top:0;background:rgba(248,243,249,.65)}.changelog-compact .changelog-series-items summary{padding-inline:8px}.changelog-compact .changelog-groups{padding:4px 20px 18px;gap:14px}.changelog-compact .changelog-groups section+section{padding-top:12px}.changelog-compact .changelog-groups h2{font-size:14px;margin-bottom:5px}.changelog-compact .changelog-groups ul{padding-left:18px;font-size:14px;line-height:1.8}.changelog-compact .changelog-footer{margin-top:16px;padding:14px 0 0;font-size:12px;line-height:1.6}@media (max-width:360px){.changelog-compact summary b,.changelog-compact summary time{font-size:11px}.changelog-compact .changelog-release:not([open]) .changelog-version,.changelog-compact .changelog-series-version,.changelog-compact .changelog-version{padding-inline:12px;gap:4px 6px}}.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-top:var(--huanyi-safe-top);padding-bottom:calc(40px + var(--huanyi-safe-bottom))}.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-weight:500}.birthday-hero h1 small,.birthday-hero h1 span{display:block}.birthday-hero h1 small{margin-bottom:4px;color:var(--birthday-deep);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;font-size:clamp(15px,2.4vw,21px);font-weight:800;letter-spacing:.16em}.birthday-hero h1 span{font-size:clamp(44px,9vw,78px);letter-spacing:-.08em;line-height:1.05}.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;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;white-space:pre-wrap;overflow-wrap:anywhere}.wish-card p.collapsed{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:7}.wish-message-toggle{min-height:34px;margin:-8px 0 14px;padding:0 10px;border:1px solid #a95c7e20;border-radius:999px;background:#fff9fc;color:var(--birthday-deep);cursor:pointer;font-size:9px;font-weight:700}.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:230px}.birthday-hero h1 small{font-size:14px}.birthday-hero h1 span{font-size:48px;line-height:1.08}.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-atmosphere,.birthday-celebration{position:fixed;z-index:2;inset:0;overflow:hidden;pointer-events:none}.birthday-atmosphere i{position:absolute;top:-12vh;color:var(--birthday-pink);font-style:normal;opacity:.42;text-shadow:0 4px 12px rgba(169,92,126,.13);animation:birthday-fall 11s linear infinite;will-change:transform}.birthday-atmosphere.paused i{animation-play-state:paused}.birthday-atmosphere i:first-child{left:4%;font-size:17px;animation-duration:12s;animation-delay:-7s}.birthday-atmosphere i:nth-child(2){left:10%;color:var(--birthday-purple);font-size:12px;animation-duration:14s;animation-delay:-2s}.birthday-atmosphere i:nth-child(3){left:17%;font-size:16px;animation-duration:10s;animation-delay:-5s}.birthday-atmosphere i:nth-child(4){left:24%;color:#e5a2b8;font-size:8px;animation-duration:13s;animation-delay:-10s}.birthday-atmosphere i:nth-child(5){left:31%;color:var(--birthday-purple);font-size:14px;animation-duration:15s;animation-delay:-6s}.birthday-atmosphere i:nth-child(6){left:38%;font-size:20px;animation-duration:12s;animation-delay:-1s}.birthday-atmosphere i:nth-child(7){left:45%;color:var(--birthday-purple);font-size:13px;animation-duration:10s;animation-delay:-8s}.birthday-atmosphere i:nth-child(8){left:51%;color:#e5a2b8;font-size:8px;animation-duration:14s;animation-delay:-4s}.birthday-atmosphere i:nth-child(9){left:57%;font-size:13px;animation-duration:11s;animation-delay:-9s}.birthday-atmosphere i:nth-child(10){left:63%;font-size:18px;animation-duration:13s;animation-delay:-3s}.birthday-atmosphere i:nth-child(11){left:69%;color:var(--birthday-purple);font-size:11px;animation-duration:15s;animation-delay:-12s}.birthday-atmosphere i:nth-child(12){left:75%;font-size:15px;animation-duration:10s;animation-delay:-2s}.birthday-atmosphere i:nth-child(13){left:80%;color:#e5a2b8;font-size:8px;animation-duration:13s;animation-delay:-8s}.birthday-atmosphere i:nth-child(14){left:85%;font-size:19px;animation-duration:14s;animation-delay:-5s}.birthday-atmosphere i:nth-child(15){left:90%;color:var(--birthday-purple);font-size:13px;animation-duration:11s;animation-delay:-1s}.birthday-atmosphere i:nth-child(16){left:94%;font-size:15px;animation-duration:15s;animation-delay:-10s}.birthday-atmosphere i:nth-child(17){left:48%;color:var(--birthday-purple);font-size:12px;animation-duration:17s;animation-delay:-14s}.birthday-atmosphere i:nth-child(18){left:72%;color:#e5a2b8;font-size:8px;animation-duration:16s;animation-delay:-7s}.birthday-celebration{z-index:6}.birthday-celebration i{--burst-x:0px;--burst-y:-120px;position:absolute;left:50%;top:58%;color:var(--birthday-pink);font-style:normal;font-size:18px;opacity:0;animation:birthday-burst 1.35s cubic-bezier(.18,.72,.2,1) forwards}.birthday-celebration i:first-child{--burst-x:-190px;--burst-y:-120px}.birthday-celebration i:nth-child(2){--burst-x:-130px;--burst-y:-210px;color:var(--birthday-purple)}.birthday-celebration i:nth-child(3){--burst-x:-45px;--burst-y:-185px}.birthday-celebration i:nth-child(4){--burst-x:65px;--burst-y:-210px;color:var(--birthday-purple)}.birthday-celebration i:nth-child(5){--burst-x:165px;--burst-y:-130px}.birthday-celebration i:nth-child(6){--burst-x:190px;--burst-y:-20px;font-size:10px}.birthday-celebration i:nth-child(7){--burst-x:105px;--burst-y:70px;color:var(--birthday-purple)}.birthday-celebration i:nth-child(8){--burst-x:-15px;--burst-y:90px}.birthday-celebration i:nth-child(9){--burst-x:-125px;--burst-y:55px}.birthday-celebration i:nth-child(10){--burst-x:-205px;--burst-y:-10px;color:var(--birthday-purple)}.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}.countdown-grid small{color:#a28da0;font-size:8px}.birthday-open-message{width:fit-content;max-width:100%;min-height:72px;margin-top:10px;padding:0 20px;display:flex;align-items:center;gap:9px;border:1px solid rgba(169,92,126,.18);border-radius:16px;background:linear-gradient(110deg,rgba(255,255,255,.76),rgba(255,230,240,.72));color:#6f5669;font-family:Georgia,Songti SC,serif;font-size:14px}.birthday-open-message span{color:var(--birthday-pink);font-size:24px}.birthday-timezone{display:block;margin-top:9px;color:#a28da0;font-size:8px;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-fall{0%{transform:translate3d(0,-10vh,0) rotate(0deg)}to{transform:translate3d(24px,124vh,0) rotate(420deg)}}@keyframes birthday-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0deg)}18%{opacity:.95}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) scale(1.15) rotate(260deg)}}@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-atmosphere i:nth-child(n+11){display:none}.birthday-celebration i{top:64%}.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}.birthday-open-message{min-height:64px;padding-inline:14px;font-size:12px}.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}.birthday-back,.birthday-footer a{min-height:44px;display:inline-flex;align-items:center}.wish-form-bottom button,.wish-like,.wish-message-toggle{min-height:44px}}@media (max-width:380px){.birthday-hero h1,.birthday-hero>p{max-width:calc(100% - 130px)}.birthday-mascot{width:96px;height:96px}.birthday-mascot span{font-size:23px}.birthday-mascot b{font-size:27px}}@media (prefers-reduced-motion:reduce){.birthday-atmosphere,.birthday-celebration{display:none!important}}@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}}.birthday-preview-scope{margin:14px 0 4px;padding:10px;display:flex;align-items:center;gap:7px;border:1px solid rgba(201,94,135,.18);border-radius:14px;background:rgba(255,250,253,.82)}.birthday-preview-scope button{min-height:34px;padding:0 12px;border:1px solid rgba(201,94,135,.18);border-radius:999px;background:white;color:#80677b;cursor:pointer;font-size:9px;font-weight:800}.birthday-preview-scope button.active{border-color:transparent;background:#4b404f;color:white}.birthday-preview-scope small{margin-left:auto;color:#9b8797;font-size:8px}.wish-card{position:relative}.wish-preview-status{position:absolute;right:13px;top:12px;padding:4px 7px;border-radius:999px;background:#fff1cf;color:#8b671f;font-size:7px}.wish-preview-status.approved{background:#e3f6e9;color:#39714a}.wish-preview-status.hidden{background:#ece9ed;color:#726b73}.wish-card footer>span{min-width:0;display:flex;flex-direction:column;gap:3px}.wish-like{min-width:50px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(213,133,163,.22);border-radius:999px;background:rgba(255,255,255,.75);color:#b995a4;cursor:pointer}.wish-like i{font-size:9px;font-style:normal;font-variant-numeric:tabular-nums}.wish-like.active{border-color:rgba(213,90,137,.34);background:#fde9f0;color:#d35a89}@media (max-width:640px){.wish-like{min-height:44px}}.wish-load-more{width:min(100%,360px);min-height:46px;margin:8px auto 0;display:block;border:1px solid rgba(213,133,163,.24);border-radius:999px;background:linear-gradient(110deg,#fff8fb,#f4effd);color:var(--birthday-deep);cursor:pointer;font-size:10px;font-weight:800}.wish-load-more:disabled{opacity:.55;cursor:wait}.preview-home-hero{padding:32px 5px 25px}.preview-home-hero>small{color:#c4678c;font-size:7px;font-weight:900;letter-spacing:.18em}.preview-home-hero h2{margin:8px 0;font-family:Georgia,Songti SC,serif;font-size:clamp(28px,5vw,45px);font-weight:500;line-height:1.08}.preview-home-hero p{max-width:580px;margin:0;color:#806f7f;font-size:9px;line-height:1.7;white-space:pre-wrap}.preview-home-actions{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.preview-home-actions .preview-home-artist,.preview-home-actions .preview-home-live{min-width:0;margin-top:0;padding:9px 10px}.preview-home-search{min-height:48px;padding:0 13px;display:flex;align-items:center;gap:9px;border:5px solid rgba(255,255,255,.65);border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 8px 22px rgba(83,62,85,.07)}.preview-home-search span{color:#b65c81;font:18px/1 Georgia,serif}.preview-home-search strong{color:#756474;font-size:9px;font-weight:500}.preview-home-artist,.preview-home-birthday,.preview-home-live,.preview-home-share{margin-top:8px;padding:11px 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(91,65,89,.12);border-radius:13px;background:rgba(255,255,255,.7)}.preview-message-wall{margin-top:8px;padding:14px 12px;display:flex;align-items:flex-start;flex-direction:column;gap:3px;border:1px solid rgba(91,65,89,.12);border-radius:13px;background:linear-gradient(135deg,#fff8fb,#f3effd)}.preview-message-wall small{color:#aa6684;font-size:7px;font-weight:800;letter-spacing:.14em}.preview-message-wall strong{color:#594a59;font:19px/1.2 Georgia,Songti SC,serif}.preview-message-wall p{margin:4px 0 0;color:#8e7b8b;font-size:8px;line-height:1.6}.preview-home-birthday>b{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#fbe5ed;font-size:16px}.preview-home-artist>span,.preview-home-birthday>span,.preview-home-live>span{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.preview-home-artist small,.preview-home-birthday small,.preview-home-live small{color:#958393;font-size:7px}.preview-home-artist strong,.preview-home-birthday strong,.preview-home-live strong{overflow-wrap:anywhere;font-size:9px}.preview-home-artist>i,.preview-home-birthday>i,.preview-home-live>i{color:#a45d7c;font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.preview-home-live{background:linear-gradient(110deg,rgba(239,234,255,.9),rgba(251,227,236,.8))}.preview-home-live>b{width:7px;height:7px;border-radius:50%;background:#ef5f86;box-shadow:0 0 0 4px rgba(239,95,134,.12)}.preview-home-share{align-items:flex-start;flex-direction:column;gap:4px}.preview-home-share>small{color:#bd7391;font-size:7px;font-weight:800}.preview-home-share>strong{font-size:10px}.preview-home-share>p{margin:0;color:#8e7a8b;font-size:8px;line-height:1.6;white-space:pre-wrap}.preview-tools-hero{padding:31px 5px 24px}.preview-spending-hero>small,.preview-tools-hero small,.preview-tools-list>small{color:#aa6684;font-size:7px;font-weight:900;letter-spacing:.16em}.preview-tools-hero h2{margin:8px 0;font:500 clamp(30px,5vw,48px)/1.04 Georgia,Times New Roman,Songti SC,serif;letter-spacing:-.04em}.preview-spending-hero p,.preview-tools-hero p{max-width:600px;margin:0;color:#806f7f;font-size:9px;line-height:1.7;white-space:pre-wrap}.preview-tools-list{padding-top:4px}.preview-tools-list>strong{margin:4px 0 9px;display:block;color:#5f4f5e;font-size:10px}.preview-tools-list>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preview-tools-list article{min-width:0;min-height:176px;padding:13px;display:flex;align-items:flex-start;flex-direction:column;border:1px solid rgba(91,65,89,.12);border-radius:14px;background:rgba(255,255,255,.72)}.preview-tools-list article>b{width:34px;height:34px;display:grid;place-items:center;margin-bottom:12px;border-radius:10px;background:linear-gradient(145deg,#f6dfe9,#e8e1fb);color:#7a6388;font:14px/1 Georgia,Songti SC,serif}.preview-tools-list article>small{color:#8a718a;font-size:6px;font-weight:900;letter-spacing:.12em}.preview-tools-list article>strong{margin-top:5px;color:#514351;font-size:11px}.preview-tools-list article>p{margin:6px 0 10px;color:#897789;font-size:8px;line-height:1.55;white-space:pre-wrap}.preview-tools-list article>i{margin-top:auto;align-self:stretch;padding:7px 9px;border-radius:999px;background:#f2dfe7;color:#9b5473;font-size:7px;font-style:normal;font-weight:800}.preview-tools-privacy{margin-top:8px;padding:11px 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(91,65,89,.12);border-radius:13px;background:rgba(255,255,255,.62)}.preview-tools-privacy>b{width:31px;height:31px;display:grid;flex:0 0 auto;place-items:center;border-radius:10px;background:#eee9f8;color:#76699b;font:11px/1 Georgia,Songti SC,serif}.preview-tools-privacy>span{min-width:0}.preview-tools-privacy strong{color:#615260;font-size:9px}.preview-tools-privacy p{margin:3px 0 0;color:#8b7989;font-size:7px;line-height:1.55;white-space:pre-wrap}.preview-spending-hero{margin-top:8px;padding:18px 14px;border:1px solid rgba(91,65,89,.12);border-radius:13px;background:linear-gradient(140deg,rgba(255,255,255,.76),rgba(245,225,235,.72),rgba(235,228,250,.72))}.preview-spending-hero>strong{max-width:500px;margin:7px 0;display:block;color:#574856;font:500 clamp(20px,4vw,34px)/1.15 Georgia,Songti SC,serif;white-space:pre-wrap}.changelog-manage-easter-egg{min-width:20px;min-height:20px;margin:-5px -3px;padding:0;border:0;background:transparent;color:#bd6d8e;cursor:default;font:15px/1 Georgia,serif;vertical-align:-1px}@media (max-width:640px){.birthday-preview-scope{align-items:stretch;flex-direction:column}.birthday-preview-scope small{margin:2px 0 0;text-align:center}.preview-home-actions,.preview-tools-list>div{grid-template-columns:1fr}}