/* =============================================================================
   Shelf Court: a daytime TV studio. The judge's bench at the back, two
   podiums, a jury box of residents, and a ghost audience in the foreground.
   Characters are SVG puppets whose named parts (.cc-eye, .cc-mouth, .cc-sweat)
   animate from here. Ambient motion uses steps() so it stays cheap; big
   moments are short one-shot animations inside the stage, which clips them.
   ============================================================================= */
.sheet-court{max-width:680px;overflow-x:hidden;
  background:radial-gradient(120% 50% at 50% 0%,rgba(163,44,60,.24),transparent 70%),linear-gradient(180deg,var(--night-3),var(--night-2))}
.sheet-court .sheet-head{margin-bottom:12px;padding-bottom:10px}
.sheet-court .sheet-head .eyebrow{color:#f2c94c}
.sheet-court .mh-glyph{display:block;width:100%;height:100%}
.cc-portrait{display:block;width:100%;height:100%;overflow:visible}

/* ---- puppet parts ---- */
.cc-mouth,.cc-eye,.cc-wing,.cc-tear,.cc-sweat{transform-box:fill-box;transform-origin:center}
.cc-eye{animation:sc-blink 4.4s steps(1) infinite}
.cc-bob{animation:sc-bob 2.8s steps(4) infinite}
.cc-sweat{opacity:0}
.cc-wing-l{transform-origin:right center;animation:sc-flap .7s steps(2,jump-none) infinite alternate}
.cc-wing-r{transform-origin:left center;animation:sc-flap .7s steps(2,jump-none) infinite alternate}
.cc-glow{animation:sc-glow 3s steps(3) infinite alternate}
.cc-tear{animation:sc-tear 1.8s steps(6) infinite}
.cc-tear-2{animation-delay:.9s}
.talking .cc-mouth{animation:sc-talk .2s steps(2,jump-none) infinite}
.sc-rant .cc-sweat,.sc-hit .cc-sweat{opacity:1}
@keyframes sc-blink{0%,93%{transform:scaleY(1)}94%{transform:scaleY(.12)}97%{transform:scaleY(1)}}
@keyframes sc-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes sc-talk{from{transform:scaleY(1)}to{transform:scaleY(.3)}}
@keyframes sc-flap{from{transform:scaleX(1)}to{transform:scaleX(.82)}}
@keyframes sc-glow{from{opacity:.14}to{opacity:.3}}
@keyframes sc-tear{0%{transform:translateY(0);opacity:1}100%{transform:translateY(16px);opacity:0}}
@keyframes sc-hop{from{transform:translateY(0)}to{transform:translateY(-16%)}}
@keyframes sc-pop{from{transform:scale(.2);opacity:0}to{transform:none;opacity:1}}

/* ---- the lobby ---- */
.sc-titlecard{position:relative;display:grid;grid-template-columns:1fr 104px;align-items:center;gap:12px;padding:16px 18px;margin-bottom:14px;border-radius:14px;overflow:hidden;
  border:3px solid #1a0a11;background:radial-gradient(90% 120% at 20% 0%,#5a1626,#200a12 70%);box-shadow:inset 0 0 0 2px rgba(242,201,76,.35),0 8px 0 rgba(0,0,0,.35)}
.sc-titlecard::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 2px,transparent 2px 4px);pointer-events:none}
.sc-logo small{display:block;font:800 10.5px var(--body);letter-spacing:.2em;text-transform:uppercase;color:#f2c94c}
.sc-logo b{display:block;font:400 clamp(32px,8vw,48px)/1 var(--display);letter-spacing:.02em;color:#fff4dc;text-shadow:0 0 12px rgba(255,120,120,.55),3px 3px 0 #a32c3c}
.sc-logo em{display:block;margin-top:6px;font:italic 15px var(--display);color:#f2d9b0}
.sc-titlecard-judge{width:104px;aspect-ratio:120/140}
.sc-adventure{margin:0 0 12px;padding:8px 12px;border-radius:10px;border:1px dashed #f2c94c;font-size:13.5px}
.sc-kicker{display:block;font:800 10.5px var(--body);letter-spacing:.16em;text-transform:uppercase;color:#f2c94c}
.sc-tonight{padding:14px;border-radius:14px;border:1px solid var(--hair-lit);background:var(--glass)}
.sc-tonight h3{margin:2px 0 10px;font:400 24px var(--display)}
.sc-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px}
.sc-vs figure{margin:0;display:grid;justify-items:center;gap:4px}
.sc-vs-art{display:flex;align-items:flex-end;justify-content:center;height:96px;width:100%}
.sc-vs-art .sprite{width:100%;height:100%;--pet-h:92px}
.sc-vs-art .cc-portrait{width:auto;height:100%}
.sc-vs figcaption{text-align:center;font:400 17px var(--display)}
.sc-vs figcaption small{display:block;font:800 10px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.sc-vs>b{font:italic 400 30px var(--display);color:#ff8a96;align-self:center}
.sc-claim{margin:12px 0 10px;font-size:15px;line-height:1.45}
.sc-claim small{color:var(--ink-3)}
.sc-cast{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.sc-cast label{display:grid;gap:4px;font-size:12px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.sc-cast select{min-width:0}
.sc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sc-actions .btn{flex:1 1 auto;justify-content:center}
.sc-rules{margin:14px 0 6px;padding-left:20px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.sc-rules b{color:var(--ink)}
.sc-guide-title{margin:16px 0 8px;font:400 20px var(--display)}
.sc-guide{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.sc-ep{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--hair-lit);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}
.sc-ep:hover,.sc-ep:focus-visible{border-color:#f2c94c}
.sc-ep.on{border-color:#f2c94c;box-shadow:0 0 0 2px rgba(242,201,76,.35)}
.sc-ep-no{font:800 10px var(--body);letter-spacing:.14em;text-transform:uppercase;color:#ff8a96}
.sc-ep b{font:400 16px/1.2 var(--display)}
.sc-ep-stars{font-size:13px;color:#4a3d52}
.sc-ep-stars .on,.sc-wrap-stars .on{color:#f2c94c}
.sc-ep-stars i{font-style:normal}
.sc-ep-stars em{font-size:11.5px;color:var(--ink-3)}

/* ---- the studio ---- */
.sc-stage{position:relative;height:clamp(262px,66vw,360px);height:clamp(220px,min(66vw,42dvh),360px);border-radius:14px 14px 0 0;overflow:hidden;isolation:isolate;cursor:pointer;
  -webkit-user-select:none;user-select:none;border:2px solid #1a0a11;border-bottom:0}
.sc-set{position:absolute;inset:0;z-index:0;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,.2) 0 2px,transparent 2px 44px) 0 0/100% 58% no-repeat,
    linear-gradient(180deg,#3b1a28 0%,#4b2233 58%,#5c3a47 58.4%,#2d1a22 100%)}
.sc-curtain{position:absolute;top:0;height:64%;width:12%;background:repeating-linear-gradient(90deg,#8a1a2c 0 10px,#6b1422 10px 20px);border-radius:0 0 40% 40%;box-shadow:inset 0 -8px 0 #f2c94c}
.sc-curtain.l{left:0;border-radius:0 0 60% 0}
.sc-curtain.r{right:0;border-radius:0 0 0 60%}
.sc-beam{position:absolute;top:-6%;width:28%;height:100%;background:linear-gradient(180deg,rgba(255,232,178,.2),rgba(255,232,178,0) 85%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)}
.sc-beam.l{left:14%;transform:rotate(-14deg)}
.sc-beam.r{right:14%;transform:rotate(14deg)}
.sc-applause,.sc-onair{position:absolute;top:3%;z-index:8;padding:2px 7px;border-radius:4px;border:2px solid #1a0a11;font:900 clamp(8px,1.9vw,11px)/1.3 var(--body);letter-spacing:.14em;background:#3a1a22;color:#6b3a44}
.sc-applause{left:3%}
.sc-onair{left:calc(3% + clamp(74px,18vw,100px));background:#b3142a;color:#ffe3e3;animation:sc-onair 1.6s steps(1) infinite}
@keyframes sc-onair{0%,70%{opacity:1}71%,100%{opacity:.55}}
.sc-applauding .sc-applause{background:#ff3b4e;color:#fff;box-shadow:0 0 14px #ff3b4e;animation:sc-onair .4s steps(1) infinite}
.sc-bug{position:absolute;top:3%;right:3%;z-index:8;display:flex;align-items:center;gap:5px;padding:3px 8px;border-radius:4px;background:rgba(10,6,14,.75);font:800 clamp(8px,1.9vw,10.5px) var(--body);letter-spacing:.12em;color:#fff}
.sc-bug b{font:400 clamp(10px,2.4vw,13px) var(--display);letter-spacing:.04em;color:#f2c94c}
.sc-bug i{width:7px;height:7px;border-radius:50%;background:#ff3b4e;animation:sc-onair 1s steps(1) infinite}

.sc-actor{position:absolute;transition:filter .18s}
/* The judge sits behind his bench: the bench top lines up with his own desk
   (y = 114 of 140 in his portrait), so his hands, block and gavel rest on it. */
.sc-judge{left:50%;top:2%;height:44%;aspect-ratio:120/140;transform:translateX(-50%);z-index:2}
.sc-bench{position:absolute;left:50%;top:38%;height:15%;width:36%;transform:translateX(-50%);z-index:3;display:grid;place-items:center;border:3px solid #1a0a11;border-radius:4px 4px 0 0;
  background:linear-gradient(180deg,#8a5a44 0 16%,#5a3326 16% 22%,#6b3f2f 22%);box-shadow:inset 0 -10px 16px -8px rgba(0,0,0,.45)}
.sc-bench span{width:20%;max-width:30px;color:#f2c94c}
.sc-bailiff{left:69%;top:13%;height:39%;aspect-ratio:120/140;z-index:2}
.sc-bailiff.chomping{animation:sc-wobble .2s steps(2,jump-none) infinite alternate}
@keyframes sc-wobble{from{transform:translateX(-2px) rotate(-2deg)}to{transform:translateX(2px) rotate(2deg)}}

/* ---- Judge Mortis ----
   Loops use steps() so the SVG repaints a few times a second, not sixty.
   Reactions are classes on the actor: .banging swings the gavel, .jm-slip
   lets the wig slide and shoves it back, .jm-surprise, .jm-irked and
   .jm-sigh are his three moods, .jm-nogavel is the cat's doing. */
.cc-judge :is(.jm-sway,.jm-body,.jm-head,.jm-jaw,.jm-eyes,.jm-pupil,.jm-lid,.jm-brow,.jm-wig,.jm-arm,.jm-gavel,.jm-flash,.jm-block,.jm-hand,.jm-f,.jm-push){transform-box:view-box}
.cc-judge .jm-sway{transform-origin:60px 140px;animation:jm-sway 7s steps(14) infinite}
.cc-judge .jm-body,.cc-judge .jm-head{transform-origin:60px 120px}
.cc-judge .jm-jaw{transform-origin:60px 68px}
.cc-judge .jm-pupil-l{transform-origin:49px 55px}
.cc-judge .jm-pupil-r{transform-origin:71px 55px}
.cc-judge .jm-eyes{animation:jm-glance 9s steps(1) infinite}
.cc-judge .jm-glow{animation:jm-glow 2.8s steps(4) infinite alternate}
.cc-judge .jm-lid{transform-origin:60px 46px;transform:scaleY(0);animation:jm-blink 5.3s steps(1) infinite}
.cc-judge .jm-brow{transition:transform .18s ease-out}
.cc-judge .jm-brow-l{transform-origin:38px 50px}
.cc-judge .jm-brow-r{transform-origin:82px 50px}
.cc-judge .jm-wig{transform-origin:60px 24px}
.cc-judge .jm-arm{transform-origin:31px 116px}
.cc-judge .jm-gavel{transform-origin:26px 98px}
.cc-judge .jm-block{transform-origin:10px 116px}
.cc-judge .jm-flash{transform-origin:10px 106px;opacity:0;transform:scale(.3)}
.cc-judge .jm-f{animation:jm-drum 5.6s steps(1) infinite}
.cc-judge .jm-f2{animation-delay:.14s}
.cc-judge .jm-f3{animation-delay:.28s}
.cc-judge .jm-push{opacity:0;transform-origin:96px 90px}
@keyframes jm-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.1deg)}75%{transform:rotate(1.1deg)}}
@keyframes jm-glance{0%,34%{transform:none}36%,50%{transform:translate(-2px,.6px)}52%,70%{transform:none}72%,82%{transform:translate(2.2px,.2px)}84%,100%{transform:none}}
@keyframes jm-glow{from{opacity:.14}to{opacity:.42}}
@keyframes jm-blink{0%,91%{transform:scaleY(0)}92%{transform:scaleY(.6)}93%,95%{transform:scaleY(1)}96%{transform:scaleY(.4)}97%,100%{transform:scaleY(0)}}
@keyframes jm-drum{0%,70%,74%,100%{transform:none}72%{transform:translate(-.6px,-1.8px)}}
/* talking: the jaw drops and snaps shut, and the eyes burn brighter */
.talking .cc-judge .cc-mouth{animation:jm-talk .22s steps(2,jump-none) infinite}
.talking .cc-judge .jm-glow{animation:none;opacity:.55}
@keyframes jm-talk{from{transform:none}to{transform:translateY(5.5px) rotate(-1.5deg)}}
/* the gavel: wind-up, strike on the block at 240ms, recoil */
.banging .cc-judge .jm-arm{animation:jm-swing .9s cubic-bezier(.3,0,.25,1) 1}
.banging .cc-judge .jm-gavel{animation:jm-cock .9s cubic-bezier(.3,0,.25,1) 1}
.banging .cc-judge .jm-block{animation:jm-thud .9s linear 1}
.banging .cc-judge .jm-flash{animation:jm-flash .9s linear 1}
.banging .cc-judge .jm-glow{animation:jm-flare .9s steps(1) 1}
@keyframes jm-swing{0%{transform:none}20%,22%{transform:translateY(-5px) rotate(-14deg)}26.5%{transform:rotate(2deg)}34%{transform:translateY(-1px) rotate(-5deg)}46%{transform:rotate(.6deg)}58%,100%{transform:none}}
@keyframes jm-cock{0%{transform:none}18%,22%{transform:rotate(78deg)}26.5%{transform:rotate(-5deg)}36%{transform:rotate(16deg)}48%{transform:rotate(-2deg)}58%,100%{transform:none}}
@keyframes jm-thud{0%,26%{transform:none}27.5%{transform:scale(1.1,.8)}34%,100%{transform:none}}
@keyframes jm-flash{0%,26%{opacity:0;transform:scale(.3)}27%{opacity:1;transform:scale(1.25)}38%{opacity:.8;transform:scale(1.5) rotate(18deg)}46%,100%{opacity:0;transform:scale(1.6) rotate(24deg)}}
@keyframes jm-flare{0%,26%{opacity:.3}27%,40%{opacity:.9}41%,100%{opacity:.3}}
/* the wig slides off to one side; a bony hand shoves it back */
.jm-slip .cc-judge .jm-wig{animation:jm-slip 2.6s cubic-bezier(.4,0,.3,1) 1}
.jm-slip .cc-judge .jm-push{animation:jm-push 2.6s ease-out 1}
.jm-slip .cc-judge .jm-hand{animation:jm-hand-away 2.6s steps(1) 1}
.jm-slip .cc-judge .jm-eyes{animation:jm-lookup 2.6s steps(1) 1}
@keyframes jm-slip{0%{transform:none}14%{transform:translate(2px,4px) rotate(9deg)}20%,58%{transform:translate(2.4px,5px) rotate(8deg)}72%{transform:translate(-1px,-3px) rotate(-3deg)}80%{transform:translate(0,1px) rotate(1deg)}88%,100%{transform:none}}
@keyframes jm-push{0%,50%{opacity:0;transform:translateY(22px)}56%{opacity:1;transform:translateY(8px)}62%{opacity:1;transform:translate(1px,-1px)}72%{opacity:1;transform:translate(-2px,-8px)}80%{opacity:1;transform:translate(0,4px)}88%,100%{opacity:0;transform:translateY(24px)}}
@keyframes jm-hand-away{0%,52%{opacity:1}53%,86%{opacity:0}87%,100%{opacity:1}}
@keyframes jm-lookup{0%,16%{transform:none}17%,58%{transform:translate(1.6px,-2px)}59%,100%{transform:none}}
/* surprise: the jaw falls open and the wig hops */
.jm-surprise .cc-judge .cc-mouth{animation:jm-gape 1.2s cubic-bezier(.2,.8,.3,1) 1}
.jm-surprise .cc-judge .jm-wig{animation:jm-hop 1.2s cubic-bezier(.2,.8,.3,1) 1}
.jm-surprise .cc-judge .jm-pupil{animation:jm-pin 1.2s steps(1) 1}
@keyframes jm-gape{0%{transform:none}14%,62%{transform:translateY(12px) rotate(3deg)}74%{transform:translateY(2px)}82%{transform:translateY(4px)}100%{transform:none}}
@keyframes jm-hop{0%{transform:none}12%{transform:translateY(-10px) rotate(-3deg)}24%{transform:translateY(1.5px)}32%{transform:translateY(-2px)}40%,100%{transform:none}}
@keyframes jm-pin{0%,70%{transform:scale(.55)}71%,100%{transform:none}}
/* irritation: brow bones come down, pupils narrow to slits */
.jm-irked .cc-judge .jm-brow-l{transform:translateY(2.4px) rotate(15deg)}
.jm-irked .cc-judge .jm-brow-r{transform:translateY(2.4px) rotate(-15deg)}
.jm-irked .cc-judge .jm-pupil{transform:scale(1.15,.4);transition:transform .15s ease-out}
.jm-irked .cc-judge .jm-glow{animation:none;opacity:.5}
/* a sigh: shoulders drop, head sinks, the lights in his sockets dim */
.jm-sigh .cc-judge .jm-body{animation:jm-sigh 1.8s ease-in-out 1}
.jm-sigh .cc-judge .jm-head{animation:jm-sigh-head 1.8s ease-in-out 1}
.jm-sigh .cc-judge .jm-lid{animation:jm-droop 1.8s ease-in-out 1}
@keyframes jm-sigh{0%,100%{transform:none}35%,62%{transform:translateY(4.5px) scaleX(.98)}}
@keyframes jm-sigh-head{0%,100%{transform:none}35%,62%{transform:translateY(3.5px) rotate(-2deg)}}
@keyframes jm-droop{0%,100%{transform:scaleY(0)}30%,66%{transform:scaleY(.5)}}
/* the cat knocks the gavel off the bench */
.jm-nogavel .cc-judge .jm-gavel{animation:jm-knocked .7s cubic-bezier(.5,0,.8,.6) 1 forwards}
@keyframes jm-knocked{0%{transform:none;opacity:1}30%{transform:translate(-6px,-10px) rotate(-60deg);opacity:1}100%{transform:translate(-18px,60px) rotate(-220deg);opacity:0}}

/* ---- Bailiff Rattigan ---- */
.cc-rat :is(.rb-jump,.rb-tail,.rb-ear,.rb-whisk,.rb-look,.rb-teeth,.rb-nose,.rb-cap,.rb-cheeks,.rb-arm,.rb-head){transform-box:view-box}
.cc-rat .rb-jump{transform-origin:60px 140px}
.cc-rat .rb-tail{transform-origin:88px 124px;animation:rb-swish 3.4s steps(8) infinite alternate}
.cc-rat .rb-ear-l{transform-origin:38px 34px;animation:rb-flick-l 7.3s steps(1) infinite}
.cc-rat .rb-ear-r{transform-origin:82px 34px;animation:rb-flick-r 5.9s steps(1) infinite}
.cc-rat .rb-whisk-l{transform-origin:52px 74px;animation:rb-twitch 2.7s steps(1) infinite}
.cc-rat .rb-whisk-r{transform-origin:68px 74px;animation:rb-twitch-r 3.1s steps(1) infinite}
.cc-rat .rb-look{animation:rb-look 8.5s steps(1) infinite}
.cc-rat .rb-nose{transform-origin:60px 77px;animation:rb-sniff 3.3s steps(1) infinite}
.cc-rat .rb-teeth{transform-origin:60px 81px}
.cc-rat .rb-cap{transform-origin:60px 34px;transform:rotate(-5deg)}
.cc-rat .rb-cheeks{transform-origin:60px 67px;transform:scale(.6);opacity:0}
.cc-rat .rb-head{transform-origin:60px 86px}
.cc-rat .rb-arm-salute{transform-origin:30px 88px}
.cc-rat .rb-arm-salute,.cc-rat .rb-arm-chomp{opacity:0}
@keyframes rb-swish{from{transform:rotate(-7deg)}to{transform:rotate(8deg)}}
@keyframes rb-flick-l{0%,88%{transform:none}89%{transform:rotate(-18deg)}91%{transform:rotate(5deg)}93%,100%{transform:none}}
@keyframes rb-flick-r{0%,40%{transform:none}41%{transform:rotate(18deg)}43%{transform:rotate(-5deg)}45%,100%{transform:none}}
@keyframes rb-twitch{0%,78%{transform:none}80%{transform:rotate(-8deg)}83%{transform:rotate(4deg)}86%{transform:rotate(-5deg)}89%,100%{transform:none}}
@keyframes rb-twitch-r{0%,30%{transform:none}32%{transform:rotate(8deg)}35%{transform:rotate(-4deg)}38%{transform:rotate(5deg)}41%,100%{transform:none}}
@keyframes rb-look{0%,40%{transform:none}42%,66%{transform:translateX(-1.8px)}68%,100%{transform:none}}
@keyframes rb-sniff{0%,60%,66%,72%,100%{transform:none}63%,69%{transform:scale(1.12,.92)}}
/* talking and chewing: the incisors chatter */
.talking .cc-rat .cc-mouth{animation:rb-talk .18s steps(2,jump-none) infinite}
.talking .cc-rat .rb-nose{animation:rb-sniff-talk .36s steps(2,jump-none) infinite}
@keyframes rb-talk{from{transform:none}to{transform:translateY(3px)}}
@keyframes rb-sniff-talk{from{transform:none}to{transform:scale(1.08,.94)}}
.chomping .cc-rat .rb-arm-rest{opacity:0}
.chomping .cc-rat .rb-arm-chomp{opacity:1}
.chomping .cc-rat .cc-mouth{animation:rb-chew .14s steps(2,jump-none) infinite}
.chomping .cc-rat .rb-cheeks{opacity:1;animation:rb-puff .28s steps(2,jump-none) infinite}
@keyframes rb-chew{from{transform:none}to{transform:translateY(2.4px) scaleX(.9)}}
@keyframes rb-puff{from{transform:scale(.9)}to{transform:scale(1.08)}}
/* addressed by the bench: a nervous salute, raisin and all */
.rb-salute .cc-rat .rb-arm-rest{opacity:0}
.rb-salute .cc-rat .rb-arm-salute{opacity:1;animation:rb-tremble .1s steps(2,jump-none) infinite}
.rb-salute .cc-rat .rb-jump{transform:translateY(-2px) scaleY(1.03)}
@keyframes rb-tremble{from{transform:rotate(-1.4deg)}to{transform:rotate(1.4deg)}}
/* caught: sweat and flattened ears */
.rb-caught .cc-rat .cc-sweat,.chomping .cc-rat .cc-sweat{opacity:1;animation:rb-drip 1.1s steps(4) infinite}
.rb-caught .cc-rat .rb-ear-l{animation:none;transform:rotate(-22deg)}
.rb-caught .cc-rat .rb-ear-r{animation:none;transform:rotate(22deg)}
@keyframes rb-drip{from{transform:translateY(0)}to{transform:translateY(3px)}}
/* the gavel lands and he leaves the floor */
.rb-jumped .cc-rat .rb-jump{animation:rb-jump .6s cubic-bezier(.2,.9,.3,1) 1}
.rb-jumped .cc-rat .rb-cap{animation:rb-capfly .6s cubic-bezier(.2,.9,.3,1) 1}
.rb-jumped .cc-rat .rb-ear-l{animation:none;transform:rotate(14deg)}
.rb-jumped .cc-rat .rb-ear-r{animation:none;transform:rotate(-14deg)}
@keyframes rb-jump{0%{transform:scaleY(.9)}24%{transform:translateY(-15px) scaleY(1.08)}58%{transform:translateY(0) scaleY(.9)}72%{transform:translateY(-2px)}100%{transform:none}}
@keyframes rb-capfly{0%{transform:rotate(-5deg)}24%{transform:translateY(-9px) rotate(6deg)}58%{transform:translateY(1px) rotate(-8deg)}100%{transform:rotate(-5deg)}}

.sc-jury{position:absolute;left:2%;top:19%;width:23%;z-index:3;padding:3px 4px 5px;border:3px solid #1a0a11;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#4e2c22,#3a1d17)}
.sc-jury-label{display:block;text-align:center;font:800 clamp(7px,1.6vw,9.5px) var(--body);letter-spacing:.2em;text-transform:uppercase;color:#f2c94c}
.sc-seats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.sc-seat{position:relative;aspect-ratio:1;display:flex;align-items:flex-end;justify-content:center;border-radius:4px;background:rgba(0,0,0,.28)}
.sc-seat-art{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%}
.sc-seat-art .sprite{width:100%;height:100%;--pet-h:clamp(20px,5vw,34px)}
.sc-seat-art .cc-portrait{height:100%;width:auto}
.sc-vote{position:absolute;top:-6px;right:-5px;font-size:clamp(10px,2.6vw,14px);font-style:normal;line-height:1;opacity:0}
.sc-seat.agree .sc-vote,.sc-seat.disagree .sc-vote{opacity:1;animation:sc-pop .3s cubic-bezier(.2,1.6,.4,1) 1 both}
.sc-seat.agree{box-shadow:inset 0 0 0 2px #8fe0ca}
.sc-seat.disagree{box-shadow:inset 0 0 0 2px #ff8a96}
.sc-zzz{position:absolute;left:55%;top:-20%;display:none;font:italic 700 clamp(8px,2vw,11px) var(--body);color:#9fd8ff}
.sc-zzz b{font:inherit}
.sc-seat.asleep .sc-zzz{display:block;animation:sc-zzz 1.4s steps(4) infinite}
.sc-seat.asleep .sc-seat-art{transform:rotate(-14deg)}
@keyframes sc-zzz{from{transform:translate(0,4px);opacity:1}to{transform:translate(6px,-10px);opacity:0}}

.sc-podium{bottom:11%;width:23%;height:46%;z-index:4}
.sc-podium.p{left:24%}
.sc-podium.d{right:24%}
.sc-party{position:absolute;left:0;right:0;bottom:30%;height:72%;display:flex;align-items:flex-end;justify-content:center}
.sc-party .sprite{width:100%;height:100%;--pet-h:clamp(58px,15vw,104px)}
.sc-party .cc-portrait{height:100%;width:auto}
.sc-lectern{position:absolute;left:6%;right:6%;bottom:0;height:34%;display:flex;flex-direction:column;justify-content:center;padding:0 4px;text-align:center;border:3px solid #1a0a11;border-bottom:0;border-radius:6px 6px 0 0;
  background:linear-gradient(180deg,#8a5a44 0 14%,#5a3326 14% 20%,#6b3f2f 20%);color:#fff4dc;font:400 clamp(10px,2.4vw,14px)/1.1 var(--display)}
.sc-lectern>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sc-lectern small{display:block;font:800 clamp(6.5px,1.5vw,9px) var(--body);letter-spacing:.16em;text-transform:uppercase;color:#f2c94c}
.sc-podium.sc-rant .sc-party{animation:sc-rant .22s steps(2,jump-none) infinite alternate}
@keyframes sc-rant{from{transform:translateY(-10%) rotate(-5deg) scale(1.08)}to{transform:translateY(-16%) rotate(5deg) scale(1.12)}}
.sc-podium.sc-hit .sc-party{animation:sc-hit .5s ease-out 1}
@keyframes sc-hit{0%,100%{transform:none}20%{transform:translateX(-8%) rotate(-10deg)}50%{transform:translateX(5%) rotate(6deg)}}
.sc-witness{left:50%;bottom:12%;height:40%;aspect-ratio:120/150;transform:translateX(-50%);z-index:5}
.sc-witness-art{position:absolute;inset:0 0 16% 0}
.sc-witness-tag{position:absolute;left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap;padding:1px 7px;border-radius:4px;background:#f2c94c;color:#1a0a11;font:800 clamp(7px,1.6vw,9.5px) var(--body);letter-spacing:.1em;text-transform:uppercase}
.sc-witness.enter .sc-witness-art{animation:sc-enter .5s cubic-bezier(.2,1.4,.4,1) 1 both}
@keyframes sc-enter{from{transform:translateY(60%) scale(.8);opacity:0}to{transform:none;opacity:1}}

.sc-audience{position:absolute;left:-2%;right:-2%;bottom:-3%;height:19%;z-index:6;display:flex;align-items:flex-end}
.sc-head{flex:1;height:100%;margin:0 -1.2%;animation:sc-bob 2.4s steps(3) infinite;animation-delay:calc(var(--i) * -.37s)}
.sc-head svg{display:block;width:100%;height:100%}
.sc-head svg path{fill:#2a2036;fill-opacity:1;stroke:#120a18}
.sc-head svg ellipse{display:none}
.sc-cheer .sc-head{animation:sc-hop .28s steps(2,jump-none) infinite alternate;animation-delay:calc(var(--i) * -.09s)}
.sc-head.standing{animation:sc-stand .3s steps(2,jump-none) infinite alternate}
@keyframes sc-stand{from{transform:translateY(-38%) rotate(-6deg)}to{transform:translateY(-44%) rotate(6deg)}}
.sc-head.fainted{animation:none;transform:rotate(80deg) translate(20%,-10%);transition:transform .4s ease-in}

.sc-stage[data-speaker="judge"] .sc-actor:not(.sc-judge),
.sc-stage[data-speaker="bailiff"] .sc-actor:not(.sc-bailiff),
.sc-stage[data-speaker="p"] .sc-actor:not(.sc-podium.p),
.sc-stage[data-speaker="d"] .sc-actor:not(.sc-podium.d),
.sc-stage[data-speaker="npc"] .sc-actor:not(.sc-witness){filter:brightness(.62) saturate(.8)}
.sc-stage[data-speaker="p"] .sc-podium.p .sc-party,.sc-stage[data-speaker="d"] .sc-podium.d .sc-party{animation:sc-lean .3s ease-out 1}
@keyframes sc-lean{0%{transform:none}40%{transform:translateY(-6%) scale(1.04)}100%{transform:none}}
.sc-dark::after{content:'';position:absolute;inset:0;z-index:9;background:radial-gradient(40% 40% at 50% 40%,rgba(255,200,120,.12),rgba(0,0,0,.92) 70%)}

/* ---- the hallway ----
   A separate set that covers the studio after the ruling. .sc-hall-cam is
   everything in front of the lens, and it sways like a hand-held camera; the
   viewfinder, REC, timecode and lower third sit still on top of it. Every
   percentage here is of the stage, the same box the corridor is drawn in. */
.sc-hallway>:not(.sc-hall):not(.sc-fx){visibility:hidden}
.sc-hall{position:absolute;inset:0;z-index:9;overflow:hidden;background:#1b0d17;pointer-events:none}
.sc-hall-cam{position:absolute;inset:0;transform-origin:50% 60%;transform:scale(1.05);
  animation:hall-refocus .9s cubic-bezier(.3,.7,.3,1) 1 both,hall-handheld 7s steps(28) .9s infinite}
@keyframes hall-refocus{0%{transform:scale(1.15) translate(-1.4%,1%)}55%{transform:scale(1.02) translate(.4%,-.3%)}78%{transform:scale(1.06)}100%{transform:scale(1.05)}}
@keyframes hall-handheld{0%,100%{transform:scale(1.05)}20%{transform:scale(1.05) translate(-.5%,.35%) rotate(-.35deg)}45%{transform:scale(1.05) translate(.35%,-.25%) rotate(.25deg)}70%{transform:scale(1.05) translate(-.25%,-.4%) rotate(.4deg)}85%{transform:scale(1.05) translate(.45%,.2%) rotate(-.15deg)}}
.sc-hall-set{position:absolute;inset:0;width:100%;height:100%;display:block}
.sc-hall-tube{animation:hall-flicker 5.3s steps(1) infinite}
@keyframes hall-flicker{0%,61%,65%,88%,92%,100%{opacity:1}62%{opacity:.25}63%{opacity:.9}64%{opacity:.4}89%{opacity:.6}}
.sc-hall-prop{position:absolute;display:block}
.sc-hall-prop svg{display:block;width:100%;height:auto;overflow:visible}
.sc-hall-prop.vend{left:.5%;bottom:15%;width:22%}
.sc-hall-prop.board{left:23.6%;top:14.5%;width:18.2%}
.sc-hall-prop.portrait{left:63.6%;top:13%;width:9.6%;transform:rotate(3deg)}
.sc-hall-prop.bench{left:75%;bottom:26.5%;width:23%}
.sc-hall-onair{position:absolute;left:49.5%;top:19%;translate:-50% 0;padding:1px .7em;white-space:nowrap;border-radius:3px;border:2px solid #1a0a11;background:#c8142e;color:#ffe9e9;text-align:center;
  font:900 clamp(6.5px,1.7vw,11px)/1.35 var(--body);letter-spacing:.14em;box-shadow:0 0 14px rgba(255,59,78,.75);animation:sc-onair 2.4s steps(1) infinite}
.sc-hall-plate{position:absolute;left:57.6%;top:35%;padding:1px 5px;border-radius:2px;border:1.5px solid #1a0a11;background:linear-gradient(180deg,#f6d98a,#b8862e);color:#2a1a08;
  font:800 clamp(6px,1.55vw,10px)/1.3 var(--body);letter-spacing:.12em;white-space:nowrap;box-shadow:0 1px 0 rgba(0,0,0,.5)}
/* The winner, down the corridor: small, dim, behind the haze. */
.sc-hall-track{position:absolute;left:0;right:0;bottom:21%;height:30%;transform:translateX(100%);animation:hall-walk 6.4s linear 1.6s 1 both}
.sc-hall-walker{position:absolute;left:0;bottom:0;height:100%;aspect-ratio:1;transform-origin:50% 100%;opacity:.9;animation:hall-near 6.4s linear 1.6s 1 both}
.sc-hall-stride{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;transform-origin:50% 100%;animation:hall-stride .36s steps(2,jump-none) infinite}
.sc-hall-stride .sprite{width:100%;height:100%;--pet-h:9999px}
.sc-hall-stride .cc-portrait{height:100%;width:auto}
@keyframes hall-walk{from{transform:translateX(100%)}to{transform:translateX(-25%)}}
@keyframes hall-near{from{transform:scale(.7)}to{transform:scale(1)}}
@keyframes hall-stride{from{transform:rotate(-3deg)}to{transform:translateY(-5%) rotate(3deg)}}
.sc-hall-haze{position:absolute;inset:0;background:linear-gradient(90deg,transparent 38%,rgba(27,13,23,.4) 100%)}
/* The loser, in the foreground. --gaze follows the winner past. */
.sc-hall-loser{position:absolute;left:63%;bottom:-3%;height:56%;aspect-ratio:1;transform:translateX(-50%);transition:filter .2s}
.sc-hall.both .sc-hall-loser{height:52%;bottom:-4%}
.sc-hall.both .sc-hall-loser.p{left:38%}
.sc-hall.both .sc-hall-loser.d{left:71%}
.sc-hall-art{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;transform-origin:50% 100%;
  translate:calc(var(--gaze,0) * .8%) 0;rotate:calc(var(--gaze,0) * 1.2deg);transition:translate .4s ease-out,rotate .4s ease-out}
.sc-hall-art .sprite{width:100%;height:100%;--pet-h:9999px;--sl-gaze-x:var(--gaze,0)}
.sc-hall-art .cc-portrait{height:100%;width:auto}
.sc-hall-art .cc-eye{translate:calc(var(--gaze,0) * 1.4px) 0;transition:translate .35s ease-out}
.sc-hall-loser.talking .sc-hall-art{animation:hall-talk .32s steps(2,jump-none) infinite}
@keyframes hall-talk{from{transform:none}to{transform:translateY(-1.4%) scale(1.012)}}
.sc-stage[data-speaker="p"] .sc-hall.both .sc-hall-loser.d,.sc-stage[data-speaker="d"] .sc-hall.both .sc-hall-loser.p{filter:brightness(.6) saturate(.8)}
/* The reporter's microphone pokes in from the right; in a double loss it
   swings to whoever is answering. */
.sc-hall-prop.mic{right:-7%;top:48%;width:41%;translate:19% 0;transition:translate .45s cubic-bezier(.3,.8,.3,1.1),rotate .45s;animation:hall-mic-in .7s cubic-bezier(.2,.9,.3,1.15) .25s 1 both}
.sc-hall-prop.mic svg{transform-origin:100% 50%;animation:hall-drift 3.4s steps(8) infinite alternate}
.sc-hall-prop.mic.talking svg{animation:hall-jiggle .24s steps(2,jump-none) infinite}
.sc-hall.both[data-aim="d"] .sc-hall-prop.mic{translate:32% 14%}
.sc-hall.both[data-aim="p"] .sc-hall-prop.mic{translate:-48% 14%;rotate:-3deg}
@keyframes hall-mic-in{from{transform:translateX(75%) rotate(5deg)}to{transform:none}}
@keyframes hall-drift{from{transform:rotate(-1.4deg)}to{transform:translateX(-1.5%) rotate(1.2deg)}}
@keyframes hall-jiggle{from{transform:translateX(-3%)}to{transform:translateX(-5%) rotate(-1deg)}}
/* The boom operator dips into shot, lingers, and is shoved back out. */
.sc-hall-prop.boom{left:33%;top:-40%;width:17%;transform-origin:80% 0;animation:hall-boom 4.8s cubic-bezier(.4,0,.3,1) 2.4s 1 both}
@keyframes hall-boom{0%{transform:none}18%{transform:translateY(100%) rotate(-2deg)}30%{transform:translateY(96%) rotate(2deg)}42%{transform:translateY(104%) rotate(-1deg)}48%{transform:translateY(112%) rotate(3deg)}54%{transform:translate(28%,78%) rotate(20deg)}66%,100%{transform:translate(70%,-10%) rotate(32deg)}}
/* The camera's own furniture. */
.sc-hall-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 75% 70% at 50% 50%,transparent 55%,rgba(0,0,0,.6) 100%)}
.sc-hall-vf{position:absolute;inset:4.5% 4%}
.sc-hall-vf i{position:absolute;width:8%;height:11%;border:0 solid rgba(255,255,255,.8)}
.sc-hall-vf i:nth-child(1){left:0;top:0;border-width:2px 0 0 2px}
.sc-hall-vf i:nth-child(2){right:0;top:0;border-width:2px 2px 0 0}
.sc-hall-vf i:nth-child(3){left:0;bottom:0;border-width:0 0 2px 2px}
.sc-hall-vf i:nth-child(4){right:0;bottom:0;border-width:0 2px 2px 0}
.sc-hall-vf b{position:absolute;left:50%;top:44%;width:7%;aspect-ratio:1;border:1.5px dashed rgba(255,255,255,.5);transform:translate(-50%,-50%);opacity:0;animation:hall-focus 1.2s ease-out 1 both}
@keyframes hall-focus{0%{transform:translate(-50%,-50%) scale(2.6);opacity:0}25%{opacity:.9}60%{transform:translate(-50%,-50%) scale(.8);opacity:.9}80%{transform:translate(-50%,-50%) scale(1.06)}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
.sc-hall-rec,.sc-hall-label,.sc-hall-tc{position:absolute;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9);white-space:nowrap}
.sc-hall-rec{left:7%;top:8%;display:flex;align-items:center;gap:.45em;font:800 clamp(8px,2.1vw,12px)/1 var(--body);letter-spacing:.16em}
.sc-hall-rec i{width:.8em;height:.8em;border-radius:50%;background:#ff2e44;box-shadow:0 0 6px #ff2e44;animation:sc-onair 1s steps(1) infinite}
.sc-hall-label{left:7%;top:calc(8% + clamp(11px,2.9vw,17px));font:700 clamp(6.5px,1.6vw,9.5px)/1 var(--body);letter-spacing:.18em;opacity:.8}
.sc-hall-tc{right:7%;top:8%;font:700 clamp(8px,2.1vw,12px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.sc-hall-batt{position:absolute;right:7%;top:calc(8% + clamp(11px,2.9vw,17px));width:clamp(14px,3.4vw,20px);height:clamp(6px,1.5vw,9px);border:1.5px solid rgba(255,255,255,.85);border-radius:2px}
.sc-hall-batt::after{content:'';position:absolute;right:-4px;top:25%;width:2px;height:50%;background:rgba(255,255,255,.85)}
.sc-hall-batt i{position:absolute;inset:1px auto 1px 1px;width:30%;background:#ff8a4c}
.sc-hall-lower{position:absolute;left:4%;bottom:4%;max-width:64%;display:grid;justify-items:start;transform:translateX(-130%)}
.sc-hall-lower.in{animation:hall-lower 5.6s cubic-bezier(.2,.9,.3,1) .5s 1 both}
.sc-hall-lower b{max-width:100%;padding:2px 10px 1px;background:#b3142a;color:#fff4dc;box-shadow:3px 3px 0 #1a0a11;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  font:400 clamp(13px,3.6vw,22px)/1.2 var(--display);letter-spacing:.03em;text-transform:uppercase}
.sc-hall-lower span{max-width:min(100%,24em);padding:2px 10px 0;border:solid rgba(14,8,18,.92);border-width:0 0 3px;border-left:4px solid #f2c94c;background:rgba(14,8,18,.92);color:#f2e9dc;overflow:hidden;
  font:600 clamp(9px,2.3vw,13px)/1.3 var(--body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@keyframes hall-lower{0%{transform:translateX(-130%)}9%,84%{transform:none}100%{transform:translateX(-130%)}}
.sc-say-reporter .sc-name{background:#ff6b7a}

/* ---- effects ---- */
.sc-fx{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden}
.sc-bubble{position:absolute;left:50%;top:44%;width:min(80%,400px);aspect-ratio:2.2;transform:translate(-50%,-50%);display:grid;place-items:center;animation:sc-slam 1s cubic-bezier(.2,1.5,.4,1) 1 both}
.sc-burst{position:absolute;inset:0;background:#1a0a11;clip-path:polygon(50% 0,57.9% 18%,73.2% 5.7%,75.2% 21.6%,91.1% 21.6%,80.9% 38.3%,99.6% 44%,87.7% 54.6%,96.8% 67.7%,77.2% 68.7%,83.2% 87.4%,67.7% 83.6%,62% 98.5%,50% 83%,38% 98.5%,32.3% 83.6%,16.8% 87.4%,22.8% 68.7%,3.2% 67.7%,12.3% 54.6%,.4% 44%,19.1% 38.3%,8.9% 21.6%,24.8% 21.6%,26.8% 5.7%,42.1% 18%)}
.sc-burst::after{content:'';position:absolute;inset:5px;background:#fff;clip-path:inherit}
.sc-bubble b{position:relative;font:400 clamp(26px,7vw,48px)/1 var(--display);color:#d4202f;-webkit-text-stroke:2px #1a0a11;text-shadow:3px 3px 0 #1a0a11;transform:rotate(-6deg);white-space:nowrap}
.sc-bang{top:26%;width:min(52%,280px)}
.sc-bang b{color:#f2c94c;font-size:clamp(18px,4.6vw,32px)}
@keyframes sc-slam{0%{transform:translate(-50%,-50%) scale(2.4) rotate(-10deg);opacity:0}16%{transform:translate(-50%,-50%) scale(.92);opacity:1}24%{transform:translate(-50%,-50%) scale(1.05)}32%{transform:translate(-50%,-50%) scale(1)}82%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.02);opacity:0}}
.sc-shake{animation:sc-shake .4s steps(6) 1}
.sc-shake-big{animation:sc-shake-big .45s steps(7) 1}
@keyframes sc-shake{0%,100%{transform:none}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(3px,1px)}}
@keyframes sc-shake-big{0%,100%{transform:none}15%{transform:translate(-9px,4px)}30%{transform:translate(8px,-5px)}45%{transform:translate(-7px,-3px)}60%{transform:translate(6px,4px)}75%{transform:translate(-3px,2px)}}
.sc-static{position:absolute;inset:0;z-index:20;background:
  repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,transparent 1px 3px),
  repeating-linear-gradient(90deg,rgba(0,0,0,.35) 0 2px,rgba(255,255,255,.08) 2px 5px),#2b2b33;animation:sc-static .12s steps(3) infinite,sc-fade .7s ease-in 1 forwards}
@keyframes sc-static{0%{background-position:0 0,0 0}50%{background-position:0 7px,11px 0}100%{background-position:0 -5px,-7px 0}}
@keyframes sc-fade{0%,60%{opacity:1}100%{opacity:0}}
.sc-ad{position:absolute;inset:0;z-index:15;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:12px;
  background:radial-gradient(80% 80% at 50% 40%,#f7e6b8,#d8b56a);color:#1a0a11;animation:sc-panel .3s ease-out 1}
.sc-ad-tag{font:800 10px var(--body);letter-spacing:.2em;text-transform:uppercase;color:#6b1422}
.sc-ad b{font:400 clamp(24px,6.6vw,40px)/1.05 var(--display);text-shadow:2px 2px 0 rgba(255,255,255,.6);animation:sc-ad 1.2s steps(2,jump-none) infinite alternate}
@keyframes sc-ad{from{transform:rotate(-3deg) scale(1)}to{transform:rotate(3deg) scale(1.06)}}
.sc-clue{position:absolute;left:50%;top:30%;transform:translateX(-50%);width:min(84%,380px);padding:10px 14px;border-radius:8px;border:3px solid #1a0a11;background:#fff8d8;color:#1a0a11;
  font:600 14px/1.35 var(--body);box-shadow:0 6px 0 rgba(0,0,0,.4);animation:sc-clue 2.4s ease 1 both;transform-origin:50% 0}
.sc-clue small{display:block;font:800 10px var(--body);letter-spacing:.18em;text-transform:uppercase;color:#a32c3c}
@keyframes sc-clue{0%{transform:translateX(-50%) rotate(-6deg) scale(.4);opacity:0}12%{transform:translateX(-50%) rotate(2deg) scale(1.04);opacity:1}20%,80%{transform:translateX(-50%) rotate(-1deg) scale(1)}100%{transform:translateX(-50%) translateY(-30px);opacity:0}}
.sc-thrown{position:absolute;right:30%;top:50%;width:26px;height:26px;color:#f2e9dc;animation:sc-throw .7s ease-in 1 both}
@keyframes sc-throw{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(-90%,-120%) rotate(-360deg)}100%{transform:translate(-700%,0) rotate(-720deg);opacity:1}}
.sc-walker{position:absolute;width:15%;aspect-ratio:120/140}
.sc-walker.cat{top:12%;right:-18%;animation:sc-walk 3.4s linear 1 both}
@keyframes sc-walk{from{transform:translateX(0)}to{transform:translateX(-780%)}}
.sc-walker.moth{left:40%;top:60%;width:11%;animation:sc-moth 2.6s ease-in-out 1 both}
@keyframes sc-moth{0%{transform:translate(0,0) rotate(0)}40%{transform:translate(-140%,-260%) rotate(-20deg)}55%{transform:translate(-160%,-300%) rotate(30deg)}60%{transform:translate(-150%,-270%) rotate(-40deg)}100%{transform:translate(120%,-240%) rotate(10deg);opacity:0}}
.sc-jaw{position:absolute;left:62%;bottom:4%;width:40px;animation:sc-jaw 2.2s ease-out 1 both}
.sc-jaw svg{display:block;width:100%}
@keyframes sc-jaw{0%{transform:translateY(0)}20%{transform:translateY(-120px) rotate(200deg)}40%{transform:translateY(-10px) rotate(360deg)}55%{transform:translateY(-50px) rotate(420deg)}70%,100%{transform:translateY(0) rotate(540deg)}}
@keyframes sc-panel{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---- chyron, text box and controls ---- */
.sc-chyron{display:flex;align-items:center;gap:10px;padding:6px 10px;border:2px solid #1a0a11;border-top:0;border-radius:0 0 12px 12px;background:linear-gradient(90deg,#a32c3c 0 6px,#150c18 6px)}
.sc-chyron-case{flex:1;min-width:0;padding-left:6px;font-size:12px;line-height:1.35;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sc-chyron-case b{color:#f2c94c;font-weight:800;letter-spacing:.06em;margin-right:4px}
.sc-meters{display:grid;gap:3px;flex:none}
.sc-meter{display:grid;grid-template-columns:48px 70px;align-items:center;gap:6px}
.sc-meter small{font:800 9px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:right}
.sc-meter i{display:block;height:7px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.sc-meter b{display:block;height:100%;width:50%;border-radius:inherit;transition:width .5s ease}
.sc-meter.ratings b{background:linear-gradient(90deg,#f2c94c,#ff8a4c)}
.sc-meter.respect b{background:linear-gradient(90deg,#7fd8c0,#9fd8ff)}
.sc-box{position:relative;margin-top:16px;min-height:96px;padding:20px 16px 16px;border-radius:12px;cursor:pointer;outline:none;
  background:linear-gradient(180deg,rgba(14,9,20,.97),rgba(28,17,36,.97));border:2px solid var(--edge);box-shadow:inset 0 0 0 3px rgba(0,0,0,.4)}
.sc-box:focus-visible{border-color:#f2c94c}
.sc-name{position:absolute;left:12px;top:-13px;padding:2px 11px;border-radius:6px;border:2px solid #1a0a11;background:#f2e9dc;color:#1a0a11;font:800 12.5px/1.4 var(--body)}
.sc-say-judge .sc-name{background:#e5d38e}
.sc-say-bailiff .sc-name{background:#ff9aa6}
.sc-say-p .sc-name{background:var(--pink)}
.sc-say-d .sc-name{background:#a9dcff}
.sc-say-npc .sc-name{background:#c9b3ff}
.sc-say-announcer .sc-name{background:#1a0a11;color:#f2c94c;border-color:#f2c94c}
.sc-say-jury .sc-name,.sc-say-audience .sc-name{background:#8fe0ca}
.sc-text{margin:0;font-size:16px;line-height:1.5;min-height:3em;overflow-wrap:anywhere}
.sc-say-judge .sc-text{font-weight:700}
.sc-say-announcer .sc-text{font-family:var(--display);font-size:18px;color:#f2d9b0}
.sc-say-narrator .sc-text,.sc-say-audience .sc-text,.sc-say-jury .sc-text{font-style:italic;color:var(--ink-2)}
.sc-more{position:absolute;right:12px;bottom:6px;font-size:12px;color:#f2c94c;opacity:0}
.sc-box.ready .sc-more{opacity:1;animation:sc-more .5s steps(2,jump-none) infinite alternate}
@keyframes sc-more{from{transform:translateY(0)}to{transform:translateY(4px)}}
.sc-controls{margin-top:10px;animation:sc-panel .22s ease-out 1}
.sc-q-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.sc-q-head>b{font:400 19px var(--display)}
.sc-notes{font-size:13px;max-width:62%}
.sc-notes summary{cursor:pointer;color:#f2c94c;font-weight:700;text-align:right}
.sc-notes ul,.sc-notes p{margin:6px 0 0;padding-left:18px;color:var(--ink-2)}
.sc-notes p{padding:0}
.sc-questions{display:grid;gap:6px}
.sc-q{display:block;width:100%;text-align:left;padding:11px 14px;border-radius:10px;border:1px solid var(--hair-lit);background:var(--surface);color:var(--ink);font:inherit;font-size:15px;line-height:1.35;cursor:pointer}
.sc-q:hover,.sc-q:focus-visible{border-color:#f2c94c;background:var(--surface-hi)}
.sc-q i{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:99px;background:#ff6b3d;color:#1a0a11;font:800 10px/1.6 var(--body);font-style:normal;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px}
.sc-q.sass{border-color:rgba(255,107,61,.45)}
.sc-prompt{margin:0 0 8px;font:italic 16px var(--display);color:#f2d9b0}
.sc-choice-row,.sc-rulings{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sc-rulings{grid-template-columns:1fr 1fr 1fr}
.sc-choice-row .btn,.sc-rulings .btn{display:grid;justify-items:center;gap:2px;min-height:62px;white-space:normal;text-align:center;font-size:15px}
.sc-choice-row small,.sc-rulings small{font-size:11px;font-weight:600;opacity:.8}
.sheet-court .sc-gavel-btn{background:#5a3326;border-color:#1a0a11;color:#fff4dc}
.sheet-court .sc-let-btn{background:#b3142a;border-color:#1a0a11;color:#fff}
.sheet-court .sc-rule.p{background:#7a2848;border-color:#1a0a11;color:#fff}
.sheet-court .sc-rule.d{background:#2f5fa8;border-color:#1a0a11;color:#fff}
.sheet-court .sc-rule.both{background:#f2c94c;border-color:#1a0a11;color:#1a0a11}
.sc-deliberate h3{margin:0 0 8px;font:400 22px var(--display)}
.sc-clues{margin:0 0 10px;padding:10px 12px 10px 28px;border-radius:10px;background:#fff8d8;color:#1a0a11;font-size:14px;line-height:1.45}
.sc-clues li+li{margin-top:4px}
.sc-noclues{margin:0 0 10px;font-style:italic;color:var(--ink-3)}
.sc-wrap{padding:14px 16px;border-radius:12px;border:1px solid var(--hair-lit);background:var(--glass)}
.sc-wrap h3{margin:4px 0 6px;font:400 26px var(--display)}
.sc-wrap.right h3{color:var(--ok)}
.sc-wrap.wrong h3{color:var(--danger)}
.sc-wrap p{margin:0 0 8px;line-height:1.5}
.sc-wrap-stars{font-size:28px;letter-spacing:4px;color:#4a3d52}
.sc-wrap-stars i{font-style:normal;display:inline-block;animation:sc-pop .4s cubic-bezier(.2,1.6,.4,1) 1 both}
.sc-wrap-stars i:nth-child(2){animation-delay:.15s}
.sc-wrap-stars i:nth-child(3){animation-delay:.3s}
.mh-rewards li.bad{color:var(--danger);border-color:rgba(255,138,150,.4)}

@media (max-width:560px){
  .sc-text{font-size:15px}
  .sc-box{min-height:90px;padding:18px 13px 14px}
  .sc-chyron{flex-wrap:wrap}
  .sc-meters{grid-template-columns:1fr 1fr;width:100%}
  .sc-meter{grid-template-columns:auto 1fr}
  .sc-rulings{grid-template-columns:1fr}
  .sc-rulings .btn{min-height:52px}
  .sc-titlecard{grid-template-columns:1fr 76px;padding:14px}
  .sc-titlecard-judge{width:76px}
  .sc-cast{grid-template-columns:1fr}
}
/* Light effects keep the reactions (talking, the gavel, the salute, the
   jump) and drop the idle business. Reduced motion drops that too, and the
   hops and jumps. */
body[data-effects="light"] .cc-judge :is(.jm-sway,.jm-eyes,.jm-glow,.jm-f),
body[data-effects="light"] .cc-rat :is(.rb-tail,.rb-ear,.rb-whisk,.rb-look,.rb-nose),
body[data-effects="light"] .sc-hall :is(.sc-hall-tube,.sc-hall-onair,.sc-hall-stride){animation:none}
body[data-effects="light"] .sc-hall-cam{animation:hall-refocus .9s cubic-bezier(.3,.7,.3,1) 1 both}
body[data-effects="light"] .sc-hall-prop.mic svg{animation:none}
@media (prefers-reduced-motion:reduce){
  .sheet-court .cc-bob,.sheet-court .cc-eye,.sheet-court .sc-head,.sheet-court .cc-wing,.sc-onair,.sc-bug i{animation:none}
  .cc-bob,.cc-judge :is(.jm-sway,.jm-eyes,.jm-glow,.jm-lid,.jm-f,.jm-wig,.jm-push,.jm-hand),
  .cc-rat :is(.rb-jump,.rb-cap,.rb-tail,.rb-ear,.rb-whisk,.rb-look,.rb-nose,.rb-arm,.cc-sweat,.rb-cheeks),.sc-bailiff.chomping{animation:none!important}
  .sc-hall *{animation:none!important;transition:none!important}
  .sc-hall-lower{transform:none}
  .sc-hall-art{translate:none;rotate:none}
}

/* ---- the daily docket ---- */
.sc-docket{margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--mh-candle,#F6C768) 50%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--mh-candle,#F6C768) 12%,#0000),#0000);font:500 14px/1.45 var(--body);color:var(--ink)}
.sc-docket b{font-weight:700}
.sc-docket.done{border-color:var(--hair-lit);background:none;color:var(--ink-2)}
.sc-docket .btn{margin-left:6px;vertical-align:middle}

/* =============================================================================
   Replay: twists, the cast, the Objection, the bench career and its dressing
   ============================================================================= */

/* ---- the lobby: career, versions, why this cast matters ---- */
.sc-career{margin:0 0 12px;padding:12px 14px;border-radius:14px;border:1px solid var(--hair-lit);background:linear-gradient(120deg,rgba(242,201,76,.1),transparent 70%),var(--glass)}
.sc-career-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.sc-career-top .sc-kicker{flex:0 0 100%}
.sc-career-top b{font:400 21px/1.15 var(--display)}
.sc-career-top small{margin-left:auto;font:700 12.5px var(--body);color:var(--ink-3)}
.sc-bar{height:8px;margin:8px 0 6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.sc-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f2c94c,#ff8a4c);transition:width .5s ease}
.sc-career p{margin:0;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.sc-career p b{color:var(--ink)}
.sc-backpay{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;border-radius:10px;border:1px dashed #f2c94c;font-size:13.5px;line-height:1.4}
.sc-backpay .mh-glyph{width:20px;height:20px;flex:none;color:#f2c94c}
.sc-versions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 10px;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.sc-versions b{color:var(--ink)}
.sc-ver-count{display:inline-flex;gap:4px}
.sc-ver-count i{width:11px;height:11px;border-radius:50%;border:2px solid #f2c94c;box-sizing:border-box}
.sc-ver-count i.on{background:#f2c94c}
.sc-ver-pick{display:grid;gap:3px;flex:1 1 100%;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.sc-ver-pick select{min-width:0;text-transform:none;letter-spacing:0}
.sc-why{margin:0 0 10px;padding:10px 12px;border-radius:10px;border:1px solid var(--hair-lit);background:rgba(0,0,0,.18)}
.sc-why ul{margin:6px 0 0;padding-left:18px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.sc-why li+li{margin-top:3px}
.sc-why p{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:var(--ink-3)}
.sc-guide-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 8px}
.sc-guide-head .sc-guide-title{margin:0}
.sc-guide-note{margin:0 0 8px;font-size:13px;color:var(--ink-3)}
.sc-guide-note b{color:var(--ink)}
.sc-ep-ver{font:700 11.5px var(--body);color:var(--ink-3)}

/* tags: what a resident's trait is doing in this episode */
.sc-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:4px}
.sc-chip{display:inline-block;max-width:100%;padding:2px 8px;border-radius:99px;border:1px solid currentColor;font:700 11px/1.35 var(--body);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f2c94c;background:rgba(0,0,0,.25)}
.sc-chip.receipts{color:#f2c94c}
.sc-chip.exaggerates{color:#ffab76}
.sc-chip.showman{color:#ff8aa0}
.sc-chip.crowd{color:#8fe0ca}
.sc-chip.intimidating{color:#ff8a96}
.sc-chip.spiteful{color:#ff6b3d}
.sc-chip.loyal,.sc-chip.trusts{color:#ff8aa0}
.sc-chip.sleepy{color:#9fd8ff}
.sc-chip.gossip{color:#c9b3ff}
.sc-vs figcaption .sc-tags{margin-top:6px}

/* ---- the Case Notebook ---- */
.sc-nb-intro{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.sc-nb{display:grid;gap:8px}
.sc-nb-case{padding:10px 12px;border-radius:12px;border:1px solid var(--hair-lit);background:var(--surface)}
.sc-nb-case.unaired{opacity:.8}
.sc-nb-case header{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:2px 10px}
.sc-nb-case header b{font:400 17px/1.2 var(--display)}
.sc-nb-versions{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.sc-nb-versions li{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:14px}
.sc-nb-versions li.seen .sc-nb-name{flex:1 1 150px;font-weight:700}
.sc-nb-versions li.unseen{color:var(--ink-3);font-style:italic}
.sc-nb-versions .btn{margin-left:auto}

/* ---- cast notes, seats and the Objection ---- */
.sc-castnotes{margin:8px 0 0;padding:4px 10px;border-radius:10px;border:1px solid var(--hair-lit);background:rgba(0,0,0,.2);font-size:13px}
.sc-castnotes summary{display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer;list-style:none;overflow:hidden}
.sc-castnotes[open] summary{overflow:visible;flex-wrap:wrap}
.sc-castnotes summary::-webkit-details-marker{display:none}
.sc-castnotes-label{flex:none;font:800 11px var(--body);letter-spacing:.12em;text-transform:uppercase;color:#f2c94c}
.sc-castnotes-label::after{content:' ▾';font-size:10px}
.sc-castnotes[open] .sc-castnotes-label::after{content:' ▴'}
.sc-castnotes .sc-tags{margin:0;justify-content:flex-start;flex-wrap:nowrap;min-width:0}
.sc-castnotes[open] .sc-tags{flex-wrap:wrap}
.sc-castnotes .sc-chip{flex:none}
.sc-castnotes:not([open]) .sc-tags{-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent);mask-image:linear-gradient(90deg,#000 80%,transparent)}
.sc-castnotes ul{margin:6px 0 2px;padding-left:18px;line-height:1.45;color:var(--ink-2)}
.sc-castnotes li+li{margin-top:3px}
.sc-castnotes li b{color:var(--ink)}
.sc-seat-tags{position:absolute;left:-3px;bottom:-3px;display:flex;gap:1px;pointer-events:none}
.sc-ico{display:block;width:clamp(10px,2.6vw,13px);height:clamp(10px,2.6vw,13px)}
.sc-seat.absent{box-shadow:inset 0 0 0 2px #9fd8ff}
.sc-seat.absent .sc-seat-art{opacity:.55;transform:rotate(-14deg)}
.sc-seat.absent .sc-vote{opacity:1;animation:sc-pop .3s cubic-bezier(.2,1.6,.4,1) 1 both}
.sc-skiprow{display:flex;justify-content:flex-end;margin-top:8px}
.sc-skiprow .btn{min-height:44px}
.sc-obj-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:8px}
.sc-obj{min-height:44px;border-color:#f2c94c;color:#fff4dc;background:linear-gradient(180deg,#7a2848,#5a1c36)}
.sc-obj[disabled]{opacity:.6;border-color:var(--hair-lit);background:var(--surface)}
.sc-obj.btn-ghost{background:none}
.sc-obj-count{margin-left:6px;padding:1px 8px;border-radius:99px;background:rgba(0,0,0,.35);font:700 12px var(--body)}
.sc-obj-row small{font-size:12.5px;color:var(--ink-3)}
.sc-obj-panel{display:grid;gap:8px}
.sc-obj-opt{display:block;width:100%;text-align:left;padding:11px 14px;border-radius:10px;border:1px solid var(--hair-lit);background:var(--surface);color:var(--ink);font:inherit;font-size:14.5px;line-height:1.4;cursor:pointer}
.sc-obj-opt:hover,.sc-obj-opt:focus-visible{border-color:#f2c94c;background:var(--surface-hi)}
.sc-obj-opt small{display:block;margin-bottom:2px;font:800 10.5px var(--body);letter-spacing:.12em;text-transform:uppercase;color:#f2c94c}

/* ---- notes: unconfirmed, struck, confirmed ---- */
.sc-note-flag{display:inline-block;margin-left:4px;padding:0 7px;border-radius:99px;border:1px solid currentColor;font:800 10.5px/1.6 var(--body);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;vertical-align:1px}
.sc-note.shaky{font-style:italic}
.sc-note.shaky .sc-note-flag{color:#b3601c}
.sc-note.struck{opacity:.7}
.sc-note.struck .sc-note-flag{color:#a32c3c}
.sc-note.confirmed .sc-note-flag{color:#1d7a58}
.sc-notes .sc-note .sc-note-flag{color:#f2c94c}
.sc-notes .sc-note.struck .sc-note-flag{color:#ff8a96}
.sc-notes .sc-note.confirmed .sc-note-flag{color:#8fe0ca}
.sc-clue.shaky{background:#f1e6c4;border-style:dashed}
.sc-clue.shaky small{color:#8a4a10}

/* ---- the wrap: versions, promotions ---- */
.sc-ver-line.twist{color:#f2c94c;border-color:rgba(242,201,76,.5)}
.sc-career-line{margin:0 0 8px;font-size:13.5px;color:var(--ink-2)}
.sc-promo{position:relative;margin:4px 0 10px;padding:12px 14px;border-radius:12px;border:2px solid #f2c94c;overflow:hidden;
  background:radial-gradient(120% 140% at 50% 0%,rgba(242,201,76,.28),rgba(163,44,60,.22) 70%),#1a0a11;animation:sc-promo 1.6s ease-out 1}
.sc-promo b{display:block;font:400 26px/1.15 var(--display);color:#fff4dc;text-shadow:0 0 14px rgba(242,201,76,.55)}
.sc-promo p{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-weight:700;color:#f2c94c}
.sc-promo .mh-glyph{width:20px;height:20px}
.sc-promo ul{margin:8px 0 0;padding-left:18px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.sc-promo li b{display:inline;font:700 13.5px var(--body);color:var(--ink);text-shadow:none}
@keyframes sc-promo{0%{box-shadow:0 0 0 0 rgba(242,201,76,.8);transform:scale(.96)}40%{transform:scale(1.015)}100%{box-shadow:0 0 0 18px rgba(242,201,76,0);transform:none}}

/* ---- the courtroom's dressing (what the bench career unlocks) ---- */
.sc-gavel-brass .jm-gavel rect{fill:#d6a33a}
.sc-gavel-brass .jm-gavel path[stroke="#8b5a3c"]{stroke:#b8872a}
.sc-gavel-brass .jm-gavel path[stroke="#a8704c"]{stroke:#fff1b8}
.sc-gavel-ebony .jm-gavel rect{fill:#1d1626}
.sc-gavel-ebony .jm-gavel path[stroke="#8b5a3c"]{stroke:#3a2f48}
.sc-gavel-ebony .jm-gavel path[stroke="#e2b04a"]{stroke:#cfd5e2}
.sc-gavel-ebony .jm-gavel path[stroke="#a8704c"]{stroke:#6a5c80}
.sc-wig-gilt .jm-wig [fill="#f3ede2"],.sc-wig-laurel .jm-wig [fill="#f3ede2"]{fill:#ecd07a}
.sc-wig-gilt .jm-wig [fill="#d9cfbc"],.sc-wig-laurel .jm-wig [fill="#d9cfbc"]{fill:#d4ab49}
.sc-wig-gilt .jm-wig [stroke="#d9cfbc"],.sc-wig-laurel .jm-wig [stroke="#d9cfbc"]{stroke:#b88a2a}
.sc-wig-gilt .jm-wig [stroke="#ae9f86"],.sc-wig-laurel .jm-wig [stroke="#ae9f86"]{stroke:#8a6a1c}
.sc-wig-gilt .jm-wig [stroke="#f3ede2"],.sc-wig-laurel .jm-wig [stroke="#f3ede2"]{stroke:#ecd07a}
.sc-banner{position:absolute;left:27%;top:-1%;width:9.5%;z-index:1;pointer-events:none}
.sc-banner svg,.sc-bench-dress svg,.sc-bench-plate svg,.sc-candle svg{display:block;width:100%;height:auto;overflow:visible}
.sc-bench>span:first-child{position:relative;z-index:1}
.sc-has-plate .sc-bench>span:first-child{transform:translateY(-16%)}
.sc-bench .sc-bench-dress{position:absolute;left:0;top:0;width:100%;max-width:none;height:100%;z-index:0;overflow:hidden;border-radius:2px 2px 0 0}
.sc-bench-dress svg{height:100%;width:100%}
.sc-bench-dress svg{border-radius:inherit}
.sc-bench .sc-bench-plate{position:absolute;left:50%;bottom:6%;width:34%;max-width:none;transform:translateX(-50%);z-index:2}
.sc-candle{position:absolute;top:28%;width:3.4%;z-index:4;pointer-events:none}
.sc-candle.l{left:30.5%}
.sc-candle.r{right:30.5%}
.sc-flame{transform-box:fill-box;transform-origin:50% 100%;animation:sc-flame .5s steps(2,jump-none) infinite alternate}
@keyframes sc-flame{from{transform:scale(1,1)}to{transform:scale(.88,1.12) rotate(4deg)}}
.sc-spot{position:absolute;left:50%;top:-4%;width:44%;height:72%;transform:translateX(-50%);z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,236,170,.34),rgba(255,236,170,0) 92%);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);animation:sc-spot 5s steps(5) infinite alternate}
@keyframes sc-spot{from{opacity:.7}to{opacity:1}}
.sc-head.sc-reg svg .hat{fill:#171020}
.sc-head.sc-reg svg .brim{fill:none;stroke:#120a18;stroke-width:3;stroke-linecap:round}
.sc-head.sc-reg svg .band{fill:none;stroke:#f2c94c;stroke-width:2}
.sc-head.sc-reg svg .monocle{display:block;fill:none;stroke:#f2c94c;stroke-width:1.5}
.sc-head.sc-reg svg .sandwich{fill:#e8d3a0;stroke:#120a18;stroke-width:1.2}
.sc-head.sc-reg svg .lettuce{fill:none;stroke:#7a9a4a;stroke-width:1.6}
.sc-titlecard-judge .sc-laurel,.sc-judge .sc-laurel{pointer-events:none}

@media (max-width:560px){
  .sc-career-top b{font-size:19px}
  .sc-nb-case header{grid-template-columns:1fr auto}
  .sc-nb-case header .sc-ep-no{grid-column:1 / -1}
}
body[data-effects="light"] .sc-flame,body[data-effects="light"] .sc-spot,body[data-effects="light"] .sc-promo{animation:none}
@media (prefers-reduced-motion:reduce){
  .sc-flame,.sc-spot,.sc-promo{animation:none}
  .sc-bar i{transition:none}
}

/* ---- The Joint Bench (ui/court-joint.js): friends judge the same hearing ---- */
.jc-bench,.jc-section{margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,#f2c94c 40%,transparent);background:linear-gradient(150deg,rgba(242,201,76,.08),transparent 70%)}
.jc-bench h3,.jc-section h3{margin:0 0 6px;font:700 11px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#f2c94c}
.jc-bench p,.jc-section p{margin:0;font:500 14px/1.45 var(--body);color:var(--ink);overflow-wrap:anywhere}
.jc-record{font-style:italic}
.jc-record+.jc-record{margin-top:4px}
.jc-intro,.jc-how,.jc-note,.jc-gallery-note{color:var(--ink-2);font-size:13.5px;line-height:1.45}
.jc-note{margin:0 0 8px}
.jc-row{padding-top:10px;margin-top:10px;border-top:1px solid var(--hair)}
.jc-record+.jc-row,.jc-note+.jc-row{border-top-color:color-mix(in srgb,#f2c94c 30%,transparent)}
.jc-row.jc-due p::before{content:'';display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#f2c94c;vertical-align:1px}
.jc-row .sc-actions,.jc-bench .sc-actions{margin-top:8px}
.jc-row .sc-actions .btn,.jc-start .btn{flex:0 1 auto;min-height:44px;white-space:normal}
.jc-start{padding-top:10px;margin-top:10px;border-top:1px solid var(--hair)}
.jc-warn{color:var(--danger)}
.jc-confirm{margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);background:rgba(0,0,0,.2)}
.jc-confirm p{font-size:13.5px}
.jc-view .jc-how{margin:0 0 12px}
.jc-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.jc-form label{display:grid;gap:4px;min-width:0;font-size:12px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.jc-form select{min-width:0;width:100%;min-height:44px;padding:9px 10px;border:1px solid var(--hair-lit);border-radius:8px;background:var(--field,#1a1424);color:var(--ink);font:500 15px var(--body);text-transform:none;letter-spacing:0}
.jc-friends{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 12px;padding:0;list-style:none}
.jc-friend{width:100%;min-height:48px;justify-content:center;white-space:normal;overflow-wrap:anywhere}
.jc-react{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.jc-react-label{flex:1 1 100%;font:700 11px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.jc-react-btn{flex:1 1 0;min-width:0;min-height:44px;justify-content:center;gap:6px}
.jc-gallery-note{margin:8px 0 0}
.jc-gallery{position:absolute;left:50%;top:9%;max-width:88%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;
  border:1px solid #f2c94c;background:rgba(20,10,22,.88);color:#f2e9dc;font:600 12.5px/1.3 var(--body);box-shadow:0 4px 16px rgba(0,0,0,.4);animation:jc-in 2.4s ease-out 1 both}
.jc-gallery b{font-weight:600}
.jc-gallery-icon{font-size:18px;line-height:1}
.jc-mine{position:absolute;left:50%;top:30%;font-size:30px;transform:translate(-50%,-50%);animation:jc-pop .9s ease-out 1 both}
.sc-head.jc-stir{animation:none;transform:translateY(-14%) scale(1.08);transition:transform .15s}
@keyframes jc-in{0%{opacity:0;transform:translate(-50%,-8px)}10%,82%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,0)}}
@keyframes jc-pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}25%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-140%) scale(1)}}
.sc-seat.sc-visiting{box-shadow:inset 0 0 0 1px rgba(242,201,76,.6)}
.sc-seat-from{position:absolute;right:-4px;top:-5px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#f2c94c;color:#1a0a11;box-shadow:0 0 0 1.5px #1a0a11;pointer-events:none}
.sc-seat-from svg{width:9px;height:9px;display:block}
.sc-say-w .sc-name{background:#c9b3ff}
.jc-seal{color:var(--ink-2)}
.jc-seal.sealed{color:var(--ok)}
.jc-seal.failed{color:var(--danger)}
.jc-seal .mh-glyph{width:18px;height:18px;vertical-align:-3px;margin-right:4px;color:#f2c94c}
.jc-reveal h3{color:#f2c94c}
.jc-reveal.full h3{color:var(--ok)}
.jc-reveal:is(.wrong-together,.wrong-apart) h3{color:var(--danger)}
.jc-envelopes{margin:4px 0 10px;padding:0;list-style:none;display:grid;gap:6px}
.jc-envelopes li{padding:6px 10px;border-radius:8px;background:rgba(0,0,0,.22);font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.jc-envelopes .sc-wrap-stars{font-size:14px;letter-spacing:1px;margin-left:4px}
.jc-truth{border:1px dashed color-mix(in srgb,#f2c94c 55%,transparent)}
.jc-recent{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.jc-recent li{display:flex;align-items:center;gap:8px;font-size:13.5px;line-height:1.4}
.jc-recent li span{flex:1;min-width:0;overflow-wrap:anywhere}
@media (max-width:420px){.jc-form{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.jc-gallery,.jc-mine{animation-duration:.01s;animation-iteration-count:1}.jc-gallery{animation:none}}
body[data-effects="light"] .jc-mine{animation-duration:.5s}
