/* Oct 27, 2026: incident Rolodex. External file only (CSP-safe). Themes: .th-ohmy (K3 blue/violet/pink), .th-xo (xotavo).
   Default (no JS) = compact flat scroller (Tavo hidden). .rx-on (rolodex.js) = stacked Rolodex; reduced motion still stacks, without auto-spin/swipe. */
.rolo{--bg:#1B3C8C;--bg2:#12286a;--ink:#fff;--mut:#c9d6f5;--a1:#7C5CE0;--a2:#F472B6;--st:#ffc2e0;--card:#2a57b8;--card2:#1d4297;--rim:#0d2260;
 background:linear-gradient(160deg,var(--bg),var(--bg2));color:var(--ink);border-radius:18px;padding:18px 18px 12px;margin:18px auto 22px;overflow:hidden}
.rolo.th-xo{--bg:#0a0a0a;--bg2:#0e1a20;--mut:#9FB0BA;--a1:#00C2FF;--a2:#00C2FF;--st:#7dd87d;--card:#1a2a32;--card2:#0f181d;--rim:#00C2FF;border-radius:0;margin:0;border-bottom:1px solid #113844;padding:22px 1.5rem 14px}
.rolo *{box-sizing:border-box}
.rx-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:1200px;margin:0 auto 8px}
.rolo .rx-h{font-size:1.1rem;font-weight:700;margin:0;color:var(--ink);line-height:1.3}.th-xo .rx-h{text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}
.rx-live{color:var(--a2)}.th-xo .rx-live{color:#ff3b3b}.rx-asof{color:var(--mut);font-size:.85rem}
.rx-ctl{margin-left:auto;display:inline-flex;border:1px solid var(--a1);border-radius:999px;overflow:hidden}
.rx-ctl[hidden]{display:none}.rx-ctl[hidden]+.rx-all{margin-left:auto}
.rx-btn{font:inherit;font-size:.85rem;font-weight:600;color:var(--ink);background:transparent;border:0;padding:6px 14px;cursor:pointer;touch-action:manipulation;min-height:36px}
.rx-btn[aria-pressed="true"]{background:var(--a1);color:#fff}.th-xo .rx-btn[aria-pressed="true"]{color:#0a0a0a}
.rolo .rx-all{font-size:.85rem;color:var(--ink);border:1px solid var(--a1);padding:5px 14px;border-radius:999px;text-decoration:none}
.rx-btn:focus-visible,.rolo .rx-all:focus-visible{outline:3px solid var(--a2);outline-offset:2px}
.rolo ul{list-style:none;margin:0;padding:0}
/* flat row (no JS / before init) — compact scroller, no reserved Tavo shelf */
.rx-stage{position:relative}
.rx-stack{display:flex;gap:12px;overflow-x:auto;padding:4px 0 10px;max-width:1200px;margin:0 auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.rx-card{position:relative;flex:0 0 min(270px,78vw);min-height:150px;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,var(--card),var(--card2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.rolo .rx-card a{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px 18px 18px;color:var(--ink);text-decoration:none}
.rolo .rx-card a:focus-visible{outline:3px solid var(--a2);outline-offset:-3px}
.rolo .rx-card a:hover .rx-t{text-decoration:underline}
.rx-meta{display:flex;gap:8px;font-size:.78rem;color:var(--mut);flex-wrap:wrap}
.rx-ty{background:var(--a1);color:#fff;padding:1px 8px;border-radius:999px}.th-xo .rx-ty{background:transparent;border:1px solid var(--a1);color:var(--a1)}
.rolo .rx-t{font-weight:700;line-height:1.28;font-size:1rem;color:var(--ink);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rolo .rx-st{font-size:.78rem;color:var(--st);margin-top:auto}
.rx-tavo{display:none}
.rx-foot{display:flex;justify-content:center;gap:6px 14px;align-items:center;flex-wrap:wrap;color:var(--mut);font-size:.78rem;margin:4px 0 0;text-align:center}
.rx-foot[hidden]{display:none}.rx-count{white-space:nowrap;font-weight:600;color:var(--ink)}
/* stacked Rolodex */
.rx-on .rx-stage{position:relative;height:270px;perspective:900px;perspective-origin:50% 0}
.rx-on .rx-stage::after{content:"";position:absolute;left:50%;bottom:18px;width:min(560px,70%);height:16px;transform:translateX(-50%);border-radius:10px;
 background:linear-gradient(180deg,rgba(255,255,255,.25),var(--rim) 60%,rgba(0,0,0,.5));box-shadow:0 6px 14px rgba(0,0,0,.4);z-index:7}
.rx-on .rx-stack{display:block;overflow:visible;position:absolute;left:50%;bottom:26px;width:min(680px,92%);height:170px;transform:translateX(-50%);transform-style:preserve-3d;padding:0;margin:0}
.rx-on .rx-card{position:absolute;inset:0;transform-origin:50% 100%;opacity:0;min-height:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 -2px 8px rgba(0,0,0,.35);
 transition:transform .9s cubic-bezier(.45,.05,.3,1),opacity .9s,filter .9s;backface-visibility:hidden}
.rx-on .rx-card::before,.rx-on .rx-card::after{content:"";position:absolute;bottom:4px;width:16px;height:9px;border-radius:5px;background:rgba(0,0,0,.45)}
.rx-on .rx-card::before{left:30%}.rx-on .rx-card::after{right:30%}
.rx-on .rx-card a{padding:14px 22px 20px}.rx-on .rx-t{font-size:1.08rem;-webkit-line-clamp:3}
.rx-on .rx-card.p0{opacity:1;transform:none;z-index:5}
.rx-on .rx-card.p1{opacity:1;transform:translateY(-16px) translateZ(-30px) scale(.965);z-index:4;filter:brightness(.8)}
.rx-on .rx-card.p2{opacity:1;transform:translateY(-30px) translateZ(-60px) scale(.93);z-index:3;filter:brightness(.65)}
.rx-on .rx-card.p3{opacity:.9;transform:translateY(-42px) translateZ(-90px) scale(.895);z-index:2;filter:brightness(.5)}
.rx-on .rx-card.out{opacity:0;transform:rotateX(-110deg);z-index:6;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .9s cubic-bezier(.5,0,.6,1),opacity .25s .7s,filter .9s}
/* Tavo (xotavo only): head beside the ring, paw reaches over the front card and swipes it forward on each flip */
.rx-on .rx-tavo{display:block;position:absolute;left:50%;bottom:6px;width:min(680px,92%);height:250px;transform:translateX(-50%);pointer-events:none;z-index:8}
.rx-tavo-head{position:absolute;right:-118px;bottom:0;width:96px;height:96px;border-radius:50%;border:2px solid #00C2FF;box-shadow:0 0 18px rgba(0,194,255,.35);object-fit:cover}
.rx-paw{position:absolute;right:-70px;top:-6px;width:150px;height:190px;transform-origin:85% 95%;transform:rotate(8deg);transition:transform .35s ease}
.rx-swipe .rx-paw{animation:rx-swipe 1.1s ease-in-out}
@keyframes rx-swipe{0%{transform:rotate(8deg)}25%{transform:rotate(-14deg) translate(-26px,-22px)}55%{transform:rotate(16deg) translate(-40px,58px)}100%{transform:rotate(8deg)}}
.rx-swipe .rx-tavo-head{animation:rx-nod 1.1s ease-in-out}@keyframes rx-nod{40%{transform:translateY(-6px) rotate(-6deg)}}
@media (max-width:900px){.rx-tavo-head{right:-6px;bottom:-4px;width:64px;height:64px}.rx-paw{right:-10px;top:10px;width:100px;height:128px}}
@media (max-width:640px){.rolo{border-radius:0;padding:14px 10px 10px}.rx-ctl{margin-left:0}
 .rx-on .rx-stage{height:300px}.rx-on .rx-stack{height:205px;width:94%}.rx-on .rx-t{font-size:.95rem;-webkit-line-clamp:4}
 .rx-foot{flex-direction:column}.th-xo.rx-on .rx-stack{width:84%;left:46%}}
@media (prefers-reduced-motion:reduce){
 /* Do not disable Tavo (.tf*) here — xotavo appends tavo-final.css and wants the paw swipe. */
 .rx-paw,.rx-tavo-head{animation:none!important;transition:none!important}
}
/* tracker rows targeted by card links */
.inc tr[id]{scroll-margin-top:120px}
.inc tr.is-target,.inc tr:target{outline:3px solid #7C5CE0;outline-offset:-3px;background:#F1ECFF}
