@font-face{
  font-family:"Quicksand";
  src:url("/assets/fonts/quicksand_5.3.0_latin-wght-normal.woff2") format("woff2");
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
}
/* v71_03 — central font assignment, including pages without a local body rule.
   Keep the family token compatible with PDF parsing; fallbacks belong here. */
body{background:rgb(var(--basic-rgb));color:rgb(var(--primary-rgb));font-family:var(--font-family,"Quicksand"),system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:var(--font-weight-body,500)}
button,input,select,textarea{font-family:inherit}
/* idol shared design system
   Single source of truth for idol-brand.de + BrandStructure Snapshot/Lab.
   Dark mode is NOT a second design: theme_shared.js?v=71_07 keeps hue/saturation and
   mirrors HSL lightness (L_dark = 100% - L_light) for these RGB sources. */

:root{
  /* Gemeinsame Typografie-Basis für Web und PDF. Unveränderte Web-Ausgangswerte. */
  --font-family:"Quicksand";
  --font-root-size:16px;
  --font-body-size:1rem;
  --font-h1-size:clamp(3.7rem,7.4vw,7.2rem);
  --font-h1-mobile-size:clamp(3.15rem,16vw,5.2rem);
  --font-h2-size:clamp(2.5rem,5vw,5.2rem);
  --font-h3-size:1.55rem;
  --font-weight-body:500;
  --font-weight-heading:500;
  --font-weight-strong:700;
  --line-height-body:1.55;
  --line-height-heading:1.02;
  --letter-spacing-heading:-.045em;
  --line-width:1px;

  /* ===== idol Brand Default Preset =====
     Gespeicherter Ausgangszustand der Marke. Diese Werte sind KEINE aktiven
     Gestaltungsrollen; sie dienen als Default/Preset für das semantische System. */
  --brand-default-primary-rgb:26 42 90;
  --brand-default-primary-light-rgb:129 138 167;
  --brand-default-primary-mid-rgb:90 122 154;

  --brand-default-secondary-rgb:191 31 47;
  --brand-default-secondary-light-rgb:255 162 175;
  --brand-default-secondary-extra-light-rgb:234 152 160;

  /* Premium role: intentionally independent from the regular brand families. */
  --brand-default-special-color_premium-rgb:189 159 96;

  --brand-default-basic-rgb:255 255 255;
  --brand-default-systemlight-rgb:196 203 226;
  --brand-default-shadow-rgb:198 202 214;

  /* ===== Aktives semantisches Farbsystem =====
     Ab hier kennt die Gestaltung keine Farbnamen mehr, sondern nur Rollen.
     Diese RGB-Werte dürfen frei verändert werden; alle Anwendungen folgen. */
  --primary-rgb:var(--brand-default-primary-rgb);
  --primary-light-rgb:var(--brand-default-primary-light-rgb);
  --primary-mid-rgb:var(--brand-default-primary-mid-rgb);

  --secondary-rgb:var(--brand-default-secondary-rgb);
  --secondary-light-rgb:var(--brand-default-secondary-light-rgb);
  /* Secondary special surface: follows the Secondary family, but keeps its lightness in darth/idol. */
  --secondary-extra-light-rgb:var(--brand-default-secondary-extra-light-rgb);

  --special-color_premium-rgb:var(--brand-default-special-color_premium-rgb);

  --basic-rgb:var(--brand-default-basic-rgb);
  /* Reliable fallback. theme_shared.js?v=71_07 derives this live from the Primary family,
     preserving the reliable relative H/S/B relationship. */
  --systemlight-rgb:var(--brand-default-systemlight-rgb);
  --shadow-rgb:var(--brand-default-shadow-rgb);

  /* Globale Transparenzstufen */
  --opacity-strong:.75;
  --opacity-medium:.42;
  --opacity-light:.25;

  --radius:34px;
  --radius-control-compact:12px;
  --max:1220px;

  /* Liniengestaltung */
  --line-section:var(--line-width) solid rgb(var(--systemlight-rgb) / var(--opacity-medium));
  --line-detail:var(--line-width) solid rgb(var(--systemlight-rgb));

  /* Shadow-/Glow-System */
  --shadow:
    0 12px 40px rgb(var(--shadow-rgb) / var(--opacity-strong)),
    0 3px 12px rgb(var(--shadow-rgb) / var(--opacity-medium));

  /* Shared inner-glow surface: homepage contact section and marketing PDFs. */
  --panel-inner-background-rgb:var(--primary-mid-rgb);
  --panel-inner-text-rgb:var(--basic-rgb);
  --panel-inner-muted-opacity:var(--opacity-strong);
  --panel-inner-glow:var(--inner);

  /* Inner Glow auf Basis der semantischen Basic-Farbe */
  --inner:
    inset 0 0 34px rgb(var(--basic-rgb) / var(--opacity-strong)),
    inset 0 0 10px rgb(var(--basic-rgb) / var(--opacity-medium));
}


