:root {
  color-scheme: light;
  --bg: #f5f7f2;
  --ink: #1f2926;
  --muted: #66736e;
  --line: #d9e0d8;
  --surface: #ffffff;
  --surface-strong: #edf2eb;
  --green: #21735c;
  --green-dark: #155844;
  --blue: #2f5f91;
  --amber: #b56a2a;
  --shadow: 0 18px 50px rgba(31, 41, 38, 0.08);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--bg);
}

body {
  margin: 0;
  min-height: 100%;
  overflow-x: hidden;
  color: var(--ink);
  font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", Arial, sans-serif;
  line-height: 1.5;
  letter-spacing: 0;
}

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

.app-shell {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 28px 0 44px;
}

.topbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 6px 0 24px;
}

.model-settings-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(33, 115, 92, 0.22);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 10px 26px rgba(31, 41, 38, 0.06);
  cursor: pointer;
}

.model-settings-button:hover {
  border-color: rgba(33, 115, 92, 0.42);
}

.model-settings-button span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--amber);
}

.model-settings-button span.is-ready {
  background: var(--green);
}

.model-settings-button strong {
  font-size: 14px;
  font-weight: 900;
}

.model-settings-button small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.eyebrow,
.section-label {
  margin: 0 0 6px;
  color: var(--green);
  font-size: 13px;
  font-weight: 700;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 0;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.1;
  letter-spacing: 0;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  font-size: 14px;
  white-space: nowrap;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--amber);
}

.intro-band {
  display: grid;
  grid-template-columns: max-content 1fr max-content 1fr max-content;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.flow-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.flow-item span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--surface-strong);
  color: var(--ink);
  font-size: 12px;
}

.flow-item.is-active {
  color: var(--ink);
}

.flow-item.is-complete {
  color: var(--green);
}

.flow-item.is-complete span {
  background: rgba(33, 115, 92, 0.12);
  color: var(--green-dark);
}

.flow-line {
  height: 1px;
  background: var(--line);
}

.entry-layout {
  display: block;
  max-width: 920px;
  margin: 0 auto;
}

[hidden] {
  display: none !important;
}

.panel {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

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

.operation-index {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  margin: 0 0 22px;
  padding: 14px 16px;
  border: 1px solid rgba(33, 115, 92, 0.2);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f3f7f2 100%);
  box-shadow: 0 14px 36px rgba(31, 41, 38, 0.07);
  scrollbar-width: thin;
  scrollbar-color: rgba(33, 115, 92, 0.36) transparent;
}

.operation-step {
  appearance: none;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 7px;
  min-height: 34px;
  padding: 4px 4px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #4f5f58;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.operation-step:hover {
  background: rgba(33, 115, 92, 0.07);
  color: var(--green-dark);
  transform: translateY(-1px);
}

.operation-step:focus-visible {
  outline: 3px solid rgba(47, 95, 145, 0.28);
  outline-offset: 3px;
}

.operation-step b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(33, 115, 92, 0.22);
  border-radius: 50%;
  background: #ffffff;
  color: var(--green-dark);
  font-size: 12px;
  line-height: 1;
}

.operation-step em {
  white-space: nowrap;
  font-size: 14px;
  font-style: normal;
  letter-spacing: 0;
}

.operation-step.is-active {
  color: var(--ink);
}

.operation-step.is-active b {
  background: var(--green);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(33, 115, 92, 0.2);
}

.operation-step.is-complete {
  color: var(--green-dark);
}

.operation-step.is-complete b {
  background: rgba(33, 115, 92, 0.1);
}

.operation-index i {
  flex: 0 0 auto;
  width: 24px;
  height: 1px;
  background: linear-gradient(90deg, rgba(33, 115, 92, 0.18), rgba(33, 115, 92, 0.46));
}

h2 {
  margin-bottom: 0;
  font-size: 22px;
  line-height: 1.25;
}

.parameter-entry-panel .panel-header h2 {
  position: relative;
  padding-left: 14px;
}

.parameter-entry-panel .panel-header h2::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: var(--green);
}

.parameter-entry-panel.is-auxiliary-stage {
  border-color: rgba(47, 95, 145, 0.24);
}

.parameter-entry-panel.is-core-stage .panel-header h2::before {
  background: var(--green);
}

.parameter-entry-panel.is-auxiliary-stage .panel-header h2::before {
  background: var(--blue);
}

.parameter-entry-panel.is-auxiliary-stage .section-label {
  color: var(--blue);
}

.panel-tag {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef4f8;
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
}

.final-core-jump-dropdown {
  position: relative;
  flex: 0 0 auto;
}

.final-core-jump-trigger {
  border: 1px solid rgba(33, 115, 92, 0.2);
  background: #f3faf6;
  color: var(--green-dark);
  cursor: pointer;
}

.final-auxiliary-jump-trigger {
  border-color: rgba(47, 95, 145, 0.22);
  background: #f3f7fc;
  color: var(--blue);
}

.final-core-jump-trigger::after {
  content: "▾";
  margin-left: 9px;
  font-size: 13px;
}

.final-core-jump-trigger:disabled {
  cursor: default;
  opacity: 0.72;
}

.final-core-jump-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  width: min(360px, 78vw);
  max-height: 280px;
  overflow-y: auto;
  padding: 8px;
  border: 1px solid rgba(33, 115, 92, 0.18);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 36px rgba(23, 44, 36, 0.16);
}

.final-core-jump-menu[hidden] {
  display: none;
}

.final-core-jump-menu::-webkit-scrollbar {
  width: 8px;
}

.final-core-jump-menu::-webkit-scrollbar-track {
  background: #edf4f0;
  border-radius: 999px;
}

.final-core-jump-menu::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.38);
}

.final-auxiliary-jump-menu {
  max-height: 220px;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

.final-core-jump-item {
  appearance: none;
  width: 100%;
  padding: 10px 11px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.final-core-jump-item:hover {
  background: #f1f8f4;
  color: var(--green-dark);
}

.final-auxiliary-jump-item:hover {
  background: #eef5fc;
  color: var(--blue);
}

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

.field-grid.single-column {
  grid-template-columns: 1fr;
}

.field {
  display: grid;
  gap: 8px;
}

.field-full {
  margin-top: 16px;
}

.field-group {
  margin-top: 16px;
}

.field span {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  color: #394640;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.field span strong {
  color: var(--ink);
  font-size: 16px;
  font-weight: 800;
}

.field span em {
  color: var(--muted);
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid #ccd6d0;
  border-radius: 8px;
  background: #fbfcfb;
  color: var(--ink);
  outline: none;
}

input,
select {
  height: 44px;
  padding: 0 12px;
}

textarea {
  min-height: 104px;
  padding: 12px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(33, 115, 92, 0.14);
}

::placeholder {
  color: #9aa6a1;
}

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

.detail-upload-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.video-upload-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.detail-upload-grid .upload-box {
  min-height: 230px;
  border: 2px dashed #94a39c;
}

.detail-upload-grid .upload-box:only-child {
  grid-column: 1 / -1;
}

.base-supplement-upload {
  margin-top: 18px;
}

.base-supplement-upload .menu-upload-box {
  min-height: 230px;
  border: 2px dashed #94a39c;
}

.video-upload-grid .upload-box {
  min-height: 210px;
  border: 2px dashed #94a39c;
}

.packaging-note-field {
  padding: 18px;
  border: 1px solid #cfdad4;
  border-radius: 8px;
  background: #fcfdfc;
}

.packaging-note-section-divider {
  height: 8px;
  margin: 18px 0 2px;
  background: linear-gradient(90deg, transparent, #c7d4ce 10%, #b8c8c0 50%, #c7d4ce 90%, transparent);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9), 0 6px 14px rgba(31, 41, 38, 0.06);
  clip-path: inset(0 0 7px);
}

.packaging-note-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  color: var(--ink);
}

.packaging-note-heading strong {
  font-size: 22px;
  font-weight: 900;
  line-height: 1.25;
}

.packaging-note-heading em {
  color: #53635b;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}

.packaging-note-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  gap: 18px;
  margin-top: 16px;
}

.packaging-note-pane {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.packaging-note-pane-title {
  color: var(--ink);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
}

.packaging-note-text-pane textarea {
  min-height: 250px;
  background: #ffffff;
}

.packaging-note-media-pane {
  align-content: stretch;
  padding-left: 18px;
  border-left: 1px solid #dde6e1;
}

.packaging-note-manager-trigger {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  width: 100%;
  min-height: 250px;
  padding: 20px;
  border: 2px dashed #9eb0a7;
  border-radius: 8px;
  background: #f7faf8;
  color: var(--green-dark);
  text-align: center;
  cursor: pointer;
}

.packaging-note-manager-trigger input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.packaging-note-manager-trigger:hover,
.packaging-note-manager-trigger.has-files {
  border-color: var(--green);
  background: #f1f7f4;
}

.packaging-note-manager-trigger strong {
  color: var(--green-dark);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.35;
}

.packaging-note-manager-trigger small {
  color: #53635b;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}

.packaging-note-upload {
  display: block;
  margin-top: 14px;
}

.packaging-note-upload label {
  position: relative;
  display: grid;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  min-height: 76px;
  padding: 12px 16px;
  border: 2px dashed #9eb0a7;
  border-radius: 8px;
  background: #f7faf8;
  color: var(--green-dark);
  text-align: center;
  cursor: pointer;
}

.packaging-note-upload label:hover {
  border-color: var(--green);
  background: #f1f7f4;
}

.packaging-note-upload label strong {
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
}

.packaging-note-upload input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.packaging-note-upload small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.packaging-note-collection {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 14px;
  padding: 10px;
  border: 1px solid #dde6e1;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.packaging-note-inline-collection {
  margin-top: 0;
}

.packaging-note-summary {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.packaging-note-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 120px;
  margin-top: 10px;
  padding: 2px 2px 10px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
}

.packaging-note-grid:empty {
  display: none;
}

.packaging-note-card {
  position: relative;
  flex: 0 0 116px;
  display: grid;
  grid-template-rows: 70px auto 34px;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.packaging-note-card:hover {
  border-color: var(--green);
  box-shadow: 0 10px 24px rgba(31, 41, 38, 0.1);
}

.packaging-note-card img,
.packaging-note-card video {
  width: 100%;
  height: 70px;
  border-radius: 6px;
  object-fit: cover;
  background: #f5f7f2;
}

.packaging-note-card .packaging-note-video-thumb {
  width: 100%;
  height: 70px;
  border-radius: 6px;
}

.packaging-note-card .packaging-note-video-thumb span {
  width: 28px;
  height: 22px;
  border-radius: 6px;
  font-size: 11px;
}

.packaging-note-card .packaging-note-video-thumb strong {
  font-size: 12px;
}

.packaging-note-card .packaging-note-video-thumb em {
  max-width: 86px;
}

.packaging-note-card-status {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f7f1e8;
  color: #8a5a22;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.packaging-note-card.is-done .packaging-note-card-status {
  background: rgba(33, 115, 92, 0.12);
  color: var(--green-dark);
}

.packaging-note-card-text {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.packaging-note-card-remove {
  position: absolute;
  top: 5px;
  right: 5px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(31, 41, 38, 0.18);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}

.packaging-note-card-remove:hover {
  border-color: #b44a42;
  color: #b44a42;
}

.packaging-note-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 28px;
}

.packaging-note-modal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(17, 24, 21, 0.62);
  cursor: pointer;
}

.packaging-note-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 94vw);
  max-height: 88vh;
  overflow: auto;
  padding: 18px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
}

.packaging-note-dialog-header,
.packaging-note-dialog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.packaging-note-dialog-header {
  margin-bottom: 14px;
}

.packaging-note-dialog-header strong {
  color: var(--ink);
  font-size: 18px;
  font-weight: 800;
}

.packaging-note-dialog-header button,
.packaging-note-dialog-actions button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font-weight: 800;
  cursor: pointer;
}

.packaging-note-editor-layout {
  display: grid;
  grid-template-columns: minmax(220px, 300px) 1fr;
  gap: 16px;
}

.packaging-note-media-frame {
  display: grid;
  gap: 10px;
  align-content: start;
}

.packaging-note-editor-layout img,
.packaging-note-editor-layout video {
  width: 100%;
  max-height: 330px;
  border-radius: 8px;
  object-fit: contain;
  background: #f5f7f2;
}

.packaging-note-editor-layout img {
  cursor: zoom-in;
}

.packaging-note-editor-layout video {
  cursor: zoom-in;
  pointer-events: none;
}

.packaging-note-document-frame {
  display: grid;
  align-content: center;
  gap: 10px;
  min-height: 132px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7faf7;
  color: var(--ink);
}

.packaging-note-document-frame strong {
  font-size: 18px;
  font-weight: 900;
  word-break: break-all;
}

.packaging-note-document-frame span {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.packaging-note-media-frame:has(video:not([hidden])) {
  cursor: zoom-in;
}

.packaging-note-editor-layout img:hover,
.packaging-note-media-frame:has(video:not([hidden])):hover video {
  outline: 3px solid rgba(33, 115, 92, 0.18);
}

.packaging-note-editor-text {
  display: grid;
  gap: 8px;
}

.packaging-note-editor-text span {
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
}

.packaging-note-editor-text textarea {
  min-height: 220px;
}

.packaging-note-dialog-actions {
  margin-top: 16px;
}

.packaging-note-dialog-actions .packaging-note-delete {
  color: #a33c34;
}

.packaging-note-dialog-actions .packaging-note-save {
  border-color: var(--green);
  background: var(--green);
  color: #ffffff;
}

.package-upload-panel {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 76px 1fr;
  gap: 16px;
  padding: 18px;
  border: 3px solid #5f7069;
  border-radius: 8px;
  background: #fbfcfb;
}

.package-side-title {
  display: grid;
  place-items: center;
  justify-self: stretch;
  width: 100%;
  padding-left: 3px;
  border-right: 1px solid #c4cec8;
  color: var(--ink);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 6px;
}

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

.upload-box.package-video-supplement {
  position: relative;
  grid-column: 2;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  justify-items: start;
  min-height: 116px;
  margin-top: 2px;
  padding: 16px 18px 16px 22px;
  border: 2.5px dashed #9bab9f;
  border-left: 0;
  background: #f4f7f3;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.86), 0 12px 26px rgba(31, 41, 38, 0.08);
  text-align: left;
}

.upload-box.package-video-supplement.has-files {
  min-height: 190px;
  align-items: start;
  row-gap: 8px;
}

.package-video-supplement::after {
  content: none;
}

.package-video-supplement::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  border-radius: 6px 0 0 6px;
  background: linear-gradient(90deg, #2f7f67 0%, #6fa48f 62%, rgba(111, 164, 143, 0.22) 100%);
  pointer-events: none;
}

.package-video-supplement .video-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin-right: 12px;
}

.package-video-supplement strong {
  grid-column: 2;
  grid-row: 1;
  margin-top: 0;
  color: #111816;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
}

.package-video-supplement em {
  grid-column: 2;
  grid-row: 2;
  max-width: none;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.4;
}

.package-video-supplement .upload-note {
  grid-column: 3;
  grid-row: 1 / span 2;
  justify-self: end;
  margin-top: 0;
  white-space: nowrap;
}

.package-video-supplement .selected-preview-wide {
  position: relative;
  inset: auto;
  z-index: 8;
  grid-column: 1 / -1;
  grid-row: 3;
  display: flex;
  flex-wrap: nowrap;
  width: min(520px, 100%);
  margin-top: 16px;
  max-width: 100%;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(47, 127, 103, 0.14);
  background: rgba(255, 255, 255, 0.9);
  pointer-events: auto;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
}

.package-video-supplement .selected-preview-wide .preview-summary {
  flex: 0 0 108px;
  display: grid;
  place-items: center start;
  font-size: 13px;
  line-height: 1.2;
}

.package-video-supplement .selected-preview-wide .preview-item {
  flex: 0 0 168px;
  min-height: 132px;
  aspect-ratio: 1 / 1;
  pointer-events: auto;
}

.package-video-supplement .selected-preview-wide .preview-note-button {
  left: 6px;
  bottom: 6px;
}

.package-video-supplement .selected-preview-wide .preview-remove {
  width: 24px;
  height: 24px;
  font-size: 18px;
}

.package-upload-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  padding: 18px;
  border: 1px dashed #93a39b;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  text-align: center;
  cursor: pointer;
}

.package-upload-box:not(.package-example-box) {
  padding-top: 14px;
  padding-bottom: 56px;
}

.package-upload-box input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.package-upload-box strong {
  display: block;
  color: #34413c;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.2;
}

.package-upload-box span {
  display: block;
  margin-top: 4px;
  color: #34413c;
  font-size: 21px;
  font-weight: 900;
  line-height: 1.3;
}

.package-upload-box:not(.package-example-box)::after {
  content: "支持文字说明";
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.07);
  color: #66736e;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  pointer-events: none;
}

.section-divider-title {
  position: relative;
  grid-column: 1 / -1;
  margin-top: 18px;
  padding: 24px 0 2px;
  color: var(--ink);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
}

.section-divider-title::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  height: 6px;
  border-top: 1px solid #d9e1dc;
  border-bottom: 1px solid #edf1ee;
}

.package-example-box {
  appearance: none;
  overflow: hidden;
  padding: 0;
}

.package-example-box img {
  width: 100%;
  height: 100%;
  min-height: 150px;
  object-fit: cover;
  display: block;
}

.package-example-box .example-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  margin-top: 0;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(21, 88, 68, 0.92);
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
}

.image-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 28px;
}

.upload-image-modal {
  z-index: 80;
}

.model-settings-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 20px;
}

.model-settings-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(31, 41, 38, 0.42);
  cursor: pointer;
}

.model-settings-dialog {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  padding: 22px;
  border: 1px solid rgba(33, 115, 92, 0.22);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(31, 41, 38, 0.22);
}

.model-settings-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.model-settings-header h3 {
  margin-bottom: 0;
  font-size: 21px;
  line-height: 1.25;
}

.model-settings-close {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.model-settings-body {
  display: grid;
  gap: 16px;
  padding: 18px 0;
}

.model-settings-state {
  padding: 12px;
  border: 1px solid #ead8c5;
  border-radius: 8px;
  background: #fff8f0;
  color: #80521f;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.6;
}

.model-settings-state.is-ready {
  border-color: rgba(33, 115, 92, 0.22);
  background: #f4faf6;
  color: var(--green-dark);
}

.model-settings-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.image-modal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(17, 24, 21, 0.68);
  cursor: zoom-out;
}

.image-modal-content {
  position: relative;
  z-index: 1;
  width: min(1120px, 96vw);
  max-height: 92vh;
  padding: 16px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
}

.upload-image-modal .image-modal-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

.image-modal-content img {
  display: block;
  width: 100%;
  max-height: calc(92vh - 74px);
  object-fit: contain;
}

.image-modal-content video {
  display: block;
  width: 100%;
  max-height: calc(92vh - 132px);
  border-radius: 6px;
  background: #000000;
  pointer-events: none;
}

.upload-image-modal .image-modal-content img,
.upload-image-modal .image-modal-content video {
  flex: 1 1 auto;
  min-height: 0;
}

.upload-image-modal .custom-video-controls {
  flex: 0 0 auto;
  margin-top: 0;
}

.custom-video-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.custom-video-controls button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7faf7;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.custom-video-controls input {
  flex: 1 1 auto;
  height: 4px;
  min-width: 140px;
  padding: 0;
  accent-color: var(--green);
}

.custom-video-controls span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.image-modal-close {
  display: block;
  margin-left: auto;
  margin-bottom: 10px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font-weight: 800;
  cursor: pointer;
}

.upload-box {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 178px;
  padding: 20px;
  border: 1px dashed #aebbb5;
  border-radius: 8px;
  background: #fbfcfb;
  text-align: center;
  cursor: pointer;
}

.detail-note-upload-box {
  display: grid;
  place-items: stretch;
  gap: 18px;
  min-height: 310px;
  padding: 28px 24px;
  text-align: center;
  cursor: default;
}

.detail-note-upload-trigger {
  position: relative;
  display: grid;
  align-content: center;
  gap: 8px;
  place-items: center;
  min-height: 210px;
  cursor: pointer;
}

.detail-note-upload-trigger .upload-icon {
  margin-bottom: 4px;
}

.detail-note-upload-trigger strong {
  margin-top: 4px;
  font-size: 18px;
}

.detail-note-upload-trigger em {
  max-width: 520px;
  font-size: 14px;
  line-height: 1.55;
}

.detail-note-upload-trigger input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.detail-note-collection {
  width: 100%;
  margin-top: 0;
  text-align: left;
}

.upload-box input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.menu-upload-box input {
  display: none;
}

.upload-box strong {
  display: block;
  margin-top: 8px;
  font-size: 16px;
}

.upload-box em {
  display: block;
  max-width: 220px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
}

.upload-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.1);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 800;
}

.upload-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
}

.upload-menu button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.upload-menu button:hover {
  border-color: var(--green);
  background: rgba(33, 115, 92, 0.08);
}

.selected-preview {
  position: absolute;
  inset: 10px;
  z-index: 4;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  pointer-events: auto;
}

.selected-preview-compact {
  display: block;
}

.selected-preview-wide {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 50px;
  align-content: center;
  gap: 8px;
  padding: 10px;
}

.menu-selected-preview {
  display: grid;
  gap: 12px;
  width: min(520px, 100%);
  margin-top: 12px;
  padding: 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
}

.menu-preview-section {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.menu-preview-heading {
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
  text-align: left;
}

.menu-preview-strip {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
  padding-bottom: 6px;
}

.menu-preview-strip .preview-item {
  flex: 0 0 150px;
  height: 92px;
}

.preview-summary {
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 800;
}

.preview-item {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
}

.preview-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.preview-item video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.preview-item.is-clickable-video {
  cursor: zoom-in;
}

.preview-item.is-clickable-preview {
  cursor: zoom-in;
}

.preview-video-placeholder {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  width: 100%;
  height: 100%;
  padding: 10px;
  background: linear-gradient(135deg, #eef2ec 0%, #ffffff 100%);
  color: var(--ink);
  overflow: hidden;
  text-align: center;
}

.preview-video-placeholder img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.preview-video-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.42));
  pointer-events: none;
}

.preview-video-placeholder span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 26px;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 7px;
  background: rgba(21, 88, 68, 0.78);
  color: #ffffff;
  font-size: 13px;
  line-height: 1;
}

.preview-video-placeholder strong {
  position: relative;
  z-index: 2;
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.preview-video-placeholder em {
  position: relative;
  z-index: 2;
  max-width: 100%;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.88);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu-selected-preview .preview-item.is-document {
  flex-basis: 260px;
  min-height: 92px;
}

.preview-file-name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  padding: 10px 48px 34px 14px;
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  overflow: visible;
  text-align: left;
  word-break: break-all;
}

.preview-file-name::before {
  content: "文档";
  flex: 0 0 auto;
  margin-right: 10px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(47, 95, 145, 0.1);
  color: var(--blue);
  font-size: 12px;
}

.document-preview-panel {
  flex: 1 1 auto;
  min-height: 360px;
  overflow: auto;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
}

.document-preview-panel h3 {
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 20px;
}

.document-preview-panel p {
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 14px;
}

.document-preview-panel iframe {
  width: 100%;
  min-height: 62vh;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.document-preview-panel pre {
  min-height: 360px;
  margin: 0;
  padding: 14px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font-family: Consolas, "Microsoft YaHei", monospace;
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-wrap;
}

.document-preview-fallback {
  display: grid;
  place-items: center;
  min-height: 220px;
  padding: 20px;
  border: 1px dashed #9bab9f;
  border-radius: 8px;
  background: #eef2ec;
  color: var(--ink);
  font-weight: 800;
  text-align: center;
}

.preview-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 6;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: rgba(31, 41, 38, 0.82);
  color: #ffffff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}

.preview-remove:hover {
  background: rgba(21, 88, 68, 0.94);
}

.preview-note-button {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 6;
  min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  pointer-events: auto;
}

.preview-note-button:hover {
  background: rgba(33, 115, 92, 0.92);
  color: #ffffff;
}

.upload-icon {
  position: relative;
  width: 38px;
  height: 30px;
  border: 2px solid var(--green);
  border-radius: 6px;
}

.video-icon {
  position: relative;
  width: 44px;
  height: 32px;
  border: 3px solid var(--green);
  border-radius: 8px;
}

.video-icon::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 7px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid var(--green);
}

.upload-icon::before {
  content: "";
  position: absolute;
  left: 7px;
  bottom: 6px;
  width: 20px;
  height: 12px;
  border-left: 2px solid var(--green);
  border-bottom: 2px solid var(--green);
  transform: skewX(-22deg);
}

.upload-icon::after {
  content: "";
  position: absolute;
  right: 7px;
  top: 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
}

.upload-icon.document {
  height: 38px;
  border-color: var(--blue);
}

.upload-icon.detail {
  width: 36px;
  height: 36px;
  border-color: var(--amber);
  border-radius: 50%;
}

.upload-icon.detail::before {
  left: 10px;
  bottom: 10px;
  width: 10px;
  height: 10px;
  border-left-color: var(--amber);
  border-bottom-color: var(--amber);
}

.upload-icon.detail::after {
  right: 8px;
  top: 8px;
  background: var(--amber);
}

.upload-icon.document::before {
  left: auto;
  right: -2px;
  top: -2px;
  width: 12px;
  height: 12px;
  border-left: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  background: #fbfcfb;
  transform: none;
}

.upload-icon.document::after {
  left: 8px;
  right: auto;
  top: 18px;
  width: 18px;
  height: 2px;
  border-radius: 0;
  background: var(--blue);
  box-shadow: 0 7px 0 var(--blue);
}

.submit-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 20px;
  padding: 18px;
  border-radius: 8px;
  background: var(--surface-strong);
}

.analysis-placeholder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(47, 95, 145, 0.2);
  border-radius: 8px;
  background: #f3f7fb;
}

.analysis-placeholder span {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font-size: 16px;
  font-weight: 700;
}

.analysis-placeholder p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 14px;
}

.analysis-placeholder strong {
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--blue);
  font-size: 13px;
}

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

.analysis-stage-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
}

.analysis-stage-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #ffffff;
  color: var(--muted);
}

.analysis-stage-item span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #edf2eb;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}

.analysis-stage-item strong {
  min-width: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.analysis-stage-item.is-active {
  border: 1px solid rgba(33, 115, 92, 0.16);
  background: #f4faf6;
}

.result-summary-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
  gap: 12px;
}

.result-summary-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(33, 115, 92, 0.18);
  border-radius: 8px;
  background: #f4faf6;
}

.result-kicker {
  margin-bottom: 4px;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}

.result-summary-card h3 {
  margin-bottom: 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.25;
}

