.epic-index { position: relative; padding-top: 16px; }
.epic-item-entry { position: relative; }
.epic-item-entry:has(.epic-import-resume) .epic-item-row { padding-bottom: 42px; }
.epic-import-resume { position: absolute; bottom: 12px; left: 18px; color: var(--epic-blue); background: none; border: 0; padding: 0; font-size: 13px !important; }
.epic-import-error p { margin: 0; }
.epic-import-error .epic-actions { margin-top: 14px; }
.epic-import-zone { margin-top: 24px; padding: 20px; border: 1px dashed #aecdf3; background: #fff; scroll-margin-top: 24px; }
.epic-import-prompt { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.epic-import-prompt p { margin: 0; color: var(--epic-muted); line-height: 1.75; overflow-wrap: anywhere; }
.epic-import-prompt label { position: relative; flex-shrink: 0; }
.epic-import-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.epic-import-prompt label:has(input:disabled) { opacity: .55; cursor: wait; }
.epic-import-progress { display: block; width: 100%; height: 6px; margin-top: 18px; accent-color: var(--epic-blue); }
/* Chrome ignores accent-color on <progress> and paints it green, so draw the bar ourselves in light blue. */
.epic-import-progress, .epic-upload-progress { appearance: none; -webkit-appearance: none; height: 6px; border: 0; border-radius: 999px; background: #e3eef9; overflow: hidden; }
.epic-import-progress::-webkit-progress-bar, .epic-upload-progress::-webkit-progress-bar { background: #e3eef9; border-radius: 999px; }
.epic-import-progress::-webkit-progress-value, .epic-upload-progress::-webkit-progress-value { background: #38a8f0; border-radius: 999px; }
.epic-import-progress::-moz-progress-bar, .epic-upload-progress::-moz-progress-bar { background: #38a8f0; border-radius: 999px; }
.epic-import-status { margin: 12px 0 0; line-height: 1.7; }
.epic-import-status:empty { display: none; }
.epic-import-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.epic-import-actions:has(> :not([hidden])) { margin-top: 12px; }
.epic-import-actions .epic-text-link { border: 0; background: none; padding: 0; }
.epic-import-choices { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.epic-import-page { position: relative; }
.epic-import-page .epic-form-page { width: min(100%, 860px); }
.epic-paste { margin-top: 36px; scroll-margin-top: 24px; }
.epic-paste h2 { font-size: 20px; font-weight: 600; margin-bottom: 16px; }
.epic-import-page.is-dragging::after { content: "ここにドロップして取り込む"; position: absolute; inset: 12px; z-index: 8; display: grid; place-items: center; padding: 24px; pointer-events: none; color: var(--epic-blue); font-size: 20px; font-weight: 600; text-align: center; border: 2px dashed var(--epic-blue); border-radius: 12px; background: rgba(238, 246, 255, .94); }
@media (max-width: 640px) {
  .epic-index { padding-top: 12px; }
  .epic-import-zone { padding: 18px 16px; }
  .epic-import-prompt { align-items: stretch; flex-direction: column; gap: 14px; }
  .epic-import-prompt label { text-align: center; }
  .epic-import-choices { flex-direction: column-reverse; align-items: stretch; gap: 14px; }
  .epic-import-choices .epic-text-link { justify-content: center; }
  .epic-item-row time { flex-shrink: 0; font-size: 12px; }
}
.epic-transcript-copy { margin: 0 0 16px; color: var(--epic-muted, #596579); font-size: 14px; }
.epic-transcript-copy > summary { width: fit-content; }
.epic-transcript-copy > p { margin: 10px 0; line-height: 1.7; }
.epic-transcript-copy form { text-align: right; }
/* On the list the whole page accepts drops; the zone only shows upload progress and status. */
.epic-import-zone.is-compact { margin: 0; padding: 0; border: 0; background: transparent; }
.epic-import-zone.is-compact .epic-import-prompt { display: none; }
.epic-import-zone.is-compact:has(.epic-import-status:not(:empty), .epic-import-progress:not([hidden]), .epic-import-actions > :not([hidden])) { margin-top: 24px; padding: 20px; border: 1px solid var(--epic-line); background: #fff; }

.epic-create-workspace { width: min(100%, 860px); margin: 16px auto; }
.epic-create-workspace > .epic-import-zone { padding: 32px; }
.epic-create-workspace .epic-paste { padding: 24px; background: #fff; border: 1px solid var(--epic-line); }
@media (max-width: 640px) {
  .epic-create-workspace > .epic-import-zone, .epic-create-workspace .epic-paste { padding: 20px 16px; }
  .epic-create-workspace > h1 { font-size: clamp(20px, 6vw, 24px); }
}

.epic-import-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 12px 16px;
  border-radius: 8px;
  background: #eef1f5;
  color: #5d6d86;
  font-size: 14px;
  line-height: 1.6;
}
.epic-import-status-indicator { width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #8793a5; }
.epic-import-status.is-processing .epic-import-status-indicator { width: 12px; height: 12px; border: 2px solid #c5cedb; border-top-color: #5d6d86; background: transparent; animation: epic-import-status-spin 1s linear infinite; }
@keyframes epic-import-status-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .epic-import-status.is-processing .epic-import-status-indicator { animation: none; } }

.epic-drop-overlay { display: none; position: fixed; z-index: 25; pointer-events: none; align-items: center; justify-content: center; padding: 24px; border: 2px dashed #79a9e6; border-radius: 16px; background: rgb(242 247 255 / 92%); backdrop-filter: blur(3px); box-shadow: inset 0 0 0 6px rgb(255 255 255 / 65%); color: #1763bd; }
.epic-index.is-dragging .epic-drop-overlay { display: flex; }
.epic-drop-center { display: grid; justify-items: center; gap: 18px; text-align: center; }
.epic-drop-icon { display: grid; place-items: center; width: 80px; height: 80px; border: 1px solid #d1e2f7; border-radius: 22px; background: #fff; box-shadow: 0 8px 28px rgb(40 87 148 / 8%); }
.epic-drop-icon svg { width: 36px; height: 36px; }
.epic-drop-center strong { font-size: clamp(20px, 2.2vw, 26px); font-weight: 650; letter-spacing: .02em; }
