/* SRT Plugin — หน้า /srt · โหมดมืดตาม html[data-site-theme="dark"] ของเว็บ */

.srt-main {
  --srt-surface: #fff;
  --srt-sunken: #f6f7f8;
  --srt-line: #e3e5e8;
  --srt-line-strong: #c9cdd2;
  --srt-text: var(--text-primary, #171717);
  --srt-muted: var(--text-secondary, #525252);
  --srt-faint: #8a9099;
  --srt-accent: var(--primary-blue, #2563eb);
  --srt-accent-hover: var(--primary-blue-hover, #1d4ed8);
  --srt-accent-soft: rgba(37, 99, 235, .06);
  --srt-warn-bg: #fff8eb;
  --srt-warn-line: #f2d49b;
  --srt-warn-text: #8a5300;
  --srt-err-bg: #fdf0f0;
  --srt-err-line: #f1c4c4;
  --srt-err-text: #a12626;
  --srt-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  min-height: 60vh;
}

html[data-site-theme="dark"] .srt-main {
  --srt-surface: #1b1d21;
  --srt-sunken: #15171a;
  --srt-line: #2e3238;
  --srt-line-strong: #41464e;
  --srt-faint: #7d848e;
  --srt-accent-soft: rgba(96, 165, 250, .08);
  --srt-warn-bg: #2a2214;
  --srt-warn-line: #5a4520;
  --srt-warn-text: #f3c675;
  --srt-err-bg: #2b1819;
  --srt-err-line: #5c2a2c;
  --srt-err-text: #f3a3a3;
}

/* ── หัวหน้า ── */
.srt-head {
  margin-bottom: 1.5rem;
}

.srt-title {
  font-size: clamp(1.35rem, 3.6vw, 1.7rem);
  font-weight: 600;
  color: var(--srt-text);
  margin-bottom: .35rem;
}

.srt-ext {
  font-family: var(--srt-mono);
  font-size: .8em;
  font-weight: 500;
  color: var(--srt-accent);
}

.srt-lead {
  color: var(--srt-muted);
  font-size: .95rem;
  margin: 0;
  max-width: 34rem;
}

/* ── แท็บ ── */
.srt-tabs {
  display: flex;
  gap: 1.5rem;
  border-bottom: 1px solid var(--srt-line);
  margin-bottom: 1.25rem;
}

.srt-tab {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  padding: .6rem 0;
  color: var(--srt-muted);
  font: inherit;
  font-size: .95rem;
  cursor: pointer;
}

.srt-tab:hover { color: var(--srt-text); }

.srt-tab[aria-selected="true"] {
  color: var(--srt-text);
  font-weight: 600;
  border-bottom-color: var(--srt-accent);
}

.srt-tab:focus-visible {
  outline: 2px solid var(--srt-accent);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ── อัปโหลด ── */
.srt-drop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  padding: 2.25rem 1rem;
  border: 1.5px dashed var(--srt-line-strong);
  border-radius: 10px;
  background: var(--srt-surface);
  text-align: center;
  cursor: pointer;
  transition: border-color .15s, background-color .15s;
}

.srt-drop:hover,
.srt-drop.is-over,
.srt-drop:focus-within {
  border-color: var(--srt-accent);
  background: var(--srt-accent-soft);
}

.srt-drop.is-busy {
  pointer-events: none;
  opacity: .7;
}

.srt-drop-icon {
  font-size: 1.25rem;
  color: var(--srt-faint);
  margin-bottom: .25rem;
}

.srt-drop-main {
  color: var(--srt-text);
  font-size: .95rem;
}

.srt-drop-main u {
  color: var(--srt-accent);
  text-underline-offset: 3px;
}

.srt-drop-sub {
  color: var(--srt-faint);
  font-size: .8rem;
}

/* ── ตัวอย่างตาราง ── */
.srt-format {
  margin-top: 1.25rem;
}

.srt-format-title {
  font-size: .85rem;
  font-weight: 600;
  color: var(--srt-muted);
  margin-bottom: .5rem;
}

.srt-sheet {
  border: 1px solid var(--srt-line);
  border-radius: 6px;
  overflow: hidden;
  font-size: .8rem;
  background: var(--srt-surface);
}

.srt-sheet-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr);
}

.srt-sheet-row + .srt-sheet-row { border-top: 1px solid var(--srt-line); }

.srt-sheet-row span {
  padding: .35rem .6rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--srt-text);
}

.srt-sheet-row span + span { border-left: 1px solid var(--srt-line); }

.srt-sheet-row span:first-child,
.srt-sheet-head span {
  background: var(--srt-sunken);
  color: var(--srt-faint);
  text-align: center;
  font-size: .75rem;
}

.srt-sheet-row:not(.srt-sheet-head) span:nth-child(2),
.srt-sheet-row:not(.srt-sheet-head) span:nth-child(3) {
  font-family: var(--srt-mono);
  font-size: .76rem;
}

.srt-sheet-row:nth-child(2) span:not(:first-child) {
  color: var(--srt-faint);
  font-family: inherit;
}

.srt-note {
  font-size: .8rem;
  color: var(--srt-faint);
  margin: .6rem 0 0;
}

.srt-note a { color: var(--srt-accent); }

/* ── ข้อความ ── */
.srt-label {
  display: block;
  font-weight: 600;
  font-size: .9rem;
  color: var(--srt-text);
  margin-bottom: .4rem;
}

.srt-label span {
  font-weight: 400;
  color: var(--srt-faint);
  margin-left: .4rem;
}

.srt-textarea {
  display: block;
  width: 100%;
  padding: .75rem .85rem;
  border: 1px solid var(--srt-line-strong);
  border-radius: 8px;
  background: var(--srt-surface);
  color: var(--srt-text);
  font: inherit;
  font-size: 16px;
  line-height: 1.7;
  resize: vertical;
}

.srt-textarea:focus,
.srt-duration input:focus {
  outline: none;
  border-color: var(--srt-accent);
  box-shadow: 0 0 0 3px var(--srt-accent-soft);
}

.srt-text-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .75rem;
}

