/* OLS conversion: a source file, a recovery breakdown and one clear output. */
#content.ols-service {
    --ols-ink:#f4f6f8; --ols-muted:#b7c3cc; --ols-line:#46525c;
    --ols-panel:#2d363d; --ols-mint:#9fd6c0; --ols-rose:#ed7186;
    color:var(--ols-ink); background:transparent; padding:0; font-size:15px;
}
.ols-service *, .ols-service *::before, .ols-service *::after { box-sizing:border-box; }
#content.ols-service h1 { font-size:clamp(30px,2.7vw,40px) !important; font-weight:700; letter-spacing:-.035em; line-height:1.15; margin:0 0 16px !important; max-width:26ch; }
.tuner-tool.ols-service h2 { font-size:22px; font-weight:650; letter-spacing:-.02em; line-height:1.3; margin:0 0 12px; }
.tuner-tool.ols-service h3 { font-size:16px; font-weight:650; line-height:1.4; margin:0 0 8px; }
.tuner-tool.ols-service p { line-height:1.65; margin:0 0 16px; max-width:74ch; }
.ols-service .ols-muted { color:var(--ols-muted); }
.ols-service .ols-filename { overflow-wrap:anywhere; min-width:0; }
.ols-heading { padding:0 0 30px; }
.ols-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:12px; color:var(--ols-muted); margin:0 0 24px; }
.ols-breadcrumb a { text-decoration:none; }
.ols-breadcrumb a:hover { text-decoration:underline; }
.ols-heading-layout { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:center; }
.ols-heading-layout > div { min-width:0; }
.ols-heading-layout p { color:var(--ols-muted); font-size:16px; }
.ols-format-flow { display:flex; align-items:center; gap:14px; }
.ols-format-file { position:relative; display:flex; flex-direction:column; justify-content:center; width:104px; min-height:108px; padding:20px 14px 14px; border:1px solid #75818b; border-radius:6px; background:#293139; }
.ols-format-file::after { content:""; position:absolute; top:-1px; right:-1px; width:18px; height:18px; background:var(--ols-panel); border-left:1px solid #75818b; border-bottom:1px solid #75818b; border-radius:0 5px 0 4px; }
.ols-format-file > span { font-size:26px; font-weight:700; letter-spacing:-.025em; }
.ols-format-file small { color:var(--ols-muted); font-size:10px; margin-top:8px; white-space:nowrap; }
.ols-format-file--output { background:#283a34; border-color:#729c8b; color:#b5e6d2; }
.ols-format-file--output::after { border-color:#729c8b; background:#365047; }
.ols-flow-arrow { width:36px; height:24px; fill:none; stroke:var(--ols-muted); stroke-width:1.6; }
.ols-convert-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:32px; align-items:start; }
.ols-upload-panel { background:var(--ols-panel); padding:28px; border:1px solid var(--ols-line); border-radius:8px; min-width:0; }
.ols-section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; margin-bottom:10px; }
.ols-service .ols-section-heading :is(h1,h2) { margin-bottom:0 !important; }
.ols-service .ols-upload-panel > .ols-muted { font-size:14px; margin-bottom:24px; }
.ols-badge { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; line-height:1.4; color:#d0dbe2; padding:5px 9px; border:1px solid #5a6973; border-radius:4px; white-space:nowrap; }
.ols-badge--verified { color:#c7f1df; background:#294039; border-color:#658c7e; }
.ols-badge--verified svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.ols-badge--review { color:#f3d29b; border-color:#8e7857; background:#3c372d; }
.ols-dropzone { padding:20px; background:#242c32; border-radius:5px; }
.ols-service .ols-dropzone label { font-size:16px; margin-bottom:12px; }
.tuner-tool.ols-service input[type=file] { min-height:76px; padding:14px !important; border-color:#8599a7; background:#20272c; }
.tuner-tool.ols-service input[type=file]::file-selector-button { padding:9px 12px; margin-right:12px; border-radius:4px; background:#465660; }
.ols-service .ols-dropzone > p { color:var(--ols-muted); font-size:12px; margin:10px 0 0; }
.ols-service .ols-format-help { color:var(--ols-muted); font-size:12px; margin:12px 0 24px; }
.ols-upload-action { display:flex; align-items:center; gap:20px; }
.ols-service .ols-upload-action p { color:var(--ols-muted); font-size:12px; margin:0; max-width:29ch; }
.tuner-tool.ols-service .ols-primary { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; flex-shrink:0; padding:13px 20px; background:#b33550; border:1px solid #ed7186; border-radius:5px; font-size:14px; }
.tuner-tool.ols-service .ols-primary:hover { background:#c13e59; }
.ols-primary svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tuner-tool.ols-service .ols-secondary { background:transparent; border-color:#8497a4; }
.ols-service .ols-permission { margin-top:24px; padding-top:20px; border-top:1px solid var(--ols-line); }
.tuner-tool.ols-service .ols-permission :is(h2,h3) { font-size:13px; margin:0 0 8px; letter-spacing:0; }
.ols-service .ols-permission p { color:var(--ols-muted); font-size:12px; margin:0; }
.ols-included { padding:10px 0 0; min-width:0; }
.ols-service .ols-included > p { color:var(--ols-muted); font-size:14px; }
.ols-included-list { padding:0; margin:24px 0; list-style:none; }
.ols-included-list li { display:flex; align-items:flex-start; gap:14px; margin:0 0 22px; }
.ols-small-icon { width:26px; height:26px; margin-top:2px; flex:none; color:var(--ols-mint); fill:none; stroke:currentColor; stroke-width:1.25; }
span.ols-small-icon { display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; border:1px solid #8aada0; border-radius:2px; }
.ols-service .ols-included-list h3 { font-size:15px; margin-bottom:5px; }
.ols-service .ols-included-list p, .ols-service .ols-import-note p { font-size:13px; color:var(--ols-muted); margin:0; }
.ols-import-note { padding-top:18px; border-top:1px solid var(--ols-line); }
.ols-import-note > strong { display:block; font-size:13px; margin-bottom:5px; }
.ols-service .ols-import-time { display:flex; align-items:flex-start; gap:13px; padding:18px 20px; margin:24px 0; border:1px solid #8c7652; border-left:3px solid #e9bd76; border-radius:5px; background:#37342d; color:#f1dfc0; }
.ols-import-time > svg { flex:none; width:23px; height:23px; fill:none; stroke:#e9bd76; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.tuner-tool.ols-service .ols-import-time h2 { color:#ffe0aa; font-size:15px; letter-spacing:0; margin:0 0 6px; }
.ols-service .ols-import-time p { font-size:13px; line-height:1.6; margin:0; max-width:90ch; }
.ols-included .ols-import-time { padding:16px; margin-bottom:0; }
.ols-capabilities { margin-top:40px; padding-top:28px; border-top:1px solid var(--ols-line); }
.ols-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding-top:12px; }
.ols-service .ols-capability-grid h3 { font-size:16px; }
.ols-service .ols-capability-grid p { font-size:13px; margin-bottom:12px; }
.ols-page-footnote { border-top:1px solid var(--ols-line); margin-top:22px; padding-top:20px; font-size:12px; }
.ols-service .ols-page-footnote p { color:var(--ols-muted); margin-bottom:8px; }
.ols-result-heading { padding-bottom:26px; }
.ols-result-heading .ols-section-heading { margin-bottom:18px; }
.ols-source-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; color:var(--ols-muted); font-size:13px; }
.ols-source-line .ols-filename { flex:1; }
.ols-source-extension { border:1px solid #5a6973; padding:3px 7px; font-size:10px; font-weight:600; border-radius:3px; }
.ols-source-size { white-space:nowrap; color:#ced7dc; }
.ols-result-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:28px; align-items:stretch; }
.ols-service .ols-result-layout > .ols-import-time { grid-column:1 / -1; margin:0 0 24px; }
.ols-recovery-overview { padding:26px 0 18px; min-width:0; border-top:1px solid var(--ols-line); }
.ols-service .ols-recovery-overview h2 { font-size:19px; }
.ols-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:30px 0; }
.ols-metrics > div { display:flex; flex-direction:column; min-width:0; border-right:1px solid var(--ols-line); padding-right:14px; }
.ols-metrics > div:last-child { border-right:0; padding-right:0; }
.ols-metrics dt { order:1; font-size:12px; font-weight:600; line-height:1.4; margin-top:8px; }
.ols-metrics dd { color:var(--ols-mint); font-size:clamp(26px,2.7vw,39px); font-weight:650; font-variant-numeric:tabular-nums; line-height:1.15; letter-spacing:-.035em; margin:0; }
.ols-metrics .ols-metric-reference > dd { color:#e0bf8e; }
.ols-metrics dd.ols-metric-help { order:2; font-size:11px; font-weight:400; color:var(--ols-muted); letter-spacing:0; margin:7px 0 0; line-height:1.5; }
.ols-map-coverage { margin-top:30px; }
.ols-coverage-label { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:12px; margin-bottom:12px; color:var(--ols-muted); }
.ols-coverage-label strong { font-weight:500; }
.ols-coverage-track { height:8px; width:100%; border-radius:3px; overflow:hidden; background:#b39a73; }
.ols-coverage-track > span { display:block; height:100%; background:var(--ols-mint); }
.ols-coverage-key { display:flex; flex-wrap:wrap; gap:8px 22px; font-size:11px; color:var(--ols-muted); margin-top:12px; }
.ols-coverage-key span { display:inline-flex; align-items:center; gap:7px; }
.ols-coverage-key i { width:7px; height:7px; border-radius:2px; background:var(--ols-mint); }
.ols-coverage-key span:last-child i { background:#b39a73; }
.ols-service .ols-extra-maps { color:var(--ols-muted); font-size:12px; margin:22px 0 0; }
.ols-service .ols-review-callout { font-size:14px; color:#f1dfc0; }
.ols-download-panel { min-width:0; padding:24px; border:1px solid #628476; border-radius:8px; background:#293832; }
.ols-download-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.ols-download-top .ols-format-file { width:70px; min-height:70px; padding:14px 10px 10px; }
.ols-download-top .ols-format-file > span { font-size:19px; }
.ols-download-top .ols-badge { border-color:#668878; color:#d5e5df; }
.ols-service .ols-download-panel h2 { font-size:21px; margin-bottom:8px; }
.ols-service .ols-download-panel > .ols-filename { font-size:12px; color:#bccdc5; line-height:1.6; margin-bottom:20px; }
.tuner-tool.ols-service .ols-download-panel .ols-primary { width:100%; min-height:52px; background:#afdac6; color:#183328; border-color:#afdac6; }
.tuner-tool.ols-service .ols-download-panel .ols-primary:hover { background:#c6ebdb; }
.ols-service .ols-report-link { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#e4eee9 !important; padding:12px 0; font-size:12px; text-underline-offset:3px; text-decoration:underline; }
.ols-report-link > span { color:#bbcdc4; text-decoration:none; font-size:10px; border:1px solid #739183; padding:1px 4px; border-radius:3px; }
.ols-service .ols-download-help { font-size:11px; color:#bccdc5; line-height:1.65; margin:4px 0 16px; }
.ols-service .ols-convert-another { font-size:12px; }
.ols-before-import { display:grid; grid-template-columns:minmax(210px,.65fr) minmax(0,1.5fr); gap:32px; border-top:1px solid var(--ols-line); padding:26px 0; }
.ols-service .ols-before-import h2 { font-size:21px; }
.ols-service .ols-before-import p { font-size:13px; color:var(--ols-muted); }
.ols-review-list { padding-left:18px; margin:0; color:var(--ols-muted); font-size:13px; }
.ols-review-list li { padding-left:5px; margin:0 0 12px; }
.ols-review-list li:last-child { margin-bottom:0; }
.ols-review-list li::marker { color:#d4b480; }
.ols-next-steps { padding:26px 0; border-top:1px solid var(--ols-line); }
.ols-next-steps ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; margin:24px 0 20px; padding:0; }
.ols-next-steps li { display:flex; align-items:flex-start; gap:12px; }
.ols-next-steps li > span { width:28px; height:28px; display:flex; align-items:center; justify-content:center; flex:none; border:1px solid #677983; border-radius:50%; color:#cedae2; font-size:12px; }
.ols-next-steps strong { display:block; font-size:13px; margin:1px 0 5px; }
.ols-service .ols-next-steps li p { font-size:12px; color:var(--ols-muted); line-height:1.6; margin:0; }
.ols-service p.ols-compatibility { font-size:12px; color:var(--ols-muted); margin:0; }
.ols-details { border-top:1px solid var(--ols-line); }
.ols-details:last-of-type { border-bottom:1px solid var(--ols-line); }
.ols-details > summary { display:flex; align-items:center; gap:12px; padding:18px 0; cursor:pointer; list-style:none; font-size:14px; font-weight:600; }
.ols-details > summary::-webkit-details-marker { display:none; }
.ols-details > summary::after { content:"+"; font-size:23px; font-weight:400; color:var(--ols-muted); margin-left:auto; line-height:1; }
.ols-details[open] > summary::after { content:"−"; }
.ols-details > summary:hover { color:var(--ols-mint); }
.ols-detail-hint { font-size:11px; font-weight:400; color:var(--ols-muted); }
.ols-details-body { padding:0 0 22px; max-width:100%; }
.ols-service .ols-details-body h2 { font-size:18px; }
.ols-service .ols-details-body p, .ols-full-notes { font-size:13px; color:var(--ols-muted); }
.ols-full-notes { padding-left:20px; margin:0 0 22px; max-width:90ch; }
.ols-full-notes li { margin-bottom:10px; }
.ols-check-details { margin:0; font-size:12px; }
.ols-check-details > div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:12px; padding:10px 0; border-top:1px solid #39454e; }
.ols-check-details dt { font-weight:500; }
.ols-check-details dd { margin:0; color:var(--ols-muted); }
.ols-check-details code { color:#c4dacf; overflow-wrap:anywhere; word-break:break-all; font-size:11px; }
.ols-original-row { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:13px; }
.ols-original-row > div { min-width:0; }
.ols-original-row strong { display:block; font-weight:500; }
.ols-service .ols-original-row p { margin:6px 0 0; font-size:12px; }
.ols-original-row > a { flex-shrink:0; padding:10px 0; }
.ols-history-row + .ols-history-row { margin-top:18px; padding-top:18px; border-top:1px solid var(--ols-line); }
.ols-history-row a { display:block; font-size:12px; padding:7px 0; overflow-wrap:anywhere; }
.ols-service .ols-result-permission { border-top:0; margin-top:26px; padding-top:0; max-width:90ch; }
.ols-service .ols-uploaded-at { font-size:11px; color:var(--ols-muted); margin-top:18px; }
.ols-state-panel { padding:28px; border:1px solid var(--ols-line); border-radius:8px; background:var(--ols-panel); margin-bottom:28px; }
.ols-state-panel .tuner-status { margin:18px 0; }
.ols-service .ols-state-panel p { font-size:14px; }
.ols-retry-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.ols-retry-actions form { margin:0; }
#content.ols-service :is(a,button,input,summary):focus-visible { outline:3px solid #d2efff; outline-offset:4px; }
@media (max-width:1199px) {
    .ols-heading-layout { gap:24px; }
    .ols-format-flow { gap:10px; }
    .ols-format-file { width:90px; min-height:94px; padding:16px 10px 12px; }
    .ols-format-file small { font-size:9px; }
    .ols-convert-layout { grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:24px; }
    .ols-upload-panel { padding:22px; }
    .ols-dropzone { padding:16px; }
    .ols-upload-action { align-items:flex-start; flex-direction:column; gap:12px; }
    .ols-service .ols-upload-action p { max-width:44ch; }
    .ols-result-layout { grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr); gap:24px; }
    .ols-metrics { gap:12px; }
    .ols-metrics dd { font-size:29px; }
}
@media (max-width:767px) {
    .ols-heading-layout { grid-template-columns:1fr; gap:14px; }
    .ols-format-flow { gap:16px; }
    .ols-format-flow .ols-format-file { flex-direction:row; align-items:center; gap:12px; width:auto; min-height:58px; padding:12px 22px 12px 12px; }
    .ols-format-flow .ols-format-file > span { font-size:22px; }
    .ols-format-flow .ols-format-file small { white-space:normal; margin:0; max-width:10ch; line-height:1.4; }
    .ols-convert-layout { grid-template-columns:1fr; }
    .ols-included { padding:4px 0 0; }
    .ols-included-list { margin-bottom:20px; }
    .ols-capability-grid { grid-template-columns:1fr; gap:20px; }
    .ols-service .ols-capability-grid p { max-width:74ch; }
    .ols-capabilities { margin-top:30px; }
    .ols-result-layout { grid-template-columns:1fr; gap:24px; }
    .ols-download-panel { grid-row:1; }
    .ols-result-layout > .ols-import-time { grid-row:2; }
    .ols-result-layout > .ols-recovery-overview { grid-row:3; }
    .ols-metrics dd { font-size:34px; }
    .ols-before-import { grid-template-columns:1fr; gap:10px; }
    .ols-next-steps ol { grid-template-columns:1fr; gap:22px; }
    .ols-next-steps li p { max-width:55ch; }
    .ols-detail-hint { display:none; }
    .ols-check-details > div { grid-template-columns:1fr; gap:5px; }
    .ols-original-row { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (max-width:479px) {
    .ols-breadcrumb { font-size:11px; gap:7px; margin-bottom:20px; }
    .ols-heading { padding-bottom:24px; }
    .ols-upload-panel { padding:20px 16px; }
    .ols-dropzone { padding:14px 10px; }
    .tuner-tool.ols-service input[type=file] { font-size:12px !important; padding:10px !important; }
    .tuner-tool.ols-service input[type=file]::file-selector-button { margin-right:8px; padding:8px; }
    .ols-upload-action, .ols-upload-action .ols-primary { width:100%; }
    .ols-section-heading { align-items:flex-start; }
    .ols-service .ols-section-heading h2 { font-size:20px; }
    .ols-source-line { align-items:flex-start; gap:8px; }
    .ols-source-size { padding-left:42px; flex-basis:100%; }
    .ols-download-panel { padding:22px; }
    .ols-metrics { gap:10px; margin:24px 0; }
    .ols-metrics > div { padding-right:8px; }
    .ols-metrics dd { font-size:29px; }
    .ols-metrics dt { font-size:11px; }
    .ols-metrics dd.ols-metric-help { font-size:10px; }
    .ols-service .ols-import-time { padding:16px 14px; gap:10px; }
    .ols-state-panel { padding:22px 16px; }
}
@media (prefers-reduced-motion:reduce) {
    .ols-service *, .ols-service *::before, .ols-service *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
