.ssl{color:#FFFFFF;border-radius:34px;overflow:hidden;padding:clamp(18px,4vw,42px);background:radial-gradient(circle at 14% 8%,rgba(13,115,119,.18),transparent 22rem),radial-gradient(circle at 88% 0%,rgba(207,157,42,.17),transparent 22rem),linear-gradient(135deg,#0D1B2A,#0A1625 46%,#162A45);border:1px solid rgba(13,115,119,.24);box-shadow:0 28px 80px rgba(13,27,42,.30)}
.ssl *{box-sizing:border-box}.ssl-kicker{color:#0D7377;font-weight:950;letter-spacing:.16em;text-transform:uppercase;font-size:12px;margin-bottom:12px}.ssl h2{margin:0;max-width:1050px;font-size:clamp(34px,6vw,74px);letter-spacing:-.06em;line-height:.94}.ssl-lede{max-width:980px;color:rgba(255,255,255,.78);font-size:clamp(16px,2vw,22px);line-height:1.58}.ssl-scenario-desc{color:rgba(255,255,255,.72);line-height:1.52}.ssl-terms{margin:20px 0;padding:14px;border-radius:18px;background:rgba(207,157,42,.12);border:1px solid rgba(207,157,42,.36);color:rgba(255,255,255,.86);line-height:1.45}.ssl-terms input{transform:scale(1.15);margin-right:8px}.ssl-grid{display:grid;grid-template-columns:minmax(310px,.86fr) minmax(0,1.14fr);gap:18px}.ssl-panel{min-width:0;border-radius:24px;padding:17px;background:rgba(255,255,255,.072);border:1px solid rgba(255,255,255,.12)}.ssl-panel h3{margin:18px 0 10px;font-size:20px}.ssl-status{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(13,115,119,.12);border:1px solid rgba(13,115,119,.25);font-weight:900;font-size:12px}.ssl-control{margin-top:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}.ssl-control label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.ssl-control strong{font-size:14px}.ssl-control b{color:#CF9D2A;white-space:nowrap}.ssl-control input,.ssl-control select{width:100%;accent-color:#0D7377}.ssl-control select{border:1px solid rgba(13,115,119,.24);background:rgba(5,13,23,.88);color:white;border-radius:14px;padding:12px;font-weight:900}.ssl-control small{display:block;color:rgba(255,255,255,.66);line-height:1.42;margin-top:6px}.ssl-run,.ssl-actions button{width:100%;margin-top:14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(207,157,42,.44);background:linear-gradient(135deg,#CF9D2A,#E8EDF2);color:#0D1B2A;font-weight:1000;cursor:pointer}#sslMap{width:100%;height:420px;display:block;border-radius:20px;background:#0D1B2A;border:1px solid rgba(255,255,255,.14)}.ssl-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.ssl-results div{border-radius:17px;padding:12px;background:rgba(255,255,255,.072);border:1px solid rgba(255,255,255,.1)}.ssl-results span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:950}.ssl-results b{display:block;font-size:clamp(20px,2.5vw,30px);margin-top:4px}.ssl-charts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}.ssl-charts canvas{width:100%;height:220px;border-radius:18px;background:#0D1B2A;border:1px solid rgba(255,255,255,.12)}.ssl-report{white-space:pre-wrap;overflow:auto;max-height:380px;border-radius:18px;padding:14px;margin-top:12px;background:rgba(13,27,42,.34);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.84);font-size:12px;line-height:1.55}.ssl-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:960px){.ssl-grid{grid-template-columns:1fr}.ssl-results{grid-template-columns:repeat(2,minmax(0,1fr))}#sslMap{height:340px}.ssl-charts{grid-template-columns:1fr}}@media(max-width:560px){.ssl{padding:18px;border-radius:26px}.ssl h2{font-size:38px}.ssl-results{grid-template-columns:1fr}#sslMap{height:300px}.ssl-actions{grid-template-columns:1fr}}

/* Dedicated universal/scenario control separation */
.ssl-control-zone {
  margin-top: 18px;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.12);
}

.ssl-universal-zone {
  background:
    linear-gradient(180deg, rgba(13,115,119,.075), rgba(255,255,255,.045));
  border-color: rgba(13,115,119,.24);
}

.ssl-scenario-zone {
  background:
    linear-gradient(180deg, rgba(207,157,42,.10), rgba(255,255,255,.045));
  border-color: rgba(207,157,42,.28);
}

.ssl-zone-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.ssl-zone-head h3 {
  margin: 3px 0 0;
  color: #FFFFFF;
  font-size: 20px;
  line-height: 1.05;
}

.ssl-zone-kicker {
  color: #0D7377;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ssl-scenario-zone .ssl-zone-kicker {
  color: #CF9D2A;
}

.ssl-zone-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 950;
  color: #0D1B2A;
  background: linear-gradient(135deg, #0D7377, #E8EDF2);
}

.ssl-scenario-zone .ssl-zone-badge {
  background: linear-gradient(135deg, #CF9D2A, #E8EDF2);
}

.ssl-zone-desc {
  margin: 0 0 12px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1.48;
}

.ssl-control-list {
  display: grid;
  gap: 10px;
}

.ssl-universal-zone .ssl-control {
  border-color: rgba(13,115,119,.18);
}

.ssl-scenario-zone .ssl-control {
  border-color: rgba(207,157,42,.20);
}

.ssl-scenario-zone .ssl-control b {
  color: #E8EDF2;
}

@media (max-width: 560px) {
  .ssl-zone-head {
    flex-direction: column;
  }

  .ssl-zone-badge {
    width: fit-content;
  }
}

/* NICOLE Iris + battery triage controls */
.ssl-control-zone.ssl-universal-zone::after {
  content: "Battery triage is universal: sensor duty cycle, BLE duty, compute cadence, thermal state, and reserve power constrain every scenario.";
  display: block;
  margin-top: 12px;
  padding: 11px 12px;
  border-radius: 14px;
  color: var(--PALE_BLUE_GRAY, #E8EDF2);
  background: linear-gradient(135deg, rgba(114,68,196,.16), rgba(13,115,119,.10));
  border: 1px solid rgba(114,68,196,.45);
  font-size: 12px;
  line-height: 1.45;
}

.ssl-control label strong::selection,
.ssl-report::selection {
  background: rgba(114,68,196,.35);
  color: #FFFFFF;
}

.ssl-status,
.ssl-zone-badge {
  box-shadow: 0 0 0 1px rgba(114,68,196,.20), 0 0 22px rgba(114,68,196,.10);
}


/* Elite restored model summary cards */
.ssl-scenario-model-summary {
  margin: 12px 0 14px;
  border-radius: 18px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(13,115,119,.14), rgba(114,68,196,.10));
  border: 1px solid rgba(114,68,196,.44);
}

.ssl-model-title {
  color: #FFFFFF;
  font-weight: 1000;
  letter-spacing: -.02em;
  margin-bottom: 5px;
}

.ssl-model-body {
  color: rgba(232,237,242,.78);
  font-size: 13px;
  line-height: 1.48;
}

.ssl-control small + small {
  margin-top: 4px;
}

.ssl-control small b {
  color: #CF9D2A !important;
}


/* SOS  dense research layout */
.ssl {
  padding-top: clamp(14px, 2vw, 26px) !important;
  padding-bottom: clamp(16px, 2.5vw, 30px) !important;
}

.ssl-lede {
  margin-bottom: 10px !important;
}

.ssl-grid {
  gap: 12px !important;
  align-items: start !important;
}

.ssl-panel {
  padding: 13px !important;
}

.ssl-panel h3 {
  margin: 8px 0 7px !important;
}

.ssl-control {
  margin-top: 7px !important;
  padding: 10px !important;
}

.ssl-control small {
  font-size: 12px !important;
  line-height: 1.36 !important;
  margin-top: 5px !important;
}

.ssl-control small b {
  color: #CF9D2A !important;
}

#sslMap {
  height: 340px !important;
}

.ssl-charts {
  gap: 8px !important;
  margin-top: 8px !important;
}

.ssl-charts canvas {
  height: 175px !important;
}

.ssl-report {
  max-height: 620px !important;
  font-size: 12px !important;
  line-height: 1.46 !important;
}

.ssl-scenario-model-summary {
  margin: 8px 0 10px !important;
}


/* SOS v10 public research shell and viewer modes */
.lakana-topbar {
  background:
    linear-gradient(180deg, rgba(10,22,37,.98), rgba(13,27,42,.96)) !important;
  border-bottom: 1px solid rgba(13,115,119,.78) !important;
  box-shadow: 0 18px 48px rgba(13,27,42,.34) !important;
}

.lakana-topbar::after {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  background: linear-gradient(90deg, #0D7377, #7244C4, #CF9D2A);
}

.lakana-menu a,
.lakana-menu button {
  color: #E8EDF2 !important;
  border: 1px solid rgba(52,82,117,.72) !important;
  background: rgba(22,42,69,.74) !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  text-decoration: none !important;
}

.lakana-menu a:hover,
.lakana-menu button:hover {
  color: #FFFFFF !important;
  border-color: rgba(13,115,119,.9) !important;
  box-shadow: 0 0 0 1px rgba(13,115,119,.18), 0 0 22px rgba(13,115,119,.18) !important;
}

.lakana-brand-sub {
  color: #E8EDF2 !important;
}

.ssl-viewer-modes {
  margin: 12px 0;
  padding: 14px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(22,42,69,.88), rgba(13,27,42,.84));
  border: 1px solid rgba(52,82,117,.72);
}

.ssl-viewer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.ssl-viewer-kicker {
  color: #0D7377;
  font-weight: 1000;
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.ssl-viewer-head h3 {
  color: #FFFFFF;
  margin: 2px 0 0;
}

.ssl-nicole-iris-line {
  width: 92px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #7244C4, transparent);
  box-shadow: 0 0 22px rgba(114,68,196,.38);
}

.ssl-viewer-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.ssl-viewer-tabs button {
  border: 1px solid rgba(52,82,117,.75);
  background: rgba(10,22,37,.78);
  color: #E8EDF2;
  border-radius: 999px;
  padding: 8px 11px;
  font-weight: 900;
  cursor: pointer;
}

.ssl-viewer-tabs button.active {
  border-color: rgba(114,68,196,.92);
  color: #FFFFFF;
  background: linear-gradient(135deg, rgba(13,115,119,.36), rgba(114,68,196,.28));
  box-shadow: 0 0 0 1px rgba(114,68,196,.16), 0 0 24px rgba(114,68,196,.18);
}

.ssl-viewer-report {
  margin: 0;
  white-space: pre-wrap;
  color: #E8EDF2;
  background: rgba(13,27,42,.72);
  border: 1px solid rgba(52,82,117,.72);
  border-radius: 16px;
  padding: 12px;
  font-size: 12px;
  line-height: 1.48;
  max-height: 480px;
  overflow: auto;
}

/* NICOLE Iris: cryptographic ring/glow only */
:root {
  --NICOLE_IRIS: #7244C4;
  --NICOLE_IRIS_SOFT: rgba(114, 68, 196, 0.28);
  --NICOLE_IRIS_GLOW: rgba(114, 68, 196, 0.42);
}

.ssl-bullseye,
.ssl-orbit,
.ssl-target,
.ssl-scenario-orb,
.ssl-map-node.nicole,
.ssl-nicole-iris-ring {
  box-shadow:
    0 0 0 1px rgba(114, 68, 196, 0.55),
    0 0 22px rgba(114, 68, 196, 0.28),
    0 0 54px rgba(114, 68, 196, 0.14) !important;
}

.ssl-bullseye::after,
.ssl-target::after,
.ssl-scenario-orb::after {
  border-color: var(--NICOLE_IRIS) !important;
  box-shadow: 0 0 28px var(--NICOLE_IRIS_GLOW) !important;
}

.ssl-viewer-tabs button.active {
  border-color: rgba(114, 68, 196, 0.88) !important;
  box-shadow:
    0 0 0 1px rgba(114, 68, 196, 0.16),
    0 0 22px rgba(114, 68, 196, 0.20) !important;
}

.ssl-nicole-iris-line {
  background: linear-gradient(90deg, transparent, var(--NICOLE_IRIS), transparent) !important;
  box-shadow: 0 0 24px var(--NICOLE_IRIS_GLOW) !important;
}



/* SOS v11 doctrine, NICOLE Iris bullseye, and LAKANA research navigation */
:root {
  --SOVEREIGN_NAVY: #0A1625;
  --COMPONENT_NAVY: #162A45;
  --TECHNICAL_SLATE: #345275;
  --DEEP_INK: #0D1B2A;
  --SOVEREIGN_TEAL: #0D7377;
  --SOVEREIGN_GOLD: #CF9D2A;
  --SOFT_PAPER_BASE: #F4F6F9;
  --PALE_BLUE_GRAY: #E8EDF2;
  --DETERMINISTIC_IRIS: #7244C4;
  --NICOLE_IRIS: #7244C4;
}

.lakana-sos-definition-v11 {
  position: relative;
  margin: clamp(22px, 4vw, 46px) auto;
  padding: 0 clamp(16px, 4vw, 34px);
  max-width: 1180px;
}

.lakana-sos-definition-shell {
  border-radius: 28px;
  padding: clamp(22px, 4vw, 40px);
  background:
    linear-gradient(180deg, rgba(22,42,69,.90), rgba(13,27,42,.88)),
    radial-gradient(circle at 8% 18%, rgba(13,115,119,.20), transparent 34%),
    radial-gradient(circle at 92% 20%, rgba(114,68,196,.12), transparent 32%);
  border: 1px solid rgba(52,82,117,.72);
  box-shadow: 0 28px 90px rgba(13,27,42,.38);
}

.lakana-sos-definition-kicker {
  color: var(--SOVEREIGN_TEAL);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 1000;
  font-size: 11px;
  margin-bottom: 10px;
}

.lakana-sos-definition-v11 h2 {
  color: #FFFFFF;
  font-size: clamp(30px, 5vw, 56px);
  letter-spacing: -.04em;
  line-height: .96;
  margin: 0 0 12px;
}

.lakana-sos-definition-v11 p {
  max-width: 900px;
  color: rgba(232,237,242,.84);
  font-size: clamp(15px, 1.7vw, 18px);
  line-height: 1.62;
  margin: 12px 0;
}

.lakana-sos-definition-lead {
  color: #FFFFFF !important;
  font-weight: 850;
}

.lakana-sos-plain-language {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 20px;
  border-left: 4px solid var(--SOVEREIGN_TEAL);
  background: rgba(10,22,37,.54);
}

.lakana-sos-plain-language h3 {
  color: #FFFFFF;
  margin: 0 0 8px;
}

.lakana-sos-plain-language ul {
  margin: 0;
  padding-left: 20px;
  color: rgba(232,237,242,.86);
  line-height: 1.65;
}

.lakana-sos-doctrine-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.lakana-sos-doctrine-grid div {
  border-radius: 18px;
  padding: 14px;
  background: rgba(10,22,37,.58);
  border: 1px solid rgba(52,82,117,.72);
}

.lakana-sos-doctrine-grid b {
  display: block;
  color: #FFFFFF;
  margin-bottom: 6px;
}

.lakana-sos-doctrine-grid span {
  display: block;
  color: rgba(232,237,242,.76);
  line-height: 1.42;
  font-size: 13px;
}

.lakana-bounded-doctrine-v11 {
  position: relative;
}

.lakana-hide-old-bullseye,
.lakana-remove-old-chip {
  display: none !important;
}

.lakana-nicole-bullseye {
  position: relative;
  width: 136px;
  height: 136px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 0 18px 0;
  isolation: isolate;
}

.lakana-nicole-bullseye-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 4px solid var(--NICOLE_IRIS) !important;
  box-shadow:
    0 0 0 1px rgba(114,68,196,.24),
    0 0 24px rgba(114,68,196,.30),
    0 0 64px rgba(114,68,196,.18) !important;
  animation: nicoleIrisPulseV11 2.65s ease-in-out infinite;
}

.lakana-nicole-bullseye-mid {
  position: absolute;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  border: 4px solid var(--SOVEREIGN_TEAL) !important;
  box-shadow: 0 0 18px rgba(13,115,119,.20);
}

.lakana-nicole-bullseye-core {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--SOVEREIGN_GOLD) !important;
  box-shadow: 0 0 14px rgba(207,157,42,.28);
  z-index: 2;
}