.srt-duration {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .9rem;
  color: var(--srt-muted);
}

.srt-duration input {
  width: 4.5rem;
  padding: .4rem .5rem;
  border: 1px solid var(--srt-line-strong);
  border-radius: 6px;
  background: var(--srt-surface);
  color: var(--srt-text);
  font-family: var(--srt-mono);
  font-size: 16px;
  text-align: center;
}

/* ── ปุ่ม ── */
.srt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 40px;
  padding: .5rem 1.1rem;
  border-radius: 8px;
  border: 1px solid transparent;
  font: inherit;
  font-size: .9rem;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
}

.srt-btn-primary {
  background: var(--srt-accent);
  color: #fff;
}

.srt-btn-primary:hover { background: var(--srt-accent-hover); }

.srt-btn-ghost {
  background: transparent;
  border-color: var(--srt-line-strong);
  color: var(--srt-text);
}

.srt-btn-ghost:hover { background: var(--srt-sunken); }

.srt-btn:focus-visible {
  outline: 2px solid var(--srt-accent);
  outline-offset: 2px;
}

/* ── แจ้งเตือน ── */
.srt-alert {
  margin-top: 1rem;
  padding: .7rem .9rem;
  border: 1px solid var(--srt-err-line);
  border-radius: 8px;
  background: var(--srt-err-bg);
  color: var(--srt-err-text);
  font-size: .9rem;
}

/* ── ผลลัพธ์ ── */
.srt-result {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--srt-line);
}

.srt-result-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .85rem;
}

.srt-result-title {
  font-family: var(--srt-mono);
  font-size: 1rem;
  font-weight: 600;
  color: var(--srt-text);
  margin: 0;
  word-break: break-all;
}

.srt-result-meta {
  font-size: .85rem;
  color: var(--srt-muted);
  margin: .15rem 0 0;
}

.srt-result-actions {
  display: flex;
  gap: .5rem;
}

.srt-fps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem .75rem;
  margin: 0 0 .85rem;
  padding: .6rem .9rem;
  border: 1px solid var(--srt-line);
  border-left: 3px solid var(--srt-accent);
  border-radius: 8px;
  background: var(--srt-surface);
  font-size: .85rem;
  color: var(--srt-muted);
}

.srt-fps label { flex: 1 1 16rem; }

.srt-fps select {
  padding: .35rem 2rem .35rem .6rem;
  border: 1px solid var(--srt-line-strong);
  border-radius: 6px;
  background-color: var(--srt-surface);
  color: var(--srt-text);
  font-family: var(--srt-mono);
  font-size: 16px;
}

.srt-fps[hidden] { display: none; }

.srt-note code {
  font-family: var(--srt-mono);
  font-size: .95em;
  color: var(--srt-muted);
  background: var(--srt-sunken);
  padding: 0 .3em;
  border-radius: 3px;
}

.srt-warn {
  list-style: none;
  margin: 0 0 .85rem;
  padding: .6rem .9rem;
  border: 1px solid var(--srt-warn-line);
  border-radius: 8px;
  background: var(--srt-warn-bg);
  color: var(--srt-warn-text);
  font-size: .85rem;
}

.srt-warn li + li { margin-top: .3rem; }

.srt-preview {
  max-height: 22rem;
  overflow: auto;
  margin: 0;
  padding: .9rem 1rem;
  border: 1px solid var(--srt-line);
  border-radius: 8px;
  background: var(--srt-sunken);
  color: var(--srt-text);
  font-family: var(--srt-mono);
  font-size: .82rem;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

@media (max-width: 575.98px) {
  .srt-result-actions { width: 100%; }
  .srt-result-actions .srt-btn { flex: 1; }
  .srt-text-bar .srt-btn { width: 100%; }
}
