.tf-lucky-egg {
  --tf-le-surface: #ffffed;
  --tf-le-ink: #18324a;
  --tf-le-line: #d3d6bd;
  --tf-le-soft: #f1f4d9;
  --tf-le-blue: #006ec5;
  box-sizing: border-box;
  width: 100%; max-width: 100%; min-width: 0;
  display: grid; gap: 20px;
  padding: clamp(16px, 4vw, 28px);
  background: var(--tf-le-surface); color: var(--tf-le-ink);
  border: 1px solid var(--tf-le-line); border-radius: 16px;
  font: inherit; line-height: 1.5;
}
.tf-lucky-egg *, .tf-lucky-egg *::before, .tf-lucky-egg *::after { box-sizing: border-box; }
.tf-lucky-egg [hidden] { display: none !important; }
.tf-lucky-egg > * { min-width: 0; max-width: 100%; margin: 0 !important; }
.tf-lucky-egg p { margin: 0 0 16px; overflow-wrap: anywhere; color: var(--tf-le-ink); }
.tf-lucky-egg h3 { margin: 0 0 12px; font-size: 1.08em; color: var(--tf-le-ink); }
.tf-lucky-egg .tf-le-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.tf-lucky-egg label { display: block; font-weight: 600; min-width: 0; margin: 0; }
.tf-lucky-egg input[type="number"] { display: block; width: 100% !important; min-width: 0 !important; max-width: 100% !important; min-height: 48px; margin-top: 8px; padding: 10px; border: 1px solid var(--tf-le-line); border-radius: 8px; background: var(--tf-le-surface); color: var(--tf-le-ink); font: inherit; font-size: 16px; }
.tf-lucky-egg input:focus-visible, .tf-lucky-egg summary:focus-visible { outline: 3px solid var(--tf-le-blue); outline-offset: 3px; }
.tf-lucky-egg .tf-le-gap { margin-top: 16px; }
.tf-lucky-egg .tf-le-help { font-size: .9em; margin-top: 12px; }
.tf-lucky-egg details { margin-top: 20px; }
.tf-lucky-egg summary { cursor: pointer; font-weight: 600; padding: 10px 0; }
.tf-lucky-egg .tf-le-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 12px; margin-bottom: 24px; }
.tf-lucky-egg .tf-le-totals > div { min-width: 0; padding: 12px; background: var(--tf-le-soft); border-radius: 8px; }
.tf-lucky-egg .tf-le-totals span, .tf-lucky-egg .tf-le-totals strong { display: block; overflow-wrap: anywhere; }
.tf-lucky-egg .tf-le-totals strong { margin-top: 6px; font-size: 1.2em; font-variant-numeric: tabular-nums; }
.tf-lucky-egg .tf-le-breakdown { list-style: none; padding: 0; margin: 0; }
.tf-lucky-egg .tf-le-breakdown li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--tf-le-line); }
.tf-lucky-egg .tf-le-breakdown strong { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tf-lucky-egg .tf-le-error { color: #9b1717; font-weight: 600; }
@media (max-width: 480px) {
  .tf-lucky-egg .tf-le-fields, .tf-lucky-egg .tf-le-totals { grid-template-columns: 1fr; }
}
