.dm-app{
  --dm-bg:#f5f7f8;
  --dm-surface:#fff;
  --dm-text:#111827;
  --dm-muted:#667085;
  --dm-line:#e4e7ec;
  --dm-accent:#18212b;
  --dm-soft:#eef2f4;
  --dm-radius:22px;
  font-family:inherit;
  color:var(--dm-text);
  background:var(--dm-bg);
  border-radius:var(--dm-radius);
  padding:clamp(18px,3vw,34px);
  box-sizing:border-box;
}
.dm-app *{box-sizing:border-box}
.dm-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}
.dm-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;color:var(--dm-muted);margin-bottom:7px}
.dm-header h2{font-size:clamp(28px,4vw,46px);line-height:1.02;margin:0 0 10px;letter-spacing:-.04em}
.dm-header p{margin:0;color:var(--dm-muted);max-width:720px;font-size:15px}
.dm-count{min-width:110px;text-align:right}
.dm-count strong{display:block;font-size:38px;line-height:1;font-weight:800}
.dm-count span{font-size:12px;color:var(--dm-muted)}
.dm-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;gap:10px;align-items:end;margin-bottom:18px}
.dm-filter{display:flex;flex-direction:column;gap:6px}
.dm-filter>span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--dm-muted)}
.dm-filter select{appearance:none;background:var(--dm-surface);border:1px solid var(--dm-line);border-radius:12px;padding:11px 36px 11px 12px;font:inherit;font-size:14px;color:var(--dm-text);min-height:44px;background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%);background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.dm-reset{min-height:44px;border:1px solid var(--dm-line);background:transparent;border-radius:12px;padding:0 15px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.dm-reset:hover{background:var(--dm-surface)}
.dm-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);gap:16px;align-items:start}
.dm-map-panel,.dm-results-panel{background:var(--dm-surface);border:1px solid var(--dm-line);border-radius:18px;overflow:hidden}
.dm-map{height:620px;min-height:420px;background:#e9edf0;z-index:1}
.dm-map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--dm-muted)}
.dm-map-legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--dm-line);font-size:12px;color:var(--dm-muted)}
.dm-map-legend span{display:inline-flex;align-items:center;gap:6px}.dm-dot{width:9px;height:9px;border-radius:50%;background:#98a2b3;display:inline-block}.dm-dot-bike{background:#9b51e0}.dm-dot-truck{background:#f2994a}.dm-dot-bus{background:#2d9cdb}.dm-dot-car{background:#27ae60}.dm-dot-agriculture{background:#6b8e23}.dm-dot-multi{background:#667085}
.dm-results-panel{max-height:670px;display:flex;flex-direction:column}
.dm-results-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--dm-line)}
.dm-results-subtitle{color:var(--dm-muted);font-size:13px}.dm-results-count{font-size:12px;color:var(--dm-muted);white-space:nowrap}
.dm-results{padding:10px;overflow:auto;min-height:180px}
.dm-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid transparent;border-radius:14px;transition:.18s ease;background:#fff}
.dm-card+.dm-card{margin-top:4px}.dm-card:hover{border-color:var(--dm-line);background:#fbfcfc;transform:translateY(-1px)}
.dm-card[hidden]{display:none!important}
.dm-datebox{border:1px solid var(--dm-line);border-radius:12px;text-align:center;overflow:hidden;background:#fff}.dm-day{display:block;font-size:21px;font-weight:800;line-height:1;padding-top:7px}.dm-month{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--dm-muted);padding:4px 0 6px}
.dm-card-topline{display:flex;gap:9px}.dm-icon{font-size:22px;line-height:1.15}.dm-card h3{margin:0 0 4px;font-size:15px;line-height:1.25}.dm-meta{font-size:12px;color:var(--dm-muted)}
.dm-topic{font-size:13px;margin-top:9px;font-weight:700}.dm-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.dm-badge{font-size:10px;font-weight:800;background:#edf3f0;border-radius:999px;padding:5px 8px}.dm-badge-license{background:#111827;color:#fff}.dm-badge-soft{background:#f2f4f7;color:#475467}
.dm-details{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;color:var(--dm-muted);font-size:11px}.dm-action{align-self:center;text-decoration:none!important;color:var(--dm-text)!important;border:1px solid var(--dm-line);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800}.dm-action:hover{background:var(--dm-text);color:#fff!important}
.dm-empty,.dm-empty-static{padding:36px 22px;text-align:center;color:var(--dm-muted)}
.dm-leaflet-marker-wrap{background:none!important;border:none!important}.dm-leaflet-marker{width:44px;height:44px;border-radius:16px 16px 16px 4px;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 6px 18px rgba(17,24,39,.25);background:#27ae60}.dm-leaflet-marker span{transform:rotate(45deg);font-size:20px}.dm-marker-bike{background:#9b51e0}.dm-marker-truck{background:#f2994a}.dm-marker-bus{background:#2d9cdb}.dm-marker-car{background:#27ae60}.dm-marker-agriculture{background:#6b8e23}.dm-marker-multi{background:#667085}.dm-marker-muted{filter:grayscale(.75)}
.dm-popup{min-width:170px}.dm-popup strong{display:block;font-size:14px;margin-bottom:4px}.dm-popup-address{font-size:11px;color:#667085;margin-bottom:9px}.dm-popup-filter{border:0;background:#111827;color:#fff;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}
.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:1080px){.dm-filters{grid-template-columns:repeat(3,1fr)}.dm-layout{grid-template-columns:1fr}.dm-map{height:480px}.dm-results-panel{max-height:none}.dm-results{max-height:520px}}
@media(max-width:680px){.dm-app{padding:14px;border-radius:16px}.dm-header{align-items:flex-start}.dm-count{display:none}.dm-filters{grid-template-columns:1fr 1fr}.dm-reset{grid-column:1/-1}.dm-map{height:370px;min-height:330px}.dm-card{grid-template-columns:46px minmax(0,1fr)}.dm-action{grid-column:2;justify-self:start}.dm-results-head{align-items:flex-start}.dm-results-subtitle{display:none}}

/* BKF */
.dm-bkf-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--dm-line)}
.dm-bkf-standalone .dm-bkf-section{margin-top:0;padding-top:0;border-top:0}
.dm-bkf-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}
.dm-bkf-heading h2{margin:0 0 6px;font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}
.dm-bkf-heading p{margin:0;color:var(--dm-muted);font-size:14px}
.dm-bkf-filters{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,260px) auto;gap:10px;align-items:end;margin-bottom:14px}
.dm-bkf-reset{min-height:44px;border:1px solid var(--dm-line);background:var(--dm-surface);border-radius:12px;padding:0 15px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.dm-bkf-reset:hover{background:var(--dm-soft)}
.dm-bkf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dm-bkf-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;background:var(--dm-surface);border:1px solid var(--dm-line);border-radius:16px}
.dm-bkf-card[hidden]{display:none!important}
.dm-bkf-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--dm-text);color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em}
.dm-bkf-card h3{margin:5px 0 5px;font-size:16px;line-height:1.25}
.dm-bkf-card-modules{display:flex;flex-wrap:wrap;gap:5px}
.dm-bkf-card-modules span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f4;color:#344054;font-size:10px;font-weight:800}
.dm-bkf-card-meta,.dm-bkf-card-location{font-size:12px;color:var(--dm-muted)}
.dm-bkf-card-location{margin-top:3px}
.dm-bkf-empty-filter,.dm-bkf-empty{grid-column:1/-1;padding:28px;text-align:center;color:var(--dm-muted);border:1px dashed var(--dm-line);border-radius:14px}
@media(max-width:820px){.dm-bkf-grid{grid-template-columns:1fr}.dm-bkf-filters{grid-template-columns:1fr 1fr}.dm-bkf-reset{grid-column:1/-1}}
@media(max-width:560px){.dm-bkf-filters{grid-template-columns:1fr}.dm-bkf-card{grid-template-columns:46px minmax(0,1fr)}.dm-bkf-card .dm-action{grid-column:2;justify-self:start}}

