:root{
  --brand:#78B703;
  --brand-soft:rgba(120,183,3,.12);
  --brand-soft-2:rgba(120,183,3,.18);
  --brand-soft-3:rgba(132,204,0,.24);
  --danger:#DC1823;
  --danger-soft:rgba(220,24,35,.14);
  --ok:#78B703;
  --ok-soft:rgba(120,183,3,.14);
  --warn:#FF6600;
  --warn-soft:rgba(255,102,0,.16);
  --text:#F5F7F8;
  --muted:#D5D9DB;
  --muted-tertiary:#9BA2A6;
  --surface:#10181C;
  --surface-2:#0B1114;
  --surface-3:#22272A;
  --border:#30383C;
  --shadow-soft:0 8px 22px rgba(0,0,0,.28);
  --shadow-strong:0 20px 48px rgba(0,0,0,.42);
  --sb-bg:#03080A;
  --sb-hover:rgba(132,204,0,.10);
  --sb-border:rgba(198,202,204,.16);
  --sb-fg:#F5F7F8;
  --sb-muted:#BEC4C7;
  --sb-pill-bg:#78B703;
  --sb-pill-fg:#03080A;
  color-scheme:dark;
}

body{
  background:#03080A;
  font-family:"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px;
  letter-spacing:0;
}

.muted-text,.brand-sub,.sb-sub,.metric-label,.card-head p,.coach-section-head p,
.coach-selection,.coach-tip span,.map-shift-help,.shift-badge,.status-box,
.session-pill-meta,.expert-disclosure>summary{
  font-weight:500;
}

h1,.brand-title,.sb-name,.version-chip{
  font-family:"Segoe UI",Roboto,Arial,sans-serif;
}

h1,.brand-title,.sb-name{
  letter-spacing:.01em;
}

h2,h3,.metric-value,.coach-kpi strong{
  font-family:"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:0;
}

.main{
  background:radial-gradient(circle at 72% 0,rgba(120,183,3,.055),transparent 32%),#03080A;
}

