/* Deadhead to Diesel King: UI kit. Paths are relative to assets/ui/. */
@font-face{font-family:"Rye";src:url(fonts/Rye-Regular.woff2) format("woff2");font-display:swap}
/* Inter: <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap" rel="stylesheet"> (system-ui is used as the fallback) */
:root{
  --dk-navy:#0b1220;--dk-navy2:#0f1828;--dk-surf:#141f35;--dk-surf2:#1a2843;--dk-line:#2a3b5e;--dk-steel:#46587a;
  --dk-gold:#ffd84d;--dk-gold-hi:#fff8c4;--dk-gold-lo:#b8942a;--dk-gold-ink:#1a1300;
  --dk-chrome-hi:#f4f7fb;--dk-chrome:#9fb0c9;--dk-chrome-lo:#46587a;
  --dk-tx:#e8eef8;--dk-tx2:#9fb0c9;--dk-tx3:#7488a6;
  --dk-good:#5ee38a;--dk-bad:#ff6b6b;--dk-hot:#ff5a4a;--dk-blue:#7cc4ff;
  --dk-oxblood:#7a1f1f;--dk-racing:#14532d;--dk-ironnavy:#1d2c4f;
  --dk-bronze:#c98a52;--dk-silver:#cfd8e6;--dk-diamond:#7cc4ff;
  --dk-font-display:"Rye",Georgia,serif;
  --dk-font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --dk-grad-gold:linear-gradient(180deg,#fff8c4 0%,#ffd84d 45%,#b8942a 100%);
  --dk-grad-chrome:linear-gradient(180deg,#f4f7fb 0%,#9fb0c9 48%,#46587a 52%,#dfe7f2 100%);
  --dk-r:14px;--dk-r-s:8px;--dk-sh:0 8px 28px rgba(0,0,0,.5);
}
/* textured surfaces */
.dk-bg{background:#0f1828 url(textures/navy-noise.webp) repeat}
.dk-plate{background:#121c30 url(textures/diamond-plate.svg) repeat}
/* panel with chrome/gold frame (layered gradients, no image needed) */
.dk-panel{position:relative;background:url(textures/navy-noise.webp),var(--dk-surf);border:2px solid transparent;border-radius:var(--dk-r);
  background-clip:padding-box;box-shadow:0 0 0 1px var(--dk-gold-lo),inset 0 0 0 1px var(--dk-steel),var(--dk-sh);padding:14px;color:var(--dk-tx)}
.dk-panel::before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:var(--dk-grad-gold);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
/* alternative: SVG 9-slice */
.dk-frame{border:24px solid transparent;border-image:url(frames/panel-frame.svg) 24 fill / 24px round;padding:0;color:var(--dk-tx)}
/* section header */
.dk-h{font-family:var(--dk-font-display);font-weight:400;letter-spacing:.04em;color:var(--dk-gold);text-shadow:0 2px 0 #000,0 0 1px var(--dk-gold-lo);
  margin:0 0 8px;font-size:22px;display:flex;align-items:center;gap:8px}
.dk-h::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--dk-gold-lo),transparent)}
.dk-h--chrome{background:var(--dk-grad-chrome);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 #000)}
.dk-sub{font:600 11px var(--dk-font);letter-spacing:.14em;text-transform:uppercase;color:var(--dk-tx3)}
/* buttons */
.dk-btn{font:800 15px var(--dk-font);border:0;border-radius:12px;min-height:44px;padding:10px 18px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;
  transition:transform .08s,box-shadow .08s,filter .15s;touch-action:manipulation}
.dk-btn:active{transform:translateY(2px)}
.dk-btn--primary{background:var(--dk-grad-gold);color:var(--dk-gold-ink);box-shadow:0 3px 0 var(--dk-gold-lo),0 2px 8px rgba(0,0,0,.4)}
.dk-btn--primary:active{box-shadow:0 1px 0 var(--dk-gold-lo)}
.dk-btn--secondary{background:var(--dk-surf2);color:var(--dk-tx);box-shadow:inset 0 0 0 1.5px var(--dk-chrome),0 3px 0 #05080f}
.dk-btn--danger{background:linear-gradient(180deg,#ff8a7a,#d63b2e);color:#fff;box-shadow:0 3px 0 #7a1810}
.dk-btn[disabled]{filter:grayscale(1) brightness(.6);cursor:not-allowed}
.dk-btn svg,.dk-ico{width:20px;height:20px;flex:none}
/* stat chips */
.dk-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 6px;border-radius:999px;background:rgba(11,18,32,.82);
  box-shadow:inset 0 0 0 1px var(--dk-line);font:800 14px var(--dk-font);font-variant-numeric:tabular-nums;color:var(--dk-tx)}
.dk-chip .dk-ico{width:18px;height:18px;color:var(--dk-gold);background:var(--dk-surf2);border-radius:50%;padding:3px;box-sizing:content-box}
.dk-chip--good{color:var(--dk-good)} .dk-chip--bad{color:var(--dk-bad)}
/* icons: <svg class="dk-ico"><use href="assets/ui/icons.svg#i-cash"/></svg> takes currentColor */
.dk-ico{color:var(--dk-gold)}
/* modal */
.dk-modal-scrim{position:fixed;inset:0;background:rgba(5,8,15,.72);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1500}
.dk-modal{width:min(360px,92vw);border-radius:18px;overflow:hidden;background:url(textures/navy-noise.webp),var(--dk-surf);
  box-shadow:0 0 0 2px var(--dk-gold-lo),inset 0 0 0 1px var(--dk-steel),0 20px 60px rgba(0,0,0,.6);animation:dk-pop .28s cubic-bezier(.2,.8,.2,1)}
.dk-modal__head{background:url(banners/modal-header.svg) center/100% 100%;padding:14px 18px;font:400 20px var(--dk-font-display);color:var(--dk-gold);text-align:center;text-shadow:0 2px 0 #000}
.dk-modal__body{padding:16px 18px;color:var(--dk-tx)} .dk-modal__foot{padding:0 18px 18px;display:flex;gap:10px}
/* truck card (portraits in trucks/) */
.dk-truck-card{display:flex;gap:12px;align-items:center;padding:10px;border-radius:var(--dk-r);background:var(--dk-surf);box-shadow:inset 0 0 0 1px var(--dk-line)}
.dk-truck-card img{width:112px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#0b1220;box-shadow:inset 0 0 0 1px var(--dk-line)}
.dk-truck-card.is-active{box-shadow:inset 0 0 0 2px var(--dk-gold),0 0 18px rgba(255,216,77,.18)}
/* banners */
.dk-banner{position:fixed;left:50%;top:18%;width:min(360px,92vw);aspect-ratio:640/180;transform:translateX(-50%);
  background:url(banners/banner-frame.svg) center/contain no-repeat;display:flex;align-items:center;justify-content:center;
  font:400 clamp(20px,7vw,30px) var(--dk-font-display);color:var(--dk-gold);text-shadow:0 2px 0 #000;padding:0 14% 2%;box-sizing:border-box;pointer-events:none;z-index:2000;
  animation:dk-banner 2.6s cubic-bezier(.2,.8,.2,1) both}
.dk-banner--levelup{background-image:url(banners/level-up.svg);color:transparent;text-shadow:none;font-size:0}
.dk-badge{width:64px;height:64px} .dk-badge.is-locked{filter:grayscale(1) brightness(.45)}
@keyframes dk-banner{0%{opacity:0;transform:translateX(-50%) scale(.6) rotate(-4deg)}12%{opacity:1;transform:translateX(-50%) scale(1.08) rotate(1deg)}
  20%{transform:translateX(-50%) scale(1) rotate(0)}85%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(-20px) scale(.96)}}
@keyframes dk-pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes dk-shine{from{background-position:-150% 0}to{background-position:250% 0}}
.dk-shine{background-image:linear-gradient(100deg,transparent 40%,rgba(255,248,196,.45) 50%,transparent 60%);background-size:200% 100%;animation:dk-shine 2.4s infinite}
@media (prefers-reduced-motion:reduce){.dk-banner,.dk-modal,.dk-shine{animation:none}}
/* ---- HUD (390px-safe). Row 1: level ring + company name (wraps to 2 lines) + cash + rating. Row 2: stat chips + 32px gear on the far right ---- */
.dk-hud{display:flex;flex-direction:column;gap:6px;padding:10px 10px 8px;padding-top:max(10px,env(safe-area-inset-top));background:linear-gradient(#0b1220 70%,rgba(11,18,32,0))}
.dk-hud__row{display:flex;align-items:center;gap:6px;min-width:0}
.dk-hud__lv{flex:none;width:46px;height:46px;position:relative}
.dk-hud__name{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.dk-hud__name b{font:400 clamp(13px,4.2vw,18px)/1.05 var(--dk-font-display);color:var(--dk-gold);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-shadow:0 1px 0 #000}
.dk-hud__name small{font:700 10px var(--dk-font);letter-spacing:.1em;text-transform:uppercase;color:var(--dk-tx3);margin-top:2px;white-space:nowrap}
.dk-hud .dk-chip{flex:none;padding:4px 8px 4px 4px;font-size:13px;gap:4px}
.dk-hud .dk-chip .dk-ico{width:15px;height:15px;padding:3px}
.dk-hud__stats{flex:1;min-width:0;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}
.dk-hud__stats::-webkit-scrollbar{display:none}
.dk-hud__stats .dk-chip{font-size:12px}
.dk-hud__gear{flex:none;width:32px;height:32px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--dk-surf2);
  box-shadow:inset 0 0 0 1px var(--dk-chrome-lo);color:var(--dk-gold);cursor:pointer;padding:0}
.dk-hud__gear .dk-ico{width:18px;height:18px}
.dk-hud__gear:active{transform:scale(.94)}
@media (max-width:360px){.dk-hud__stats .dk-chip:nth-child(n+4){display:none}}