.result-summary-card p:last-child {
  margin-bottom: 0;
  color: #394640;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}

.analysis-overview-card {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(47, 95, 145, 0.18);
  border-radius: 8px;
  background: #f5f8fb;
}

.analysis-overview-card > strong {
  color: var(--blue);
  font-size: 15px;
  font-weight: 900;
}

.analysis-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.analysis-overview-item {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 8px;
  background: #ffffff;
}

.analysis-overview-item strong {
  color: var(--ink);
  font-size: 25px;
  line-height: 1;
}

.analysis-overview-item span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.result-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.result-stat-card {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.result-stat-card strong {
  color: var(--green-dark);
  font-size: 26px;
  line-height: 1;
}

.result-stat-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.result-section {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.result-section h3 {
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.25;
}

.result-product-heading {
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: 8px;
  background: #ffffff;
}

.result-product-heading strong {
  color: var(--ink);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.25;
}

.result-product-heading p {
  margin-bottom: 0;
  color: #4b5953;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.analysis-result-section {
  border-color: rgba(33, 115, 92, 0.16);
  background: #fbfdfb;
}

.analysis-primary-section {
  border-left: 4px solid var(--green);
}

.analysis-primary-section + .analysis-result-section {
  position: relative;
  margin-top: 18px;
}

.analysis-primary-section + .analysis-result-section::before {
  content: "";
  position: absolute;
  top: -23px;
  right: 0;
  left: 0;
  height: 4px;
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.58);
  box-shadow: 0 1px 0 rgba(33, 115, 92, 0.12);
}

.analysis-section-header,
.analysis-dimension-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.analysis-section-header span {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #edf3f0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.analysis-section-header span.is-model {
  background: rgba(33, 115, 92, 0.1);
  color: var(--green-dark);
}

.analysis-section-header span.is-fallback {
  background: #fff7ed;
  color: #8a5a22;
}

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

.analysis-mini-card,
.analysis-user-item,
.analysis-dimension-card,
.analysis-parameter-result-card,
.analysis-gap-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.analysis-mini-card strong,
.analysis-user-item strong,
.analysis-dimension-card strong,
.analysis-parameter-result-card strong,
.analysis-gap-card strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.analysis-mini-card p,
.analysis-user-item p,
.analysis-dimension-card p,
.analysis-parameter-result-card p,
.analysis-gap-card p {
  margin: 6px 0 0;
  color: #4b5953;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
  word-break: break-word;
}

.analysis-mini-card small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.analysis-user-list,
.analysis-dimension-list {
  display: grid;
  gap: 10px;
}

.analysis-parameter-group {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(33, 115, 92, 0.18);
  border-radius: 8px;
  background: #ffffff;
}

.analysis-parameter-group.is-core {
  border-left: 4px solid var(--green);
}

.analysis-parameter-group.is-auxiliary {
  border-left: 4px solid #789188;
}

.analysis-parameter-group-heading {
  display: grid;
  gap: 4px;
}

.analysis-parameter-group-heading h4 {
  margin: 0;
  color: var(--ink);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.3;
}

.analysis-parameter-group-heading p {
  margin: 0;
  color: #52625a;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

.analysis-user-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
}

.analysis-user-item p {
  grid-column: 1 / -1;
}

.analysis-dimension-reason {
  margin-top: 8px !important;
  color: #5f6d66 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

.analysis-parameter-result-card {
  display: grid;
  gap: 8px;
}

.analysis-parameter-result-card strong {
  font-size: 15px;
}

.analysis-parameter-reason {
  margin-top: 0 !important;
  color: #4f6259 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
}

.analysis-parameter-role-reason {
  margin-top: 0 !important;
  color: #66756e !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
}

.analysis-review-panel {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(47, 95, 145, 0.18);
  border-left: 4px solid var(--blue);
  border-radius: 8px;
  background: #f7fafc;
}

.analysis-review-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.analysis-review-heading strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
}

.analysis-review-heading span,
.analysis-review-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
}

.analysis-review-panel p {
  margin: 0;
  color: #4b5953;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
}

.analysis-review-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.parameter-entry-panel {
  gap: 16px;
}

.parameter-workspace {
  display: grid;
  gap: 18px;
}

.parameter-top-grid {
  display: grid;
  position: relative;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.parameter-top-grid::before {
  display: none;
  content: none;
}

.parameter-task-block {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.parameter-task-block.is-primary {
  border-color: rgba(33, 115, 92, 0.22);
  background: #fbfdfb;
}

.parameter-task-block.is-acquire {
  border-color: rgba(47, 95, 145, 0.2);
  background: #fbfcff;
}

.parameter-task-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
}

.parameter-task-heading span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(33, 115, 92, 0.12);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}

.parameter-task-heading h4 {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
}

.parameter-task-heading p {
  margin: 2px 0 0;
  color: #5d6b65;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

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

.parameter-action-card {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(33, 115, 92, 0.16);
  border-radius: 8px;
  background: #ffffff;
}

.parameter-action-card strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.parameter-action-card p {
  margin: 0;
  color: #5d6b65;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

.parameter-action-card button {
  justify-self: start;
  margin-top: 2px;
}

.parameter-progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.parameter-progress-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid rgba(33, 115, 92, 0.2);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  background: #ffffff;
}

.parameter-progress-card span {
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}

.parameter-role-jump {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.parameter-role-badge {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 30px;
  padding: 4px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 900;
  font-family: inherit;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}

.parameter-role-badge::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 5px solid currentColor;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  opacity: 0.72;
}

.parameter-role-badge[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.parameter-role-badge:disabled {
  cursor: default;
  opacity: 0.72;
}

.parameter-role-badge.is-core {
  border-color: rgba(33, 115, 92, 0.28);
  background: rgba(33, 115, 92, 0.1);
}

.parameter-role-badge.is-auxiliary {
  border-color: rgba(47, 95, 145, 0.24);
  background: rgba(47, 95, 145, 0.08);
  color: var(--blue);
}

.parameter-jump-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 20;
  display: grid;
  gap: 6px;
  width: max-content;
  min-width: 250px;
  max-width: min(420px, 82vw);
  max-height: 178px;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  padding: 8px;
  border: 1px solid rgba(33, 115, 92, 0.18);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(24, 38, 32, 0.14);
}

.parameter-jump-menu::-webkit-scrollbar {
  width: 8px;
}

.parameter-jump-menu::-webkit-scrollbar-track {
  border-radius: 999px;
  background: #eef4f0;
}

.parameter-jump-menu::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.42);
}

.parameter-jump-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(33, 115, 92, 0.62);
}

.parameter-jump-menu[hidden] {
  display: none;
}

.parameter-jump-item {
  appearance: none;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #2f3a35;
  font-family: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.parameter-jump-item:hover,
.parameter-jump-item.is-current {
  border-color: rgba(33, 115, 92, 0.18);
  background: #f1f6f3;
  color: var(--green-dark);
}

.parameter-progress-card h3 {
  display: inline;
  justify-self: start;
  margin: 0;
  padding: 0 4px 2px;
  background: linear-gradient(
    to top,
    rgba(33, 115, 92, 0.14) 0%,
    rgba(33, 115, 92, 0.08) 36%,
    rgba(33, 115, 92, 0) 76%
  );
  border-radius: 3px;
  color: var(--ink);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.3;
}

.parameter-progress-card p {
  margin: 0;
  color: #53625b;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.55;
}

.parameter-evidence-panel {
  display: grid;
  gap: 12px;
}

.parameter-evidence-panel[hidden],
.parameter-evidence-body[hidden] {
  display: none;
}

.parameter-evidence-toggle {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 62px;
  padding: 14px 18px 14px 16px;
  border: 1px solid rgba(33, 115, 92, 0.3);
  border-left: 5px solid var(--green);
  border-radius: 8px;
  background: #f3f8f5;
  color: var(--ink);
  font-family: inherit;
  text-align: left;
  box-shadow: 0 10px 24px rgba(24, 64, 48, 0.08);
  cursor: pointer;
}

.parameter-evidence-toggle:hover,
.parameter-evidence-toggle[aria-expanded="true"] {
  border-color: rgba(33, 115, 92, 0.46);
  border-left-color: var(--green-dark);
  background: #eef6f1;
  box-shadow: 0 14px 30px rgba(24, 64, 48, 0.12);
}

.parameter-evidence-toggle span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.35;
}

.parameter-evidence-toggle span::before {
  content: "";
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(33, 115, 92, 0.34);
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(33, 115, 92, 0.1);
}

.parameter-evidence-toggle em {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  margin-left: auto;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(33, 115, 92, 0.24);
  border-radius: 999px;
  background: #ffffff;
  color: #5c6b64;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  text-align: right;
}

.parameter-evidence-toggle::after {
  content: "";
  flex: 0 0 auto;
  width: 0;
  height: 0;
  border-top: 6px solid var(--green-dark);
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  opacity: 0.8;
}

.parameter-evidence-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.parameter-evidence-field {
  margin: 0;
}

.parameter-evidence-text-pane {
  min-width: 0;
}

.parameter-evidence-text-wrap {
  position: relative;
  display: grid;
  min-width: 0;
}

.parameter-evidence-text-wrap textarea {
  min-height: 250px;
  padding-bottom: 58px;
  resize: vertical;
}

.parameter-evidence-doc-trigger {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(33, 115, 92, 0.24);
  border-radius: 999px;
  background: #eef5f1;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.parameter-evidence-doc-trigger:hover {
  border-color: var(--green);
  background: #e2eee8;
}

.parameter-evidence-doc-trigger input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.parameter-evidence-document-collection {
  margin-top: 2px;
}

.packaging-note-document-thumb {
  display: grid;
  align-content: center;
  gap: 5px;
  width: 100%;
  height: 70px;
  padding: 8px;
  border-radius: 6px;
  background: #eef3ef;
  text-align: left;
}

.packaging-note-document-thumb strong {
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.packaging-note-document-thumb em,
.packaging-note-document-thumb span {
  overflow: hidden;
  color: #53635b;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.packaging-note-media-frame.is-document-previewable {
  cursor: zoom-in;
}

.packaging-note-media-frame.is-document-previewable .packaging-note-document-frame {
  border-color: rgba(33, 115, 92, 0.32);
}

.core-market-pool {
  display: grid;
  gap: 10px;
  margin-top: 6px;
  padding: 12px;
  border: 1px solid rgba(33, 115, 92, 0.18);
  border-radius: 8px;
  background: #f8faf7;
}

.core-market-pool.is-auxiliary {
  border-color: rgba(47, 95, 145, 0.2);
  background: #f7fafe;
}

.core-market-pool[hidden] {
  display: none;
}

.core-market-pool-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.core-market-pool-header div {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}

.core-market-pool-header span {
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 900;
}

.core-market-pool.is-auxiliary .core-market-pool-header span {
  color: var(--blue);
}

.core-market-pool-header strong {
  color: var(--ink);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.auxiliary-state-diamond {
  position: relative;
  display: inline-grid;
  place-items: center;
  min-width: 46px;
  height: 30px;
  margin-left: 3px;
  padding: 0 12px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  isolation: isolate;
}

.auxiliary-state-diamond::before {
  content: "";
  position: absolute;
  inset: 2px 5px;
  z-index: -1;
  border-radius: 7px;
  background: var(--blue);
  transform: skew(-18deg);
  box-shadow: 0 7px 16px rgba(47, 95, 145, 0.16);
}

.auxiliary-state-diamond[hidden] {
  display: none;
}

.auxiliary-state-diamond.is-excellent::before {
  background: var(--green);
}

.auxiliary-state-diamond.is-good::before {
  background: var(--blue);
}

.auxiliary-state-diamond.is-poor::before {
  background: var(--amber);
}

.auxiliary-state-diamond.is-unscored {
  color: #586660;
}

.auxiliary-state-diamond.is-unscored::before {
  background: #e5ece7;
  box-shadow: none;
}

.auxiliary-state-diamond.core-state-diamond.is-met::before {
  background: var(--green);
}

.auxiliary-state-diamond.core-state-diamond.is-high-met::before {
  background: #155844;
}

.auxiliary-state-diamond.core-state-diamond.is-unmet::before {
  background: var(--amber);
}

.core-market-pool-header em {
  color: #53625b;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.45;
  text-align: right;
}

.core-market-pool.is-complete .core-market-pool-header em {
  color: var(--green-dark);
}

.core-market-pool.is-auxiliary.is-excellent .core-market-pool-header strong,
.core-market-pool.is-auxiliary.is-excellent .core-market-pool-header em {
  color: var(--green-dark);
}

.core-market-pool.is-auxiliary.is-good .core-market-pool-header strong,
.core-market-pool.is-auxiliary.is-good .core-market-pool-header em {
  color: var(--blue);
}

.core-market-pool.is-auxiliary.is-poor .core-market-pool-header strong,
.core-market-pool.is-auxiliary.is-poor .core-market-pool-header em {
  color: #9a431c;
}

.core-market-pool.is-auxiliary.is-complete .core-market-pool-header em {
  color: var(--blue);
}

.core-market-track {
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.12);
}

.core-market-track i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
  transition: width 220ms ease;
}

.core-market-pool.is-auxiliary .core-market-track {
  background: rgba(47, 95, 145, 0.12);
}

.core-market-pool.is-auxiliary .core-market-track i {
  background: var(--blue);
}

.core-market-pool.is-auxiliary.is-excellent .core-market-track i {
  background: var(--green);
}

.core-market-pool.is-auxiliary.is-good .core-market-track i {
  background: var(--blue);
}

.core-market-pool.is-auxiliary.is-poor .core-market-track i {
  background: var(--amber);
}

.core-market-pool.is-auxiliary.is-pending .core-market-track i {
  background: #9ba8a2;
}

.core-market-cells {
  display: flex;
  flex-wrap: nowrap;
  gap: 7px;
  max-width: 100%;
  margin-top: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 5px 8px 12px 10px;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
  scrollbar-color: rgba(33, 115, 92, 0.42) #eef4f0;
  scrollbar-width: thin;
}

.core-market-cells::-webkit-scrollbar {
  height: 8px;
}

.core-market-cells::-webkit-scrollbar-track {
  border-radius: 999px;
  background: #eef4f0;
}

.core-market-cells::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.42);
}

.core-market-cells::-webkit-scrollbar-thumb:hover {
  background: rgba(33, 115, 92, 0.62);
}

.core-market-cell {
  appearance: none;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid rgba(33, 115, 92, 0.22);
  border-radius: 8px;
  background: #ffffff;
  color: #53625b;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.core-market-cell:hover {
  border-color: var(--green);
  color: var(--green-dark);
}

.core-market-cell.is-met {
  border-color: var(--green);
  background: var(--green);
  color: #ffffff;
}

.core-market-cell.auxiliary-performance-cell.is-analyzed {
  border-color: var(--blue);
  background: var(--blue);
  color: #ffffff;
}

.core-market-cell.auxiliary-performance-cell:not(.is-analyzed) {
  border-color: #cfd8d2;
  background: #ffffff;
  color: #6b7972;
}

.core-market-cell.is-current {
  position: relative;
  z-index: 2;
  border-color: #ff8a00;
  box-shadow:
    0 0 0 3px rgba(255, 138, 0, 0.36),
    0 9px 20px rgba(255, 138, 0, 0.26);
  transform: translateY(-1px) scale(1.08);
}

.core-market-pool.is-auxiliary .core-market-cell.is-current {
  border-color: #ff8a00;
  box-shadow:
    0 0 0 3px rgba(255, 138, 0, 0.38),
    0 9px 20px rgba(255, 138, 0, 0.28);
}

.parameter-input-field {
  margin: 0;
}

.parameter-analysis-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.parameter-analysis-result {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf7;
}

.parameter-score-card {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  min-height: 160px;
  border-radius: 8px;
  background: #ffffff;
  color: var(--green-dark);
  text-align: center;
}

.parameter-score-card span,
.parameter-score-card em {
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.parameter-score-card strong {
  color: var(--ink);
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
}

.parameter-result-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.parameter-result-copy h4 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
}

.parameter-result-copy p,
.parameter-result-copy li {
  color: #4b5953;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.6;
}

.parameter-result-copy p {
  margin: 0;
}

.parameter-result-copy ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.parameter-info-result {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(47, 95, 145, 0.18);
  border-radius: 8px;
  background: #ffffff;
}

.parameter-reference-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
}

.parameter-reference-column {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf7;
}

.parameter-reference-column:nth-child(2) {
  background: #f5f8fb;
}

.parameter-reference-column > strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.parameter-info-result h4 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
}

.parameter-info-result p,
.parameter-info-result li,
.parameter-info-result dd,
.parameter-info-result dt {
  color: #4b5953;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.6;
}

.parameter-info-result p {
  margin: 0;
}

.parameter-info-result ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.parameter-info-result dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.parameter-info-result dl div {
  min-width: 0;
  padding: 10px;
  border-radius: 8px;
  background: #f8faf7;
}

.parameter-info-result dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.parameter-info-result dd {
  margin: 2px 0 0;
  color: var(--green-dark);
  font-weight: 900;
}

.analysis-priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.analysis-priority.is-high {
  background: #fbeee8;
  color: #9a431c;
}

.analysis-priority.is-medium {
  background: #fff8dc;
  color: #7b5a00;
}

.analysis-priority.is-low {
  background: #edf3f0;
  color: var(--green-dark);
}

