.sw-ecu-id{--red:#d9272e;--bg:#111315;--card:#1b1e21;--line:#34393e;--text:#f4f5f6;--muted:#aeb4ba;box-sizing:border-box;max-width:1280px;margin:24px auto;padding:clamp(18px,3vw,34px);border-radius:22px;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;box-shadow:0 22px 60px rgba(0,0,0,.28)}
.sw-ecu-id *{box-sizing:border-box}.sw-ecu-id__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.sw-ecu-id__brand{display:flex;align-items:center;gap:18px;min-width:0}.sw-ecu-id__logo{display:block;width:clamp(110px,16vw,180px);height:auto;max-height:72px;object-fit:contain}.sw-ecu-id__kicker{color:#ff555b;font-size:.76rem;font-weight:800;letter-spacing:.18em}.sw-ecu-id h2{margin:.2rem 0 .35rem;color:#fff;font-size:clamp(1.75rem,4vw,2.7rem);line-height:1.05}.sw-ecu-id__header p{margin:0;color:var(--muted)}
.sw-ecu-id__drop{display:flex;min-height:190px;padding:28px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px dashed #555c62;border-radius:18px;background:linear-gradient(145deg,#202428,#181b1e);cursor:pointer;transition:.2s ease;outline:none}.sw-ecu-id__drop:hover,.sw-ecu-id__drop:focus,.sw-ecu-id__drop.is-dragging{border-color:var(--red);background:#251b1d;transform:translateY(-1px)}.sw-ecu-id__drop-icon{display:grid;width:50px;height:50px;margin-bottom:12px;place-items:center;border-radius:50%;background:var(--red);font-size:2rem;line-height:1}.sw-ecu-id__drop strong{font-size:1.18rem}.sw-ecu-id__drop span:not(.sw-ecu-id__drop-icon){margin-top:5px;color:#d5d8da}.sw-ecu-id__drop small{margin-top:14px;color:var(--muted)}
.sw-ecu-id__status{min-height:24px;margin:12px 2px;color:var(--muted)}.sw-ecu-id.is-busy .sw-ecu-id__status{color:#fff}.sw-ecu-id__actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.sw-ecu-id button{appearance:none;padding:10px 15px;border:1px solid #454b51;border-radius:9px;background:#2a2f33;color:#fff;font:inherit;font-weight:700;cursor:pointer}.sw-ecu-id button:hover{background:#3a4147}.sw-ecu-id button.is-primary{border-color:var(--red);background:var(--red)}.sw-ecu-id button.is-danger{margin-left:auto;border-color:#8d2d32;background:#351719;color:#ffb9bc}.sw-ecu-id button.is-danger:hover,.sw-ecu-id button.is-danger:focus-visible{border-color:#ff555b;background:#8d2025;color:#fff}
.sw-ecu-id__result-list{display:flex;flex-direction:column;gap:18px}.sw-ecu-id__result{padding:16px;border:1px solid #34393e;border-radius:18px;background:#15181a}.sw-ecu-id__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px}.sw-ecu-id__result-head h3{display:flex;align-items:center;gap:10px;min-width:0;margin:0;color:#fff;font-size:1.08rem;overflow-wrap:anywhere}.sw-ecu-id__result-head h3 span{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--red);font-size:.85rem}.sw-ecu-id__result-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}.sw-ecu-id__bin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.sw-ecu-id button.sw-ecu-id__bin-download{min-height:36px;padding:7px 11px;border-color:#a91f25;background:#54191c;color:#fff;font-size:.78rem}.sw-ecu-id button.sw-ecu-id__bin-download:hover,.sw-ecu-id button.sw-ecu-id__bin-download:focus-visible{border-color:#ff555b;background:var(--red)}.sw-ecu-id button.sw-ecu-id__remove-result{min-height:36px;padding:7px 11px;border-color:#71363a;background:#28191b;color:#ffb9bc;font-size:.78rem}.sw-ecu-id button.sw-ecu-id__remove-result:hover,.sw-ecu-id button.sw-ecu-id__remove-result:focus-visible{border-color:#ff555b;background:#8d2025;color:#fff}.sw-ecu-id.is-busy button.sw-ecu-id__remove-result{opacity:.55;cursor:not-allowed}.sw-ecu-id__result-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.sw-ecu-id__result-grid>.sw-ecu-id__card:only-child{grid-column:1/-1}.sw-ecu-id__card{min-width:0;padding:18px;border:1px solid #292e32;border-radius:14px;background:var(--card)}.sw-ecu-id__card h4{margin:0 0 14px;color:#fff;font-size:1.02rem}.sw-ecu-id__damos{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:15px 16px;border:1px solid #2d7d4d;border-radius:12px;background:linear-gradient(135deg,#13291d,#18231d);color:#effff5}.sw-ecu-id__damos>div{display:flex;min-width:0;flex-direction:column;gap:3px}.sw-ecu-id__damos strong{color:#6ee79c;font-size:1rem}.sw-ecu-id__damos span{color:#d2e9da;font-size:.88rem;overflow-wrap:anywhere}.sw-ecu-id__damos--fallback{border-color:#8b5d22;background:linear-gradient(135deg,#2b2215,#211d18)}.sw-ecu-id__damos--fallback strong{color:#ffbf5a}.sw-ecu-id__damos--fallback span{color:#ead9bb}.sw-ecu-id__damos a{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid #dc353c;border-radius:9px;background:var(--red);color:#fff!important;font-weight:700;text-decoration:none}.sw-ecu-id__damos a:hover,.sw-ecu-id__damos a:focus-visible{border-color:#ff6a70;background:#b81f25;color:#fff!important}.sw-ecu-id__result-status{margin-top:11px;padding:9px 12px;border-radius:9px;background:#22272b;color:#d6dade;font-size:.86rem}.sw-ecu-id__result-status.is-ok{border-left:4px solid #39b96c}.sw-ecu-id__result-status.is-warning{border-left:4px solid #f0a62e}.sw-ecu-id__result.is-error{border-color:#8a3438}.sw-ecu-id__result.is-error p{margin:0;color:#ffb2b5}.sw-ecu-id__table-wrap,.sw-ecu-id__range-table{overflow:auto}.sw-ecu-id table{width:100%;border-collapse:collapse;color:var(--text);font-size:.9rem}.sw-ecu-id th,.sw-ecu-id td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.sw-ecu-id tbody th{width:34%;color:#c6cbd0;font-weight:600}.sw-ecu-id thead th{color:#c6cbd0;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.sw-ecu-id__identity-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px;margin-top:14px}.sw-ecu-id__identity-block{border-color:#41494f;background:#181c1f}.sw-ecu-id__identity-block h4{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sw-ecu-id__identity-block h4 span{color:#77d8ff;font-size:.76rem;font-weight:700;letter-spacing:.04em}.sw-ecu-id__identity-block tbody th{width:42%}
.sw-ecu-id__result-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.sw-ecu-id__result-status.is-processing{border-left:4px solid var(--red)}.sw-ecu-id__result-status.is-error{border-left:4px solid #e05b61}.sw-ecu-id__result.is-processing{border-color:#754044}.sw-ecu-id__timer{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-width:88px;padding:5px 9px;border:1px solid #495158;border-radius:999px;background:#15191c;color:#eef2f4;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.035em}.sw-ecu-id__timer-clock{position:relative;width:14px;height:14px;border:2px solid currentColor;border-radius:50%}.sw-ecu-id__timer-clock::before{content:"";position:absolute;top:2px;left:5px;width:2px;height:4px;border-radius:1px;background:currentColor;transform-origin:1px 5px}.sw-ecu-id__timer-clock::after{content:"";position:absolute;top:6px;left:6px;width:4px;height:2px;border-radius:1px;background:currentColor;transform-origin:0 1px}.sw-ecu-id__timer.is-running{border-color:#9b363b;color:#ffb9bc}.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::before{animation:sw-ecu-id-clock 2s linear infinite}.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::after{animation:sw-ecu-id-clock 12s linear infinite}@keyframes sw-ecu-id-clock{to{transform:rotate(360deg)}}
.sw-ecu-id__progress{position:relative;width:100%;min-width:0;height:8px;margin:10px 0 0;overflow:hidden;border:1px solid #553034;border-radius:999px;background:#101315;box-shadow:inset 0 1px 2px rgba(0,0,0,.55)}.sw-ecu-id__progress>span{position:absolute;inset:0 auto 0 -36%;width:36%;border-radius:inherit;background:linear-gradient(90deg,rgba(217,39,46,0),#ff555b 55%,var(--red));box-shadow:0 0 12px rgba(217,39,46,.5);animation:sw-ecu-id-progress 1.2s ease-in-out infinite;will-change:transform}@keyframes sw-ecu-id-progress{to{transform:translateX(378%)}}
.sw-ecu-id__cvn-status{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border-radius:11px;background:#272c30}.sw-ecu-id__cvn-status strong{font-size:.82rem;letter-spacing:.06em}.sw-ecu-id__cvn-status span{color:#d1d5d8}.sw-ecu-id__cvn-status.is-ok{border-left:4px solid #39b96c}.sw-ecu-id__cvn-status.is-warning{border-left:4px solid #f0a62e}.sw-ecu-id__cvn-status.is-neutral{border-left:4px solid #70777d}.sw-ecu-id__cvn{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#171a1d}.sw-ecu-id__cvn summary{cursor:pointer}.sw-ecu-id__cvn dl{display:grid;grid-template-columns:minmax(130px,.7fr) 1.3fr;gap:5px 12px;margin:14px 0}.sw-ecu-id__cvn dt{color:var(--muted)}.sw-ecu-id__cvn dd{margin:0;overflow-wrap:anywhere}.sw-ecu-id [hidden]{display:none!important}
@media(max-width:820px){.sw-ecu-id__header{flex-direction:column}.sw-ecu-id__brand{align-items:flex-start;flex-direction:column}.sw-ecu-id__result-head{align-items:stretch;flex-direction:column}.sw-ecu-id__result-actions,.sw-ecu-id__bin-actions{justify-content:flex-start}.sw-ecu-id button.sw-ecu-id__bin-download,.sw-ecu-id button.sw-ecu-id__remove-result{min-height:44px}.sw-ecu-id__result-grid{grid-template-columns:1fr}.sw-ecu-id__damos{align-items:stretch;flex-direction:column}.sw-ecu-id__damos a{width:100%}.sw-ecu-id__cvn dl{grid-template-columns:1fr}.sw-ecu-id__cvn dd{margin-bottom:6px}.sw-ecu-id__result-status{align-items:flex-start;flex-direction:column}.sw-ecu-id__timer{min-height:38px}}
@media(max-width:820px){.sw-ecu-id button.is-danger{width:100%;margin-left:0}}
@media(max-width:480px){.sw-ecu-id__result-actions{align-items:stretch;flex-direction:column}.sw-ecu-id button.sw-ecu-id__remove-result{width:100%}}
@media(prefers-reduced-motion:reduce){.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::before,.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::after{animation:none}.sw-ecu-id__progress>span{left:28%;width:44%;animation:none;transform:none;opacity:.8}}.sw-ecu-id.sw-ecu-id--website {
--sw-red:#e20a09;
--sw-red-dark:#a90706;
--sw-black:#15191c;
--sw-panel:#1d2226;
--sw-steel:#505153;
--sw-muted:#8e989e;
--sw-line:#343e44;
--sw-soft:#f2f4f5;
--sw-white:#fff;
--sw-text:#f4f6f7;
position:relative;
width:100%;
max-width:3200px;
margin:0 auto;
padding:0 0 16px;
color:var(--sw-black);
background:var(--sw-soft);
border-radius:24px;
font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
line-height:1.45;
isolation:isolate;
}
.sw-ecu-id * { box-sizing:border-box; }
.sw-ecu-id [hidden] { display:none!important; }
.sw-ecu-id button,.sw-ecu-id input { font:inherit; }
.sw-ecu-id__hero {
position:relative;
overflow:hidden;
min-height:250px;
padding:clamp(34px,6vw,76px) clamp(24px,6vw,76px);
color:var(--sw-white);
border-radius:24px 24px 0 0;
background:
linear-gradient(90deg,rgba(226,10,9,.12) 1px,transparent 1px) 0 0/82px 100%,
linear-gradient(135deg,#111518 0%,#1c2125 72%,#2a3034 100%);
box-shadow:0 22px 55px rgba(21,25,28,.2);
}
.sw-ecu-id__hero::before {
content:"ECU";
position:absolute;
top:-56px;
right:-12px;
color:transparent;
font-size:260px;
font-weight:900;
line-height:1;
letter-spacing:-.08em;
-webkit-text-stroke:1px rgba(255,255,255,.07);
pointer-events:none;
}
.sw-ecu-id__hero::after {
content:"";
position:absolute;
bottom:0;
left:0;
width:38%;
height:4px;
background:var(--sw-red);
}
.sw-ecu-id__hero-controls {
position:absolute;
z-index:3;
top:18px;
right:20px;
display:flex;
align-items:center;
gap:12px;
}
.sw-ecu-id__logo {
display:block;
width:clamp(116px,11vw,164px);
height:auto;
max-height:58px;
object-fit:contain;
filter:drop-shadow(0 5px 12px rgba(0,0,0,.22));
}
.sw-ecu-id__catalog-link {
display:inline-flex;
align-items:center;
min-height:38px;
padding:7px 12px;
white-space:nowrap;
color:#fff;
background:rgba(226,10,9,.16);
border:1px solid rgba(255,74,73,.48);
border-radius:999px;
font-size:11px;
font-weight:850;
line-height:1;
text-decoration:none;
backdrop-filter:blur(10px);
}
.sw-ecu-id a.sw-ecu-id__catalog-link:hover,.sw-ecu-id a.sw-ecu-id__catalog-link:focus-visible { color:#fff; background:rgba(226,10,9,.28); border-color:#ff5b5a; outline:none; }
.sw-ecu-id__kicker {
position:relative;
z-index:1;
display:flex;
align-items:center;
gap:9px;
max-width:760px;
margin:0!important;
color:var(--sw-red)!important;
font-size:12px!important;
font-weight:900!important;
letter-spacing:.14em!important;
text-transform:uppercase;
}
.sw-ecu-id__kicker::before { content:"/"; color:var(--sw-red); font-size:18px; }
.sw-ecu-id__hero h2 {
position:relative;
z-index:1;
max-width:920px;
margin:8px 0 14px!important;
color:#fff!important;
font-size:clamp(34px,5vw,64px)!important;
font-weight:900!important;
line-height:.98!important;
letter-spacing:-.045em!important;
text-transform:none!important;
}
.sw-ecu-id__hero .sw-ecu-id__intro {
position:relative;
z-index:1;
max-width:760px;
margin:0!important;
color:#d6dadd!important;
font-size:16px!important;
}
.sw-ecu-id__drop {
min-height:235px;
padding:32px 24px 26px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:5px;
text-align:center;
cursor:pointer;
color:#f2f5f6;
background:#151b1f;
border:1px solid #343e44;
border-top:0;
border-radius:0 0 24px 24px;
box-shadow:0 22px 55px rgba(0,0,0,.3);
transition:transform .2s,border-color .2s,background .2s;
}
.sw-ecu-id__drop:hover,.sw-ecu-id__drop:focus,.sw-ecu-id__drop:focus-visible,.sw-ecu-id__drop.is-dragging {
outline:none;
border-color:var(--sw-red);
background:#21191b;
transform:translateY(-2px);
}
.sw-ecu-id__drop:focus-visible { box-shadow:0 0 0 3px rgba(226,10,9,.28),0 22px 55px rgba(0,0,0,.3); }
.sw-ecu-id__drop-icon {
display:grid;
place-items:center;
width:58px;
height:58px;
margin-bottom:8px;
color:#fff;
background:var(--sw-red);
border-radius:15px;
font-size:31px;
font-weight:300;
line-height:1;
box-shadow:0 12px 28px rgba(226,10,9,.28);
}
.sw-ecu-id__drop strong { color:#fff; font-size:21px; font-weight:900; }
.sw-ecu-id__drop > span:not(.sw-ecu-id__drop-icon) { margin:0; color:#c0c9cd; }
.sw-ecu-id__status {
min-height:22px;
margin-top:11px;
padding:5px 10px;
color:#b9c2c7;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.09);
border-radius:999px;
font-size:11px;
font-weight:750;
}
.sw-ecu-id.is-busy .sw-ecu-id__status { color:#fff; border-color:rgba(226,10,9,.5); }
.sw-ecu-id__actions {
display:flex;
align-items:center;
flex-wrap:wrap;
gap:8px;
margin:16px 16px 0;
padding:10px 12px;
color:#e9eef0;
background:#20272b;
border:1px solid #39434a;
border-radius:14px;
}
.sw-ecu-id button {
min-height:40px;
margin:0!important;
padding:8px 13px!important;
appearance:none;
color:#fff!important;
background:#353f44!important;
border:1px solid #647178!important;
border-radius:8px!important;
box-shadow:none!important;
font-size:12px!important;
font-weight:850!important;
line-height:1.2!important;
text-transform:none!important;
cursor:pointer;
transition:background .18s,border-color .18s,transform .18s;
}
.sw-ecu-id button:hover,.sw-ecu-id button:focus-visible {
color:#fff!important;
background:#465159!important;
border-color:#86939a!important;
outline:none;
transform:translateY(-1px);
}
.sw-ecu-id button:focus-visible { box-shadow:0 0 0 3px rgba(226,10,9,.28)!important; }
.sw-ecu-id button.is-primary { background:var(--sw-red)!important; border-color:var(--sw-red)!important; }
.sw-ecu-id button.is-primary:hover,.sw-ecu-id button.is-primary:focus-visible { background:var(--sw-red-dark)!important; border-color:var(--sw-red-dark)!important; }
.sw-ecu-id button.is-danger {
margin-left:auto!important;
color:#fff!important;
background:#7f171b!important;
border-color:#d82a31!important;
}
.sw-ecu-id button.is-danger:hover,.sw-ecu-id button.is-danger:focus-visible {
color:#fff!important;
background:var(--sw-red)!important;
border-color:#ff5d63!important;
}
.sw-ecu-id__result-list {
display:flex;
flex-direction:column;
gap:16px;
margin:16px 16px 0;
}
.sw-ecu-id__result {
min-width:0;
padding:18px;
color:var(--sw-text);
background:#15191c;
border:1px solid #343e44;
border-radius:18px;
box-shadow:0 14px 36px rgba(21,25,28,.14);
}
.sw-ecu-id__result-head {
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin:0 0 14px;
}
.sw-ecu-id__result-head h3 {
display:flex;
align-items:center;
gap:10px;
min-width:0;
margin:0!important;
color:#fff!important;
font-size:1.08rem!important;
font-weight:850!important;
line-height:1.3!important;
overflow-wrap:anywhere;
}
.sw-ecu-id__result-head h3 span {
display:grid;
flex:0 0 32px;
width:32px;
height:32px;
place-items:center;
color:#fff;
background:var(--sw-red);
border-radius:9px;
font-size:.82rem;
}
.sw-ecu-id__result-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.sw-ecu-id__bin-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.sw-ecu-id button.sw-ecu-id__bin-download {
min-height:36px;
padding:7px 11px!important;
color:#fff!important;
background:#54191c!important;
border-color:#a91f25!important;
font-size:.76rem!important;
letter-spacing:.03em;
}
.sw-ecu-id button.sw-ecu-id__bin-download:hover,.sw-ecu-id button.sw-ecu-id__bin-download:focus-visible { background:var(--sw-red)!important; border-color:#ff555b!important; }
.sw-ecu-id button.sw-ecu-id__remove-result {
min-height:36px;
padding:7px 11px!important;
color:#ffbec1!important;
background:#301a1c!important;
border-color:#82343a!important;
font-size:.76rem!important;
}
.sw-ecu-id button.sw-ecu-id__remove-result:hover,.sw-ecu-id button.sw-ecu-id__remove-result:focus-visible { color:#fff!important; background:#8d2025!important; border-color:#ff555b!important; }
.sw-ecu-id.is-busy button.sw-ecu-id__remove-result { opacity:.55; cursor:not-allowed; }
.sw-ecu-id__result-grid {
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
gap:14px;
}
.sw-ecu-id__result-grid > .sw-ecu-id__card:only-child { grid-column:1/-1; }
.sw-ecu-id__card {
min-width:0;
padding:18px;
background:var(--sw-panel);
border:1px solid #30383d;
border-radius:14px;
}
.sw-ecu-id__card h4 { margin:0 0 14px!important; color:#fff!important; font-size:1.02rem!important; font-weight:850!important; }
.sw-ecu-id__identity-blocks {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
gap:14px;
margin-top:14px;
}
.sw-ecu-id__identity-block { background:#181c1f; border-color:#41494f; }
.sw-ecu-id__identity-block h4 { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.sw-ecu-id__identity-block h4 span { color:#77d8ff; font-size:.76rem; font-weight:800; letter-spacing:.04em; }
.sw-ecu-id__identity-block tbody th { width:42%; }
.sw-ecu-id__result-status { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:11px; padding:10px 12px; color:#d6dade; background:#222a2e; border-radius:9px; font-size:.86rem; }
.sw-ecu-id__result-status.is-ok { border-left:4px solid #39b96c; }
.sw-ecu-id__result-status.is-warning { border-left:4px solid #f0a62e; }
.sw-ecu-id__result-status.is-processing { border-left:4px solid var(--sw-red); }
.sw-ecu-id__result-status.is-error { border-left:4px solid #e05b61; }
.sw-ecu-id__result.is-processing { border-color:#754044; }
.sw-ecu-id__result.is-error { border-color:#8a3438; }
.sw-ecu-id__result.is-error p { margin:0!important; color:#ffb2b5!important; }
.sw-ecu-id__timer {
display:inline-flex;
flex:0 0 auto;
align-items:center;
gap:7px;
min-width:88px;
padding:5px 9px;
color:#eef2f4;
background:#15191c;
border:1px solid #495158;
border-radius:999px;
font-variant-numeric:tabular-nums;
font-weight:850;
letter-spacing:.035em;
}
.sw-ecu-id__timer-clock { position:relative; width:14px; height:14px; border:2px solid currentColor; border-radius:50%; }
.sw-ecu-id__timer-clock::before {
content:"";
position:absolute;
top:2px;
left:5px;
width:2px;
height:4px;
background:currentColor;
border-radius:1px;
transform-origin:1px 5px;
}
.sw-ecu-id__timer-clock::after {
content:"";
position:absolute;
top:6px;
left:6px;
width:4px;
height:2px;
background:currentColor;
border-radius:1px;
transform-origin:0 1px;
}
.sw-ecu-id__timer.is-running { color:#ffb9bc; border-color:#9b363b; }
.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::before { animation:sw-ecu-id-clock 2s linear infinite; }
.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::after { animation:sw-ecu-id-clock 12s linear infinite; }
@keyframes sw-ecu-id-clock { to { transform:rotate(360deg); } }
.sw-ecu-id__progress {
position:relative;
width:100%;
min-width:0;
height:8px;
margin:10px 0 0;
overflow:hidden;
background:#101315;
border:1px solid #553034;
border-radius:999px;
box-shadow:inset 0 1px 2px rgba(0,0,0,.55);
}
.sw-ecu-id__progress > span {
position:absolute;
inset:0 auto 0 -36%;
width:36%;
background:linear-gradient(90deg,rgba(217,39,46,0),#ff555b 55%,var(--sw-red));
border-radius:inherit;
box-shadow:0 0 12px rgba(217,39,46,.5);
animation:sw-ecu-id-progress 1.2s ease-in-out infinite;
will-change:transform;
}
@keyframes sw-ecu-id-progress {
to { transform:translateX(378%); }
}
.sw-ecu-id__table-wrap,.sw-ecu-id__range-table { max-width:100%; overflow:auto; scrollbar-color:#5a656b #20262a; }
.sw-ecu-id table { width:100%; border-collapse:collapse; color:var(--sw-text); font-size:.9rem; }
.sw-ecu-id th,.sw-ecu-id td { padding:9px 10px; border-bottom:1px solid var(--sw-line); text-align:left; vertical-align:top; overflow-wrap:anywhere; word-break:break-word; }
.sw-ecu-id tbody th { width:34%; color:#c6cbd0; font-weight:650; }
.sw-ecu-id thead th { color:#c6cbd0; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; }
.sw-ecu-id__range-table table { min-width:650px; }
.sw-ecu-id__cvn-status { display:flex; flex-direction:column; gap:5px; padding:13px 14px; background:#272f33; border-radius:11px; }
.sw-ecu-id__cvn-status strong { font-size:.82rem; letter-spacing:.06em; }
.sw-ecu-id__cvn-status span { color:#d1d5d8; }
.sw-ecu-id__cvn-status.is-ok { border-left:4px solid #39b96c; }
.sw-ecu-id__cvn-status.is-warning { border-left:4px solid #f0a62e; }
.sw-ecu-id__cvn-status.is-neutral { border-left:4px solid #70777d; }
.sw-ecu-id__cvn { margin-top:12px; padding:12px; background:#171c1f; border:1px solid var(--sw-line); border-radius:11px; }
.sw-ecu-id__cvn summary { color:#eef2f4; cursor:pointer; overflow-wrap:anywhere; }
.sw-ecu-id__cvn dl { display:grid; grid-template-columns:minmax(130px,.7fr) 1.3fr; gap:5px 12px; margin:14px 0; }
.sw-ecu-id__cvn dt { color:var(--sw-muted); }
.sw-ecu-id__cvn dd { margin:0; overflow-wrap:anywhere; } @media (min-width:1500px) {
.sw-ecu-id.sw-ecu-id--website {
width:min(3200px,calc(100vw - 48px));
max-width:none;
margin-left:calc(50% - min(1600px,calc(50vw - 24px)));
margin-right:0;
}
}
@media (max-width:900px) {
.sw-ecu-id__hero h2 { max-width:680px; }
.sw-ecu-id__result-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
.sw-ecu-id.sw-ecu-id--website { margin:0 auto; border-radius:18px; }
.sw-ecu-id__hero { min-height:0; padding:18px 18px 30px; border-radius:18px 18px 0 0; }
.sw-ecu-id__hero::before { top:6px; right:-8px; font-size:145px; }
.sw-ecu-id__hero::after { width:52%; }
.sw-ecu-id__hero-controls {
position:relative;
top:auto;
right:auto;
width:100%;
justify-content:space-between;
flex-wrap:wrap;
gap:10px;
margin-bottom:25px;
}
.sw-ecu-id__logo { width:min(136px,42vw); max-height:50px; }
.sw-ecu-id__catalog-link { min-height:36px; padding:7px 10px; font-size:10px; }
.sw-ecu-id__hero h2 { max-width:620px; font-size:clamp(32px,8.5vw,48px)!important; }
.sw-ecu-id__hero .sw-ecu-id__intro { font-size:14px!important; }
.sw-ecu-id__drop { min-height:230px; padding:30px 18px 24px; border-radius:0 0 18px 18px; }
.sw-ecu-id__actions { margin:12px 12px 0; }
.sw-ecu-id__actions button { flex:1 1 180px; min-height:44px; }
.sw-ecu-id__result-list { margin:12px 12px 0; }
.sw-ecu-id__result { padding:15px; border-radius:16px; }
.sw-ecu-id__result-head { align-items:stretch; flex-direction:column; }
.sw-ecu-id__result-actions,.sw-ecu-id__bin-actions { justify-content:flex-start; }
.sw-ecu-id button.sw-ecu-id__bin-download,.sw-ecu-id button.sw-ecu-id__remove-result { min-height:44px; }
.sw-ecu-id__result-status { align-items:flex-start; flex-direction:column; }
.sw-ecu-id__timer { min-height:38px; }
.sw-ecu-id__card { padding:15px; }
.sw-ecu-id__cvn dl { grid-template-columns:1fr; }
.sw-ecu-id__cvn dd { margin-bottom:6px; }
}
@media (max-width:480px) {
.sw-ecu-id.sw-ecu-id--website { padding-bottom:10px; }
.sw-ecu-id__hero { padding:14px 14px 26px; }
.sw-ecu-id__hero::before { top:42px; font-size:104px; }
.sw-ecu-id__hero-controls { align-items:flex-start; justify-content:flex-start; margin-bottom:21px; }
.sw-ecu-id__logo { width:min(120px,39vw); }
.sw-ecu-id__catalog-link { width:100%; max-width:none; justify-content:center; order:3; white-space:normal; line-height:1.2; text-align:center; }
.sw-ecu-id__kicker { font-size:10px!important; }
.sw-ecu-id__hero h2 { margin-top:6px!important; font-size:clamp(29px,10.4vw,40px)!important; line-height:1.02!important; }
.sw-ecu-id__drop { min-height:244px; padding:28px 14px 22px; }
.sw-ecu-id__drop-icon { width:54px; height:54px; }
.sw-ecu-id__drop strong { font-size:18px; }
.sw-ecu-id__drop > span:not(.sw-ecu-id__drop-icon) { font-size:14px; }
.sw-ecu-id__actions { align-items:stretch; flex-direction:column; padding:10px; }
.sw-ecu-id__actions button { width:100%; flex:0 0 auto; }
.sw-ecu-id button.is-danger { margin-left:0!important; }
.sw-ecu-id__result-list { gap:12px; margin:10px 10px 0; }
.sw-ecu-id__result { padding:12px; }
.sw-ecu-id__result-head h3 { align-items:flex-start; font-size:.98rem!important; }
.sw-ecu-id__result-actions { align-items:stretch; flex-direction:column; }
.sw-ecu-id button.sw-ecu-id__remove-result { width:100%; }
.sw-ecu-id__card { padding:13px 12px; }
.sw-ecu-id__table-wrap table,.sw-ecu-id__table-wrap tbody,.sw-ecu-id__table-wrap tr,.sw-ecu-id__table-wrap th,.sw-ecu-id__table-wrap td { display:block; width:100%; }
.sw-ecu-id__table-wrap tr { padding:8px 0; border-bottom:1px solid var(--sw-line); }
.sw-ecu-id__table-wrap th,.sw-ecu-id__table-wrap td { padding:2px 0; border:0; }
.sw-ecu-id__table-wrap tbody th { color:#9ba6ac; font-size:.7rem; letter-spacing:.07em; text-transform:uppercase; }
}
@media (prefers-reduced-motion:reduce) {
.sw-ecu-id__drop,.sw-ecu-id button { transition:none; }
.sw-ecu-id__drop:hover,.sw-ecu-id__drop:focus,.sw-ecu-id__drop:focus-visible,.sw-ecu-id__drop.is-dragging,.sw-ecu-id button:hover,.sw-ecu-id button:focus-visible { transform:none; }
.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::before,.sw-ecu-id__timer.is-running .sw-ecu-id__timer-clock::after { animation:none; }
.sw-ecu-id__progress > span { left:28%; width:44%; animation:none; transform:none; opacity:.8; }
}