/* Shared product intake. Scoped to inputs so paid reports keep their own layout. */
html body :is(#input-section,#aftershock-form).goblin-input {
  --input-surface:#fffaf3; --input-panel:#fff; --input-ink:#302738;
  --input-muted:#756777; --input-line:#d9cddc; --input-accent:#795388;
  --input-fill:#f7f2f9; --input-ring:#936ca3;
  box-sizing:border-box; width:100%; max-width:760px; margin:24px auto;
  padding:28px; border:1px solid var(--input-line); border-radius:22px;
  background:var(--input-surface); color:var(--input-ink);
  box-shadow:0 12px 36px rgba(39,20,49,.06); font-family:inherit;
}
html.theme-dark body :is(#input-section,#aftershock-form).goblin-input {
  --input-surface:#211b29; --input-panel:#292132; --input-ink:#f6eff8;
  --input-muted:#c2b3c9; --input-line:#51425b; --input-accent:#c59dd6;
  --input-fill:#34293e; --input-ring:#d7b2e5; color-scheme:dark;
}
html body :is(#input-section,#aftershock-form).goblin-input.reunion-input-shell {padding:0; border:0; background:transparent; box-shadow:none}
html body :is(#input-section,#aftershock-form).goblin-input .input-page.card {
  box-sizing:border-box; width:100%; margin:0; padding:28px;
  background:var(--input-surface); color:var(--input-ink);
  border:1px solid var(--input-line); border-radius:22px;
  box-shadow:0 12px 36px rgba(39,20,49,.06);
}
html body :is(#input-section,#aftershock-form).goblin-input [hidden] {display:none!important}
html body :is(#input-section,#aftershock-form).goblin-input *, html body :is(#input-section,#aftershock-form).goblin-input *::before, html body :is(#input-section,#aftershock-form).goblin-input *::after {box-sizing:border-box}
html body :is(#input-section,#aftershock-form).goblin-input :is(h2,h3,.input-page-title) {color:var(--input-ink); text-shadow:none; letter-spacing:-.035em}
html body :is(#input-section,#aftershock-form).goblin-input .input-page-title {font-size:24px; line-height:1.4; margin:0 0 24px}
html body :is(#input-section,#aftershock-form).goblin-input label {color:var(--input-ink); font-size:14px; line-height:1.5; font-weight:650}
html body :is(#input-section,#aftershock-form).goblin-input > label,
html body :is(#input-section,#aftershock-form).goblin-input .input-page > label {display:block; margin:20px 0 8px}
html body :is(#input-section,#aftershock-form).goblin-input :is(input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=hidden]):not([type=file]), select, textarea) {
  width:100%; min-width:0; min-height:48px; padding:12px 14px;
  border:1px solid var(--input-line)!important; border-radius:12px!important;
  background:var(--input-fill)!important; color:var(--input-ink)!important;
  -webkit-text-fill-color:var(--input-ink); font-weight:400;
  font-family:inherit; font-size:16px; line-height:1.4; box-shadow:none;
}
html body :is(#input-section,#aftershock-form).goblin-input textarea {min-height:132px; resize:vertical}
html body :is(#input-section,#aftershock-form).goblin-input :is(input,textarea)::placeholder {color:var(--input-muted)!important; -webkit-text-fill-color:var(--input-muted); opacity:1}
html body :is(#input-section,#aftershock-form).goblin-input :is(input,select,textarea,button):focus-visible {outline:3px solid var(--input-ring); outline-offset:3px}
html body :is(#input-section,#aftershock-form).goblin-input :is(input[type=radio],input[type=checkbox]) {width:18px; height:18px; min-height:18px; margin:0; accent-color:var(--input-accent); flex:0 0 18px; vertical-align:middle}
html body :is(#input-section,#aftershock-form).goblin-input .cal-toggle {display:flex; flex-wrap:wrap; gap:8px; margin:16px 0}
html body :is(#input-section,#aftershock-form).goblin-input .cal-toggle-option {display:flex; align-items:center; gap:8px; min-height:44px; margin:0; padding:10px 14px; border:1px solid var(--input-line); border-radius:12px; background:var(--input-panel); color:var(--input-ink); cursor:pointer}
html body :is(#input-section,#aftershock-form).goblin-input .cal-toggle-option:has(input:checked) {border-color:var(--input-accent); background:var(--input-fill)}
html body :is(#input-section,#aftershock-form).goblin-input .date-picker {display:grid; grid-template-columns:minmax(70px,1.5fr) auto minmax(44px,1fr) auto minmax(44px,1fr) auto; align-items:center; gap:6px; margin:8px 0; width:100%}
html body :is(#input-section,#aftershock-form).goblin-input .time-picker {display:grid; grid-template-columns:minmax(60px,1fr) auto minmax(60px,1fr) auto; align-items:center; gap:8px; width:100%}
html body :is(#input-section,#aftershock-form).goblin-input .dp-unit {font-size:13px; color:var(--input-muted); margin:0}
html body :is(#input-section,#aftershock-form).goblin-input :is(.note,.goblin-input-help,.tarot-input-helper) {font-size:13px; line-height:1.7; color:var(--input-muted); margin:12px 0}
html body :is(#input-section,#aftershock-form).goblin-input .tarot-input-eyebrow {font-size:11px; letter-spacing:.12em; color:var(--input-accent); margin:0 0 10px}
html body :is(#input-section,#aftershock-form).goblin-input .input-indicator {padding:14px 8px; margin:0 0 16px; gap:8px}
html body :is(#input-section,#aftershock-form).goblin-input .input-dot {color:var(--input-muted); min-width:0}
html body :is(#input-section,#aftershock-form).goblin-input .input-dot label {font-size:12px; color:inherit}
html body :is(#input-section,#aftershock-form).goblin-input .input-dot.active {color:var(--input-accent)}
html body :is(#input-section,#aftershock-form).goblin-input .input-dot.active > span {background:var(--input-accent); color:var(--input-surface); border-color:var(--input-accent)}
html body :is(#input-section,#aftershock-form).goblin-input .input-nav {display:flex; align-items:center; justify-content:space-between; gap:12px; margin:18px 0 0; padding:0}
html body :is(#input-section,#aftershock-form).goblin-input :is(.nav-btn,.btn-primary,#draw-btn,button[type=submit]) {min-height:48px; padding:12px 22px; border:1px solid var(--input-line); border-radius:12px; font-weight:700; font-family:inherit; font-size:15px; background:var(--input-panel); color:var(--input-ink); box-shadow:none; cursor:pointer}
html body :is(#input-section,#aftershock-form).goblin-input :is(.btn-primary,#draw-btn,button[type=submit]) {background:#78518a; border-color:#78518a; color:#fff}
html body :is(#input-section,#aftershock-form).goblin-input > :is(.btn-primary,#draw-btn) {width:100%; margin-top:24px}
html body :is(#input-section,#aftershock-form).goblin-input button:disabled {opacity:.45; cursor:not-allowed}
html body :is(#input-section,#aftershock-form).goblin-input .input-counter {color:var(--input-muted); font-size:13px; white-space:nowrap}
html body :is(#input-section,#aftershock-form).goblin-input .tarot-focus-panel {background:var(--input-fill); border:1px solid var(--input-line); border-radius:14px; padding:16px}
html body :is(#input-section,#aftershock-form).goblin-input .tarot-focus-options {display:flex; flex-wrap:wrap; gap:8px}
html body :is(#input-section,#aftershock-form).goblin-input .tarot-focus-chip {min-height:40px; padding:8px 12px; border:1px solid var(--input-line); border-radius:10px; background:var(--input-panel); color:var(--input-ink)}
html body :is(#input-section,#aftershock-form).goblin-input .tarot-focus-chip.is-selected {border-color:var(--input-accent); background:var(--input-fill); color:var(--input-ink)}
@media(max-width:520px) {
  html body :is(#input-section,#aftershock-form).goblin-input, html body :is(#input-section,#aftershock-form).goblin-input .input-page.card {padding:20px 16px; border-radius:18px}
  html body :is(#input-section,#aftershock-form).goblin-input.reunion-input-shell {padding:0}
  html body :is(#input-section,#aftershock-form).goblin-input .input-page-title {font-size:22px}
  html body :is(#input-section,#aftershock-form).goblin-input .date-picker select {padding:10px 6px}
  html body :is(#input-section,#aftershock-form).goblin-input .reunion-detail-grid {grid-template-columns:1fr}
  html body :is(#input-section,#aftershock-form).goblin-input .input-nav :is(.nav-btn,#draw-btn) {padding:12px 16px}
}
@media(prefers-reduced-motion:reduce) {html body :is(#input-section,#aftershock-form).goblin-input * {scroll-behavior:auto; transition:none}}

html body :is(#input-section,#aftershock-form).goblin-input.fatemy-form-normalized,
html body #input-section.goblin-input .input-page.card {display:block}
html body #input-section.goblin-input .input-page.card[hidden] {display:none!important}
html body #input-section.goblin-input .input-indicator {display:flex; align-items:center; background:var(--input-surface); border:1px solid var(--input-line); border-radius:16px}
html body #input-section.goblin-input .input-dot {display:flex; flex:1; flex-direction:column; align-items:center; gap:6px; opacity:1}
html body #input-section.goblin-input .input-dot > span {display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--input-line); border-radius:50%; background:var(--input-panel); color:var(--input-muted)}
html body #input-section.goblin-input .input-dot.active > span {background:var(--input-accent); border-color:var(--input-accent); color:var(--input-surface)}
html body #input-section.goblin-input .input-dot label {display:block!important; font-size:11px; line-height:1.5; margin:0; color:var(--input-muted)}
html body #input-section.goblin-input .input-dot.active label {color:var(--input-accent)}
html body #input-section.goblin-input .input-line {width:24px; flex:0 1 24px; background:var(--input-line)}

html body #input-section.goblin-input .tarot-intake-note {margin:8px 0; padding:0; border:0; background:none; box-shadow:none; font-size:12px; line-height:1.7; color:var(--input-muted)}