.analysis-parameter-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.analysis-parameter-list.is-simple {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.analysis-parameter-prefix {
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

.analysis-parameter-chip {
  min-width: 0;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
}

.analysis-parameter-chip strong {
  color: #394640;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}

.analysis-parameter-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 10px;
  padding: 9px;
  border-radius: 8px;
  background: #f8faf7;
}

.analysis-parameter-item strong {
  font-size: 13px;
}

.analysis-parameter-item span {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.analysis-parameter-item p {
  grid-column: 1 / -1;
  margin-top: 0;
  font-size: 13px;
}

.analysis-engine-note {
  color: #8a5a22 !important;
  font-size: 13px !important;
}

.analysis-subtitle {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.result-panel > .submit-area {
  justify-content: flex-end;
}

.final-summary-panel {
  gap: 16px;
}

.final-verdict-card {
  display: grid;
  gap: 12px;
  padding: 22px;
  border: 1px solid rgba(33, 115, 92, 0.2);
  border-radius: 8px;
  background: #f7fbf8;
}

.final-verdict-card.is-blocked {
  border-color: rgba(181, 106, 42, 0.24);
  background: #fffaf2;
}

.final-verdict-card > span {
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}

.final-verdict-card.is-blocked > span {
  color: #8a4618;
}

.final-verdict-card > strong {
  color: var(--ink);
  font-size: 32px;
  font-weight: 900;
  line-height: 1.2;
}

.final-verdict-card p {
  max-width: 860px;
  margin: 0;
  color: #44534d;
  font-size: 15px;
  font-weight: 800;
}

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

.final-core-filter-card {
  appearance: none;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(33, 115, 92, 0.14);
  border-radius: 8px;
  background: #ffffff;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.final-core-filter-card:hover,
.final-core-filter-card.is-active {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(31, 41, 38, 0.08);
}

.final-core-filter-card.is-active {
  border-width: 2px;
}

.final-core-filter-card.is-high-met {
  border-color: rgba(21, 88, 68, 0.34);
  background: #eef8f3;
}

.final-core-filter-card.is-met {
  border-color: rgba(47, 95, 145, 0.34);
  background: #f1f6fb;
}

.final-core-filter-card.is-unmet {
  border-color: rgba(181, 106, 42, 0.34);
  background: #fff4e8;
}

.final-core-filter-card.is-active.is-high-met {
  border-color: var(--green-dark);
}

.final-core-filter-card.is-active.is-met {
  border-color: var(--blue);
}

.final-core-filter-card.is-active.is-unmet {
  border-color: var(--amber);
}

.final-core-filter-card:not(.is-high-met):not(.is-met):not(.is-unmet).is-active {
  border-color: #7d8a84;
}

.final-core-filter-card {
  min-width: 0;
}

.final-core-filter-card strong {
  display: block;
  color: var(--ink);
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
}

.final-core-filter-card.is-high-met strong {
  color: var(--green-dark);
}

.final-core-filter-card.is-met strong {
  color: var(--blue);
}

.final-core-filter-card.is-unmet strong {
  color: #9a431c;
}

.final-core-filter-card span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

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

.final-parameter-section.is-core {
  border-left: 4px solid var(--green);
  border-radius: 8px 8px 0 0;
}

.final-parameter-section.is-auxiliary {
  position: relative;
  margin-top: 30px;
  border-left: 4px solid var(--blue);
  border-radius: 8px 8px 0 0;
}

.final-core-summary-section {
  position: relative;
  margin-top: -8px;
  padding-top: 10px;
  border-left: 4px solid var(--green);
  border-radius: 0 0 8px 8px;
}

.final-core-summary-section::before {
  content: "";
  position: absolute;
  top: -14px;
  left: -4px;
  right: -1px;
  height: 32px;
  border-left: 4px solid var(--green);
  border-right: 1px solid var(--line);
  border-radius: 0 8px 0 0;
  background: linear-gradient(180deg, rgba(33, 115, 92, 0.12) 0%, rgba(33, 115, 92, 0.05) 48%, rgba(33, 115, 92, 0) 100%);
  pointer-events: none;
}

.final-core-summary-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(33, 115, 92, 0.2);
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fcf8 0%, #ffffff 100%);
}

.final-core-summary-card.is-loading {
  background: #fbfdfb;
}

.final-core-summary-card.is-error {
  border-color: rgba(181, 106, 42, 0.24);
  background: #fffaf2;
}

.final-core-summary-header {
  display: grid;
  gap: 10px;
}

.final-core-summary-header h3 {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 900;
}

.final-core-summary-header > strong {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 8px 12px;
  border-radius: 8px;
  background: linear-gradient(0deg, rgba(33, 115, 92, 0.16) 0%, rgba(33, 115, 92, 0.08) 54%, rgba(33, 115, 92, 0.02) 100%);
  color: var(--ink);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.25;
}

.final-core-summary-card.is-error .final-core-summary-header > strong {
  background: linear-gradient(0deg, rgba(181, 106, 42, 0.18) 0%, rgba(181, 106, 42, 0.08) 55%, rgba(181, 106, 42, 0.02) 100%);
}

.final-core-summary-card > p {
  max-width: 900px;
  margin: 0;
  color: #40524a;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.75;
}

.final-core-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.final-core-summary-grid > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(33, 115, 92, 0.12);
  border-radius: 8px;
  background: #ffffff;
}

.final-core-summary-grid span {
  display: block;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}

.final-core-summary-grid ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.final-core-summary-grid li {
  color: #44534d;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.55;
}

.final-auxiliary-overview {
  display: grid;
  gap: 12px;
  padding: 22px;
  border: 1px solid rgba(47, 95, 145, 0.2);
  border-radius: 8px;
  background: #f7fafe;
}

.final-auxiliary-overview-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.final-auxiliary-overview-header > strong {
  color: var(--ink);
  font-size: 32px;
  font-weight: 900;
  line-height: 1.2;
}

.final-auxiliary-overview > p {
  max-width: 860px;
  margin: 0;
  color: #44534d;
  font-size: 15px;
  font-weight: 800;
}

.final-verdict-stats.is-auxiliary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.final-auxiliary-summary-section {
  position: relative;
  margin-top: -8px;
  padding-top: 10px;
  border-left: 4px solid var(--blue);
  border-radius: 0 0 8px 8px;
}

.final-auxiliary-summary-section::before {
  content: "";
  position: absolute;
  top: -14px;
  left: -4px;
  right: -1px;
  height: 32px;
  border-left: 4px solid var(--blue);
  border-right: 1px solid var(--line);
  border-radius: 0 8px 0 0;
  background: linear-gradient(180deg, rgba(47, 95, 145, 0.12) 0%, rgba(47, 95, 145, 0.05) 48%, rgba(47, 95, 145, 0) 100%);
  pointer-events: none;
}

.final-auxiliary-summary-card {
  border-color: rgba(47, 95, 145, 0.2);
  background: linear-gradient(180deg, #f7fafe 0%, #ffffff 100%);
}

.final-auxiliary-summary-card.is-loading {
  background: #fbfdff;
}

.final-auxiliary-summary-header > strong {
  background: linear-gradient(0deg, rgba(47, 95, 145, 0.16) 0%, rgba(47, 95, 145, 0.08) 54%, rgba(47, 95, 145, 0.02) 100%);
}

.final-auxiliary-summary-card.is-error .final-auxiliary-summary-header > strong {
  background: linear-gradient(0deg, rgba(181, 106, 42, 0.18) 0%, rgba(181, 106, 42, 0.08) 55%, rgba(181, 106, 42, 0.02) 100%);
}

.final-auxiliary-summary-grid > div {
  border-color: rgba(47, 95, 145, 0.14);
}

.final-auxiliary-summary-grid span {
  color: var(--blue);
}

.auxiliary-filter-card.is-excellent {
  border-color: rgba(21, 88, 68, 0.34);
  background: #eef8f3;
}

.auxiliary-filter-card.is-good {
  border-color: rgba(47, 95, 145, 0.34);
  background: #f1f6fb;
}

.auxiliary-filter-card.is-poor {
  border-color: rgba(181, 106, 42, 0.34);
  background: #fff4e8;
}

.auxiliary-filter-card.is-unscored {
  border-color: rgba(126, 139, 132, 0.28);
  background: #f6f8f6;
}

.auxiliary-filter-card.is-active.is-excellent {
  border-color: var(--green-dark);
}

.auxiliary-filter-card.is-active.is-good {
  border-color: var(--blue);
}

.auxiliary-filter-card.is-active.is-poor {
  border-color: var(--amber);
}

.auxiliary-filter-card.is-active.is-unscored {
  border-color: #7d8a84;
}

.auxiliary-filter-card.is-excellent strong {
  color: var(--green-dark);
}

.auxiliary-filter-card.is-good strong {
  color: var(--blue);
}

.auxiliary-filter-card.is-poor strong {
  color: #9a431c;
}

.auxiliary-filter-card.is-unscored strong {
  color: #52625a;
}

.final-parameter-list {
  display: grid;
  gap: 10px;
}

.final-parameter-card {
  appearance: none;
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.final-parameter-card[data-final-core-card-id],
.final-parameter-card[data-final-auxiliary-card-id] {
  cursor: default;
}

.final-parameter-card:hover {
  border-color: rgba(33, 115, 92, 0.36);
  background: #fbfdfb;
}

.final-parameter-card.is-located {
  border-color: var(--green-dark);
  box-shadow: 0 0 0 3px rgba(33, 115, 92, 0.12), 0 14px 28px rgba(23, 44, 36, 0.1);
}

.final-parameter-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.final-parameter-card-header strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.final-parameter-status {
  flex: 0 0 auto;
  min-width: 58px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.final-parameter-status.is-high-met,
.final-parameter-status.is-excellent {
  background: var(--green);
}

.final-parameter-status.is-high-met {
  background: var(--green-dark);
}

.final-parameter-status.is-met {
  background: var(--blue);
}

.final-parameter-status.is-good {
  background: var(--blue);
}

.final-parameter-status.is-unmet,
.final-parameter-status.is-poor {
  background: var(--amber);
}

.final-parameter-status.is-unscored {
  background: #dfe7e2;
  color: #52625a;
}

.final-parameter-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.final-parameter-meta span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef4f0;
  color: #4f6259;
  font-size: 12px;
  font-weight: 900;
}

.final-parameter-card p {
  margin: 0;
  color: #4b5953;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.55;
}

.final-parameter-card-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 2px;
}

.final-parameter-edit-button {
  appearance: none;
  padding: 7px 10px;
  border: 1px solid rgba(33, 115, 92, 0.18);
  border-radius: 7px;
  background: #f4faf6;
  color: var(--green-dark);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.final-parameter-edit-button:hover {
  border-color: var(--green);
  background: #eaf5ef;
}

.scoring-panel {
  gap: 16px;
}

.scoring-hero {
  display: grid;
  grid-template-columns: minmax(230px, 0.38fr) minmax(230px, 0.38fr) minmax(280px, 1fr);
  gap: 12px;
}

.score-axis-card,
.score-verdict-card {
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.score-axis-card {
  border-color: rgba(33, 115, 92, 0.2);
  background: #f7fbf8;
  gap: 18px;
}

.score-axis-card.is-parameter {
  border-color: rgba(47, 95, 145, 0.2);
  background: #f5f8fb;
}

.score-axis-heading {
  display: grid;
  gap: 4px;
}

.score-verdict-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.score-axis-heading strong {
  color: #27312d;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.15;
}

.score-axis-heading em {
  color: #4b5953;
  font-size: 18px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.3;
  white-space: nowrap;
}

.score-main-line {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.score-main-line strong {
  color: var(--ink);
  font-size: 44px;
  line-height: 1;
}

.score-main-line small {
  color: var(--muted);
  font-size: 18px;
  font-weight: 900;
}

.score-progress {
  overflow: hidden;
  height: 10px;
  margin-top: -2px;
  border-radius: 999px;
  background: rgba(33, 115, 92, 0.12);
}

.score-axis-card.is-parameter .score-progress {
  background: rgba(47, 95, 145, 0.12);
}

.score-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
  transition: width 220ms ease;
}

.score-axis-card.is-parameter .score-progress i {
  background: var(--blue);
}

.score-axis-card p,
.score-verdict-card p {
  margin-bottom: 0;
  color: #4b5953;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.6;
}

.score-point-breakdown {
  display: grid;
  gap: 0;
  margin-top: 4px;
  border-top: 1px solid rgba(33, 115, 92, 0.16);
}

.score-axis-card.is-parameter .score-point-breakdown {
  border-top-color: rgba(47, 95, 145, 0.16);
}

.score-point-breakdown div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  padding: 18px 0;
}

.score-point-breakdown div + div {
  border-top: 1px solid rgba(33, 115, 92, 0.14);
}

.score-axis-card.is-parameter .score-point-breakdown div + div {
  border-top-color: rgba(47, 95, 145, 0.16);
}

.score-point-breakdown strong {
  color: var(--ink);
  font-size: 44px;
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
}

.score-point-breakdown span {
  color: var(--muted);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.35;
  white-space: nowrap;
}

.score-verdict-card {
  border-color: rgba(181, 106, 42, 0.24);
  background: #fffaf2;
}

.score-verdict-card strong {
  color: var(--ink);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.3;
}

.scoring-section {
  gap: 14px;
}

.scoring-dimension-section {
  border-left: 4px solid var(--green);
}

.scoring-parameter-section {
  position: relative;
  margin-top: 18px;
  border-left: 4px solid var(--blue);
}

.scoring-parameter-section::before {
  content: "";
  position: absolute;
  top: -23px;
  right: 0;
  left: 0;
  height: 4px;
  border-radius: 999px;
  background: rgba(47, 95, 145, 0.58);
  box-shadow: 0 1px 0 rgba(47, 95, 145, 0.12);
}

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

.dimension-score-card,
.parameter-score-group,
.scoring-insight-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.score-card-header,
.parameter-score-group-header,
.parameter-score-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.score-card-header strong,
.parameter-score-group-header strong,
.parameter-score-item strong,
.scoring-insight-card > strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.score-value {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  min-width: 66px;
  padding: 7px 10px;
  border-radius: 8px;
  background: #edf3f0;
}

.score-value strong {
  color: inherit;
  font-size: 24px;
  line-height: 1;
  white-space: nowrap;
}

.score-value span {
  margin-top: 3px;
  color: inherit;
  font-size: 12px;
  font-weight: 900;
}

.score-value.is-good {
  background: #eaf6ef;
  color: var(--green-dark);
}

.score-value.is-medium {
  background: #fff8dc;
  color: #7b5a00;
}

.score-value.is-weak {
  background: #fff1e6;
  color: #9a431c;
}

.score-value.is-risk {
  background: #fbe8e8;
  color: #982b2b;
}

.point-value {
  min-width: 92px;
}

.point-value strong {
  font-size: 20px;
}

.risk-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 96px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 900;
  white-space: nowrap;
}

.risk-value.is-high-risk {
  background: #fbe8e8;
  color: #982b2b;
}

.risk-value.is-mid-risk {
  background: #fff1e6;
  color: #9a431c;
}

.risk-value.is-low-risk {
  background: #eaf6ef;
  color: var(--green-dark);
}

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

.score-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #edf3f0;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.dimension-score-card p,
.parameter-score-item p,
.scoring-insight-card p {
  margin: 8px 0 0;
  color: #4b5953;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.55;
}

.dimension-score-card small,
.parameter-score-item small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.parameter-score-group {
  display: grid;
  gap: 9px;
}

.parameter-score-group-header {
  padding-bottom: 9px;
  border-bottom: 1px solid var(--line);
}

.parameter-score-group-header span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.parameter-score-item {
  padding: 10px;
  border-radius: 8px;
  background: #f8faf7;
}

.parameter-score-item > div:first-child {
  min-width: 0;
}

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

.scoring-insight-card {
  display: grid;
  align-content: start;
  gap: 8px;
}

.scoring-insight-card p {
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.result-evidence-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.result-evidence-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  cursor: pointer;
}

.result-evidence-panel summary::-webkit-details-marker {
  display: none;
}

.result-evidence-panel summary strong {
  color: var(--ink);
  font-size: 16px;
  font-weight: 900;
}

.result-evidence-panel summary span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.result-evidence-panel[open] summary {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.result-evidence-panel[open] .result-stats,
.result-evidence-panel[open] .result-section {
  margin-top: 12px;
}

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

.result-row {
  min-width: 0;
  padding: 12px;
  border-radius: 8px;
  background: #fbfcfb;
}

.result-row strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
}

.result-row p {
  margin-bottom: 0;
  color: #4b5953;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

.result-asset-list,
.result-asset-group {
  display: grid;
  gap: 12px;
}

.result-asset-group h4 {
  margin: 0;
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 900;
}

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

.result-asset-item {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
}

.result-asset-thumb {
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 76px;
  height: 76px;
  border-radius: 8px;
  background: #eef2ec;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 900;
}

.result-asset-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.result-asset-thumb.is-video {
  position: relative;
  background: #dfe8e2;
}

.result-asset-thumb.is-video span {
  position: absolute;
  inset: auto 8px 8px;
  display: grid;
  place-items: center;
  min-height: 24px;
  border-radius: 999px;
  background: rgba(21, 88, 68, 0.88);
  color: #ffffff;
  font-size: 12px;
}

.result-asset-body {
  min-width: 0;
}

.result-asset-body strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.result-asset-body p,
.result-asset-body small,
.result-empty {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  word-break: break-word;
}

.action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.action-row p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 14px;
}

.button-group {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.submit-area h3 {
  margin-bottom: 4px;
  font-size: 17px;
}

.submit-area p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 14px;
}

.submit-status,
.score-status {
  flex: 1 1 100%;
  margin: 4px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(47, 95, 145, 0.18);
  border-radius: 8px;
  background: #f5f8fb;
  color: var(--blue);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.6;
}

.submit-status.is-error,
.score-status.is-error {
  border-color: #eed0bf;
  background: #fff6f0;
  color: #9a431c;
}

.primary-button,
.secondary-button {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
}

.primary-button {
  border: 0;
  background: var(--green);
  color: #ffffff;
}

.primary-button:hover {
  background: var(--green-dark);
}

.primary-button:disabled,
.secondary-button:disabled {
  opacity: 0.72;
  cursor: default;
}

.primary-button:disabled:hover {
  background: var(--green);
}

.secondary-button {
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
}

.secondary-button:hover {
  border-color: var(--green);
  color: var(--green-dark);
}

@media (max-width: 920px) {
  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .intro-band {
    grid-template-columns: 1fr;
  }

  .flow-line {
    width: 1px;
    height: 18px;
    margin-left: 15px;
  }

  .upload-grid {
    grid-template-columns: 1fr;
  }

  .detail-upload-grid {
    grid-template-columns: 1fr;
  }

  .video-upload-grid {
    grid-template-columns: 1fr;
  }

  .package-upload-panel {
    grid-template-columns: 1fr;
  }

  .package-video-supplement {
    grid-column: 1;
  }

  .package-side-title {
    min-height: 58px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    font-size: 24px;
  }

  .package-upload-grid {
    grid-template-columns: 1fr;
  }

  .analysis-stage-strip,
  .result-summary-layout {
    grid-template-columns: 1fr;
  }

  .parameter-analysis-result {
    grid-template-columns: 1fr;
  }

  .parameter-top-grid,
  .parameter-reference-split {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .parameter-top-grid::before {
    display: none;
  }

  .parameter-action-grid {
    grid-template-columns: 1fr;
  }

  .parameter-evidence-toggle {
    align-items: flex-start;
    flex-direction: column;
  }

  .parameter-evidence-toggle em {
    text-align: left;
  }

  .parameter-info-result dl {
    grid-template-columns: 1fr;
  }

  .result-stats,
  .result-detail-grid,
  .result-asset-items,
  .analysis-card-grid,
  .analysis-gap-grid,
  .final-core-summary-grid,
  .final-verdict-stats,
  .final-verdict-stats.is-auxiliary,
  .scoring-hero,
  .scoring-insight-grid {
    grid-template-columns: 1fr;
  }

  .packaging-note-split {
    grid-template-columns: 1fr;
  }

  .packaging-note-media-pane {
    padding-top: 16px;
    padding-left: 0;
    border-top: 1px solid #dde6e1;
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .app-shell {
    width: min(100% - 24px, 1180px);
    padding-top: 18px;
  }

  .panel {
    padding: 18px;
  }

  .panel-header,
  .submit-area,
  .action-row,
  .analysis-placeholder {
    align-items: stretch;
    flex-direction: column;
  }

  .packaging-note-upload,
  .packaging-note-card {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .packaging-note-upload {
    flex-direction: column;
  }

  .packaging-note-upload label {
    width: 100%;
  }

  .packaging-note-card {
    grid-template-columns: 1fr;
  }

  .packaging-note-editor-layout {
    grid-template-columns: 1fr;
  }

  .packaging-note-dialog-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .package-video-supplement {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .package-video-supplement .video-icon,
  .package-video-supplement strong,
  .package-video-supplement em,
  .package-video-supplement .upload-note {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
    margin-right: 0;
  }

  .package-video-supplement .upload-note {
    margin-top: 8px;
  }

  .field-grid,
  .button-group {
    grid-template-columns: 1fr;
  }

  .status-pill,
  .panel-tag,
  .model-settings-button,
  .button-group,
  .primary-button,
  .secondary-button {
    width: 100%;
    justify-content: center;
  }

  .analysis-stage-strip {
    padding: 10px;
  }

  .analysis-stage-item strong {
    white-space: normal;
  }

  .score-card-header,
  .final-core-summary-header,
  .final-auxiliary-overview-header,
  .final-parameter-card-header,
  .parameter-score-item {
    align-items: stretch;
    flex-direction: column;
  }

  .core-market-pool-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .core-market-pool-header em {
    text-align: left;
  }

  .score-value {
    width: 100%;
  }

  .analysis-overview-grid {
    grid-template-columns: 1fr;
  }

  .button-group {
    flex-direction: column;
  }
}

/* Dark technology dashboard skin. Style-only overrides; page structure stays unchanged. */
:root {
  color-scheme: dark;
  --bg: #07111f;
  --ink: #e9fbff;
  --muted: #91a8ba;
  --line: rgba(94, 220, 255, 0.18);
  --surface: rgba(13, 24, 42, 0.92);
  --surface-strong: rgba(19, 34, 57, 0.96);
  --green: #12d8bd;
  --green-dark: #08b69e;
  --blue: #2aa8ff;
  --amber: #ff7a5f;
  --purple: #7467ff;
  --danger: #ff5f70;
  --panel-gradient: linear-gradient(180deg, rgba(17, 31, 54, 0.96) 0%, rgba(10, 21, 38, 0.98) 100%);
  --control-gradient: linear-gradient(180deg, rgba(18, 35, 59, 0.95) 0%, rgba(8, 19, 35, 0.96) 100%);
  --accent-gradient: linear-gradient(135deg, #10d9bd 0%, #2298ff 58%, #7467ff 100%);
  --warm-gradient: linear-gradient(135deg, #ff5f70 0%, #ff8a4c 100%);
  --shadow: 0 22px 60px rgba(0, 9, 24, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html {
  background: #07111f;
}

body {
  position: relative;
  color: var(--ink);
  background:
    linear-gradient(135deg, rgba(8, 19, 34, 0.98) 0%, rgba(11, 17, 32, 1) 48%, rgba(5, 14, 27, 1) 100%),
    #07111f;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(94, 220, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(94, 220, 255, 0.035) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.14));
}

.app-shell {
  position: relative;
  z-index: 1;
}

h1,
h2,
h3,
h4,
.field span strong,
.package-upload-box strong,
.package-upload-box span,
.upload-box strong,
.panel-header h2,
.result-product-heading strong,
.analysis-mini-card strong,
.analysis-user-item strong,
.analysis-dimension-card strong,
.analysis-parameter-result-card strong,
.analysis-gap-card strong,
.analysis-parameter-group-heading h4,
.parameter-task-heading h4,
.final-parameter-card-header strong,
.result-evidence-panel summary strong,
.result-row strong {
  color: var(--ink);
}

.eyebrow,
.section-label {
  color: var(--green);
  text-shadow: 0 0 18px rgba(18, 216, 189, 0.32);
}

.model-settings-button,
.status-pill,
.intro-band,
.operation-index,
.panel,
.model-settings-dialog,
.packaging-note-dialog,
.image-modal-content {
  border-color: var(--line);
  background: var(--panel-gradient);
  box-shadow: var(--shadow);
}

.panel {
  position: relative;
}

.panel::before,
.operation-index::before {
  content: "";
  position: absolute;
  top: 0;
  right: 10px;
  left: 10px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(18, 216, 189, 0.62), rgba(42, 168, 255, 0.52), transparent);
  pointer-events: none;
}

.operation-index {
  position: relative;
  scrollbar-color: rgba(18, 216, 189, 0.45) transparent;
}

.operation-step {
  color: #8fa8bc;
}

.operation-step:hover {
  background: rgba(18, 216, 189, 0.09);
  color: var(--green);
}

.operation-step:focus-visible {
  outline-color: rgba(42, 168, 255, 0.38);
}

.operation-step b {
  border-color: rgba(94, 220, 255, 0.24);
  background: rgba(9, 20, 37, 0.9);
  color: #8befff;
  box-shadow: inset 0 0 14px rgba(42, 168, 255, 0.08);
}

.operation-step.is-active {
  color: var(--ink);
}

.operation-step.is-active b {
  background: var(--accent-gradient);
  color: #ffffff;
  box-shadow: 0 0 18px rgba(18, 216, 189, 0.34), 0 8px 20px rgba(0, 0, 0, 0.24);
}

.operation-step.is-complete {
  color: var(--green);
}

.operation-step.is-complete b {
  background: rgba(18, 216, 189, 0.14);
}

.operation-index i,
.packaging-note-section-divider,
.analysis-primary-section + .analysis-result-section::before {
  background: linear-gradient(90deg, rgba(18, 216, 189, 0.12), rgba(18, 216, 189, 0.78), rgba(42, 168, 255, 0.42));
}

.panel-tag,
.final-core-jump-trigger,
.parameter-role-badge,
.analysis-section-header span,
.analysis-review-heading span,
.analysis-review-meta span,
.final-parameter-meta span,
.upload-note {
  border: 1px solid rgba(94, 220, 255, 0.16);
  background: rgba(42, 168, 255, 0.12);
  color: #8befff;
}

.final-core-jump-trigger {
  cursor: pointer;
}

.final-core-jump-menu,
.parameter-jump-menu {
  border-color: var(--line);
  background: rgba(8, 19, 35, 0.98);
  box-shadow: 0 24px 56px rgba(0, 6, 18, 0.52);
}

.final-core-jump-menu::-webkit-scrollbar-track,
.parameter-jump-menu::-webkit-scrollbar-track,
.menu-preview-strip::-webkit-scrollbar-track {
  background: rgba(94, 220, 255, 0.08);
}

.final-core-jump-menu::-webkit-scrollbar-thumb,
.parameter-jump-menu::-webkit-scrollbar-thumb,
.menu-preview-strip::-webkit-scrollbar-thumb {
  background: rgba(18, 216, 189, 0.46);
}

.final-core-jump-item,
.parameter-jump-item {
  color: var(--ink);
}

.final-core-jump-item:hover,
.parameter-jump-item:hover,
.parameter-jump-item.is-current {
  background: rgba(18, 216, 189, 0.11);
  color: var(--green);
}

.final-auxiliary-jump-item:hover {
  background: rgba(42, 168, 255, 0.12);
  color: #8befff;
}

.field span,
.packaging-note-heading em,
.parameter-task-heading p,
.analysis-parameter-group-heading p,
.result-product-heading p,
.analysis-mini-card p,
.analysis-user-item p,
.analysis-dimension-card p,
.analysis-parameter-result-card p,
.analysis-gap-card p,
.analysis-review-panel p,
.parameter-info-result p,
.parameter-info-result li,
.parameter-info-result dd,
.parameter-info-result dt,
.final-verdict-card p,
.final-core-summary-card > p,
.final-core-summary-grid li,
.final-auxiliary-overview > p,
.final-parameter-card p,
.result-row p,
.result-asset-copy p,
.submit-area p,
.action-row p,
.upload-box em,
.custom-video-controls span {
  color: var(--muted);
}

.field span,
.field span strong,
.field span em {
  min-width: 0;
  max-width: 100%;
}

.field span strong,
.field span em,
.packaging-note-heading em,
.parameter-task-heading p,
.analysis-parameter-group-heading p,
.result-product-heading p,
.analysis-mini-card p,
.analysis-user-item p,
.analysis-dimension-card p,
.analysis-parameter-result-card p,
.analysis-gap-card p,
.final-parameter-card p {
  overflow-wrap: anywhere;
}

.field span em {
  color: #6f879c;
}

input,
select,
textarea {
  border-color: rgba(94, 220, 255, 0.2);
  background: rgba(5, 15, 29, 0.78);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(18, 216, 189, 0.16), 0 0 24px rgba(18, 216, 189, 0.12);
}

select option {
  background: #09172a;
  color: var(--ink);
}

::placeholder {
  color: #5f788f;
}

.upload-box,
.package-upload-panel,
.package-upload-box,
.packaging-note-field,
.packaging-note-manager-trigger,
.packaging-note-upload label,
.packaging-note-collection,
.packaging-note-card,
.packaging-note-document-frame,
.document-preview-panel,
.custom-video-controls,
.custom-video-controls button,
.selected-preview,
.menu-selected-preview,
.result-section,
.result-product-heading,
.analysis-overview-card,
.analysis-overview-item,
.result-stat-card,
.analysis-mini-card,
.analysis-user-item,
.analysis-dimension-card,
.analysis-parameter-result-card,
.analysis-gap-card,
.analysis-parameter-group,
.analysis-review-panel,
.parameter-task-block,
.parameter-action-card,
.parameter-progress-card,
.parameter-evidence-panel,
.parameter-evidence-toggle,
.parameter-evidence-doc-trigger,
.parameter-analysis-result,
.parameter-score-card,
.parameter-result-copy,
.parameter-info-result,
.parameter-reference-column,
.final-verdict-card,
.final-core-filter-card,
.final-core-summary-card,
.final-core-summary-grid > div,
.final-auxiliary-overview,
.final-parameter-card,
.final-parameter-edit-button,
.score-axis-card,
.score-verdict-card,
.scoring-insight-card,
.parameter-score-group,
.parameter-score-item,
.result-evidence-panel,
.result-row,
.result-asset-item,
.model-settings-state {
  border-color: rgba(94, 220, 255, 0.16);
  background: var(--control-gradient);
}

.upload-box,
.package-upload-box,
.packaging-note-manager-trigger,
.packaging-note-upload label,
.parameter-evidence-doc-trigger {
  border-style: dashed;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025), 0 12px 28px rgba(0, 8, 22, 0.22);
}

.upload-box:hover,
.package-upload-box:hover,
.packaging-note-manager-trigger:hover,
.packaging-note-manager-trigger.has-files,
.packaging-note-upload label:hover,
.parameter-evidence-doc-trigger:hover {
  border-color: rgba(18, 216, 189, 0.56);
  background: linear-gradient(180deg, rgba(17, 44, 63, 0.96) 0%, rgba(9, 26, 43, 0.98) 100%);
  box-shadow: 0 0 22px rgba(18, 216, 189, 0.12), inset 0 0 0 1px rgba(18, 216, 189, 0.08);
}

.base-supplement-upload .menu-upload-box,
.detail-upload-grid .upload-box,
.video-upload-grid .upload-box,
.upload-box.package-video-supplement {
  border-color: rgba(94, 220, 255, 0.18);
}

.upload-box.package-video-supplement {
  background: linear-gradient(90deg, rgba(12, 28, 45, 0.98) 0%, rgba(13, 27, 45, 0.96) 100%);
}

.package-video-supplement::before {
  background: linear-gradient(90deg, rgba(18, 216, 189, 0.98) 0%, rgba(42, 168, 255, 0.72) 62%, rgba(116, 103, 255, 0.24) 100%);
}

.upload-menu button,
.primary-button,
.secondary-button,
.image-modal-close,
.model-settings-close,
.packaging-note-dialog-header button,
.packaging-note-dialog-actions button {
  border-color: rgba(94, 220, 255, 0.2);
}

.upload-menu button,
.secondary-button,
.image-modal-close,
.model-settings-close,
.packaging-note-dialog-header button,
.packaging-note-dialog-actions button,
.final-parameter-edit-button,
.custom-video-controls button {
  background: rgba(11, 26, 44, 0.92);
  color: var(--ink);
}

.upload-menu button:hover,
.secondary-button:hover,
.final-parameter-edit-button:hover,
.custom-video-controls button:hover {
  border-color: var(--green);
  background: rgba(18, 216, 189, 0.12);
  color: #8ffdf0;
}

.primary-button,
.packaging-note-dialog-actions .packaging-note-save {
  border: 1px solid rgba(18, 216, 189, 0.32);
  background: var(--accent-gradient);
  color: #ffffff;
  box-shadow: 0 0 22px rgba(18, 216, 189, 0.22), 0 10px 24px rgba(0, 8, 22, 0.28);
}

.primary-button:hover {
  background: linear-gradient(135deg, #2ff0d8 0%, #39b1ff 56%, #887cff 100%);
}

.primary-button:disabled,
.secondary-button:disabled {
  opacity: 0.58;
}

.primary-button:disabled:hover {
  background: var(--accent-gradient);
}

.model-settings-button {
  color: var(--ink);
}

.model-settings-button span {
  background: var(--amber);
  box-shadow: 0 0 14px rgba(255, 122, 95, 0.5);
}

.model-settings-button span.is-ready,
.dot {
  background: var(--green);
  box-shadow: 0 0 14px rgba(18, 216, 189, 0.5);
}

.model-settings-button small,
.status-pill {
  color: var(--muted);
}

.package-upload-panel {
  border-width: 1px;
  box-shadow: inset 0 0 0 1px rgba(94, 220, 255, 0.045), 0 18px 42px rgba(0, 8, 22, 0.22);
}

.package-side-title {
  border-color: rgba(94, 220, 255, 0.14);
  color: #8ffdf0;
  text-shadow: 0 0 22px rgba(18, 216, 189, 0.26);
}

.package-upload-box strong,
.package-upload-box span {
  text-shadow: 0 0 14px rgba(42, 168, 255, 0.12);
}

.package-upload-box:not(.package-example-box)::after {
  background: rgba(18, 216, 189, 0.1);
  color: #8ffdf0;
}

.section-divider-title {
  color: var(--ink);
}

.section-divider-title::before {
  border-color: rgba(94, 220, 255, 0.14);
}

.selected-preview,
.menu-selected-preview,
.package-video-supplement .selected-preview-wide {
  background: rgba(6, 17, 31, 0.96);
}

.preview-item,
.result-asset-thumb,
.packaging-note-card img,
.packaging-note-card video,
.packaging-note-editor-layout img,
.packaging-note-editor-layout video,
.document-preview-panel pre {
  background: rgba(5, 15, 29, 0.92);
}

.preview-note-button,
.preview-remove,
.example-badge,
.packaging-note-card-status {
  background: rgba(18, 216, 189, 0.88);
  color: #04131f;
}

.preview-remove,
.packaging-note-card-remove,
.packaging-note-dialog-actions .packaging-note-delete {
  color: #ff9cab;
}

.packaging-note-card-remove {
  border-color: rgba(255, 95, 112, 0.34);
  background: rgba(12, 23, 39, 0.9);
}

.packaging-note-card-remove:hover {
  border-color: var(--danger);
  color: #ffd5dc;
}

.result-stat-card strong,
.analysis-overview-item strong,
.parameter-score-card strong,
.final-core-filter-card strong,
.score-value strong {
  color: #55f4df;
  text-shadow: 0 0 18px rgba(18, 216, 189, 0.24);
}

.analysis-overview-card > strong,
.result-asset-group h4,
.parameter-progress-card h3,
.parameter-reference-column > strong,
.parameter-info-result h4,
.final-core-summary-header h3,
.final-auxiliary-overview-header > strong,
.packaging-note-pane-title,
.packaging-note-editor-text span {
  color: #8befff;
}

.analysis-section-header span.is-model,
.final-core-filter-card.is-high-met,
.final-core-filter-card.is-met,
.auxiliary-filter-card.is-excellent,
.auxiliary-filter-card.is-good,
.model-settings-state.is-ready {
  background: rgba(18, 216, 189, 0.11);
  border-color: rgba(18, 216, 189, 0.26);
  color: #8ffdf0;
}

.analysis-section-header span.is-fallback,
.final-core-filter-card.is-unmet,
.auxiliary-filter-card.is-poor,
.submit-status.is-error,
.score-status.is-error,
.final-verdict-card.is-blocked,
.final-core-summary-card.is-error,
.final-auxiliary-summary-card.is-error {
  background: rgba(255, 122, 95, 0.11);
  border-color: rgba(255, 122, 95, 0.28);
  color: #ffb097;
}

.final-core-filter-card:hover,
.final-core-filter-card.is-active,
.final-parameter-card:hover,
.final-parameter-card.is-located {
  border-color: rgba(18, 216, 189, 0.42);
  background: linear-gradient(180deg, rgba(18, 216, 189, 0.14) 0%, rgba(10, 24, 40, 0.98) 100%);
  box-shadow: 0 0 22px rgba(18, 216, 189, 0.13);
}

.final-core-filter-card.is-active.is-met,
.auxiliary-filter-card.is-active.is-good {
  border-color: rgba(42, 168, 255, 0.56);
}

.final-core-filter-card.is-active.is-unmet,
.auxiliary-filter-card.is-active.is-poor {
  border-color: rgba(255, 122, 95, 0.62);
}

.final-parameter-status.is-high-met,
.final-parameter-status.is-excellent {
  background: linear-gradient(135deg, #12d8bd 0%, #08b69e 100%);
}

.final-parameter-status.is-met,
.final-parameter-status.is-good {
  background: linear-gradient(135deg, #2aa8ff 0%, #7467ff 100%);
}

.final-parameter-status.is-unmet,
.final-parameter-status.is-poor {
  background: var(--warm-gradient);
}

.final-parameter-status.is-unscored {
  background: rgba(145, 168, 186, 0.22);
  color: #c6d3dd;
}

.parameter-task-heading span,
.parameter-role-badge.is-core,
.core-market-marker.is-current,
.score-level-badge.is-good {
  background: rgba(18, 216, 189, 0.14);
  color: #8ffdf0;
}

.parameter-role-badge.is-auxiliary,
.parameter-task-block.is-acquire,
.parameter-reference-column:nth-child(2),
.score-level-badge.is-medium {
  border-color: rgba(42, 168, 255, 0.22);
  background: rgba(42, 168, 255, 0.09);
  color: #9bd9ff;
}

.score-level-badge.is-bad,
.parameter-score-item.is-poor {
  background: rgba(255, 95, 112, 0.14);
  color: #ffb7c2;
}

.parameter-progress-card h3 {
  background: linear-gradient(180deg, rgba(18, 216, 189, 0.18) 0%, rgba(18, 216, 189, 0.04) 72%);
}

.parameter-evidence-toggle:hover,
.parameter-evidence-toggle[aria-expanded="true"] {
  border-color: rgba(18, 216, 189, 0.48);
  background: rgba(18, 216, 189, 0.1);
}

.parameter-evidence-toggle span::before {
  border-color: rgba(18, 216, 189, 0.44);
  box-shadow: 0 0 0 4px rgba(18, 216, 189, 0.09);
}

.parameter-evidence-toggle::after {
  color: #8ffdf0;
}

.submit-status,
.score-status {
  border-color: rgba(42, 168, 255, 0.24);
  background: rgba(42, 168, 255, 0.1);
  color: #9bd9ff;
}

.model-settings-state {
  color: var(--muted);
}

.model-settings-state.is-ready {
  color: #8ffdf0;
}

.model-settings-backdrop,
.image-modal-backdrop,
.packaging-note-modal-backdrop {
  background: rgba(0, 6, 16, 0.76);
}

.image-modal-content video {
  background: #02070d;
}

.custom-video-controls input {
  accent-color: var(--green);
}

@media (max-width: 620px) {
  body {
    overflow-x: hidden;
  }

  .app-shell,
  .entry-layout,
  .panel,
  .field,
  .field span {
    min-width: 0;
  }

  .field span {
    display: grid;
    gap: 4px;
  }
}

/* Contrast pass for the dark dashboard skin. */
:root {
  --ink: #f5fbff;
  --muted: #b9c9d6;
  --line: rgba(112, 213, 255, 0.28);
  --surface: rgba(14, 28, 49, 0.96);
  --surface-strong: rgba(20, 42, 68, 0.98);
  --panel-gradient: linear-gradient(180deg, rgba(20, 38, 64, 0.98) 0%, rgba(11, 25, 44, 0.99) 100%);
  --control-gradient: linear-gradient(180deg, rgba(22, 43, 68, 0.97) 0%, rgba(10, 23, 41, 0.99) 100%);
  --field-bg: rgba(5, 17, 32, 0.94);
  --field-border: rgba(112, 213, 255, 0.3);
  --subtle-panel: linear-gradient(180deg, rgba(18, 37, 61, 0.98) 0%, rgba(9, 22, 40, 0.99) 100%);
}

body {
  background:
    linear-gradient(135deg, rgba(9, 20, 36, 0.99) 0%, rgba(10, 17, 31, 1) 50%, rgba(5, 14, 27, 1) 100%),
    #07111f;
}

.panel,
.operation-index,
.model-settings-button,
.status-pill,
.model-settings-dialog,
.packaging-note-dialog,
.image-modal-content {
  border-color: var(--line);
}

.field span,
.field span em,
.upload-box em,
.packaging-note-heading em,
.packaging-note-card-text,
.packaging-note-document-frame span,
.document-preview-panel p,
.result-product-heading p,
.analysis-overview-item span,
.analysis-mini-card p,
.analysis-mini-card small,
.analysis-user-item p,
.analysis-dimension-card p,
.analysis-parameter-result-card p,
.analysis-dimension-reason,
.analysis-parameter-reason,
.analysis-parameter-role-reason,
.analysis-parameter-group-heading p,
.analysis-review-panel p,
.parameter-task-heading p,
.parameter-action-card p,
.parameter-progress-card p,
.parameter-evidence-toggle em,
.parameter-evidence-doc-trigger span,
.packaging-note-document-thumb em,
.packaging-note-document-thumb span,
.parameter-result-copy p,
.parameter-result-copy li,
.parameter-info-result p,
.parameter-info-result li,
.parameter-info-result dd,
.parameter-info-result dt,
.core-market-pool-header em,
.score-axis-heading em,
.score-axis-card p,
.score-verdict-card p,
.score-verdict-card span,
.score-main-line small,
.score-point-breakdown span,
.scoring-insight-card p,
.parameter-score-group-header span,
.parameter-score-item p,
.parameter-score-item small,
.final-verdict-card p,
.final-core-summary-card > p,
.final-core-summary-grid li,
.final-auxiliary-overview > p,
.final-parameter-card p,
.result-evidence-panel summary span,
.result-row p,
.result-asset-copy p,
.submit-area p,
.action-row p {
  color: var(--muted) !important;
}

h1,
h2,
h3,
h4,
.field span strong,
.package-upload-box strong,
.package-upload-box span,
.upload-box strong,
.panel-header h2,
.packaging-note-heading strong,
.packaging-note-pane-title,
.packaging-note-editor-text span,
.packaging-note-document-frame strong,
.document-preview-panel h3,
.analysis-overview-card > strong,
.analysis-mini-card strong,
.analysis-user-item strong,
.analysis-dimension-card strong,
.analysis-parameter-result-card strong,
.analysis-gap-card strong,
.analysis-parameter-group-heading h4,
.analysis-review-heading strong,
.parameter-task-heading h4,
.parameter-action-card strong,
.parameter-progress-card h3,
.parameter-reference-column > strong,
.parameter-info-result h4,
.score-axis-heading strong,
.score-verdict-card strong,
.scoring-insight-card > strong,
.parameter-score-group-header strong,
.parameter-score-item strong,
.final-core-summary-header h3,
.final-auxiliary-overview-header > strong,
.final-parameter-card-header strong,
.result-evidence-panel summary strong,
.result-row strong,
.result-asset-group h4 {
  color: var(--ink) !important;
}

input,
select,
textarea {
  border-color: var(--field-border);
  background: var(--field-bg);
  color: var(--ink);
}

::placeholder {
  color: #89a4b7;
  opacity: 1;
}

.upload-box,
.package-upload-panel,
.package-upload-box,
.packaging-note-field,
.packaging-note-manager-trigger,
.packaging-note-upload label,
.packaging-note-collection,
.packaging-note-card,
.packaging-note-document-frame,
.document-preview-panel,
.custom-video-controls,
.selected-preview,
.menu-selected-preview,
.result-section,
.result-product-heading,
.analysis-overview-card,
.analysis-overview-item,
.result-stat-card,
.analysis-result-section,
.analysis-mini-card,
.analysis-user-item,
.analysis-dimension-card,
.analysis-parameter-result-card,
.analysis-gap-card,
.analysis-parameter-group,
.analysis-review-panel,
.parameter-task-block,
.parameter-task-block.is-primary,
.parameter-task-block.is-acquire,
.parameter-action-card,
.parameter-progress-card,
.parameter-evidence-panel,
.parameter-evidence-toggle,
.parameter-evidence-doc-trigger,
.parameter-analysis-result,
.parameter-score-card,
.parameter-result-copy,
.parameter-info-result,
.parameter-reference-column,
.core-market-pool,
.core-market-pool.is-auxiliary,
.final-verdict-card,
.final-core-filter-card,
.final-core-filter-card.is-high-met,
.final-core-filter-card.is-met,
.final-core-filter-card.is-unmet,
.auxiliary-filter-card.is-excellent,
.auxiliary-filter-card.is-good,
.auxiliary-filter-card.is-poor,
.auxiliary-filter-card.is-unscored,
.final-core-summary-card,
.final-core-summary-grid > div,
.final-auxiliary-overview,
.final-parameter-card,
.score-axis-card,
.score-axis-card.is-parameter,
.score-verdict-card,
.dimension-score-card,
.parameter-score-group,
.scoring-insight-card,
.parameter-score-item,
.result-evidence-panel,
.result-row,
.result-asset-item,
.model-settings-state {
  border-color: var(--line);
  background: var(--control-gradient);
}

.parameter-task-block.is-primary,
.analysis-primary-section,
.final-parameter-section.is-core,
.score-axis-card {
  border-color: rgba(28, 232, 204, 0.36);
}

.parameter-task-block.is-acquire,
.core-market-pool.is-auxiliary,
.score-axis-card.is-parameter,
.final-parameter-section.is-auxiliary {
  border-color: rgba(69, 178, 255, 0.34);
}

.parameter-task-heading span,
.parameter-role-badge,
.parameter-role-badge.is-core,
.parameter-score-card,
.core-market-cell,
.core-market-cell.auxiliary-performance-cell:not(.is-analyzed),
.final-parameter-meta span,
.score-level-badge,
.analysis-section-header span,
.analysis-review-heading span,
.analysis-review-meta span,
.upload-note,
.panel-tag {
  border-color: rgba(112, 213, 255, 0.22);
  background: rgba(30, 78, 112, 0.36);
  color: #c9faff;
}

.core-market-cell:hover {
  border-color: var(--green);
  color: #ffffff;
}

.core-market-cell.is-met,
.core-market-cell.auxiliary-performance-cell.is-analyzed {
  border-color: transparent;
  color: #ffffff;
}

.core-market-cell.is-current {
  border-color: #ffb05a;
  box-shadow:
    0 0 0 3px rgba(255, 176, 90, 0.28),
    0 8px 22px rgba(255, 138, 0, 0.22);
}

.core-market-track,
.core-market-pool.is-auxiliary .core-market-track,
.score-progress,
.score-axis-card.is-parameter .score-progress {
  background: rgba(112, 213, 255, 0.14);
}

.core-market-cells {
  scrollbar-color: rgba(18, 216, 189, 0.52) rgba(112, 213, 255, 0.1);
}

.core-market-cells::-webkit-scrollbar-track {
  background: rgba(112, 213, 255, 0.1);
}

.core-market-cells::-webkit-scrollbar-thumb {
  background: rgba(18, 216, 189, 0.52);
}

.analysis-section-header span.is-fallback,
.score-verdict-card,
.final-verdict-card.is-blocked,
.final-core-summary-card.is-error,
.final-auxiliary-summary-card.is-error,
.submit-status.is-error,
.score-status.is-error {
  border-color: rgba(255, 133, 94, 0.34);
  background: linear-gradient(180deg, rgba(70, 39, 42, 0.88) 0%, rgba(30, 24, 35, 0.98) 100%);
  color: #ffd1c4;
}

.score-axis-heading strong,
.score-main-line strong,
.score-point-breakdown strong,
.parameter-score-card strong,
.result-stat-card strong,
.analysis-overview-item strong,
.final-core-filter-card strong {
  color: #66fff0 !important;
  text-shadow: 0 0 18px rgba(18, 216, 189, 0.28);
}

.primary-button {
  box-shadow: 0 0 18px rgba(18, 216, 189, 0.2), 0 12px 26px rgba(0, 8, 22, 0.32);
}

.parameter-evidence-toggle em {
  border-color: rgba(112, 213, 255, 0.24);
  background: rgba(30, 78, 112, 0.42);
  color: #d7fbff !important;
}

.parameter-evidence-toggle:hover em,
.parameter-evidence-toggle[aria-expanded="true"] em {
  border-color: rgba(18, 216, 189, 0.48);
  background: rgba(18, 216, 189, 0.16);
  color: #ffffff !important;
}

.parameter-evidence-toggle::after {
  border-top-color: #40e7d8;
}

/* Premium calm skin v2: cleaner, restrained, structure-preserving style layer. */
:root {
  color-scheme: dark;
  --bg: #07111d;
  --ink: #f4f8fd;
  --muted: #a8b7c7;
  --line: rgba(132, 160, 190, 0.28);
  --surface: rgba(13, 25, 42, 0.96);
  --surface-strong: rgba(17, 32, 52, 0.98);
  --green: #63d8ea;
  --green-dark: #34b8cf;
  --blue: #5b8df7;
  --amber: #d89a64;
  --danger: #e56f7f;
  --purple: #6d74ee;
  --panel-gradient: linear-gradient(180deg, rgba(17, 31, 51, 0.98) 0%, rgba(10, 22, 38, 0.99) 100%);
  --control-gradient: linear-gradient(180deg, rgba(12, 25, 42, 0.98) 0%, rgba(7, 17, 31, 0.99) 100%);
  --field-bg: rgba(5, 15, 27, 0.94);
  --field-border: rgba(132, 160, 190, 0.34);
  --accent-gradient: linear-gradient(135deg, #42bff0 0%, #5b8df7 100%);
  --shadow: 0 18px 48px rgba(0, 7, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

html {
  background: var(--bg) !important;
}

body {
  color: var(--ink) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(69, 116, 168, 0.16) 0%, rgba(7, 17, 29, 0) 44%),
    linear-gradient(180deg, #07111d 0%, #081320 58%, #06101c 100%) !important;
}

body::before {
  background: none !important;
  opacity: 0 !important;
}

.panel::before,
.operation-index::before {
  display: none !important;
}

h1,
h2,
h3,
h4,
.panel-header h2,
.field span strong,
.upload-box strong,
.package-upload-box strong,
.package-upload-box span,
.packaging-note-heading strong,
.packaging-note-pane-title,
.packaging-note-editor-text span,
.packaging-note-document-frame strong,
.document-preview-panel h3,
.analysis-overview-card > strong,
.analysis-mini-card strong,
.analysis-user-item strong,
.analysis-dimension-card strong,
.analysis-parameter-result-card strong,
.analysis-gap-card strong,
.analysis-parameter-group-heading h4,
.analysis-review-heading strong,
.parameter-task-heading h4,
.parameter-action-card strong,
.parameter-progress-card h3,
.parameter-reference-column > strong,
.parameter-info-result h4,
.core-market-pool-header strong,
.score-axis-heading strong,
.score-verdict-card strong,
.scoring-insight-card > strong,
.parameter-score-group-header strong,
.parameter-score-item strong,
.final-core-summary-header h3,
.final-auxiliary-overview-header > strong,
.final-parameter-card-header strong,
.result-evidence-panel summary strong,
.result-row strong,
.result-asset-group h4 {
  color: var(--ink) !important;
  text-shadow: none !important;
}

.eyebrow,
.section-label,
.parameter-progress-card span,
.result-asset-group h4 {
  color: #6dddea !important;
  text-shadow: none !important;
}

.field span,
.field span em,
.upload-box em,
.packaging-note-heading em,
.packaging-note-card-text,
.packaging-note-document-frame span,
.document-preview-panel p,
.result-product-heading p,
.analysis-overview-item span,
.analysis-mini-card p,
.analysis-mini-card small,
.analysis-user-item p,
.analysis-dimension-card p,
.analysis-parameter-result-card p,
.analysis-dimension-reason,
.analysis-parameter-reason,
.analysis-parameter-role-reason,
.analysis-parameter-group-heading p,
.analysis-review-panel p,
.parameter-task-heading p,
.parameter-action-card p,
.parameter-progress-card p,
.parameter-evidence-toggle em,
.parameter-evidence-doc-trigger span,
.packaging-note-document-thumb em,
.packaging-note-document-thumb span,
.parameter-result-copy p,
.parameter-result-copy li,
.parameter-info-result p,
.parameter-info-result li,
.parameter-info-result dd,
.parameter-info-result dt,
.core-market-pool-header em,
.score-axis-heading em,
.score-axis-card p,
.score-verdict-card p,
.score-verdict-card span,
.score-main-line small,
.score-point-breakdown span,
.scoring-insight-card p,
.parameter-score-group-header span,
.parameter-score-item p,
.parameter-score-item small,
.final-verdict-card p,
.final-core-summary-card > p,
.final-core-summary-grid li,
.final-auxiliary-overview > p,
.final-parameter-card p,
.result-evidence-panel summary span,
.result-row p,
.result-asset-copy p,
.submit-area p,
.action-row p,
.model-settings-button small,
.status-pill {
  color: var(--muted) !important;
  text-shadow: none !important;
}

.app-shell {
  width: min(1180px, calc(100% - 40px));
}

.topbar {
  padding-top: 10px;
}

.model-settings-button,
.status-pill,
.intro-band,
.operation-index,
.panel,
.model-settings-dialog,
.packaging-note-dialog,
.image-modal-content,
.final-core-jump-menu,
.parameter-jump-menu {
  border: 1px solid var(--line) !important;
  background: var(--panel-gradient) !important;
  box-shadow: var(--shadow) !important;
}

.panel,
.operation-index {
  backdrop-filter: none !important;
}

.operation-index {
  padding: 14px 16px;
  scrollbar-color: rgba(99, 216, 234, 0.48) transparent !important;
}

.operation-step {
  color: #a9b7c7 !important;
}

.operation-step:hover {
  background: rgba(99, 216, 234, 0.08) !important;
  color: #dffbff !important;
}

.operation-step b {
  border-color: rgba(132, 160, 190, 0.34) !important;
  background: rgba(13, 25, 42, 0.95) !important;
  color: #c8d4e4 !important;
  box-shadow: none !important;
}

.operation-step.is-active {
  color: #dffbff !important;
}

.operation-step.is-active b {
  border-color: rgba(99, 216, 234, 0.58) !important;
  background: linear-gradient(180deg, #286c84 0%, #16485d 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(99, 216, 234, 0.08) !important;
}

.operation-step.is-complete {
  color: #91c9d8 !important;
}

.operation-step.is-complete b {
  border-color: rgba(99, 216, 234, 0.42) !important;
  background: rgba(99, 216, 234, 0.1) !important;
  color: #d9fbff !important;
}

.operation-index i,
.flow-line,
.packaging-note-section-divider,
.analysis-primary-section + .analysis-result-section::before,
.scoring-parameter-section::before,
.final-core-summary-section::before,
.final-auxiliary-summary-section::before {
  background: linear-gradient(90deg, transparent, rgba(99, 216, 234, 0.42), transparent) !important;
  box-shadow: none !important;
}

input,
select,
textarea {
  border: 1px solid var(--field-border) !important;
  background: var(--field-bg) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(99, 216, 234, 0.68) !important;
  box-shadow: 0 0 0 3px rgba(99, 216, 234, 0.12) !important;
}

select option {
  background: #091827 !important;
  color: var(--ink) !important;
}

::placeholder {
  color: #7e91a6 !important;
  opacity: 1 !important;
}

.upload-box,
.package-upload-panel,
.package-upload-box,
.packaging-note-field,
.packaging-note-manager-trigger,
.packaging-note-upload label,
.packaging-note-collection,
.packaging-note-card,
.packaging-note-document-frame,
.document-preview-panel,
.custom-video-controls,
.custom-video-controls button,
.selected-preview,
.menu-selected-preview,
.package-video-supplement .selected-preview-wide,
.result-section,
.result-product-heading,
.analysis-overview-card,
.analysis-overview-item,
.result-stat-card,
.analysis-result-section,
.analysis-mini-card,
.analysis-user-item,
.analysis-dimension-card,
.analysis-parameter-result-card,
.analysis-gap-card,
.analysis-parameter-group,
.analysis-review-panel,
.parameter-task-block,
.parameter-task-block.is-primary,
.parameter-task-block.is-acquire,
.parameter-action-card,
.parameter-progress-card,
.parameter-evidence-panel,
.parameter-evidence-toggle,
.parameter-evidence-doc-trigger,
.parameter-analysis-result,
.parameter-score-card,
.parameter-result-copy,
.parameter-info-result,
.parameter-reference-column,
.core-market-pool,
.core-market-pool.is-auxiliary,
.final-verdict-card,
.final-core-filter-card,
.final-core-filter-card.is-high-met,
.final-core-filter-card.is-met,
.final-core-filter-card.is-unmet,
.auxiliary-filter-card.is-excellent,
.auxiliary-filter-card.is-good,
.auxiliary-filter-card.is-poor,
.auxiliary-filter-card.is-unscored,
.final-core-summary-card,
.final-core-summary-grid > div,
.final-auxiliary-overview,
.final-parameter-card,
.final-parameter-edit-button,
.score-axis-card,
.score-axis-card.is-parameter,
.score-verdict-card,
.dimension-score-card,
.parameter-score-group,
.scoring-insight-card,
.parameter-score-item,
.result-evidence-panel,
.result-row,
.result-asset-item,
.model-settings-state {
  border-color: var(--line) !important;
  background: var(--control-gradient) !important;
  box-shadow: none !important;
}

.upload-box,
.package-upload-box,
.packaging-note-manager-trigger,
.packaging-note-upload label,
.parameter-evidence-doc-trigger {
  border-style: dashed !important;
}

.upload-box:hover,
.package-upload-box:hover,
.packaging-note-manager-trigger:hover,
.packaging-note-manager-trigger.has-files,
.packaging-note-upload label:hover,
.parameter-evidence-doc-trigger:hover,
.final-parameter-card:hover,
.parameter-evidence-toggle:hover,
.parameter-evidence-toggle[aria-expanded="true"] {
  border-color: rgba(99, 216, 234, 0.5) !important;
  background: linear-gradient(180deg, rgba(16, 33, 54, 0.98) 0%, rgba(8, 20, 35, 0.99) 100%) !important;
  box-shadow: 0 0 0 1px rgba(99, 216, 234, 0.05) !important;
}

.package-side-title {
  border-color: var(--line) !important;
  color: #dbeefa !important;
  text-shadow: none !important;
}

.package-video-supplement::before {
  background: rgba(99, 216, 234, 0.55) !important;
}

.section-divider-title::before,
.action-row,
.submit-area,
.score-point-breakdown,
.score-point-breakdown div + div,
.result-evidence-panel[open] summary,
.parameter-score-group-header,
.result-asset-card-section,
.result-core-section,
.result-parameter-section {
  border-color: var(--line) !important;
}

.panel-tag,
.final-core-jump-trigger,
.parameter-role-badge,
.parameter-role-badge.is-core,
.parameter-role-badge.is-auxiliary,
.analysis-section-header span,
.analysis-review-heading span,
.analysis-review-meta span,
.final-parameter-meta span,
.upload-note,
.parameter-task-heading span,
.score-level-badge,
.parameter-evidence-toggle em {
  border: 1px solid rgba(132, 160, 190, 0.28) !important;
  background: rgba(25, 48, 75, 0.72) !important;
  color: #d6edf6 !important;
  box-shadow: none !important;
}

.parameter-evidence-toggle span::before {
  border-color: rgba(99, 216, 234, 0.4) !important;
  background: #63d8ea !important;
  box-shadow: 0 0 0 4px rgba(99, 216, 234, 0.08) !important;
}

.parameter-evidence-toggle::after {
  border-top-color: #8ae7f2 !important;
}

.final-core-jump-item,
.parameter-jump-item {
  color: var(--ink) !important;
}

.final-core-jump-item:hover,
.final-auxiliary-jump-item:hover,
.parameter-jump-item:hover,
.parameter-jump-item.is-current {
  background: rgba(99, 216, 234, 0.1) !important;
  color: #e8fcff !important;
}

.upload-menu button,
.secondary-button,
.image-modal-close,
.model-settings-close,
.packaging-note-dialog-header button,
.packaging-note-dialog-actions button,
.final-parameter-edit-button,
.custom-video-controls button {
  border: 1px solid rgba(132, 160, 190, 0.32) !important;
  background: rgba(9, 22, 38, 0.95) !important;
  color: #eef6fb !important;
  box-shadow: none !important;
}

.upload-menu button:hover,
.secondary-button:hover,
.final-parameter-edit-button:hover,
.custom-video-controls button:hover {
  border-color: rgba(99, 216, 234, 0.62) !important;
  background: rgba(25, 48, 75, 0.8) !important;
  color: #ffffff !important;
}

.primary-button,
.packaging-note-dialog-actions .packaging-note-save {
  border: 1px solid rgba(105, 151, 255, 0.5) !important;
  background: var(--accent-gradient) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(45, 99, 190, 0.22) !important;
}

.primary-button:hover {
  background: linear-gradient(135deg, #55c9f3 0%, #6b99ff 100%) !important;
}

.primary-button:disabled,
.secondary-button:disabled {
  opacity: 0.55 !important;
}

.model-settings-button span,
.dot {
  background: #63d8ea !important;
  box-shadow: none !important;
}

.result-stat-card strong,
.analysis-overview-item strong,
.parameter-score-card strong,
.score-axis-heading strong,
.score-main-line strong,
.score-point-breakdown strong,
.final-core-filter-card strong {
  color: #f4f8fd !important;
  text-shadow: none !important;
}

.analysis-section-header span.is-model,
.final-core-filter-card.is-high-met,
.auxiliary-filter-card.is-excellent,
.model-settings-state.is-ready {
  border-color: rgba(99, 216, 234, 0.34) !important;
  background: rgba(30, 92, 107, 0.24) !important;
  color: #dffbff !important;
}

.final-core-filter-card.is-met,
.auxiliary-filter-card.is-good,
.score-axis-card.is-parameter {
  border-color: rgba(91, 141, 247, 0.34) !important;
}

.analysis-section-header span.is-fallback,
.score-verdict-card,
.final-verdict-card.is-blocked,
.final-core-summary-card.is-error,
.final-auxiliary-summary-card.is-error,
.submit-status.is-error,
.score-status.is-error,
.final-core-filter-card.is-unmet,
.auxiliary-filter-card.is-poor {
  border-color: rgba(216, 154, 100, 0.34) !important;
  background: linear-gradient(180deg, rgba(45, 31, 31, 0.98) 0%, rgba(18, 23, 35, 0.99) 100%) !important;
  color: #f2c29a !important;
}

.final-core-filter-card:hover,
.final-core-filter-card.is-active,
.final-parameter-card:hover,
.final-parameter-card.is-located {
  border-color: rgba(99, 216, 234, 0.48) !important;
  background: linear-gradient(180deg, rgba(20, 43, 67, 0.98) 0%, rgba(9, 22, 38, 0.99) 100%) !important;
  box-shadow: 0 0 0 1px rgba(99, 216, 234, 0.05) !important;
}

.final-parameter-status.is-high-met,
.final-parameter-status.is-excellent {
  background: #2f8fa4 !important;
  color: #ffffff !important;
}

.final-parameter-status.is-met,
.final-parameter-status.is-good {
  background: #4d77d8 !important;
  color: #ffffff !important;
}

.final-parameter-status.is-unmet,
.final-parameter-status.is-poor {
  background: #b97b52 !important;
  color: #ffffff !important;
}

.final-parameter-status.is-unscored,
.auxiliary-state-diamond.is-unscored::before {
  background: rgba(132, 160, 190, 0.24) !important;
  color: #d1d9e4 !important;
}

.core-market-track,
.core-market-pool.is-auxiliary .core-market-track,
.score-progress,
.score-axis-card.is-parameter .score-progress {
  background: rgba(132, 160, 190, 0.16) !important;
}

.core-market-track i,
.score-progress i {
  background: #63d8ea !important;
}

.core-market-pool.is-auxiliary .core-market-track i,
.score-axis-card.is-parameter .score-progress i {
  background: #5b8df7 !important;
}

.core-market-cell,
.core-market-cell.auxiliary-performance-cell:not(.is-analyzed) {
  border-color: rgba(132, 160, 190, 0.3) !important;
  background: rgba(10, 22, 38, 0.98) !important;
  color: #c4d2e2 !important;
}

.core-market-cell.is-met {
  background: #2f8fa4 !important;
  color: #ffffff !important;
}

.core-market-cell.auxiliary-performance-cell.is-analyzed {
  background: #4d77d8 !important;
  color: #ffffff !important;
}

.core-market-cell.is-current {
  border-color: #d89a64 !important;
  box-shadow: 0 0 0 3px rgba(216, 154, 100, 0.18) !important;
}

.submit-status,
.score-status {
  border-color: rgba(91, 141, 247, 0.32) !important;
  background: rgba(24, 44, 75, 0.74) !important;
  color: #dbe8ff !important;
}

.model-settings-backdrop,
.image-modal-backdrop,
.packaging-note-modal-backdrop {
  background: rgba(2, 8, 16, 0.76) !important;
}

.preview-note-button,
.preview-remove,
.example-badge,
.packaging-note-card-status {
  background: rgba(36, 83, 118, 0.9) !important;
  color: #ffffff !important;
}

/* Coreworx-inspired light operations skin v3. Structure-preserving style layer. */
:root {
  color-scheme: light;
  --bg: #f2f4f5;
  --ink: #202a2f;
  --muted: #66717a;
  --line: #d4d9de;
  --surface: #ffffff;
  --surface-strong: #f7f8f9;
  --green: #0f3d3a;
  --green-dark: #092f2d;
  --blue: #3f75b5;
  --amber: #f2c44f;
  --danger: #d73757;
  --purple: #8b7de3;
  --accent-coral: #ef5b6b;
  --panel-gradient: #ffffff;
  --control-gradient: #ffffff;
  --field-bg: #ffffff;
  --field-border: #cfd6dc;
  --accent-gradient: linear-gradient(180deg, #f26a78 0%, #e95061 100%);
  --shadow: 0 1px 3px rgba(24, 35, 42, 0.14);
}

html {
  background: var(--bg) !important;
}

body {
  color: var(--ink) !important;
  background: var(--bg) !important;
}

body::before,
.panel::before,
.operation-index::before {
  display: none !important;
}

.app-shell {
  width: min(100% - 32px, 1440px) !important;
  padding-top: 22px !important;
}

.topbar {
  align-items: center !important;
  padding: 18px 0 18px !important;
}

.eyebrow,
.section-label {
  color: #0f5a56 !important;
  text-shadow: none !important;
}

h1 {
  color: #172226 !important;
  text-shadow: none !important;
}

h1,
h2,
h3,
h4,
.panel-header h2,
.field span strong,
.upload-box strong,
.package-upload-box strong,
.package-upload-box span,
.packaging-note-heading strong,
.packaging-note-pane-title,
.packaging-note-editor-text span,
.packaging-note-document-frame strong,
.document-preview-panel h3,
.analysis-overview-card > strong,
.analysis-mini-card strong,
.analysis-user-item strong,
.analysis-dimension-card strong,
.analysis-parameter-result-card strong,
.analysis-gap-card strong,
.analysis-parameter-group-heading h4,
.analysis-review-heading strong,
.parameter-task-heading h4,
.parameter-action-card strong,
.parameter-progress-card h3,
.parameter-reference-column > strong,
.parameter-info-result h4,
.core-market-pool-header strong,
.score-axis-heading strong,
.score-verdict-card strong,
.scoring-insight-card > strong,
.parameter-score-group-header strong,
.parameter-score-item strong,
.final-core-summary-header h3,
.final-auxiliary-overview-header > strong,
.final-parameter-card-header strong,
.result-evidence-panel summary strong,
.result-row strong,
.result-asset-group h4 {
  color: var(--ink) !important;
  text-shadow: none !important;
}

.field span,
.field span em,
.upload-box em,
.packaging-note-heading em,
.packaging-note-card-text,
.packaging-note-document-frame span,
.document-preview-panel p,
.result-product-heading p,
.analysis-overview-item span,
.analysis-mini-card p,
.analysis-mini-card small,
.analysis-user-item p,
.analysis-dimension-card p,
.analysis-parameter-result-card p,
.analysis-dimension-reason,
.analysis-parameter-reason,
.analysis-parameter-role-reason,
.analysis-parameter-group-heading p,
.analysis-review-panel p,
.parameter-task-heading p,
.parameter-action-card p,
.parameter-progress-card p,
.parameter-evidence-toggle em,
.parameter-evidence-doc-trigger span,
.packaging-note-document-thumb em,
.packaging-note-document-thumb span,
.parameter-result-copy p,
.parameter-result-copy li,
.parameter-info-result p,
.parameter-info-result li,
.parameter-info-result dd,
.parameter-info-result dt,
.core-market-pool-header em,
.score-axis-heading em,
.score-axis-card p,
.score-verdict-card p,
.score-verdict-card span,
.score-main-line small,
.score-point-breakdown span,
.scoring-insight-card p,
.parameter-score-group-header span,
.parameter-score-item p,
.parameter-score-item small,
.final-verdict-card p,
.final-core-summary-card > p,
.final-core-summary-grid li,
.final-auxiliary-overview > p,
.final-parameter-card p,
.result-evidence-panel summary span,
.result-row p,
.result-asset-copy p,
.submit-area p,
.action-row p,
.model-settings-button small,
.status-pill {
  color: var(--muted) !important;
  text-shadow: none !important;
}

.model-settings-button,
.status-pill,
.intro-band,
.panel,
.model-settings-dialog,
.packaging-note-dialog,
.image-modal-content,
.final-core-jump-menu,
.parameter-jump-menu {
  border: 1px solid var(--line) !important;
  background: #ffffff !important;
  box-shadow: var(--shadow) !important;
  color: var(--ink) !important;
}

.operation-index {
  justify-content: flex-start !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--green-dark) !important;
  box-shadow: none !important;
  scrollbar-color: rgba(255, 255, 255, 0.45) transparent !important;
}

.operation-step {
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 0 !important;
  color: rgba(255, 255, 255, 0.84) !important;
  font-weight: 800 !important;
}

.operation-step:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  transform: none !important;
}

.operation-step b {
  width: 30px !important;
  height: 30px !important;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.operation-step.is-active {
  background: var(--accent-coral) !important;
  color: #ffffff !important;
}

.operation-step.is-active b {
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.operation-step.is-complete {
  color: rgba(255, 255, 255, 0.92) !important;
}

.operation-step.is-complete b {
  border-color: rgba(255, 255, 255, 0.34) !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

.operation-index i,
.flow-line {
  width: 36px !important;
  background: rgba(255, 255, 255, 0.22) !important;
  box-shadow: none !important;
}

.panel {
  border-radius: 4px !important;
}

.panel-header {
  border-bottom: 1px solid var(--line) !important;
  padding-bottom: 14px !important;
}

.panel-tag,
.final-core-jump-trigger,
.parameter-role-badge,
.parameter-role-badge.is-core,
.parameter-role-badge.is-auxiliary,
.analysis-section-header span,
.analysis-review-heading span,
.analysis-review-meta span,
.final-parameter-meta span,
.upload-note,
.parameter-task-heading span,
.score-level-badge,
.parameter-evidence-toggle em {
  border: 1px solid #cdd5dc !important;
  background: #f5f7f8 !important;
  color: #38464d !important;
  box-shadow: none !important;
}

input,
select,
textarea {
  border: 1px solid var(--field-border) !important;
  background: var(--field-bg) !important;
  color: var(--ink) !important;
  box-shadow: inset 0 1px 2px rgba(24, 35, 42, 0.04) !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #0f5a56 !important;
  box-shadow: 0 0 0 3px rgba(15, 90, 86, 0.12) !important;
}

select option {
  background: #ffffff !important;
  color: var(--ink) !important;
}

::placeholder {
  color: #8a969e !important;
  opacity: 1 !important;
}

.upload-box,
.package-upload-panel,
.package-upload-box,
.packaging-note-field,
.packaging-note-manager-trigger,
.packaging-note-upload label,
.packaging-note-collection,
.packaging-note-card,
.packaging-note-document-frame,
.document-preview-panel,
.custom-video-controls,
.custom-video-controls button,
.selected-preview,
.menu-selected-preview,
.package-video-supplement .selected-preview-wide,
.result-section,
.result-product-heading,
.analysis-overview-card,
.analysis-overview-item,
.result-stat-card,
.analysis-result-section,
.analysis-mini-card,
.analysis-user-item,
.analysis-dimension-card,
.analysis-parameter-result-card,
.analysis-gap-card,
.analysis-parameter-group,
.analysis-review-panel,
.parameter-task-block,
.parameter-task-block.is-primary,
.parameter-task-block.is-acquire,
.parameter-action-card,
.parameter-progress-card,
.parameter-evidence-panel,
.parameter-evidence-toggle,
.parameter-evidence-doc-trigger,
.parameter-analysis-result,
.parameter-score-card,
.parameter-result-copy,
.parameter-info-result,
.parameter-reference-column,
.core-market-pool,
.core-market-pool.is-auxiliary,
.final-verdict-card,
.final-core-filter-card,
.final-core-filter-card.is-high-met,
.final-core-filter-card.is-met,
.final-core-filter-card.is-unmet,
.auxiliary-filter-card.is-excellent,
.auxiliary-filter-card.is-good,
.auxiliary-filter-card.is-poor,
.auxiliary-filter-card.is-unscored,
.final-core-summary-card,
.final-core-summary-grid > div,
.final-auxiliary-overview,
.final-parameter-card,
.final-parameter-edit-button,
.score-axis-card,
.score-axis-card.is-parameter,
.score-verdict-card,
.dimension-score-card,
.parameter-score-group,
.scoring-insight-card,
.parameter-score-item,
.result-evidence-panel,
.result-row,
.result-asset-item,
.model-settings-state {
  border-color: var(--line) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.upload-box,
.package-upload-box,
.packaging-note-manager-trigger,
.packaging-note-upload label,
.parameter-evidence-doc-trigger {
  border-style: dashed !important;
  background: #fafbfb !important;
}

.upload-box:hover,
.package-upload-box:hover,
.packaging-note-manager-trigger:hover,
.packaging-note-manager-trigger.has-files,
.packaging-note-upload label:hover,
.parameter-evidence-doc-trigger:hover,
.final-parameter-card:hover,
.parameter-evidence-toggle:hover,
.parameter-evidence-toggle[aria-expanded="true"] {
  border-color: #0f5a56 !important;
  background: #f4f8f7 !important;
  box-shadow: none !important;
}

.package-side-title {
  border-color: var(--line) !important;
  color: var(--green-dark) !important;
  text-shadow: none !important;
}

.package-video-supplement::before {
  background: var(--green) !important;
}

.section-divider-title::before,
.action-row,
.submit-area,
.score-point-breakdown,
.score-point-breakdown div + div,
.result-evidence-panel[open] summary,
.parameter-score-group-header,
.result-asset-card-section,
.result-core-section,
.result-parameter-section,
.packaging-note-media-pane {
  border-color: var(--line) !important;
}

.upload-menu button,
.secondary-button,
.image-modal-close,
.model-settings-close,
.packaging-note-dialog-header button,
.packaging-note-dialog-actions button,
.final-parameter-edit-button,
.custom-video-controls button {
  border: 1px solid #bfc8cf !important;
  background: #ffffff !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

.upload-menu button:hover,
.secondary-button:hover,
.final-parameter-edit-button:hover,
.custom-video-controls button:hover {
  border-color: var(--green) !important;
  background: #eef5f4 !important;
  color: var(--green-dark) !important;
}

.primary-button,
.packaging-note-dialog-actions .packaging-note-save {
  border: 1px solid #d9485a !important;
  background: var(--accent-gradient) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.primary-button:hover {
  background: linear-gradient(180deg, #f47984 0%, #df4254 100%) !important;
}

.primary-button:disabled,
.secondary-button:disabled {
  opacity: 0.58 !important;
}

.model-settings-button span,
.dot {
  background: var(--accent-coral) !important;
  box-shadow: none !important;
}

.model-settings-button span.is-ready {
  background: #38b782 !important;
}

.result-stat-card strong,
.analysis-overview-item strong,
.parameter-score-card strong,
.score-axis-heading strong,
.score-main-line strong,
.score-point-breakdown strong,
.final-core-filter-card strong {
  color: var(--ink) !important;
  text-shadow: none !important;
}

.analysis-section-header span.is-model,
.final-core-filter-card.is-high-met,
.auxiliary-filter-card.is-excellent,
.model-settings-state.is-ready {
  border-color: rgba(56, 183, 130, 0.35) !important;
  background: #eaf7f1 !important;
  color: #176746 !important;
}

.final-core-filter-card.is-met,
.auxiliary-filter-card.is-good,
.score-axis-card.is-parameter {
  border-color: rgba(63, 117, 181, 0.32) !important;
  background: #f0f5fb !important;
}

.analysis-section-header span.is-fallback,
.score-verdict-card,
.final-verdict-card.is-blocked,
.final-core-summary-card.is-error,
.final-auxiliary-summary-card.is-error,
.submit-status.is-error,
.score-status.is-error,
.final-core-filter-card.is-unmet,
.auxiliary-filter-card.is-poor {
  border-color: rgba(215, 55, 87, 0.28) !important;
  background: #fff0f2 !important;
  color: #9a2139 !important;
}

.final-core-filter-card:hover,
.final-core-filter-card.is-active,
.final-parameter-card:hover,
.final-parameter-card.is-located {
  border-color: var(--green) !important;
  background: #f4f8f7 !important;
  box-shadow: none !important;
}

.final-parameter-status.is-high-met,
.final-parameter-status.is-excellent {
  background: #38b782 !important;
  color: #ffffff !important;
}

.final-parameter-status.is-met,
.final-parameter-status.is-good {
  background: #3f75b5 !important;
  color: #ffffff !important;
}

.final-parameter-status.is-unmet,
.final-parameter-status.is-poor {
  background: var(--danger) !important;
  color: #ffffff !important;
}

.final-parameter-status.is-unscored,
.auxiliary-state-diamond.is-unscored::before {
  background: #d8dde2 !important;
  color: #4c5962 !important;
}

.core-market-track,
.core-market-pool.is-auxiliary .core-market-track,
.score-progress,
.score-axis-card.is-parameter .score-progress {
  background: #e2e7ea !important;
}

.core-market-track i,
.score-progress i {
  background: #38b782 !important;
}

.core-market-pool.is-auxiliary .core-market-track i,
.score-axis-card.is-parameter .score-progress i {
  background: #3f75b5 !important;
}

.core-market-cell,
.core-market-cell.auxiliary-performance-cell:not(.is-analyzed) {
  border-color: #cbd3d9 !important;
  background: #ffffff !important;
  color: #4c5962 !important;
}

.core-market-cell.is-met {
  background: #38b782 !important;
  color: #ffffff !important;
}

.core-market-cell.auxiliary-performance-cell.is-analyzed {
  background: #3f75b5 !important;
  color: #ffffff !important;
}

.core-market-cell.is-current {
  border-color: #f2c44f !important;
  box-shadow: 0 0 0 3px rgba(242, 196, 79, 0.24) !important;
}

.submit-status,
.score-status {
  border-color: rgba(63, 117, 181, 0.26) !important;
  background: #f0f5fb !important;
  color: #2e5c91 !important;
}

.model-settings-backdrop,
.image-modal-backdrop,
.packaging-note-modal-backdrop {
  background: rgba(23, 32, 38, 0.5) !important;
}

.preview-note-button,
.preview-remove,
.example-badge,
.packaging-note-card-status {
  background: var(--green-dark) !important;
  color: #ffffff !important;
}

.preview-remove,
.packaging-note-card-remove,
.packaging-note-dialog-actions .packaging-note-delete {
  color: var(--danger) !important;
}

.packaging-note-card-remove {
  border-color: rgba(215, 55, 87, 0.32) !important;
  background: #ffffff !important;
}

.packaging-note-card-remove:hover {
  border-color: var(--danger) !important;
  background: #fff0f2 !important;
}

/* Product preliminary evaluation view. */
.analysis-dimension-list.is-product-evaluation {
  gap: 0 !important;
}

.product-evaluation-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(180px, 0.62fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  width: 100%;
}

.product-evaluation-card {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  min-height: 190px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}

.product-evaluation-card > span {
  color: #0f5a56;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
}

.product-evaluation-card > strong {
  color: var(--ink);
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
}

.product-evaluation-card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.65;
}

.product-evaluation-score-card {
  align-content: center;
  gap: 10px;
  border-color: rgba(56, 183, 130, 0.35);
  background: #f7fbf8;
  text-align: center;
}

.product-evaluation-score {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
}

.product-evaluation-score strong {
  color: var(--ink);
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
}

.product-evaluation-score small {
  color: var(--muted);
  font-size: 18px;
  font-weight: 900;
}

.product-evaluation-score-card em {
  color: var(--green-dark);
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
}

.product-evaluation-progress {
  overflow: hidden;
  height: 10px;
  margin-top: 6px;
  border-radius: 999px;
  background: #e2e7ea;
}

.product-evaluation-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #38b782;
  transition: width 220ms ease;
}

.product-evaluation-basis-row {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: stretch;
  min-height: 54px;
  padding-top: 10px;
}

.product-evaluation-basis-button {
  width: 100% !important;
  min-width: 0;
  min-height: 58px;
  justify-content: center;
  border-radius: 8px !important;
  font-size: 18px !important;
}

.product-classification-fields {
  gap: 20px !important;
}

.product-category-decision-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px 430px;
  gap: 22px;
  align-items: start;
  max-width: 100%;
}

.product-category-main,
.product-category-decision-row .product-category-field {
  min-width: 0;
}

.product-category-main {
  display: grid;
  gap: 10px;
}

.product-category-main.is-category-idle .product-category-control {
  margin-top: 52px;
}

.product-category-main.has-category-status .product-category-control {
  margin-top: 10px;
}

.product-category-field > span {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
}

.product-category-field > span small {
  flex-basis: 100%;
  color: #546a72;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
}

.product-category-divider {
  align-self: stretch;
  display: block;
  width: 1px;
  min-height: 0;
  margin: 18px 0 14px;
  transform: translateX(36px);
  background: linear-gradient(180deg, transparent, rgba(83, 111, 119, 0.24) 18%, rgba(83, 111, 119, 0.32) 50%, rgba(83, 111, 119, 0.18) 82%, transparent);
}

.product-category-next-panel {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 34px;
  min-width: 0;
  min-height: 154px;
  padding-top: 12px;
}

.product-category-next-panel p {
  margin: 0;
  color: #546a72;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.45;
  white-space: nowrap;
  transform: translateX(28px);
}

.product-category-next-panel .primary-button {
  width: 100%;
  min-height: 60px;
  justify-content: center;
  white-space: nowrap;
}

.product-category-next-panel .product-category-gate-button {
  position: relative !important;
  isolation: isolate !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 386px !important;
  min-width: 386px !important;
  height: 54px !important;
  min-height: 54px !important;
  overflow: visible !important;
  padding: 0 22px !important;
  border: 1px solid rgba(89, 226, 226, 0.46) !important;
  border-radius: 27px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  background:
    radial-gradient(circle at 28px 38%, rgba(2, 15, 20, 0.98) 0 29px, rgba(4, 29, 36, 0.96) 30px 36px, rgba(88, 214, 217, 0.18) 37px 39px, rgba(111, 248, 241, 0) 42px),
    linear-gradient(135deg, rgba(10, 36, 43, 0.98) 0%, rgba(15, 68, 76, 0.94) 46%, rgba(20, 91, 86, 0.9) 100%) !important;
  color: #e9fffc !important;
  clip-path: none !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow:
    inset 0 0 0 1px rgba(172, 255, 249, 0.22),
    inset 42px 0 34px rgba(0, 10, 15, 0.36),
    inset 0 0 22px rgba(70, 220, 218, 0.14),
    0 10px 22px rgba(24, 100, 104, 0.2) !important;
  margin-top: 14px;
  transform: translateX(22px);
  animation: none !important;
  white-space: nowrap !important;
}

.product-category-gate-label {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 118px;
  transform: translateX(9px);
  color: inherit;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 10px rgba(181, 255, 252, 0.28);
}

.product-category-next-panel .product-category-gate-button.is-activating {
  animation: launchButtonTerminalBoot 2.6s ease-in-out infinite !important;
}

.product-category-next-panel .product-category-gate-button.is-activating .product-category-gate-label {
  animation: launchGateLabelBlink 0.72s ease-in-out infinite;
  color: #f1fffd;
  text-shadow:
    0 0 8px rgba(190, 255, 252, 0.82),
    0 0 18px rgba(82, 230, 224, 0.48);
}

.product-category-next-panel .product-category-gate-button::before {
  content: "";
  position: absolute;
  left: -11px;
  top: calc(50% - 8px);
  z-index: 1;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(1, 12, 17, 0.96) 0 38%, rgba(4, 29, 36, 0.9) 39% 58%, rgba(73, 203, 207, 0.12) 59% 66%, transparent 67%);
  box-shadow:
    inset 0 0 16px rgba(0, 7, 11, 0.96),
    inset 8px 0 14px rgba(0, 0, 0, 0.34),
    0 5px 12px rgba(0, 23, 29, 0.18);
  transform: translateY(-50%);
  pointer-events: none;
}

.product-category-next-panel .product-category-gate-button::after {
  content: "";
  position: absolute;
  left: -8px;
  top: calc(50% - 8px);
  z-index: 2;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(3, 18, 24, 1) 0 18%, rgba(106, 230, 228, 0.82) 19% 23%, rgba(5, 28, 34, 0.98) 24% 35%, rgba(122, 232, 229, 0.62) 36% 40%, transparent 41%),
    repeating-conic-gradient(from 0deg, rgba(198, 249, 245, 0.9) 0 6deg, rgba(63, 187, 194, 0.88) 6deg 12deg, rgba(5, 34, 42, 0.96) 12deg 18deg, rgba(13, 73, 82, 0.9) 18deg 24deg),
    radial-gradient(circle at 38% 30%, rgba(255, 255, 255, 0.5) 0 8%, transparent 18%),
    radial-gradient(circle at 50% 50%, rgba(44, 196, 204, 0.38) 0 57%, rgba(3, 20, 26, 0.78) 58% 68%, transparent 70%);
  opacity: 0.96;
  box-shadow:
    inset 0 0 8px rgba(0, 10, 13, 0.95),
    inset -8px -10px 14px rgba(0, 16, 21, 0.6),
    inset 7px 7px 10px rgba(255, 255, 255, 0.18),
    0 0 0 6px rgba(3, 25, 32, 0.94),
    0 0 0 8px rgba(78, 199, 203, 0.1),
    0 8px 14px rgba(0, 18, 23, 0.26),
    0 0 12px rgba(58, 203, 209, 0.14);
  transform: translateY(-50%) rotate(0deg) scale(0.96);
  filter: brightness(0.96) saturate(1);
  pointer-events: none;
}

.product-category-next-panel .product-category-gate-button.is-activating::after {
  animation: launchGearTerminalSpin 1.15s linear infinite;
}

.product-category-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  margin-top: 0;
  transition: margin-top 180ms ease;
}

.product-category-field select,
.product-category-analyze-button {
  width: 100%;
}

.product-category-analyze-button {
  min-width: 190px;
  justify-content: center;
}

.product-name-field span em,
.product-intro-field span em,
.product-category-field span em {
  font-weight: 400 !important;
}

.category-classification-status {
  margin: 0 !important;
  padding: 12px 14px;
  border: 1px solid rgba(63, 117, 181, 0.26);
  border-radius: 8px;
  background: #f0f5fb;
  color: #2e5c91;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.5;
}

.category-classification-status.is-error {
  border-color: rgba(215, 55, 87, 0.28);
  background: #fff0f2;
  color: #9a2139;
}

.product-evaluation-card.is-market.is-strong,
.product-evaluation-card.is-market.is-medium {
  border-color: rgba(56, 183, 130, 0.35);
  background: #f7fbf8;
}

.product-evaluation-card.is-market.is-watch {
  border-color: rgba(242, 196, 79, 0.45);
  background: #fffaf0;
}

.product-evaluation-card.is-market.is-risk,
.product-evaluation-card.is-market.is-pending {
  border-color: rgba(215, 55, 87, 0.28);
  background: #fff0f2;
}

.product-evaluation-score-card.is-watch .product-evaluation-progress i {
  background: #f2c44f;
}

.product-evaluation-score-card.is-risk .product-evaluation-progress i,
.product-evaluation-score-card.is-pending .product-evaluation-progress i {
  background: var(--danger);
}

@media (max-width: 960px) {
  .product-evaluation-summary {
    grid-template-columns: 1fr;
  }

  .product-evaluation-card {
    min-height: 0;
  }

  .product-category-control {
    grid-template-columns: 1fr;
  }

  .product-category-decision-row {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .product-category-divider {
    display: none;
  }

  .product-category-next-panel {
    padding-top: 0;
    justify-items: stretch;
    min-height: 0;
  }

  .product-category-next-panel p {
    white-space: normal;
    transform: none;
  }

  .product-category-next-panel .primary-button {
    min-height: 52px;
  }

  .product-category-analyze-button {
    min-width: 0;
  }
}

.launch-decision-panel {
  overflow: visible !important;
}

.launch-context-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.launch-context-strip > div {
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background: #f8fbfb;
}

.launch-context-strip span,
.launch-result-metric span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.launch-context-strip strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.35;
}

.launch-decision-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.85fr);
  gap: 18px;
  align-items: start;
}

.launch-decision-panel .launch-decision-layout {
  display: none !important;
}

.launch-decision-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.launch-decision-panel.is-launch-loading::before,
.launch-decision-panel.is-launch-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.launch-decision-panel.is-launch-loading::before {
  z-index: 1;
  display: block;
  inset: 0 -120px -80px;
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(28, 143, 157, 0.16) 12% 34%, transparent 34% 66%, rgba(28, 143, 157, 0.14) 66% 88%, transparent 88% 100%) 0 31% / 100% 1px no-repeat,
    linear-gradient(90deg, transparent 0 8%, rgba(28, 143, 157, 0.14) 8% 25%, transparent 25% 75%, rgba(28, 143, 157, 0.14) 75% 92%, transparent 92% 100%) 0 48% / 100% 1px no-repeat,
    linear-gradient(90deg, transparent 0 18%, rgba(28, 143, 157, 0.13) 18% 39%, transparent 39% 61%, rgba(28, 143, 157, 0.13) 61% 82%, transparent 82% 100%) 0 68% / 100% 1px no-repeat,
    linear-gradient(0deg, transparent 0 23%, rgba(28, 143, 157, 0.12) 23% 44%, transparent 44% 56%, rgba(28, 143, 157, 0.12) 56% 77%, transparent 77% 100%) 18% 0 / 1px 100% no-repeat,
    linear-gradient(0deg, transparent 0 16%, rgba(28, 143, 157, 0.1) 16% 35%, transparent 35% 65%, rgba(28, 143, 157, 0.1) 65% 84%, transparent 84% 100%) 82% 0 / 1px 100% no-repeat;
  opacity: 0.72;
  animation: launchCircuitPulse 4.8s ease-in-out infinite;
}

.launch-decision-panel.is-launch-loading::after {
  z-index: 1;
  display: block;
  inset: 0 -120px -80px;
  background:
    radial-gradient(circle at 18% 31%, rgba(28, 143, 157, 0.26) 0 2px, transparent 3px),
    radial-gradient(circle at 34% 31%, rgba(28, 143, 157, 0.2) 0 2px, transparent 3px),
    radial-gradient(circle at 66% 31%, rgba(28, 143, 157, 0.2) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 31%, rgba(28, 143, 157, 0.24) 0 2px, transparent 3px),
    radial-gradient(circle at 8% 48%, rgba(28, 143, 157, 0.22) 0 2px, transparent 3px),
    radial-gradient(circle at 25% 48%, rgba(28, 143, 157, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 75% 48%, rgba(28, 143, 157, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 92% 48%, rgba(28, 143, 157, 0.22) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 68%, rgba(28, 143, 157, 0.2) 0 2px, transparent 3px),
    radial-gradient(circle at 39% 68%, rgba(28, 143, 157, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 61% 68%, rgba(28, 143, 157, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 68%, rgba(28, 143, 157, 0.2) 0 2px, transparent 3px);
  opacity: 0.68;
  animation: launchCircuitNodes 3.6s ease-in-out infinite;
}

.launch-decision-panel.is-launch-loading::before,
.launch-decision-panel.is-launch-loading::after {
  display: none !important;
}

.launch-decision-panel.is-launch-loading > * {
  position: relative;
  z-index: 2;
}

.launch-decision-panel.is-launch-loading {
  overflow: hidden !important;
  background: transparent !important;
}

.launch-decision-panel.is-launch-loading .launch-context-strip {
  position: relative;
  z-index: 5;
  margin-bottom: 2px;
  margin-top: 0;
  padding-left: 0;
  transform: translateY(-26px);
}

.launch-decision-panel.is-launch-loading .launch-context-strip > div {
  min-height: 72px;
  padding: 14px 16px;
  border-color: rgba(218, 122, 54, 0.08);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.97) 0%,
      rgba(255, 252, 247, 0.48) 38%,
      rgba(255, 235, 214, 0.18) 72%,
      rgba(239, 144, 76, 0.09) 100%
    ),
    linear-gradient(
      180deg,
      rgba(225, 117, 51, 0.09) 0%,
      rgba(255, 236, 214, 0.1) 48%,
      rgba(255, 255, 255, 0.8) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    0 10px 24px rgba(143, 78, 35, 0.02);
}

.launch-ai-brief {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 0 0 14px;
  padding: 18px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background: #ffffff;
}

.launch-ai-brief h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.35;
}

.launch-ai-brief p,
.launch-ai-source p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.launch-ai-source {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  margin: 0 0 14px;
}

.launch-ai-source > div {
  padding: 14px 16px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background: #f8fbfb;
}

.launch-ai-source span {
  display: block;
  margin-bottom: 8px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.launch-ai-result {
  position: static !important;
  display: grid;
  gap: 14px;
}

.launch-form-card,
.launch-result-card {
  min-width: 0;
}

.launch-form-section {
  padding: 18px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background: #ffffff;
}

.launch-form-section + .launch-form-section {
  margin-top: 14px;
}

.launch-form-section h3,
.launch-result-section h3,
.launch-submit-area h3 {
  margin: 0 0 14px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.launch-form-section .field-grid {
  gap: 14px;
}

.money-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.launch-calculation-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.launch-calculation-row span {
  min-width: 180px;
  padding: 11px 12px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: #f8fbfb;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.launch-calculation-row strong {
  color: var(--ink);
  font-size: 15px;
}

.launch-channel-field > span {
  margin-bottom: 10px;
}

.launch-channel-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.launch-channel-options label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background: #f8fbfb;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.launch-channel-options input {
  width: 16px;
  height: 16px;
  accent-color: var(--green);
}

.launch-result-card {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 14px;
}

.launch-result-empty,
.launch-conclusion,
.launch-result-section {
  padding: 18px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background: #ffffff;
}

.launch-ai-result.is-loading {
  position: relative !important;
  z-index: 4;
  display: grid;
  place-items: center;
  gap: 14px;
  width: 100%;
  max-width: none;
  margin-top: -54px;
  margin-left: 0;
  margin-right: 0;
}

.launch-loading-box {
  --launch-hole-radius: clamp(130px, 17vw, 210px);
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: clamp(590px, 69vh, 800px);
  margin-top: -20px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.launch-loading-copy {
  position: relative;
  z-index: 12;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 136px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: translateY(14px);
}

.launch-loading-box .launch-loading-copy strong {
  margin: 0;
  color: #8fc9c8;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.62),
    0 0 7px rgba(88, 217, 219, 0.3),
    0 0 16px rgba(20, 111, 128, 0.24);
}

.launch-energy-stage {
  position: absolute;
  inset: -18px 0 0;
  z-index: 1;
  overflow: hidden;
  transform: translateY(42px);
}

.launch-energy-stage::before,
.launch-energy-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.launch-energy-stage::before {
  display: none;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(20, 126, 141, 0.14) 18% 41%, transparent 41% 59%, rgba(20, 126, 141, 0.14) 59% 82%, transparent 82% 100%) 0 39% / 100% 1px no-repeat,
    linear-gradient(90deg, transparent 0 9%, rgba(20, 126, 141, 0.12) 9% 32%, transparent 32% 68%, rgba(20, 126, 141, 0.12) 68% 91%, transparent 91% 100%) 0 59% / 100% 1px no-repeat,
    linear-gradient(0deg, transparent 0 38%, rgba(20, 126, 141, 0.11) 38% 47%, transparent 47% 53%, rgba(20, 126, 141, 0.11) 53% 62%, transparent 62% 100%) 24% 0 / 1px 100% no-repeat,
    linear-gradient(0deg, transparent 0 36%, rgba(20, 126, 141, 0.11) 36% 47%, transparent 47% 53%, rgba(20, 126, 141, 0.11) 53% 64%, transparent 64% 100%) 76% 0 / 1px 100% no-repeat;
  opacity: 0.8;
}

.launch-energy-stage::after {
  display: none;
}

.launch-energy-grid {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: min(120vw, 1380px);
  height: min(88vw, 980px);
  border-radius: 0;
  background:
    linear-gradient(90deg, transparent 0 6%, rgba(14, 116, 130, 0.16) 6% 43%, transparent 43% 57%, rgba(14, 116, 130, 0.16) 57% 94%, transparent 94% 100%) 0 22% / 100% 1px no-repeat,
    linear-gradient(90deg, transparent 0 14%, rgba(14, 116, 130, 0.13) 14% 38%, transparent 38% 62%, rgba(14, 116, 130, 0.13) 62% 86%, transparent 86% 100%) 0 78% / 100% 1px no-repeat,
    linear-gradient(0deg, transparent 0 18%, rgba(14, 116, 130, 0.12) 18% 42%, transparent 42% 58%, rgba(14, 116, 130, 0.12) 58% 82%, transparent 82% 100%) 7% 0 / 1px 100% no-repeat,
    linear-gradient(0deg, transparent 0 22%, rgba(14, 116, 130, 0.12) 22% 46%, transparent 46% 54%, rgba(14, 116, 130, 0.12) 54% 78%, transparent 78% 100%) 93% 0 / 1px 100% no-repeat,
    radial-gradient(circle at 6% 22%, rgba(14, 116, 130, 0.28) 0 2px, transparent 3px),
    radial-gradient(circle at 43% 22%, rgba(14, 116, 130, 0.2) 0 2px, transparent 3px),
    radial-gradient(circle at 57% 22%, rgba(14, 116, 130, 0.2) 0 2px, transparent 3px),
    radial-gradient(circle at 94% 22%, rgba(14, 116, 130, 0.28) 0 2px, transparent 3px),
    radial-gradient(circle at 14% 78%, rgba(14, 116, 130, 0.22) 0 2px, transparent 3px),
    radial-gradient(circle at 38% 78%, rgba(14, 116, 130, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 62% 78%, rgba(14, 116, 130, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 78%, rgba(14, 116, 130, 0.22) 0 2px, transparent 3px);
  opacity: 0.74;
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
  animation: launchCircuitExpand 5.8s ease-in-out infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
}

.launch-energy-grid {
  display: none;
}

.launch-circuit-map {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  opacity: 0.98;
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
  filter:
    drop-shadow(0 0 4px rgba(34, 164, 181, 0.18))
    drop-shadow(0 0 15px rgba(62, 221, 236, 0.12));
}

.launch-circuit-map svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.launch-circuit-bases path {
  fill: none;
  stroke: rgba(15, 93, 105, 0.22);
  stroke-width: 1;
  stroke-linecap: square;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
  opacity: 0.78;
}

.launch-circuit-path {
  fill: none;
  stroke: rgba(11, 146, 163, 0.9);
  stroke-width: 1.75;
  stroke-linecap: square;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 0.08 0.92;
  stroke-dashoffset: 1;
  opacity: 0;
  filter:
    drop-shadow(0 0 3px rgba(82, 236, 250, 0.52))
    drop-shadow(0 0 10px rgba(11, 146, 163, 0.24));
  animation: launchCircuitTrace 2.9s linear infinite;
  animation-delay: calc(var(--launch-loading-offset, 0ms) + var(--path-delay, 0ms));
}

.launch-circuit-path:nth-child(3n) {
  stroke: rgba(22, 98, 113, 0.78);
  stroke-width: 1.25;
  animation-duration: 3.35s;
}

.launch-circuit-path:nth-child(4n) {
  stroke: rgba(59, 207, 222, 0.86);
  stroke-width: 1.5;
  stroke-dasharray: 0.12 0.88;
  animation-duration: 3.8s;
}

.launch-circuit-path:nth-child(5n) {
  stroke: rgba(255, 137, 100, 0.62);
  stroke-width: 1.15;
  animation-duration: 3.15s;
}

.launch-circuit-node {
  fill: rgba(12, 144, 160, 0.78);
  stroke: rgba(255, 255, 255, 0.82);
  stroke-width: 0.8;
  vector-effect: non-scaling-stroke;
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
  filter:
    drop-shadow(0 0 5px rgba(69, 228, 242, 0.58))
    drop-shadow(0 0 14px rgba(16, 119, 133, 0.26));
  animation: launchCircuitNodeSpark 3.2s ease-out infinite;
  animation-delay: calc(var(--launch-loading-offset, 0ms) + var(--node-delay, 0ms));
}

.launch-energy-beam {
  display: none;
}

.launch-energy-beam::before,
.launch-energy-beam::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  opacity: 0.9;
  transform: translateY(-50%);
}

.launch-energy-beam::before {
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 12%, rgba(125, 244, 255, 0.88) 28%, rgba(255, 112, 78, 0.34) 56%, transparent 72%);
}

.launch-energy-beam::after {
  width: 90px;
  height: 20px;
  background: linear-gradient(90deg, transparent, rgba(128, 246, 255, 0.58), transparent);
  filter: blur(3px);
}

.launch-energy-beam.is-left {
  left: -14%;
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(62, 234, 240, 0), rgba(93, 240, 246, 0.92) 78%, rgba(255, 255, 255, 0.98));
  animation: launchBeamLeft 4.8s linear infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
}

.launch-energy-beam.is-left::before {
  right: -18px;
}

.launch-energy-beam.is-left::after {
  right: -84px;
}

.launch-energy-beam.is-right {
  right: -14%;
  transform: translateY(-50%) scaleX(0);
  transform-origin: right center;
  background: linear-gradient(270deg, rgba(255, 113, 77, 0), rgba(255, 131, 83, 0.9) 68%, rgba(255, 255, 255, 0.98));
  animation: launchBeamRight 4.8s linear infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
}

.launch-energy-beam.is-right::before {
  left: -18px;
}

.launch-energy-beam.is-right::after {
  left: -84px;
}

.launch-energy-wave {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  width: auto;
  top: 50%;
  z-index: 8;
  height: 128px;
  opacity: 1;
  transform: translateY(-50%);
  filter:
    drop-shadow(0 0 3px rgba(89, 194, 207, 0.32))
    drop-shadow(0 0 10px rgba(31, 41, 38, 0.08));
  animation: launchWaveShow 2.4s linear infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
}

.launch-energy-wave::before,
.launch-energy-wave::after {
  content: none;
}

.launch-energy-wave::after {
  top: calc(50% + 26px);
  opacity: 0;
  animation-delay: calc(var(--launch-loading-offset, 0ms) - 90ms);
}

.launch-ecg-segment {
  position: absolute;
  top: 0;
  height: 100%;
  overflow: visible;
}

.launch-ecg-segment.is-left {
  left: -10vw;
  right: calc(50% + var(--launch-hole-radius));
}

.launch-ecg-segment.is-right {
  left: calc(50% + var(--launch-hole-radius));
  right: -10vw;
}

.launch-ecg-segment svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.launch-ecg-segment path {
  fill: none;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.launch-energy-wave-shadow {
  stroke: rgba(18, 102, 113, 0.36);
  stroke-width: 1.05;
}

.launch-energy-wave-line {
  stroke: rgba(12, 158, 175, 0.95);
  stroke-width: 1.35;
  stroke-dasharray: 24 100;
  stroke-dashoffset: 100;
  animation: launchWaveTrace 1.9s linear infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
}

.launch-ecg-segment.is-right .launch-energy-wave-line {
  animation-delay: calc(var(--launch-loading-offset, 0ms) + 0.58s);
}

.launch-energy-core {
  position: absolute;
  left: 50%;
  top: calc(50% - 20px);
  z-index: 6;
  width: calc(var(--launch-hole-radius) * 2);
  height: calc(var(--launch-hole-radius) * 2);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #000 0 32%, rgba(0, 0, 0, 0.97) 33% 43%, rgba(12, 28, 34, 0.76) 44% 52%, transparent 54%),
    conic-gradient(from 0deg, rgba(121, 244, 255, 0.08), rgba(255, 255, 255, 0.5), rgba(67, 217, 237, 0.16), rgba(14, 20, 29, 0), rgba(255, 255, 255, 0.34), rgba(121, 244, 255, 0.08));
  box-shadow:
    inset 0 0 30px rgba(0, 0, 0, 0.95),
    0 0 12px rgba(155, 249, 255, 0.38),
    0 0 30px rgba(29, 147, 168, 0.2);
  opacity: 1;
  transform: translate(-50%, -50%);
  animation: launchBlackHoleCore 3.8s ease-in-out infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
}

.launch-energy-core::before,
.launch-energy-core::after {
  content: "";
  position: absolute;
  inset: -20%;
  border-radius: 50%;
  background:
    conic-gradient(from 120deg, transparent 0 34deg, rgba(144, 246, 255, 0.74) 50deg, transparent 76deg, transparent 132deg, rgba(255, 255, 255, 0.5) 158deg, transparent 192deg, rgba(49, 182, 207, 0.62) 232deg, transparent 282deg, transparent 360deg);
  filter: blur(1.4px);
  opacity: 0.62;
  transform: rotate(-9deg) scaleX(1.38) scaleY(0.58);
  animation: launchAccretionRing 2.9s linear infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
}

.launch-energy-core::after {
  inset: -30%;
  opacity: 0.18;
  filter: blur(4px);
  transform: rotate(14deg) scaleX(1.62) scaleY(0.48);
  animation-duration: 4.6s;
  animation-direction: reverse;
}

.launch-energy-flash {
  display: none;
}

@keyframes launchStageSweep {
  0% { transform: translateX(-120%); opacity: 0; }
  28% { opacity: 0.46; }
  64% { opacity: 0.2; }
  100% { transform: translateX(120%); opacity: 0; }
}

@keyframes launchPanelAtmosphere {
  0% { opacity: 0.48; transform: translateX(-10%) scaleX(1); }
  28% { opacity: 0.78; transform: translateX(0%) scaleX(1.02); }
  54% { opacity: 0.58; transform: translateX(8%) scaleX(1); }
  76% { opacity: 0.86; transform: translateX(2%) scaleX(1.015); }
  100% { opacity: 0.48; transform: translateX(-10%) scaleX(1); }
}

@keyframes launchPageHalo {
  0%, 100% {
    opacity: 0.78;
    filter: saturate(0.92) contrast(1);
    transform: scale(1);
  }
  42% {
    opacity: 0.98;
    filter: saturate(1.12) contrast(1.03);
    transform: scale(1.018);
  }
  68% {
    opacity: 0.88;
    filter: saturate(0.98) contrast(1.02);
    transform: scale(0.992);
  }
}

@keyframes launchPageHaloDrift {
  0%, 100% {
    opacity: 0.42;
    transform: translate3d(0, 0, 0) scale(1);
  }
  48% {
    opacity: 0.64;
    transform: translate3d(1.2%, -0.8%, 0) scale(1.025);
  }
  76% {
    opacity: 0.5;
    transform: translate3d(-0.8%, 0.9%, 0) scale(1.01);
  }
}

@keyframes launchCircuitPulse {
  0%, 100% {
    opacity: 0.36;
    filter: saturate(0.9);
    transform: scaleX(0.96);
  }
  38% {
    opacity: 0.82;
    filter: saturate(1.12);
    transform: scaleX(1.01);
  }
  72% {
    opacity: 0.54;
    filter: saturate(1);
    transform: scaleX(0.99);
  }
}

@keyframes launchCircuitNodes {
  0%, 100% {
    opacity: 0.28;
    transform: scale(0.98);
  }
  45% {
    opacity: 0.78;
    transform: scale(1.012);
  }
  70% {
    opacity: 0.46;
    transform: scale(1);
  }
}

@keyframes launchCircuitExpand {
  0%, 100% {
    opacity: 0.32;
    transform: translate(-50%, -50%) scaleX(0.86) scaleY(0.96);
  }
  42% {
    opacity: 0.84;
    transform: translate(-50%, -50%) scaleX(1.04) scaleY(1);
  }
  76% {
    opacity: 0.58;
    transform: translate(-50%, -50%) scaleX(0.98) scaleY(1.01);
  }
}

@keyframes launchCircuitTrace {
  0% {
    stroke-dashoffset: 1;
    opacity: 0;
  }

  8% {
    opacity: 0.96;
  }

  58% {
    stroke-dashoffset: 0;
    opacity: 0.94;
  }

  76% {
    opacity: 0.42;
  }

  100% {
    stroke-dashoffset: -0.32;
    opacity: 0;
  }
}

@keyframes launchCircuitNodeSpark {
  0%, 18%, 100% {
    opacity: 0;
    transform: scale(0.58);
  }

  36% {
    opacity: 0.98;
    transform: scale(1.35);
  }

  50% {
    opacity: 0.64;
    transform: scale(0.92);
  }

  66% {
    opacity: 0.88;
    transform: scale(1.08);
  }

  82% {
    opacity: 0.18;
    transform: scale(0.72);
  }
}

@keyframes launchButtonPowerFeed {
  0% {
    opacity: 0.34;
    transform: translateY(-50%) translateX(-18px) scaleX(0.92);
    filter: saturate(0.92) brightness(0.92);
  }

  24% {
    opacity: 0.82;
    transform: translateY(-50%) translateX(-8px) scaleX(0.98);
  }

  48% {
    opacity: 1;
    transform: translateY(-50%) translateX(0) scaleX(1.04);
    filter: saturate(1.32) brightness(1.12);
  }

  68% {
    opacity: 0.78;
    transform: translateY(-50%) translateX(5px) scaleX(1);
  }

  84% {
    opacity: 1;
    transform: translateY(-50%) translateX(11px) scaleX(1.03);
    filter: saturate(1.28) brightness(1.18);
  }

  100% {
    opacity: 0.3;
    transform: translateY(-50%) translateX(18px) scaleX(0.96);
    filter: saturate(0.92) brightness(0.92);
  }
}

@keyframes launchButtonTerminalGlow {
  0%, 100% {
    opacity: 0.24;
    filter: brightness(0.9) saturate(0.92);
  }

  28% {
    opacity: 0.92;
    filter: brightness(1.38) saturate(1.28);
  }

  44% {
    opacity: 0.38;
    filter: brightness(1.02);
  }

  66% {
    opacity: 0.86;
    filter: brightness(1.32) saturate(1.18);
  }

  82% {
    opacity: 0.32;
    filter: brightness(0.98);
  }
}

@keyframes launchButtonTerminalBoot {
  0%, 100% {
    filter: brightness(0.96) saturate(1);
  }

  28% {
    filter: brightness(1.12) saturate(1.18);
  }

  44% {
    filter: brightness(0.98) saturate(1.02);
  }

  66% {
    filter: brightness(1.16) saturate(1.2);
  }
}

@keyframes launchGateLabelBlink {
  0%, 100% {
    opacity: 0.66;
    filter: brightness(0.92);
  }

  45% {
    opacity: 1;
    filter: brightness(1.38);
  }

  68% {
    opacity: 0.82;
    filter: brightness(1.08);
  }
}

@keyframes launchGearTerminalSpin {
  0% {
    opacity: 0.88;
    transform: translateY(-50%) rotate(0deg) scale(0.96);
    filter: brightness(0.96) saturate(1);
  }

  34% {
    opacity: 1;
    transform: translateY(-50%) rotate(122deg) scale(1.06);
    filter: brightness(1.28) saturate(1.24);
  }

  58% {
    opacity: 0.92;
    transform: translateY(-50%) rotate(209deg) scale(0.99);
    filter: brightness(1.02) saturate(1.06);
  }

  78% {
    opacity: 1;
    transform: translateY(-50%) rotate(281deg) scale(1.04);
    filter: brightness(1.22) saturate(1.18);
  }

  100% {
    opacity: 0.88;
    transform: translateY(-50%) rotate(360deg) scale(0.96);
    filter: brightness(0.96) saturate(1);
  }
}

@keyframes launchBeamLeft {
  0%, 18%, 32%, 46%, 60%, 100% { transform: translateY(-50%) scaleX(0); opacity: 0; }
  5%, 23%, 37% { transform: translateY(-50%) scaleX(0.58); opacity: 0.76; }
  10%, 28%, 42% { transform: translateY(-50%) scaleX(1.28); opacity: 1; }
  14%, 30%, 44% { transform: translateY(-50%) scaleX(1.28); opacity: 0.18; }
}

@keyframes launchBeamRight {
  0%, 18%, 32%, 46%, 60%, 100% { transform: translateY(-50%) scaleX(0); opacity: 0; }
  5%, 23%, 37% { transform: translateY(-50%) scaleX(0.58); opacity: 0.72; }
  10%, 28%, 42% { transform: translateY(-50%) scaleX(1.28); opacity: 1; }
  14%, 30%, 44% { transform: translateY(-50%) scaleX(1.28); opacity: 0.18; }
}

@keyframes launchWaveShow {
  0%, 100% { opacity: 0.9; transform: translateY(-50%) scaleX(1) skewX(0deg); }
  45% { opacity: 1; transform: translateY(-50%) scaleX(1.002) skewX(-0.08deg); }
  70% { opacity: 0.86; transform: translateY(-50%) scaleX(1) skewX(0.06deg); }
}

@keyframes launchWaveTrace {
  0% { opacity: 0; stroke-dashoffset: 104; stroke-width: 1.15; }
  10% { opacity: 1; stroke-dashoffset: 100; stroke-width: 1.35; }
  58% { opacity: 1; stroke-dashoffset: 18; stroke-width: 1.65; }
  82% { opacity: 0.72; stroke-dashoffset: -24; stroke-width: 1.25; }
  100% { opacity: 0; stroke-dashoffset: -60; stroke-width: 1.15; }
}

@keyframes launchCorePulse {
  0%, 8%, 18%, 25%, 32%, 39%, 45%, 84%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.35); }
  10%, 28%, 42% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
  13%, 30%, 44% { opacity: 0.16; transform: translate(-50%, -50%) scale(1.9); }
  58%, 70% { opacity: 0.72; transform: translate(-50%, -50%) scale(0.9); }
  76% { opacity: 0.2; transform: translate(-50%, -50%) scale(2.4); }
}

@keyframes launchBlackHoleFieldSpin {
  0% { transform: rotate(0deg) scale(1); opacity: 0.58; }
  50% { transform: rotate(180deg) scale(1.04); opacity: 0.86; }
  100% { transform: rotate(360deg) scale(1); opacity: 0.58; }
}

@keyframes launchBlackHoleSpiral {
  0% { transform: translate(-50%, -50%) rotate(0deg) scale(1.08); opacity: 0.58; }
  44% { transform: translate(-50%, -50%) rotate(190deg) scale(0.9); opacity: 0.9; }
  100% { transform: translate(-50%, -50%) rotate(360deg) scale(1.08); opacity: 0.58; }
}

@keyframes launchBlackHoleCore {
  0%, 100% {
    transform: translate(-50%, -50%) scale(0.98);
    filter: saturate(1) contrast(1);
  }
  46% {
    transform: translate(-50%, -50%) scale(1.04);
    filter: saturate(1.25) contrast(1.08);
  }
  68% {
    transform: translate(-50%, -50%) scale(0.96);
    filter: saturate(1.1) contrast(1.2);
  }
}

@keyframes launchAccretionRing {
  0% { transform: rotate(0deg) scaleX(1.38) scaleY(0.58); opacity: 0.48; }
  40% { transform: rotate(170deg) scaleX(1.48) scaleY(0.52); opacity: 0.92; }
  100% { transform: rotate(360deg) scaleX(1.38) scaleY(0.58); opacity: 0.48; }
}

@keyframes launchEnergyFlash {
  0%, 45%, 69%, 72%, 78%, 81%, 88%, 100% { opacity: 0; transform: translateY(-50%) scaleY(0.5); }
  50%, 62% { opacity: 0.42; transform: translateY(-50%) scaleY(0.86); }
  70% { opacity: 0.78; transform: translateY(-50%) scaleY(1); }
  79% { opacity: 0.62; transform: translateY(-50%) scaleY(0.92); }
  84% { opacity: 0.46; transform: translateY(-50%) scaleY(0.8); }
}

@keyframes launchWaveRail {
  0%, 46%, 68%, 72%, 79%, 83%, 100% { opacity: 0; transform: translateY(-50%) scaleX(0.96); }
  50%, 62% { opacity: 0.74; transform: translateY(-50%) scaleX(1); }
  70% { opacity: 0.14; transform: translateY(-50%) scaleX(1.01); }
  75% { opacity: 0.86; transform: translateY(-50%) scaleX(1); }
  81% { opacity: 0.2; transform: translateY(-50%) scaleX(1.02); }
  86% { opacity: 0.7; transform: translateY(-50%) scaleX(1); }
}

.launch-result-empty strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 18px;
}

.launch-result-empty p,
.launch-conclusion p,
.launch-result-section p,
.launch-score-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.launch-result-eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.launch-conclusion {
  border-color: rgba(37, 93, 109, 0.18);
  background: linear-gradient(180deg, #f8fbfb 0%, #ffffff 100%);
}

.launch-conclusion.is-g0,
.launch-conclusion.is-g1,
.launch-conclusion.is-g2 {
  border-color: rgba(215, 55, 87, 0.28);
  background: #fff7f7;
}

.launch-conclusion.is-g3 {
  border-color: rgba(219, 169, 57, 0.3);
  background: #fffaf0;
}

.launch-conclusion.is-g4,
.launch-conclusion.is-g5 {
  border-color: rgba(43, 157, 112, 0.28);
  background: #f5fbf8;
}

.launch-conclusion h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.25;
}

.launch-result-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.launch-result-metric {
  min-height: 82px;
  padding: 12px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.launch-result-metric strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.45;
}

.launch-result-section.is-warning {
  border-color: rgba(219, 169, 57, 0.32);
  background: #fffaf0;
}

.launch-risk-list {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.launch-risk-list li {
  padding: 10px 12px;
  border: 1px solid rgba(37, 93, 109, 0.12);
  border-radius: 8px;
  background: #f8fbfb;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.55;
}

.launch-score-list {
  display: grid;
  gap: 10px;
}

.launch-score-row {
  padding: 12px;
  border: 1px solid rgba(37, 93, 109, 0.12);
  border-radius: 8px;
  background: #f8fbfb;
}

.launch-score-row-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 13px;
}

.launch-score-row-top strong,
.launch-score-row-top span {
  font-weight: 900;
}

.launch-score-track {
  height: 8px;
  margin-bottom: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(37, 93, 109, 0.1);
}

.launch-score-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), var(--accent-coral));
}

.launch-submit-area {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) auto;
  gap: 18px 22px;
  align-items: center;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(248, 251, 251, 0.96) 0%, rgba(255, 255, 255, 0.98) 58%, rgba(255, 242, 230, 0.72) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 14px 32px rgba(31, 41, 38, 0.06);
}

.launch-decision-panel.is-launch-loading .launch-submit-copy {
  display: none;
}

.launch-decision-panel.is-launch-loading .launch-submit-area {
  grid-template-columns: 1fr;
  justify-items: stretch;
  margin-top: -46px;
  position: relative;
  z-index: 30;
}

.launch-decision-panel .launch-submit-area {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.launch-decision-panel.is-launch-loading .launch-submit-area {
  padding: 0;
}

.launch-decision-panel.is-launch-loading .launch-submit-area .submit-status {
  display: none !important;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions {
  position: relative;
  z-index: 1;
  width: 100%;
  justify-content: space-between;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions .secondary-button,
.launch-decision-panel.is-launch-loading .launch-submit-actions .primary-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  border-radius: 7px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(31, 41, 38, 0.06) !important;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions .secondary-button {
  width: 136px !important;
  min-width: 136px !important;
  border: 1px solid rgba(75, 116, 110, 0.22) !important;
  background:
    linear-gradient(180deg, rgba(236, 242, 240, 0.9), rgba(220, 231, 228, 0.82)) !important;
  color: #315d58 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 7px 15px rgba(31, 41, 38, 0.045) !important;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions .primary-button {
  position: relative !important;
  isolation: isolate !important;
  width: 232px !important;
  min-width: 232px !important;
  height: 46px !important;
  min-height: 46px !important;
  overflow: visible !important;
  padding: 0 24px 0 82px !important;
  border: 1px solid rgba(89, 226, 226, 0.46) !important;
  border-radius: 23px !important;
  background:
    radial-gradient(circle at 29px 50%, rgba(6, 30, 36, 0.98) 0 26px, rgba(82, 222, 224, 0.38) 27px 31px, rgba(12, 57, 63, 0.9) 32px 39px, rgba(111, 248, 241, 0) 42px),
    linear-gradient(135deg, rgba(10, 36, 43, 0.98) 0%, rgba(15, 68, 76, 0.94) 46%, rgba(20, 91, 86, 0.9) 100%) !important;
  color: #e9fffc !important;
  clip-path: none !important;
  box-shadow:
    inset 0 0 0 1px rgba(172, 255, 249, 0.22),
    inset 34px 0 30px rgba(0, 12, 17, 0.28),
    inset 0 0 22px rgba(70, 220, 218, 0.14),
    0 10px 22px rgba(24, 100, 104, 0.2) !important;
  animation: launchButtonTerminalBoot 2.6s ease-in-out infinite !important;
  animation-delay: var(--launch-loading-offset, 0ms) !important;
  white-space: nowrap !important;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions .primary-button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% - 42px);
  z-index: -1;
  width: min(30vw, 380px);
  height: 86px;
  background:
    linear-gradient(90deg, transparent 0%, rgba(44, 160, 169, 0.16) 20%, rgba(77, 222, 226, 0.72) 58%, rgba(228, 255, 253, 0.9) 72%, rgba(64, 194, 199, 0.18) 100%) 0 20% / 100% 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(44, 160, 169, 0.12) 16%, rgba(77, 222, 226, 0.58) 52%, rgba(228, 255, 253, 0.78) 68%, rgba(64, 194, 199, 0.16) 100%) 0 39% / 82% 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(44, 160, 169, 0.2) 12%, rgba(88, 236, 237, 0.82) 50%, rgba(255, 255, 255, 0.96) 66%, rgba(64, 194, 199, 0.22) 100%) 0 50% / 100% 2px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(44, 160, 169, 0.12) 20%, rgba(77, 222, 226, 0.56) 55%, rgba(228, 255, 253, 0.74) 70%, rgba(64, 194, 199, 0.16) 100%) 0 63% / 74% 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(44, 160, 169, 0.14) 18%, rgba(77, 222, 226, 0.62) 58%, rgba(228, 255, 253, 0.84) 74%, rgba(64, 194, 199, 0.18) 100%) 0 80% / 92% 1px no-repeat,
    linear-gradient(0deg, transparent 0 26%, rgba(63, 195, 202, 0.3) 26% 48%, transparent 48% 100%) 34% 0 / 1px 100% no-repeat,
    linear-gradient(0deg, transparent 0 36%, rgba(63, 195, 202, 0.26) 36% 68%, transparent 68% 100%) 64% 0 / 1px 100% no-repeat,
    radial-gradient(circle at 72% 50%, rgba(228, 255, 253, 0.88) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 20%, rgba(88, 236, 237, 0.68) 0 2px, transparent 3px),
    radial-gradient(circle at 90% 80%, rgba(88, 236, 237, 0.62) 0 2px, transparent 3px);
  box-shadow:
    0 0 10px rgba(92, 240, 242, 0.26),
    0 0 22px rgba(65, 195, 199, 0.18);
  opacity: 0.88;
  transform: translateY(-50%) scaleX(0.98);
  transform-origin: right center;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.72) 12%, #000 62%, #000 100%);
  animation: launchButtonPowerFeed 1.15s linear infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
  pointer-events: none;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions .primary-button span,
.launch-decision-panel.is-launch-loading .launch-submit-actions .primary-button strong {
  position: relative;
  z-index: 3;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions .primary-button::after {
  content: "";
  position: absolute;
  left: -13px;
  top: 50%;
  z-index: 2;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(4, 22, 28, 1) 0 18%, rgba(130, 255, 249, 0.92) 19% 23%, rgba(5, 28, 34, 0.98) 24% 35%, rgba(157, 255, 250, 0.78) 36% 40%, transparent 41%),
    repeating-conic-gradient(from 0deg, rgba(218, 255, 252, 0.98) 0 6deg, rgba(72, 213, 218, 0.96) 6deg 12deg, rgba(7, 42, 49, 0.94) 12deg 18deg, rgba(17, 91, 97, 0.88) 18deg 24deg),
    radial-gradient(circle at 38% 30%, rgba(255, 255, 255, 0.5) 0 8%, transparent 18%),
    radial-gradient(circle at 50% 50%, rgba(44, 196, 204, 0.38) 0 57%, rgba(3, 20, 26, 0.78) 58% 68%, transparent 70%);
  opacity: 0.96;
  box-shadow:
    inset 0 0 8px rgba(0, 10, 13, 0.95),
    inset -8px -10px 14px rgba(0, 16, 21, 0.6),
    inset 7px 7px 10px rgba(255, 255, 255, 0.18),
    0 0 0 7px rgba(7, 39, 46, 0.92),
    0 0 0 9px rgba(93, 221, 224, 0.2),
    0 10px 18px rgba(0, 24, 28, 0.32),
    0 0 24px rgba(58, 203, 209, 0.3);
  animation: launchGearTerminalSpin 1.15s linear infinite;
  animation-delay: var(--launch-loading-offset, 0ms);
  pointer-events: none;
}

.launch-decision-panel.is-launch-loading .launch-submit-actions::before {
  content: none;
}

.launch-submit-copy h3 {
  margin-bottom: 8px;
}

.launch-submit-actions {
  justify-content: flex-end;
}

.launch-submit-area .submit-status {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding: 13px 16px;
  border-color: rgba(244, 123, 67, 0.26);
  background:
    linear-gradient(90deg, rgba(255, 244, 236, 0.96), rgba(255, 255, 255, 0.96));
  color: #875235;
  font-weight: 800;
}

@media (max-width: 1180px) {
  .launch-decision-layout,
  .launch-context-strip {
    grid-template-columns: 1fr;
  }

  .launch-result-card {
    position: static;
  }
}

@media (max-width: 760px) {
  .money-grid,
  .launch-channel-options,
  .launch-result-metrics,
  .launch-ai-brief,
  .launch-ai-source {
    grid-template-columns: 1fr;
  }
}

.parameter-optimization-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.parameter-optimization-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.parameter-optimization-heading > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(15, 90, 86, 0.18);
  border-radius: 999px;
  background: #eef7f7;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.parameter-optimization-heading h3 {
  margin: 0;
  color: var(--ink);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.35;
}

.parameter-optimization-heading p,
.parameter-optimization-result p,
.parameter-optimization-result li {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.parameter-optimization-result {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: #f8fbfb;
}

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

.parameter-optimization-grid > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(37, 93, 109, 0.12);
  border-radius: 8px;
  background: #ffffff;
}

.parameter-optimization-grid h4 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.parameter-optimization-grid ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
}

@media (max-width: 760px) {
  .parameter-optimization-heading,
  .parameter-optimization-grid {
    grid-template-columns: 1fr;
  }
}

.market-entry-page-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.market-entry-side-nav {
  position: sticky;
  top: 18px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(17, 31, 44, 0.07);
}

.market-entry-workspace {
  gap: 0;
  min-width: 0;
}

.market-entry-progress-card .parameter-progress-meta b,
.market-entry-satisfaction,
.market-entry-result-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 999px;
  background: #f4f7f8;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.market-entry-satisfaction.is-satisfied,
.market-entry-progress-card .parameter-progress-meta b.market-entry-satisfaction.is-satisfied,
.market-entry-result-badge.is-satisfied {
  border-color: rgba(15, 132, 88, 0.22);
  background: #edf8f2;
  color: #0b6b49;
}

.market-entry-satisfaction.is-partial,
.market-entry-progress-card .parameter-progress-meta b.market-entry-satisfaction.is-partial,
.market-entry-result-badge.is-partial {
  border-color: rgba(197, 138, 33, 0.24);
  background: #fff8e8;
  color: #8a5a08;
}

.market-entry-satisfaction.is-unsatisfied,
.market-entry-progress-card .parameter-progress-meta b.market-entry-satisfaction.is-unsatisfied,
.market-entry-result-badge.is-unsatisfied {
  border-color: rgba(198, 63, 76, 0.22);
  background: #fff0f2;
  color: #9b2433;
}

.market-entry-satisfaction.is-supplement,
.market-entry-progress-card .parameter-progress-meta b.market-entry-satisfaction.is-supplement,
.market-entry-result-badge.is-supplement {
  border-color: rgba(128, 85, 214, 0.28);
  background: #f4efff;
  color: #6138b4;
  box-shadow: 0 0 0 3px rgba(128, 85, 214, 0.08);
}

.market-entry-jump-list {
  display: grid;
  gap: 4px;
  padding: 4px;
  overflow: visible;
}

.market-entry-jump-item {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 9px 8px;
  overflow: visible;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.market-entry-jump-item span {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-entry-jump-item .market-entry-result-badge {
  position: relative;
  z-index: 1;
}

.market-entry-jump-item:hover,
.market-entry-jump-item.is-active {
  background: #eef6f6;
  color: var(--green-dark);
}

.market-entry-jump-item.is-running {
  color: var(--green-dark);
  background: linear-gradient(90deg, rgba(232, 248, 246, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: 0 9px 20px rgba(17, 120, 111, 0.13);
}

.market-entry-jump-item.is-error {
  color: #9b2433;
  background: #fff0f2;
}

.market-entry-jump-item.is-complete-showcase {
  color: var(--green-dark);
  background: linear-gradient(90deg, rgba(255, 248, 226, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow:
    0 0 0 1px rgba(232, 183, 72, 0.42),
    0 18px 34px rgba(198, 63, 76, 0.18),
    0 0 28px rgba(232, 183, 72, 0.32);
  animation: marketEntryCompleteShowcasePop 1800ms cubic-bezier(0.18, 1.15, 0.26, 1) both;
}

.market-entry-jump-item.is-complete-showcase::before {
  content: "";
  position: absolute;
  inset: -3px;
  z-index: 0;
  border-radius: 10px;
  border: 1px solid rgba(232, 183, 72, 0.74);
  pointer-events: none;
  background:
    linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0) 28%, rgba(255, 237, 174, 0.76) 48%, rgba(198, 63, 76, 0.18) 62%, transparent 82%),
    radial-gradient(circle at 14% 50%, rgba(255, 92, 104, 0.18), transparent 36%);
  box-shadow:
    0 0 0 1px rgba(255, 237, 174, 0.3),
    0 0 22px rgba(232, 183, 72, 0.58),
    0 0 38px rgba(198, 63, 76, 0.28);
  animation: marketEntryCompleteShowcaseRing 1800ms ease-out both;
}

.market-entry-jump-item.is-complete-showcase::after {
  content: "";
  position: absolute;
  inset: -10px;
  z-index: 0;
  border-radius: 14px;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 238, 177, 0.58) 0%, rgba(255, 238, 177, 0.22) 28%, transparent 60%),
    radial-gradient(circle at 86% 48%, rgba(198, 63, 76, 0.22) 0%, transparent 38%);
  animation: marketEntryCompleteShowcaseBurst 1800ms ease-out both;
}

.market-entry-jump-item.is-complete-showcase .market-entry-result-badge {
  border-color: rgba(232, 183, 72, 0.58);
  background: #fff7dc;
  box-shadow:
    0 0 0 1px rgba(255, 239, 185, 0.62),
    0 0 18px rgba(232, 183, 72, 0.52);
  animation: marketEntryCompleteBadgeFlash 1250ms ease-out both;
}

.market-entry-jump-item.is-running::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  border: 1px solid rgba(28, 140, 128, 0.28);
  pointer-events: none;
}

.market-entry-jump-item.is-running::after {
  content: "";
}

.market-entry-jump-item.is-running::after {
  position: absolute;
  left: var(--runner-x, 8px);
  top: var(--runner-y, 0px);
  z-index: 4;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 34% 30%, rgba(255, 255, 255, 0.95) 0 12%, rgba(255, 225, 217, 0.58) 13% 22%, transparent 23%),
    radial-gradient(circle at 56% 58%, #ff8a82 0 18%, #d8344f 38%, #981936 72%, #5f1026 100%);
  box-shadow:
    0 0 13px rgba(205, 42, 67, 0.58),
    0 0 22px rgba(205, 42, 67, 0.34),
    0 0 5px rgba(255, 214, 207, 0.78),
    inset -1px -1px 2px rgba(58, 5, 21, 0.52),
    inset 1px 1px 2px rgba(255, 222, 216, 0.45);
  pointer-events: none;
  transform: translate(-50%, -50%);
  will-change: left, top;
}

@keyframes marketEntryCompleteShowcasePop {
  0% {
    transform: translateY(-4px) scale(0.985);
  }

  16% {
    transform: translateY(0) scale(1.035);
  }

  38% {
    transform: translateY(0) scale(1);
  }

  72% {
    transform: translateY(0) scale(1.01);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes marketEntryCompleteShowcaseRing {
  0% {
    opacity: 0;
    transform: scale(0.96);
  }

  14% {
    opacity: 1;
    transform: scale(1.02);
  }

  52% {
    opacity: 0.9;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(1.06);
  }
}

@keyframes marketEntryCompleteShowcaseBurst {
  0% {
    opacity: 0;
    transform: scale(0.82);
  }

  18% {
    opacity: 0.95;
    transform: scale(1.02);
  }

  100% {
    opacity: 0;
    transform: scale(1.22);
  }
}

@keyframes marketEntryCompleteBadgeFlash {
  0%,
  100% {
    transform: scale(1);
  }

  18% {
    transform: scale(1.16);
  }

  42% {
    transform: scale(1);
  }
}

.market-entry-result-badge {
  min-width: 44px;
  min-height: 24px;
  padding: 0 8px;
  font-size: 11px;
}

.market-entry-result-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  gap: 0;
}

.market-entry-result-panel {
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.market-entry-item-result {
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.market-entry-analysis-gate-loader {
  position: relative;
  display: grid;
  gap: 0;
  min-height: 640px;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  color: #d9fbff;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}

.market-entry-analysis-gate-loader[hidden] {
  display: none !important;
}

.market-entry-analysis-gate-loader::before,
.market-entry-analysis-gate-loader::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.market-entry-analysis-gate-loader::before {
  background:
    linear-gradient(90deg, rgba(78, 111, 118, 0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(78, 111, 118, 0.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(180deg, transparent 0%, black 12%, black 88%, transparent 100%);
  animation: marketEntryAnalysisGridDrift 10s linear infinite;
}

.market-entry-analysis-gate-loader::after {
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.18) 43%, rgba(207, 230, 232, 0.3) 50%, rgba(255, 255, 255, 0.16) 57%, transparent 100%);
  transform: translateX(-120%);
  animation: marketEntryAnalysisGateSweep 4.8s ease-in-out infinite;
}

.market-entry-analysis-gate-head,
.market-entry-analysis-gate-body {
  position: relative;
  z-index: 1;
}

.market-entry-analysis-gate-head {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.market-entry-analysis-gate-head span,
.market-entry-analysis-gate-head b {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid rgba(128, 232, 229, 0.26);
  border-radius: 999px;
  color: #93f1ed;
  background: rgba(7, 20, 22, 0.58);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
}

.market-entry-analysis-gate-head b {
  color: #ffd49f;
  border-color: rgba(245, 174, 91, 0.34);
  animation: marketEntryAnalysisRunPulse 1.3s ease-in-out infinite;
}

.market-entry-analysis-gate-head strong {
  min-width: 0;
  color: #eefeff;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.4;
}

.market-entry-analysis-gate-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}

.market-entry-analysis-gate-nodes {
  display: none;
  gap: 8px;
  align-content: start;
}

.market-entry-analysis-gate-nodes i {
  position: relative;
  min-height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 225, 222, 0.24);
  border-radius: 8px;
  color: #b9f8f4;
  background: linear-gradient(135deg, rgba(13, 46, 50, 0.94), rgba(10, 30, 34, 0.78));
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  box-shadow: inset 0 0 18px rgba(75, 222, 229, 0.06);
  animation: marketEntryAnalysisNodePulse 2.4s ease-in-out infinite;
  animation-delay: calc(var(--node-index, 0) * 0.16s);
}

.market-entry-analysis-gate-nodes i:nth-child(1) { --node-index: 1; }
.market-entry-analysis-gate-nodes i:nth-child(2) { --node-index: 2; }
.market-entry-analysis-gate-nodes i:nth-child(3) { --node-index: 3; }
.market-entry-analysis-gate-nodes i:nth-child(4) { --node-index: 4; }
.market-entry-analysis-gate-nodes i:nth-child(5) { --node-index: 5; }

.market-entry-analysis-terminal {
  position: relative;
  height: 640px;
  overflow: hidden;
  padding: 14px 18px;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(210, 231, 232, 0.58), transparent 30%),
    radial-gradient(circle at 86% 76%, rgba(242, 247, 247, 0.72), transparent 34%),
    linear-gradient(180deg, rgba(250, 252, 252, 0.76), rgba(236, 243, 244, 0.82) 52%, rgba(246, 249, 249, 0.72));
  box-shadow: inset 0 22px 30px rgba(255, 255, 255, 0.42), inset 0 -24px 36px rgba(222, 234, 236, 0.34);
  font-family: Consolas, "SFMono-Regular", "Microsoft YaHei UI", monospace;
}

.market-entry-analysis-terminal::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(248, 251, 251, 0.9), transparent 12%, transparent 84%, rgba(248, 251, 251, 0.9)),
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.62), transparent);
  background-size: 100% 100%, 220% 100%;
  background-position: 0 0, -140% 0;
  animation: marketEntryAnalysisTerminalSweep 3.2s linear infinite;
  z-index: 2;
}

.market-entry-analysis-terminal > span {
  position: relative;
  display: block;
  min-width: max-content;
  color: rgba(80, 101, 106, 0.78);
  font-size: 12px;
  line-height: 1.92;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.66);
  animation: marketEntryAnalysisCodeLine 0.38s ease-out both, marketEntryAnalysisCodePulse 2.2s ease-in-out infinite;
  animation-delay: 0s, calc(var(--line-index, 0) * 0.03s);
  z-index: 1;
}

.market-entry-analysis-terminal > span::before {
  content: "";
  position: absolute;
  display: none;
  left: -8px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #6ee7df;
  box-shadow: 0 0 12px rgba(99, 230, 220, 0.72);
  transform: translateY(-50%);
}

.market-entry-analysis-terminal > span.is-pass {
  color: rgba(80, 101, 106, 0.78);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.66);
}

.market-entry-analysis-terminal > span.is-pass::before {
  width: 6px;
  height: 6px;
  background: transparent;
  box-shadow: none;
}

.market-entry-analysis-terminal > span.is-warn {
  color: rgba(80, 101, 106, 0.78);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.66);
}

.market-entry-analysis-terminal > span.is-warn::before {
  background: transparent;
  box-shadow: none;
}

@keyframes marketEntryAnalysisGateSweep {
  0% { transform: translateX(-125%); opacity: 0; }
  24% { opacity: 0.72; }
  60% { opacity: 0.46; }
  100% { transform: translateX(125%); opacity: 0; }
}

@keyframes marketEntryAnalysisGridDrift {
  0% { background-position: 0 0, 0 0; opacity: 0.62; }
  100% { background-position: 84px 42px, 42px 84px; opacity: 0.82; }
}

@keyframes marketEntryAnalysisRunPulse {
  0%, 100% { box-shadow: 0 0 0 rgba(245, 174, 91, 0); }
  50% { box-shadow: 0 0 18px rgba(245, 174, 91, 0.34); }
}

@keyframes marketEntryAnalysisNodePulse {
  0%, 100% {
    border-color: rgba(121, 225, 222, 0.2);
    transform: translateX(0);
  }
  45% {
    border-color: rgba(121, 225, 222, 0.58);
    transform: translateX(3px);
  }
}

@keyframes marketEntryAnalysisCodeLine {
  0% { opacity: 0; transform: translateY(10px) translateX(-8px); filter: blur(2px); }
  100% { opacity: 1; transform: translateY(0) translateX(0); filter: blur(0); }
}

@keyframes marketEntryAnalysisCodePulse {
  0%, 100% { opacity: 0.72; }
  42% { opacity: 1; }
  68% { opacity: 0.82; }
}

@keyframes marketEntryAnalysisTerminalSweep {
  0% { background-position: 0 0, -140% 0; }
  100% { background-position: 0 0, 140% 0; }
}

.market-entry-analysis-gate-loader {
  min-height: 640px;
  background:
    radial-gradient(circle at 48% 46%, rgba(222, 237, 238, 0.58), transparent 34%),
    linear-gradient(180deg, rgba(249, 251, 251, 0.3), rgba(239, 246, 246, 0.72) 46%, rgba(247, 250, 250, 0.52));
}

.market-entry-analysis-gate-loader::before {
  background:
    linear-gradient(90deg, rgba(72, 104, 110, 0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(72, 104, 110, 0.035) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(180deg, transparent 0%, black 18%, black 88%, transparent 100%);
  animation: marketEntryGateGridFloat 16s linear infinite;
}

.market-entry-analysis-gate-loader::after {
  display: none;
}

.market-entry-gate-map {
  position: relative;
  min-height: 640px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 18px 30px;
  isolation: isolate;
}

.market-entry-gate-map::before,
.market-entry-gate-map::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.market-entry-gate-map::before {
  display: none;
}

.market-entry-gate-map::after {
  display: block;
  left: 50%;
  top: 42%;
  width: 148%;
  height: 148%;
  border-radius: 999px;
  background: conic-gradient(from 0deg, transparent 0 60%, rgba(224, 86, 116, 0.08) 67%, rgba(232, 96, 128, 0.28) 71%, rgba(255, 205, 214, 0.54) 73%, rgba(238, 107, 139, 0.18) 76%, transparent 84% 100%);
  opacity: 0.72;
  transform: translate(-50%, -50%);
  animation: marketEntryGatePanelRadar 5.4s linear infinite;
  z-index: 1;
}

.market-entry-gate-core {
  display: none;
}

.market-entry-gate-core::before,
.market-entry-gate-core::after {
  display: none;
}

.market-entry-gate-core span {
  display: none;
}

.market-entry-gate-core strong {
  position: relative;
  z-index: 1;
  color: rgba(37, 61, 67, 0.9);
  font-size: 32px;
  font-weight: 950;
  letter-spacing: 0;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.86), 0 12px 30px rgba(68, 96, 102, 0.14);
}

.market-entry-gate-status {
  position: absolute;
  left: 50%;
  bottom: 36px;
  z-index: 4;
  display: grid;
  gap: 8px;
  justify-items: center;
  transform: translateX(-50%);
  color: rgba(45, 67, 72, 0.78);
  text-align: center;
}

.market-entry-gate-status::before,
.market-entry-gate-status::after {
  content: "";
  position: absolute;
  top: 50%;
  width: min(360px, 28vw);
  height: 2.5px;
  pointer-events: none;
  background-size: 180px 100%;
  filter: drop-shadow(0 0 8px rgba(93, 188, 205, 0.5));
  opacity: 0.92;
  transform: translateY(-50%);
  animation: marketEntryGateStageLink 2.8s linear infinite;
  z-index: 1;
}

.market-entry-gate-status::before {
  right: calc(100% - 1px);
  background-image: linear-gradient(90deg, transparent 0%, rgba(93, 188, 205, 0.28) 18%, rgba(207, 247, 252, 0.72) 72%, rgba(92, 186, 203, 0.94) 100%);
}

.market-entry-gate-status::after {
  left: calc(100% - 1px);
  background-image: linear-gradient(90deg, rgba(92, 186, 203, 0.94) 0%, rgba(207, 247, 252, 0.72) 28%, rgba(93, 188, 205, 0.28) 82%, transparent 100%);
  animation-delay: -1.4s;
}

.market-entry-gate-status strong {
  font-size: 18px;
  font-weight: 950;
}

.market-entry-gate-status span {
  position: relative;
  z-index: 2;
  min-width: 260px;
  padding: 9px 16px;
  border: 1px solid rgba(91, 128, 135, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  color: rgba(70, 93, 99, 0.78);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(68, 96, 102, 0.06);
}

.market-entry-gate-path {
  position: absolute;
  left: 50%;
  top: 42%;
  width: min(900px, 94%);
  height: min(430px, 62%);
  z-index: 3;
  transform: translate(-50%, -50%);
}

.market-entry-gate-circuit-field {
  position: absolute;
  inset: 0 0 54px;
  width: 100%;
  height: calc(100% - 54px);
  overflow: visible;
  pointer-events: none;
  z-index: 2;
}

.market-entry-gate-circuit-field path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.market-entry-gate-field-base path {
  stroke: rgba(82, 119, 127, 0.22);
  stroke-width: 1.25;
}

.market-entry-gate-field-flow path {
  stroke: rgba(86, 183, 203, 0.88);
  stroke-width: 2.2;
  stroke-dasharray: 58 214;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 7px rgba(92, 184, 202, 0.52));
  opacity: 0.82;
  animation: marketEntryGateFieldDash 3.1s linear infinite;
}

.market-entry-gate-field-flow path:nth-child(2n) {
  animation-delay: -0.7s;
}

.market-entry-gate-field-flow path:nth-child(3n) {
  animation-delay: -1.3s;
  stroke: rgba(139, 211, 221, 0.8);
}

.market-entry-gate-field-flow path:nth-child(4n) {
  animation-delay: -2s;
}

.market-entry-gate-field-flow path:nth-child(5n) {
  animation-duration: 2.55s;
  stroke: rgba(186, 231, 234, 0.72);
}

.market-entry-gate-field-flow path:nth-child(7n) {
  animation-duration: 3.75s;
  stroke-dasharray: 44 188;
}

.market-entry-gate-field-flow path.market-entry-gate-input-flow {
  stroke: rgba(214, 247, 250, 0.9);
  stroke-dasharray: 22 86;
  filter: drop-shadow(0 0 9px rgba(119, 214, 225, 0.58));
  animation: marketEntryGateFieldInputDash 1.65s linear infinite;
}

.market-entry-gate-circuit-links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}

.market-entry-gate-circuit-links path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.market-entry-gate-circuit-base path {
  stroke: rgba(91, 128, 135, 0.3);
  stroke-width: 1.35;
}

.market-entry-gate-circuit-flow path {
  stroke: rgba(255, 255, 255, 0.98);
  stroke-width: 3;
  stroke-dasharray: 54 210;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 8px rgba(84, 155, 168, 0.46)) drop-shadow(0 0 14px rgba(255, 255, 255, 0.48));
  opacity: 0.92;
  animation: marketEntryGateCircuitDash 2.05s linear infinite;
}

.market-entry-gate-circuit-flow path:nth-child(2) { animation-delay: -0.35s; }
.market-entry-gate-circuit-flow path:nth-child(3) { animation-delay: -0.7s; }
.market-entry-gate-circuit-flow path:nth-child(4) { animation-delay: -1.05s; }
.market-entry-gate-circuit-flow path:nth-child(5) { animation-delay: -1.4s; }
.market-entry-gate-circuit-flow path:nth-child(6) { animation-delay: -1.75s; }
.market-entry-gate-circuit-flow path:nth-child(7) { animation-delay: -2.1s; }
.market-entry-gate-circuit-flow path:nth-child(8) { animation-delay: -2.45s; }
.market-entry-gate-circuit-flow path:nth-child(9) { animation-delay: -2.8s; }

.market-entry-gate-path::before {
  display: none;
}

.market-entry-gate-node {
  position: absolute;
  display: grid;
  place-items: center;
  min-width: 104px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(78, 111, 118, 0.14);
  border-radius: 999px;
  background: rgba(252, 254, 254, 0.96);
  color: rgba(67, 88, 94, 0.74);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  box-shadow:
    0 0 0 11px rgba(247, 250, 250, 0.86),
    0 12px 28px rgba(68, 96, 102, 0.07);
  transform: translate(-50%, -50%);
  transition: transform 0.42s ease, background 0.42s ease, box-shadow 0.42s ease, color 0.42s ease;
  z-index: 2;
}

.market-entry-gate-node::before {
  display: none;
}

.market-entry-gate-node:nth-of-type(1) { left: 11%; top: 50%; --link-angle: 0deg; }
.market-entry-gate-node:nth-of-type(2) { left: 25%; top: 20%; --link-angle: 23deg; }
.market-entry-gate-node:nth-of-type(3) { left: 50%; top: 12%; --link-angle: 90deg; }
.market-entry-gate-node:nth-of-type(4) { left: 75%; top: 20%; --link-angle: 157deg; }
.market-entry-gate-node:nth-of-type(5) { left: 89%; top: 50%; --link-angle: 180deg; }
.market-entry-gate-node:nth-of-type(6) { left: 70%; top: 76%; --link-angle: 214deg; }
.market-entry-gate-node:nth-of-type(7) { left: 50%; top: 84%; --link-angle: 270deg; }

.market-entry-gate-node.is-done {
  color: rgba(58, 82, 88, 0.72);
  background: rgba(252, 254, 254, 0.96);
}

.market-entry-gate-node.is-active {
  color: rgba(28, 55, 61, 0.92);
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 0 0 12px rgba(247, 250, 250, 0.9),
    0 14px 34px rgba(70, 103, 110, 0.14),
    0 0 0 6px rgba(211, 230, 232, 0.42);
  transform: translate(-50%, -50%) scale(1.06);
}

.market-entry-gate-node.is-active::before {
  display: none;
}

.market-entry-gate-node:nth-of-type(7).is-active {
  box-shadow:
    0 0 0 12px rgba(247, 250, 250, 0.9),
    0 14px 34px rgba(70, 103, 110, 0.14),
    0 0 0 6px rgba(211, 230, 232, 0.42),
    0 0 32px rgba(226, 139, 74, 0.2);
}

@keyframes marketEntryGateGridFloat {
  0% { background-position: 0 0, 0 0; opacity: 0.55; }
  100% { background-position: 116px 58px, 58px 116px; opacity: 0.72; }
}

@keyframes marketEntryGateCircuitFlow {
  0%, 100% { opacity: 0.54; }
  50% { opacity: 0.78; }
}

@keyframes marketEntryGateCircuitDash {
  0% { stroke-dashoffset: 0; opacity: 0.38; }
  18% { opacity: 1; }
  58% { opacity: 0.86; }
  100% { stroke-dashoffset: -264; opacity: 0.38; }
}

@keyframes marketEntryGateFieldDash {
  0% { stroke-dashoffset: 0; opacity: 0.24; }
  22% { opacity: 0.88; }
  62% { opacity: 0.72; }
  100% { stroke-dashoffset: -272; opacity: 0.24; }
}

@keyframes marketEntryGateFieldInputDash {
  0% { stroke-dashoffset: 0; opacity: 0.24; }
  22% { opacity: 0.92; }
  62% { opacity: 0.78; }
  100% { stroke-dashoffset: 272; opacity: 0.24; }
}

@keyframes marketEntryGateStageLink {
  0% { background-position: -160px 0; opacity: 0.36; }
  38% { opacity: 0.9; }
  100% { background-position: 160px 0; opacity: 0.36; }
}

@keyframes marketEntryGateHalo {
  0%, 100% { opacity: 0.58; transform: scale(0.98); }
  50% { opacity: 0.86; transform: scale(1.02); }
}

@keyframes marketEntryGateSignal {
  0%, 100% { opacity: 0.28; transform: translateX(-4%); }
  45% { opacity: 0.72; transform: translateX(4%); }
}

@keyframes marketEntryGateRadar {
  0% { transform: rotate(0deg); opacity: 0.62; }
  50% { opacity: 0.9; }
  100% { transform: rotate(360deg); opacity: 0.62; }
}

@keyframes marketEntryGatePanelRadar {
  0% { transform: translate(-50%, -50%) rotate(0deg); opacity: 0.42; }
  45% { opacity: 0.78; }
  100% { transform: translate(-50%, -50%) rotate(360deg); opacity: 0.42; }
}

@keyframes marketEntryGatePathSignal {
  0%, 100% { opacity: 0.38; transform: translate(-50%, -50%) rotate(0deg); }
  48% { opacity: 0.8; transform: translate(-50%, -50%) rotate(16deg); }
}

@keyframes marketEntryGateNodePulseLine {
  0%, 100% { opacity: 0.32; filter: blur(0); }
  50% { opacity: 0.94; filter: blur(0.4px); }
}

@keyframes marketEntryGateCorePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.025); }
}

