:root {
      --bg: #f5f8fa;
      --panel: #ffffff;
      --panel-2: #edf8f8;
      --ink: #081426;
      --muted: #617084;
      --line: #d8e3e8;
      --brand: #10b8aa;
      --brand-dark: #087b7a;
      --brand-bright: #63f1e6;
      --brand-gold: #22d3c5;
      --accent: #b45309;
      --danger: #b91c1c;
      --warn: #a16207;
      --ok: #047857;
      --sky: #2563eb;
      --violet: #7c3aed;
      --radius: 8px;
      --shadow: 0 18px 45px rgba(8, 20, 38, 0.12);
      --shadow-soft: 0 14px 30px rgba(8, 20, 38, 0.10);
      --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
      --motion-fast: 180ms;
      --motion-med: 240ms;
      --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: var(--font);
      color: var(--ink);
      background: var(--bg);
      line-height: 1.55;
    }
    button, input, select, textarea { font: inherit; }
    a { color: var(--brand-dark); }
    .container { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
    .hero {
      min-height: 78vh;
      display: grid;
      align-items: end;
      color: white;
      background:
        radial-gradient(circle at 80% 24%, rgba(20, 214, 200, 0.24), transparent 34%),
        radial-gradient(circle at 18% 10%, rgba(96, 124, 184, 0.22), transparent 34%),
        linear-gradient(135deg, #040916 0%, #07142a 58%, #07323d 100%);
    }
    .hero-inner { padding: 34px 0 64px; }
    .brand-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 96px; }
    .brand,
    .brand-lockup {
      display: inline-flex;
      align-items: center;
      gap: 18px;
      font-weight: 800;
      letter-spacing: 0;
      font-size: 1rem;
    }
    .hero-brand {
      width: min(680px, 74vw);
      color: white;
    }
    .brand-primary-logo {
      display: block;
      width: 100%;
      height: auto;
      overflow: visible;
      filter: drop-shadow(0 24px 44px rgba(0, 0, 0, 0.28));
    }
    .brand-app-icon {
      width: 56px;
      height: 56px;
      display: block;
      border-radius: 16px;
      overflow: visible;
      filter: drop-shadow(0 18px 32px rgba(0, 0, 0, 0.22));
    }
    .logo-symbols {
      position: absolute;
      width: 0;
      height: 0;
      overflow: hidden;
    }
    .site-footer {

  margin-top: 4rem;

  padding: 2rem 1rem 3rem;

  border-top: 1px solid rgba(255,255,255,0.08);

  text-align: center;

  color: #9aa6b2;

  font-size: 0.92rem;

}

.footer-links {

  margin-top: 0.7rem;

  display: flex;

  justify-content: center;

  gap: 1rem;

  flex-wrap: wrap;

}

.footer-links a {

  color: #b7c2cf;

  text-decoration: none;

  transition: opacity 0.2s ease;

}

.footer-links a:hover {

  opacity: 0.75;

}
    .logo-mark { display: block; flex: 0 0 auto; }
    .logo-wordmark { font-weight: 900; letter-spacing: 0; }
    .domain { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.72; padding-top: 16px; white-space: nowrap; }
    h1 { font-size: 5.15rem; line-height: 0.98; margin: 0 0 20px; max-width: 850px; letter-spacing: 0; }
    .hero-copy { font-size: 1.25rem; max-width: 640px; margin: 0 0 30px; color: rgba(255,255,255,0.92); }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .button, button {
      border: 1px solid transparent;
      border-radius: var(--radius);
      padding: 11px 16px;
      min-height: 44px;
      cursor: pointer;
      font-weight: 700;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), background var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease;
    }
    .button:hover, button:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(8, 20, 38, 0.12); }
    .button:active, button:active { transform: translateY(0); box-shadow: 0 4px 10px rgba(8, 20, 38, 0.10); }
    .primary { background: var(--brand); color: white; border-color: var(--brand); }
    .primary:hover { background: var(--brand-dark); }
    .secondary { background: var(--panel); color: var(--ink); border-color: var(--line); }
    .ghost { background: rgba(255,255,255,0.12); color: white; border-color: rgba(255,255,255,0.35); }
    .text-button { background: transparent; color: var(--brand-dark); border-color: transparent; padding-inline: 4px; }
    .text-button:hover, .text-button:active { box-shadow: none; color: var(--ink); }
    button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }

    main { margin-top: -28px; position: relative; z-index: 2; padding-bottom: 52px; }
    .notice { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; color: var(--muted); }
    .layout { display: block; max-width: 980px; margin-inline: auto; }
    .panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px; }
    .section { margin-top: 22px; }
    .section-title { margin: 0 0 6px; font-size: 1.3rem; }
    .section-copy { margin: 0 0 18px; color: var(--muted); }
    .grid { display: grid; gap: 14px; }
    .two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    label { display: block; font-weight: 700; margin-bottom: 6px; }
    .hint { color: var(--muted); font-size: 0.9rem; margin-top: 6px; }
    .field input, .field select { width: 100%; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 11px; background: white; color: var(--ink); min-height: 44px; }
    .field input[aria-invalid="true"], .field select[aria-invalid="true"] { border-color: var(--danger); }
    .error { display: block; color: var(--danger); font-size: 0.88rem; min-height: 1.2em; margin-top: 4px; }
    details { border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px; background: #fffaf1; }
    summary { cursor: pointer; font-weight: 800; }
    .form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
    .tags { display: flex; flex-wrap: wrap; gap: 8px; }
    .tag { position: relative; }
    .tag input { position: absolute; inset: 0; opacity: 0; }
    .tag span { display: inline-flex; min-height: 40px; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; background: white; font-weight: 700; }
    .tag input:checked + span { background: var(--brand); color: white; border-color: var(--brand); }
    input[type="range"] { width: 100%; }
    .custom-task { border: 1px solid var(--line); background: #fff; border-radius: var(--radius); padding: 12px; margin-bottom: 10px; display: grid; grid-template-columns: 1.2fr 0.7fr 0.9fr auto; gap: 10px; align-items: end; }
    .custom-task button { min-width: 44px; padding-inline: 10px; }
    .empty { color: var(--muted); background: #f8f6f0; border: 1px dashed var(--line); border-radius: var(--radius); padding: 12px; }

    .results { display: none; }
    .results.visible { display: block; }
    .result-view { display: none; }
    .result-view.active { display: block; animation: resultViewIn 220ms var(--ease-out) both; }
    .result-view.is-exiting { display: block; animation: resultViewOut 170ms ease both; pointer-events: none; }
    .metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
    .metric { border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; background: white; animation: cardIn 360ms var(--ease-out) both; transition: transform var(--motion-med) var(--ease-out), box-shadow var(--motion-med) var(--ease-out), border-color var(--motion-med) ease; }
    .metric-value { font-size: 1.65rem; font-weight: 900; line-height: 1.1; color: var(--brand-dark); }
    .metric-label { color: var(--muted); font-size: 0.9rem; margin-top: 4px; }
    .insight { background: var(--panel-2); border: 1px solid #bdd7ca; border-radius: var(--radius); padding: 16px; margin: 14px 0; font-size: 1.04rem; }
    .warning { background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; border-radius: var(--radius); padding: 12px; margin: 12px 0; display: none; }
    .warning.visible { display: block; }
    .tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
    .tab { background: white; border: 1px solid var(--line); color: var(--ink); }
    .tab:hover, .subtab:hover { border-color: rgba(16, 184, 170, 0.46); }
    .tab[aria-selected="true"] { background: var(--ink); color: white; border-color: var(--ink); }
    .subtabs { display: inline-flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
    .subtab { background: #fff; border-color: var(--line); color: var(--ink); min-height: 38px; padding: 8px 12px; }
    .subtab[aria-pressed="true"] { background: var(--brand-dark); color: white; border-color: var(--brand-dark); }
    .chart-wrap { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; }
    canvas { width: 100%; max-width: 100%; min-height: 320px; }
    .chart-fallback { color: var(--muted); font-size: 0.92rem; margin-top: 8px; }
    .stacked-bar { display: grid; gap: 9px; margin-top: 12px; }
    .stacked-track { display: flex; min-height: 34px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #f8fafc; }
    .stack-segment { min-width: 3px; position: relative; }
    .stack-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; color: var(--muted); font-size: 0.92rem; }
    .legend-item { display: flex; gap: 8px; align-items: center; }
    .legend-swatch { width: 12px; height: 12px; border-radius: 3px; border: 1px solid rgba(23,33,43,0.18); flex: 0 0 auto; }
    .dots-controls { display: flex; gap: 8px; margin-bottom: 12px; }
    .life-grid-wrap { background: #fffaf1; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
    .life-legend { display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 12px 0 14px; color: var(--muted); font-size: 0.92rem; }
    .life-legend-item { display: inline-flex; align-items: center; gap: 7px; }
    .life-legend-swatch { width: 14px; height: 14px; border-radius: 4px; border: 1px solid rgba(23,33,43,0.14); flex: 0 0 auto; }
    .life-legend-swatch.lived { background: #a8a29e; opacity: 0.48; }
    .life-legend-swatch.future { background: #2dd4bf; opacity: 0.78; }
    .life-legend-swatch.now { background: #fbbf24; box-shadow: 0 0 0 2px #fff8e1, 0 0 0 4px rgba(180,83,9,0.2); }
    .life-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16px, 1fr)); gap: 7px; padding: 4px; overflow: visible; }
    .life-grid.weeks { grid-template-columns: repeat(auto-fill, minmax(12px, 1fr)); gap: 5px; }
    .life-cell { --cell-opacity: 0.68; aspect-ratio: 1; border-radius: 5px; background: #d7d0c4; min-width: 12px; opacity: 0; animation: cellIn 420ms var(--ease-out) forwards; will-change: opacity, transform; }
    .life-cell.future { --cell-opacity: 0.74; background: #2dd4bf; }
    .life-cell.lived { --cell-opacity: 0.42; background: #a8a29e; }
    .life-cell.now { --cell-opacity: 1; background: #fbbf24; box-shadow: 0 0 0 2px #fff8e1, 0 0 0 4px rgba(180,83,9,0.22); transform: scale(1.06); animation: cellIn 420ms var(--ease-out) forwards, nowGlow 900ms ease 420ms 1; }
    .life-cell.settled { animation: none; opacity: var(--cell-opacity); will-change: auto; }
    .now-marker { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; margin: 8px 0 10px; color: var(--accent); }
    .now-marker::before { content: ''; width: 10px; height: 10px; border-radius: 3px; background: #fbbf24; box-shadow: 0 0 0 3px #fff8e1; }
    @keyframes cellIn { from { opacity: 0; transform: scale(0.82); } to { opacity: var(--cell-opacity); transform: scale(1); } }
    @keyframes nowGlow {
      0% { box-shadow: 0 0 0 2px #fff8e1, 0 0 0 4px rgba(180,83,9,0.22); }
      45% { box-shadow: 0 0 0 3px #fff8e1, 0 0 0 10px rgba(45,212,191,0.28); }
      100% { box-shadow: 0 0 0 2px #fff8e1, 0 0 0 4px rgba(180,83,9,0.22); }
    }
    .table-scroll { overflow-x: auto; }
    table { width: 100%; border-collapse: collapse; min-width: 620px; }
    th, td { text-align: left; padding: 10px; border-bottom: 1px solid var(--line); }
    th { color: var(--muted); font-size: 0.86rem; }
    .countdown { border: 1px solid #bdd7ca; background: linear-gradient(180deg, #f2fbf7, #fffdf8); border-radius: var(--radius); padding: 18px; margin: 16px 0; }
    .countdown-title { font-weight: 900; margin-bottom: 6px; font-size: 1.2rem; }
    .countdown-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
    .countdown-stat { min-height: 104px; background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; display: grid; align-content: center; gap: 6px; transition: transform var(--motion-med) var(--ease-out), box-shadow var(--motion-med) var(--ease-out), border-color var(--motion-med) ease; }
    .countdown-stat strong { display: block; font-size: 1.45rem; line-height: 1.1; color: var(--brand-dark); }
    .countdown-stat-total { background: linear-gradient(180deg, #f8fbfd, #ffffff); border-color: #cbd5e1; }
    .countdown-stat-total .metric-label { color: #5f6f82; }
    .countdown-stat-total strong { color: #334155; }
    .countdown-stat-free { background: linear-gradient(180deg, #ecfbfa, #ffffff); border-color: #9ee7df; box-shadow: inset 0 0 0 1px rgba(16, 184, 170, 0.08); }
    .countdown-stat-free .metric-label { color: #075f5b; }
    .countdown-stat-free strong { color: #05635f; }
    .countdown-value { font-size: clamp(2rem, 6vw, 3.8rem); line-height: 1; font-weight: 950; color: var(--brand-dark); overflow-wrap: anywhere; margin-top: 10px; }
    .countdown-label { color: var(--muted); }
    .moments-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
    .moment-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; transition: transform var(--motion-med) var(--ease-out), box-shadow var(--motion-med) var(--ease-out), border-color var(--motion-med) ease; }
    .moment-value { font-size: 1.55rem; font-weight: 950; color: var(--accent); line-height: 1.1; }
    .moment-label { color: var(--muted); margin-top: 4px; font-size: 0.92rem; }
    .timeline { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; }
    .timeline-track { position: relative; height: 14px; border-radius: 99px; background: #e5e0d8; margin: 94px 0 96px; animation: timelineBaseIn 260ms var(--ease-out) both; overflow: visible; }
    .timeline-remaining { position: absolute; top: 0; bottom: 0; border-radius: 99px; background: linear-gradient(90deg, #2dd4bf, #fbbf24); transform-origin: left center; animation: timelineReveal 420ms var(--ease-out) 80ms both; }
    .timeline-marker { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 14px; height: 14px; border-radius: 50%; background: var(--ink); border: 3px solid white; box-shadow: 0 0 0 1px var(--line); opacity: 0; animation: markerIn 220ms var(--ease-out) 360ms forwards; }
    .timeline-marker.now { background: #fbbf24; width: 18px; height: 18px; }
    .timeline-marker.birth { background: #64748b; }
    .timeline-marker.retire { background: #b45309; }
    .timeline-marker.healthy { background: #0f766e; }
    .timeline-marker.expectancy { background: #17212b; }
    .timeline-label { position: absolute; transform: translateX(-50%); min-width: 88px; max-width: 145px; text-align: center; color: var(--ink); font-size: 0.84rem; font-weight: 800; line-height: 1.2; background: #fffdf8; border: 1px solid var(--line); border-radius: var(--radius); padding: 7px 8px; box-shadow: 0 8px 18px rgba(23,33,43,0.08); opacity: 0; animation: labelIn 220ms ease 500ms forwards; }
    .timeline-label small { display: block; color: var(--muted); font-weight: 700; margin-top: 2px; }
    .timeline-label.above { bottom: 30px; }
    .timeline-label.below { top: 30px; }
    .timeline-label.high { bottom: 62px; }
    .timeline-label.low { top: 62px; }
    .timeline-label.edge-left { transform: translateX(0); text-align: left; }
    .timeline-label.edge-right { transform: translateX(-100%); text-align: right; }
    .timeline-label::after { content: ''; position: absolute; left: 50%; width: 1px; height: 18px; background: var(--line); }
    .timeline-label.edge-left::after { left: 12px; }
    .timeline-label.edge-right::after { left: auto; right: 12px; }
    .timeline-label.above::after, .timeline-label.high::after { top: 100%; }
    .timeline-label.below::after, .timeline-label.low::after { bottom: 100%; }
    .scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .scenario { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; transition: transform var(--motion-med) var(--ease-out), box-shadow var(--motion-med) var(--ease-out), border-color var(--motion-med) ease; }
    .scenario strong { display: block; margin-bottom: 6px; }
    .scenario .gain { color: var(--ok); font-weight: 900; }
    .ad-slot { display: none; margin-top: 18px; }
    .ad-slot.visible { display: block; }
    .suggestions-section { border: 1px solid var(--line); background: linear-gradient(135deg, #f7fcfc, #ffffff); border-radius: var(--radius); padding: 18px; }
    .suggestions-section.visible { animation: sectionIn 260ms var(--ease-out) both; }
    .suggestions-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
    .suggestions-head h3 { margin: 0 0 4px; font-size: 1.18rem; }
    .suggestion-kicker { margin: 0 0 4px; color: var(--brand-dark); font-size: 0.78rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.08em; }
    .suggestions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .suggestion-card { border: 1px solid #bde8e5; background: #f0fbfa; border-radius: var(--radius); padding: 14px; display: grid; gap: 8px; align-content: start; animation: suggestionIn 280ms var(--ease-out) both; transition: transform var(--motion-med) var(--ease-out), box-shadow var(--motion-med) var(--ease-out), border-color var(--motion-med) ease; }
    .suggestion-card:nth-child(2) { animation-delay: 50ms; }
    .suggestion-card:nth-child(3) { animation-delay: 100ms; }
    .suggestion-meta { color: var(--brand-dark); font-weight: 900; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; }
    .suggestion-eyebrow { color: #0f766e; font-size: 0.9rem; font-weight: 800; }
    .suggestion-card h3 { margin: 6px 0; font-size: 1.05rem; }
    .suggestion-card p { margin: 0 0 10px; color: var(--muted); }
    .recommendation-sponsor { color: var(--muted); font-size: 0.84rem; }
    .recommendation-disclosure { margin-top: 0; }
    .refine-suggestions { border-top: 1px solid var(--line); margin: 12px 0 14px; padding-top: 12px; }
    .refine-suggestions .tags { margin-top: 10px; }
    .disclosure { color: var(--muted); font-size: 0.82rem; margin-top: 8px; }
    .download-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
    .sr-live { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
    .print-brand { display: none; }
    .print-brand svg { width: 260px; max-width: 100%; height: auto; display: block; }
    .footer-note { color: var(--muted); font-size: 0.92rem; margin-top: 22px; }
    .hidden { display: none !important; }

    @keyframes resultViewIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes resultViewOut {
      from { opacity: 1; transform: translateY(0); }
      to { opacity: 0; transform: translateY(4px); }
    }
    @keyframes cardIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes sectionIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes suggestionIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes timelineBaseIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes timelineReveal {
      from { transform: scaleX(0); opacity: 0.65; }
      to { transform: scaleX(1); opacity: 1; }
    }
    @keyframes markerIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes labelIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    @media (hover: hover) {
      .metric:hover,
      .countdown-stat:hover,
      .moment-card:hover,
      .scenario:hover,
      .suggestion-card:hover {
        transform: translateY(-2px);
        border-color: rgba(16, 184, 170, 0.42);
        box-shadow: var(--shadow-soft);
      }
      .tag:hover span { border-color: rgba(16, 184, 170, 0.46); }
    }

    @media (max-width: 900px) {
      .two, .three, .four, .scenario-grid, .metric-grid, .moments-grid, .countdown-grid, .suggestions-grid { grid-template-columns: 1fr; }
      .stack-legend { grid-template-columns: 1fr; }
      .hero { min-height: 72vh; }
      .hero-inner { padding: 26px 0 48px; }
      .brand-row { margin-bottom: 64px; }
      .hero-brand { width: min(560px, 80vw); }
      h1 { font-size: 3.3rem; max-width: 680px; }
      .hero-copy { font-size: 1.1rem; max-width: 560px; }
      .custom-task { grid-template-columns: 1fr; }
      main { margin-top: 0; }
    }
    @media (max-width: 560px) {
      .brand-row { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 48px; }
      .hero-brand { width: min(330px, 92vw); }
      .domain { font-size: 0.72rem; letter-spacing: 0.14em; padding-top: 0; }
      h1 { font-size: 2.45rem; }
      .hero-copy { font-size: 1rem; }
      .suggestions-head { flex-direction: column; }
      .life-grid { grid-template-columns: repeat(auto-fill, minmax(12px, 1fr)); gap: 5px; }
      .life-grid.weeks { grid-template-columns: repeat(auto-fill, minmax(9px, 1fr)); gap: 4px; }
      .timeline-track { margin: 118px 0 120px; }
      .timeline-label { min-width: 76px; max-width: 112px; font-size: 0.74rem; padding: 6px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
      }
      .life-cell { animation: none; opacity: var(--cell-opacity); }
    }
    @media print {
      *, *::before, *::after { animation: none !important; transition: none !important; }
      .hero, .interests-panel, .form-actions, .download-actions, .ad-slot, .suggestion-card, .tabs, .dots-controls, .scenario-grid { display: none !important; }
      body { background: white; }
      main { margin: 0; }
      .print-brand { display: block; margin-bottom: 16px; }
      .panel { box-shadow: none; border-color: #bbb; }
      .layout { display: block; }
      .results { display: block !important; }
    }
  
