:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:#171717; background:#fff; font-synthesis:none; text-rendering:optimizeLegibility; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; }
button,input,select,textarea { font:inherit; }
button,label[for],.dropzone,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
[hidden] { display:none !important; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.dynamic-motricialy-shell { min-height:100vh; background:#fff; }
.dynamic-tool-main { min-height:60vh; }
.dynamic-header-mount,.local-site-header { min-height:74px; }
.dynamic-header-mount #site-header,.dynamic-footer-mount #footer { position:relative; z-index:20; }
.local-site-header { position:relative; z-index:20; background:#fff; border-bottom:1px solid #ececec; }
.local-header-inner { width:1200px; max-width:90%; min-height:74px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.local-brand,.fallback-footer-brand { display:inline-flex; flex:none; color:inherit; text-decoration:none; }
.local-logo-mark { position:relative; display:block; width:120px; height:58px; overflow:hidden; background:#a000ff; border-radius:8px; }
.local-logo-letter { position:absolute; top:50%; right:16px; color:#fff; font-family:Arial Black,Arial,sans-serif; font-size:48px; line-height:1; font-weight:900; font-style:italic; letter-spacing:-6px; transform:translateY(-51%) skewX(-7deg); }
.local-logo-bubble { position:absolute; top:21px; left:20px; width:17px; height:14px; background:#fff; border-radius:2px; transform:rotate(-5deg); }
.local-logo-bubble::after { content:""; position:absolute; left:4px; bottom:-5px; border-top:6px solid #fff; border-right:5px solid transparent; }
.local-desktop-nav { display:flex; align-items:center; justify-content:flex-end; gap:22px; min-width:0; }
.local-desktop-nav a { color:#222; text-decoration:none; font-size:14px; font-weight:500; white-space:nowrap; }
.local-desktop-nav a:hover { color:#8c2be2; }
.local-search-link { font-size:20px!important; line-height:1; }
.local-mobile-menu { display:none; position:relative; }
.local-mobile-menu summary { display:flex; align-items:center; gap:10px; padding:10px 0; color:#252525; list-style:none; cursor:pointer; font-size:14px; font-weight:500; }
.local-mobile-menu summary::-webkit-details-marker { display:none; }
.local-mobile-menu nav { position:absolute; top:calc(100% + 8px); right:0; width:min(280px,calc(100vw - 28px)); padding:10px; background:#fff; border:1px solid #ece7f0; border-radius:12px; box-shadow:0 14px 34px rgba(35,22,54,.12); }
.local-mobile-menu nav a { display:block; padding:10px 12px; color:#222; text-decoration:none; border-radius:8px; font-size:14px; }
.local-mobile-menu nav a:hover { color:#8c2be2; background:#faf6ff; }

.fallback-site-footer { background:#202020; color:#fff; }
.fallback-footer-main { background:#202020; }
.fallback-footer-grid { width:1200px; max-width:90%; min-height:350px; margin:0 auto; padding:28px 0 26px; display:grid; grid-template-columns:1.05fr 1.05fr 1fr 1.1fr; gap:30px; align-items:start; }
.fallback-footer-brand .local-logo-mark-large { width:268px; height:170px; border-radius:20px; }
.fallback-footer-brand .local-logo-mark-large .local-logo-letter { right:40px; color:#1f1f1f; font-size:124px; letter-spacing:-14px; }
.fallback-footer-brand .local-logo-mark-large .local-logo-bubble { top:68px; left:43px; width:38px; height:30px; background:#1f1f1f; border-radius:3px; }
.fallback-footer-brand .local-logo-mark-large .local-logo-bubble::after { left:9px; bottom:-11px; border-top:13px solid #1f1f1f; border-right-width:10px; }
.fallback-footer-about p { margin:22px 0 18px; color:#fff; font-size:15px; line-height:1.8; }
.fallback-social-links { display:flex; align-items:center; gap:18px; color:#fff; }
.fallback-social-links span { font-size:20px; font-weight:800; }
.fallback-footer-column h2 { margin:5px 0 25px; color:#d7d7d7; font-size:21px; font-weight:700; }
.fallback-footer-column>a,.fallback-section-links a { display:block; color:#fff; text-decoration:none; font-size:15px; line-height:1.4; }
.fallback-footer-column>a { margin-bottom:27px; }
.fallback-section-links { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:26px; }
.fallback-newsletter h3 { margin:4px 0 20px; padding-left:15px; color:#fff; border-left:3px solid #c300ff; font-size:13px; }
.fallback-newsletter>p { margin:0 0 13px; color:#fff; font-size:15px; line-height:1.7; }
.fallback-newsletter-form { height:50px; display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding:0 15px; color:#838383; border:1px solid #505050; font-size:13px; }
.fallback-newsletter-form b { display:grid; place-items:center; min-width:53px; height:30px; color:#fff; background:#bd00ff; border:1px solid #fff; font-size:13px; }
.fallback-gdpr { display:flex; align-items:center; gap:10px; margin-top:14px; color:#fff; font-size:14px; }
.fallback-checkbox { width:16px; height:16px; background:#fff; border:1px solid #999; }
.fallback-footer-bottom { min-height:44px; display:grid; place-items:center; padding:10px 20px; color:#9f9f9f; background:#181818; border-top:1px solid #252525; font-size:12px; text-align:center; }

.caption-cleaner-tool { --purple-950:#2e155f; --purple-900:#3c1d7d; --purple-800:#4d28a6; --purple-700:#5d35cc; --purple-600:#6f4be8; --purple-500:#815ff0; --purple-400:#9b7cf4; --purple-300:#bca9f8; --purple-200:#d9cffb; --purple-100:#eee9ff; --purple-50:#f8f6ff; --ink:#17131f; --muted:#6d6875; --border:#e7e1f0; --panel:#faf9fc; --shadow:0 14px 42px rgba(65,36,126,.08); color:var(--ink); background:linear-gradient(180deg,#faf8ff 0,#fff 650px); font-size:16px; line-height:1.5; }
.caption-cleaner-tool .tool-page { padding:58px 20px 78px; }
.caption-cleaner-tool .hero-shell { width:min(1200px,100%); margin:0 auto; }
.hero-copy { width:min(860px,100%); margin:0 auto 28px; text-align:center; }
.eyebrow,.section-label { display:inline-block; color:var(--purple-700); font-size:12px; line-height:1.2; font-weight:800; letter-spacing:.12em; }
.hero-copy h1 { margin:10px 0 12px; color:var(--purple-950); font-size:44px; line-height:1.12; letter-spacing:-.035em; }
.hero-copy p { margin:0 auto; max-width:820px; color:#67616e; font-size:17px; line-height:1.7; }
.tool-card { padding:28px; background:#fff; border:1px solid #e8e1f2; border-radius:20px; box-shadow:var(--shadow); }
.input-tabs { display:flex; width:max-content; max-width:100%; margin:0 auto 22px; padding:4px; gap:4px; background:#f4f1f9; border-radius:12px; }
.input-tab { min-height:42px; padding:9px 18px; color:#655e6c; background:transparent; border:0; border-radius:9px; font-size:14px; font-weight:700; }
.input-tab.is-active { color:var(--purple-900); background:#fff; box-shadow:0 3px 12px rgba(60,29,125,.09); }
.input-panel>label { display:block; margin:0 0 8px; color:#332c3d; font-size:14px; font-weight:700; }
.dropzone { width:100%; min-height:245px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:30px; color:#4d4655; background:linear-gradient(145deg,#fdfcff,#f7f3ff); border:1.5px dashed #c8b9e8; border-radius:16px; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.dropzone:hover,.dropzone.is-dragging { background:#f4efff; border-color:var(--purple-500); }
.dropzone strong { color:var(--purple-950); font-size:18px; }
.dropzone span:last-child { color:#77717d; font-size:14px; }
.upload-icon { width:54px; height:54px; display:grid; place-items:center; margin-bottom:2px; color:#fff; background:linear-gradient(135deg,var(--purple-700),var(--purple-400)); border-radius:16px; font-size:29px; box-shadow:0 10px 24px rgba(93,53,204,.22); }
textarea { width:100%; min-height:220px; resize:vertical; padding:14px 16px; color:#28222e; background:#fbfafc; border:1px solid #ddd6e7; border-radius:12px; line-height:1.55; }
textarea:focus,input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid rgba(129,95,240,.24); outline-offset:2px; border-color:var(--purple-500); }
.start-actions { display:flex; justify-content:center; margin-top:15px; }
.text-button { min-height:44px; padding:8px 12px; color:var(--purple-700); background:transparent; border:0; border-radius:8px; font-size:14px; font-weight:750; }
.text-button:hover { background:var(--purple-50); }
.primary-button,.secondary-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:11px 18px; border-radius:11px; font-weight:800; transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
.primary-button { color:#fff; background:linear-gradient(135deg,var(--purple-700),var(--purple-500)); border:1px solid var(--purple-700); box-shadow:0 8px 20px rgba(93,53,204,.18); }
.primary-button:hover { transform:translateY(-1px); box-shadow:0 11px 25px rgba(93,53,204,.23); }
.secondary-button { color:var(--purple-800); background:#fff; border:1px solid #cfc1ec; }
.secondary-button:hover { background:#f8f5ff; }
#paste-panel .secondary-button { margin-top:12px; }

.workspace { display:block; }
.file-summary-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 0 20px; border-bottom:1px solid #eee9f3; }
.file-summary-row>div { min-width:0; display:grid; gap:3px; }
.summary-label { color:#8b8292; font-size:11px; line-height:1.2; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.file-summary-row strong { overflow:hidden; color:var(--purple-950); font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.summary-meta { color:#77717d; font-size:13px; }
.settings-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:22px 0; }
.setting-field { display:grid; gap:8px; min-width:0; }
.setting-field>span { color:#514958; font-size:12px; font-weight:750; }
.setting-field input,.setting-field select { width:100%; min-height:44px; padding:9px 11px; color:#2f2934; background:#fff; border:1px solid #ddd5e8; border-radius:10px; }
.setting-field input[aria-invalid="true"] { border-color:#c45a5a; background:#fffafa; box-shadow:0 0 0 3px rgba(196,90,90,.10); }
.input-with-unit { position:relative; }
.input-with-unit input { padding-right:44px; }
.input-with-unit span { position:absolute; top:50%; right:11px; color:#8c8492; font-size:12px; transform:translateY(-50%); pointer-events:none; }
.policy-note { display:flex; gap:11px; margin:0 0 18px; padding:13px 15px; color:#53495d; background:#faf8ff; border:1px solid #e5dcf7; border-radius:11px; }
.policy-note>span { width:23px; height:23px; flex:none; display:grid; place-items:center; color:#fff; background:var(--purple-600); border-radius:50%; font-size:13px; font-weight:900; }
.policy-note strong { color:var(--purple-900); font-size:14px; }
.policy-note p { margin:2px 0 0; font-size:13px; line-height:1.55; }
#clean-button { width:100%; }
.results { margin-top:26px; padding-top:24px; border-top:1px solid #eae4f1; scroll-margin-top:20px; }
.result-heading-row { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.result-heading-row h3 { margin:4px 0 0; color:var(--purple-950); font-size:22px; }
.format-badge { padding:5px 9px; color:var(--purple-800); background:var(--purple-100); border-radius:999px; font-size:12px; font-weight:850; }
.stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0; }
.stats-grid>div { min-height:86px; display:flex; flex-direction:column; justify-content:center; padding:14px; background:#faf9fc; border:1px solid #ece6f2; border-radius:12px; }
.stats-grid strong { color:var(--purple-900); font-size:23px; line-height:1.1; }
.stats-grid span { margin-top:5px; color:#77717d; font-size:12px; }
.warnings-box { margin:0 0 16px; padding:12px 14px; color:#6a5120; background:#fff9e9; border:1px solid #f1dfac; border-radius:10px; font-size:13px; line-height:1.55; }
.preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.preview-pane { min-width:0; overflow:hidden; background:#fbfafc; border:1px solid #e7e1ed; border-radius:14px; }
.preview-pane.cleaned { background:linear-gradient(145deg,#fff,#f8f5ff); border-color:#d9cdf1; }
.preview-label-row { display:flex; align-items:center; justify-content:space-between; padding:13px 15px; border-bottom:1px solid #e9e3ef; }
.preview-label-row h4 { margin:0; color:#3d3445; font-size:14px; }
.preview-label-row span { color:#958d9b; font-size:11px; }
.cue-preview { max-height:390px; overflow:auto; }
.cue-row { display:grid; grid-template-columns:112px minmax(0,1fr); gap:12px; padding:11px 14px; border-bottom:1px solid #eee9f2; }
.cue-row:last-child { border-bottom:0; }
.cue-time { color:#8c8392; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; line-height:1.5; }
.cue-row p { margin:0; color:#3c3542; font-size:13px; line-height:1.5; white-space:pre-line; }
.preview-more { padding:12px 14px; color:#817789; font-size:12px; text-align:center; }
.result-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:17px; }
.result-actions .primary-button { min-width:210px; }
.review-reminder { margin:12px 0 0; color:#7b7480; font-size:12px; line-height:1.55; }
.tool-status { min-height:22px; margin-top:12px; color:#746c7a; font-size:13px; text-align:center; }
.tool-status.success { color:#3e6a4b; }
.tool-status.error { color:#a53a3a; }
.trust-row { display:flex; justify-content:center; flex-wrap:wrap; gap:18px 28px; margin:18px 0 0; color:#77707d; font-size:13px; }
.trust-row b { color:var(--purple-600); }

.seo-section { width:min(980px,100%); margin:58px auto 0; }
.seo-section .section-label { margin-bottom:8px; }
.seo-section h2 { position:relative; margin:0 0 23px; padding-bottom:13px; color:var(--purple-950); font-size:28px; line-height:1.25; letter-spacing:-.02em; }
.seo-section h2::after { content:""; position:absolute; left:0; bottom:0; width:48px; height:3px; background:linear-gradient(90deg,var(--purple-700),var(--purple-400)); border-radius:999px; }
.steps-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.step-card { display:flex; gap:16px; align-items:flex-start; padding:19px 20px; background:linear-gradient(145deg,#fff,#fbf9ff); border:1px solid #e7e0ef; border-radius:13px; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.step-card:hover { transform:translateY(-2px); border-color:#d3c7e8; box-shadow:0 11px 27px rgba(67,36,133,.07); }
.step-number { width:38px; height:38px; flex:none; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--purple-800),var(--purple-400)); border-radius:11px; font-size:14px; font-weight:900; box-shadow:0 7px 16px rgba(93,53,204,.15); }
.step-card h3 { margin:0 0 4px; color:#34253f; font-size:16px; }
.step-card p,.feature-grid p,.faq p,.explainer-box p { margin:0; color:#706978; font-size:15px; line-height:1.65; }
.explainer-box { padding:24px 25px; background:linear-gradient(140deg,#faf7ff,#fff 70%); border:1px solid #e2d8f3; border-left:4px solid var(--purple-500); border-radius:13px; }
.explainer-box p+p { margin-top:13px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.feature-grid>div { position:relative; min-height:132px; overflow:hidden; padding:20px; background:#fff; border:1px solid #ece8f1; border-radius:13px; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.feature-grid>div:nth-child(1),.feature-grid>div:nth-child(6) { background:linear-gradient(145deg,#fff,#f6f2ff); }
.feature-grid>div:nth-child(2),.feature-grid>div:nth-child(5) { background:linear-gradient(145deg,#fff,#fbf9ff); }
.feature-grid>div:nth-child(3),.feature-grid>div:nth-child(4) { background:linear-gradient(145deg,#fdfcff,#f2edff); }
.feature-grid>div::before { content:""; position:absolute; top:-25px; right:-25px; width:66px; height:66px; border-radius:50%; background:rgba(129,95,240,.08); }
.feature-grid>div:hover { transform:translateY(-3px); border-color:#d2c5ef; box-shadow:0 12px 28px rgba(67,36,133,.085); }
.feature-grid b { color:var(--purple-900); font-size:15px; }
.feature-grid p { margin-top:6px; }
.faq-list { border-top:1px solid #ded6ea; }
.faq details { padding:17px 14px; border-bottom:1px solid #e8e1f0; border-radius:10px; transition:background .18s ease,padding-left .18s ease,box-shadow .18s ease; }
.faq details:hover { background:#faf8ff; }
.faq details[open] { margin:4px 0; padding-left:18px; background:linear-gradient(135deg,#faf8ff,#f5f1ff); box-shadow:inset 3px 0 0 var(--purple-500); }
.faq summary { display:flex; justify-content:space-between; gap:20px; color:var(--ink); cursor:pointer; list-style:none; font-size:15px; font-weight:700; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; width:25px; height:25px; flex:none; display:grid; place-items:center; color:var(--purple-700); background:#eee9ff; border-radius:50%; font-size:18px; transition:background .18s ease,transform .18s ease; }
.faq details[open] summary::after { content:'−'; background:#e4dbff; transform:rotate(180deg); }
.faq p { margin-top:7px; padding-right:35px; }
.related-tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.related-tool-card { position:relative; min-height:96px; overflow:hidden; padding:20px 54px 20px 20px; color:var(--ink); text-decoration:none; background:linear-gradient(145deg,#fff,#faf8ff); border:1px solid #e3dcef; border-radius:13px; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.related-tool-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(180deg,var(--purple-800),var(--purple-400)); opacity:.45; }
.related-tool-card:hover { background:linear-gradient(145deg,#fff,#f3eeff); border-color:#cfc0f1; box-shadow:0 12px 28px rgba(65,36,126,.10); transform:translateY(-3px); }
.related-tool-name { display:block; color:var(--purple-950); font-size:16px; line-height:1.4; font-weight:750; }
.related-tool-meta { display:block; margin-top:6px; color:#7b7b7b; font-size:13px; }
.related-tool-arrow { position:absolute; top:50%; right:20px; width:32px; height:32px; display:grid; place-items:center; color:var(--purple-700); background:#eee9ff; border-radius:50%; font-size:22px; transform:translateY(-50%); }

@media (max-width:1000px) {
  .settings-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fallback-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) { .local-desktop-nav { display:none; } .local-mobile-menu { display:block; } }
@media (max-width:760px) {
  .hero-copy h1 { font-size:36px; }
  .tool-card { padding:22px; }
  .settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .preview-grid { grid-template-columns:1fr; }
  .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  html { scroll-behavior:auto; }
  .caption-cleaner-tool .tool-page { padding:38px 14px 58px; }
  .local-header-inner { max-width:calc(100% - 28px); }
  .hero-copy { margin-bottom:21px; text-align:left; }
  .hero-copy h1 { margin-top:8px; font-size:31px; line-height:1.15; }
  .hero-copy p { font-size:15px; line-height:1.65; }
  .tool-card { padding:18px; border-radius:16px; }
  .input-tabs { width:100%; }
  .input-tab { flex:1; padding-inline:10px; }
  .dropzone { min-height:220px; padding:22px 16px; }
  .dropzone strong { font-size:16px; text-align:center; }
  .dropzone span:last-child { text-align:center; }
  .file-summary-row { align-items:flex-start; }
  .settings-grid { grid-template-columns:1fr; }
  .policy-note { align-items:flex-start; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cue-row { grid-template-columns:1fr; gap:3px; }
  .result-actions { display:grid; grid-template-columns:1fr; }
  .result-actions .primary-button,.result-actions .secondary-button { width:100%; min-width:0; }
  .trust-row { justify-content:flex-start; gap:9px 16px; padding:0 2px; }
  .seo-section { margin-top:48px; }
  .seo-section h2 { font-size:25px; }
  .feature-grid,.related-tools-grid { grid-template-columns:1fr; }
  .step-card { padding:17px; }
  .step-card:hover,.feature-grid>div:hover,.related-tool-card:hover,.primary-button:hover { transform:none; }
  .faq details { padding-inline:8px; }
  .fallback-footer-grid { max-width:calc(100% - 28px); grid-template-columns:1fr; }
  .fallback-footer-brand .local-logo-mark-large { width:220px; height:140px; }
  .fallback-footer-brand .local-logo-mark-large .local-logo-letter { right:33px; font-size:102px; }
  .fallback-footer-brand .local-logo-mark-large .local-logo-bubble { top:56px; left:35px; width:31px; height:25px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
