/* Full square artwork stays readable on a phone, without cropping its frame. */
.public-app #lucky-result .result-image-wrap img {
  width: min(100%, 440px, 48dvh); height: auto; max-height: none;
  aspect-ratio: 1; object-fit: contain; border-radius: 3px;
  box-shadow: 0 10px 32px #13214b12;
}
.public-app #lucky-result .result-image-wrap { flex: 0 0 auto; }
.public-app #lucky-result .result-copy > span { font-size: 12px; }
.public-app #lucky-stage .lucky-status { margin: 5px 18px; }
.is-desktop-lucky .trajectory-controls > :not(#desktop-lucky-settings) { display: none !important; }
.desktop-lucky-settings { padding: 18px; border: 1px solid #e1e6ef; border-radius: 12px; background: #f8faff; }
.desktop-lucky-settings h3 { margin: 10px 0; font-size: 21px; }
.desktop-lucky-settings p { color: #4c5670; font-size: 14px; line-height: 1.8; }
.desktop-lucky-settings small { display: block; margin-top: 16px; color: #69748a; line-height: 1.6; }
.lucky-specs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.lucky-specs span { padding: 7px 10px; border-radius: 6px; font-size: 13px; color: #0f218b; background: #eaf0ff; }
.is-desktop-lucky .trajectory-source { display: none; }
@media (max-width: 760px) {
  .public-app #lucky-stage > .panel-heading { padding: 10px 16px; }
  .public-app #lucky-result:not(.hidden) { padding: 8px 16px 4px; gap: 9px; flex: 1 0 auto; }
  .public-app #lucky-result .result-image-wrap img { width: min(100%, 360px, max(210px, calc(100dvh - 365px))); }
  .public-app #lucky-result .result-copy b { font-size: 18px; }
  .public-app #preview-stage.is-desktop-lucky .trajectory-workspace { grid-template-columns: 1fr; }
  .public-app #preview-stage.is-desktop-lucky .trajectory-controls { display: block; overflow: visible; }
  .desktop-lucky-settings { padding: 10px 12px; }
  .desktop-lucky-settings > .section-code, .desktop-lucky-settings h3, .desktop-lucky-settings small { display: none; }
  .desktop-lucky-settings p { margin: 0; font-size: 12px; line-height: 1.6; }
  .lucky-specs { margin-top: 8px; }
  .lucky-specs span { font-size: 12px; padding: 4px 8px; }
  .public-app #preview-stage.is-desktop-lucky .trajectory-canvas-wrap { min-height: 240px; aspect-ratio: 1; }
}
