.sfs-player{--sfs-yellow:#ffcc00;--sfs-ink:#30363c;--sfs-muted:#636a70;--sfs-line:#e1e4e6;--sfs-navy:#243442;max-width:1140px;margin:48px auto;color:var(--sfs-ink);font-family:inherit;font-size:16px;line-height:1.6;text-align:left;color-scheme:light}
.sfs-player *{box-sizing:border-box}
.sfs-player .sfs-heading{max-width:680px;margin-bottom:30px}
.sfs-player .sfs-eyebrow{display:block;font-size:12px;letter-spacing:2px;font-weight:700;margin-bottom:12px;color:#59646d}
.sfs-player h2{font-family:inherit;font-size:clamp(30px,3.5vw,44px);font-weight:700;line-height:1.15;letter-spacing:-1.2px;color:var(--sfs-ink);margin:0 0 18px;text-transform:none}
.sfs-player p{margin:0}
.sfs-player .sfs-heading p{font-size:17px;color:var(--sfs-muted);line-height:1.7}
.sfs-player .sfs-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);border:1px solid var(--sfs-line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 35px #24344208}
.sfs-player .sfs-settings{padding:32px}
.sfs-player fieldset{margin:0;padding:0;border:0;min-width:0}
.sfs-player legend{float:none;width:auto;padding:0;margin:0 0 20px;font-size:17px;font-weight:700;line-height:1.5;color:var(--sfs-ink)}
.sfs-player .sfs-step{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:7px;border-radius:50%;background:#f0f2f3;font-size:13px}
.sfs-player button{font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer;box-shadow:none;text-decoration:none;transition:background .15s,border-color .15s;min-height:44px}
.sfs-player button:disabled{cursor:wait;opacity:.6}
.sfs-player button:focus-visible,.sfs-player a:focus-visible,.sfs-player input:focus-visible{outline:3px solid #1274b8;outline-offset:4px}
.sfs-player .sfs-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:30px}
.sfs-player .sfs-source-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid var(--sfs-line);background:#fff;color:var(--sfs-ink);border-radius:6px;padding:15px 6px;font-size:13px;line-height:1.4;min-height:95px}
.sfs-player .sfs-source-grid button:hover{background:#f7f8f8;border-color:#9ba4ac}
.sfs-player .sfs-source-grid button[aria-pressed=true]{border:2px solid #bc9800;background:#fffae6;padding:14px 5px;font-weight:700}
.sfs-player svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.sfs-player .sfs-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sfs-player .sfs-class-grid button{border:1px solid var(--sfs-line);border-radius:5px;background:#fff;color:var(--sfs-ink);padding:12px 5px;line-height:1.5}
.sfs-player .sfs-class-grid button:hover{background:#f4f5f6;border-color:#9ba4ac}
.sfs-player .sfs-class-grid button[aria-pressed=true]{background:var(--sfs-navy);border-color:var(--sfs-navy);color:#fff}
.sfs-player .sfs-class-grid strong{display:block;font-size:14px}
.sfs-player .sfs-class-grid button span{display:block;font-size:12px;margin-top:2px}
.sfs-player .sfs-hint{font-size:12px;line-height:1.6;color:var(--sfs-muted);margin-top:15px}
.sfs-player .sfs-listening{background:var(--sfs-navy);color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.sfs-player .sfs-listening-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:1.5px;color:#d2dce3}
.sfs-player .sfs-state{font-size:11px;letter-spacing:0;background:#ffffff12;border:1px solid #ffffff30;border-radius:30px;padding:3px 9px}
.sfs-player .sfs-wave{height:85px;display:flex;align-items:center;justify-content:center;gap:5px;margin:20px 0;color:var(--sfs-yellow)}
.sfs-player .sfs-wave i{display:block;width:4px;height:22%;border-radius:3px;background:currentColor;transform:scaleY(.65)}
.sfs-player .sfs-wave i:nth-child(3n){height:50%;animation-delay:-.3s}
.sfs-player .sfs-wave i:nth-child(4n){height:78%;animation-delay:-.6s}
.sfs-player .sfs-wave i:nth-child(5n){height:40%;animation-delay:-.9s}
.sfs-player .sfs-wave i:nth-child(7n){height:100%;animation-delay:-1.2s}
.sfs-player.is-playing .sfs-wave i{animation-name:sfs-wave;animation-duration:1.3s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
@keyframes sfs-wave{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
.sfs-player h3{font-family:inherit;font-size:25px;font-weight:700;line-height:1.2;letter-spacing:-.4px;color:#fff;margin:0 0 9px;text-transform:none}
.sfs-player .sfs-current-level{font-size:14px;color:#d2dce3;min-height:25px;margin-bottom:24px}
.sfs-player .sfs-play{display:flex;gap:10px;align-items:center;justify-content:center;width:100%;padding:14px 12px;border:0;border-radius:5px;color:#202b34;background:var(--sfs-yellow);font-weight:700;font-size:15px}
.sfs-player .sfs-play:hover{background:#ffdc4b}
.sfs-player .sfs-transport{display:flex;justify-content:space-between;align-items:center;margin:6px 0 16px;font-size:12px;color:#d2dce3;font-variant-numeric:tabular-nums}
.sfs-player .sfs-transport button{padding:6px 0;border:0;color:#d2dce3;background:transparent;font-size:12px}
.sfs-player .sfs-transport button:hover{color:#fff;text-decoration:underline}
.sfs-player .sfs-volume{display:flex;align-items:center;gap:10px;font-size:12px;color:#d2dce3}
.sfs-player .sfs-volume input{width:100%;min-width:35px;height:24px;margin:0;padding:0;accent-color:var(--sfs-yellow);cursor:pointer}
.sfs-player .sfs-volume output{min-width:35px;text-align:right;color:#fff;font-size:12px;white-space:nowrap}
.sfs-player .sfs-listen-tip{font-size:12px;line-height:1.7;color:#d2dce3;margin-top:15px}
.sfs-player .sfs-status{font-size:12px;color:#ffdf70;margin-top:12px;min-height:38px;line-height:1.6}
.sfs-player .sfs-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-bottom:23px;border-bottom:1px solid var(--sfs-line)}
.sfs-player .sfs-footer strong{font-size:16px;font-weight:700}
.sfs-player .sfs-footer p{font-size:13px;color:var(--sfs-muted);margin-top:4px}
.sfs-player .sfs-contact{display:flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0;color:var(--sfs-ink);background:var(--sfs-yellow);padding:13px 18px;min-height:44px;text-decoration:none;border-radius:4px;font-size:13px;font-weight:700}
.sfs-player .sfs-contact:hover{background:#ffe166;color:#202b34}
.sfs-player .sfs-disclaimer{margin-top:16px;color:var(--sfs-muted);font-size:11px;line-height:1.7}
@media(max-width:800px){.sfs-player .sfs-card{grid-template-columns:1fr}.sfs-player .sfs-listening{padding:26px}.sfs-player .sfs-wave{height:55px;margin:12px 0}.sfs-player .sfs-footer{flex-direction:column;align-items:flex-start}.sfs-player .sfs-settings{padding:25px}.sfs-player .sfs-source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sfs-player .sfs-status{min-height:20px}}
@media(max-width:420px){.sfs-player{margin:30px auto}.sfs-player .sfs-settings,.sfs-player .sfs-listening{padding:20px}.sfs-player .sfs-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sfs-player .sfs-source-grid button:last-child{grid-column:1/-1;flex-direction:row;min-height:60px}.sfs-player legend{font-size:15px}.sfs-player .sfs-contact{width:100%}}
@media(prefers-reduced-motion:reduce){.sfs-player.is-playing .sfs-wave i{animation:none}.sfs-player button{transition:none}}
