.music-song-row{display:grid;grid-template-columns:48px minmax(0,1fr) 44px auto;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #ffffff16;min-width:0}.music-song-info{min-width:0}.music-song-row h3.music-song-title{font-family:inherit;font-size:16px;font-weight:600;line-height:1.35;margin:0 0 5px;overflow-wrap:anywhere;text-align:left;text-wrap:wrap}.music-song-kind{font-size:11px;color:#aeb9ab;margin:0!important;line-height:1.4}.music-row-publish{font-size:12px!important;min-height:40px!important;padding:10px 14px!important;white-space:nowrap}.music-control{appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;width:44px;height:44px;min-height:44px;padding:0!important;border:0!important;border-radius:50%;color:#f8faf4;background:transparent;cursor:pointer;box-shadow:none!important}.music-control svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.music-control svg.play,.music-control svg.back,.music-control svg.forward{fill:currentColor;stroke:none}.music-control svg.pause{stroke-width:4}.music-control:disabled{opacity:.45;cursor:default}.music-control:focus-visible,.music-open:focus-visible{outline:2px solid #d9fa77;outline-offset:3px}.music-row-play{background:#d9fa7719;color:#d9fa77;border:1px solid #d9fa7738!important}.music-row-play.is-playing{background:#d9fa77;color:#14200e}.music-art{display:grid;place-items:center;position:relative;overflow:hidden;border-radius:14px;background:linear-gradient(145deg,#17251933,#0c160a9c),url('/static/korean-studio-duo.png') center/cover;color:#f3ffd9;isolation:isolate}.music-art>svg{width:40%;height:40%;fill:none;stroke:currentColor;stroke-width:1.3;filter:drop-shadow(0 2px 10px #0009)}.music-row-art{width:48px;height:48px}.music-art-brand{position:absolute;bottom:8%;left:0;right:0;text-align:center;color:#f3ffd9;font-size:14px;letter-spacing:2px;text-shadow:0 2px 8px #0009}.music-dock{position:fixed;left:0;right:0;margin-inline:auto;bottom:calc(96px + max(env(safe-area-inset-bottom,0px),var(--safe-bottom,0px)));transform:translate3d(0,0,0);width:min(470px,calc(100% - 24px));border:1px solid #eaf7d52b;border-radius:24px;background:#263120ed;color:#f7faef;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:0 8px 36px #0007;z-index:80;padding:10px 14px 7px;display:grid;grid-template-columns:minmax(0,1fr) 32px;animation:music-dock-in .42s cubic-bezier(.22,1,.36,1) both}.music-dock[hidden]{display:none!important}.music-open{appearance:none;display:flex;align-items:center;gap:12px;min-width:0;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.music-art-small{width:42px;height:42px;flex:none;border-radius:11px}.music-dock-info{min-width:0;display:grid;gap:3px}.music-dock-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.music-dock-info>span{font-size:10px;color:#bdc8b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-dismiss{width:32px;height:32px;min-height:32px;align-self:center;color:#bfcab4}.music-dismiss svg{display:block;width:18px;height:18px}.music-dock-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:28px;margin-top:1px}.music-dock-controls .music-control{width:40px;height:38px;min-height:38px}.music-play-small{color:#e2ff99}.music-dock-timeline{grid-column:1/-1;margin-top:-1px}.music-seek{appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;min-height:26px;height:26px;padding:0;margin:0;border:0!important;box-shadow:none!important;border-radius:0;background:transparent!important;color:#fff;cursor:pointer;touch-action:pan-y}.music-seek::-webkit-slider-runnable-track{height:4px;border-radius:9px;background:linear-gradient(to right,#f7f7ef var(--progress,0%),#ffffff38 var(--progress,0%))}.music-seek::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;margin-top:-4.5px;box-shadow:0 0 4px #0003}.music-seek::-moz-range-track{height:4px;background:#ffffff38;border-radius:9px}.music-seek::-moz-range-progress{height:4px;background:#f7f7ef}.music-seek::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:#fff}.music-dock .music-seek::-webkit-slider-thumb{width:8px;height:8px;margin-top:-2px}.has-music-player .app-shell{padding-bottom:calc(275px + var(--safe-bottom,0px))}.has-music-player #library-items{padding-bottom:150px}.has-music-player .toast{bottom:270px}.music-expanded{overflow:hidden!important}
dialog.music-fullscreen{position:fixed;inset:0;margin:0;padding:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;background:#152014;color:#f7faef;z-index:1000;overflow:auto;overscroll-behavior:contain;font-family:Arial,'Malgun Gothic',sans-serif;isolation:isolate;transform:translate3d(0,0,0);animation:music-full-in .42s cubic-bezier(.22,1,.36,1) both}dialog.music-fullscreen:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 15%,#6b795155,transparent 65%),radial-gradient(ellipse at 90% 70%,#785b4244,transparent 65%),linear-gradient(#242e21,#101810);opacity:1;z-index:-1;pointer-events:none}.music-fullscreen::backdrop{background:#111b10bd}.music-fullscreen.is-closing{animation:music-full-out .23s ease-in forwards}.music-full-top{position:relative;display:flex;align-items:center;gap:16px;padding:calc(18px + max(env(safe-area-inset-top,0px),var(--safe-top,0px))) max(24px,var(--safe-right,0px)) 12px max(24px,var(--safe-left,0px));max-width:560px;margin:auto}.music-full-top:before{content:'';position:absolute;top:calc(7px + var(--safe-top,0px));left:50%;transform:translateX(-50%);width:38px;height:4px;border-radius:3px;background:#ffffff35}.music-minimize{width:44px;height:44px;background:#ffffff12;color:#fff;border:1px solid #ffffff0c!important;backdrop-filter:blur(15px)}.music-eyebrow{font-size:11px;color:#d3dbce;letter-spacing:1.4px;text-transform:uppercase}.music-full-body{width:min(100%,520px);margin:auto;padding:10px 28px calc(28px + max(env(safe-area-inset-bottom,0px),var(--safe-bottom,0px)));display:flex;align-items:center;flex-direction:column}.music-art-large{width:min(76vw,37dvh,350px);aspect-ratio:1;border-radius:28px;margin:8px auto 24px;box-shadow:0 22px 50px #0006}.music-fullscreen .music-full-title{font-family:inherit;font-weight:700;font-size:clamp(23px,5vw,30px);line-height:1.22;margin:0;text-align:center;overflow-wrap:anywhere;width:100%;text-wrap:wrap}.music-full-kind{font-size:14px;line-height:1.4;color:#d1d7cd;margin:10px 0 20px;text-align:center}.music-timeline{width:100%}.music-times{display:flex;justify-content:space-between;font-size:12px;color:#d1d7cd;font-variant-numeric:tabular-nums}.music-full-controls{display:flex;align-items:center;justify-content:center;gap:32px;width:100%;margin:18px 0 10px}.music-full-controls .music-control{width:56px;height:56px}.music-full-controls .music-play-large{width:70px;height:70px}.music-play-large svg{width:37px;height:37px}.music-player-status{font-size:12px;line-height:1.45;text-align:center;color:#d1d7cd;margin:4px 0 10px;min-height:0}.music-player-status:empty{display:none}.music-publish,.music-buy{margin-top:10px;min-width:190px}.music-publish{background:#ffffff0b!important;color:#f3f6ef!important;border:1px solid #ffffff28!important}.music-buy[hidden]{display:none!important}.music-publication{width:min(450px,calc(100% - 32px));border:1px solid #ffffff26;border-radius:28px;background:#20291c;color:#f7faef;padding:26px;max-height:85dvh;overflow:auto}.music-publication h2{font-size:24px;margin:0 0 16px}.music-publication p{font-size:14px;line-height:1.6;margin:12px 0}.music-publication label{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;margin:18px 0}.music-publication input[type=checkbox]{appearance:auto;width:18px;height:18px;min-height:18px;min-width:18px;padding:0;margin:3px 0 0;accent-color:#d9fa77}.music-publication-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.music-publication-actions>button{flex:1;min-width:110px}.music-publication-status{color:#dfbca9}.library-card:has(>.music-song-row){display:block!important;padding:10px 18px!important}.library-card>.music-song-row{border-bottom:0}.library-card:has(>.music-song-row)>.studio-menu{margin:0 0 8px}.library-card:has(>.music-song-row)>.studio-menu summary{font-size:12px}
@media(min-width:701px){body:not(:has(.app-shell)) .music-dock{bottom:24px}.music-art-large{width:min(40dvh,340px)}}@media(max-width:380px){.music-song-row{grid-template-columns:38px minmax(0,1fr) 40px;gap:9px}.music-row-art{width:38px;height:38px}.music-row-publish{grid-column:2/4;justify-self:start;padding:8px 14px!important;min-height:34px!important}.music-full-body{padding-left:22px;padding-right:22px}.music-art-large{width:min(75vw,34dvh);margin-bottom:20px}}
@keyframes music-dock-in{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes music-full-in{from{opacity:.35;transform:translate3d(0,40%,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes music-full-out{to{opacity:.4;transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.music-dock,dialog.music-fullscreen,.music-fullscreen.is-closing{animation:none!important;transition:none!important}}
.music-row-publish,.music-publish,.music-buy,.music-publication-actions>button{border-radius:999px!important;min-height:42px;padding:10px 20px;border:1px solid #ffffff30;background:#ffffff0b;color:#f3f6ef;line-height:1.4}.music-publication-actions>.button{background:#d9fa77;color:#152014}.music-publish[hidden]{display:none!important}.music-public-row{grid-template-columns:48px minmax(0,1fr) 44px}.music-song-row [hidden]{display:none!important}.music-publication::backdrop{background:#080c08b8;backdrop-filter:blur(6px)}.library-card:has(>.music-song-row) .studio-menu summary::after{display:none!important}
@media(max-width:600px){.music-song-row{grid-template-columns:minmax(0,1fr) 40px auto;gap:10px;padding:12px 0}.music-row-art{display:none}.music-song-row h3.music-song-title{font-size:14px}.music-row-publish{grid-column:auto;justify-self:auto;font-size:11px!important;padding:8px 11px!important;min-height:38px!important}.music-public-row{grid-template-columns:minmax(0,1fr) 40px}}
.song-preview:has(#payment-song-row) #preview-title{display:none}@media(min-width:701px) and (max-height:800px){.music-art-large{width:min(35dvh,280px);margin:8px auto 18px}.music-full-controls{margin:12px 0 6px}.music-full-kind{margin-bottom:12px}}
/* Keep the dock's motion independent of Mini App section transitions. */
section.music-dock:not([hidden]){animation:music-dock-in .42s cubic-bezier(.22,1,.36,1) both}
.music-full-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:100%;margin-top:12px}.music-full-actions>.music-publish{min-width:0;margin:0}.music-karaoke-button{appearance:none;border-radius:999px!important;min-height:42px;padding:10px 20px;border:1px solid #ffffff30;background:#ffffff0b;color:#f3f6ef;font:inherit;font-size:14px;line-height:1.4;cursor:pointer}.music-karaoke-button[aria-pressed=true]{background:#d9fa77;color:#16200e;border-color:#d9fa77}.music-full-body>[hidden]{display:none!important}.music-karaoke{width:100%;height:min(40dvh,355px);min-height:180px;display:flex;flex-direction:column;margin:0 0 22px;position:relative}.music-karaoke-message{height:28px;flex:none;margin:0;font-size:12px;line-height:1.4;color:#c5d0bc;text-align:center}.music-karaoke-scroll{overflow:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;scrollbar-color:#899e6455 transparent;flex:1;min-height:0;padding:26px 9px 55px;mask-image:linear-gradient(transparent,#000 8%,#000 88%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 8%,#000 88%,transparent)}.music-karaoke-scroll:focus-visible{outline:1px solid #d9fa7780;border-radius:12px}.music-karaoke-line{font-size:clamp(24px,5vw,32px);font-weight:700;line-height:1.65;text-align:left;margin:0 0 22px;overflow-wrap:anywhere}.music-karaoke-word{display:inline;color:#c7cfbd;opacity:.46;filter:blur(2.4px);transition:color .1s,opacity .1s,filter .1s}.music-karaoke-line.is-singing .music-karaoke-word{filter:none;color:#e1ff8f;opacity:1;text-shadow:0 0 20px #d9fa7733}.music-karaoke-fallback{white-space:pre-wrap;font-size:18px;line-height:1.7;color:#d1d7cd;margin:0}.has-karaoke .music-full-title{font-size:22px}.has-karaoke .music-full-kind{margin:8px 0 10px}.has-karaoke .music-full-controls{margin:8px 0}.has-karaoke .music-full-body{padding-top:0}.music-karaoke-button:focus-visible{outline:2px solid #d9fa77;outline-offset:3px}@media(max-height:650px){.music-karaoke{height:31dvh;margin-bottom:12px}.has-karaoke .music-full-controls .music-control{height:45px;min-height:45px}.has-karaoke .music-full-top{padding-bottom:6px}.music-full-actions{margin-top:6px}}@media(prefers-reduced-motion:reduce){.music-karaoke-word{transition:none}}

/* Reserve the publication column so its status label cannot move Play. */
.music-song-row:not(.music-public-row){grid-template-columns:48px minmax(0,1fr) 44px 144px}
.music-song-row>.music-row-publish{width:100%;min-width:0;box-sizing:border-box;text-align:center;justify-self:stretch}
@media(max-width:600px){.music-song-row:not(.music-public-row){grid-template-columns:minmax(0,1fr) 40px 118px}}

.music-drag-handle{display:block;grid-column:1/-1;justify-self:center;appearance:none;border:0;background:transparent;color:#c5d6ad;font-size:21px;line-height:16px;width:64px;height:18px;min-height:18px;margin:-3px 0 5px;padding:0;cursor:grab;touch-action:none;user-select:none}.music-drag-handle[hidden]{display:none}.music-drag-handle:focus-visible{outline:2px solid #d9fa77;outline-offset:2px;border-radius:8px}section.music-dock.is-positioned:not([hidden]){right:auto;bottom:auto;margin:0;transform:none;animation:none}.music-dock.is-dragging,.music-dock.is-dragging .music-drag-handle{cursor:grabbing}.music-dock.is-dragging{user-select:none}

/* Keep account form input rules from resizing the persistent player. */
.music-dock .music-seek,.music-fullscreen .music-seek{box-sizing:border-box;width:100%;height:26px;min-height:26px;margin:0;padding:0;border-radius:0;font-size:16px;line-height:normal}

/* Purchase stays below the track and never shifts Play or Publish. */
.music-song-row>.music-row-buy{grid-column:1/-1;justify-self:start;width:auto;min-height:36px;padding:8px 20px;border-radius:999px;font-size:13px;line-height:1.3}.music-song-row>.music-row-buy[hidden]{display:none}
