/* ---------------------------------------------------------------- Grim's Black Market */
.grim-main{flex:1;overflow-y:auto;position:relative;background:#050305;scrollbar-width:none}
.grim-main::-webkit-scrollbar{display:none}
.grim-page{--blood:#ff2a3d;--ember:#ff5a2a;--rust:#8a1a24;--soot:#0b0608;--bone:#d9c9c4;
  position:relative;min-height:100%;overflow:hidden;padding:44px 20px 90px;color:var(--bone);text-transform:none;font-family:inherit;isolation:isolate;
  background:
    radial-gradient(ellipse 60% 45% at 50% -8%,rgba(150,14,28,.32),transparent 70%),
    radial-gradient(ellipse 80% 40% at 50% 112%,rgba(90,0,14,.45),transparent 70%),
    radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.85) 100%),
    repeating-linear-gradient(0deg,rgba(0,0,0,.55) 0 2px,transparent 2px 26px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.4) 0 2px,transparent 2px 54px),
    linear-gradient(#0d0809,#070405)}
/* every other brick row is offset */
.grim-page::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(90deg,transparent 0 27px,rgba(0,0,0,.45) 27px 29px,transparent 29px 54px);
  -webkit-mask:repeating-linear-gradient(0deg,transparent 0 26px,#000 26px 52px);mask:repeating-linear-gradient(0deg,transparent 0 26px,#000 26px 52px)}
.grim-page::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 0 180px 40px rgba(0,0,0,.9);transition:box-shadow 1s}
.grim-page.is-hurry::after{animation:grim-pulse 1.1s ease-in-out infinite}
@keyframes grim-pulse{50%{box-shadow:inset 0 0 200px 60px rgba(120,0,14,.55)}}
.grim-page.is-empty{display:flex;align-items:center;justify-content:center;min-height:70vh}
.grim-page.is-empty p{position:relative;z-index:2;font-family:var(--font-mono,'Space Mono',monospace);font-size:13px;letter-spacing:.06em;color:#6d5a5a;animation:grim-breathe 3s ease-in-out infinite}
@keyframes grim-breathe{50%{opacity:.4}}

/* fog, ash and the lamp */
.grim-fog{position:absolute;inset:-20% -30%;z-index:0;pointer-events:none;opacity:.7;filter:blur(30px);
  background:radial-gradient(ellipse 30% 18% at 20% 70%,rgba(70,40,50,.55),transparent 70%),radial-gradient(ellipse 35% 20% at 75% 80%,rgba(60,30,40,.5),transparent 70%),radial-gradient(ellipse 25% 15% at 50% 95%,rgba(90,20,30,.45),transparent 70%);
  animation:grim-fog 26s ease-in-out infinite alternate}
@keyframes grim-fog{to{transform:translateX(12%) translateY(-3%)}}
.grim-ash{position:absolute;inset:0;z-index:1;pointer-events:none}
.grim-ash i{position:absolute;left:var(--x);top:-10px;width:3px;height:3px;border-radius:50%;background:var(--ember);box-shadow:0 0 6px var(--ember),0 0 12px rgba(255,60,20,.6);opacity:0;animation:grim-ash var(--s) linear var(--d) infinite}
.grim-ash i:nth-child(3n){background:#9a8a88;box-shadow:none;width:2px;height:2px}
@keyframes grim-ash{0%{opacity:0;transform:translate(0,0)}10%{opacity:.9}100%{opacity:0;transform:translate(40px,105vh)}}
.grim-lamp{position:absolute;left:50%;top:0;z-index:1;width:2px;height:34px;margin-left:-1px;background:#2a2224;pointer-events:none}
.grim-lamp::before{content:"";position:absolute;left:50%;top:32px;width:14px;height:18px;margin-left:-7px;border-radius:40% 40% 50% 50%;background:radial-gradient(circle at 50% 60%,#ffe2b0,#ff8a3a 45%,#7a1a10);box-shadow:0 0 20px 6px rgba(255,120,50,.55);animation:grim-flicker 4s steps(1) infinite}
.grim-lamp::after{content:"";position:absolute;left:50%;top:46px;width:760px;height:620px;margin-left:-380px;background:radial-gradient(ellipse 50% 60% at 50% 0,rgba(255,130,70,.13),transparent 70%);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);animation:grim-flicker 4s steps(1) infinite}
.grim-page.is-hurry .grim-lamp::before,.grim-page.is-hurry .grim-lamp::after{animation-duration:.9s}
@keyframes grim-flicker{0%,100%{opacity:1}7%{opacity:.35}8%{opacity:1}41%{opacity:.85}62%{opacity:.2}63%{opacity:1}64%{opacity:.5}66%{opacity:1}}
.grim-inner{position:relative;z-index:2;max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:22px}

/* Grim + his words */
.grim-top{display:flex;align-items:center;gap:12px}
.grim{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.grim-bubble{position:relative;max-width:400px;padding:12px 16px 13px;border-radius:4px 14px 14px 14px;font-family:var(--font-mono,'Space Mono',monospace);font-size:13px;line-height:1.5;color:#e2d2cf;
  background:linear-gradient(#1a1012,#0e0809);border:1px solid #3a1a20;box-shadow:0 10px 40px rgba(0,0,0,.8),inset 0 0 24px rgba(120,0,20,.22);animation:grim-say .3s ease-out}
.grim-bubble::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;margin-top:-6px;background:#140b0d;border-left:1px solid #3a1a20;border-bottom:1px solid #3a1a20;transform:rotate(45deg)}
@keyframes grim-say{from{opacity:0;transform:translateX(-6px)}}
.grim-name{display:block;margin-bottom:3px;font-size:10px;font-weight:800;letter-spacing:.35em;text-transform:uppercase;color:var(--blood);text-shadow:0 0 8px rgba(255,30,50,.6)}
.grim-signs{display:flex;flex-direction:column;gap:12px;flex:none}
.grim-sign{display:flex;flex-direction:column;align-items:center;min-width:132px;padding:8px 16px;border-radius:4px;
  background:linear-gradient(#1c1517,#0c0809);border:1px solid #3b2326;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 6px 18px rgba(0,0,0,.7)}
.grim-sign::before{content:"";position:absolute}
.grim-sign span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#7a6466;font-weight:700}
.grim-sign b{font-size:21px;font-weight:800;font-variant-numeric:tabular-nums;color:#e9d4cf}
.grim-sign.is-clock b{color:var(--blood);text-shadow:0 0 10px rgba(255,30,50,.55)}
.grim-page.is-hurry .grim-sign.is-clock b{animation:grim-flicker .8s steps(1) infinite}

/* the table of contraband */
.grim-table{position:relative;padding:34px 18px 26px;border-radius:6px;
  background:radial-gradient(ellipse 70% 80% at 50% 0,rgba(170,20,40,.2),transparent 70%),repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 3px,transparent 3px 7px),linear-gradient(#1b0b10,#0a0406);
  border-top:3px solid #33161b;box-shadow:0 30px 60px rgba(0,0,0,.85),inset 0 12px 30px rgba(0,0,0,.6)}
.grim-table::before{content:"";position:absolute;left:0;right:0;top:-3px;height:14px;background:repeating-linear-gradient(90deg,#1a0a0e 0 18px,#24101a 18px 36px);clip-path:polygon(0 0,100% 0,100% 40%,97% 100%,94% 40%,91% 100%,88% 40%,85% 100%,82% 40%,79% 100%,76% 40%,73% 100%,70% 40%,67% 100%,64% 40%,61% 100%,58% 40%,55% 100%,52% 40%,49% 100%,46% 40%,43% 100%,40% 40%,37% 100%,34% 40%,31% 100%,28% 40%,25% 100%,22% 40%,19% 100%,16% 40%,13% 100%,10% 40%,7% 100%,4% 40%,1% 100%,0 40%)}
.grim-cloth{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 12px}
.grim-ware{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;background:none;border:0;color:inherit;font:inherit;cursor:pointer;transition:transform .25s cubic-bezier(.3,1.4,.5,1);animation:grim-in .6s ease-out backwards}
.grim-ware:nth-child(2){animation-delay:.08s}.grim-ware:nth-child(3){animation-delay:.16s}.grim-ware:nth-child(4){animation-delay:.24s}.grim-ware:nth-child(5){animation-delay:.32s}
@keyframes grim-in{from{opacity:0;transform:translateY(10px);filter:brightness(0)}}
.grim-ware:hover{transform:translateY(-4px)}
.grim-cage{position:relative;display:grid;place-items:center;width:118px;height:128px;border-radius:50% 50% 10px 10px/38% 38% 10px 10px;border:2px solid #3e2c2e;border-bottom-width:6px;
  background:radial-gradient(circle at 50% 75%,rgba(0,0,0,.2),rgba(0,0,0,.75));box-shadow:inset 0 -20px 30px rgba(0,0,0,.75),0 14px 20px rgba(0,0,0,.7)}
.grim-cage::before{content:"";position:absolute;top:-14px;left:50%;width:14px;height:14px;margin-left:-7px;border:2px solid #4a3638;border-radius:50%}
.grim-cage::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(120,96,96,.55) 0 2px,transparent 2px 15px);transition:clip-path .45s cubic-bezier(.6,0,.3,1);clip-path:inset(0 0 0 0)}
.grim-cage .item-art,.grim-cage>:not(.grim-spot){position:relative;z-index:1;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--glow) 60%,transparent))}
.grim-spot{position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--glow) 40%,transparent),transparent 65%);animation:grim-flicker 5s steps(1) infinite;opacity:.8}
.grim-ware:hover .grim-spot{opacity:1}
.grim-ware.is-selected .grim-cage{border-color:color-mix(in srgb,var(--glow) 60%,#3e2c2e);box-shadow:inset 0 -20px 30px rgba(0,0,0,.6),0 0 30px color-mix(in srgb,var(--glow) 35%,transparent)}
.grim-ware.is-selected .grim-cage::after{clip-path:inset(0 0 100% 0)}
.grim-tag{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:16px;padding:7px 10px 8px;min-width:118px;border-radius:2px;transform:rotate(-2deg);
  background:linear-gradient(#2a2022,#1a1314);border:1px solid #3d2d2f;box-shadow:0 6px 12px rgba(0,0,0,.6);font-family:var(--font-mono,'Space Mono',monospace)}
.grim-ware:nth-child(even) .grim-tag{transform:rotate(2deg)}
.grim-tag::before{content:"";position:absolute;top:-14px;left:50%;width:1px;height:14px;background:#5a4446}
.grim-tag .ware-tier{font-size:9px;padding:1px 6px;border-radius:999px;border-width:1px;filter:saturate(.7) brightness(.85)}
.grim-ware-name{font-size:11.5px;font-weight:700;color:#e6d6d2;line-height:1.25;text-align:center}
.grim-price{display:flex;gap:6px;align-items:baseline;font-size:12px}
.grim-price s{color:#6a5658;font-size:10.5px}
.grim-price b{color:#ff6a5a;text-shadow:0 0 8px rgba(255,60,40,.45)}
.grim-left{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blood)}
.grim-ware.is-gone{cursor:default}
.grim-ware.is-gone .grim-cage>*{filter:grayscale(1) brightness(.35)}
.grim-ware.is-gone .grim-tag{opacity:.5}

/* the deal */
.grim-counter{display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:6px;background:linear-gradient(#150a0d,#0b0507);border:1px solid #31181d;box-shadow:0 18px 40px rgba(0,0,0,.8);animation:grim-say .3s ease-out}
.grim-counter.is-empty{justify-content:center;color:#6e5a5c;font-family:var(--font-mono,'Space Mono',monospace);font-size:12.5px;letter-spacing:.04em;padding:22px}
.grim-counter-art{flex:none;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(150,10,30,.3),transparent 70%)}
.grim-counter-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.grim-counter-name{display:flex;gap:8px;align-items:center;font-size:16px;font-weight:800;color:#f0dfdb}
.grim-counter-name small{padding:1px 6px;border-radius:3px;background:#3a0a12;color:#ff8a7a;font-size:10px;letter-spacing:.08em}
.grim-counter-body p{margin:0;font-size:12.5px;line-height:1.5;color:#a9928f}
.grim-go{height:40px;padding:0 22px;border-radius:4px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;color:#ffe2e2;letter-spacing:.03em;
  background:linear-gradient(#9a1222,#4a0610);border:1px solid #c02234;box-shadow:0 0 22px rgba(255,0,40,.28),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .1s,box-shadow .2s}
.grim-go:hover:not(:disabled){box-shadow:0 0 34px rgba(255,0,40,.5),inset 0 1px 0 rgba(255,255,255,.2)}
.grim-go:active:not(:disabled){transform:translateY(2px)}
.grim-go:disabled{filter:grayscale(.9);opacity:.45;cursor:not-allowed;box-shadow:none}

/* closing: the door slams */
.grim-door{position:fixed;inset:0;z-index:90;pointer-events:all;animation:grim-shake .4s .35s}
.grim-door i{position:absolute;top:0;bottom:0;width:51%;background:repeating-linear-gradient(90deg,#140a0b 0 60px,#1d0f11 60px 64px),linear-gradient(#1d1012,#0a0506);box-shadow:inset 0 0 80px #000}
.grim-door i:nth-of-type(1){left:0;animation:grim-door-l .38s cubic-bezier(.7,0,1,1) forwards;transform:translateX(-100%)}
.grim-door i:nth-of-type(2){right:0;animation:grim-door-r .38s cubic-bezier(.7,0,1,1) forwards;transform:translateX(100%)}
.grim-door b{position:absolute;left:50%;top:44%;padding:10px 26px;border:3px solid var(--blood,#ff2a3d);border-radius:4px;color:#ff2a3d;font-size:34px;font-weight:900;letter-spacing:.3em;text-shadow:0 0 18px rgba(255,30,50,.8);
  transform:translate(-50%,-50%) rotate(-8deg) scale(2);opacity:0;animation:grim-stamp .3s .55s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes grim-door-l{to{transform:translateX(0)}}
@keyframes grim-door-r{to{transform:translateX(0)}}
@keyframes grim-stamp{to{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}}
@keyframes grim-shake{25%{transform:translate(-6px,2px)}50%{transform:translate(5px,-3px)}75%{transform:translate(-3px,1px)}}

/* Grim himself: Glim's orb, gone very wrong */
.orb.orb-grim{--hue:0deg!important}
.orb-grim .orb-ball,.orb-grim:hover .orb-ball,.orb-grim.is-sad .orb-ball{filter:none!important;
  background:radial-gradient(circle at 36% 30%,#4a1f28 0,#22090f 30%,#0b0306 62%,#000 100%);
  box-shadow:0 0 40px rgba(170,0,30,.45),0 0 90px rgba(90,0,20,.35),inset -14px -18px 30px rgba(0,0,0,.9),inset 8px 10px 22px rgba(255,40,60,.12)}
.orb-grim .orb-core{background:conic-gradient(from 0deg,transparent,rgba(255,30,50,.18),transparent 30%,rgba(120,0,30,.25) 55%,transparent 75%);animation-duration:16s}
.orb-grim .orb-shine{background:rgba(255,120,120,.18);width:22px;height:10px}
.orb-grim .orb-aura{background:radial-gradient(circle,rgba(160,0,24,.42),rgba(40,0,10,.35) 45%,transparent 70%);animation-duration:2.6s}
.orb-grim .orb-motes i{background:#ff5a2a;box-shadow:0 0 6px #ff3a1a}
.orb-grim .orb-motes i:nth-child(4),.orb-grim .orb-motes i:nth-child(5){background:#6a5a58;box-shadow:none}
.orb-grim .orb-eye{width:17px;height:6px;margin-top:8px;border-radius:2px 12px 2px 12px;background:var(--blood,#ff2a3d);box-shadow:0 0 8px #ff1a30,0 0 18px rgba(255,20,40,.6);animation:grim-eyes 6s infinite}
.orb-grim .orb-eye:nth-of-type(3){transform:rotate(14deg)}
.orb-grim .orb-eye:nth-of-type(4){transform:rotate(-14deg) scaleX(-1)}
.orb-grim .orb-eye b{left:7px;top:0;width:2px;height:6px;border-radius:1px;background:#1a0004;transform:translate(calc(var(--lx) * 4px),0)}
.orb-grim .orb-eye b::after{display:none}
.orb-grim .orb-brow{opacity:1;top:-1px;height:3px;background:#000;box-shadow:0 1px 0 rgba(255,40,60,.25)}
.orb-grim .orb-brow:nth-of-type(1){transform:rotate(24deg)}.orb-grim .orb-brow:nth-of-type(2){transform:rotate(-24deg)}
.orb-grim .orb-blush{display:none}
.orb-grim .orb-mouth{top:32px;width:20px;height:3px;margin-left:-6px;border-radius:0 0 6px 1px;background:var(--blood,#ff2a3d);box-shadow:0 0 6px rgba(255,30,50,.7);transform:rotate(-7deg)}
@keyframes grim-eyes{0%,46%,50%,100%{opacity:1}48%{opacity:.1}}
.orb-grim .orb-hat{transform:rotate(-12deg) translateX(-14px)}
.orb-grim .orb-hat::before{background:linear-gradient(#141012,#000)}
.orb-grim .orb-hat::after{background:linear-gradient(90deg,#000,#1e1719 45%,#050304);clip-path:polygon(0 100%,6% 10%,40% 0,72% 14%,100% 0,94% 100%)}
.orb-grim .orb-hat i{background:linear-gradient(90deg,#4a0610,#8a1a24 50%,#4a0610)}
.orb-grim .orb-hat i::after{width:6px;height:6px;border-radius:50%;background:#d9c9c4;top:0;right:6px;transform:none;box-shadow:0 0 4px #000}
.orb-grim .orb-ring{border:2px dashed rgba(180,40,50,.55);box-shadow:0 0 14px rgba(200,0,30,.35)}
.orb-grim .orb-hand{background:radial-gradient(circle at 35% 30%,#5a2a30,#1a0508 60%,#000);box-shadow:0 0 12px rgba(255,0,40,.35)}
.orb-grim .orb-spark{background:#ff3a2a;filter:drop-shadow(0 0 4px #ff1a1a)}
.orb-grim .orb-shadow{background:rgba(0,0,0,.8)}
/* moods: a sneer, not a smile */
.orb-grim.is-happy .orb-eye{height:5px;background:var(--blood,#ff2a3d);border:0;border-radius:12px 12px 2px 2px;margin-top:9px}
.orb-grim.is-happy .orb-eye b{display:block}
.orb-grim.is-happy .orb-mouth{width:24px;height:7px;margin-left:-10px;border-radius:0 0 12px 4px;transform:rotate(-5deg)}
.orb-grim.is-happy .orb-hand.is-left,.orb-grim.is-happy .orb-hand.is-right{animation:orb-hand 4s ease-in-out infinite}
.orb-grim.is-wow .orb-eye{width:14px;height:10px;margin-top:5px;border-radius:50%}
.orb-grim.is-wow .orb-mouth{width:10px;height:3px;margin-left:-5px;border-radius:2px;transform:none}
.orb-grim.is-sad .orb-eye,.orb-grim.is-poke .orb-eye,.orb-grim.is-held .orb-eye{height:3px;margin-top:10px;background:var(--blood,#ff2a3d);box-shadow:0 0 10px #ff1a30}
.orb-grim.is-poke .orb-mouth,.orb-grim.is-held .orb-mouth{width:18px;height:4px;margin-left:-9px;border-radius:1px;transform:none;clip-path:polygon(0 0,15% 100%,30% 0,45% 100%,60% 0,75% 100%,90% 0,100% 100%,0 100%)}
.orb-grim.is-poke .orb-body{animation:grim-snap .3s cubic-bezier(.3,1.8,.5,1)}
@keyframes grim-snap{40%{transform:scale(1.12) rotate(-4deg)}}
.orb-grim.is-sad .orb-hat{transform:rotate(-12deg) translateX(-14px)}

/* the header tab */
.nav-grim{color:#ff4a5a;border-color:#4a1018;background:linear-gradient(180deg,#160709,#070304);box-shadow:0 0 14px rgba(255,0,40,.22)}
.nav-grim.is-current{box-shadow:0 0 0 2px rgba(255,40,60,.35),0 0 18px rgba(255,0,40,.3)}
.nav-grim-orb{background:radial-gradient(circle at 36% 30%,#4a1f28,#12050a 55%,#000);box-shadow:0 0 9px rgba(255,20,40,.6)}
.nav-grim-orb i{top:9px;width:5px;height:2.5px;border-radius:1px 4px;background:#ff2a3d;box-shadow:0 0 4px #ff2a3d}
.nav-grim-orb i:first-child{left:5px;transform:rotate(14deg)}.nav-grim-orb i:last-child{right:5px;transform:rotate(-14deg) scaleX(-1)}
.nav-grim-orb::before{background:#000;transform:rotate(-12deg);left:4px}

/* @awe's + tab button */
.tab-adder{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:4px;border-radius:999px;border:1px dashed var(--outline-strong);color:var(--prose-3);font-size:16px;line-height:1;background:none;cursor:pointer}
.tab-adder:hover,.tab-adder[aria-expanded=true]{color:var(--prose);border-style:solid;background:var(--surface-raised)}
.tab-adder-menu{position:fixed;z-index:1000;width:240px;padding:8px;border-radius:10px;border:1px solid var(--outline-strong);background:var(--site-bg);color:var(--prose);box-shadow:0 14px 36px rgba(0,0,0,.3);text-transform:none;font-size:13px}
.tab-adder-scope{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;margin-bottom:6px;border-radius:7px;background:var(--surface)}
.tab-adder-scope button{padding:5px 0;border-radius:5px;font-size:11.5px;color:var(--prose-3);background:none;cursor:pointer}
.tab-adder-scope button[aria-checked=true]{background:var(--site-bg);color:var(--prose);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.tab-adder-row{display:flex;gap:4px}
.tab-adder-row>button:first-child{flex:1;display:flex;justify-content:space-between;align-items:center;padding:7px 8px;border-radius:6px;background:none;color:inherit;cursor:pointer;text-align:left}
.tab-adder-row>button:first-child:hover{background:var(--surface-raised)}
.tab-adder-row small{font-size:10.5px;color:var(--prose-3)}
.tab-adder-x{width:28px;border-radius:6px;background:none;color:var(--prose-3);cursor:pointer;font-size:15px}
.tab-adder-x:hover{background:var(--surface-raised);color:var(--prose)}
.tab-adder-menu p{margin:6px 4px 2px;font-size:10.5px;color:var(--prose-3)}
@media (max-width:639px){.grim-top{flex-direction:column;align-items:stretch}.grim-signs{flex-direction:row;justify-content:center}.grim-sign{min-width:0;flex:1}.grim-counter{flex-direction:column;text-align:center}.grim-counter-body{align-items:center}.grim-cloth{grid-template-columns:repeat(2,1fr)}.tab-adder{display:none}}

/* Grim, more of him: a hood of shadow behind, smoke rising, a coin he never stops flipping */
.grim{position:relative}
.grim-hood{position:absolute;left:-14px;top:-26px;width:208px;height:250px;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 46% 40% at 50% 46%,transparent 58%,rgba(0,0,0,.92) 62%,rgba(10,2,4,.85) 78%,transparent 100%);
  clip-path:polygon(50% 0,72% 8%,88% 30%,98% 70%,100% 100%,0 100%,2% 70%,12% 30%,28% 8%);filter:blur(1px);opacity:.9;animation:grim-hood 7s ease-in-out infinite}
@keyframes grim-hood{50%{transform:translateY(-4px) scaleX(1.03)}}
.grim .orb{z-index:1}
.grim-smoke{position:absolute;left:62px;top:-10px;width:60px;height:80px;z-index:0;pointer-events:none}
.grim-smoke i{position:absolute;left:50%;bottom:0;width:26px;height:26px;margin-left:-13px;border-radius:50%;background:radial-gradient(circle,rgba(90,60,66,.45),transparent 70%);filter:blur(4px);animation:grim-smoke 5s ease-out infinite}
.grim-smoke i:nth-child(2){animation-delay:-1.7s;left:30%}.grim-smoke i:nth-child(3){animation-delay:-3.4s;left:70%}
@keyframes grim-smoke{0%{opacity:0;transform:translateY(30px) scale(.6)}25%{opacity:.8}100%{opacity:0;transform:translateY(-60px) translateX(10px) scale(1.8)}}
.orb-grim .orb-spark{opacity:1;left:auto;right:4px;top:104px;margin:0;width:13px;height:13px;border-radius:50%;clip-path:none;
  background:radial-gradient(circle at 35% 35%,#fff1b0,#d9a631 55%,#7a5410);box-shadow:0 0 6px rgba(255,190,60,.6);filter:none;animation:grim-coin 2.4s cubic-bezier(.4,0,.6,1) infinite}
@keyframes grim-coin{0%,55%,100%{transform:translateY(0) rotateX(0)}70%{transform:translateY(-30px) rotateX(900deg)}85%{transform:translateY(0) rotateX(1800deg)}}
.orb-grim .orb-hand.is-right{animation:grim-flick 2.4s ease-in-out infinite}
@keyframes grim-flick{0%,52%,100%{transform:none}56%{transform:translateY(-6px) rotate(-14deg)}84%,88%{transform:translateY(2px)}}
.orb-grim.is-wow .orb-eye{box-shadow:0 0 10px #ff1a30,0 0 30px rgba(255,20,40,.9)}
.orb-grim.is-wow .orb-aura{animation-duration:.9s}
.grim-mute{flex-direction:row;justify-content:center;min-width:0!important;padding:8px;color:#a8888a;cursor:pointer}
.grim-mute:hover{color:var(--blood)}
@media (prefers-reduced-motion:reduce){.grim-smoke,.grim-hood,.orb-grim .orb-spark{animation:none}}

.grim-only{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ff5a3c;text-shadow:0 0 6px rgba(255,60,30,.6)}