@keyframes marketEntryGateCoreRing {
  0% { transform: rotate(0deg) scale(1); opacity: 0.55; }
  100% { transform: rotate(360deg) scale(1.04); opacity: 0.82; }
}

.market-entry-result-grid > .market-entry-diagnosis-card,
.market-entry-result-grid > .market-entry-improvement-card {
  min-height: 100%;
  padding: 16px 18px;
  border-top: 0;
  border-radius: 0;
  background: #ffffff;
}

.market-entry-result-grid > .market-entry-diagnosis-card {
  border-right: 0;
  border-bottom-left-radius: 8px;
}

.market-entry-result-grid > .market-entry-improvement-card {
  border-bottom-right-radius: 8px;
}

.market-entry-improvement-task-list {
  display: grid;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.market-entry-improvement-task .positioning-gap-task-body strong {
  font-size: 13px;
}

.market-entry-improvement-task .positioning-gap-task-body p {
  color: #51656d;
}

.market-entry-improvement-empty {
  padding: 14px;
  border: 1px dashed rgba(37, 93, 109, 0.2);
  border-radius: 8px;
  background: rgba(37, 93, 109, 0.04);
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.65;
}

.market-entry-task-editor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(248, 251, 251, 0.98), rgba(255, 255, 255, 0.96)),
    radial-gradient(circle at 100% 0%, rgba(218, 122, 54, 0.12), transparent 34%);
}

