.audio-player { display: flex; align-items: center; gap: 14px; background: rgba(91,71,224,.05); border: 1px solid rgba(91,71,224,.25); border-radius: .65rem; padding: 12px 18px; margin-bottom: 20px; max-width: 480px; min-width: 0; box-sizing: border-box; transition: box-shadow .2s, border-color .2s; font-family: Inter, system-ui, sans-serif; }
.dark .audio-player { background: rgba(91,71,224,.08); border-color: rgba(144,128,255,.28); }
.audio-player:hover { border-color: rgba(91,71,224,.55); box-shadow: 0 4px 20px rgba(91,71,224,.14); }
.audio-player.ap-playing { border-color: #5b47e0; background: rgba(91,71,224,.12); }
.dark .audio-player.ap-playing { border-color: #a78bfa; }
.ap-btn { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, #5B47E0, #2563EB 55%, #C026D3); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: filter .2s, transform .15s; }
.ap-btn:hover { filter: brightness(1.1); transform: scale(1.07); }
.ap-info { flex: 1; min-width: 0; overflow: hidden; }
.ap-label { display: block; font-size: .78rem; font-weight: 600; color: #5b47e0; margin-bottom: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.dark .ap-label { color: #a78bfa; }
.ap-bar-wrap { display: flex; align-items: center; gap: 10px; }
.ap-bar-bg { flex: 1; height: 4px; background: rgba(91,71,224,.15); border-radius: 4px; overflow: hidden; cursor: pointer; }
.dark .ap-bar-bg { background: rgba(255,255,255,.12); }
.ap-bar-fill { height: 100%; width: 0%; background: #5b47e0; border-radius: 4px; transition: width .1s linear; }
.dark .ap-bar-fill { background: #a78bfa; }
.ap-time { font-size: .72rem; color: #64748b; min-width: 30px; text-align: right; }
.dark .ap-time { color: #94a3b8; }
.opita-tour-bar { position: fixed; right: 1rem; bottom: 1rem; left: 1rem; z-index: 7999; display: flex; align-items: center; justify-content: space-between; gap: 1rem; transform: translateY(calc(100% + 2rem)); transition: transform .25s ease; border: 1px solid rgba(91,71,224,.35); border-radius: 16px; padding: .8rem 1rem; background: #0e1525; color: #fff; box-shadow: 0 -12px 40px rgba(14,21,37,.25); }
.opita-tour-bar.is-active { transform: translateY(0); }
.opita-tour-bar > div { display: grid; gap: .15rem; min-width: 0; }
.opita-tour-kicker { color: #a9a0ff; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.opita-tour-bar strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
.opita-tour-bar div > span:last-child { color: #94a3b8; font-size: .72rem; }
.opita-tour-bar nav { display: flex; gap: .4rem; flex-shrink: 0; }
.opita-tour-bar nav button { border: 1px solid rgba(255,255,255,.2); border-radius: 7px; padding: .5rem .7rem; background: rgba(255,255,255,.08); color: #fff; font-size: .76rem; font-weight: 700; }
.opita-tour-bar nav button:nth-child(2) { border-color: #5b47e0; background: #5b47e0; }
.opita-tour-bar nav select { border: 1px solid rgba(255,255,255,.2); border-radius: 7px; padding: .5rem .5rem; background: rgba(255,255,255,.08); color: #fff; font-size: .76rem; font-weight: 700; cursor: pointer; }
.opita-tour-bar nav select:focus-visible { outline: 2px solid #a9a0ff; outline-offset: 1px; }
#av-fab { position: fixed; right: 20px; bottom: 20px; width: 56px; height: 56px; border: 0; border-radius: 50%; background: #25D366; color: #fff; cursor: pointer; z-index: 99999; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0,0,0,.25); transition: transform .2s, box-shadow .2s, bottom .25s ease; touch-action: manipulation; user-select: none; }
body.opita-tour-active #av-fab { bottom: 110px; }
#av-fab:hover { transform: scale(1.08); }
#av-fab:focus-visible { outline: 3px solid #5b47e0; outline-offset: 3px; }
#av-fab[aria-disabled="true"] { opacity: .82; }
#av-fab-badge { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 10px; background: #E53935; color: #fff; font: 700 11px/20px Arial, sans-serif; text-align: center; display: none; align-items: center; justify-content: center; border: 2px solid #fff; pointer-events: none; }
.btn-tour { display: inline-flex; align-items: center; gap: 7px; background: transparent; color: #5b47e0; font-weight: 700; font-size: .84rem; padding: 9px 16px; border-radius: 8px; border: 2px solid #5b47e0; cursor: pointer; white-space: nowrap; transition: background .2s, color .2s, border-color .2s, transform .15s; animation: opita-tour-pulse 2s ease-in-out infinite; }
.dark .btn-tour { color: #a78bfa; border-color: #a78bfa; }
.btn-tour:hover { background: #5b47e0; color: #fff; animation: none; transform: translateY(-1px); }
.btn-tour.tour-running { background: #C026D3; color: #fff; border-color: #C026D3; animation: none; }
.btn-tour.tour-running:hover { background: #a8189f; border-color: #a8189f; }
@keyframes opita-tour-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(91,71,224,.4); border-color: #5b47e0; }
  50% { box-shadow: 0 0 0 6px rgba(91,71,224,0); border-color: #C026D3; color: #C026D3; }
}
@media (max-width: 992px) { .btn-tour-label { display: none; } .btn-tour { padding: 9px 10px; } }
@media (max-width: 640px) { .opita-tour-bar { right: .7rem; bottom: .7rem; left: .7rem; align-items: stretch; flex-direction: column; } .opita-tour-bar nav { justify-content: stretch; flex-wrap: wrap; } .opita-tour-bar nav button { flex: 1; } .opita-tour-bar nav select { flex: 1 0 100%; } .audio-player { max-width: 100%; } }
