@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ========== AI 音声UI ========== */

.ai-audio-ui {
  max-width: 1200px;
  margin: 0 auto;
  font-family: system-ui, sans-serif;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.columns-container {
  position: relative;
}

.columns-scroll {
  position: relative;
  height: 500px;
  overflow-y: auto;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fafafa;
  z-index: 1;
}

.current-time-line {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: red;
  z-index: 10;
  pointer-events: none;
  transform: translateY(-1px);
}

.columns-wrapper {
  display: flex;
  gap: 8px;
  padding: 12px;
}

.column {
  flex: 1;
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.column h3 {
  text-align: center;
  padding: 8px;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.play-control-bar {
  position: sticky;
  bottom: 60px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  background: #fff;
  border-top: 1px solid #ddd;
  z-index: 40;
}

.play-control-bar button {
  padding: 6px 14px;
  background: #28a745;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

.add-memo-bar {
  position: sticky;
  bottom: 0;
  display: flex;
  gap: 8px;
  background: #fff;
  padding: 8px;
  border-top: 2px solid #ddd;
  z-index: 40;
}

.add-memo-btn {
  width: 100%;
  padding: 10px 0;
  background: #4099ff;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

.timeline-and-memos {
  display: flex;
  gap: 6px;
  position: relative;
}

.v-timeline {
  width: 56px;
  position: relative;
  font-size: 11px;
  color: #555;
  cursor: pointer;
}

.tick {
  position: absolute;
  left: 0;
}

.tick-label {
  position: absolute;
  left: 0;
  transform: translateY(-1px); /* ← ここを調整して基準線と揃える */
  font-size: 11px;
  color: #555;
  cursor: pointer;
}

.memo-stack {
  flex: 1;
  position: relative;
}

.memo-item {
  position: absolute;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
}

.memo-time {
  font-size: 12px;
  margin-bottom: 6px;
}

.memo-item textarea {
  width: 100%;
  height: calc(100% - 26px);
  resize: vertical;
}

.memo-close-btn {
  position: absolute;
  top: 6px;
  right: 6px;
  border: none;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  color: #888;
}
