/* ============================================================================
   GetWheelSpinner — embed builder styles (v7.1.0)
   Loaded on /embed-wheel/ only. Sits on top of the protected assets/style.css
   and adds nothing global.

   Contrast measured, never white-on-amber:
     light  #7C2D12 on #FEF1DD =  8.42:1
     dark   #FCD34D on #2D1F0D = 11.07:1
   Every html[data-theme="light"] override follows the rule it overrides and
   restates each property it needs.
   ============================================================================ */

.eb-tool{
  display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0 0 26px;
}
@media(min-width:900px){
  .eb-tool{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
}

.eb-panel{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:20px 22px;min-width:0;
}
.eb-panel-title{
  margin:0 0 14px;font-size:15px;font-weight:700;color:var(--text);
}

.eb-field{display:block;margin:0 0 14px;min-width:0}
.eb-label{
  display:block;margin:0 0 6px;
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);
}
.eb-input,.eb-textarea{
  width:100%;box-sizing:border-box;min-width:0;
  background:rgba(255,255,255,.05);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:11px 13px;
  font-size:14.5px;font-family:var(--font);color:var(--text);
  overflow-wrap:anywhere;
}
.eb-textarea{min-height:150px;resize:vertical;line-height:1.5}
.eb-input:focus-visible,.eb-textarea:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
html[data-theme="light"] .eb-input,
html[data-theme="light"] .eb-textarea{background:#FFFFFF;border-color:rgba(15,23,42,.16);color:#0F172A}

.eb-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}
.eb-row > .eb-field{flex:1 1 200px;margin-bottom:0}

.eb-radios{display:flex;gap:8px;flex-wrap:wrap}
.eb-radio{
  display:inline-flex;align-items:center;gap:7px;
  min-height:44px;padding:10px 15px;
  background:rgba(255,255,255,.05);border:1px solid var(--border);
  border-radius:999px;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer;
}
.eb-radio input{accent-color:var(--amber);width:16px;height:16px}
.eb-radio:focus-within{outline:3px solid var(--amber);outline-offset:2px}
html[data-theme="light"] .eb-radio{background:#FFFFFF;border-color:rgba(15,23,42,.16);color:#0F172A}

.eb-select{
  width:100%;box-sizing:border-box;min-height:44px;
  background:rgba(255,255,255,.05);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:10px 13px;
  font-size:14.5px;font-family:var(--font);color:var(--text);
}
.eb-select:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
html[data-theme="light"] .eb-select{background:#FFFFFF;border-color:rgba(15,23,42,.16);color:#0F172A}

.eb-error{
  margin:0 0 14px;padding:11px 14px;
  background:rgba(239,68,68,.10);border:1px solid rgba(239,68,68,.30);
  border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;color:#FCA5A5;
  overflow-wrap:anywhere;
}
.eb-error[hidden]{display:none}
html[data-theme="light"] .eb-error{color:#B91C1C}

.eb-code{
  width:100%;box-sizing:border-box;min-height:170px;resize:vertical;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:12px 14px;
  font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;
  font-size:12.5px;line-height:1.55;color:var(--text);
  overflow-wrap:anywhere;white-space:pre-wrap;
}
html[data-theme="light"] .eb-code{background:#F8FAFC;border-color:rgba(15,23,42,.16);color:#0F172A}

.eb-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.eb-copy{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:13px 24px;
  background:rgba(245,158,11,.16);border:2px solid rgba(245,158,11,.55);
  border-radius:999px;color:#FCD34D;
  font-size:15px;font-weight:700;font-family:var(--font);cursor:pointer;
  transition:all .16s;
}
.eb-copy:hover:not(:disabled){background:rgba(245,158,11,.26);border-color:rgba(245,158,11,.85);transform:translateY(-1px)}
.eb-copy:disabled{opacity:.5;cursor:default}
.eb-copy:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
html[data-theme="light"] .eb-copy{background:rgba(245,158,11,.14);border-color:#B45309;color:#7C2D12}
html[data-theme="light"] .eb-copy:hover:not(:disabled){background:rgba(245,158,11,.24);border-color:#9A3412}
html[data-theme="light"] .eb-copy:focus-visible{outline:3px solid #B45309}

/* Plain text feedback — carries NO role/aria-live. The page already has one
   polite region (#gws-live, injected by the shared engine) and the builder
   routes announcements through it so nothing is announced twice. */
.eb-status{font-size:13px;font-weight:700;color:var(--amber);overflow-wrap:anywhere;min-width:0}
html[data-theme="light"] .eb-status{color:#92400E}

.eb-preview-wrap{
  display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;
}
.eb-preview{
  border:1px solid var(--border);border-radius:var(--radius-sm);
  max-width:100%;background:var(--bg);
}
.eb-preview-note{margin:0;font-size:12.5px;color:var(--muted);text-align:center}

.eb-note{
  margin:14px 0 0;font-size:13.5px;line-height:1.6;color:var(--muted);
  overflow-wrap:anywhere;
}
.eb-warn{
  margin:16px 0 0;padding:13px 16px;
  background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.26);
  border-radius:var(--radius-sm);font-size:13.5px;line-height:1.6;color:var(--text);
}
html[data-theme="light"] .eb-warn{border-color:rgba(180,83,9,.28);color:#0F172A}

@media(max-width:600px){
  .eb-panel{padding:17px}
  .eb-copy{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .eb-copy{transition:none}
  .eb-copy:hover:not(:disabled){transform:none}
}
