/* The Stuck Test overlay (see stucktest.js). Uses brand.css tokens. */
html.st-open{overflow:hidden}
.st{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;color:var(--bone,#f4f0e9);
  background:radial-gradient(90% 70% at 50% 110%,rgba(227,18,43,.28),transparent 60%),radial-gradient(60% 50% at 50% -10%,rgba(227,18,43,.10),transparent 70%),var(--ink,#0a0a0b);
  opacity:0;transition:opacity .25s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}
.st.on{opacity:1}
.st::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;background-image:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 3px)}
.st-top{display:flex;align-items:center;gap:18px;padding:18px clamp(16px,4vw,40px);position:sticky;top:0;background:linear-gradient(var(--ink,#0a0a0b) 60%,transparent);z-index:2}
.st-brand{font:800 11px/1 var(--sans,Inter,sans-serif);letter-spacing:.3em;text-transform:uppercase;color:var(--red,#e3122b);white-space:nowrap}
.st-prog{flex:1;display:flex;gap:6px;max-width:420px;margin-left:auto}
.st-prog i{flex:1;height:4px;border-radius:2px;background:#2a2a2e;transition:background .3s}
.st-prog i.on{background:var(--red,#e3122b)}.st-prog i.cur{background:linear-gradient(90deg,var(--red,#e3122b) 40%,#2a2a2e 40%)}
.st-x{background:none;border:1px solid #34343a;color:inherit;width:40px;height:40px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;flex:none}
.st-x:hover{border-color:var(--red,#e3122b)}
.st-body{flex:1;display:flex;align-items:center;justify-content:center;padding:8px clamp(16px,4vw,40px) 24px;transition:opacity .18s,transform .18s}
.st-body.st-out{opacity:0;transform:translateY(-10px)}.st-body.st-in{animation:stIn .38s cubic-bezier(.2,.8,.2,1)}
@keyframes stIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.st-foot{text-align:center;font-size:12.5px;color:var(--mute,#8f8b85);padding:0 16px 16px}
.st-k{font:800 11.5px/1.2 var(--sans,Inter,sans-serif);letter-spacing:.24em;text-transform:uppercase;color:var(--red,#e3122b)}
.st-h{font:400 clamp(36px,6.4vw,76px)/.98 var(--display,Anton,Impact,sans-serif);text-transform:uppercase;margin:14px 0 26px;outline:none;letter-spacing:.005em}
.st-h i{font:italic 700 .86em/1 "Playfair Display",Georgia,serif;text-transform:none;color:var(--red,#e3122b)}
.st-q{width:100%;max-width:760px}
.st-as{display:grid;gap:10px}
.st-a{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:18px 20px;border:1px solid #2c2c31;background:rgba(255,255,255,.025);color:inherit;border-radius:4px;
  font:500 clamp(16px,2vw,19px)/1.35 var(--sans,Inter,sans-serif);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.st-a b{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid #3a3a40;border-radius:3px;font-size:13px;color:var(--mute,#8f8b85)}
.st-a:hover,.st-a:focus-visible{border-color:var(--red,#e3122b);background:rgba(227,18,43,.08);outline:none;transform:translateX(4px)}
.st-a:hover b{border-color:var(--red,#e3122b);color:var(--bone,#f4f0e9)}
.st-a.pick{background:var(--red,#e3122b);border-color:var(--red,#e3122b);color:#fff;transform:scale(.99);box-shadow:0 10px 26px -10px rgba(227,18,43,.9)}
.st-a.pick b{background:#fff;color:var(--red,#e3122b);border-color:#fff}
.st-back{margin-top:18px;background:none;border:0;color:var(--mute,#8f8b85);font:600 14px var(--sans,Inter,sans-serif);cursor:pointer;padding:6px 0}
.st-back:hover{color:var(--bone,#f4f0e9)}
.st-sub{margin-top:18px;color:var(--mute,#8f8b85);font-size:14.5px}
/* result */
.st-res{width:100%;max-width:1120px;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:start}
.st-res .st-h{font-size:clamp(34px,4.6vw,60px);margin-bottom:6px}
.st-radar{width:100%;max-width:360px;display:block;margin:4px auto 10px;overflow:visible}
.st-ring{fill:none;stroke:#2a2a2e;stroke-width:1}.st-ax{stroke:#2a2a2e;stroke-width:1}
.st-shape{fill:rgba(227,18,43,.22);stroke:var(--red,#e3122b);stroke-width:2.5;stroke-linejoin:round;transform-origin:150px 150px;animation:stGrow .9s cubic-bezier(.2,.8,.2,1) .15s both}
@keyframes stGrow{from{transform:scale(0);opacity:0}to{transform:none;opacity:1}}
.st-dot{fill:var(--bone,#f4f0e9);animation:stIn .5s .7s both}.st-dot.weak{fill:var(--red,#e3122b);stroke:#fff;stroke-width:2;animation:stPulse 1.6s .9s infinite}
@keyframes stPulse{50%{r:10}}
.st-lb{font:800 10.5px var(--sans,Inter,sans-serif);letter-spacing:.16em;fill:var(--mute,#8f8b85)}.st-lb.weak{fill:var(--red,#e3122b)}
.st-diag{color:var(--bone-2,#d2ccc2);font-size:16.5px;line-height:1.6}.st-diag b{color:var(--bone,#f4f0e9)}
.st-move{margin-top:18px;border-left:3px solid var(--red,#e3122b);padding:12px 18px;background:rgba(227,18,43,.07)}
.st-move span{font:800 11px var(--sans,Inter,sans-serif);letter-spacing:.24em;text-transform:uppercase;color:var(--red,#e3122b)}
.st-move p{margin-top:6px;font-size:16px;line-height:1.55}
.st-form{background:var(--paper,#f4f0e9);color:var(--text-on-paper,#141414);padding:clamp(22px,3vw,34px);border-radius:4px;box-shadow:0 30px 80px -30px rgba(227,18,43,.55),0 0 0 1px rgba(255,255,255,.06);position:sticky;top:84px}
.st-form h3{font:400 clamp(28px,3vw,38px)/1 var(--display,Anton,Impact,sans-serif);text-transform:uppercase;margin:10px 0 8px}
.st-form h3 i{font:italic 700 .82em "Playfair Display",Georgia,serif;text-transform:none;color:var(--red-deep,#b80f23);display:block;margin-top:4px}
.st-fsub{font-size:14.5px;color:var(--mute-on-paper,#5c574f);margin-bottom:14px}
.st-f{margin-top:12px}.st-f label{display:block;font:700 13px var(--sans,Inter,sans-serif);margin-bottom:5px}.st-f label span{color:var(--red-deep,#b80f23)}.st-f small{font-weight:500;color:var(--mute-on-paper,#5c574f)}
.st-f input{width:100%;padding:13px 14px;border:1.5px solid #cfc8bb;border-radius:3px;font:500 16px var(--sans,Inter,sans-serif);background:#fff;color:#141414}
.st-f input:focus{outline:none;border-color:#141414;box-shadow:0 0 0 3px rgba(227,18,43,.18)}
.st-f.bad input{border-color:var(--red,#e3122b);background:#fff5f6}.st-err{color:var(--red-deep,#b80f23);font:600 13px var(--sans,Inter,sans-serif);margin-top:5px}
.st-sum:not(:empty){background:#fde8eb;color:var(--red-deep,#b80f23);font:700 14px var(--sans,Inter,sans-serif);padding:10px 12px;border-radius:3px;margin-bottom:6px;outline:none}
.st-cb{display:flex;gap:10px;margin-top:14px;font-size:12px;line-height:1.5;color:var(--mute-on-paper,#5c574f)}.st-cb input{margin-top:3px;flex:none;width:16px;height:16px}.st-cb a{color:inherit}
.st-go{margin-top:16px;width:100%;padding:17px;border:0;border-radius:3px;background:var(--red,#e3122b);color:#fff;font:800 14px var(--sans,Inter,sans-serif);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 30px -10px rgba(227,18,43,.8);transition:background .15s,transform .15s}
.st-go:hover{background:var(--red-2,#ff2a43);transform:translateY(-1px)}.st-go:disabled{opacity:.7;cursor:wait}
.st-fine{margin-top:10px;font-size:12.5px;color:var(--mute-on-paper,#5c574f);text-align:center}
.st-redo{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
@media (max-width:860px){.st-res{grid-template-columns:1fr}.st-form{position:static}.st-top{padding:14px 16px}.st-brand{display:none}.st-prog{margin-left:0}.st-a{padding:15px 14px}.st-body{align-items:flex-start;padding-top:18px}}
@media (prefers-reduced-motion:reduce){.st,.st-body,.st-a,.st-shape,.st-dot{transition:none!important;animation:none!important}}
/* hero hook: the launch button gets a live pulse ring */
.btn[data-stuck-test]{position:relative}
.btn[data-stuck-test]::after{content:"";position:absolute;inset:-4px;border:2px solid var(--red,#e3122b);border-radius:inherit;opacity:0;animation:stBtn 2.4s ease-out 1.2s infinite;pointer-events:none}
@keyframes stBtn{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.12,1.35)}}
@media (prefers-reduced-motion:reduce){.btn[data-stuck-test]::after{animation:none}}
/* while the test is open, nothing else floats over it */
html.st-open .us-tab,html.st-open .us-slide,html.st-open .us-coach,html.st-open .bb-fab,html.st-open .bb-tease,html.st-open .mdock{display:none!important}
@media (max-width:860px){.st-top{background:var(--ink,#0a0a0b);box-shadow:0 1px 0 #1f1f23}}
.st-call{display:inline-block;margin-top:18px;font:800 13px var(--sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--bone,#f4f0e9);text-decoration:none;border-bottom:2px solid var(--red,#e3122b);padding-bottom:4px}
.st-call:hover{color:var(--red-2,#ff2a43)}
.btn.st-again::after{animation:none}
/* inline launcher (mrunstuck hero and anywhere a full button is too loud) */
.st-launch{display:flex;align-items:center;gap:14px;margin-top:26px;max-width:520px;padding:14px 16px;border:1px solid rgba(227,18,43,.45);border-radius:4px;background:rgba(227,18,43,.07);text-decoration:none;color:var(--bone,#f4f0e9);transition:border-color .2s,background .2s;cursor:pointer}
.st-launch:hover{border-color:var(--red,#e3122b);background:rgba(227,18,43,.14)}
.st-launch .st-ic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--red,#e3122b);font:400 18px var(--display,Anton,sans-serif);box-shadow:0 0 0 0 rgba(227,18,43,.6);animation:stRing 2.4s infinite}
@keyframes stRing{70%{box-shadow:0 0 0 12px rgba(227,18,43,0)}100%{box-shadow:0 0 0 0 rgba(227,18,43,0)}}
.st-launch b{display:block;font:800 13px var(--sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.st-launch small{display:block;margin-top:3px;font-size:13.5px;color:var(--bone-2,#d2ccc2)}
@media (prefers-reduced-motion:reduce){.st-launch .st-ic{animation:none}}
.st[hidden]{display:none!important}
