.pjruleta-wrap {
  --pjruleta-blue:#2563eb;
  --pjruleta-amber:#f59e0b;
  --pjruleta-green:#16a34a;
  --pjruleta-red:#dc2626;
  --pjruleta-ink:#172033;
  --pjruleta-muted:#596275;
  --pjruleta-line:#dfe5ef;
  color:var(--pjruleta-ink);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
}

.pjruleta-page-hero{
  position:relative;
  width:100vw;
  margin:0 0 22px calc(50% - 50vw);
  color:#fff;
  background:#172033;
}
.pjruleta-page-wrap{ width:min(1180px, calc(100% - 28px)); margin:0 auto; }
.pjruleta-page-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
  padding:28px 0 34px;
}
.pjruleta-page-kicker{ margin:0 0 8px; color:#f9c74f; font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pjruleta-page-title{ margin:0; color:#fff; font-size:clamp(1.8rem,4vw,3rem); line-height:1.05; font-weight:900; }
.pjruleta-page-text{ max-width:780px; margin:10px 0 0; color:rgba(255,255,255,.86); font-size:1rem; }
.pjruleta-page-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.pjruleta-page-btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px;
  border:2px solid rgba(255,255,255,.55); border-radius:8px; font-weight:900; color:#fff; background:rgba(255,255,255,.1); text-decoration:none;
}

.pjui-back-track{
  display:flex;
  justify-content:flex-start;
  gap:10px;
  margin:0 0 16px;
}

.pjui-back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border:2px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  color:#2563eb;
  font:inherit;
  font-size:1rem;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease, transform .12s ease;
}

.pjui-back-link:hover{
  background:#dbeafe;
  border-color:#93c5fd;
  transform:translateY(-1px);
}

body:has(.pjruleta-wrap) .featured-image,
body:has(.pjruleta-wrap) .page-header-image,
body:has(.pjruleta-wrap) .featured-image.page-header-image,
body:has(.pjruleta-wrap) .featured-image.page-header-image.grid-container,
body:has(.pjruleta-wrap) .entry-header{ display:none !important; }

