/* BF6 Tech main visual theme. */
:root{
  --concept-accent:#146cfa;
  --concept-accent-hover:#3b84fb;
  --concept-black:#070b10;
  --concept-paper:#0a1019;
  --concept-surface:#111d29;
  --concept-field:#172635;
  --concept-copy:#f2f6fb;
  --concept-muted:#91a4b6;
  --concept-line:#2b3d4e;
}

*{border-radius:0!important}
html{scroll-behavior:smooth;background:var(--concept-black)}
body.concept-body{
  --bg:#070b10;
  --panel:#101a25;
  --panel2:#142130;
  --head:#080d13;
  --border:rgba(125,157,184,.26);
  --border2:rgba(125,157,184,.48);
  --text:#f2f6fb;
  --muted:#91a4b6;
  margin:0;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  min-height:100svh;
  overflow-x:hidden;
  background:var(--concept-black);
  color:var(--concept-copy);
  color-scheme:dark;
  font-family:Arial,Helvetica,sans-serif;
}

.concept-body .top-nav{
  position:sticky;
  top:0;
  z-index:150;
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 230px;
  align-items:stretch;
  min-height:68px;
  margin:0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:rgba(8,8,8,.96);
  box-shadow:0 10px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(14px);
}
.concept-brand{
  display:grid;
  align-content:center;
  justify-items:center;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding-inline:30px;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.13);
  color:#fff;
  line-height:.92;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}
