.media-upload{position:relative;transition:transform .2s,filter .2s}.media-upload.drag-active{transform:scale(1.012);filter:saturate(1.08)}.media-upload.drag-active:after{content:'松开即可智能识别并添加文件';position:absolute;z-index:5;inset:-10px;display:grid;place-items:center;border:2px solid var(--blue);border-radius:20px;color:#075da8;background:rgba(233,245,255,.92);backdrop-filter:blur(12px);font-size:15px;font-weight:650;pointer-events:none}.file-tile.has-file{border-style:solid;border-color:#68aef2;background:linear-gradient(145deg,#f2f8ff,#e8f4ff);box-shadow:0 8px 22px rgba(0,113,227,.1)}.file-tile.has-file>span{color:#fff;background:var(--blue);transform:scale(1.08)}.file-tile.has-file small{max-width:100%;overflow:hidden;color:#326d9f;text-overflow:ellipsis;white-space:nowrap}
.cloud-account{display:flex;align-items:center;gap:13px;margin:18px 0;padding:16px;border:1px solid #cce7d3;border-radius:16px;background:linear-gradient(135deg,#f2fff6,#fbfffc)}.cloud-account.disconnected{border-color:var(--line);background:#f7f7f9}.account-orb{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#4bd16f,#1e9d49);box-shadow:0 7px 18px rgba(30,157,73,.2)}.disconnected .account-orb{background:linear-gradient(145deg,#8cbfff,#2979db)}.cloud-account div{min-width:0;flex:1}.cloud-account b,.cloud-account small{display:block}.cloud-account b{font-size:13px}.cloud-account small{margin-top:3px;color:var(--muted);font-size:10px}.cloud-account em{color:var(--green);font-size:10px;font-style:normal}.disconnected em{color:var(--tertiary)}.oauth-form{display:grid!important;grid-template-columns:1fr 1fr auto!important;align-items:end!important;gap:12px!important}.oauth-form button{width:auto;margin:0;white-space:nowrap}.microsoft-connect span{font-size:16px}.disconnect-button{width:auto;color:#c52e2e;background:#fff0f0}.callback-note{display:grid;gap:5px;margin-top:17px;padding:13px 15px;border-radius:13px;background:#f5f5f7}.callback-note b{font-size:10px}.callback-note code{overflow-wrap:anywhere;color:var(--blue);font-size:10px}.callback-note small{color:var(--muted);font-size:9px}
.music-player:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 18% 18%,rgba(130,195,255,.16),transparent 32%),radial-gradient(circle at 88% 86%,rgba(185,116,255,.1),transparent 36%);pointer-events:none}.player-art{position:relative;isolation:isolate;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}.music-player.is-playing .player-art{transform:translateY(-3px) scale(1.015);box-shadow:0 32px 70px rgba(45,63,130,.34)}.art-shine{position:absolute;z-index:2;inset:-80%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.24) 49%,transparent 56%);transform:translateX(-35%) rotate(8deg);pointer-events:none}.music-player.is-playing .art-shine{animation:artShine 5s ease-in-out infinite}.sound-wave{display:flex;align-items:center;gap:3px;height:25px;margin-top:13px;opacity:.38}.sound-wave i{width:3px;height:4px;border-radius:4px;background:linear-gradient(#5aa6ff,#7d5cff);transform-origin:center}.music-player.is-playing .sound-wave{opacity:.9}.music-player.is-playing .sound-wave i{animation:soundBar .72s ease-in-out infinite alternate}.sound-wave i:nth-child(3n){animation-delay:-.48s!important}.sound-wave i:nth-child(3n+1){animation-delay:-.22s!important}.sound-wave i:nth-child(4n){animation-duration:.95s!important}.player-toggle{position:relative;box-shadow:0 10px 28px rgba(0,0,0,.2);transition:transform .18s,box-shadow .18s}.music-player.is-playing .player-toggle{box-shadow:0 0 0 7px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.26)}.player-toggle:active{transform:scale(.93)}
@keyframes soundBar{from{height:4px;transform:translateY(2px)}to{height:22px;transform:translateY(-1px)}}@keyframes artShine{0%,20%{transform:translateX(-38%) rotate(8deg)}65%,100%{transform:translateX(38%) rotate(8deg)}}
@media(prefers-reduced-motion:reduce){.music-player.is-playing .sound-wave i,.music-player.is-playing .art-shine{animation:none}.music-player.is-playing .player-art{transform:none}}@media(max-width:800px){.oauth-form{grid-template-columns:1fr!important}.oauth-form button{width:100%}}
