*{box-sizing:border-box}body{margin:0;background:#040913;color:#eaf4fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select,input{font:inherit}button,select{min-height:44px;color:inherit;background:#102132;border:1px solid #2b4255;border-radius:10px}button{cursor:pointer}button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #75ebd7;outline-offset:3px}#graph-preview{--device-width:390px;padding:20px 12px 40px}.preview-toolbar{max-width:768px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#99aec0}.preview-toolbar b{font-size:10px;color:#a3e4d5;border:1px solid #275146;border-radius:5px;padding:3px 5px;margin-left:5px}.preview-toolbar label{display:flex;align-items:center;gap:8px}.preview-toolbar select{padding:0 8px}.preview-device{width:min(100%,var(--device-width));margin:auto;border:1px solid #283b4c;border-radius:25px;background:linear-gradient(160deg,#0c1a2c,#080f1c 55%);overflow:hidden;box-shadow:0 30px 90px #0006}.preview-top{display:flex;justify-content:space-between;gap:8px;padding:19px 21px 0;font-size:10px;letter-spacing:1.9px;color:#7e94ab}.preview-controls{margin:3px 18px 0;padding-top:20px;border-top:1px solid #243448}.preview-section-title{font-size:14px;font-weight:650;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.preview-section-title span{font-size:11px;font-weight:400;color:#8299ad}.preview-scenario{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#9fb3c4}.preview-scenario select{padding:0 10px;max-width:72%;font-size:13px}.preview-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:9px;margin-top:15px}.preview-actions button{font-size:14px;font-weight:650;min-height:48px}.preview-primary{background:linear-gradient(120deg,#99f1d9,#52c8d3);color:#071c27;border-color:#91e8d6;box-shadow:0 4px 20px #41c3bc16}.preview-options{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:10px;font-size:12px;color:#97b0c1}.preview-options label{display:flex;gap:6px;align-items:center;min-height:44px;cursor:pointer}.preview-options input{accent-color:#8bebd7;width:17px;height:17px}.preview-options button{border:0;background:transparent;font-size:12px;padding:0 5px;color:#a8c1d2}#preview-status{font-size:12px;color:#8ea5b8;line-height:1.6;min-height:38px;margin:8px 0 0}.preview-foot{text-align:center;font-size:9px;letter-spacing:2px;color:#536f87;padding:20px}@media(max-width:480px){#graph-preview{padding:10px 8px 22px}.preview-toolbar{margin-bottom:12px}.preview-device{border-radius:19px}.preview-top{padding:17px 17px 0}.preview-controls{margin-inline:14px}}
.graph-scene {
  position: relative;
  padding: 16px;
  container-type: inline-size;
  color: #eaf4fb;
}
.graph-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}
.graph-identity {
  display: flex;
  align-items: center;
  gap: 9px;
}
.graph-identity img {
  width: 34px;
  height: 30px;
  object-fit: contain;
}
.graph-identity div {
  display: grid;
  gap: 4px;
}
.graph-identity strong {
  font-size: 14px;
  letter-spacing: 2px;
}
.graph-identity span {
  color: #8fa5b9;
  font-size: 10px;
  letter-spacing: 1.2px;
}
.graph-state {
  flex-shrink: 0;
  padding: 7px 10px;
  border: 1px solid #304b61;
  border-radius: 30px;
  color: #b4d8e7;
  background: #102632;
  font-size: 12px;
  font-weight: 650;
}
.graph-stage {
  position: relative;
  overflow: hidden;
  border: 1px solid #354258;
  border-radius: 12px;
  background:
    radial-gradient(ellipse at 20% 100%, #22233850, transparent 65%), #0d0c1b;
  box-shadow:
    inset 0 1px 0 #ffffff08,
    0 12px 28px #0003;
}
.graph-stage > svg {
  display: block;
  width: 100%;
  height: auto;
}
.graph-hero {
  position: absolute;
  z-index: 1;
  top: 49%;
  left: 50%;
  width: calc(100% - 24px);
  transform: translate(-50%, -35%);
  text-align: center;
  pointer-events: none;
}
.graph-eyebrow {
  display: block;
  color: #dde0e7;
  font-size: clamp(12px, 4.5cqw, 20px);
  margin-bottom: 8px;
  letter-spacing: -0.3px;
}
.graph-eyebrow:empty {
  display: none;
}
.graph-multiplier {
  display: block;
  font:
    800 clamp(36px, 14cqw, 76px) / 1.05 ui-sans-serif,
    system-ui,
    sans-serif;
  letter-spacing: -1.6px;
  font-variant-numeric: tabular-nums;
  color: #e5e7e7;
  text-shadow:
    0 2px 0 #77787e,
    0 4px 8px #000b;
}
.graph-low-value .graph-multiplier {
  color: #8ecaf1;
  text-shadow:
    0 2px 0 #4b739c,
    0 4px 8px #000b;
}
.graph-high-value .graph-multiplier {
  color: #ffd382;
  text-shadow:
    0 2px 0 #9a7036,
    0 4px 8px #000b;
}
.graph-large-value .graph-multiplier {
  font-size: clamp(20px, 7cqw, 42px);
  overflow-wrap: anywhere;
  letter-spacing: -1px;
}
.graph-replay-label {
  position: absolute;
  top: 12px;
  right: 14px;
  color: #8994aa;
  font-size: 9px;
  letter-spacing: 1.5px;
}
.graph-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  font-size: 12px;
}
.graph-footer .result-caption {
  margin: 0;
  color: #9db3c3;
  font-size: 12px;
}
.graph-elapsed {
  color: #91a3b8;
  font-variant-numeric: tabular-nums;
}
.graph-ended .graph-state {
  color: #b7bcc9;
  border-color: #4a4b5c;
  background: #212233;
}
.graph-ended .graph-hero {
  top: 36%;
  transform: translate(-50%, -15%);
}
.graph-ended .graph-multiplier {
  color: #999ba6;
  text-shadow:
    0 2px 0 #4b4c58,
    0 4px 8px #0008;
}
.graph-ended .graph-aircraft-exit {
  opacity: 0;
}
.graph-ended.graph-motion .graph-aircraft-exit {
  animation: nxFlightExit 0.48s cubic-bezier(0.3, 0, 0.85, 0.5) both;
}
.graph-ended .graph-curve-layer {
  opacity: 0.35;
  filter: grayscale(1);
}
.graph-paused *,
.graph-paused *::before,
.graph-paused *::after {
  animation-play-state: paused !important;
}
@keyframes nxFlightExit {
  from {
    opacity: 1;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    transform: translate(190px, -110px);
  }
}
@media (max-width: 480px) {
  .graph-scene {
    padding: 14px 8px 14px;
  }
  .graph-head {
    margin-bottom: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .graph-scene *,
  .graph-scene *::after {
    animation: none !important;
    transition: none !important;
  }
}

.preview-countdown{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.preview-countdown span{font-size:12px;color:#9fb8ca}.preview-countdown strong{font-size:42px;color:#dffaf0;line-height:1.3;font-variant-numeric:tabular-nums}.preview-countdown small{font-size:9px;letter-spacing:2px;color:#65849a}#skip-wait{display:block;width:100%;font-size:12px;color:#a6c6d3;background:#0c1d2b;margin:4px 0 12px}#skip-wait[hidden]{display:none}.preview-history{margin:18px 18px 0;padding-top:18px;border-top:1px solid #223447}.preview-history .preview-section-title{margin-bottom:12px}#history{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;color:#7d99af;font-size:12px;white-space:nowrap}#history span{padding:6px 9px;border:1px solid #285067;border-radius:6px;color:#86dced;background:#0c2634;font-variant-numeric:tabular-nums}#history .history-gold{border-color:#715a30;color:#f2d394;background:#30271b}