:root {
  color-scheme: light;
  --bg: #eef2ef;
  --panel: #ffffff;
  --ink: #101815;
  --muted: #617068;
  --line: #d7dfd8;
  --brand: #0f7a63;
  --brand-dark: #0a513f;
  --accent: #c9912d;
  --danger: #a4372c;
  --blue: #2f6fa3;
  --header: #101815;
  --header-soft: #17231e;
  --pulse-accent: #1971bd;
  --pulse-ink: #022048;
  --pulse-mid: #103775;
  --pulse-up: #0f8f70;
  --pulse-down: #b64638;
  --shadow: 0 18px 42px rgba(28, 43, 36, 0.1);
  --atlas-page-header-bg:
    linear-gradient(135deg, rgba(8, 28, 44, 0.96), rgba(9, 70, 78, 0.9)),
    #0b2a35;
  --atlas-page-header-grid-color: 126, 210, 226;
  --atlas-page-header-grid-opacity: 0.042;
  --atlas-page-header-grid-major-opacity: 0.078;
  --atlas-page-header-grid-size: 26px;
  --atlas-page-header-grid-major-size: 104px;
  --atlas-page-header-grid-fade-start: 44%;
  --atlas-page-header-grid-fade-mid: 62%;
  --atlas-page-header-grid-fade-end: 78%;
  --atlas-page-header-grid-bottom-fade: 82%;
  --atlas-page-header-glow-color: 66, 186, 171;
  --atlas-page-header-glow-opacity: 0.31;
  --atlas-page-header-glow-size: 72%;
  --atlas-page-header-node-opacity: 0.18;
}

.settings-save-notice {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  color: var(--brand-dark);
  font-size: 0.86rem;
  font-weight: 800;
}

.settings-save-notice:not(:empty)::before {
  content: "\2713";
  margin-right: 6px;
  color: var(--brand);
}

[hidden],
.is-feature-hidden {
  display: none !important;
}

.tab-button.is-feature-disabled,
.nav-group-button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
}

/* Dark Demand must stay visually separate from the normal bright JEFF tables. */
.dark-demand-detail .module-factor-table.dark-demand-table,
.dark-demand-detail .module-factor-table.dark-demand-table thead,
.dark-demand-detail .module-factor-table.dark-demand-table tbody,
.dark-demand-detail .module-factor-table.dark-demand-table tr,
.dark-demand-detail .module-factor-table.dark-demand-table td,
.dark-demand-detail .module-factor-table.dark-demand-table th {
  background: transparent;
}

.dark-demand-detail .module-factor-table.dark-demand-table {
  background: rgba(8, 6, 4, 0.9);
  color: #f3dfb2;
}

.dark-demand-detail .module-factor-table.dark-demand-table thead th {
  background: rgba(255, 207, 95, 0.12);
  color: #f2d17a;
}

.dark-demand-detail .module-factor-table.dark-demand-table tbody tr {
  background: rgba(255, 236, 184, 0.035);
}

.dark-demand-detail .module-factor-table.dark-demand-table tbody tr:nth-child(even) {
  background: rgba(255, 236, 184, 0.06);
}

.dark-demand-detail .module-factor-table.dark-demand-table td,
.dark-demand-detail .module-factor-table.dark-demand-table th,
.dark-demand-detail .module-factor-table.dark-demand-table small {
  color: #f3dfb2;
}

.dark-demand-detail .module-factor-table.dark-demand-table strong {
  color: #ffe6a6;
}

.dark-demand-detail .module-factor-table.dark-demand-table .dark-demand-input {
  background: rgba(255, 236, 184, 0.08);
  border-color: rgba(216, 172, 72, 0.45);
  color: #ffe6a6;
}

.about-atlas-panel {
  background: #071017;
  border-color: rgba(47, 111, 163, 0.45);
  color: #eff8ff;
  overflow: hidden;
}

.about-atlas-shell {
  display: grid;
  gap: 18px;
}

.about-atlas-hero {
  position: relative;
  min-height: 300px;
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 30px;
  border: 1px solid rgba(70, 156, 218, 0.36);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(4, 13, 22, 0.96), rgba(4, 13, 22, 0.82)),
    var(--about-hero-image) center / cover no-repeat;
  box-shadow: inset 0 0 90px rgba(47, 111, 163, 0.16);
}

.about-atlas-hero::after {
  content: "";
  position: absolute;
  inset: auto 24px 20px 24px;
  height: 1px;
  background: rgba(70, 156, 218, 0.34);
}

.about-atlas-compass {
  width: 132px;
  height: 132px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(80, 175, 255, 0.55);
  border-radius: 50%;
  background: rgba(0, 31, 54, 0.44);
  box-shadow: 0 0 38px rgba(25, 113, 189, 0.3);
}

.about-atlas-compass span {
  width: 76px;
  height: 76px;
  clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
  background: #e9f7ff;
  box-shadow: 0 0 30px rgba(80, 175, 255, 0.9);
}

.about-atlas-hero-copy {
  max-width: 780px;
  text-align: center;
}

.about-atlas-hero .eyebrow,
.about-atlas-card span,
.about-atlas-project strong,
.about-atlas-focus,
.about-atlas-section-title {
  color: #38b7ff;
}

.about-atlas-hero h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.98;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.about-atlas-hero strong {
  display: block;
  margin-top: 10px;
  color: #f6fbff;
  font-size: clamp(1.05rem, 1.9vw, 1.75rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.about-atlas-hero p {
  margin: 10px auto 0;
  color: rgba(239, 248, 255, 0.88);
  max-width: 620px;
}

.about-atlas-focus {
  font-weight: 800;
}

.about-atlas-edit-button {
  align-self: start;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(80, 175, 255, 0.38);
  color: #eff8ff;
}

.about-atlas-crew-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.about-atlas-card,
.about-atlas-project,
.about-atlas-quote {
  border: 1px solid rgba(70, 156, 218, 0.34);
  border-radius: 8px;
  background: rgba(3, 13, 22, 0.88);
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.22);
  overflow: hidden;
}

.about-atlas-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
  filter: saturate(1.04) contrast(1.03);
}

.about-atlas-card-body {
  padding: 18px;
}

.about-atlas-card h3,
.about-atlas-project h3 {
  margin: 0;
  color: #fff;
  font-size: 1.42rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.about-atlas-card span {
  display: block;
  margin-top: 2px;
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
}

.about-atlas-card p,
.about-atlas-project p {
  color: rgba(239, 248, 255, 0.78);
  line-height: 1.45;
}

.about-atlas-chip-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}

.about-atlas-chip-row small {
  display: grid;
  min-height: 42px;
  place-items: center;
  border-top: 1px solid rgba(56, 183, 255, 0.34);
  color: rgba(239, 248, 255, 0.78);
  font-size: 0.72rem;
  text-align: center;
}

.about-atlas-section-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-align: center;
  text-transform: uppercase;
}

.about-atlas-section-title span {
  height: 1px;
  background: rgba(56, 183, 255, 0.35);
}

.about-atlas-project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.about-atlas-project {
  display: grid;
  grid-template-columns: 42% minmax(0, 1fr);
  min-height: 220px;
}

.about-atlas-project img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  display: block;
}

.about-atlas-project > div {
  padding: 22px;
}

.about-atlas-project strong {
  display: block;
  margin-top: 4px;
}

.about-atlas-link {
  display: inline-flex;
  margin-top: 8px;
  color: #63c8ff;
  font-weight: 800;
  text-decoration: none;
}

.about-atlas-link:hover {
  text-decoration: underline;
}

.about-atlas-quote {
  margin: 0 auto;
  max-width: 1040px;
  padding: 24px 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  background: rgba(1, 16, 28, 0.92);
}

.about-atlas-quote blockquote {
  margin: 0;
  color: rgba(239, 248, 255, 0.88);
  font-size: clamp(1rem, 1.6vw, 1.35rem);
  line-height: 1.45;
}

.about-atlas-quote figcaption {
  color: #38b7ff;
  font-size: 1.7rem;
  font-style: italic;
}

.about-atlas-image-fallback {
  min-height: 220px;
  display: grid;
  place-items: center;
  background: rgba(47, 111, 163, 0.15);
  color: #63c8ff;
  font-size: 2rem;
  font-weight: 900;
}

.about-atlas-editor {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(15, 122, 99, 0.28);
  border-radius: 8px;
  background: #f7fbf8;
  color: var(--ink);
}

.about-atlas-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.about-atlas-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.about-atlas-editor-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  grid-column: 1 / -1;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.about-atlas-editor-card legend {
  padding: 0 6px;
  color: var(--brand-dark);
  font-weight: 900;
}

.about-atlas-editor label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.about-atlas-editor input,
.about-atlas-editor textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  color: var(--ink);
  font: inherit;
}

.matrix-score-card.is-predicate {
  border-color: #c8b56b;
  background: linear-gradient(145deg, #fffaf0, #f7f2df);
  color: #19352d;
}

.matrix-score-card.is-predicate strong {
  font-size: .9rem;
  letter-spacing: .02em;
}

.matrix-score-card.is-predicate small {
  color: #6a6040;
  font-weight: 800;
}

.matrix-score-card.is-predicate-none {
  border-color: #d5ded8;
  background: #f7faf8;
  color: #65736d;
}

.matrix-score-card.is-predicate-gold,
.predicate-mini-medal.is-predicate-gold {
  border-color: #d1ab35;
  background: #fff6cf;
  color: #735711;
}

.matrix-score-card.is-predicate-platinum,
.predicate-mini-medal.is-predicate-platinum {
  border-color: #74c79a;
  background: #edf8f3;
  color: #0f6f55;
}

.matrix-score-card.is-predicate-diamond,
.predicate-mini-medal.is-predicate-diamond {
  border-color: #79aee8;
  background: #ecf5ff;
  color: #145b91;
}

.predicate-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #d5ded8;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbfa 58%, #eef7f4 100%);
  box-shadow: 0 10px 28px rgba(19, 46, 38, 0.08);
  margin-bottom: 1.1rem;
}

.predicate-hero h3 {
  margin: .1rem 0 .25rem;
  font-size: 1.35rem;
}

.predicate-hero p {
  margin: 0 0 .35rem;
  color: #5f6f68;
  max-width: 720px;
  line-height: 1.45;
}

.predicate-stack {
  display: grid;
  gap: 24px;
}

.predicate-section {
  display: grid;
  gap: 12px;
}

.predicate-stack .predicate-criteria-table {
  margin-bottom: 6px;
}

.predicate-medal {
  min-width: 210px;
  max-width: 260px;
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
  font-weight: 900;
}

.predicate-medal-image {
  display: block;
  width: min(260px, 22vw);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 14px 20px rgba(17, 31, 28, .18));
}

.predicate-medal-fallback {
  min-width: 120px;
  display: grid;
  justify-items: center;
  padding: .85rem;
  border: 1px solid currentColor;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
}

.predicate-medal small {
  margin-top: .25rem;
  color: #5f6f68;
}

.predicate-manual-grid {
  display: grid;
  grid-template-columns: minmax(220px, 320px);
  gap: .75rem;
  margin: .75rem 0;
}

.predicate-manual-grid label {
  display: grid;
  gap: .35rem;
  font-weight: 800;
}

.predicate-manual-grid textarea {
  min-height: 72px;
  resize: vertical;
}

.predicate-criteria-table small {
  display: block;
  margin-top: .2rem;
  color: #61716a;
  font-weight: 600;
}

.predicate-criteria-table thead th {
  background: linear-gradient(135deg, #0e5e4e, #185d4f);
  color: #f7fffb;
  letter-spacing: .03em;
}

.predicate-criteria-table td {
  vertical-align: middle;
}

.predicate-criteria-table .metric-pill,
.predicate-criteria-table .detail-chip {
  border: 1px solid #d4dbd6;
  background: #f4f6f5;
  color: #4f5f57;
}

.predicate-criteria-table .metric-pill {
  min-width: 86px;
  justify-content: center;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.58);
}

.predicate-criteria-table .detail-chip {
  min-width: 72px;
  justify-content: center;
  border-radius: 999px;
}

.predicate-criteria-table .is-predicate-criterion-exceeded {
  border-color: #89b8ff;
  background: #eaf2ff;
  color: #145b91;
}

.predicate-criteria-table .is-predicate-criterion-fulfilled {
  border-color: #94d7ad;
  background: #eaf8ef;
  color: #0d665a;
}

.predicate-criteria-table .is-predicate-criterion-soft-blocked {
  border-color: #efb37c;
  background: #fff3e3;
  color: #9b5a16;
}

.predicate-criteria-table .is-predicate-criterion-hard-blocked {
  border-color: #d6625b;
  background: #fff0ee;
  color: #8e1d1b;
}

.predicate-criteria-table .is-predicate-criterion-missing {
  border-color: #d4dbd6;
  background: #f4f6f5;
  color: #4f5f57;
}

.basket-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.basket-card {
  border: 1px solid #d2ded8;
  border-radius: 8px;
  padding: 1rem;
  background: #fbfdfc;
}

.basket-card-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: .75rem;
}

.basket-card-header h3 {
  margin: 0 0 .25rem;
}

.basket-card-header p {
  margin: 0;
  color: #61716a;
}

.basket-card-header > strong {
  color: #00614e;
  font-size: 1.4rem;
}

.basket-card ul {
  list-style: none;
  display: grid;
  gap: .45rem;
  padding: 0;
  margin: 0;
}

.basket-card li {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  border-top: 1px solid #e5ece8;
  padding-top: .45rem;
}

.basket-card li small {
  display: block;
  color: #61716a;
}

.predicate-mini-medal {
  border: 1px solid #d2ded8;
  border-radius: 999px;
  padding: .25rem .55rem;
  font-weight: 900;
  cursor: pointer;
}

.basket-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid #e5ece8;
  color: #52635c;
  font-size: .9rem;
  font-weight: 800;
}

.basket-pager button {
  border: 1px solid #bfd8cf;
  border-radius: 999px;
  background: #f8fcfa;
  color: #00624f;
  padding: .25rem .65rem;
  font-weight: 900;
}

.basket-pager button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

@media (max-width: 1100px) {
  .basket-grid {
    grid-template-columns: 1fr;
  }

  .predicate-manual-grid,
  .predicate-hero {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
}

.take-interpretation {
  display: grid;
  gap: 4px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  background: var(--bg);
}

.take-context-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.take-context-grid > div {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  background: var(--panel);
}

.take-context-grid span {
  color: var(--muted);
  font-size: 0.76rem;
}

@media (max-width: 760px) {
  .take-context-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.rotation-risk-detail-row > td {
  padding: 0 10px 10px;
}

.rotation-risk-details {
  border: 1px solid #d8dfdb;
  background: #f5f8f6;
}

.rotation-risk-details summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 800;
}

.rotation-risk-details summary span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.rotation-risk-intro {
  padding: 0 12px 10px;
}

.rotation-risk-intro p {
  margin: 4px 0 0;
  color: var(--muted);
}

.rotation-risk-components {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 0 12px 12px;
}

.rotation-risk-component {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  background: var(--panel);
}

.rotation-risk-component > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.rotation-risk-component > div span {
  font-size: 1.05rem;
  font-weight: 900;
}

.rotation-risk-component small,
.rotation-risk-component em {
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  line-height: 1.25;
}

.rotation-risk-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 12px 12px;
}

.rotation-risk-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.rotation-risk-list span {
  padding: 4px 7px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
}

@media (max-width: 980px) {
  .rotation-risk-components {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Rogue trio: DARK / DIRT / HUMAN */
.matrix-score-card.is-dirt {
  background:
    linear-gradient(145deg, rgba(255,255,255,.42), rgba(255,255,255,.04)),
    #a7aaa7;
  border-color: #7f8481;
  color: #252a27;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), inset 0 0 0 1px rgba(72,77,74,.08);
}

.matrix-score-card.is-dirt strong,
.matrix-score-card.is-dd strong,
.matrix-score-card.is-human strong {
  font-size: 10px;
  line-height: 1.05;
  white-space: normal;
}
.matrix-score-card.is-dirt .dirt-fill { background: rgba(40,45,42,.16); }
.matrix-score-card.is-dirt .dirt-fill span { background: #565d59; }

.research-modal.is-dirt-theme {
  background:
    linear-gradient(145deg, rgba(255,255,255,.48), rgba(255,255,255,0) 48%),
    #c9cbc8;
}
.research-modal.is-dirt-theme .research-modal-content { overflow-x: hidden; }
.research-modal.is-dirt-theme .drawer-header-row h2 { color: #292c2a; }

.dirt-detail { color: #282b29; max-width: 100%; overflow-x: hidden; }
.dirt-hero {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 18px 20px; margin-bottom: 12px; border: 1px solid #8b908d;
  background:
    linear-gradient(110deg, rgba(255,255,255,.34), rgba(255,255,255,.05) 62%),
    #939793;
  color: #1e2421; box-shadow: inset 0 1px 0 rgba(255,255,255,.52), inset 0 0 34px rgba(52,58,54,.12);
}
.dirt-hero h3 { margin: 2px 0 5px; color: #1d2320; letter-spacing: 0; }
.dirt-hero p { margin: 0; color: #252b28; }
.dirt-kicker { color: #414844; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.dirt-score { min-width: 112px; text-align: center; padding: 12px; border: 1px solid #666d69; background: rgba(224,226,223,.76); }
.dirt-score strong { display: block; font-size: 30px; color: #252b28; }
.dirt-score span { color: #414844; font-size: 12px; font-weight: 800; }
.dirt-detail .summary-card,
.dirt-detail .detail-chip,
.dirt-detail .module-edit-toolbar {
  background: rgba(235,236,233,.78);
  border-color: #aeb2af;
  color: #2b312e;
}
.dirt-detail .detail-chip { color: #353c38; }
.dirt-detail .secondary-button,
.dirt-detail .primary-button {
  background: #666d69;
  border-color: #666d69;
  color: #fff;
}
.dirt-table, .human-table, .dark-demand-table { width: 100%; max-width: 100%; table-layout: fixed; }
.dirt-table th:nth-child(1), .human-table th:nth-child(1), .dark-demand-table th:nth-child(1) { width: 42%; }
.dirt-table th:nth-child(2), .human-table th:nth-child(2), .dark-demand-table th:nth-child(2) { width: 8%; }
.dirt-table th:nth-child(3), .human-table th:nth-child(3), .dark-demand-table th:nth-child(3) { width: 7%; }
.dirt-table td:last-child, .human-table td:last-child, .dark-demand-table td:last-child { white-space: normal; overflow-wrap: anywhere; }
.dirt-table td:first-child strong,
.dirt-table td:first-child small,
.human-table td:first-child strong,
.human-table td:first-child small,
.dark-demand-table td:first-child strong,
.dark-demand-table td:first-child small {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
}
.dirt-table td:first-child small,
.human-table td:first-child small,
.dark-demand-table td:first-child small {
  margin-top: 3px;
  line-height: 1.25;
}
.dirt-table thead th { background: #aeb1ae; color: #2b312e; }
.dirt-table tbody tr:nth-child(odd) { background: rgba(112,117,113,.13); }
.dirt-table tbody tr:nth-child(even) { background: rgba(235,236,233,.68); }
.dirt-table td, .dirt-table th { border-color: #aeb2af; color: #2b312e; }
.dirt-table .dirt-input { background: #e3e5e2; border-color: #9ca19e; color: #252b28; }
.dirt-table .matrix-score-fill { background: rgba(53,59,55,.13); }
.dirt-table .matrix-score-fill span { background: #666d69; }
.dirt-note { color: #454945; font-weight: 700; }

.cycle-lens-details {
  margin-top: 8px;
  border: 1px solid rgba(12, 92, 72, 0.18);
  border-radius: 8px;
  background: rgba(12, 92, 72, 0.04);
  padding: 10px;
  max-width: 100%;
  overflow: visible;
}

.cycle-lens-details summary {
  cursor: pointer;
  color: var(--green-900);
  font-weight: 800;
}

.cycle-lens-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.cycle-lens-meta span {
  border: 1px solid rgba(12, 92, 72, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  color: var(--muted);
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 700;
}

.cycle-lens-explainer {
  margin-top: 8px;
  border: 1px solid rgba(12, 92, 72, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 8px 10px;
}

.cycle-lens-explainer strong {
  display: block;
  color: var(--green-900);
  margin-bottom: 3px;
}

.cycle-lens-explainer p {
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

.cycle-lens-details ul {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.cycle-lens-details li {
  border-left: 3px solid var(--accent);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.72);
  min-width: 0;
  padding: 8px 10px;
  white-space: normal;
}

.cycle-lens-details li.is-positive {
  border-left-color: #13836b;
  background: rgba(19, 131, 107, 0.08);
}

.cycle-lens-details li.is-neutral {
  border-left-color: #d19a2a;
  background: rgba(209, 154, 42, 0.08);
}

.cycle-lens-details li.is-negative {
  border-left-color: #b23a2f;
  background: rgba(178, 58, 47, 0.09);
}

.cycle-lens-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.cycle-lens-status {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 11px !important;
  font-weight: 800;
}

.is-positive .cycle-lens-status {
  background: rgba(19, 131, 107, 0.13);
  color: #075743 !important;
}

.is-neutral .cycle-lens-status {
  background: rgba(209, 154, 42, 0.16);
  color: #7a5310 !important;
}

.is-negative .cycle-lens-status {
  background: rgba(178, 58, 47, 0.14);
  color: #8d241d !important;
}

.cycle-lens-details li strong,
.cycle-lens-details li span {
  display: block;
  min-width: 0;
}

.cycle-lens-details li span {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.32;
  overflow-wrap: anywhere;
  white-space: normal;
}

.cycle-lens-details .cycle-lens-horizon {
  color: var(--green-900);
  font-weight: 800;
  margin: 4px 0 2px;
}

@media (max-width: 960px) {
  .cycle-lens-details ul {
    grid-template-columns: 1fr;
  }
}

.matrix-score-card.is-dd {
  background: linear-gradient(180deg, #16100a 0%, #060504 100%);
  border-color: #c8942d;
  color: #f7d57d;
  box-shadow: inset 0 0 0 1px rgba(255, 210, 112, 0.14), 0 0 0 1px rgba(80, 52, 15, 0.18);
}

.matrix-score-card.is-dd strong {
  color: #ffe19a;
}

.matrix-score-card.is-dd small {
  color: #cfae66;
}

.matrix-score-card.is-dd .matrix-score-fill {
  background: rgba(255, 255, 255, 0.14);
}

.matrix-score-card.is-dd .matrix-score-fill span {
  background: linear-gradient(90deg, #8a5a13, #ffd56c);
}

.matrix-score-card.is-dd.is-dd-none {
  opacity: 0.82;
  border-color: #4a4135;
  color: #a7977a;
}

.matrix-score-card.is-dd.is-dd-weak {
  border-color: #8b6b2b;
}

.matrix-score-card.is-dd.is-dd-relevant {
  border-color: #c8942d;
}

.matrix-score-card.is-dd.is-dd-strong {
  border-color: #f0b84f;
  box-shadow: 0 0 14px rgba(240, 184, 79, 0.18), inset 0 0 0 1px rgba(255, 210, 112, 0.16);
}

.matrix-score-card.is-dd.is-dd-rogue {
  border-color: #ffcf5f;
  box-shadow: 0 0 22px rgba(255, 207, 95, 0.28), inset 0 0 0 1px rgba(255, 226, 148, 0.22);
}

.matrix-score-card.is-human {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(28, 177, 132, 0.72);
  background:
    radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.98), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f6fffb 45%, #d8f8ec 100%);
  color: #075e50;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.95),
    0 0 18px rgba(34, 197, 142, 0.2),
    inset 0 -10px 22px rgba(16, 154, 112, 0.08);
}

.matrix-score-card.is-human strong {
  position: relative;
  z-index: 1;
  color: #08745e;
  text-shadow: 0 1px 0 #ffffff, 0 0 12px rgba(16, 154, 112, 0.2);
}

.matrix-score-card.is-human::after {
  content: "";
  position: absolute;
  inset: -45% auto -45% -38%;
  width: 46%;
  z-index: 0;
  transform: rotate(16deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.95), transparent);
  opacity: 0.72;
  pointer-events: none;
}

.matrix-score-card.is-human:hover {
  border-color: #0e9b76;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.98),
    0 0 24px rgba(34, 197, 142, 0.32),
    inset 0 -10px 22px rgba(16, 154, 112, 0.1);
  transform: translateY(-1px);
}

.matrix-score-card.is-human .human-fill span,
.human-fill span {
  background: linear-gradient(90deg, #38bdf8, #16a879);
}

.matrix-score-card.is-human.is-human-exceptional,
.matrix-score-card.is-human.is-human-strong,
.matrix-score-card.is-human.is-human-mixed,
.matrix-score-card.is-human.is-human-limited,
.matrix-score-card.is-human.is-human-low {
  color: #075e50;
}

.matrix-score-card.is-female {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(15, 76, 92, 0.64);
  background:
    radial-gradient(circle at 84% 12%, rgba(246, 220, 224, 0.94), transparent 31%),
    linear-gradient(135deg, #fffaf6 0%, #eefbfc 48%, #d7f1f2 100%);
  color: #183d45;
  box-shadow: 0 0 18px rgba(15, 76, 92, 0.14), inset 0 -10px 22px rgba(216, 140, 154, 0.08);
}

.matrix-score-card.is-female strong {
  color: #0f4c5c;
  font-size: 10px;
  line-height: 1.05;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: normal;
  text-shadow: 0 1px 0 #ffffff, 0 0 12px rgba(216, 140, 154, 0.22);
}

.matrix-score-card.is-female .female-fill span,
.female-fill span {
  background: linear-gradient(90deg, #0f4c5c, #d88c9a);
}

.female-detail {
  color: #143b43;
  background:
    radial-gradient(circle at 88% 0%, rgba(216, 140, 154, 0.2), transparent 28%),
    linear-gradient(145deg, #fffdf9 0%, #f4fbfb 55%, #e5f5f4 100%);
  max-width: 100%;
  overflow-x: hidden;
}

.female-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  margin-bottom: 12px;
  border: 1px solid rgba(15, 76, 92, 0.3);
  background: linear-gradient(135deg, #0f4c5c, #183d45 55%, #d88c9a);
  color: #fffaf6;
}

.female-hero > div {
  min-width: 0;
}

.female-hero p {
  margin: 8px 0 0;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.45;
}

.female-score {
  border-color: rgba(247, 243, 238, 0.72);
  background: rgba(15, 76, 92, 0.82);
  color: #fffaf6;
  min-width: 112px;
  padding: 12px 14px;
  text-align: center;
}

.female-table .matrix-score-fill span { background: linear-gradient(90deg, #0f4c5c, #d88c9a); }

.female-table {
  table-layout: fixed;
  width: 100%;
}

.female-table th:first-child,
.female-table td:first-child {
  width: 46%;
}

.female-table th:nth-child(2),
.female-table td:nth-child(2) {
  width: 110px;
}

.female-table th:nth-child(3),
.female-table td:nth-child(3) {
  width: 72px;
}

.female-table th,
.female-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.female-table td:first-child strong,
.female-table td:first-child small {
  display: block;
}

.female-table td:first-child small {
  margin-top: 3px;
  line-height: 1.3;
}

.female-table td:last-child {
  line-height: 1.38;
}

.research-modal.is-female-theme {
  background: rgba(7, 32, 39, 0.66);
  backdrop-filter: blur(4px);
}

.research-modal.is-female-theme .research-modal-content {
  border-color: rgba(216, 140, 154, 0.5);
  background:
    radial-gradient(circle at 88% 0%, rgba(216, 140, 154, 0.18), transparent 30%),
    linear-gradient(145deg, #fffdf9 0%, #f4fbfb 58%, #e5f5f4 100%);
  box-shadow: 0 28px 90px rgba(7, 32, 39, 0.42), 0 0 38px rgba(216, 140, 154, 0.18);
}

.research-modal.is-female-theme .drawer-header-row h2 { color: #0f4c5c; }
.research-modal.is-female-theme .eyebrow { color: #0f7586; }

.human-detail {
  position: relative;
  overflow: hidden;
  color: #113e35;
  background:
    radial-gradient(circle at 7% 0%, rgba(255, 255, 255, 1) 0%, transparent 27%),
    radial-gradient(circle at 92% 8%, rgba(75, 222, 172, 0.22) 0%, transparent 26%),
    linear-gradient(145deg, #ffffff 0%, #f5fffb 50%, #e3f8f1 100%);
  border: 1px solid rgba(21, 153, 113, 0.38);
  border-radius: 12px;
  padding: 18px;
  box-shadow: inset 0 1px 0 #ffffff, 0 18px 42px rgba(11, 102, 82, 0.1);
  width: 100%;
  max-width: 100%;
}

.human-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(17, 138, 104, 0.24);
  padding: 4px 2px 16px;
  background: transparent;
}

.human-kicker {
  color: #168a72;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.human-hero h3 { margin: 4px 0; font-size: 27px; color: #075e50; }
.human-hero p { margin: 0; max-width: 780px; color: #416a61; }
.human-score {
  min-width: 150px;
  text-align: right;
  padding: 13px 15px;
  border: 1px solid rgba(13, 151, 111, 0.42);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(211, 248, 235, 0.88));
  box-shadow: inset 0 1px 0 #fff, 0 8px 24px rgba(13, 151, 111, 0.13);
}
.human-score strong { display: block; font-size: 36px; line-height: 1; color: #08745e; }
.human-score span { display: block; margin-top: 5px; font-weight: 800; color: #3a675d; }

.human-detail .research-detail-grid {
  margin: 14px 0;
}

.human-detail .summary-card {
  border-color: rgba(18, 148, 109, 0.22);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 #fff;
}

.human-detail .summary-card strong { color: #08745e; }
.human-detail .summary-card span,
.human-detail .summary-card small { color: #54736c; }

.human-edit-toolbar {
  border: 1px solid rgba(18, 148, 109, 0.2);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.58);
  padding: 10px;
}

.human-tags { margin: 12px 0 14px; }
.human-tags .detail-chip {
  border-color: rgba(17, 138, 104, 0.26);
  background: rgba(218, 249, 238, 0.78);
  color: #075e50;
  box-shadow: inset 0 1px 0 #fff;
}

.human-scale-note {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 10px 0;
  padding: 8px 10px;
  border: 1px solid rgba(18, 148, 109, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  color: #54736c;
  font-size: 0.78rem;
}

.human-scale-note strong { color: #08745e; white-space: nowrap; }

.human-table,
.human-table thead,
.human-table tbody,
.human-table tr,
.human-table td,
.human-table th { background: transparent; }

.human-table {
  overflow: hidden;
  border: 1px solid rgba(18, 148, 109, 0.18);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
  color: #143f37;
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}

.human-table th:nth-child(1) { width: 43%; }
.human-table th:nth-child(2) { width: 9%; }
.human-table th:nth-child(3) { width: 8%; }
.human-table th:nth-child(4) { width: 40%; }
.human-table td,
.human-table th {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.human-table thead th {
  background: rgba(18, 148, 109, 0.1);
  color: #075e50;
}

.human-table tbody tr { background: rgba(255, 255, 255, 0.5); }
.human-table tbody tr:nth-child(even) { background: rgba(220, 248, 238, 0.32); }
.human-table tbody tr.is-human-bonus { background: rgba(214, 237, 255, 0.52); }
.human-table td, .human-table th { border-color: rgba(18, 148, 109, 0.15); }
.human-table strong { color: #0a5143; }
.human-table small { display: block; margin-top: 2px; color: #5b7770; }
.human-table .human-input {
  min-width: 64px;
  border-color: rgba(17, 138, 104, 0.35);
  background: rgba(244, 255, 251, 0.96);
  color: #075e50;
  text-align: center;
}
.human-table .human-input:disabled { opacity: 1; }
.human-note { color: #54736c; }

.research-modal.is-human-theme {
  background: rgba(4, 35, 28, 0.66);
  backdrop-filter: blur(4px);
}

.research-modal.is-human-theme .research-modal-content {
  border-color: rgba(96, 229, 183, 0.55);
  background:
    radial-gradient(circle at 88% 0%, rgba(104, 239, 190, 0.2), transparent 31%),
    linear-gradient(145deg, #ffffff 0%, #f5fffb 58%, #e7f9f3 100%);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.9), 0 28px 90px rgba(0, 64, 48, 0.42), 0 0 38px rgba(87, 235, 180, 0.2);
}

.research-modal.is-human-theme .drawer-header-row h2 { color: #075e50; }
.research-modal.is-human-theme .eyebrow { color: #149674; }
.research-modal.is-human-theme .icon-button {
  border-color: rgba(17, 138, 104, 0.28);
  background: rgba(255, 255, 255, 0.88);
}

@media (max-width: 760px) {
  .human-hero { flex-direction: column; }
  .human-score { width: 100%; text-align: left; }
}
.factor-editor-description { display: block; margin-top: 3px; color: var(--muted); }

.dark-demand-button {
  border-color: rgba(200, 148, 45, 0.55);
  color: #7b5515;
}

.dark-demand-button svg {
  stroke: #9a6a16;
}

.dark-demand-detail {
  background:
    radial-gradient(circle at top left, rgba(200, 148, 45, 0.16), transparent 32%),
    linear-gradient(180deg, #100c08, #050505);
  color: #f3dfb2;
  border: 1px solid rgba(216, 172, 72, 0.55);
  border-radius: 12px;
  padding: 18px;
  width: 100%;
  max-width: 100%;
}

.dark-demand-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  border-bottom: 1px solid rgba(216, 172, 72, 0.28);
  padding-bottom: 14px;
  margin-bottom: 14px;
}

.dark-demand-kicker {
  color: #ffcf5f;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.76rem;
  font-weight: 800;
}

.dark-demand-hero h3 {
  color: #ffe6a6;
  margin: 0.2rem 0;
}

.dark-demand-hero p {
  color: #d6c49a;
  margin: 0;
  max-width: 760px;
}

.dark-demand-score {
  min-width: 150px;
  text-align: right;
  border: 1px solid rgba(216, 172, 72, 0.38);
  border-radius: 10px;
  padding: 12px;
  background: rgba(0, 0, 0, 0.35);
}

.dark-demand-score strong {
  color: #ffe19a;
  display: block;
  font-size: 2rem;
  line-height: 1;
}

.dark-demand-score span {
  color: #d2b36c;
  font-weight: 800;
}

.dark-demand-detail .summary-card {
  background: rgba(255, 236, 184, 0.06);
  border-color: rgba(216, 172, 72, 0.28);
  color: #f3dfb2;
}

.dark-demand-detail .summary-card strong {
  color: #ffe19a;
}

.dark-demand-detail .summary-card small,
.dark-demand-detail .summary-card span {
  color: #c7b17a;
}

.dark-demand-tags {
  margin: 10px 0 14px;
}

.dark-demand-tags .detail-chip {
  background: rgba(255, 207, 95, 0.12);
  border-color: rgba(255, 207, 95, 0.35);
  color: #f6d581;
}

.dark-demand-chip-label {
  color: #f6d47a;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.dark-demand-note-card {
  border: 1px solid rgba(245, 194, 80, 0.32);
  border-radius: 8px;
  background: rgba(12, 8, 4, 0.78);
  color: #f6dca4;
  margin: 10px 0 14px;
  padding: 0.8rem 0.95rem;
}

.dark-demand-note-card strong {
  color: #ffd46f;
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.dark-demand-note-card p {
  margin: 0;
}

.dark-demand-table {
  color: #f3dfb2;
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}

.dark-demand-table th:nth-child(1) { width: 43%; }
.dark-demand-table th:nth-child(2) { width: 9%; }
.dark-demand-table th:nth-child(3) { width: 8%; }
.dark-demand-table th:nth-child(4) { width: 40%; }
.dark-demand-table td,
.dark-demand-table th {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.dark-demand-table th {
  color: #d6bd76;
  background: rgba(255, 207, 95, 0.08);
}

.dark-demand-table td {
  border-color: rgba(216, 172, 72, 0.18);
}

.dark-demand-table small {
  display: block;
  color: #b8aa8a;
}

.dark-demand-table .matrix-score-fill {
  margin-top: 8px;
  background: rgba(255, 255, 255, 0.12);
}

.dark-demand-table .matrix-score-fill span {
  background: linear-gradient(90deg, #8a5a13, #ffd56c);
}

.dark-demand-note {
  color: #c7b17a;
}

.dark-demand-detail .module-edit-toolbar {
  background: rgba(255, 236, 184, 0.05);
  border: 1px solid rgba(216, 172, 72, 0.24);
  border-radius: 10px;
  margin: 12px 0;
  padding: 10px;
}

.dark-demand-detail .module-edit-toolbar .helper-text {
  color: #c7b17a;
}

.dark-demand-table,
.dark-demand-table thead,
.dark-demand-table tbody,
.dark-demand-table tr,
.dark-demand-table td,
.dark-demand-table th {
  background: transparent;
}

.dark-demand-table {
  background: rgba(8, 6, 4, 0.82);
  border: 1px solid rgba(216, 172, 72, 0.22);
  border-collapse: separate;
  border-radius: 10px;
  border-spacing: 0;
  overflow: hidden;
}

.dark-demand-table thead th {
  background: rgba(255, 207, 95, 0.11);
  color: #f2d17a;
}

.dark-demand-table tbody tr {
  background: rgba(255, 236, 184, 0.03);
}

.dark-demand-table tbody tr:nth-child(even) {
  background: rgba(255, 236, 184, 0.055);
}

.dark-demand-table td,
.dark-demand-table th {
  border-color: rgba(216, 172, 72, 0.18);
  color: #f3dfb2;
}

.dark-demand-table strong {
  color: #ffe6a6;
}

.dark-demand-table .dark-demand-input {
  background: rgba(255, 236, 184, 0.08);
  border-color: rgba(216, 172, 72, 0.42);
  color: #ffe6a6;
  min-width: 64px;
  text-align: center;
}

.dark-demand-table .dark-demand-input:disabled {
  opacity: 1;
}

.manual-correction-badge.is-dark-demand {
  background: rgba(255, 207, 95, 0.18);
  border-color: rgba(255, 207, 95, 0.42);
  color: #ffe6a6;
}

@media (max-width: 760px) {
  .dark-demand-hero {
    flex-direction: column;
  }

  .dark-demand-score {
    width: 100%;
    text-align: left;
  }
}

.floyd-note-card {
  background: rgba(18, 128, 103, 0.08);
  border: 1px solid rgba(18, 128, 103, 0.2);
  border-radius: 8px;
  color: var(--ink);
  margin: 12px 0;
  padding: 12px 14px;
}

.floyd-note-card strong {
  display: block;
  margin-bottom: 4px;
}

.floyd-note-card p {
  color: var(--muted);
  margin: 0;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  background:
    linear-gradient(180deg, #101815 0, #101815 214px, transparent 214px),
    radial-gradient(circle at 16% 0, rgba(15, 122, 99, 0.24), transparent 260px),
    var(--bg);
  color: var(--ink);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button,
input,
select,
textarea {
  font: inherit;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.app-shell {
  width: min(1360px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 28px 0 48px;
}

.app-launcher {
  min-height: 100vh;
  padding: 36px 18px;
  display: grid;
  place-items: center;
}

html.public-beta-boot:not(.public-beta-start-ready):not(.public-beta-authenticated) #appLauncher {
  visibility: hidden;
}

html.public-beta-boot .nav-admin,
html.public-beta-boot .nav-dev,
html.public-beta-boot [data-view="adminView"],
html.public-beta-boot [data-view="devView"],
html.public-beta-boot [data-view="researchMasterView"],
html.public-beta-boot [data-jsmu-only="true"] {
  display: none !important;
}

html.public-beta-boot:not(.public-beta-authenticated) .nav-beta-hub,
html.public-beta-boot:not(.public-beta-authenticated) [data-view="betaGuideView"] {
  display: none !important;
}

.public-beta-locked-product-shell {
  min-height: 100vh;
  filter: blur(2px) saturate(0.92);
  pointer-events: none;
  transform: scale(0.992);
  transform-origin: center top;
  transition: filter 0.2s ease, transform 0.2s ease;
  user-select: none;
}

.public-beta-entry-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  min-height: 100vh;
  place-items: center;
  background:
    radial-gradient(circle at 50% 28%, rgba(244, 253, 249, 0.38), rgba(234, 243, 239, 0.54) 42%, rgba(18, 39, 32, 0.16)),
    rgba(246, 250, 248, 0.46);
  padding: clamp(18px, 4vw, 42px);
}

.public-beta-entry-gate {
  display: grid;
  width: min(430px, 100%);
  gap: 18px;
  border: 1px solid rgba(15, 81, 63, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 249, 0.96));
  padding: clamp(24px, 5vw, 36px);
  box-shadow:
    0 32px 80px rgba(13, 35, 28, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

.public-beta-entry-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.public-beta-entry-brand .eyebrow {
  margin: 0;
}

.public-beta-entry-brand span {
  border: 1px solid rgba(47, 130, 209, 0.26);
  border-radius: 999px;
  background: #edf7ff;
  padding: 5px 10px;
  color: #155486;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.public-beta-entry-gate h1 {
  margin: 0;
  color: #06251d;
  font-size: clamp(2rem, 6vw, 3.05rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.public-beta-entry-gate p {
  margin: 0;
  color: #40544c;
  font-weight: 800;
  line-height: 1.48;
}

.public-beta-entry-primary {
  width: 100%;
  min-height: 48px;
}

.public-beta-entry-status {
  border-left: 4px solid var(--atlas-green);
  background: rgba(233, 250, 243, 0.78);
  padding: 11px 13px;
  color: var(--atlas-green);
  font-size: 0.88rem;
  font-weight: 900;
}

.public-beta-start-shell {
  width: min(1180px, 100%);
  border: 1px solid rgba(91, 151, 129, 0.32);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(248, 255, 252, 0.98), rgba(239, 248, 252, 0.96)),
    #fbfffd;
  box-shadow: 0 24px 70px rgba(10, 28, 22, 0.2);
  padding: clamp(24px, 4vw, 46px);
}

.public-beta-start-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(24px, 4vw, 42px);
}

.public-beta-start-header h1 {
  margin: 0 0 10px;
  font-size: clamp(2.1rem, 5vw, 4.1rem);
  line-height: 0.95;
  letter-spacing: 0;
}

.public-beta-start-header p,
.public-beta-start-hero p,
.public-beta-start-why p,
.public-beta-invite-note {
  color: var(--muted);
  font-weight: 750;
}

.public-beta-start-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.public-beta-start-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 18px;
  margin-bottom: 20px;
}

.public-beta-start-hero,
.public-beta-start-why {
  border: 1px solid rgba(128, 179, 157, 0.26);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: clamp(18px, 3vw, 28px);
}

.public-beta-start-hero h2,
.public-beta-start-why h3 {
  margin: 14px 0 12px;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  line-height: 1.05;
  letter-spacing: 0;
}

.public-beta-start-status {
  margin: 18px 0 0;
  border-left: 4px solid var(--atlas-green);
  background: rgba(233, 250, 243, 0.78);
  padding: 12px 14px;
  color: var(--atlas-green);
  font-weight: 900;
}

.public-beta-locked-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.public-beta-locked-nav button {
  border: 1px solid rgba(91, 151, 129, 0.24);
  border-radius: 999px;
  background: rgba(244, 249, 247, 0.9);
  color: rgba(15, 80, 66, 0.78);
  padding: 8px 12px;
  font-weight: 900;
}

.public-beta-invite-note {
  margin: 16px 0 0;
}

.public-beta-why-content {
  display: grid;
  gap: 16px;
}

.admin-boot body {
  background: #eef7f5;
}

.admin-shell {
  display: grid;
  gap: 16px;
  width: min(1180px, calc(100vw - 48px));
  margin: 32px auto;
}

.admin-login-shell {
  min-height: 52vh;
  align-content: center;
}

.admin-hero,
.admin-card,
.admin-created-invite {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 85, 72, 0.16);
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(12, 59, 53, 0.08);
}

.admin-hero {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 24px;
}

.admin-hero h1 {
  margin: 0;
  color: #053f35;
  font-size: 2.2rem;
}

.admin-hero p {
  margin: 6px 0 0;
  color: #40544f;
  font-weight: 700;
}

.admin-hero-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-tabs {
  display: inline-flex;
  gap: 8px;
  padding: 6px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(0, 85, 72, 0.14);
  border-radius: 8px;
  width: fit-content;
}

.admin-tabs button {
  border: 0;
  border-radius: 6px;
  padding: 9px 16px;
  background: transparent;
  color: #075244;
  font-weight: 900;
  cursor: pointer;
}

.admin-tabs button.is-active {
  background: #0b8b75;
  color: #fff;
}

.admin-status {
  min-height: 22px;
  margin: 0;
  color: #0b5b4d;
  font-weight: 800;
}

.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.admin-card {
  padding: 18px;
}

.admin-wide-card {
  display: grid;
  gap: 16px;
}

.admin-count-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-count-grid div,
.admin-metric-button {
  border: 1px solid rgba(0, 85, 72, 0.12);
  border-radius: 8px;
  padding: 12px;
  background: #f7fbfa;
}

.admin-count-grid .is-ok,
.admin-metric-button.is-ok {
  border-color: #b9ead3;
  background: #e8f8ef;
}

.admin-count-grid .is-info,
.admin-metric-button.is-info {
  border-color: #b8d8f4;
  background: #e7f2ff;
}

.admin-count-grid .is-danger,
.admin-metric-button.is-danger {
  border-color: #f1beb7;
  background: #fff0ee;
}

.admin-count-grid .is-neutral,
.admin-count-grid .is-warning,
.admin-metric-button.is-neutral,
.admin-metric-button.is-warning {
  border-color: #ead49c;
  background: #fff7de;
}

.admin-metric-button {
  cursor: pointer;
  text-align: left;
}

.admin-metric-button:hover,
.admin-metric-button:focus-visible {
  border-color: rgba(0, 132, 112, 0.42);
  box-shadow: 0 0 0 3px rgba(0, 132, 112, 0.12);
}

.admin-count-grid strong {
  display: block;
  color: #073f36;
  font-size: 1.8rem;
  line-height: 1;
}

.admin-count-grid span {
  color: #60736f;
  font-size: 0.78rem;
  font-weight: 900;
}

.admin-filter-note,
.admin-muted {
  color: #60736f;
  font-size: 0.82rem;
  font-weight: 800;
}

.admin-muted {
  display: block;
  margin-top: 4px;
}

.admin-invite-form,
.admin-created-invite {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) minmax(150px, 0.7fr) minmax(120px, 0.6fr) auto;
  gap: 12px;
  align-items: end;
}

.admin-created-invite {
  grid-template-columns: 1fr 1fr minmax(260px, 2fr) auto;
  padding: 14px;
}

.admin-invite-form label,
.admin-created-invite label {
  display: grid;
  gap: 6px;
  color: #566964;
  font-size: 0.82rem;
  font-weight: 900;
}

.admin-invite-form input,
.admin-invite-form select,
.admin-created-invite input {
  min-height: 38px;
  border: 1px solid rgba(0, 85, 72, 0.2);
  border-radius: 7px;
  padding: 8px 10px;
  font: inherit;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
}

.admin-table th,
.admin-table td {
  padding: 10px;
  border-bottom: 1px solid rgba(0, 85, 72, 0.1);
  text-align: left;
  vertical-align: middle;
}

.admin-table th {
  color: #50635f;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.admin-status-pill {
  display: inline-flex;
  border-radius: 999px;
  padding: 4px 9px;
  background: #eef3f1;
  color: #435a55;
  font-size: 0.75rem;
  font-weight: 900;
}

.admin-status-pill.is-active,
.admin-status-pill.is-redeemed {
  background: #e1f7ed;
  color: #05724f;
}

.admin-status-pill.is-disabled,
.admin-status-pill.is-revoked,
.admin-status-pill.is-expired {
  background: #f8e6e3;
  color: #a3372d;
}

.admin-status-pill.is-issued {
  background: #e6effb;
  color: #1f62a6;
}

.admin-status-pill.is-neutral {
  background: #fbf1dc;
  color: #956108;
}

.admin-user-list {
  display: grid;
  gap: 12px;
}

.admin-user-row {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(0, 85, 72, 0.12);
  border-radius: 10px;
  padding: 12px;
  background: #fbfdfc;
}

.admin-user-main {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) minmax(78px, auto) minmax(120px, 0.7fr) minmax(120px, 0.8fr) minmax(70px, 0.4fr) minmax(220px, 1.3fr);
  gap: 12px;
  align-items: center;
}

.admin-user-identity,
.admin-user-stat,
.admin-user-plan {
  display: grid;
  gap: 4px;
}

.admin-user-identity span,
.admin-user-stat span,
.admin-user-plan span,
.admin-user-quota small {
  color: #60736f;
  font-size: 0.76rem;
  font-weight: 850;
}

.admin-user-identity strong,
.admin-user-stat strong {
  color: #073f36;
}

.admin-user-plan select {
  min-height: 34px;
  border: 1px solid rgba(0, 85, 72, 0.2);
  border-radius: 7px;
  padding: 6px 8px;
  font: inherit;
}

.admin-empty-state {
  margin: 0;
  color: #60736f;
  font-weight: 850;
}

.admin-row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.admin-row-actions .small-button {
  white-space: normal;
  min-height: 34px;
  line-height: 1.15;
}

.admin-row-actions .admin-action-positive {
  border-color: #84d7b0;
  background: #e3f8ee;
  color: #056246;
}

.admin-row-actions .admin-action-warning {
  border-color: #e5b86b;
  background: #fff2d4;
  color: #865000;
}

.admin-row-actions .admin-action-danger {
  border-color: #e3a49b;
  background: #fff0ee;
  color: #9f3026;
}

.admin-row-actions .admin-action-info {
  border-color: #9fc7ed;
  background: #e7f2ff;
  color: #1e5b95;
}

@media (max-width: 860px) {
  .admin-shell {
    width: min(100% - 24px, 1180px);
    margin: 16px auto;
  }

  .admin-hero,
  .admin-dashboard-grid,
  .admin-invite-form,
  .admin-created-invite,
  .admin-user-main {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .public-beta-start-shell {
    padding: 22px;
  }

  .public-beta-start-header {
    flex-direction: column;
  }

  .public-beta-start-actions {
    justify-content: flex-start;
  }

  .public-beta-start-grid {
    grid-template-columns: 1fr;
  }
}

.app-launcher-panel {
  width: min(1180px, 100%);
  border: 1px solid rgba(128, 179, 157, 0.32);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(246, 255, 251, 0.96), rgba(235, 246, 241, 0.94)),
    #f8fffb;
  box-shadow: 0 24px 70px rgba(10, 28, 22, 0.22);
  padding: clamp(22px, 3vw, 34px);
}

.app-launcher-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.app-launcher-head h1 {
  margin: 0 0 8px;
  font-size: clamp(1.9rem, 4vw, 3.15rem);
  line-height: 1;
  letter-spacing: 0;
}

.app-launcher-head p,
.app-launcher-note {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.release-badge,
.variant-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(24, 132, 106, 0.28);
  border-radius: 999px;
  background: rgba(230, 249, 242, 0.9);
  color: var(--atlas-green);
  padding: 4px 12px;
  font-size: 0.82rem;
  font-weight: 900;
  white-space: nowrap;
}

.release-badge-button {
  font: inherit;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.release-badge-button:hover,
.release-badge-button:focus-visible {
  border-color: rgba(47, 111, 163, 0.65);
  background: rgba(232, 244, 255, 0.96);
  color: var(--atlas-blue);
  box-shadow: 0 0 0 3px rgba(47, 111, 163, 0.12);
  outline: none;
}

.release-control-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.release-feature-toggle {
  border-color: rgba(47, 111, 163, 0.34);
  background: rgba(237, 247, 255, 0.92);
  color: var(--atlas-blue);
}

.launcher-server-control {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 0.9fr) auto;
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(47, 111, 163, 0.2);
  border-radius: 10px;
  background: rgba(246, 252, 255, 0.72);
  padding: 14px 16px;
  margin: 0 0 18px;
}

.launcher-server-copy {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.launcher-server-copy strong {
  display: block;
  color: var(--ink);
  font-size: 1.02rem;
}

.launcher-server-copy p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 750;
}

.variant-status.is-server-status {
  border-color: rgba(47, 111, 163, 0.32);
  background: rgba(232, 244, 255, 0.94);
  color: var(--atlas-blue);
}

.variant-status.is-server-status.is-running {
  border-color: rgba(24, 132, 106, 0.34);
  background: rgba(230, 249, 242, 0.94);
  color: var(--atlas-green);
}

.variant-status.is-server-status.is-offline {
  border-color: rgba(164, 55, 44, 0.28);
  background: rgba(255, 238, 235, 0.92);
  color: var(--danger);
}

.launcher-server-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.launcher-server-meta div {
  border-left: 1px solid rgba(128, 157, 144, 0.32);
  padding-left: 12px;
}

.launcher-server-meta dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.launcher-server-meta dd {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 900;
}

.launcher-server-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.danger-button {
  border-color: rgba(164, 55, 44, 0.24);
  color: var(--danger);
}

.danger-button:hover,
.danger-button:focus-visible {
  border-color: rgba(164, 55, 44, 0.52);
  background: rgba(255, 238, 235, 0.92);
  color: var(--danger);
}

.release-log-panel {
  border: 1px solid rgba(128, 157, 144, 0.34);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 0 0 1px rgba(18, 132, 103, 0.05);
  margin: -2px 0 18px;
  padding: 14px;
}

.release-log-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.release-log-head.compact {
  margin: 0 0 10px;
}

.release-log-head strong {
  display: block;
  color: var(--atlas-green);
  font-size: 1.05rem;
}

.release-log-head span {
  display: block;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 750;
  margin-top: 2px;
}

.release-log-list {
  display: grid;
  gap: 10px;
}

.release-log-entry {
  border: 1px solid rgba(190, 207, 199, 0.72);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(248, 255, 251, 0.98), rgba(242, 249, 246, 0.94));
  padding: 12px 14px;
}

.release-log-entry header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.release-log-entry small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.release-log-entry h3 {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.2;
}

.release-log-entry ul {
  margin: 9px 0 0;
  padding-left: 18px;
}

.release-log-entry li {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 3px 0;
}

.beta-release-entry.is-compact {
  background: linear-gradient(135deg, rgba(248, 252, 255, 0.98), rgba(242, 249, 246, 0.95));
}

.beta-release-sections {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.beta-release-section {
  display: grid;
  gap: 4px;
}

.beta-release-section h4 {
  margin: 0;
  color: var(--atlas-green);
  font-size: 0.82rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.beta-release-section ul {
  margin: 0;
  padding-left: 18px;
}

.beta-release-history {
  display: grid;
  gap: 6px;
  border: 1px solid rgba(190, 207, 199, 0.66);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  padding: 10px 12px;
}

.beta-release-history strong {
  color: var(--atlas-green);
}

.beta-release-history ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-weight: 750;
}

.release-feature-panel {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(47, 111, 163, 0.26);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(248, 252, 255, 0.94), rgba(244, 250, 247, 0.88));
  box-shadow: inset 0 0 0 1px rgba(47, 111, 163, 0.08);
  margin: -2px 0 18px;
  padding: 14px;
}

.release-feature-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.release-feature-summary-card {
  border: 1px solid rgba(164, 190, 208, 0.54);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
  padding: 10px 12px;
}

.release-feature-summary-card strong,
.release-feature-summary-card span {
  display: block;
}

.release-feature-summary-card strong {
  color: var(--atlas-blue);
  font-size: 0.86rem;
  text-transform: uppercase;
}

.release-feature-summary-card span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.release-feature-table-wrap {
  max-height: 430px;
  overflow: auto;
  border: 1px solid rgba(164, 190, 208, 0.45);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
}

.release-feature-table-wrap.compact {
  max-height: 220px;
}

.release-feature-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.release-feature-table th,
.release-feature-table td {
  border-bottom: 1px solid rgba(164, 190, 208, 0.32);
  padding: 8px 10px;
  text-align: left;
  vertical-align: middle;
}

.release-feature-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(241, 248, 255, 0.98);
  color: var(--atlas-blue);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.release-feature-table th:first-child {
  width: 34%;
}

.release-feature-table th strong {
  display: block;
  color: var(--brand-dark);
  font-size: 0.86rem;
}

.release-feature-table th small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.feature-state-select,
.runtime-override-grid select {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(164, 190, 208, 0.72);
  border-radius: 8px;
  background: #fff;
  color: var(--brand-dark);
  padding: 5px 8px;
  font-weight: 900;
}

.feature-state-select.is-state-enabled,
.feature-state-pill.is-state-enabled {
  border-color: rgba(31, 139, 106, 0.4);
  background: rgba(231, 249, 241, 0.94);
  color: #0f755d;
}

.feature-state-select.is-state-disabled,
.feature-state-pill.is-state-disabled {
  border-color: rgba(201, 145, 45, 0.44);
  background: rgba(255, 248, 226, 0.94);
  color: #8a6512;
}

.feature-state-select.is-state-hidden,
.feature-state-pill.is-state-hidden {
  border-color: rgba(128, 145, 157, 0.42);
  background: rgba(241, 244, 246, 0.96);
  color: #56656f;
}

.feature-state-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid rgba(164, 190, 208, 0.55);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 0.72rem;
  font-weight: 950;
  white-space: nowrap;
}

.release-feature-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.release-feature-status,
.runtime-override-helper {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.release-runtime-panel {
  display: grid;
  gap: 10px;
  border-top: 1px solid rgba(47, 111, 163, 0.18);
  padding-top: 12px;
}

.runtime-override-grid {
  display: grid;
  grid-template-columns: 1.45fr 0.75fr 0.9fr 1.2fr auto;
  gap: 10px;
  align-items: end;
}

.runtime-override-grid label,
.runtime-override-state {
  display: grid;
  gap: 4px;
}

.runtime-override-grid label span,
.runtime-override-state span:first-child,
.runtime-override-state span:last-child {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
}

.release-feature-empty {
  color: var(--muted);
  font-weight: 800;
  text-align: center;
}

.tiny-button {
  min-height: 28px;
  padding: 4px 9px;
  font-size: 0.75rem;
}

@media (max-width: 900px) {
  .release-feature-summary,
  .runtime-override-grid {
    grid-template-columns: 1fr;
  }
}

.app-variant-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 18px;
}

.app-variant-card {
  display: flex;
  min-height: 330px;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(128, 157, 144, 0.32);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  padding: 18px;
  transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease, transform 120ms ease;
}

.app-variant-card.is-available {
  border-color: rgba(18, 132, 103, 0.48);
  box-shadow: inset 0 0 0 1px rgba(18, 132, 103, 0.08), 0 18px 42px rgba(16, 92, 72, 0.12);
}

.app-variant-card.is-available:hover,
.app-variant-card.is-available:focus-within,
.app-variant-card.is-available.is-starting {
  border-color: rgba(47, 111, 163, 0.82);
  background:
    linear-gradient(135deg, rgba(239, 248, 255, 0.98), rgba(229, 244, 255, 0.9)),
    #f4fbff;
  box-shadow: inset 0 0 0 1px rgba(47, 111, 163, 0.18), 0 22px 48px rgba(47, 111, 163, 0.22);
  transform: translateY(-2px);
}

.app-variant-card.is-available:hover .primary-button,
.app-variant-card.is-available:focus-within .primary-button,
.app-variant-card.is-available.is-starting .primary-button {
  border-color: var(--blue);
  background: var(--blue);
  box-shadow: 0 12px 28px rgba(47, 111, 163, 0.24);
}

.app-variant-card.is-locked {
  background: rgba(250, 252, 250, 0.7);
}

.app-variant-card h2 {
  margin: 14px 0 8px;
  font-size: 1.28rem;
}

.app-variant-card p {
  margin: 0;
  color: var(--muted);
  font-weight: 650;
  line-height: 1.45;
}

.app-variant-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.app-variant-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(99, 122, 112, 0.16);
  padding-bottom: 7px;
}

.app-variant-card dt {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.app-variant-card dd {
  margin: 0;
  color: var(--ink);
  font-weight: 900;
  text-align: right;
}

.app-variant-loading {
  display: none;
  gap: 8px;
  margin-top: -6px;
}

.app-variant-loading.is-loading {
  display: grid;
}

.app-variant-loading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--atlas-green);
  font-size: 0.86rem;
  font-weight: 900;
}

.app-variant-card.is-available:hover .app-variant-loading-row,
.app-variant-card.is-available:focus-within .app-variant-loading-row,
.app-variant-card.is-available.is-starting .app-variant-loading-row {
  color: var(--blue);
}

.app-variant-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(16, 82, 65, 0.12);
}

.app-variant-card.is-available:hover .app-variant-progress,
.app-variant-card.is-available:focus-within .app-variant-progress,
.app-variant-card.is-available.is-starting .app-variant-progress {
  background: rgba(47, 111, 163, 0.14);
}

.app-variant-progress span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f7f68, #35b993);
  box-shadow: 0 0 18px rgba(38, 178, 141, 0.45);
  transition-property: width;
  transition-timing-function: linear;
  transition-duration: 16000ms;
}

.app-variant-card.is-available:hover .app-variant-progress span,
.app-variant-card.is-available:focus-within .app-variant-progress span,
.app-variant-card.is-available.is-starting .app-variant-progress span {
  background: linear-gradient(90deg, #2f6fa3, #4ba9e6);
  box-shadow: 0 0 18px rgba(47, 111, 163, 0.42);
}

.release-user-context-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.8fr) minmax(240px, 1fr);
  align-items: center;
  gap: 16px;
  margin: 4px 0 18px;
  border: 1px solid rgba(18, 132, 103, 0.28);
  border-radius: 10px;
  background: rgba(250, 255, 252, 0.72);
  padding: 16px 18px;
}

.release-user-context-panel strong {
  display: block;
  margin: 8px 0 4px;
  font-size: 1.05rem;
}

.release-user-context-panel p {
  margin: 0;
  color: var(--muted);
  font-weight: 650;
}

.release-user-context-select-label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.release-user-context-select-label select {
  min-height: 44px;
  border: 1px solid rgba(128, 157, 144, 0.36);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--ink);
  padding: 0 12px;
  font: inherit;
  font-weight: 850;
  text-transform: none;
  letter-spacing: 0;
}

.release-user-context-facts {
  display: grid;
  gap: 7px;
  margin: 0;
}

.release-user-context-facts div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(99, 122, 112, 0.16);
  padding-bottom: 6px;
}

.release-user-context-facts dt {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 850;
}

.release-user-context-facts dd {
  margin: 0;
  color: var(--ink);
  font-weight: 900;
  text-align: right;
}

@media (max-width: 900px) {
  .app-launcher-head {
    flex-direction: column;
  }

  .launcher-server-control {
    grid-template-columns: 1fr;
  }

  .launcher-server-actions {
    justify-content: flex-start;
  }

  .app-variant-grid {
    grid-template-columns: 1fr;
  }

  .app-variant-card {
    min-height: 0;
  }

  .release-user-context-panel {
    grid-template-columns: 1fr;
  }
}

.app-variant-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  margin-top: 10px;
  border: 1px solid rgba(238, 190, 86, 0.55);
  border-radius: 999px;
  background: rgba(255, 247, 221, 0.92);
  color: #8a6512;
  padding: 4px 11px;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  box-shadow: 0 8px 22px rgba(88, 63, 11, 0.12);
}

.topbar {
  position: relative;
  display: block;
  height: clamp(118px, 15vw, 204px);
  min-height: 118px;
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid rgba(44, 122, 170, 0.18);
  border-radius: 10px;
  background: #e7f8ff;
  padding: 0;
  box-shadow: 0 18px 42px rgba(20, 54, 76, 0.18);
  color: white;
}

.topbar::before {
  display: none;
}

.topbar > * {
  position: relative;
  z-index: 1;
}

.topbar-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.topbar .brand-lockup,
.topbar .brand-visual,
.topbar .summary-strip {
  display: none;
}

.brand-lockup {
  min-width: 0;
}

.brand-title-row,
.brand-claim-row {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.eyebrow {
  margin: 0 0 6px;
  color: #9bd6c4;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

h1,
h2 {
  margin: 0;
  letter-spacing: 0;
}

h1 {
  min-width: 0;
  overflow: hidden;
  font-size: clamp(3.1rem, 6.3vw, 5.15rem);
  line-height: 0.9;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-subtitle {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.74);
  font-weight: 750;
}

.app-subtitle {
  overflow: hidden;
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-claim-row .app-subtitle {
  margin-top: 4px;
}

.header-title-input,
.header-claim-input {
  width: min(560px, 52vw);
  border-radius: 8px;
  border-color: rgba(155, 214, 196, 0.48);
  background: rgba(255, 255, 255, 0.94);
  color: var(--ink);
  font-weight: 800;
}

.header-title-input {
  min-height: 58px;
  padding: 5px 12px;
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.header-claim-input {
  min-height: 38px;
  padding: 4px 10px;
  font-size: 1rem;
}

.jeff-engine {
  display: grid;
  gap: 3px;
  margin-top: 13px;
}

.jeff-engine span,
.brand-makers span {
  color: rgba(255, 255, 255, 0.54);
  font-size: 0.73rem;
  font-weight: 760;
  line-height: 1.16;
}

.jeff-engine span {
  color: rgba(255, 255, 255, 0.62);
}

.jeff-engine span:first-child {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.75rem;
}

.jeff-engine strong {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.03em;
}

.icon-button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.76);
  cursor: pointer;
}

.icon-button:hover {
  border-color: rgba(155, 214, 196, 0.48);
  color: white;
}

.icon-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.brand-visual {
  position: relative;
  min-height: 122px;
  overflow: hidden;
  border-radius: 8px;
}

.brand-visual svg {
  position: absolute;
  top: -8px;
  right: 14px;
  bottom: 12px;
  width: min(76%, 520px);
  height: calc(100% - 2px);
}

.brand-makers {
  position: absolute;
  right: 22px;
  bottom: 0;
  width: min(82%, 560px);
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  text-align: right;
}

.brand-makers span {
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.7rem;
  font-weight: 760;
  line-height: 1.1;
  white-space: nowrap;
}

.signal-grid {
  fill: none;
  stroke: rgba(255, 255, 255, 0.11);
  stroke-width: 1;
}

.signal-line,
.signal-bars,
.signal-markers {
  fill: none;
  stroke: #9bd6c4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.signal-line {
  stroke-width: 4;
}

.signal-line-muted {
  filter: drop-shadow(0 0 5px rgba(216, 162, 58, 0.28));
  stroke: rgba(216, 162, 58, 0.58);
  stroke-width: 3;
}

.signal-bars {
  stroke: rgba(255, 255, 255, 0.42);
  stroke-width: 6;
}

.signal-markers {
  stroke: #f1c15f;
  stroke-width: 6;
}

h2 {
  font-size: 1.18rem;
}

p {
  line-height: 1.5;
}

.summary-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: var(--shadow);
}

.summary-strip div {
  padding: 14px 18px;
  border-left: 1px solid var(--line);
}

.summary-strip div:first-child {
  border-left: 0;
}

.summary-strip span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.summary-strip strong {
  display: block;
  margin-top: 4px;
  white-space: nowrap;
}

.pulse-shell {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin: -8px 0 12px;
  border: 1px solid color-mix(in srgb, var(--pulse-accent) 22%, transparent);
  border-radius: 10px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--pulse-accent) 6%, white), color-mix(in srgb, var(--pulse-accent) 20%, white)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), color-mix(in srgb, var(--pulse-accent) 14%, transparent));
  box-shadow: 0 14px 30px color-mix(in srgb, var(--pulse-accent) 18%, transparent);
}

.pulse-row {
  position: relative;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 34px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.36);
}

.pulse-row + .pulse-row {
  border-top: 1px solid color-mix(in srgb, var(--pulse-accent) 16%, transparent);
}

.pulse-label {
  color: var(--pulse-accent);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
}

.pulse-label-group {
  display: grid;
  gap: 2px;
  align-content: center;
  min-width: 0;
}

.pulse-week {
  color: color-mix(in srgb, var(--pulse-ink) 58%, transparent);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  white-space: nowrap;
}

.pulse-label-button {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.pulse-label-button:hover {
  color: var(--pulse-mid);
}

.pulse-track {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  scrollbar-width: none;
}

.pulse-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  min-height: 24px;
  line-height: 1.15;
  border-right: 1px solid color-mix(in srgb, var(--pulse-accent) 18%, transparent);
  padding-right: 8px;
  color: var(--pulse-mid);
  font-size: 0.8rem;
  font-weight: 800;
  animation: jeff-pulse-enter 420ms ease both;
}

.pulse-item:last-child {
  border-right: 0;
}

.pulse-item strong {
  color: var(--pulse-ink);
  font-size: 0.77rem;
  letter-spacing: 0.01em;
  line-height: 1.15;
  text-transform: uppercase;
}

.pulse-item span {
  line-height: 1.15;
  white-space: nowrap;
}

.pulse-item em {
  color: color-mix(in srgb, var(--pulse-ink) 62%, transparent);
  font-style: normal;
  line-height: 1.15;
  white-space: nowrap;
}

.pulse-arrow {
  font-style: normal;
  font-weight: 950;
}

.pulse-item.is-up span {
  color: var(--pulse-up);
}

.pulse-item.is-down span {
  color: var(--pulse-down);
}

.pulse-item.is-up em {
  color: var(--pulse-up);
}

.pulse-item.is-down em {
  color: var(--pulse-down);
}

.pulse-time,
.pulse-empty {
  color: color-mix(in srgb, var(--pulse-ink) 58%, transparent);
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.pulse-time {
  display: none;
}

.atlas-pulse-detail {
  margin: 0;
  border-top: 1px solid color-mix(in srgb, var(--pulse-accent) 18%, transparent);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.38)),
    color-mix(in srgb, var(--pulse-accent) 9%, white);
  padding: 10px 12px 12px;
}

.atlas-pulse-detail-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-bottom: 8px;
}

.atlas-pulse-detail-header strong {
  display: block;
  color: var(--pulse-ink);
  font-size: 0.88rem;
}

.atlas-pulse-detail-header span {
  display: block;
  margin-top: 2px;
  color: color-mix(in srgb, var(--pulse-ink) 60%, transparent);
  font-size: 0.76rem;
  font-weight: 800;
}

.pulse-close-button {
  width: 30px;
  height: 30px;
  color: var(--pulse-ink);
  font-size: 1.05rem;
}

.atlas-pulse-list {
  display: grid;
  gap: 4px;
  max-height: min(420px, 54vh);
  overflow: auto;
  padding-right: 4px;
}

.atlas-pulse-list-head {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 120px 120px 96px;
  gap: 10px;
  padding: 0 14px 5px 10px;
  color: color-mix(in srgb, var(--pulse-ink) 62%, transparent);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.atlas-pulse-list-head span:not(:first-child) {
  text-align: right;
}

.atlas-pulse-detail-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 120px 120px 96px;
  gap: 10px;
  align-items: center;
  min-height: 38px;
  border: 1px solid color-mix(in srgb, var(--pulse-accent) 14%, transparent);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
  padding: 7px 10px;
  color: var(--pulse-ink);
  font-size: 0.82rem;
}

.atlas-pulse-detail-row > div {
  min-width: 0;
}

.atlas-pulse-detail-row > div strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.atlas-pulse-detail-row > div span {
  display: block;
  color: color-mix(in srgb, var(--pulse-ink) 58%, transparent);
  font-size: 0.72rem;
  font-weight: 800;
}

.atlas-pulse-detail-row > span,
.atlas-pulse-detail-row > strong {
  text-align: right;
  white-space: nowrap;
}

.atlas-pulse-detail-row.is-up > strong {
  color: var(--pulse-up);
}

.atlas-pulse-detail-row.is-down > strong {
  color: var(--pulse-down);
}

.atlas-pulse-detail-row.is-neutral > strong {
  color: color-mix(in srgb, var(--pulse-ink) 58%, transparent);
}

@keyframes jeff-pulse-enter {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.nav-shell {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 246, 0.94));
  padding: 8px;
  box-shadow: var(--shadow);
}

.nav-primary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.nav-secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
  min-width: 0;
}

.profile-output {
  flex: 1 0 100%;
  min-width: 0;
}

.profile-output:empty {
  display: none;
}

.profile-page-panel {
  display: grid;
  gap: 18px;
}

.profile-page-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.profile-page-card {
  display: grid;
  gap: 12px;
  align-content: start;
  border: 1px solid rgba(16, 24, 21, 0.1);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 248, 0.94));
  padding: 18px;
  box-shadow: 0 14px 28px rgba(24, 39, 33, 0.06);
}

.profile-page-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1.22rem;
}

.profile-page-card .eyebrow {
  margin: 0;
  color: #0f7a63;
}

.profile-facts {
  display: grid;
  gap: 8px;
  margin: 0;
}

.profile-facts div {
  display: grid;
  grid-template-columns: minmax(120px, 0.42fr) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  border-top: 1px solid rgba(16, 24, 21, 0.08);
  padding-top: 8px;
}

.profile-facts dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.profile-facts dd {
  margin: 0;
  color: var(--ink);
  font-weight: 800;
}

.profile-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.profile-account-actions .ghost-button[hidden] {
  display: none;
}

.profile-settings-stack {
  display: grid;
  gap: 12px;
}

.profile-settings-section {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(16, 24, 21, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  padding: 14px;
}

.profile-settings-section .eyebrow {
  margin: 0 0 4px;
}

.profile-settings-section .helper-text {
  margin: 0;
}

.profile-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tabs {
  display: flex;
  gap: 6px;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(16, 24, 21, 0.07);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.48);
  padding: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.tab-button,
.nav-group-button,
.ghost-button,
.primary-button,
.danger-button,
.file-button,
.row-delete-button {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
  font-weight: 700;
}

.tab-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  border-color: rgba(16, 24, 21, 0.08);
  padding: 0 11px;
  background: rgba(255, 255, 255, 0.64);
  color: var(--muted);
  white-space: nowrap;
  font-size: 0.82rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.tab-button small {
  font-size: 0.62rem;
  color: inherit;
  opacity: 0.72;
}

.tab-button.nav-coming-soon {
  cursor: default;
  opacity: 0.72;
  border-style: dashed;
}

.tab-button.nav-file-button {
  cursor: pointer;
}

.nav-group-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border-color: rgba(16, 24, 21, 0.08);
  padding: 0 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(244, 248, 246, 0.76));
  color: var(--muted);
  font-size: 0.84rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.nav-group-button.is-active,
.tab-button.is-active {
  border-color: rgba(155, 214, 196, 0.36);
  background:
    linear-gradient(180deg, #13271f, #0d1d17);
  color: #eaf5f1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 8px 18px rgba(16, 32, 25, 0.16);
}

.nav-group-button.is-active {
  color: #f7fbf9;
}

.nav-utility-cluster {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  margin-left: auto;
  min-width: 0;
}

.tab-button.nav-utility,
.tab-button.nav-beta-hub,
.tab-button.nav-public-logout {
  flex: 0 0 auto;
  min-width: 112px;
}

.tab-button.nav-utility {
  border-color: rgba(17, 95, 72, 0.22);
  background:
    linear-gradient(180deg, rgba(237, 249, 244, 0.96), rgba(224, 242, 235, 0.92));
  color: #0f604d;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 9px 22px rgba(17, 95, 72, 0.08);
}

.tab-button.nav-dev {
  border-color: rgba(99, 112, 126, 0.28);
  background:
    linear-gradient(180deg, rgba(246, 248, 249, 0.98), rgba(232, 237, 239, 0.92));
  color: #41505a;
}

.tab-button.nav-utility::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #0f8068;
  box-shadow: 0 0 0 4px rgba(15, 128, 104, 0.12);
}

.tab-button.nav-dev::before {
  background: #687783;
  box-shadow: 0 0 0 4px rgba(104, 119, 131, 0.12);
}

.tab-button.nav-utility.is-active {
  border-color: rgba(23, 129, 103, 0.58);
  background:
    linear-gradient(180deg, #156b58, #0d473b);
  color: #f4fbf8;
}

.tab-button.nav-dev.is-active {
  border-color: rgba(91, 105, 117, 0.64);
  background:
    linear-gradient(180deg, #596b76, #34424b);
  color: #f7fbfc;
}

.tab-button.nav-utility.is-active::before {
  background: #dff6ee;
  box-shadow: 0 0 0 4px rgba(223, 246, 238, 0.16);
}

.tab-button.nav-beta-hub {
  border-color: rgba(38, 108, 186, 0.34);
  background:
    linear-gradient(180deg, rgba(235, 246, 255, 0.96), rgba(217, 235, 252, 0.9));
  color: #155486;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 9px 22px rgba(38, 108, 186, 0.12);
}

.tab-button.nav-beta-hub::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #2f82d1;
  box-shadow: 0 0 0 4px rgba(47, 130, 209, 0.14);
}

.tab-button.nav-beta-hub.is-active {
  border-color: rgba(93, 165, 232, 0.72);
  background:
    linear-gradient(180deg, #1e6daa, #124a78);
  color: #f4fbff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 10px 24px rgba(38, 108, 186, 0.22);
}

.tab-button.nav-beta-hub.is-active::before {
  background: #d8ecff;
  box-shadow: 0 0 0 4px rgba(216, 236, 255, 0.18);
}

.tab-button.nav-public-logout {
  border-color: rgba(15, 81, 63, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 247, 244, 0.92));
  color: #0f5142;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 9px 20px rgba(15, 81, 63, 0.08);
}

.tab-button.nav-public-logout::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #0f7a63;
  box-shadow: 0 0 0 4px rgba(15, 122, 99, 0.12);
}

.utility-control-panel {
  display: grid;
  gap: 18px;
}

.utility-control-hero {
  margin-bottom: 0;
}

.utility-control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.utility-control-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: space-between;
  min-height: 220px;
  border: 1px solid rgba(12, 64, 51, 0.12);
  border-radius: 8px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(239, 248, 244, 0.72));
  box-shadow: var(--soft-shadow);
}

.utility-control-card h3 {
  margin: 4px 0 8px;
  color: var(--ink);
}

.utility-control-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.utility-action-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(218px, 1fr));
  gap: 10px;
  align-items: stretch;
}

.utility-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 8px 18px rgba(12, 32, 24, 0.07);
}

.utility-action-button span {
  display: block;
}

.utility-action-export {
  border-color: rgba(36, 111, 168, 0.42);
  background: linear-gradient(180deg, #2f7db7, #1f5f91);
  color: #f7fbff;
}

.utility-action-import {
  border-color: rgba(20, 130, 91, 0.42);
  background: linear-gradient(180deg, #15946d, #0c7455);
  color: #f5fff9;
}

.utility-action-check {
  border-color: rgba(202, 128, 34, 0.46);
  background: linear-gradient(180deg, #e69a32, #bc6c16);
  color: #fffaf2;
}

.utility-action-critical {
  border-color: rgba(178, 52, 45, 0.52);
  background: linear-gradient(180deg, #c94a42, #9b2724);
  color: #fff8f7;
}

.utility-action-subpage {
  border-color: rgba(206, 162, 43, 0.5);
  background: linear-gradient(180deg, #f2c84b, #d89a1e);
  color: #33250b;
}

.utility-action-neutral {
  border-color: rgba(17, 31, 24, 0.14);
  background: linear-gradient(180deg, #ffffff, #f4f8f6);
  color: var(--brand-dark);
}

.utility-action-button:hover {
  transform: translateY(-1px);
}

.subnav-group {
  display: none;
}

.subnav-group.is-active {
  display: flex;
}

.subnav-group[data-subnav-group="profile"].is-active {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  flex: 1 1 0;
  overflow: visible;
}

.subnav-group[data-subnav-group="profile"] .tab-button {
  min-width: 0;
  padding-inline: 10px;
  white-space: normal;
  line-height: 1.15;
}

.stop-loading-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  border: 1px solid rgba(159, 45, 32, 0.28);
  border-radius: 8px;
  padding: 0 12px;
  background: #fff4f2;
  color: var(--danger);
  font-size: 0.82rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.stop-loading-button:hover {
  transform: translateY(-1px);
}

.tab-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.view {
  display: none;
}

.view.is-active {
  display: block;
}

.import-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
  gap: 18px;
}

.panel {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.upload-panel,
.text-panel,
.dashboard-panel-shell,
.scoring-panel-shell,
.performance-panel-shell,
.learning-panel-shell,
.scenario-panel-shell,
#portfolioView .panel,
#assetsView .panel,
#watchlistView .panel,
#dividendsView .panel,
#categoriesView .panel,
#closedTradesView .panel,
#transactionsView .panel,
#feesView .panel,
#taxView .panel {
  padding: 20px;
}

.atlas-start-panel {
  display: grid;
  gap: 22px;
  padding: 28px;
  overflow: visible;
  background:
    radial-gradient(circle at 18% 0%, rgba(47, 111, 163, 0.18), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(15, 122, 99, 0.14), transparent 30%),
    linear-gradient(180deg, #ffffff, #f4faf7);
}

.atlas-start-hero {
  display: grid;
  gap: 14px;
  padding: 12px 0 2px;
}

.atlas-start-hero h1 {
  max-width: 980px;
  margin: 4px 0 0;
  color: #0a241d;
  font-size: clamp(2rem, 3.7vw, 3.45rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.atlas-start-hero h1 span {
  display: block;
}

.atlas-start-subline {
  max-width: 680px;
  margin: 12px 0 0;
  color: #486058;
  font-size: 1.05rem;
  line-height: 1.45;
}

.atlas-start-hero.has-editorial {
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap: 16px;
  align-items: stretch;
}

.atlas-start-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  padding-top: 2px;
}

.atlas-start-actions .secondary-button,
.atlas-start-actions .primary-button {
  min-height: 42px;
  border-radius: 999px;
  padding: 0 18px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(15, 81, 63, 0.08);
}

.atlas-start-actions .secondary-button {
  border: 1px solid rgba(47, 111, 163, 0.24);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(239, 248, 255, 0.92));
  color: #1f5e91;
}

.atlas-start-actions .secondary-button:hover {
  border-color: rgba(47, 111, 163, 0.48);
  background: #edf6ff;
  color: #145080;
}

.atlas-start-editorial {
  display: grid;
  grid-template-columns: 0.92fr 1fr;
  min-height: 220px;
  overflow: hidden;
  border: 1px solid rgba(20, 104, 169, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(237, 246, 255, 0.96), rgba(255, 255, 255, 0.96)),
    radial-gradient(circle at 18% 15%, rgba(47, 111, 163, 0.14), transparent 42%);
  box-shadow: 0 22px 50px rgba(31, 94, 145, 0.12);
  cursor: pointer;
}

.atlas-start-editorial:hover {
  border-color: rgba(20, 104, 169, 0.42);
  box-shadow: 0 24px 56px rgba(31, 94, 145, 0.16);
}

.atlas-start-editorial-image {
  display: grid;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 100%;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(15, 122, 99, 0.88), rgba(47, 111, 163, 0.78)),
    radial-gradient(circle at 72% 28%, rgba(255, 255, 255, 0.24), transparent 30%);
  background-size: cover;
  color: rgba(255, 255, 255, 0.92);
}

.atlas-start-editorial-image.has-image {
  background-color: #d9eae8;
}

.atlas-start-editorial-image span {
  font-size: 3.2rem;
  font-weight: 950;
  letter-spacing: 0;
}

.atlas-start-editorial-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 22px;
}

.atlas-start-editorial-copy small {
  color: #1f5e91;
  font-size: 0.74rem;
  font-weight: 950;
  text-transform: uppercase;
}

.atlas-start-editorial-copy h2 {
  margin: 0;
  color: #09251f;
  font-size: 1.72rem;
  line-height: 1.08;
}

.atlas-start-editorial-copy p {
  margin: 0;
  color: #425a52;
  font-size: 0.98rem;
  line-height: 1.45;
}

.atlas-start-editorial-copy .primary-button {
  width: fit-content;
  min-width: 220px;
  margin-top: 6px;
  border-color: rgba(47, 111, 163, 0.72);
  background: linear-gradient(180deg, #2f6fa3, #1f5e91);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(31, 94, 145, 0.22);
}

.atlas-start-editorial-copy .primary-button:hover {
  border-color: rgba(31, 94, 145, 0.86);
  background: linear-gradient(180deg, #397dad, #1d5a88);
  color: #ffffff;
}

.atlas-start-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.atlas-start-notice {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  border: 1px solid rgba(47, 111, 163, 0.2);
  border-left: 4px solid #2f6fa3;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(237, 246, 255, 0.98), rgba(255, 255, 255, 0.9));
  padding: 12px 16px;
  color: #244c69;
  box-shadow: 0 12px 28px rgba(47, 111, 163, 0.08);
}

.atlas-start-notice strong {
  color: #123c5c;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.atlas-start-notice span {
  color: #2f4c5d;
  font-weight: 800;
}

.atlas-start-card {
  position: relative;
  display: flex;
  min-height: 320px;
  flex-direction: column;
  gap: 13px;
  justify-content: space-between;
  border: 1px solid rgba(15, 81, 63, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 252, 250, 0.94)),
    radial-gradient(circle at 85% 10%, rgba(47, 111, 163, 0.1), transparent 34%);
  padding: 22px;
  box-shadow: 0 18px 42px rgba(28, 43, 36, 0.08);
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.atlas-start-card:hover {
  border-color: rgba(47, 111, 163, 0.34);
  box-shadow: 0 20px 48px rgba(27, 83, 129, 0.12);
}

.atlas-start-card.is-journey-next {
  border-color: rgba(15, 122, 99, 0.62);
  background:
    linear-gradient(180deg, rgba(244, 253, 249, 0.98), rgba(233, 249, 242, 0.94)),
    radial-gradient(circle at 88% 12%, rgba(15, 122, 99, 0.16), transparent 34%);
  box-shadow:
    0 22px 52px rgba(15, 122, 99, 0.16),
    inset 0 0 0 1px rgba(15, 122, 99, 0.16);
}

.atlas-start-card.is-journey-next::before {
  content: "ALS NÄCHSTES";
  position: absolute;
  top: 14px;
  right: 14px;
  border: 1px solid rgba(15, 122, 99, 0.3);
  border-radius: 999px;
  background: rgba(232, 251, 245, 0.96);
  padding: 4px 9px;
  color: #0f6f59;
  font-size: 0.66rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(15, 122, 99, 0.1);
}

.atlas-start-card.is-journey-next .atlas-start-card-topline {
  padding-right: 112px;
}

.atlas-start-card.is-reorderable {
  border-style: dashed;
  cursor: grab;
}

.atlas-start-card.is-reorderable:active {
  cursor: grabbing;
}

.atlas-start-card.is-dragging {
  opacity: 0.48;
  transform: scale(0.985);
}

.atlas-start-card.is-drag-over {
  border-color: rgba(47, 111, 163, 0.72);
  background:
    radial-gradient(circle at 90% 10%, rgba(47, 111, 163, 0.16), transparent 34%),
    linear-gradient(180deg, #ffffff, #eff8ff);
}

.atlas-start-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.atlas-start-card-topline small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.atlas-start-icon {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(47, 111, 163, 0.28);
  border-radius: 50%;
  background: #edf6ff;
  color: var(--blue);
  font-weight: 900;
}

.atlas-start-icon-wrap {
  position: relative;
  display: inline-flex;
  width: fit-content;
  align-items: center;
}

.atlas-start-card.is-journey-next .atlas-start-icon {
  border-color: rgba(15, 122, 99, 0.62);
  background: #e8fbf5;
  color: #0f7a63;
  box-shadow: 0 0 0 4px rgba(15, 122, 99, 0.08);
}

.atlas-start-card.is-journey-done .atlas-start-icon {
  border-color: rgba(15, 122, 99, 0.42);
  background: #ecf8f3;
  color: #0f7a63;
}

.atlas-start-journey-status {
  position: absolute;
  left: 31px;
  bottom: -7px;
  min-width: 48px;
  border: 1px solid rgba(15, 81, 63, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  padding: 2px 7px;
  color: #486058;
  font-size: 0.62rem;
  font-weight: 950;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(28, 43, 36, 0.08);
  white-space: nowrap;
}

.atlas-start-journey-status.is-next {
  border-color: rgba(15, 122, 99, 0.38);
  background: #0f7a63;
  color: #ffffff;
}

.atlas-start-journey-status.is-done {
  border-color: rgba(15, 122, 99, 0.32);
  background: #e8fbf5;
  color: #0a6a54;
}

.atlas-start-journey-status.is-to-do {
  color: #62736d;
}

.atlas-start-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.atlas-start-card-copy {
  display: grid;
  gap: 12px;
}

.atlas-start-card h2 {
  margin: 10px 0 0;
  color: #0b211b;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.04;
}

.atlas-start-card p {
  margin: 0;
  color: #40544c;
  font-size: 1rem;
  line-height: 1.48;
}

.atlas-start-card .atlas-start-claim {
  color: #10231d;
  font-size: 1.14rem;
  font-weight: 850;
}

.atlas-start-card .primary-button {
  width: 100%;
  margin-top: auto;
}

.atlas-start-cta-area {
  display: grid;
  gap: 6px;
  margin-top: auto;
}

.atlas-start-cta-subline {
  color: #66786f;
  font-size: 0.75rem;
  font-weight: 850;
  text-align: center;
}

.atlas-start-card.is-journey-next .atlas-start-cta-subline {
  color: #0f7a63;
}

.atlas-start-card .primary-button:disabled {
  cursor: default;
  opacity: 0.68;
}

.atlas-start-shortcuts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding-top: 4px;
}

.atlas-start-shortcuts button {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(15, 81, 63, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 14px 16px;
  color: #17332b;
  text-align: left;
  cursor: pointer;
}

.atlas-start-shortcuts button:disabled {
  cursor: default;
  opacity: 0.56;
}

.atlas-start-shortcuts strong {
  color: #0a513f;
  font-size: 0.95rem;
}

.atlas-start-shortcuts span {
  color: var(--muted);
  font-size: 0.84rem;
}

.dashboard-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.dashboard-periods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.dashboard-card,
.dashboard-period {
  min-height: 106px;
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7faf8);
  padding: 16px;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

.dashboard-card:hover,
.dashboard-period:hover,
.dashboard-panel:hover {
  border-color: rgba(15, 125, 94, 0.22);
  box-shadow: 0 16px 34px rgba(14, 42, 30, 0.08);
  transform: translateY(-1px);
}

.dashboard-card span,
.dashboard-card small,
.dashboard-period span,
.dashboard-period small {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.dashboard-card strong,
.dashboard-period strong {
  display: block;
  margin: 8px 0 4px;
  font-size: 1.42rem;
  line-height: 1.1;
  color: #0f1d18;
}

.dashboard-card.is-positive strong,
.dashboard-period.is-positive strong {
  color: var(--brand-dark);
}

.dashboard-card.is-negative strong,
.dashboard-period.is-negative strong {
  color: var(--danger);
}

.dashboard-period {
  min-height: 82px;
  padding: 13px 14px;
}

.dashboard-period strong {
  font-size: 1.12rem;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-panel {
  min-width: 0;
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 14px;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.dashboard-panel-wide {
  grid-column: span 2;
}

.dashboard-panel h3 {
  margin-top: 0;
}

.dashboard-highlight-panel {
  display: grid;
  grid-row: span 2;
  min-height: 236px;
}

.weekly-highlight-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.weekly-highlight-editor span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.weekly-highlight-head h3 {
  margin: 3px 0 0;
}

.weekly-highlight-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.weekly-highlight-nav .icon-button {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(25, 113, 189, 0.22);
  background: #f3f9ff;
  color: #1971bd;
  font-size: 1.25rem;
}

.weekly-highlight-card {
  display: grid;
  align-content: start;
  gap: 7px;
  width: 100%;
  min-height: 276px;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 8px;
  background:
    radial-gradient(circle at 90% 10%, rgba(25, 113, 189, 0.12), transparent 32%),
    linear-gradient(180deg, #ffffff, #f5fbff);
  padding: 13px;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.weekly-highlight-card:hover {
  border-color: rgba(25, 113, 189, 0.42);
  box-shadow: 0 14px 34px rgba(21, 85, 132, 0.14);
  transform: translateY(-1px);
}

.weekly-highlight-card strong,
.weekly-highlight-card small {
  display: block;
}

.weekly-highlight-card > strong {
  color: #0d2a23;
  font-size: 1.18rem;
}

.weekly-highlight-card > small,
.weekly-highlight-date {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.weekly-highlight-reason {
  margin: 8px 0 0;
  color: #253f38;
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.48;
}

.weekly-highlight-open-hint {
  align-self: end;
  justify-self: start;
  margin-top: 10px;
  border-radius: 999px;
  background: rgba(25, 113, 189, 0.1);
  color: #1971bd;
  padding: 6px 10px;
  font-size: 0.78rem;
  font-weight: 900;
}

.weekly-highlight-scores,
.weekly-highlight-detail-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  margin: 12px 0;
}

.weekly-highlight-metric {
  display: grid;
  place-items: center;
  gap: 4px;
  min-width: 0;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 8px;
  background: #fff;
  padding: 10px 8px 8px;
  text-align: center;
}

.weekly-highlight-metric small {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.weekly-highlight-metric strong {
  color: #10231d;
  font-size: 1.38rem;
  line-height: 1.1;
}

.weekly-highlight-metric.is-score-10,
.weekly-highlight-metric.is-score-9 { border-color: #79cba0; background: #eaf8ef; }
.weekly-highlight-metric.is-score-8,
.weekly-highlight-metric.is-score-7 { border-color: #78aefe; background: #edf5ff; }
.weekly-highlight-metric.is-score-6,
.weekly-highlight-metric.is-score-5 { border-color: #e4c24f; background: #fff8dc; }
.weekly-highlight-metric.is-score-4,
.weekly-highlight-metric.is-score-3 { border-color: #f0a15e; background: #fff1e5; }
.weekly-highlight-metric.is-score-2,
.weekly-highlight-metric.is-score-1 { border-color: #ff8a83; background: #fff0ef; }
.weekly-highlight-metric.is-score-0 { border-color: #d7e1dc; background: #f6faf8; }

.weekly-highlight-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.weekly-highlight-editor {
  display: grid;
  gap: 9px;
  margin-top: 11px;
}

.weekly-highlight-editor textarea {
  min-height: 94px;
  resize: vertical;
}

.weekly-highlight-modal-editor {
  border: 1px solid rgba(25, 113, 189, 0.16);
  border-radius: 8px;
  background:
    radial-gradient(circle at 96% 4%, rgba(25, 113, 189, 0.1), transparent 34%),
    #f8fcff;
  padding: 14px;
}

.weekly-highlight-modal-editor label:has([data-weekly-highlight-select]),
.weekly-highlight-modal-editor label:has([data-weekly-highlight-week]) {
  min-width: 0;
}

.weekly-highlight-modal-editor label:has([data-weekly-highlight-select]) {
  grid-column: 1 / 2;
}

.weekly-highlight-modal-editor label:has([data-weekly-highlight-week]) {
  grid-column: 2 / 3;
}

.weekly-highlight-modal-editor label:has([data-weekly-highlight-note]),
.weekly-highlight-modal-editor .button-row {
  grid-column: 1 / -1;
}

@media (min-width: 760px) {
  .weekly-highlight-modal-editor {
    grid-template-columns: minmax(0, 1.25fr) minmax(190px, 0.75fr);
  }
}

.weekly-highlight-manage {
  width: 100%;
  margin-top: 10px;
}

.weekly-highlight-detail {
  display: grid;
  gap: 16px;
}

.weekly-highlight-story {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 16px;
}

.weekly-highlight-story h3 {
  margin-top: 0;
}

.weekly-highlight-story p {
  margin-bottom: 0;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .weekly-highlight-scores,
  .weekly-highlight-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.beta-guide-panel {
  padding: 22px;
}

.beta-guide-lead {
  max-width: 980px;
  margin: 0 0 18px;
  border-left: 5px solid #1971bd;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(25, 113, 189, 0.11), rgba(255, 255, 255, 0.75));
  padding: 16px 18px;
  color: #0d2a23;
  font-size: 1.06rem;
  font-weight: 900;
  line-height: 1.45;
}

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

.beta-guide-grid article,
.beta-guide-copy {
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7faf8);
  padding: 16px;
}

.beta-guide-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.beta-guide-grid strong {
  display: block;
  margin: 7px 0;
  color: var(--brand-dark);
  font-size: 1.08rem;
}

.beta-guide-grid p,
.beta-guide-copy p,
.beta-guide-copy li {
  color: var(--muted);
  font-weight: 650;
  line-height: 1.45;
}

.beta-guide-copy {
  background: #eef8f4;
}

.beta-release-journey {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(47, 111, 163, 0.22);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(248, 252, 255, 0.96), rgba(245, 251, 248, 0.92));
  padding: 16px;
  margin: 14px 0;
}

.beta-status-panel,
.beta-info-card,
.beta-legal-details {
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7faf8);
  padding: 16px;
}

.beta-status-panel {
  margin: 14px 0;
}

.beta-section-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

.beta-section-header h3,
.beta-info-card h3 {
  margin: 0;
  color: #0d2a23;
}

.beta-section-header strong {
  color: var(--brand-dark);
  font-size: 0.95rem;
  text-align: right;
}

.beta-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.beta-roadmap-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 12px;
  margin-bottom: 12px;
}

.beta-roadmap-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.beta-roadmap-toolbar select,
.beta-roadmap-row input,
.beta-roadmap-row select,
.beta-roadmap-row textarea {
  border: 1px solid rgba(17, 31, 24, 0.14);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--text);
  font: inherit;
}

.beta-roadmap-toolbar select {
  min-width: 150px;
  padding: 9px 10px;
  font-weight: 800;
}

.beta-roadmap-status-legend {
  margin: 0 0 12px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 8px 10px;
}

.beta-roadmap-status-legend summary {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--brand-dark);
  font-size: 0.84rem;
  font-weight: 900;
  cursor: pointer;
}

.beta-roadmap-status-legend summary::-webkit-details-marker {
  display: none;
}

.beta-roadmap-status-toggle-icon {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(25, 113, 189, 0.22);
  border-radius: 999px;
  background: rgba(25, 113, 189, 0.08);
}

.beta-roadmap-status-toggle-icon::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid #155d92;
  border-bottom: 2px solid #155d92;
  transform: rotate(-45deg);
  transition: transform 160ms ease;
}

.beta-roadmap-status-legend[open] .beta-roadmap-status-toggle-icon::before {
  transform: rotate(45deg) translate(-1px, -1px);
}

.beta-roadmap-status-legend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.beta-roadmap-status-legend-grid article {
  display: grid;
  gap: 7px;
  align-content: start;
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 9px;
}

.beta-roadmap-status-legend-grid .beta-roadmap-status-pill {
  justify-items: start;
  min-height: 50px;
  padding: 8px 11px;
  text-align: left;
}

.beta-roadmap-status-legend-grid .beta-roadmap-status-pill strong {
  font-size: 0.82rem;
}

.beta-roadmap-status-legend-grid .beta-roadmap-status-pill small {
  font-size: 0.68rem;
}

.beta-roadmap-status-legend-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.35;
}

.beta-roadmap-table {
  display: grid;
  gap: 7px;
}

.beta-roadmap-list {
  display: grid;
  gap: 8px;
}

.beta-roadmap-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.beta-roadmap-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(25, 113, 189, 0.12);
  border-radius: 999px;
  background: rgba(25, 113, 189, 0.06);
  padding: 0 11px;
}

.beta-roadmap-summary strong {
  margin-right: 4px;
  color: #155d92;
  font-weight: 950;
}

.beta-roadmap-empty {
  border: 1px dashed rgba(17, 31, 24, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 16px;
  color: var(--muted);
}

.beta-roadmap-empty strong {
  display: block;
  color: var(--brand-dark);
  margin-bottom: 4px;
}

.beta-roadmap-display-row {
  display: grid;
  grid-template-columns: 56px minmax(0, 1.25fr) 148px minmax(260px, 0.9fr);
  gap: 12px;
  align-items: stretch;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  padding: 11px 12px;
}

.beta-roadmap-display-row.status-done {
  border-color: rgba(37, 177, 112, 0.28);
  background: #f5fbf7;
}

.beta-roadmap-display-row.status-warn {
  border-color: rgba(207, 166, 49, 0.34);
  background: #fffaf0;
}

.beta-roadmap-display-row.status-blocked {
  border-color: rgba(184, 57, 47, 0.24);
  background: #fff7f5;
}

.beta-roadmap-display-row.status-released {
  border-color: rgba(25, 113, 189, 0.26);
  background: #f3f8ff;
}

.beta-roadmap-display-row.status-testable {
  border-color: rgba(37, 177, 112, 0.28);
  background: #f5fbf7;
}

.beta-roadmap-display-row.status-wip {
  border-color: rgba(207, 166, 49, 0.34);
  background: #fffaf0;
}

.beta-roadmap-display-row.status-coming-soon {
  border-color: rgba(217, 130, 43, 0.3);
  background: #fff7ee;
}

.beta-roadmap-display-row.status-planned {
  border-color: rgba(87, 104, 96, 0.18);
  background: #f8faf9;
}

.beta-roadmap-display-row.status-defective {
  border-color: rgba(184, 57, 47, 0.28);
  background: #fff5f4;
}

.beta-roadmap-number {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: rgba(25, 113, 189, 0.08);
  color: var(--brand-dark);
  font-weight: 950;
}

.beta-roadmap-display-main strong {
  display: block;
  color: #0d2a23;
  font-size: 1.02rem;
}

.beta-roadmap-display-main p {
  margin: 3px 0 0;
  color: var(--muted);
  font-weight: 650;
  line-height: 1.35;
}

.beta-roadmap-retest-note {
  border-left: 4px solid rgba(25, 113, 189, 0.38);
  border-radius: 7px;
  background: rgba(25, 113, 189, 0.07);
  padding: 8px 10px;
}

.beta-roadmap-review {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
  padding: 10px;
}

.beta-roadmap-review-state {
  justify-self: start;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 999px;
  background: #f6faf8;
  padding: 5px 9px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
}

.beta-roadmap-review-state.rating-green {
  border-color: rgba(37, 177, 112, 0.3);
  background: #edf9f2;
  color: #0b7f5b;
}

.beta-roadmap-review-state.rating-yellow {
  border-color: rgba(214, 169, 40, 0.34);
  background: #fff8dc;
  color: #956f10;
}

.beta-roadmap-review-state.rating-retest {
  border-color: rgba(25, 113, 189, 0.34);
  background: #edf6ff;
  color: #155d92;
}

.beta-roadmap-review-state.rating-red {
  border-color: rgba(184, 57, 47, 0.28);
  background: #fff0ef;
  color: #a8332a;
}

.beta-roadmap-review-reset {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  opacity: 0.62;
}

.beta-roadmap-review-reset:hover {
  background: rgba(17, 31, 24, 0.08);
  opacity: 1;
}

.beta-roadmap-rating {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.beta-roadmap-rating button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted);
  font: inherit;
  font-size: 0.72rem;
  font-weight: 950;
  cursor: pointer;
}

.beta-roadmap-rating button span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: currentColor;
}

.beta-roadmap-rating .rating-green {
  color: #0b7f5b;
}

.beta-roadmap-rating .rating-yellow {
  color: #b78310;
}

.beta-roadmap-rating .rating-red {
  color: #b5392f;
}

.beta-roadmap-rating button.is-active {
  border-color: currentColor;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 0 0 3px rgba(17, 31, 24, 0.05);
}

.beta-roadmap-rating button:hover {
  transform: translateY(-1px);
}

.beta-roadmap-review textarea {
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 8px;
  background: #ffffff;
  padding: 8px 10px;
  color: var(--text);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.35;
  resize: vertical;
}

.beta-roadmap-review-muted {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.beta-roadmap-status-pill {
  display: grid;
  justify-items: center;
  align-content: center;
  min-height: 64px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: #fff;
  padding: 10px 14px;
  text-align: center;
  color: #0d2a23;
  font-weight: 900;
}

.beta-roadmap-status-pill strong {
  color: inherit;
  font-size: 1.35rem;
  line-height: 1;
}

.beta-roadmap-status-pill small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.beta-roadmap-status-pill.status-done {
  border-color: rgba(37, 177, 112, 0.34);
  background: #f3fbf7;
  color: #0b7f5b;
}

.beta-roadmap-status-pill.status-warn {
  border-color: rgba(207, 166, 49, 0.38);
  background: #fffaf0;
  color: #c79218;
}

.beta-roadmap-status-pill.status-blocked {
  border-color: rgba(184, 57, 47, 0.25);
  background: #fff5f4;
  color: #b5392f;
}

.beta-roadmap-status-pill.status-released {
  border-color: rgba(25, 113, 189, 0.34);
  background: #edf6ff;
  color: #155d92;
}

.beta-roadmap-status-pill.status-testable {
  border-color: rgba(37, 177, 112, 0.34);
  background: #f3fbf7;
  color: #0b7f5b;
}

.beta-roadmap-status-pill.status-wip {
  border-color: rgba(207, 166, 49, 0.38);
  background: #fffaf0;
  color: #a56d00;
}

.beta-roadmap-status-pill.status-coming-soon {
  border-color: rgba(217, 130, 43, 0.34);
  background: #fff4e8;
  color: #925214;
}

.beta-roadmap-status-pill.status-planned {
  border-color: rgba(87, 104, 96, 0.18);
  background: #f5f7f6;
  color: #52645c;
}

.beta-roadmap-status-pill.status-defective {
  border-color: rgba(184, 57, 47, 0.32);
  background: #fff5f4;
  color: #b5392f;
}

.beta-roadmap-head,
.beta-roadmap-row {
  display: grid;
  grid-template-columns: 62px minmax(170px, 0.9fr) 178px minmax(220px, 1fr) minmax(190px, 0.85fr) 88px;
  gap: 10px;
  align-items: center;
}

.beta-roadmap-head {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.beta-roadmap-row {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  padding: 9px;
}

.beta-roadmap-row.status-done {
  border-color: rgba(37, 177, 112, 0.28);
  background: #f5fbf7;
}

.beta-roadmap-row.status-warn {
  border-color: rgba(207, 166, 49, 0.34);
  background: #fffaf0;
}

.beta-roadmap-row.status-blocked {
  border-color: rgba(184, 57, 47, 0.24);
  background: #fff7f5;
}

.beta-roadmap-row.status-released {
  border-color: rgba(25, 113, 189, 0.26);
  background: #f3f8ff;
}

.beta-roadmap-row.status-testable {
  border-color: rgba(37, 177, 112, 0.28);
  background: #f5fbf7;
}

.beta-roadmap-row.status-wip {
  border-color: rgba(207, 166, 49, 0.34);
  background: #fffaf0;
}

.beta-roadmap-row.status-coming-soon {
  border-color: rgba(217, 130, 43, 0.3);
  background: #fff7ee;
}

.beta-roadmap-row.status-planned {
  border-color: rgba(87, 104, 96, 0.18);
  background: #f8faf9;
}

.beta-roadmap-row.status-defective {
  border-color: rgba(184, 57, 47, 0.28);
  background: #fff5f4;
}

.beta-roadmap-row input,
.beta-roadmap-row textarea,
.beta-roadmap-row select {
  width: 100%;
  padding: 9px 10px;
  font-weight: 750;
}

.beta-roadmap-row textarea {
  min-height: 44px;
  resize: vertical;
  line-height: 1.35;
}

.beta-roadmap-status-select {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.beta-roadmap-retest-editor {
  display: grid;
  gap: 7px;
}

.beta-roadmap-retest-editor label {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: var(--brand-dark);
  font-size: 0.78rem;
  font-weight: 900;
}

.beta-roadmap-retest-editor input[type="checkbox"] {
  width: 16px;
  height: 16px;
  padding: 0;
  accent-color: #1971bd;
}

.beta-status-chip {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  min-height: 44px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: #fff;
  padding: 8px 12px;
  color: #0d2a23;
  font-weight: 900;
}

.beta-status-chip::before {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 24px;
  border-radius: 999px;
  background: rgba(17, 31, 24, 0.06);
  font-weight: 950;
}

.beta-status-chip.status-done::before {
  content: "OK";
  color: #0b7f5b;
  font-size: 0.74rem;
}

.beta-status-chip.status-warn::before {
  content: "!";
  color: #c79218;
}

.beta-status-chip.status-blocked::before {
  content: "X";
  color: #b5392f;
}

.beta-status-chip small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-weight: 750;
}

.beta-status-chip.status-done {
  border-color: rgba(37, 177, 112, 0.34);
  background: #f3fbf7;
}

.beta-status-chip.status-warn {
  border-color: rgba(207, 166, 49, 0.38);
  background: #fffaf0;
}

.beta-status-chip.status-blocked {
  border-color: rgba(184, 57, 47, 0.25);
  background: #fff5f4;
}

.beta-task-panel {
  margin: 14px 0;
}

.beta-core-tasks {
  margin: 14px 0;
}

.beta-core-task-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.beta-task-card {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(17, 31, 24, 0.11);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff, #eef8f4);
  padding: 18px;
}

.beta-task-card h3 {
  margin: 3px 0 6px;
  color: #0d2a23;
}

.beta-task-card strong {
  display: block;
  color: var(--brand-dark);
  font-size: 1.04rem;
}

.beta-task-card p {
  margin: 5px 0 0;
  color: var(--muted);
  font-weight: 650;
  line-height: 1.45;
}

.beta-task-card.status-done {
  border-color: rgba(37, 177, 112, 0.34);
  background: linear-gradient(135deg, #ffffff, #f0fbf5);
}

.beta-task-card.status-warn {
  border-color: rgba(207, 166, 49, 0.38);
  background: linear-gradient(135deg, #ffffff, #fffaf0);
}

.beta-task-card.status-blocked {
  border-color: rgba(25, 113, 189, 0.28);
  background: linear-gradient(135deg, #ffffff, #eef6ff);
}

.beta-task-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  align-items: center;
}

.beta-task-state {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border-radius: 999px;
  background: rgba(13, 91, 70, 0.1);
  padding: 0 13px;
  color: var(--brand-dark);
  font-size: 0.82rem;
  font-weight: 950;
}

.beta-design-showcase {
  margin: 14px 0;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff, #eef7ff);
  padding: 18px;
}

.beta-design-intro,
.beta-design-mockup-label,
.beta-design-note {
  max-width: 980px;
  margin: 0 0 10px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.5;
}

.beta-design-intro-punch {
  color: var(--brand-dark);
  font-size: 1.02rem;
  font-weight: 950;
}

.beta-design-mockup-label {
  color: var(--brand-dark);
}

.beta-design-note {
  margin: 12px 0 0;
  font-size: 0.9rem;
}

.beta-design-slider {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
}

.beta-design-nav-button {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 72px;
  border: 1px solid rgba(25, 113, 189, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--brand-dark);
  font-size: 2rem;
  font-weight: 900;
  cursor: pointer;
}

.beta-design-nav-button:hover {
  border-color: rgba(25, 113, 189, 0.42);
  background: #ffffff;
  transform: translateY(-1px);
}

.beta-design-slide {
  display: grid;
  grid-template-columns: minmax(280px, 1.25fr) minmax(260px, 0.75fr);
  gap: 18px;
  align-items: start;
  min-width: 0;
}

.beta-design-preview {
  display: grid;
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 8px;
  background: #ffffff;
}

.beta-design-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.beta-design-placeholder {
  display: grid;
  place-items: center;
  gap: 10px;
  padding: 32px;
  background:
    linear-gradient(120deg, rgba(25, 113, 189, 0.12), rgba(17, 139, 109, 0.12)),
    repeating-linear-gradient(90deg, rgba(13, 91, 70, 0.08) 0 1px, transparent 1px 22px);
  color: var(--brand-dark);
  text-align: center;
}

.beta-design-placeholder span {
  border: 1px solid rgba(13, 91, 70, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  padding: 7px 13px;
  font-size: 0.8rem;
  font-weight: 900;
}

.beta-design-placeholder strong {
  font-size: 2.4rem;
  line-height: 1.05;
}

.beta-design-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 18px;
}

.beta-design-counter {
  align-self: flex-start;
  border-radius: 999px;
  background: rgba(25, 113, 189, 0.12);
  padding: 5px 10px;
  color: #155d92;
  font-size: 0.78rem;
  font-weight: 950;
}

.beta-design-content h4 {
  margin: 6px 0 8px;
  color: var(--brand-dark);
  font-size: 1.42rem;
}

.beta-design-content p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.48;
}

.beta-design-view-button {
  align-self: flex-start;
  margin-top: 16px;
}

.beta-design-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  background: rgba(5, 18, 15, 0.72);
  padding: 28px;
}

.beta-design-lightbox-inner {
  display: grid;
  gap: 12px;
  width: min(94vw, 1280px);
  max-height: 92vh;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  background: #ffffff;
  padding: 14px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
}

.beta-design-lightbox-header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.beta-design-lightbox-header span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.beta-design-lightbox-header strong {
  display: block;
  color: var(--brand-dark);
  font-size: 1.12rem;
}

.beta-design-lightbox img {
  width: 100%;
  max-height: calc(92vh - 92px);
  object-fit: contain;
  border-radius: 6px;
  background: #f4f7f6;
}

.beta-design-feedback {
  display: grid;
  gap: 10px;
  max-width: 760px;
  margin-top: 14px;
}

.beta-design-feedback label {
  display: grid;
  gap: 6px;
  color: var(--brand-dark);
  font-size: 0.82rem;
  font-weight: 900;
}

.beta-design-feedback > strong {
  color: var(--brand-dark);
  font-size: 0.9rem;
}

.beta-design-feedback textarea,
.beta-design-editor-fields input,
.beta-design-editor-fields textarea {
  width: 100%;
  border: 1px solid #d6e2dc;
  border-radius: 8px;
  background: #ffffff;
  padding: 10px 12px;
  color: var(--ink);
  font: inherit;
  font-weight: 650;
}

.beta-design-rating {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}

.beta-design-rating button {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(214, 169, 40, 0.28);
  border-radius: 50%;
  background: #ffffff;
  color: #98a79f;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}

.beta-design-rating button.is-active,
.beta-design-rating button:hover {
  border-color: rgba(214, 169, 40, 0.55);
  background: #fff8dc;
  color: #d6a928;
}

.beta-design-profile-editor {
  margin-top: 18px;
  border-top: 1px solid rgba(17, 31, 24, 0.08);
  padding-top: 16px;
}

.beta-design-editor-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

.beta-design-editor-head h3 {
  margin: 0 0 5px;
  color: var(--brand-dark);
}

.beta-design-editor-list {
  display: grid;
  gap: 10px;
}

.beta-design-editor-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 160px;
  gap: 12px;
  align-items: start;
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f8fbf9);
  padding: 12px;
}

.beta-design-editor-preview {
  display: grid;
  min-height: 92px;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: #eef7f3;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.beta-design-editor-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.beta-design-editor-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.beta-design-editor-fields label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.beta-design-editor-wide {
  grid-column: 1 / -1;
}

.beta-design-editor-actions {
  display: grid;
  gap: 8px;
}

.beta-design-editor-actions small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.35;
}

.beta-design-upload-button {
  position: relative;
  overflow: hidden;
}

.beta-design-upload-button input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.beta-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.beta-info-panel {
  margin: 14px 0;
  border: 1px solid rgba(25, 113, 189, 0.13);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff, #f3f9ff);
  padding: 16px;
}

.beta-info-card ul {
  margin: 10px 0 0 18px;
  padding: 0;
}

.beta-info-card li,
.beta-info-card p {
  color: var(--muted);
  font-weight: 650;
  line-height: 1.45;
}

.beta-info-editor-card {
  display: grid;
  gap: 10px;
}

.beta-info-editor-card label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.beta-info-editor-card input,
.beta-info-editor-card textarea {
  width: 100%;
  border: 1px solid #d6e2dc;
  border-radius: 8px;
  background: #ffffff;
  padding: 9px 11px;
  color: var(--ink);
  font: inherit;
  font-weight: 650;
}

.beta-legal-details {
  margin-top: 14px;
}

.beta-legal-details summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 900;
}

.beta-legal-details .beta-guide-copy {
  margin-top: 12px;
}

.beta-guide-copy p:first-child {
  color: var(--brand-dark);
  font-size: 1.08rem;
  font-weight: 900;
}

.beta-guide-copy ul {
  margin: 8px 0 0 20px;
  padding: 0;
}

.beta-welcome-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(13, 25, 20, 0.54);
  backdrop-filter: blur(7px);
}

.beta-welcome-modal.is-hidden {
  display: none;
}

.beta-welcome-card {
  width: min(760px, 100%);
  border: 1px solid rgba(155, 214, 196, 0.48);
  border-radius: 12px;
  background:
    radial-gradient(circle at top right, rgba(25, 113, 189, 0.12), transparent 36%),
    linear-gradient(180deg, #ffffff, #eef8f4);
  padding: 26px;
  box-shadow: 0 30px 70px rgba(4, 18, 13, 0.28);
}

.beta-welcome-card h2 {
  margin: 2px 0 12px;
  color: #0d2a23;
}

.beta-welcome-copy {
  max-height: min(42vh, 360px);
  overflow: auto;
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 14px 16px;
}

.beta-welcome-copy p,
.beta-welcome-copy li {
  color: var(--muted);
  font-weight: 650;
  line-height: 1.48;
}

.beta-welcome-copy p:first-child {
  color: var(--brand-dark);
  font-weight: 900;
}

.beta-welcome-copy strong {
  color: #0d2a23;
  font-weight: 900;
}

.beta-terms-section + .beta-terms-section {
  margin-top: 18px;
}

.beta-terms-section h3 {
  margin: 0 0 8px;
  color: #003c34;
  font-size: 1.02rem;
  font-weight: 900;
}

.beta-terms-section p {
  margin: 0 0 10px;
}

.beta-terms-section p:last-child {
  margin-bottom: 0;
}

.beta-welcome-checks {
  display: grid;
  gap: 10px;
  margin: 18px 0;
}

.beta-welcome-checks label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 12px;
  color: #21342d;
  font-weight: 800;
}

.beta-welcome-checks input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--brand);
}

.inline-link-button,
.beta-welcome-footer-links button {
  border: 0;
  background: transparent;
  padding: 0;
  color: #176dab;
  font: inherit;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.inline-link-button:hover,
.beta-welcome-footer-links button:hover {
  color: #0d4f80;
}

.beta-welcome-footer-links {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  margin: -4px 0 16px;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 800;
}

.beta-welcome-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.beta-welcome-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
  transform: none;
}

.beta-hub-coachmark {
  position: fixed;
  z-index: 90;
  width: min(320px, calc(100vw - 32px));
  border: 1px solid rgba(25, 113, 189, 0.28);
  border-radius: 8px;
  background: #ffffff;
  padding: 14px;
  box-shadow: 0 22px 44px rgba(7, 26, 21, 0.22);
  color: #18342d;
}

.beta-hub-coachmark::before {
  content: "";
  position: absolute;
  top: -8px;
  left: var(--coachmark-arrow-left, 50%);
  width: 14px;
  height: 14px;
  border-top: 1px solid rgba(25, 113, 189, 0.28);
  border-left: 1px solid rgba(25, 113, 189, 0.28);
  background: #ffffff;
  transform: translateX(-50%) rotate(45deg);
}

.beta-hub-coachmark strong {
  display: block;
  margin-bottom: 6px;
  color: #00483f;
  font-size: 1rem;
  font-weight: 900;
}

.beta-hub-coachmark p {
  margin: 0 0 12px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.38;
}

.beta-hub-coachmark .primary-button {
  background: #1971bd;
  border-color: #1971bd;
  color: #ffffff;
}

.beta-hub-coachmark .primary-button:hover {
  background: #145f9f;
  border-color: #145f9f;
}

.app-shell.has-beta-feedback {
  padding-bottom: 96px;
}

.beta-feedback-widget {
  position: fixed;
  right: max(16px, calc((100vw - 1360px) / 2 + 16px));
  bottom: 12px;
  z-index: 70;
  width: min(720px, calc(100vw - 32px));
  color: #0b3d63;
  pointer-events: none;
}

.beta-feedback-toggle,
.beta-feedback-panel {
  pointer-events: auto;
}

.beta-feedback-toggle {
  display: flex;
  width: max-content;
  max-width: 100%;
  min-height: 38px;
  margin-left: auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(47, 111, 163, 0.34);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(232, 245, 255, 0.94)),
    #f3f9ff;
  color: #0d4f82;
  box-shadow: 0 12px 28px rgba(16, 67, 105, 0.16);
  padding: 7px 14px;
  cursor: pointer;
}

.beta-feedback-toggle span {
  color: rgba(13, 79, 130, 0.78);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.beta-feedback-toggle strong {
  color: #0b3d63;
  font-size: 0.86rem;
  font-weight: 900;
}

.beta-feedback-panel {
  display: none;
  margin: 0 0 8px auto;
  border: 1px solid rgba(47, 111, 163, 0.3);
  border-radius: 10px;
  background:
    radial-gradient(circle at top right, rgba(47, 111, 163, 0.13), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 248, 255, 0.97));
  box-shadow: 0 22px 58px rgba(8, 35, 55, 0.22);
  padding: 14px;
}

.beta-feedback-widget.is-open .beta-feedback-panel {
  display: grid;
  gap: 12px;
}

.beta-feedback-success {
  display: none;
  min-height: 118px;
  place-items: center;
  gap: 6px;
  border: 1px solid rgba(47, 111, 163, 0.2);
  border-radius: 8px;
  background: rgba(232, 245, 255, 0.72);
  color: #0b3d63;
  text-align: center;
}

.beta-feedback-success strong {
  color: #0d4f82;
  font-size: 1rem;
  font-weight: 950;
}

.beta-feedback-success span {
  color: #4e6574;
  font-weight: 850;
}

.beta-feedback-widget.is-success .beta-feedback-success {
  display: grid;
}

.beta-feedback-widget.is-success .beta-feedback-head,
.beta-feedback-widget.is-success .beta-feedback-options,
.beta-feedback-widget.is-success .beta-feedback-field,
.beta-feedback-widget.is-success .beta-feedback-relevance,
.beta-feedback-widget.is-success .beta-feedback-actions {
  display: none;
}

.beta-feedback-head {
  display: grid;
  gap: 4px;
}

.beta-feedback-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.beta-feedback-section-title {
  display: block;
  margin: 0;
  color: #082e4e;
  font-size: 0.9rem;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.15;
}

.beta-feedback-section-hint {
  margin: 0;
  color: rgba(11, 61, 99, 0.68);
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.2;
}

.beta-feedback-options {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 126px;
  gap: 8px;
}

.beta-feedback-options button,
.beta-feedback-relevance button {
  border: 1px solid rgba(47, 111, 163, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: #24485f;
  cursor: pointer;
  min-width: 0;
  text-align: left;
}

.beta-feedback-options button {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 6px;
  height: 126px;
  align-content: start;
  overflow: hidden;
  padding: 10px 9px;
}

.beta-feedback-options button strong {
  display: block;
  color: #0b4f81;
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.beta-feedback-options button span {
  color: #536977;
  font-size: 0.7rem;
  font-weight: 750;
  hyphens: auto;
  line-height: 1.22;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.beta-feedback-options button:hover,
.beta-feedback-options button.is-active,
.beta-feedback-relevance button:hover,
.beta-feedback-relevance button.is-active {
  border-color: rgba(21, 93, 146, 0.52);
  background: rgba(226, 243, 255, 0.92);
  color: #083456;
}

.beta-feedback-field {
  display: grid;
  gap: 8px;
}

.beta-feedback-field textarea {
  min-height: 82px;
  max-height: 170px;
  resize: vertical;
  border: 1px solid rgba(47, 111, 163, 0.24);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  color: #102f44;
  padding: 10px 12px;
  font-weight: 750;
}

.beta-feedback-field textarea:focus,
.beta-feedback-options button:focus-visible,
.beta-feedback-relevance button:focus-visible,
.beta-feedback-toggle:focus-visible {
  outline: 3px solid rgba(47, 111, 163, 0.2);
  outline-offset: 2px;
}

.beta-feedback-relevance {
  display: grid;
  gap: 8px;
}

.beta-feedback-relevance > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  gap: 8px;
}

.beta-feedback-relevance button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 36px;
  padding: 7px 12px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 950;
}

.beta-feedback-status {
  min-height: 22px;
  margin: 0;
  color: #4e6574;
  font-size: 0.82rem;
  font-weight: 850;
}

.beta-feedback-status.is-success {
  color: #0d4f82;
}

.beta-feedback-status.is-error {
  color: #5e536f;
}

.beta-feedback-actions .primary-button {
  min-width: 150px;
  background: #155d92;
  box-shadow: 0 12px 24px rgba(21, 93, 146, 0.18);
}

.beta-feedback-actions .primary-button:hover {
  background: #0d4f82;
}

@media (max-width: 920px) {
  .beta-feedback-widget {
    right: 12px;
    bottom: 10px;
    width: calc(100vw - 24px);
  }

  .beta-feedback-options {
    grid-template-columns: 1fr;
  }

  .beta-feedback-options button {
    height: auto;
    min-height: 82px;
  }

  .beta-feedback-relevance,
  .beta-feedback-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .beta-feedback-relevance > div,
  .beta-feedback-actions .primary-button {
    width: 100%;
  }

  .beta-feedback-relevance button {
    min-width: 0;
  }
}

@media (max-width: 920px) {
  .beta-guide-grid,
  .beta-core-task-grid,
  .beta-info-grid,
  .beta-status-grid {
    grid-template-columns: 1fr;
  }

  .beta-roadmap-toolbar,
  .beta-roadmap-head,
  .beta-roadmap-row,
  .beta-roadmap-display-row {
    grid-template-columns: 1fr;
  }

  .beta-roadmap-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .beta-task-card,
  .beta-task-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .beta-design-slider {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 8px;
  }

  .beta-design-nav-button {
    width: 38px;
    height: 58px;
  }

  .beta-design-slide {
    grid-template-columns: 1fr;
  }

  .beta-design-lightbox {
    padding: 12px;
  }

  .beta-design-lightbox-header {
    align-items: stretch;
    flex-direction: column;
  }

  .beta-design-editor-head,
  .beta-design-editor-card {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .beta-design-editor-fields {
    grid-template-columns: 1fr;
  }

  .persona-start-grid,
  .persona-start-info-grid {
    grid-template-columns: 1fr;
  }

  .beta-welcome-actions {
    flex-direction: column-reverse;
  }
}

.persona-test-panel,
.persona-backoffice-panel {
  padding: 22px;
}

#personaQuestionnaireContent {
  display: grid;
  gap: 18px;
}

.persona-hero-card,
.persona-question-shell,
.persona-result-shell {
  border: 1px solid rgba(25, 113, 189, 0.22);
  border-radius: 12px;
  background:
    radial-gradient(circle at top right, rgba(25, 113, 189, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff, #f4fbff 55%, #eef8f4);
  padding: 24px;
  box-shadow: 0 18px 45px rgba(10, 35, 55, 0.08);
}

.persona-preview-shell {
  grid-column: 1 / -1;
  border: 1px solid rgba(25, 113, 189, 0.2);
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fcff, #eef8f4);
  padding: 16px;
  margin-top: 14px;
}

.persona-preview-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

.persona-preview-head h3 {
  margin: 4px 0;
}

.persona-preview-head p {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.persona-question-shell-preview {
  box-shadow: none;
}

.persona-hero-card h2,
.persona-question-shell h2,
.persona-result-shell h2 {
  margin: 6px 0 12px;
  color: #0d2a23;
}

.persona-hero-card p,
.persona-result-header p {
  max-width: 900px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.5;
}

.persona-start-header {
  max-width: 860px;
}

.persona-start-header h2 {
  font-size: clamp(2rem, 3vw, 3.1rem);
}

.persona-start-lead {
  margin: 0 0 18px;
  font-size: 1.12rem;
}

.persona-start-grid,
.persona-start-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.persona-start-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
}

.persona-start-card {
  border: 1px solid rgba(25, 113, 189, 0.16);
  border-radius: 10px;
  background:
    radial-gradient(circle at top right, rgba(25, 113, 189, 0.08), transparent 38%),
    rgba(255, 255, 255, 0.84);
  padding: 15px;
}

.persona-start-card strong {
  display: block;
  margin: 10px 0 6px;
  color: #0d2a23;
  font-size: 1.02rem;
}

.persona-start-card p {
  margin: 0;
}

.persona-start-icon,
.persona-start-info-icon {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  height: 36px;
  border-radius: 999px;
  background: linear-gradient(135deg, #1971bd, #10a37f);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0;
  box-shadow: 0 8px 20px rgba(25, 113, 189, 0.18);
}

.persona-start-cta-panel {
  width: min(620px, 100%);
  margin: 28px auto;
  border: 1px solid rgba(25, 113, 189, 0.24);
  border-radius: 12px;
  background:
    radial-gradient(circle at top, rgba(25, 113, 189, 0.14), transparent 46%),
    linear-gradient(180deg, #ffffff, #eef6ff);
  padding: 24px;
  text-align: center;
  box-shadow: 0 18px 42px rgba(10, 35, 55, 0.1);
}

.persona-start-cta-panel h3 {
  margin: 10px 0 6px;
  color: #0d2a23;
  font-size: 1.55rem;
}

.persona-start-cta-panel p {
  margin: 0 auto 18px;
}

.persona-start-cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  min-height: 36px;
  border-radius: 999px;
  background: #1971bd;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.persona-start-info-grid .persona-privacy-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  margin: 0;
}

.persona-start-info-grid .persona-privacy-note p {
  margin: 6px 0 0;
}

.persona-privacy-note,
.persona-community-card,
.persona-submit-card,
.persona-feedback-card {
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 10px;
  background:
    radial-gradient(circle at top right, rgba(25, 113, 189, 0.08), transparent 42%),
    rgba(255, 255, 255, 0.86);
  padding: 14px 16px;
  margin: 16px 0;
  color: #0d2a23;
  font-weight: 700;
  line-height: 1.45;
}

.persona-community-card {
  border-color: rgba(17, 31, 24, 0.12);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 251, 255, 0.9));
}

.persona-community-card p {
  margin: 6px 0;
  font-weight: 650;
}

.persona-feedback-card {
  border-style: solid;
  margin-top: 24px;
  position: relative;
}

.persona-feedback-title {
  display: grid;
  grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
  color: rgba(0, 0, 0, 0.86);
  letter-spacing: 0;
}

.persona-feedback-title span {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.22), transparent);
}

.persona-big-action {
  min-height: 54px;
  padding-inline: 24px;
  font-size: 1.02rem;
}

.persona-loading-bar,
.persona-progress {
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(17, 31, 24, 0.1);
  box-shadow: inset 0 1px 2px rgba(17, 31, 24, 0.12);
}

.persona-loading-bar i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1971bd, #0b8f78);
  animation: personaLoading 1.3s ease-in-out infinite;
}

.persona-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1971bd 0%, #1c87c9 52%, #10a37f 100%);
  box-shadow: 0 0 14px rgba(25, 113, 189, 0.28);
}

@keyframes personaLoading {
  0% { transform: translateX(-100%); }
  55% { transform: translateX(0); }
  100% { transform: translateX(100%); }
}

.persona-question-topline,
.persona-result-header,
.persona-answer-head {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.persona-question-topline span,
.persona-answer-head span {
  color: rgba(0, 0, 0, 0.8);
  font-weight: 500;
  text-transform: uppercase;
}

.persona-result-header small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-weight: 800;
}

.persona-question-card {
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 248, 244, 0.94)),
    radial-gradient(circle at top right, rgba(16, 163, 127, 0.1), transparent 42%);
  padding: 18px 20px;
  margin-top: 18px;
  box-shadow: 0 14px 32px rgba(10, 35, 55, 0.08);
}

.persona-question-card h2 {
  margin: 0;
  font-size: clamp(1.35rem, 1.8vw, 1.9rem);
  line-height: 1.22;
}

.persona-answer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0 12px;
}

.persona-answer-button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 88px;
  border: 1px solid rgba(25, 113, 189, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 251, 255, 0.88)),
    radial-gradient(circle at top left, rgba(16, 163, 127, 0.08), transparent 42%);
  color: #0d2a23;
  text-align: left;
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.persona-answer-button strong {
  font-weight: 650;
  line-height: 1.35;
}

.persona-answer-button:hover,
.persona-answer-button.is-selected,
.persona-feedback-options button:hover,
.persona-feedback-options button.is-selected {
  border-color: #1971bd;
  box-shadow: 0 10px 28px rgba(25, 113, 189, 0.18);
  transform: translateY(-1px);
}

.persona-answer-button.is-selected {
  background:
    linear-gradient(135deg, rgba(236, 247, 255, 0.98), rgba(232, 252, 244, 0.94)),
    radial-gradient(circle at top left, rgba(25, 113, 189, 0.2), transparent 46%);
  outline: 2px solid rgba(25, 113, 189, 0.18);
}

.persona-answer-button span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 7px;
  background: linear-gradient(135deg, #0b5c80, #10a37f);
  color: #fff;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(10, 65, 88, 0.18);
}

.persona-skip-button.is-selected,
.persona-submit-card .is-selected {
  border-color: rgba(0, 0, 0, 0.28);
  color: rgba(0, 0, 0, 0.8);
  background: #ededed;
}

.persona-skip-button {
  display: block;
  width: min(520px, 100%);
  margin: 16px auto 0;
  color: rgba(0, 0, 0, 0.8);
  text-align: center;
  font-weight: 500;
}

.persona-feedback-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 10px 0;
}

.persona-feedback-options button {
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 7px;
  background: #fff;
  min-width: 150px;
  padding: 10px 14px;
  color: rgba(0, 0, 0, 0.8);
  font-weight: 500;
  cursor: pointer;
  text-align: center;
}

.persona-feedback-options button.is-selected {
  outline: 2px solid rgba(17, 31, 24, 0.08);
}

.persona-feedback-options button.feedback-difficult.is-selected {
  border-color: #f28b82;
  background: #fdecea;
  color: #8b1f17;
}

.persona-feedback-options button.feedback-fits.is-selected {
  border-color: #d6a928;
  background: #fff6d8;
  color: #7a5600;
}

.persona-feedback-options button.feedback-strong.is-selected {
  border-color: #75d09a;
  background: #e9f8ef;
  color: #08663a;
}

.persona-feedback-card textarea,
.persona-feedback-card select,
.persona-submit-card input {
  width: 100%;
  margin-top: 8px;
}

.persona-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.persona-result-grid.single {
  grid-template-columns: minmax(0, 1fr);
}

.persona-result-grid section,
.persona-admin-sessions {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.persona-result-reveal-panel,
.persona-result-reveal-placeholder {
  border: 1px solid rgba(25, 113, 189, 0.16);
  border-radius: 10px;
  background:
    radial-gradient(circle at top right, rgba(16, 163, 127, 0.08), transparent 32%),
    linear-gradient(135deg, #fff, #f6fbff);
  margin: 14px 0;
  padding: 14px;
}

.persona-result-reveal-panel span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.persona-result-reveal-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.persona-result-lens-button {
  min-height: 72px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--brand-dark);
  padding: 12px 14px;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}

.persona-result-lens-button span {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.persona-result-lens-button strong {
  display: block;
  margin-top: 6px;
  color: var(--brand-dark);
  font-size: 0.98rem;
  line-height: 1.18;
}

.persona-result-lens-button.is-active {
  border-color: rgba(16, 163, 127, 0.28);
  background: linear-gradient(135deg, rgba(235, 249, 243, 0.94), rgba(255, 255, 255, 0.95));
  box-shadow: 0 12px 26px rgba(16, 128, 99, 0.12);
}

.persona-result-lens-button.is-current {
  border-color: rgba(25, 113, 189, 0.34);
}

.persona-result-lens-button:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

.persona-result-reveal-placeholder strong {
  display: block;
  color: var(--brand-dark);
  font-size: 1.02rem;
}

.persona-result-reveal-placeholder p {
  margin: 4px 0 0;
  color: var(--muted);
  font-weight: 650;
}

.persona-score-intro {
  border: 1px solid rgba(25, 113, 189, 0.16);
  border-radius: 8px;
  padding: 12px;
  margin: 10px 0 14px;
  background: linear-gradient(135deg, rgba(238, 247, 255, 0.92), rgba(255, 255, 255, 0.96));
}

.persona-score-intro.why {
  border-color: rgba(16, 163, 127, 0.2);
  background: linear-gradient(135deg, rgba(235, 249, 243, 0.94), rgba(255, 255, 255, 0.96));
}

.persona-score-intro strong {
  display: block;
  color: #0d2a23;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
}

.persona-score-intro p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.4;
}

.persona-score-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(96px, auto);
  gap: 8px;
  align-items: start;
  margin: 12px 0 16px;
  opacity: 0;
  transform: translateY(10px);
  animation: personaScoreReveal 1840ms ease forwards;
  animation-delay: var(--reveal-delay, 0ms);
}

.persona-score-row.is-static,
.persona-score-row.is-static strong {
  animation: none;
  opacity: 1;
  transform: none;
}

.persona-score-row.is-static .persona-score-track i {
  animation: none;
  transform: scaleX(1);
}

.persona-score-row span {
  display: block;
  color: #0d2a23;
  font-weight: 900;
}

.persona-score-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.35;
}

.persona-score-row strong {
  text-align: right;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(4px);
  animation: personaScoreValueReveal 1120ms ease forwards;
  animation-delay: var(--value-delay, 560ms);
}

.persona-score-row em {
  grid-column: 2;
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.persona-score-track {
  grid-column: 1 / -1;
  height: 7px;
  border-radius: 999px;
  background: rgba(17, 31, 24, 0.08);
  overflow: hidden;
}

.persona-score-track i {
  display: block;
  width: var(--score-width, 0%);
  height: 100%;
  border-radius: inherit;
  transform: scaleX(0);
  transform-origin: left center;
  animation: personaScoreBarBuild 3300ms cubic-bezier(0.18, 0.82, 0.24, 1) forwards;
  animation-delay: calc(var(--reveal-delay, 0ms) + 720ms);
}

.persona-score-track .top { background: #1971bd; }
.persona-score-track .high { background: #10a37f; }
.persona-score-track .mid { background: #d6a928; }
.persona-score-track .low { background: #e58a2a; }
.persona-score-track .weak { background: #b5392f; }
.persona-score-track .neutral { background: #8aa097; }

@keyframes personaScoreReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes personaScoreValueReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes personaScoreBarBuild {
  to { transform: scaleX(1); }
}

.persona-analysis-card {
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 10px;
  background:
    radial-gradient(circle at top right, rgba(25, 113, 189, 0.08), transparent 34%),
    linear-gradient(135deg, #fff, #f7fbf9);
  padding: 16px;
  margin-top: 14px;
}

.persona-analysis-card.is-complete {
  border-color: rgba(16, 163, 127, 0.24);
}

.persona-analysis-card.is-error {
  border-color: rgba(181, 57, 47, 0.24);
  background: linear-gradient(135deg, #fff7f5, #fff);
}

.persona-analysis-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.persona-analysis-head strong {
  display: block;
  color: #0d2a23;
  font-size: 1.05rem;
}

.persona-analysis-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-weight: 650;
  line-height: 1.4;
}

.persona-analysis-head span {
  flex: 0 0 auto;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 999px;
  padding: 6px 10px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
  font-size: 0.78rem;
}

.persona-analysis-progress {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(17, 31, 24, 0.08);
  margin: 10px 0 14px;
}

.persona-analysis-progress i {
  display: block;
  width: 74%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1971bd, #10a37f);
  animation: personaAnalysisProgress 2.8s ease-in-out infinite;
}

@keyframes personaAnalysisProgress {
  0% { width: 18%; }
  50% { width: 84%; }
  100% { width: 96%; }
}

.persona-analysis-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.persona-analysis-steps div {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  min-height: 78px;
}

.persona-analysis-steps div.is-active {
  border-color: rgba(25, 113, 189, 0.38);
  background: #eef7ff;
}

.persona-analysis-steps span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(25, 113, 189, 0.12);
  color: #1971bd;
  font-weight: 900;
  font-size: 0.78rem;
  margin-bottom: 7px;
}

.persona-analysis-steps strong {
  display: block;
  color: #0d2a23;
  font-size: 0.84rem;
  line-height: 1.3;
}

.persona-analysis-output {
  display: grid;
  gap: 18px;
}

.persona-analysis-lens {
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  padding: 14px;
}

.persona-analysis-lens.is-featured {
  border-color: rgba(25, 113, 189, 0.18);
  background:
    radial-gradient(circle at top right, rgba(25, 113, 189, 0.08), transparent 32%),
    rgba(255, 255, 255, 0.9);
}

.persona-analysis-lens.is-calm {
  background: rgba(249, 252, 250, 0.92);
}

.persona-analysis-section-head {
  margin-bottom: 12px;
}

.persona-analysis-section-head h4 {
  margin: 0;
  color: #0d2a23;
  font-size: 1rem;
}

.persona-analysis-section-head p,
.persona-analysis-empty,
.persona-analysis-note {
  margin: 5px 0 0;
  color: var(--muted);
  font-weight: 650;
  line-height: 1.45;
}

.persona-insight-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.persona-insight-grid.is-featured {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.persona-insight-card {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
  min-height: 150px;
  box-shadow: 0 8px 22px rgba(17, 31, 24, 0.04);
}

.persona-insight-card.is-combo {
  border-color: rgba(25, 113, 189, 0.22);
  background: linear-gradient(135deg, #f4f9ff, #fff);
}

.persona-insight-card h5 {
  margin: 0 0 8px;
  color: #0d2a23;
  font-size: 0.95rem;
  line-height: 1.25;
}

.persona-insight-card p {
  margin: 0;
  color: #394941;
  font-weight: 650;
  line-height: 1.45;
}

.persona-insight-card small {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
}

.persona-combo-chips,
.persona-combo-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 9px;
  align-items: center;
}

.persona-identity-card {
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 14px;
  background:
    radial-gradient(circle at 18% 18%, rgba(25, 113, 189, 0.13), transparent 34%),
    radial-gradient(circle at 82% 0%, rgba(16, 163, 127, 0.12), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 248, 255, 0.88));
  box-shadow: 0 18px 44px rgba(17, 31, 24, 0.09);
  margin: 16px 0;
  min-height: 280px;
  padding: 26px;
}

.persona-identity-card.is-empty {
  background: #fff;
  border-color: rgba(17, 31, 24, 0.1);
  box-shadow: none;
}

.persona-identity-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 18px;
  opacity: 0;
  transform: translateY(14px);
  animation: personaIdentityStageReveal 900ms ease forwards;
  animation-delay: var(--identity-delay, 0ms);
}

.persona-identity-main {
  display: contents;
}

.persona-identity-icon,
.persona-identity-wheel {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1px solid rgba(25, 113, 189, 0.26);
  background: #eef7ff;
  color: #1971bd;
  font-weight: 950;
}

.persona-identity-wheel {
  position: relative;
  grid-column: 1 / -1;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  justify-items: stretch;
  width: 100%;
  height: 152px;
  overflow: hidden;
  padding: 22px;
  border-color: rgba(25, 113, 189, 0.2);
  border-radius: 20px;
  background:
    linear-gradient(90deg, rgba(238, 247, 255, 0.98), rgba(255, 255, 255, 0.92)),
    radial-gradient(circle at 20% 50%, rgba(16, 163, 127, 0.16), transparent 42%);
  box-shadow: 0 18px 38px rgba(25, 113, 189, 0.16);
}

.persona-identity-result-content {
  grid-column: 1;
}

.persona-wheel-orbit {
  display: grid;
  place-items: center;
  justify-self: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background:
    radial-gradient(circle, #ffffff 0 38%, transparent 40%),
    conic-gradient(from 0deg, #1971bd, #10a37f, #d6a928, #1971bd);
  box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.72);
  animation: personaWheelDiscSpin 8200ms cubic-bezier(0.08, 0.72, 0.12, 1) both;
  animation-delay: calc(var(--identity-delay, 0ms) + 220ms);
  will-change: transform;
}

.persona-wheel-orbit i {
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #0b6f5a;
  box-shadow: 0 0 0 4px rgba(16, 163, 127, 0.14);
  transform: translateY(-25px);
}

.persona-wheel-window {
  position: relative;
  justify-self: stretch;
  width: 100%;
  height: 46px;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 1px rgba(17, 31, 24, 0.08);
}

.persona-wheel-window::before,
.persona-wheel-window::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 9px;
  z-index: 2;
  pointer-events: none;
}

.persona-wheel-window::before {
  top: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), transparent);
}

.persona-wheel-window::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.96), transparent);
}

.persona-wheel-reel {
  animation: personaWheelReel 8200ms cubic-bezier(0.08, 0.72, 0.12, 1) both;
  animation-delay: calc(var(--identity-delay, 0ms) + 220ms);
  will-change: transform;
}

.persona-identity-stage .persona-identity-result-content,
.persona-identity-stage > .persona-identity-metrics,
.persona-identity-stage > .persona-identity-keys,
.persona-identity-stage .persona-identity-alternatives-stage {
  opacity: 0;
  transform: translateY(10px);
  animation: personaIdentityResultReveal 740ms ease forwards;
}

.persona-identity-stage .persona-identity-result-content {
  animation-delay: calc(var(--identity-delay, 0ms) + 8700ms);
}

.persona-identity-stage > .persona-identity-metrics,
.persona-identity-stage > .persona-identity-keys {
  animation-delay: calc(var(--identity-delay, 0ms) + 9250ms);
}

.persona-identity-stage .persona-identity-alternatives-stage {
  animation-delay: calc(var(--identity-delay, 0ms) + 10000ms);
}

.persona-identity-card span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.persona-identity-wheel span {
  display: flex;
  align-items: center;
  height: 46px;
  padding: 0 14px;
  color: #0b5f94;
  font-size: 0.98rem;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

.persona-identity-wheel span.is-final {
  color: var(--brand-dark);
  font-weight: 950;
}

.persona-identity-card h3 {
  margin: 4px 0 8px;
  color: var(--brand-dark);
  font-size: clamp(1.2rem, 1.7vw, 1.48rem);
  line-height: 1.12;
}

.persona-identity-name {
  display: block;
  margin: 0 0 10px;
  color: var(--brand-dark);
  font-size: clamp(1.72rem, 2.7vw, 2.45rem);
  line-height: 1.08;
}

.persona-identity-card p {
  margin: 0;
  color: #394941;
  font-weight: 650;
  font-size: 1.02rem;
  line-height: 1.48;
}

.persona-identity-metrics {
  display: grid;
  grid-template-columns: minmax(190px, 280px);
  gap: 10px;
  grid-column: 2;
  grid-row: 2 / span 2;
  align-self: start;
  justify-items: center;
  margin-top: 0;
}

.persona-identity-metrics > div {
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  padding: 14px;
}

.persona-identity-metrics strong {
  display: block;
  margin: 2px 0;
  color: var(--brand-dark);
  font-size: 1.8rem;
}

.persona-identity-metrics small {
  display: block;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.35;
}

.persona-fit-gauge {
  --persona-fit-color: #10a37f;
  position: relative;
  display: grid;
  place-items: center;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 50%;
  background:
    radial-gradient(circle, #ffffff 0 46%, rgba(255, 255, 255, 0.72) 47% 100%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 247, 255, 0.82));
  box-shadow: 0 16px 34px rgba(17, 31, 24, 0.08);
}

.persona-fit-gauge.fit-red { --persona-fit-color: #b5392f; }
.persona-fit-gauge.fit-orange { --persona-fit-color: #e58a2a; }
.persona-fit-gauge.fit-yellow { --persona-fit-color: #d6a928; }
.persona-fit-gauge.fit-green { --persona-fit-color: #10a37f; }
.persona-fit-gauge.fit-blue { --persona-fit-color: #1971bd; }

.persona-fit-gauge svg {
  width: 190px;
  height: 190px;
  transform: rotate(-90deg);
}

.persona-fit-ring-bg,
.persona-fit-ring-value {
  fill: none;
  stroke-width: 13;
}

.persona-fit-ring-bg {
  stroke: rgba(17, 31, 24, 0.1);
}

.persona-fit-ring-value {
  stroke: var(--persona-fit-color);
  stroke-linecap: round;
  stroke-dasharray: 314;
  stroke-dashoffset: 314;
  animation: personaFitRingBuild 1900ms cubic-bezier(0.18, 0.82, 0.24, 1) forwards;
  animation-delay: calc(var(--identity-delay, 0ms) + 9300ms);
}

.persona-fit-gauge-value {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
}

.persona-fit-gauge-value strong {
  color: var(--persona-fit-color);
  font-size: 2.1rem;
  line-height: 1;
}

.persona-fit-gauge-value span {
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.persona-identity-keys,
.persona-identity-alternatives {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.persona-identity-stage > .persona-identity-keys {
  grid-column: 1;
  align-self: start;
  align-items: center;
  margin-top: 0;
}

.persona-identity-result-content .persona-identity-keys {
  margin: 8px 0 14px;
}

.persona-identity-alternatives {
  display: block;
  grid-column: 1 / -1;
}

.persona-identity-keys span,
.persona-identity-alternatives .persona-identity-keys span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid rgba(16, 163, 127, 0.22);
  border-radius: 999px;
  background: rgba(235, 249, 243, 0.9);
  color: #0b6f5a;
  padding: 5px 9px;
  line-height: 1;
  text-transform: none;
}

.persona-identity-alternatives > strong {
  display: block;
  flex-basis: 100%;
  color: var(--brand-dark);
  font-size: 0.84rem;
  margin-bottom: 9px;
}

.persona-identity-alternative-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.persona-identity-alternative-item {
  border: 1px solid rgba(17, 31, 24, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 12px;
}

.persona-identity-alternative-item > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.persona-identity-title-block {
  min-width: 0;
}

.persona-identity-title-block .persona-identity-keys {
  margin: 8px 0 0;
}

.persona-identity-alternative-item h4 {
  margin: 0;
  color: var(--brand-dark);
  font-size: 0.98rem;
}

.persona-identity-alternative-item > div:first-child strong {
  color: #0b6f5a;
  font-size: 0.88rem;
  white-space: nowrap;
}

.persona-identity-alternative-metrics {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 236px;
}

.persona-fit-gauge.is-compact {
  width: 110px;
  height: 110px;
  box-shadow: 0 9px 18px rgba(17, 31, 24, 0.07);
}

.persona-fit-gauge.is-compact svg {
  width: 96px;
  height: 96px;
}

.persona-fit-gauge.is-compact .persona-fit-ring-bg,
.persona-fit-gauge.is-compact .persona-fit-ring-value {
  stroke-width: 11;
}

.persona-fit-gauge.is-compact .persona-fit-gauge-value strong {
  font-size: 1.12rem;
}

.persona-fit-gauge.is-compact .persona-fit-gauge-value span {
  margin-top: 4px;
  font-size: 0.54rem;
  letter-spacing: 0;
}

.persona-tribe-selection-panel .persona-answer-grid {
  margin: 10px 0 0;
}

.persona-tribe-selection-panel .persona-answer-button {
  min-height: 68px;
}

.persona-tribe-selection-panel .persona-answer-button span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  background: linear-gradient(135deg, #0b5c80, #10a37f);
  color: #fff;
  padding: 0;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(10, 65, 88, 0.18);
}

.persona-selected-tribe-profile {
  margin-top: 14px;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(238, 247, 255, 0.74)),
    radial-gradient(circle at top right, rgba(16, 163, 127, 0.08), transparent 45%);
  padding: 13px 14px;
}

.persona-selected-tribe-profile label {
  display: grid;
  grid-template-columns: minmax(180px, auto) minmax(240px, 1fr);
  gap: 10px;
  align-items: center;
  color: var(--brand-dark);
  font-weight: 900;
}

.persona-selected-tribe-profile select {
  width: 100%;
  border: 1px solid rgba(17, 31, 24, 0.16);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
  color: #10251f;
  font-weight: 800;
}

.persona-selected-tribe-profile p {
  margin-top: 9px;
  color: #3c4f47;
  font-size: 0.94rem;
  line-height: 1.42;
}

.persona-identity-alternative-item p {
  margin-top: 7px;
}

.persona-identity-alternative-item .persona-identity-keys {
  margin-top: 10px;
}

@keyframes personaIdentityStageReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes personaWheelDiscSpin {
  0% {
    transform: rotate(-3240deg) scale(0.86);
    opacity: 0;
  }
  8% { opacity: 1; }
  100% { transform: rotate(0deg) scale(1); opacity: 1; }
}

@keyframes personaWheelReel {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  8% { opacity: 1; }
  100% { transform: translateY(var(--wheel-final-translate, -136px)); opacity: 1; }
}

@keyframes personaIdentityResultReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes personaFitRingBuild {
  to {
    stroke-dashoffset: var(--persona-fit-offset, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .persona-score-row,
  .persona-score-row strong,
  .persona-score-track i,
  .persona-identity-stage,
  .persona-wheel-orbit,
  .persona-wheel-reel,
  .persona-fit-ring-value,
  .persona-identity-stage .persona-identity-result-content,
  .persona-identity-stage > .persona-identity-metrics,
  .persona-identity-stage > .persona-identity-keys,
  .persona-identity-stage .persona-identity-alternatives-stage {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .persona-wheel-reel {
    transform: translateY(var(--wheel-final-translate, -136px));
  }

  .persona-fit-ring-value {
    stroke-dashoffset: var(--persona-fit-offset, 0);
  }
}

.persona-part-cta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(16, 163, 127, 0.22);
  border-radius: 10px;
  background:
    radial-gradient(circle at top right, rgba(16, 163, 127, 0.1), transparent 34%),
    linear-gradient(135deg, #ffffff, #f1fbf7);
  margin: 14px 0;
  padding: 16px;
}

.persona-part-cta span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.persona-part-cta strong {
  display: block;
  margin-top: 3px;
  color: var(--brand-dark);
  font-size: 1.08rem;
}

.persona-part-cta p {
  margin: 5px 0 0;
  color: #394941;
  font-weight: 650;
  line-height: 1.4;
}

.persona-part-cta button {
  flex: 0 0 auto;
}

.persona-combo-chips span,
.persona-combo-line span {
  border: 1px solid rgba(25, 113, 189, 0.22);
  border-radius: 999px;
  background: #eef7ff;
  color: #155d9b;
  padding: 4px 8px;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.persona-combo-line i {
  color: #5f6f67;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 900;
}

.persona-combo-line span.is-derived {
  border-color: rgba(17, 31, 24, 0.13);
  background: #f7faf8;
  color: #42524a;
}

.persona-combo-line span small {
  margin-left: 5px;
  color: #6c7a72;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0;
}

.persona-evidence-details {
  margin-top: 10px;
  border-top: 1px solid rgba(17, 31, 24, 0.08);
  padding-top: 8px;
}

.persona-evidence-details summary {
  color: #0b4d3f;
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

.persona-evidence-details p {
  margin: 9px 0 0;
  color: #394941;
}

.persona-evidence-details p strong,
.persona-evidence-details p span,
.persona-evidence-details p small {
  display: block;
}

.persona-evidence-details p strong {
  color: #6c7a72;
  font-size: 0.72rem;
}

.persona-evidence-details p span {
  margin-top: 2px;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.35;
}

.persona-evidence-details p small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1.35;
}

.persona-analysis-note {
  border-top: 1px solid rgba(17, 31, 24, 0.08);
  padding-top: 10px;
  margin-top: 12px;
}

.persona-final-feedback-card {
  background:
    radial-gradient(circle at top left, rgba(25, 113, 189, 0.08), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(241, 248, 244, 0.92));
}

.persona-final-section {
  border-top: 1px solid rgba(17, 31, 24, 0.1);
  padding-top: 14px;
  margin-top: 14px;
}

.persona-final-section h3 {
  margin: 0 0 6px;
  font-size: 1.02rem;
}

.persona-final-section p {
  margin: 0 0 10px;
  color: var(--muted);
  font-weight: 650;
}

.persona-final-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.persona-final-choice-grid.five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.persona-final-choice-grid button {
  min-height: 82px;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 8px;
  background: #fff;
  color: #0d2a23;
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease, background 140ms ease;
}

.persona-final-choice-grid button:hover,
.persona-final-choice-grid button.is-selected {
  border-color: #1971bd;
  background: linear-gradient(135deg, #eef7ff, #f6fbff);
  box-shadow: 0 10px 26px rgba(25, 113, 189, 0.16);
  transform: translateY(-1px);
}

.persona-final-choice-grid button strong,
.persona-final-choice-grid button span {
  display: block;
}

.persona-final-choice-grid button strong {
  font-size: 1.05rem;
}

.persona-final-choice-grid button span {
  margin-top: 4px;
  color: var(--muted);
  font-weight: 700;
}

.persona-submit-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 520px);
  gap: 16px;
  align-items: center;
}

.persona-session-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.persona-session-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  padding: 10px;
  background: #f8fbf9;
}

.persona-session-row small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.persona-session-debug {
  flex: 1 0 100%;
  border-top: 1px solid rgba(17, 31, 24, 0.08);
  padding-top: 8px;
}

.persona-session-debug summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 900;
}

.persona-session-debug-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.persona-session-debug-grid div {
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 7px;
  background: #fff;
  padding: 8px;
}

.persona-session-debug-grid span,
.persona-session-debug-grid small,
.persona-match-debug p {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 750;
}

.persona-session-debug-grid strong,
.persona-match-debug > strong {
  display: block;
  color: var(--brand-dark);
  font-weight: 950;
}

.persona-match-debug {
  margin-top: 12px;
  overflow-x: auto;
}

.persona-admin-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 16px;
}

.persona-admin-list,
.persona-admin-editor {
  min-width: 0;
}

.persona-admin-question {
  display: block;
  width: 100%;
  margin-top: 8px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  text-align: left;
  cursor: pointer;
}

.persona-admin-question.is-active {
  border-color: #1971bd;
  background: linear-gradient(135deg, #eef7ff, #f8fcff);
  box-shadow: inset 4px 0 0 #1971bd, 0 10px 24px rgba(25, 113, 189, 0.12);
}

.persona-admin-question.is-reviewed-ok {
  border-color: rgba(16, 163, 127, 0.45);
  background: linear-gradient(135deg, #eefaf4, #ffffff);
}

.persona-admin-question.is-reviewed-issue {
  border-color: rgba(181, 57, 47, 0.42);
  background: linear-gradient(135deg, #fff0ed, #ffffff);
}

.persona-admin-question.is-active.is-reviewed-ok {
  box-shadow: inset 4px 0 0 #10a37f, 0 10px 24px rgba(16, 163, 127, 0.12);
}

.persona-admin-question.is-active.is-reviewed-issue {
  box-shadow: inset 4px 0 0 #b5392f, 0 10px 24px rgba(181, 57, 47, 0.12);
}

.persona-admin-question span,
.persona-admin-question small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.persona-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 8px;
}

.persona-filter-row button {
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 999px;
  background: #fff;
  padding: 8px 10px;
  color: var(--muted);
  font-weight: 900;
  cursor: pointer;
}

.persona-filter-row button.is-active {
  border-color: #10a37f;
  background: #eefaf4;
  color: var(--brand-dark);
}

.persona-admin-grid,
.persona-admin-answers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.persona-admin-grid .wide-field,
.persona-admin-answer {
  grid-column: 1 / -1;
}

.persona-admin-answer {
  border: 1px solid rgba(17, 31, 24, 0.11);
  border-radius: 10px;
  background: linear-gradient(180deg, #fff, #f7faf8);
  padding: 14px;
}

.persona-score-editor {
  display: grid;
  grid-template-columns: repeat(7, minmax(82px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.persona-score-editor label {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  padding: 8px;
  background: #fff;
}

.persona-score-editor label.has-score {
  border-color: rgba(25, 113, 189, 0.32);
  background: #eef7ff;
}

.persona-score-editor span {
  display: block;
  min-height: 28px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
}

.persona-audit-panel {
  grid-column: 1 / -1;
  margin-bottom: 16px;
  border: 1px solid rgba(25, 113, 189, 0.16);
  border-radius: 12px;
  background:
    radial-gradient(circle at 8% 0%, rgba(25, 113, 189, 0.1), transparent 30%),
    linear-gradient(180deg, #fbfefe 0%, #f2faf7 100%);
  padding: 16px;
}

.persona-feedback-review-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  border: 1px solid rgba(14, 128, 101, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 12% 0%, rgba(14, 128, 101, 0.1), transparent 32%),
    linear-gradient(180deg, #fbfffd 0%, #f3faf7 100%);
  padding: 16px;
}

.persona-feedback-review-panel .persona-audit-header,
.persona-feedback-review-controls,
.persona-feedback-review-summary,
.persona-feedback-review-row header,
.persona-feedback-review-metrics {
  display: grid;
  gap: 10px;
}

.persona-feedback-review-panel .persona-audit-header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.persona-feedback-review-controls {
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 0.5fr) auto;
  align-items: end;
}

.persona-feedback-review-summary,
.persona-feedback-review-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.persona-feedback-review-summary div,
.persona-feedback-review-metrics div {
  border: 1px solid rgba(14, 128, 101, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  padding: 10px;
}

.persona-feedback-review-summary span,
.persona-feedback-review-metrics span,
.persona-feedback-review-metrics small {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
}

.persona-feedback-review-summary strong,
.persona-feedback-review-metrics strong {
  color: var(--atlas-green);
}

.persona-feedback-review-list {
  display: grid;
  gap: 10px;
}

.persona-feedback-review-row {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(190, 207, 199, 0.64);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  padding: 12px;
}

.persona-feedback-review-row.has-version-warning {
  border-color: rgba(218, 166, 35, 0.5);
  background: #fffaf0;
}

.persona-feedback-review-row header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.persona-feedback-review-row p {
  margin: 4px 0;
  color: var(--text);
  font-weight: 800;
}

.persona-feedback-review-comments {
  border-top: 1px solid rgba(190, 207, 199, 0.52);
  padding-top: 8px;
}

.persona-feedback-review-comments blockquote {
  margin: 8px 0 0;
  border-left: 3px solid rgba(14, 128, 101, 0.35);
  padding-left: 10px;
}

.persona-feedback-review-comments blockquote span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
}

.persona-audit-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.persona-audit-head h3 {
  margin: 2px 0 4px;
}

.persona-audit-head p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.persona-audit-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.persona-audit-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px;
}

.persona-audit-mode-row button {
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  font-weight: 900;
  padding: 7px 11px;
}

.persona-audit-mode-row button.is-active {
  border-color: #1971bd;
  background: #eef7ff;
  color: #0f5f9f;
}

.persona-audit-mode-row.is-compact {
  margin: 8px 12px 0;
}

.persona-audit-tool {
  padding: 0 12px 12px;
}

.persona-audit-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(160px, 0.3fr);
  gap: 10px;
  margin: 2px 0 12px;
}

.persona-audit-toolbar.is-pair {
  grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
  align-items: end;
}

.persona-audit-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
}

.persona-audit-pair-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  color: var(--brand-dark);
  font-size: 1.2rem;
  font-weight: 900;
}

.persona-audit-cards.is-dense {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin-bottom: 12px;
}

.persona-audit-table-wrap {
  overflow-x: auto;
}

.persona-audit-cards div {
  border: 1px solid rgba(0, 83, 69, 0.13);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
  padding: 11px;
}

.persona-audit-cards span,
.persona-audit-cards small {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
}

.persona-audit-cards strong {
  display: block;
  margin: 2px 0;
  color: var(--brand-dark);
  font-size: 1.35rem;
}

.future-persona-flag-pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin: 2px 4px 2px 0;
  border: 1px solid rgba(178, 98, 22, 0.28);
  border-radius: 999px;
  background: #fff8ec;
  color: #8a4b00;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 2px 8px;
}

.future-persona-flag-pill.is-ok {
  border-color: rgba(15, 122, 99, 0.24);
  background: #eefaf5;
  color: #0a6652;
}

.persona-audit-details {
  border: 1px solid rgba(0, 83, 69, 0.12);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.72);
  margin-top: 8px;
  overflow: hidden;
}

.persona-audit-details summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 900;
  padding: 10px 12px;
}

.persona-audit-details > p {
  margin: 0;
  padding: 0 12px 10px;
  color: var(--muted);
  font-weight: 700;
}

.persona-audit-subhead {
  margin: 4px 12px 8px;
  color: var(--brand-dark);
}

.persona-audit-table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(255, 255, 255, 0.8);
}

.persona-audit-table th,
.persona-audit-table td {
  border-top: 1px solid rgba(0, 83, 69, 0.1);
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

.persona-audit-table th {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.persona-coupling-table tbody tr {
  cursor: pointer;
}

.persona-coupling-table tbody tr:hover {
  background: rgba(25, 113, 189, 0.06);
}

.persona-coupling-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 999px;
  background: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 4px 8px;
}

.persona-coupling-badge.red,
.coupling-red .persona-coupling-badge {
  border-color: rgba(181, 57, 47, 0.35);
  background: #fff0ed;
  color: #b5392f;
}

.persona-coupling-badge.orange,
.coupling-orange .persona-coupling-badge {
  border-color: rgba(210, 138, 22, 0.35);
  background: #fff4df;
  color: #9a5f00;
}

.persona-coupling-badge.yellow,
.coupling-yellow .persona-coupling-badge {
  border-color: rgba(221, 184, 54, 0.45);
  background: #fff9db;
  color: #806700;
}

.persona-pair-matrix {
  display: grid;
  gap: 2px;
  padding: 12px;
  overflow-x: auto;
}

.persona-pair-cell {
  min-width: 34px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.7rem;
  font-weight: 850;
  padding: 7px 5px;
  text-align: center;
}

.persona-pair-cell.is-head {
  background: rgba(0, 83, 69, 0.08);
  color: var(--brand-dark);
}

.persona-pair-cell.is-self {
  background: transparent;
  color: rgba(90, 111, 103, 0.42);
  cursor: default;
}

.persona-pair-cell.is-1 { background: #eef7ff; color: #1971bd; }
.persona-pair-cell.is-2 { background: #e6f6ee; color: #006f57; }
.persona-pair-cell.is-3 { background: #fff5d7; color: #8a5d00; }
.persona-pair-cell.is-4 { background: #ffeadc; color: #9a4f00; }
.persona-pair-cell.is-5 { background: #ffe8e6; color: #b5392f; }

.persona-pair-cell.alert-red {
  box-shadow: inset 0 0 0 2px rgba(181, 57, 47, 0.42);
}

.persona-pair-cell.alert-orange {
  box-shadow: inset 0 0 0 2px rgba(210, 138, 22, 0.36);
}

.persona-pair-cell.alert-yellow {
  box-shadow: inset 0 0 0 2px rgba(221, 184, 54, 0.4);
}

.persona-pair-detail {
  border-top: 1px solid rgba(0, 83, 69, 0.12);
  padding: 12px;
}

.persona-pair-detail h4 {
  margin: 0 0 4px;
  color: var(--brand-dark);
}

.persona-pair-detail p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.persona-pair-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.persona-pair-detail-grid div,
.persona-pair-question-list {
  border: 1px solid rgba(0, 83, 69, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 9px;
}

.persona-pair-detail-grid span,
.persona-pair-question-list span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
}

.persona-pair-detail-grid strong {
  color: var(--brand-dark);
  font-size: 1.1rem;
}

.persona-pair-question-list article {
  border-top: 1px solid rgba(0, 83, 69, 0.1);
  margin-top: 8px;
  padding-top: 8px;
}

.persona-pair-all-details {
  margin: 0 12px 12px;
}

.persona-pair-all-details summary {
  border: 1px solid rgba(0, 83, 69, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  font-weight: 900;
  padding: 9px 11px;
}

.persona-audit-alerts {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}

.persona-audit-alerts article {
  border: 1px solid rgba(210, 138, 22, 0.24);
  border-radius: 8px;
  background: #fff9ea;
  padding: 9px 10px;
}

.persona-audit-alerts article.coupling-red {
  border-color: rgba(181, 57, 47, 0.28);
  background: #fff0ed;
}

.persona-audit-alerts article.coupling-orange {
  border-color: rgba(210, 138, 22, 0.28);
  background: #fff4df;
}

.persona-audit-alerts article.coupling-yellow {
  border-color: rgba(221, 184, 54, 0.35);
  background: #fff9db;
}

.persona-audit-alerts strong,
.persona-audit-alerts span {
  display: block;
}

.persona-audit-alerts span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
}

.future-persona-lab {
  border-color: rgba(47, 111, 163, 0.2);
  background:
    radial-gradient(circle at 92% 0%, rgba(47, 111, 163, 0.1), transparent 30%),
    linear-gradient(180deg, #ffffff, #f6fbff);
}

.future-persona-identity {
  border-color: rgba(15, 122, 99, 0.24);
  background:
    radial-gradient(circle at 92% 0%, rgba(15, 122, 99, 0.1), transparent 30%),
    linear-gradient(180deg, #ffffff, #f4fbf8);
}

.future-persona-toolbar {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.5fr;
  gap: 10px;
  margin: 12px;
}

.future-persona-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.future-persona-identity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 0 12px 12px;
}

.future-persona-identity-grid label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.future-persona-model-table th:nth-child(2),
.future-persona-model-table td:nth-child(2) {
  min-width: 150px;
}

.future-persona-model-status {
  display: grid;
  gap: 6px;
  min-width: 140px;
}

.future-persona-model-status select {
  width: 100%;
  min-width: 140px;
}

.future-persona-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 999px;
  background: #f7faf8;
  color: #42524a;
  padding: 4px 9px;
  font-size: 0.72rem;
  font-weight: 950;
}

.future-persona-status-badge.is-active {
  border-color: rgba(16, 163, 127, 0.26);
  background: #ebf9f3;
  color: #08745e;
}

.future-persona-status-badge.is-validated {
  border-color: rgba(25, 113, 189, 0.24);
  background: #eef7ff;
  color: #155d9b;
}

.future-persona-status-badge.is-retired {
  border-color: rgba(17, 31, 24, 0.1);
  background: #f2f4f3;
  color: #6c7a72;
}

.future-persona-identity-grid .wide-field {
  grid-column: span 2;
}

.future-persona-technical-basis {
  display: grid;
  grid-template-columns: 1fr 1.2fr auto;
  align-items: stretch;
  gap: 10px;
  padding: 0 12px 12px;
}

.future-persona-basis-card {
  display: grid;
  gap: 5px;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.future-persona-basis-card span,
.future-persona-basis-card small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.future-persona-basis-card strong {
  color: #0b211b;
  font-size: 1rem;
}

.future-persona-definition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 12px 12px;
}

.future-persona-definition-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 120px 80px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
}

.future-persona-definition-row.is-core { border-color: rgba(15, 122, 99, 0.34); background: #f0fbf6; }
.future-persona-definition-row.is-support { border-color: rgba(47, 111, 163, 0.28); background: #f2f8ff; }
.future-persona-definition-row.is-counter { border-color: rgba(180, 84, 42, 0.3); background: #fff7ef; }

.future-persona-profile-grid,
.future-persona-signal-grid,
.future-persona-conflict-grid,
.future-persona-flag-grid {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}

.future-persona-ceiling-detail-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 0.65fr);
  gap: 12px;
  padding: 10px 0 0;
}

.future-persona-ceiling-top3 {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}

.future-persona-ceiling-top3 li {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
}

.future-persona-ceiling-top3 span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.future-persona-profile-grid.is-compact {
  padding: 0;
}

.future-persona-profile-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(180px, 1fr) 64px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.future-persona-profile-grid.is-compact .future-persona-profile-row {
  grid-template-columns: minmax(130px, 0.9fr) minmax(100px, 1fr) 58px;
  padding: 8px;
}

.future-persona-profile-row small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.future-persona-profile-bar {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7f0ec;
}

.future-persona-profile-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #14866b;
}

.future-persona-profile-row.is-support .future-persona-profile-bar span { background: #2f6fa3; }
.future-persona-profile-row.is-counter .future-persona-profile-bar span { background: #b45a34; }
.future-persona-profile-row.is-neutral .future-persona-profile-bar span { background: #8fa19a; }

.future-persona-flag,
.future-persona-signal,
.future-persona-conflict {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(15, 81, 63, 0.12);
  border-radius: 8px;
  background: #ffffff;
  padding: 10px 12px;
}

.future-persona-flag,
.future-persona-signal.is-warning {
  border-color: rgba(180, 84, 42, 0.28);
  background: #fff8f1;
}

.future-persona-signal.is-ok {
  border-color: rgba(15, 122, 99, 0.24);
  background: #f2fbf7;
}

.future-persona-flag span,
.future-persona-signal span,
.future-persona-conflict span,
.future-persona-signal small,
.future-persona-conflict small {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 750;
}

.future-persona-path-table .link-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #0f7a63;
  font-weight: 900;
  cursor: pointer;
}

.future-persona-tie {
  display: inline-flex;
  border: 1px solid rgba(47, 111, 163, 0.24);
  border-radius: 999px;
  background: #eef7ff;
  padding: 2px 8px;
  color: #235f90;
  font-size: 0.76rem;
  font-weight: 900;
}

.future-persona-path-detail > td {
  background: #f6fbff;
}

.future-persona-path-detail div {
  display: grid;
  gap: 4px;
  margin: 6px 0;
  border: 1px solid rgba(47, 111, 163, 0.14);
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}

.future-persona-comparison-table tr.is-selected {
  outline: 2px solid rgba(47, 111, 163, 0.22);
  outline-offset: -2px;
}

@media (max-width: 900px) {
  .persona-answer-grid,
  .persona-result-reveal-actions,
  .persona-result-grid,
  .persona-final-choice-grid,
  .persona-final-choice-grid.five,
  .persona-submit-card,
  .persona-analysis-steps,
  .persona-analysis-output,
  .persona-insight-grid,
  .persona-insight-grid.is-featured,
  .persona-identity-main,
  .persona-identity-metrics,
  .persona-identity-alternative-grid,
  .persona-part-cta,
  .persona-admin-layout,
  .persona-admin-grid,
  .persona-admin-answers,
  .persona-audit-cards,
  .persona-pair-detail-grid {
    grid-template-columns: 1fr;
  }

  .persona-audit-head {
    flex-direction: column;
  }

  .persona-part-cta {
    align-items: stretch;
  }

  .persona-identity-stage {
    grid-template-columns: 1fr;
  }

  .persona-identity-wheel,
  .persona-identity-result-content,
  .persona-identity-stage > .persona-identity-keys,
  .persona-identity-metrics,
  .persona-identity-alternatives {
    grid-column: 1;
    grid-row: auto;
  }

  .persona-identity-alternative-item > div:first-child,
  .persona-selected-tribe-profile label {
    display: grid;
    grid-template-columns: 1fr;
  }

  .persona-identity-alternative-metrics {
    justify-content: flex-start;
    min-width: 0;
  }

  .future-persona-toolbar,
  .future-persona-identity-grid,
  .future-persona-technical-basis,
  .future-persona-definition-grid,
  .future-persona-definition-row,
  .future-persona-profile-row {
    grid-template-columns: 1fr;
  }

  .future-persona-identity-grid .wide-field {
    grid-column: auto;
  }

  .persona-score-editor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.hall-of-fame-panel {
  padding: 0;
  overflow: hidden;
}

.hof-shell {
  padding: 22px;
  background:
    radial-gradient(circle at 14% 0%, rgba(25, 113, 189, 0.13), transparent 28%),
    linear-gradient(180deg, #f8fbfa 0%, #eef7f4 100%);
}

.atlas-area-hero,
.hof-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-end;
  margin-bottom: 18px;
  padding: 20px 24px;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 8px;
  background: var(--atlas-page-header-bg);
  color: #f8fbfa;
  box-shadow: 0 18px 38px rgba(11, 42, 53, 0.16);
}

.atlas-area-hero::before,
.hof-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse var(--atlas-page-header-glow-size) 150% at 101% -12%,
      rgba(var(--atlas-page-header-glow-color), var(--atlas-page-header-glow-opacity)) 0%,
      rgba(var(--atlas-page-header-glow-color), 0.16) 31%,
      rgba(var(--atlas-page-header-glow-color), 0.055) 58%,
      transparent 82%
    ),
    radial-gradient(
      ellipse 44% 92% at 88% 54%,
      rgba(var(--atlas-page-header-glow-color), 0.11) 0%,
      rgba(var(--atlas-page-header-glow-color), 0.035) 48%,
      transparent 76%
    ),
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 50%,
      rgba(var(--atlas-page-header-glow-color), 0.03) 72%,
      rgba(var(--atlas-page-header-glow-color), 0.075) 100%
    );
}

.atlas-area-hero::after,
.hof-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-node-opacity)), rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-node-opacity))) 63% 43% / 1px 12px no-repeat,
    linear-gradient(90deg, rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-node-opacity)), rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-node-opacity))) 63% 43% / 12px 1px no-repeat,
    linear-gradient(rgba(var(--atlas-page-header-grid-color), 0.15), rgba(var(--atlas-page-header-grid-color), 0.15)) 76% 30% / 1px 10px no-repeat,
    linear-gradient(90deg, rgba(var(--atlas-page-header-grid-color), 0.15), rgba(var(--atlas-page-header-grid-color), 0.15)) 76% 30% / 10px 1px no-repeat,
    linear-gradient(rgba(var(--atlas-page-header-grid-color), 0.12), rgba(var(--atlas-page-header-grid-color), 0.12)) 88% 66% / 1px 8px no-repeat,
    linear-gradient(90deg, rgba(var(--atlas-page-header-grid-color), 0.12), rgba(var(--atlas-page-header-grid-color), 0.12)) 88% 66% / 8px 1px no-repeat,
    radial-gradient(circle at 69% 69%, rgba(var(--atlas-page-header-grid-color), 0.12) 0 1px, transparent 2px),
    radial-gradient(circle at 93% 28%, rgba(var(--atlas-page-header-grid-color), 0.1) 0 1px, transparent 2px),
    repeating-linear-gradient(
      0deg,
      rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-grid-major-opacity)) 0 1px,
      transparent 1px var(--atlas-page-header-grid-major-size)
    ),
    repeating-linear-gradient(
      90deg,
      rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-grid-major-opacity)) 0 1px,
      transparent 1px var(--atlas-page-header-grid-major-size)
    ),
    repeating-linear-gradient(
      0deg,
      rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-grid-opacity)) 0 1px,
      transparent 1px var(--atlas-page-header-grid-size)
    ),
    repeating-linear-gradient(
      90deg,
      rgba(var(--atlas-page-header-grid-color), var(--atlas-page-header-grid-opacity)) 0 1px,
      transparent 1px var(--atlas-page-header-grid-size)
    );
  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent var(--atlas-page-header-grid-fade-start),
      rgba(0, 0, 0, 0.28) var(--atlas-page-header-grid-fade-mid),
      #000 var(--atlas-page-header-grid-fade-end)
    ),
    linear-gradient(
      180deg,
      #000 0%,
      #000 var(--atlas-page-header-grid-bottom-fade),
      transparent 100%
    );
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent var(--atlas-page-header-grid-fade-start),
      rgba(0, 0, 0, 0.28) var(--atlas-page-header-grid-fade-mid),
      #000 var(--atlas-page-header-grid-fade-end)
    ),
    linear-gradient(
      180deg,
      #000 0%,
      #000 var(--atlas-page-header-grid-bottom-fade),
      transparent 100%
    );
  mask-composite: intersect;
}

.atlas-area-hero > *,
.hof-hero > * {
  position: relative;
  z-index: 1;
}

.atlas-area-hero h2,
.hof-hero h2 {
  margin: 4px 0 6px;
  font-size: clamp(1.9rem, 3vw, 3.15rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.atlas-area-description,
.hof-hero p {
  margin: 0;
  max-width: 1080px;
  color: rgba(248, 251, 250, 0.78);
  white-space: nowrap;
}

.atlas-area-hero .eyebrow,
.hof-hero .eyebrow {
  color: #72c7ff;
  white-space: normal;
}

.atlas-area-actions {
  display: flex;
  flex-shrink: 0;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  max-width: min(640px, 48vw);
}

.atlas-area-actions label {
  display: grid;
  gap: 4px;
  min-width: 128px;
  color: rgba(248, 251, 250, 0.78);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.atlas-area-actions select,
.atlas-area-actions input {
  min-height: 38px;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.94);
  color: #07372f;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}

.atlas-area-actions .ghost-button,
.atlas-area-actions .file-button {
  border-color: rgba(255, 255, 255, 0.26);
  background: rgba(255, 255, 255, 0.94);
  color: #07372f;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.atlas-area-actions .primary-button {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.panel-header-compact {
  align-items: center;
}

.panel-header-compact h3 {
  margin: 0;
}

.hof-hero-metrics {
  display: grid;
  gap: 8px;
  min-width: 180px;
}

.hof-hero-metrics span {
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.08);
  font-weight: 800;
  text-align: center;
}

.hof-tabs,
.hof-year-tabs,
.hof-picker-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0;
}

.hof-tabs button,
.hof-year-tabs button,
.hof-picker-controls button {
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--brand-dark);
  font-weight: 800;
  padding: 10px 14px;
  cursor: pointer;
}

.hof-year-tabs {
  gap: 12px;
}

.hof-year-tabs button {
  min-width: 106px;
  min-height: 58px;
  font-size: 1.12rem;
  border-radius: 10px;
}

.hof-tabs button.is-active,
.hof-year-tabs button.is-active,
.hof-picker-controls button.is-active {
  background: #0b8f78;
  border-color: #0b8f78;
  color: #fff;
  box-shadow: 0 10px 20px rgba(11, 143, 120, 0.18);
}

.hof-section {
  display: grid;
  gap: 16px;
}

.hof-section-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.hof-section-head h3 {
  margin: 0 0 4px;
  color: var(--brand-dark);
}

.hof-section-head p,
.hof-note {
  margin: 0;
  color: var(--muted);
}

.hof-settings-row {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.hof-settings-row label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-weight: 700;
}

.hof-settings-row input[type="text"],
.hof-picker-controls input,
.hof-history-row input,
.hof-history-row select,
.hof-history-row textarea,
.hof-simple-row input,
.hof-simple-row select,
.hof-simple-row textarea,
.hof-history-editorial-edit input,
.hof-history-editorial-edit textarea,
.hof-history-explanation-edit textarea,
.hof-slot textarea {
  width: 100%;
  border: 1px solid rgba(17, 31, 24, 0.13);
  border-radius: 8px;
  padding: 9px 10px;
  font: inherit;
  background: #fff;
  color: var(--text);
}

.hof-history-explanation,
.hof-history-explanation-edit {
  display: grid;
  gap: 6px;
  border: 1px solid rgba(16, 163, 127, 0.18);
  border-radius: 8px;
  padding: 16px 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(241, 250, 247, 0.86)),
    #fff;
}

.hof-history-explanation strong,
.hof-history-explanation-edit strong {
  color: var(--brand-dark);
  font-weight: 900;
}

.hof-history-explanation-edit small {
  max-width: 860px;
  color: var(--muted);
  line-height: 1.35;
}

.hof-history-explanation p {
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.45;
  white-space: pre-line;
}

.hof-history-explanation strong + p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  white-space: pre-line;
}

.hof-history-explanation-edit textarea {
  min-height: 86px;
  resize: vertical;
  line-height: 1.45;
}

.hof-history-editorial {
  display: grid;
  gap: 16px;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 8px;
  padding: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(25, 113, 189, 0.13), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(235, 249, 246, 0.92));
  box-shadow: 0 16px 34px rgba(17, 31, 24, 0.06);
}

.hof-history-editorial-head {
  display: grid;
  gap: 5px;
}

.hof-history-editorial-head span {
  color: var(--brand-dark);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hof-history-editorial-head strong {
  color: var(--text);
  font-size: clamp(1.55rem, 2.4vw, 2.25rem);
  line-height: 1.08;
  font-weight: 900;
}

.hof-history-editorial-head p {
  margin: 0;
  color: #40534b;
  font-size: 1.14rem;
  line-height: 1.42;
  white-space: pre-line;
}

.hof-editorial-main,
.hof-editorial-insights p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  white-space: pre-line;
}

.hof-editorial-main {
  color: #34443e;
  font-size: 1.02rem;
}

.hof-editorial-insights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.hof-editorial-insights section {
  display: grid;
  gap: 6px;
  border: 1px solid rgba(16, 163, 127, 0.14);
  border-radius: 8px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.7);
}

.hof-editorial-insights small {
  color: var(--brand-dark);
  font-size: 1.1rem;
  font-weight: 900;
  text-transform: uppercase;
}

.hof-copy-display .button-row {
  justify-content: flex-start;
}

.hof-save-status {
  border: 1px solid rgba(16, 163, 127, 0.26);
  border-radius: 8px;
  padding: 12px 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(16, 163, 127, 0.12), transparent 34%),
    rgba(241, 250, 247, 0.95);
  color: var(--brand-dark);
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(17, 31, 24, 0.05);
}

.hof-upload-warning {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(205, 132, 31, 0.28);
  border-radius: 8px;
  padding: 14px;
  background: #fff8ea;
  color: #5f4212;
}

.hof-upload-warning strong {
  color: #a66500;
}

.hof-upload-consent {
  gap: 12px;
}

.hof-upload-consent section {
  display: grid;
  gap: 5px;
}

.hof-upload-consent p {
  margin: 0;
  line-height: 1.45;
}

.hof-public-fields {
  grid-template-columns: minmax(180px, 1fr) 150px;
  align-items: end;
}

.hof-public-fields label {
  display: grid;
  gap: 5px;
  color: #5f4212;
  font-weight: 900;
}

.hof-public-fields label span {
  color: rgba(95, 66, 18, 0.72);
  font-size: 0.78rem;
}

.hof-public-fields input {
  width: 100%;
  border: 1px solid rgba(205, 132, 31, 0.24);
  border-radius: 8px;
  padding: 9px 10px;
  font: inherit;
  background: rgba(255, 255, 255, 0.9);
  color: var(--text);
}

.hof-consent-copy {
  border-top: 1px solid rgba(205, 132, 31, 0.18);
  padding-top: 10px;
  font-size: 0.92rem;
}

.hof-consent-copy span {
  color: var(--brand-dark);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hof-inline-link {
  width: fit-content;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--brand-dark);
  font: inherit;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.hof-public-status {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(16, 163, 127, 0.2);
  border-radius: 8px;
  padding: 14px;
  background: rgba(241, 250, 247, 0.88);
}

.hof-public-status.is-private {
  display: grid;
  border-color: rgba(17, 31, 24, 0.12);
  background: rgba(255, 255, 255, 0.78);
}

.hof-public-status strong {
  color: var(--brand-dark);
}

.hof-public-status p {
  margin: 3px 0 0;
  color: var(--muted);
}

.danger-button {
  background: #b33b32;
}

.hof-community-rankings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hof-carousel-card {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  padding: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(16, 163, 127, 0.1), transparent 34%),
    rgba(255, 255, 255, 0.82);
}

.hof-carousel-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--brand-dark);
  font-size: 1.05rem;
}

.hof-carousel-card p {
  margin: 0;
  color: var(--muted);
}

.hof-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hof-editorial-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 900;
}

.hof-editorial-grid .is-wide {
  grid-column: 1 / -1;
}

.hof-history-editorial-edit textarea {
  min-height: 90px;
  resize: vertical;
  line-height: 1.45;
}

.hof-tier-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.hof-community-snapshot,
.hof-explore-community {
  display: grid;
  gap: 12px;
}

.hof-community-snapshot {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background:
    radial-gradient(circle at 100% 0%, rgba(25, 113, 189, 0.1), transparent 32%),
    rgba(255, 255, 255, 0.84);
  padding: 14px;
}

.hof-community-snapshot.is-compact {
  background: rgba(255, 255, 255, 0.72);
}

.hof-community-snapshot-head,
.hof-community-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.hof-community-snapshot-head strong,
.hof-community-row h4 {
  margin: 0;
  color: var(--brand-dark);
}

.hof-community-snapshot-head p,
.hof-community-row p {
  margin: 4px 0 0;
  color: var(--muted);
}

.hof-community-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.hof-community-meta span {
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 999px;
  background: #eef7ff;
  padding: 5px 9px;
  color: #155486;
  font-size: 0.76rem;
  font-weight: 900;
}

.hof-community-ranking {
  display: grid;
  gap: 8px;
}

.hof-community-row {
  grid-template-columns: 36px minmax(0, 1fr) minmax(220px, auto);
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.hof-community-row > strong {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: #e9f8f3;
  color: var(--brand-dark);
}

.hof-section-head.is-compact h4 {
  margin: 0 0 4px;
  color: var(--brand-dark);
}

.hof-tier-card {
  border: 1px solid rgba(17, 31, 24, 0.11);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  overflow: hidden;
}

.hof-tier-card-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid rgba(17, 31, 24, 0.08);
}

.hof-tier-card-head h4 {
  margin: 0 0 4px;
}

.hof-tier-card-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.hof-tier-card-head strong {
  min-width: 52px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 8px;
}

.hof-tier-diamond .hof-tier-card-head strong { background: #eaf4ff; color: #1971bd; }
.hof-tier-platinum .hof-tier-card-head strong { background: #eff2f0; color: #4b5d56; }
.hof-tier-gold .hof-tier-card-head strong { background: #fff5d8; color: #b07a00; }

.hof-atlas-block {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.hof-challenger-block {
  margin-top: 14px;
  background: linear-gradient(135deg, rgba(247, 251, 255, 0.9), rgba(244, 249, 247, 0.84));
}

.hof-atlas-block-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(17, 31, 24, 0.08);
}

.hof-atlas-block-head h4 {
  margin: 0 0 4px;
  color: var(--brand-dark);
}

.hof-atlas-block-head p {
  margin: 0;
  color: var(--muted);
}

.hof-atlas-block-head > strong {
  min-width: 56px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eef7f4;
  color: var(--brand-dark);
}

.hof-atlas-picklist {
  display: grid;
  gap: 8px;
}

.hof-atlas-row {
  display: grid;
  grid-template-columns: 38px 118px minmax(220px, 1fr) minmax(170px, auto) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.84);
}

.hof-atlas-row.hof-tier-diamond {
  border-color: rgba(25, 113, 189, 0.22);
  background: linear-gradient(135deg, #f8fcff, #edf6ff);
}

.hof-atlas-row.hof-tier-platinum {
  border-color: rgba(75, 93, 86, 0.18);
  background: linear-gradient(135deg, #fbfcfb, #eff3f1);
}

.hof-atlas-row.hof-tier-gold {
  border-color: rgba(176, 122, 0, 0.22);
  background: linear-gradient(135deg, #fffdf7, #fff5d8);
}

.hof-atlas-row.hof-tier-challenger {
  border-style: dashed;
  border-color: rgba(25, 113, 189, 0.18);
}

.hof-atlas-slot-number {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eef7f4;
  color: var(--brand-dark);
}

.hof-tier-select,
.hof-challenger-badge {
  width: 100%;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
  font: inherit;
  font-weight: 800;
}

.hof-challenger-badge {
  display: grid;
  place-items: center;
  color: #1971bd;
  background: #f1f8ff;
  text-transform: uppercase;
  font-size: 0.8rem;
}

.hof-atlas-security h5 {
  margin: 0 0 2px;
  color: var(--text);
  font-size: 1rem;
}

.hof-atlas-security p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.hof-free-fields {
  grid-column: 3 / -1;
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) minmax(110px, 0.55fr) minmax(220px, 1.4fr);
  gap: 8px;
  align-items: end;
}

.hof-free-fields label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hof-free-fields input {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(17, 31, 24, 0.14);
  border-radius: 8px;
  padding: 8px 10px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.9);
  font: inherit;
  font-weight: 700;
  text-transform: none;
}

.hof-slot-list {
  display: grid;
}

.hof-slot {
  display: grid;
  gap: 10px;
  min-height: 108px;
  padding: 14px;
  border: 0;
  border-bottom: 1px solid rgba(17, 31, 24, 0.08);
  background: rgba(255, 255, 255, 0.64);
  text-align: left;
}

button.hof-slot {
  cursor: pointer;
}

.hof-slot:hover,
.hof-candidate:hover {
  border-color: rgba(25, 113, 189, 0.28);
  background: #f7fbff;
}

.hof-slot.is-empty {
  place-content: center;
  min-height: 118px;
  border: 1px dashed rgba(25, 113, 189, 0.28);
  margin: 12px;
  border-radius: 8px;
  color: var(--brand-dark);
}

.hof-slot h5,
.hof-candidate h4 {
  margin: 2px 0;
  color: var(--text);
  font-size: 1.05rem;
}

.hof-slot p,
.hof-candidate p {
  margin: 0;
  color: var(--muted);
}

.hof-score-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.hof-atlas-row > .button-row {
  grid-column: 3 / -1;
  justify-content: flex-end;
}

.hof-score-strip span {
  min-width: 64px;
  display: grid;
  gap: 2px;
  border: 1px solid rgba(16, 163, 127, 0.22);
  border-radius: 8px;
  padding: 6px 8px;
  background: #f3fbf8;
}

.hof-score-strip small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hof-score-strip strong {
  color: var(--brand-dark);
  font-size: 1.05rem;
}

.hof-picker,
.hof-empty-state {
  border: 1px solid rgba(25, 113, 189, 0.17);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  padding: 16px;
}

.hof-picker-controls {
  display: grid;
  grid-template-columns: repeat(4, auto) minmax(220px, 1fr);
  align-items: center;
}

.hof-candidate-list {
  display: grid;
  gap: 10px;
  max-height: 520px;
  overflow: auto;
}

.hof-candidate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.hof-empty-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hof-empty-grid article,
.hof-empty-state {
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.75);
  padding: 16px;
}

.hof-empty-grid strong,
.hof-empty-state strong {
  display: block;
  margin-bottom: 6px;
  color: var(--brand-dark);
}

.hof-empty-grid p,
.hof-empty-state p {
  margin: 0;
  color: var(--muted);
}

.hof-history-table {
  display: grid;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.hof-simple-table {
  display: grid;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.hof-simple-head,
.hof-simple-row {
  display: grid;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(17, 31, 24, 0.08);
}

.hof-simple-head {
  background: #eef7f4;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.hof-simple-cols-3 .hof-simple-head,
.hof-simple-cols-3 .hof-simple-row {
  grid-template-columns: 42px 124px minmax(220px, 1fr) minmax(260px, 1.2fr);
}

.hof-simple-cols-5 .hof-simple-head,
.hof-simple-cols-5 .hof-simple-row {
  grid-template-columns: 42px 124px minmax(180px, 1fr) 118px minmax(150px, 0.9fr) minmax(240px, 1.25fr);
}

.hof-simple-row strong {
  color: var(--muted);
  text-align: center;
}

.hof-simple-cols-2 .hof-simple-head,
.hof-simple-cols-2 .hof-simple-row {
  grid-template-columns: 42px 150px minmax(260px, 1fr);
}

.hof-history-head,
.hof-history-row {
  display: grid;
  grid-template-columns: 42px 106px minmax(160px, 1fr) 104px 116px minmax(120px, 0.85fr) 144px minmax(190px, 1.05fr);
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(17, 31, 24, 0.08);
}

.hof-history-head {
  background: #eef7f4;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.hof-history-row strong {
  color: var(--muted);
  text-align: center;
}

.danger-inline {
  color: #a9342d;
}

.hof-history-display {
  display: grid;
  gap: 10px;
}

.hof-history-card {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 282px;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.82);
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.hof-history-card.is-compact {
  grid-template-columns: 104px minmax(0, 1fr);
}

.hof-history-card:hover {
  border-color: rgba(25, 113, 189, 0.32);
  box-shadow: 0 10px 22px rgba(17, 31, 24, 0.08);
  transform: translateY(-1px);
}

.hof-history-card.has-tier-break {
  margin-top: 8px;
  border-top-color: rgba(17, 31, 24, 0.22);
  box-shadow: inset 0 1px 0 rgba(17, 31, 24, 0.08);
}

.hof-history-rank {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  padding: 10px 8px;
  background: #eef7f4;
  min-height: 54px;
}

.hof-history-rank span {
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.hof-history-card.hof-tier-diamond .hof-history-rank {
  background: #eaf4ff;
}

.hof-history-card.hof-tier-diamond .hof-history-rank span {
  background: #d7ebff;
  color: #1971bd;
}

.hof-history-card.hof-tier-platinum .hof-history-rank {
  background: #eff2f0;
}

.hof-history-card.hof-tier-platinum .hof-history-rank span {
  background: #e0e5e2;
  color: #4b5d56;
}

.hof-history-card.hof-tier-gold .hof-history-rank {
  background: #fff5d8;
}

.hof-history-card.hof-tier-gold .hof-history-rank span {
  background: #f6dc8f;
  color: #9b6a00;
}

.hof-history-main h4 {
  margin: 0 0 3px;
  color: var(--text);
}

.hof-history-main p,
.hof-history-main small {
  display: block;
  margin: 0;
  color: var(--muted);
}

.hof-history-main small {
  margin-top: 6px;
  line-height: 1.35;
}

.hof-history-meta {
  display: grid;
  grid-template-columns: 126px 144px;
  gap: 8px;
  justify-content: end;
}

.hof-history-meta span {
  display: grid;
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 8px;
  padding: 8px 10px;
  background: #f8fbfa;
}

.hof-history-meta small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hof-history-meta strong {
  color: var(--brand-dark);
}

@media (max-width: 1080px) {
  :root {
    --atlas-page-header-grid-opacity: 0.028;
    --atlas-page-header-grid-major-opacity: 0.052;
    --atlas-page-header-grid-size: 32px;
    --atlas-page-header-grid-major-size: 128px;
    --atlas-page-header-grid-fade-start: 52%;
    --atlas-page-header-grid-fade-mid: 70%;
    --atlas-page-header-grid-fade-end: 86%;
    --atlas-page-header-glow-opacity: 0.2;
    --atlas-page-header-glow-size: 90%;
    --atlas-page-header-node-opacity: 0;
  }

  .hof-tier-grid,
  .hof-empty-grid {
    grid-template-columns: 1fr;
  }

  .hof-settings-row,
  .hof-picker-controls,
  .hof-candidate,
  .hof-atlas-row,
  .hof-history-card,
  .hof-history-head,
  .hof-history-row,
  .hof-simple-head,
  .hof-simple-row,
  .hof-community-rankings,
  .hof-public-fields {
    grid-template-columns: 1fr;
  }

  .hof-public-status {
    display: grid;
  }

  .hof-free-fields {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .hof-atlas-row > .button-row {
    grid-column: auto;
    justify-content: flex-start;
  }

  .hof-history-meta {
    justify-content: flex-start;
  }

  .hof-editorial-grid,
  .hof-editorial-insights {
  .hof-community-snapshot-head,
  .hof-community-row,
    grid-template-columns: 1fr;
  }

  .atlas-area-hero,
  .hof-hero,
  .hof-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .atlas-area-description,
  .hof-hero p {
    white-space: normal;
  }

  .atlas-area-actions {
    justify-content: flex-start;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .profile-page-grid,
  .profile-facts div {
    grid-template-columns: 1fr;
  }
}

  .hof-community-meta {
    justify-content: flex-start;
  }

  .hof-community-row .hof-score-strip {
    width: 100%;
  }

.dashboard-list {
  display: grid;
  gap: 8px;
}

.dashboard-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 54px;
  border-bottom: 1px solid var(--line);
  padding: 7px 0;
}

.dashboard-list-row:last-child {
  border-bottom: 0;
}

.dashboard-list-row strong,
.dashboard-list-row span,
.dashboard-list-row small {
  display: block;
}

.dashboard-list-row span,
.dashboard-list-row small {
  color: var(--muted);
  font-size: 0.82rem;
}

.dashboard-list-row .num small {
  margin-top: 2px;
}

.compact-empty {
  margin: 4px 0;
}

.dashboard-chart-placeholder {
  display: grid;
  align-content: center;
  min-height: 142px;
  border: 1px dashed #c8d4cc;
  border-radius: 8px;
  background:
    linear-gradient(rgba(21, 110, 90, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 110, 90, 0.05) 1px, transparent 1px),
    #f8faf8;
  background-size: 24px 24px;
  padding: 18px;
}

.dashboard-chart-placeholder strong,
.dashboard-chart-placeholder span {
  display: block;
}

.dashboard-chart-placeholder span {
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.9rem;
}

.dashboard-performance-chart {
  display: block;
  width: 100%;
  min-height: 210px;
  margin-top: 8px;
  border: 1px solid #d7e3dc;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(21, 110, 90, 0.05), rgba(255, 255, 255, 0.94)),
    #fbfcfb;
}

.dashboard-performance-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 6px;
}

.dashboard-performance-metric {
  min-width: 0;
  border: 1px solid #d7e3dc;
  border-radius: 8px;
  background: #fbfcfb;
  padding: 8px 10px;
}

.dashboard-performance-metric span,
.dashboard-performance-metric small {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.dashboard-performance-metric strong {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 1.02rem;
  line-height: 1.1;
}

.dashboard-performance-metric.is-positive strong {
  color: #08785e;
}

.dashboard-performance-metric.is-negative strong {
  color: #b83a2f;
}

.dashboard-performance-chart .chart-line.is-primary {
  stroke-width: 4;
}

.dashboard-performance-chart .chart-line.is-benchmark {
  opacity: 0.48;
  stroke-width: 2;
}

.dashboard-chart-dot {
  fill: #fff;
  stroke-width: 3;
}

.dashboard-chart-dot.is-high {
  stroke: #08785e;
}

.dashboard-chart-dot.is-low {
  stroke: #b83a2f;
}

.dashboard-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.dashboard-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.dashboard-chart-legend i {
  width: 18px;
  height: 3px;
  border-radius: 99px;
}

.trigger-row {
  grid-template-columns: 34px minmax(0, 1fr) minmax(92px, auto);
  gap: 10px;
  min-height: 48px;
}

.trigger-reason {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 3px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.01em;
}

.trigger-reason.is-stop {
  background: #fff1ed;
  color: #9f2d20;
}

.trigger-reason.is-buy {
  background: #e9f7ef;
  color: #0b6a4d;
}

.trigger-reason.is-target {
  background: #eef6ff;
  color: #245b93;
}

.trigger-info {
  display: grid;
  grid-template-columns: auto;
  justify-content: end;
  align-items: center;
  gap: 1px;
  text-align: right;
}

.trigger-info small {
  grid-column: 1 / -1;
}

.trigger-title {
  display: flex !important;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.trigger-title span {
  min-width: 0;
}

.trigger-chart-link {
  min-height: 22px;
  padding: 0 7px;
  font-size: 0.68rem;
}

.trigger-basics-link {
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
  background: #fff;
}

.trigger-icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 900;
}

.trigger-icon.is-reached {
  background: #fff3e2;
  color: #9b5c00;
}

.trigger-icon.is-near {
  background: #eef6ff;
  color: #265d9c;
}

.pie-layout {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.pie-chart {
  width: 124px;
  aspect-ratio: 1;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #edf2ef;
}

.pie-legend {
  display: grid;
  gap: 8px;
}

.pie-legend-row {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.pie-legend-row strong,
.pie-legend-row small {
  font-size: 0.82rem;
}

.pie-legend-row small {
  color: var(--muted);
}

.country-pie-layout {
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: start;
}

.country-pie-chart {
  width: 112px;
  position: sticky;
  top: 12px;
}

.country-pie-legend {
  gap: 6px;
}

.country-pie-row {
  grid-template-columns: 10px minmax(0, 1fr) auto;
  gap: 7px;
}

.country-pie-label {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.country-pie-label strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.country-pie-values {
  text-align: right;
  white-space: nowrap;
}

.country-pie-values strong,
.country-pie-values small {
  display: block;
}

.country-pie-values small {
  margin-top: 1px;
  font-size: 0.7rem;
}

.performance-chart-wrap {
  min-height: 360px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfa;
  padding: 12px;
}

.performance-chart-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
}

.performance-chart-controls > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.performance-benchmark-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 999px;
  background: #fff;
  padding: 7px 10px;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 850;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease, opacity 140ms ease;
}

.performance-benchmark-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.performance-benchmark-toggle i {
  width: 20px;
  height: 4px;
  border-radius: 999px;
  background: var(--benchmark-color);
  opacity: 0.38;
}

.performance-benchmark-toggle.is-active {
  border-color: color-mix(in srgb, var(--benchmark-color) 46%, #ffffff);
  background: color-mix(in srgb, var(--benchmark-color) 12%, #ffffff);
  color: #10231d;
}

.performance-benchmark-toggle.is-active i {
  opacity: 1;
}

.performance-warning {
  display: grid;
  gap: 2px;
  margin-bottom: 12px;
  border: 1px solid rgba(201, 145, 45, 0.34);
  border-radius: 8px;
  background: #fff8e8;
  padding: 10px 12px;
  color: #604713;
}

.performance-warning strong {
  font-size: 0.86rem;
}

.performance-warning span {
  font-size: 0.82rem;
  font-weight: 700;
}

.performance-benchmark-grid,
.performance-insight-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.performance-benchmark-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.benchmark-comparison-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.performance-insight-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.benchmark-card,
.performance-insight-card {
  display: grid;
  gap: 5px;
  min-height: 92px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 249, 0.96));
  padding: 13px 14px;
}

.benchmark-card span,
.performance-insight-card span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 820;
}

.benchmark-card strong,
.performance-insight-card strong {
  font-size: 1.18rem;
  line-height: 1.05;
}

.benchmark-card small,
.performance-insight-card small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 720;
}

.benchmark-card-header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.benchmark-triple-card {
  gap: 10px;
  min-height: 132px;
}

.benchmark-triple-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.benchmark-triple-values div {
  border: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.72);
  padding: 8px;
}

.benchmark-triple-values small {
  display: block;
  margin-bottom: 4px;
  font-size: 0.66rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.benchmark-triple-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 760;
}

.benchmark-card.is-positive,
.performance-insight-card.is-positive {
  border-color: rgba(15, 122, 99, 0.24);
  background: #f0faf5;
}

.benchmark-card.is-positive strong,
.performance-insight-card.is-positive strong {
  color: var(--brand-dark);
}

.benchmark-card.is-negative,
.performance-insight-card.is-negative {
  border-color: rgba(164, 55, 44, 0.24);
  background: #fff6f4;
}

.benchmark-card.is-negative strong,
.performance-insight-card.is-negative strong {
  color: var(--danger);
}

.performance-insight-card.is-warning {
  border-color: rgba(201, 145, 45, 0.32);
  background: #fff9ec;
}

.performance-insight-card.is-warning strong {
  color: #7a5b14;
}

.performance-snapshot-timeline {
  margin: 2px 0 14px;
}

.snapshot-empty {
  display: grid;
  gap: 3px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 12px 14px;
}

.snapshot-empty strong {
  color: var(--brand-dark);
}

.snapshot-empty span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.snapshot-timeline-track {
  position: relative;
  min-height: 86px;
  margin: 4px 10px 0;
  border-bottom: 2px solid #d8e3dc;
}

.snapshot-marker {
  position: absolute;
  bottom: -8px;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  gap: 4px;
  min-width: 88px;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 800;
  text-align: center;
}

.snapshot-marker:hover span {
  box-shadow: 0 0 0 4px rgba(15, 122, 99, 0.18);
}

.snapshot-marker span {
  width: 14px;
  height: 14px;
  border: 2px solid white;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 0 0 2px rgba(15, 122, 99, 0.18);
}

.snapshot-marker.is-auto span {
  width: 10px;
  height: 10px;
  background: #8fb9aa;
}

.snapshot-marker .is-hidden-label {
  display: none;
}

.snapshot-marker.is-negative span {
  background: var(--danger);
  box-shadow: 0 0 0 2px rgba(164, 55, 44, 0.18);
}

.snapshot-marker.is-auto.is-negative span {
  background: #c68b83;
}

.snapshot-marker strong {
  color: var(--ink);
  font-size: 0.78rem;
}

.snapshot-source-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 9px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
  white-space: nowrap;
}

.snapshot-source-pill.is-auto {
  border-color: rgba(15, 122, 99, 0.18);
  background: #edf7f2;
  color: var(--brand-dark);
}

.snapshot-source-pill.is-manual {
  border-color: rgba(201, 145, 45, 0.26);
  background: #fff8e8;
  color: #6a5422;
}

.performance-detail-panel {
  margin: 14px 0 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfb;
  padding: 14px;
}

.performance-detail-header {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

.performance-detail-header h3 {
  margin: 0;
}

.performance-detail-header p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 720;
}

.performance-detail-summary {
  display: grid;
  justify-items: end;
  min-width: 180px;
  color: var(--muted);
  font-weight: 780;
}

.performance-detail-summary span {
  color: var(--brand-dark);
  font-size: 1.18rem;
  font-weight: 900;
}

.compact-performance-detail table {
  min-width: 980px;
}

.performance-holding-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.performance-holding-toggle,
.performance-holding-toggle-placeholder {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}

.performance-holding-toggle {
  border: 1px solid #bdd6ce;
  border-radius: 7px;
  background: #f4fbf8;
  color: var(--brand);
  cursor: pointer;
  font-weight: 900;
  line-height: 1;
}

.performance-holding-toggle:hover {
  border-color: #86b8aa;
  background: #e7f6f1;
}

.performance-holding-events-row td {
  padding: 0 12px 14px 46px;
  background: #f7fbfa;
}

.performance-events {
  border: 1px solid #cddbd6;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.performance-events-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.performance-events-heading strong {
  color: var(--brand-dark);
  font-size: 0.98rem;
}

.performance-events-list {
  display: grid;
  gap: 8px;
}

.performance-event {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid #dde7e3;
  border-left: 4px solid #7fa69b;
  border-radius: 7px;
  background: #fbfdfc;
}

.performance-event.is-buy {
  border-left-color: #15886f;
}

.performance-event.is-sell {
  border-left-color: #b03a32;
}

.performance-event.is-dividend {
  border-left-color: #c7921e;
}

.performance-event.is-opening {
  border-left-color: #6e8f87;
  background: #f3f7f5;
}

.performance-event-date {
  color: var(--muted);
  font-weight: 850;
}

.performance-event-main {
  display: grid;
  gap: 3px;
}

.performance-event-main strong {
  color: #10251f;
}

.performance-event-main span,
.performance-event-main small,
.performance-events-empty {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.score-form {
  display: grid;
  gap: 14px;
}

.watchlist-form {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.master-data-notice {
  display: grid;
  gap: 3px;
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid #c9d9d3;
  border-left: 4px solid #1971bd;
  border-radius: 6px;
  background: #f4faf8;
  color: #18342d;
}

.master-data-notice.is-pending {
  border-left-color: #c7921f;
  background: #fff9e9;
}

.master-data-notice span,
.master-data-notice small {
  color: #60716b;
}

.beta-security-flow-scenario-control {
  min-width: 190px;
}

.beta-security-flow-status .button-row {
  margin-top: 8px;
}

.beta-security-progress-panel {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbf9;
}

.beta-security-progress-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 8px;
}

.beta-security-progress-chip {
  display: inline-grid;
  gap: 2px;
  align-content: center;
  min-height: 42px;
  padding: 7px 9px;
  border: 1px solid #cbdcd6;
  border-radius: 7px;
  background: #ffffff;
  color: var(--brand-dark);
}

.beta-security-progress-chip strong {
  font-size: 0.78rem;
}

.beta-security-progress-chip small {
  color: var(--muted);
  font-weight: 800;
}

.beta-security-progress-chip.is-running {
  border-color: #e6bf54;
  background: #fff8e4;
}

.beta-security-progress-chip.is-done {
  border-color: #7cc99c;
  background: #effaf3;
}

.beta-security-progress-chip.is-failed {
  border-color: #df8d82;
  background: #fff2ef;
}

.watchlist-add-panel {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7faf8);
  padding: 0;
}

.watchlist-add-panel summary {
  min-height: 44px;
  cursor: pointer;
  padding: 12px 14px;
  color: var(--brand-dark);
  font-weight: 850;
  list-style-position: inside;
}

.watchlist-add-panel[open] {
  padding: 0 14px 14px;
}

.watchlist-add-panel[open] summary {
  border-bottom: 1px solid var(--line);
  margin: 0 -14px 0;
}

.score-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.score-grid label span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.research-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  justify-content: center;
  padding-inline: 16px;
  white-space: nowrap;
}

.score-entry-panel summary {
  max-width: none;
}

.score-entry-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 150px auto auto;
  align-items: end;
}

.research-button svg,
.score-research-button svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.score-input-10 {
  border-color: #89b8ff;
  background: #eaf2ff;
}

.score-input-8 {
  border-color: #94d7ad;
  background: #eaf8ef;
}

.score-input-6 {
  border-color: #ead27d;
  background: #fff8dc;
}

.score-input-4 {
  border-color: #efb071;
  background: #fff0df;
}

.score-input-2 {
  border-color: #f29a8f;
  background: #fff0ee;
}

.score-input-0 {
  border-color: #d4dbd6;
  background: #f4f6f5;
}

.score-pill {
  display: inline-flex;
  min-width: 42px;
  justify-content: center;
  border: 1px solid;
  border-radius: 8px;
  padding: 5px 9px;
  color: #10221a;
  font-weight: 900;
}

.score-pill.is-score-10,
.score-pill.is-score-9 {
  border-color: #89b8ff;
  background: #eaf2ff;
}

.score-pill.is-score-8,
.score-pill.is-score-7 {
  border-color: #94d7ad;
  background: #eaf8ef;
}

.score-pill.is-score-6,
.score-pill.is-score-5 {
  border-color: #ead27d;
  background: #fff8dc;
}

.score-pill.is-score-4,
.score-pill.is-score-3 {
  border-color: #efb071;
  background: #fff0df;
}

.score-pill.is-score-2,
.score-pill.is-score-1 {
  border-color: #f29a8f;
  background: #fff0ee;
}

.score-pill.is-score-0 {
  border-color: #d4dbd6;
  background: #f4f6f5;
}

.module-manual-input.is-score-10,
.module-manual-input.is-score-9,
.sis-manual-input.is-score-10,
.sis-manual-input.is-score-9 {
  border-color: #89b8ff;
  background: #eaf2ff;
}

.module-manual-input.is-score-8,
.module-manual-input.is-score-7,
.sis-manual-input.is-score-8,
.sis-manual-input.is-score-7 {
  border-color: #94d7ad;
  background: #eaf8ef;
}

.module-manual-input.is-score-6,
.module-manual-input.is-score-5,
.sis-manual-input.is-score-6,
.sis-manual-input.is-score-5 {
  border-color: #ead27d;
  background: #fff8dc;
}

.module-manual-input.is-score-4,
.module-manual-input.is-score-3,
.sis-manual-input.is-score-4,
.sis-manual-input.is-score-3 {
  border-color: #efb071;
  background: #fff0df;
}

.module-manual-input.is-score-2,
.module-manual-input.is-score-1,
.sis-manual-input.is-score-2,
.sis-manual-input.is-score-1 {
  border-color: #f29a8f;
  background: #fff0ee;
}

.module-manual-input.is-score-0,
.sis-manual-input.is-score-0 {
  border-color: #d4dbd6;
  background: #f4f6f5;
}

.module-edit-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
}

.module-edit-toolbar .helper-text {
  margin: 0;
}

.fis-research-detail {
  min-width: 0;
  overflow-x: hidden;
}

.fis-intro-card {
  margin: 0 0 10px;
  padding: 10px 12px;
}

.fis-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}

.fis-summary-grid .summary-card {
  min-width: 0;
  min-height: 82px;
  padding: 10px 12px;
}

.fis-summary-grid .summary-card strong,
.fis-summary-grid .summary-card small {
  overflow-wrap: anywhere;
}

.fis-version-card strong {
  font-size: 0.94rem;
}

.fis-version-card {
  position: relative;
}

.fis-current-hint {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 5px;
  color: #8a5b0d;
  font-size: 0.7rem;
  font-weight: 850;
  line-height: 1.2;
}

.fis-current-hint {
  color: var(--brand-dark);
}

.fis-update-warning {
  position: absolute;
  top: 8px;
  right: 8px;
  display: block;
  width: 42px;
  height: 42px;
}

.fis-update-warning img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.fis-research-detail .module-edit-toolbar {
  gap: 8px;
  margin-bottom: 8px;
}

.fis-factor-table-wrap {
  overflow-x: hidden;
}

.fis-detail-table {
  width: 100%;
  table-layout: fixed;
  font-size: 0.86rem;
}

.fis-detail-table th,
.fis-detail-table td {
  padding: 6px 8px;
  vertical-align: top;
  white-space: normal;
}

.fis-detail-table th:nth-child(1),
.fis-detail-table td:nth-child(1) {
  width: 24%;
}

.fis-detail-table th:nth-child(2),
.fis-detail-table td:nth-child(2) {
  width: 9%;
}

.fis-detail-table th:nth-child(3),
.fis-detail-table td:nth-child(3) {
  width: 7%;
}

.fis-detail-table th:nth-child(4),
.fis-detail-table td:nth-child(4) {
  width: 60%;
}

.fis-detail-table .module-manual-input {
  min-width: 58px;
  width: 58px;
}

.fis-detail-table .security-subline {
  margin-top: 1px;
  line-height: 1.15;
  white-space: normal;
}

.fis-detail-table .fis-factor-meter-row td {
  padding: 0 8px 4px;
}

.fis-factor-fill.is-score-10 span {
  background: #1971bd;
}

.fis-factor-fill.is-score-8 span {
  background: #15866f;
}

.fis-factor-fill.is-score-6 span {
  background: #c89a20;
}

.fis-factor-fill.is-score-4 span {
  background: #dd7a2a;
}

.fis-factor-fill.is-score-2 span {
  background: #bd3c32;
}

.fis-factor-fill.is-score-0 span {
  background: #98a29d;
}

.manual-correction-badge {
  align-items: center;
  background: #eaf2ff;
  border: 1px solid #8fb7f0;
  border-radius: 999px;
  color: #103775;
  display: inline-flex;
  font-size: 0.66rem;
  font-weight: 950;
  height: 18px;
  justify-content: center;
  line-height: 1;
  margin-left: 5px;
  min-width: 18px;
  padding: 0 5px;
  vertical-align: middle;
}

.summary-card .manual-correction-badge {
  display: inline-flex;
  width: auto;
}

.manual-correction-notice {
  align-items: center;
  background: #edf5ff;
  border: 1px solid #aac7ee;
  border-radius: 6px;
  color: #103775;
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  padding: 8px 10px;
}

.manual-correction-notice small {
  color: var(--muted);
  margin-left: auto;
}

.module-manual-input,
.sis-manual-input {
  font-weight: 900;
  min-width: 74px;
  text-align: center;
  width: 74px;
}

.module-manual-input:disabled,
.sis-manual-input:disabled {
  cursor: default;
  opacity: 1;
}

.module-manual-input.is-editing,
.sis-manual-input.is-editing {
  box-shadow: 0 0 0 2px rgba(16, 55, 117, 0.12);
}

.fis-factor-meter-row td {
  padding-top: 0;
  padding-bottom: 8px;
}

.score-delta-wrap {
  display: inline-grid;
  gap: 2px;
}

.score-delta {
  font-size: 0.72rem;
  font-weight: 900;
}

.score-delta.is-up {
  color: var(--brand-dark);
}

.score-delta.is-down {
  color: var(--danger);
}

.score-research-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #c7d7cf;
  border-radius: 8px;
  background: #f8fbf9;
  padding: 0;
  color: var(--brand-dark);
  cursor: pointer;
}

.score-research-actions {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}

.score-research-button.ai-summary-button {
  border-color: #c7d7cf;
  background: #f8fbf9;
  color: var(--brand-dark);
  font-weight: 900;
}

.score-research-button.ai-summary-button:hover {
  border-color: var(--brand);
  background: #eef7f3;
  color: var(--brand-dark);
}

.score-research-button.stock-journey-button {
  border-color: #b8d2d8;
  background: linear-gradient(180deg, #f7fcff, #edf6f8);
  color: #1e6273;
}

.score-research-button.stock-journey-button:hover {
  border-color: #1e8aa2;
  background: #e7f6fa;
}

.ai-summary-label {
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0;
}

.watch-research-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.mini-research-button {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #c7d7cf;
  border-radius: 8px;
  background: #f8fbf9;
  color: var(--brand-dark);
  cursor: pointer;
}

.mini-research-button:hover {
  border-color: var(--brand);
  background: #eef7f3;
}

.mini-research-button.is-deep {
  border-color: #d8c07f;
  color: #7a5b14;
}

.mini-research-button svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.watch-insight-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.score-research-button:hover {
  border-color: var(--brand);
  background: #eef7f3;
}

.score-research-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.score-research-button.is-deep {
  border-color: #d8c07f;
  color: #7a5b14;
}

.score-research-button.is-scenario {
  border-color: #b8d2d8;
  color: #1e6273;
}

.ai-summary-panel {
  display: grid;
  gap: 12px;
}

.ai-summary-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #c8ddd5;
  border-radius: 8px;
  background: #f6fbf9;
}

.ai-summary-toolbar div {
  display: grid;
  gap: 2px;
}

.ai-summary-toolbar b {
  color: var(--brand-dark);
}

.ai-summary-toolbar small {
  color: var(--muted);
  font-weight: 700;
}

.ai-summary-textarea {
  width: 100%;
  min-height: 64vh;
  resize: vertical;
  border: 1px solid #bdd6ce;
  border-radius: 8px;
  background: #fbfdfc;
  color: var(--ink);
  padding: 16px;
  font-family: "Cascadia Mono", Consolas, "Courier New", monospace;
  font-size: 0.86rem;
  line-height: 1.5;
  white-space: pre;
}

.research-confidence-dot {
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 7px;
  height: 7px;
  border: 1px solid white;
  border-radius: 999px;
  background: #aeb8b2;
}

.research-confidence-dot.is-high {
  background: var(--brand);
}

.research-confidence-dot.is-medium {
  background: var(--accent);
}

.research-confidence-dot.is-low {
  background: var(--danger);
}

.research-confidence-dot.is-none {
  background: #aeb8b2;
}

.research-mode-star {
  position: absolute;
  top: -6px;
  right: -5px;
  display: inline-grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border: 1px solid #d8c07f;
  border-radius: 999px;
  background: #fff8df;
  color: #9a6b12;
  font-size: 0.64rem;
  line-height: 1;
}

.score-overview-row td {
  padding-top: 10px;
  padding-bottom: 10px;
}

td.score-group-start,
th.score-group-start {
  border-left: 2px solid rgba(9, 78, 61, 0.16);
}

td.score-group-start {
  box-shadow: inset 6px 0 0 rgba(9, 78, 61, 0.025);
}

.matrix-score-card {
  display: inline-grid;
  position: relative;
  width: 70px;
  min-height: 50px;
  place-items: center;
  border: 1px solid #cbd9d2;
  border-radius: 8px;
  background: #f8fbf9;
  padding: 5px 6px;
  text-align: center;
  overflow: hidden;
}

.matrix-score-button {
  cursor: pointer;
  font: inherit;
}

.matrix-score-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(16, 34, 26, 0.12);
}

.matrix-score-card strong {
  color: #10221a;
  font-size: 1.12rem;
  line-height: 1;
}

.matrix-score-card small {
  font-size: 0.72rem;
  font-weight: 900;
}

.matrix-score-fill {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(14, 24, 19, 0.08);
}

.matrix-score-fill span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--brand);
}

.score-overview-table.matrix-paged .matrix-score-fill {
  display: none;
}

.score-overview-table.matrix-paged .matrix-score-card {
  min-height: 42px;
}

.matrix-page-controls {
  position: sticky;
  top: 0;
  z-index: 8;
  display: grid;
  grid-template-columns: auto repeat(6, minmax(92px, 1fr));
  justify-content: stretch;
  align-items: center;
  gap: 4px;
  margin: 10px 0 12px;
  padding: 6px;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(246, 250, 247, 0.96), rgba(236, 245, 240, 0.92));
  box-shadow: 0 12px 30px rgba(10, 42, 32, 0.07);
  backdrop-filter: blur(10px);
  width: 100%;
  max-width: 100%;
}

.matrix-page-controls span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 10px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.matrix-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid rgba(15, 122, 99, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--brand);
  cursor: pointer;
  font-weight: 900;
  line-height: 1.1;
  padding: 8px 10px;
  text-align: center;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.matrix-page-button:hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(15, 122, 99, 0.22);
  transform: translateY(-1px);
}

.matrix-page-button.is-active {
  background: linear-gradient(180deg, #168f76, var(--brand));
  border-color: var(--brand);
  box-shadow: 0 8px 18px rgba(15, 122, 99, 0.22);
  color: white;
}

@media (max-width: 900px) {
  .matrix-page-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 10px;
  }

  .matrix-page-controls span {
    grid-column: 1 / -1;
    justify-content: flex-start;
    min-height: 24px;
    padding: 0 4px;
  }
}

.matrix-page-wrap {
  overflow-x: hidden;
}

.score-overview-table.matrix-paged {
  width: 100%;
  table-layout: fixed;
}

.scoring-matrix-table.is-page-1 th:nth-child(n+8):nth-child(-n+30),
.scoring-matrix-table.is-page-1 td:nth-child(n+8):nth-child(-n+30),
.scoring-matrix-table.is-page-2 th:nth-child(n+2):nth-child(-n+7),
.scoring-matrix-table.is-page-2 td:nth-child(n+2):nth-child(-n+7),
.scoring-matrix-table.is-page-2 th:nth-child(n+13):nth-child(-n+30),
.scoring-matrix-table.is-page-2 td:nth-child(n+13):nth-child(-n+30),
.scoring-matrix-table.is-page-3 th:nth-child(n+2):nth-child(-n+23),
.scoring-matrix-table.is-page-3 td:nth-child(n+2):nth-child(-n+23),
.scoring-matrix-table.is-page-4 th:nth-child(n+2):nth-child(-n+17),
.scoring-matrix-table.is-page-4 td:nth-child(n+2):nth-child(-n+17),
.scoring-matrix-table.is-page-4 th:nth-child(n+24):nth-child(-n+30),
.scoring-matrix-table.is-page-4 td:nth-child(n+24):nth-child(-n+30),
.scoring-matrix-table.is-page-5 th:nth-child(n+2):nth-child(-n+12),
.scoring-matrix-table.is-page-5 td:nth-child(n+2):nth-child(-n+12),
.scoring-matrix-table.is-page-5 th:nth-child(n+17):nth-child(-n+30),
.scoring-matrix-table.is-page-5 td:nth-child(n+17):nth-child(-n+30),
.scoring-matrix-table.is-page-6 th:nth-child(n+2):nth-child(-n+16),
.scoring-matrix-table.is-page-6 td:nth-child(n+2):nth-child(-n+16),
.scoring-matrix-table.is-page-6 th:nth-child(n+18):nth-child(-n+30),
.scoring-matrix-table.is-page-6 td:nth-child(n+18):nth-child(-n+30),
.watchlist-matrix-table.is-page-1 th:nth-child(n+7):nth-child(-n+30),
.watchlist-matrix-table.is-page-1 td:nth-child(n+7):nth-child(-n+30),
.watchlist-matrix-table.is-page-2 th:nth-child(n+2):nth-child(-n+6),
.watchlist-matrix-table.is-page-2 td:nth-child(n+2):nth-child(-n+6),
.watchlist-matrix-table.is-page-2 th:nth-child(n+12):nth-child(-n+30),
.watchlist-matrix-table.is-page-2 td:nth-child(n+12):nth-child(-n+30),
.watchlist-matrix-table.is-page-3 th:nth-child(n+2):nth-child(-n+22),
.watchlist-matrix-table.is-page-3 td:nth-child(n+2):nth-child(-n+22),
.watchlist-matrix-table.is-page-3 th:nth-child(30),
.watchlist-matrix-table.is-page-3 td:nth-child(30),
.watchlist-matrix-table.is-page-4 th:nth-child(n+2):nth-child(-n+16),
.watchlist-matrix-table.is-page-4 td:nth-child(n+2):nth-child(-n+16),
.watchlist-matrix-table.is-page-4 th:nth-child(n+23):nth-child(-n+30),
.watchlist-matrix-table.is-page-4 td:nth-child(n+23):nth-child(-n+30),
.watchlist-matrix-table.is-page-5 th:nth-child(n+2):nth-child(-n+11),
.watchlist-matrix-table.is-page-5 td:nth-child(n+2):nth-child(-n+11),
.watchlist-matrix-table.is-page-5 th:nth-child(n+16):nth-child(-n+30),
.watchlist-matrix-table.is-page-5 td:nth-child(n+16):nth-child(-n+30),
.watchlist-matrix-table.is-page-6 th:nth-child(n+2):nth-child(-n+15),
.watchlist-matrix-table.is-page-6 td:nth-child(n+2):nth-child(-n+15),
.watchlist-matrix-table.is-page-6 th:nth-child(n+17):nth-child(-n+30),
.watchlist-matrix-table.is-page-6 td:nth-child(n+17):nth-child(-n+30) {
  display: none;
}

.matrix-header-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  line-height: 1.05;
  white-space: normal;
}

.scoring-matrix-table.is-page-3 th:nth-child(n+24):nth-child(-n+30),
.watchlist-matrix-table.is-page-3 th:nth-child(n+23):nth-child(-n+29) {
  white-space: normal;
  line-height: 1.05;
  font-size: 0.68rem;
  padding-inline: 3px;
}

.matrix-score-card.is-fiss {
  border-color: #9fcfbd;
  background: linear-gradient(180deg, #eef9f4, #ffffff);
}

.matrix-score-card.is-fis {
  border-color: #94c8d8;
  background: linear-gradient(180deg, #eef8ff, #ffffff);
}

.matrix-score-card.is-fis .matrix-score-fill span {
  background: linear-gradient(90deg, #1971bd, #22a783);
}

.matrix-score-card.is-fss {
  border-color: #b8d3b6;
  background: linear-gradient(180deg, #eff9ed, #ffffff);
}

.matrix-score-card.is-fss .matrix-score-fill span {
  background: linear-gradient(90deg, #0f7a63, #88b04b);
}

.matrix-score-card.is-future {
  border-color: #9cc7e6;
  background: linear-gradient(180deg, #eef7ff, #ffffff);
}

.matrix-score-card.is-future .matrix-score-fill span {
  background: linear-gradient(90deg, #1971bd, #22a783);
}

.matrix-score-card.is-ctc {
  border-color: #9bb6d8;
  background: linear-gradient(180deg, #eef5ff, #ffffff);
}

.matrix-score-card.is-ctc .matrix-score-fill span {
  background: linear-gradient(90deg, #103775, #1971bd);
}

.matrix-score-card.is-phase-cycle-metric {
  border-color: #a9c9cf;
  background: linear-gradient(180deg, #eef8f8, #ffffff);
}

.matrix-score-card.is-phase-cycle-metric .matrix-score-fill span {
  background: linear-gradient(90deg, #1971bd, #22a783);
}

.matrix-score-card.is-score-10,
.matrix-score-card.is-score-9 {
  border-color: #89b8ff;
  background: linear-gradient(180deg, #eaf2ff, #ffffff);
}

.matrix-score-card.is-score-8,
.matrix-score-card.is-score-7 {
  border-color: #94d7ad;
  background: linear-gradient(180deg, #eaf8ef, #ffffff);
}

.matrix-score-card.is-score-6,
.matrix-score-card.is-score-5 {
  border-color: #ead27d;
  background: linear-gradient(180deg, #fff8dc, #ffffff);
}

.matrix-score-card.is-score-4,
.matrix-score-card.is-score-3 {
  border-color: #efb071;
  background: linear-gradient(180deg, #fff0df, #ffffff);
}

.matrix-score-card.is-score-2,
.matrix-score-card.is-score-1 {
  border-color: #f29a8f;
  background: linear-gradient(180deg, #fff0ee, #ffffff);
}

.matrix-score-card.is-score-0 {
  border-color: #d4dbd6;
  background: linear-gradient(180deg, #f4f6f5, #ffffff);
}

.matrix-score-card.is-alarm,
.matrix-score-card.is-fss.is-alarm {
  border-color: #450a0a;
  background: linear-gradient(180deg, #7f1d1d, #450a0a);
  color: #ffffff;
}

.matrix-score-card.is-alarm strong,
.matrix-score-card.is-fss.is-alarm strong {
  color: #ffffff;
}

.matrix-score-card.is-alarm .matrix-score-fill,
.matrix-score-card.is-fss.is-alarm .matrix-score-fill {
  background: rgba(255, 255, 255, 0.22);
}

.matrix-score-card.is-alarm .matrix-score-fill span,
.matrix-score-card.is-fss.is-alarm .matrix-score-fill span {
  background: #fecaca;
}

.matrix-score-card.is-take-super,
.summary-card.is-take-super {
  border-color: #082f75;
  background: linear-gradient(180deg, #0b5fc7, #082f75);
  color: #ffffff;
  box-shadow:
    0 0 0 1px rgba(8, 47, 117, 0.42),
    0 0 18px rgba(25, 113, 189, 0.58),
    0 0 34px rgba(56, 189, 248, 0.22);
  animation: takeSuperPulse 2.35s ease-in-out infinite;
}

.matrix-score-card.is-take-super strong,
.summary-card.is-take-super strong {
  color: #ffffff;
}

.matrix-score-card.is-take-super .matrix-score-fill {
  background: rgba(255, 255, 255, 0.2);
}

.matrix-score-card.is-take-super .matrix-score-fill span {
  background: #bfdbfe;
}

.take-interpretation.is-take-super {
  border-color: #082f75;
  background: linear-gradient(180deg, rgba(11, 95, 199, 0.14), rgba(255, 255, 255, 0.96));
  box-shadow: 0 0 22px rgba(25, 113, 189, 0.2);
}

@keyframes takeSuperPulse {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(8, 47, 117, 0.42),
      0 0 16px rgba(25, 113, 189, 0.48),
      0 0 30px rgba(56, 189, 248, 0.18);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(56, 189, 248, 0.58),
      0 0 24px rgba(25, 113, 189, 0.68),
      0 0 42px rgba(56, 189, 248, 0.3);
  }
}

.matrix-score-card.is-signal.is-score-10 .matrix-score-fill span,
.matrix-score-card.is-signal.is-score-9 .matrix-score-fill span {
  background: #1971bd;
}

.matrix-score-card.is-signal.is-score-8 .matrix-score-fill span,
.matrix-score-card.is-signal.is-score-7 .matrix-score-fill span {
  background: #15866f;
}

.matrix-score-card.is-signal.is-score-6 .matrix-score-fill span,
.matrix-score-card.is-signal.is-score-5 .matrix-score-fill span {
  background: #c99322;
}

.matrix-score-card.is-signal.is-score-4 .matrix-score-fill span,
.matrix-score-card.is-signal.is-score-3 .matrix-score-fill span {
  background: #d87732;
}

.matrix-score-card.is-signal.is-score-2 .matrix-score-fill span,
.matrix-score-card.is-signal.is-score-1 .matrix-score-fill span {
  background: #b63b32;
}

.ctc-upload-label {
  cursor: pointer;
}

.ctc-capture-panel {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  margin: 8px 0 14px;
  padding: 10px 12px;
  border: 1px dashed rgba(17, 115, 94, 0.35);
  border-radius: 8px;
  background: rgba(239, 248, 244, 0.65);
  color: var(--muted);
}

.ctc-capture-panel strong {
  color: var(--brand);
}

.ctc-capture-panel.has-image {
  border-style: solid;
  border-color: rgba(25, 113, 189, 0.38);
  background: rgba(238, 245, 255, 0.85);
}

.ctc-capture-panel.is-ready {
  border-color: rgba(17, 122, 99, 0.4);
  background: rgba(235, 248, 241, 0.92);
}

.ctc-capture-panel.is-warning {
  border-color: rgba(194, 143, 28, 0.42);
  background: rgba(255, 248, 220, 0.72);
}

.ctc-capture-panel #ctcScreenshotStatus {
  display: grid;
  gap: 3px;
}

.ctc-capture-panel small {
  color: var(--muted);
  font-weight: 800;
}

.ctc-readiness-missing {
  color: #8a5b0d;
  font-weight: 800;
}

.ctc-readiness-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.ctc-screenshot-thumb {
  margin: 14px 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #f7faf8;
}

.ctc-screenshot-thumb img {
  display: block;
  width: 100%;
  max-height: 360px;
  object-fit: contain;
}

.ctc-check {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid #d9e4df;
  background: #f7faf8;
  color: var(--muted);
  font-weight: 800;
  font-size: 0.8rem;
}

.ctc-check.is-ok {
  border-color: #aad6c3;
  background: #ebf8f1;
  color: #0d6b56;
}

.ctc-check.is-missing {
  border-color: #ead27d;
  background: #fff8dc;
  color: #805910;
}

.warning-box {
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid #ead27d;
  border-radius: 8px;
  background: #fff8dc;
  color: #69450c;
  font-weight: 700;
}

.nds-cluster-card {
  width: 100%;
  min-width: 150px;
  max-width: 230px;
  border: 1px solid rgba(20, 112, 90, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(244, 250, 247, 0.96), rgba(255, 255, 255, 0.96));
  color: #0b4f40;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  text-align: left;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.nds-cluster-card:hover {
  border-color: rgba(20, 112, 90, 0.36);
  box-shadow: 0 8px 20px rgba(10, 43, 36, 0.08);
  transform: translateY(-1px);
}

.nds-cluster-card strong {
  font-size: 0.78rem;
  line-height: 1.15;
}

.nds-cluster-card small {
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.15;
}

.nds-heat-card {
  width: 100%;
  min-width: 112px;
  max-width: 150px;
  border: 1px solid rgba(20, 112, 90, 0.18);
  border-radius: 8px;
  background: linear-gradient(180deg, #f7fbf9, #ffffff);
  color: #10251f;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 7px 9px;
  text-align: center;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.nds-heat-card:hover {
  box-shadow: 0 8px 20px rgba(10, 43, 36, 0.08);
  transform: translateY(-1px);
}

.nds-heat-card strong {
  font-size: 1rem;
  line-height: 1;
}

.nds-heat-card small {
  color: var(--muted);
  font-size: 0.66rem;
  line-height: 1.1;
  min-height: 1.2em;
}

.nds-signal-card {
  width: 100%;
  min-width: 220px;
  max-width: 270px;
  border: 1px solid rgba(20, 112, 90, 0.16);
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbf9, #ffffff);
  cursor: pointer;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding: 7px;
  text-align: center;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.nds-signal-card:hover {
  border-color: rgba(20, 112, 90, 0.34);
  box-shadow: 0 8px 20px rgba(10, 43, 36, 0.08);
  transform: translateY(-1px);
}

.chart-ampel-card {
  width: 100%;
  min-width: 210px;
  max-width: 238px;
  border: 1px solid rgba(20, 112, 90, 0.16);
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbf9, #ffffff);
  cursor: pointer;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding: 7px;
  text-align: center;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.chart-ampel-card:hover {
  border-color: rgba(20, 112, 90, 0.34);
  box-shadow: 0 8px 20px rgba(10, 43, 36, 0.08);
  transform: translateY(-1px);
}

.chart-ampel-card.is-empty {
  display: inline-grid;
  min-width: 104px;
  min-height: 50px;
  place-items: center;
  color: var(--muted);
}

.chart-ampel-cell {
  border: 1px solid #d4dbd6;
  border-radius: 7px;
  display: grid;
  gap: 2px;
  min-height: 42px;
  place-items: center;
  padding: 4px 5px;
}

.chart-ampel-cell small {
  color: var(--muted);
  font-size: 0.6rem;
  font-weight: 900;
  line-height: 1;
}

.chart-ampel-cell strong {
  color: #10221a;
  font-size: 0.92rem;
  line-height: 1;
}

.chart-ampel-cell.is-top {
  border-color: #89b8ff;
  background: #eaf2ff;
}

.chart-ampel-cell.is-ok {
  border-color: #8fd6ab;
  background: #edf9f1;
}

.chart-ampel-cell.is-check {
  border-color: #ead486;
  background: #fff9df;
}

.chart-ampel-cell.is-warning {
  border-color: #efb071;
  background: #fff0df;
}

.chart-ampel-cell.is-danger {
  border-color: #ef9d93;
  background: #fff0ee;
}

.chart-ampel-cell.is-unrated {
  border-color: #d7dfdb;
  background: #f5f7f6;
}

.chart-ampel-cell.is-unrated strong {
  color: var(--muted);
}

.chart-pattern-audit {
  border: 1px solid rgba(20, 112, 90, 0.22);
  border-radius: 8px;
  background: #f7fbf9;
  margin: 16px 0;
  padding: 16px;
}

.chart-pattern-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.chart-pattern-title-row h3 {
  margin: 2px 0 5px;
  font-size: 1.05rem;
}

.chart-pattern-title-row p,
.chart-pattern-item p {
  margin: 0;
  color: var(--muted);
  line-height: 1.35;
}

.chart-pattern-dominant {
  min-width: 180px;
  border-left: 3px solid var(--brand);
  padding-left: 10px;
}

.chart-pattern-dominant span,
.chart-pattern-group {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.chart-pattern-summary,
.chart-pattern-bias {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.chart-pattern-summary span,
.chart-pattern-bias span {
  border: 1px solid #d5dfda;
  border-radius: 999px;
  background: white;
  padding: 5px 9px;
  font-size: 0.78rem;
}

.chart-pattern-bias small {
  align-self: center;
  color: var(--muted);
}

.chart-pattern-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.chart-pattern-item {
  border: 1px solid #d7dfdb;
  border-left: 4px solid #8a9690;
  border-radius: 7px;
  background: white;
  padding: 11px;
}

.chart-pattern-item.is-erkannt { border-left-color: #147b60; }
.chart-pattern-item.is-bildet_sich_gerade { border-left-color: #d99b1f; }
.chart-pattern-item.is-schwach_vorhanden { border-left-color: #d4b95e; }
.chart-pattern-item.is-nicht_vorhanden { border-left-color: #b9c2bd; }
.chart-pattern-item.is-nicht_bewertbar { border-left-color: #6d7772; }

.chart-pattern-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.chart-pattern-head strong {
  display: block;
  margin-top: 2px;
}

.chart-pattern-status {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #eef3f0;
  padding: 4px 7px;
  color: #315047;
  font-size: 0.68rem;
  font-weight: 850;
}

.chart-pattern-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 9px 0;
}

.chart-pattern-metrics span {
  border-radius: 5px;
  background: #edf4f1;
  padding: 3px 6px;
  font-size: 0.7rem;
  font-weight: 750;
}

.chart-pattern-item dl {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 4px 8px;
  margin: 9px 0 0;
  font-size: 0.76rem;
}

.chart-pattern-item dt { color: var(--muted); font-weight: 800; }
.chart-pattern-item dd { margin: 0; }

.chart-pattern-all {
  margin-top: 12px;
}

.chart-pattern-all summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 800;
}

.chart-pattern-grid.is-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chart-pattern-item.is-compact {
  padding: 8px;
}

@media (max-width: 820px) {
  .chart-pattern-title-row { display: grid; }
  .chart-pattern-grid,
  .chart-pattern-grid.is-compact { grid-template-columns: 1fr; }
  .chart-pattern-dominant { min-width: 0; }
}

.nds-signal-cell {
  border: 1px solid #d4dbd6;
  border-radius: 7px;
  display: grid;
  gap: 2px;
  min-height: 42px;
  place-items: center;
  padding: 4px 5px;
}

.nds-signal-cell small {
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.nds-signal-cell strong {
  color: #10221a;
  font-size: 0.94rem;
  line-height: 1;
}

.nds-signal-cell.is-score-10,
.nds-signal-cell.is-score-9 {
  border-color: #89b8ff;
  background: #eaf2ff;
}

.nds-signal-cell.is-score-8,
.nds-signal-cell.is-score-7 {
  border-color: #94d7ad;
  background: #eaf8ef;
}

.nds-signal-cell.is-score-6,
.nds-signal-cell.is-score-5 {
  border-color: #ead27d;
  background: #fff8dc;
}

.nds-signal-cell.is-score-4,
.nds-signal-cell.is-score-3 {
  border-color: #efb071;
  background: #fff0df;
}

.nds-signal-cell.is-score-2,
.nds-signal-cell.is-score-1 {
  border-color: #f29a8f;
  background: #fff0ee;
}

.nds-signal-score {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1;
  padding-top: 1px;
}

.nds-signal-detail {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid rgba(20, 112, 90, 0.16);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(248, 251, 249, 0.96), rgba(255, 255, 255, 0.96));
}

.nds-signal-detail-row {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(160px, 1fr) 48px;
  align-items: center;
  gap: 12px;
}

.nds-signal-detail-row strong {
  display: block;
  color: #10221a;
  font-size: 0.88rem;
}

.nds-signal-detail-row small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.nds-signal-detail-row b {
  color: #10221a;
  text-align: right;
}

.nds-signal-detail-track {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(14, 24, 19, 0.08);
}

.nds-signal-detail-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #d4dbd6;
}

.nds-signal-detail-row.is-score-10 .nds-signal-detail-track span,
.nds-signal-detail-row.is-score-9 .nds-signal-detail-track span {
  background: #2f80d0;
}

.nds-signal-detail-row.is-score-8 .nds-signal-detail-track span,
.nds-signal-detail-row.is-score-7 .nds-signal-detail-track span {
  background: #45ad73;
}

.nds-signal-detail-row.is-score-6 .nds-signal-detail-track span,
.nds-signal-detail-row.is-score-5 .nds-signal-detail-track span {
  background: #d8b33f;
}

.nds-signal-detail-row.is-score-4 .nds-signal-detail-track span,
.nds-signal-detail-row.is-score-3 .nds-signal-detail-track span {
  background: #d88743;
}

.nds-signal-detail-row.is-score-2 .nds-signal-detail-track span,
.nds-signal-detail-row.is-score-1 .nds-signal-detail-track span {
  background: #d96558;
}

.nds-heat-card.is-nds-cold {
  border-color: #9cc4ea;
  background: linear-gradient(180deg, #edf7ff, #ffffff);
}

.nds-heat-card.is-nds-early {
  border-color: #9ed8ce;
  background: linear-gradient(180deg, #edf9f6, #ffffff);
}

.nds-heat-card.is-nds-window {
  border-color: #94d7ad;
  background: linear-gradient(180deg, #ecf8f0, #ffffff);
}

.nds-heat-card.is-nds-warm {
  border-color: #ead27d;
  background: linear-gradient(180deg, #fff8df, #ffffff);
}

.nds-heat-card.is-nds-hot {
  border-color: #efa18f;
  background: linear-gradient(180deg, #fff0ea, #ffffff);
}

.timing-detail-layout {
  display: grid;
  gap: 14px;
}

.timing-detail-hero,
.timing-detail-section {
  border: 1px solid rgba(10, 92, 76, 0.16);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 252, 249, 0.84));
  box-shadow: 0 10px 24px rgba(16, 34, 26, 0.05);
}

.timing-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 18px;
  border-left: 5px solid #15866f;
  padding: 14px 16px;
}

.timing-detail-hero.is-nds-cold {
  border-left-color: #1971bd;
  background: linear-gradient(180deg, #eef7ff, #ffffff);
}

.timing-detail-hero.is-nds-early {
  border-left-color: #36a3c9;
  background: linear-gradient(180deg, #effaff, #ffffff);
}

.timing-detail-hero.is-nds-window {
  border-left-color: #15866f;
  background: linear-gradient(180deg, #ecfdf5, #ffffff);
}

.timing-detail-hero.is-nds-warm {
  border-left-color: #c99322;
  background: linear-gradient(180deg, #fff8dc, #ffffff);
}

.timing-detail-hero.is-nds-hot {
  border-left-color: #b63b32;
  background: linear-gradient(180deg, #fff0ee, #ffffff);
}

.timing-detail-kicker,
.timing-detail-version {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.timing-detail-hero h3 {
  margin: 3px 0;
  color: #063f34;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  font-weight: 950;
  line-height: 1;
}

.timing-detail-hero p {
  margin: 0;
  color: #40564c;
  font-size: 1rem;
  font-weight: 850;
}

.timing-detail-hero small {
  color: #617168;
  font-size: 0.78rem;
  font-weight: 650;
}

.timing-detail-signal {
  display: grid;
  width: 106px;
  height: 106px;
  place-items: center;
  border: 10px solid rgba(21, 134, 111, 0.18);
  border-top-color: #15a989;
  border-right-color: #15a989;
  border-radius: 999px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 8px 20px rgba(16, 34, 26, 0.08);
}

.timing-detail-signal strong {
  color: #079075;
  font-size: 1.9rem;
  font-weight: 950;
  line-height: 0.9;
}

.timing-detail-signal span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
}

.timing-kpi-strip {
  display: flex;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  gap: 6px;
}

.timing-kpi-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(10, 92, 76, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.75);
  padding: 6px 9px;
}

.timing-kpi-chip small {
  color: #52695f;
  font-size: 0.7rem;
  font-weight: 900;
}

.timing-kpi-chip strong {
  color: #063f34;
  font-size: 0.82rem;
  font-weight: 950;
}

.timing-kpi-chip.is-score-9,
.timing-kpi-chip.is-score-8,
.timing-kpi-chip.is-score-7 {
  border-color: #94d7ad;
  background: #ecfdf5;
}

.timing-kpi-chip.is-score-6,
.timing-kpi-chip.is-score-5 {
  border-color: #ead27d;
  background: #fff8dc;
}

.timing-kpi-chip.is-score-4,
.timing-kpi-chip.is-score-3 {
  border-color: #efb071;
  background: #fff0df;
}

.timing-kpi-chip.is-score-2,
.timing-kpi-chip.is-score-1 {
  border-color: #ef9a91;
  background: #fff0ee;
}

.timing-detail-version {
  grid-column: 1 / -1;
  opacity: 0.68;
  text-transform: none;
}

.timing-detail-section {
  overflow: hidden;
}

.timing-detail-section.is-secondary {
  opacity: 0.92;
}

.timing-detail-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(10, 92, 76, 0.13);
  padding: 13px 16px 11px;
}

.timing-detail-section-header h3 {
  margin: 0;
  color: #063f34;
  font-size: 1rem;
  font-weight: 950;
  text-transform: uppercase;
}

.timing-detail-section-header p {
  margin: 3px 0 0;
  color: #60746a;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.3;
}

.timing-main-metrics,
.timing-environment-head,
.timing-tension-grid {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.timing-main-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.timing-environment-head {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.timing-hero-metric {
  --timing-accent: #8fa399;
  display: grid;
  gap: 7px;
  min-width: 0;
  border: 1px solid #d4dbd6;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f8fbf9);
  padding: 12px;
}

.timing-hero-metric span {
  color: #52695f;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.timing-hero-metric strong {
  color: #063f34;
  font-size: 1.65rem;
  font-weight: 950;
  line-height: 1;
}

.timing-hero-metric small {
  color: #60746a;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.25;
}

.timing-hero-metric i,
.timing-radar-meter {
  position: relative;
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(16, 34, 26, 0.09);
}

.timing-hero-metric i b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--timing-accent);
}

.timing-hero-metric.is-score-10,
.timing-hero-metric.is-score-9,
.timing-hero-metric.is-score-8,
.timing-hero-metric.is-score-7 {
  --timing-accent: #15866f;
  border-color: #94d7ad;
  background: linear-gradient(180deg, #ecfdf5, #ffffff);
}

.timing-hero-metric.is-score-6,
.timing-hero-metric.is-score-5 {
  --timing-accent: #c99322;
  border-color: #ead27d;
  background: linear-gradient(180deg, #fff8dc, #ffffff);
}

.timing-hero-metric.is-score-4,
.timing-hero-metric.is-score-3 {
  --timing-accent: #d87732;
  border-color: #efb071;
  background: linear-gradient(180deg, #fff0df, #ffffff);
}

.timing-hero-metric.is-score-2,
.timing-hero-metric.is-score-1 {
  --timing-accent: #b63b32;
  border-color: #ef9a91;
  background: linear-gradient(180deg, #fff0ee, #ffffff);
}

.timing-main-metrics .timing-hero-metric:nth-child(3) {
  --timing-accent: #1971bd;
  border-color: #9cc7e6;
  background: linear-gradient(180deg, #eef7ff, #ffffff);
}

.timing-signal-bars {
  margin: 0 16px 14px;
}

.timing-detail-table {
  margin: 0 16px 16px;
  max-width: calc(100% - 32px);
  overflow-x: hidden;
}

.timing-detail-table .timing-nds-table,
.timing-detail-table .timing-environment-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.timing-detail-table .timing-nds-table th,
.timing-detail-table .timing-nds-table td,
.timing-detail-table .timing-environment-table th,
.timing-detail-table .timing-environment-table td {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: top;
}

.timing-detail-table .timing-nds-table th:first-child,
.timing-detail-table .timing-nds-table td:first-child {
  width: 42%;
}

.timing-detail-table .timing-nds-table th.num,
.timing-detail-table .timing-nds-table td.num {
  width: 132px;
}

.timing-detail-table .timing-environment-table th:first-child,
.timing-detail-table .timing-environment-table td:first-child {
  width: 39%;
}

.timing-detail-table .timing-environment-table th.num,
.timing-detail-table .timing-environment-table td.num {
  width: 104px;
}

.timing-detail-table .security-subline {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.timing-detail-table .nds-manual-input,
.timing-detail-table .module-manual-input {
  max-width: 100%;
}

.timing-detail-section.is-secondary .timing-detail-table {
  overflow-x: auto;
}

.timing-tension-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.timing-tension-grid.is-v2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.timing-tension-card {
  --timing-accent: #c99322;
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid #d4dbd6;
  border-radius: 10px;
  background: #ffffff;
  padding: 12px;
}

.timing-tension-card > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.timing-tension-card span {
  color: #063f34;
  font-size: 0.78rem;
  font-weight: 900;
}

.timing-tension-card strong {
  color: #063f34;
  font-size: 1.25rem;
  font-weight: 950;
}

.timing-tension-card p {
  margin: 0;
  color: #60746a;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.25;
}

.timing-tension-card.is-score-8,
.timing-tension-card.is-score-7 {
  --timing-accent: #15866f;
  border-color: #94d7ad;
  background: #f0fbf6;
}

.timing-tension-card.is-score-5 {
  --timing-accent: #c99322;
  border-color: #ead27d;
  background: #fffaf0;
}

.timing-tension-card.is-score-4,
.timing-tension-card.is-score-3 {
  --timing-accent: #d87732;
  border-color: #efb071;
  background: #fff5ec;
}

.timing-radar-meter {
  overflow: visible;
}

.timing-radar-meter::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #d87732, #ead27d, #15866f);
  content: "";
  opacity: 0.34;
}

.timing-radar-meter i {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  border: 3px solid #ffffff;
  border-radius: 999px;
  background: var(--timing-accent);
  box-shadow: 0 2px 8px rgba(16, 34, 26, 0.18);
  transform: translate(-50%, -50%);
}

.timing-tension-duel-card {
  --left-force: #12846f;
  --right-force: #d59b17;
  align-content: start;
  min-height: 238px;
  border-color: rgba(12, 109, 88, 0.2);
  background:
    radial-gradient(circle at 10% 12%, rgba(18, 132, 111, 0.1), transparent 34%),
    radial-gradient(circle at 90% 8%, rgba(213, 155, 23, 0.14), transparent 32%),
    linear-gradient(180deg, #ffffff, #f7fbf9);
  padding: 14px;
}

.timing-tension-duel-card.is-right-stronger,
.timing-tension-duel-card.is-right-leaning {
  border-color: rgba(216, 119, 50, 0.42);
  background:
    radial-gradient(circle at 92% 12%, rgba(216, 119, 50, 0.18), transparent 35%),
    linear-gradient(180deg, #fffaf4, #ffffff);
}

.timing-tension-duel-card.is-left-stronger,
.timing-tension-duel-card.is-left-leaning {
  border-color: rgba(18, 132, 111, 0.38);
  background:
    radial-gradient(circle at 8% 12%, rgba(18, 132, 111, 0.15), transparent 35%),
    linear-gradient(180deg, #f0fbf6, #ffffff);
}

.timing-tension-duel-card.is-balanced-high {
  border-color: rgba(25, 113, 189, 0.3);
  background:
    radial-gradient(circle at 50% 4%, rgba(25, 113, 189, 0.12), transparent 36%),
    linear-gradient(180deg, #f5fbff, #ffffff);
}

.timing-tension-duel-card.is-missing {
  border-color: rgba(96, 116, 106, 0.22);
  background: #f8faf9;
  opacity: 0.88;
}

.timing-tension-duel-card.is-dynamic-card {
  border-style: solid;
  box-shadow: inset 0 0 0 1px rgba(12, 109, 88, 0.06), 0 10px 24px rgba(16, 34, 26, 0.06);
}

.timing-tension-card .timing-tension-duel-head,
.timing-tension-duel-card > .timing-tension-duel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.timing-tension-duel-head span {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 70%;
  line-height: 1.18;
}

.timing-tension-duel-head small {
  flex: 0 0 auto;
  max-width: 46%;
  border: 1px solid rgba(10, 92, 76, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #52695f;
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1;
  padding: 6px 8px;
  text-align: right;
}

.timing-tension-type-badge {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  border: 1px solid rgba(10, 92, 76, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #60746a;
  font-size: 0.62rem;
  font-weight: 950;
  line-height: 1;
  padding: 4px 7px;
}

.is-dynamic-card .timing-tension-type-badge {
  border-color: rgba(201, 147, 34, 0.34);
  background: #fff7df;
  color: #8a5d00;
}

.timing-dynamic-note {
  margin-top: -2px;
  color: #60746a;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.25;
}

.timing-tension-card .timing-tension-question,
.timing-tension-duel-card > .timing-tension-question {
  color: #344a40;
  font-size: 0.82rem;
  line-height: 1.35;
}

.timing-tension-duel-card > .timing-force-duel {
  display: grid;
  grid-template-columns: minmax(88px, 0.7fr) minmax(130px, 1.4fr) minmax(88px, 0.7fr);
  align-items: center;
  gap: 10px;
  margin-top: 2px;
}

.timing-force-pole {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.timing-force-pole.is-right {
  text-align: right;
}

.timing-force-pole small {
  color: #52695f;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.timing-force-pole strong {
  color: #063f34;
  font-size: 1.5rem;
  font-weight: 950;
  line-height: 1;
}

.timing-force-pole em {
  color: #60746a;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
}

.timing-force-track {
  position: relative;
  height: 18px;
  overflow: hidden;
  border: 1px solid rgba(10, 92, 76, 0.12);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(18, 132, 111, 0.12), rgba(213, 155, 23, 0.12));
}

.timing-force-track::after {
  position: absolute;
  inset: 0 50%;
  width: 1px;
  background: rgba(16, 34, 26, 0.16);
  content: "";
}

.timing-force-segment {
  position: absolute;
  top: 0;
  bottom: 0;
  transform: scaleX(0);
  animation: timingForceBuild 1.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.timing-force-segment.is-left {
  left: 0;
  width: var(--left-share);
  border-radius: 999px 0 0 999px;
  background: linear-gradient(90deg, rgba(18, 132, 111, 0.68), #12846f);
  transform-origin: left center;
}

.timing-force-segment.is-right {
  right: 0;
  width: var(--right-share);
  border-radius: 0 999px 999px 0;
  background: linear-gradient(270deg, rgba(213, 155, 23, 0.72), #d59b17);
  transform-origin: right center;
}

.timing-force-duel.is-missing .timing-force-segment {
  animation: none;
  opacity: 0;
}

.timing-tension-card .timing-tension-interpretation,
.timing-tension-duel-card > .timing-tension-interpretation {
  color: #344a40;
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.35;
}

.timing-tension-basis {
  align-self: end;
  color: #60746a;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.25;
}

.matrix-score-fill.is-muted-meter span {
  opacity: 0;
}

@keyframes timingForceBuild {
  to {
    transform: scaleX(1);
  }
}

.nds-heat-meter,
.nds-tension-meter {
  position: relative;
  display: block;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #6ea9de 0%, #75c7a1 48%, #f1cd64 66%, #e48169 100%);
  overflow: hidden;
}

.nds-heat-meter span,
.nds-tension-meter span {
  position: absolute;
  top: 50%;
  width: 9px;
  height: 9px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #0b4f40;
  box-shadow: 0 1px 5px rgba(10, 43, 36, 0.24);
  transform: translate(-50%, -50%);
}

.nds-tension-meter {
  min-width: 140px;
  height: 7px;
  background: linear-gradient(90deg, #6ea9de 0%, #e7ece8 50%, #d09630 100%);
}

.nds-heat-detail {
  margin: 16px 0;
  padding: 18px 20px;
  border: 1px solid rgba(20, 112, 90, 0.18);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(244, 250, 247, 0.96), rgba(255, 255, 255, 0.96));
}

.nds-heat-detail.is-nds-cold {
  border-color: #9cc4ea;
  background: linear-gradient(180deg, #edf7ff, #ffffff);
}

.nds-heat-detail.is-nds-early {
  border-color: #9ed8ce;
  background: linear-gradient(180deg, #edf9f6, #ffffff);
}

.nds-heat-detail.is-nds-window {
  border-color: #94d7ad;
  background: linear-gradient(180deg, #ecf8f0, #ffffff);
}

.nds-heat-detail.is-nds-warm {
  border-color: #ead27d;
  background: linear-gradient(180deg, #fff8df, #ffffff);
}

.nds-heat-detail.is-nds-hot {
  border-color: #efa18f;
  background: linear-gradient(180deg, #fff0ea, #ffffff);
}

.nds-heat-scale {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-top: 28px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.nds-heat-scale::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #6ea9de 0%, #75c7a1 48%, #f1cd64 66%, #e48169 100%);
}

.nds-heat-scale i {
  position: absolute;
  top: 5px;
  width: 4px;
  height: 20px;
  border-radius: 999px;
  background: #10251f;
  box-shadow: 0 1px 8px rgba(10, 43, 36, 0.28);
  transform: translateX(-50%);
}

.nds-heat-scale small {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.matrix-score-card.is-fiss .matrix-score-fill span {
  background: linear-gradient(90deg, #2f6fa3, #20a47b);
}

.matrix-score-card.is-fos {
  border-color: #d8c07f;
  background: linear-gradient(180deg, #fff8df, #ffffff);
}

.matrix-score-card.is-fos .matrix-score-fill span {
  background: linear-gradient(90deg, #c9912d, #0f7a63);
}

.matrix-score-card.is-sis {
  border-color: #b8d2d8;
  background: linear-gradient(180deg, #eef8fa, #ffffff);
}

.matrix-score-card.is-sis .matrix-score-fill span {
  background: linear-gradient(90deg, #2f6fa3, #0f7a63);
}

.matrix-score-card.is-sis.is-score-10 {
  border-color: #89b8ff;
  background: linear-gradient(180deg, #eaf2ff, #ffffff);
}

.matrix-score-card.is-sis.is-score-10 .matrix-score-fill span {
  background: linear-gradient(90deg, #2f80d1, #0f7a63);
}

.matrix-score-card.is-sis.is-score-8 {
  border-color: #94d7ad;
  background: linear-gradient(180deg, #eaf8ef, #ffffff);
}

.matrix-score-card.is-sis.is-score-8 .matrix-score-fill span {
  background: linear-gradient(90deg, #15915f, #0f7a63);
}

.matrix-score-card.is-sis.is-score-5 {
  border-color: #ead27d;
  background: linear-gradient(180deg, #fff8dc, #ffffff);
}

.matrix-score-card.is-sis.is-score-5 .matrix-score-fill span {
  background: linear-gradient(90deg, #c79a22, #d6bb4f);
}

.matrix-score-card.is-sis.is-score-3 {
  border-color: #efb071;
  background: linear-gradient(180deg, #fff0df, #ffffff);
}

.matrix-score-card.is-sis.is-score-3 .matrix-score-fill span {
  background: linear-gradient(90deg, #d56f20, #c79a22);
}

.matrix-score-card.is-sis.is-score-1 {
  border-color: #f29a8f;
  background: linear-gradient(180deg, #fff0ee, #ffffff);
}

.matrix-score-card.is-sis.is-score-1 .matrix-score-fill span {
  background: linear-gradient(90deg, #b54435, #d56f20);
}

.matrix-score-card.is-sis-critical {
  border-color: #efb0a8;
  background: linear-gradient(180deg, #fff1ef, #ffffff);
}

.matrix-score-card.is-sis-fragile {
  border-color: #efc084;
  background: linear-gradient(180deg, #fff3e3, #ffffff);
}

.matrix-score-card.is-sis-dependent {
  border-color: #e8d385;
  background: linear-gradient(180deg, #fff9e3, #ffffff);
}

.matrix-score-card.is-sis-stable {
  border-color: #9fcfbd;
  background: linear-gradient(180deg, #edf8f3, #ffffff);
}

.matrix-score-card.is-sis-extreme {
  border-color: #a9cfe8;
  background: linear-gradient(180deg, #eef7ff, #ffffff);
}

.context-card {
  display: inline-grid;
  width: 92px;
  min-height: 50px;
  place-items: center;
  border: 1px solid #d4dfd8;
  border-radius: 8px;
  background: #f8faf8;
  padding: 5px 10px;
  text-align: center;
}

.context-card strong {
  color: #10221a;
  font-size: 1rem;
  line-height: 1;
}

.context-card small {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.context-card.is-share {
  border-color: #bfd4ca;
  background: linear-gradient(180deg, #f2f7f4, #ffffff);
}

.context-card.is-positive {
  border-color: #9fcfbd;
  background: #edf8f3;
}

.context-card.is-negative {
  border-color: #f0bbb5;
  background: #fff2f0;
}

.context-card.is-watch {
  border-color: #e8d385;
  background: linear-gradient(180deg, #fff8df, #ffffff);
}

.context-card.is-strong {
  border-color: #a9cfe8;
  background: linear-gradient(180deg, #eef7ff, #ffffff);
}

.context-card.is-positive strong {
  color: var(--brand-dark);
}

.context-card.is-negative strong {
  color: var(--danger);
}

.context-card.is-watch strong {
  color: #9a6b12;
}

.context-card.is-strong strong {
  color: #245d91;
}

.context-card.is-neutral strong {
  color: var(--muted);
}

.context-card.is-rc {
  width: 104px;
}

.context-card.is-top {
  border-color: #9cc9ee;
  background: linear-gradient(180deg, #eef7ff, #ffffff);
}

.context-card.is-top strong {
  color: #1971bd;
}

.context-card.is-ok {
  border-color: #9fd5b7;
  background: linear-gradient(180deg, #eefaf3, #ffffff);
}

.context-card.is-ok strong {
  color: #198754;
}

.context-card.is-check {
  border-color: #ead486;
  background: linear-gradient(180deg, #fff9df, #ffffff);
}

.context-card.is-check strong {
  color: #9a6b12;
}

.context-card.is-warning,
.context-card.is-watch {
  border-color: #edbd83;
  background: linear-gradient(180deg, #fff4e6, #ffffff);
}

.context-card.is-warning strong,
.context-card.is-watch strong {
  color: #d97706;
}

.context-card.is-danger {
  border-color: #efb0a8;
  background: #fff5f3;
}

.context-card.is-danger strong {
  color: var(--danger);
}

.context-card.is-alarm {
  border-color: #7f1d1d;
  background: linear-gradient(180deg, #7f1d1d, #4c0519);
}

.context-card.is-alarm strong {
  color: #ffffff;
}

.summary-card.is-sis-critical {
  border-color: #efb0a8;
  background: #fff5f3;
}

.summary-card.is-sis-fragile {
  border-color: #efc084;
  background: #fff7ed;
}

.summary-card.is-sis-dependent {
  border-color: #e8d385;
  background: #fffbea;
}

.summary-card.is-sis-stable {
  border-color: #9fcfbd;
  background: #f1faf6;
}

.summary-card.is-sis-extreme {
  border-color: #a9cfe8;
  background: #f1f8ff;
}

.score-overview-row .num,
table th.num {
  text-align: center;
}

.row-icon-delete-button {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #8b3a32;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 850;
  line-height: 1;
}

.row-icon-delete-button:hover {
  border-color: #efb8b0;
  background: #fff2f0;
}

.floyd-review {
  position: fixed;
  inset: 28px;
  z-index: 80;
  max-width: 1220px;
  max-height: calc(100vh - 56px);
  margin: auto;
  overflow: auto;
  padding: 16px;
  border: 1px solid #bfd4ca;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fbf9, #eef6f2);
  box-shadow: 0 24px 70px rgba(4, 20, 14, 0.25);
}

.floyd-review .section-heading-row {
  margin-top: 0;
  align-items: center;
}

.floyd-review .icon-button {
  color: #173228;
}

.floyd-review-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.44fr);
  gap: 18px;
  align-items: start;
}

.floyd-review-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.floyd-learning-hints {
  display: grid;
  gap: 6px;
  margin: 0 0 12px;
  border: 1px solid #c9dacd;
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.72);
}

.floyd-learning-hints strong {
  color: var(--brand-dark);
  font-size: 0.82rem;
}

.floyd-learning-hints span {
  color: #44544d;
  font-size: 0.86rem;
}

.floyd-learning-hints .is-warning {
  color: #8a4f10;
}

.floyd-learning-hints .is-info {
  color: #46615a;
}

.chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid #c6d7cf;
  border-radius: 999px;
  padding: 0 10px;
  background: white;
  color: var(--brand-dark);
  font-size: 0.78rem;
  font-weight: 850;
}

.layer-chip {
  border-color: #9fcfbd;
  background: #e8f6ef;
}

.layer-chip.is-layer-titan,
.detail-chip.is-layer-titan {
  border-color: #6aa3a1;
  background: #e4f2ef;
  color: #075f61;
}

.layer-chip.is-layer-compound,
.detail-chip.is-layer-compound {
  border-color: #8bcabd;
  background: #e7f6f2;
  color: #0d665a;
}

.layer-chip.is-layer-accelerator,
.detail-chip.is-layer-accelerator {
  border-color: #dec27b;
  background: #fff7df;
  color: #7b5713;
}

.layer-chip.is-layer-explorer,
.detail-chip.is-layer-explorer {
  border-color: #c5a5b6;
  background: #f6eef3;
  color: #69445a;
}

.level-chip {
  border-color: #b9cfd8;
  background: #eef7ff;
  color: #265d9c;
}

.level-chip.is-level-core,
.detail-chip.is-level-core {
  border-color: #aab7b0;
  background: #ffffff;
  color: #20322b;
}

.level-chip.is-level-build,
.detail-chip.is-level-build {
  border-color: #bdd4c9;
  background: #fbfdfb;
  color: #426456;
}

.level-chip.is-level-tactical,
.detail-chip.is-level-tactical {
  border-color: #d8cfaa;
  background: #fffdf5;
  color: #665323;
}

.level-chip.is-level-experimental,
.detail-chip.is-level-experimental {
  border-color: #c7cfe0;
  background: #f8faff;
  color: #3f5276;
}

.tag-chip {
  border-color: #d8cfaa;
  background: #fff8df;
  color: #6a5422;
}

.confidence-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border-radius: 999px;
  padding: 0 10px;
  color: white;
  font-size: 0.78rem;
  font-weight: 900;
}

.confidence-pill::before {
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
  content: "";
}

.confidence-pill.is-high {
  background: #0c7a5a;
}

.confidence-pill.is-medium {
  background: #b38424;
}

.confidence-pill.is-low {
  background: #b84636;
}

.score-heat {
  display: inline-grid;
  min-width: 34px;
  min-height: 26px;
  place-items: center;
  border-radius: 6px;
  color: #10221a;
  font-weight: 900;
}

.score-heat-10 { background: #b8d6ff; }
.score-heat-9 { background: #cce2ff; }
.score-heat-8 { background: #8fd9a8; }
.score-heat-6 { background: #f0d885; }
.score-heat-4 { background: #efb071; }
.score-heat-2 { background: #f19a8c; }
.score-heat-0 { background: #d8ddda; }
.score-heat-risk-10 { background: #e75842; color: #fff; }
.score-heat-risk-9 { background: #f0785f; color: #fff; }

.score-factor-info-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #5f6f67;
  font-size: 0.86rem;
}

.score-factor-info-button {
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid #cbd9d2;
  border-radius: 999px;
  background: #f7fbf8;
  color: #0b4d3f;
  font-weight: 900;
  cursor: pointer;
}

.score-factor-info-button:hover {
  border-color: #0f7c68;
  background: #edf7f2;
}

.score-factor-info-short {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.floyd-edit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.floyd-edit-wide {
  grid-column: span 2;
}

.floyd-thesis {
  margin: 0 0 12px;
  color: #14251d;
  font-weight: 760;
}

.compact-definition-list {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 8px 12px;
  margin: 0;
}

.compact-definition-list dt {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 850;
}

.compact-definition-list dd {
  margin: 0;
  white-space: pre-wrap;
}

.floyd-score-table {
  min-width: 0;
  font-size: 0.9rem;
}

.floyd-score-table + .floyd-score-table {
  margin-top: 12px;
}

.floyd-score-table caption {
  padding: 0 8px 8px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
}

.floyd-score-table td {
  padding: 8px;
}

.floyd-score-table td small {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 800;
}

.drawer-header-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.drawer-header-row p {
  margin: 4px 0 0;
  color: var(--muted);
}

.research-modal {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  background: rgba(6, 12, 9, 0.72);
  padding: 24px;
}

.research-modal-content {
  position: relative;
  width: min(1180px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #bfd4ca;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fbf9, #eef6f2);
  padding: 18px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

.research-modal .icon-button {
  border-color: #c7d4cd;
  background: #ffffff;
  color: var(--brand-dark);
}

.research-modal .icon-button:hover {
  border-color: var(--brand);
  background: #eef7f3;
  color: var(--brand-dark);
}

.research-modal.is-summary-mode .drawer-header-row {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
}

.research-modal.is-summary-mode .drawer-header-row > div {
  display: none;
}

.research-modal.is-summary-mode .score-history-row {
  margin: 0 54px 8px 0;
}

.score-history-row {
  margin: 12px 0 14px;
}

.score-history-row label {
  max-width: 320px;
}

.score-history-row:has(#fisResearchHistorySelect),
.score-history-row:has(#fssResearchHistorySelect) {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  min-height: 54px;
  margin: -62px 48px 8px 0;
}

.score-history-row:has(#fisResearchHistorySelect) label,
.score-history-row:has(#fssResearchHistorySelect) label {
  width: min(320px, 38vw);
}

.stored-research-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 20px;
}

.stored-research-layout.is-basics-only {
  grid-template-columns: 1fr;
}

.score-summary-layout {
  display: grid;
  gap: 18px;
  max-height: calc(100vh - 170px);
  overflow: auto;
  padding-right: 4px;
}

.score-summary-hero,
.score-verdict-panel,
.score-company-section,
.score-research-cockpit,
.score-cockpit-section {
  border: 1px solid rgba(10, 92, 76, 0.16);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 252, 249, 0.84));
  box-shadow: 0 12px 28px rgba(10, 61, 50, 0.05);
}

.score-summary-hero {
  display: grid;
  gap: 12px;
  padding: 16px 18px;
}

.score-summary-kicker {
  color: #52695f;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.score-summary-title-row {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(380px, 1fr) minmax(320px, 0.86fr);
  gap: 22px;
}

.score-summary-main-column {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
}

.score-summary-header-side {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 14px;
  min-width: 0;
}

.score-summary-header-side .floyd-review-meta {
  justify-content: flex-end;
  margin: 0;
  max-width: 100%;
  text-align: right;
}

.score-summary-title-row h3 {
  margin: 0;
  color: #063f34;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.08;
}

.score-summary-title-row p {
  margin: 5px 0 0;
  color: #60746a;
  font-weight: 760;
}

.summary-predicate-seal {
  position: relative;
  width: 100%;
  max-width: 620px;
  overflow: hidden;
  border: 1px solid rgba(191, 145, 39, 0.32);
  border-radius: 14px;
  background: radial-gradient(circle at top right, rgba(255, 228, 138, 0.36), transparent 42%),
    linear-gradient(145deg, rgba(255, 252, 239, 0.96), rgba(247, 251, 248, 0.9));
  box-shadow: 0 12px 30px rgba(112, 79, 14, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.72);
  padding: 14px 16px 15px;
}

.summary-predicate-seal::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #d5a72f;
}

.summary-predicate-seal.is-predicate-platinum {
  border-color: rgba(126, 146, 151, 0.34);
  background: radial-gradient(circle at top right, rgba(230, 238, 240, 0.8), transparent 44%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(239, 245, 243, 0.9));
}

.summary-predicate-seal.is-predicate-diamond {
  border-color: rgba(111, 173, 211, 0.42);
  background: radial-gradient(circle at top right, rgba(191, 228, 255, 0.74), transparent 44%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(237, 248, 255, 0.9));
}

.summary-predicate-seal.is-predicate-platinum::before { background: #a8b2b5; }
.summary-predicate-seal.is-predicate-diamond::before { background: #74b7df; }

.summary-predicate-seal > small {
  display: block;
  color: #52695f;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.summary-predicate-item {
  display: grid;
  gap: 9px;
  margin-top: 5px;
}

.summary-predicate-main {
  display: grid;
  align-items: center;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 14px;
}

.summary-predicate-main img {
  display: block;
  width: 88px;
  height: 88px;
  border-radius: 12px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(40, 52, 47, 0.12));
}

.summary-predicate-item strong {
  color: #063f34;
  font-size: 1.28rem;
  line-height: 1.16;
}

.summary-predicate-item span {
  width: fit-content;
  border: 1px solid rgba(191, 145, 39, 0.28);
  border-radius: 999px;
  background: rgba(255, 243, 202, 0.76);
  color: #815a08;
  padding: 3px 9px;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.summary-predicate-item p {
  margin: 0;
  border: 1px solid rgba(10, 92, 76, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  color: #3d5148;
  padding: 10px 12px;
  font-size: 0.88rem;
  font-weight: 680;
  line-height: 1.4;
}

.summary-predicate-item.is-predicate-platinum span {
  border-color: rgba(126, 146, 151, 0.28);
  background: rgba(235, 240, 241, 0.86);
  color: #56666b;
}

.summary-predicate-item.is-predicate-diamond span {
  border-color: rgba(111, 173, 211, 0.32);
  background: rgba(222, 243, 255, 0.86);
  color: #286f9d;
}

.summary-predicate-controls {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 9px;
}

.summary-predicate-controls button {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid rgba(10, 92, 76, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #0a5c4c;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.summary-predicate-controls span {
  color: #617168;
  font-size: 0.76rem;
  font-weight: 850;
}

.score-summary-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(10, 92, 76, 0.13);
  padding: 15px 18px 13px;
}

.score-summary-section-icon {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(21, 134, 111, 0.28);
  border-radius: 12px;
  background: #eef9f4;
  color: #0f7f68;
}

.score-summary-section-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.score-summary-section-header h4 {
  margin: 0;
  color: #063f34;
  font-size: 1rem;
  font-weight: 900;
  text-transform: uppercase;
}

.score-summary-section-header p {
  margin: 3px 0 0;
  color: #60746a;
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.3;
}

.score-verdict-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(118px, 1fr));
  gap: 12px;
  padding: 16px 18px 18px;
}

.summary-badge-metric {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 10px;
  min-width: 0;
  border: 1px solid rgba(10, 92, 76, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  padding: 11px;
}

.summary-badge-metric.is-strong {
  min-height: 136px;
  border-color: rgba(21, 134, 111, 0.24);
  background: linear-gradient(180deg, #ffffff, #eff9f5);
}

.summary-badge-metric-top span {
  display: block;
  color: #063f34;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.summary-badge-metric-top small {
  display: block;
  margin-top: 4px;
  color: #60746a;
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.25;
}

.summary-badge-metric-value {
  display: grid;
  align-items: end;
}

.summary-badge-metric-value .matrix-score-card,
.summary-badge-metric-value .context-card {
  width: 100%;
  min-height: 58px;
}

.summary-badge-metric.is-strong .summary-badge-metric-value .matrix-score-card,
.summary-badge-metric.is-strong .summary-badge-metric-value .context-card {
  min-height: 70px;
}

.summary-badge-metric.is-strong .summary-badge-metric-value strong {
  font-size: 1.35rem;
}

.score-company-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px 18px 18px;
}

.score-summary-text-panel {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  border: 1px solid rgba(10, 92, 76, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.8);
  padding: 13px 14px;
}

.score-summary-text-panel.is-wide {
  grid-column: 1 / -1;
}

.score-summary-text-panel b {
  display: block;
  color: #063f34;
  font-size: 0.82rem;
  font-weight: 920;
  text-transform: uppercase;
}

.score-summary-text-panel small {
  display: block;
  margin-top: 3px;
  color: #617168;
  font-size: 0.78rem;
  font-weight: 650;
}

.score-summary-text-panel p {
  margin: 0;
  color: #182820;
  font-size: 0.95rem;
  font-weight: 620;
  line-height: 1.45;
}

.score-summary-text-panel.is-easy-note {
  border-color: rgba(21, 134, 111, 0.22);
  background: linear-gradient(180deg, #f0fbf6, #ffffff);
}

.score-summary-text-panel.is-easy-note p {
  font-size: 0.94rem;
  font-weight: 800;
}

.score-research-cockpit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px 18px 18px;
}

.score-cockpit-section {
  border-radius: 12px;
  box-shadow: none;
}

.score-cockpit-section .score-summary-section-header {
  padding: 13px 14px 11px;
}

.score-cockpit-section .score-summary-section-icon {
  width: 34px;
  height: 34px;
}

.score-cockpit-section .score-summary-section-header h4 {
  font-size: 0.9rem;
}

.score-cockpit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
  gap: 10px;
  padding: 13px 14px 14px;
}

.score-cockpit-section:has(.summary-badge-metric:nth-child(5)) {
  grid-column: 1 / -1;
}

.score-cockpit-section.is-wide {
  grid-column: 1 / -1;
}

.score-cockpit-section.is-wide .score-cockpit-grid {
  grid-template-columns: repeat(6, minmax(112px, 1fr));
}

.score-cockpit-note {
  margin: -5px 14px 14px;
  color: #617168;
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.35;
}

.future-detail-layout {
  overflow-x: hidden;
}

.future-detail-layout > *,
.future-detail-layout section {
  min-width: 0;
  max-width: 100%;
}

.future-detail-layout .summary-cards {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.future-detail-layout .summary-card {
  min-width: 0;
}

.future-detail-layout .summary-card small,
.future-detail-layout .hint-text {
  white-space: normal;
  overflow-wrap: anywhere;
}

.future-detail-table {
  table-layout: fixed;
  width: 100%;
}

.future-detail-table th:first-child,
.future-detail-table td:first-child {
  width: auto;
}

.future-detail-table th.num,
.future-detail-table td.num {
  width: 110px;
}

.future-detail-table .security-subline {
  white-space: normal;
  overflow-wrap: anywhere;
}

.stored-research-main {
  min-width: 0;
}

.stored-research-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 14px;
}

.stored-score-table {
  width: 100%;
}

.reality-check-card {
  margin-top: 16px;
  border: 1px solid #cfdcd5;
  border-left: 4px solid #8fa399;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 14px;
}

.reality-check-card.is-top {
  border-left-color: #1971bd;
  background: rgba(229, 242, 255, 0.74);
}

.reality-check-card.is-ok {
  border-left-color: #198754;
  background: rgba(236, 253, 245, 0.72);
}

.reality-check-card.is-check {
  border-left-color: #c89527;
  background: rgba(255, 251, 235, 0.74);
}

.reality-check-card.is-warning {
  border-left-color: #d97706;
  background: rgba(255, 247, 237, 0.76);
}

.reality-check-card.is-danger {
  border-left-color: #b42318;
  background: rgba(254, 242, 242, 0.76);
}

.reality-check-card.is-alarm {
  border-left-color: #450a0a;
  background: rgba(127, 29, 29, 0.14);
}

.reality-check-card.is-alarm .reality-check-header strong {
  color: #7f1d1d;
}

.reality-check-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.reality-check-header span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.reality-check-header strong {
  color: var(--ink);
}

.reality-check-card p {
  margin: 0 0 12px;
  color: var(--ink);
}

.reality-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.reality-kpi-grid div {
  border: 1px solid #dbe5df;
  border-radius: 8px;
  background: #f8fbf9;
  padding: 9px;
}

.reality-kpi-grid span,
.reality-kpi-grid small {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 750;
}

.reality-kpi-grid strong {
  display: block;
  margin: 3px 0;
}

.rc-detail-compact-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 18px;
  margin-bottom: 12px;
  border: 1px solid #cfdcd5;
  border-left: 5px solid #8fa399;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 251, 249, 0.82));
  padding: 14px 16px;
  box-shadow: 0 10px 24px rgba(16, 34, 26, 0.05);
}

.rc-detail-compact-header.is-top {
  border-left-color: #1971bd;
  background: linear-gradient(180deg, #eef7ff, #ffffff);
}

.rc-detail-compact-header.is-ok {
  border-left-color: #198754;
  background: linear-gradient(180deg, #ecfdf5, #ffffff);
}

.rc-detail-compact-header.is-check {
  border-left-color: #c89527;
  background: linear-gradient(180deg, #fff9df, #ffffff);
}

.rc-detail-compact-header.is-warning {
  border-left-color: #d97706;
  background: linear-gradient(180deg, #fff2df, #ffffff);
}

.rc-detail-compact-header.is-danger {
  border-left-color: #b42318;
  background: linear-gradient(180deg, #fff0ee, #ffffff);
}

.rc-detail-compact-header.is-alarm {
  border-left-color: #450a0a;
  background: linear-gradient(180deg, rgba(127, 29, 29, 0.14), #ffffff);
}

.rc-detail-status span,
.rc-detail-score span,
.rc-detail-tech-meta {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.rc-detail-status strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: clamp(1.45rem, 2.3vw, 2.05rem);
  font-weight: 950;
  line-height: 1;
}

.rc-detail-compact-header.is-danger .rc-detail-status strong,
.rc-detail-compact-header.is-alarm .rc-detail-status strong {
  color: #7f1d1d;
}

.rc-detail-compact-header.is-warning .rc-detail-status strong {
  color: #9a4f08;
}

.rc-detail-compact-header.is-check .rc-detail-status strong {
  color: #8a610f;
}

.rc-detail-compact-header.is-ok .rc-detail-status strong {
  color: #0f6d48;
}

.rc-detail-compact-header.is-top .rc-detail-status strong {
  color: #155a9c;
}

.rc-detail-score {
  min-width: 130px;
  text-align: right;
}

.rc-detail-score strong {
  display: block;
  color: var(--ink);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 950;
  line-height: 1;
}

.rc-detail-score span {
  margin-top: 5px;
  text-transform: none;
}

.rc-detail-meta-strip {
  display: flex;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  gap: 6px;
}

.rc-detail-meta-strip span {
  border: 1px solid rgba(10, 92, 76, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: #465c52;
  padding: 5px 8px;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1;
}

.rc-detail-tech-meta {
  grid-column: 1 / -1;
  margin-top: -2px;
  opacity: 0.68;
  text-transform: none;
}

.rc-block {
  margin-top: 12px;
  border: 1px solid #dbe5df;
  border-radius: 8px;
  background: rgba(248, 251, 249, 0.78);
  overflow: hidden;
}

.rc-block-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid #dbe5df;
}

.rc-block-header strong,
.rc-block-header span {
  display: block;
}

.rc-block-header span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.82rem;
}

.rc-block-score {
  text-align: right;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
  white-space: nowrap;
}

.rc-factor-table {
  width: 100%;
  border-collapse: collapse;
}

.rc-factor-table th,
.rc-factor-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #dbe5df;
  text-align: left;
  vertical-align: top;
}

.rc-factor-table th {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.rc-factor-table tr:last-child td {
  border-bottom: 0;
}

.rc-factor-table small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.25;
}

.rc-reasoning-cell {
  min-width: 320px;
}

.rc-audit-context {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 8px 12px;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid #cddbd5;
  border-left: 3px solid #167d67;
  background: #f7faf8;
}

.rc-audit-context small {
  color: #61716a;
}

.rc-explorer-context {
  border-color: #f1c27b;
  border-left-color: #b42318;
  background: #fff7ed;
}

.rc-low-confidence-context {
  border-color: #e8cf84;
  border-left-color: #c08b00;
  background: #fffbed;
}

.rc-audit-meta,
.rc-audit-note {
  display: block;
  margin-top: 4px;
  color: #66756e;
}

.rc-audit-chip {
  display: inline-block;
  margin: 5px 5px 0 0;
  padding: 2px 6px;
  border: 1px solid #d3ddd8;
  border-radius: 4px;
  font-size: 11px;
  line-height: 1.25;
}

.rc-audit-chip.is-special-case {
  border-color: #c8a5e6;
  background: #f3eafa;
  color: #652a91;
}

.rc-audit-chip.is-warning {
  border-color: #e4bd55;
  background: #fff7dc;
  color: #6c4b00;
}

.rc-reasoning-input {
  box-sizing: border-box;
  font-weight: 600;
  line-height: 1.3;
  min-height: 72px;
  min-width: 320px;
  resize: vertical;
  text-align: left;
  width: 100%;
}

.rc-factor-state {
  display: inline-flex;
  align-items: center;
  min-width: 74px;
  justify-content: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 0.72rem;
  font-weight: 900;
}

.rc-factor-state.is-green {
  color: #064e3b;
  background: #d1fae5;
}

.rc-factor-state.is-yellow {
  color: #7c4a03;
  background: #fef3c7;
}

.rc-factor-state.is-red {
  color: #7f1d1d;
  background: #fee2e2;
}

.rc-factor-state.is-not_relevant {
  color: #0c4a6e;
  background: #dbeafe;
}

.rc-factor-state.is-special_case {
  color: #581c87;
  background: #f3e8ff;
}

.rc-factor-state.is-missing_data {
  color: #ffffff;
  background: #111827;
}

.rc-factor-state.is-not_evaluated,
.rc-factor-state.is-unknown {
  color: #4b5563;
  background: #e5e7eb;
}

.reality-definition-list {
  margin-top: 8px;
}

.performance-chart {
  display: block;
  min-width: 780px;
  width: 100%;
  height: auto;
}

.chart-grid-line {
  stroke: #dbe4dd;
  stroke-width: 1;
}

.performance-chart .chart-grid-line.is-vertical {
  stroke: #e4ebe6;
  stroke-width: 1;
  opacity: 0.78;
}

.chart-grid-line.is-minor {
  opacity: 0.48;
}

.chart-grid-line.is-major {
  opacity: 0.9;
}

.chart-line {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-performance-chart .chart-line {
  stroke-dasharray: 1800;
  stroke-dashoffset: 1800;
  animation: jeff-line-draw 1100ms ease forwards;
}

.performance-chart .chart-line.is-animated {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: jeff-line-draw var(--line-duration, 2s) ease-out var(--line-delay, 0s) forwards;
}

.performance-chart .chart-line.is-primary {
  stroke-width: 4;
}

.performance-chart .chart-line.is-benchmark {
  stroke-width: 3;
  opacity: 0.94;
}

.performance-chart .chart-line.is-shadow {
  opacity: 0.72;
  stroke-width: 2.4;
}

.snapshot-chart-marker {
  stroke: rgba(201, 145, 45, 0.48);
  stroke-dasharray: 4 6;
  stroke-linecap: round;
  stroke-width: 2;
}

.chart-axis-label {
  fill: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 8px 4px 0;
}

.chart-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.chart-legend i {
  width: 18px;
  height: 4px;
  border-radius: 999px;
}

.panel-header {
  display: flex;
  gap: 18px;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 18px;
}

.panel-header p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.94rem;
}

.dropzone {
  display: grid;
  min-height: 166px;
  place-items: center;
  gap: 8px;
  padding: 22px;
  border: 2px dashed #a9b8af;
  border-radius: 8px;
  background: #f8faf7;
  text-align: center;
  cursor: pointer;
}

.dropzone.is-dragging {
  border-color: var(--brand);
  background: #eaf5f1;
}

.dropzone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.drop-icon {
  display: inline-grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 8px;
  background: var(--brand);
  color: white;
  font-weight: 800;
}

.dropzone small {
  color: var(--muted);
}

.status-line {
  min-height: 24px;
  margin: 12px 0;
  color: var(--brand-dark);
  font-weight: 700;
}

.compact-status {
  margin: -4px 0 12px;
}

.compact-status.has-research-status {
  min-height: 0;
  margin: 12px 0 0;
}

.research-status-box {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(18, 132, 111, 0.24);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(240, 250, 247, 0.96), rgba(250, 253, 252, 0.98));
  color: var(--brand-dark);
  padding: 12px 14px;
  box-shadow: 0 10px 24px rgba(8, 64, 53, 0.08);
}

.research-status-box.is-error {
  border-color: rgba(180, 53, 43, 0.32);
  background: linear-gradient(135deg, rgba(255, 245, 242, 0.96), rgba(255, 252, 250, 0.98));
  color: #8d2f27;
}

.research-status-box.is-success {
  border-color: rgba(66, 186, 119, 0.4);
  background: linear-gradient(135deg, rgba(238, 250, 242, 0.98), rgba(250, 253, 252, 0.98));
}

.research-status-head {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.research-status-head > div {
  flex: 1 1 auto;
  min-width: 0;
}

.research-status-head strong,
.research-status-head span {
  display: block;
}

.research-status-head strong {
  font-size: 0.95rem;
  overflow-wrap: anywhere;
  word-break: normal;
}

.research-status-head span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
  margin-top: 2px;
  overflow-wrap: anywhere;
  word-break: normal;
}

.research-status-icon {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(18, 132, 111, 0.12);
  color: var(--brand);
  font-size: 1.7rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(18, 132, 111, 0.1), 0 8px 18px rgba(8, 64, 53, 0.1);
}

.research-status-icon {
  text-indent: -9999px;
}

.research-status-box.is-success .research-status-icon::before,
.research-status-box.is-error .research-status-icon::before {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-indent: 0;
  font-size: 1.75rem;
  font-weight: 900;
}

.research-status-box.is-success .research-status-icon::before {
  content: "\2713";
}

.research-status-box.is-error .research-status-icon::before {
  content: "!";
}

.research-status-box.is-running .research-status-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 4px solid rgba(18, 132, 111, 0.18);
  border-top-color: var(--brand);
  animation: researchStatusSpin 0.9s linear infinite;
  transform: translate(-50%, -50%);
}

.research-status-box.is-error .research-status-icon {
  background: rgba(180, 53, 43, 0.12);
  color: #b4352b;
  box-shadow: inset 0 0 0 1px rgba(180, 53, 43, 0.14), 0 8px 18px rgba(180, 53, 43, 0.08);
}

.research-status-box.is-success .research-status-icon {
  background: rgba(66, 186, 119, 0.16);
  color: #0f7d54;
  box-shadow: inset 0 0 0 1px rgba(66, 186, 119, 0.18), 0 8px 18px rgba(66, 186, 119, 0.1);
}

.research-status-track {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(18, 132, 111, 0.12);
  margin-top: 10px;
}

.research-status-track span {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1f78c8, #14846f);
  transform-origin: left center;
}

.research-status-box.is-running .research-status-track span {
  animation: researchStatusProgress var(--research-duration, 60000ms) cubic-bezier(0.2, 0.8, 0.25, 1) forwards;
}

.research-status-box.is-success .research-status-track span {
  background: #14846f;
  transform: scaleX(1);
}

.research-status-box.is-error .research-status-track span {
  background: #b4352b;
  transform: scaleX(1);
}

@keyframes researchStatusProgress {
  from {
    transform: scaleX(0.04);
  }
  to {
    transform: scaleX(0.92);
  }
}

@keyframes researchStatusSpin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.transaction-form {
  display: grid;
  gap: 14px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

label {
  display: grid;
  gap: 6px;
  color: #314038;
  font-size: 0.86rem;
  font-weight: 700;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
  color: var(--ink);
  padding: 10px 12px;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(15, 122, 99, 0.13);
  outline: 0;
}

.table-input {
  min-width: 150px;
  padding: 8px 10px;
}

.compact-input {
  min-width: 120px;
  width: 100%;
}

textarea {
  resize: vertical;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.button-row.score-entry-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
}

.score-entry-controls > label:not(.is-hidden):not(.research-button) {
  flex: 1 1 260px;
  max-width: 430px;
}

.score-entry-controls > label:has(#scoreMonthInput),
#floydDeepRatingButton,
#floydFisTestButton,
#floydFssTestButton,
#floydNdsTestButton {
  display: none;
}

#floydResearchBundleButton {
  min-width: 178px;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(0, 74, 54, 0.12);
}

#floydCtcButton,
#watchResearchCtcButton {
  min-width: 168px;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(0, 74, 54, 0.12);
}

.manual-analysis-button {
  background: #eef1ef;
  border-color: rgba(83, 101, 95, 0.28);
  color: #21332f;
  font-weight: 850;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 8px 18px rgba(20, 44, 37, 0.08);
}

.manual-analysis-button:hover {
  background: #e1e7e4;
  border-color: rgba(83, 101, 95, 0.42);
  color: #102c25;
}

.score-module-heading {
  grid-column: 1 / -1;
  flex: 1 0 100%;
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(13, 69, 52, 0.12);
  color: var(--brand-dark);
}

.score-module-heading strong {
  font-size: 1rem;
}

.score-module-heading span {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 800;
}

.score-module-heading-step {
  align-items: center;
  letter-spacing: 0;
  text-transform: uppercase;
}

.score-module-heading-step strong {
  font-size: 0.92rem;
  letter-spacing: 0;
}

.score-module-heading-step span {
  text-transform: none;
}

.score-module-heading-select {
  margin-top: 12px;
  padding-top: 6px;
  border-top: 0;
}

.score-module-heading-research {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.table-actions {
  display: inline-flex;
  gap: 8px;
  justify-content: flex-end;
  white-space: nowrap;
}

.watchlist-inline-delete {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  min-height: 28px;
  border-radius: 999px;
  padding: 0;
  font-size: 0.78rem;
  line-height: 1;
}

.portfolio-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(170px, 1fr));
  gap: 8px;
  align-items: end;
  justify-content: end;
  width: min(100%, 380px);
}

.portfolio-action-row .ghost-button,
.portfolio-action-row .file-button {
  justify-content: center;
  min-height: 40px;
  white-space: nowrap;
}

.portfolio-panel .panel-header {
  align-items: start;
  margin-bottom: 8px;
}

.portfolio-panel .panel-header p {
  margin-top: 4px;
}

.portfolio-panel .watchlist-filter-label {
  margin-top: 0;
}

.portfolio-crash-button {
  display: grid;
  gap: 1px;
  min-height: 42px;
  border: 1px solid rgba(155, 31, 31, 0.26);
  border-radius: 8px;
  background:
    radial-gradient(circle at 88% 18%, rgba(155, 31, 31, 0.12), transparent 34%),
    linear-gradient(180deg, #fff7f5, #fff0ed);
  color: #7e1b1b;
  padding: 7px 10px;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.portfolio-crash-button-main {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.02em;
}

.portfolio-crash-icon {
  display: inline-grid;
  width: 19px;
  height: 19px;
  place-items: center;
  border: 1px solid rgba(155, 31, 31, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #9b1f1f;
  font-size: 0.78rem;
  line-height: 1;
}

.portfolio-crash-button small {
  color: #8a3a32;
  font-size: 0.68rem;
  font-weight: 760;
  line-height: 1.14;
}

.portfolio-crash-button:hover {
  border-color: rgba(155, 31, 31, 0.4);
  background: linear-gradient(180deg, #fff2ef, #ffe8e3);
  transform: translateY(-1px);
}

.portfolio-upside-button {
  border-color: rgba(15, 122, 99, 0.24);
  background:
    radial-gradient(circle at 88% 18%, rgba(15, 122, 99, 0.11), transparent 34%),
    linear-gradient(180deg, #f2fbf6, #e8f7ee);
  color: #075b49;
}

.portfolio-upside-button .portfolio-crash-icon {
  border-color: rgba(15, 122, 99, 0.22);
  color: #0f7a63;
}

.portfolio-upside-button small {
  color: #245f50;
}

.portfolio-upside-button:hover {
  border-color: rgba(15, 122, 99, 0.4);
  background: linear-gradient(180deg, #ecf9f1, #ddf2e7);
}

.compact-row {
  align-items: center;
  margin-top: 10px;
}

.helper-text {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.dividend-tax-panel {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf7;
}

.category-manager,
.category-editor,
.portfolio-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.portfolio-tools {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  margin-bottom: 16px;
}

.portfolio-tools .ghost-button {
  align-self: end;
  justify-content: center;
  min-height: 40px;
  white-space: nowrap;
}

.portfolio-sort-control {
  grid-column: span 2;
}

.portfolio-name-filter {
  grid-column: span 2;
}

.security-status-panel {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 12px 0 14px;
  border: 1px solid #c9d8d0;
  border-radius: 8px;
  background: #f8fbf9;
  padding: 12px;
  overflow: hidden;
}

.security-status-panel.is-ok {
  border-color: #88c5a1;
  background: #f0faf4;
}

.security-status-panel.is-warning {
  border-color: #e6b25d;
  background: #fff8e8;
}

.lazy-detail-row td {
  padding: 18px !important;
}

.watchlist-table .lazy-detail-row td,
.score-overview-table .lazy-detail-row td,
.lazy-detail-cell {
  overflow: visible;
  white-space: normal;
}

.lazy-detail-loader {
  box-sizing: border-box;
  width: min(100%, 760px);
  margin: 8px auto;
  border: 1px solid #b9d4ca;
  border-radius: 10px;
  background: linear-gradient(135deg, #f5fbf8, #ffffff);
  padding: 16px;
  box-shadow: 0 14px 34px rgba(12, 72, 55, 0.08);
  text-align: left;
}

.lazy-detail-loader-heading {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
  flex-wrap: wrap;
  min-width: 0;
}

.lazy-detail-loader-heading strong {
  flex: 1 1 240px;
  color: var(--brand-dark);
  font-size: 1rem;
  min-width: 0;
  overflow-wrap: anywhere;
}

.lazy-detail-loader-heading span,
.lazy-detail-loader p {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  white-space: normal;
}

.lazy-detail-loader p {
  margin: 10px 0 0;
}

.lazy-detail-progress {
  height: 8px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(25, 113, 189, 0.13);
}

.lazy-detail-progress span {
  display: block;
  height: 100%;
  width: 38%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1971bd, #1aa6b7);
  animation: lazy-detail-progress 1.45s ease-in-out infinite;
}

.security-status-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}

.security-status-title {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.security-status-heading span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.utility-status-close {
  flex: 0 0 auto;
  min-height: 30px;
  border: 1px solid rgba(17, 31, 24, 0.12);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  padding: 0 10px;
  font-size: 0.74rem;
  font-weight: 900;
  cursor: pointer;
}

.utility-status-close:hover {
  border-color: rgba(17, 128, 104, 0.28);
  color: var(--brand-dark);
  background: #fff;
}

.utility-status-message {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.security-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.security-check-grid div {
  min-width: 0;
  border: 1px solid #d7e3dd;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 9px;
}

.security-check-grid strong,
.security-check-grid span {
  overflow-wrap: anywhere;
}

.security-check-grid div.is-ok strong {
  color: var(--brand-dark);
}

.security-check-grid div.is-warning strong {
  color: #8a5200;
}

.security-check-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  margin-top: 3px;
}

.storage-audit-principle {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid #c7ddd2;
  border-radius: 8px;
  background: #eef8f3;
}

.storage-audit-principle strong {
  color: var(--brand-dark);
}

.storage-audit-principle span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
}

.storage-audit-files {
  margin-top: 12px;
}

.storage-audit-files > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--brand-dark);
}

.storage-audit-files ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.storage-audit-files li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(92px, auto) minmax(92px, auto);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #d7e3dd;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.storage-audit-files li span {
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.storage-audit-files li b {
  color: var(--brand-dark);
}

.storage-audit-files li small {
  color: var(--muted);
  font-weight: 700;
}

.storage-cockpit {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  padding: 12px;
}

.storage-cockpit-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.storage-cockpit-head strong,
.storage-cockpit-head span {
  display: block;
}

.storage-cockpit-head strong {
  color: var(--green-900);
  font-size: 1rem;
  font-weight: 950;
}

.storage-cockpit-head span,
.storage-cockpit-head small {
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.storage-cockpit-table-wrap {
  overflow-x: auto;
}

.storage-cockpit-table {
  width: 100%;
  min-width: 1100px;
  border-collapse: separate;
  border-spacing: 0 6px;
}

.storage-cockpit-table th {
  padding: 0 9px 4px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-align: left;
  text-transform: uppercase;
}

.storage-cockpit-table td {
  padding: 9px;
  border-top: 1px solid rgba(17, 31, 24, 0.08);
  border-bottom: 1px solid rgba(17, 31, 24, 0.08);
  background: #fff;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 750;
  vertical-align: top;
}

.storage-cockpit-table td:first-child {
  border-left: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 8px 0 0 8px;
}

.storage-cockpit-table td:last-child {
  max-width: 260px;
  border-right: 1px solid rgba(17, 31, 24, 0.08);
  border-radius: 0 8px 8px 0;
}

.storage-cockpit-table td strong,
.storage-cockpit-table td small {
  display: block;
}

.storage-cockpit-table td strong {
  color: var(--green-900);
  font-weight: 950;
}

.storage-cockpit-table td small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.storage-cockpit-table tr.is-ok td {
  border-color: rgba(37, 177, 112, 0.24);
  background: #f5fbf7;
}

.storage-cockpit-table tr.is-warning td {
  border-color: rgba(207, 166, 49, 0.3);
  background: #fffaf0;
}

.storage-cockpit-table tr.is-critical td {
  border-color: rgba(184, 57, 47, 0.26);
  background: #fff5f4;
}

.api-usage-section {
  margin-top: 14px;
}

.api-usage-section > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--brand-dark);
}

.api-usage-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid #d7e3dd;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.api-usage-table th,
.api-usage-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #d7e3dd;
  text-align: left;
  vertical-align: top;
}

.api-usage-table th {
  color: var(--muted);
  font-size: 0.76rem;
  text-transform: uppercase;
}

.api-usage-table td {
  color: var(--ink);
  font-weight: 700;
}

.api-usage-table td strong {
  color: var(--brand-dark);
}

.api-usage-recent {
  display: grid;
  gap: 6px;
}

.api-usage-recent > div {
  padding: 8px 10px;
  border: 1px solid #d7e3dd;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.api-usage-recent-main {
  display: grid;
  grid-template-columns: minmax(108px, auto) minmax(92px, auto) minmax(0, 1fr) minmax(104px, auto) minmax(92px, auto);
  gap: 10px;
  align-items: center;
}

.api-usage-recent span,
.api-usage-recent b,
.api-usage-recent strong {
  overflow-wrap: anywhere;
}

.api-usage-recent span {
  color: var(--muted);
  font-weight: 700;
}

.api-usage-recent b,
.api-usage-recent strong {
  color: var(--brand-dark);
}

.api-usage-run-steps {
  display: grid;
  gap: 4px;
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid #dde8e3;
}

.api-usage-run-steps > div {
  display: grid;
  grid-template-columns: 92px 112px minmax(90px, auto) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.api-usage-run-steps small,
.api-usage-response-id {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.api-usage-response-id {
  display: block;
  margin-top: 5px;
}

.api-usage-empty {
  margin: 12px 0 0;
  color: var(--muted);
  font-weight: 700;
}

.watchlist-filter-row {
  grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
}

.watchlist-filter-label {
  margin: 18px 0 6px;
  color: var(--brand-dark);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.watchlist-favorite-filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  align-self: end;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 8px 10px;
  color: var(--brand-dark);
  font-weight: 850;
}

.watchlist-favorite-filter input {
  width: 16px;
  height: 16px;
  accent-color: #10a37f;
}

.watchlist-detail-row td {
  padding: 0 12px 14px;
  border-bottom: 1px solid #cfdcd5;
  background: #fbfdfb;
}

.watchlist-table .score-overview-row td {
  border-bottom: 0;
}

.watchlist-table .watchlist-main-row td {
  border-top: 8px solid white;
  background: #fbfdfb;
}

.watchlist-table .watchlist-main-row:first-child td {
  border-top-width: 0;
}

.watchlist-table {
  min-width: 2660px;
  table-layout: fixed;
}

.watchlist-table.matrix-paged {
  min-width: 0;
  width: 100%;
}

.watchlist-table th,
.watchlist-table td {
  overflow: hidden;
}

.watchlist-table th:nth-child(1),
.watchlist-table td:nth-child(1) {
  width: 380px;
}

.watchlist-table th:nth-child(2),
.watchlist-table td:nth-child(2),
.watchlist-table th:nth-child(3),
.watchlist-table td:nth-child(3),
.watchlist-table th:nth-child(4),
.watchlist-table td:nth-child(4),
.watchlist-table th:nth-child(5),
.watchlist-table td:nth-child(5),
.watchlist-table th:nth-child(6),
.watchlist-table td:nth-child(6),
.watchlist-table th:nth-child(7),
.watchlist-table td:nth-child(7),
.watchlist-table th:nth-child(8),
.watchlist-table td:nth-child(8),
.watchlist-table th:nth-child(9),
.watchlist-table td:nth-child(9) {
  width: 96px;
}

.watchlist-table th:nth-child(10),
.watchlist-table td:nth-child(10) {
  width: 260px;
}

.watchlist-table th:nth-child(11),
.watchlist-table td:nth-child(11) {
  width: 116px;
}

.watchlist-table th:nth-child(12),
.watchlist-table td:nth-child(12) {
  width: 238px;
}

.score-overview-table th:nth-child(13),
.score-overview-table td:nth-child(13) {
  min-width: 222px;
}

.watchlist-table th:nth-child(13),
.watchlist-table td:nth-child(13) {
  width: 112px;
}

.watchlist-table th:nth-child(14),
.watchlist-table td:nth-child(14) {
  width: 140px;
}

.watchlist-table th:nth-child(15),
.watchlist-table td:nth-child(15) {
  width: 112px;
}

.watchlist-table th:nth-child(16),
.watchlist-table td:nth-child(16) {
  width: 112px;
}

.watchlist-table th:nth-child(17),
.watchlist-table td:nth-child(17) {
  width: 120px;
}

.watchlist-table th:nth-child(18),
.watchlist-table td:nth-child(18) {
  width: 96px;
}

.score-overview-table.matrix-paged th,
.score-overview-table.matrix-paged td {
  padding-left: 4px;
  padding-right: 4px;
}

.score-overview-table.matrix-paged th:first-child,
.score-overview-table.matrix-paged td:first-child {
  width: 380px;
}

.score-overview-table.matrix-paged td:first-child {
  overflow: hidden;
}

.score-overview-table.matrix-paged .security-name-row {
  min-width: 0;
  width: 100%;
}

.score-overview-table.matrix-paged .security-name-row > div {
  flex: 1 1 auto;
  min-width: 0;
}

.score-overview-table.matrix-paged .country-flag,
.score-overview-table.matrix-paged .watchlist-favorite-button,
.score-overview-table.matrix-paged .chart-link,
.score-overview-table.matrix-paged .basics-inline-button,
.score-overview-table.matrix-paged .score-research-button,
.score-overview-table.matrix-paged .score-research-actions,
.score-overview-table.matrix-paged .watch-research-actions {
  flex: 0 0 auto;
}

.score-overview-table.matrix-paged .security-name,
.score-overview-table.matrix-paged .security-subline {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.research-master-panel .score-overview-table.matrix-paged th:first-child,
.research-master-panel .score-overview-table.matrix-paged td:first-child {
  width: 460px;
}

.research-master-provenance-line {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 6px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
}

.research-master-provenance-line span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.research-master-provenance-line b {
  color: var(--brand-dark);
}

.research-master-status.is-missing {
  color: var(--danger);
}

.research-master-status.is-action_required {
  color: #9b6412;
}

.research-master-status.is-ok {
  color: var(--brand);
}

.research-master-status.is-legacy,
.research-master-status.is-stale {
  color: #9b6412;
}

.research-master-status.is-fresh {
  color: var(--brand);
}

.research-master-matrix-table.is-page-1 th:nth-child(n+8):nth-child(-n+31),
.research-master-matrix-table.is-page-1 td:nth-child(n+8):nth-child(-n+31),
.research-master-matrix-table.is-page-2 th:nth-child(n+2):nth-child(-n+7),
.research-master-matrix-table.is-page-2 td:nth-child(n+2):nth-child(-n+7),
.research-master-matrix-table.is-page-2 th:nth-child(n+14):nth-child(-n+31),
.research-master-matrix-table.is-page-2 td:nth-child(n+14):nth-child(-n+31),
.research-master-matrix-table.is-page-3 th:nth-child(n+2):nth-child(-n+24),
.research-master-matrix-table.is-page-3 td:nth-child(n+2):nth-child(-n+24),
.research-master-matrix-table.is-page-4 th:nth-child(n+2):nth-child(-n+18),
.research-master-matrix-table.is-page-4 td:nth-child(n+2):nth-child(-n+18),
.research-master-matrix-table.is-page-4 th:nth-child(n+25):nth-child(-n+31),
.research-master-matrix-table.is-page-4 td:nth-child(n+25):nth-child(-n+31),
.research-master-matrix-table.is-page-5 th:nth-child(n+2):nth-child(-n+13),
.research-master-matrix-table.is-page-5 td:nth-child(n+2):nth-child(-n+13),
.research-master-matrix-table.is-page-5 th:nth-child(n+18):nth-child(-n+31),
.research-master-matrix-table.is-page-5 td:nth-child(n+18):nth-child(-n+31),
.research-master-matrix-table.is-page-6 th:nth-child(n+2):nth-child(-n+17),
.research-master-matrix-table.is-page-6 td:nth-child(n+2):nth-child(-n+17),
.research-master-matrix-table.is-page-6 th:nth-child(n+19):nth-child(-n+31),
.research-master-matrix-table.is-page-6 td:nth-child(n+19):nth-child(-n+31) {
  display: none;
}

.research-master-matrix-table.is-page-2 th:nth-child(n+8):nth-child(-n+13),
.research-master-matrix-table.is-page-2 td:nth-child(n+8):nth-child(-n+13),
.research-master-matrix-table.is-page-3 th:nth-child(n+25):nth-child(-n+31),
.research-master-matrix-table.is-page-3 td:nth-child(n+25):nth-child(-n+31),
.research-master-matrix-table.is-page-4 th:nth-child(n+19):nth-child(-n+24),
.research-master-matrix-table.is-page-4 td:nth-child(n+19):nth-child(-n+24),
.research-master-matrix-table.is-page-5 th:nth-child(n+14):nth-child(-n+17),
.research-master-matrix-table.is-page-5 td:nth-child(n+14):nth-child(-n+17),
.research-master-matrix-table.is-page-6 th:nth-child(18),
.research-master-matrix-table.is-page-6 td:nth-child(18) {
  display: table-cell;
}

.research-master-matrix-table th:nth-child(12),
.research-master-matrix-table td:nth-child(12) {
  width: 94px;
}

.research-master-matrix-table th:nth-child(14),
.research-master-matrix-table td:nth-child(14) {
  width: 76px;
}

.research-master-matrix-table th:nth-child(15),
.research-master-matrix-table td:nth-child(15) {
  width: 210px;
}

.research-master-matrix-table th:nth-child(18),
.research-master-matrix-table td:nth-child(18) {
  width: 150px;
}

.research-master-sis-card {
  display: inline-flex;
  min-width: 84px;
  min-height: 56px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 7px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--brand-dark);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
}

button.research-master-sis-card {
  cursor: pointer;
}

.research-master-sis-card strong {
  font-size: 0.9rem;
  line-height: 1.05;
}

.research-master-sis-card span,
.research-master-sis-card em {
  display: block;
  max-width: 78px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.research-master-sis-card em {
  font-style: normal;
}

.research-master-sis-crs-card.is-ok,
.research-master-fis-crs-card.is-ok,
.research-master-fss-crs-card.is-ok,
.research-master-phase-crs-card.is-ok,
.research-master-rc-crs-card.is-ok,
.research-master-dark-crs-card.is-ok,
.research-master-dirt-crs-card.is-ok,
.research-master-human-crs-card.is-ok,
.research-master-female-crs-card.is-ok,
.research-master-timing-crs-card.is-ok,
.research-master-sis-dmo-card.is-score-10,
.research-master-sis-dmo-card.is-score-8 {
  border-color: #80d5aa;
  background: #effaf4;
}

.research-master-sis-crs-card.is-action_required,
.research-master-sis-crs-card.is-stale,
.research-master-sis-crs-card.is-wrong_version,
.research-master-fis-crs-card.is-incomplete,
.research-master-fis-crs-card.is-stale,
.research-master-fis-crs-card.is-wrong_version,
.research-master-fis-crs-card.is-date_unknown,
.research-master-fis-crs-card.is-version_unknown,
.research-master-fss-crs-card.is-incomplete,
.research-master-fss-crs-card.is-stale,
.research-master-fss-crs-card.is-wrong_prompt_version,
.research-master-fss-crs-card.is-wrong_model_version,
.research-master-fss-crs-card.is-date_unknown,
.research-master-fss-crs-card.is-version_unknown,
.research-master-phase-crs-card.is-incomplete,
.research-master-phase-crs-card.is-near_horizon_stale,
.research-master-phase-crs-card.is-full_horizon_stale,
.research-master-phase-crs-card.is-wrong_prompt_version,
.research-master-phase-crs-card.is-wrong_model_version,
.research-master-phase-crs-card.is-date_unknown,
.research-master-phase-crs-card.is-version_unknown,
.research-master-rc-crs-card.is-incomplete,
.research-master-rc-crs-card.is-stale,
.research-master-rc-crs-card.is-wrong_prompt_version,
.research-master-rc-crs-card.is-wrong_model_version,
.research-master-rc-crs-card.is-date_unknown,
.research-master-rc-crs-card.is-version_unknown,
.research-master-dark-crs-card.is-incomplete,
.research-master-dark-crs-card.is-stale,
.research-master-dark-crs-card.is-wrong_prompt_version,
.research-master-dark-crs-card.is-wrong_model_version,
.research-master-dark-crs-card.is-date_unknown,
.research-master-dark-crs-card.is-version_unknown,
.research-master-dirt-crs-card.is-incomplete,
.research-master-dirt-crs-card.is-stale,
.research-master-dirt-crs-card.is-wrong_prompt_version,
.research-master-dirt-crs-card.is-wrong_model_version,
.research-master-dirt-crs-card.is-date_unknown,
.research-master-dirt-crs-card.is-version_unknown,
.research-master-human-crs-card.is-incomplete,
.research-master-human-crs-card.is-stale,
.research-master-human-crs-card.is-wrong_prompt_version,
.research-master-human-crs-card.is-wrong_model_version,
.research-master-human-crs-card.is-date_unknown,
.research-master-human-crs-card.is-version_unknown,
.research-master-female-crs-card.is-incomplete,
.research-master-female-crs-card.is-stale,
.research-master-female-crs-card.is-wrong_prompt_version,
.research-master-female-crs-card.is-wrong_model_version,
.research-master-female-crs-card.is-date_unknown,
.research-master-female-crs-card.is-version_unknown,
.research-master-timing-crs-card.is-incomplete,
.research-master-timing-crs-card.is-stale,
.research-master-timing-crs-card.is-wrong_prompt_version,
.research-master-timing-crs-card.is-wrong_model_version,
.research-master-timing-crs-card.is-date_unknown,
.research-master-timing-crs-card.is-version_unknown,
.research-master-sis-dmo-card.is-score-5 {
  border-color: #f4c75f;
  background: #fff9e8;
}

.research-master-sis-crs-card.is-missing,
.research-master-sis-crs-card.is-incomplete,
.research-master-sis-crs-card.is-version_unknown,
.research-master-sis-crs-card.is-source_review,
.research-master-fis-crs-card.is-missing,
.research-master-fis-crs-card.is-missing_required_fields,
.research-master-fss-crs-card.is-missing,
.research-master-fss-crs-card.is-missing_required_fields,
.research-master-phase-crs-card.is-missing,
.research-master-phase-crs-card.is-missing_phases,
.research-master-phase-crs-card.is-missing_required_fields,
.research-master-rc-crs-card.is-missing,
.research-master-rc-crs-card.is-missing_required_fields,
.research-master-rc-crs-card.is-missing_required_factors,
.research-master-dark-crs-card.is-missing,
.research-master-dark-crs-card.is-missing_required_fields,
.research-master-dirt-crs-card.is-missing,
.research-master-dirt-crs-card.is-missing_required_fields,
.research-master-human-crs-card.is-missing,
.research-master-human-crs-card.is-missing_required_fields,
.research-master-female-crs-card.is-missing,
.research-master-female-crs-card.is-missing_required_fields,
.research-master-timing-crs-card.is-missing,
.research-master-timing-crs-card.is-missing_required_fields,
.research-master-sis-dmo-card.is-score-3,
.research-master-sis-dmo-card.is-score-1,
.research-master-sis-dmo-card.is-score-0 {
  border-color: #ffb17a;
  background: #fff3ea;
}

.scoring-matrix-table th:nth-child(n+2),
.scoring-matrix-table td:nth-child(n+2),
.watchlist-matrix-table th:nth-child(n+2),
.watchlist-matrix-table td:nth-child(n+2) {
  min-width: 0;
  width: 76px;
}

.scoring-matrix-table th:nth-child(14),
.scoring-matrix-table td:nth-child(14),
.watchlist-matrix-table th:nth-child(13),
.watchlist-matrix-table td:nth-child(13) {
  width: 210px;
}

.scoring-matrix-table th:nth-child(17),
.scoring-matrix-table td:nth-child(17),
.watchlist-matrix-table th:nth-child(16),
.watchlist-matrix-table td:nth-child(16) {
  width: 150px;
}

.scoring-matrix-table.is-page-1 th:first-child,
.scoring-matrix-table.is-page-1 td:first-child,
.watchlist-matrix-table.is-page-1 th:first-child,
.watchlist-matrix-table.is-page-1 td:first-child {
  width: 42%;
}

.scoring-matrix-table.is-page-2 th:first-child,
.scoring-matrix-table.is-page-2 td:first-child,
.watchlist-matrix-table.is-page-2 th:first-child,
.watchlist-matrix-table.is-page-2 td:first-child,
.scoring-matrix-table.is-page-4 th:first-child,
.scoring-matrix-table.is-page-4 td:first-child,
.watchlist-matrix-table.is-page-4 th:first-child,
.watchlist-matrix-table.is-page-4 td:first-child,
.scoring-matrix-table.is-page-5 th:first-child,
.scoring-matrix-table.is-page-5 td:first-child,
.watchlist-matrix-table.is-page-5 th:first-child,
.watchlist-matrix-table.is-page-5 td:first-child {
  width: 38%;
}

.scoring-matrix-table.is-page-3 th:first-child,
.scoring-matrix-table.is-page-3 td:first-child,
.watchlist-matrix-table.is-page-3 th:first-child,
.watchlist-matrix-table.is-page-3 td:first-child {
  width: 40%;
}

.scoring-matrix-table.is-page-6 th:first-child,
.scoring-matrix-table.is-page-6 td:first-child,
.watchlist-matrix-table.is-page-6 th:first-child,
.watchlist-matrix-table.is-page-6 td:first-child {
  width: 72%;
}

.watchlist-table .security-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.watchlist-table .security-name-row > div {
  flex: 1 1 auto;
  min-width: 0;
}

.watchlist-table .security-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.watchlist-table .chart-link,
.watchlist-table .watchlist-favorite-button,
.watchlist-table .watchlist-inline-delete,
.watchlist-table .basics-inline-button,
.watchlist-table .watch-research-actions {
  flex: 0 0 auto;
}

.watchlist-matrix-table .security-name-row {
  display: grid;
  grid-template-columns: 26px 22px minmax(112px, 1fr) 44px 64px auto 26px;
  gap: 5px;
  align-items: center;
}

.watchlist-matrix-table .watchlist-security-title {
  min-width: 0;
  overflow: hidden;
}

.watchlist-matrix-table .chart-link {
  justify-self: end;
  min-width: 48px;
  text-align: center;
}

.watchlist-matrix-table .basics-inline-button {
  justify-self: stretch;
  width: 68px;
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}

.watchlist-matrix-table .watch-research-actions {
  justify-self: end;
  width: auto;
  justify-content: flex-end;
}

.watchlist-favorite-button {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(17, 31, 24, 0.1);
  border-radius: 50%;
  background: #ffffff;
  color: #8aa097;
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
}

.watchlist-favorite-button:hover,
.watchlist-favorite-button.is-active {
  border-color: rgba(214, 169, 40, 0.42);
  background: #fff8dc;
  color: #d6a928;
}

.watchlist-favorite-button.is-active {
  box-shadow: 0 0 0 3px rgba(214, 169, 40, 0.12);
}

.phase-cycle-badge {
  min-width: 68px;
  min-height: 44px;
  overflow: hidden;
}

.phase-cycle-badge strong {
  font-size: 0.92rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phase-cycle-badge small {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: currentColor;
  font-size: 0.64rem;
  font-weight: 850;
  line-height: 1.05;
  opacity: 0.78;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.phase-cycle-badge em,
.cycle-score-kicker {
  display: block;
  overflow: hidden;
  color: currentColor;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.05;
  opacity: 0.72;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cycle-score-kicker {
  margin-bottom: 2px;
  opacity: 0.88;
}

.phase-cycle-badge.is-score-10,
.phase-cycle-badge.is-score-9 {
  border-color: #89b8ff;
  background: #eaf2ff;
  color: #123b67;
}

.phase-cycle-badge.is-score-8,
.phase-cycle-badge.is-score-7 {
  border-color: #94d7ad;
  background: #eaf8ef;
  color: #123f2a;
}

.phase-cycle-badge.is-score-6,
.phase-cycle-badge.is-score-5 {
  border-color: #ead27d;
  background: #fff8dc;
  color: #5d450b;
}

.phase-cycle-badge.is-score-4,
.phase-cycle-badge.is-score-3 {
  border-color: #efb071;
  background: #fff0df;
  color: #7a3f05;
}

.phase-cycle-badge.is-score-2,
.phase-cycle-badge.is-score-1 {
  border-color: #f29a8f;
  background: #fff0ee;
  color: #7f1714;
}

.phase-cycle-badge.is-score-0 {
  border-color: #d4dbd6;
  background: #f4f6f5;
  color: #5f6f68;
}

.cycle-lens-premium-badge {
  cursor: default;
  border-color: #cfd8d3;
  background: linear-gradient(180deg, #f2f5f3, #e8eeeb);
  color: #5b6862;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}

.cycle-lens-premium-badge .cycle-lens-lock-icon {
  width: 16px;
  height: 16px;
  margin: 0 auto 2px;
  stroke: currentColor;
}

.cycle-lens-premium-badge strong {
  font-size: .72rem;
  text-transform: uppercase;
}

.cycle-lens-premium-badge small {
  color: currentColor;
  font-size: .62rem;
  opacity: .72;
}

.cycle-lens-lock-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.phase-cycle-detail {
  overflow-x: hidden;
}

.phase-cycle-module-head,
.cycle-lens-module-head {
  border: 1px solid rgba(12, 92, 72, 0.18);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(247, 251, 249, 0.96), rgba(238, 248, 244, 0.72));
  box-shadow: 0 8px 22px rgba(16, 65, 52, 0.06);
  padding: 13px 15px;
  margin-bottom: 12px;
}

.phase-cycle-module-head span,
.cycle-lens-module-head span {
  display: block;
  color: var(--green-900);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
}

.phase-cycle-module-head p,
.cycle-lens-module-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.35;
}

.phase-cycle-detail .research-detail-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
}

.phase-cycle-detail .summary-card {
  min-width: 0;
  min-height: 82px;
  padding: 10px 12px;
}

.phase-cycle-detail .summary-card strong,
.phase-cycle-detail .summary-card small {
  overflow-wrap: anywhere;
}

.phase-cycle-detail .summary-card.is-score-10,
.phase-cycle-detail .summary-card.is-score-9 {
  border-color: #89b8ff;
  background: #eaf2ff;
}

.phase-cycle-detail .summary-card.is-score-8,
.phase-cycle-detail .summary-card.is-score-7 {
  border-color: #94d7ad;
  background: #eaf8ef;
}

.phase-cycle-detail .summary-card.is-score-6,
.phase-cycle-detail .summary-card.is-score-5 {
  border-color: #ead27d;
  background: #fff8dc;
}

.phase-cycle-detail .summary-card.is-score-4,
.phase-cycle-detail .summary-card.is-score-3 {
  border-color: #efb071;
  background: #fff0df;
}

.phase-cycle-detail .summary-card.is-score-2,
.phase-cycle-detail .summary-card.is-score-1 {
  border-color: #f29a8f;
  background: #fff0ee;
}

.phase-cycle-detail .module-factor-table {
  table-layout: fixed;
  width: 100%;
}

.phase-cycle-detail .module-factor-table th:nth-child(1),
.phase-cycle-detail .module-factor-table td:nth-child(1) {
  width: 34%;
}

.phase-cycle-detail .module-factor-table th:nth-child(2),
.phase-cycle-detail .module-factor-table td:nth-child(2) {
  width: 120px;
  min-width: 120px;
  text-align: center;
}

.phase-cycle-detail .module-factor-table th:nth-child(3),
.phase-cycle-detail .module-factor-table td:nth-child(3) {
  width: 72px;
  min-width: 72px;
  text-align: center;
}

.phase-cycle-detail .module-factor-table td {
  white-space: normal;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.phase-cycle-detail .module-factor-table td:first-child small {
  display: block;
  margin-top: 3px;
  line-height: 1.25;
  white-space: normal;
}

.phase-cycle-detail .module-factor-table td:nth-child(4) {
  line-height: 1.35;
}

.phase-cycle-input {
  width: 86px;
  max-width: 100%;
  text-align: center;
}

.cycle-lens-detail {
  overflow-x: hidden;
}

.cycle-lens-premium-panel {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 18px;
  border: 1px solid #cfd8d3;
  border-radius: 10px;
  background: linear-gradient(180deg, #f3f6f4, #e8eeeb);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 8px 22px rgba(44, 58, 52, .06);
  color: #54625d;
  padding: 18px;
}

.cycle-lens-premium-mark {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border: 1px solid #bdc9c3;
  border-radius: 50%;
  background: rgba(255,255,255,.58);
}

.cycle-lens-premium-mark .cycle-lens-lock-icon {
  width: 27px;
  height: 27px;
}

.cycle-lens-premium-panel span {
  display: block;
  color: #62706a;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: 0;
}

.cycle-lens-premium-panel strong {
  display: block;
  margin-top: 2px;
  color: #3f4d48;
  font-size: 1.28rem;
  font-weight: 950;
}

.cycle-lens-premium-panel p {
  margin: 4px 0 0;
  color: #63716b;
  font-weight: 750;
}

.relevant-cycle-block {
  margin-top: 0;
  border: 1px solid rgba(12, 92, 72, 0.18);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(232, 246, 241, 0.95), rgba(255, 255, 255, 0.92));
  box-shadow: 0 10px 28px rgba(16, 65, 52, 0.08);
  padding: 16px;
}

.relevant-cycle-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px minmax(220px, 0.45fr);
  gap: 16px;
  align-items: stretch;
  border-bottom: 1px solid rgba(12, 92, 72, 0.14);
  padding-bottom: 14px;
}

.relevant-cycle-kicker {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 5px;
}

.relevant-cycle-header h3 {
  margin: 0;
  color: var(--green-900);
  font-size: clamp(1.35rem, 1.8vw, 1.9rem);
  line-height: 1.08;
}

.relevant-cycle-header p {
  margin: 7px 0 0;
  color: var(--text);
  font-weight: 800;
}

.cycle-hero-impact {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 12px;
  border: 1px solid rgba(12, 92, 72, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  padding: 8px 11px;
}

.cycle-hero-impact small,
.cycle-score-hero small {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
}

.cycle-hero-impact strong {
  color: var(--green-900);
}

.cycle-score-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(12, 92, 72, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  padding: 12px;
  text-align: center;
}

.cycle-score-hero strong {
  color: var(--green-900);
  font-size: 2.3rem;
  line-height: 1;
}

.cycle-score-hero span {
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 900;
}

.cycle-score-hero.is-score-10,
.cycle-score-hero.is-score-9 {
  border-color: #89b8ff;
  background: #eaf2ff;
}

.cycle-score-hero.is-score-8,
.cycle-score-hero.is-score-7 {
  border-color: #94d7ad;
  background: #eaf8ef;
}

.cycle-score-hero.is-score-6,
.cycle-score-hero.is-score-5 {
  border-color: #ead27d;
  background: #fff8dc;
}

.cycle-score-hero.is-score-4,
.cycle-score-hero.is-score-3 {
  border-color: #efb071;
  background: #fff0df;
}

.cycle-score-hero.is-score-2,
.cycle-score-hero.is-score-1 {
  border-color: #f29a8f;
  background: #fff0ee;
}

.relevant-cycle-meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.relevant-cycle-meta span,
.cycle-signal-card {
  border: 1px solid rgba(12, 92, 72, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.relevant-cycle-meta small {
  display: block;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  margin-bottom: 3px;
}

.relevant-cycle-meta strong {
  display: block;
  color: var(--green-900);
  font-size: 0.95rem;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.cycle-method-note {
  margin: 12px 0 0;
  border: 1px dashed rgba(12, 92, 72, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
  padding: 10px 12px;
  color: var(--muted);
  line-height: 1.35;
}

.relevant-cycle-lens-group {
  margin-top: 16px;
}

.relevant-cycle-lens-group-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.relevant-cycle-lens-group-head h4 {
  margin: 0;
  color: var(--green-900);
}

.relevant-cycle-lens-group-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.relevant-cycle-lens-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.relevant-cycle-lens-card {
  border: 1px solid rgba(12, 92, 72, 0.14);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  padding: 14px;
}

.relevant-cycle-lens-card.is-cycle-blue {
  border-left-color: #2f80ed;
  background: rgba(47, 128, 237, 0.09);
}

.relevant-cycle-lens-card.is-cycle-green {
  border-left-color: #13836b;
  background: rgba(19, 131, 107, 0.08);
}

.relevant-cycle-lens-card.is-cycle-yellow {
  border-left-color: #d19a2a;
  background: rgba(209, 154, 42, 0.08);
}

.relevant-cycle-lens-card.is-cycle-orange {
  border-left-color: #d9822b;
  background: rgba(217, 130, 43, 0.09);
}

.relevant-cycle-lens-card.is-cycle-red {
  border-left-color: #b23a2f;
  background: rgba(178, 58, 47, 0.09);
}

.relevant-cycle-lens-card.is-muted {
  border-left-color: #aab6b0;
  background: rgba(239, 243, 241, 0.82);
}

.relevant-cycle-lens-card .cycle-lens-status {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 1px;
  border: 1px solid rgba(12, 92, 72, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
  padding: 6px 9px;
  font-size: 0.76rem;
  font-weight: 950;
  line-height: 1.1;
  white-space: nowrap;
}

.relevant-cycle-lens-card .cycle-lens-status small {
  display: block;
  margin: 0;
  color: inherit;
  font-size: 0.6rem;
  font-weight: 850;
  letter-spacing: 0;
  opacity: 0.72;
}

.relevant-cycle-lens-card.is-cycle-blue .cycle-lens-status {
  background: rgba(47, 128, 237, 0.13);
  color: #1d5eaf !important;
}

.relevant-cycle-lens-card.is-cycle-orange .cycle-lens-status {
  background: rgba(217, 130, 43, 0.15);
  color: #925214 !important;
}

.relevant-cycle-lens-card.is-cycle-red .cycle-lens-status {
  background: rgba(178, 58, 47, 0.14);
  color: #8d241d !important;
}

.relevant-cycle-lens-card.is-muted .cycle-lens-status {
  background: rgba(95, 111, 104, 0.12);
  color: #52645c !important;
}

.relevant-cycle-lens-card p {
  margin: 0;
  color: var(--text);
  line-height: 1.45;
}

.relevant-cycle-lens-card small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.32;
}

.cycle-lens-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.cycle-lens-card-head strong {
  min-width: 0;
  color: var(--green-900);
  font-size: 0.98rem;
  line-height: 1.22;
}

.cycle-lens-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 26px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--green-900);
  font-weight: 900;
}

.cycle-lens-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.cycle-lens-meta-line span,
.cycle-lens-meta-line b {
  display: inline-flex;
  border: 1px solid rgba(12, 92, 72, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.65);
  padding: 3px 8px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
}

.cycle-lens-meta-line b {
  color: var(--green-900);
}

.cycle-lens-floyd-impact.is-cycle-blue {
  border-color: rgba(47, 128, 237, 0.3);
  background: rgba(47, 128, 237, 0.12);
  color: #1d5eaf;
}

.cycle-lens-floyd-impact.is-cycle-green {
  border-color: rgba(19, 131, 107, 0.28);
  background: rgba(19, 131, 107, 0.12);
  color: #0b6b56;
}

.cycle-lens-floyd-impact.is-cycle-yellow {
  border-color: rgba(209, 154, 42, 0.3);
  background: rgba(209, 154, 42, 0.14);
  color: #7b5912;
}

.cycle-lens-floyd-impact.is-cycle-orange {
  border-color: rgba(217, 130, 43, 0.3);
  background: rgba(217, 130, 43, 0.15);
  color: #925214;
}

.cycle-lens-floyd-impact.is-cycle-red {
  border-color: rgba(178, 58, 47, 0.32);
  background: rgba(178, 58, 47, 0.14);
  color: #8d241d;
}

.cycle-lens-copy {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.cycle-lens-copy strong {
  color: var(--green-900);
}

.cycle-lens-time-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.cycle-lens-time-row span {
  border: 1px solid rgba(12, 92, 72, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  padding: 10px;
}

.cycle-lens-time-row small,
.cycle-lens-time-row strong {
  display: block;
  line-height: 1.2;
}

.cycle-lens-time-row small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.cycle-lens-time-row strong {
  color: var(--text);
  font-size: 0.88rem;
  line-height: 1.35;
}

.cycle-lens-sources {
  margin-top: 10px;
  border-top: 1px solid rgba(12, 92, 72, 0.1);
  padding-top: 9px;
}

.cycle-lens-sources summary {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--green-900);
  font-size: 0.76rem;
  font-weight: 900;
  cursor: pointer;
}

.cycle-lens-sources summary span {
  border-radius: 999px;
  background: rgba(12, 92, 72, 0.08);
  padding: 2px 7px;
  color: var(--muted);
  font-size: 0.68rem;
}

.cycle-lens-sources ul {
  display: grid;
  gap: 7px;
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
}

.cycle-lens-sources li {
  display: grid;
  gap: 2px;
  border: 1px solid rgba(12, 92, 72, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
  padding: 8px;
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.cycle-lens-sources li span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
}

.cycle-lens-edit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  margin-top: 8px;
}

.cycle-lens-edit-row label {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
}

.cycle-lens-edit-row select {
  border: 1px solid rgba(12, 92, 72, 0.18);
  border-radius: 8px;
  background: #fff;
  padding: 6px 8px;
  color: var(--text);
  font-weight: 800;
}

.is-cycle-lens-editing .relevant-cycle-lens-card {
  cursor: grab;
}

.is-cycle-lens-editing .relevant-cycle-lens-card.is-dragging {
  opacity: 0.58;
}

.cycle-signal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.cycle-signal-card strong {
  display: block;
  color: var(--green-900);
  margin-bottom: 6px;
}

.cycle-signal-card ul {
  margin: 0;
  padding-left: 18px;
  color: var(--text);
  line-height: 1.38;
}

@media (max-width: 900px) {
  .beta-roadmap-status-legend-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .phase-cycle-detail .research-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .relevant-cycle-header,
  .cycle-signal-grid {
    grid-template-columns: 1fr;
  }

  .relevant-cycle-meta {
    grid-template-columns: 1fr;
  }

  .relevant-cycle-lens-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .beta-roadmap-status-legend-grid {
    grid-template-columns: 1fr;
  }

  .phase-cycle-detail .research-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .relevant-cycle-lens-group-head {
    display: block;
  }

  .relevant-cycle-lens-group-head p {
    margin-top: 4px;
  }

  .relevant-cycle-lens-grid,
  .cycle-lens-time-row {
    grid-template-columns: 1fr;
  }
}

.watchlist-table .table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  white-space: normal;
}

.watchlist-module-heading {
  margin-top: 2px;
}

.watchlist-ctc-controls,
.watchlist-ctc-capture-panel {
  margin-top: 8px;
}

.watchlist-research-controls {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.watchlist-category-label {
  display: block;
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.category-editor {
  grid-template-columns: minmax(220px, 360px) auto auto;
}

.category-editor .wide-field {
  grid-column: 1 / -1;
}

.category-section {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfb;
  padding: 0 14px 14px;
}

.category-section summary {
  display: flex;
  align-items: center;
  min-height: 48px;
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 900;
}

.category-section summary:hover {
  color: var(--accent);
}

.category-subsection {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
  padding: 0 12px 12px;
}

.category-subsection summary {
  display: flex;
  align-items: center;
  min-height: 42px;
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 900;
}

.category-subsection summary:hover {
  color: var(--accent);
}

.category-nested-subsection {
  margin-left: 14px;
  background: rgba(239, 248, 244, 0.72);
}

.branding-subsection {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.branding-subsection + .branding-subsection {
  margin-top: 28px;
}

.branding-subsection-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.branding-subsection-heading::after {
  content: "";
  height: 1px;
  background: var(--line);
}

.branding-subsection-heading h3 {
  margin: 0;
  color: var(--brand-dark);
  font-size: 0.92rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.branding-editor {
  display: grid;
  grid-template-columns: minmax(320px, 1.2fr) minmax(280px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.release-header-manager {
  display: grid;
  gap: 10px;
}

.release-header-manager-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.release-header-slot-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  display: grid;
  grid-template-rows: auto 1fr;
}

.release-header-slot-preview {
  background: #e7f8ff;
  border-bottom: 1px solid var(--line);
}

.release-header-slot-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 20 / 3;
  object-fit: cover;
  object-position: left center;
}

.release-header-slot-body {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.release-header-slot-body h4 {
  margin: 0;
  font-size: 1rem;
  color: var(--brand-dark);
}

.compact-meta-list {
  display: grid;
  gap: 6px;
  margin: 0;
}

.compact-meta-list div {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
}

.compact-meta-list dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.compact-meta-list dd {
  margin: 0;
  min-width: 0;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.release-header-upload-button {
  justify-content: center;
}

.release-header-upload-input {
  display: none;
}

.branding-preview-card {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--pulse-accent) 22%, var(--line));
  border-radius: 8px;
  background: #e7f8ff;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--pulse-accent) 12%, transparent);
}

.branding-preview-card img {
  display: block;
  width: 100%;
  aspect-ratio: 20 / 3;
  object-fit: cover;
  object-position: left center;
}

.branding-controls {
  display: grid;
  gap: 12px;
}

.branding-color-row {
  display: grid;
  grid-template-columns: 96px minmax(160px, 1fr);
  gap: 12px;
  align-items: end;
}

.branding-color-row input[type="color"] {
  width: 100%;
  min-height: 42px;
  padding: 4px;
}

.editorial-admin {
  display: grid;
  gap: 14px;
}

.editorial-admin-head,
.editorial-blocks-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.editorial-admin-head h3,
.editorial-admin-card h4,
.editorial-blocks-head h4 {
  margin: 0;
  color: var(--brand-dark);
  font-size: 0.94rem;
  font-weight: 950;
}

.editorial-admin-head .button-row {
  align-items: center;
  justify-content: flex-end;
}

.editorial-admin-head select {
  min-width: 260px;
}

.editorial-admin-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(360px, 1.18fr);
  gap: 14px;
  align-items: start;
}

.editorial-admin-card {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(15, 81, 63, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 250, 0.9));
  padding: 14px;
  box-shadow: 0 12px 28px rgba(28, 43, 36, 0.06);
}

.editorial-field-grid,
.editorial-block-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.editorial-field-grid label,
.editorial-block-fields label {
  display: grid;
  gap: 5px;
  color: #50645d;
  font-size: 0.78rem;
  font-weight: 900;
}

.editorial-admin-wide,
.editorial-page-fields .editorial-admin-wide {
  grid-column: 1 / -1;
}

.editorial-checkbox-row {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  min-height: 42px;
}

.editorial-checkbox-row input {
  width: auto;
}

.editorial-teaser-admin {
  display: grid;
  gap: 12px;
}

.editorial-image-preview {
  display: grid;
  min-height: 160px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(47, 111, 163, 0.2);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(237, 246, 255, 0.94), rgba(241, 250, 246, 0.94));
  background-size: cover;
  color: #386177;
  font-weight: 900;
}

.editorial-image-preview.block-preview {
  width: 100%;
  aspect-ratio: 16 / 7;
  min-height: 190px;
  grid-column: 1 / -1;
}

.editorial-image-preview.block-preview.is-aspect-banner-3 {
  aspect-ratio: 3 / 1;
  min-height: 150px;
}

.editorial-image-preview.block-preview.is-aspect-banner-5 {
  aspect-ratio: 5 / 1;
  min-height: 110px;
}

.editorial-image-preview.has-image {
  background-color: #e8f3f0;
}

.editorial-upload-button {
  position: relative;
  overflow: hidden;
}

.editorial-upload-button input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.editorial-block-list {
  display: grid;
  gap: 10px;
}

.editorial-block-editor {
  display: grid;
  gap: 12px;
  border: 1px dashed rgba(15, 81, 63, 0.22);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  padding: 12px;
}

.editorial-block-editor.is-dragging {
  opacity: 0.54;
}

.editorial-block-editor.is-drag-over {
  border-color: rgba(47, 111, 163, 0.68);
  background: #eef7ff;
}

.editorial-block-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.editorial-block-editor-head span {
  display: inline-block;
  margin-bottom: 3px;
  color: #557068;
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.editorial-block-editor-head strong {
  color: #0a513f;
  font-size: 0.88rem;
}

.two-column-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.editorial-page-panel {
  padding: 0;
  overflow: hidden;
  background: #f8fbf8;
}

.editorial-page {
  display: grid;
  gap: 22px;
}

.editorial-back-button {
  width: fit-content;
  margin: 20px 24px 0;
}

.editorial-page > .atlas-area-hero {
  margin: 0 24px;
}

.editorial-page > .atlas-area-hero h2 {
  max-width: 1120px;
}

.editorial-page > .atlas-area-hero .atlas-area-description {
  max-width: 980px;
  font-weight: 800;
  white-space: normal;
}

.editorial-page > .atlas-area-hero .editorial-updated {
  color: rgba(248, 251, 250, 0.74);
}

.editorial-page-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.74fr);
  gap: 24px;
  align-items: stretch;
  padding: 18px 24px 12px;
}

.editorial-page-hero:not(.has-image) {
  grid-template-columns: minmax(0, 1fr);
}

.editorial-page-hero-copy {
  display: grid;
  align-content: center;
  gap: 14px;
  min-height: 340px;
  border: 1px solid rgba(15, 81, 63, 0.12);
  border-radius: 8px;
  background:
    radial-gradient(circle at 12% 8%, rgba(47, 111, 163, 0.12), transparent 34%),
    linear-gradient(135deg, #ffffff, #eff8f5);
  padding: 30px;
}

.editorial-page-hero-copy h1 {
  max-width: 960px;
  margin: 0;
  color: #09251f;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.editorial-page-hero-copy > p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: #42584f;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.46;
}

.editorial-updated {
  color: #60756d;
  font-size: 0.78rem;
  font-weight: 900;
}

.editorial-page-hero-image {
  min-height: 340px;
  border: 1px solid rgba(47, 111, 163, 0.2);
  border-radius: 8px;
  background-color: #e8f1f2;
  background-size: cover;
  box-shadow: 0 24px 60px rgba(31, 94, 145, 0.14);
}

.editorial-page-body {
  display: grid;
  gap: 18px;
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 4px 24px 42px;
}

.editorial-page-body section,
.editorial-page-body aside,
.editorial-content-image {
  margin: 0;
}

.editorial-content-headline h2,
.editorial-content-subheadline h3,
.editorial-content-columns h3 {
  margin: 0 0 8px;
  color: #0a372d;
  letter-spacing: 0;
}

.editorial-content-headline h2 {
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.05;
}

.editorial-content-subheadline h3,
.editorial-content-columns h3 {
  font-size: 1.24rem;
  line-height: 1.2;
}

.editorial-page-body p {
  margin: 0;
  color: #344a42;
  font-size: 1.03rem;
  line-height: 1.65;
}

.editorial-content-text,
.editorial-content-headline,
.editorial-content-subheadline {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(15, 81, 63, 0.12);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 250, 0.94));
  padding: 20px 22px;
  box-shadow: 0 12px 30px rgba(28, 43, 36, 0.05);
}

.editorial-content-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.editorial-content-columns > div,
.editorial-content-callout,
.editorial-content-cta {
  border: 1px solid rgba(15, 81, 63, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  padding: 18px;
  box-shadow: 0 12px 30px rgba(28, 43, 36, 0.06);
}

.editorial-content-columns > div {
  border-color: rgba(25, 113, 189, 0.2);
  background:
    linear-gradient(135deg, rgba(230, 244, 255, 0.9), rgba(248, 252, 255, 0.96));
  box-shadow: 0 16px 36px rgba(31, 94, 145, 0.08);
}

.editorial-content-callout {
  border-color: rgba(216, 164, 26, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 249, 234, 0.92), rgba(255, 255, 255, 0.92));
}

.editorial-content-callout strong {
  display: block;
  margin-bottom: 8px;
  color: #7a5a08;
  font-size: 0.86rem;
  font-weight: 950;
  text-transform: uppercase;
}

.editorial-content-image img,
.editorial-content-image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
  border: 1px solid rgba(47, 111, 163, 0.2);
  border-radius: 8px;
  background: #edf6ff;
  object-fit: cover;
}

.editorial-content-image.is-aspect-banner-3 img,
.editorial-content-image.is-aspect-banner-3 .editorial-content-image-placeholder {
  aspect-ratio: 3 / 1;
}

.editorial-content-image.is-aspect-banner-5 img,
.editorial-content-image.is-aspect-banner-5 .editorial-content-image-placeholder {
  aspect-ratio: 5 / 1;
}

.editorial-content-image-placeholder {
  display: grid;
  place-items: center;
  color: #386177;
  font-weight: 900;
}

.editorial-content-image figcaption {
  margin-top: 8px;
  color: #60756d;
  font-size: 0.88rem;
  font-weight: 800;
}

.editorial-content-cta {
  display: grid;
  justify-items: start;
  gap: 12px;
}

.editorial-page.is-atlas-editorial-theme {
  gap: clamp(18px, 2.6vw, 30px);
  background:
    radial-gradient(circle at 92% 4%, rgba(25, 113, 189, 0.08), transparent 28%),
    linear-gradient(180deg, #f8fbf8 0%, #f3faf8 42%, #f8fbf8 100%);
}

.editorial-page.is-atlas-editorial-theme .editorial-back-button {
  margin: 22px clamp(18px, 3.8vw, 42px) 0;
}

.editorial-page.is-atlas-editorial-theme > .atlas-area-hero {
  margin: 0 clamp(18px, 3.8vw, 42px);
  padding: clamp(22px, 3vw, 36px);
}

.editorial-page.is-atlas-editorial-theme > .atlas-area-hero h2 {
  max-width: 1160px;
  font-size: clamp(2.1rem, 4vw, 4.7rem);
}

.editorial-page.is-atlas-editorial-theme > .atlas-area-hero .atlas-area-description {
  max-width: 920px;
  color: rgba(248, 251, 250, 0.82);
  font-size: 1.02rem;
  line-height: 1.55;
}

.editorial-page.is-atlas-editorial-theme .editorial-page-body {
  max-width: 1120px;
  gap: clamp(18px, 3vw, 34px);
  padding-bottom: 58px;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-image {
  width: 100%;
  justify-self: center;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-image img,
.editorial-page.is-atlas-editorial-theme .editorial-content-image-placeholder {
  border-color: rgba(25, 113, 189, 0.18);
  box-shadow: 0 24px 70px rgba(31, 94, 145, 0.13);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-image.is-opening-image {
  margin-top: -2px;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-headline,
.editorial-page.is-atlas-editorial-theme .editorial-content-subheadline {
  max-width: 920px;
  width: 100%;
  justify-self: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 12px 0 0;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-headline {
  padding-top: clamp(18px, 3vw, 38px);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-headline h2,
.editorial-page.is-atlas-editorial-theme .editorial-content-subheadline h3 {
  position: relative;
  margin-bottom: 12px;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-headline h2::before,
.editorial-page.is-atlas-editorial-theme .editorial-content-subheadline h3::before {
  content: "";
  display: block;
  width: 54px;
  height: 3px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1971bd, #15a080);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-headline h2 {
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1.02;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-subheadline h3 {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-text {
  max-width: 880px;
  width: 100%;
  justify-self: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-text.has-editorial-list {
  max-width: 980px;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-text.is-brief {
  max-width: 780px;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-text.is-longform {
  max-width: 920px;
}

.editorial-page.is-atlas-editorial-theme .editorial-page-body p {
  color: #263f37;
  font-size: clamp(1.02rem, 1.2vw, 1.14rem);
  line-height: 1.74;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list {
  display: grid;
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-compact {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-compact > li {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 100%;
  border: 1px solid rgba(25, 113, 189, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(231, 245, 255, 0.88), rgba(247, 252, 255, 0.96));
  padding: 11px 13px;
  color: #0a433b;
  font-weight: 700;
  line-height: 1.35;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-source-implicit > li {
  border: 0;
  background: transparent;
  padding: 3px 0;
  box-shadow: none;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-detailed {
  gap: 12px;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-detailed li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  border-top: 1px solid rgba(15, 81, 63, 0.1);
  padding-top: 12px;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-detailed li.is-contrast,
.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-detailed li.is-implicit {
  grid-template-columns: 1fr;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-detailed .editorial-list-text {
  color: #2b453d;
  font-size: 1.03rem;
  font-weight: 520;
  line-height: 1.55;
}

.editorial-page.is-atlas-editorial-theme .editorial-list-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  margin-top: 1px;
  color: #1971bd;
}

.editorial-page.is-atlas-editorial-theme .editorial-list-dot {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 999px;
  background: rgba(25, 113, 189, 0.1);
  color: #126298;
  font-size: 0.78rem;
  font-weight: 900;
}

.editorial-page.is-atlas-editorial-theme .editorial-tension-icon {
  width: 28px;
  height: 18px;
  flex: 0 0 auto;
  overflow: visible;
  color: #1971bd;
  animation: editorial-tension-breathe 5.6s ease-in-out infinite;
}

.editorial-page.is-atlas-editorial-theme .editorial-tension-icon circle {
  fill: currentColor;
  opacity: 0.82;
}

.editorial-page.is-atlas-editorial-theme .editorial-tension-icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.72;
}

.editorial-page.is-atlas-editorial-theme .editorial-tension-icon.is-inline {
  margin: 0 8px;
}

.editorial-page.is-atlas-editorial-theme .editorial-contrast-text {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  color: #0a433b;
  font-weight: 760;
}

.editorial-page.is-atlas-editorial-theme .editorial-list-term {
  font-weight: 850;
}

.editorial-page.is-atlas-editorial-theme .editorial-list-explanation {
  font-weight: 520;
}

.editorial-page.is-atlas-editorial-theme .editorial-smart-list.is-tension-list.is-compact > li {
  background:
    linear-gradient(135deg, rgba(232, 246, 255, 0.78), rgba(255, 255, 255, 0.88));
}

.editorial-page.is-atlas-editorial-theme .editorial-content-column-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  width: 100%;
}

.editorial-page.is-atlas-editorial-theme .editorial-column-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 100%;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(230, 244, 255, 0.9), rgba(250, 253, 255, 0.98));
  padding: clamp(18px, 2vw, 24px);
  box-shadow: 0 14px 34px rgba(31, 94, 145, 0.075);
}

.editorial-page.is-atlas-editorial-theme .editorial-column-card h3 {
  margin: 0;
  color: #063e54;
  font-size: clamp(1.08rem, 1.5vw, 1.34rem);
  line-height: 1.18;
  letter-spacing: 0;
}

.editorial-page.is-atlas-editorial-theme .editorial-column-card .editorial-smart-list.is-compact {
  grid-template-columns: 1fr;
  gap: 3px;
}

.editorial-page.is-atlas-editorial-theme .editorial-column-card .editorial-smart-list.is-compact > li,
.editorial-page.is-atlas-editorial-theme .editorial-column-card .editorial-smart-list.is-detailed li {
  border: 0;
  background: transparent;
  padding: 3px 0;
  box-shadow: none;
  color: #274840;
  font-weight: 540;
}

.editorial-page.is-atlas-editorial-theme .editorial-column-card .editorial-smart-list.is-detailed {
  gap: 5px;
}

.editorial-page.is-atlas-editorial-theme .editorial-column-card .editorial-smart-list.is-detailed li {
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: start;
}

.editorial-page.is-atlas-editorial-theme .editorial-column-card p {
  font-size: 1rem;
  line-height: 1.6;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-callout {
  max-width: 980px;
  width: 100%;
  justify-self: center;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-callout.is-statement {
  border-color: rgba(25, 113, 189, 0.2);
  background:
    linear-gradient(135deg, rgba(232, 245, 255, 0.94), rgba(255, 255, 255, 0.96));
  padding: clamp(22px, 3vw, 34px);
  box-shadow: 0 22px 58px rgba(31, 94, 145, 0.11);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-callout.is-statement strong {
  color: #083f56;
  font-size: clamp(1.25rem, 2.2vw, 2.05rem);
  line-height: 1.16;
  text-transform: none;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-callout.is-statement p {
  color: #0a372d;
  font-size: clamp(1.25rem, 2.2vw, 1.95rem);
  font-weight: 900;
  line-height: 1.22;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-callout.is-insight {
  border-color: rgba(216, 164, 26, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 249, 234, 0.96), rgba(255, 255, 255, 0.96));
  padding: clamp(20px, 2.5vw, 28px);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-callout.is-insight strong {
  color: #7a5a08;
  font-size: 0.88rem;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-cta {
  max-width: 980px;
  width: 100%;
  justify-self: center;
  border-color: rgba(25, 113, 189, 0.2);
  background:
    linear-gradient(135deg, rgba(232, 245, 255, 0.92), rgba(255, 255, 255, 0.96));
  padding: clamp(22px, 3vw, 30px);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-cta.is-final-cta {
  max-width: 1120px;
  justify-items: center;
  margin-top: clamp(14px, 3vw, 34px);
  border-color: rgba(25, 113, 189, 0.24);
  background:
    radial-gradient(circle at 50% 0%, rgba(25, 113, 189, 0.16), transparent 42%),
    linear-gradient(135deg, rgba(6, 62, 84, 0.96), rgba(7, 67, 57, 0.94));
  padding: clamp(34px, 5vw, 58px);
  color: #f8fbfa;
  text-align: center;
  box-shadow: 0 30px 80px rgba(8, 42, 58, 0.2);
}

.editorial-page.is-atlas-editorial-theme .editorial-content-cta.is-final-cta p {
  max-width: 780px;
  color: rgba(248, 251, 250, 0.78);
  font-size: clamp(1.02rem, 1.3vw, 1.16rem);
  line-height: 1.55;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-cta.is-final-cta p:first-child {
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 4.2rem);
  font-weight: 950;
  line-height: 0.98;
}

.editorial-page.is-atlas-editorial-theme .editorial-content-cta.is-final-cta .primary-button {
  min-width: min(100%, 360px);
  margin-top: 10px;
  border-color: rgba(255, 255, 255, 0.24);
  background: #1971bd;
  padding: 14px 22px;
  font-size: 1rem;
  box-shadow: 0 18px 38px rgba(25, 113, 189, 0.24);
}

@keyframes editorial-tension-breathe {
  0%,
  100% {
    filter: drop-shadow(0 0 0 rgba(25, 113, 189, 0));
    opacity: 0.86;
    transform: translateY(0);
  }

  50% {
    filter: drop-shadow(0 0 7px rgba(25, 113, 189, 0.28));
    opacity: 1;
    transform: translateY(-0.5px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-page.is-atlas-editorial-theme .editorial-tension-icon {
    animation: none !important;
    transform: none !important;
  }
}

.editorial-empty {
  display: grid;
  min-height: 360px;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 40px;
  text-align: center;
}

.categories-table {
  min-width: 0 !important;
  table-layout: fixed;
}

.categories-table th,
.categories-table td {
  white-space: normal;
  word-break: normal;
}

.categories-table th:nth-child(1),
.categories-table td:nth-child(1) {
  width: 7%;
}

.categories-table th:nth-child(2),
.categories-table td:nth-child(2) {
  width: 17%;
}

.categories-table th:nth-child(3),
.categories-table td:nth-child(3) {
  width: 14%;
}

.categories-table th:nth-child(4),
.categories-table td:nth-child(4) {
  width: 40%;
}

.categories-table th:nth-child(5),
.categories-table td:nth-child(5) {
  width: 16%;
}

.categories-table th:nth-child(6),
.categories-table td:nth-child(6) {
  width: 6%;
}

.categories-table .small-button,
.categories-table .row-delete-button {
  min-height: 30px;
  padding: 0 8px;
  font-size: 0.76rem;
}

.scenario-image-table td {
  vertical-align: middle;
}

.scenario-image-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.scenario-image-preview img {
  width: 92px;
  height: 52px;
  border: 1px solid var(--line);
  border-radius: 8px;
  object-fit: cover;
}

.scenario-image-preview span {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-upload-button {
  position: relative;
  overflow: hidden;
}

.scenario-upload-button input {
  position: absolute;
  inset: 0;
  cursor: pointer;
  opacity: 0;
}

.small-button {
  min-height: 34px;
  padding: 0 10px;
  font-size: 0.82rem;
}

.summary-table {
  table-layout: fixed;
}

.period-col {
  width: 20%;
}

.year-col {
  width: 12%;
}

.type-col {
  width: 26%;
}

.money-col {
  width: 20%;
}

.count-col {
  width: 12%;
}

.closed-trades-table {
  min-width: 0;
  table-layout: fixed;
}

.closed-trades-table th,
.closed-trades-table td {
  overflow: hidden;
  padding: 10px 8px;
  text-overflow: ellipsis;
}

.closed-trades-table th:nth-child(1),
.closed-trades-table td:nth-child(1) {
  width: 104px;
}

.closed-trades-table th:nth-child(2),
.closed-trades-table td:nth-child(2) {
  width: 21%;
}

.closed-trades-table th:nth-child(3),
.closed-trades-table td:nth-child(3) {
  width: 76px;
}

.closed-trades-table th:nth-child(4),
.closed-trades-table td:nth-child(4) {
  width: 68px;
}

.closed-trades-table th:nth-child(5),
.closed-trades-table td:nth-child(5),
.closed-trades-table th:nth-child(6),
.closed-trades-table td:nth-child(6),
.closed-trades-table th:nth-child(7),
.closed-trades-table td:nth-child(7),
.closed-trades-table th:nth-child(8),
.closed-trades-table td:nth-child(8),
.closed-trades-table th:nth-child(9),
.closed-trades-table td:nth-child(9),
.closed-trades-table th:nth-child(10),
.closed-trades-table td:nth-child(10),
.closed-trades-table th:nth-child(11),
.closed-trades-table td:nth-child(11) {
  width: 104px;
}

.closed-trades-table th:nth-child(12),
.closed-trades-table td:nth-child(12) {
  width: 90px;
}

.closed-security-name {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.post-sale-price {
  display: inline-grid;
  justify-items: end;
  gap: 2px;
  font-weight: 400;
  line-height: 1.2;
}

.post-sale-current {
  color: var(--ink);
  font-weight: 400;
}

.post-sale-price .security-subline {
  color: var(--muted);
  font-weight: 650;
}

.post-sale-price .trend-arrow {
  font-weight: 900;
}

.post-sale-price.is-up .trend-arrow {
  color: var(--brand-dark);
}

.post-sale-price.is-down .trend-arrow {
  color: var(--danger);
}

.primary-button,
.ghost-button,
.danger-button {
  padding: 0 16px;
}

.primary-button {
  border-color: var(--brand);
  background: var(--brand);
  color: white;
}

.primary-button:hover,
.tab-button.is-active:hover {
  background: var(--brand-dark);
}

.ghost-button {
  background: #fbfcfb;
  color: var(--brand-dark);
}

.ghost-button:hover,
.file-button:hover,
.row-delete-button:hover {
  transform: translateY(-1px);
}

.utility-action-button {
  width: 100%;
  min-height: 44px;
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
}

.utility-action-export,
.utility-action-export:hover {
  border-color: rgba(36, 111, 168, 0.42);
  background: linear-gradient(180deg, #2f7db7, #1f5f91);
  color: #f7fbff;
}

.utility-action-import,
.utility-action-import:hover {
  border-color: rgba(20, 130, 91, 0.42);
  background: linear-gradient(180deg, #15946d, #0c7455);
  color: #f5fff9;
}

.utility-action-check,
.utility-action-check:hover {
  border-color: rgba(202, 128, 34, 0.46);
  background: linear-gradient(180deg, #e69a32, #bc6c16);
  color: #fffaf2;
}

.utility-action-critical,
.utility-action-critical:hover {
  border-color: rgba(178, 52, 45, 0.52);
  background: linear-gradient(180deg, #c94a42, #9b2724);
  color: #fff8f7;
}

.utility-action-subpage,
.utility-action-subpage:hover {
  border-color: rgba(206, 162, 43, 0.5);
  background: linear-gradient(180deg, #f2c84b, #d89a1e);
  color: #33250b;
}

.utility-action-neutral,
.utility-action-neutral:hover {
  border-color: rgba(17, 31, 24, 0.14);
  background: linear-gradient(180deg, #ffffff, #f4f8f6);
  color: var(--brand-dark);
}

.file-button {
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  background: white;
  color: var(--brand-dark);
}

.hidden-file {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.danger-button {
  border-color: rgba(159, 45, 32, 0.26);
  background: #fff4f2;
  color: var(--danger);
}

pre {
  min-height: 520px;
  max-height: 680px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101915;
  color: #e9f4ed;
  padding: 16px;
  white-space: pre-wrap;
  word-break: break-word;
}

.table-wrap {
  overflow-x: auto;
}

.table-wrap table {
  min-width: 860px;
}

.portfolio-crash-panel {
  display: grid;
  gap: 16px;
  margin: 14px 0 18px;
  border: 1px solid rgba(155, 31, 31, 0.2);
  border-radius: 12px;
  background:
    radial-gradient(circle at 82% 8%, rgba(155, 31, 31, 0.13), transparent 34%),
    radial-gradient(circle at 16% 92%, rgba(209, 147, 44, 0.09), transparent 32%),
    linear-gradient(135deg, rgba(255, 249, 247, 0.98), rgba(255, 239, 235, 0.9));
  padding: clamp(16px, 2vw, 22px);
  box-shadow: 0 18px 42px rgba(155, 31, 31, 0.08);
}

.portfolio-crash-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.portfolio-crash-head span,
.portfolio-crash-kpi span,
.portfolio-crash-coverage small,
.portfolio-crash-contributors h4 {
  color: #7e1b1b;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.portfolio-crash-head h3 {
  margin: 2px 0 3px;
  color: #160d0b;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.05;
}

.portfolio-crash-head p,
.portfolio-crash-empty,
.portfolio-crash-note,
.portfolio-crash-disclaimer {
  margin: 0;
  color: #4e625a;
  font-weight: 760;
  line-height: 1.35;
}

.portfolio-crash-empty {
  border: 1px solid rgba(205, 151, 42, 0.28);
  border-radius: 10px;
  background: #fff8e8;
  padding: 14px 16px;
  color: #795300;
}

.portfolio-crash-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
}

.portfolio-crash-kpi {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 104px;
  border: 1px solid rgba(155, 31, 31, 0.16);
  border-radius: 10px;
  background: rgba(255, 252, 251, 0.82);
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.portfolio-crash-kpi strong {
  color: #7e1b1b;
  font-size: clamp(1.25rem, 2.05vw, 2rem);
  line-height: 1;
}

.portfolio-crash-kpi small {
  color: #70524d;
  font-size: 0.8rem;
  font-weight: 760;
}

.portfolio-crash-kpi.is-hero {
  border-color: rgba(155, 31, 31, 0.34);
  background: linear-gradient(180deg, #ffe9e5, rgba(255, 247, 245, 0.94));
}

.portfolio-crash-kpi.is-hero strong {
  color: #9b1f1f;
  font-size: clamp(1.55rem, 2.45vw, 2.35rem);
}

.portfolio-crash-coverage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.portfolio-crash-coverage article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  align-items: center;
  border: 1px solid rgba(155, 31, 31, 0.15);
  border-radius: 10px;
  background: rgba(255, 252, 251, 0.76);
  padding: 12px 14px;
}

.portfolio-crash-coverage small {
  grid-column: 1 / -1;
  color: #70524d;
}

.portfolio-crash-coverage strong {
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.15;
}

.portfolio-crash-coverage span {
  color: #7e1b1b;
  font-weight: 950;
}

.portfolio-crash-bars {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(155, 31, 31, 0.13);
  border-radius: 10px;
  background: rgba(255, 250, 248, 0.68);
  padding: 12px 14px;
}

.portfolio-crash-bars div {
  display: grid;
  grid-template-columns: 140px minmax(120px, 1fr) 140px;
  gap: 12px;
  align-items: center;
}

.portfolio-crash-bars span {
  color: #70524d;
  font-size: 0.78rem;
  font-weight: 950;
}

.portfolio-crash-bars strong {
  color: var(--ink);
  font-size: 0.92rem;
  text-align: right;
}

.portfolio-crash-bars b {
  display: block;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, #4a2521, #9b1f1f);
}

.portfolio-crash-bars div:last-child b {
  width: var(--crash-width);
  background: linear-gradient(90deg, #9b1f1f, #d34a38);
}

.portfolio-crash-contributors {
  display: grid;
  gap: 10px;
}

.portfolio-crash-contributors h4 {
  margin: 0;
}

.portfolio-crash-contributors > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px;
}

.portfolio-crash-contributors article {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(155, 31, 31, 0.18);
  border-radius: 10px;
  background: linear-gradient(180deg, #fff7f5, rgba(255, 255, 255, 0.9));
  padding: 12px;
}

.portfolio-crash-contributors article span {
  overflow: hidden;
  color: var(--ink);
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-crash-contributors article strong {
  color: #9b1f1f;
  font-size: 1.12rem;
}

.portfolio-crash-contributors article small {
  color: #596960;
  font-weight: 760;
}

.portfolio-crash-contributors p {
  margin: 0;
  color: #596960;
  font-weight: 760;
}

.portfolio-crash-table-wrap {
  border: 1px solid rgba(155, 31, 31, 0.12);
  border-radius: 10px;
  background: rgba(255, 250, 248, 0.74);
}

.portfolio-crash-table {
  min-width: 1040px;
  table-layout: fixed;
}

.portfolio-crash-table th,
.portfolio-crash-table td {
  padding: 10px 9px;
}

.portfolio-crash-table th:nth-child(1),
.portfolio-crash-table td:nth-child(1) {
  width: 22%;
}

.portfolio-crash-table .num {
  white-space: nowrap;
}

.portfolio-crash-table tbody tr:nth-child(odd) td {
  background: rgba(255, 249, 247, 0.92);
}

.portfolio-crash-basis {
  display: inline-grid;
  place-items: center;
  min-width: 92px;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.74rem;
  font-weight: 950;
}

.portfolio-crash-basis.is-individual {
  border: 1px solid rgba(205, 151, 42, 0.36);
  background: #fff4c2;
  color: #7a4b00;
}

.portfolio-crash-basis.is-estimated {
  border: 1px solid rgba(84, 96, 91, 0.2);
  background: #eef1ef;
  color: #4a5651;
}

.portfolio-crash-disclaimer,
.portfolio-crash-note {
  border: 1px solid rgba(155, 31, 31, 0.15);
  border-radius: 10px;
  background: rgba(255, 250, 248, 0.78);
  padding: 12px 14px;
}

.portfolio-upside-panel {
  border-color: rgba(15, 122, 99, 0.2);
  background:
    radial-gradient(circle at 82% 8%, rgba(15, 122, 99, 0.13), transparent 34%),
    radial-gradient(circle at 16% 92%, rgba(79, 161, 102, 0.09), transparent 32%),
    linear-gradient(135deg, rgba(248, 255, 251, 0.98), rgba(232, 247, 238, 0.9));
  box-shadow: 0 18px 42px rgba(15, 122, 99, 0.08);
}

.portfolio-upside-panel .portfolio-crash-head span,
.portfolio-upside-panel .portfolio-crash-kpi span,
.portfolio-upside-panel .portfolio-crash-coverage small,
.portfolio-upside-panel .portfolio-crash-contributors h4 {
  color: #075b49;
}

.portfolio-upside-panel .portfolio-crash-kpi,
.portfolio-upside-panel .portfolio-crash-coverage article,
.portfolio-upside-panel .portfolio-crash-bars,
.portfolio-upside-panel .portfolio-crash-table-wrap,
.portfolio-upside-panel .portfolio-crash-disclaimer,
.portfolio-upside-panel .portfolio-crash-note {
  border-color: rgba(15, 122, 99, 0.14);
  background: rgba(248, 255, 251, 0.8);
}

.portfolio-upside-panel .portfolio-crash-kpi strong,
.portfolio-upside-panel .portfolio-crash-coverage span {
  color: #075b49;
}

.portfolio-upside-panel .portfolio-crash-kpi.is-hero {
  border-color: rgba(15, 122, 99, 0.34);
  background: linear-gradient(180deg, #e3f7ea, rgba(250, 255, 252, 0.94));
}

.portfolio-upside-panel .portfolio-crash-kpi.is-hero strong,
.portfolio-upside-panel .portfolio-crash-contributors article strong {
  color: #0f7a63;
}

.portfolio-upside-panel .portfolio-crash-bars b {
  background: linear-gradient(90deg, #0f7a63, #4fa166);
}

.portfolio-upside-panel .portfolio-crash-bars div:first-child b {
  width: var(--crash-width);
}

.portfolio-upside-panel .portfolio-crash-bars div:last-child b {
  width: auto;
  background: linear-gradient(90deg, #075b49, #0f7a63);
}

.portfolio-upside-panel .portfolio-crash-contributors article {
  border-color: rgba(15, 122, 99, 0.18);
  background: linear-gradient(180deg, #f2fbf6, rgba(255, 255, 255, 0.92));
}

.portfolio-upside-panel .portfolio-crash-table tbody tr:nth-child(odd) td {
  background: rgba(247, 255, 250, 0.92);
}

.portfolio-table {
  min-width: 1120px;
  table-layout: fixed;
}

.portfolio-table th,
.portfolio-table td {
  padding: 10px 8px;
}

.portfolio-table th:nth-child(1),
.portfolio-table td:nth-child(1) {
  width: 28%;
}

.portfolio-table td:first-child {
  overflow: hidden;
}

.portfolio-table th:nth-child(2),
.portfolio-table td:nth-child(2) {
  width: 58px;
}

.portfolio-table th:nth-child(3),
.portfolio-table td:nth-child(3) {
  width: 112px;
}

.portfolio-table th:nth-child(4),
.portfolio-table td:nth-child(4) {
  width: 80px;
}

.portfolio-table th:nth-child(5),
.portfolio-table td:nth-child(5) {
  width: 90px;
}

.portfolio-table th:nth-child(6),
.portfolio-table td:nth-child(6) {
  width: 126px;
}

.portfolio-table th:nth-child(7),
.portfolio-table td:nth-child(7) {
  width: 126px;
}

.portfolio-table th:nth-child(8),
.portfolio-table td:nth-child(8) {
  width: 108px;
}

.portfolio-table th:nth-child(9),
.portfolio-table td:nth-child(9) {
  width: 80px;
}

.portfolio-table th:nth-child(10),
.portfolio-table td:nth-child(10) {
  width: 120px;
}

.portfolio-table td:nth-child(2),
.portfolio-table td:nth-child(3) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-table .num {
  white-space: nowrap;
}

.portfolio-table .security-name-row {
  min-width: 0;
  width: 100%;
}

.portfolio-table .security-name-row > .security-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-table .security-name-row .country-flag,
.portfolio-table .security-name-row .chart-link,
.portfolio-table .security-name-row .inline-basics-button {
  flex: 0 0 auto;
}

.portfolio-table .position-main-row td {
  border-top: 10px solid white;
  border-bottom: 0;
  background: #fbfdfb;
  transition:
    background 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.portfolio-table .position-main-row:first-child td {
  border-top-width: 0;
}

.portfolio-table .position-main-row:hover td,
.portfolio-table .position-main-row:hover + .position-detail-row td {
  background: #f5faf7;
}

.portfolio-table .position-detail-row td {
  border-bottom: 1px solid #cfdcd5;
  background: #fbfdfb;
}

.portfolio-table .position-detail-row.has-portfolio-divider td {
  border-bottom-color: rgba(21, 110, 90, 0.44);
  box-shadow: inset 0 -2px 0 rgba(21, 110, 90, 0.21);
}

.portfolio-table .position-main-row.is-updated td,
.watchlist-table .watchlist-main-row.is-updated td,
.score-overview-row.is-updated td {
  animation: jeff-row-refresh 2600ms ease both;
}

.broker-badge {
  display: inline-grid;
  min-width: 30px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #edf7f3;
  color: var(--brand-dark);
  font-size: 0.78rem;
  font-weight: 900;
}

.sort-header-button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  letter-spacing: 0;
  padding: 0;
  text-align: right;
  text-transform: inherit;
}

.score-overview-table .sort-header-button {
  justify-content: center;
  text-align: center;
}

.sort-header-button:hover {
  color: var(--accent);
}

.sort-header-button.align-left {
  justify-content: flex-start;
  text-align: left;
}

.sort-arrow {
  display: inline-block;
  min-width: 10px;
  color: var(--accent);
}

.transactions-table {
  min-width: 1280px;
}

.transactions-table th:nth-child(1),
.transactions-table td:nth-child(1) {
  min-width: 96px;
}

.transactions-table th:nth-child(2),
.transactions-table td:nth-child(2) {
  min-width: 120px;
}

.transactions-table th:nth-child(3),
.transactions-table td:nth-child(3) {
  min-width: 260px;
}

.transactions-table th:nth-child(6),
.transactions-table td:nth-child(6) {
  min-width: 280px;
}

.transactions-table th:nth-child(7),
.transactions-table td:nth-child(7),
.transactions-table th:nth-child(8),
.transactions-table td:nth-child(8),
.transactions-table th:nth-child(9),
.transactions-table td:nth-child(9),
.transactions-table th:nth-child(10),
.transactions-table td:nth-child(10) {
  min-width: 110px;
}

.spaced-table {
  margin-top: 24px;
}

.section-heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
}

.section-heading-row h3 {
  margin: 0;
}

.section-heading-row label {
  min-width: 160px;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: white;
}

th,
td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

th {
  color: #52625a;
  font-size: 0.8rem;
  text-transform: uppercase;
  background: #f5f8f6;
}

.num {
  text-align: right;
}

.security-name {
  font-weight: 750;
}

.security-name-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.country-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 18px;
  overflow: hidden;
  border: 1px solid #d4ded8;
  border-radius: 3px;
  background: #f6f8f7;
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1;
}

.country-flag img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.country-flag img + span {
  display: none;
}

.country-flag img:not([src]),
.country-flag img[src=""] {
  display: none;
}

.country-flag.is-special {
  border-color: #cbd8d0;
  background: #f6f8f7;
}

.country-flag.is-empty {
  visibility: hidden;
}

.chart-link {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 8px;
  color: var(--brand-dark);
  font-size: 0.72rem;
  font-weight: 800;
  text-decoration: none;
}

.stock-journey-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  background: rgba(10, 18, 15, 0.72);
  padding: 18px;
}

.stock-journey-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1360px, calc(100vw - 36px));
  height: calc(100vh - 36px);
  min-width: 0;
  min-height: 0;
  border: 1px solid rgba(181, 218, 206, 0.72);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(240, 249, 245, 0.98), rgba(255, 255, 255, 0.98) 46%, rgba(236, 246, 244, 0.98));
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.24);
  overflow: hidden;
}

.stock-journey-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(16, 91, 70, 0.13);
  background: rgba(255, 255, 255, 0.74);
}

.stock-journey-topbar > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.stock-journey-topbar span,
.stock-journey-eyebrow {
  color: var(--brand);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-journey-topbar strong,
.stock-journey-topbar small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-journey-topbar strong {
  color: var(--brand-dark);
  font-size: 1.05rem;
}

.stock-journey-topbar small {
  color: var(--muted);
  font-weight: 750;
}

.stock-journey-topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.stock-journey-close-button {
  margin-left: 8px;
  border-color: rgba(7, 65, 50, 0.22);
  background: rgba(255, 255, 255, 0.86);
  color: var(--brand-dark);
  font-size: 1.1rem;
  font-weight: 950;
  line-height: 1;
}

.stock-journey-editor-toggle {
  opacity: 0.82;
}

.stock-journey-player {
  display: grid;
  grid-template-rows: 42px minmax(0, 1fr) 66px;
  min-height: 0;
  padding: 18px;
}

.stock-journey-player:has(.stock-journey-slide.is-opening-slide),
.stock-journey-player:has(.stock-journey-slide.is-score-module-slide) {
  grid-template-rows: 42px minmax(0, 1fr) 66px;
}

.stock-journey-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 0 14px;
}

.stock-journey-progress span {
  width: 10px;
  height: 10px;
  border: 1px solid rgba(9, 81, 62, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
}

.stock-journey-progress span.is-active {
  border-color: var(--brand);
  background: var(--brand);
  box-shadow: 0 0 0 5px rgba(15, 122, 99, 0.13);
}

.stock-journey-slide {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 28px;
  align-items: center;
  height: 100%;
  min-height: 0;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(249, 253, 250, 0.94));
  padding: clamp(24px, 4vw, 54px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 46px rgba(12, 64, 49, 0.1);
  overflow: auto;
}

.stock-journey-slide.is-opening-slide {
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  grid-template-rows: auto auto;
  align-items: stretch;
  min-height: 0;
  padding: clamp(22px, 2.9vw, 36px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 249, 245, 0.92) 48%, rgba(239, 247, 250, 0.92));
}

.stock-journey-slide.is-score-module-slide {
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  grid-template-rows: auto auto;
  align-items: stretch;
  min-height: 0;
  padding: clamp(22px, 2.9vw, 36px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 249, 245, 0.92) 48%, rgba(239, 247, 250, 0.92));
}

.stock-journey-slide.is-sis-slide {
  padding-top: clamp(12px, 1.6vw, 18px);
  row-gap: 14px;
}

.stock-journey-slide.is-sis-slide .stock-journey-module-copy {
  align-self: start;
  gap: 9px;
}

.stock-journey-slide.is-sis-slide .stock-journey-opening-kicker {
  margin-bottom: 0;
  line-height: 1.05;
}

.stock-journey-slide.is-sis-slide .stock-journey-opening-presenter {
  margin-top: 0;
  line-height: 1.05;
}

.stock-journey-slide.is-phase-slide {
  row-gap: 14px;
}

.stock-journey-slide.is-phase-slide .stock-journey-module-copy {
  gap: 10px;
}

.stock-journey-slide.is-phase-slide .stock-journey-module-plaque {
  padding-block: clamp(16px, 2.2vw, 22px);
}

.stock-journey-slide.is-phase-slide .stock-journey-module-plaque .stock-journey-score-headline {
  font-size: clamp(2.8rem, 4.7vw, 4.65rem);
  line-height: 0.94;
  white-space: nowrap;
}

.stock-journey-slide.is-rc-slide {
  row-gap: 14px;
}

.stock-journey-slide.is-rc-slide .stock-journey-module-copy {
  gap: 10px;
}

.stock-journey-slide.is-rc-slide .stock-journey-module-plaque {
  padding-block: clamp(16px, 2.2vw, 22px);
}

.stock-journey-slide.is-rc-slide .stock-journey-module-plaque .stock-journey-score-headline {
  font-size: clamp(3rem, 5vw, 4.9rem);
  line-height: 0.94;
  white-space: nowrap;
}

.stock-journey-copy {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.stock-journey-eyebrow {
  margin: 0;
}

.stock-journey-slide h2 {
  max-width: 980px;
  margin: 0;
  color: #062e25;
  font-size: clamp(2.2rem, 5vw, 5.4rem);
  line-height: 0.98;
}

.stock-journey-body {
  max-width: 820px;
  margin: 0;
  color: #41564e;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 760;
  line-height: 1.45;
}

.stock-journey-opening-copy {
  gap: 10px;
}

.stock-journey-opening-kicker,
.stock-journey-opening-presenter {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.16;
  text-transform: uppercase;
}

.stock-journey-opening-presenter {
  color: var(--brand);
}

.stock-journey-opening-copy h2 {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  max-width: 1020px;
  font-size: clamp(3rem, 5.1rem, 5.8rem);
  line-height: 0.96;
}

.stock-journey-title-flag {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(46px, 5vw, 68px);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgba(15, 122, 99, 0.2);
  border-radius: 8px;
  background: #f6faf8;
  box-shadow: 0 12px 26px rgba(10, 64, 49, 0.12);
}

.stock-journey-title-flag img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.stock-journey-title-plaque {
  position: relative;
  display: grid;
  overflow: hidden;
  max-width: 1080px;
  border: 1px solid rgba(15, 122, 99, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.96), rgba(238, 247, 244, 0.92) 42%, rgba(255, 255, 255, 0.98) 52%, rgba(226, 239, 235, 0.94)),
    linear-gradient(180deg, #fbfffd, #edf6f2);
  padding: clamp(16px, 2.4vw, 24px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 18px 38px rgba(10, 64, 49, 0.1);
}

.stock-journey-title-plaque::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -45%;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.54), transparent);
  transform: skewX(-18deg);
  animation: stockJourneyPlaqueShine 4200ms ease-in-out infinite;
  pointer-events: none;
}

.stock-journey-module-plaque {
  position: relative;
  display: grid;
  gap: 8px;
  overflow: hidden;
  max-width: 980px;
  border: 1px solid rgba(15, 122, 99, 0.22);
  border-radius: 12px;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.96), rgba(238, 247, 244, 0.92) 42%, rgba(255, 255, 255, 0.98) 52%, rgba(226, 239, 235, 0.94)),
    linear-gradient(180deg, #fbfffd, #edf6f2);
  padding: clamp(18px, 3vw, 28px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 18px 38px rgba(10, 64, 49, 0.1);
}

.stock-journey-module-plaque::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -45%;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.54), transparent);
  transform: skewX(-18deg);
  animation: stockJourneyPlaqueShine 4200ms ease-in-out infinite;
  pointer-events: none;
}

.stock-journey-module-plaque small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-module-plaque h2 {
  max-width: 900px;
  font-size: clamp(2.8rem, 6vw, 5.6rem);
}

.stock-journey-module-plaque .stock-journey-score-headline,
.stock-journey-module-plaque .stock-journey-fis-headline {
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  line-height: 0.94;
}

.stock-journey-title-plaque small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-opening-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 980px;
}

.stock-journey-module-cards {
  align-items: stretch;
}

.stock-journey-score-summary,
.stock-journey-fis-summary {
  max-width: 980px;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  color: #324a41;
  padding: 14px 16px;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  font-weight: 760;
  line-height: 1.36;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.stock-journey-sis-impact-summary {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "label"
    "text"
    "value";
  align-content: center;
  justify-items: center;
  gap: 12px;
  min-height: 260px;
  padding: 20px 22px;
  text-align: center;
}

.stock-journey-sis-impact-summary small {
  grid-area: label;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-sis-impact-summary strong {
  grid-area: value;
  display: inline-grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--brand-dark);
  font-size: 7.25rem;
  line-height: 0.86;
  box-shadow: none;
}

.stock-journey-sis-impact-summary.is-red strong {
  color: #9b1f1f;
}

.stock-journey-sis-impact-summary.is-orange strong {
  color: #b45613;
}

.stock-journey-sis-impact-summary.is-yellow strong {
  color: #8a5d00;
}

.stock-journey-sis-impact-summary.is-green strong {
  color: #08745e;
}

.stock-journey-sis-impact-summary.is-blue strong {
  color: #155d9b;
}

.stock-journey-sis-impact-summary span {
  grid-area: text;
  max-width: 290px;
  color: #51635b;
  font-size: 1.06rem;
  font-weight: 850;
  line-height: 1.25;
}

.stock-journey-sis-side {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 18px;
  align-self: start;
  min-height: 0;
}

.stock-journey-sis-side .stock-journey-sis-impact-summary {
  grid-row: auto;
  align-self: start;
  max-width: none;
  margin: 0;
}

.stock-journey-phase-side {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-self: stretch;
  gap: 16px;
  min-height: 0;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 18%, rgba(25, 113, 189, 0.08), transparent 34%),
    linear-gradient(180deg, #fbfdff, #eef7f9);
  padding: clamp(20px, 2.6vw, 30px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 42px rgba(25, 113, 189, 0.11);
}

.stock-journey-phase-side > small {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
}

.stock-journey-phase-ladder {
  display: grid;
  align-content: center;
  gap: 12px;
  min-height: 0;
}

.stock-journey-phase-ladder > p {
  margin: 0;
  color: #51635b;
  font-weight: 760;
  text-align: center;
}

.stock-journey-phase-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  padding: 13px 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.stock-journey-phase-step span {
  color: #53665e;
  font-size: 0.88rem;
  font-weight: 900;
}

.stock-journey-phase-step strong {
  color: var(--brand-dark);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 0.9;
}

.stock-journey-phase-step.is-blue,
.stock-journey-phase-bridge-card.is-blue {
  border-color: rgba(25, 113, 189, 0.28);
  background: linear-gradient(180deg, rgba(238, 247, 255, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-phase-step.is-green,
.stock-journey-phase-bridge-card.is-green {
  border-color: rgba(16, 163, 127, 0.28);
  background: linear-gradient(180deg, rgba(235, 249, 243, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-phase-step.is-yellow,
.stock-journey-phase-step.is-orange,
.stock-journey-phase-bridge-card.is-yellow,
.stock-journey-phase-bridge-card.is-orange {
  border-color: rgba(232, 170, 54, 0.32);
  background: linear-gradient(180deg, rgba(255, 248, 223, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-phase-step.is-red,
.stock-journey-phase-bridge-card.is-red {
  border-color: rgba(155, 31, 31, 0.26);
  background: linear-gradient(180deg, rgba(255, 240, 237, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-phase-bridge-card {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  min-height: 350px;
  overflow: hidden;
  padding: 34px 18px 24px;
  text-align: center;
}

.stock-journey-phase-bridge-card strong {
  color: var(--brand-dark);
  font-size: clamp(4.2rem, 6vw, 6.4rem);
  line-height: 0.9;
}

.stock-journey-phase-bridge-card span {
  max-width: 210px;
  border: 1px solid rgba(15, 122, 99, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  padding: 6px 12px;
  color: #51635b;
  font-size: 0.84rem;
  font-weight: 850;
  line-height: 1.18;
  transform: translateY(20px);
}

.stock-journey-rc-score-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px 18px;
  max-width: 980px;
  min-height: 74px;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 10px;
  background:
    radial-gradient(circle at 88% 20%, rgba(15, 122, 99, 0.08), transparent 34%),
    rgba(255, 255, 255, 0.78);
  padding: 12px 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.stock-journey-rc-score-strip small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-rc-score-strip strong {
  color: var(--brand-dark);
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  line-height: 1;
}

.stock-journey-rc-score-strip span {
  color: #51635b;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.22;
}

.stock-journey-rc-score-strip.is-blue strong {
  color: #155d9b;
}

.stock-journey-rc-score-strip.is-blue {
  border-color: rgba(25, 113, 189, 0.36);
  background: linear-gradient(180deg, rgba(238, 247, 255, 0.96), rgba(250, 253, 255, 0.9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 12px 28px rgba(25, 113, 189, 0.08);
}

.stock-journey-rc-score-strip.is-blue small {
  color: #155d9b;
}

.stock-journey-rc-score-strip.is-green strong {
  color: #08745e;
}

.stock-journey-rc-score-strip.is-green {
  border-color: rgba(16, 163, 127, 0.36);
  background: linear-gradient(180deg, rgba(235, 249, 243, 0.96), rgba(250, 255, 253, 0.9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 12px 28px rgba(16, 163, 127, 0.08);
}

.stock-journey-rc-score-strip.is-green small {
  color: #08745e;
}

.stock-journey-rc-score-strip.is-yellow strong,
.stock-journey-rc-score-strip.is-orange strong {
  color: #8a5d00;
}

.stock-journey-rc-score-strip.is-yellow,
.stock-journey-rc-score-strip.is-orange {
  border-color: rgba(232, 170, 54, 0.42);
  background: linear-gradient(180deg, rgba(255, 248, 223, 0.98), rgba(255, 253, 246, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 12px 28px rgba(232, 170, 54, 0.1);
}

.stock-journey-rc-score-strip.is-yellow small,
.stock-journey-rc-score-strip.is-orange small {
  color: #8a5d00;
}

.stock-journey-rc-score-strip.is-red strong {
  color: #9b1f1f;
}

.stock-journey-rc-score-strip.is-red {
  border-color: rgba(155, 31, 31, 0.34);
  background: linear-gradient(180deg, rgba(255, 240, 237, 0.98), rgba(255, 248, 247, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 12px 28px rgba(155, 31, 31, 0.09);
}

.stock-journey-rc-score-strip.is-red small {
  color: #7e1b1b;
}

.stock-journey-rc-side {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-self: stretch;
  gap: 14px;
  min-height: 0;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 18%, rgba(25, 113, 189, 0.08), transparent 34%),
    linear-gradient(180deg, #fbfdff, #eef7f9);
  padding: clamp(18px, 2.3vw, 26px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 42px rgba(25, 113, 189, 0.11);
}

.stock-journey-rc-side > small {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
}

.stock-journey-rc-factor-list {
  display: grid;
  align-content: center;
  gap: 9px;
  min-height: 0;
}

.stock-journey-rc-factor-list > p {
  margin: 0;
  color: #51635b;
  font-weight: 760;
  text-align: center;
}

.stock-journey-rc-factor-group {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.stock-journey-rc-factor-group h3 {
  margin: 5px 0 1px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.stock-journey-rc-factor-group:first-child h3 {
  margin-top: 0;
}

.stock-journey-rc-factor-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  padding: 8px 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.stock-journey-rc-factor-item span {
  min-width: 0;
  overflow: hidden;
  color: #344d43;
  font-size: 0.88rem;
  font-weight: 850;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-journey-rc-factor-item strong {
  display: inline-grid;
  place-items: center;
  min-width: 62px;
  border: 1px solid rgba(74, 94, 86, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #51635b;
  padding: 5px 9px;
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1;
}

.stock-journey-rc-factor-item.is-green {
  border-color: rgba(16, 163, 127, 0.26);
  background: linear-gradient(180deg, rgba(235, 249, 243, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-rc-factor-item.is-green strong {
  border-color: rgba(16, 163, 127, 0.24);
  background: #e9f9f2;
  color: #08745e;
}

.stock-journey-rc-factor-item.is-yellow {
  border-color: rgba(232, 170, 54, 0.3);
  background: linear-gradient(180deg, rgba(255, 248, 223, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-rc-factor-item.is-yellow strong {
  border-color: rgba(232, 170, 54, 0.32);
  background: #fff8df;
  color: #8a5d00;
}

.stock-journey-rc-factor-item.is-red {
  border-color: rgba(155, 31, 31, 0.25);
  background: linear-gradient(180deg, rgba(255, 240, 237, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-rc-factor-item.is-red strong {
  border-color: rgba(155, 31, 31, 0.24);
  background: #fff0ed;
  color: #9b1f1f;
}

.stock-journey-rc-factor-item.is-blue {
  border-color: rgba(25, 113, 189, 0.25);
  background: linear-gradient(180deg, rgba(238, 247, 255, 0.94), rgba(255, 255, 255, 0.86));
}

.stock-journey-rc-factor-item.is-blue strong {
  border-color: rgba(25, 113, 189, 0.24);
  background: #eef7ff;
  color: #155d9b;
}

.stock-journey-rc-factor-item.is-special_case {
  border-color: rgba(126, 34, 206, 0.22);
  background: linear-gradient(180deg, rgba(250, 245, 255, 0.96), rgba(255, 255, 255, 0.88));
}

.stock-journey-rc-factor-item.is-special_case strong {
  border-color: rgba(126, 34, 206, 0.2);
  background: #f3e8ff;
  color: #581c87;
}

.stock-journey-slide.is-depot-check-slide {
  row-gap: 14px;
}

.stock-journey-slide.is-depot-check-slide .stock-journey-module-copy {
  gap: 10px;
}

.stock-journey-slide.is-depot-check-slide .stock-journey-module-plaque {
  padding-block: clamp(18px, 2.6vw, 30px);
}

.stock-journey-slide.is-depot-check-slide .stock-journey-module-plaque .stock-journey-score-headline {
  font-size: clamp(3rem, 5vw, 4.9rem);
  line-height: 0.94;
  white-space: nowrap;
}

.stock-journey-depot-fit-components {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  max-width: 980px;
}

.stock-journey-depot-fit-components > p {
  grid-column: 1 / -1;
  margin: 0;
  color: #51635b;
  font-weight: 760;
}

.stock-journey-depot-fit-component {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 118px;
  border: 1px solid rgba(74, 94, 86, 0.13);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.68);
  padding: 12px;
  color: #3d534b;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.stock-journey-depot-fit-component:hover,
.stock-journey-depot-fit-component.is-active {
  transform: translateY(-1px);
  border-color: rgba(15, 122, 99, 0.34);
  box-shadow: 0 12px 28px rgba(10, 64, 49, 0.09);
}

.stock-journey-depot-fit-component small {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 950;
  line-height: 1.05;
  text-transform: uppercase;
}

.stock-journey-depot-fit-component strong {
  color: #455a52;
  font-size: 0.98rem;
  font-weight: 860;
  line-height: 1.18;
}

.stock-journey-depot-fit-component.is-neutral {
  opacity: 0.72;
}

.stock-journey-depot-fit-component.is-positive,
.stock-journey-depot-fit-component.is-soft-positive {
  border-color: rgba(16, 163, 127, 0.28);
  background: linear-gradient(180deg, rgba(235, 249, 243, 0.96), rgba(255, 255, 255, 0.84));
}

.stock-journey-depot-fit-component.is-positive strong,
.stock-journey-depot-fit-component.is-soft-positive strong {
  color: #08745e;
}

.stock-journey-depot-fit-component.is-negative,
.stock-journey-depot-fit-component.is-soft-negative {
  border-color: rgba(155, 31, 31, 0.26);
  background: linear-gradient(180deg, rgba(255, 240, 237, 0.96), rgba(255, 255, 255, 0.86));
}

.stock-journey-depot-fit-component.is-negative strong,
.stock-journey-depot-fit-component.is-soft-negative strong {
  color: #9b1f1f;
}

.stock-journey-depot-fit-component.is-soft-positive,
.stock-journey-depot-fit-component.is-soft-negative {
  opacity: 0.9;
}

.stock-journey-depot-fit-component.is-strong {
  min-height: 132px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 14px 34px rgba(10, 64, 49, 0.09);
}

.stock-journey-depot-fit-mark {
  display: grid;
  align-content: center;
  justify-items: center;
  align-self: stretch;
  gap: 18px;
  min-height: 0;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 24%, rgba(15, 122, 99, 0.12), transparent 36%),
    linear-gradient(180deg, #fbfffd, #eef7f3);
  padding: clamp(26px, 3.2vw, 42px);
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 18px 42px rgba(10, 64, 49, 0.11);
}

.stock-journey-depot-fit-mark small {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-depot-fit-mark strong {
  color: var(--brand-dark);
  font-size: clamp(5.8rem, 9vw, 8.4rem);
  line-height: 0.82;
}

.stock-journey-depot-fit-mark span {
  max-width: 310px;
  color: #344d43;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 900;
  line-height: 1.2;
}

.stock-journey-depot-fit-mark em {
  max-width: 330px;
  color: #51635b;
  font-size: 0.94rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1.34;
}

.stock-journey-depot-fit-mark.is-blue {
  border-color: rgba(25, 113, 189, 0.3);
  background:
    radial-gradient(circle at 50% 22%, rgba(25, 113, 189, 0.16), transparent 38%),
    linear-gradient(180deg, #f5fbff, #edf7ff);
}

.stock-journey-depot-fit-mark.is-blue strong {
  color: #155d9b;
}

.stock-journey-depot-fit-mark.is-green,
.stock-journey-depot-fit-mark.is-soft-positive {
  border-color: rgba(16, 163, 127, 0.3);
  background:
    radial-gradient(circle at 50% 22%, rgba(16, 163, 127, 0.15), transparent 38%),
    linear-gradient(180deg, #f6fffb, #eaf8f1);
}

.stock-journey-depot-fit-mark.is-green strong,
.stock-journey-depot-fit-mark.is-soft-positive strong {
  color: #08745e;
}

.stock-journey-depot-fit-mark.is-orange,
.stock-journey-depot-fit-mark.is-soft-negative {
  border-color: rgba(232, 170, 54, 0.34);
  background:
    radial-gradient(circle at 50% 22%, rgba(232, 170, 54, 0.16), transparent 38%),
    linear-gradient(180deg, #fffdf6, #fff6dd);
}

.stock-journey-depot-fit-mark.is-orange strong,
.stock-journey-depot-fit-mark.is-soft-negative strong {
  color: #a15d00;
}

.stock-journey-depot-fit-mark.is-red {
  border-color: rgba(155, 31, 31, 0.32);
  background:
    radial-gradient(circle at 50% 22%, rgba(155, 31, 31, 0.14), transparent 38%),
    linear-gradient(180deg, #fff8f6, #ffece8);
}

.stock-journey-depot-fit-mark.is-red strong {
  color: #9b1f1f;
}

.stock-journey-slide.is-rogue-slide {
  grid-template-columns: 1fr;
  row-gap: 14px;
}

.stock-journey-slide.is-rogue-slide .stock-journey-module-copy {
  gap: 10px;
}

.stock-journey-slide.is-rogue-slide .stock-journey-module-plaque {
  max-width: none;
  padding-block: clamp(18px, 2.4vw, 26px);
}

.stock-journey-slide.is-rogue-slide .stock-journey-module-plaque .stock-journey-score-headline {
  font-size: clamp(2.7rem, 4.4vw, 4.45rem);
  line-height: 0.96;
}

.stock-journey-rogue-summary {
  max-width: none;
}

.stock-journey-rogue-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: none;
}

.stock-journey-rogue-grid > p {
  margin: 0;
  color: #51635b;
  font-weight: 760;
}

.stock-journey-rogue-tile {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 190px;
  overflow: hidden;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 247, 0.9));
  padding: 17px 18px 18px;
  color: #344d43;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 14px 32px rgba(10, 64, 49, 0.08);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.stock-journey-rogue-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 86% 8%, rgba(255, 255, 255, 0.45), transparent 34%);
  pointer-events: none;
}

.stock-journey-rogue-tile:hover,
.stock-journey-rogue-tile.is-active {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 18px 38px rgba(10, 64, 49, 0.12);
}

.stock-journey-rogue-tile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  position: relative;
  z-index: 1;
}

.stock-journey-rogue-label {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
}

.stock-journey-rogue-icon {
  display: inline-flex;
  width: 22px;
  height: 22px;
  color: currentColor;
  opacity: 0.9;
}

.stock-journey-rogue-icon svg,
.stock-journey-rogue-watermark svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.stock-journey-rogue-watermark {
  position: absolute;
  right: 18px;
  bottom: 16px;
  width: clamp(54px, 7vw, 82px);
  height: clamp(54px, 7vw, 82px);
  color: currentColor;
  opacity: 0.13;
  transform: rotate(-3deg);
  pointer-events: none;
}

.stock-journey-rogue-tile small {
  color: currentColor;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
  opacity: 0.84;
}

.stock-journey-rogue-tile b {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 5px 9px 4px;
  color: currentColor;
  font-size: 0.76rem;
  font-weight: 950;
  line-height: 1;
  opacity: 0.78;
}

.stock-journey-rogue-tile strong {
  position: relative;
  z-index: 1;
  color: var(--brand-dark);
  font-size: clamp(2.2rem, 4.1vw, 3.4rem);
  line-height: 0.9;
  text-transform: uppercase;
}

.stock-journey-rogue-tile em {
  position: relative;
  z-index: 1;
  color: #203a31;
  font-size: clamp(1rem, 1.45vw, 1.22rem);
  font-style: normal;
  font-weight: 900;
  line-height: 1.14;
}

.stock-journey-rogue-tile p {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: calc(100% - 86px);
  color: #43584f;
  font-size: 0.98rem;
  font-weight: 720;
  line-height: 1.34;
}

.stock-journey-rogue-tile.is-human {
  border-color: rgba(16, 163, 127, 0.46);
  background:
    radial-gradient(circle at 85% 14%, rgba(173, 255, 229, 0.72), transparent 32%),
    linear-gradient(135deg, #f7fffb 0%, #e7fff4 52%, #ffffff 100%);
  color: #085846;
}

.stock-journey-rogue-tile.is-human strong {
  color: #08745e;
}

.stock-journey-rogue-tile.is-human em,
.stock-journey-rogue-tile.is-human p {
  color: #174f43;
}

.stock-journey-rogue-tile.is-human .stock-journey-rogue-watermark {
  opacity: 0.18;
}

.stock-journey-rogue-tile.is-female {
  border-color: rgba(17, 85, 98, 0.44);
  background:
    radial-gradient(circle at 100% 0%, rgba(235, 157, 176, 0.72), transparent 34%),
    linear-gradient(135deg, #104f5f 0%, #184b56 48%, #ad7a8d 100%);
  color: #f7fbfb;
}

.stock-journey-rogue-tile.is-female strong {
  color: #ffffff;
}

.stock-journey-rogue-tile.is-female em,
.stock-journey-rogue-tile.is-female p {
  color: rgba(255, 255, 255, 0.9);
}

.stock-journey-rogue-tile.is-female .stock-journey-rogue-watermark {
  opacity: 0.2;
}

.stock-journey-rogue-tile.is-dark {
  border-color: rgba(207, 160, 58, 0.46);
  background:
    radial-gradient(circle at 88% 12%, rgba(140, 91, 20, 0.4), transparent 34%),
    linear-gradient(135deg, #100c07 0%, #211808 50%, #35270f 100%);
  color: #f4d98c;
}

.stock-journey-rogue-tile.is-dark strong {
  color: #ffd66a;
}

.stock-journey-rogue-tile.is-dark em,
.stock-journey-rogue-tile.is-dark p {
  color: rgba(245, 220, 154, 0.86);
}

.stock-journey-rogue-tile.is-dark .stock-journey-rogue-watermark {
  opacity: 0.24;
}

.stock-journey-rogue-tile.is-dirt {
  border-color: rgba(103, 108, 104, 0.44);
  background:
    radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.68), transparent 30%),
    linear-gradient(135deg, #b7bbb6 0%, #dfe1de 50%, #f5f6f4 100%);
  color: #2d3430;
}

.stock-journey-rogue-tile.is-dirt strong {
  color: #1d2420;
}

.stock-journey-rogue-tile.is-dirt em,
.stock-journey-rogue-tile.is-dirt p {
  color: #313a35;
}

.stock-journey-rogue-tile.is-dirt .stock-journey-rogue-watermark {
  opacity: 0.22;
}

.stock-journey-rogue-closing {
  max-width: none;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--brand-dark);
  padding: 14px 16px;
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  font-weight: 900;
  line-height: 1.24;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.stock-journey-slide.is-predicate-slide {
  grid-template-columns: 1fr;
  row-gap: 14px;
}

.stock-journey-slide.is-predicate-slide .stock-journey-module-copy {
  gap: 10px;
}

.stock-journey-slide.is-predicate-slide .stock-journey-module-plaque {
  max-width: none;
  padding-block: clamp(18px, 2.5vw, 28px);
}

.stock-journey-slide.is-predicate-slide .stock-journey-module-plaque .stock-journey-score-headline {
  font-size: clamp(2.55rem, 4.45vw, 4.55rem);
  line-height: 0.96;
}

.stock-journey-predicate-summary {
  max-width: none;
}

.stock-journey-predicate-stage {
  display: grid;
  min-height: clamp(320px, 42vh, 455px);
  border: 1px solid rgba(15, 122, 99, 0.14);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 16%, rgba(213, 167, 47, 0.1), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.84), rgba(241, 249, 246, 0.72));
  padding: clamp(18px, 2.6vw, 30px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 18px 42px rgba(10, 64, 49, 0.07);
}

.stock-journey-predicate-page {
  display: grid;
  align-content: center;
  justify-content: center;
  gap: clamp(12px, 1.7vw, 22px);
  min-height: 100%;
}

.stock-journey-predicate-page[hidden] {
  display: none;
}

.stock-journey-predicate-page.is-count-1 {
  grid-template-columns: minmax(260px, 520px);
}

.stock-journey-predicate-page.is-count-2 {
  grid-template-columns: repeat(2, minmax(230px, 420px));
}

.stock-journey-predicate-page.is-count-3 {
  grid-template-columns: repeat(3, minmax(190px, 320px));
}

.stock-journey-predicate-page.is-count-4 {
  grid-template-columns: repeat(2, minmax(220px, 360px));
}

.stock-journey-predicate-page.is-count-5,
.stock-journey-predicate-page.is-count-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.stock-journey-predicate-page.is-count-5 .stock-journey-predicate-award,
.stock-journey-predicate-page.is-count-6 .stock-journey-predicate-award {
  grid-column: span 2;
}

.stock-journey-predicate-page.is-count-5 .stock-journey-predicate-award:nth-child(4) {
  grid-column: 2 / span 2;
}

.stock-journey-predicate-page.is-count-5 .stock-journey-predicate-award:nth-child(5) {
  grid-column: 4 / span 2;
}

.stock-journey-predicate-award {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  min-width: 0;
  color: #063f34;
  text-align: center;
}

.stock-journey-predicate-medal {
  display: grid;
  place-items: center;
  width: clamp(150px, 18vw, 220px);
  aspect-ratio: 1;
}

.stock-journey-predicate-page.is-count-1 .stock-journey-predicate-medal {
  width: clamp(250px, 30vw, 360px);
}

.stock-journey-predicate-page.is-count-2 .stock-journey-predicate-medal {
  width: clamp(200px, 24vw, 290px);
}

.stock-journey-predicate-page.is-count-3 .stock-journey-predicate-medal {
  width: clamp(170px, 19vw, 240px);
}

.stock-journey-predicate-page.is-count-4 .stock-journey-predicate-medal {
  width: clamp(160px, 18vw, 220px);
}

.stock-journey-predicate-medal img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(38, 52, 46, 0.18));
}

.stock-journey-predicate-medal span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(191, 145, 39, 0.28);
  border-radius: 999px;
  background: radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.92), transparent 42%), #f4d477;
  color: #6b4a06;
  font-size: 1.1rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-predicate-award small {
  color: #6b7b73;
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.stock-journey-predicate-award strong {
  display: -webkit-box;
  max-width: 320px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #063f34;
  font-size: clamp(1.08rem, 1.65vw, 1.45rem);
  font-weight: 950;
  line-height: 1.12;
}

.stock-journey-predicate-page.is-count-1 .stock-journey-predicate-award strong {
  max-width: 500px;
  font-size: clamp(1.55rem, 2.4vw, 2.2rem);
}

.stock-journey-predicate-award p {
  display: none;
}

.stock-journey-predicate-award.is-predicate-diamond small,
.stock-journey-predicate-award.is-predicate-diamond strong {
  color: #155d9b;
}

.stock-journey-predicate-award.is-predicate-platinum small,
.stock-journey-predicate-award.is-predicate-platinum strong {
  color: #53666c;
}

.stock-journey-predicate-award.is-predicate-gold small,
.stock-journey-predicate-award.is-predicate-gold strong {
  color: #815a08;
}

.stock-journey-predicate-empty {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  min-height: 100%;
  text-align: center;
}

.stock-journey-predicate-empty strong {
  color: var(--brand-dark);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1;
}

.stock-journey-predicate-empty span {
  max-width: 560px;
  color: #51635b;
  font-size: 1.04rem;
  font-weight: 800;
  line-height: 1.34;
}

.stock-journey-predicate-pager {
  display: inline-flex;
  align-items: center;
  justify-self: center;
  gap: 12px;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  padding: 6px 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.stock-journey-predicate-pager button {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 999px;
  background: #fff;
  color: var(--brand-dark);
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 950;
  line-height: 1;
}

.stock-journey-predicate-pager button:disabled {
  cursor: default;
  opacity: 0.35;
}

.stock-journey-predicate-pager span {
  min-width: 48px;
  color: #51635b;
  font-size: 0.82rem;
  font-weight: 900;
  text-align: center;
}

.stock-journey-predicate-preview-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.stock-journey-predicate-preview-controls .is-active {
  border-color: rgba(15, 122, 99, 0.34);
  background: rgba(15, 122, 99, 0.1);
  color: var(--brand-dark);
}

.stock-journey-slide.is-overall-slide {
  grid-template-columns: 1fr;
  row-gap: 14px;
}

.stock-journey-slide.is-overall-slide .stock-journey-module-copy {
  gap: 12px;
}

.stock-journey-slide.is-overall-slide .stock-journey-module-plaque {
  max-width: none;
  padding-block: clamp(20px, 2.7vw, 32px);
}

.stock-journey-slide.is-overall-slide .stock-journey-module-plaque .stock-journey-score-headline {
  font-size: clamp(2.8rem, 5vw, 5.1rem);
  line-height: 0.96;
}

.stock-journey-overall-summary,
.stock-journey-overall-orientation,
.stock-journey-overall-closing {
  max-width: none;
}

.stock-journey-overall-orientation,
.stock-journey-overall-closing {
  border: 1px solid rgba(15, 122, 99, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  color: #344d43;
  padding: 14px 16px;
  font-size: clamp(1rem, 1.25vw, 1.16rem);
  font-weight: 820;
  line-height: 1.34;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.stock-journey-overall-orientation {
  text-align: center;
}

.stock-journey-overall-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.8vw, 22px);
}

.stock-journey-overall-card {
  position: relative;
  display: block;
  min-height: clamp(270px, 31vh, 360px);
  overflow: hidden;
  border: 1px solid rgba(15, 122, 99, 0.2);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 18%, rgba(15, 122, 99, 0.1), transparent 34%),
    linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(239, 248, 245, 0.9));
  padding: clamp(22px, 3vw, 34px);
  color: #063f34;
  font: inherit;
  text-align: center;
  cursor: pointer;
  perspective: 1200px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 18px 42px rgba(10, 64, 49, 0.08);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.stock-journey-overall-card::after {
  content: "";
  position: absolute;
  inset: auto 12% -42% 12%;
  height: 62%;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
  filter: blur(16px);
  pointer-events: none;
}

.stock-journey-overall-card:hover,
.stock-journey-overall-card.is-active {
  transform: translateY(-2px);
  border-color: rgba(15, 122, 99, 0.36);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 24px 52px rgba(10, 64, 49, 0.12);
}

.stock-journey-overall-card small,
.stock-journey-overall-card strong,
.stock-journey-overall-card-face > span,
.stock-journey-overall-card em {
  position: relative;
  z-index: 1;
}

.stock-journey-overall-card-inner {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  min-height: calc(clamp(270px, 31vh, 360px) - clamp(44px, 6vw, 68px));
  transform-style: preserve-3d;
  transition: transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.stock-journey-overall-card.is-revealed .stock-journey-overall-card-inner {
  transform: rotateY(180deg);
}

.stock-journey-overall-card-face {
  grid-area: 1 / 1;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 14px;
  min-width: 0;
  backface-visibility: hidden;
}

.stock-journey-overall-card-back {
  transform: rotateY(180deg);
}

.stock-journey-overall-card-info span {
  max-width: 300px;
  color: #344d43;
  font-size: clamp(1.02rem, 1.4vw, 1.24rem);
  font-weight: 880;
  line-height: 1.28;
}

.stock-journey-overall-card small {
  color: var(--muted);
  font-size: clamp(1.1rem, 1.45vw, 1.35rem);
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.stock-journey-overall-card strong {
  color: var(--brand-dark);
  font-size: clamp(4.8rem, 8vw, 7.5rem);
  font-weight: 950;
  line-height: 0.82;
}

.stock-journey-overall-card-result > span {
  max-width: 280px;
  color: #344d43;
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  font-weight: 900;
  line-height: 1.14;
}

.stock-journey-overall-card em {
  max-width: 300px;
  border: 1px solid rgba(15, 122, 99, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: #51635b;
  padding: 6px 11px;
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 880;
  line-height: 1.15;
}

.stock-journey-overall-card.is-pp {
  border-color: rgba(213, 155, 23, 0.34);
  background:
    radial-gradient(circle at 50% 16%, rgba(213, 155, 23, 0.16), transparent 38%),
    linear-gradient(150deg, #fffdf7, #f6fbf8);
}

.stock-journey-overall-card.is-ace {
  border-color: rgba(16, 163, 127, 0.32);
  background:
    radial-gradient(circle at 50% 16%, rgba(16, 163, 127, 0.14), transparent 38%),
    linear-gradient(150deg, #f8fffc, #edf9f3);
}

.stock-journey-overall-card.is-safe {
  border-color: rgba(25, 113, 189, 0.26);
  background:
    radial-gradient(circle at 50% 16%, rgba(25, 113, 189, 0.12), transparent 38%),
    linear-gradient(150deg, #fbfdff, #edf7ff);
}

.stock-journey-overall-card.is-red strong {
  color: #9b1f1f;
}

.stock-journey-overall-card.is-orange strong {
  color: #b45613;
}

.stock-journey-overall-card.is-yellow strong {
  color: #8a5d00;
}

.stock-journey-overall-card.is-green strong {
  color: #08745e;
}

.stock-journey-overall-card.is-blue strong {
  color: #155d9b;
}

.stock-journey-overall-card.is-missing {
  opacity: 0.78;
}

.stock-journey-overall-card.is-missing strong {
  color: #60746a;
}

.stock-journey-overall-closing {
  color: var(--brand-dark);
  font-weight: 900;
  text-align: center;
}

.stock-journey-opening-cards article {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 150px;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  padding: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.stock-journey-opening-cards small {
  color: var(--brand-dark);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-journey-opening-cards p {
  margin: 0;
  color: #3d534b;
  font-size: 1rem;
  font-weight: 730;
  line-height: 1.45;
}

.stock-journey-opening-cards .stock-journey-phase-bridge-card {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  min-height: 350px;
  overflow: hidden;
  padding: 34px 18px 24px;
  text-align: center;
}

.stock-journey-opening-cards .stock-journey-phase-bridge-card strong {
  color: var(--brand-dark);
  font-size: clamp(4.2rem, 6vw, 6.4rem);
  line-height: 0.9;
}

.stock-journey-opening-cards .stock-journey-phase-bridge-card span {
  max-width: 210px;
  border: 1px solid rgba(15, 122, 99, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  padding: 6px 12px;
  color: #51635b;
  font-size: 0.84rem;
  font-weight: 850;
  line-height: 1.18;
  transform: translateY(20px);
}

.stock-journey-field-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
  color: rgba(74, 94, 86, 0.72);
  line-height: 1;
  cursor: pointer;
  vertical-align: -0.12em;
  transition: color 160ms ease, opacity 160ms ease;
}

.stock-journey-field-info svg {
  display: block;
  width: 0.96em;
  height: 0.96em;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55;
  shape-rendering: geometricPrecision;
}

.stock-journey-field-info-dot {
  fill: currentColor;
  stroke: none;
}

.stock-journey-field-info:hover,
.stock-journey-field-info.is-active {
  color: var(--brand);
  opacity: 1;
}

.stock-journey-field-info.is-active {
  color: var(--brand-dark);
}

.stock-journey-card-info-marker {
  margin-left: 4px;
  color: currentColor;
  cursor: inherit;
  opacity: 0.64;
  pointer-events: none;
  transform: translateY(-0.02em);
}

.stock-journey-card-info-marker svg {
  width: 0.98em;
  height: 0.98em;
}

.stock-journey-opening-basics {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  max-width: 980px;
  align-items: start;
  justify-items: stretch;
}

.stock-journey-opening-basics article {
  display: grid;
  place-items: center;
  gap: 4px;
  height: 66px;
  min-width: 0;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  padding: 8px 12px;
  text-align: center;
}

.stock-journey-opening-basics small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-opening-basics strong {
  overflow-wrap: anywhere;
  color: var(--brand-dark);
  font-size: 0.98rem;
  font-weight: 900;
  line-height: 1.2;
}

.stock-journey-opening-super-tags {
  display: grid;
  gap: 7px;
  max-width: 980px;
  border: 1px solid rgba(15, 122, 99, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  padding: 10px 12px;
}

.stock-journey-opening-super-tags small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-opening-super-tags div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.stock-journey-opening-super-tags div > span {
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 999px;
  background: rgba(239, 247, 250, 0.94);
  color: #15577f;
  padding: 6px 10px;
  font-size: 0.82rem;
  font-weight: 860;
}

.stock-journey-opening-footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  grid-column: 1 / -1;
  align-self: end;
  max-width: none;
  width: 100%;
  min-height: 64px;
  margin: 8px 0 0;
  border: 1px solid rgba(15, 122, 99, 0.14);
  border-radius: 10px;
  background: #fff;
  padding: 12px 16px;
  font-size: 0.9rem;
  line-height: 1.28;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 10px 24px rgba(10, 64, 49, 0.06);
}

.stock-journey-info-icon {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(25, 113, 189, 0.28);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.96), transparent 42%),
    linear-gradient(180deg, rgba(239, 247, 250, 0.98), rgba(255, 255, 255, 0.9));
  color: #1971bd;
  font-size: 1.16rem;
  font-weight: 950;
  line-height: 1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 12px 22px rgba(10, 64, 49, 0.12),
    0 0 0 6px rgba(25, 113, 189, 0.045);
}

.stock-journey-opening-footer [data-stock-journey-info-footer-text] {
  color: #51635b;
  font-weight: 820;
}

.stock-journey-highlight {
  display: grid;
  gap: 6px;
  max-width: 760px;
  border: 1px solid rgba(15, 122, 99, 0.2);
  border-radius: 10px;
  background: rgba(239, 248, 244, 0.9);
  padding: 14px 16px;
}

.stock-journey-highlight small,
.stock-journey-metric small,
.stock-journey-hero-score small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-journey-highlight strong {
  color: var(--brand-dark);
  font-size: 1.4rem;
}

.stock-journey-highlight p {
  margin: 0;
  color: #40554d;
  font-weight: 750;
  line-height: 1.4;
}

.stock-journey-takeaways {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.stock-journey-takeaways span {
  border: 1px solid rgba(15, 122, 99, 0.15);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--brand-dark);
  padding: 8px 12px;
  font-size: 0.88rem;
  font-weight: 850;
}

.stock-journey-limitation {
  max-width: 620px;
  margin: 4px 0 0;
  color: #697a73;
  font-size: 0.88rem;
  font-weight: 760;
}

.stock-journey-limitation.stock-journey-opening-footer {
  max-width: none;
  margin: 2px 0 0;
}

.stock-journey-visual {
  min-width: 0;
}

.stock-journey-statement-mark,
.stock-journey-transition-mark,
.stock-journey-hero-score {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 320px;
  border: 1px solid rgba(25, 113, 189, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 35%, rgba(25, 113, 189, 0.1), transparent 42%),
    linear-gradient(180deg, #fbfdff, #eef7f9);
  text-align: center;
}

.stock-journey-opening-mark {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  align-self: stretch;
  min-height: 0;
  height: auto;
  border: 1px solid rgba(25, 113, 189, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(251, 253, 255, 0.94), rgba(232, 244, 249, 0.92));
  color: var(--brand-dark);
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 14px 34px rgba(25, 113, 189, 0.1);
}

.stock-journey-opening-mark small {
  color: #1971bd;
  font-size: 0.82rem;
  font-weight: 950;
}

.stock-journey-opening-mark strong {
  color: #062e25;
  font-size: clamp(4.5rem, 7rem, 8.5rem);
  line-height: 0.86;
}

.stock-journey-opening-mark span {
  max-width: 210px;
  color: #40554d;
  font-size: 1.02rem;
  font-weight: 850;
  line-height: 1.25;
}

.stock-journey-module-mark {
  position: relative;
  isolation: isolate;
}

.stock-journey-module-mark > i:not(.stock-journey-score-ring) {
  display: block;
  width: min(70%, 240px);
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(10, 64, 49, 0.08);
}

.stock-journey-module-mark > i:not(.stock-journey-score-ring) b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand), #1971bd);
}

.stock-journey-module-mark.is-blue > i:not(.stock-journey-score-ring) b {
  background: linear-gradient(90deg, #1971bd, #63a7ff);
}

.stock-journey-module-mark.is-green > i:not(.stock-journey-score-ring) b {
  background: linear-gradient(90deg, #10a37f, #73d58f);
}

.stock-journey-module-mark.is-yellow > i:not(.stock-journey-score-ring) b,
.stock-journey-module-mark.is-orange > i:not(.stock-journey-score-ring) b {
  background: linear-gradient(90deg, #c8951f, #f0c866);
}

.stock-journey-module-mark.is-red > i:not(.stock-journey-score-ring) b {
  background: linear-gradient(90deg, #8b1a1a, #d76d6d);
}

.stock-journey-module-mark.has-score-ring,
.stock-journey-phase-bridge-card.has-score-ring,
.stock-journey-timing-hero.has-score-ring {
  --journey-ring-color: #c8951f;
  --journey-ring-track: rgba(10, 64, 49, 0.08);
  overflow: hidden;
}

.stock-journey-module-mark.has-score-ring small,
.stock-journey-module-mark.has-score-ring strong,
.stock-journey-module-mark.has-score-ring span,
.stock-journey-phase-bridge-card.has-score-ring small,
.stock-journey-phase-bridge-card.has-score-ring strong,
.stock-journey-phase-bridge-card.has-score-ring span,
.stock-journey-timing-hero.has-score-ring small,
.stock-journey-timing-hero.has-score-ring strong,
.stock-journey-timing-hero.has-score-ring span,
.stock-journey-timing-hero.has-score-ring em {
  position: relative;
  z-index: 1;
}

.stock-journey-score-ring {
  --journey-ring-progress: 0%;
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 0;
  display: block;
  width: clamp(230px, 24vw, 330px);
  aspect-ratio: 1;
  border-radius: 999px;
  background:
    conic-gradient(from 0deg, var(--journey-ring-color) var(--journey-ring-progress), var(--journey-ring-track) 0);
  box-shadow:
    0 24px 48px rgba(10, 64, 49, 0.08),
    inset 0 0 0 1px rgba(10, 64, 49, 0.04);
  transform: translate(-50%, -50%);
  animation: stockJourneyScoreRingBuild 3200ms cubic-bezier(0.2, 0.72, 0.24, 1) 260ms forwards;
}

.stock-journey-score-ring::after {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.98), rgba(246, 251, 249, 0.92) 58%, rgba(232, 244, 249, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.stock-journey-phase-bridge-card .stock-journey-score-ring {
  width: clamp(180px, 19vw, 250px);
  inset: 47% auto auto 50%;
}

.stock-journey-phase-bridge-card .stock-journey-score-ring::after {
  inset: 13px;
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.98), rgba(255, 251, 238, 0.9) 58%, rgba(255, 255, 255, 0.88));
}

.stock-journey-module-mark.is-blue.has-score-ring,
.stock-journey-phase-bridge-card.is-blue.has-score-ring {
  --journey-ring-color: #1971bd;
  --journey-ring-track: rgba(25, 113, 189, 0.1);
}

.stock-journey-module-mark.is-green.has-score-ring,
.stock-journey-phase-bridge-card.is-green.has-score-ring {
  --journey-ring-color: #10a37f;
  --journey-ring-track: rgba(16, 163, 127, 0.1);
}

.stock-journey-module-mark.is-yellow.has-score-ring,
.stock-journey-module-mark.is-orange.has-score-ring,
.stock-journey-phase-bridge-card.is-yellow.has-score-ring,
.stock-journey-phase-bridge-card.is-orange.has-score-ring {
  --journey-ring-color: #c8951f;
  --journey-ring-track: rgba(200, 149, 31, 0.14);
}

.stock-journey-module-mark.is-red.has-score-ring,
.stock-journey-phase-bridge-card.is-red.has-score-ring {
  --journey-ring-color: #9b1f1f;
  --journey-ring-track: rgba(155, 31, 31, 0.12);
}

.stock-journey-timing-hero.is-blue.has-score-ring {
  --journey-ring-color: #1971bd;
  --journey-ring-track: rgba(25, 113, 189, 0.1);
}

.stock-journey-timing-hero.is-green.has-score-ring {
  --journey-ring-color: #10a37f;
  --journey-ring-track: rgba(16, 163, 127, 0.1);
}

.stock-journey-timing-hero.is-yellow.has-score-ring,
.stock-journey-timing-hero.is-orange.has-score-ring {
  --journey-ring-color: #c8951f;
  --journey-ring-track: rgba(200, 149, 31, 0.14);
}

.stock-journey-timing-hero.is-red.has-score-ring {
  --journey-ring-color: #9b1f1f;
  --journey-ring-track: rgba(155, 31, 31, 0.12);
}

.stock-journey-sis-radar-card {
  display: grid;
  align-content: center;
  align-self: start;
  min-height: 0;
  margin-top: clamp(34px, 3.8vw, 52px);
  border-color: rgba(25, 113, 189, 0.2);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(251, 253, 255, 0.94), rgba(232, 244, 249, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 14px 34px rgba(25, 113, 189, 0.1);
}

.stock-journey-sis-radar-card .security-radar {
  width: min(100%, 380px);
  margin: 0 auto;
}

.stock-journey-sis-radar-card .scenario-radar-ring {
  opacity: 0;
  transform: scale(0.86);
  transform-box: fill-box;
  transform-origin: center;
  animation: stockJourneyRadarFade 780ms ease forwards;
  animation-delay: calc(120ms + var(--radar-step, 0) * 70ms);
}

.stock-journey-sis-radar-card .scenario-radar-axis,
.stock-journey-sis-radar-card .scenario-radar-value-line {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: stockJourneyRadarDraw 920ms cubic-bezier(0.2, 0.72, 0.24, 1) forwards;
}

.stock-journey-sis-radar-card .scenario-radar-axis {
  animation-delay: calc(220ms + var(--radar-step, 0) * 62ms);
}

.stock-journey-sis-radar-card .scenario-radar-value-line {
  animation-delay: calc(760ms + var(--radar-step, 0) * 58ms);
}

.stock-journey-sis-radar-card .scenario-radar-area {
  opacity: 0;
  transform: scale(0.28);
  transform-box: fill-box;
  transform-origin: center;
  animation: stockJourneyRadarArea 920ms cubic-bezier(0.2, 0.72, 0.24, 1) 1260ms forwards;
}

.stock-journey-sis-radar-card .scenario-radar-point {
  opacity: 0;
  transform: scale(0.35);
  transform-box: fill-box;
  transform-origin: center;
  animation: stockJourneyRadarPoint 520ms ease forwards;
  animation-delay: calc(1300ms + var(--radar-step, 0) * 54ms);
}

.stock-journey-sis-radar-card .scenario-radar-label {
  opacity: 0;
  animation: stockJourneyRadarLabel 520ms ease forwards;
  animation-delay: calc(1480ms + var(--radar-step, 0) * 42ms);
}

.stock-journey-timing-copy {
  gap: 16px;
}

.stock-journey-timing-summary {
  border-color: rgba(12, 97, 112, 0.18);
  background:
    radial-gradient(circle at 88% 10%, rgba(25, 113, 189, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(239, 248, 246, 0.9));
}

.stock-journey-timing-main-grid,
.stock-journey-timing-wind-duo {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.stock-journey-timing-wind-duo {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stock-journey-timing-signal-card,
.stock-journey-timing-wind-card,
.stock-journey-timing-factor,
.stock-journey-timing-raw-chip,
.stock-journey-tension-card {
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 12px;
  background:
    radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.92), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 248, 0.92));
  color: #09382f;
  text-align: left;
  box-shadow: 0 14px 28px rgba(10, 64, 49, 0.08);
  cursor: pointer;
}

.stock-journey-timing-signal-card {
  display: grid;
  gap: 8px;
  min-height: 164px;
  padding: 16px;
}

.stock-journey-flip-card.stock-journey-timing-signal-flip {
  min-height: var(--journey-flip-card-height, 270px);
  height: var(--journey-flip-card-height, 270px);
}

.stock-journey-timing-signal-flip .stock-journey-flip-face {
  border-color: rgba(12, 97, 112, 0.2);
  background:
    radial-gradient(circle at 88% 10%, rgba(255, 255, 255, 0.92), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(238, 248, 245, 0.94));
}

.stock-journey-timing-signal-flip .stock-journey-flip-front {
  grid-template-columns: 84px minmax(0, 1fr);
  justify-items: start;
  padding: 18px 20px;
  text-align: left;
}

.stock-journey-timing-signal-flip .stock-journey-flip-front small {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #064f42;
  font-size: 0.95rem;
}

.stock-journey-timing-signal-flip .stock-journey-flip-front em {
  color: #53675e;
  font-size: 0.94rem;
}

.stock-journey-timing-signal-flip .stock-journey-flip-symbol {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(10, 92, 76, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: rgba(6, 63, 52, 0.3);
  font-size: 2.6rem;
}

.stock-journey-timing-signal-flip .stock-journey-flip-back {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "label score"
    "text text";
  align-content: start;
  gap: 12px 14px;
  padding: 18px 20px 22px;
}

.stock-journey-timing-signal-flip .stock-journey-flip-back small {
  grid-area: label;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #064f42;
  font-size: 0.9rem;
}

.stock-journey-timing-signal-flip .stock-journey-flip-back strong {
  grid-area: score;
  align-self: start;
  justify-self: end;
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: -8px -8px 0 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #063f34;
  font-size: 1.55rem;
}

.stock-journey-timing-signal-flip .stock-journey-flip-back span {
  grid-area: text;
  color: #3d534b;
  font-size: 1.02rem;
  font-weight: 520;
  line-height: 1.32;
}

.stock-journey-timing-signal-flip.is-score-10 .stock-journey-flip-face,
.stock-journey-timing-signal-flip.is-score-9 .stock-journey-flip-face,
.stock-journey-timing-signal-flip.is-score-8 .stock-journey-flip-face,
.stock-journey-timing-signal-flip.is-score-7 .stock-journey-flip-face {
  border-color: rgba(16, 163, 127, 0.28);
  background:
    radial-gradient(circle at 88% 10%, rgba(16, 163, 127, 0.13), transparent 34%),
    linear-gradient(180deg, rgba(238, 252, 245, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-signal-flip.is-score-6 .stock-journey-flip-face,
.stock-journey-timing-signal-flip.is-score-5 .stock-journey-flip-face {
  border-color: rgba(232, 170, 54, 0.34);
  background:
    radial-gradient(circle at 88% 10%, rgba(232, 170, 54, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255, 249, 226, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-signal-flip.is-score-4 .stock-journey-flip-face,
.stock-journey-timing-signal-flip.is-score-3 .stock-journey-flip-face,
.stock-journey-timing-signal-flip.is-score-2 .stock-journey-flip-face,
.stock-journey-timing-signal-flip.is-score-1 .stock-journey-flip-face {
  border-color: rgba(155, 31, 31, 0.3);
  background:
    radial-gradient(circle at 88% 10%, rgba(155, 31, 31, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255, 240, 237, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-wind-flip {
  min-height: 142px;
}

.stock-journey-timing-wind-flip .stock-journey-flip-face {
  border-color: rgba(200, 149, 31, 0.34);
  background:
    radial-gradient(circle at 88% 10%, rgba(232, 170, 54, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255, 249, 226, 0.98), rgba(255, 255, 255, 0.92));
}

.stock-journey-timing-wind-flip .stock-journey-flip-front {
  grid-template-columns: 70px minmax(0, 1fr);
  justify-items: start;
  padding: 16px 18px;
  text-align: left;
}

.stock-journey-timing-wind-flip .stock-journey-flip-front small {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #684900;
  font-size: 0.86rem;
}

.stock-journey-timing-wind-flip .stock-journey-flip-front em {
  color: #5f5642;
  font-size: 0.92rem;
}

.stock-journey-timing-wind-flip .stock-journey-flip-symbol {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(200, 149, 31, 0.25);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(104, 73, 0, 0.42);
  font-size: 2.2rem;
}

.stock-journey-timing-wind-flip .stock-journey-flip-back {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "label score"
    "text text";
  align-content: start;
  gap: 9px 14px;
  padding: 16px 18px;
}

.stock-journey-timing-wind-flip .stock-journey-flip-back small {
  grid-area: label;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #684900;
  font-size: 0.82rem;
}

.stock-journey-timing-wind-flip .stock-journey-flip-back strong {
  grid-area: score;
  display: inline-grid;
  place-items: center;
  min-width: 58px;
  height: 46px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: #063f34;
  padding: 0 12px;
  font-size: 1.7rem;
}

.stock-journey-timing-wind-flip .stock-journey-flip-back span {
  grid-area: text;
  color: #3d534b;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.25;
}

.stock-journey-timing-wind-flip.is-score-10 .stock-journey-flip-face,
.stock-journey-timing-wind-flip.is-score-9 .stock-journey-flip-face,
.stock-journey-timing-wind-flip.is-score-8 .stock-journey-flip-face,
.stock-journey-timing-wind-flip.is-score-7 .stock-journey-flip-face {
  border-color: rgba(16, 163, 127, 0.3);
  background:
    radial-gradient(circle at 88% 10%, rgba(16, 163, 127, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(238, 252, 245, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-wind-flip.is-score-10 .stock-journey-flip-back small,
.stock-journey-timing-wind-flip.is-score-9 .stock-journey-flip-back small,
.stock-journey-timing-wind-flip.is-score-8 .stock-journey-flip-back small,
.stock-journey-timing-wind-flip.is-score-7 .stock-journey-flip-back small {
  color: #08745e;
}

.stock-journey-timing-wind-flip.is-score-4 .stock-journey-flip-face,
.stock-journey-timing-wind-flip.is-score-3 .stock-journey-flip-face,
.stock-journey-timing-wind-flip.is-score-2 .stock-journey-flip-face,
.stock-journey-timing-wind-flip.is-score-1 .stock-journey-flip-face {
  border-color: rgba(155, 31, 31, 0.3);
  background:
    radial-gradient(circle at 88% 10%, rgba(155, 31, 31, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255, 240, 237, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-wind-flip.is-score-4 .stock-journey-flip-back small,
.stock-journey-timing-wind-flip.is-score-3 .stock-journey-flip-back small,
.stock-journey-timing-wind-flip.is-score-2 .stock-journey-flip-back small,
.stock-journey-timing-wind-flip.is-score-1 .stock-journey-flip-back small {
  color: #9b1f1f;
}

.stock-journey-timing-signal-card small,
.stock-journey-timing-wind-card small,
.stock-journey-timing-raw-chip span,
.stock-journey-tension-card small {
  color: var(--brand-dark);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.stock-journey-timing-signal-card strong {
  color: #063f34;
  font-size: clamp(2.8rem, 5vw, 4.6rem);
  line-height: 0.86;
}

.stock-journey-timing-signal-card span,
.stock-journey-timing-wind-card span {
  color: #385149;
  font-size: 0.96rem;
  font-weight: 900;
}

.stock-journey-timing-signal-card p,
.stock-journey-tension-card p {
  margin: 0;
  color: #52665e;
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.32;
}

.stock-journey-timing-raw-panel {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(10, 92, 76, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.62);
  padding: 12px;
}

.stock-journey-timing-raw-panel > small {
  justify-self: center;
  text-align: center;
  color: #064f42;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-timing-raw-panel > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

.stock-journey-timing-raw-chip {
  justify-items: center;
  display: grid;
  gap: 4px;
  min-height: 84px;
  padding: 10px;
  text-align: center;
}

.stock-journey-timing-raw-chip strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: #2f4c43;
  font-size: 0.82rem;
  font-weight: 880;
  line-height: 1.14;
}

.stock-journey-timing-raw-chip b {
  border-radius: 999px;
  background: rgba(10, 92, 76, 0.08);
  padding: 4px 9px;
  color: #063f34;
  font-size: 0.92rem;
  font-weight: 950;
}

.stock-journey-timing-raw-chip.is-score-10,
.stock-journey-timing-raw-chip.is-score-9,
.stock-journey-timing-raw-chip.is-score-8,
.stock-journey-timing-raw-chip.is-score-7 {
  border-color: rgba(16, 163, 127, 0.28);
  background:
    radial-gradient(circle at 50% 0%, rgba(16, 163, 127, 0.16), transparent 44%),
    linear-gradient(180deg, #eefcf5, rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-raw-chip.is-score-6,
.stock-journey-timing-raw-chip.is-score-5 {
  border-color: rgba(232, 170, 54, 0.34);
  background:
    radial-gradient(circle at 50% 0%, rgba(232, 170, 54, 0.18), transparent 44%),
    linear-gradient(180deg, #fff8df, rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-raw-chip.is-score-4,
.stock-journey-timing-raw-chip.is-score-3,
.stock-journey-timing-raw-chip.is-score-2,
.stock-journey-timing-raw-chip.is-score-1 {
  border-color: rgba(155, 31, 31, 0.3);
  background:
    radial-gradient(circle at 50% 0%, rgba(155, 31, 31, 0.14), transparent 44%),
    linear-gradient(180deg, #fff0ed, rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-hero {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(12, 97, 112, 0.2);
  background:
    radial-gradient(circle at 54% 28%, rgba(255, 255, 255, 0.94), transparent 31%),
    conic-gradient(from 235deg at 50% 50%, rgba(25, 113, 189, 0.14), rgba(16, 163, 127, 0.16), rgba(232, 170, 54, 0.12), rgba(25, 113, 189, 0.14));
}

.stock-journey-timing-hero::before {
  content: "";
  position: absolute;
  inset: 22px;
  z-index: -1;
  border: 1px solid rgba(10, 92, 76, 0.12);
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.48);
  transform: rotate(-2deg);
}

.stock-journey-timing-hero strong {
  font-size: clamp(4.8rem, 8vw, 8.8rem);
}

.stock-journey-timing-hero em {
  border: 1px solid rgba(10, 92, 76, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  padding: 6px 12px;
  color: #425b52;
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 900;
}

.stock-journey-timing-hero.has-score-ring {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.98), rgba(246, 251, 249, 0.88) 46%, rgba(232, 244, 249, 0.82));
  text-align: center;
}

.stock-journey-timing-hero.has-score-ring::before {
  display: none;
}

.stock-journey-timing-hero.has-score-ring .stock-journey-score-ring {
  width: clamp(250px, 24vw, 340px);
}

.stock-journey-timing-hero.has-score-ring strong {
  color: #063f34;
  font-size: clamp(4.8rem, 8vw, 8.6rem);
  line-height: 0.84;
}

.stock-journey-timing-hero.has-score-ring span {
  max-width: 190px;
  color: #40554d;
  font-size: 1.04rem;
  font-weight: 900;
  line-height: 1.15;
}

.stock-journey-timing-environment-hero {
  background:
    radial-gradient(circle at 44% 22%, rgba(255, 255, 255, 0.96), transparent 30%),
    linear-gradient(145deg, rgba(234, 247, 244, 0.95), rgba(255, 248, 222, 0.86), rgba(231, 243, 255, 0.9));
}

.stock-journey-timing-environment-hero.has-score-ring {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.98), rgba(255, 251, 238, 0.88) 46%, rgba(232, 244, 249, 0.82));
}

.stock-journey-tension-hero {
  background:
    linear-gradient(90deg, rgba(13, 116, 92, 0.13), transparent 48%, rgba(155, 31, 31, 0.12)),
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.96), rgba(239, 248, 246, 0.92));
}

.stock-journey-timing-wind-card {
  display: grid;
  gap: 8px;
  min-height: 128px;
  padding: 14px;
}

.stock-journey-timing-wind-card strong {
  color: #063f34;
  font-size: 2.25rem;
  line-height: 0.95;
}

.stock-journey-timing-factor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.stock-journey-timing-factor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 10px 12px;
}

.stock-journey-timing-factor span {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #355148;
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.18;
}

.stock-journey-timing-factor strong {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  height: 32px;
  border: 1px solid rgba(10, 92, 76, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #063f34;
  font-size: 1.02rem;
  font-weight: 950;
}

.stock-journey-timing-factor.is-score-10,
.stock-journey-timing-factor.is-score-9,
.stock-journey-timing-factor.is-score-8,
.stock-journey-timing-factor.is-score-7 {
  border-color: rgba(16, 163, 127, 0.28);
  background:
    radial-gradient(circle at 90% 10%, rgba(16, 163, 127, 0.13), transparent 34%),
    linear-gradient(180deg, rgba(238, 252, 245, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-factor.is-score-10 strong,
.stock-journey-timing-factor.is-score-9 strong,
.stock-journey-timing-factor.is-score-8 strong,
.stock-journey-timing-factor.is-score-7 strong {
  border-color: rgba(16, 163, 127, 0.24);
  background: #e9f9f2;
  color: #08745e;
}

.stock-journey-timing-factor.is-score-6,
.stock-journey-timing-factor.is-score-5 {
  border-color: rgba(232, 170, 54, 0.34);
  background:
    radial-gradient(circle at 90% 10%, rgba(232, 170, 54, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255, 249, 226, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-factor.is-score-6 strong,
.stock-journey-timing-factor.is-score-5 strong {
  border-color: rgba(232, 170, 54, 0.3);
  background: #fff8df;
  color: #8a5d00;
}

.stock-journey-timing-factor.is-score-4,
.stock-journey-timing-factor.is-score-3,
.stock-journey-timing-factor.is-score-2,
.stock-journey-timing-factor.is-score-1 {
  border-color: rgba(155, 31, 31, 0.3);
  background:
    radial-gradient(circle at 90% 10%, rgba(155, 31, 31, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255, 240, 237, 0.98), rgba(255, 255, 255, 0.9));
}

.stock-journey-timing-factor.is-score-4 strong,
.stock-journey-timing-factor.is-score-3 strong,
.stock-journey-timing-factor.is-score-2 strong,
.stock-journey-timing-factor.is-score-1 strong {
  border-color: rgba(155, 31, 31, 0.24);
  background: #fff0ed;
  color: #9b1f1f;
}

.stock-journey-timing-factor.is-strongest,
.stock-journey-timing-factor.is-weakest {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 0 0 1px rgba(200, 149, 31, 0.16),
    0 12px 24px rgba(10, 64, 49, 0.08);
}

.stock-journey-tension-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.stock-journey-tension-card {
  display: grid;
  gap: 12px;
  min-height: 160px;
  padding: 14px;
}

.stock-journey-tension-card.is-active {
  border-color: rgba(200, 149, 31, 0.32);
  background:
    radial-gradient(circle at 52% 8%, rgba(232, 170, 54, 0.15), transparent 34%),
    linear-gradient(180deg, rgba(255, 252, 240, 0.96), rgba(250, 250, 247, 0.9));
}

.stock-journey-tension-poles {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.stock-journey-tension-poles span {
  display: grid;
  gap: 2px;
}

.stock-journey-tension-poles span:last-child {
  text-align: right;
}

.stock-journey-tension-poles b {
  color: #5d7168;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-journey-tension-poles strong {
  color: #063f34;
  font-size: 1.5rem;
  line-height: 1;
}

.stock-journey-tension-poles em {
  border: 1px solid rgba(10, 92, 76, 0.13);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  padding: 5px 8px;
  color: #40554d;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 950;
}

.stock-journey-tension-track {
  position: relative;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(10, 64, 49, 0.08);
}

.stock-journey-tension-track i {
  position: absolute;
  top: 0;
  bottom: 0;
}

.stock-journey-tension-track .is-left {
  right: 50%;
  background: linear-gradient(90deg, rgba(13, 116, 92, 0.16), rgba(13, 116, 92, 0.78));
}

.stock-journey-tension-track .is-right {
  left: 50%;
  background: linear-gradient(90deg, rgba(200, 149, 31, 0.78), rgba(200, 149, 31, 0.16));
}

.stock-journey-tension-track b {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  border: 3px solid #ffffff;
  border-radius: 999px;
  background: #063f34;
  box-shadow: 0 8px 18px rgba(10, 64, 49, 0.2);
  transform: translate(-50%, -50%);
}

.stock-journey-slide.is-timing-tensions-slide {
  grid-template-columns: 1fr;
  row-gap: 12px;
  align-items: stretch;
  padding: 22px;
}

.stock-journey-slide.is-timing-tensions-slide .stock-journey-module-copy {
  gap: 10px;
}

.stock-journey-slide.is-timing-tensions-slide .stock-journey-module-plaque,
.stock-journey-slide.is-timing-tensions-slide .stock-journey-score-summary {
  max-width: none;
}

.stock-journey-slide.is-timing-tensions-slide .stock-journey-module-plaque {
  gap: 10px;
  padding: 16px 22px 18px;
}

.stock-journey-slide.is-timing-tensions-slide .stock-journey-module-plaque .stock-journey-score-headline {
  max-width: 1120px;
  font-size: clamp(3.2rem, 5.6vw, 5.4rem);
  line-height: 1.02;
}

.stock-journey-tension-basis-box {
  max-width: none;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
  margin: 0;
  padding: 13px 16px;
  color: #40554d;
  font-size: 1.02rem;
  font-weight: 780;
  line-height: 1.3;
}

.stock-journey-tension-grid.is-v3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: none;
}

.stock-journey-tension-v3-card {
  position: relative;
  align-content: start;
  min-height: 274px;
  border-radius: 10px;
  padding: 14px;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.stock-journey-tension-v3-card:hover,
.stock-journey-tension-v3-card.is-active {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 14px 28px rgba(10, 64, 49, 0.12);
}

.stock-journey-tension-v3-card .timing-tension-duel-head {
  gap: 8px;
}

.stock-journey-tension-v3-card .timing-tension-duel-head span {
  max-width: none;
  font-size: 0.82rem;
}

.stock-journey-tension-v3-card .stock-journey-tension-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: none;
}

.stock-journey-tension-v3-card .stock-journey-tension-title > span {
  flex-basis: 100%;
  color: #064f42;
  font-size: 0.84rem;
  font-weight: 950;
  line-height: 1.12;
}

.stock-journey-tension-v3-card .timing-tension-duel-head small {
  max-width: 48%;
  padding: 5px 7px;
  font-size: 0.64rem;
  line-height: 1.12;
}

.stock-journey-tension-v3-card .timing-dynamic-inline-note {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  max-width: calc(100% - 92px);
  overflow: hidden;
  border: 1px solid rgba(201, 147, 34, 0.28);
  border-radius: 999px;
  background: rgba(255, 247, 223, 0.78);
  color: #7d5a07;
  padding: 3px 7px;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-journey-tension-v3-card > .stock-journey-tension-result-prompt {
  display: grid;
  align-items: center;
  justify-content: center;
  place-items: center;
  min-height: 92px;
  margin-top: 10px;
  border: 1px dashed rgba(10, 92, 76, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.6);
  transition: opacity 220ms ease, transform 220ms ease;
}

.stock-journey-tension-v3-card > .stock-journey-tension-result-prompt span {
  justify-self: center;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border: 1px solid rgba(10, 92, 76, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #064f42;
  padding: 8px 14px;
  font-size: 0.82rem;
  font-weight: 950;
  line-height: 1;
}

.stock-journey-tension-v3-card > .timing-force-duel {
  display: none;
  grid-template-columns: 1fr;
  grid-template-areas: "track";
  gap: 0;
  margin-top: 20px;
}

.stock-journey-tension-v3-card.is-result-visible .stock-journey-tension-result-prompt {
  position: absolute;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
}

.stock-journey-tension-v3-card.is-result-visible > .timing-force-duel {
  display: grid;
  min-height: 112px;
}

.stock-journey-tension-v3-card .timing-force-track {
  grid-area: track;
  height: 90px;
}

.stock-journey-tension-v3-card .timing-force-track-label {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  box-sizing: border-box;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 2px;
  width: var(--left-share);
  min-width: 0;
  max-width: 100%;
  padding: 0 12px;
  overflow-wrap: anywhere;
  color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  text-align: center;
  transform: none;
}

.stock-journey-tension-v3-card .timing-force-track-label.is-left {
  left: 0;
  text-align: center;
}

.stock-journey-tension-v3-card .timing-force-track-label.is-right {
  right: 0;
  width: var(--right-share);
  color: rgba(6, 63, 52, 0.88);
  text-align: center;
}

.stock-journey-tension-v3-card .timing-force-track-label small {
  color: currentColor;
  font-size: clamp(0.6rem, 0.72vw, 0.74rem);
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.stock-journey-tension-v3-card .timing-force-track-label strong {
  color: currentColor;
  font-size: clamp(1.42rem, 2.1vw, 1.95rem);
  font-weight: 950;
  line-height: 0.9;
}

.stock-journey-tension-v3-card .timing-force-track-label em {
  color: currentColor;
  font-size: clamp(0.66rem, 0.8vw, 0.84rem);
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.stock-journey-tension-v3-card .timing-force-segment {
  animation: none;
  transform: scaleX(0);
}

.stock-journey-tension-v3-card.is-result-visible .timing-force-segment.is-left {
  animation: timingForceBuild var(--left-duration, 2.7s) cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.stock-journey-tension-v3-card.is-result-visible .timing-force-segment.is-right {
  animation: timingForceBuild var(--right-duration, 2.7s) cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.stock-journey-tension-v3-card .timing-force-track-label,
.stock-journey-tension-v3-card .timing-tension-interpretation {
  opacity: 0;
}

.stock-journey-tension-v3-card.is-result-visible .timing-force-track-label {
  animation: stockJourneyTensionValuesIn 360ms ease forwards;
  animation-delay: 2.9s;
}

.stock-journey-tension-v3-card .timing-force-duel.is-missing .timing-force-track-label {
  display: none;
}

.stock-journey-tension-v3-card .timing-tension-interpretation {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  max-height: 0;
  margin-top: 0;
  font-size: 0.8rem;
  font-weight: 720;
}

.stock-journey-tension-v3-card.is-result-complete .timing-tension-interpretation {
  max-height: 4.4em;
  margin-top: 8px;
  animation: stockJourneyTensionValuesIn 360ms ease forwards;
}

@keyframes stockJourneyTensionValuesIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.stock-journey-sis-radar-empty p {
  margin: 0;
  color: #51635b;
  font-weight: 760;
  text-align: center;
}

.stock-journey-statement-mark span {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 900;
}

.stock-journey-statement-mark strong,
.stock-journey-hero-score strong {
  color: var(--brand-dark);
  font-size: clamp(4rem, 10vw, 8rem);
  line-height: 1;
}

.stock-journey-hero-score > span {
  display: block;
  width: 70%;
  max-width: 280px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand), #1971bd);
}

.stock-journey-score-grid,
.stock-journey-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.stock-journey-score-grid.is-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stock-journey-metric,
.stock-journey-card-grid article {
  display: grid;
  gap: 10px;
  min-height: 126px;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.84);
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.stock-journey-metric strong {
  color: #092b24;
  font-size: 2.1rem;
  line-height: 1;
}

.stock-journey-metric > span {
  display: block;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.72;
}

.stock-journey-metric.is-blue,
.stock-journey-highlight.is-blue {
  border-color: rgba(25, 113, 189, 0.36);
  color: #1971bd;
}

.stock-journey-metric.is-green,
.stock-journey-highlight.is-green {
  border-color: rgba(21, 161, 93, 0.34);
  color: #128353;
}

.stock-journey-metric.is-yellow,
.stock-journey-highlight.is-yellow {
  border-color: rgba(206, 154, 35, 0.38);
  color: #9c6a00;
}

.stock-journey-metric.is-orange,
.stock-journey-highlight.is-orange {
  border-color: rgba(232, 119, 34, 0.42);
  color: #b45613;
}

.stock-journey-metric.is-red,
.stock-journey-highlight.is-red {
  border-color: rgba(155, 31, 31, 0.42);
  color: #9b1f1f;
}

.stock-journey-inline-flip-grid,
.stock-journey-flip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 860px;
}

.stock-journey-flip-grid {
  align-self: stretch;
  grid-template-columns: minmax(0, 1fr);
}

.stock-journey-flip-card {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 154px;
  border: 0;
  background: transparent;
  padding: 0;
  color: #092b24;
  cursor: pointer;
  perspective: 1100px;
  text-align: left;
}

.stock-journey-flip-card.is-small {
  min-height: 112px;
}

.stock-journey-opening-card-flip {
  min-height: 176px;
}

.stock-journey-score-card-flip {
  min-height: 210px;
}

.stock-journey-fis-card-flip {
  min-height: 250px;
}

.stock-journey-sis-card-flip {
  min-height: 420px;
}

.stock-journey-phase-card-flip {
  min-height: 350px;
}

.stock-journey-rc-card-flip {
  min-height: 300px;
}

.stock-journey-flip-card.is-hero,
.stock-journey-flip-card.stock-journey-opening-mark {
  min-height: 320px;
}

.stock-journey-flip-card.stock-journey-opening-mark {
  display: block;
  box-shadow: none;
}

.stock-journey-flip-inner {
  position: absolute;
  inset: 0;
  display: block;
  border-radius: 12px;
  transform-style: preserve-3d;
  transition: transform 700ms cubic-bezier(0.2, 0.78, 0.24, 1);
  will-change: transform;
}

.stock-journey-flip-card.is-revealed .stock-journey-flip-inner {
  transform: rotateY(180deg);
}

.stock-journey-flip-face {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  gap: 9px;
  overflow: hidden;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 12px;
  background:
    radial-gradient(circle at 85% 12%, rgba(15, 122, 99, 0.08), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 247, 0.96));
  padding: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 12px 28px rgba(10, 64, 49, 0.1);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.stock-journey-flip-front {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  text-align: center;
  transform: rotateY(0deg);
}

.stock-journey-flip-symbol {
  color: var(--brand-dark);
  font-size: clamp(2rem, 5vw, 3.8rem);
  font-weight: 950;
  line-height: 1;
}

.stock-journey-flip-front-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.stock-journey-flip-back {
  transform: rotateY(180deg);
}

.stock-journey-flip-face small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.stock-journey-flip-face strong {
  color: var(--brand-dark);
  font-size: 2.1rem;
  line-height: 1;
}

.stock-journey-flip-face span {
  color: #3d534b;
  font-size: 1rem;
  font-weight: 760;
  line-height: 1.38;
}

.stock-journey-flip-face em {
  color: #66786f;
  font-size: 0.84rem;
  font-style: normal;
  font-weight: 820;
}

.stock-journey-flip-card.is-small .stock-journey-flip-face {
  padding: 12px;
}

.stock-journey-flip-card.is-small .stock-journey-flip-face strong {
  font-size: 1.55rem;
}

.stock-journey-opening-card-flip .stock-journey-flip-front {
  grid-template-columns: 96px minmax(0, 1fr);
  justify-items: start;
  padding: 18px 24px;
  text-align: left;
}

.stock-journey-opening-card-flip .stock-journey-flip-symbol {
  --question-color: #07513f;
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.92), transparent 42%),
    linear-gradient(180deg, rgba(239, 248, 244, 0.94), rgba(255, 255, 255, 0.88));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 18px 30px rgba(10, 64, 49, 0.17),
    0 0 0 8px rgba(15, 122, 99, 0.045);
  color: rgba(7, 81, 63, 0.28);
  font-size: 3rem;
  text-shadow: 0 12px 20px rgba(10, 64, 49, 0.16);
  -webkit-text-stroke: 1px rgba(7, 81, 63, 0.32);
}

.stock-journey-opening-card-flip .stock-journey-flip-symbol::after {
  content: "?";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--question-color);
  clip-path: inset(0 0 100% 0);
  animation: stockJourneyQuestionBuild 2600ms ease-in-out infinite;
}

.stock-journey-opening-card-flip .stock-journey-flip-front small {
  color: var(--brand-dark);
  font-size: 0.92rem;
}

.stock-journey-opening-card-flip .stock-journey-flip-front em {
  font-size: 0.96rem;
}

.stock-journey-opening-card-flip .stock-journey-flip-back {
  align-content: start;
  padding: 15px 20px 20px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 16px 34px rgba(10, 64, 49, 0.16);
}

.stock-journey-opening-card-flip .stock-journey-flip-back span {
  color: #344d43;
  font-size: 1.08rem;
  font-weight: 520;
  line-height: 1.3;
}

.stock-journey-score-card-flip .stock-journey-flip-back,
.stock-journey-fis-card-flip .stock-journey-flip-back {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "label score"
    "text text";
  align-content: start;
  align-items: start;
  gap: 10px 14px;
  padding: 18px 20px;
}

.stock-journey-score-card-flip .stock-journey-flip-back small,
.stock-journey-fis-card-flip .stock-journey-flip-back small {
  grid-area: label;
  align-self: start;
  max-width: calc(100% - 8px);
  color: #23483d;
  font-size: 0.86rem;
  line-height: 1.14;
}

.stock-journey-score-card-flip .stock-journey-flip-back strong,
.stock-journey-fis-card-flip .stock-journey-flip-back strong {
  grid-area: score;
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(15, 122, 99, 0.22);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.96), transparent 42%),
    rgba(239, 248, 244, 0.96);
  color: var(--brand-dark);
  font-size: 1.18rem;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 10px 22px rgba(10, 64, 49, 0.12);
}

.stock-journey-score-card-flip.is-blue .stock-journey-flip-back strong,
.stock-journey-fis-card-flip.is-blue .stock-journey-flip-back strong {
  border-color: rgba(25, 113, 189, 0.28);
  background: #eef7ff;
  color: #155d9b;
}

.stock-journey-score-card-flip.is-green .stock-journey-flip-back strong,
.stock-journey-fis-card-flip.is-green .stock-journey-flip-back strong {
  border-color: rgba(16, 163, 127, 0.28);
  background: #ebf9f3;
  color: #08745e;
}

.stock-journey-score-card-flip.is-yellow .stock-journey-flip-back strong,
.stock-journey-score-card-flip.is-orange .stock-journey-flip-back strong,
.stock-journey-fis-card-flip.is-yellow .stock-journey-flip-back strong,
.stock-journey-fis-card-flip.is-orange .stock-journey-flip-back strong {
  border-color: rgba(232, 170, 54, 0.34);
  background: #fff8df;
  color: #8a5d00;
}

.stock-journey-score-card-flip.is-red .stock-journey-flip-back strong,
.stock-journey-fis-card-flip.is-red .stock-journey-flip-back strong {
  border-color: rgba(155, 31, 31, 0.3);
  background: #fff0ed;
  color: #9b1f1f;
}

.stock-journey-score-card-flip .stock-journey-flip-back span,
.stock-journey-fis-card-flip .stock-journey-flip-back span {
  grid-area: text;
  max-width: 100%;
  font-size: 1rem;
  line-height: 1.32;
}

.stock-journey-score-card-flip .stock-journey-flip-back em,
.stock-journey-fis-card-flip .stock-journey-flip-back em {
  display: none;
}

.stock-journey-flip-card.is-hero .stock-journey-flip-face,
.stock-journey-flip-card.stock-journey-opening-mark .stock-journey-flip-face {
  place-items: center;
  padding: 24px;
  text-align: center;
}

.stock-journey-flip-card.is-hero .stock-journey-flip-face strong,
.stock-journey-flip-card.stock-journey-opening-mark .stock-journey-flip-face strong {
  font-size: clamp(4.5rem, 7rem, 8.5rem);
}

.stock-journey-flip-card.is-blue .stock-journey-flip-face {
  border-color: rgba(25, 113, 189, 0.32);
  background:
    radial-gradient(circle at 85% 12%, rgba(25, 113, 189, 0.12), transparent 38%),
    linear-gradient(180deg, #fbfdff, #edf7fc);
}

.stock-journey-flip-card.is-green .stock-journey-flip-face {
  border-color: rgba(21, 161, 93, 0.28);
  background:
    radial-gradient(circle at 85% 12%, rgba(21, 161, 93, 0.1), transparent 38%),
    linear-gradient(180deg, #fbfffd, #eef9f3);
}

.stock-journey-flip-card.is-yellow .stock-journey-flip-face {
  border-color: rgba(206, 154, 35, 0.34);
  background:
    radial-gradient(circle at 85% 12%, rgba(206, 154, 35, 0.11), transparent 38%),
    linear-gradient(180deg, #fffef9, #fbf6e7);
}

.stock-journey-flip-card.is-orange .stock-journey-flip-face {
  border-color: rgba(232, 119, 34, 0.36);
  background:
    radial-gradient(circle at 85% 12%, rgba(232, 119, 34, 0.11), transparent 38%),
    linear-gradient(180deg, #fffdf9, #fbf0e8);
}

.stock-journey-flip-card.is-red .stock-journey-flip-face {
  border-color: rgba(155, 31, 31, 0.34);
  background:
    radial-gradient(circle at 85% 12%, rgba(155, 31, 31, 0.11), transparent 38%),
    linear-gradient(180deg, #fffafa, #f9eeee);
}

.stock-journey-flip-card:focus-visible {
  outline: 3px solid rgba(25, 113, 189, 0.28);
  outline-offset: 4px;
}

.stock-journey-nav {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 66px;
  padding-top: 16px;
}

.stock-journey-nav > div {
  display: grid;
  gap: 2px;
  min-width: 0;
  text-align: center;
}

.stock-journey-nav small {
  color: var(--muted);
  font-weight: 750;
}

.stock-journey-nav strong {
  color: var(--brand-dark);
  font-size: 0.96rem;
}

.stock-journey-builder {
  display: grid;
  grid-template-columns: 280px minmax(360px, 0.95fr) minmax(360px, 1fr);
  gap: 14px;
  min-height: 0;
  padding: 14px;
}

.stock-journey-builder-list,
.stock-journey-builder-editor,
.stock-journey-builder-preview {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  border: 1px solid rgba(15, 122, 99, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.76);
  padding: 14px;
}

.stock-journey-builder-actions,
.stock-journey-editor-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.stock-journey-slide-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.stock-journey-slide-list button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 8px;
  align-items: center;
  border: 1px solid rgba(15, 122, 99, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  padding: 10px;
  text-align: left;
  cursor: pointer;
}

.stock-journey-slide-list button.is-active {
  border-color: var(--brand);
  background: #eef8f4;
}

.stock-journey-slide-list button.is-disabled {
  opacity: 0.56;
}

.stock-journey-slide-list strong,
.stock-journey-slide-list span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-journey-slide-list span {
  grid-column: 2;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
}

.stock-journey-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.stock-journey-editor-grid label:has(textarea),
.stock-journey-token-panel,
.stock-journey-editor-highlight {
  grid-column: 1 / -1;
}

.stock-journey-enabled {
  display: inline-flex;
  grid-auto-flow: column;
  align-items: center;
  gap: 8px;
}

.stock-journey-enabled input {
  width: auto;
}

.stock-journey-token-panel,
.stock-journey-editor-highlight {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  border-top: 1px solid rgba(15, 122, 99, 0.12);
  padding-top: 14px;
}

.stock-journey-token-panel h4,
.stock-journey-editor-highlight h4,
.stock-journey-builder-preview h3 {
  margin: 0;
  color: var(--brand-dark);
}

.stock-journey-token-panel p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 0;
}

.stock-journey-editor-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.stock-journey-opening-info-editor {
  display: grid;
  gap: 10px;
}

.stock-journey-opening-info-editor article {
  display: grid;
  gap: 7px;
  border: 1px solid rgba(15, 122, 99, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
  padding: 10px;
}

.stock-journey-token-panel code {
  border: 1px solid rgba(15, 122, 99, 0.14);
  border-radius: 999px;
  background: #f5faf7;
  padding: 4px 7px;
  color: var(--brand-dark);
  font-size: 0.76rem;
}

.stock-journey-builder-preview .stock-journey-slide.is-preview {
  grid-template-columns: 1fr;
  min-height: 560px;
  margin-top: 12px;
  padding: 24px;
}

.stock-journey-builder-preview .stock-journey-slide.is-preview h2 {
  font-size: clamp(1.9rem, 3vw, 3.2rem);
}

.stock-journey-slide.is-calm .stock-journey-copy,
.stock-journey-slide.is-calm .stock-journey-visual {
  animation: stockJourneyCalmIn 360ms ease both;
}

.stock-journey-slide.is-calm .stock-journey-visual {
  animation-delay: 80ms;
}

.stock-journey-slide.is-reveal .stock-journey-copy > *,
.stock-journey-slide.is-reveal .stock-journey-visual {
  animation: stockJourneyRevealIn 520ms ease both;
}

.stock-journey-slide.is-reveal .stock-journey-copy > :nth-child(2) {
  animation-delay: 70ms;
}

.stock-journey-slide.is-reveal .stock-journey-copy > :nth-child(3) {
  animation-delay: 130ms;
}

.stock-journey-slide.is-reveal .stock-journey-copy > :nth-child(4) {
  animation-delay: 190ms;
}

.stock-journey-slide.is-reveal .stock-journey-copy > :nth-child(5) {
  animation-delay: 250ms;
}

.stock-journey-slide.is-reveal .stock-journey-visual {
  animation-delay: 180ms;
}

.stock-journey-slide.is-focus .stock-journey-copy {
  animation: stockJourneyFocusCopy 420ms ease both;
}

.stock-journey-slide.is-focus .stock-journey-visual,
.stock-journey-slide.is-focus .stock-journey-highlight,
.stock-journey-slide.is-focus .stock-journey-hero-score {
  animation: stockJourneyFocusVisual 620ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

.stock-journey-slide.is-dramatic {
  animation: stockJourneyDramaticFrame 680ms ease both;
}

.stock-journey-slide.is-dramatic .stock-journey-copy h2,
.stock-journey-slide.is-dramatic .stock-journey-visual {
  animation: stockJourneyDramaticIn 760ms cubic-bezier(0.16, 0.8, 0.2, 1) both;
}

.stock-journey-slide.is-dramatic .stock-journey-visual {
  animation-delay: 90ms;
}

@keyframes stockJourneyCalmIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes stockJourneyRevealIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes stockJourneyFocusCopy {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes stockJourneyFocusVisual {
  0% {
    opacity: 0;
    transform: scale(0.96);
    box-shadow: 0 0 0 rgba(25, 113, 189, 0);
  }
  70% {
    opacity: 1;
    transform: scale(1.015);
    box-shadow: 0 18px 42px rgba(25, 113, 189, 0.16);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes stockJourneyDramaticFrame {
  0% {
    border-color: rgba(25, 113, 189, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 46px rgba(12, 64, 49, 0.08);
  }
  55% {
    border-color: rgba(25, 113, 189, 0.36);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 22px 56px rgba(25, 113, 189, 0.2);
  }
  100% {
    border-color: rgba(15, 122, 99, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 46px rgba(12, 64, 49, 0.1);
  }
}

@keyframes stockJourneyDramaticIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.stock-journey-slide.is-reveal .stock-journey-opening-kicker,
.stock-journey-slide.is-reveal .stock-journey-opening-presenter,
.stock-journey-slide.is-reveal .stock-journey-title-plaque,
.stock-journey-slide.is-reveal .stock-journey-opening-cards,
.stock-journey-slide.is-reveal .stock-journey-opening-mark {
  animation: stockJourneyCoverReveal 520ms ease both;
}

.stock-journey-slide.is-reveal .stock-journey-opening-presenter {
  animation-delay: 60ms;
}

.stock-journey-slide.is-reveal .stock-journey-title-plaque {
  animation-delay: 110ms;
}

.stock-journey-slide.is-reveal .stock-journey-opening-cards {
  animation-delay: 170ms;
}

.stock-journey-slide.is-reveal .stock-journey-opening-mark {
  animation-delay: 220ms;
}

@keyframes stockJourneyCoverReveal {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes stockJourneyPlaqueShine {
  0%,
  58% {
    transform: translateX(0) skewX(-18deg);
    opacity: 0;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translateX(430%) skewX(-18deg);
    opacity: 0;
  }
}

@property --journey-ring-progress {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}

@keyframes stockJourneyScoreRingBuild {
  from {
    --journey-ring-progress: 0%;
  }
  to {
    --journey-ring-progress: var(--journey-score-fill);
  }
}

@keyframes stockJourneyRadarFade {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes stockJourneyRadarDraw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes stockJourneyRadarArea {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes stockJourneyRadarPoint {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes stockJourneyRadarLabel {
  to {
    opacity: 1;
  }
}

@keyframes stockJourneyQuestionBuild {
  0% {
    clip-path: inset(0 0 100% 0);
    transform: translateY(-2px);
  }
  58%,
  100% {
    clip-path: inset(0 0 0 0);
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .stock-journey-slide.is-calm .stock-journey-copy,
  .stock-journey-slide.is-calm .stock-journey-visual,
  .stock-journey-slide.is-reveal .stock-journey-copy > *,
  .stock-journey-slide.is-reveal .stock-journey-visual,
  .stock-journey-slide.is-focus .stock-journey-copy,
  .stock-journey-slide.is-focus .stock-journey-visual,
  .stock-journey-slide.is-focus .stock-journey-highlight,
  .stock-journey-slide.is-focus .stock-journey-hero-score,
  .stock-journey-slide.is-dramatic,
  .stock-journey-slide.is-dramatic .stock-journey-copy h2,
  .stock-journey-slide.is-dramatic .stock-journey-visual,
  .stock-journey-slide.is-reveal .stock-journey-opening-kicker,
  .stock-journey-slide.is-reveal .stock-journey-opening-presenter,
  .stock-journey-slide.is-reveal .stock-journey-title-plaque,
  .stock-journey-slide.is-reveal .stock-journey-opening-cards,
  .stock-journey-slide.is-reveal .stock-journey-opening-mark,
  .stock-journey-title-plaque::after,
  .stock-journey-module-plaque::after,
  .stock-journey-score-ring,
  .stock-journey-sis-radar-card .scenario-radar-ring,
  .stock-journey-sis-radar-card .scenario-radar-axis,
  .stock-journey-sis-radar-card .scenario-radar-value-line,
  .stock-journey-sis-radar-card .scenario-radar-area,
  .stock-journey-sis-radar-card .scenario-radar-point,
  .stock-journey-sis-radar-card .scenario-radar-label,
  .stock-journey-opening-card-flip .stock-journey-flip-symbol::after {
    animation: none;
  }

  .stock-journey-score-ring {
    --journey-ring-progress: var(--journey-score-fill);
  }

  .stock-journey-sis-radar-card .scenario-radar-ring,
  .stock-journey-sis-radar-card .scenario-radar-area,
  .stock-journey-sis-radar-card .scenario-radar-point,
  .stock-journey-sis-radar-card .scenario-radar-label {
    opacity: 1;
    transform: none;
  }

  .stock-journey-sis-radar-card .scenario-radar-axis,
  .stock-journey-sis-radar-card .scenario-radar-value-line {
    stroke-dashoffset: 0;
  }

  .stock-journey-opening-card-flip .stock-journey-flip-symbol::after {
    clip-path: inset(0 0 0 0);
  }

  .stock-journey-flip-inner,
  .stock-journey-flip-card.is-revealed .stock-journey-flip-inner {
    transition: none;
    transform: none;
  }

  .stock-journey-flip-back {
    display: none;
    transform: none;
  }

  .stock-journey-flip-card.is-revealed .stock-journey-flip-front {
    display: none;
  }

  .stock-journey-flip-card.is-revealed .stock-journey-flip-back {
    display: grid;
  }
}

@media (max-width: 980px) {
  .stock-journey-overlay {
    padding: 8px;
  }

  .stock-journey-slide,
  .stock-journey-builder {
    grid-template-columns: 1fr;
  }

  .stock-journey-nav {
    grid-template-columns: 1fr;
  }

  .stock-journey-score-grid,
  .stock-journey-score-grid.is-strip,
  .stock-journey-inline-flip-grid,
  .stock-journey-depot-fit-components,
  .stock-journey-rogue-grid,
  .stock-journey-overall-card-grid,
  .stock-journey-predicate-page,
  .stock-journey-predicate-page.is-count-1,
  .stock-journey-predicate-page.is-count-2,
  .stock-journey-predicate-page.is-count-3,
  .stock-journey-predicate-page.is-count-4,
  .stock-journey-predicate-page.is-count-5,
  .stock-journey-predicate-page.is-count-6 {
    grid-template-columns: 1fr;
  }

  .stock-journey-predicate-page.is-count-5 .stock-journey-predicate-award,
  .stock-journey-predicate-page.is-count-5 .stock-journey-predicate-award:nth-child(4),
  .stock-journey-predicate-page.is-count-5 .stock-journey-predicate-award:nth-child(5),
  .stock-journey-predicate-page.is-count-6 .stock-journey-predicate-award {
    grid-column: auto;
  }

  .stock-journey-opening-cards,
  .stock-journey-flip-grid {
    grid-template-columns: 1fr;
  }

  .stock-journey-opening-basics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stock-journey-opening-mark,
  .stock-journey-flip-card.is-hero,
  .stock-journey-flip-card.stock-journey-opening-mark {
    min-height: 220px;
  }
}

.chart-link:hover {
  border-color: var(--brand);
  background: #edf4f1;
}

.inline-basics-button {
  background: transparent;
  cursor: pointer;
  font-family: inherit;
}

.security-subline {
  color: var(--muted);
  font-size: 0.82rem;
}

.gain {
  color: var(--brand-dark);
  font-weight: 800;
}

.loss {
  color: var(--danger);
  font-weight: 800;
}

.live-change {
  position: relative;
  border-radius: 8px;
  animation: jeff-value-pulse 1150ms ease both;
}

.live-change.is-up {
  color: var(--brand-dark);
  background: linear-gradient(90deg, rgba(19, 131, 101, 0.12), rgba(19, 131, 101, 0.03));
}

.live-change.is-down {
  color: var(--danger);
  background: linear-gradient(90deg, rgba(176, 52, 39, 0.13), rgba(176, 52, 39, 0.03));
}

.is-data-refreshing .dashboard-card,
.is-data-refreshing .dashboard-period {
  animation: jeff-card-refresh 780ms ease both;
}

.is-loading {
  cursor: wait;
  opacity: 0.78;
}

.is-loading::after {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  margin-left: 8px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  vertical-align: -0.1em;
  animation: jeff-spin 780ms linear infinite;
}

@keyframes jeff-card-refresh {
  0% {
    transform: translateY(0);
    box-shadow: none;
  }
  35% {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(15, 125, 94, 0.12);
  }
  100% {
    transform: translateY(0);
    box-shadow: none;
  }
}

@keyframes lazy-detail-progress {
  0% {
    transform: translateX(-85%);
    width: 34%;
  }
  50% {
    width: 54%;
  }
  100% {
    transform: translateX(235%);
    width: 34%;
  }
}

@keyframes jeff-row-refresh {
  0% {
    background: #fbfdfb;
    box-shadow: inset 0 0 0 rgba(15, 125, 94, 0);
  }
  18% {
    background: #d3ecdf;
    box-shadow: inset 14px 0 0 rgba(15, 125, 94, 0.86);
  }
  72% {
    background: #dff3e9;
    box-shadow: inset 11px 0 0 rgba(15, 125, 94, 0.68);
  }
  100% {
    background: #e6f6ee;
    box-shadow: inset 9px 0 0 rgba(15, 125, 94, 0.54);
  }
}

@keyframes jeff-value-pulse {
  0% {
    transform: scale(1);
    box-shadow: inset 0 0 0 rgba(15, 125, 94, 0);
  }
  28% {
    transform: scale(1.015);
    box-shadow: inset 0 0 0 1px rgba(15, 125, 94, 0.2);
  }
  100% {
    transform: scale(1);
    box-shadow: inset 0 0 0 rgba(15, 125, 94, 0);
  }
}

@keyframes jeff-bar-grow {
  from {
    transform: scaleX(0);
    opacity: 0.55;
  }
  to {
    transform: scaleX(1);
    opacity: 1;
  }
}

@keyframes jeff-line-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes jeff-spin {
  to {
    transform: rotate(360deg);
  }
}

.gain-loss-cell {
  display: inline-grid;
  justify-items: end;
  gap: 2px;
  min-width: 86px;
}

.gain-loss-cell .security-subline {
  font-weight: 800;
}

.gain-loss-cell.gain .security-subline {
  color: var(--brand-dark);
}

.gain-loss-cell.loss .security-subline {
  color: var(--danger);
}

.type-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #edf4f1;
  color: var(--brand-dark);
  font-size: 0.8rem;
  font-weight: 800;
}

.type-pill.sell {
  background: #fff5e7;
  color: #7b4b05;
}

.type-pill.dividend {
  background: #eef1fb;
  color: #364778;
}

.type-pill.custody_fee {
  background: #f4edf8;
  color: #684276;
}

.type-pill.other_fee {
  background: #f6f1e8;
  color: #6b4b17;
}

.type-pill.cfd_open_short,
.type-pill.cfd_close_short,
.type-pill.cfd_open_long,
.type-pill.cfd_close_long,
.type-pill.cfd_overnight_fee,
.type-pill.cfd_cash_adjustment {
  background: #edf0f9;
  color: #2c3f76;
}

.row-delete-button {
  min-height: 34px;
  padding: 0 10px;
  border-color: rgba(159, 45, 32, 0.26);
  background: #fff4f2;
  color: var(--danger);
  font-size: 0.82rem;
}

.watchlist-table .watchlist-inline-delete {
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0;
  border-radius: 999px;
  font-size: 0.78rem;
  line-height: 1;
}

.empty-state {
  margin: 18px 0 0;
  color: var(--muted);
}

.empty-state strong,
.empty-state span,
.empty-state small {
  display: block;
}

.empty-state strong {
  margin-bottom: 6px;
  color: var(--brand-dark);
  font-size: 1.02rem;
  font-weight: 900;
}

.empty-state span {
  max-width: 620px;
  line-height: 1.45;
}

.empty-state small {
  margin-top: 8px;
  color: #6f8179;
  font-weight: 750;
}

.summary-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin: 16px 0 24px;
}

.summary-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7faf8);
  padding: 14px;
}

button.summary-card {
  color: inherit;
  cursor: pointer;
  text-align: left;
}

button.summary-card:hover {
  border-color: rgba(15, 122, 99, 0.36);
  box-shadow: 0 8px 22px rgba(15, 122, 99, 0.08);
}

.scenario-prize-card.is-winner {
  border-color: rgba(21, 145, 95, 0.32);
  background: linear-gradient(180deg, rgba(21, 145, 95, 0.12), #ffffff);
}

.scenario-prize-card.is-winner strong {
  color: #0f7a63;
}

.scenario-prize-card.is-loser {
  border-color: rgba(127, 23, 20, 0.32);
  background: linear-gradient(180deg, rgba(211, 52, 40, 0.12), #ffffff);
}

.scenario-prize-card.is-loser strong {
  color: #7f1714;
}

.summary-card span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.summary-card strong {
  display: block;
  margin-top: 5px;
  font-size: 1.08rem;
}

.research-section-title {
  margin: 16px 0 8px;
  font-size: 0.95rem;
}

.ma200-sensor-grid,
.ma200-interpretation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.ma200-sensor-grid .summary-card,
.ma200-interpretation-grid .summary-card {
  padding: 10px 12px;
}

.ma200-interpretation-grid .summary-card.is-top {
  border-color: #8fb8ef;
  background: #eef5ff;
}

.ma200-interpretation-grid .summary-card.is-ok {
  border-color: #9ed8b4;
  background: #effaf3;
}

.ma200-interpretation-grid .summary-card.is-check {
  border-color: #e6c85f;
  background: #fff9df;
}

.ma200-interpretation-grid .summary-card.is-warning {
  border-color: #e7a05c;
  background: #fff3e8;
}

.ma200-interpretation-grid .summary-card.is-danger {
  border-color: #e89991;
  background: #fff0ee;
}

@media (max-width: 760px) {
  .ma200-sensor-grid,
  .ma200-interpretation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.depot-fit-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 12px;
}

.depot-fit-summary-grid .summary-card {
  padding: 10px 12px;
}

.depot-fit-detail-table table {
  table-layout: fixed;
  width: 100%;
}

.depot-fit-under-col {
  width: 265px;
}

.depot-fit-value-col {
  width: 86px;
}

.depot-fit-detail-table th,
.depot-fit-detail-table td {
  vertical-align: top;
}

.depot-fit-detail-table td:first-child .security-subline {
  white-space: normal;
  line-height: 1.25;
}

.ace-detail-table {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.ace-detail-table table {
  min-width: 0;
}

.ace-detail-table .depot-fit-under-col {
  width: 235px;
}

.ace-detail-table .depot-fit-value-col {
  width: 76px;
}

.ace-detail-table .ace-weight-col {
  width: 96px;
}

.ace-detail-table th,
.ace-detail-table td,
.ace-detail-table .security-subline,
.ace-explanation-cell {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.ace-detail-table th.num {
  white-space: nowrap;
}

.ace-input-lines {
  display: grid;
  gap: 2px;
  margin-top: 4px;
}

.ace-input-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 5px;
  align-items: baseline;
  max-width: 100%;
}

.ace-input-line strong {
  font-size: 0.95em;
  color: var(--ink);
}

.ace-input-line em {
  color: var(--muted);
  font-style: normal;
  white-space: nowrap;
}

.ace-rank-stack {
  display: grid;
  gap: 1px;
  line-height: 1.15;
}

.ace-rank-stack span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.ace-rank-stack strong {
  font-size: 1.02rem;
}

.ace-rank-stack strong + span {
  margin-top: 5px;
}

.ace-explanation-cell strong,
.ace-explanation-cell span,
.ace-explanation-cell small {
  display: block;
}

.ace-explanation-cell strong {
  margin-bottom: 3px;
}

.ace-explanation-cell span {
  line-height: 1.35;
}

.ace-explanation-cell small {
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.3;
}

@media (max-width: 760px) {
  .ace-detail-table .depot-fit-under-col {
    width: 150px;
  }

  .ace-detail-table .depot-fit-value-col {
    width: 58px;
  }
}

.learning-insight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin: 12px 0 18px;
}

.learning-options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 12px 0;
}

.learning-options-grid textarea {
  min-height: 160px;
}

.learning-insight-card {
  border: 1px solid rgba(15, 122, 99, 0.18);
  border-radius: 8px;
  background: #f6fbf8;
  padding: 12px;
}

.learning-insight-card span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.learning-insight-card strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
}

.learning-insight-card small,
.summary-card small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.learning-row-due {
  background: linear-gradient(90deg, rgba(206, 146, 43, 0.08), transparent 45%);
}

.scenario-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.scenario-card {
  display: grid;
  gap: 4px;
  justify-items: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.scenario-card.is-active {
  border-color: rgba(15, 122, 99, 0.5);
  background: #f2faf6;
  box-shadow: inset 0 0 0 1px rgba(15, 122, 99, 0.1);
}

.scenario-card span {
  font-weight: 900;
}

.scenario-card strong {
  color: var(--brand-dark);
  font-size: 1.25rem;
}

.scenario-card small,
.scenario-probability-warning {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.scenario-probability-warning {
  align-self: stretch;
  border: 1px solid rgba(206, 146, 43, 0.35);
  border-radius: 8px;
  background: rgba(206, 146, 43, 0.09);
  padding: 12px;
  color: #735117;
}

.scenario-form {
  margin: 18px 0 8px;
}

.scenario-form .is-readonly-entitlement {
  border-color: rgba(164, 190, 208, 0.62);
  background: rgba(244, 248, 250, 0.9);
  color: rgba(13, 41, 55, 0.82);
  cursor: default;
}

.scenario-entitlement-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(206, 146, 43, 0.34);
  border-radius: 8px;
  background: rgba(255, 248, 226, 0.72);
  padding: 8px 10px;
}

.scenario-entitlement-notice span {
  color: #785a16;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.scenario-entitlement-notice small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.35;
}

.scenario-upload-button.is-disabled {
  opacity: 0.58;
  cursor: not-allowed;
}

.scenario-briefing {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
  gap: 18px;
  margin: 14px 0;
  border: 1px solid rgba(15, 65, 49, 0.18);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(247, 250, 246, 0.96), rgba(236, 246, 240, 0.9)),
    repeating-linear-gradient(90deg, rgba(15, 65, 49, 0.06) 0 1px, transparent 1px 46px);
  padding: 18px;
  overflow: hidden;
}

.scenario-briefing-copy h3 {
  margin: 4px 0 8px;
  font-size: 1.45rem;
}

.scenario-briefing-copy p {
  max-width: 860px;
  margin: 0;
  color: #31483e;
  font-weight: 750;
  line-height: 1.45;
}

.section-kicker {
  color: var(--brand-dark);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.scenario-briefing-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(90px, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.scenario-briefing-metrics div,
.scenario-signal {
  border: 1px solid rgba(15, 122, 99, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 10px;
}

.scenario-briefing-metrics span,
.scenario-signal span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
}

.scenario-briefing-metrics strong {
  display: block;
  margin-top: 3px;
  color: var(--brand-dark);
  font-size: 1.1rem;
}

.scenario-signal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.scenario-signal p {
  margin-top: 5px;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 650;
}

.scenario-briefing-visual {
  position: relative;
  min-height: 260px;
  border: 1px solid rgba(245, 193, 92, 0.28);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(19, 48, 37, 0.95), rgba(49, 54, 30, 0.92)),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 42px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
  overflow: hidden;
}

.scenario-briefing-visual.has-image {
  background-position: center;
  background-size: cover;
  border-color: rgba(9, 73, 56, 0.28);
}

.scenario-briefing-visual.has-image::before,
.scenario-briefing-visual.has-image::after {
  display: none;
}

.scenario-briefing-visual::before,
.scenario-briefing-visual::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  height: 2px;
  border-radius: 999px;
  transform: rotate(-8deg);
}

.scenario-briefing-visual::before {
  top: 108px;
  background: linear-gradient(90deg, #f5c15c, #d09a31, #f5c15c);
  box-shadow: 0 0 10px rgba(245, 193, 92, 0.32);
}

.scenario-briefing-visual::after {
  top: 146px;
  background: linear-gradient(90deg, #8fcfc0, #c6efe5, #8fcfc0);
  transform: rotate(7deg);
}

.scenario-radar span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f5c15c;
  box-shadow: 0 0 12px rgba(245, 193, 92, 0.55);
}

.scenario-briefing-score {
  position: absolute;
  right: 18px;
  bottom: 16px;
  display: grid;
  grid-template-columns: auto auto;
  gap: 3px 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
  font-weight: 850;
  text-align: right;
}

.scenario-briefing-visual.has-image .scenario-briefing-score {
  right: 14px;
  bottom: 14px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(7, 18, 14, 0.58);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  color: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(4px);
}

.scenario-briefing-score strong {
  color: #f5c15c;
}

.scenario-editor-section {
  margin: 16px 0 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfb;
  padding: 0 12px;
}

.scenario-editor-section summary {
  cursor: pointer;
  color: var(--brand-dark);
  padding: 12px 0;
  font-weight: 900;
}

.scenario-report-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0 10px;
}

.scenario-report-header h3 {
  margin: 0;
}

.scenario-report-header p {
  margin: 4px 0 0;
  color: var(--muted);
}

.scenario-report-controls {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.scenario-report-scope,
.scenario-report-sortbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.scenario-report-scope .sort-header-button.is-active {
  border-color: rgba(15, 122, 99, 0.7);
  background: #e7f4ef;
  color: var(--brand-dark);
  box-shadow: inset 0 0 0 1px rgba(15, 122, 99, 0.12);
}

.scenario-report-sortbar .sort-header-button {
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  padding: 0 12px;
}

.scenario-report-grid {
  display: grid;
  gap: 10px;
}

.scenario-impact-card {
  border: 1px solid var(--line);
  border-left-width: 5px;
  border-radius: 10px;
  background: #ffffff;
  overflow: hidden;
}

.scenario-impact-card.is-strong-winner {
  border-left-color: #0b6f5a;
  background: linear-gradient(90deg, rgba(15, 122, 99, 0.08), #ffffff 38%);
}

.scenario-impact-card.is-winner {
  border-left-color: #5aa873;
  background: linear-gradient(90deg, rgba(90, 168, 115, 0.08), #ffffff 38%);
}

.scenario-impact-card.is-neutral {
  border-left-color: #9caaa2;
}

.scenario-impact-card.is-loser {
  border-left-color: #d08d35;
  background: linear-gradient(90deg, rgba(208, 141, 53, 0.08), #ffffff 38%);
}

.scenario-impact-card.is-strong-loser {
  border-left-color: #b54435;
  background: linear-gradient(90deg, rgba(181, 68, 53, 0.08), #ffffff 38%);
}

.scenario-impact-head {
  display: grid;
  grid-template-columns: 42px minmax(190px, 1.15fr) minmax(140px, 0.7fr) minmax(190px, 0.7fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px 10px;
}

.scenario-impact-icon {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #edf6f2;
  color: var(--brand-dark);
  font-size: 0.82rem;
  font-weight: 950;
}

.is-loser .scenario-impact-icon,
.is-strong-loser .scenario-impact-icon {
  background: #fff2ec;
  color: #9b382e;
}

.is-neutral .scenario-impact-icon {
  background: #f1f4f2;
  color: #5f6d66;
}

.scenario-impact-title strong,
.scenario-impact-facts strong {
  display: block;
  color: var(--ink);
  font-weight: 950;
}

.scenario-impact-title span,
.scenario-impact-facts span,
.scenario-impact-role span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.scenario-impact-role select {
  margin-top: 4px;
}

.scenario-comment {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border-top: 1px solid rgba(208, 220, 213, 0.78);
  background: rgba(246, 250, 247, 0.78);
  padding: 12px 14px;
}

.floyd-avatar {
  width: 38px;
  height: 38px;
  border: 2px solid #d3e2da;
  border-radius: 50%;
  object-fit: cover;
}

.floyd-avatar.is-happy {
  border-color: #0f7a63;
}

.floyd-avatar.is-sad {
  border-color: #b54435;
  filter: saturate(0.92);
}

.scenario-comment-topline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.scenario-comment-topline span,
.scenario-comment-topline small {
  border-radius: 999px;
  padding: 3px 8px;
  background: #e9f3ee;
  color: var(--brand-dark);
  font-size: 0.75rem;
  font-weight: 900;
}

.scenario-comment-topline small {
  background: #f1f4f2;
  color: var(--muted);
}

.scenario-comment p {
  margin: 7px 0 3px;
  color: var(--ink);
  font-weight: 750;
  line-height: 1.4;
}

.scenario-comment small {
  color: var(--muted);
  font-weight: 700;
}

.scenario-security-modal {
  width: min(1240px, calc(100vw - 48px));
}

.scenario-security-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
}

.scenario-security-main {
  min-width: 0;
}

.scenario-security-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.scenario-security-list {
  display: grid;
  gap: 10px;
}

.scenario-security-card {
  border: 1px solid var(--line);
  border-left-width: 5px;
  border-radius: 10px;
  background: #ffffff;
  padding: 12px;
}

.scenario-security-card.is-missing {
  border-left-color: #aab6af;
  background: #f8faf9;
}

.scenario-security-card.is-strong-winner {
  border-left-color: #2f80d1;
}

.scenario-security-card.is-winner {
  border-left-color: #15915f;
}

.scenario-security-card.is-neutral {
  border-left-color: #c79a22;
}

.scenario-security-card.is-loser {
  border-left-color: #d56f20;
}

.scenario-security-card.is-strong-loser {
  border-left-color: #7f1714;
}

.scenario-security-card-head {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.scenario-security-card-head .sis-manual-input {
  height: 36px;
  min-width: 54px;
  padding: 4px 6px;
  width: 54px;
}

.scenario-security-card-head strong {
  display: block;
  color: var(--ink);
  font-weight: 950;
}

.scenario-security-card-head span:not(.scenario-impact-icon):not(.scenario-impact-badge) {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.scenario-impact-badge {
  border-radius: 999px;
  background: #edf4f1;
  color: var(--brand-dark);
  padding: 5px 9px;
  font-size: 0.76rem;
  font-weight: 900;
}

.scenario-security-card.is-strong-winner .scenario-impact-icon,
.scenario-security-card.is-strong-winner .scenario-impact-badge {
  background: #eaf4ff;
  color: #2f6fa3;
}

.scenario-security-card.is-winner .scenario-impact-icon,
.scenario-security-card.is-winner .scenario-impact-badge {
  background: #e8f8ee;
  color: #0f7a63;
}

.scenario-security-card.is-neutral .scenario-impact-icon,
.scenario-security-card.is-neutral .scenario-impact-badge,
.scenario-security-card.is-missing .scenario-impact-icon,
.scenario-security-card.is-missing .scenario-impact-badge {
  background: #fff6d5;
  color: #80621a;
}

.scenario-security-card.is-loser .scenario-impact-icon,
.scenario-security-card.is-loser .scenario-impact-badge {
  background: #fff0e3;
  color: #b45f19;
}

.scenario-security-card.is-strong-loser .scenario-impact-icon,
.scenario-security-card.is-strong-loser .scenario-impact-badge {
  background: #fde7e4;
  color: #7f1714;
}

.scenario-security-card p {
  margin: 10px 0;
  color: var(--ink);
  font-weight: 750;
  line-height: 1.4;
}

.scenario-security-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 12px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
}

.scenario-radar-card {
  align-self: start;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, #f8fbf9, #ffffff);
  padding: 14px;
}

.scenario-radar-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.scenario-radar-title span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.scenario-radar-title strong {
  color: var(--brand-dark);
  font-size: 0.9rem;
}

.scenario-radar-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mini-icon-button {
  border: 1px solid rgba(15, 122, 99, 0.24);
  border-radius: 999px;
  background: rgba(15, 122, 99, 0.08);
  color: var(--brand-dark);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  padding: 6px 9px;
}

.mini-icon-button:hover {
  background: rgba(15, 122, 99, 0.16);
}

.security-radar {
  width: 100%;
  height: auto;
  display: block;
}

.scenario-radar-ring,
.scenario-radar-axis {
  fill: none;
  stroke: #d6e1db;
  stroke-width: 1;
}

.scenario-radar-area {
  fill: rgba(15, 122, 99, 0.18);
  stroke: var(--brand);
  stroke-width: 2;
}

.scenario-radar-value-line {
  stroke: var(--brand);
  stroke-linecap: round;
  stroke-width: 2.4;
  opacity: 0.7;
}

.scenario-radar-point {
  fill: var(--brand);
  stroke: #ffffff;
  stroke-width: 2;
}

.scenario-radar-point.is-strong-winner,
.scenario-radar-value-line.is-strong-winner {
  fill: #8fc4ff;
  stroke: #2f80d1;
}

.scenario-radar-point.is-winner,
.scenario-radar-value-line.is-winner {
  fill: #7fd49d;
  stroke: #15915f;
}

.scenario-radar-point.is-neutral,
.scenario-radar-value-line.is-neutral,
.scenario-radar-point.is-missing,
.scenario-radar-value-line.is-missing {
  fill: #efd469;
  stroke: #c79a22;
}

.scenario-radar-point.is-loser,
.scenario-radar-value-line.is-loser {
  fill: #f1a052;
  stroke: #d56f20;
}

.scenario-radar-point.is-strong-loser,
.scenario-radar-value-line.is-strong-loser {
  fill: #d33428;
  stroke: #7f1714;
}

.scenario-radar-label {
  fill: var(--muted);
  font-size: 0.58rem;
  font-weight: 900;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.88);
  stroke-linejoin: round;
  stroke-width: 3px;
}

.scenario-radar-label.is-strong-winner {
  fill: #2f6fa3;
}

.scenario-radar-label.is-winner {
  fill: #0f7a63;
}

.scenario-radar-label.is-neutral,
.scenario-radar-label.is-missing {
  fill: #80621a;
}

.scenario-radar-label.is-loser {
  fill: #b45f19;
}

.scenario-radar-label.is-strong-loser {
  fill: #7f1714;
}

.sis-radar-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(7, 20, 17, 0.62);
}

.sis-radar-modal-panel {
  position: relative;
  width: min(880px, 94vw);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(15, 122, 99, 0.26);
  border-radius: 14px;
  background: #f8fbf9;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.24);
  padding: 22px;
}

.sis-radar-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
}

.sis-radar-modal-panel .scenario-radar-card {
  max-width: 760px;
  margin: 0 auto;
  border: 0;
  background: transparent;
  padding: 10px 26px 20px;
}

.sis-radar-modal-panel .security-radar {
  width: min(720px, 78vh);
  margin: 0 auto;
}

.sis-radar-modal-panel .scenario-radar-label {
  font-size: 0.72rem;
}

.assets-panel .summary-cards {
  margin: 12px 0 18px;
}

.asset-class-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.78rem;
  font-weight: 900;
}

.asset-class-badge.is-crypto {
  border: 1px solid rgba(15, 122, 99, 0.28);
  background: rgba(15, 122, 99, 0.12);
  color: var(--brand-dark);
}

.asset-class-badge.is-metal {
  border: 1px solid rgba(245, 193, 92, 0.42);
  background: rgba(255, 246, 220, 0.92);
  color: #735117;
}

.asset-class-badge.is-forex {
  border: 1px solid rgba(58, 126, 171, 0.28);
  background: rgba(224, 242, 254, 0.76);
  color: #1f5570;
}

.assets-panel .security-name {
  max-width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.detail-chart {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
}

.chart-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
  font-weight: 800;
}

.chart-title span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.chart-switch {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
}

.chart-switch button {
  min-height: 28px;
  border: 1px solid #d4dfd8;
  border-radius: 999px;
  background: #fbfcfb;
  color: #53655b;
  padding: 0 10px;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 850;
}

.chart-switch button:hover {
  border-color: #b8c9c0;
  background: #f3f7f4;
}

.chart-switch button.is-active {
  border-color: var(--brand);
  background: #e8f6ef;
  color: var(--brand-dark);
}

.chart-row {
  display: grid;
  grid-template-columns: minmax(100px, 160px) minmax(160px, 1fr) minmax(90px, auto);
  gap: 10px;
  align-items: center;
}

.chart-row span,
.chart-row strong {
  font-size: 0.86rem;
}

.chart-row strong {
  text-align: right;
  white-space: nowrap;
}

.chart-row strong small {
  display: inline-block;
  margin-left: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.chart-track {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2ef;
}

.chart-bar {
  height: 100%;
  border-radius: inherit;
  background: var(--brand);
  transform-origin: left center;
  animation: jeff-bar-grow 720ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.chart-bar.is-layer-titan {
  background: #075f61;
}

.chart-bar.is-layer-compound {
  background: #188372;
}

.chart-bar.is-layer-accelerator {
  background: #c18a2b;
}

.chart-bar.is-layer-explorer {
  background: #8b6276;
}

.chart-bar.is-level-core {
  background: #5b6b63;
}

.chart-bar.is-level-build {
  background: #8aa79b;
}

.chart-bar.is-level-tactical {
  background: #c2a64b;
}

.chart-bar.is-level-experimental {
  background: #7e8fb3;
}

.chart-bar.is-status-buy {
  background: #3e9a71;
}

.chart-bar.is-status-sell {
  background: #b45b4f;
}

.chart-bar.is-status-hold {
  background: #819089;
}

.chart-bar.is-status-watch {
  background: #5c92aa;
}

.chart-bar.is-tier-s {
  background: #2f73a5;
}

.chart-bar.is-tier-a {
  background: #4fa166;
}

.chart-bar.is-tier-b {
  background: #f3bd26;
}

.chart-bar.is-tier-c {
  background: #ff9138;
}

.chart-bar.is-tier-d {
  background: #f24d50;
}

.chart-bar.is-tier-w {
  background: #9da5a2;
}

.chart-bar.is-chart-accent-1 {
  background: #0f7a63;
}

.chart-bar.is-chart-accent-2 {
  background: #2f6fa3;
}

.chart-bar.is-chart-accent-3 {
  background: #c18a2b;
}

.chart-bar.is-chart-accent-4 {
  background: #8b6276;
}

.chart-bar.is-chart-accent-5 {
  background: #64766b;
}

.chart-bar.is-chart-neutral {
  background: #a8b4ad;
}

.category-with-tier {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}

.category-with-tier > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.category-tier-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 28px;
  min-height: 22px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 7px;
  color: white;
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.category-tier-badge.tier-s {
  background: #2f73a5;
}

.category-tier-badge.tier-a {
  background: #4fa166;
}

.category-tier-badge.tier-b {
  background: #f3bd26;
  color: #14211d;
}

.category-tier-badge.tier-c {
  background: #ff9138;
  color: #14211d;
}

.category-tier-badge.tier-d {
  background: #f24d50;
}

.category-tier-badge.tier-w {
  background: #9da5a2;
}

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.compact-chips {
  gap: 6px;
}

.detail-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #edf4f1;
  color: var(--brand-dark);
  padding: 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
}

.detail-chip.is-stop {
  border-color: #f0bbb5;
  background: #fff1ef;
  color: var(--danger);
}

.detail-chip.is-buy {
  border-color: #9fcfbd;
  background: #eaf6ef;
  color: var(--brand-dark);
}

.detail-chip.is-target {
  border-color: #b9cfe8;
  background: #eef4ff;
  color: #265d9c;
}

.detail-chip.is-stop-watch {
  border-color: #efd0ca;
  background: #fff8f6;
  color: #9a5147;
}

.detail-chip.is-buy-watch {
  border-color: #c5dcca;
  background: #f5fbf7;
  color: #23624d;
}

.detail-chip.is-target-watch {
  border-color: #cfdbed;
  background: #f6f9ff;
  color: #486b9c;
}

.detail-chip.is-status-buy {
  border-color: #bfdcc8;
  background: #f2faf5;
  color: #1d6c4f;
}

.detail-chip.is-status-sell {
  border-color: #efc6bf;
  background: #fff6f4;
  color: #9b4035;
}

.detail-chip.is-status-hold {
  border-color: #d8ddd9;
  background: #f8faf8;
  color: #4f5f57;
}

.detail-chip.is-status-watch {
  border-color: #c9d9df;
  background: #f5fbff;
  color: #2c6176;
}

.detail-chip.is-region {
  border-color: #dde4df;
  background: #f8faf9;
  color: #5b6b63;
}

.detail-chip.is-tag {
  background: #fff8dc;
  color: #665323;
}

.detail-chip.is-super-tag {
  border-color: rgba(58, 126, 171, 0.28);
  background: rgba(224, 242, 254, 0.78);
  color: #1f5570;
}

.detail-chip.is-category {
  border-color: #dde4df;
  background: #ffffff;
  color: #20322b;
  padding-left: 6px;
}

.detail-chip.is-category .category-with-tier {
  gap: 6px;
}

.detail-chip.is-sis {
  border-color: #b8d2d8;
  background: #eef8fa;
  color: #1e6273;
}

.detail-chip.is-sis-critical {
  border-color: #efb0a8;
  background: #fff1ef;
  color: var(--danger);
}

.detail-chip.is-sis-fragile {
  border-color: #efc084;
  background: #fff3e3;
  color: #9b5a16;
}

.detail-chip.is-sis-dependent {
  border-color: #e8d385;
  background: #fff9e3;
  color: #7a5b14;
}

.detail-chip.is-sis-stable {
  border-color: #9fcfbd;
  background: #edf8f3;
  color: var(--brand-dark);
}

.detail-chip.is-sis-extreme {
  border-color: #a9cfe8;
  background: #eef7ff;
  color: #245d91;
}

.position-detail-row td {
  padding-top: 0;
  padding-bottom: 12px;
}

.position-detail-row + tr td {
  border-top: 0;
}

.position-detail-line {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-height: 30px;
  padding-left: 2px;
}

.detail-drawer {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: auto;
  background: rgba(14, 24, 19, 0.32);
  padding: 24px;
}

.detail-drawer-content {
  display: grid;
  gap: 18px;
  width: min(1180px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  padding: 22px;
  box-shadow: var(--shadow);
}

.detail-drawer-content .form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-form-section {
  display: grid;
  gap: 12px;
  padding: 16px 16px 18px;
  border: 1px solid rgba(15, 83, 65, 0.18);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(246, 251, 249, 0.94)),
    var(--panel);
  box-shadow: 0 12px 26px rgba(13, 44, 35, 0.055);
}

.detail-section-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -2px 0 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(15, 122, 99, 0.12);
}

.detail-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  padding: 4px;
  border-radius: 999px;
  background: #e5f4ee;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--brand);
}

.detail-section-header h3 {
  margin: 0;
  color: var(--brand-dark);
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.detail-section-grid {
  gap: 14px 16px;
}

.detail-identity-section {
  background: linear-gradient(180deg, #ffffff, #f6fbf9);
}

.detail-atlas-section {
  background: linear-gradient(180deg, #fbfefd, #f2faf6);
}

.detail-investment-section {
  padding-bottom: 14px;
  background: linear-gradient(180deg, #ffffff, #f7fbf8);
}

.detail-investment-section .detail-section-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.detail-field-wide {
  grid-column: 1 / -1;
}

.detail-understanding-section {
  gap: 14px;
  background: linear-gradient(180deg, #ffffff, #f5faf8);
}

.detail-understanding-section #detailSummaryInput {
  min-height: 82px;
}

.detail-understanding-section #detailRationalInput {
  min-height: 178px;
}

.detail-understanding-section #detailFunInput {
  min-height: 54px;
}

.detail-drawer-content .master-data-notice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 0;
  padding: 8px 10px;
  border-left-width: 0;
  border-color: rgba(15, 122, 99, 0.16);
  border-radius: 999px;
  background: #f3fbf7;
}

.detail-drawer-content .master-data-notice strong {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--brand-dark);
}

.detail-drawer-content .master-data-notice strong span {
  color: inherit;
}

.detail-drawer-content .master-data-notice small {
  color: #536a61;
  font-weight: 700;
}

.detail-drawer-content .master-data-notice span:not([aria-hidden]) {
  color: #6a7a74;
  font-size: 0.86rem;
}

.detail-easy-note-field {
  gap: 6px;
  margin-top: 0;
  padding: 12px;
  border: 1px solid rgba(16, 169, 127, 0.2);
  border-radius: 10px;
  background: linear-gradient(180deg, #f3fbf7, #ffffff);
}

.detail-easy-note-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--brand-dark);
  font-weight: 900;
}

.detail-easy-note-title svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  padding: 4px;
  border-radius: 999px;
  background: #dff4ec;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--brand);
}

.detail-easy-note-field small {
  color: #536a61;
  font-size: 0.86rem;
  font-weight: 700;
}

.tax-note {
  margin: 0 0 16px;
  border-left: 4px solid var(--accent);
  background: #fff9ef;
  padding: 12px 14px;
  color: #5a4321;
  font-weight: 700;
}

h3 {
  margin: 26px 0 10px;
  font-size: 1rem;
}

.field-hidden {
  display: none;
}

.is-hidden {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 860px) {
  .release-header-manager-grid {
    grid-template-columns: 1fr;
  }

  .score-history-row:has(#fisResearchHistorySelect),
  .score-history-row:has(#fssResearchHistorySelect) {
    display: block;
    min-height: 0;
    margin: 10px 0 12px;
  }

  .score-history-row:has(#fisResearchHistorySelect) label,
  .score-history-row:has(#fssResearchHistorySelect) label {
    width: 100%;
  }

  .fis-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fis-detail-table {
    min-width: 760px;
  }

  .fis-factor-table-wrap {
    overflow-x: auto;
  }

  .detail-drawer {
    padding: 12px;
  }

  .detail-drawer-content {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }

  .detail-drawer-content .form-grid {
    grid-template-columns: 1fr;
  }

  .topbar {
    height: clamp(112px, 26vw, 150px);
    min-height: 112px;
    padding: 0;
  }

  .brand-title-row,
  .brand-claim-row,
  .jeff-engine {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .header-title-input,
  .header-claim-input {
    width: min(100%, 520px);
  }

  .brand-visual {
    display: none;
  }

  .panel-header {
    align-items: stretch;
    flex-direction: column;
  }

  .pulse-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .atlas-pulse-detail-row {
    grid-template-columns: minmax(0, 1fr) 86px;
  }

  .atlas-pulse-list-head {
    grid-template-columns: minmax(0, 1fr) 86px;
  }

  .atlas-pulse-list-head span:nth-child(2),
  .atlas-pulse-list-head span:nth-child(3) {
    display: none;
  }

  .atlas-pulse-detail-row > span:nth-of-type(1) {
    display: none;
  }

  .summary-strip,
  .import-layout,
  .branding-editor,
  .editorial-admin-grid,
  .editorial-field-grid,
  .editorial-block-fields,
  .two-column-fields,
  .atlas-start-hero.has-editorial,
  .atlas-start-editorial,
  .editorial-page-hero,
  .editorial-content-column-group,
  .editorial-content-columns,
  .form-grid,
  .dashboard-cards,
  .dashboard-periods,
  .dashboard-grid,
  .performance-benchmark-grid,
  .performance-insight-grid,
  .pie-layout,
  .score-grid,
  .floyd-review-grid,
  .floyd-edit-grid,
  .stored-research-layout,
  .score-summary-layout,
  .stored-research-cards,
  .category-manager,
  .category-editor,
  .portfolio-tools,
  .security-check-grid,
  .chart-row,
  .scenario-briefing,
  .scenario-briefing-metrics,
  .scenario-signal-grid,
  .scenario-impact-head,
  .scenario-security-layout,
  .scenario-security-summary,
  .scenario-security-card-head,
  .scenario-security-meta {
    grid-template-columns: 1fr;
  }

  .score-summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .score-verdict-grid,
  .score-company-grid,
  .score-research-cockpit-grid,
  .score-cockpit-section.is-wide .score-cockpit-grid,
  .timing-detail-hero,
  .timing-main-metrics,
  .timing-environment-head,
  .timing-tension-grid,
  .stock-journey-timing-main-grid,
  .stock-journey-timing-wind-duo,
  .stock-journey-timing-factor-grid,
  .stock-journey-tension-grid {
    grid-template-columns: 1fr;
  }

  .stock-journey-timing-raw-panel > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .score-summary-title-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .score-summary-header-side {
    justify-items: start;
    min-width: 0;
    max-width: 100%;
  }

  .score-summary-header-side .floyd-review-meta {
    justify-content: flex-start;
    text-align: left;
  }

  .summary-predicate-seal {
    max-width: 100%;
  }

  .summary-predicate-main {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .summary-predicate-main img {
    width: 72px;
    height: 72px;
  }

  .timing-detail-signal {
    width: 88px;
    height: 88px;
  }

  .timing-detail-section-header,
  .timing-detail-hero {
    padding-right: 12px;
    padding-left: 12px;
  }

  .scenario-report-header {
    align-items: stretch;
    flex-direction: column;
  }

  .scenario-report-sortbar {
    justify-content: flex-start;
  }

  .dashboard-panel-wide {
    grid-column: auto;
  }

  .summary-strip div {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .summary-strip div:first-child {
    border-top: 0;
  }

  .tabs {
    overflow-x: auto;
  }

  .nav-primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nav-secondary {
    flex-direction: column;
  }

  .tab-button {
    flex: 0 0 auto;
  }

  .portfolio-action-row {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .portfolio-crash-button {
    grid-column: auto;
  }

  .portfolio-name-filter,
  .portfolio-sort-control {
    grid-column: auto;
  }

  .portfolio-crash-head,
  .portfolio-crash-kpis,
  .portfolio-crash-coverage,
  .portfolio-crash-contributors > div {
    grid-template-columns: 1fr;
  }

  .portfolio-crash-bars div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .portfolio-crash-bars strong {
    text-align: left;
  }

  .floyd-edit-wide {
    grid-column: auto;
  }
}

/* Dark Demand must stay visually separate from the normal bright JEFF tables. */
.dark-demand-detail .module-factor-table.dark-demand-table,
.dark-demand-detail .module-factor-table.dark-demand-table thead,
.dark-demand-detail .module-factor-table.dark-demand-table tbody,
.dark-demand-detail .module-factor-table.dark-demand-table tr,
.dark-demand-detail .module-factor-table.dark-demand-table td,
.dark-demand-detail .module-factor-table.dark-demand-table th {
  background: transparent;
}

.dark-demand-detail .module-factor-table.dark-demand-table {
  background: rgba(8, 6, 4, 0.9);
  color: #f3dfb2;
}

.dark-demand-detail .module-factor-table.dark-demand-table thead th {
  background: rgba(255, 207, 95, 0.12);
  color: #f2d17a;
}

.dark-demand-detail .module-factor-table.dark-demand-table tbody tr {
  background: rgba(255, 236, 184, 0.035);
}

.dark-demand-detail .module-factor-table.dark-demand-table tbody tr:nth-child(even) {
  background: rgba(255, 236, 184, 0.06);
}

.dark-demand-detail .module-factor-table.dark-demand-table td,
.dark-demand-detail .module-factor-table.dark-demand-table th,
.dark-demand-detail .module-factor-table.dark-demand-table small {
  color: #f3dfb2;
}

.dark-demand-detail .module-factor-table.dark-demand-table strong {
  color: #ffe6a6;
}

.dark-demand-detail .module-factor-table.dark-demand-table .dark-demand-input {
  background: rgba(255, 236, 184, 0.08);
  border-color: rgba(216, 172, 72, 0.45);
  color: #ffe6a6;
}

.atlas-filter-shell {
  margin: 10px 0 12px;
}

.atlas-filter-bar,
.atlas-filter-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(246, 251, 248, 0.96);
}

.atlas-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px;
}

.atlas-filter-main-button {
  min-width: 132px;
  font-weight: 800;
}

.atlas-filter-count {
  color: var(--muted);
  font-weight: 800;
  font-size: 0.85rem;
}

.atlas-filter-chips {
  display: flex;
  flex: 1 1 320px;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.atlas-filter-chip {
  border: 1px solid rgba(0, 117, 92, 0.22);
  border-radius: 999px;
  background: rgba(224, 247, 239, 0.92);
  color: #005c49;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 4px 9px;
}

.atlas-filter-chip-quick {
  border-color: rgba(25, 113, 189, 0.24);
  background: rgba(231, 243, 255, 0.94);
  color: #0f5f9f;
}

.atlas-filter-limit-note {
  align-self: center;
  border: 1px solid rgba(191, 126, 0, 0.24);
  border-radius: 999px;
  background: rgba(255, 247, 222, 0.96);
  color: #7b4b00;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 4px 9px;
}

.atlas-filter-muted {
  align-self: center;
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 700;
}

.atlas-filter-panel {
  margin-top: 8px;
  padding: 10px;
}

.atlas-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.atlas-filter-actions select,
.atlas-filter-name-input {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  font: inherit;
  min-height: 36px;
  padding: 7px 10px;
}

.atlas-filter-name-input {
  min-width: 220px;
}

.atlas-filter-status {
  border-left: 3px solid var(--accent);
  color: #005c49;
  font-weight: 800;
  margin: 4px 0 10px;
  padding: 3px 0 3px 9px;
}

.atlas-filter-groups {
  display: grid;
  gap: 8px;
}

.atlas-filter-group {
  border: 1px solid rgba(0, 83, 69, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
  overflow: hidden;
}

.atlas-filter-group summary {
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  padding: 9px 11px;
  text-transform: uppercase;
}

.atlas-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
  padding: 0 10px 10px;
}

.atlas-filter-control {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  padding: 9px;
}

.atlas-filter-control strong {
  display: block;
  color: #0f4036;
  font-size: 0.84rem;
  margin-bottom: 7px;
}

.atlas-filter-range-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.atlas-filter-range-row label,
.atlas-filter-check,
.atlas-filter-option-list label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.atlas-filter-range-row input,
.atlas-filter-range-row select {
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
  margin-top: 3px;
  min-width: 0;
  padding: 6px 7px;
  width: 100%;
}

.atlas-filter-check {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-top: 8px;
}

.atlas-filter-option-list {
  display: grid;
  gap: 5px;
  max-height: 150px;
  overflow: auto;
  padding-right: 4px;
}

.atlas-filter-option-list label {
  display: flex;
  gap: 6px;
  align-items: center;
}

.drop-diagnosis-button.has-drop-diagnosis {
  border-color: #8fc8ff;
  background: #eef7ff;
  color: #075985;
}

.drop-diagnosis-research {
  display: grid;
  gap: 16px;
}

.drop-diagnosis-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: 20px 22px;
  border: 1px solid #b8dbff;
  border-radius: 8px;
  background: linear-gradient(135deg, #eef7ff 0%, #f8fbff 100%);
}

.drop-diagnosis-result-icon {
  display: inline-grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 0 0 1px rgba(0, 117, 167, 0.16);
  font-size: 2.35rem;
  line-height: 1;
}

.drop-diagnosis-hero small,
.drop-diagnosis-metrics small {
  display: block;
  color: #4f635e;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.drop-diagnosis-hero strong {
  display: block;
  margin: 4px 0 6px;
  color: #003c4d;
  font-size: clamp(1.65rem, 1.25rem + 1vw, 2.3rem);
  line-height: 1.05;
}

.drop-diagnosis-hero p,
.drop-diagnosis-grid p,
.drop-diagnosis-watchpoint-grid p {
  margin: 0;
  line-height: 1.55;
}

.drop-diagnosis-metrics,
.drop-diagnosis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.drop-diagnosis-signals {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.drop-diagnosis-metrics article,
.drop-diagnosis-grid article,
.drop-diagnosis-signals article {
  padding: 14px;
  border: 1px solid #cfe0db;
  border-radius: 8px;
  background: #ffffff;
}

.drop-diagnosis-signals article {
  background: #f7fbff;
  border-color: #c4ddf4;
  min-height: 84px;
}

.drop-diagnosis-metrics strong {
  display: block;
  margin-top: 4px;
  color: #002d26;
  font-size: 1.1rem;
}

.drop-diagnosis-signals strong {
  display: flex;
  gap: 7px;
  align-items: baseline;
  margin-top: 10px;
  color: #003c4d;
  font-size: 1.05rem;
  line-height: 1.2;
}

.drop-diagnosis-signals strong span {
  font-size: 1.35rem;
  line-height: 1;
}

.drop-diagnosis-signals article.is-top {
  border-color: #8ec5ff;
  background: #eef7ff;
}

.drop-diagnosis-signals article.is-top strong {
  color: #075985;
}

.drop-diagnosis-signals article.is-good {
  border-color: #8ed6b2;
  background: #ecfdf4;
}

.drop-diagnosis-signals article.is-good strong {
  color: #06603b;
}

.drop-diagnosis-signals article.is-medium {
  border-color: #f2d178;
  background: #fff8df;
}

.drop-diagnosis-signals article.is-medium strong {
  color: #775300;
}

.drop-diagnosis-signals article.is-weak {
  border-color: #f0b47a;
  background: #fff3e7;
}

.drop-diagnosis-signals article.is-weak strong {
  color: #9a4b00;
}

.drop-diagnosis-signals article.is-very-weak {
  border-color: #ec9a9a;
  background: #fff0f0;
}

.drop-diagnosis-signals article.is-very-weak strong {
  color: #aa1f1f;
}

.drop-diagnosis-watchpoint-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.drop-diagnosis-watchpoint-grid article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: start;
  padding: 13px 14px;
  border: 1px solid #f0d68a;
  border-radius: 8px;
  background: #fffaf0;
}

.drop-diagnosis-watchpoint-grid span {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: #fff1ba;
  color: #8a5a00;
  font-size: 0.88rem;
}

.drop-diagnosis-grid h3 {
  margin: 0 0 8px;
  color: #004538;
  font-size: 0.95rem;
}

.drop-diagnosis-grid ul,
.drop-diagnosis-watchpoints ul {
  margin: 0;
  padding-left: 18px;
}

@media (max-width: 980px) {
  .drop-diagnosis-signals {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .drop-diagnosis-watchpoint-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .drop-diagnosis-signals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1480px) {
  .atlas-start-hero.has-editorial {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1120px) {
  .atlas-start-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atlas-start-actions {
    justify-content: flex-start;
    padding-top: 0;
  }
}

@media (max-width: 860px) {
  .atlas-start-shortcuts {
    grid-template-columns: 1fr;
  }

  .atlas-start-editorial-image {
    min-height: 180px;
    max-height: 260px;
  }

  .atlas-start-card {
    min-height: auto;
  }

  .about-atlas-hero,
  .about-atlas-crew-grid,
  .about-atlas-project-grid,
  .about-atlas-project,
  .about-atlas-editor-grid,
  .about-atlas-editor-card,
  .about-atlas-quote {
    grid-template-columns: 1fr;
  }

  .about-atlas-hero {
    min-height: 0;
    padding: 20px;
    text-align: center;
  }

  .about-atlas-compass {
    margin: 0 auto;
  }

  .about-atlas-edit-button {
    justify-self: center;
  }

  .about-atlas-card img,
  .about-atlas-project img {
    height: 220px;
    min-height: 220px;
  }

  .about-atlas-chip-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .atlas-start-cards {
    grid-template-columns: 1fr;
  }
}