.sb{
  background:linear-gradient(180deg,#03080A 0%,#0B1114 62%,#10181C 100%);
  box-shadow:10px 0 34px rgba(0,0,0,.28);
}

.sb-logo,.brand-badge{
  background:#78B703;
  border-color:#84CC00;
  color:#03080A;
  box-shadow:0 0 18px rgba(132,204,0,.18);
}

.sb-link.is-active .sb-ico{color:#03080A}
.active-dot::before{background:#84CC00;box-shadow:0 0 0 4px rgba(132,204,0,.16)}
.sb-ver{background:rgba(120,183,3,.12);color:#C6CACC;border:1px solid rgba(120,183,3,.18)}

.topbar{
  background:linear-gradient(110deg,#10181C,#0B1114 62%,rgba(120,183,3,.10));
  border-color:#30383C;
}

.hero-card{
  background:linear-gradient(120deg,#10181C,#0B1114 68%,rgba(120,183,3,.10));
}

.hero-card,.card,.metric-card,.analysis-box,.coach-kpi,.session-pill,.version-chip{
  border-color:#30383C;
}

.card-head,.expert-disclosure,.coach-sector-head{
  background:#0B1114;
}

.btn,.analysis-tab.is-active,.coach-target-switch button.is-active{
  background:#78B703;
  color:#03080A;
  box-shadow:0 6px 18px rgba(120,183,3,.16);
}

.btn:hover,.analysis-tab.is-active:hover,.coach-target-switch button.is-active:hover{
  background:#84CC00;
  filter:none;
}

.btn-secondary{
  background:#22272A;
  color:#F5F7F8;
  border-color:#3A4246;
}

.text-input,.file-input,.session-label-input{
  background:#0B1114;
  color:#F5F7F8;
  border-color:#30383C;
}

.text-input:focus,.session-label-input:focus{
  border-color:#78B703;
  box-shadow:0 0 0 3px rgba(120,183,3,.14);
}

.demo-session-btn:hover,.demo-session-btn:focus-visible{
  border-color:#78B703;
  color:#84CC00;
  box-shadow:0 0 0 3px rgba(120,183,3,.12);
}

.status-box.good{
  background:rgba(120,183,3,.12);
  border-color:rgba(120,183,3,.30);
  color:#B8E66A;
}

.status-box.bad{
  background:rgba(220,24,35,.13);
  border-color:rgba(220,24,35,.30);
  color:#FF8A91;
}

.coach-overview{
  background:linear-gradient(135deg,rgba(120,183,3,.11),#10181C 48%,#0B1114);
}

.coach-kpi{
  background:#0B1114;
}

.coach-kpi-reference{border-left-color:#C6CACC}
.coach-kpi-compare{border-left-color:#78B703}
.coach-kpi-result{border-left-color:#AAAEB1}
.coach-kpi-theoretical{border-left-color:#84CC00}
.coach-kpi-theoretical strong{color:#84CC00}
.coach-kpi-result strong.coach-loss,.coach-loss{color:#FF5B64}
.coach-kpi-result strong.coach-gain,.coach-gain{color:#A8DB47}
.coach-neutral{color:#C6CACC}

.coach-track-canvas,.speed-canvas{
  border-color:#30383C;
  background:#10181C;
}

.coach-track-legend span,.legend-item,.toggle,.coach-estimate-badge{
  background:#0B1114;
  border-color:#30383C;
}

.coach-track-legend .coach-track-gain::before{background:#78B703}
.coach-track-legend .coach-track-neutral::before{background:#C6CACC}
.coach-track-legend .coach-track-loss::before{background:#DC1823}
.coach-track-detail.coach-loss{border-left-color:#DC1823;color:#FF8A91}
.coach-track-detail.coach-gain{border-left-color:#78B703;color:#B8E66A}
.coach-track-detail.coach-neutral{border-left-color:#C6CACC;color:#C6CACC}

th{color:#D5D9DB;font-weight:600}
tr:hover td{background:rgba(120,183,3,.07)}
.selectable-lap-row{cursor:pointer}
.selectable-lap-row:focus-visible{outline:2px solid #84CC00;outline-offset:-2px}
.selectable-lap-row.is-selected td{background:rgba(120,183,3,.10)}
.selectable-lap-row.is-selected:hover td{background:rgba(120,183,3,.15)}
.fastest-lap-row td{background:rgba(120,183,3,.12)!important}
.fastest-lap-time,.best-sector-cell{color:#84CC00}
.session-divider-row td{background:linear-gradient(90deg,rgba(120,183,3,.10),rgba(120,183,3,.025));border-color:rgba(120,183,3,.20)}
.session-divider-chip,.session-pill strong,.session-mini{background:rgba(120,183,3,.15);color:#A8DB47}

.map-shift-toggle,.map-shift-body,.shift-axis-card,.shift-step-btn{
  background:#10181C;
  border-color:#30383C;
  color:#F5F7F8;
}

.shift-step-btn:hover{border-color:#78B703;color:#84CC00}
.footer,.coach-caveat{color:var(--muted-tertiary);font-weight:400}
.footer{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.footer a,.legal-footer a{color:#D5D9DB;font-weight:600}
.footer a:hover,.legal-footer a:hover{color:#84CC00}
.footer-separator{color:#657075}

.legal-page{min-height:100%;background:radial-gradient(circle at 76% 0,rgba(120,183,3,.07),transparent 34%),#03080A;color:var(--text)}
.legal-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1040px;margin:0 auto;padding:18px 22px;background:rgba(3,8,10,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
.legal-brand{display:flex;align-items:center;gap:10px;color:var(--text)}
.legal-brand>span:last-child{display:flex;flex-direction:column;gap:1px}
.legal-brand strong{font-size:16px}.legal-brand small{color:var(--muted-tertiary);font-weight:500}
.legal-logo{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#78B703;color:#03080A;font-weight:800;box-shadow:0 0 18px rgba(132,204,0,.18)}
.legal-back{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.legal-main{max-width:1040px;margin:0 auto;padding:26px 22px 44px}
.legal-card{border:1px solid var(--border);border-radius:18px;background:#10181C;box-shadow:var(--shadow-strong);padding:clamp(22px,4vw,44px)}
.legal-card h1{margin:0 0 22px;font-size:clamp(28px,5vw,42px);letter-spacing:-.02em}
.legal-card h2{margin:0 0 12px;font-size:20px;color:#F5F7F8}
.legal-card section{padding:22px 0;border-top:1px solid var(--border)}
.legal-card section:first-of-type{border-top:0}
.legal-card p,.legal-card dd{color:#D5D9DB;line-height:1.65;font-weight:400}
.legal-card a{color:#A8DB47;text-decoration:underline;text-underline-offset:3px}
.legal-eyebrow{margin:0 0 6px!important;color:#84CC00!important;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:800!important}
.legal-updated{color:var(--muted-tertiary)!important}
.legal-placeholder-warning{display:flex;flex-direction:column;gap:5px;margin:0 0 24px;padding:14px 16px;border:1px solid rgba(255,102,0,.42);border-left:4px solid #FF6600;border-radius:12px;background:rgba(255,102,0,.09)}
.legal-placeholder-warning strong{color:#FFB27D}.legal-placeholder-warning span{color:#F0D3C1;line-height:1.5}
.legal-data{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:0;margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.legal-data dt,.legal-data dd{margin:0;padding:12px 14px;border-top:1px solid var(--border)}
.legal-data dt:nth-of-type(1),.legal-data dd:nth-of-type(1){border-top:0}
.legal-data dt{background:#0B1114;color:#BEC4C7;font-weight:700}.legal-data dd{background:#10181C}
.legal-note{color:var(--muted-tertiary)!important;font-size:13px}
.legal-source-note{margin-top:8px;padding:20px!important;border:1px solid rgba(120,183,3,.24)!important;border-radius:12px;background:rgba(120,183,3,.055)}
.legal-footer{max-width:1040px;margin:0 auto;padding:0 22px 34px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:var(--muted-tertiary);font-size:13px}
.legal-footer a[aria-current="page"]{color:#84CC00}

@media (max-width:640px){
  body{font-size:14px}
  .legal-header{padding:14px}.legal-main{padding:16px 12px 30px}.legal-card{padding:20px 16px}.legal-data{grid-template-columns:1fr}.legal-data dt,.legal-data dd{border-top:1px solid var(--border)!important}.legal-data dt:first-of-type{border-top:0!important}.legal-data dd{padding-top:8px}
}