:root{
  /* Semantische Convenience-Aliase */
  --primary:rgb(var(--primary-rgb));
  --primary-light:rgb(var(--primary-light-rgb));
  --primary-mid:rgb(var(--primary-mid-rgb));
  --secondary:rgb(var(--secondary-rgb));
  --secondary-light:rgb(var(--secondary-light-rgb));
  --secondary-extra-light:rgb(var(--secondary-extra-light-rgb));
  --special-color_premium:rgb(var(--special-color_premium-rgb));
  --basic:rgb(var(--basic-rgb));
  --systemlight:rgb(var(--systemlight-rgb));
  --shadow-color:rgb(var(--shadow-rgb));
}

/* Premium scope: every secondary-dark use inside the scope becomes gold. */
.special-color_premium{
  --secondary-rgb:var(--special-color_premium-rgb);
}

/* Premium cards stay white and use a precise gold border instead of shadow-glow. */
.card-special-color_premium{
  background:rgb(var(--basic-rgb));
  border:1px solid rgb(var(--special-color_premium-rgb));
  box-shadow:none;
}

/* Shared light/dark switch — identical geometry on both applications. */
.theme-switch{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;color:rgb(var(--primary-light-rgb));font-weight:700;user-select:none;white-space:nowrap}
.switch{position:relative;width:54px;height:30px;flex:0 0 auto}
.switch input{position:absolute;opacity:0;pointer-events:none}
.slider{position:absolute;inset:0;border:var(--line-section);border-radius:999px;background:rgb(var(--basic-rgb));cursor:pointer;transition:.25s ease;box-shadow:var(--shadow)}
.slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:rgb(var(--primary-rgb));transition:.25s ease}
.switch input:checked + .slider:before{transform:translateX(24px);background:rgb(var(--secondary-rgb))}
@media(max-width:680px){.theme-switch{font-size:.75rem;gap:8px}}


/* ===== BrandStructure Orbit – semantische Farbanbindung =====
   Keine eigenen Grundfarben: Der Orbit bezieht seine Farbrollen ausschließlich
   aus dem globalen BrandStructure-Farbsystem. Zusätzliche Raum-/Glow-Farben
   werden im Orbit relativ aus diesen Rollen gemischt. */
:root{
  --orbit-primary-rgb:var(--primary-rgb);
  --orbit-primary-light-rgb:var(--primary-light-rgb);
  --orbit-primary-mid-rgb:var(--primary-mid-rgb);

  --orbit-secondary-rgb:var(--secondary-rgb);
  --orbit-secondary-light-rgb:var(--secondary-light-rgb);
  --orbit-secondary-extra-light-rgb:var(--secondary-extra-light-rgb);

  --orbit-basic-rgb:var(--basic-rgb);
  --orbit-systemlight-rgb:var(--systemlight-rgb);
  --orbit-shadow-rgb:var(--shadow-rgb);
}

/* ===== Semantische Controls =====
   Geometrie und Interaktion kommen von .button bzw. vom jeweiligen UI-Control.
   control-* definiert ausschließlich die visuelle Rolle im Designsystem.

   primary / secondary / basic = semantische Rollen */