.market-entry-item-result.is-task-page .market-entry-task-editor {
  min-height: 360px;
  padding: 20px;
}

.market-entry-task-editor[hidden] {
  display: none !important;
}

.market-entry-task-editor-head {
  display: grid;
  gap: 5px;
}

.market-entry-task-editor-head span {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(37, 93, 109, 0.08);
  color: #315d58;
  font-size: 11px;
  font-weight: 900;
}

.market-entry-task-editor-head strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.45;
}

.market-entry-task-editor-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.market-entry-progress-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform-origin: 50% 0%;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.market-entry-progress-card + .market-entry-result-panel {
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.market-entry-progress-card > * {
  position: relative;
  z-index: 1;
}

.market-entry-progress-card.is-analyzing {
  border-color: rgba(205, 157, 58, 0.35);
  box-shadow: 0 14px 30px rgba(164, 119, 31, 0.1);
}

.market-entry-progress-card.is-analyzing::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 0;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 2%,
    rgba(205, 157, 58, 0.12) 18%,
    rgba(238, 189, 88, 0.3) 34%,
    rgba(255, 239, 185, 0.72) 50%,
    rgba(231, 174, 62, 0.3) 66%,
    rgba(184, 126, 28, 0.12) 82%,
    rgba(255, 255, 255, 0) 98%,
    transparent 100%
  );
  pointer-events: none;
  transform: translateX(-118%);
  animation: marketEntryPanelSheen 1.25s ease-in-out infinite alternate;
}

