.audio-player { display: flex; align-items: center; gap: 14px; background: rgba(13,110,59,.05); border: 1px solid rgba(13,110,59,.22); 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; }
.audio-player:hover { border-color: rgba(13,110,59,.5); box-shadow: 0 4px 20px rgba(13,110,59,.12); }
.audio-player.ap-playing { border-color: var(--green-primary); background: rgba(13,110,59,.1); }
.ap-btn { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--green-primary); 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.12); transform: scale(1.07); }
.ap-info { flex: 1; min-width: 0; overflow: hidden; }
.ap-label { display: block; font-size: .78rem; font-weight: 600; color: var(--green-primary); margin-bottom: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.ap-bar-wrap { display: flex; align-items: center; gap: 10px; }
.ap-bar-bg { flex: 1; height: 4px; background: rgba(13,110,59,.15); border-radius: 4px; overflow: hidden; cursor: pointer; }
.ap-bar-fill { height: 100%; width: 0%; background: var(--green-primary); border-radius: 4px; transition: width .1s linear; }
.ap-time { font-size: .72rem; color: var(--text-secondary, #64748b); min-width: 30px; text-align: right; }

.audio-player--dark { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.3); max-width: 480px; margin-left: auto; margin-right: auto; }
.audio-player--dark:hover { border-color: rgba(255,255,255,.55); }
.audio-player--dark.ap-playing { background: rgba(255,255,255,.18); border-color: #fff; }
.audio-player--dark .ap-btn { background: #fff; color: var(--green-primary); }
.audio-player--dark .ap-label { color: #fff; }
.audio-player--dark .ap-bar-bg { background: rgba(255,255,255,.25); }
.audio-player--dark .ap-bar-fill { background: #fff; }
.audio-player--dark .ap-time { color: rgba(255,255,255,.75); }

.av-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(13,110,59,.4); border-radius: 16px; padding: .8rem 1rem; background: #10231a; color: #fff; box-shadow: 0 -12px 40px rgba(14,37,25,.3); }
.av-tour-bar.is-active { transform: translateY(0); }
.av-tour-bar > div { display: grid; gap: .15rem; min-width: 0; }
.av-tour-kicker { color: #7fd8a8; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.av-tour-bar strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
.av-tour-bar div > span:last-child { color: #a8c9b8; font-size: .72rem; }
.av-tour-bar nav { display: flex; gap: .4rem; flex-shrink: 0; }
.av-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; cursor: pointer; }
.av-tour-bar nav button:nth-child(2) { border-color: var(--green-primary); background: var(--green-primary); }

#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; touch-action: manipulation; user-select: none; }
#av-fab:hover { transform: scale(1.08); }
#av-fab:focus-visible { outline: 3px solid var(--green-primary); outline-offset: 3px; }
#av-fab[aria-disabled="true"] { opacity: .82; }

.btn-tour { display: inline-flex; align-items: center; gap: 7px; background: transparent; color: var(--green-primary); font-weight: 700; font-size: .84rem; padding: 9px 16px; border-radius: 8px; border: 2px solid var(--green-primary); cursor: pointer; white-space: nowrap; transition: background .2s, color .2s, transform .15s; animation: av-tour-pulse 2s ease-in-out infinite; }
.btn-tour:hover { background: var(--green-primary); color: #fff; animation: none; transform: translateY(-1px); }
.btn-tour.tour-running { background: #0a5230; color: #fff; border-color: #0a5230; animation: none; }
@keyframes av-tour-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(13,110,59,.4); }
  50% { box-shadow: 0 0 0 6px rgba(13,110,59,0); }
}

.toast { position: fixed; left: 50%; bottom: 90px; transform: translate(-50%, 12px); background: #10231a; color: #fff; padding: 10px 18px; border-radius: 10px; font-size: .82rem; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; z-index: 100000; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 992px) { .btn-tour-label { display: none; } .btn-tour { padding: 9px 10px; } }
@media (max-width: 640px) {
  .av-tour-bar { right: .7rem; bottom: .7rem; left: .7rem; align-items: stretch; flex-direction: column; }
  .av-tour-bar nav { justify-content: stretch; }
  .av-tour-bar nav button { flex: 1; }
  .audio-player { max-width: 100%; }
}