.control-primary{
  background:rgb(var(--primary-rgb));
  color:rgb(var(--basic-rgb));
  box-shadow:
    0 12px 40px rgb(var(--primary-rgb) / var(--opacity-medium)),
    0 3px 12px rgb(var(--primary-rgb) / var(--opacity-medium));
}

.control-secondary{
  background:rgb(var(--secondary-rgb));
  color:rgb(var(--basic-rgb));
  box-shadow:
    0 12px 40px rgb(var(--secondary-rgb) / var(--opacity-medium)),
    0 3px 12px rgb(var(--secondary-rgb) / var(--opacity-medium));
}

.control-basic{
  background:rgb(var(--basic-rgb));
  color:rgb(var(--primary-rgb));
  box-shadow:var(--shadow);
}


/* Shared interactive behavior for semantic controls */
.control-primary,
.control-secondary,
.control-basic{
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.control-primary:hover,
.control-secondary:hover,
.control-basic:hover{
  transform:translateY(-2px);
}


/* ===== Webtool Heading =====
   Gemeinsame H1-Hierarchie für alle BrandStructure-Webtools.
   Snapshot, Lab und zukünftige Tools verwenden dieselbe Größenlogik. */
.webtool-heading{
  font-size:var(--font-h1-size);
  line-height:var(--line-height-heading);
  letter-spacing:var(--letter-spacing-heading);
  font-weight:500;
}

@media(max-width:680px){
  .webtool-heading{
    font-size:var(--font-h1-mobile-size);
  }
}



/* =========================================================
   FLOATING CALLOUT
   Wiederverwendbarer schwebender Hinweis / Promo-Bubble
   ========================================================= */

.floating-callout{
  --floating-callout-opacity:.80;
  --floating-callout-radius:2rem;
  --floating-callout-tail-size:2.125rem;

  position:fixed;
  opacity:0;
  scale:.92;
  translate:0 .65rem;
  z-index:950;
  width:min(30rem,calc(100vw - 2.75rem));
  padding:1.55rem 4rem 1.65rem 1.8rem;
  border-radius:var(--floating-callout-radius);

  color:rgb(var(--basic-rgb));

  background:rgb(var(--secondary-rgb) / var(--floating-callout-opacity));
  box-shadow:
    0 1.1rem 3.2rem rgb(var(--secondary-rgb) / .22),
    0 .25rem .9rem rgb(var(--shadow-rgb) / .24);

  backdrop-filter:blur(.75rem);
  -webkit-backdrop-filter:blur(.75rem);

  transform:translate3d(0,0,0);
  transition:
    transform .34s cubic-bezier(.2,.8,.2,1),
    opacity .32s ease,
    scale .32s cubic-bezier(.2,.85,.25,1),
    translate .32s cubic-bezier(.2,.85,.25,1),
    background-color .32s ease,
    color .32s ease,
    box-shadow .32s ease;
}

.floating-callout.is-visible{
  opacity:1;
  scale:1;
  translate:0 0;
}

.floating-callout::before{
  content:"";
  position:absolute;
  width:calc(var(--floating-callout-tail-size) * 2);
  height:var(--floating-callout-tail-size);
  background:rgb(var(--secondary-rgb) / var(--floating-callout-opacity));
  transition:opacity .2s ease;
}

.floating-callout--tail-ne::before{
  right:3.75rem;
  top:calc(var(--floating-callout-tail-size) * -1);
  width:calc(var(--floating-callout-tail-size) * 2);
  height:var(--floating-callout-tail-size);
  clip-path:polygon(100% 0,50% 100%,0 100%);
}
.floating-callout--tail-nw::before{
  left:2.75rem;
  top:calc(var(--floating-callout-tail-size) * -0.72);
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
.floating-callout--tail-se::before{
  right:2.75rem;
  bottom:calc(var(--floating-callout-tail-size) * -0.72);
  clip-path:polygon(0 0,100% 0,50% 100%);
}
.floating-callout--tail-sw::before{
  left:2.75rem;
  bottom:calc(var(--floating-callout-tail-size) * -0.72);
  clip-path:polygon(0 0,100% 0,50% 100%);
}

.floating-callout__title{
  display:block;
  margin: 0 0 1.5rem;
  color:inherit;
  font-size:clamp(1.45rem,2.7vw,2rem);
  line-height:1.05;
  font-weight:650;
}

.floating-callout__product{
  display:block;
  margin: 0 0 .5rem;
  color:inherit;
  font-size:.98rem;
  line-height:1.48;
  font-weight:700;
}


.floating-callout__text{
  margin:0;
  max-width:34rem;
  color:inherit;
  font-size:.98rem;
  line-height:1.48;
  font-weight:500;
}

.floating-callout__link{
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
}


/* Farbvarianten für wiederverwendbare Floating-Callouts */
.floating-callout--promo{
  background:rgb(var(--secondary-rgb) / var(--floating-callout-opacity));
  box-shadow:
    0 1.1rem 3.2rem rgb(var(--secondary-rgb) / .22),
    0 .25rem .9rem rgb(var(--shadow-rgb) / .24);
}

.floating-callout--promo::before{
  background:rgb(var(--secondary-rgb) / var(--floating-callout-opacity));
}

.floating-callout--tip{
  background:rgb(var(--primary-rgb) / var(--floating-callout-opacity));
  box-shadow:
    0 1.1rem 3.2rem rgb(var(--primary-rgb) / .22),
    0 .25rem .9rem rgb(var(--shadow-rgb) / .24);
}

.floating-callout--tip::before{
  background:rgb(var(--primary-rgb) / var(--floating-callout-opacity));
}

.floating-callout__close{
  position:absolute;
  z-index:3;
  top:1rem;
  right:1rem;
  width:2.8rem;
  height:2.8rem;
  display:grid;
  place-items:center;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:0;
  outline:0;
  background:none;
  box-shadow:none;
  filter:none;
  color:inherit;
  font:inherit;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease,opacity .2s ease;
}

.floating-callout__close:hover{
  background:none;
  box-shadow:none;
  filter:none;
  transform:scale(1.08);
}

/* Eingeklappt bleibt der Hinweis als schmale Lasche am Rand sichtbar. */
.floating-callout.is-collapsed{
  transform:translateX(calc(100% - 1.4rem));
  cursor:pointer;
}

.floating-callout.is-collapsed::before{opacity:0}

.floating-callout.is-collapsed .floating-callout__title,
.floating-callout.is-collapsed .floating-callout__product,
.floating-callout.is-collapsed .floating-callout__text,
.floating-callout.is-collapsed .floating-callout__link,
.floating-callout.is-collapsed .floating-callout__close{
  opacity:0;
  pointer-events:none;
}

.floating-callout.is-collapsed::after{
  content:"";
  position:absolute;
  left:1.08rem;
  top:50%;
  width:.95rem;
  height:.95rem;
  border-radius:50%;
  background:rgb(var(--basic-rgb));
  transform:translateY(-50%);
  box-shadow:0 0 0 .42rem rgb(var(--basic-rgb) / .14);
}

@media(max-width:680px){
  .floating-callout{
    width:min(24rem,calc(100vw - 1.75rem));
    padding:1.3rem 3.7rem 1.4rem 1.45rem;
    --floating-callout-radius:1.625rem;
  }
  .floating-callout__text{font-size:.9rem}
}


/* Floating callout close button is intentionally chrome-free. */
button.floating-callout__close,
button.floating-callout__close:hover,
button.floating-callout__close:focus,
button.floating-callout__close:active{
  background:none;
  border:0;
  outline:0;
  box-shadow:none;
  filter:none;
}


/* =========================================================
   SHARED SELECT
   Wiederverwendbares Dropdown in der Formensprache der
   kompakten BrandStructure-Auswahlfelder.
   ========================================================= */

.shared-select{
  position:relative;
  display:block;
  width:100%;
}

.shared-select::after{
  content:"";
  position:absolute;
  top:50%;
  right:1rem;
  width:.5rem;
  height:.5rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  color:rgb(var(--primary-light-rgb));
  pointer-events:none;
  transform:translateY(-68%) rotate(45deg);
}

.shared-select select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:54px;
  padding:.55rem 2.6rem .55rem 1rem;
  border:var(--line-section);
  border-radius:999px;
  color:rgb(var(--primary-rgb));
  background:rgb(var(--basic-rgb));
  font:inherit;
  font-size:.76rem;
  font-weight:700;
  cursor:pointer;
}

.shared-select select:focus-visible{
  outline:2px solid rgb(var(--primary-rgb));
  outline-offset:1px;
}

.shared-select select:disabled{
  cursor:not-allowed;
  opacity:.62;
}

body.idol-theme .shared-select select{
  border-color:transparent;
  box-shadow:var(--shadow);
}

/* v71_01 — one homepage-sized preset for EVERY header theme switch and logo.
   Deliberately scoped to headers: scanner option switches keep their own size. */
:root{
  --header-logo-width:382px; --header-logo-height:87px;
  --header-switch-width:42px; --header-switch-height:22px;
  --header-switch-knob:16px; --header-switch-travel:20px;
  --header-switch-font:.68rem; --header-switch-gap:7px;
  --header-theme-gap:18px;
}
@media(max-width:680px){:root{
  --header-logo-width:315px; --header-logo-height:75px;
  --header-switch-width:38px; --header-switch-height:20px;
  --header-switch-knob:14px; --header-switch-travel:18px;
  --header-switch-font:.62rem; --header-switch-gap:6px;
}}
header .theme-switch{
  font-size:var(--header-switch-font)!important;line-height:1!important;
  gap:var(--header-switch-gap)!important;font-weight:700!important;
  color:rgb(var(--primary-light-rgb));white-space:nowrap;
}
header .theme-switch .switch{
  position:relative!important;display:inline-block!important;flex:0 0 auto!important;
  width:var(--header-switch-width)!important;height:var(--header-switch-height)!important;
  min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;
}
header .theme-switch .slider:before{
  width:var(--header-switch-knob)!important;height:var(--header-switch-knob)!important;
  left:3px!important;top:3px!important;transform:none!important;
}
header .theme-switch .switch input:checked + .slider:before{transform:translateX(var(--header-switch-travel))!important}
header .theme-switch .switch input{width:100%;height:100%;padding:0;margin:0;inset:0}
header .theme-switch .switch input:focus-visible + .slider{outline:2px solid rgb(var(--secondary-rgb));outline-offset:3px}
header .brand,header .snapshot-brand,header.unified-lab-header .lab-brand{
  width:var(--header-logo-width)!important;height:var(--header-logo-height)!important;
  flex:0 0 auto!important;
}
header .brand img,header .snapshot-brand img,header.unified-lab-header .lab-brand img{
  width:var(--header-logo-width)!important;max-width:none!important;height:auto!important;
}
.header-theme-row,.snapshot-header-theme-row,.unified-lab-themes{
  gap:var(--header-theme-gap)!important;flex-wrap:wrap;row-gap:10px!important;
}
/* Runtime measures fixed headers when additional theme switches wrap. */
body.idol-fixed-header{padding-top:var(--idol-header-height)!important}
@media(max-width:380px){
  header.site-header,header.snapshot-site-header{column-gap:8px;padding-inline:8px}
  header .brand,header .snapshot-brand{max-width:calc(100vw - 68px)}
  header .brand img,header .snapshot-brand img{max-width:100%!important}
}

/* v71_02 — clock belongs to the darth/idol group, after the last label. */
header .theme-switch .idol-header-clock{margin-left:var(--header-switch-gap);font-size:inherit;font-weight:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:3.2em;text-align:right}

header .theme-switch .idol-clock-button{display:inline-flex;align-items:center;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;box-shadow:none;cursor:pointer;transform:none!important}
header .theme-switch .idol-clock-button:focus-visible{outline:2px solid rgb(var(--secondary-rgb));outline-offset:4px}
.idol-sun-dialog{position:fixed;inset:0;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:1.5rem;font-family:"Quicksand",system-ui,sans-serif;box-sizing:border-box;z-index:3000}
.idol-sun-dialog h2{margin:0 0 1rem;font-size:1.4rem;line-height:1.2}
.idol-sun-dialog p{font-size:.88rem;line-height:1.5;color:rgb(var(--primary-light-rgb))}
.idol-sun-dialog a{display:inline-block;margin-top:1rem;color:rgb(var(--secondary-rgb));font-size:.8rem}
.idol-sun-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.idol-sun-actions button{padding:.65rem .9rem;border:var(--line-section);border-radius:999px;background:rgb(var(--basic-rgb));color:rgb(var(--primary-rgb));font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}
.idol-sun-actions button:disabled{opacity:.6;cursor:default}

/* v71_04 — shared modal appearance.
   Layout, width, padding and open/close behavior stay with each tool.
   These visual roles override older module skins, including ID selectors.
   ::backdrop receives its tokens directly for older browsers that do not
   inherit custom properties into this pseudo-element. */
:root,dialog::backdrop{
  --dialog-backdrop-rgb:0 0 30;
  --dialog-backdrop-opacity:.35;
  --dialog-backdrop-blur:3px;
}
:root{
  --dialog-surface-rgb:var(--basic-rgb);
  --dialog-text-rgb:var(--primary-rgb);
  --dialog-border:var(--line-section);
  --dialog-radius:24px;
  --dialog-glow:var(--shadow);
}
dialog,
[role="dialog"][aria-modal="true"],
[role="alertdialog"][aria-modal="true"],
.shared-dialog-panel{
  background:rgb(var(--dialog-surface-rgb))!important;
  color:rgb(var(--dialog-text-rgb))!important;
  border:var(--dialog-border)!important;
  border-radius:var(--dialog-radius)!important;
  box-shadow:var(--dialog-glow)!important;
}
dialog::backdrop,
.shared-dialog-backdrop,
.premium-archive-dialog{
  background:rgb(var(--dialog-backdrop-rgb) / var(--dialog-backdrop-opacity))!important;
  -webkit-backdrop-filter:blur(var(--dialog-backdrop-blur))!important;
  backdrop-filter:blur(var(--dialog-backdrop-blur))!important;
}

/* v74_01 — shared public/private header and footer geometry. Navigation data is separate. */
body.bs-has-header{padding-top:var(--idol-header-height,116px)!important}
html body header.bs-site-header{box-sizing:border-box!important;position:fixed!important;inset:0 0 auto 0!important;z-index:1000!important;width:100%!important;height:auto!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:2rem!important;padding:14px max(22px,calc((100vw - var(--max))/2))!important;margin:0!important;background:rgb(var(--basic-rgb)/var(--opacity-strong))!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:0!important;border-bottom:var(--line-section)!important;font-family:var(--font-family),system-ui,sans-serif!important;line-height:1.55!important}
html body .bs-site-header .bs-header-brand{display:flex!important;align-items:center!important;flex:0 0 auto!important;overflow:visible!important;text-decoration:none!important;margin:0!important}
html body .bs-site-header .bs-header-controls{margin:0 0 0 auto!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-end!important;min-width:0!important;gap:0!important;width:auto!important}
html body .bs-site-header .bs-header-themes{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:10px var(--header-theme-gap)!important;width:100%!important;min-height:24px!important;margin:0 0 2px!important;transform:translateY(-8px)!important}
html body .bs-site-header .bs-nav{font-family:inherit!important;font-size:.92rem!important;font-weight:600!important;line-height:1.55!important;color:rgb(var(--primary-rgb))!important}
html body .bs-site-header .bs-lab-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:1.6rem!important;flex-wrap:wrap!important;margin:0!important;padding:0!important}
html body .bs-nav .bs-dropdown{position:relative;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
html body .bs-nav .bs-dropdown>summary{display:flex;align-items:center;gap:.45rem;list-style:none;cursor:pointer;color:inherit;font:inherit;padding:0;margin:0}
html body .bs-nav .bs-dropdown>summary::-webkit-details-marker{display:none}
html body .bs-nav .bs-dropdown>summary::after{content:"";width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
html body .bs-nav .bs-dropdown[open]>summary::after{transform:translateY(2px) rotate(225deg)}
html body .bs-nav .bs-dropdown.is-active>summary,html body .bs-nav .bs-dropdown-links a[aria-current=page]{color:rgb(var(--secondary-rgb))!important}
html body .bs-nav .bs-dropdown-links{box-sizing:border-box;position:absolute;top:calc(100% + .85rem);right:0;left:auto;z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:.25rem;width:max-content;min-width:180px;max-width:calc(100vw - 28px);max-height:calc(100dvh - var(--idol-header-height,116px) - 24px);overflow:auto;padding:.65rem;border:var(--line-section);border-radius:16px;background:rgb(var(--basic-rgb));color:rgb(var(--primary-rgb));box-shadow:var(--shadow)}
html body .bs-nav .bs-dropdown:not([open])>.bs-dropdown-links{display:none}
html body .bs-nav .bs-dropdown-links a{display:block!important;width:auto!important;padding:.65rem .75rem!important;margin:0!important;border-radius:9px;text-align:left!important;text-decoration:none!important;white-space:nowrap;color:inherit;font:inherit}
html body .bs-nav .bs-dropdown-links a::after{display:none!important}
html body .bs-nav .bs-dropdown-links a:hover{background:rgb(var(--systemlight-rgb)/var(--opacity-medium))}
.bs-nav summary:focus-visible,.bs-nav a:focus-visible{outline:2px solid rgb(var(--secondary-rgb));outline-offset:3px}
html body footer.bs-site-footer{box-sizing:border-box;width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:3rem 0 4rem;border-top:var(--line-section);display:block;font-family:var(--font-family),system-ui,sans-serif;line-height:1.55}
html body .bs-site-footer .bs-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;width:100%;margin:0;padding:0}
html body .bs-site-footer .bs-footer-brand{display:block;font-size:1rem;color:rgb(var(--primary-rgb));white-space:nowrap}
.bs-footer-brand .idol-word{font-weight:700}.bs-footer-brand .brand-word{font-weight:300}.bs-footer-brand .structure-word{font-weight:600}
html body .bs-site-footer .bs-footer-links{display:flex;gap:1.3rem;flex-wrap:wrap;color:rgb(var(--primary-light-rgb));font-size:.85rem}
.bs-footer-links a{color:inherit;text-decoration:none}
@media(max-width:980px){
 html body header.bs-site-header{flex-wrap:wrap!important;gap:8px!important}
 html body .bs-site-header .bs-header-controls{flex:1 1 auto!important}
 html body .bs-site-header .bs-header-themes{min-height:22px!important;transform:translateY(-4px)!important}
 html body .bs-site-header .bs-lab-nav{gap:1.2rem!important}
 html body .bs-nav:not(.bs-lab-nav) .bs-dropdown-links{position:static;margin-top:.75rem}
}
@media(max-width:680px){
 html body header.bs-site-header{padding:10px 14px!important}
 html body .bs-site-header .bs-header-controls{width:100%!important;align-self:auto!important}
 html body .bs-site-header .bs-header-themes{transform:none!important;margin-bottom:12px!important}
 html body .bs-site-header .bs-lab-nav{font-size:.88rem!important;gap:1rem!important}
 html body footer.bs-site-footer{width:calc(100% - 28px)}
 html body .bs-site-footer .bs-footer-inner{align-items:flex-start;flex-direction:column}
 html body .bs-site-footer .bs-footer-links{align-self:flex-end;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}
}
@media(max-width:380px){html body .bs-site-header .bs-header-brand{max-width:100%!important}html body .bs-site-header .bs-header-brand img{max-width:100%!important}}
@media print{html body header.bs-site-header{display:none!important}body.bs-has-header{padding-top:0!important}}
html body.lt-embedded header.bs-site-header,html body.lt-embedded footer.bs-site-footer{display:none!important}
html body.lt-embedded{padding-top:0!important}

@media(max-width:680px){html body .bs-lab-nav .bs-dropdown:first-child>.bs-dropdown-links{left:0;right:auto}}
