.playlist-cup-page{max-width:1120px;margin:34px auto;padding:0 20px 40px}
.playlist-cup-page [hidden]{display:none!important}
.playlist-cup-panel{padding:32px 40px;overflow:visible;background:radial-gradient(ellipse at 50% 15%,#29214d80,transparent 60%),linear-gradient(140deg,#111a2c,#171a34);border:1px solid #ffffff1c;border-radius:28px;box-shadow:0 24px 80px #0003}
.playlist-cup-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.playlist-cup-header h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.05em;margin:0;line-height:1.1}
.playlist-cup-header .eyebrow{color:#b9a0ff;font-size:10px;margin-bottom:10px}
.playlist-cup-header>span{display:grid;place-items:center;font-size:42px;color:#f7c766;background:#f7c7660e;border:1px solid #f7c76633;border-radius:22px;width:78px;height:78px;transform:rotate(8deg)}
.playlist-cup-import{max-width:620px;margin:auto;text-align:center}
.playlist-cup-import-icon{font-size:56px;color:#43deef;text-shadow:0 0 45px #24d0f780}
.playlist-cup-import h2{font-size:26px;letter-spacing:-.03em;margin:10px 0}
.playlist-cup-import form{text-align:left;display:grid;gap:10px;margin:26px 0}
.playlist-cup-import form>label{font-weight:700;font-size:13px}
.playlist-cup-import textarea{resize:vertical;min-height:152px;background:#090f2077;border:1px solid #ffffff24;border-radius:15px;padding:16px;color:#fff;font:inherit;line-height:1.8;width:100%;box-sizing:border-box}
.playlist-cup-import textarea:focus{outline:2px solid #40d6eb;outline-offset:3px}
.playlist-cup-import small{font-size:11px;color:#97a3bb;line-height:1.6}
.playlist-cup-import-actions,.playlist-cup-result-actions,.playlist-cup-result-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.playlist-cup-page .primary,.playlist-cup-page .ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-align:center}
.playlist-cup-import output{min-height:20px;font-size:13px;color:#56dcee}
.playlist-cup-loaded{display:grid;gap:16px;padding:22px;border:1px solid #41dced33;border-radius:18px;background:#24ccd60b;text-align:center}
.playlist-cup-loaded ol{text-align:left;max-height:200px;overflow:auto;padding-left:22px;font-size:12px;line-height:1.8}
.playlist-cup-round-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:22px;font-size:12px;color:#a9b7d1}
.playlist-cup-round-heading .badge{color:#f7cd76;background:#eab74e15;border-color:#eab74e33}
.playlist-cup-duel{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:14px}
.playlist-cup-card{position:relative;min-width:0;display:flex;flex-direction:column;gap:18px;padding:22px;background:#0b12278c;border:1px solid #ffffff1a;border-radius:24px;transition:opacity .45s,transform .45s,border-color .3s,box-shadow .3s;animation:cup-arrive .45s backwards}
.playlist-cup-card.is-hidden{opacity:0;visibility:hidden;transform:translateX(40px) scale(.94);animation:none}
.playlist-cup-card.is-playing{border-color:#4bd6ed80;box-shadow:0 0 42px #35cee915}
.playlist-cup-card.is-ready:hover{border-color:#a08aff88;transform:translateY(-3px)}
.playlist-cup-card.is-winner{border-color:#53dfac;box-shadow:0 0 60px #53dfac33;transform:scale(1.025)}
.playlist-cup-card.is-loser{opacity:0;transform:translateY(20px) scale(.9)}
.playlist-cup-art{position:relative;aspect-ratio:1;max-width:270px;width:100%;margin:auto;display:grid;place-items:center;background:linear-gradient(130deg,#614696,#113a58);border-radius:18px;overflow:hidden;box-shadow:0 16px 28px #0004}
.playlist-cup-art>span{font-size:75px;color:#ffffff55}
.playlist-cup-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.playlist-cup-track{min-height:88px;position:relative;padding-right:24px}
.playlist-cup-track>small{position:absolute;right:0;top:0;font-size:10px;font-weight:800;color:#8695b1}
.playlist-cup-track h2{font-size:clamp(19px,2.2vw,25px);letter-spacing:-.025em;line-height:1.15;margin:0 0 8px;overflow-wrap:anywhere}
.playlist-cup-track p{font-size:13px;line-height:1.5;color:#a9b6ce;margin:0;overflow-wrap:anywhere}
.playlist-cup-progress{height:4px;border-radius:4px;background:#ffffff12;overflow:hidden}
.playlist-cup-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#9070ff,#38d7ed);transition:width .1s linear}
.playlist-cup-card-actions{display:flex;gap:8px}
.playlist-cup-card-actions .primary{flex:1;min-width:0}
.playlist-cup-card-actions button{font-size:12px;padding:10px 12px}
.playlist-cup-card-actions button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.playlist-cup-versus{font-size:18px;font-weight:900;color:#b6a0ff;text-align:center;letter-spacing:.1em}
.playlist-cup-wave{height:18px;display:flex;justify-content:center;align-items:center;gap:4px}
.playlist-cup-wave i{height:4px;width:3px;border-radius:3px;background:#42536d}
.is-playing .playlist-cup-wave i{background:#4bdeee;animation:cup-wave .7s calc(var(--wave) * -.13s) infinite alternate}
.playlist-cup-listen-status{text-align:center;font-size:14px;color:#cae0f7;min-height:24px;margin:23px 0 10px}
.playlist-cup-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.playlist-cup-round>.music-track-volume{margin:0 auto 24px;max-width:320px}
.playlist-cup-total-progress{height:5px;background:#ffffff0d;border-radius:5px;overflow:hidden}
.playlist-cup-total-progress i{display:block;height:100%;background:linear-gradient(90deg,#9d6ef5,#44def2);transition:width .4s}
.playlist-cup-total-label{display:block;text-align:center;color:#8c9dbb;margin-top:10px;font-size:11px}
.playlist-cup-bye{font-size:11px;color:#a7b4ca;text-align:center;margin:12px 0}
.playlist-cup-exit{display:flex!important;margin:20px auto 0;font-size:11px;color:#a9b7d1}
.playlist-cup-page>[data-cup-home]{margin-top:18px}
.playlist-cup-result{text-align:center;position:relative;padding-top:8px;animation:cup-arrive .65s both}
.playlist-cup-crown{font-size:60px;color:#ffd780;text-shadow:0 0 60px #ffcc6477;animation:cup-crown 2.5s ease-in-out infinite}
.playlist-cup-result .playlist-cup-art{max-width:240px;border:2px solid #ffd78077;box-shadow:0 0 65px #f7c76622}
.playlist-cup-result h2{font-size:clamp(26px,4vw,42px);letter-spacing:-.04em;margin:22px 0 8px}
.playlist-cup-result>p{color:#a7b7d2}
.playlist-cup-result>.eyebrow{color:#ffd780;margin-bottom:20px}
.playlist-cup-stats{display:flex;justify-content:center;gap:24px;margin:24px 0;font-size:11px;color:#9caac6}
.playlist-cup-stats b{display:block;font-size:24px;color:#64dfee;margin-bottom:5px}
.playlist-cup-result audio{max-width:100%;width:340px;margin:12px 0}
.playlist-cup-history{margin-top:34px;padding-top:24px;border-top:1px solid #ffffff15}
.playlist-cup-history summary{font-size:14px;font-weight:700;cursor:pointer}
.playlist-cup-history h3{font-size:12px;color:#baa3ff;margin:20px 0 10px}
.playlist-cup-history-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#080e1c55;padding:12px 16px;border-radius:12px;margin:6px 0;font-size:12px;overflow-wrap:anywhere}
.playlist-cup-history-row span:first-child{color:#65dbb1}
.playlist-cup-history-row span:last-child{color:#8e9ab3}
.playlist-cup-history-row small{display:block;color:#8796b0;font-size:10px;margin-top:5px}
@keyframes cup-arrive{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cup-wave{to{height:calc(8px + var(--wave) * 3px)}}
@keyframes cup-crown{50%{transform:translateY(-6px) rotate(-3deg)}}
@media(max-width:700px){.playlist-cup-page{padding:0 12px 30px;margin:20px auto}.playlist-cup-panel{padding:22px 18px;border-radius:22px}.playlist-cup-header>span{width:52px;height:52px;font-size:30px;border-radius:16px}.playlist-cup-duel{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:6px}.playlist-cup-card{padding:12px;gap:12px;border-radius:16px}.playlist-cup-art{border-radius:12px}.playlist-cup-track{min-height:100px;padding-right:0}.playlist-cup-track>small{position:static;display:block;margin-bottom:5px}.playlist-cup-track h2{font-size:17px}.playlist-cup-track p{font-size:11px}.playlist-cup-card-actions{flex-direction:column}.playlist-cup-card-actions button{width:100%;font-size:11px;padding:8px}.playlist-cup-versus{font-size:10px;letter-spacing:0}.playlist-cup-stats{gap:14px}.playlist-cup-header .eyebrow{font-size:8px}.playlist-cup-round-heading{font-size:10px}.playlist-cup-result-actions>button{width:100%}}
@media(prefers-reduced-motion:reduce){.playlist-cup-page *{animation:none!important;transition:none!important}}
.light-theme .playlist-cup-panel{background:linear-gradient(140deg,#f5f6ff,#ecf7ff);border-color:#b6c8e5;color:#17213b}
.light-theme .playlist-cup-card{background:#fff;border-color:#c5d4e7}
.light-theme .playlist-cup-track p,.light-theme .playlist-cup-listen-status,.light-theme .playlist-cup-result>p,.light-theme .playlist-cup-round-heading{color:#4a5874}
.light-theme .playlist-cup-import textarea{background:#fff;color:#17213b;border-color:#aebcd6}
.light-theme .playlist-cup-history-row{background:#fff}
.light-theme .playlist-cup-stats b{color:#177b8d}
.playlist-cup-duration{color:#63dfee!important;font-size:13px}
.playlist-cup-result-actions [data-cup-share]{background:linear-gradient(110deg,#8960e7,#147c9c);border-color:#9a88ec66;color:#fff}
.cup-share-dialog{width:min(430px,calc(100vw - 36px));max-height:90dvh;box-sizing:border-box;padding:22px;border:1px solid #8975be55;border-radius:24px;background:#11182b;color:#f1f4ff;box-shadow:0 30px 100px #0008;overflow:auto}
.cup-share-dialog::backdrop{background:#040711c9;backdrop-filter:blur(8px)}
.cup-share-dialog [hidden]{display:none!important}
.cup-share-dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.cup-share-dialog h2{font-size:20px;margin:0;letter-spacing:-.03em}
.cup-share-dialog [data-share-close]{font-size:24px;min-width:38px;min-height:38px;padding:0;display:grid;place-items:center}
.cup-share-dialog [data-share-preview]{display:block;max-height:52dvh;max-width:100%;margin:15px auto;border-radius:13px;box-shadow:0 8px 25px #0004}
.cup-share-dialog [data-share-feedback]{font-size:12px;line-height:1.6;color:#a9bfd8;margin:0;min-height:20px}
.cup-share-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:15px 0}
.cup-share-actions>a,.cup-share-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;text-decoration:none;text-align:center;box-sizing:border-box;font-size:12px;padding:10px 14px}
.cup-share-dialog>small{display:block;color:#8e9fb9;font-size:10px;line-height:1.6;text-align:center}
.light-theme .cup-share-dialog{background:#f2f6ff;color:#17213b;border-color:#b6c8e5}
.light-theme .cup-share-dialog [data-share-feedback]{color:#485b79}