.market-entry-progress-card.is-reveal-jumping {
  animation: marketEntryProgressRevealJump 980ms cubic-bezier(0.16, 1.15, 0.26, 1) both;
}

.market-entry-progress-card.is-reveal-jumping::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(100deg, transparent 3%, rgba(255, 255, 255, 0) 18%, rgba(255, 241, 181, 0.95) 31%, rgba(205, 157, 58, 0.28) 42%, transparent 56%),
    linear-gradient(100deg, transparent 38%, rgba(255, 255, 255, 0) 48%, rgba(255, 247, 214, 0.84) 60%, rgba(205, 157, 58, 0.2) 72%, transparent 86%),
    radial-gradient(circle at 24% 42%, rgba(255, 230, 143, 0.42), transparent 24%),
    radial-gradient(circle at 78% 52%, rgba(255, 244, 207, 0.36), transparent 26%);
  opacity: 0;
  transform: translateX(-48%) skewX(-10deg);
  animation: marketEntryProgressRevealSweep 980ms ease-out both;
}

.market-entry-progress-card.is-reveal-jumping .parameter-progress-meta,
.market-entry-progress-card.is-reveal-jumping h3 {
  animation: marketEntryProgressRevealText 980ms ease-out both;
}

@keyframes marketEntryPanelSheen {
  from {
    transform: translateX(-118%);
  }

  to {
    transform: translateX(118%);
  }
}

