@charset "UTF-8";

.sound-player-section { margin-top: clamp(46px, 6vw, 68px); }
.sound-player-heading > span { display: block; margin-bottom: 7px; color: #2174aa; font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.sound-player-heading h2 { margin: 0; color: #0b3157; font-size: clamp(23px, 2.4vw, 31px); line-height: 1.45; letter-spacing: -.03em; }
.sound-player-heading p { max-width: 47em; margin: 12px 0 0; color: #526c80; font-size: 13px; line-height: 1.85; }

.sound-player { position: relative; overflow: hidden; margin-top: 24px; padding: clamp(22px, 3.5vw, 32px); color: #eaf6ff; background: linear-gradient(135deg, #0a2d4c 0%, #124f78 100%); border-radius: 12px; box-shadow: 0 16px 34px rgba(9,48,78,.15); }
.sound-player .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sound-player::after { position: absolute; top: -90px; right: -70px; width: 230px; height: 230px; background: radial-gradient(circle, rgba(111,203,255,.18), transparent 67%); border-radius: 50%; pointer-events: none; content: ""; }
.sound-player-track { position: relative; z-index: 1; display: grid; gap: 4px; }
.sound-player-track > span { color: #8ed3fa; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.sound-player-track strong { color: #fff; font-size: clamp(17px, 2vw, 21px); line-height: 1.5; }
.sound-player-track small { color: #bdd9e9; font-size: 10px; line-height: 1.6; }

.sound-player-analyser { position: relative; z-index: 1; overflow: hidden; height: 150px; margin: 22px 0 19px; background: rgba(4,31,51,.28); border: 1px solid rgba(163,216,246,.18); border-radius: 8px; }
.sound-player-analyser canvas { display: block; width: 100%; height: 100%; }
.sound-player-analyser p { position: absolute; top: 13px; right: 14px; display: grid; gap: 2px; margin: 0; padding: 7px 10px; background: rgba(5,35,57,.76); border: 1px solid rgba(177,224,248,.19); border-radius: 5px; text-align: right; }
.sound-player-analyser p span { color: #aed6eb; font-size: 9px; }
.sound-player-analyser p strong { color: #fff; font-size: 14px; font-variant-numeric: tabular-nums; }

.sound-player-controls { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(220px, 1fr) auto; gap: 18px; align-items: center; }
.sound-player-toggle { display: inline-flex; min-width: 88px; min-height: 44px; justify-content: center; align-items: center; gap: 9px; padding: 9px 15px; color: #0c3b5e; background: #fff; border: 0; border-radius: 7px; box-shadow: 0 4px 0 rgba(4,28,46,.28); cursor: pointer; font: inherit; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.sound-player-toggle:hover { background: #e9f7ff; transform: translateY(-1px); box-shadow: 0 5px 0 rgba(4,28,46,.28); }
.sound-player-toggle:active { transform: translateY(2px); box-shadow: 0 2px 0 rgba(4,28,46,.28); }
.sound-player-toggle:focus-visible { outline: 3px solid #90d8ff; outline-offset: 3px; }
.sound-player-toggle i { width: 14px; font-size: 15px; font-style: normal; line-height: 1; text-align: center; }
.sound-player-toggle strong { font-size: 12px; }
.sound-player-toggle[disabled] { opacity: .55; cursor: not-allowed; }

.sound-player-timeline { display: grid; grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 8px; align-items: center; }
.sound-player-timeline > span { color: #d6ebf7; font-size: 10px; font-variant-numeric: tabular-nums; text-align: center; }
.sound-player input[type="range"] { width: 100%; height: 24px; margin: 0; accent-color: #72ccfa; cursor: pointer; }
.sound-player input[type="range"][disabled] { opacity: .52; cursor: wait; }
.sound-player input[type="range"]:focus-visible { outline: 3px solid rgba(144,216,255,.55); outline-offset: 2px; border-radius: 4px; }
.sound-player-volume { display: grid; grid-template-columns: auto 82px; gap: 8px; align-items: center; }
.sound-player-volume > span { color: #d6ebf7; font-size: 10px; font-weight: 800; }
.sound-lab { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(210px, .75fr); gap: 18px; margin-top: 21px; padding-top: 21px; border-top: 1px solid rgba(175,216,238,.2); }
.sound-lab-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.sound-lab-editor label { display: grid; min-width: 0; gap: 6px; }
.sound-lab-editor label > span { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; color: #d6ebf7; font-size: 10px; font-weight: 800; }
.sound-lab-editor output { color: #8ed3fa; font-size: 9px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sound-lab-select { grid-template-columns: auto minmax(0, 1fr); align-items: center; }
.sound-lab-select select { min-height: 38px; padding: 6px 30px 6px 10px; color: #123e60; background: #f4fbff; border: 1px solid #acd3e9; border-radius: 5px; font: inherit; font-size: 11px; font-weight: 750; }
.sound-lab-select select:focus-visible { outline: 3px solid rgba(144,216,255,.55); outline-offset: 2px; }
.sound-lab-analysis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.sound-lab-analysis div { min-width: 0; padding: 11px 12px; background: rgba(237,248,255,.09); border: 1px solid rgba(184,222,243,.13); border-radius: 6px; }
.sound-lab-analysis dt { color: #a9ccdf; font-size: 8px; font-weight: 800; line-height: 1.45; }
.sound-lab-analysis dd { overflow: hidden; margin: 4px 0 0; color: #fff; font-size: 12px; font-weight: 850; font-variant-numeric: tabular-nums; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.sound-player-status { position: relative; z-index: 1; margin: 12px 0 0; color: #b9d7e7; font-size: 10px; line-height: 1.65; }
.sound-player-note { margin: 11px 0 0; color: #6a8091; font-size: 10px; line-height: 1.7; }

@media (max-width: 760px) {
  .sound-player-section { margin-top: 40px; }
  .sound-player { padding: 20px 17px; border-radius: 9px; }
  .sound-player-heading p { font-size: 12px; }
  .sound-player-analyser { height: 130px; margin: 18px 0 15px; }
  .sound-player-analyser p { top: 9px; right: 9px; }
  .sound-player-controls { grid-template-columns: auto minmax(0, 1fr); gap: 14px 12px; }
  .sound-player-toggle { min-width: 82px; }
  .sound-player-timeline { grid-template-columns: 31px minmax(0, 1fr) 31px; gap: 5px; }
  .sound-player-volume { grid-column: 1 / -1; grid-template-columns: auto minmax(0, 150px); }
  .sound-lab { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 18px; padding-top: 18px; }
  .sound-lab-editor { grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .sound-lab-select { grid-template-columns: auto minmax(0, 1fr); }
  .sound-lab-analysis { gap: 7px; }
  .sound-lab-analysis div { padding: 10px; }
  .sound-player-status { margin-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .sound-player-toggle { transition: none; }
}
