.tsp-bar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%) translateY(8px);z-index:1200;width:min(560px,calc(100vw - 24px));display:flex;align-items:flex-end;gap:.5rem;padding:.55rem .7rem .6rem;background:hsla(0,0%,100%,.62);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border:1px solid hsla(0,0%,100%,.55);border-radius:16px;box-shadow:0 10px 30px rgba(6,74,120,.22);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.tsp-bar.is-visible{opacity:.9;pointer-events:auto;transform:translateX(-50%) translateY(0)}.tsp-bar.is-visible:hover{opacity:1}.tsp-char{width:56px;height:auto;margin-top:-22px;flex-shrink:0;filter:drop-shadow(0 3px 5px rgba(6,74,120,.25));pointer-events:none}.tsp-main{flex:1;min-width:0}.tsp-top{display:flex;align-items:center;gap:.5rem}.tsp-play{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:none;background:linear-gradient(135deg,#064a78,#0a6fb5);color:#fff;font-size:.95rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}.tsp-play:hover{filter:brightness(1.1)}@keyframes tsp-pulse{0%,to{box-shadow:0 0 0 0 rgba(10,111,181,.55)}50%{box-shadow:0 0 0 7px rgba(10,111,181,0)}}.tsp-bar.tsp-needtap .tsp-play{animation:tsp-pulse 1.25s infinite}.tsp-label{flex:1;min-width:0;font-size:.82rem;font-weight:700;color:#11324a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsp-time{flex-shrink:0;font-size:.72rem;color:#54707f;font-variant-numeric:tabular-nums}.tsp-seek{position:relative;height:22px;margin-top:.3rem;cursor:pointer;display:flex;align-items:center;touch-action:none}.tsp-seek:before{content:"";position:absolute;left:0;right:0;height:6px;border-radius:999px;background:#dceaf4}.tsp-seek-fill{position:relative;height:6px;width:0;border-radius:999px;background:linear-gradient(90deg,#0a6fb5,#4aa3d6);pointer-events:none}.tsp-seek-knob{position:absolute;right:-7px;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #0a6fb5;transform:translateY(-50%);box-shadow:0 1px 3px rgba(6,74,120,.4);transition:transform .1s ease}.tsp-seek:hover .tsp-seek-knob{transform:translateY(-50%) scale(1.15)}.tsp-seek.is-dragging .tsp-seek-knob{transform:translateY(-50%) scale(1.45)}.tsp-actions{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex-shrink:0}.tsp-back{font-size:.72rem;font-weight:700;color:#fff;background:#f4b740;color:#4a3500;padding:.28rem .55rem;border-radius:999px;text-decoration:none;white-space:nowrap}.tsp-back:hover{filter:brightness(1.05)}.tsp-close{width:22px;height:22px;border-radius:50%;border:1px solid #cfe3f1;background:#fff;color:#54707f;font-size:.7rem;line-height:1;cursor:pointer;touch-action:manipulation}.tsp-close:hover{background:#f0f6fb}@media (max-width:480px){.tsp-bar{bottom:8px;gap:.4rem;padding:.5rem .55rem .55rem}.tsp-char{width:46px;margin-top:-18px}.tsp-label{font-size:.76rem}.tsp-back,.tsp-time{font-size:.66rem}.tsp-back{padding:.24rem .45rem}}.ts-play-btn{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:.92rem;color:var(--ts-blue-deep,#064a78);background:#eaf4fb;border:1px solid #bcdcef;border-radius:999px;padding:.55rem 1rem;width:100%;cursor:pointer;margin:0 0 .6rem;transition:background .15s ease,color .15s ease;touch-action:manipulation}.ts-play-btn:hover{background:#d8ecf8}.ts-play-btn.is-playing{background:linear-gradient(135deg,#064a78,#0a6fb5);color:#fff;border-color:transparent}