/* ============================================================================
   GetWheelSpinner — embeddable wheel renderer styles (v7.1.0)
   Standalone: the renderer deliberately does NOT load assets/style.css, so an
   embedded widget carries none of the site's page chrome and stays small.

   Sized to work from a 280px iframe upward. Nothing is fixed-width and the
   layout never scrolls horizontally.

   Contrast is measured and never white-on-amber:
     dark   #FCD34D on #2D1F0D = 11.07:1
     light  #7C2D12 on #FEF1DD =  8.42:1
   ============================================================================ */

:root{
  --ew-bg:#07070D; --ew-card:#111120; --ew-text:rgba(255,255,255,.94);
  --ew-muted:rgba(226,232,240,.78); --ew-border:rgba(255,255,255,.10);
  --ew-amber:#F59E0B; --ew-label:#FCD34D; --ew-tint:rgba(245,158,11,.16);
  --ew-edge:rgba(245,158,11,.55);
}
html[data-theme="light"]{
  --ew-bg:#FFFFFF; --ew-card:#FFFFFF; --ew-text:#0F172A;
  --ew-muted:#475569; --ew-border:rgba(15,23,42,.12);
  --ew-amber:#B45309; --ew-label:#7C2D12; --ew-tint:rgba(245,158,11,.14);
  --ew-edge:#B45309;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--ew-bg);color:var(--ew-text);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  overflow-x:hidden;
}

.ew-wrap{
  display:flex;flex-direction:column;align-items:center;
  gap:12px;padding:14px 12px 12px;min-width:0;
}

.ew-title{
  margin:0;font-size:16px;font-weight:700;text-align:center;
  color:var(--ew-text);overflow-wrap:anywhere;min-width:0;max-width:100%;
}

.ew-error{
  margin:0;padding:8px 12px;width:100%;
  background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.32);
  border-radius:8px;font-size:12.5px;font-weight:600;color:#FCA5A5;
  overflow-wrap:anywhere;text-align:center;
}
html[data-theme="light"] .ew-error{color:#B91C1C}
.ew-error[hidden]{display:none}

/* Sized to the canvas (not the full row) so the pointer anchors to the wheel's
   own right edge at any frame width. */
.ew-stage{
  position:relative;display:block;line-height:0;
  width:-moz-fit-content;width:fit-content;margin:0 auto;
  max-width:100%;min-width:0;
}
.ew-canvas{max-width:100%;height:auto;display:block;border-radius:50%}
/* At 3 o'clock, matching the rest of the site: the shared spin maths brings the
   winning segment's centre to screen angle 0, which is the right-hand edge. */
.ew-pointer{
  position:absolute;right:-6px;top:50%;transform:translateY(-50%);
  width:0;height:0;
  border-top:13px solid transparent;border-bottom:13px solid transparent;
  border-right:22px solid var(--ew-amber);z-index:2;
}

.ew-spin{
  min-height:48px;width:100%;max-width:300px;padding:13px 22px;
  background:var(--ew-tint);border:2px solid var(--ew-edge);
  border-radius:999px;color:var(--ew-label);
  font-size:15.5px;font-weight:700;font-family:inherit;cursor:pointer;
  transition:all .16s;
}
.ew-spin:hover:not(:disabled){background:rgba(245,158,11,.26);transform:translateY(-1px)}
.ew-spin:disabled{opacity:.55;cursor:default}
.ew-spin:focus-visible{outline:3px solid var(--ew-amber);outline-offset:3px}

.ew-result{
  width:100%;text-align:center;padding:10px 12px;
  background:var(--ew-card);border:1px solid var(--ew-border);border-radius:10px;
  min-width:0;
}
.ew-result[hidden]{display:none}
.ew-result-label{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ew-muted);margin-bottom:3px;
}
.ew-result-name{
  display:block;font-size:19px;font-weight:800;color:var(--ew-label);
  overflow-wrap:anywhere;min-width:0;
}

/* ---- branding / referral ------------------------------------------------- */
.ew-brand{
  width:100%;display:flex;flex-direction:column;align-items:center;gap:9px;
  padding-top:11px;margin-top:2px;border-top:1px solid var(--ew-border);
}
.ew-brand-by{
  font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ew-muted);
}
.ew-brand-name{
  font-size:14.5px;font-weight:800;color:var(--ew-text);line-height:1.15;
}
.ew-brand-host{font-size:11.5px;color:var(--ew-muted)}
.ew-full{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:11px 20px;
  background:var(--ew-tint);border:2px solid var(--ew-edge);border-radius:999px;
  color:var(--ew-label);font-size:13.5px;font-weight:700;text-decoration:none;
  transition:all .16s;
  /* three slow cycles, then it settles for good. No flashing, no loop. */
  animation:ew-glow 2.8s ease-in-out 3;
}
.ew-full:hover{background:rgba(245,158,11,.26);transform:translateY(-1px)}
.ew-full:focus-visible{outline:3px solid var(--ew-amber);outline-offset:3px}

@keyframes ew-glow{
  0%   {box-shadow:0 0 0 0 rgba(245,158,11,.0)}
  50%  {box-shadow:0 0 20px 4px rgba(245,158,11,.38)}
  100% {box-shadow:0 0 0 0 rgba(245,158,11,.0)}
}

.ew-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}

/* ---- very narrow frames -------------------------------------------------- */
@media(max-width:340px){
  .ew-wrap{padding:10px 8px;gap:10px}
  .ew-title{font-size:14.5px}
  .ew-spin{font-size:14.5px;padding:12px 16px}
  .ew-result-name{font-size:17px}
  .ew-brand-name{font-size:13.5px}
}

@media(prefers-reduced-motion:reduce){
  .ew-full{animation:none}
  .ew-spin,.ew-full{transition:none}
  .ew-spin:hover:not(:disabled),.ew-full:hover{transform:none}
}

/* A blank title is a supported choice: hide the element outright so it leaves
   no empty heading and no stray flex gap above the wheel. */
.ew-title[hidden]{display:none}