@keyframes marketEntryProgressRevealJump {
  0% {
    transform: translateY(0) scale(1);
    box-shadow: 0 8px 18px rgba(37, 93, 109, 0.06);
  }

  16% {
    transform: translateY(-10px) scale(1.018);
    box-shadow:
      0 22px 40px rgba(37, 93, 109, 0.18),
      0 0 0 1px rgba(205, 157, 58, 0.18),
      0 0 28px rgba(231, 174, 62, 0.22);
  }

  33% {
    transform: translateY(4px) scale(0.992);
    box-shadow:
      0 9px 18px rgba(37, 93, 109, 0.08),
      0 0 0 1px rgba(205, 157, 58, 0.26);
  }

  52% {
    transform: translateY(-6px) scale(1.01);
    box-shadow:
      0 20px 34px rgba(37, 93, 109, 0.14),
      0 0 30px rgba(231, 174, 62, 0.18);
  }

  74% {
    transform: translateY(1px) scale(0.998);
  }

  100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 8px 18px rgba(37, 93, 109, 0.06);
  }
}

@keyframes marketEntryProgressRevealSweep {
  0% {
    opacity: 0;
    transform: translateX(-54%) skewX(-10deg);
  }

  18% {
    opacity: 0.9;
    transform: translateX(-22%) skewX(-10deg);
  }

  44% {
    opacity: 0.78;
    transform: translateX(18%) skewX(-8deg);
  }

  68% {
    opacity: 0.62;
    transform: translateX(42%) skewX(-7deg);
  }

  100% {
    opacity: 0;
    transform: translateX(58%) skewX(-7deg);
  }
}

@keyframes marketEntryProgressRevealText {
  0%,
  100% {
    filter: brightness(1);
    transform: translateY(0);
  }

  18% {
    filter: brightness(1.16);
    transform: translateY(-1px);
  }

  36% {
    filter: brightness(0.98);
    transform: translateY(1px);
  }

  56% {
    filter: brightness(1.12);
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .market-entry-jump-item.is-running::after,
  .market-entry-progress-card.is-analyzing::after,
  .market-entry-progress-card.is-reveal-jumping::before {
    display: none;
  }

  .market-entry-jump-item.is-complete-showcase,
  .market-entry-jump-item.is-complete-showcase .market-entry-result-badge,
  .market-entry-progress-card.is-reveal-jumping,
  .market-entry-progress-card.is-reveal-jumping .parameter-progress-meta,
  .market-entry-progress-card.is-reveal-jumping h3 {
    animation: none;
  }

  .market-entry-jump-item.is-complete-showcase::before,
  .market-entry-jump-item.is-complete-showcase::after {
    display: none;
  }
}

.market-entry-suggested-adjustment {
  padding: 14px;
  border: 1px solid rgba(37, 93, 109, 0.12);
  border-radius: 8px;
  background: #ffffff;
}

.market-entry-suggested-adjustment h4 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
}

