.wheel-widget,.telon{
  --tinta:#1A1A1A; --papel:#FAF8F5; --borde:#E2DCD3; --suave:#6E665C;
  --visor-bg:#FAF8F5; --visor-tinta:#1A1A1A; --visor-sub:#8C8378;
}
@media (prefers-color-scheme:dark){
  .wheel-widget,.telon{
    --tinta:#F2EEE8; --papel:#171614; --borde:#332F2A; --suave:#A79D91;
    --visor-bg:#171614; --visor-tinta:#F2EEE8; --visor-sub:#8C8378;
  }
}
.wheel-widget,.wheel-widget *,.telon,.telon *{box-sizing:border-box}
.wheel-widget{color:var(--tinta);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}

/* 1 · la miniatura del landing */
.miniatura{width:100%;border:1px solid var(--borde);border-radius:14px;
  background:none;padding:20px;cursor:zoom-in;display:block;text-align:center;
  transition:border-color .18s,transform .18s}
.miniatura:hover{border-color:var(--suave);transform:translateY(-2px)}
.miniatura:focus-visible{outline:3px solid #5B4B8A;outline-offset:3px}
.miniatura svg{width:min(340px,74vw);height:auto;display:block;margin:0 auto;
  pointer-events:none}
.miniatura .pie{margin-top:14px;font-size:14px;color:var(--suave);display:block}
.resumen{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}

/* 2 · el visor a pantalla completa */
.telon{position:fixed;inset:0;background:var(--papel);color:var(--tinta);z-index:999;
  display:none;flex-direction:column;padding:10px env(safe-area-inset-right)
  env(safe-area-inset-bottom) env(safe-area-inset-left)}
.telon[data-abierto="1"]{display:flex}
.barra{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:4px 8px 10px;flex:0 0 auto}
.barra h2{margin:0;font-size:15px;font-weight:600}
.cerrar{border:1px solid var(--borde);background:none;color:var(--tinta);
  border-radius:9px;padding:9px 16px;font-size:15px;cursor:pointer}
.cerrar:hover{border-color:var(--suave)}
.lienzo{flex:1 1 auto;min-height:0;display:flex;align-items:center;
  justify-content:center;touch-action:none}
.lienzo svg{width:auto;height:100%;max-width:100%;max-height:100%;display:block;
  -webkit-tap-highlight-color:transparent}

/* 3 · los gajos */
#rueda-svg{transform-box:view-box}
/* la pintura NO recibe el ratón: de eso se encargan los sensores */
#rueda-pintura{pointer-events:none}
.gajo{transform-origin:400px 400px;
  transition:transform .16s cubic-bezier(.2,.7,.3,1)}
.gajo path{stroke:var(--papel);stroke-width:1;
  transition:fill-opacity .16s,stroke-width .16s}
/* los sensores: geometría original, invisibles, siempre encima */
.sensor{fill:transparent;cursor:pointer;outline:none}
.sensor:focus-visible{fill:rgba(255,255,255,.14);stroke:var(--tinta);stroke-width:3}
.gajo .et{text-anchor:middle;dominant-baseline:central;pointer-events:none;
  font-weight:600;transition:font-size .16s;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}

/* el gajo que la persona está recorriendo: crece y se puede tocar */
.gajo.activo{transform:scale(1.06)}
.gajo.activo path{fill-opacity:1;stroke-width:2.5}
.gajo.activo .nucleo-t{font-size:24px}
.gajo.activo .medio-t{font-size:20px}
.gajo.activo .hoja-t{font-size:16px}

/* ya elegida */
.gajo.elegida path{stroke:var(--tinta);stroke-width:2.5;fill-opacity:1}

/* 4 · el visor del centro */
#visor-txt{text-anchor:middle;dominant-baseline:central;font-size:29px;
  font-weight:700;font-family:-apple-system,BlinkMacSystemFont,sans-serif}
#visor-sub{text-anchor:middle;dominant-baseline:central;font-size:14px;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif}

/* 5 · la lista que arma la persona */
.cesta{flex:0 0 auto;padding:12px 8px 6px;border-top:1px solid var(--borde)}
.cesta .titulo{font-size:13px;color:var(--suave);margin-bottom:9px}
.fichas{display:flex;flex-wrap:wrap;gap:8px;min-height:38px}
.ficha{display:inline-flex;align-items:center;gap:8px;border-radius:999px;
  padding:7px 9px 7px 14px;font-size:15px;font-weight:600;
  animation:entra .22s cubic-bezier(.2,.9,.3,1)}
@keyframes entra{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}
.ficha button{all:unset;cursor:pointer;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;font-size:16px;line-height:1;opacity:.75}
.ficha button:hover{opacity:1;background:rgba(255,255,255,.22)}
.ficha button:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.vacia{color:var(--suave);font-size:14px;font-style:italic;align-self:center}
@media (prefers-reduced-motion:reduce){
  .gajo,.gajo path,.gajo .et,.miniatura{transition:none}
  .ficha{animation:none}
}
@media (max-width:39.99rem){
  .miniatura{padding:12px;border-radius:8px}
  .miniatura svg{width:min(290px,82vw)}
  .telon{padding-top:max(6px,env(safe-area-inset-top))}
  .barra{padding:4px 6px 8px}
  .barra h2{font-size:13px;line-height:1.25}
  .cerrar{padding:8px 12px;font-size:14px}
  .lienzo svg{width:100%;height:auto;max-height:calc(100vh - 190px)}
  .cesta{padding:10px 6px 4px}
  .fichas{max-height:21vh;overflow:auto}
}