.pjruleta-wrap *{ box-sizing:border-box; }
.pjruleta-shell{ display:grid; gap:16px; }
.pjruleta-head-hero,
.pjruleta-card,
.pjruleta-wheel-panel,
.pjruleta-choice-card,
.pjruleta-panel{
  border:1px solid var(--pjruleta-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(23,32,51,.06);
}
.pjruleta-head-hero{
  text-align:center;
  padding:22px 16px;
  color:#fff;
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  box-shadow:0 4px 20px rgba(245,158,11,.24);
}
.pjruleta-title{ margin:0 0 4px; font-size:clamp(1.8rem,4vw,3rem); line-height:1.05; font-weight:900; color:#fff; }
.pjruleta-subtitle{ margin:0; font-size:1.28rem; line-height:1.2; font-weight:800; color:rgba(255,255,255,.96); }

.pjruleta-topbar,.pjruleta-choice-pills,.pjruleta-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.pjruleta-topbar button,.pjruleta-pill-btn,.pjruleta-btn,.pjruleta-choice-pills button{ border-radius:8px; font-family:inherit; }
.pjruleta-topbar button,.pjruleta-btn,.pjruleta-pill-btn,.pjruleta-choice-pills button{
  min-height:42px; padding:10px 16px; border:2px solid transparent; font-weight:800; cursor:pointer;
}
.pjruleta-topbar button,.pjruleta-pill-btn,.pjruleta-choice-pills button{ background:#eff6ff; color:#1d4ed8; border-color:rgba(37,99,235,.22); }
.pjruleta-btn{ background:var(--pjruleta-blue); color:#fff; }
.pjruleta-btn-primary{ min-height:52px; padding:13px 22px; font-size:1.02rem; background:var(--pjruleta-green); box-shadow:0 10px 22px rgba(22,163,74,.18); }
.pjruleta-btn-secondary{ background:#fff; color:var(--pjruleta-ink); border-color:var(--pjruleta-line); }
.pjruleta-game-actions{
  justify-content:center;
  align-items:center;
  margin-top:16px;
}
.pjruleta-game-actions .pjruleta-btn{
  min-height:54px;
  padding:13px 22px;
  font-size:1.05rem;
  box-shadow:0 12px 24px rgba(15,23,42,.16);
}
.pjruleta-game-actions .pjruleta-btn[data-action="spin"]{
  background:#16a34a;
  border-color:#16a34a;
}
.pjruleta-game-actions .pjruleta-btn[data-action="reveal"]{
  background:#f97316;
  border-color:#f97316;
  color:#fff;
}
.pjruleta-game-actions .pjruleta-btn[data-action="next-student"]{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
.pjruleta-free-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
.pjruleta-free-checks .pjruleta-btn-answer{
  grid-column:1 / -1;
}
.pjruleta-free-checks .pjruleta-btn{
  min-height:58px;
  font-size:1.08rem;
}
.pjruleta-btn-answer{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
.pjruleta-btn-correct{
  background:#16a34a;
  border-color:#16a34a;
  color:#fff;
}
.pjruleta-btn-wrong{
  background:#ef4444;
  border-color:#ef4444;
  color:#fff;
}
.pjruleta-popup-answer-text{
  margin:4px 0 0;
  padding:14px 16px;
  border-radius:10px;
  background:#eaf2ff;
  color:#1d4ed8;
  font-size:1.35rem;
  font-weight:900;
  text-align:center;
}
.pjruleta-popup-answer-text:empty{
  display:none;
}

.pjruleta-choice-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.pjruleta-mode-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.pjruleta-choice-card,
.pjruleta-wrap button.pjruleta-choice-card{
  width:100%; min-height:180px; padding:20px; color:var(--pjruleta-ink); text-align:left; cursor:pointer;
  border:1px solid var(--pjruleta-line);
  background:#fff;
  appearance:none;
  -webkit-appearance:none;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}
.pjruleta-choice-card:hover,
.pjruleta-choice-card:focus,
.pjruleta-choice-card:focus-visible,
.pjruleta-wrap button.pjruleta-choice-card:hover,
.pjruleta-wrap button.pjruleta-choice-card:focus,
.pjruleta-wrap button.pjruleta-choice-card:focus-visible{
  color:var(--pjruleta-ink) !important;
  border-color:#2563eb !important;
  background:#eff6ff !important;
  box-shadow:0 10px 26px rgba(37,99,235,.16) !important;
  outline:none;
  transform:translateY(-1px);
}
.pjruleta-choice-card:hover .pjruleta-choice-tag,
.pjruleta-choice-card:focus .pjruleta-choice-tag,
.pjruleta-wrap button.pjruleta-choice-card:hover .pjruleta-choice-tag,
.pjruleta-wrap button.pjruleta-choice-card:focus .pjruleta-choice-tag,
.pjruleta-choice-card:hover strong,
.pjruleta-choice-card:focus strong,
.pjruleta-wrap button.pjruleta-choice-card:hover strong,
.pjruleta-wrap button.pjruleta-choice-card:focus strong{
  color:#1d4ed8 !important;
}
.pjruleta-choice-card:hover small,
.pjruleta-choice-card:focus small,
.pjruleta-wrap button.pjruleta-choice-card:hover small,
.pjruleta-wrap button.pjruleta-choice-card:focus small{
  color:var(--pjruleta-muted) !important;
}
.pjruleta-choice-icon{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:96px;
  height:96px;
  margin-bottom:14px;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
}
.pjruleta-choice-icon::before,
.pjruleta-choice-icon::after{
  content:none;
  position:absolute;
}
.pjruleta-choice-icon img{
  display:block;
  width:96px;
  height:96px;
  object-fit:contain;
}
.pjruleta-choice-icon-pencil::before{
  width:18px;
  height:44px;
  left:28px;
  top:12px;
  border-radius:7px 7px 4px 4px;
  background:linear-gradient(180deg,#2f7df6,#0b59da);
  transform:rotate(38deg);
  box-shadow:
    inset -5px 0 0 rgba(255,255,255,.12),
    inset -10px 0 0 rgba(255,255,255,.08);
}
.pjruleta-choice-icon-pencil::after{
  width:16px;
  height:16px;
  left:18px;
  top:43px;
  background:linear-gradient(135deg,#ffd166 0 58%, #1f2937 58% 76%, #ffffff 76% 100%);
  transform:rotate(38deg);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.pjruleta-choice-icon-templates::before{
  width:36px;
  height:42px;
  left:24px;
  top:15px;
  border-radius:7px;
  background:linear-gradient(180deg,#ffb11a,#ff7a00);
  box-shadow:
    -10px 6px 0 #ff8f1f,
    -18px 12px 0 #ffd29c;
}
.pjruleta-choice-icon-templates::after{
  width:30px;
  height:34px;
  left:20px;
  top:24px;
  border-radius:7px;
  background:
    linear-gradient(#ff8a1f,#ff8a1f) 6px 7px/18px 5px no-repeat,
    linear-gradient(#ffd19a,#ffd19a) 6px 17px/8px 8px no-repeat,
    linear-gradient(#ffd19a,#ffd19a) 18px 17px/8px 8px no-repeat,
    linear-gradient(#ffd19a,#ffd19a) 6px 29px/8px 8px no-repeat,
    linear-gradient(#ffe7c8,#ffe7c8) 18px 29px/10px 4px no-repeat,
    #fff7ec;
  box-shadow:0 0 0 2px rgba(255,160,58,.25);
}
.pjruleta-choice-icon-language::before{
  width:40px;
  height:40px;
  left:16px;
  top:18px;
  border-radius:50%;
  background:
    radial-gradient(circle at 28px 15px,#4caf50 0 5px,transparent 5px),
    radial-gradient(circle at 14px 25px,#4caf50 0 7px,transparent 7px),
    radial-gradient(circle at 26px 31px,#4caf50 0 6px,transparent 6px),
    #3b82f6;
}
.pjruleta-choice-icon-language::after{
  width:18px;
  height:18px;
  left:6px;
  top:18px;
  border-radius:6px;
  background:
    linear-gradient(#ffffff,#ffffff) center 11px/8px 2px no-repeat,
    #3b82f6;
  box-shadow:34px 8px 0 0 #22c55e, 0 0 0 2px rgba(255,255,255,.65);
}
.pjruleta-choice-tag{ display:block; margin-bottom:8px; color:var(--pjruleta-blue); font-size:.86rem; font-weight:900; text-transform:uppercase; }
.pjruleta-choice-card strong{ display:block; margin-bottom:8px; font-size:1.35rem; color:#1d4ed8; }
.pjruleta-choice-card small{ display:block; color:var(--pjruleta-muted); font-size:.95rem; font-weight:700; }

.pjruleta-panel{ padding:0; border:none; background:transparent; box-shadow:none; }
.pjruleta-config-section{ display:grid; gap:14px; margin-bottom:18px; }
.pjruleta-config-head{
  display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center;
  padding-bottom:12px; border-bottom:1px solid var(--pjruleta-line);
}
.pjruleta-config-head span{
  display:grid; place-items:center; width:34px; height:34px;
  border-radius:10px; background:#2563eb; color:#fff; font-weight:900;
}
.pjruleta-config-head > div{
  display:grid;
  gap:6px;
}
.pjruleta-config-head strong{
  display:block;
  margin:0;
  font-size:1.55rem;
  line-height:1.12;
  font-weight:900;
  color:var(--pjruleta-ink);
}
.pjruleta-config-head small{
  display:block;
  margin:0;
  font-size:1.02rem;
  line-height:1.4;
  font-weight:700;
  color:#475569;
}
.pjruleta-label{ display:grid; gap:8px; font-weight:600; }
.pjruleta-label > span{
  white-space:nowrap;
}
.pjruleta-input,.pjruleta-select,.pjruleta-textarea{
  width:100%; min-height:48px; padding:12px 14px; border:2px solid var(--pjruleta-line); border-radius:10px; background:#fff; color:var(--pjruleta-ink); font:inherit;
}
.pjruleta-textarea{ min-height:150px; resize:vertical; }
.pjruleta-response-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.pjruleta-response-option{
  display:grid;
  gap:7px;
  min-height:92px;
  padding:16px;
  border:2px solid var(--pjruleta-line);
  border-radius:10px;
  background:#f8fafc;
  color:var(--pjruleta-ink);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.pjruleta-response-option:hover{
  border-color:#93c5fd;
  background:#eff6ff;
}
.pjruleta-response-option.is-selected{
  border-color:#2563eb;
  background:#eaf2ff;
  box-shadow:0 8px 20px rgba(37,99,235,.14);
}
.pjruleta-response-option strong{
  color:#1d4ed8;
  font-size:1.05rem;
}
.pjruleta-response-option small{
  color:var(--pjruleta-muted);
  font-weight:700;
}
.pjruleta-textarea.is-readonly{ background:#f8fafc; border-color:#dbeafe; }
.pjruleta-grid,.pjruleta-auto-options{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.pjruleta-auto-options{ display:none; padding:12px; border:2px solid #dbeafe; border-radius:10px; background:#f8fbff; column-gap:18px; row-gap:12px; align-items:start; }
.pjruleta-auto-options.is-visible{ display:grid; }
.pjruleta-content-section .pjruleta-auto-options{ background:#eff6ff; }
.pjruleta-content-actions{ justify-content:flex-start; }
.pjruleta-btn-load{
  min-height:48px;
  padding:12px 28px;
  border-radius:999px;
}
.pjruleta-manual-multiple{ display:grid; gap:14px; }
.pjruleta-manual-help{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:8px;
  background:#eaf2ff;
  color:#1d4ed8;
  font-weight:800;
}
.pjruleta-manual-help span{ color:var(--pjruleta-muted); font-weight:700; }
.pjruleta-manual-row{
  display:grid;
  gap:12px;
  padding:14px;
  border:2px solid #dbeafe;
  border-radius:10px;
  background:#f8fbff;
}
.pjruleta-manual-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.pjruleta-manual-option{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:center;
}
.pjruleta-manual-option > input[type="radio"]{ width:20px; height:20px; accent-color:#16a34a; }
.pjruleta-mini-btn{
  justify-self:start;
  min-height:38px;
  padding:8px 12px;
  border:2px solid #fecaca;
  border-radius:8px;
  background:#fff;
  color:#b91c1c;
  font-weight:900;
  cursor:pointer;
}
.pjruleta-mini-btn:hover{ background:#fee2e2; }
.pjruleta-subpicker{
  display:grid;
  gap:14px;
  grid-column:1 / -1;
  padding:12px;
  border:1px solid #cfe0ff;
  border-radius:10px;
  background:#fff;
}
.pjruleta-subpicker:empty{ display:none; }
.pjruleta-subpicker-head p{
  margin:4px 0 0;
  color:var(--pjruleta-muted);
  font-size:.92rem;
  font-weight:700;
}
.pjruleta-subpicker-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.pjruleta-subpicker-tools{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:10px;
  align-items:end;
}
.pjruleta-search{ display:grid; gap:6px; font-weight:800; }
.pjruleta-search input{
  min-height:44px;
  padding:10px 12px;
  border:2px solid var(--pjruleta-line);
  border-radius:8px;
  font:inherit;
}
.pjruleta-mix{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:900;
}
.pjruleta-mix-card{
  align-items:flex-start;
  gap:10px;
  min-width:320px;
  margin-left:8px;
  padding-inline:16px;
}
.pjruleta-mix-card input{
  margin-top:3px;
  flex:0 0 auto;
}
.pjruleta-mix-card span{
  display:grid;
  gap:3px;
}
.pjruleta-mix-card strong{
  display:block;
  font-size:1rem;
  line-height:1.2;
}
.pjruleta-mix-card small{
  display:block;
  font-size:.92rem;
  line-height:1.3;
  font-weight:700;
  color:#475569;
}
.pjruleta-subpicker-counter{
  padding:10px 12px;
  border-radius:8px;
  background:#ecfdf5;
  color:#047857;
  font-weight:900;
}
.pjruleta-blocks{ display:grid; gap:12px; }
.pjruleta-subpicker-block{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f8fafc;
}
.pjruleta-block-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.pjruleta-block-head label{
  display:flex;
  align-items:center;
  gap:8px;
  color:#1d4ed8;
  font-weight:900;
}
.pjruleta-check-all,
.pjruleta-check-item{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-weight:700;
  color:var(--pjruleta-ink);
}
.pjruleta-subpicker-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px 12px;
}
.pjruleta-check-item{
  position:relative;
  padding:8px 10px;
  border:1px solid var(--pjruleta-line);
  border-radius:8px;
  background:#f1f5f9;
  color:#475569;
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.pjruleta-check-item:hover{
  background:#fff7ed;
  border-color:#f59e0b;
  box-shadow:0 6px 16px rgba(245,158,11,.14);
  transform:translateY(-1px);
}
.pjruleta-check-item.is-selected{
  background:#ecfdf5;
  border-color:#16a34a;
  color:#14532d;
  box-shadow:0 7px 18px rgba(22,163,74,.14);
}
.pjruleta-check-item small{
  margin-left:auto;
  color:inherit;
  opacity:.76;
  font-weight:900;
}
.pjruleta-check-all input,
.pjruleta-check-item input{
  margin-top:2px;
}
.pjruleta-check-item.is-filtered,
.pjruleta-subpicker-block.is-filtered{ display:none; }
.pjruleta-subpicker-note{
  margin:0;
  color:var(--pjruleta-muted);
  font-size:.92rem;
  font-weight:700;
}
.pjruleta-load-row{ display:flex; justify-content:flex-start; }
.pjruleta-message,.pjruleta-load-status{
  display:none; padding:12px 14px; border-radius:10px; font-weight:900;
}
.pjruleta-message.is-visible,.pjruleta-load-status.is-visible{ display:block; }
.pjruleta-message{ background:#eaf2ff; color:#1d4ed8; }
.pjruleta-load-status{ background:#e9f8ed; color:#116a32; }
.pjruleta-load-status.is-loaded{
  border:2px solid #86efac;
  background:#dcfce7;
  color:#14532d;
  font-size:1rem;
  text-align:center;
  text-transform:uppercase;
}
.pjruleta-message.is-error,.pjruleta-load-status.is-error{ background:#fee8e7; color:#c92f27; }
.pjruleta-hidden{ display:none !important; }

.pjruleta-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,420px);
  gap:18px;
  align-items:start;
}
.pjruleta-wheel-panel,.pjruleta-side{ padding:20px; }
.pjruleta-wheel-panel{ display:grid; gap:16px; }
.pjruleta-side{ display:grid; gap:12px; }
.pjruleta-student{
  display:none;
  padding:18px 20px;
  border-radius:10px;
  background:#eef5ff;
  color:#1d4ed8;
  text-align:center;
  font-size:clamp(1.6rem,3vw,2.35rem);
  line-height:1.05;
  font-weight:900;
  box-shadow:0 10px 24px rgba(37,99,235,.12);
}
.pjruleta-student.is-visible{ display:block; }
.pjruleta-wheel-wrap{
  position:relative;
  display:grid;
  place-items:center;
  width:min(100%, 520px);
  aspect-ratio:1 / 1;
  margin:0 auto 16px;
  overflow:hidden;
}
.pjruleta-wheel-wrap.is-focus{
  overflow:hidden;
}
.pjruleta-pointer{
  position:absolute;
  top:50%;
  right:-2px;
  width:0; height:0;
  transform:translateY(-50%);
  border-top:22px solid transparent;
  border-bottom:22px solid transparent;
  border-right:34px solid #172033;
  z-index:3;
  filter:drop-shadow(0 4px 8px rgba(15,23,42,.18));
}
.pjruleta-wheel{
  position:relative;
  width:100%;
  height:100%;
  border-radius:50%;
  overflow:hidden;
  border:10px solid #fff;
  box-shadow:0 18px 40px rgba(23,32,51,.18);
  transition:transform 4.2s cubic-bezier(.18,.9,.16,1);
  background:#ffffff;
  transform-origin:center center;
}
.pjruleta-wheel.is-resetting{
  transition:transform .32s ease-out;
}
.pjruleta-wheel.is-spinning{
  transition:transform 4.2s cubic-bezier(.18,.9,.16,1);
}
.pjruleta-wheel.is-refocusing{
  transition:transform .55s ease;
}
.pjruleta-wheel-inner{
  width:100%;
  height:100%;
  border-radius:50%;
}
.pjruleta-wheel-svg{
  display:block;
  width:100%;
  height:100%;
  filter:drop-shadow(0 8px 18px rgba(15,23,42,.12));
}
.pjruleta-wheel-label{
  fill:#ffffff;
  font-weight:900;
  text-anchor:middle;
  dominant-baseline:middle;
  paint-order:stroke;
  stroke:rgba(15,23,42,.18);
  stroke-width:.45;
  letter-spacing:.02em;
}
.pjruleta-wheel-label tspan{
  text-anchor:middle;
}
.pjruleta-wheel-label.is-selected{
  fill:#fff7c2;
}

.pjruleta-card h4{ margin:0 0 8px; font-size:1.05rem; font-weight:900; }
.pjruleta-card p{ margin:0; }
.pjruleta-prompt{ min-height:78px; font-size:1.08rem; font-weight:800; }
.pjruleta-answer{ min-height:42px; color:#166534; font-size:1.1rem; font-weight:900; }
.pjruleta-result-card h4{
  color:#1d4ed8;
  font-size:1.08rem;
}
.pjruleta-side .pjruleta-card:first-child .pjruleta-answer{
  min-height:88px;
  font-size:clamp(1.5rem,3vw,2.3rem);
  line-height:1.05;
  color:#172033;
}
.pjruleta-definition-card{
  margin-top:14px;
}
.pjruleta-definition-card .pjruleta-prompt{
  min-height:56px;
  font-size:1.05rem;
  line-height:1.45;
}
.pjruleta-reto-card{
  border-color:#fed7aa;
  background:#fff7ed;
}
.pjruleta-reto-card .pjruleta-clock{
  margin:0 0 6px;
  justify-self:flex-start;
}
.pjruleta-reto-card h4{
  margin:0;
  color:#1d4ed8;
  font-size:1.28rem;
}
.pjruleta-reto-card .pjruleta-prompt{
  min-height:96px;
  margin:0;
  color:#7c2d12;
  font-size:1.32rem;
  line-height:1.28;
  font-weight:900;
}
.pjruleta-answer-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.pjruleta-answer-option{
  min-height:54px;
  padding:12px 14px;
  border:2px solid #bfdbfe;
  border-radius:8px;
  background:#ffffff;
  color:#1d4ed8;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.pjruleta-answer-option:hover{
  background:#eff6ff;
  border-color:#2563eb;
}
.pjruleta-answer-option.is-correct{
  background:#dcfce7;
  border-color:#16a34a;
  color:#14532d;
}
.pjruleta-answer-option.is-wrong{
  background:#fee2e2;
  border-color:#ef4444;
  color:#991b1b;
}
.pjruleta-answer-option.is-disabled{
  cursor:default;
  pointer-events:none;
  opacity:.96;
}
.pjruleta-answer-option:disabled{
  cursor:default;
  pointer-events:none;
}
.pjruleta-revealed-answer{
  margin:12px 0 0;
  color:#166534;
  font-size:1.5rem;
  line-height:1.05;
  font-weight:900;
}
.pjruleta-inline-feedback{
  min-height:28px;
  margin:20px 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border:2px solid #cbd5e1;
  border-radius:10px;
  background:#ffffff;
  box-shadow:0 6px 14px rgba(15,23,42,.05);
  text-align:center;
  font-size:1.35rem;
  line-height:1.15;
  font-weight:900;
  color:#475569;
}
.pjruleta-inline-feedback:empty{
  display:none;
}
.pjruleta-inline-feedback.is-correct{
  border-color:#86efac;
  background:#f0fdf4;
  color:#166534;
}
.pjruleta-inline-feedback.is-wrong{
  border-color:#fca5a5;
  background:#fef2f2;
  color:#991b1b;
}
.pjruleta-inline-feedback-icon{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  font-size:1rem;
  font-weight:900;
  background:#e2e8f0;
  color:inherit;
}
.pjruleta-inline-feedback.is-correct .pjruleta-inline-feedback-icon{
  background:#dcfce7;
}
.pjruleta-inline-feedback.is-wrong .pjruleta-inline-feedback-icon{
  background:#fee2e2;
}
.pjruleta-inline-feedback-text{
  display:block;
}
.pjruleta-rank-item{
  display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--pjruleta-line); border-radius:10px; background:#fff;
}
.pjruleta-rank-item.is-current{ border-color:#2563eb; background:#eff6ff; }
.pjruleta-ranking{
  display:grid;
  gap:8px;
}
.pjruleta-ranking:empty{
  display:none;
}
.pjruleta-ranking-card:has(.pjruleta-ranking:empty){
  display:none;
}
.pjruleta-ranking h4{
  margin:0 0 4px;
  color:#1d4ed8;
  font-size:1.05rem;
  font-weight:900;
}
.pjruleta-ranking .pjruleta-rank-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:1rem;
  font-weight:900;
}
.pjruleta-ranking .pjruleta-rank-item strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pjruleta-ranking .pjruleta-rank-item span{
  flex:0 0 auto;
  color:#1d4ed8;
}
.pjruleta-race-card{
  display:grid;
  gap:12px;
}
.pjruleta-race-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.pjruleta-race-head h4{
  margin:0;
  color:#1d4ed8;
}
.pjruleta-race-head span{
  color:#475569;
  font-size:.92rem;
  font-weight:800;
}
.pjruleta-race-box{
  display:grid;
  gap:10px;
}
.pjruleta-race-row{
  padding:12px;
  border:1px solid #dbe3f0;
  border-radius:12px;
  background:#fff;
}
.pjruleta-race-row.is-current{
  border-color:#2563eb;
  background:#eff6ff;
}
.pjruleta-race-row.is-winner{
  border-color:#22c55e;
  background:#f0fdf4;
}
.pjruleta-race-row-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:.96rem;
  font-weight:900;
  color:#172033;
}
.pjruleta-race-row-head span{
  color:#1d4ed8;
}
.pjruleta-race-lane{
  position:relative;
  height:30px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
}
.pjruleta-race-progress{
  position:absolute;
  inset:0 auto 0 0;
  border-radius:999px;
  background:linear-gradient(90deg,#60a5fa,#2563eb);
}
.pjruleta-race-car{
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  font-size:1.15rem;
  line-height:1;
}
.pjruleta-race-flag{
  position:absolute;
  top:50%;
  right:8px;
  transform:translateY(-50%);
  font-size:1rem;
  line-height:1;
}
.pjruleta-race-meta{
  margin-top:8px;
  color:#64748b;
  font-size:.9rem;
  font-weight:800;
}
.pjruleta-race-result{
  padding:12px 14px;
  border:2px solid #86efac;
  border-radius:10px;
  background:#f0fdf4;
  color:#166534;
  text-align:center;
  font-size:1rem;
  font-weight:900;
}
.pjruleta-race-winner strong{
  font-weight:900;
}
.pjruleta-clock{
  display:inline-flex; align-items:center; gap:10px; margin-top:12px; padding:10px 14px; border-radius:999px; background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; font-weight:900;
}
.pjruleta-popup-clock{
  justify-self:center;
  margin:0 auto 4px;
  padding:12px 22px;
  border-width:3px;
  font-size:1.8rem;
  box-shadow:0 10px 24px rgba(194,65,12,.16);
}
.pjruleta-clock.is-warning{ background:#fee2e2; color:#b91c1c; border-color:#fca5a5; }
.pjruleta-popup{
  position:fixed; inset:0; display:grid; place-items:center; pointer-events:none; opacity:0; transition:opacity .2s ease; z-index:9999;
}
.pjruleta-popup.is-visible{ opacity:1; }
.pjruleta-popup::before{
  content:""; position:absolute; inset:0; background:rgba(15,23,42,.18);
}
.pjruleta-popup{
  font-size:2rem; font-weight:900; color:#fff;
}
.pjruleta-popup{ }
.pjruleta-popup.is-visible{ }
.pjruleta-popup::after{ content:none; }
.pjruleta-popup{ }
.pjruleta-popup > *{ position:relative; }
.pjruleta-popup{
  text-align:center;
}
.pjruleta-popup.is-visible{
  animation:pjruleta-pop 1.4s ease;
}
.pjruleta-popup{
  padding:0;
}
.pjruleta-answer-pop-card{
  position:relative;
  display:grid;
  gap:10px;
  width:min(88vw,560px);
  padding:30px 34px;
  border:4px solid #2563eb;
  border-radius:14px;
  background:#ffffff;
  color:#0f172a;
  box-shadow:0 28px 70px rgba(15,23,42,.28);
}
.pjruleta-answer-pop-card span{
  color:#1d4ed8;
  font-size:1.15rem;
  font-weight:900;
  text-transform:uppercase;
}
.pjruleta-answer-pop-card strong{
  color:#16a34a;
  font-size:clamp(2rem,6vw,4rem);
  line-height:1.05;
}
.pjruleta-answer-pop-card.is-correct{
  border-color:#16a34a;
  background:#ecfdf5;
}
.pjruleta-answer-pop-card.is-correct span,
.pjruleta-answer-pop-card.is-correct strong{
  color:#14532d;
}
.pjruleta-answer-pop-card.is-wrong{
  border-color:#ef4444;
  background:#fef2f2;
}
.pjruleta-answer-pop-card.is-wrong span{
  color:#b91c1c;
}
.pjruleta-answer-pop-card.is-wrong strong{
  color:#991b1b;
  font-size:clamp(1.5rem,4vw,3rem);
}
.pjruleta-popup[data-field="student-popup"]{
  position:fixed;
}
.pjruleta-popup[data-field="student-popup"]{
  background:none;
}
.pjruleta-popup[data-field="student-popup"]{
  }
.pjruleta-popup[data-field="student-popup"].is-visible{
  animation:pjruleta-pop 1.4s ease;
}
.pjruleta-popup{
  }

@keyframes pjruleta-pop{
  0%{ opacity:0; }
  15%{ opacity:1; }
  85%{ opacity:1; }
  100%{ opacity:0; }
}

.pjruleta-theme-sunburst .pjruleta-head-hero{ background:linear-gradient(135deg,#f59e0b,#ef4444); }
.pjruleta-theme-show .pjruleta-head-hero{ background:linear-gradient(135deg,#1d4ed8,#7c3aed); }
.pjruleta-theme-neon .pjruleta-head-hero{ background:linear-gradient(135deg,#06b6d4,#3b82f6); }
.pjruleta-theme-candy .pjruleta-head-hero{ background:linear-gradient(135deg,#ec4899,#f97316); }
.pjruleta-theme-ocean .pjruleta-head-hero{ background:linear-gradient(135deg,#0ea5e9,#2563eb); }
.pjruleta-theme-forest .pjruleta-head-hero{ background:linear-gradient(135deg,#16a34a,#15803d); }
.pjruleta-theme-pixel .pjruleta-head-hero{ background:linear-gradient(135deg,#111827,#2563eb); }
.pjruleta-theme-pixel .pjruleta-wheel-label{ font-family:"Courier New",monospace; }

@media (max-width: 980px){
  .pjruleta-page-head,
  .pjruleta-main{ grid-template-columns:1fr; }
  .pjruleta-choice-grid{ grid-template-columns:1fr; }
  .pjruleta-response-options,
  .pjruleta-answer-options,
  .pjruleta-manual-options{ grid-template-columns:1fr; }
  .pjruleta-subpicker-tools{ grid-template-columns:1fr; }
  .pjruleta-pointer{
    right:8px;
    border-top-width:18px;
    border-bottom-width:18px;
    border-right-width:28px;
  }
  .pjruleta-side .pjruleta-card:first-child .pjruleta-answer{
    font-size:clamp(1.35rem,6vw,2rem);
  }
}