.market-entry-operation-field textarea {
  min-height: 132px;
}

.market-entry-operation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.positioning-gap-task-list {
  display: grid;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.positioning-gap-task {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: #f8fbfb;
}

.positioning-gap-task.is-completed {
  border-color: rgba(31, 162, 111, 0.26);
  background: linear-gradient(135deg, rgba(31, 162, 111, 0.08), rgba(255, 255, 255, 0.96));
}

.positioning-gap-task-body {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.positioning-gap-task-body strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.4;
}

.positioning-gap-task-body p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.positioning-gap-task-status {
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid rgba(198, 63, 76, 0.18);
  border-radius: 999px;
  background: rgba(198, 63, 76, 0.07);
  color: #a63240;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.positioning-gap-task-status.is-completed {
  border-color: rgba(31, 162, 111, 0.22);
  background: rgba(31, 162, 111, 0.1);
  color: #0c7a54;
}

.positioning-gap-complete-button,
.positioning-gap-edit-button {
  min-width: 82px;
  min-height: 38px;
  padding: 0 14px;
}

.positioning-gap-task-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px dashed rgba(37, 93, 109, 0.22);
  border-radius: 8px;
  background: rgba(37, 93, 109, 0.04);
}

.positioning-gap-task-footer p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.positioning-gap-modal {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: grid;
  place-items: center;
  padding: 24px;
}

.positioning-gap-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(23, 32, 38, 0.5);
  cursor: pointer;
}

.positioning-gap-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  width: min(720px, 94vw);
  max-height: 88vh;
  overflow: auto;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(23, 32, 38, 0.22);
}

.positioning-gap-header,
.positioning-gap-actions,
.positioning-gap-recommendation-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.positioning-gap-header {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.positioning-gap-header span,
.positioning-gap-recommendation span,
.positioning-gap-field span {
  display: block;
  margin-bottom: 6px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.positioning-gap-header strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.25;
}

.positioning-gap-header button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #bfc8cf;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font-weight: 900;
  cursor: pointer;
}

.positioning-gap-recommendation {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: #f8fbfb;
}

.positioning-gap-recommendation p {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.7;
}

.positioning-gap-recommendation-actions {
  justify-content: flex-start;
}

.positioning-gap-editor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: #ffffff;
}

.positioning-gap-field {
  display: grid;
  gap: 8px;
}

.positioning-gap-field input,
.positioning-gap-field select {
  min-height: 42px;
  width: 100%;
  padding: 0 12px;
  border: 1px solid #cbd4da;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
}

.positioning-gap-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.positioning-gap-tag {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #cbd4da;
  border-radius: 999px;
  background: #ffffff;
  color: var(--muted);
  font-weight: 900;
  cursor: pointer;
}

.positioning-gap-tag.is-selected {
  border-color: rgba(217, 72, 90, 0.4);
  background: rgba(217, 72, 90, 0.1);
  color: #b7283b;
}

.positioning-gap-actions {
  justify-content: flex-end;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.market-entry-submit-area .button-group {
  justify-content: flex-end;
}

.market-entry-batch-toggle {
  min-width: 96px;
}

.market-entry-batch-toggle:not(.is-paused) {
  border-color: rgba(198, 63, 76, 0.28);
  color: #9b2433;
}

.market-entry-batch-toggle.is-paused {
  border-color: rgba(15, 132, 88, 0.24);
  color: #0b6b49;
}

.score-status.market-entry-run-status {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  overflow: hidden;
  margin-top: 10px;
  padding: 11px 16px !important;
  border: 1px solid rgba(88, 124, 130, 0.08) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.74), rgba(243, 248, 248, 0.46) 48%, rgba(236, 244, 244, 0.36)) !important;
  color: rgba(44, 67, 73, 0.82) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 10px 24px rgba(77, 102, 108, 0.06) !important;
  backdrop-filter: blur(8px);
  line-height: 1.25;
}

.score-status.market-entry-run-status::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(133, 199, 207, 0.13), transparent);
  opacity: 0.72;
  transform: translateX(-42%);
  animation: marketEntryRunStatusSweep 3.4s ease-in-out infinite;
}

.market-entry-run-status-pulse {
  position: relative;
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #62bf9b;
  box-shadow: 0 0 0 5px rgba(98, 191, 155, 0.12), 0 0 18px rgba(98, 191, 155, 0.32);
}

.market-entry-run-status-pulse::after {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(98, 191, 155, 0.22);
  border-radius: inherit;
  animation: marketEntryRunStatusPulse 1.8s ease-out infinite;
}

.score-status.market-entry-run-status.is-running .market-entry-run-status-pulse {
  background: #1d8f63;
  transform-origin: center;
  animation: marketEntryRunStatusDotFlash 0.78s ease-in-out infinite;
}

.score-status.market-entry-run-status.is-running .market-entry-run-status-pulse::before {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  background: rgba(226, 255, 238, 0.7);
  opacity: 0.42;
  filter: blur(0.2px);
  animation: marketEntryRunStatusDotCoreFlash 0.78s ease-in-out infinite;
}

.score-status.market-entry-run-status:not(.is-running) .market-entry-run-status-pulse::after {
  animation: none;
  opacity: 0;
}

.score-status.market-entry-run-status.is-running .market-entry-run-status-pulse::after {
  inset: -10px;
  border-color: rgba(73, 242, 154, 0.44);
  box-shadow: 0 0 18px rgba(73, 242, 154, 0.38);
  animation: marketEntryRunStatusPulse 0.9s ease-out infinite;
}

.market-entry-run-status-copy {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}

.market-entry-run-status-copy strong {
  color: rgba(36, 58, 64, 0.9);
  font-size: 14px;
  font-weight: 900;
}

.market-entry-run-status-copy b {
  min-width: 58px;
  padding: 4px 10px;
  border: 1px solid rgba(83, 124, 132, 0.13);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: rgba(43, 83, 92, 0.88);
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.score-status.market-entry-run-status em {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: rgba(82, 102, 108, 0.7);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.score-status.market-entry-run-status.is-paused .market-entry-run-status-pulse {
  background: #a8b4bb;
  box-shadow: 0 0 0 5px rgba(112, 128, 138, 0.1), 0 0 14px rgba(112, 128, 138, 0.22);
}

.score-status.market-entry-run-status.is-done .market-entry-run-status-pulse {
  background: #52b885;
}

.score-status.market-entry-run-status.is-done::after,
.score-status.market-entry-run-status.is-done .market-entry-run-status-pulse::after {
  animation: none;
  opacity: 0;
}

@keyframes marketEntryRunStatusPulse {
  0% { opacity: 0.78; transform: scale(0.72); }
  58% { opacity: 0.26; }
  100% { opacity: 0; transform: scale(1.56); }
}

@keyframes marketEntryRunStatusDotFlash {
  0%, 100% {
    background: #17784f;
    filter: saturate(0.95) brightness(0.82);
    transform: scale(1);
    box-shadow:
      0 0 0 4px rgba(23, 120, 79, 0.18),
      0 0 10px rgba(23, 120, 79, 0.34),
      0 0 2px rgba(228, 255, 238, 0.48) inset;
  }
  48% {
    background: #4dff9d;
    filter: saturate(1.25) brightness(1.35);
    transform: scale(1.04);
    box-shadow:
      0 0 0 6px rgba(77, 255, 157, 0.34),
      0 0 24px rgba(77, 255, 157, 0.72),
      0 0 7px rgba(244, 255, 248, 0.94) inset;
  }
}

@keyframes marketEntryRunStatusDotCoreFlash {
  0%, 100% {
    opacity: 0.22;
    background: rgba(220, 255, 235, 0.5);
  }
  48% {
    opacity: 0.82;
    background: rgba(250, 255, 252, 0.9);
  }
}

@keyframes marketEntryRunStatusSweep {
  0%, 100% { opacity: 0; transform: translateX(-44%); }
  42% { opacity: 0.72; }
  70% { opacity: 0; transform: translateX(44%); }
}

.market-entry-gate-preview-button {
  min-width: 106px;
}

.market-entry-gate-simulate-button {
  min-width: 96px;
}

.market-entry-inline-summary {
  position: relative;
  display: grid;
  gap: 16px;
  min-height: 520px;
  overflow: hidden;
}

.market-entry-inline-summary-hero {
  position: relative;
  display: grid;
  gap: 12px;
  overflow: hidden;
  padding: 26px;
  border: 1px solid rgba(37, 93, 109, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(246, 250, 250, 0.98) 0%, rgba(255, 255, 255, 0.98) 52%, rgba(255, 248, 232, 0.94) 100%);
  box-shadow: 0 18px 42px rgba(37, 93, 109, 0.08);
}

.market-entry-inline-summary-hero::after {
  content: "";
  position: absolute;
  inset: -1px;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 16%,
    rgba(205, 157, 58, 0.16) 32%,
    rgba(255, 239, 185, 0.68) 50%,
    rgba(205, 157, 58, 0.16) 68%,
    rgba(255, 255, 255, 0) 84%,
    transparent 100%
  );
  transform: translateX(-118%);
}

.market-entry-inline-summary-hero span {
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 900;
}

.market-entry-inline-summary-hero strong {
  color: var(--ink);
  font-size: 34px;
  line-height: 1.12;
}

.market-entry-inline-summary-hero p,
.market-entry-inline-summary-note {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.market-entry-inline-summary-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.market-entry-inline-summary-card {
  position: relative;
  display: grid;
  gap: 10px;
  min-height: 132px;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(37, 93, 109, 0.08);
}

.market-entry-inline-summary-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  background: linear-gradient(135deg, currentColor, transparent 66%);
}

.market-entry-inline-summary-card span {
  position: relative;
  z-index: 1;
  color: var(--muted);
  font-size: 14px;
  font-weight: 900;
}

.market-entry-inline-summary-card strong {
  position: relative;
  z-index: 1;
  align-self: end;
  color: var(--ink);
  font-size: 42px;
  line-height: 1;
}

.market-entry-inline-summary-card.is-total {
  color: var(--blue);
}

.market-entry-inline-summary-card.is-excellent {
  color: var(--green);
}

.market-entry-inline-summary-card.is-good {
  color: #d59b2c;
}

.market-entry-inline-summary-card.is-pending {
  color: #8055d6;
}

.market-entry-inline-summary-card.is-poor {
  color: #c63f4c;
}

.market-entry-inline-summary-meter {
  display: flex;
  height: 12px;
  overflow: hidden;
  border: 1px solid rgba(37, 93, 109, 0.12);
  border-radius: 999px;
  background: rgba(37, 93, 109, 0.06);
}

.market-entry-inline-summary-meter i {
  display: block;
  width: 0;
  min-width: 0;
  transition: width 420ms ease;
}

.market-entry-inline-summary-meter .is-excellent {
  background: linear-gradient(90deg, #20b982, #62d8ad);
}

.market-entry-inline-summary-meter .is-good {
  background: linear-gradient(90deg, #d59b2c, #f3cf79);
}

.market-entry-inline-summary-meter .is-pending {
  background: linear-gradient(90deg, #8055d6, #b999ff);
}

.market-entry-inline-summary-meter .is-poor {
  background: linear-gradient(90deg, #b9233b, #f06c79);
}

.market-entry-inline-summary.is-revealing .market-entry-inline-summary-hero {
  animation: marketEntryInlineSummaryEnter 640ms cubic-bezier(0.2, 0.9, 0.2, 1) both;
}

.market-entry-inline-summary.is-revealing .market-entry-inline-summary-hero::after {
  animation: marketEntryInlineSummarySweep 900ms ease-out 100ms 1;
}

.market-entry-inline-summary.is-revealing .market-entry-inline-summary-card {
  animation: marketEntryInlineSummaryCardPop 720ms cubic-bezier(0.18, 1.2, 0.24, 1) both;
}

.market-entry-inline-summary.is-revealing .market-entry-inline-summary-card:nth-child(2) {
  animation-delay: 70ms;
}

.market-entry-inline-summary.is-revealing .market-entry-inline-summary-card:nth-child(3) {
  animation-delay: 130ms;
}

.market-entry-inline-summary.is-revealing .market-entry-inline-summary-card:nth-child(4) {
  animation-delay: 190ms;
}

.market-entry-inline-summary.is-revealing .market-entry-inline-summary-card:nth-child(5) {
  animation-delay: 250ms;
}

@keyframes marketEntryInlineSummaryEnter {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes marketEntryInlineSummarySweep {
  0% {
    opacity: 0;
    transform: translateX(-118%);
  }

  18% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(118%);
  }
}

@keyframes marketEntryInlineSummaryCardPop {
  0% {
    opacity: 0;
    transform: translateY(14px) scale(0.96);
  }

  58% {
    opacity: 1;
    transform: translateY(-2px) scale(1.018);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.market-entry-gate-map-panel {
  display: grid;
  gap: 18px;
}

.market-entry-gate-map-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 18px;
  overflow: hidden;
  padding: 26px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(246, 250, 250, 0.98) 0%, rgba(255, 255, 255, 0.98) 55%, rgba(255, 248, 232, 0.94) 100%);
  box-shadow: 0 20px 44px rgba(37, 93, 109, 0.08);
}

.market-entry-gate-map-hero::after {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 18%,
    rgba(205, 157, 58, 0.12) 34%,
    rgba(255, 239, 185, 0.62) 50%,
    rgba(205, 157, 58, 0.14) 66%,
    rgba(255, 255, 255, 0) 82%,
    transparent 100%
  );
  opacity: 0;
  transform: translateX(-118%);
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-map-hero::after {
  animation: marketEntryGateMapHeroSweep 980ms ease-out 120ms 1;
}

.market-entry-gate-map-hero span {
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 900;
}

.market-entry-gate-map-hero strong {
  display: block;
  margin-top: 10px;
  color: var(--ink);
  font-size: 34px;
  line-height: 1.12;
}

.market-entry-gate-map-hero p {
  max-width: 720px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.market-entry-gate-map-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  align-content: stretch;
}

.market-entry-gate-map-stats div {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 96px;
  overflow: hidden;
  padding: 14px;
  border: 1px solid rgba(37, 93, 109, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.market-entry-gate-map-stats div::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  background: linear-gradient(135deg, currentColor, transparent 66%);
}

.market-entry-gate-map-stats span,
.market-entry-gate-map-stats b {
  position: relative;
  z-index: 1;
}

.market-entry-gate-map-stats span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.market-entry-gate-map-stats b {
  align-self: end;
  color: var(--ink);
  font-size: 30px;
  line-height: 1;
}

.market-entry-gate-map-stats .is-pass {
  color: var(--green);
}

.market-entry-gate-map-stats .is-caution {
  color: #d59b2c;
}

.market-entry-gate-map-stats .is-blocked {
  color: #c63f4c;
}

.market-entry-gate-map-stats .is-pending {
  color: var(--muted);
}

.market-entry-gate-map-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.market-entry-gate-map-track.is-parameter-preview {
  grid-template-columns: 1fr;
}

.market-entry-gate-screening-loader {
  min-height: 360px;
  padding: 18px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(8, 15, 17, 0.96), rgba(19, 42, 39, 0.98)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 24px);
  box-shadow: 0 18px 42px rgba(37, 93, 109, 0.12);
}

.market-entry-gate-screening-loader[hidden] {
  display: none;
}

.market-entry-gate-screening-loader .market-entry-gate-simulation-log {
  height: 324px;
  min-height: 324px;
  border-color: rgba(255, 255, 255, 0.1);
}

.market-entry-gate-parameter-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.28fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.market-entry-gate-parameter-layout[hidden] {
  display: none;
}

.market-entry-gate-parameter-nav {
  align-self: start;
}

.market-entry-gate-parameter-nav .market-entry-jump-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 48px;
  text-align: left;
}

.market-entry-gate-parameter-nav .market-entry-jump-item strong {
  position: relative;
  z-index: 1;
  min-width: 0;
  color: inherit;
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.market-entry-gate-parameter-workspace {
  min-width: 0;
}

.market-entry-gate-parameter-progress-card small {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.55;
}

.market-entry-gate-parameter-result {
  margin-top: 16px;
}

.market-entry-gate-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  height: 340px;
  min-height: 340px;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(37, 93, 109, 0.13);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(37, 93, 109, 0.08);
}

.market-entry-gate-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  background: linear-gradient(135deg, currentColor, transparent 62%);
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card {
  animation: marketEntryGateMapCardIn 620ms cubic-bezier(0.18, 1.12, 0.24, 1) both;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(2) {
  animation-delay: 45ms;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(3) {
  animation-delay: 90ms;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(4) {
  animation-delay: 135ms;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(5) {
  animation-delay: 180ms;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(6) {
  animation-delay: 225ms;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(7) {
  animation-delay: 270ms;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(8) {
  animation-delay: 315ms;
}

.market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card:nth-child(9) {
  animation-delay: 360ms;
}

.market-entry-gate-card-title {
  position: relative;
  z-index: 1;
  display: block;
  color: var(--ink);
  font-size: 21px;
  font-weight: 900;
  line-height: 1.2;
}

.market-entry-gate-card.is-simulating {
  border-color: rgba(205, 157, 58, 0.38);
  box-shadow:
    0 20px 44px rgba(37, 93, 109, 0.12),
    0 0 0 1px rgba(255, 239, 185, 0.48),
    0 0 34px rgba(205, 157, 58, 0.2);
}

.market-entry-gate-card.is-simulating::after {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(100deg, transparent 10%, rgba(255, 239, 185, 0.78) 46%, transparent 62%),
    repeating-linear-gradient(90deg, rgba(205, 157, 58, 0.08) 0 1px, transparent 1px 18px);
  opacity: 0.72;
  transform: translateX(-62%) skewX(-12deg);
  animation: marketEntryGateSimulationSweep 1.28s ease-in-out infinite alternate;
}

.market-entry-gate-card.is-simulated {
  border-color: color-mix(in srgb, currentColor 26%, rgba(37, 93, 109, 0.12));
  box-shadow:
    0 16px 36px rgba(37, 93, 109, 0.1),
    0 0 0 1px color-mix(in srgb, currentColor 18%, transparent);
}

.market-entry-gate-simulation {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 220ms ease, transform 260ms ease;
}

.market-entry-gate-card.is-simulating .market-entry-gate-simulation,
.market-entry-gate-card.is-simulated .market-entry-gate-simulation {
  max-height: none;
  opacity: 1;
  transform: translateY(0);
}

.market-entry-gate-simulation-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 6px;
}

.market-entry-gate-simulation-header span {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
}

.market-entry-gate-simulation-header b {
  padding: 4px 9px;
  border-radius: 999px;
  color: #8a5d14;
  font-size: 12px;
  background: rgba(255, 239, 185, 0.7);
}

.market-entry-gate-simulation-matrix {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 4px;
}

.market-entry-gate-simulation-matrix i {
  display: block;
  height: 5px;
  border-radius: 999px;
  background: rgba(37, 93, 109, 0.1);
}

.market-entry-gate-card.is-simulating .market-entry-gate-simulation-matrix i {
  animation: marketEntryGateMatrixPulse 920ms ease-in-out infinite;
}

.market-entry-gate-card.is-simulating .market-entry-gate-simulation-matrix i:nth-child(3n + 1) {
  animation-delay: 80ms;
}

.market-entry-gate-card.is-simulating .market-entry-gate-simulation-matrix i:nth-child(3n + 2) {
  animation-delay: 170ms;
}

.market-entry-gate-card.is-simulating .market-entry-gate-simulation-matrix i:nth-child(3n) {
  animation-delay: 260ms;
}

.market-entry-gate-simulation-log {
  display: grid;
  gap: 5px;
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: auto;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background:
    linear-gradient(180deg, #050607, #000000),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 24px);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    inset 0 0 24px rgba(255, 255, 255, 0.04);
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.market-entry-gate-card.is-simulating .market-entry-gate-simulation-log {
  min-height: 0;
}

.market-entry-gate-simulation-log::-webkit-scrollbar {
  display: none;
}

.market-entry-gate-simulation-log span {
  position: relative;
  display: block;
  padding-left: 18px;
  color: #ffffff;
  font-family: Consolas, "SFMono-Regular", "Liberation Mono", Menlo, monospace;
  font-size: 11px;
  line-height: 1.48;
  white-space: nowrap;
  animation: marketEntryGateLogLine 260ms ease-out both;
}

.market-entry-gate-simulation-log span::before {
  content: ">";
  position: absolute;
  left: 0;
  top: 0;
  color: #ffffff;
  font-weight: 900;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.45);
}

.market-entry-gate-simulation-progress {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(37, 93, 109, 0.08);
}

.market-entry-gate-simulation-progress i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c63f4c, #e7ae3e, #28b783);
  box-shadow: 0 0 18px rgba(231, 174, 62, 0.36);
  transition: width 220ms ease;
}

.market-entry-gate-final-result {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, currentColor 24%, rgba(37, 93, 109, 0.12));
  border-radius: 8px;
  background:
    linear-gradient(135deg, color-mix(in srgb, currentColor 8%, #ffffff), #ffffff 68%);
  box-shadow: 0 12px 26px rgba(37, 93, 109, 0.06);
  animation: marketEntryGateFinalPop 420ms cubic-bezier(0.18, 1.1, 0.24, 1) both;
}

.market-entry-gate-final-result b {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  color: currentColor;
  font-size: 13px;
  background: color-mix(in srgb, currentColor 12%, #ffffff);
}

.market-entry-gate-final-result strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1.25;
}

.market-entry-gate-final-result p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.market-entry-gate-card.is-pass {
  color: var(--green);
}

.market-entry-gate-card.is-caution {
  color: #d59b2c;
}

.market-entry-gate-card.is-blocked {
  color: #c63f4c;
}

.market-entry-gate-card.is-pending {
  color: #8055d6;
}

.market-entry-gate-item-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.market-entry-gate-item-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(37, 93, 109, 0.12);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  background: rgba(37, 93, 109, 0.04);
}

.market-entry-gate-item-pill.is-satisfied {
  border-color: rgba(15, 132, 88, 0.22);
  color: #0b6b49;
  background: rgba(32, 185, 130, 0.1);
}

.market-entry-gate-item-pill.is-partial {
  border-color: rgba(213, 155, 44, 0.28);
  color: #9a6818;
  background: rgba(245, 203, 112, 0.16);
}

.market-entry-gate-item-pill.is-unsatisfied {
  border-color: rgba(198, 63, 76, 0.28);
  color: #9b2433;
  background: rgba(198, 63, 76, 0.1);
}

.market-entry-gate-item-pill.is-supplement {
  border-color: rgba(128, 85, 214, 0.3);
  color: #6138b4;
  background: rgba(128, 85, 214, 0.12);
}

@keyframes marketEntryGateSimulationSweep {
  from {
    transform: translateX(-62%) skewX(-12deg);
  }

  to {
    transform: translateX(28%) skewX(-12deg);
  }
}

@keyframes marketEntryGateMatrixPulse {
  0%,
  100% {
    background: rgba(37, 93, 109, 0.1);
    box-shadow: none;
    transform: scaleX(1);
  }

  45% {
    background: rgba(255, 219, 132, 0.92);
    box-shadow: 0 0 14px rgba(231, 174, 62, 0.42);
    transform: scaleX(1.08);
  }
}

@keyframes marketEntryGateLogLine {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes marketEntryGateFinalPop {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(0.96);
  }

  58% {
    opacity: 1;
    transform: translateY(-2px) scale(1.018);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes marketEntryGateMapHeroSweep {
  0% {
    opacity: 0;
    transform: translateX(-118%);
  }

  18% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(118%);
  }
}

@keyframes marketEntryGateMapCardIn {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
  }

  58% {
    opacity: 1;
    transform: translateY(-3px) scale(1.018);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .market-entry-inline-summary.is-revealing .market-entry-inline-summary-hero,
  .market-entry-inline-summary.is-revealing .market-entry-inline-summary-hero::after,
  .market-entry-inline-summary.is-revealing .market-entry-inline-summary-card,
  .market-entry-gate-map-panel:not([hidden]) .market-entry-gate-map-hero::after,
  .market-entry-gate-map-panel:not([hidden]) .market-entry-gate-card,
  .market-entry-gate-card.is-simulating::after,
  .market-entry-gate-card.is-simulating .market-entry-gate-simulation-matrix i,
  .market-entry-gate-simulation-log span,
  .market-entry-gate-final-result {
    animation: none;
  }
}

@media (max-width: 980px) {
  .market-entry-page-layout {
    grid-template-columns: 1fr;
  }

  .market-entry-side-nav {
    position: static;
  }

  .market-entry-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-entry-inline-summary-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-entry-gate-map-hero {
    grid-template-columns: 1fr;
  }

  .market-entry-gate-map-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-entry-gate-map-track.is-parameter-preview,
  .market-entry-gate-parameter-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .market-entry-result-grid {
    grid-template-columns: 1fr;
  }

  .market-entry-inline-summary {
    min-height: 0;
  }

  .market-entry-inline-summary-hero strong {
    font-size: 26px;
  }

  .market-entry-inline-summary-stats {
    grid-template-columns: 1fr;
  }

  .market-entry-gate-map-hero {
    padding: 20px;
  }

  .market-entry-gate-map-hero strong {
    font-size: 26px;
  }

  .market-entry-gate-map-stats,
  .market-entry-gate-map-track {
    grid-template-columns: 1fr;
  }

  .market-entry-gate-screening-loader {
    min-height: 280px;
    padding: 12px;
  }

  .market-entry-gate-screening-loader .market-entry-gate-simulation-log {
    height: 240px;
    min-height: 240px;
  }
}

.market-entry-jump-item:hover,
.market-entry-jump-item.is-active {
  background: #c9dddb !important;
  color: var(--green-dark);
  box-shadow: inset 0 0 0 1px #9fb9b6;
}

.market-entry-jump-item.is-running {
  background: linear-gradient(90deg, rgba(207, 231, 228, 0.98), rgba(255, 255, 255, 0.98)) !important;
}

.app-shell {
  width: min(1180px, calc(100% - 40px)) !important;
  padding-top: 18px !important;
}

.entry-layout {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.operation-index {
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 18px 12px !important;
  border: 1px solid var(--line) !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  background: linear-gradient(180deg, #173a36 0%, #12302d 100%) !important;
  box-shadow: 0 12px 28px rgba(31, 41, 38, 0.08) !important;
}

.entry-layout > .panel {
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 18px 42px rgba(31, 41, 38, 0.08) !important;
}

.panel-header {
  align-items: stretch !important;
  gap: 18px !important;
  margin-bottom: 24px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.panel-header > div:first-child {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  padding: 8px 0 9px;
}

.panel-header h2 {
  position: relative;
  display: inline-block;
  margin: 0 !important;
  padding: 0 10px 5px !important;
  line-height: 1.22 !important;
  border-radius: 8px;
  background:
    linear-gradient(
      0deg,
      rgba(186, 198, 202, 0.74) 0%,
      rgba(213, 221, 224, 0.48) 46%,
      rgba(255, 255, 255, 0) 86%
    ) 0 100% / 100% 62% no-repeat;
  box-shadow: 0 8px 18px rgba(74, 91, 97, 0.08);
}

.panel-header h2::after {
  content: none;
}

.panel-header-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.panel-model-settings {
  flex: 0 0 auto;
  align-self: center;
  min-height: 38px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 10px 24px rgba(31, 41, 38, 0.06) !important;
  white-space: nowrap;
}

.panel-model-settings strong {
  font-size: 13px;
}

.panel-model-settings small {
  font-size: 12px;
}

.package-upload-shortcut {
  flex: 0 0 auto;
  align-self: center;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(37, 93, 109, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.74);
  color: #65757a;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
}

.package-upload-shortcut:hover {
  border-color: rgba(37, 93, 109, 0.24);
  background: rgba(255, 255, 255, 0.92);
  color: #314f55;
}

.market-entry-gate-map-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.82fr) auto !important;
  align-items: start;
}

.market-entry-gate-model-settings {
  position: relative;
  z-index: 2;
  justify-self: end;
  margin-top: 2px;
}

@media (max-width: 980px) {
  .operation-index {
    border-radius: 8px 8px 0 0 !important;
  }

  .panel-header,
  .panel-header-actions {
    align-items: stretch !important;
  }

  .panel-header-actions {
    flex-direction: column;
  }

  .market-entry-gate-map-hero {
    grid-template-columns: 1fr !important;
  }

  .launch-loading-box {
    min-height: clamp(540px, 64vh, 700px);
  }

  .launch-energy-wave {
    left: 0;
    right: 0;
    width: auto;
  }
}

@media (max-width: 760px) {
  .launch-submit-area {
    grid-template-columns: 1fr;
  }

  .launch-submit-actions {
    justify-content: stretch;
  }
}

@media (max-width: 620px) {
  .app-shell {
    width: min(100% - 24px, 1180px) !important;
  }

  .panel-header > div:first-child {
    padding: 6px 0 8px;
  }

  .panel-model-settings {
    width: 100%;
    justify-content: center;
  }
}
