#sp-wrap{--ink:#17233B;--red:#e21b3c;--red2:#c81e3a;--gold:#d8b464;--ok:#22c55e;--bad:#ff4d5e;--mut:#64748b;width:100%!important;max-width:none!important;margin:0;border-radius:0;overflow:hidden;color:#17233B;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#ffffff;box-shadow:0 18px 50px rgba(200,30,58,.18)}
#sp-wrap *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
#sp-wrap button{font-family:inherit}
.sp-inner{position:relative;padding:clamp(18px,4vw,36px);background-image:radial-gradient(rgba(200,30,58,.07) 1px,transparent 1px);background-size:26px 26px;animation:spin .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes spin{from{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:none}}
.sp-hidden{display:none!important}
.sp-hero{text-align:center;padding:10px 0 12px}
.sp-hero h1{margin:0;font-size:clamp(34px,7vw,64px);line-height:1.05;font-weight:700;color:#c81e3a}
.sp-hero p.sub{margin:12px auto 22px;max-width:560px;font-size:clamp(16px,2.6vw,21px);color:var(--mut);line-height:1.4}
.sp-play{border:0;border-radius:99px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#e21b3c,#c81e3a);padding:16px 42px;font-size:clamp(18px,3vw,23px);animation:spglow 2s infinite;transition:transform .15s}
.sp-play:hover,.sp-play:focus,.sp-play:focus-visible,.sp-play:active{background:linear-gradient(135deg,#e21b3c,#c81e3a)!important;color:#fff!important;transform:scale(1.05)}
@keyframes spglow{0%{box-shadow:0 0 0 0 rgba(226,27,60,.45)}70%,100%{box-shadow:0 0 0 16px rgba(226,27,60,0)}}
.sp-play.ghost{background:#fff;color:#c81e3a;border:1px solid rgba(200,30,58,.3);animation:none}
.sp-play.ghost:hover,.sp-play.ghost:focus,.sp-play.ghost:focus-visible,.sp-play.ghost:active{background:#fdecef!important;color:#c81e3a!important}
.sp-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 6px}
.sp-chip{display:inline-block;padding:5px 12px;border-radius:99px;background:rgba(200,30,58,.08);border:1px solid rgba(200,30,58,.2);font-weight:600;font-size:14px;white-space:nowrap;color:#17233B}
.sp-rules{font-size:14px;color:var(--mut);margin:6px 0 0;text-align:center}
.sp-h3{margin:22px 0 10px;font-size:clamp(18px,3vw,24px);text-align:center;color:#17233B}
.sp-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:16px 0}
.sp-tab{border:1px solid rgba(200,30,58,.25);background:#fff;color:#17233B;border-radius:99px;padding:12px 22px;font-weight:700;font-size:16px;cursor:pointer}
.sp-tab:hover,.sp-tab:focus,.sp-tab:focus-visible,.sp-tab:active{background:#fdecef!important;color:#17233B!important}
.sp-tab.sel{background:linear-gradient(135deg,#d8b464,#fb923c)!important;color:#3b1d00!important}
.sp-pairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding-bottom:8px}
.sp-pair{display:flex;align-items:center;gap:8px;padding:8px;border-radius:18px;background:#fff;border:1px solid rgba(200,30,58,.18);box-shadow:0 4px 14px rgba(200,30,58,.08)}
.sp-pair i{font-style:normal;font-size:12px;color:#b8933f;font-weight:700}
.sp-sbtn{flex:1;min-height:44px;border-radius:12px;border:1px solid rgba(200,30,58,.25);background:#fff;font-weight:600;font-size:15px;cursor:pointer;padding:6px 8px;color:#17233B;transition:transform .15s,background .2s}
.sp-sbtn:hover,.sp-sbtn:focus,.sp-sbtn:focus-visible,.sp-sbtn:active{background:#fdecef!important;color:#17233B!important;transform:translateY(-2px)}
.sp-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.sp-top b{font-size:clamp(18px,3vw,24px);color:#17233B}
.sp-ib{width:44px;height:44px;border-radius:14px;border:1px solid rgba(200,30,58,.25);background:#fff;font-size:21px;cursor:pointer;transition:transform .15s,background .2s;color:#c81e3a}
.sp-ib:hover,.sp-ib:focus,.sp-ib:focus-visible,.sp-ib:active{background:#fdecef!important;color:#c81e3a!important;transform:translateY(-2px)}
.sp-stats{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}
.sp-bar{flex:1;min-width:120px;height:10px;border-radius:99px;background:#f1e4e6;overflow:hidden}
.sp-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#e21b3c,#d8b464);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.sp-card{background:#fff;border:1px solid rgba(200,30,58,.15);border-radius:22px;padding:clamp(16px,3vw,26px);box-shadow:0 10px 30px rgba(200,30,58,.08)}
.sp-featicon{font-size:clamp(44px,9vw,72px);line-height:1;text-align:center}
.sp-card h2{margin:8px 0 10px;font-size:clamp(26px,4.4vw,40px);text-align:center;color:#17233B}
.sp-facts{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.sp-facts li{padding:10px 14px;border-radius:14px;background:#faf1e2;border:1px solid rgba(200,30,58,.12);font-size:clamp(15px,2.2vw,18px);line-height:1.35;color:#17233B}
.sp-diff{padding:12px 14px;border-radius:14px;border-left:5px solid #c81e3a;background:rgba(200,30,58,.08);font-size:clamp(15px,2.2vw,18px);line-height:1.4;margin:0 0 14px;color:#17233B}
.sp-btn{border:0;border-radius:99px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#e21b3c,#c81e3a);padding:12px 24px;font-size:17px;transition:transform .15s}
.sp-btn:hover,.sp-btn:focus,.sp-btn:focus-visible,.sp-btn:active{background:linear-gradient(135deg,#e21b3c,#c81e3a)!important;color:#fff!important;transform:scale(1.05)}
.sp-btn.ghost{background:#fff;color:#c81e3a;border:1px solid rgba(200,30,58,.3)}
.sp-btn.ghost:hover,.sp-btn.ghost:focus,.sp-btn.ghost:focus-visible,.sp-btn.ghost:active{background:#fdecef!important;color:#c81e3a!important}
.sp-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:16px 0}
.sp-q{text-align:center;margin:6px 0 12px}
.sp-q h2{margin:0;font-size:clamp(24px,4.6vw,38px);font-weight:700;line-height:1.12;color:#17233B}
.sp-opts{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);gap:clamp(8px,1.6vw,16px);margin:0 auto}
@media(max-width:560px){.sp-opts{grid-template-columns:1fr}}
#sp-wrap .sp-opt{color:#1e1b4b}
.sp-opt{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:left;font-size:clamp(16px,2.8vw,21px);font-weight:600;border-radius:clamp(18px,3vw,26px);border:2px solid rgba(200,30,58,.25);background:linear-gradient(160deg,#fff,#fff1f2);color:#1e1b4b;cursor:pointer;box-shadow:0 14px 40px rgba(200,30,58,.15);transition:transform .25s,box-shadow .25s;animation:spcardin .6s cubic-bezier(.2,.9,.25,1.1) both;animation-delay:calc(var(--i)*.07s)}
@keyframes spcardin{from{opacity:0;transform:translateY(24px) scale(.9)}to{opacity:1;transform:none}}
.sp-opt:hover,.sp-opt:focus,.sp-opt:focus-visible,.sp-opt:active{background:linear-gradient(160deg,#fff,#fff1f2)!important;color:#1e1b4b!important;transform:translateY(-6px) scale(1.015);box-shadow:0 22px 50px rgba(200,30,58,.3)}
.sp-let{flex:none;width:clamp(30px,5vw,40px);aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#c81e3a,#e11d48);color:#fff;font-weight:700;display:grid;place-items:center;font-size:clamp(15px,2.4vw,20px);box-shadow:0 4px 12px rgba(225,29,72,.5)}
.sp-opt.correct{border-color:var(--ok);box-shadow:0 0 0 4px rgba(34,197,94,.35),0 0 60px rgba(34,197,94,.7);animation:sppop .55s}
.sp-opt.wrong{border-color:var(--bad);box-shadow:0 0 0 4px rgba(255,77,94,.35),0 0 60px rgba(255,77,94,.65);animation:spshake .5s}
.sp-opt.correct::after,.sp-opt.wrong::after{content:"✓";margin-left:auto;font-size:28px;font-weight:700;color:var(--ok)}
.sp-opt.wrong::after{content:"✗";color:var(--bad)}
@keyframes sppop{40%{transform:scale(1.05)}}
@keyframes spshake{20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}
.sp-foot{min-height:58px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-top:10px}
.sp-msg{font-size:clamp(17px,3vw,24px);font-weight:700;text-align:center;color:#17233B}
.sp-msg.ok{color:#16a34a}
.sp-msg.no{color:#e11d48}
.sp-msg.dim{color:var(--mut);font-weight:500;font-size:clamp(14px,2.2vw,17px)}
.sp-next{border:0;border-radius:99px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#e21b3c,#c81e3a);padding:11px 30px;font-size:clamp(16px,2.6vw,20px);box-shadow:0 8px 24px rgba(226,27,60,.35);animation:spglow 1.8s .5s infinite}
.sp-next:hover,.sp-next:focus,.sp-next:focus-visible,.sp-next:active{background:linear-gradient(135deg,#e21b3c,#c81e3a)!important;color:#fff!important;transform:scale(1.05)}
.sp-levels{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:16px 0}
.sp-level{border:1px solid rgba(200,30,58,.25);background:#fff;color:#17233B;border-radius:99px;padding:12px 22px;font-weight:700;font-size:16px;cursor:pointer}
.sp-level:hover,.sp-level:focus,.sp-level:focus-visible,.sp-level:active{background:#fdecef!important;color:#17233B!important}
.sp-level.sel{background:linear-gradient(135deg,#d8b464,#fb923c)!important;color:#3b1d00!important}
.sp-res{text-align:center;padding-top:10px}
.sp-res h2{margin:6px 0;font-size:clamp(28px,5vw,44px);color:#17233B}
.sp-res p{margin:6px auto;max-width:560px;font-size:clamp(15px,2.4vw,19px);line-height:1.45;color:#475569}
.sp-badge{display:inline-block;padding:10px 20px;border-radius:99px;background:linear-gradient(135deg,#d8b464,#fb923c);color:#3b1d00!important;font-weight:700;animation:sppop .7s .6s both}
.sp-ring{width:clamp(150px,26vh,220px);margin:0 auto}
.sp-ring circle{fill:none;stroke-width:10}
.sp-ring .bg{stroke:#f1e4e6}
.sp-ring .fg{stroke:#e21b3c;stroke-linecap:round;transform:rotate(-90deg);transform-origin:70px 70px}
.sp-ring text{fill:#17233B;font:700 30px system-ui,sans-serif}
.sp-conf{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}
.sp-conf i{position:absolute;width:9px;height:14px;border-radius:2px;animation:spconf 1.15s cubic-bezier(.1,.7,.3,1) forwards}
@keyframes spconf{to{transform:translate(var(--x),calc(var(--y) + 170px)) rotate(var(--r));opacity:0}}
.sp-search{width:100%;padding:12px 16px;border-radius:99px;border:1px solid rgba(200,30,58,.25);background:#fff;color:#17233B;font-size:16px}
.sp-search::placeholder{color:var(--mut)}
.sp-mapwrap{width:100%;max-height:70vh;overflow:hidden;border-radius:22px;background:linear-gradient(160deg,#fff,#fdecef);box-shadow:0 18px 50px rgba(200,30,58,.15);border:1px solid rgba(200,30,58,.15)}
.sp-mapwrap svg{width:100%;height:auto;max-height:70vh;display:block}
.sp-mapwrap .st{fill:#ffffff;stroke:#c81e3a;stroke-width:.18;cursor:pointer;transition:fill .15s}
.sp-mapwrap .st:hover{fill:#fdecef}
.sp-mapwrap .st.sel-correct{fill:#22c55e!important;stroke:#15803d}
.sp-mapwrap .st.sel-wrong{fill:#ff4d5e!important;stroke:#be123c}
.sp-mapwrap .st-hit{fill:transparent;stroke:none;cursor:pointer;pointer-events:all}
.sp-mapnote{font-size:14px;color:var(--mut);text-align:center;margin:10px 0 0}
.sp-readout{text-align:center;font-weight:700;color:#c81e3a;min-height:24px;font-size:17px}
@media(max-width:640px){.sp-mapwrap{border-radius:16px}}

/* FULL WIDTH: neutralize every inner max-width so the tool stretches edge to edge */
#sp-wrap .sp-hero p.sub,#sp-wrap .sp-ver-note,#sp-wrap .sp-disc,#sp-wrap .sp-res p,#sp-wrap .sp-flash-wrap,#sp-wrap .sp-select{max-width:100%!important}

/* Citizenship: version picker + 65/20 toggle */
.sp-vers{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:16px 0 6px}
.sp-ver{border:1px solid rgba(200,30,58,.25);background:#fff;color:#17233B;border-radius:99px;padding:12px 20px;font-weight:700;font-size:16px;cursor:pointer}
.sp-ver:hover,.sp-ver:focus,.sp-ver:focus-visible,.sp-ver:active{background:#fdecef!important;color:#17233B!important}
.sp-ver.sel{background:linear-gradient(135deg,#d8b464,#fb923c)!important;color:#3b1d00!important}
.sp-ver-note{font-size:15px;color:#64748b;text-align:center;max-width:640px;margin:8px auto 0;line-height:1.5}
.sp-check{display:flex;gap:8px;align-items:center;justify-content:center;margin:14px 0 0;font-size:16px;font-weight:600;color:#17233B}
.sp-check input{width:20px;height:20px;accent-color:#c81e3a;cursor:pointer}
.sp-disc{font-size:14px;color:#64748b;text-align:center;max-width:640px;margin:14px auto 0;line-height:1.5}
.sp-disc a{color:#c81e3a;font-weight:700}
/* Oral practice */
.sp-oral-q{text-align:center;margin:6px 0 12px}
.sp-oral-q h2{margin:0;font-size:clamp(24px,4.6vw,38px);font-weight:700;line-height:1.25;color:#17233B}
.sp-oral-a{padding:16px 18px;border-radius:18px;background:#faf1e2;border:1px solid rgba(200,30,58,.12);font-size:clamp(17px,2.8vw,22px);line-height:1.45;color:#17233B;text-align:center;margin:12px 0}
.sp-oral-a .sp-note{display:block;font-size:14px;color:#64748b;margin-top:8px}
.sp-oral-a .sp-note a{color:#c81e3a;font-weight:700}
.sp-tally{text-align:center;font-weight:700;color:#17233B;font-size:17px;margin:8px 0}
/* Flashcards */
.sp-flash-wrap{perspective:1200px;margin:10px auto;max-width:560px}
.sp-flash{position:relative;min-height:260px;cursor:pointer}
.sp-flash .sp-face{position:absolute;inset:0;border-radius:22px;padding:clamp(20px,4vw,32px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1);border:1px solid rgba(200,30,58,.15);box-shadow:0 10px 30px rgba(200,30,58,.08)}
.sp-flash .sp-front{background:linear-gradient(160deg,#fff,#fff1f2)}
.sp-flash .sp-back{background:#faf1e2;transform:rotateY(180deg)}
.sp-flash.flipped .sp-front{transform:rotateY(180deg)}
.sp-flash.flipped .sp-back{transform:rotateY(0deg)}
.sp-flash h2{margin:0;font-size:clamp(22px,4.2vw,32px);line-height:1.25;color:#17233B}
.sp-flash .sp-back p{font-size:clamp(17px,2.8vw,22px);line-height:1.45;color:#17233B;margin:0}
.sp-flash .sp-tap{font-size:14px;color:#64748b;margin-top:14px}
.sp-star{border:1px solid rgba(200,30,58,.25);background:#fff;color:#c81e3a;border-radius:99px;padding:10px 18px;font-weight:700;font-size:15px;cursor:pointer}
.sp-star:hover,.sp-star:focus,.sp-star:focus-visible,.sp-star:active{background:#fdecef!important;color:#c81e3a!important}
.sp-star.on{background:linear-gradient(135deg,#d8b464,#fb923c)!important;color:#3b1d00!important}
/* Your state */
.sp-select{width:100%;max-width:420px;display:block;margin:0 auto;padding:13px 16px;border-radius:99px;border:1px solid rgba(200,30,58,.25);background:#fff;color:#17233B;font-size:17px;font-weight:600}
.sp-state-panel{margin-top:16px}
.sp-state-panel h3{margin:0 0 8px;font-size:clamp(20px,3.4vw,26px);text-align:center;color:#17233B}
.sp-state-panel .sp-facts{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.sp-state-panel .sp-facts li{padding:12px 14px;border-radius:14px;background:#faf1e2;border:1px solid rgba(200,30,58,.12);font-size:clamp(15px,2.2vw,18px);line-height:1.4;color:#17233B}
.sp-state-panel .sp-facts li a{color:#c81e3a;font-weight:700}
.sp-review{margin-top:14px}
.sp-review h3{margin:0 0 10px;font-size:19px;color:#17233B}
.sp-review .sp-miss{padding:10px 14px;border-radius:12px;background:#fff1f2;border:1px solid rgba(200,30,58,.15);margin-bottom:8px;font-size:15px;line-height:1.45;color:#17233B;text-align:left}
.sp-review .sp-miss b{color:#c81e3a}

/* FULL WIDTH: neutralize every inner max-width so the tool stretches edge to edge */
#sp-wrap .sp-hero p.sub,#sp-wrap .sp-ver-note,#sp-wrap .sp-disc,#sp-wrap .sp-res p,#sp-wrap .sp-qnote{max-width:100%!important}

/* Sports Teams: timer bar, big question, famous banner */
.sp-timer{height:12px;border-radius:99px;background:#f1e4e6;overflow:hidden;margin:10px 0 4px}
.sp-timer i{display:block;height:100%;border-radius:99px;transition:width .1s linear}
.sp-t-green{background:#22c55e}
.sp-t-yellow{background:#eab308}
.sp-t-red{background:#e11d48}
.sp-q{text-align:center;font-size:clamp(34px,7vw,58px);font-weight:800;letter-spacing:.06em;color:#17233B;margin:12px 0 2px;min-height:1.2em;word-break:break-word}
.sp-qnote{text-align:center;color:#64748b;font-size:clamp(15px,2.6vw,18px);margin:0 0 12px;font-weight:600}
.sp-trap{margin:12px auto 0;max-width:640px;padding:12px 16px;border-radius:14px;background:#fff7ed;border:1px solid rgba(217,119,6,.35);color:#7c2d12;font-weight:700;font-size:clamp(14px,2.4vw,17px);text-align:center;line-height:1.45}
.sp-opt.dis{pointer-events:none}
.sp-share{margin:18px auto 0;max-width:560px;padding:18px 20px;border-radius:18px;background:#faf1e2;border:1px solid rgba(200,30,58,.15);text-align:center}
.sp-share p{margin:0;font-size:clamp(16px,2.6vw,19px);line-height:1.5;color:#17233B;font-weight:600}
.sp-sharebtns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:16px 0 0}
.sp-sharebtn{display:inline-block;padding:11px 22px;border-radius:99px;background:#fff;color:#c81e3a!important;border:1px solid rgba(200,30,58,.3);font-weight:700;text-decoration:none!important;font-size:16px;cursor:pointer}
.sp-sharebtn:hover,.sp-sharebtn:focus,.sp-sharebtn:focus-visible,.sp-sharebtn:active{background:#fdecef!important;color:#c81e3a!important}
.sp-link{font-size:15px;color:#64748b;word-break:break-all;margin:12px 0 0}
.sp-email-form{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:16px 0 0}
.sp-email-form input[type=email]{flex:1;min-width:220px;max-width:340px;padding:13px 18px;border-radius:99px;border:1px solid rgba(200,30,58,.25);background:#fff;color:#17233B;font-size:16px}
.sp-email-form input[type=email]::placeholder{color:#64748b}
.sp-rank{display:inline-block;padding:10px 20px;border-radius:99px;background:linear-gradient(135deg,#d8b464,#fb923c);color:#3b1d00!important;font-weight:700;animation:sppop .7s .6s both;font-size:clamp(17px,2.8vw,21px)}