.concept-brand span{font-size:.978rem;font-weight:900;letter-spacing:.1em;white-space:nowrap}
.concept-brand strong{margin-top:4px;font-size:1rem;font-weight:950;letter-spacing:.11em;white-space:nowrap}
.concept-body .nav-menu{display:flex;align-items:stretch;justify-content:center;box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:clip;border:0;background:transparent}
.concept-body .nav-link{
  position:relative;
  display:flex;
  flex:0 0 auto;
  align-items:center;
  min-height:68px;
  padding:0 18px;
  border:0;
  background:transparent;
  color:#bdbdbd;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.07em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}
.concept-body .nav-link::after{content:"";position:absolute;right:18px;bottom:0;left:18px;height:3px;background:transparent}
.concept-body .nav-link:hover{background:rgba(255,255,255,.04);color:#fff}
.concept-body .nav-link.active{background:transparent;color:#fff}
.concept-body .nav-link.active::after{background:var(--concept-accent)}
.concept-body .nav-menu-toggle{display:none}
.concept-nav-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  justify-self:end;
  gap:9px;
  width:max-content;
  min-width:0;
  height:100%;
  padding:0 14px;
  border-left:1px solid rgba(255,255,255,.13);
  color:#8396a8;
  font-size:.52rem;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1.15;
  text-align:right;
  text-transform:uppercase;
  white-space:nowrap;
}
.concept-nav-meta__label{font-size:.58rem;letter-spacing:.1em}
.concept-nav-meta__details{display:grid;justify-items:start;gap:3px;color:#dce6ef;font-size:.66rem;letter-spacing:.075em;text-align:left}
.concept-nav-meta>.concept-nav-version{align-self:center;width:auto;min-height:0;padding:3px 0;border:0;background:transparent;color:#fff;font:inherit;font-size:.66rem;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.concept-nav-meta>.concept-nav-version:hover{background:transparent;color:var(--concept-accent)}

.concept-body .wrap{display:flex;flex:1 0 auto;flex-direction:column;width:100%;margin:0;padding:0}
.concept-body .page-section{min-height:60vh}
.concept-body .page-section.active{flex:1 0 auto}
.concept-body #spawns{padding:14px 0 70px;background:var(--concept-paper)}

.concept-body .filters{
  --concept-filter-padding:22px;
  width:min(calc(100% - 40px),1120px);
  margin:0 auto 20px;
  padding:var(--concept-filter-padding);
  border:1px solid var(--concept-line);
  border-top:4px solid var(--concept-accent);
  background:var(--concept-surface);
  box-shadow:0 18px 48px rgba(18,18,18,.09);
}
.concept-body .filters-toggle{
  display:flex;
  grid-column:1/-1;
  align-items:center;
  justify-content:center;
  width:calc(100% + (var(--concept-filter-padding) * 2));
  min-height:18px;
  margin:10px calc(var(--concept-filter-padding) * -1) calc(var(--concept-filter-padding) * -1);
  padding:0;
  border:0;
  border-top:1px solid var(--concept-line);
  background:#080e15;
  box-shadow:none;
}
.concept-body .filters-toggle::after{
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid var(--concept-accent);
  border-bottom:2px solid var(--concept-accent);
  transform:translateY(2px) rotate(-135deg);
}
.concept-body .filters-toggle[aria-expanded="false"]::after{transform:translateY(-2px) rotate(45deg)}
.concept-body .filters-toggle:hover{background:#0c1620}
.concept-body .filters.is-collapsed{
  --concept-filter-padding:0px;
  padding:0;
  border-top:1px solid var(--concept-line);
  background:var(--concept-surface);
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}
.concept-body .filters.is-collapsed .filter-field,.concept-body .filters.is-collapsed .filter-actions{display:none}
.concept-body .filters.is-collapsed .filters-toggle{margin:0;min-height:18px}
.concept-body .filter-field label,.concept-body .filter-actions-label{color:var(--concept-copy);font-size:.72rem;letter-spacing:.12em}
.concept-body .filter-hint,.concept-body .filter-selection-summary{color:var(--concept-muted)}
.concept-body .filter-search,.concept-body .filter-options,.concept-body .filter-action-panel{
  border-color:var(--concept-line);
  background:var(--concept-field);
  color:var(--concept-copy);
}
.concept-body .filter-search:focus{border-color:var(--concept-accent);box-shadow:0 0 0 3px rgba(20,108,250,.17)}
.concept-body .filter-option,.concept-body .filter-actions button,.concept-body .team-filter-toggle{
  border-color:var(--concept-line);
  background:var(--concept-surface);
  color:var(--concept-copy);
  white-space:nowrap;
}
.concept-body .filter-option:hover,.concept-body .filter-option.is-selected,.concept-body .mode-toggle.is-active{
  border-color:var(--concept-accent);
  background:var(--concept-accent);
  color:#fff;
}
.concept-body .filter-option.is-selected::after{color:var(--concept-accent-hover)}
.concept-body .team-filter-menu{border-color:var(--concept-line);background:var(--concept-surface)}
.concept-body .segmented{color:var(--concept-copy)}
.concept-body .segmented:hover,.concept-body .segmented.is-active{border-color:var(--concept-accent);background:var(--concept-accent);color:#fff}

.concept-body .timer{
  width:min(calc(100% - 40px),1120px);
  margin:0 auto 18px;
  border:0;
  background:#080d13;
  color:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.15);
}
.concept-body .timer-label{color:#c6c6c6}
.concept-body .timer-display,.concept-body .timer-duration-toggle,.concept-body .timer-settings-toggle{border-color:var(--concept-line);background:var(--concept-surface);color:#fff}
.concept-body .timer-toggle{border-color:var(--concept-line);background:var(--concept-surface);color:var(--concept-copy)}
.concept-body .timer-toggle:hover{border-color:var(--concept-accent);background:var(--concept-field);color:#fff}
.concept-body .timer-toggle.is-alarm-action{white-space:nowrap;letter-spacing:0}
.concept-body .timer-display.done{
  border-color:rgba(230,188,111,.88);
  background:rgba(230,188,111,.12);
  color:#f3d492;
  animation:concept-timer-alert .85s steps(2,end) infinite;
}
@keyframes concept-timer-alert{
  50%{border-color:#f0c76f;background:rgba(230,188,111,.34);color:#fff4d2;box-shadow:0 0 0 3px rgba(230,188,111,.12),0 0 18px rgba(230,188,111,.26)}
}
.concept-body .timer-duration-menu,.concept-body .timer-settings-menu{border-color:var(--concept-line);background:var(--concept-surface);color:#fff}

.concept-body .results-toolbar{width:min(calc(100% - 40px),var(--spawn-table-max));color:var(--concept-copy)}
.concept-body .results-info{color:var(--concept-muted);font-size:.78rem;font-weight:750}
.concept-body .results-toolbar button{border-color:var(--concept-line);background:var(--concept-surface);color:var(--concept-copy)}
.concept-body .results-toolbar .objective-mode-toggle.is-objectives-off{border-color:rgba(214,91,73,.68);background:rgba(214,91,73,.16);color:#f1b0a2}
.concept-body .results-toolbar .objective-mode-toggle.is-objectives-off:hover{border-color:rgba(232,122,96,.88);background:rgba(214,91,73,.24);color:#ffe0d8}
.concept-body .results-toolbar .objective-mode-toggle.is-active:not(.is-objectives-only){border-color:rgba(247,196,88,.72);background:rgba(247,196,88,.16);color:#fff0bd}
.concept-body .results-toolbar .objective-mode-toggle.is-objectives-only{border-color:rgba(110,182,239,.72);background:rgba(110,182,239,.16);color:#d6efff}
.concept-body #copy-view{border-color:var(--concept-line);background:var(--concept-surface);color:var(--concept-copy)}
.concept-body #copy-view:hover{border-color:var(--concept-accent);background:var(--concept-field);color:#fff}

.concept-body .table-scroll-top{
  max-width:calc(100% - 40px);
  height:13px;
  margin:0 auto 6px;
  overflow-x:auto;
  overflow-y:hidden;
  background:#080d13;
  scrollbar-color:#3a4d5f #080d13;
  scrollbar-width:thin;
}
.concept-body .table-scroll-top[hidden]{display:none}
.concept-body .table-scroll-top-content{height:1px}
.concept-body .table-scroll-top::-webkit-scrollbar{height:11px}
.concept-body .table-scroll-top::-webkit-scrollbar-track{background:#080d13}
.concept-body .table-scroll-top::-webkit-scrollbar-thumb{border:2px solid #080d13;background:#3a4d5f}
.concept-body .table-scroll-top::-webkit-scrollbar-thumb:hover{background:#526a80}

.concept-body .table-shell{
  width:fit-content;
  max-width:calc(100% - 40px);
  border:0;
  background:#0e1114;
  box-shadow:0 24px 54px rgba(0,0,0,.24);
}
.concept-body thead th{background:#0b0d10;color:#fff;font-size:.78rem;letter-spacing:.08em}
.concept-body tbody td,.concept-body tbody th{background:rgba(17,21,25,.98)}
.concept-body tbody tr:nth-child(even) td,.concept-body tbody tr:nth-child(even) th{background:rgba(12,15,18,.98)}
.concept-body tbody tr:hover td,.concept-body tbody tr:hover th{background:rgba(27,32,37,.98)}
.concept-body .map-name{font-size:.93rem;letter-spacing:.055em}
.concept-body .faction-line{background:linear-gradient(90deg,rgba(255,255,255,.045),rgba(0,0,0,.2))}

.concept-body #how-to-use,.concept-body #loadouts,.concept-body #cfgs,.concept-body #credits{
  padding:88px 28px;
  background:var(--concept-paper);
}
.concept-body .how-use,.concept-body .loadout-page,.concept-body .cfg-page{max-width:1160px}
.concept-body .how-use{border:0;background:var(--concept-surface);box-shadow:0 22px 54px rgba(0,0,0,.28)}
.concept-body .how-use-block{padding:30px;border-color:var(--concept-line)}
.concept-body .how-use h2,.concept-body .loadout-head h2,.concept-body .cfg-head h2{font-size:clamp(1.9rem,3.2vw,3rem);font-weight:950;line-height:.96;letter-spacing:-.03em}
.concept-body .how-use h3{color:var(--concept-copy);font-size:1.1rem;letter-spacing:.04em}
.concept-body .how-use h3::before{content:"";display:inline-block;width:22px;height:3px;margin:0 9px 3px 0;background:var(--concept-accent)}
.concept-body .how-use p,.concept-body .how-use li{color:var(--concept-muted)}
.concept-body .how-use strong{color:var(--concept-copy)}
.concept-body .loadout-head,.concept-body .cfg-head,.concept-body .cfg-profile-session{
  border-color:var(--concept-line);
  background:var(--concept-surface);
  color:var(--concept-copy);
  box-shadow:0 18px 44px rgba(0,0,0,.24);
}
.concept-body .loadout-head p,.concept-body .cfg-head p{color:var(--concept-muted)}
.concept-body .loadout-filters{border-color:var(--concept-line);background:var(--concept-surface)}
.concept-body .loadout-filter,.concept-body .cfg-category{border-color:var(--concept-line);background:var(--concept-field);color:var(--concept-copy)}
.concept-body .loadout-filter:hover,.concept-body .loadout-filter.is-active,.concept-body .cfg-category:hover,.concept-body .cfg-category.is-active{border-color:var(--concept-accent);background:var(--concept-accent);color:#fff}
.concept-body .loadout-card,.concept-body .cfg-card{border:0;border-top:4px solid var(--concept-accent);background:#0d1620;color:#fff;box-shadow:0 18px 38px rgba(0,0,0,.28)}
.concept-body .loadout-card h3,.concept-body .cfg-card h3{color:#fff}
.concept-body .loadout-card>p,.concept-body .cfg-card p{color:#aaa}
.concept-body .loadout-explanation{border-left-color:var(--concept-accent);background:rgba(20,108,250,.1)}
.concept-body .loadout-explanation>strong{color:var(--concept-accent-hover)}

.concept-body .site-footer{margin:0;padding:16px 22px;background:#0b0b0b;color:#888}
.concept-body .site-footer button,.concept-body .site-footer a{color:#fff}
.concept-body .site-footer button:hover,.concept-body .site-footer a:hover{color:var(--concept-accent)}
.concept-body :focus-visible{outline:3px solid var(--concept-accent);outline-offset:3px}

@media(min-width:881px) and (max-width:1060px){
  .concept-brand{padding-inline:14px}
  .concept-body .nav-menu{box-sizing:border-box;padding-inline:8px}
  .concept-body .nav-link{padding-inline:8px;font-size:.68rem;letter-spacing:.04em}
  .concept-body .nav-link::after{right:8px;left:8px}
  .concept-nav-meta{padding-inline:10px}
}

@media(max-width:880px){
  .concept-body .top-nav{grid-template-columns:1fr auto;min-height:56px}
  .concept-brand{min-width:0;padding:0 14px;border:0}
  .concept-body .nav-menu-toggle{display:flex;grid-column:2;grid-row:1;gap:8px;width:clamp(140px,38vw,160px);min-width:140px;min-height:56px;border:0;border-left:1px solid rgba(255,255,255,.13);background:#111;color:#fff}
  .concept-body .nav-menu-toggle span{display:none}
  .concept-body .nav-menu-toggle strong{min-width:0;overflow:hidden;font-size:.8rem;text-overflow:clip;white-space:nowrap}
  .concept-nav-meta{display:none}
  .concept-body .nav-menu{position:absolute;top:56px;right:0;left:0;display:none;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch;width:100%;border:0;border-top:1px solid rgba(255,255,255,.12);background:#0c0c0c;box-shadow:0 20px 40px rgba(0,0,0,.44)}
  .concept-body .nav-menu.is-open{display:grid}
  .concept-body .nav-link{justify-content:flex-start;width:100%;min-height:48px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.72rem}
  .concept-body .nav-link::after{top:0;right:auto;bottom:0;left:0;width:3px;height:auto}
}

@media(min-width:761px) and (max-width:1080px){
  .concept-body .filter-options{grid-template-columns:minmax(0,1fr)}
  .concept-body .filter-option{min-width:0;overflow:hidden;text-overflow:ellipsis}
}

@media(max-width:760px){
  .concept-body .top-nav{grid-template-columns:1fr auto;min-height:56px}
  .concept-brand{min-width:0;padding:0 14px;border:0}
  .concept-body .nav-menu-toggle{display:flex;grid-column:2;grid-row:1;gap:8px;width:clamp(140px,38vw,160px);min-width:140px;min-height:56px;border:0;border-left:1px solid rgba(255,255,255,.13);background:#111;color:#fff}
  .concept-body .nav-menu-toggle span{display:none}
  .concept-body .nav-menu-toggle strong{min-width:0;overflow:hidden;font-size:.8rem;text-overflow:clip;white-space:nowrap}
  .concept-body .nav-menu{position:absolute;top:56px;right:0;left:0;display:none;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch;width:100%;border:0;border-top:1px solid rgba(255,255,255,.12);background:#0c0c0c;box-shadow:0 20px 40px rgba(0,0,0,.44)}
  .concept-body .nav-menu.is-open{display:grid}
  .concept-body .nav-link{justify-content:flex-start;width:100%;min-height:48px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.72rem}
  .concept-body .nav-link::after{top:0;right:auto;bottom:0;left:0;width:3px;height:auto}
  .concept-body #spawns{padding-top:9px}
  .concept-body .filters{--concept-filter-padding:6px;position:static;left:auto;right:auto;bottom:auto;z-index:auto;width:calc(100% - 18px);max-height:none;margin:0 auto 14px;padding:var(--concept-filter-padding);overflow:visible;border:1px solid var(--concept-line);border-top:3px solid var(--concept-accent);background:var(--concept-surface);box-shadow:0 14px 32px rgba(18,34,48,.12)}
  .concept-body .filters.is-collapsed{--concept-filter-padding:0px;position:static;left:auto;width:calc(100% - 18px);margin:0 auto 14px;padding:0;border:1px solid var(--concept-line);border-top:3px solid var(--concept-accent);background:var(--concept-surface);box-shadow:0 10px 24px rgba(0,0,0,.2)}
  .concept-body .filters-toggle{position:static;bottom:auto;border:0;border-top:1px solid var(--concept-line);background:#080e15;color:#fff}
  .concept-body .filters-toggle::after{border-color:var(--concept-accent)}
  .concept-body .filter-action-panel{background:var(--concept-field)}
  .concept-body .timer{width:calc(100% - 18px);grid-template-columns:minmax(50px,.68fr) minmax(72px,.96fr) 62px minmax(76px,1.05fr);gap:5px;padding:8px 6px}
  .concept-body .timer-duration-toggle,.concept-body .timer-toggle{padding-inline:5px;font-size:.66rem;letter-spacing:.025em}
  .concept-body .timer-toggle.is-alarm-action{padding-inline:3px;font-size:.6rem;letter-spacing:0}
  .concept-body .timer-settings-toggle{gap:4px;padding-inline:4px;font-size:0;letter-spacing:0}
  .concept-body .timer-settings-toggle::before{content:"SETTINGS";font-size:.66rem;letter-spacing:.025em}
  .concept-body .timer-duration-toggle,.concept-body .timer-settings-toggle{position:relative;justify-content:center}
  .concept-body .timer-duration-toggle::after,.concept-body .timer-settings-toggle::after{position:absolute;right:5px}
  .concept-body .timer-display{font-size:.86rem}
  .concept-body .results-toolbar{display:grid;grid-template-columns:1fr;gap:6px;width:calc(100% - 18px);margin:0 auto 14px;overflow:hidden}
  .concept-body .results-info{font-size:.6rem;line-height:1.35;letter-spacing:.035em}
  .concept-body .results-actions{justify-self:start;justify-content:flex-start;width:100%;margin-left:0}
  .concept-body .results-toolbar .objective-mode-toggle{max-width:112px;padding:5px 7px;font-size:.6rem;letter-spacing:.025em;white-space:nowrap}
  .concept-body .table-shell{width:calc(100% - 18px);max-width:none;margin-right:auto;margin-left:auto}
  .concept-body .table-scroll-top{display:none!important}
  .concept-body tbody tr{border-top:4px solid var(--concept-accent)}
  .concept-body #how-to-use,.concept-body #loadouts,.concept-body #cfgs,.concept-body #credits{padding:54px 9px}
  .concept-body .how-use-block{padding:20px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.concept-body .timer-display.done{animation:none}}