/* v0.7 frontend views */
.dm-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.dm-reset,.dm-bkf-reset{min-height:auto;border:0;background:transparent!important;border-radius:0;padding:8px 2px;color:var(--dm-muted);font-size:12px;text-decoration:underline;text-underline-offset:3px;justify-self:start;align-self:center}
.dm-reset:hover,.dm-bkf-reset:hover{color:var(--dm-text)}
.dm-results-panel-wide{max-height:none;width:100%}
.dm-results-panel-wide .dm-results{overflow:visible;max-height:none}
.dm-view-list .dm-card{grid-template-columns:58px minmax(0,1fr) auto;padding:16px 18px}
.dm-view-compact{padding:18px}
.dm-view-compact .dm-header{margin-bottom:12px}
.dm-view-compact .dm-header h2{font-size:clamp(22px,3vw,30px);margin-bottom:0}
.dm-compact-list,.dm-bkf-compact-list{display:grid;gap:7px}
.dm-compact-card,.dm-bkf-compact{display:grid!important;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr)!important;gap:16px!important;align-items:center!important;padding:11px 13px!important;border:1px solid var(--dm-line)!important;border-radius:12px!important;background:var(--dm-surface)!important}
.dm-compact-when{display:flex;flex-direction:column;gap:2px;font-size:12px}.dm-compact-when span{color:var(--dm-muted)}
.dm-compact-main{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}.dm-compact-main span{color:var(--dm-muted);font-size:12px;white-space:normal}
.dm-day-group{border-bottom:1px solid var(--dm-line);padding:0 0 14px;margin:0 0 14px}
.dm-day-group:last-of-type{border-bottom:0;margin-bottom:0}
.dm-day-heading{display:flex;align-items:baseline;gap:8px;padding:8px 12px 6px}.dm-day-heading strong{font-size:15px}.dm-day-heading span{font-size:12px;color:var(--dm-muted)}
.dm-day-items{display:grid;gap:4px}
.dm-week-results{padding-top:4px}
.dm-leaflet-marker{background:#344054}
.dm-marker-location{background:#344054}
.dm-leaflet-marker span{font-size:17px;color:#fff;line-height:1}
.dm-bkf-list{display:grid;grid-template-columns:1fr;gap:9px}
.dm-bkf-list .dm-bkf-card{grid-template-columns:52px minmax(0,1fr) auto}
.dm-bkf-topic{margin:4px 0 7px;color:var(--dm-muted);font-size:13px;line-height:1.4;font-weight:400}
.dm-bkf-filters{grid-template-columns:repeat(auto-fit,minmax(180px,260px));align-items:end}
.dm-bkf-compact-list .dm-bkf-card-icon,.dm-bkf-compact-list .dm-bkf-card-modules,.dm-bkf-compact-list .dm-action{display:none}
@media(max-width:680px){
  .dm-filters{grid-template-columns:1fr 1fr}
  .dm-reset{grid-column:auto}
  .dm-compact-card,.dm-bkf-compact{grid-template-columns:1fr!important;gap:5px!important}
}
@media(max-width:460px){.dm-filters{grid-template-columns:1fr}}

/* v0.7.1 traffic / SEO tools */
.dm-tool,.dm-tools-hub{
  --dm-bg:#f5f7f8;--dm-surface:#fff;--dm-text:#111827;--dm-muted:#667085;--dm-line:#e4e7ec;--dm-accent:#18212b;--dm-soft:#eef2f4;
  font-family:inherit;color:var(--dm-text);background:var(--dm-bg);border:1px solid var(--dm-line);border-radius:20px;padding:clamp(18px,3vw,30px);box-sizing:border-box
}
.dm-tool *,.dm-tools-hub *{box-sizing:border-box}
.dm-tool-head{margin-bottom:18px}.dm-tool-head h2{margin:0 0 7px;font-size:clamp(26px,3.5vw,38px);line-height:1.05;letter-spacing:-.035em}.dm-tool-head p{margin:0;color:var(--dm-muted);max-width:760px;line-height:1.5}
.dm-tool-form{display:grid;gap:15px}.dm-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dm-tool-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dm-tool-form label{display:flex;flex-direction:column;gap:7px;min-width:0}.dm-tool-form label>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dm-muted)}
.dm-tool-form input,.dm-tool-form select{width:100%;min-height:48px;border:1px solid var(--dm-line);border-radius:12px;background:var(--dm-surface);color:var(--dm-text);padding:10px 12px;font:inherit;font-size:15px;outline:none}.dm-tool-form input:focus,.dm-tool-form select:focus{border-color:#98a2b3;box-shadow:0 0 0 3px rgba(17,24,39,.06)}
.dm-input-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--dm-line);border-radius:12px;background:var(--dm-surface);overflow:hidden}.dm-input-unit input{border:0;border-radius:0;box-shadow:none!important}.dm-input-unit>span{padding:0 12px;color:var(--dm-muted);font-size:13px;font-weight:700}
.dm-tool-primary{justify-self:start;border:0;border-radius:12px;background:var(--dm-text);color:#fff;min-height:46px;padding:0 18px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.dm-tool-primary:hover{opacity:.92}.dm-tool-primary:focus-visible{outline:3px solid rgba(17,24,39,.18);outline-offset:2px}
.dm-tool-result{display:none;background:var(--dm-surface);border:1px solid var(--dm-line);border-radius:16px;padding:16px}.dm-tool-result.is-visible{display:block}.dm-result-title{font-size:18px;font-weight:900;letter-spacing:-.02em;margin-bottom:11px}.dm-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:10px}.dm-result-stat{background:var(--dm-soft);border-radius:12px;padding:10px 12px}.dm-result-stat span{display:block;color:var(--dm-muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;margin-bottom:3px}.dm-result-stat strong{font-size:15px}.dm-tool-result p{margin:0;color:var(--dm-muted);line-height:1.5;font-size:13px}
.dm-tool-note{margin:0;color:var(--dm-muted);font-size:11px;line-height:1.55}.dm-tool-examples{padding:11px 13px;border-radius:12px;background:var(--dm-soft);color:var(--dm-muted);font-size:12px;line-height:1.5}
.dm-tools-nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.dm-tools-nav button{border:1px solid var(--dm-line);background:var(--dm-surface);color:var(--dm-text);border-radius:999px;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.dm-tools-nav button.is-active{background:var(--dm-text);color:#fff;border-color:var(--dm-text)}
.dm-tools-panels>[hidden]{display:none!important}.dm-tool-embedded{padding:2px 0}.dm-tools-hub .dm-tool-embedded .dm-tool-form{margin:0}
@media(max-width:760px){.dm-tool-grid,.dm-tool-grid-2{grid-template-columns:1fr}.dm-tool-primary{width:100%}.dm-tools-nav{display:grid;grid-template-columns:1fr 1fr}.dm-tools-nav button{border-radius:10px;text-align:left}}
@media(max-width:430px){.dm-tools-nav{grid-template-columns:1fr}}

/* v0.8.0 visual frontend */
.dm-course-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,360px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 2px 10px}.dm-carousel-shell{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}.dm-carousel-arrow{width:42px;height:42px;border:1px solid var(--dm-line);border-radius:999px;background:var(--dm-surface);color:var(--dm-text);font:inherit;font-size:26px;line-height:1;cursor:pointer}.dm-carousel-arrow:hover{background:var(--dm-soft)}.dm-carousel-card{scroll-snap-align:start;display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;gap:14px!important;min-height:190px!important;padding:18px!important}.dm-carousel-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:18px;background:var(--dm-text);color:#fff;min-height:112px}.dm-carousel-date span,.dm-carousel-date small{text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;opacity:.72}.dm-carousel-date strong{font-size:34px;line-height:1}.dm-carousel-content{min-width:0}.dm-carousel-time{font-size:11px;color:var(--dm-muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dm-carousel-content h3{margin:7px 0 5px;font-size:18px;line-height:1.15}.dm-carousel-content p{margin:0 0 12px;color:var(--dm-muted);font-size:12px;line-height:1.45}.dm-chip-row{display:flex;flex-wrap:wrap;gap:5px}.dm-chip-row span{padding:4px 7px;border-radius:999px;background:var(--dm-soft);font-size:10px;font-weight:800}.dm-chip-row .dm-chip-muted{background:#fff;border:1px solid var(--dm-line);color:var(--dm-muted)}
.dm-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.dm-location-card{background:var(--dm-surface);border:1px solid var(--dm-line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:15px}.dm-location-card-top{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start}.dm-location-pin{position:relative;width:42px;height:42px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--dm-text);display:grid;place-items:center}.dm-location-pin span{width:12px;height:12px;border-radius:50%;background:#fff;transform:rotate(45deg)}.dm-location-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dm-muted);font-weight:900}.dm-location-card h3{margin:2px 0 3px;font-size:20px}.dm-location-card p{margin:0;color:var(--dm-muted);font-size:12px}.dm-location-badges{display:flex;flex-wrap:wrap;gap:5px}.dm-location-badges span{padding:5px 8px;border-radius:8px;background:var(--dm-soft);font-size:10px;font-weight:900}.dm-location-next{border-top:1px solid var(--dm-line);padding-top:12px}.dm-location-next>strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--dm-muted);margin-bottom:7px}.dm-location-next-row{display:grid;grid-template-columns:minmax(105px,.45fr) minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px dashed var(--dm-line);font-size:11px}.dm-location-next-row:last-child{border-bottom:0}.dm-location-next-row time{font-weight:800}.dm-location-next-row span{color:var(--dm-muted)}
.dm-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dm-stat-card{background:var(--dm-surface);border:1px solid var(--dm-line);border-radius:18px;padding:16px;display:flex;align-items:center;gap:12px;min-width:0}.dm-stat-card-wide{grid-column:1/-1}.dm-stat-card-wide strong{font-size:clamp(20px,3vw,30px)}.dm-stat-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dm-muted);font-weight:900}.dm-stat-card strong{display:block;margin:2px 0;font-size:22px}.dm-stat-card small{color:var(--dm-muted);font-size:11px}.dm-stat-icon{width:48px;height:48px;border-radius:15px;background:var(--dm-text);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900}.dm-stat-ring,.dm-bkf-module-ring{--dm-progress:50%;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--dm-text) var(--dm-progress),var(--dm-soft) 0);position:relative;flex:0 0 auto}.dm-stat-ring:before,.dm-bkf-module-ring:before{content:"";position:absolute;inset:5px;background:var(--dm-surface);border-radius:50%}.dm-stat-ring strong,.dm-bkf-module-ring strong{position:relative;z-index:1;font-size:17px}
/* graphical week timeline */
.dm-week-results{position:relative}.dm-day-group{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;position:relative;padding:0 0 20px;margin:0;border:0}.dm-day-group:before{content:"";position:absolute;left:151px;top:26px;bottom:-2px;width:2px;background:var(--dm-line)}.dm-day-group:last-of-type:before{display:none}.dm-day-heading{position:relative;display:flex;flex-direction:column;align-items:flex-end;padding:9px 18px 0 0;gap:1px}.dm-day-heading:after{content:"";position:absolute;right:-18px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--dm-text);box-shadow:0 0 0 5px var(--dm-bg)}.dm-day-heading strong{font-size:14px}.dm-day-heading span{font-size:11px}.dm-day-items{display:grid;gap:8px;padding-left:18px}.dm-day-items .dm-card{background:var(--dm-surface)}
/* BKF module tiles + year */
.dm-bkf-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.dm-bkf-module-card{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 64px;gap:13px;padding:18px;border:1px solid var(--dm-line);border-radius:20px;background:var(--dm-surface);overflow:hidden}.dm-bkf-module-number{width:52px;height:52px;border-radius:16px;background:var(--dm-text);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:950}.dm-bkf-module-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dm-muted);font-weight:900}.dm-bkf-module-copy h3{margin:3px 0 5px;font-size:18px;line-height:1.15}.dm-bkf-module-copy p{margin:0;color:var(--dm-muted);font-size:11px}.dm-bkf-module-ring{width:60px;height:60px}.dm-bkf-module-ring span{position:relative;z-index:1;display:block;font-size:8px;text-transform:uppercase;color:var(--dm-muted);margin-top:-5px}.dm-bkf-module-next{grid-column:1/-1;background:var(--dm-soft);border-radius:13px;padding:11px 12px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.dm-bkf-module-next span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--dm-muted);font-weight:900}.dm-bkf-module-next strong{font-size:12px}.dm-bkf-module-next small{font-size:10px;color:var(--dm-muted)}.dm-bkf-year-wrap{overflow-x:auto;padding-bottom:8px}.dm-bkf-year-grid{min-width:1050px;display:grid;grid-template-columns:240px repeat(12,minmax(65px,1fr));border:1px solid var(--dm-line);border-radius:16px;overflow:hidden;background:var(--dm-surface)}.dm-bkf-year-corner,.dm-bkf-year-month,.dm-bkf-year-label,.dm-bkf-year-cell{min-height:52px;border-right:1px solid var(--dm-line);border-bottom:1px solid var(--dm-line);display:flex;align-items:center;justify-content:center;padding:8px}.dm-bkf-year-corner,.dm-bkf-year-label{justify-content:flex-start}.dm-bkf-year-corner,.dm-bkf-year-month{background:var(--dm-soft);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--dm-muted)}.dm-bkf-year-label{font-size:11px;font-weight:800}.dm-bkf-year-cell span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--dm-text);color:#fff;font-size:11px;font-weight:900}.dm-bkf-year-cell.has-events{background:color-mix(in srgb,var(--dm-soft) 70%,transparent)}
/* graphical tool results */
.dm-tool-result{overflow:hidden}.dm-speed-visual{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:14px}.dm-speed-gauge{--dm-gauge:40%;width:106px;height:106px;border-radius:50%;background:conic-gradient(#d64545 var(--dm-gauge),var(--dm-soft) 0);display:grid;place-items:center;position:relative}.dm-speed-gauge:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--dm-surface)}.dm-speed-gauge div{position:relative;text-align:center}.dm-speed-gauge strong{display:block;font-size:27px;line-height:1}.dm-speed-gauge span{font-size:9px;color:var(--dm-muted);font-weight:800}.dm-speed-track{position:relative;height:14px;border-radius:999px;background:linear-gradient(90deg,#2f9e62 0 45%,#e4b23f 45% 70%,#d64545 70% 100%)}.dm-speed-limit,.dm-speed-over{position:absolute;top:22px;font-size:10px;font-weight:900}.dm-speed-limit{left:10%}.dm-speed-over{right:4%;color:#b42318}.dm-trailer-visual{display:flex;align-items:end;gap:5px;min-height:92px;margin:0 0 12px}.dm-combo-segment{flex:var(--dm-size) 1 0;min-width:110px;border:2px solid var(--dm-text);border-radius:12px 12px 6px 6px;padding:12px;background:var(--dm-soft);position:relative}.dm-combo-segment:before,.dm-combo-segment:after{content:"";position:absolute;bottom:-9px;width:16px;height:16px;border-radius:50%;background:var(--dm-text);border:3px solid var(--dm-surface)}.dm-combo-segment:before{left:15px}.dm-combo-segment:after{right:15px}.dm-combo-icon{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dm-muted);font-weight:900}.dm-combo-segment strong{font-size:16px}.dm-combo-link{width:24px;height:3px;background:var(--dm-text);margin-bottom:20px}.dm-license-result{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;background:var(--dm-text);color:#fff;padding:10px 13px;margin-bottom:12px}.dm-license-result span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;opacity:.65;font-weight:900}.dm-license-result strong{font-size:20px}.dm-road-visual{position:relative;margin:0 0 16px;padding-bottom:16px}.dm-road-label{display:flex;justify-content:space-between;font-size:9px;color:var(--dm-muted);font-weight:800;margin-bottom:6px}.dm-road{display:flex;height:68px;border-radius:13px;overflow:hidden;background:var(--dm-soft);border:1px solid var(--dm-line)}.dm-road-segment{min-width:8%;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;font-size:9px}.dm-road-segment strong{font-size:13px}.dm-road-reaction{background:repeating-linear-gradient(90deg,#eef2f4 0,#eef2f4 16px,#fff 16px,#fff 18px)}.dm-road-brake{background:repeating-linear-gradient(135deg,#d9dde2 0,#d9dde2 10px,#eef2f4 10px,#eef2f4 20px)}.dm-road-car{position:absolute;bottom:4px;width:30px;height:12px;border-radius:6px 8px 3px 3px;background:var(--dm-text);transform:translateX(-50%)}.dm-road-car:before,.dm-road-car:after{content:"";position:absolute;bottom:-5px;width:8px;height:8px;border-radius:50%;background:var(--dm-text)}.dm-road-car:before{left:4px}.dm-road-car:after{right:4px}.dm-class-path,.dm-probe-path{display:flex;align-items:center;gap:6px;margin-bottom:14px}.dm-class-node,.dm-probe-step{flex:1;min-width:0;display:flex;align-items:center;gap:7px;border:1px solid var(--dm-line);border-radius:12px;padding:9px;background:var(--dm-soft);opacity:.45}.dm-class-node.is-active,.dm-probe-step.is-active{opacity:1;background:var(--dm-surface);border-color:#98a2b3}.dm-class-node span,.dm-probe-step span{width:23px;height:23px;border-radius:50%;background:var(--dm-text);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;flex:0 0 auto}.dm-class-node strong,.dm-probe-step strong{font-size:12px}.dm-class-connector,.dm-probe-line{width:18px;height:2px;background:var(--dm-line);flex:0 0 auto}.dm-extra-path{padding:8px 10px;border-radius:10px;background:var(--dm-soft);font-size:11px;margin:-5px 0 12px}.dm-finder-result{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;margin-bottom:14px}.dm-finder-vehicle,.dm-finder-license{min-height:90px;border:1px solid var(--dm-line);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;background:var(--dm-soft)}.dm-finder-vehicle span{font-weight:900}.dm-finder-license span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--dm-muted);font-weight:900}.dm-finder-license strong{font-size:30px}.dm-finder-arrow{font-size:24px;font-weight:900}.dm-probe-step{flex-direction:column;justify-content:center;text-align:center;min-height:78px}.dm-probe-step strong{font-size:10px;line-height:1.2}
@media(max-width:760px){.dm-carousel-shell{grid-template-columns:1fr}.dm-carousel-arrow{display:none}.dm-course-carousel{grid-auto-columns:minmax(260px,86%)}.dm-stats-grid{grid-template-columns:1fr}.dm-stat-card-wide{grid-column:auto}.dm-day-group{grid-template-columns:92px minmax(0,1fr);gap:8px}.dm-day-group:before{left:101px}.dm-day-heading{padding-right:12px}.dm-day-heading:after{right:-15px}.dm-day-items{padding-left:12px}.dm-bkf-module-card{grid-template-columns:48px minmax(0,1fr)}.dm-bkf-module-ring{grid-column:1;grid-row:2}.dm-bkf-module-next{grid-column:2}.dm-speed-visual{grid-template-columns:1fr}.dm-speed-gauge{margin:auto}.dm-class-path,.dm-probe-path{align-items:stretch}.dm-class-connector,.dm-probe-line{width:8px}.dm-trailer-visual{overflow-x:auto;padding-bottom:12px}.dm-finder-result{grid-template-columns:1fr}.dm-finder-arrow{transform:rotate(90deg);text-align:center}}
@media(max-width:480px){.dm-day-group{grid-template-columns:1fr}.dm-day-group:before,.dm-day-heading:after{display:none}.dm-day-heading{align-items:flex-start;padding:8px 4px}.dm-day-items{padding-left:0}.dm-class-path,.dm-probe-path{display:grid;grid-template-columns:1fr}.dm-class-connector,.dm-probe-line{display:none}.dm-bkf-module-next{grid-template-columns:1fr;gap:3px}}
.dm-choice-fieldset{border:0;padding:0;margin:0;min-width:0}.dm-choice-fieldset legend{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--dm-muted);margin-bottom:8px}.dm-choice-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.dm-choice-cards label{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid var(--dm-line);border-radius:14px;background:var(--dm-surface);padding:12px;cursor:pointer;min-height:104px}.dm-choice-cards input{position:absolute;opacity:0;pointer-events:none}.dm-choice-cards label:has(input:checked){border-color:var(--dm-text);box-shadow:inset 0 0 0 1px var(--dm-text);background:var(--dm-soft)}.dm-choice-icon{width:31px;height:31px;border-radius:10px;background:var(--dm-text);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:950;margin-bottom:5px}.dm-choice-cards strong{font-size:12px}.dm-choice-cards small{font-size:10px;color:var(--dm-muted);line-height:1.25}
@media(max-width:900px){.dm-choice-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.dm-choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.8.1 – animated stopping-distance visual */
.dm-stop-animation{margin:0 0 16px}.dm-stop-phases{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 10px}.dm-stop-phases span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--dm-line);border-radius:999px;background:var(--dm-soft);color:var(--dm-muted);font-size:10px;font-weight:850;transition:border-color .2s ease,background .2s ease,color .2s ease,opacity .2s ease}.dm-stop-phases b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--dm-line);color:var(--dm-text);font-size:9px}.dm-stop-phases span.is-active{background:var(--dm-surface);border-color:var(--dm-text);color:var(--dm-text)}.dm-stop-phases span.is-active b,.dm-stop-phases span.is-done b{background:var(--dm-text);color:#fff}.dm-stop-phases span.is-done{color:var(--dm-text);opacity:.78}.dm-road-shell{position:relative;padding:0 0 34px}.dm-road-shell .dm-road{position:relative;isolation:isolate}.dm-road-shell .dm-road:after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,rgba(255,255,255,.8) 0,rgba(255,255,255,.8) 16px,transparent 16px,transparent 29px);pointer-events:none;z-index:3}.dm-road-shell .dm-road-segment{position:relative;overflow:hidden;isolation:isolate}.dm-road-shell .dm-road-segment>span{position:relative;z-index:4;text-shadow:0 1px 0 rgba(255,255,255,.7)}.dm-road-fill{position:absolute;inset:0;transform:scaleX(0);transform-origin:left center;z-index:2;background:rgba(71,87,106,.16)}.dm-road-brake .dm-road-fill{background:rgba(36,44,57,.22)}.dm-car-track{position:absolute;left:0;right:38px;top:45px;height:18px;z-index:7;pointer-events:none}.dm-road-shell .dm-road-car{left:0;bottom:auto;top:0;width:38px;height:15px;border-radius:7px 10px 4px 4px;transform:none;will-change:left;box-shadow:0 2px 6px rgba(0,0,0,.16)}.dm-road-shell .dm-road-car:before,.dm-road-shell .dm-road-car:after{bottom:-5px;width:9px;height:9px}.dm-road-shell .dm-road-car span:before{content:"";position:absolute;left:9px;top:-5px;width:16px;height:7px;border-radius:8px 8px 1px 1px;background:var(--dm-text);transform:skewX(-13deg)}.dm-road-shell .dm-road-car.is-braking:after{box-shadow:15px 1px 0 -3px rgba(36,44,57,.35),25px 1px 0 -4px rgba(36,44,57,.18)}.dm-road-shell .dm-road-car.is-stopped{animation:dm-car-settle .24s ease-out}.dm-stop-marker{position:absolute;right:-2px;top:18px;z-index:8;display:flex;flex-direction:column;align-items:center;opacity:.25;transform:scale(.9);transition:opacity .2s ease,transform .2s ease}.dm-stop-marker i{width:2px;height:43px;background:var(--dm-text);display:block}.dm-stop-marker span{margin-top:-1px;padding:3px 5px;border-radius:5px;background:var(--dm-text);color:#fff;font-size:8px;font-style:normal;font-weight:950;letter-spacing:.06em}.dm-stop-marker.is-active{opacity:1;transform:scale(1);animation:dm-stop-pop .38s ease-out}.dm-animation-replay{appearance:none;border:0;background:transparent;color:var(--dm-muted);padding:3px 0;font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.dm-animation-replay:hover{color:var(--dm-text)}.dm-animation-replay:focus-visible{outline:2px solid var(--dm-text);outline-offset:3px;border-radius:3px}@keyframes dm-stop-pop{0%{transform:scale(.82)}70%{transform:scale(1.08)}100%{transform:scale(1)}}@keyframes dm-car-settle{0%{transform:translateX(0)}45%{transform:translateX(-3px)}100%{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.dm-stop-phases span,.dm-stop-marker,.dm-road-shell .dm-road-car,.dm-road-fill{transition:none!important;animation:none!important}}@media(max-width:560px){.dm-stop-phases{gap:5px}.dm-stop-phases span{padding:5px 7px;font-size:9px}.dm-road-label{gap:10px}.dm-road-label span:last-child{text-align:right}.dm-road-shell .dm-road-segment>span{font-size:8px}.dm-road-shell .dm-road-segment strong{font-size:11px}.dm-car-track{top:46px}}

/* v0.8.2 – enhanced stopping-distance simulation */
.dm-stop-animation{margin:2px 0 16px}
.dm-stop-head{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--dm-line);border-radius:14px;background:linear-gradient(135deg,var(--dm-surface),var(--dm-soft))}
.dm-live-speed{width:78px;height:78px;flex:0 0 auto;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--dm-text);color:#fff;box-shadow:inset 0 0 0 6px rgba(255,255,255,.08)}
.dm-live-speed strong{font-size:25px;line-height:1;font-variant-numeric:tabular-nums}
.dm-live-speed span{font-size:9px;margin-top:3px;opacity:.72;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.dm-live-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.dm-live-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--dm-muted);font-weight:900}
.dm-live-copy strong{font-size:13px;line-height:1.3;color:var(--dm-text)}
.dm-road-scene{position:relative;padding:12px 12px 9px;border:1px solid var(--dm-line);border-radius:16px;background:linear-gradient(180deg,#f4f7f8 0 28%,#e7ece9 28% 39%,#5b6168 39% 100%);overflow:hidden}
.dm-road-scene:before{content:"";position:absolute;left:0;right:0;top:28%;height:11%;background:repeating-linear-gradient(90deg,#cbd7c6 0,#cbd7c6 24px,#dbe3d7 24px,#dbe3d7 47px);opacity:.85}
.dm-road-scene .dm-road-label{position:relative;z-index:2;color:#46505a;margin-bottom:15px}
.dm-road-scene .dm-road-shell{padding-bottom:47px}
.dm-road-scene .dm-road{height:86px;border:0;border-radius:11px;background:#4f555c;box-shadow:inset 0 2px 0 rgba(255,255,255,.08),inset 0 -2px 0 rgba(0,0,0,.13)}
.dm-road-scene .dm-road:before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:rgba(255,255,255,.72);z-index:5}
.dm-road-scene .dm-road:after{top:50%;height:3px;background:repeating-linear-gradient(90deg,#fff 0,#fff 23px,transparent 23px,transparent 42px);opacity:.88}
.dm-road-scene .dm-road-segment{background:transparent;color:#fff;align-items:flex-end;padding-bottom:9px}
.dm-road-scene .dm-road-segment>span{display:flex;flex-direction:column;gap:1px;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.dm-road-scene .dm-road-segment em{font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.07em;opacity:.72;font-weight:900}
.dm-road-scene .dm-road-segment strong{font-size:13px;color:#fff}
.dm-road-scene .dm-road-reaction{background:rgba(255,255,255,.025)}
.dm-road-scene .dm-road-brake{background:rgba(0,0,0,.055)}
.dm-road-scene .dm-road-fill{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18));transition:none!important}
.dm-road-scene .dm-road-brake .dm-road-fill{background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,211,122,.2))}
.dm-road-scene .dm-car-track{left:4px;right:43px;top:53px;height:24px}
.dm-road-scene .dm-road-car{top:0;width:43px;height:17px;border-radius:8px 11px 4px 4px;background:#171b20;box-shadow:0 4px 7px rgba(0,0,0,.25);transition:none!important}
.dm-road-scene .dm-road-car span:before{left:10px;top:-7px;width:20px;height:9px;border-radius:9px 9px 2px 2px;background:#252b31;box-shadow:inset 7px 1px 0 rgba(255,255,255,.16)}
.dm-road-scene .dm-road-car:before,.dm-road-scene .dm-road-car:after{width:10px;height:10px;bottom:-6px;border:2px solid #78818a;background:#101316}
.dm-stop-animation.is-reacting .dm-road-car{filter:drop-shadow(-12px 0 4px rgba(255,255,255,.18))}
.dm-stop-animation.is-braking .dm-road-car{filter:none}
.dm-stop-animation.is-braking .dm-road-car:after{box-shadow:16px 2px 0 -3px rgba(255,211,122,.46),28px 2px 0 -4px rgba(255,255,255,.24)}
.dm-brake-marker,.dm-stop-marker{position:absolute;top:18px;z-index:9;display:flex;flex-direction:column;align-items:center;opacity:.26;transform:translateX(-50%) scale(.92);transition:opacity .2s ease,transform .2s ease}
.dm-brake-marker i,.dm-stop-marker i{width:2px;height:54px;background:rgba(255,255,255,.78);display:block}
.dm-brake-marker span,.dm-stop-marker span{margin-top:2px;padding:3px 6px;border-radius:999px;background:#fff;color:#252b31;font-size:7px;font-style:normal;font-weight:950;letter-spacing:.08em;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.dm-brake-marker.is-active,.dm-stop-marker.is-active{opacity:1;transform:translateX(-50%) scale(1)}
.dm-stop-marker{right:-12px;left:auto;transform:scale(.92)}
.dm-stop-marker.is-active{transform:scale(1)}
.dm-stop-marker span{background:#252b31;color:#fff}
.dm-distance-scale{position:absolute;left:0;right:0;bottom:12px;height:18px;border-top:1px solid rgba(255,255,255,.42);color:#fff;font-size:8px;font-weight:800}
.dm-distance-scale span{position:absolute;top:4px;transform:translateX(-50%);white-space:nowrap;opacity:.9}
.dm-distance-scale span:first-child{left:0;transform:none}
.dm-distance-scale span:last-child{right:0;left:auto;transform:none}
.dm-animation-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px;color:var(--dm-muted);font-size:10px}
.dm-animation-foot>span{display:inline-flex;align-items:center;gap:6px}
.dm-animation-foot>span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dm-text);opacity:.35}
.dm-animation-replay{font-size:10px;text-decoration:none;border:1px solid var(--dm-line);border-radius:999px;padding:6px 9px;background:var(--dm-surface)}
.dm-animation-replay:hover{background:var(--dm-soft)}
.dm-stop-phases span.is-active{box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
.dm-stop-animation.is-reacting [data-stop-phase="reaction"],.dm-stop-animation.is-braking [data-stop-phase="brake"]{font-weight:900}
@media(max-width:560px){.dm-stop-head{align-items:flex-start}.dm-live-speed{width:66px;height:66px}.dm-live-speed strong{font-size:21px}.dm-road-scene{padding-left:8px;padding-right:8px}.dm-road-scene .dm-road{height:80px}.dm-road-scene .dm-car-track{top:51px}.dm-stop-phases span{flex:1 1 auto}.dm-animation-foot{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.dm-brake-marker,.dm-stop-marker,.dm-road-car,.dm-road-fill{transition:none!important;animation:none!important}}

/* v0.8.3 – richer stop-distance simulation */
.dm-stop-head{align-items:stretch;gap:16px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#eef7ff 0%,#ffffff 46%,#f3fbf7 100%);box-shadow:0 10px 26px rgba(15,23,42,.06)}
.dm-gauge-card{display:flex;align-items:center;justify-content:center;min-width:196px;padding:4px 0}
.dm-gauge-shell{--dm-needle-angle:-64deg;position:relative;width:182px;height:104px;border-radius:120px 120px 22px 22px;background:linear-gradient(180deg,#0d2340 0%,#111c2d 72%,#1b304d 100%);box-shadow:inset 0 10px 18px rgba(255,255,255,.08),0 12px 32px rgba(17,24,39,.14);overflow:hidden}
.dm-gauge-shell:before{content:"";position:absolute;left:12px;right:12px;top:12px;bottom:12px;border-radius:110px 110px 18px 18px;background:radial-gradient(circle at 50% 82%,rgba(255,255,255,.12),transparent 26%),linear-gradient(180deg,#142a47 0%,#101927 100%)}
.dm-gauge-shell:after{content:"";position:absolute;left:19px;right:19px;bottom:13px;height:36px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.06)}
.dm-gauge-ticks{position:absolute;inset:0;pointer-events:none}
.dm-gauge-ticks span{position:absolute;left:50%;bottom:21px;width:3px;height:18px;background:rgba(255,255,255,.5);border-radius:999px;transform-origin:50% calc(100% + 36px)}
.dm-gauge-ticks span:nth-child(1){transform:translateX(-50%) rotate(-96deg)}
.dm-gauge-ticks span:nth-child(2){transform:translateX(-50%) rotate(-48deg)}
.dm-gauge-ticks span:nth-child(3){transform:translateX(-50%) rotate(0deg);height:21px;background:rgba(255,255,255,.7)}
.dm-gauge-ticks span:nth-child(4){transform:translateX(-50%) rotate(48deg)}
.dm-gauge-ticks span:nth-child(5){transform:translateX(-50%) rotate(96deg)}
.dm-gauge-arc{position:absolute;left:18px;right:18px;top:17px;height:87px;border-radius:120px 120px 0 0;border:10px solid transparent;border-bottom:0;background:conic-gradient(from 210deg,#3b82f6 0deg,#41c3ff 55deg,#f5b942 132deg,#ff7849 186deg,#ef4444 240deg);-webkit-mask:radial-gradient(circle at 50% 100%,transparent 0 53px,#000 54px);mask:radial-gradient(circle at 50% 100%,transparent 0 53px,#000 54px);opacity:.94}
.dm-gauge-center{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;color:#fff;text-align:center;z-index:4}
.dm-gauge-center strong{font-size:32px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.dm-gauge-center span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.dm-gauge-center small{font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#9fd9ff}
.dm-gauge-values{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.6);font-size:9px;font-weight:900;letter-spacing:.08em;pointer-events:none}
.dm-gauge-needle{position:absolute;left:50%;bottom:33px;width:4px;height:63px;border-radius:999px;background:linear-gradient(180deg,#fff 0%,#f1f5f9 45%,#ff8a65 100%);transform-origin:50% calc(100% - 5px);transform:translateX(-50%) rotate(-120deg);z-index:6;box-shadow:0 0 0 1px rgba(17,24,39,.1),0 2px 10px rgba(0,0,0,.22)}
.dm-gauge-cap{position:absolute;left:50%;bottom:29px;transform:translateX(-50%);width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#d9e4ef 55%,#51657c 56%,#1f2e44 100%);z-index:7;box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.dm-live-copy{justify-content:center;padding:4px 0}
.dm-live-copy small{color:#2a5b8f}
.dm-live-copy strong{font-size:15px}
.dm-live-copy p{margin:2px 0 0;color:#536273;font-size:12px;line-height:1.5;max-width:480px}
.dm-stop-phases{margin:0 0 12px}
.dm-stop-phases span{background:#fff;border-color:#d6e2f0;color:#4c6075;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.dm-stop-phases b{background:#dde8f3;color:#223247}
.dm-stop-phases span.is-active{border-color:#8ab3ff;background:linear-gradient(180deg,#fff,#f2f8ff)}
.dm-stop-phases span.is-active b,.dm-stop-phases span.is-done b{background:#1d4ed8}
.dm-stop-phases span.is-done{background:#f6faf8;border-color:#d8eadf;color:#335247}
.dm-road-scene{padding:16px 14px 12px;border:1px solid #dce9f2;border-radius:20px;background:linear-gradient(180deg,#bfe7ff 0%,#eaf7ff 23%,#91d38f 23%,#78bd74 38%,#516173 38%,#455262 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 12px 30px rgba(12,29,49,.08)}
.dm-road-scene:before{top:9%;height:14%;background:radial-gradient(circle at 18% 50%,rgba(255,255,255,.88) 0 13px,transparent 14px),radial-gradient(circle at 26% 45%,rgba(255,255,255,.8) 0 10px,transparent 11px),radial-gradient(circle at 72% 40%,rgba(255,255,255,.84) 0 12px,transparent 13px),radial-gradient(circle at 79% 50%,rgba(255,255,255,.72) 0 9px,transparent 10px);opacity:.95}
.dm-road-scene:after{content:"";position:absolute;left:0;right:0;top:27%;height:12%;background:repeating-linear-gradient(90deg,rgba(57,116,46,.25) 0,rgba(57,116,46,.25) 11px,rgba(138,191,112,.2) 11px,rgba(138,191,112,.2) 26px);opacity:.8}
.dm-road-scene .dm-road-label{color:#18354d;font-size:10px;letter-spacing:.04em}
.dm-road-scene .dm-road-shell{padding-bottom:50px}
.dm-road-scene .dm-road{height:108px;border-radius:14px;background:linear-gradient(180deg,#596777 0%,#434f5d 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.12),inset 0 -2px 0 rgba(0,0,0,.2)}
.dm-road-scene .dm-road:before{top:14px;height:2px;background:rgba(255,255,255,.68)}
.dm-road-scene .dm-road:after{height:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.94) 0,rgba(255,255,255,.94) 24px,transparent 24px,transparent 46px)}
.dm-road-scene .dm-road-segment{align-items:flex-end;padding-bottom:11px}
.dm-road-scene .dm-road-segment em{font-size:8px;letter-spacing:.08em;opacity:.84}
.dm-road-scene .dm-road-segment strong{font-size:14px}
.dm-road-scene .dm-road-reaction{background:linear-gradient(180deg,rgba(49,130,246,.12),rgba(49,130,246,.04))}
.dm-road-scene .dm-road-brake{background:linear-gradient(180deg,rgba(255,176,64,.1),rgba(239,68,68,.04))}
.dm-road-scene .dm-road-fill{background:linear-gradient(90deg,rgba(56,189,248,.32),rgba(30,64,175,.4));box-shadow:inset -1px 0 0 rgba(255,255,255,.15)}
.dm-road-scene .dm-road-brake .dm-road-fill{background:linear-gradient(90deg,rgba(251,191,36,.34),rgba(249,115,22,.42))}
.dm-road-scene .dm-car-track{left:0;right:82px;top:45px;height:54px;overflow:visible}
.dm-road-scene .dm-road-car.dm-car-henz{top:0;width:84px;height:42px;background:transparent;box-shadow:none;filter:drop-shadow(0 12px 8px rgba(0,0,0,.18))}
.dm-road-scene .dm-road-car.dm-car-henz:before,.dm-road-scene .dm-road-car.dm-car-henz:after{display:none}
.dm-car-henz .dm-car-shell{position:absolute;left:4px;right:4px;bottom:8px;height:19px;border-radius:11px 14px 10px 10px;background:linear-gradient(180deg,#ffffff 0%,#dce7f1 100%);border:1px solid rgba(31,44,60,.14);box-shadow:inset 0 -3px 0 rgba(6,8,15,.06)}
.dm-car-henz .dm-car-shell:before{content:"";position:absolute;left:0;right:0;bottom:4px;height:4px;background:linear-gradient(90deg,#173a63 0%,#1f5c96 40%,#1ed0aa 100%);border-radius:999px;opacity:.95}
.dm-car-henz .dm-car-roof{position:absolute;left:22px;right:20px;bottom:23px;height:12px;border-radius:11px 13px 4px 4px;background:linear-gradient(180deg,#f9fcff 0%,#dce7ef 100%);border:1px solid rgba(31,44,60,.14);transform:skewX(-10deg)}
.dm-car-henz .dm-car-window{position:absolute;bottom:25px;height:9px;background:linear-gradient(180deg,#88bfd5 0%,#5e90a6 100%);opacity:.96;border-radius:4px 4px 2px 2px}
.dm-car-henz .dm-car-window-front{left:44px;width:16px;transform:skewX(-14deg)}
.dm-car-henz .dm-car-window-back{left:28px;width:13px;transform:skewX(-14deg)}
.dm-car-henz .dm-car-stripe{position:absolute;left:20px;right:20px;bottom:16px;height:5px;border-radius:999px;background:linear-gradient(90deg,#1f5c96 0%,#20d5ab 62%,#47d7ac 100%);box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.dm-car-henz .dm-car-brand{position:absolute;left:18px;bottom:18px;font-size:8px;font-weight:950;letter-spacing:.02em;color:#173a63;text-transform:uppercase}
.dm-car-henz .dm-car-sign{position:absolute;left:31px;bottom:35px;padding:1px 6px;border-radius:999px;background:#1d4ed8;color:#fff;font-size:6px;font-weight:900;letter-spacing:.08em;box-shadow:0 3px 8px rgba(29,78,216,.28)}
.dm-car-henz .dm-wheel{position:absolute;bottom:1px;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#c8d2dc 0 22%,#1f2937 23% 59%,#090d12 60% 100%);border:2px solid #5d6876;box-shadow:0 0 0 2px rgba(255,255,255,.1) inset}
.dm-car-henz .dm-wheel:before{content:"";position:absolute;left:50%;top:50%;width:2px;height:11px;background:rgba(255,255,255,.45);transform:translate(-50%,-50%)}
.dm-car-henz .dm-wheel:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:rgba(255,255,255,.4);transform:translate(-50%,-50%)}
.dm-car-henz .dm-wheel-back{left:17px}
.dm-car-henz .dm-wheel-front{right:15px}
.dm-stop-animation.is-reacting .dm-car-henz .dm-wheel,.dm-stop-animation.is-braking .dm-car-henz .dm-wheel{animation:dm-wheel-spin .36s linear infinite}
.dm-stop-animation.is-braking .dm-car-henz .dm-wheel{animation-duration:.58s}
.dm-stop-animation.is-stopped .dm-car-henz .dm-wheel{animation:none}
.dm-stop-animation.is-reacting .dm-road-car.dm-car-henz{filter:drop-shadow(0 14px 10px rgba(30,64,175,.16))}
.dm-stop-animation.is-braking .dm-road-car.dm-car-henz{filter:drop-shadow(0 10px 10px rgba(249,115,22,.15))}
.dm-stop-animation.is-stopped .dm-road-car.dm-car-henz{filter:drop-shadow(0 8px 8px rgba(0,0,0,.16))}
.dm-brake-marker,.dm-stop-marker{top:19px}
.dm-brake-marker i,.dm-stop-marker i{height:62px;background:rgba(255,255,255,.82)}
.dm-brake-marker span,.dm-stop-marker span{font-size:8px;padding:4px 8px}
.dm-brake-marker span{background:#fff3d9;color:#9a3412}
.dm-stop-marker{right:-14px}
.dm-stop-marker span{background:#0f172a;color:#fff}
.dm-distance-scale{bottom:10px;color:#eff7ff;font-size:8px}
.dm-distance-scale{border-top-color:rgba(255,255,255,.58)}
.dm-animation-foot{margin-top:12px;padding:0 4px;color:#425466;font-size:11px}
.dm-animation-foot>span:before{width:9px;height:9px;opacity:1;background:linear-gradient(135deg,#38bdf8,#f59e0b)}
.dm-animation-replay{color:#1d4ed8;font-weight:900}
.dm-animation-replay:hover{color:#0f3eb1}
@keyframes dm-wheel-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:700px){.dm-stop-head{flex-direction:column}.dm-gauge-card{min-width:0}.dm-gauge-shell{margin:0 auto}.dm-live-copy p{max-width:none}}
@media(max-width:560px){.dm-road-scene .dm-road{height:96px}.dm-road-scene .dm-car-track{top:43px;right:72px}.dm-road-scene .dm-road-car.dm-car-henz{width:74px;height:38px}.dm-car-henz .dm-car-brand{font-size:7px}.dm-car-henz .dm-car-sign{left:26px;bottom:31px}.dm-gauge-shell{width:166px;height:98px}.dm-gauge-center strong{font-size:28px}.dm-live-copy strong{font-size:14px}}

/* v0.8.4 – compact stopping distance and richer trailer check */
.dm-bremsweg-shell-compact .dm-tool{padding:14px}
.dm-bremsweg-shell-compact .dm-tool-head{margin-bottom:10px}
.dm-bremsweg-shell-compact .dm-tool-head h2{font-size:clamp(22px,3vw,28px)}
.dm-bremsweg-shell-compact .dm-tool-head p{font-size:12px;max-width:620px}
.dm-bremsweg-compact{gap:10px}
.dm-bremsweg-compact .dm-tool-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.dm-bremsweg-compact .dm-tool-form input,.dm-bremsweg-compact .dm-tool-form select{min-height:42px}
.dm-bremsweg-compact .dm-tool-primary{min-height:42px;padding:0 14px}
.dm-bremsweg-compact .dm-tool-result{padding:11px;border-radius:14px}
.dm-bremsweg-compact .dm-result-title{font-size:15px;margin-bottom:7px}
.dm-bremsweg-compact .dm-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:7px}
.dm-bremsweg-compact .dm-result-stat{padding:7px 8px;border-radius:9px}
.dm-bremsweg-compact .dm-result-stat span{font-size:8px}
.dm-bremsweg-compact .dm-result-stat strong{font-size:13px}
.dm-bremsweg-compact .dm-tool-result>p{font-size:10px}
.dm-bremsweg-compact .dm-tool-note{display:none}
.dm-bremsweg-compact .dm-stop-head{display:grid;grid-template-columns:126px minmax(0,1fr);gap:10px;padding:9px 10px;margin-bottom:8px}
.dm-bremsweg-compact .dm-gauge-card{min-width:0;padding:0}
.dm-bremsweg-compact .dm-gauge-shell{width:122px;height:75px;border-radius:90px 90px 16px 16px}
.dm-bremsweg-compact .dm-gauge-shell:before{left:8px;right:8px;top:8px;bottom:8px}
.dm-bremsweg-compact .dm-gauge-shell:after{left:13px;right:13px;bottom:8px;height:26px}
.dm-bremsweg-compact .dm-gauge-arc{left:12px;right:12px;top:11px;height:62px;border-width:7px;-webkit-mask:radial-gradient(circle at 50% 100%,transparent 0 36px,#000 37px);mask:radial-gradient(circle at 50% 100%,transparent 0 36px,#000 37px)}
.dm-bremsweg-compact .dm-gauge-needle{bottom:23px;height:43px;width:3px}
.dm-bremsweg-compact .dm-gauge-cap{bottom:20px;width:13px;height:13px}
.dm-bremsweg-compact .dm-gauge-center{bottom:8px}
.dm-bremsweg-compact .dm-gauge-center strong{font-size:21px}
.dm-bremsweg-compact .dm-gauge-center span{font-size:7px}
.dm-bremsweg-compact .dm-gauge-center small{display:none}
.dm-bremsweg-compact .dm-gauge-values{left:14px;right:14px;bottom:11px;font-size:7px}
.dm-bremsweg-compact .dm-gauge-ticks span{bottom:15px;height:12px;transform-origin:50% calc(100% + 25px)}
.dm-bremsweg-compact .dm-live-copy small{font-size:8px}
.dm-bremsweg-compact .dm-live-copy strong{font-size:12px}
.dm-bremsweg-compact .dm-live-copy p{font-size:10px;line-height:1.35;margin-top:0}
.dm-bremsweg-compact .dm-stop-phases{gap:5px;margin-bottom:7px}
.dm-bremsweg-compact .dm-stop-phases span{font-size:8px;padding:4px 6px}
.dm-bremsweg-compact .dm-stop-phases b{width:15px;height:15px;font-size:8px}
.dm-bremsweg-compact .dm-road-scene{padding:9px 9px 6px;border-radius:14px}
.dm-bremsweg-compact .dm-road-scene .dm-road-label{font-size:8px;margin-bottom:7px}
.dm-bremsweg-compact .dm-road-scene .dm-road{height:72px;border-radius:10px}
.dm-bremsweg-compact .dm-road-scene .dm-car-track{top:30px;right:62px;height:40px}
.dm-bremsweg-compact .dm-road-scene .dm-road-car.dm-car-henz{width:62px;height:31px}
.dm-bremsweg-compact .dm-car-henz .dm-car-shell{bottom:6px;height:14px}
.dm-bremsweg-compact .dm-car-henz .dm-car-roof{left:17px;right:15px;bottom:17px;height:9px}
.dm-bremsweg-compact .dm-car-henz .dm-car-window{bottom:19px;height:7px}
.dm-bremsweg-compact .dm-car-henz .dm-car-window-front{left:33px;width:12px}
.dm-bremsweg-compact .dm-car-henz .dm-car-window-back{left:21px;width:10px}
.dm-bremsweg-compact .dm-car-henz .dm-car-stripe{left:15px;right:15px;bottom:12px;height:4px}
.dm-bremsweg-compact .dm-car-henz .dm-car-brand{left:13px;bottom:14px;font-size:6px}
.dm-bremsweg-compact .dm-car-henz .dm-car-sign{left:23px;bottom:26px;font-size:5px;padding:1px 4px}
.dm-bremsweg-compact .dm-car-henz .dm-wheel{width:11px;height:11px;bottom:0}
.dm-bremsweg-compact .dm-car-henz .dm-wheel-back{left:13px}.dm-bremsweg-compact .dm-car-henz .dm-wheel-front{right:11px}
.dm-bremsweg-compact .dm-road-scene .dm-road-segment strong{font-size:11px}
.dm-bremsweg-compact .dm-road-scene .dm-road-segment em{font-size:7px}
.dm-bremsweg-compact .dm-road-scene .dm-road-shell{padding-bottom:34px}
.dm-bremsweg-compact .dm-brake-marker i,.dm-bremsweg-compact .dm-stop-marker i{height:42px}
.dm-bremsweg-compact .dm-brake-marker span,.dm-bremsweg-compact .dm-stop-marker span{font-size:6px;padding:2px 5px}
.dm-bremsweg-compact .dm-distance-scale{font-size:7px;bottom:6px}
.dm-bremsweg-compact .dm-animation-foot{margin-top:6px;font-size:9px}

.dm-trailer-scene{margin:0 0 13px;border:1px solid #dbe7f2;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(20,42,66,.06)}
.dm-trailer-scene-sky{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:linear-gradient(135deg,#eaf7ff,#f2fff8);color:#17324b}
.dm-trailer-scene-sky span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#4d6f8b}
.dm-trailer-scene-sky strong{font-size:16px}
.dm-trailer-road{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0;min-height:132px;padding:28px 24px 28px;background:linear-gradient(180deg,#bfe8ff 0 42%,#8bce86 42% 57%,#536171 57% 100%);overflow:hidden}
.dm-trailer-road:before{content:"";position:absolute;left:0;right:0;bottom:27px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.95) 0,rgba(255,255,255,.95) 25px,transparent 25px,transparent 48px)}
.dm-trailer-road:after{content:"";position:absolute;left:0;right:0;top:19px;height:28px;background:radial-gradient(circle at 20% 60%,rgba(255,255,255,.88) 0 12px,transparent 13px),radial-gradient(circle at 28% 50%,rgba(255,255,255,.8) 0 9px,transparent 10px),radial-gradient(circle at 74% 45%,rgba(255,255,255,.86) 0 11px,transparent 12px)}
.dm-trailer-car-art,.dm-trailer-box-art{position:relative;z-index:2;flex:0 0 auto}
.dm-trailer-car-art{width:148px;height:70px}
.dm-trailer-car-body{position:absolute;left:3px;right:3px;bottom:16px;height:30px;border-radius:16px 24px 10px 10px;background:linear-gradient(180deg,#fff,#dce8f2);border:1px solid rgba(23,50,75,.15);box-shadow:inset 0 -4px 0 rgba(30,93,150,.08)}
.dm-trailer-car-body:after{content:"";position:absolute;left:10px;right:10px;bottom:7px;height:6px;border-radius:999px;background:linear-gradient(90deg,#205f9b,#47d7ac)}
.dm-trailer-car-cabin{position:absolute;left:43px;right:28px;bottom:43px;height:20px;border-radius:17px 19px 3px 3px;background:linear-gradient(180deg,#f8fbff,#d8e6ef);border:1px solid rgba(23,50,75,.14);transform:skewX(-10deg)}
.dm-trailer-car-window{position:absolute;left:63px;bottom:47px;width:43px;height:14px;border-radius:7px 8px 3px 3px;background:linear-gradient(180deg,#92c4d9,#5e8da3);transform:skewX(-10deg)}
.dm-trailer-wheel{position:absolute;border-radius:50%;background:radial-gradient(circle,#cbd5df 0 22%,#233142 23% 60%,#080d13 61% 100%);border:2px solid #697887}
.dm-trailer-car-wheel-1,.dm-trailer-car-wheel-2{bottom:6px;width:22px;height:22px}.dm-trailer-car-wheel-1{left:24px}.dm-trailer-car-wheel-2{right:22px}
.dm-trailer-car-art b,.dm-trailer-box-art b{position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);font-size:10px;color:#eef7ff;white-space:nowrap}
.dm-trailer-hitch{position:relative;z-index:3;width:29px;height:4px;margin:0 -2px 25px;background:#273547;border-radius:999px}
.dm-trailer-hitch:after{content:"";position:absolute;right:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#202b39}
.dm-trailer-box-art{width:112px;height:62px}
.dm-trailer-box-body{position:absolute;left:4px;right:5px;bottom:17px;height:35px;border-radius:5px 9px 8px 6px;background:linear-gradient(180deg,#f6fafc,#d7e4ec);border:1px solid rgba(23,50,75,.15)}
.dm-trailer-box-body:after{content:"";position:absolute;left:8px;right:8px;bottom:7px;height:5px;border-radius:999px;background:linear-gradient(90deg,#f59e0b,#fb7185)}
.dm-trailer-box-top{position:absolute;left:10px;right:11px;bottom:52px;height:5px;border-radius:5px 5px 0 0;background:#73869a}
.dm-trailer-box-wheel{bottom:7px;left:49px;width:20px;height:20px}
.dm-trailer-meter{padding:12px 14px 14px;background:#fff}
.dm-trailer-meter-track{position:relative;height:14px;border-radius:999px;background:linear-gradient(90deg,#dff4e8 0 58%,#fff2d5 58% 72%,#ffe0dd 72% 100%);overflow:visible}
.dm-trailer-meter-track>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#0ea5e9,#f59e0b);box-shadow:0 2px 7px rgba(37,99,235,.18)}
.dm-trailer-meter-track i{position:absolute;top:-4px;width:2px;height:22px;background:#26384a;z-index:2}.dm-trailer-meter-track .dm-limit-b{transform:translateX(-1px)}.dm-trailer-meter-track .dm-limit-b96{transform:translateX(-1px)}
.dm-trailer-meter-labels{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:7px;font-size:8px;color:#617386}.dm-trailer-meter-labels em{font-style:normal}.dm-trailer-meter-labels em:nth-child(2){text-align:center}.dm-trailer-meter-labels strong{text-align:right;color:#1f3041}
.dm-trailer-license-ladder{display:grid;grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr;align-items:center;gap:4px;margin:0 0 12px}
.dm-trailer-license-step{min-width:0;display:flex;align-items:center;gap:7px;padding:9px;border:1px solid #dce5ed;border-radius:12px;background:#f7fafc;opacity:.6}
.dm-trailer-license-step>span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#d8e2ec;color:#33475a;font-size:9px;font-weight:900;flex:0 0 auto}
.dm-trailer-license-step div{min-width:0}.dm-trailer-license-step strong{display:block;font-size:12px}.dm-trailer-license-step small{display:block;margin-top:1px;font-size:8px;color:#708196;line-height:1.25}
.dm-trailer-license-step.is-done{opacity:.85;background:#f3fbf7;border-color:#d5eadf}.dm-trailer-license-step.is-done>span{background:#2f9e62;color:#fff}
.dm-trailer-license-step.is-active{opacity:1;background:linear-gradient(180deg,#f0f7ff,#fff);border-color:#8cb7ff;box-shadow:0 6px 18px rgba(37,99,235,.08)}.dm-trailer-license-step.is-active>span{background:#2563eb;color:#fff}
.dm-trailer-license-line{height:2px;background:#d9e2eb}
.dm-license-result-visual{background:linear-gradient(135deg,#17324b,#204f76)}
@media(max-width:760px){.dm-trailer-license-ladder{grid-template-columns:1fr;gap:6px}.dm-trailer-license-line{width:2px;height:10px;margin:auto}.dm-trailer-road{padding-left:8px;padding-right:8px}.dm-trailer-car-art{width:126px}.dm-trailer-box-art{width:96px}.dm-bremsweg-compact .dm-tool-grid{grid-template-columns:1fr}.dm-bremsweg-compact .dm-result-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:520px){.dm-bremsweg-compact .dm-stop-head{grid-template-columns:1fr}.dm-bremsweg-compact .dm-gauge-shell{margin:auto}.dm-trailer-road{transform-origin:center;gap:0}.dm-trailer-car-art{width:112px}.dm-trailer-box-art{width:82px}.dm-trailer-hitch{width:20px}.dm-trailer-car-body{height:26px}.dm-trailer-car-cabin{left:35px;right:21px}.dm-trailer-car-window{left:51px;width:35px}.dm-trailer-box-body{height:31px}.dm-trailer-meter-labels{font-size:7px}}

/* v0.8.5 – Henz CI: grau / rot / schwarz / weiss */
.dm-stop-head{background:linear-gradient(135deg,#f5f5f5 0%,#ffffff 58%,#ececec 100%);border-color:#d3d3d3;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.dm-gauge-shell{background:linear-gradient(180deg,#1b1b1b 0%,#0d0d0d 78%,#171717 100%);box-shadow:inset 0 8px 18px rgba(255,255,255,.045),0 10px 26px rgba(0,0,0,.18)}
.dm-gauge-shell:before{background:radial-gradient(circle at 50% 80%,rgba(255,255,255,.06),transparent 26%),linear-gradient(180deg,#252525 0%,#101010 100%)}
.dm-gauge-shell:after{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.005));border-color:rgba(255,255,255,.07)}
.dm-gauge-arc{background:conic-gradient(from 210deg,#7f7f7f 0deg,#b7b7b7 160deg,#d9d9d9 185deg,#d8202f 186deg,#d8202f 240deg);opacity:.96}
.dm-gauge-ticks span{background:rgba(255,255,255,.55)}
.dm-gauge-ticks span:nth-child(3){background:#fff}
.dm-gauge-needle{background:linear-gradient(180deg,#ef3340 0%,#d71920 58%,#99131a 100%);box-shadow:0 0 7px rgba(215,25,32,.36)}
.dm-gauge-cap{background:radial-gradient(circle at 36% 34%,#f2f2f2 0 15%,#b5b5b5 16% 38%,#4d4d4d 39% 59%,#111 60% 100%);box-shadow:0 0 0 3px rgba(255,255,255,.055)}
.dm-gauge-center small{color:#d9d9d9}
.dm-live-copy small{color:#8f1118}
.dm-live-copy p{color:#5f5f5f}
.dm-stop-phases span{background:#fff;border-color:#d7d7d7;color:#555;box-shadow:none}
.dm-stop-phases b{background:#dedede;color:#333}
.dm-stop-phases span.is-active{border-color:#d71920;background:#fff}
.dm-stop-phases span.is-active b,.dm-stop-phases span.is-done b{background:#d71920;color:#fff}
.dm-stop-phases span.is-done{background:#f3f3f3;border-color:#d3d3d3;color:#3c3c3c}
.dm-road-scene{border-color:#d0d0d0;background:linear-gradient(180deg,#f4f4f4 0%,#ededed 24%,#bcbcbc 24%,#a8a8a8 38%,#4a4a4a 38%,#343434 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 26px rgba(0,0,0,.07)}
.dm-road-scene:before{background:radial-gradient(circle at 18% 50%,rgba(255,255,255,.86) 0 12px,transparent 13px),radial-gradient(circle at 27% 45%,rgba(255,255,255,.68) 0 9px,transparent 10px),radial-gradient(circle at 73% 44%,rgba(255,255,255,.82) 0 11px,transparent 12px)}
.dm-road-scene:after{background:repeating-linear-gradient(90deg,rgba(85,85,85,.18) 0,rgba(85,85,85,.18) 11px,rgba(180,180,180,.18) 11px,rgba(180,180,180,.18) 26px)}
.dm-road-scene .dm-road-label{color:#333}
.dm-road-scene .dm-road-reaction{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.dm-road-scene .dm-road-brake{background:linear-gradient(180deg,rgba(215,25,32,.05),rgba(215,25,32,.02))}
.dm-road-scene .dm-road-fill{background:linear-gradient(90deg,rgba(180,180,180,.28),rgba(95,95,95,.46))}
.dm-road-scene .dm-road-brake .dm-road-fill{background:linear-gradient(90deg,rgba(215,25,32,.20),rgba(215,25,32,.50))}
.dm-brake-marker span{background:#fff;color:#a10f16;border:1px solid rgba(215,25,32,.22)}
.dm-stop-marker span{background:#111;color:#fff}
.dm-animation-foot{color:#555}
.dm-animation-foot>span:before{background:linear-gradient(90deg,#8e8e8e 0 48%,#d71920 52% 100%)}
.dm-animation-replay{color:#b1131b}
.dm-animation-replay:hover{color:#7d0c12}

/* Golf-artiger Henz Fahrschulwagen */
.dm-road-scene .dm-road-car.dm-car-golf{width:90px;height:43px}
.dm-car-golf .dm-car-shell{left:2px;right:2px;bottom:8px;height:18px;border-radius:9px 17px 9px 8px;background:linear-gradient(180deg,#f5f5f5 0%,#d9d9d9 100%);border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 -3px 0 rgba(0,0,0,.07)}
.dm-car-golf .dm-car-shell:before{content:"";position:absolute;left:4px;width:10px;bottom:4px;height:6px;border-radius:3px 0 0 3px;background:#b9b9b9}
.dm-car-golf .dm-car-shell:after{content:"";position:absolute;right:2px;bottom:6px;width:6px;height:5px;border-radius:0 3px 3px 0;background:#d71920;box-shadow:0 0 5px rgba(215,25,32,.25)}
.dm-car-golf .dm-car-roof{left:21px;right:18px;bottom:23px;height:13px;border-radius:11px 15px 3px 3px;background:linear-gradient(180deg,#ededed,#d0d0d0);border-color:rgba(0,0,0,.18);transform:skewX(-7deg)}
.dm-car-golf .dm-car-window{bottom:25px;height:9px;background:linear-gradient(180deg,#717171,#454545);border:1px solid rgba(255,255,255,.12)}
.dm-car-golf .dm-car-window-back{left:29px;width:15px;transform:skewX(-8deg)}
.dm-car-golf .dm-car-window-front{left:47px;width:17px;transform:skewX(-12deg)}
.dm-car-golf .dm-car-henz-panel{position:absolute;left:18px;right:13px;bottom:11px;height:11px;border-radius:2px;background:linear-gradient(100deg,transparent 0 8%,#a9a9a9 8% 20%,transparent 20% 28%,#747474 28% 37%,transparent 37% 47%,#d71920 47% 52%,transparent 52% 100%);opacity:.92}
.dm-car-golf .dm-car-henz-logo{position:absolute;left:31px;bottom:14px;display:flex;align-items:baseline;gap:2px;color:#666;line-height:1;white-space:nowrap;z-index:5;text-transform:uppercase}
.dm-car-golf .dm-car-henz-logo i{font-style:normal;font-size:4px;font-weight:800;letter-spacing:-.02em}
.dm-car-golf .dm-car-henz-logo strong{font-size:6px;letter-spacing:-.04em;color:#4d4d4d}
.dm-car-golf .dm-car-henz-slashes{position:absolute;right:18px;bottom:13px;width:11px;height:11px;z-index:4;background:linear-gradient(107deg,transparent 0 16%,#a8a8a8 16% 30%,transparent 30% 42%,#767676 42% 55%,transparent 55% 67%,#d71920 67% 79%,transparent 79% 100%);transform:skewX(-8deg)}
.dm-car-golf .dm-wheel{width:15px;height:15px;bottom:1px;background:radial-gradient(circle,#a8a8a8 0 20%,#4c4c4c 21% 40%,#161616 41% 100%);border-color:#3c3c3c}
.dm-car-golf .dm-wheel-back{left:17px}
.dm-car-golf .dm-wheel-front{right:15px}
.dm-car-golf .dm-wheel:before,.dm-car-golf .dm-wheel:after{background:rgba(255,255,255,.36)}
.dm-stop-animation.is-reacting .dm-road-car.dm-car-golf,.dm-stop-animation.is-braking .dm-road-car.dm-car-golf{filter:drop-shadow(0 10px 8px rgba(0,0,0,.18))}

/* Anhaenger-Check – deutlich hochwertiger und im Henz-Look */
.dm-trailer-scene{border-color:#d0d0d0;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.065)}
.dm-trailer-scene-sky{padding:12px 15px;background:linear-gradient(135deg,#f5f5f5,#fff 62%,#ededed);color:#1f1f1f;border-bottom:1px solid #dedede}
.dm-trailer-scene-sky span{color:#6a6a6a}
.dm-trailer-scene-sky strong{font-size:18px;color:#171717}
.dm-trailer-road{min-height:150px;padding-top:31px;background:linear-gradient(180deg,#f3f3f3 0 40%,#c2c2c2 40% 55%,#464646 55% 100%)}
.dm-trailer-road:after{background:radial-gradient(circle at 18% 55%,rgba(255,255,255,.78) 0 11px,transparent 12px),radial-gradient(circle at 25% 45%,rgba(255,255,255,.64) 0 8px,transparent 9px),radial-gradient(circle at 76% 50%,rgba(255,255,255,.72) 0 10px,transparent 11px)}
.dm-trailer-car-art.dm-henz-car-art{width:166px;height:77px}
.dm-henz-car-art .dm-trailer-car-body{left:3px;right:3px;bottom:16px;height:29px;border-radius:10px 18px 10px 8px;background:linear-gradient(180deg,#f7f7f7,#d9d9d9);border-color:rgba(0,0,0,.17);box-shadow:inset 0 -4px 0 rgba(0,0,0,.05)}
.dm-henz-car-art .dm-trailer-car-body:before{content:"";position:absolute;right:2px;bottom:6px;width:7px;height:6px;border-radius:0 3px 3px 0;background:#d71920}
.dm-henz-car-art .dm-trailer-car-body:after{content:none}
.dm-henz-car-art .dm-trailer-car-cabin{left:44px;right:29px;bottom:43px;height:21px;border-radius:16px 18px 3px 3px;background:linear-gradient(180deg,#ededed,#d0d0d0);border-color:rgba(0,0,0,.16);transform:skewX(-7deg)}
.dm-henz-car-art .dm-trailer-car-window{bottom:47px;height:14px;background:linear-gradient(180deg,#6d6d6d,#444);border-radius:6px 7px 2px 2px;transform:skewX(-9deg)}
.dm-henz-car-art .dm-trailer-car-window-back{left:61px;width:21px}
.dm-henz-car-art .dm-trailer-car-window-front{left:85px;width:25px}
.dm-henz-side-panel{position:absolute;left:26px;right:24px;bottom:22px;height:10px;background:linear-gradient(104deg,transparent 0 10%,#b2b2b2 10% 21%,transparent 21% 29%,#777 29% 39%,transparent 39% 48%,#d71920 48% 54%,transparent 54% 100%);z-index:5}
.dm-henz-wordmark{position:absolute;left:54px;bottom:24px;z-index:7;display:flex;gap:3px;align-items:baseline;text-transform:uppercase;white-space:nowrap;color:#666;line-height:1}
.dm-henz-wordmark i{font-style:normal;font-size:6px;font-weight:800}
.dm-henz-wordmark strong{font-size:9px;color:#505050;letter-spacing:-.04em}
.dm-henz-slashes{position:absolute;right:31px;bottom:20px;width:17px;height:18px;background:linear-gradient(106deg,transparent 0 15%,#aaa 15% 29%,transparent 29% 42%,#777 42% 56%,transparent 56% 68%,#d71920 68% 80%,transparent 80% 100%);transform:skewX(-8deg);z-index:6}
.dm-henz-car-art .dm-trailer-wheel{background:radial-gradient(circle,#aaa 0 20%,#555 21% 42%,#151515 43% 100%);border-color:#3d3d3d}
.dm-henz-car-art .dm-trailer-car-wheel-1{left:26px}.dm-henz-car-art .dm-trailer-car-wheel-2{right:22px}
.dm-trailer-car-art b,.dm-trailer-box-art b{bottom:-19px;padding:3px 7px;border-radius:999px;background:rgba(20,20,20,.72);color:#fff;font-size:9px;letter-spacing:.02em}
.dm-trailer-hitch{width:35px;height:3px;margin-bottom:25px;background:#292929}
.dm-trailer-hitch:before{content:"";position:absolute;left:8px;right:8px;top:-5px;height:12px;border-bottom:2px solid #555;transform:skewX(-18deg)}
.dm-trailer-hitch span{position:absolute;left:50%;top:-4px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#444;border:2px solid #a5a5a5}
.dm-trailer-box-art.dm-henz-trailer-art{width:126px;height:67px}
.dm-henz-trailer-art .dm-trailer-box-body{left:5px;right:5px;bottom:17px;height:38px;border-radius:5px 8px 8px 5px;background:linear-gradient(180deg,#f2f2f2,#d3d3d3);border-color:rgba(0,0,0,.16)}
.dm-henz-trailer-art .dm-trailer-box-body:after{content:none}
.dm-henz-trailer-art .dm-trailer-box-top{left:11px;right:11px;bottom:55px;background:#6f6f6f}
.dm-henz-trailer-stripes{position:absolute;left:17px;right:17px;bottom:30px;height:13px;background:linear-gradient(104deg,transparent 0 11%,#b0b0b0 11% 25%,transparent 25% 34%,#737373 34% 48%,transparent 48% 57%,#d71920 57% 67%,transparent 67% 100%);z-index:4}
.dm-henz-trailer-logo{position:absolute;left:24px;bottom:33px;z-index:5;font-size:9px;font-weight:950;letter-spacing:-.04em;color:#545454}
.dm-henz-trailer-art .dm-trailer-box-wheel{left:54px;background:radial-gradient(circle,#aaa 0 20%,#555 21% 42%,#151515 43% 100%);border-color:#3d3d3d}
.dm-trailer-meter{padding:14px 15px 16px;background:#fafafa;border-top:1px solid #e1e1e1}
.dm-trailer-meter-track{height:16px;background:linear-gradient(90deg,#dedede 0 58%,#c8c8c8 58% 72%,#efc3c6 72% 100%);box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
.dm-trailer-meter-track>span{background:linear-gradient(90deg,#7b7b7b 0%,#565656 68%,#d71920 100%);box-shadow:none;position:relative}
.dm-trailer-meter-track>span:after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;border-radius:50%;background:#d71920;border:2px solid #fff;transform:translateY(-50%);box-shadow:0 0 0 1px rgba(0,0,0,.13)}
.dm-trailer-meter-track i{background:#2d2d2d}
.dm-trailer-meter-labels{color:#666;font-size:9px}
.dm-trailer-meter-labels strong{color:#b11118}
.dm-trailer-license-ladder{margin-top:4px;margin-bottom:14px}
.dm-trailer-license-step{padding:10px;background:#f6f6f6;border-color:#d8d8d8;opacity:.62}
.dm-trailer-license-step>span{background:#d5d5d5;color:#333}
.dm-trailer-license-step small{color:#707070}
.dm-trailer-license-step.is-done{opacity:.82;background:#f0f0f0;border-color:#cecece}
.dm-trailer-license-step.is-done>span{background:#5b5b5b;color:#fff}
.dm-trailer-license-step.is-active{opacity:1;background:#fff;border-color:#d71920;box-shadow:0 7px 18px rgba(215,25,32,.10)}
.dm-trailer-license-step.is-active>span{background:#d71920;color:#fff}
.dm-trailer-license-line{background:#cfcfcf}
.dm-license-result-visual{background:linear-gradient(135deg,#1c1c1c,#343434);border-left:5px solid #d71920}
.dm-license-result-visual span{opacity:.72}
.dm-license-result-visual strong{color:#fff}

/* kompakte Version folgt demselben CI-Look */
.dm-bremsweg-compact .dm-stop-head{background:linear-gradient(135deg,#f4f4f4,#fff)}
.dm-bremsweg-compact .dm-car-golf .dm-car-henz-logo i{font-size:3px}.dm-bremsweg-compact .dm-car-golf .dm-car-henz-logo strong{font-size:5px}.dm-bremsweg-compact .dm-car-golf .dm-car-henz-logo{left:22px;bottom:11px}.dm-bremsweg-compact .dm-car-golf .dm-car-henz-slashes{right:13px;bottom:10px;width:8px;height:8px}
@media(max-width:760px){.dm-trailer-road{min-height:140px}.dm-trailer-car-art.dm-henz-car-art{width:142px}.dm-trailer-box-art.dm-henz-trailer-art{width:105px}.dm-henz-wordmark{left:44px}.dm-henz-slashes{right:25px}}
@media(max-width:520px){.dm-trailer-car-art.dm-henz-car-art{width:119px;height:68px}.dm-henz-car-art .dm-trailer-car-cabin{left:34px;right:21px}.dm-henz-car-art .dm-trailer-car-window-back{left:47px;width:17px}.dm-henz-car-art .dm-trailer-car-window-front{left:67px;width:19px}.dm-henz-wordmark{left:38px;bottom:23px}.dm-henz-wordmark i{display:none}.dm-henz-wordmark strong{font-size:8px}.dm-henz-slashes{right:18px}.dm-trailer-box-art.dm-henz-trailer-art{width:87px}.dm-henz-trailer-logo{font-size:8px;left:18px}.dm-henz-trailer-art .dm-trailer-box-wheel{left:36px}.dm-trailer-road{padding-left:4px;padding-right:4px}}

.dm-trailer-form{gap:14px}
.dm-trailer-input-grid label{padding:13px 14px 12px;border:1px solid #d7d7d7;border-radius:14px;background:linear-gradient(180deg,#fff,#f6f6f6);box-shadow:0 5px 16px rgba(0,0,0,.035);position:relative;overflow:hidden}
.dm-trailer-input-grid label:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#d71920}
.dm-trailer-input-grid label>span{color:#5a5a5a}
.dm-trailer-input-grid label small{font-size:9px;line-height:1.35;color:#7a7a7a}
.dm-trailer-form .dm-input-unit{background:#fff;border-radius:10px}
.dm-trailer-form .dm-tool-primary{background:#1a1a1a;border-left:4px solid #d71920;border-radius:10px;box-shadow:0 7px 18px rgba(0,0,0,.08)}
.dm-trailer-form .dm-tool-primary:hover{background:#252525}
.dm-trailer-input-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 11px;border:1px solid #dedede;border-radius:12px;background:#f7f7f7;color:#5f5f5f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.dm-trailer-input-flow span,.dm-trailer-input-flow strong{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #d4d4d4}
.dm-trailer-input-flow strong{color:#a91118;border-color:#e3b8bb}
.dm-trailer-input-flow b{font-size:13px;color:#a9a9a9}
@media(max-width:560px){.dm-trailer-input-flow{justify-content:center}.dm-trailer-input-flow span,.dm-trailer-input-flow strong{font-size:9px}}

/* v0.8.7 – cleaner gauge + smoother braking simulation */
.dm-stop-head{background:linear-gradient(135deg,#f6f6f6 0%,#ffffff 62%,#efefef 100%);border-color:#d7d7d7;box-shadow:0 8px 20px rgba(0,0,0,.05)}
.dm-gauge-card{min-width:210px}
.dm-gauge-shell{width:194px;height:114px;border-radius:124px 124px 20px 20px;background:linear-gradient(180deg,#161616 0%,#0f0f0f 100%);box-shadow:inset 0 6px 15px rgba(255,255,255,.04),0 8px 18px rgba(0,0,0,.18)}
.dm-gauge-shell:before{left:12px;right:12px;top:12px;bottom:12px;border-radius:110px 110px 15px 15px;background:linear-gradient(180deg,#232323 0%,#111111 100%)}
.dm-gauge-shell:after{display:none}
.dm-gauge-arc{left:20px;right:20px;top:19px;height:84px;border:0;background:conic-gradient(from 210deg,#7f7f7f 0deg,#b4b4b4 166deg,#ececec 184deg,#c71d26 185deg,#c71d26 240deg);-webkit-mask:radial-gradient(circle at 50% 100%,transparent 0 52px,#000 53px);mask:radial-gradient(circle at 50% 100%,transparent 0 52px,#000 53px);opacity:1}
.dm-gauge-ticks span{bottom:22px;width:2px;height:14px;background:rgba(255,255,255,.72);transform-origin:50% calc(100% + 35px)}
.dm-gauge-ticks span:nth-child(3){height:18px}
.dm-gauge-center{bottom:12px;gap:0}
.dm-gauge-center strong{font-size:34px;font-weight:900;letter-spacing:-.05em;color:#fff}
.dm-gauge-center span{font-size:10px;letter-spacing:.12em;color:#fff}
.dm-gauge-center small{margin-top:2px;font-size:8px;letter-spacing:.14em;color:#cfcfcf}
.dm-gauge-needle{bottom:35px;width:3px;height:60px;background:linear-gradient(180deg,#ff666f 0%,#d71920 55%,#8b1016 100%);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 8px rgba(215,25,32,.18)}
.dm-gauge-cap{bottom:30px;width:16px;height:16px;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.dm-gauge-numbers{position:absolute;inset:0;pointer-events:none;color:#fff;font-size:9px;font-weight:900;letter-spacing:.02em;z-index:5}
.dm-gauge-numbers span{position:absolute;opacity:.95;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.dm-gauge-n0{left:23px;bottom:19px}.dm-gauge-n50{left:33px;top:39px}.dm-gauge-n100{left:86px;top:19px}.dm-gauge-n150{right:35px;top:39px}.dm-gauge-n200{right:23px;bottom:19px}
.dm-gauge-values{display:none}
.dm-live-copy small{color:#676767;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dm-live-copy strong{color:#111}.dm-live-copy p{color:#4d4d4d}
.dm-stop-animation.is-reacting .dm-road-car.dm-car-golf,.dm-stop-animation.is-braking .dm-road-car.dm-car-golf{filter:drop-shadow(0 9px 8px rgba(0,0,0,.18))}
.dm-stop-animation.is-braking .dm-road-car.dm-car-golf{transform:translateY(1px) rotate(-0.8deg)}
.dm-stop-animation.is-stopped .dm-road-car.dm-car-golf{transform:translateY(0) rotate(0deg)}
.dm-bremsweg-compact .dm-gauge-card{min-width:0}
.dm-bremsweg-compact .dm-gauge-shell{width:132px;height:82px;border-radius:90px 90px 15px 15px}
.dm-bremsweg-compact .dm-gauge-shell:before{left:8px;right:8px;top:8px;bottom:8px}
.dm-bremsweg-compact .dm-gauge-arc{left:13px;right:13px;top:13px;height:58px;-webkit-mask:radial-gradient(circle at 50% 100%,transparent 0 35px,#000 36px);mask:radial-gradient(circle at 50% 100%,transparent 0 35px,#000 36px)}
.dm-bremsweg-compact .dm-gauge-center{bottom:8px}.dm-bremsweg-compact .dm-gauge-center strong{font-size:23px}.dm-bremsweg-compact .dm-gauge-center span{font-size:7px}.dm-bremsweg-compact .dm-gauge-center small{display:none}
.dm-bremsweg-compact .dm-gauge-needle{bottom:24px;height:42px;width:3px}.dm-bremsweg-compact .dm-gauge-cap{bottom:21px;width:12px;height:12px}
.dm-bremsweg-compact .dm-gauge-ticks span{bottom:16px;height:10px;transform-origin:50% calc(100% + 24px)}
.dm-bremsweg-compact .dm-gauge-numbers{font-size:7px}.dm-bremsweg-compact .dm-gauge-n0{left:15px;bottom:14px}.dm-bremsweg-compact .dm-gauge-n50{left:22px;top:29px}.dm-bremsweg-compact .dm-gauge-n100{left:58px;top:14px}.dm-bremsweg-compact .dm-gauge-n150{right:22px;top:29px}.dm-bremsweg-compact .dm-gauge-n200{right:15px;bottom:14px}

/* v0.8.8 – exact Henz Golf vehicle asset from supplied reference */
.dm-road-scene .dm-car-track{right:120px;top:49px;height:48px}
.dm-road-scene .dm-road-car.dm-car-photo-car{width:118px;height:43px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible}
.dm-road-scene .dm-road-car.dm-car-photo-car:before,.dm-road-scene .dm-road-car.dm-car-photo-car:after{display:none!important}
.dm-car-photo-car .dm-car-photo{position:absolute;inset:0;display:block;background:url('../images/henz-golf.png') center center/contain no-repeat;filter:drop-shadow(0 8px 5px rgba(0,0,0,.22));transform-origin:50% 82%}
.dm-stop-animation.is-reacting .dm-car-photo-car .dm-car-photo{filter:drop-shadow(0 8px 5px rgba(0,0,0,.20))}
.dm-stop-animation.is-braking .dm-car-photo-car .dm-car-photo{filter:drop-shadow(0 7px 5px rgba(0,0,0,.24))}
.dm-stop-animation.is-stopped .dm-car-photo-car .dm-car-photo{filter:drop-shadow(0 5px 4px rgba(0,0,0,.18))}
.dm-stop-animation.is-braking .dm-road-car.dm-car-photo-car{transform:translateY(1px) rotate(-.55deg)}
.dm-stop-animation.is-stopped .dm-road-car.dm-car-photo-car{transform:translateY(0) rotate(0deg)}
.dm-bremsweg-compact .dm-road-scene .dm-car-track{right:92px;top:40px;height:36px}
.dm-bremsweg-compact .dm-road-scene .dm-road-car.dm-car-photo-car{width:90px;height:33px}
@media(max-width:560px){.dm-road-scene .dm-car-track{right:102px;top:46px}.dm-road-scene .dm-road-car.dm-car-photo-car{width:100px;height:37px}.dm-bremsweg-compact .dm-road-scene .dm-car-track{right:82px;top:39px}.dm-bremsweg-compact .dm-road-scene .dm-road-car.dm-car-photo-car{width:80px;height:29px}}

/* v0.8.9 – prevent legacy CSS-car pseudo parts from overlaying the PNG vehicle */
.dm-road-scene .dm-road-car.dm-car-photo-car .dm-car-photo:before,
.dm-road-scene .dm-road-car.dm-car-photo-car .dm-car-photo:after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}
.dm-road-scene .dm-road-car.dm-car-photo-car .dm-car-photo{
  border:0!important;
  border-radius:0!important;
}

/* v0.9.0 – medium Anhalteweg layout */
.dm-bremsweg-medium{gap:12px}
.dm-bremsweg-medium-stage{display:grid;gap:12px}
.dm-bremsweg-medium-top{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(390px,1.28fr);gap:14px;align-items:stretch}
.dm-bremsweg-medium-controls{display:flex;flex-direction:column;gap:12px;padding:15px;border:1px solid #d7d7d7;border-radius:16px;background:linear-gradient(180deg,#fff,#f5f5f5);box-shadow:0 7px 20px rgba(0,0,0,.045)}
.dm-bremsweg-medium-controls label{gap:7px}
.dm-bremsweg-medium-controls .dm-tool-primary{width:100%;justify-content:center;margin-top:2px;background:#181818;border:1px solid #181818}
.dm-bremsweg-medium-head{min-width:0}
.dm-bremsweg-medium-head .dm-stop-head{height:100%;margin:0;padding:12px 14px;display:grid;grid-template-columns:205px minmax(0,1fr);align-items:center;gap:14px}
.dm-bremsweg-medium-head .dm-gauge-card{min-width:0;padding:0}
.dm-bremsweg-medium-head .dm-gauge-shell{width:188px;height:110px}
.dm-bremsweg-medium-head .dm-live-copy{padding-right:4px}
.dm-bremsweg-medium-head .dm-live-copy strong{font-size:14px}
.dm-bremsweg-medium-head .dm-live-copy p{font-size:11px;line-height:1.45}
.dm-bremsweg-medium-result{display:none;padding:0;border:0;background:transparent;border-radius:0;overflow:visible}
.dm-bremsweg-medium-result.is-visible{display:block}
.dm-bremsweg-medium-result .dm-result-title{margin:0 0 8px;font-size:16px}
.dm-medium-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}
.dm-medium-result-stats .dm-result-stat{padding:10px 12px;border:1px solid #dedede;background:#fff;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.035)}
.dm-medium-result-stats .dm-result-stat:first-child{border-top:3px solid #8a8a8a}
.dm-medium-result-stats .dm-result-stat:nth-child(2){border-top:3px solid #d71920}
.dm-medium-result-stats .dm-result-stat:nth-child(3){border-top:3px solid #1d1d1d}
.dm-medium-result-stats .dm-result-stat span{font-size:9px}
.dm-medium-result-stats .dm-result-stat strong{font-size:17px}
.dm-medium-animation{padding:12px 12px 10px;border:1px solid #d8d8d8;border-radius:16px;background:#f7f7f7}
.dm-medium-animation .dm-stop-phases{margin-bottom:8px}
.dm-medium-animation .dm-road-scene{margin:0;padding:11px 11px 8px;border-radius:14px}
.dm-medium-animation .dm-road-scene .dm-road{height:86px}
.dm-medium-animation .dm-road-scene .dm-car-track{top:41px;right:108px;height:42px}
.dm-medium-animation .dm-road-scene .dm-road-car.dm-car-photo-car{width:106px;height:39px}
.dm-medium-animation .dm-road-scene .dm-road-shell{padding-bottom:40px}
.dm-medium-animation .dm-brake-marker i,.dm-medium-animation .dm-stop-marker i{height:50px}
.dm-medium-animation .dm-animation-foot{margin-top:7px}
.dm-bremsweg-medium-result>p{margin:9px 2px 0;font-size:10px;line-height:1.45;color:#666}
.dm-bremsweg-medium .dm-tool-note{margin:0 2px;font-size:10px}
@media(max-width:860px){
  .dm-bremsweg-medium-top{grid-template-columns:1fr}
  .dm-bremsweg-medium-head .dm-stop-head{grid-template-columns:190px minmax(0,1fr)}
}
@media(max-width:620px){
  .dm-bremsweg-medium-head .dm-stop-head{grid-template-columns:1fr}
  .dm-bremsweg-medium-head .dm-gauge-shell{margin:auto}
  .dm-medium-result-stats{grid-template-columns:1fr 1fr 1fr}
  .dm-medium-result-stats .dm-result-stat{padding:8px}
  .dm-medium-result-stats .dm-result-stat strong{font-size:14px}
  .dm-medium-animation{padding:8px}
  .dm-medium-animation .dm-road-scene .dm-car-track{right:92px;top:40px}
  .dm-medium-animation .dm-road-scene .dm-road-car.dm-car-photo-car{width:90px;height:33px}
}
@media(max-width:430px){
  .dm-medium-result-stats{grid-template-columns:1fr}
}

/* v0.9.1 – medium Anhalteweg: expanded idle state, explicit start */
.dm-bremsweg-medium-controls .dm-tool-primary{
  background:#181818!important;
  border:1px solid #181818!important;
  box-shadow:none;
}
.dm-bremsweg-medium-controls .dm-tool-primary:hover,
.dm-bremsweg-medium-controls .dm-tool-primary:focus{
  background:#000!important;
  border-color:#000!important;
}
.dm-bremsweg-medium-result{display:block;min-height:0}


/* v0.9.2 – medium calculator: always-open shell and neutral CTA */
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls .dm-tool-primary{background:#181818!important;border:1px solid #181818!important;border-left:1px solid #181818!important;box-shadow:none!important;color:#fff!important}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls .dm-tool-primary:hover,.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls .dm-tool-primary:focus{background:#000!important;border-color:#000!important}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-result{display:block!important}


/* v0.9.3 – Medium-Anhalteweg im Henz-CI: kantig, technisch, konsistent */
.dm-bremsweg-shell-medium{
  --dm-henz-red:var(--henz-red,#e21b23);
  --dm-henz-dark:var(--henz-black,#44484a);
  --dm-henz-mid:#74787a;
  --dm-henz-light:#f3f4f4;
  --dm-henz-line:#d5d7d8;
}
.dm-bremsweg-shell-medium .dm-tool{border-radius:2px!important;background:#fff}
.dm-bremsweg-shell-medium .dm-tool-form input,
.dm-bremsweg-shell-medium .dm-tool-form select,
.dm-bremsweg-shell-medium .dm-input-unit{border-radius:4px!important}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls{
  border:1px solid var(--dm-henz-line)!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls .dm-tool-primary{
  border-radius:2px!important;
  background:#17191b!important;
  border:1px solid #17191b!important;
  border-left:1px solid #17191b!important;
  box-shadow:none!important;
}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls .dm-tool-primary:hover,
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls .dm-tool-primary:focus{background:#000!important;border-color:#000!important}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-stop-head{
  border:1px solid var(--dm-henz-line)!important;
  border-radius:2px!important;
  background:linear-gradient(135deg,#f7f7f7 0%,#fff 58%,#f0f1f1 100%)!important;
  box-shadow:none!important;
}
.dm-bremsweg-shell-medium .dm-live-copy small{color:var(--dm-henz-red);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat{
  position:relative;
  overflow:hidden;
  border:1px solid var(--dm-henz-line)!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
  padding-top:13px;
}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--dm-henz-mid)}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat:nth-child(2):before{background:var(--dm-henz-red)}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat:nth-child(3):before{background:var(--dm-henz-dark)}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat{border-top:1px solid var(--dm-henz-line)!important}
.dm-bremsweg-shell-medium .dm-medium-animation{
  border:1px solid var(--dm-henz-line)!important;
  border-radius:2px!important;
  background:var(--dm-henz-light)!important;
  box-shadow:none!important;
}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene,
.dm-bremsweg-shell-medium .dm-medium-animation .dm-road{
  border-radius:2px!important;
}
.dm-bremsweg-shell-medium .dm-stop-phases span{
  border-radius:2px!important;
  border-color:var(--dm-henz-line)!important;
  background:#fff!important;
  color:#555!important;
  box-shadow:none!important;
}
.dm-bremsweg-shell-medium .dm-stop-phases b{border-radius:2px!important;background:#dedede!important;color:#333!important}
.dm-bremsweg-shell-medium .dm-stop-phases span.is-active{border-color:var(--dm-henz-red)!important;color:#24272a!important}
.dm-bremsweg-shell-medium .dm-stop-phases span.is-active b,
.dm-bremsweg-shell-medium .dm-stop-phases span.is-done b{background:var(--dm-henz-red)!important;color:#fff!important}
.dm-bremsweg-shell-medium .dm-animation-replay{color:var(--dm-henz-dark)!important}
.dm-bremsweg-shell-medium .dm-road-brake{background:repeating-linear-gradient(135deg,#e0e1e1 0,#e0e1e1 10px,#f5f5f5 10px,#f5f5f5 20px)}
.dm-bremsweg-shell-medium .dm-road-brake .dm-road-fill{background:color-mix(in srgb,var(--dm-henz-red) 24%,transparent)!important}
.dm-bremsweg-shell-medium .dm-brake-marker span{background:var(--dm-henz-red)!important;color:#fff!important;border-radius:2px!important}
.dm-bremsweg-shell-medium .dm-stop-marker span{background:var(--dm-henz-dark)!important;color:#fff!important;border-radius:2px!important}

/* ========================================================================== */
/* v1.0.0 – consolidated Fahrschule Henz corporate design                    */
/* ========================================================================== */
.dm-app,.dm-tool,.dm-tools-hub{
  --dm-red:var(--henz-red,#e30613);
  --dm-red-dark:var(--henz-red-dark,#b9000a);
  --dm-dark:var(--henz-dark,var(--henz-black,#2b2b2b));
  --dm-mid:var(--henz-gray,#73777a);
  --dm-light:var(--henz-light,#f3f4f4);
  --dm-bg:#f5f5f6;
  --dm-surface:#fff;
  --dm-text:#2b2b2b;
  --dm-muted:#6d7074;
  --dm-line:#dedfe1;
  --dm-accent:var(--dm-red);
  --dm-soft:#f1f2f3;
  --dm-radius:8px;
  font-family:var(--henz-font-family,"Inter",Arial,Helvetica,sans-serif);
}
.dm-app{
  padding:0;
  background:transparent;
  border-radius:0;
}
.dm-header{align-items:flex-end;margin-bottom:24px}
.dm-kicker,.dm-home-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:7px;color:var(--dm-red);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.dm-kicker:before,.dm-home-kicker:before{content:"";width:22px;height:2px;background:currentColor}
.dm-header h2{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.04;letter-spacing:-.04em;color:var(--dm-dark)}
.dm-header p{margin-top:9px;color:var(--dm-muted);font-size:14px}
.dm-count strong{color:var(--dm-dark);font-size:34px}.dm-count span{color:var(--dm-muted)}
.dm-filters,.dm-bkf-filters{gap:10px;margin-bottom:18px;padding:14px;background:#f4f4f5;border:1px solid var(--dm-line);border-radius:7px}
.dm-filter>span{color:#616468;font-size:10px}
.dm-filter select,.dm-tool-form input,.dm-tool-form select,.dm-input-unit{min-height:44px;border:1px solid #d5d6d8;border-radius:4px;background:#fff;color:var(--dm-dark);box-shadow:none}
.dm-filter select:focus,.dm-tool-form input:focus,.dm-tool-form select:focus{border-color:var(--dm-red);box-shadow:0 0 0 3px rgba(227,6,19,.08);outline:none}
.dm-reset,.dm-bkf-reset{color:#666a6e}.dm-reset:hover,.dm-bkf-reset:hover{color:var(--dm-red)}

.dm-map-panel,.dm-results-panel{border:1px solid var(--dm-line);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(20,20,20,.055)}
.dm-map{background:#eceeef}
.dm-results-head{padding:14px 16px;border-bottom:1px solid var(--dm-line)}
.dm-results-subtitle,.dm-results-count{color:var(--dm-muted)}
.dm-results{padding:9px}
.dm-card{border:1px solid transparent;border-radius:6px;background:#fff}
.dm-card:hover{transform:translateY(-1px);border-color:#d6d7d8;background:#fafafa;box-shadow:0 6px 16px rgba(20,20,20,.05)}
.dm-datebox{border:1px solid #d7d8da;border-radius:4px;background:#fff;position:relative;overflow:hidden}
.dm-datebox:before{content:"";display:block;height:3px;background:var(--dm-red)}
.dm-day{color:var(--dm-dark)}.dm-month{color:var(--dm-red)}
.dm-card h3{color:var(--dm-dark)}.dm-meta,.dm-details{color:var(--dm-muted)}
.dm-icon{filter:grayscale(1);opacity:.85}
.dm-badge{border-radius:3px;background:#eceeef;color:#56595c}
.dm-badge-license{background:var(--dm-dark);color:#fff}.dm-badge-soft{background:#f4f4f5;color:#686b6e}
.dm-action{border-radius:3px;border:1px solid var(--dm-dark);color:var(--dm-dark)!important;background:#fff}
.dm-action:hover{background:var(--dm-red);border-color:var(--dm-red);color:#fff!important}

/* Leaflet pins follow the three-stripe Henz language rather than category colours. */
.dm-leaflet-marker{background:var(--dm-red)!important;border-radius:50% 50% 50% 4px}.dm-marker-bike,.dm-marker-truck,.dm-marker-bus,.dm-marker-car,.dm-marker-agriculture,.dm-marker-multi{background:var(--dm-red)!important}
.dm-popup-filter{background:var(--dm-dark);border-radius:3px}.dm-popup-filter:hover{background:var(--dm-red)}

/* Compact courses */
.dm-view-compact{padding:0}.dm-view-compact .dm-header{margin-bottom:13px}.dm-view-compact .dm-header h2{font-size:clamp(24px,3vw,30px)}
.dm-compact-list,.dm-bkf-compact-list{gap:8px}
.dm-compact-card,.dm-bkf-compact{position:relative;border:1px solid #dedfe1!important;border-radius:6px!important;background:#fff!important;padding:11px 13px!important;box-shadow:none;overflow:hidden}
.dm-compact-card:before,.dm-bkf-compact:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dm-red)}
.dm-compact-card:hover,.dm-bkf-compact:hover{border-color:#c9cbcd!important;background:#fafafa!important}
.dm-compact-when strong{color:var(--dm-dark)}.dm-compact-when span,.dm-compact-main span{color:var(--dm-muted)}.dm-compact-main strong{color:var(--dm-dark)}

/* Locations */
.dm-location-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.dm-location-card{position:relative;gap:14px;border:1px solid var(--dm-line);border-radius:8px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(20,20,20,.055);overflow:hidden;transition:.2s ease}
.dm-location-card:after{content:"";position:absolute;right:-34px;bottom:-34px;width:118px;height:76px;background:linear-gradient(90deg,transparent 0 18%,#a8aaac 18% 34%,transparent 34% 44%,#66696c 44% 60%,transparent 60% 69%,var(--dm-red) 69% 84%,transparent 84%);transform:skewX(-22deg);opacity:.23}
.dm-location-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,20,20,.10)}
.dm-location-pin{width:40px;height:40px;background:var(--dm-red);border-radius:50% 50% 50% 0}
.dm-location-eyebrow{color:var(--dm-red)}.dm-location-card h3{font-size:21px;color:var(--dm-dark)}.dm-location-card p{color:var(--dm-muted)}
.dm-location-badges span{border-radius:3px;background:#f0f1f2;color:#55585b}.dm-location-next{border-color:var(--dm-line)}

/* Start page view: dynamic courses + locations */
.dm-view-home .dm-header{margin-bottom:18px}.dm-view-home .dm-header h2{font-size:clamp(31px,4vw,44px)}
.dm-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dm-home-panel{position:relative;min-height:345px;padding:28px;border:1px solid var(--dm-line);border-radius:8px;overflow:hidden}
.dm-home-panel-courses{background:var(--dm-dark);color:#fff;border-color:var(--dm-dark)}
.dm-home-panel-locations{background:#fff}
.dm-home-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.dm-home-panel-head h3{margin:5px 0 0;font-size:clamp(26px,3vw,34px);line-height:1.08;letter-spacing:-.035em;color:inherit}
.dm-home-panel-courses .dm-home-kicker{color:#ff777d}.dm-home-panel-locations .dm-home-kicker{color:var(--dm-red)}
.dm-home-symbol{position:relative;flex:0 0 auto;width:48px;height:48px;opacity:.35}
.dm-home-symbol-calendar{border:2px solid currentColor;border-radius:5px}.dm-home-symbol-calendar:before{content:"";position:absolute;left:0;right:0;top:12px;border-top:2px solid currentColor}.dm-home-symbol-calendar:after{content:"";position:absolute;left:10px;right:10px;top:22px;height:12px;background:linear-gradient(90deg,currentColor 0 6px,transparent 6px 10px,currentColor 10px 16px,transparent 16px 20px,currentColor 20px 26px)}
.dm-home-symbol-pin{border:2px solid currentColor;border-radius:50% 50% 50% 0;transform:rotate(-45deg);width:42px;height:42px;margin:3px}.dm-home-symbol-pin:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border:2px solid currentColor;border-radius:50%;transform:translate(-50%,-50%)}
.dm-home-course-list{display:grid;gap:7px}.dm-home-panel-courses .dm-compact-card{grid-template-columns:minmax(105px,.34fr) minmax(0,1fr)!important;background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.13)!important;color:#fff}.dm-home-panel-courses .dm-compact-card:hover{background:rgba(255,255,255,.095)!important;border-color:rgba(255,255,255,.23)!important}.dm-home-panel-courses .dm-compact-when strong,.dm-home-panel-courses .dm-compact-main strong{color:#fff}.dm-home-panel-courses .dm-compact-when span,.dm-home-panel-courses .dm-compact-main span{color:rgba(255,255,255,.62)}
.dm-home-location-list{display:grid;gap:9px}.dm-home-location{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:center;padding:10px 11px;border:1px solid #e2e3e4;border-radius:6px;background:#fafafa}.dm-home-location-pin{position:relative;width:27px;height:27px;border-radius:50% 50% 50% 0;background:var(--dm-red);transform:rotate(-45deg);justify-self:center}.dm-home-location-pin:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.dm-home-location strong{display:block;color:var(--dm-dark);font-size:14px}.dm-home-location span{display:block;margin-top:1px;color:var(--dm-muted);font-size:11px}
.dm-home-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;font-weight:900}.dm-home-panel-courses .dm-home-link{color:#fff}.dm-home-panel-locations .dm-home-link{color:var(--dm-dark)}.dm-home-link span{color:var(--dm-red);transition:transform .18s ease}.dm-home-link:hover span{transform:translateX(4px)}
.dm-home-panel-courses:after{content:"";position:absolute;right:-50px;bottom:-38px;width:190px;height:95px;background:linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.12) 18% 34%,transparent 34% 44%,rgba(255,255,255,.20) 44% 59%,transparent 59% 68%,var(--dm-red) 68% 83%,transparent 83%);transform:skewX(-22deg);pointer-events:none}.dm-home-empty{padding:12px;color:var(--dm-muted);font-size:12px}.dm-home-panel-courses .dm-home-empty{color:rgba(255,255,255,.65)}

/* BKF */
.dm-bkf-section{border-top-color:var(--dm-line)}.dm-bkf-grid{gap:12px}
.dm-bkf-card{border:1px solid var(--dm-line);border-radius:7px;background:#fff;box-shadow:0 6px 18px rgba(20,20,20,.04)}
.dm-bkf-card-icon{border-radius:4px;background:var(--dm-dark);position:relative;overflow:hidden}.dm-bkf-card-icon:after{content:"";position:absolute;right:-7px;bottom:-6px;width:22px;height:28px;background:var(--dm-red);transform:skewX(-20deg)}
.dm-bkf-card-modules span{border-radius:3px;background:#f0f1f2}.dm-bkf-card h3{color:var(--dm-dark)}
.dm-bkf-module-card,.dm-bkf-year-shell{border-radius:8px!important;border-color:var(--dm-line)!important}.dm-bkf-module-ring{background:conic-gradient(var(--dm-red) var(--dm-progress),var(--dm-soft) 0)}

/* Stats */
.dm-stat-card{border-radius:7px;border-color:var(--dm-line);box-shadow:0 5px 16px rgba(20,20,20,.04)}.dm-stat-icon{border-radius:4px;background:var(--dm-dark)}.dm-stat-ring{background:conic-gradient(var(--dm-red) var(--dm-progress),var(--dm-soft) 0)}

/* Tools and calculators */
.dm-tool,.dm-tools-hub{padding:clamp(18px,2.8vw,30px);border:1px solid var(--dm-line);border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(20,20,20,.055)}
.dm-tool-head{margin-bottom:18px}.dm-tool-head h2{color:var(--dm-dark)}.dm-tool-head p{color:var(--dm-muted)}
.dm-tool-primary{border-radius:4px;background:var(--dm-dark)}.dm-tool-primary:hover{background:var(--dm-red);opacity:1}.dm-tool-primary:focus-visible{outline-color:rgba(227,6,19,.18)}
.dm-tool-result{border-radius:7px;border-color:var(--dm-line)}.dm-result-stat{border-radius:5px;background:#f3f4f4}.dm-result-stat strong{color:var(--dm-dark)}
.dm-tools-nav button{border-radius:4px}.dm-tools-nav button.is-active{background:var(--dm-dark);border-color:var(--dm-dark)}.dm-tools-nav button:hover{border-color:var(--dm-red);color:var(--dm-red)}
.dm-license-result,.dm-license-result-visual{border-radius:5px;background:var(--dm-dark);border-left:4px solid var(--dm-red)}
.dm-speed-gauge{background:conic-gradient(var(--dm-red) var(--dm-gauge),var(--dm-soft) 0)}


@media(max-width:900px){.dm-home-grid{grid-template-columns:1fr}.dm-home-panel{min-height:auto}.dm-layout{grid-template-columns:1fr}}
@media(max-width:620px){.dm-home-panel{padding:22px}.dm-home-panel-courses .dm-compact-card{grid-template-columns:1fr!important;gap:3px!important}.dm-home-location{grid-template-columns:30px minmax(0,1fr)}.dm-header{align-items:flex-start}.dm-location-grid{grid-template-columns:1fr}}
.dm-line-icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dm-icon{display:grid;place-items:center;width:28px;height:28px;color:var(--dm-dark);filter:none!important;opacity:1!important}


/* v1.0.1 – Anhalteweg Medium: visuell zurück auf den bewährten v0.9.3-Stand. */
.dm-bremsweg-shell-medium .dm-tool{
  --dm-bg:#f5f7f8;
  --dm-surface:#fff;
  --dm-text:#111827;
  --dm-muted:#667085;
  --dm-line:#e4e7ec;
  --dm-accent:#18212b;
  --dm-soft:#eef2f4;
  font-family:inherit;
  color:var(--dm-text);
  border:1px solid var(--dm-line)!important;
  border-radius:2px!important;
  background:#fff!important;
  padding:clamp(18px,3vw,30px)!important;
  box-shadow:none!important;
}
.dm-bremsweg-shell-medium .dm-tool-head{margin-bottom:18px!important;padding:0!important;border-bottom:0!important}
.dm-bremsweg-shell-medium .dm-tool-head .dm-kicker{margin-bottom:7px}
.dm-bremsweg-shell-medium .dm-tool-head h2{margin:0 0 7px;font-size:clamp(26px,3.5vw,38px);line-height:1.05;letter-spacing:-.035em}
.dm-bremsweg-shell-medium .dm-tool-head p{margin:0;color:var(--dm-muted);max-width:760px;font-size:inherit;line-height:1.5}
.dm-bremsweg-shell-medium .dm-bremsweg-medium{gap:12px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-stage{display:grid;gap:12px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-top{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(390px,1.28fr);gap:14px;align-items:stretch}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls{display:flex;flex-direction:column;gap:12px;padding:15px!important;border:1px solid #d7d7d7!important;border-radius:2px!important;background:#fff!important;box-shadow:none!important}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls label{gap:7px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls label>span{font-size:11px;color:var(--dm-muted)}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls input,
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls select{min-height:48px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-controls .dm-tool-primary{min-height:46px;margin-top:2px;font-size:14px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-stop-head{height:100%;margin:0;padding:12px 14px!important;display:grid;grid-template-columns:205px minmax(0,1fr);align-items:center;gap:14px;border:1px solid var(--dm-henz-line)!important;border-radius:2px!important;background:linear-gradient(135deg,#f7f7f7 0%,#fff 58%,#f0f1f1 100%)!important;box-shadow:none!important}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-gauge-card{min-width:0;padding:0}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-gauge-shell{width:188px;height:110px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-live-copy{padding-right:4px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-live-copy small{color:var(--dm-henz-red)!important;font-size:inherit}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-live-copy strong{color:inherit!important;font-size:14px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-live-copy p{margin:inherit;color:inherit!important;font-size:11px;line-height:1.45}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-result{display:block!important;min-height:0;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;overflow:visible!important}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-result .dm-result-title{display:block;margin:0 0 8px;padding:0;font-size:16px;font-weight:900;letter-spacing:-.02em;color:inherit}
.dm-bremsweg-shell-medium .dm-medium-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat{padding:13px 12px 10px!important;border:1px solid var(--dm-henz-line)!important;border-radius:2px!important;background:#fff!important;box-shadow:none!important}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat span{font-size:9px;margin-bottom:3px}
.dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat strong{font-size:17px;color:inherit}
.dm-bremsweg-shell-medium .dm-medium-animation{padding:12px 12px 10px!important;border:1px solid var(--dm-henz-line)!important;border-radius:2px!important;background:var(--dm-henz-light)!important;box-shadow:none!important}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-stop-phases{margin-bottom:8px}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene{margin:0;padding:11px 11px 8px!important;border-radius:2px!important}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene .dm-road{height:86px;border-radius:2px!important}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene .dm-car-track{top:41px;right:108px;height:42px}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene .dm-road-car.dm-car-photo-car{width:106px;height:39px}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene .dm-road-shell{padding-bottom:40px}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-brake-marker i,
.dm-bremsweg-shell-medium .dm-medium-animation .dm-stop-marker i{height:50px}
.dm-bremsweg-shell-medium .dm-medium-animation .dm-animation-foot{margin-top:7px}
.dm-bremsweg-shell-medium .dm-bremsweg-medium-result>p{margin:9px 2px 0!important;font-size:10px!important;line-height:1.45;color:#666}
.dm-bremsweg-shell-medium .dm-tool-note{margin:0 2px;color:var(--dm-muted);font-size:10px;line-height:1.55}
@media(max-width:860px){
  .dm-bremsweg-shell-medium .dm-bremsweg-medium-top{grid-template-columns:1fr}
  .dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-stop-head{grid-template-columns:190px minmax(0,1fr)}
}
@media(max-width:620px){
  .dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-stop-head{grid-template-columns:1fr}
  .dm-bremsweg-shell-medium .dm-bremsweg-medium-head .dm-gauge-shell{margin:auto}
  .dm-bremsweg-shell-medium .dm-medium-result-stats{grid-template-columns:1fr 1fr 1fr}
  .dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat{padding:8px!important}
  .dm-bremsweg-shell-medium .dm-medium-result-stats .dm-result-stat strong{font-size:14px}
  .dm-bremsweg-shell-medium .dm-medium-animation{padding:8px!important}
  .dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene .dm-car-track{right:92px;top:40px}
  .dm-bremsweg-shell-medium .dm-medium-animation .dm-road-scene .dm-road-car.dm-car-photo-car{width:90px;height:33px}
}
@media(max-width:430px){.dm-bremsweg-shell-medium .dm-medium-result-stats{grid-template-columns:1fr}}
