/* 音乐桌面 (js/music-desk.js). Only the desk (#desk) and 小SA (#sa) stay; everything else in the room fades out.
   One full-screen canvas and the caption sit behind the frame; the frame turns transparent in this mode. */
.smd-canvas,.smd-caption{position:fixed;z-index:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.smd-canvas{inset:0;width:100vw;height:100vh;height:100dvh}
body.sa-music-desk .smd-canvas,body.sa-music-desk .smd-caption{opacity:1;visibility:visible;transition:opacity .9s ease}
body.sa-music-desk #frame,body.sa-music-desk.sa-compact #saStage{background:transparent!important}

/* Caption: kicker in the theme's colour, title, original song. */
.smd-caption,.smd-hud{--smd-ink:#ffe6c4}
.smd-caption{transform:translateX(-50%);text-align:center;color:#fff6e6;font:14px/1.35 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;text-shadow:0 2px 14px rgba(0,0,0,.55);width:max-content}
.smd-caption small{display:block;font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;color:var(--smd-ink)}
.smd-caption b{display:block;margin:4px 0 2px;font-size:clamp(20px,2.2vw,30px);font-weight:750;letter-spacing:.01em}
.smd-caption span{display:block;font-size:13px;color:rgba(255,246,230,.75)}
.smd-caption[data-side=card]{transform:none;text-align:left;width:auto}
.smd-caption[data-side=beside]{transform:none;text-align:left;width:auto}
.smd-caption[data-side=card] b{font-size:clamp(18px,1.75vw,26px)}
.smd-caption.is-new{animation:smd-caption-in .7s cubic-bezier(.2,.75,.2,1)}
.smd-caption[data-side=card].is-new{animation-name:smd-caption-in-left}
@keyframes smd-caption-in{from{opacity:0;transform:translate(-50%,10px)}}
@keyframes smd-caption-in-left{from{opacity:0;transform:translateY(10px)}}
body[data-smd-theme=neurofunk] :is(.smd-caption,.smd-hud){--smd-ink:#5ff3ff}
body[data-smd-theme=neurofunk] .smd-caption b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
body[data-smd-theme=vinahouse] :is(.smd-caption,.smd-hud){--smd-ink:#ff8ae6}
body[data-smd-theme=vinahouse] .smd-caption b{text-shadow:0 0 18px rgba(255,79,216,.75),0 2px 14px rgba(0,0,0,.5)}
body[data-smd-theme=jazz-fusion] :is(.smd-caption,.smd-hud){--smd-ink:#f6c66a}
body[data-smd-theme=kpop] :is(.smd-caption,.smd-hud){--smd-ink:#ffb3ec}
body[data-smd-theme=kpop] .smd-caption b{text-shadow:0 0 16px rgba(197,139,255,.75),0 2px 14px rgba(0,0,0,.5)}
/* j-pop is a daytime scene (a pale sky): dark navy words with a white halo instead of light words with a dark one */
body[data-smd-theme=jpop] :is(.smd-caption,.smd-hud){--smd-ink:#e0533c}
body[data-smd-theme=jpop] .smd-caption{color:#173a63;text-shadow:0 0 10px rgba(255,255,255,.85),0 0 2px rgba(255,255,255,.9)}
body[data-smd-theme=jpop] .smd-caption span{color:rgba(23,58,99,.78)}
body[data-smd-theme=jazz-fusion] .smd-caption b{font-family:"Songti SC","Iowan Old Style",serif;font-weight:600}
body[data-smd-theme=speed-garage] :is(.smd-caption,.smd-hud){--smd-ink:#ffd23f}
body[data-smd-theme=speed-garage] .smd-caption b{text-shadow:3px 2px 0 rgba(255,95,162,.6),0 2px 14px rgba(0,0,0,.5)}

/* Everything else in the room fades out. */
#frame>*,#sceneLayers>*{transition:opacity .7s ease}
body.sa-music-desk #sceneLayers>:not(#desk):not(#sa):not(.smd-desk-light),
body.sa-music-desk #frame>:not(#sceneLayers):not(#desk):not(#sa):not(.smd-desk-light){opacity:0!important;pointer-events:none!important}
/* Light on the desk: a layer masked to the desk picture and blended over it (only its opacity changes per frame). */
.smd-desk-light{display:none;position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;mix-blend-mode:soft-light;will-change:opacity;
  -webkit-mask:var(--smd-desk-mask) 0 0/100% 100% no-repeat;mask:var(--smd-desk-mask) 0 0/100% 100% no-repeat}
body.sa-music-desk .smd-desk-light{display:block}
.smd-desk-light.is-glow{mix-blend-mode:screen}
body.sa-music-desk .ctrl,body.sa-music-desk .panels,body.sa-music-desk .scene-alert,body.sa-music-desk #appStatus,body.sa-music-desk #saMiniPlayer,body.sa-music-desk #saStage::after{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .5s,visibility 0s .5s}
/* Phones: the stage fills the screen and the desk sits on the bottom edge, leaving the top for the record. */
body.sa-music-desk.sa-compact{overflow:hidden}
body.sa-music-desk.sa-compact #saStage{position:fixed!important;inset:0!important;z-index:6;height:auto!important;border:0!important;box-shadow:none!important}
body.sa-music-desk.sa-compact #frame{top:auto!important;bottom:-2%!important;transform:translateX(-50%)!important}
body.sa-music-desk.smd-idle,body.sa-music-desk.smd-idle *{cursor:none}

/* Controls: a small pill that appears when the pointer moves. */
.smd-hud{display:none}
body.sa-music-desk .smd-hud{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;column-gap:12px;row-gap:2px;max-width:calc(100vw - 32px);padding:8px 12px 6px 8px;border-radius:26px;
  background:rgba(20,14,10,.78);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 46px rgba(0,0,0,.45);color:#f6ead6;font:13px/1.35 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;
  opacity:0;transform:translate(-50%,14px);pointer-events:none;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.75,.2,1)}
body.sa-music-desk .smd-hud.is-awake,body.sa-music-desk .smd-hud:focus-within{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.smd-art{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#2a1f17}
.smd-art>*{width:100%;height:100%;border-radius:0}
.smd-hud.is-playing .smd-art{animation:smd-spin 8s linear infinite}
@keyframes smd-spin{to{transform:rotate(360deg)}}
.smd-text{display:flex;flex-direction:column;min-width:0;max-width:260px}
.smd-text b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smd-text small{color:#cdb898;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smd-buttons{display:flex;align-items:center;gap:2px}
.smd-hud button{display:grid;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}
.smd-prev,.smd-next{width:40px;height:40px;border-radius:50%}
.smd-play{width:46px;height:46px;border-radius:50%;background:#fff6e6!important;color:#1a1206!important}
.smd-hud svg{width:22px;height:22px}
.smd-prev:hover,.smd-next:hover{background:rgba(255,255,255,.1)!important}
.smd-lib{display:flex!important;align-items:center;gap:6px;height:36px;padding:0 13px 0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2)!important;font-size:12.5px;white-space:nowrap}
.smd-lib svg{width:18px!important;height:18px!important}
.smd-lib:hover{background:rgba(255,255,255,.1)!important}
.smd-art{cursor:pointer}
.smd-exit{display:flex!important;align-items:center;gap:6px;height:36px;padding:0 14px 0 11px;border-radius:999px;border:1px solid rgba(255,255,255,.2)!important;font-size:12.5px;white-space:nowrap}
.smd-exit svg{width:16px!important;height:16px!important}
.smd-exit:hover{background:rgba(255,255,255,.1)!important}
.smd-hud :focus-visible{outline:2px solid #e0a35c;outline-offset:2px}
/* Progress row: elapsed, a draggable bar in the theme's colour, total. */
.smd-seek{grid-column:1/-1;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:0 2px 0 6px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#cdb898;font-variant-numeric:tabular-nums}
.smd-seek span:last-child{text-align:right}
.smd-seek input{--pct:0%;-webkit-appearance:none;appearance:none;width:100%;height:20px;margin:0;background:transparent;cursor:pointer}
.smd-seek input:disabled{cursor:default;opacity:.5}
.smd-seek input::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--smd-ink) var(--pct),rgba(255,255,255,.18) var(--pct))}
.smd-seek input:hover::-webkit-slider-runnable-track{height:6px}
.smd-seek input::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;background:#fff6e6;box-shadow:0 1px 5px rgba(0,0,0,.5)}
.smd-seek input:hover::-webkit-slider-thumb{margin-top:-3.5px}
.smd-seek input::-moz-range-track{height:4px;border-radius:4px;background:rgba(255,255,255,.18)}
.smd-seek input::-moz-range-progress{height:4px;border-radius:4px;background:var(--smd-ink)}
.smd-seek input::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:#fff6e6}
@media (max-width:560px){
  body.sa-music-desk .smd-hud{left:12px;right:12px;column-gap:6px;max-width:none;transform:translateY(14px);border-radius:22px}
  body.sa-music-desk .smd-hud.is-awake,body.sa-music-desk .smd-hud:focus-within{transform:none}
  .smd-text{max-width:none}.smd-exit,.smd-lib{width:36px;padding:0!important;justify-content:center}.smd-exit span,.smd-lib span{display:none}
  .smd-prev,.smd-next{width:36px;height:36px}.smd-play{width:42px;height:42px}
  .smd-caption b{font-size:22px}
}
@media (prefers-reduced-motion:reduce){.smd-hud.is-playing .smd-art,.smd-caption.is-new{animation:none}.smd-canvas,.smd-caption{transition:none}}

/* 歌词 in 音乐桌面 (music-lyrics.js view, placed by music-desk.js): the line before, the one being sung and the next,
   behind the desk and 小SA like the caption; the sung words light up in the theme's colour, no box behind the words. */
.smd-lyrics{position:fixed;z-index:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s;
  color:#fff6e6;font:15px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.7);--smd-glow:#ffd9a0}
.smd-lyrics[hidden]{display:none}
body.sa-music-desk.smd-has-lyrics .smd-lyrics:not(.is-off){opacity:1;visibility:visible;transition:opacity .9s ease}
body.sa-music-desk.smd-has-lyrics .smd-caption.is-under-lyrics{opacity:0;visibility:hidden}
.smd-lyrics.sal{-webkit-mask-image:linear-gradient(transparent,#000 10%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 10%,#000 86%,transparent)}
.smd-lyrics .sal-list{padding:30px 0 120px}
.smd-lyrics .sal-section{display:none}
.smd-lyrics .sal-line-btn{padding:5px 2px;border-radius:0;transition:transform .55s cubic-bezier(.2,.75,.2,1)}
/* the desk's lines are not buttons to press (no seeking there): not dimmed like a disabled button */
.smd-lyrics .sal-line-btn:disabled{opacity:1;cursor:default}
.smd-lyrics[data-align=left] .sal-line-btn{text-align:left;transform-origin:0 50%}
/* lines wrap at the width the line being sung takes once enlarged (×1.26), so long lines (English) are never cut off */
.smd-lyrics .sal-ko,.smd-lyrics .sal-zh{max-width:79%;margin-inline:auto}
.smd-lyrics[data-align=left] .sal-ko,.smd-lyrics[data-align=left] .sal-zh{margin-inline:0}
.smd-lyrics .sal-ko{font-size:clamp(15px,1.15vw,18px);font-weight:700;line-height:1.35;color:rgba(255,246,230,.5)}
.smd-lyrics .sal-line.is-past .sal-ko{color:rgba(255,246,230,.34)}
.smd-lyrics .sal-line.is-now .sal-line-btn{transform:scale(1.26)}
.smd-lyrics .sal-line.is-now .sal-ko{color:rgba(255,246,230,.66)}
.smd-lyrics .sal-line.is-now .sal-t.is-on{color:#fffaf0;text-shadow:0 0 18px var(--smd-glow),0 0 2px color-mix(in srgb,var(--smd-glow) 70%,transparent),0 2px 12px rgba(0,0,0,.55)}
.smd-lyrics .sal-zh{font-size:12.5px;line-height:1.4;color:rgba(255,246,230,.5)}
.smd-lyrics .sal-line.is-now .sal-zh{color:#fff6e6}
.smd-lyrics .sal-empty{display:none}
/* centred above her head on wide screens: larger, like a stage's subtitles */
.smd-lyrics[data-place=top] .sal-ko{font-size:clamp(17px,1.4vw,22px)}
.smd-lyrics[data-place=top] .sal-zh{font-size:13.5px}
.smd-lyrics[data-place=top] .sal-line.is-now .sal-line-btn{transform:scale(1.22)}
@media (max-width:720px){.smd-lyrics .sal-line.is-now .sal-line-btn{transform:scale(1.18)}.smd-lyrics .sal-ko{font-size:14.5px}}
/* 歌词 in each theme's own style (2026-10-12): the lettering of its genre, how a word lights up as it is sung, and — in
   the dance themes — the glow of the words sung swelling with the beat (--smd-punch, heavier on downbeats; --smd-cycle:
   the colour of the bar; both from music-desk.js). The lines themselves never move with the beat (the user found the
   pulsing hard on the eyes). System fonts only. */
.smd-lyrics .sal-t{display:inline-block;position:relative}
.smd-lyrics[data-align=left] .sal-ko{transform-origin:0 50%}
/* lofi: brush script in warm light; each word seeps in like ink, no bounce */
body[data-smd-theme=lofi] .smd-lyrics{font-family:"Kaiti SC","STKaiti",KaiTi,"BiauKai","AppleMyungjo","Nanum Myeongjo",Batang,serif}
body[data-smd-theme=lofi] .smd-lyrics .sal-ko{font-weight:600;letter-spacing:.05em;color:rgba(255,227,200,.42)}
body[data-smd-theme=lofi] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:#fff1de;text-shadow:0 0 16px rgba(246,184,168,.6),0 2px 10px rgba(0,0,0,.5);animation:smd-ink .7s ease-out both}
body[data-smd-theme=lofi] .smd-lyrics .sal-line.is-now .sal-ko{color:rgba(255,227,200,.4)}
body[data-smd-theme=lofi] .smd-lyrics .sal-zh{letter-spacing:.1em}
body[data-smd-theme=lofi] .smd-lyrics .sal-line.is-now .sal-zh{color:#ffe3c8}
@keyframes smd-ink{from{filter:blur(2.5px);opacity:.6;transform:translateY(1.5px)}to{filter:none;opacity:1;transform:none}}
/* jazz: a roman serif in brass gold, a gold rule drawn under each word as it is sung, the Chinese in night blue */
body[data-smd-theme=jazz-fusion] .smd-lyrics{font-family:"Songti SC","STSong","Noto Serif CJK SC","AppleMyungjo","Nanum Myeongjo",Batang,Georgia,serif}
body[data-smd-theme=jazz-fusion] .smd-lyrics .sal-ko{font-weight:600;letter-spacing:.07em;color:rgba(255,226,176,.4)}
body[data-smd-theme=jazz-fusion] .smd-lyrics .sal-line.is-now .sal-ko{color:rgba(255,226,176,.38)}
body[data-smd-theme=jazz-fusion] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:#ffe6b8;text-shadow:0 0 16px rgba(242,194,122,.65),0 2px 10px rgba(0,0,0,.55)}
body[data-smd-theme=jazz-fusion] .smd-lyrics .sal-line.is-now .sal-t::after{content:'';position:absolute;left:-.08em;right:-.08em;bottom:-.05em;height:2px;border-radius:2px;background:linear-gradient(90deg,#f2c27a,#ffd9a8);box-shadow:0 0 8px rgba(242,194,122,.75);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s cubic-bezier(.3,.7,.3,1)}
body[data-smd-theme=jazz-fusion] .smd-lyrics .sal-line.is-now .sal-t.is-on::after{transform:none}
body[data-smd-theme=jazz-fusion] .smd-lyrics .sal-zh{letter-spacing:.14em;color:rgba(170,198,255,.5)}
body[data-smd-theme=jazz-fusion] .smd-lyrics .sal-line.is-now .sal-zh{color:#cddcff}
/* neurofunk: hard monospace; words glitch in, split red/cyan as wide as the beat */
body[data-smd-theme=neurofunk] .smd-lyrics{font-family:"SF Mono",Menlo,Consolas,"Apple SD Gothic Neo","Malgun Gothic","PingFang SC",monospace}
body[data-smd-theme=neurofunk] .smd-lyrics .sal-ko{font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:rgba(200,250,255,.4)}
body[data-smd-theme=neurofunk] .smd-lyrics .sal-line.is-now .sal-ko{color:rgba(200,250,255,.36)}
body[data-smd-theme=neurofunk] .smd-lyrics .sal-line.is-now .sal-t{transition:color .1s}
body[data-smd-theme=neurofunk] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:#effeff;text-shadow:calc(-1.5px - var(--smd-punch,0)*6px) 0 rgba(255,59,92,.9),calc(1.5px + var(--smd-punch,0)*6px) 0 rgba(95,243,255,.9),0 0 calc(10px + var(--smd-punch,0)*14px) rgba(95,243,255,.6);animation:smd-glitch .3s steps(1,end)}
body[data-smd-theme=neurofunk] .smd-lyrics .sal-zh{font-family:"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.16em;color:rgba(95,243,255,.5)}
body[data-smd-theme=neurofunk] .smd-lyrics .sal-line.is-now .sal-zh{color:#c4faff}
@keyframes smd-glitch{0%{transform:translateX(-6px);clip-path:inset(0 -1em 58% -1em);opacity:.7}30%{transform:translateX(5px);clip-path:inset(46% -1em 0 -1em)}60%{transform:translateX(-2px);clip-path:inset(18% -1em 30% -1em)}100%{transform:none;clip-path:none}}
/* vinahouse: condensed neon; each word pops in big, the glow swells with every kick in the colour of the bar */
body[data-smd-theme=vinahouse] .smd-lyrics{font-family:"Avenir Next Condensed","Arial Narrow","PingFang SC","Apple SD Gothic Neo","Microsoft YaHei",sans-serif}
body[data-smd-theme=vinahouse] .smd-lyrics .sal-ko{font-weight:800;letter-spacing:.03em;color:rgba(255,205,245,.42)}
body[data-smd-theme=vinahouse] .smd-lyrics .sal-line.is-now .sal-ko{color:rgba(255,205,245,.38)}
body[data-smd-theme=vinahouse] .smd-lyrics .sal-line.is-now .sal-t{transition:color .1s}
body[data-smd-theme=vinahouse] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:#fff;text-shadow:0 0 calc(6px + var(--smd-punch,0)*12px) var(--smd-cycle,#ff3fd0),0 0 calc(18px + var(--smd-punch,0)*28px) var(--smd-cycle,#ff3fd0),0 2px 8px rgba(0,0,0,.5);animation:smd-pop .34s cubic-bezier(.2,1.6,.4,1) both}
body[data-smd-theme=vinahouse] .smd-lyrics .sal-zh{color:rgba(120,236,255,.55)}
body[data-smd-theme=vinahouse] .smd-lyrics .sal-line.is-now .sal-zh{color:#aaf6ff;text-shadow:0 0 12px rgba(63,232,255,.7),0 1px 4px rgba(0,0,0,.6)}
@keyframes smd-pop{0%{transform:scale(1.45);opacity:.5}100%{transform:none;opacity:1}}
/* speed garage: heavy slanted outlined letters, filled yellow with a pink drop as each word slams down */
body[data-smd-theme=speed-garage] .smd-lyrics{font-family:"Arial Black","Helvetica Neue","Apple SD Gothic Neo","PingFang SC","Microsoft YaHei",sans-serif}
body[data-smd-theme=speed-garage] .smd-lyrics .sal-ko{font-weight:900;letter-spacing:.01em;color:rgba(255,236,190,.4)}
body[data-smd-theme=speed-garage] .smd-lyrics .sal-line.is-now .sal-ko{color:transparent;-webkit-text-stroke:1.2px rgba(255,210,63,.9);text-shadow:0 2px 10px rgba(0,0,0,.45);transform:skewX(-7deg)}
body[data-smd-theme=speed-garage] .smd-lyrics .sal-line.is-now .sal-t{transition:color .1s}
body[data-smd-theme=speed-garage] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:#ffd23f;-webkit-text-stroke:0;text-shadow:.09em .09em 0 #ff5fa2,0 0 calc(6px + var(--smd-punch,0)*16px) rgba(255,210,63,.65);animation:smd-slam .26s cubic-bezier(.3,1.5,.5,1) both}
body[data-smd-theme=speed-garage] .smd-lyrics .sal-zh{font-weight:700;color:rgba(46,196,182,.6)}
body[data-smd-theme=speed-garage] .smd-lyrics .sal-line.is-now .sal-zh{color:#7ff0e4}
@keyframes smd-slam{0%{transform:translateY(-.5em) scale(1.4);opacity:.35}100%{transform:none;opacity:1}}
/* k-pop: idol-stage lettering; each word blooms in a white-to-pink gradient (its foot in the colour of the bar), throws
   a sparkle */
body[data-smd-theme=kpop] .smd-lyrics{font-family:"Apple SD Gothic Neo","Malgun Gothic","PingFang SC","Microsoft YaHei",sans-serif}
body[data-smd-theme=kpop] .smd-lyrics .sal-ko{font-weight:800;color:rgba(255,214,246,.42)}
body[data-smd-theme=kpop] .smd-lyrics .sal-line.is-now .sal-ko{color:rgba(255,214,246,.38)}
body[data-smd-theme=kpop] .smd-lyrics .sal-line.is-now .sal-t{transition:color .1s}
body[data-smd-theme=kpop] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:transparent;background:linear-gradient(180deg,#fff 18%,#ffc8f1 52%,var(--smd-cycle,#ff7ad9) 100%);-webkit-background-clip:text;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 calc(4px + var(--smd-punch,0)*10px) rgba(255,122,217,.85)) drop-shadow(0 2px 4px rgba(0,0,0,.45));animation:smd-bloom .42s cubic-bezier(.2,1.4,.4,1) both}
body[data-smd-theme=kpop] .smd-lyrics .sal-line.is-now .sal-t.is-on::after{content:'✦';position:absolute;right:-.3em;top:-.5em;font-size:.55em;line-height:1;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 0 6px #ff9be6,0 0 12px #c58bff;pointer-events:none;animation:smd-spark .75s ease-out both}
body[data-smd-theme=kpop] .smd-lyrics .sal-zh{color:rgba(225,205,255,.55)}
body[data-smd-theme=kpop] .smd-lyrics .sal-line.is-now .sal-zh{color:#f1e4ff;text-shadow:0 0 12px rgba(197,139,255,.7),0 1px 4px rgba(0,0,0,.6)}
@keyframes smd-bloom{0%{transform:translateY(.25em) scale(.75);opacity:.5}100%{transform:none;opacity:1}}
@keyframes smd-spark{0%{opacity:0;transform:scale(.2) rotate(0)}30%{opacity:1;transform:scale(1.25) rotate(40deg)}100%{opacity:0;transform:translateY(-.5em) scale(.5) rotate(90deg)}}
/* j-pop: anime karaoke subtitles over a daytime sky; rounded gothic, the line being sung in white with a blue edge, each
   syllable turning coral with a white edge as it is sung, with a small hop; the other lines navy */
body[data-smd-theme=jpop] .smd-lyrics{font-family:"Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,"PingFang SC","Microsoft YaHei",sans-serif;text-shadow:0 0 8px rgba(255,255,255,.8)}
body[data-smd-theme=jpop] .smd-lyrics .sal-ko,body[data-smd-theme=jpop] .smd-lyrics .sal-line.is-past .sal-ko{font-weight:800;color:rgba(24,58,104,.5)}
body[data-smd-theme=jpop] .smd-lyrics .sal-line.is-now .sal-ko{color:#fffaf4;text-shadow:1.5px 0 0 #3d7fd0,-1.5px 0 0 #3d7fd0,0 1.5px 0 #3d7fd0,0 -1.5px 0 #3d7fd0,1px 1px 0 #3d7fd0,-1px -1px 0 #3d7fd0,1px -1px 0 #3d7fd0,-1px 1px 0 #3d7fd0,0 3px 8px rgba(0,0,0,.4)}
body[data-smd-theme=jpop] .smd-lyrics .sal-line.is-now .sal-t{transition:color .1s}
body[data-smd-theme=jpop] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:#ff7f66;text-shadow:1.5px 0 0 #fffaf4,-1.5px 0 0 #fffaf4,0 1.5px 0 #fffaf4,0 -1.5px 0 #fffaf4,1px 1px 0 #fffaf4,-1px -1px 0 #fffaf4,1px -1px 0 #fffaf4,-1px 1px 0 #fffaf4,0 0 calc(8px + var(--smd-punch,0)*10px) rgba(255,127,102,.75);animation:smd-hop .3s cubic-bezier(.3,1.6,.5,1) both}
body[data-smd-theme=jpop] .smd-lyrics .sal-zh{color:rgba(24,58,104,.55)}
body[data-smd-theme=jpop] .smd-lyrics .sal-line.is-now .sal-zh{color:#163a66;text-shadow:0 0 8px rgba(255,255,255,.95),0 0 2px #fff}
@keyframes smd-hop{0%{transform:translateY(-.28em);opacity:.6}100%{transform:none;opacity:1}}
html.sa-lite .smd-lyrics .sal-t{filter:none!important}
html.sa-lite body[data-smd-theme=kpop] .smd-lyrics .sal-line.is-now .sal-t.is-on{color:#fff0fa;background:none;-webkit-background-clip:border-box;background-clip:border-box;text-shadow:0 0 10px rgba(255,122,217,.8),0 2px 6px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:reduce){.smd-lyrics .sal-t,.smd-lyrics .sal-t::after{animation:none!important}body[data-smd-theme=kpop] .smd-lyrics .sal-t::after{display:none}}
