/* Free subtitle tools (/subtitle-tools/, lib/subtitle_tools.php, js/subtitle-tools-app.js). Builds on theme.css and landing.css. */

.st-crumb { font-size: 14px; margin-bottom: 8px; opacity: .9; }
.st-crumb a { color: inherit; text-decoration: underline; }

.st-tool { background: #fff; border: 1px solid var(--sv-line, #e4e9f2); border-radius: 18px; padding: 22px; margin: -10px auto 30px;
    box-shadow: var(--sv-shadow, 0 10px 30px rgba(15, 23, 42, .07)); max-width: 1000px; }
.st-inputs { display: grid; gap: 16px; }
.st-inputs.st-two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.st-drop { position: relative; border: 2px dashed #b8c4dc; border-radius: 16px; background: #f6f8fd; padding: 22px 16px; text-align: center; transition: background .15s, border-color .15s; }
.st-drop.st-over { background: #eaf0ff; border-color: var(--sv-primary, #4f46e5); }
.st-drop.st-loaded { border-style: solid; border-color: #9fd8c2; background: #f4fbf8; }
.st-drop > .fa { font-size: 34px; color: #8d9bb8; }
.st-drop p { margin: 8px 0 12px; color: #26324a; }
.st-drop-label { position: absolute; top: 10px; left: 12px; width: 26px; height: 26px; border-radius: 8px; background: #eef2ff; color: var(--sv-primary-dark, #3730a3); font-weight: 800; line-height: 26px; }
.st-choose { cursor: pointer; margin: 0; }
.st-paste { margin-top: 12px; font-family: SFMono-Regular, Consolas, monospace; font-size: 13px; text-align: left; }
.st-file { margin-top: 12px; font-size: 14px; color: #2b3650; word-break: break-word; }
.st-file select { display: inline-block; width: auto; max-width: 160px; padding: 1px 4px; border: 1px solid #c9d3e6; border-radius: 6px; font-size: 13px; }
.st-muted { color: var(--sv-muted, #556179); }
.st-error, .st-status.st-bad { color: #b4233d; font-weight: 600; }

.st-options, .st-outbar { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: flex-end; margin-top: 18px; }
.st-options:empty { display: none; }
.st-options label, .st-outbar label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 600; color: #26324a; margin: 0; min-width: 200px; }
.st-options label.st-check, .st-outbar label.st-check { flex-direction: row; align-items: center; gap: 8px; font-weight: 500; min-width: 0; }
.st-outbar { padding-top: 16px; border-top: 1px solid var(--sv-line, #e4e9f2); }
.st-sync { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; width: 100%; }
.st-sync fieldset { border: 1px solid var(--sv-line, #e4e9f2); border-radius: 12px; padding: 10px 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.st-sync legend { font-size: 14px; font-weight: 800; width: auto; padding: 0 6px; margin: 0; }
.st-sync label { min-width: 0 !important; }

.st-status { margin-top: 14px; font-size: 14px; color: #2b3650; }
.st-status:empty { display: none; }
.st-result { margin-top: 14px; }
.st-result-head { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #26324a; }
.st-result-head small { opacity: .85; font-weight: 400; margin-left: 4px; }
.st-preview { font-family: SFMono-Regular, Consolas, monospace; font-size: 13px; background: #0f172a; color: #e2e8f0; border-radius: 12px; }
.st-preview[readonly] { background: #0f172a; }
.st-private { margin: 16px 0 0; font-size: 13px; color: var(--sv-muted, #556179); text-align: center; }

.st-group { margin-bottom: 26px; }
.st-group h3 { font-size: 19px; font-weight: 800; margin-bottom: 12px; }
.st-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.st-card { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--sv-line, #e4e9f2); border-radius: 14px; padding: 16px;
    color: #26324a; text-decoration: none !important; transition: transform .12s, box-shadow .12s; }
.st-card:hover { transform: translateY(-2px); box-shadow: var(--sv-shadow, 0 10px 30px rgba(15, 23, 42, .07)); }
.st-card .fa { font-size: 22px; color: var(--sv-primary, #4f46e5); }
.st-card b { font-size: 16px; }
.st-card span { font-size: 14px; color: var(--sv-muted, #556179); }
.st-pairs { justify-content: flex-start; margin-top: 12px; }
.st-cards:empty { display: none; }
.st-cards:empty + .st-pairs { margin-top: 0; }

.st-cta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.st-cta-card { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 16px; color: #fff !important; text-decoration: none !important;
    background: linear-gradient(135deg, #4f46e5, #7c3aed); box-shadow: var(--sv-shadow, 0 10px 30px rgba(15, 23, 42, .12)); transition: transform .12s; }
.st-cta-card:nth-child(2) { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
.st-cta-card:nth-child(3) { background: linear-gradient(135deg, #f43f5e, #f97316); }
.st-cta-card:hover { transform: translateY(-2px); }
.st-cta-card .fa { font-size: 26px; }
.st-cta-card b { font-size: 18px; }
.st-cta-card span { opacity: .92; font-size: 14px; flex: 1; }
.st-cta-card em { font-style: normal; font-weight: 700; }

[dir="rtl"] .st-drop-label { left: auto; right: 12px; }

@media (max-width: 760px) {
    .st-inputs.st-two, .st-sync, .st-cta-grid { grid-template-columns: minmax(0, 1fr); }
    .st-tool { padding: 14px; }
    .st-options label, .st-outbar label { min-width: 0; width: 100%; }
}
