/* 한양(漢陽) original winter BGM: visual design intentionally unchanged elsewhere */
.hanyang-bgm{position:fixed;z-index:92;right:25px;bottom:28px;display:flex;align-items:center;gap:0;padding:5px;border:1px solid rgba(238,202,148,.40);background:linear-gradient(135deg,rgba(9,14,22,.95),rgba(25,23,24,.94));box-shadow:0 12px 38px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,241,212,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:30px;max-width:min(310px,calc(100vw - 24px));transition:border-color .25s,box-shadow .25s}
.hanyang-bgm:hover,.hanyang-bgm.is-playing{border-color:rgba(245,209,151,.65);box-shadow:0 12px 38px rgba(0,0,0,.42),0 0 22px rgba(237,182,112,.08)}
.hanyang-bgm__toggle{border:0;background:transparent;color:#f2dfb8;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:42px;text-align:left}
.hanyang-bgm__symbol{width:22px;height:22px;display:grid;place-items:center;font-size:20px;font-family:Georgia,serif;color:#ebc38e;line-height:1}
.hanyang-bgm__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.hanyang-bgm__text strong{font:700 13px/1.2 'Noto Serif KR',serif;letter-spacing:-.02em;color:#f4e3c3}
.hanyang-bgm__text small{font:500 9px/1.5 'Noto Sans KR',sans-serif;color:#bfa988;letter-spacing:.05em}
.hanyang-bgm__meter{display:flex;align-items:center;gap:3px;height:21px;min-width:18px;margin-left:5px}
.hanyang-bgm__meter i{height:5px;width:2px;background:#d6aa72;border-radius:10px;opacity:.56;transform-origin:center;animation:bgm-meter 1.3s ease-in-out infinite paused}
.hanyang-bgm__meter i:nth-child(2){animation-delay:.22s}.hanyang-bgm__meter i:nth-child(3){animation-delay:.47s}
.hanyang-bgm.is-playing .hanyang-bgm__meter i{animation-play-state:running;opacity:.95}
@keyframes bgm-meter{0%,100%{height:4px}35%{height:16px}68%{height:10px}}
.hanyang-bgm__vol{height:39px;display:flex;gap:6px;align-items:center;padding:0 10px 0 3px;border-left:1px solid rgba(239,202,147,.16);color:#bca788;font-size:10px}
.hanyang-bgm__vol label{font-size:13px;line-height:1;color:#e0c39b}
.hanyang-bgm__vol input{width:54px;accent-color:#d5aa70;height:20px;cursor:pointer}
.hanyang-bgm__toggle:focus-visible,.hanyang-bgm__vol input:focus-visible{outline:2px solid #efc788;outline-offset:2px;border-radius:16px}
@media(max-width:860px){.hanyang-bgm{bottom:calc(80px + env(safe-area-inset-bottom));right:14px}.hanyang-bgm__toggle{padding:8px 10px}.hanyang-bgm__vol input{width:45px}}
@media(max-width:390px){.hanyang-bgm__text small{display:none}.hanyang-bgm__toggle{gap:5px}.hanyang-bgm__vol{padding-right:7px}.hanyang-bgm__vol input{width:38px}}
@media(prefers-reduced-motion:reduce){.hanyang-bgm__meter i{animation:none!important}}
/* On phones, keep the music player compact and out of the lower-page content. */
@media (max-width:860px){
  .hanyang-bgm{top:calc(78px + env(safe-area-inset-top));right:12px;bottom:auto;padding:3px;border-radius:20px;max-width:170px}
  .hanyang-bgm__toggle{min-height:32px;padding:6px 9px;gap:6px}
  .hanyang-bgm__text small{display:none}
  .hanyang-bgm__text strong{font-size:11px}
  .hanyang-bgm__symbol{width:16px;height:18px;font-size:16px}
  .hanyang-bgm__meter{min-width:10px;margin-left:0;gap:2px}
  .hanyang-bgm__vol{display:none}
}
