/* TunerPilot catalogue and release showcase. */
.catalog-art{position:relative;display:grid;place-items:center;isolation:isolate;width:310px;min-height:260px;flex-shrink:0;color:#ff405a;background:radial-gradient(ellipse,#ff405a1a,transparent 68%);overflow:hidden}
.catalog-art:before,.catalog-art:after{content:"";position:absolute;width:85%;height:1px;z-index:-1;background:linear-gradient(90deg,transparent,#ff405a70,transparent);transform:rotate(-30deg)}.catalog-art:after{transform:rotate(30deg)}
.catalog-art-chip{display:grid;place-items:center;gap:6px;padding:20px;width:124px;height:124px;border:1px solid #ff7080aa;border-radius:24px;transform:rotate(-12deg);background:linear-gradient(145deg,#343c4e,#141a25 65%);box-shadow:8px 12px 0 #090d15,0 0 55px #ff405a22,inset 1px 1px 0 #ffffff36}
.catalog-art-chip svg{width:58px;height:58px;stroke-width:1}.catalog-art-chip>span{font:700 10px ui-monospace,monospace;letter-spacing:.2em;color:#e5e7ee}
.catalog-art-orbit{position:absolute;width:230px;height:230px;border:1px dashed #ff405a35;border-radius:50%;transform:rotate(15deg)}.catalog-art-orbit.second{width:290px;height:170px;transform:rotate(-30deg);border-style:solid}
.catalog-art-label{position:absolute;font:600 8px ui-monospace,monospace;letter-spacing:.19em;color:#a1aabd}.catalog-art-label.top{top:14px;left:16px}.catalog-art-label.bottom{bottom:14px;right:12px}
.catalog-art>i{width:6px;height:6px;border-radius:50%;position:absolute;top:40px;right:55px;background:#ff405a;box-shadow:0 0 14px #ff405a}.catalog-art>i:nth-last-child(2){top:auto;bottom:38px;right:85px;background:#57dbc5}.catalog-art>i:last-child{top:125px;right:21px;width:3px;height:3px}
.showcase-kicker{font:700 10px ui-monospace,monospace;letter-spacing:.22em;color:#ff6077!important;display:flex;align-items:center;gap:10px}.showcase-kicker:before{content:"";width:22px;height:2px;background:#ff405a}
/* Public and customer ECU catalogue */
.ecu-public-heading{padding:38px 40px;border:1px solid #343e50;border-radius:24px;background:radial-gradient(at 95% 0%,#ff405a18,transparent 55%),linear-gradient(125deg,#202734,#131922);position:relative;overflow:hidden}
.ecu-public-heading>.pm-button{display:none}.ecu-public-heading h1{font-size:clamp(38px,4.5vw,64px)!important;letter-spacing:-.055em}.ecu-public-heading>.catalog-art{margin-left:auto}
.ecu-public-stats{margin-top:-1px;position:relative;padding:0 24px}.ecu-public-stats>div{border-top:2px solid #ff405a44;background:linear-gradient(135deg,#202734,#171d26);box-shadow:0 15px 30px #0002}
.ecu-public-card{position:relative;transition:transform .18s,border-color .18s,box-shadow .18s;border-radius:18px;background:radial-gradient(at 100% 0%,#ff405a0b,transparent 65%),linear-gradient(140deg,#202734,#161c25)}
.ecu-public-card:before{content:"";position:absolute;top:28px;left:0;width:3px;height:42px;background:#ff405a;border-radius:0 4px 4px 0}.ecu-public-card:hover{transform:translateY(-4px);border-color:#ff405a77;box-shadow:0 18px 40px #0004}
.ecu-public-card h2{font-size:26px!important}.ecu-public-card header{padding-bottom:8px}.ecu-public-card .ecu-brand-logo{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:7px;border:1px solid #ffffff14;border-radius:12px;background:#ffffff07}.ecu-brand-logo img{width:100%;height:100%;object-fit:contain}
.ecu-public-card header>div:not(.ecu-brand-logo){flex:1;min-width:0}.ecu-public-controls{box-shadow:0 15px 35px #0002}.ecu-public-tags span{border-color:#ffffff19;background:#ffffff06}
.ecu-library-banner{position:relative;overflow:hidden;border:1px solid var(--line-strong);background:radial-gradient(at 85% 0%,#ff405a1b,transparent 55%),linear-gradient(120deg,var(--surface),var(--surface-soft));padding:36px!important;border-radius:22px!important}
.ecu-library-banner:after{content:"TP / DATABASE CORE";position:absolute;right:26px;bottom:12px;font:600 8px ui-monospace,monospace;color:var(--muted);letter-spacing:.2em}
.ecu-library-banner h2{font-size:clamp(25px,3vw,42px)!important;letter-spacing:-.05em!important}.ecu-library-banner .files-metrics{gap:22px}
.ecu-library-card{border-radius:16px!important;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000008}.ecu-library-card:before{content:"";position:absolute;left:0;top:26px;height:35px;width:3px;background:var(--red)}.ecu-library-card h3{font-size:23px!important;letter-spacing:-.04em!important}.ecu-library-card:hover{border-color:#ff405a70!important;box-shadow:0 15px 38px #0002!important}
.ecu-library-card .vehicle-symbol{width:48px;height:48px;border-radius:13px}.ecu-library-card .ecu-solution-tags>span{padding:7px 9px;border-radius:7px;font-size:10px}.ecu-library-card .ecu-card-meta{margin-top:22px}
/* Release page doubles as a clean screenshot board. */
.updates-shell{padding-top:32px;padding-bottom:50px}.updates-toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px;font-size:12px;align-items:center}.updates-toolbar>div{display:flex;gap:18px;align-items:center}.updates-toolbar a{display:inline-flex;align-items:center;gap:8px;color:#b4bdcc}.back-arrow{transform:rotate(180deg)}
.updates-toolbar button,.updates-pagination button{border:1px solid #3b4659;background:#202734;border-radius:9px;padding:12px 16px;color:#f4f6fa;font:600 11px inherit;display:inline-flex;gap:8px;align-items:center}.updates-toolbar button:hover{border-color:#ff405a}
.update-board{padding:36px;background:radial-gradient(at 100% 5%,#ff405a0d,transparent 35%),#101620;border:1px solid #303b4e;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 30px 70px #0003;color:#f2f5fc}
.update-board:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#ff405a,transparent 80%)}
.update-brandline{display:flex;align-items:center;gap:22px;border-bottom:1px solid #ffffff12;padding-bottom:22px}.update-brandline>a{width:130px;display:block}.update-brandline img{max-height:45px;object-fit:contain}.update-brandline>span{font:600 9px ui-monospace,monospace;letter-spacing:.17em;color:#a5b0c2}.update-brandline i,.update-added i{display:inline-block;width:5px;height:5px;background:#4de0b1;border-radius:50%;margin-right:6px;box-shadow:0 0 10px #4de0b144}.update-brandline>b{margin-left:auto;font:600 9px ui-monospace,monospace;letter-spacing:.12em;color:#9da9bc}
.update-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:35px 0}.update-hero h1{font-size:clamp(36px,4.7vw,64px);letter-spacing:-.055em;line-height:1.02;margin:18px 0}.update-hero h1 span{color:#ff506a}.update-hero-copy{color:#aeb9ca;font-size:13px;margin-bottom:24px}.update-hero .catalog-art{margin-right:18px}
.update-statline{display:flex;flex-wrap:wrap;gap:22px;color:#9fadc1;font-size:11px}.update-statline span+span{border-left:1px solid #ffffff20;padding-left:22px}.update-statline b{font-size:19px;color:#f4f6fa;margin-right:5px;font-weight:700}
.updates-filter{display:flex;align-items:center;gap:12px;border:1px solid #303c50;padding:13px;border-radius:12px;background:#1b2431;margin-bottom:28px}.updates-filter label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:#93a2b7}.updates-filter input,.updates-filter select{border:0;background:transparent;color:#eff2f9;font-size:12px;padding:8px;outline-offset:2px;min-width:0}.updates-filter input{width:100%}.updates-filter select{background:#151d29;border-radius:7px;border:1px solid #354155;max-width:220px}.updates-filter>span{font-size:10px;color:#9cabc1;padding:0 12px}
.update-edition{display:flex;justify-content:space-between;gap:10px;font:600 8px ui-monospace,monospace;letter-spacing:.15em;color:#899ab3;margin:8px 0 16px}
.updates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.update-card{padding:22px 22px 0;border:1px solid #344055;border-radius:15px;position:relative;overflow:hidden;background:radial-gradient(at 100% 0%,#ff405a0c,transparent 60%),linear-gradient(145deg,#232e3e,#171f2d);display:flex;flex-direction:column}
.update-card:before{content:"";position:absolute;top:80px;left:0;width:3px;height:42px;background:#ff405a;border-radius:0 3px 3px 0}.update-card-top{display:flex;gap:8px;align-items:center;margin-bottom:20px}.update-logo{width:42px;height:42px;flex:0 0 42px;border:1px solid #ffffff15;border-radius:12px;padding:8px;background:#ffffff06;display:grid;place-items:center}.update-logo img{max-width:100%;max-height:100%;object-fit:contain}.update-logo-fallback{display:grid;place-items:center;color:#8396b4}
.update-added{font:500 7px ui-monospace,monospace;letter-spacing:.06em;color:#91a5be}.update-number{margin-left:auto;font:500 12px ui-monospace,monospace;color:#566a87}.update-brand{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:#a9b7cd;margin:0 0 7px}.update-card h2{font-size:clamp(21px,2vw,29px);letter-spacing:-.03em;line-height:1.1;margin:0 0 20px;overflow-wrap:anywhere}
.update-solutions{display:flex;flex-wrap:wrap;align-content:start;gap:6px;margin-bottom:24px;flex:1}.update-solutions>span{display:inline-flex;align-items:center;gap:6px;border:1px solid #ff405a55;background:#ff405a12;color:#ff8394;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:600}.update-solutions svg{width:13px;height:13px}
.update-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #ffffff12;padding:15px 0;font-size:9px;color:#8f9fb7}.update-card footer a{color:#c0ccdf;display:flex;align-items:center;gap:6px}.update-card footer svg{width:13px}
.update-board-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:28px;margin-top:26px;border-top:1px solid #ffffff15}.update-board-footer>span{font:600 8px ui-monospace,monospace;letter-spacing:.12em;color:#91a0b6}.update-board-footer>b{font-size:16px;letter-spacing:-.03em}.update-board-footer>b>span{color:#ff506a}.update-board-footer>small{font-size:8px;color:#8193ad;max-width:190px}
.updates-pagination{display:flex;justify-content:space-between;gap:15px;padding-top:24px;align-items:center;font-size:11px;color:#a6b1c4}.updates-pagination>div{display:flex;gap:15px;align-items:center}.updates-pagination button:disabled{opacity:.3;cursor:default}.campaign-help{font-size:11px;color:#8998ad;margin:22px 0}.updates-empty{padding:40px;text-align:center;color:#a8b5c9;border:1px dashed #35435b;border-radius:12px}
.updates-shell [hidden]{display:none!important}.updates-page>.skip-link{position:absolute;transform:translateY(-300%)}.updates-page>.skip-link:focus{transform:none}
.campaign-view>#tpCookie{visibility:hidden;pointer-events:none}
.campaign-view>.pm-header,.campaign-view>.pm-footer,.campaign-view>.skip-link,.campaign-view .updates-filter,.campaign-view .campaign-help{display:none}.campaign-view .updates-shell{max-width:1400px;width:calc(100% - 40px);padding-top:18px}.campaign-view .update-board{border-radius:0;background:radial-gradient(at 100% 0,#ff405a16,transparent 45%),#101620;padding:44px}.campaign-view .update-card footer a{display:none}.campaign-view .update-brandline>a{width:160px}.campaign-view .update-hero{padding:28px 0}.campaign-view .update-hero h1{font-size:64px}.campaign-view .updates-toolbar{opacity:.15;transition:opacity .15s}.campaign-view .updates-toolbar:hover,.campaign-view .updates-toolbar:focus-within{opacity:1}
@media(max-width:1050px){.updates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.update-hero .catalog-art,.ecu-public-heading>.catalog-art{width:240px}.update-brandline>b{display:none}.ecu-public-heading{padding:28px}}
@media(max-width:650px){.update-board,.campaign-view .update-board{padding:20px}.update-hero .catalog-art,.ecu-public-heading>.catalog-art{display:none}.updates-grid{grid-template-columns:1fr}.update-hero h1,.campaign-view .update-hero h1{font-size:40px}.update-brandline{gap:14px}.update-brandline>a{width:115px}.update-brandline>span{font-size:7px}.updates-filter{flex-wrap:wrap}.updates-filter label{flex-basis:100%}.updates-filter>span{margin-left:auto}.update-statline{gap:12px}.update-statline span+span{padding-left:12px}.update-statline b{font-size:17px}.update-board-footer{flex-wrap:wrap}.update-board-footer small{max-width:none}.updates-toolbar{align-items:start;font-size:10px}.updates-toolbar>div{flex-direction:column;gap:8px}.updates-pagination{flex-direction:column}.ecu-public-heading{padding:28px 22px}.ecu-public-stats{padding:0}.campaign-view .updates-shell{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.ecu-public-card{transition:none}.ecu-public-card:hover{transform:none}}
@media print{.updates-page>.pm-header,.updates-page>.pm-footer,.updates-toolbar,.updates-pagination,.updates-filter,.campaign-help{display:none}.update-board{break-inside:avoid;box-shadow:none}.updates-shell{width:100%;padding:0}}
