.torendi-tts-player {margin: 28px 0; padding: 18px; border: 1px solid #d9dde3; border-radius: 14px; background: #f7f8fa; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06); color: #1e293b;}
.torendi-tts-player-inner {display: flex; align-items: center; gap: 16px;}
.torendi-tts-play {width: 56px; height: 56px; padding: 0; border: 0; border-radius: 999px; background: #111827; color: #ffffff; box-shadow: 0 6px 14px rgba(17, 24, 39, 0.22); cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform .15s ease, background .15s ease, box-shadow .15s ease, opacity .15s ease;}
.torendi-tts-play:hover {background: #000000; box-shadow: 0 8px 18px rgba(17, 24, 39, 0.28); transform: translateY(-1px);}
.torendi-tts-play:active {transform: scale(0.98);}
.torendi-tts-play:focus {outline: 2px solid #2271b1; outline-offset: 3px;}
.torendi-tts-play-icon {position: relative; display: block; width: 18px; height: 18px;}
.torendi-tts-play-icon::before, .torendi-tts-play-icon::after {content: ""; position: absolute;}
.torendi-tts-play-icon::before {left: 4px; top: 0; width: 0; height: 0; border-style: solid; border-width: 9px 0 9px 14px; border-color: transparent transparent transparent #ffffff;}
.torendi-tts-play.is-playing .torendi-tts-play-icon::before {left: 1px; top: 0; width: 5px; height: 18px; border: 0; border-radius: 1px; background: #ffffff;}
.torendi-tts-play.is-playing .torendi-tts-play-icon::after {left: 11px; top: 0; width: 5px; height: 18px; border-radius: 1px; background: #ffffff;}
.torendi-tts-main {flex: 1; min-width: 0;}
.torendi-tts-header {display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 10px;}
.torendi-tts-header strong {display: block; flex: 1; min-width: 0; font-size: 16px; font-weight: 700; line-height: 1.2; color: #1e293b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.torendi-tts-status {flex-shrink: 0; font-size: 12px; line-height: 1.3; color: #64748b; text-align: right; white-space: nowrap;}
.torendi-tts-progress {-webkit-appearance: none; appearance: none; width: 100%; height: 6px; margin: 0; border: 0; border-radius: 999px; background: transparent; cursor: pointer;}
.torendi-tts-progress:focus {outline: none;}
.torendi-tts-progress::-webkit-slider-runnable-track {height: 6px; border-radius: 999px; background: linear-gradient(to right, #111827 0%, #111827 calc(var(--progress-value, 0) * 1%), #d7dce3 calc(var(--progress-value, 0) * 1%), #d7dce3 100%);}
.torendi-tts-progress::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; width: 16px; height: 16px; margin-top: -5px; border: 2px solid #ffffff; border-radius: 50%; background: #111827; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);}
.torendi-tts-progress::-moz-range-track {height: 6px; border: 0; border-radius: 999px; background: #d7dce3;}
.torendi-tts-progress::-moz-range-progress {height: 6px; border-radius: 999px; background: #111827;}
.torendi-tts-progress::-moz-range-thumb {width: 16px; height: 16px; border: 2px solid #ffffff; border-radius: 50%; background: #111827; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);}
.torendi-tts-time {display: flex; align-items: center; justify-content: space-between; margin-top: 8px; font-size: 12px; font-weight: 500; color: #64748b;}
.torendi-tts-current, .torendi-tts-duration {letter-spacing: 0.02em;}
.torendi-tts-ad-stage {display: none; position: relative; width: 100%; aspect-ratio: 16 / 9; margin-top: 16px; border-radius: 12px; background: #000000; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);}
.torendi-tts-ad-container {position: absolute; inset: 0; width: 100%; height: 100%;}
.torendi-tts-ad-container video, .torendi-tts-ad-container iframe {width: 100% !important; height: 100% !important;}
.torendi-tts-ad-playing .torendi-tts-ad-stage {display: block;}
.torendi-tts-ad-playing .torendi-tts-progress {pointer-events: none; opacity: .55;}
.torendi-tts-ad-playing .torendi-tts-play {cursor: default; opacity: .92;}

@media (max-width: 640px) {
	.torendi-tts-player {padding: 16px; border-radius: 12px;}
	.torendi-tts-player-inner {align-items: flex-start; gap: 14px;}
	.torendi-tts-play {width: 52px; height: 52px;}
	.torendi-tts-header {display: block;}
	.torendi-tts-header strong {margin-bottom: 4px; font-size: 15px;}
	.torendi-tts-status {display: block; text-align: left; white-space: normal;}
}