:root{color-scheme:dark;--pink:#ecc0d7;--muted:#9e91a9;--line:#3b2c43;--paper:#f5e8ef;font-family:"Microsoft YaHei","PingFang SC",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--paper);background:#000}button,input,textarea{font:inherit}button{cursor:pointer;border:0;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #f5bbdc;outline-offset:5px}[hidden]{display:none!important}.player-page{overflow:hidden;min-height:100svh}#sky{position:fixed;inset:0;width:100%;height:100%;touch-action:manipulation}#home{position:fixed;inset:0;display:grid;place-items:center;background:#000}.play-button{width:106px;height:106px;border:1px solid #e5bdd2a6;border-radius:50%;background:radial-gradient(circle at 35% 25%,#31202e,#130c14 80%);color:#f4d7e9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 0 44px #eab0ce13,inset 0 0 25px #f3c9df0b;transition:box-shadow .3s,transform .3s}.play-button svg{width:31px;height:31px;fill:#f2cfe1;transform:translateX(3px)}.play-button span{font-size:12px;letter-spacing:5px;padding-left:5px}.play-button:hover{transform:scale(1.05);box-shadow:0 0 65px #eab0ce30}.play-button:active{transform:scale(.96)}#birthdayMessage{position:fixed;transform:translate(-50%,-50%);width:82%;max-width:390px;text-align:center;pointer-events:none;animation:arrive 2.5s ease both}#birthdayMessage>span{font-size:8px;letter-spacing:4px;color:#c594b5}#birthdayMessage h1{font-family:"Songti SC","SimSun",serif;font-weight:400;font-size:clamp(23px,6vw,38px);line-height:1.5;color:#f6c1e0;text-shadow:0 0 35px #f484c980;overflow-wrap:anywhere;margin:20px 0 15px}#birthdayMessage p{color:#c49bb7;font-size:12px;line-height:2.1;overflow-wrap:anywhere;margin:0 auto;max-width:300px}#controls{position:fixed;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:12px;background:#1a1020d9;border:1px solid #5d3b5e;border-radius:40px;padding:7px;z-index:5;white-space:nowrap}#controls button{background:none;color:#dec1db;font-size:11px;padding:12px 19px;border-radius:24px}#controls button:hover{background:#462441}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.settings-page{background:#0b0811;min-height:100svh;background-image:radial-gradient(ellipse at 0% 30%,#29132b44,transparent 60%)}.settings-wrap{max-width:1240px;padding:0 55px;margin:auto}.settings-header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3023366b}.brand{color:#d9b1cf;font-size:29px;display:flex;align-items:center;gap:13px}.brand span{font-size:14px;letter-spacing:3px}.quiet-link{font-size:11px;letter-spacing:1px;color:#a489a7}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;padding:65px 0 50px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#bb89ae}.settings-intro{position:sticky;top:55px}.settings-intro h1{font-family:"Songti SC","SimSun",serif;font-size:55px;font-weight:400;line-height:1.38;letter-spacing:4px;margin:23px 0}.settings-intro>p{font-size:12px;line-height:2.2;letter-spacing:.7px;color:#a38aaa}.color-orbit{position:relative;width:220px;height:180px;margin:22px 0 12px;display:grid;place-items:center}.color-orbit>span{font-size:60px;color:#ffd5ee;text-shadow:0 0 30px #e667be}.color-orbit i{width:10px;height:10px;position:absolute;background:var(--c);border-radius:50%;box-shadow:0 0 28px 7px var(--c);opacity:.75}.color-orbit i:nth-child(1){--c:#ff58ba;left:22%;top:22%}.color-orbit i:nth-child(2){--c:#ff9e4b;left:64%;top:14%}.color-orbit i:nth-child(3){--c:#ffe95e;left:89%;top:54%}.color-orbit i:nth-child(4){--c:#42f6be;left:70%;top:85%}.color-orbit i:nth-child(5){--c:#57c9ff;left:18%;top:77%}.color-orbit i:nth-child(6){--c:#ad80ff;left:1%;top:48%}.intro-note{font-size:11px;color:#c5a7c4;letter-spacing:2px;line-height:2.5}.intro-note small{font-size:10px;letter-spacing:.4px;color:#716179}.settings-card{background:#15101cd9;border:1px solid #3a293e;border-radius:16px;padding:27px 29px;box-shadow:0 25px 100px #0003}.card-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #35243b;padding-bottom:21px;margin-bottom:24px}.card-title>span:first-child{font-size:16px;letter-spacing:2px}.card-title .eyebrow{font-size:8px;letter-spacing:2px}.field{margin:22px 0}.field label{display:block;font-size:12px;color:#ddc6dc;letter-spacing:.7px;margin-bottom:10px}.field label>span{font-size:9px;color:#7a6883;margin-left:5px}.field>small{font-size:9px;color:#8e7498;line-height:1.8;display:block;margin-top:10px}input:not([type=range]):not([type=checkbox]),textarea{border:1px solid #3d2d47;border-radius:6px;background:#0c0912;padding:11px 13px;color:#f1d8ec;width:100%;font-size:12px;line-height:1.8}textarea{resize:vertical}.stepper{display:flex;gap:7px;align-items:center}.stepper button{width:36px;height:39px;border:1px solid #65445f;background:#2a172b;color:#eec6e1;font-size:18px;border-radius:5px}.stepper input{width:65px!important;text-align:center;appearance:textfield;padding:6px!important;font-size:16px!important}.stepper input::-webkit-inner-spin-button{appearance:none}.stepper output{font-size:10px;color:#a387ac;margin-left:9px}.palette-note{padding:15px 0;display:flex;gap:15px;align-items:center;border-block:1px solid #32203b;margin-bottom:23px}.palette-note>div:last-child{font-size:11px;line-height:1.8;color:#d5b5d2}.palette-note small{display:block;font-size:9px;color:#84658e;margin-top:4px}.swatches{display:grid;grid-template-columns:repeat(3,10px);gap:5px;flex-shrink:0}.swatches i{width:10px;height:10px;border-radius:50%}.swatches i:nth-child(1){background:#ff5fae}.swatches i:nth-child(2){background:#ff9b55}.swatches i:nth-child(3){background:#fff07a}.swatches i:nth-child(4){background:#69f3b0}.swatches i:nth-child(5){background:#65cbff}.swatches i:nth-child(6){background:#bc83ff}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px}.two-fields .field{margin:0}.switch-row{height:45px;display:flex!important;align-items:center;gap:7px}.switch-row input{accent-color:#e6a3d1;width:17px;height:17px;margin:0}.switch-row span{font-size:10px!important;color:#bb9fc3!important;margin:0!important}.position-settings{border-block:1px solid #38263e;margin:20px 0 23px;padding:16px 0}.position-settings summary{cursor:pointer;font-size:11px;color:#c9a6cc}.position-settings summary>span{float:right;color:#796481;font-size:9px;line-height:2}.sliders{padding-top:18px}.sliders>label{display:block;font-size:10px;color:#b797bd;margin:13px 0 9px}.sliders output{float:right;font-size:9px;color:#8a6d94}.sliders input{width:100%;accent-color:#d49dc5}.primary,.secondary{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 16px;font-size:12px;letter-spacing:1px;border-radius:6px}.primary{color:#341e32;background:#e9bfdb;gap:20px}.primary:hover{background:#f8d5e9}.primary span{font-size:18px}.secondary{background:none;color:#b892ba;font-size:10px;margin-top:8px}.secondary:hover{background:#2c1c35}.save-note{color:#725a7e;font-size:9px;line-height:1.9;text-align:center;margin-bottom:0}#status{font-size:11px;color:#f4bfda;line-height:1.8;margin:12px 0 0;text-align:center;overflow-wrap:anywhere}.settings-footer{border-top:1px solid #2f2035;padding:20px 0 30px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#ab80a1}.settings-footer span{color:#685171;font-size:9px;letter-spacing:.5px}#alignDialog{max-width:none;max-height:none;width:100vw;height:100dvh;inset:0;margin:0;padding:0;border:0;background:#000;color:#eedced}#alignDialog::backdrop{background:#000}.align-top{text-align:center;position:absolute;top:max(35px,env(safe-area-inset-top));width:100%;font-size:14px;letter-spacing:2px}.align-top p{font-size:10px;color:#8f7893;letter-spacing:.5px;margin-top:15px}#target{position:absolute;transform:translate(-50%,-50%);border:1px dashed #d399c6a0;border-radius:50%;display:grid;place-items:center;touch-action:none;cursor:move;box-shadow:0 0 40px #c985b81a,inset 0 0 40px #c985b812}#target span{color:#e7bdd9;font-size:25px}.align-bottom{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));width:min(360px,calc(100% - 50px));left:50%;transform:translateX(-50%)}.align-bottom label{display:flex;align-items:center;gap:20px;font-size:11px;color:#bd9bbf;margin-bottom:26px}.align-bottom input{flex:1;min-width:0;accent-color:#d49dc5}@keyframes arrive{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@media(max-width:760px){.settings-wrap{padding:0 24px}.settings-header{height:80px}.settings-layout{display:block;padding-top:32px}.settings-intro{position:static}.settings-intro h1{font-size:38px;line-height:1.3;margin:17px 0}.settings-intro h1 br{display:none}.settings-intro>p{font-size:10px;margin:0 0 22px}.color-orbit,.intro-note{display:none}.settings-card{padding:22px 20px}.settings-footer{display:block;font-size:9px;line-height:2}.settings-footer>span{display:block;font-size:8px}.two-fields{gap:15px}.settings-intro>.eyebrow{font-size:8px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:760px){.settings-intro h1 br{display:block}}
#blessingSky{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}#birthdayMessage{z-index:3;transform:translate(-50%,0);max-width:none;width:min(88%,680px);animation:arrive 2.5s ease both}#birthdayMessage>span{display:none}#birthdayMessage h1.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;margin:0!important}#birthdayMessage p{max-width:100%;font-size:clamp(11px,2.7vmin,16px);padding:0 10px;line-height:2;color:#c5a6bc}.scale-note{color:#80648b;font-size:9px;line-height:1.8;margin:12px 0 0}
.audio-preview{background:transparent;color:#d0a6c5;font-size:10px;padding:0 0 8px;border-bottom:1px solid #684560;letter-spacing:1px}.audio-preview:disabled{color:#8f7198;cursor:default}
.wish-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.wish-presets button{background:#27172c;color:#c8a2c3;border:1px solid #4a3050;border-radius:20px;font-size:9px;padding:7px 11px}.wish-presets button:hover{background:#3a2241;color:#f5d2e8}.invitation-panel{border-block:1px solid #38263e;padding:15px 0;margin:15px 0 5px}.invitation-panel summary{font-size:11px;color:#c9a6cc;cursor:pointer}.invitation-panel p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:2;color:#a88bad;padding:12px 0 0;margin:0}#playerStatus{position:fixed;bottom:max(100px,calc(env(safe-area-inset-bottom) + 80px));left:50%;transform:translateX(-50%);max-width:85%;border:1px solid #63425e;border-radius:10px;padding:12px 17px;background:#1d1223ee;color:#e8cbdf;font-size:11px;line-height:1.8;text-align:center;z-index:7;pointer-events:none}#controls{gap:0;max-width:calc(100% - 24px)}#controls button{padding:12px 14px;font-size:10px}.play-button{will-change:transform,opacity}.play-button:disabled{cursor:default}
#memoryDialog{background:#140d1c;color:#ecd3e5;border:1px solid #60415f;border-radius:16px;padding:22px;width:min(440px,calc(100vw - 30px));max-height:92dvh;text-align:center;overflow:auto}#memoryDialog::backdrop{background:#000c;backdrop-filter:blur(7px)}#memoryDialog img{display:block;width:100%;max-height:64dvh;object-fit:contain;border-radius:7px}#closeMemory{display:block;margin:-12px -9px 8px auto;background:transparent;color:#dfbfd4;font-size:25px;padding:0 10px}#memoryDialog p{font-size:12px;color:#d8b8ce;margin:18px 0}#memoryDialog small{display:block;font-size:10px;color:#9c7e9d;margin-top:12px}