@keyframes nicoleIrisPulseV11 {
  0%,100% {
    transform: scale(1);
    box-shadow:
      0 0 0 1px rgba(114,68,196,.22),
      0 0 20px rgba(114,68,196,.24),
      0 0 50px rgba(114,68,196,.14);
  }
  50% {
    transform: scale(1.018);
    box-shadow:
      0 0 0 1px rgba(114,68,196,.32),
      0 0 30px rgba(114,68,196,.38),
      0 0 78px rgba(114,68,196,.24);
  }
}

.lakana-bounded-chip-row-v11 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-top: 18px;
  max-width: 760px;
  justify-content: flex-start;
  align-items: flex-start;
}

.lakana-bounded-chip-v11 {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(22,42,69,.64);
  border: 1px solid rgba(13,115,119,.38);
  color: rgba(255,255,255,.92);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: 0 0 0 1px rgba(13,115,119,.06);
}

.lakana-topbar {
  background:
    linear-gradient(180deg, rgba(10,22,37,.98), rgba(13,27,42,.96)) !important;
  border-bottom: 1px solid rgba(13,115,119,.80) !important;
  box-shadow: 0 18px 48px rgba(13,27,42,.36) !important;
}

.lakana-topbar::after {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  background: linear-gradient(90deg, var(--SOVEREIGN_TEAL), var(--NICOLE_IRIS), var(--SOVEREIGN_GOLD)) !important;
}

.lakana-menu a,
.lakana-menu button {
  color: var(--PALE_BLUE_GRAY) !important;
  border: 1px solid rgba(52,82,117,.72) !important;
  background: rgba(22,42,69,.74) !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  text-decoration: none !important;
}

.lakana-menu a:hover,
.lakana-menu button:hover {
  color: #FFFFFF !important;
  border-color: rgba(13,115,119,.92) !important;
  box-shadow: 0 0 0 1px rgba(13,115,119,.18), 0 0 22px rgba(13,115,119,.18) !important;
}

.ssl-viewer-tabs button.active {
  border-color: rgba(114,68,196,.92) !important;
  box-shadow:
    0 0 0 1px rgba(114,68,196,.18),
    0 0 24px rgba(114,68,196,.20) !important;
}

@media (max-width: 860px) {
  .lakana-sos-doctrine-grid {
    grid-template-columns: 1fr;
  }
  .lakana-nicole-bullseye {
    width: 112px;
    height: 112px;
  }
}
