/* Law Sprint (public sample game). A self-contained premium skin: deep ink, gold, glass. Does not depend on the site theme. */
.lawx{--ink:#060818;--ink2:#0d1130;--indigo:#1a2060;--gold:#f5c451;--gold2:#ffe9a8;--ruby:#ff4d6d;--em:#19e6a1;--sap:#6aa8ff;--tx:#eef0ff;--dim:#9aa3d0;--glass:rgba(255,255,255,.06);--line:rgba(255,255,255,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--tx);line-height:1.5}
.lawx *{box-sizing:border-box}
.lx-app{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;min-height:620px;background:
  radial-gradient(900px 500px at 15% -10%,rgba(98,70,255,.45),transparent 60%),radial-gradient(800px 500px at 100% 0,rgba(245,196,81,.16),transparent 55%),radial-gradient(700px 600px at 50% 120%,rgba(25,230,161,.12),transparent 60%),linear-gradient(180deg,var(--ink2),var(--ink));
  border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(6,8,24,.55),inset 0 1px 0 rgba(255,255,255,.1)}
.lx-app::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
.lx-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.lx-fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:99999}
/* top bar */
.lx-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);backdrop-filter:blur(8px)}
.lx-logo{display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--tx);cursor:pointer;font:inherit;font-weight:800;letter-spacing:.14em;font-size:.95rem}
.lx-logo b{color:var(--gold)}.lx-logo .lx-emblem{width:34px;height:34px;filter:drop-shadow(0 0 8px rgba(245,196,81,.5))}
.lx-bar__r{display:flex;align-items:center;gap:8px}
.lx-ic,.lx-chip{font:inherit;cursor:pointer;color:var(--tx);background:var(--glass);border:1px solid var(--line);border-radius:12px;transition:transform .15s,background .2s,border-color .2s}
.lx-ic{width:38px;height:38px;font-size:1.05rem}.lx-ic.off{opacity:.45}.lx-chip{display:flex;align-items:center;gap:8px;padding:0 12px;height:38px;font-size:.82rem;font-weight:600;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-ic:hover,.lx-chip:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(245,196,81,.5)}
.lx-av{display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem}.lx-av.big{font-size:3rem;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.2),rgba(255,255,255,.04));border:2px solid var(--gold);box-shadow:0 0 30px rgba(245,196,81,.25);position:relative}
.lx-emblem .lx-beam{transform-origin:60px 31px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.lx-view{padding:22px 20px 30px;outline:none;animation:lxin .5s cubic-bezier(.2,.8,.2,1)}
@keyframes lxin{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
/* typography & buttons */
.lx-eyebrow{font-size:.72rem;letter-spacing:.28em;font-weight:700;color:var(--gold)}
.lawx h1,.lawx h2,.lawx h3,.lawx h4{font-family:Georgia,"Times New Roman",ui-serif,serif;color:var(--tx);margin:0;line-height:1.15;font-weight:700}
.lawx h1{font-size:clamp(2rem,5.5vw,3.3rem);letter-spacing:-.01em}.lawx h1 span{background:linear-gradient(90deg,var(--gold2),var(--gold) 50%,#ff9d5c);-webkit-background-clip:text;background-clip:text;color:transparent}
.lawx h2{font-size:clamp(1.3rem,3vw,1.8rem)}.lawx h3{font-size:1.15rem}.lawx p{margin:.5rem 0}
.lx-muted{color:var(--dim);font-size:.92rem}.c{text-align:center}
.lx-btn{position:relative;overflow:hidden;font:inherit;font-weight:700;letter-spacing:.06em;font-size:.88rem;cursor:pointer;color:var(--tx);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:12px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,box-shadow .25s,filter .2s;box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.2)}
.lx-btn:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.12)}.lx-btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.lx-btn:disabled{opacity:.45;cursor:not-allowed}
.lx-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s}.lx-btn:hover:not(:disabled)::after{left:130%}
.lx-primary{background:linear-gradient(180deg,#8f7bff,#5b45e8);border-color:#a899ff;box-shadow:0 8px 24px rgba(91,69,232,.5),inset 0 1px 0 rgba(255,255,255,.35)}
.lx-gold{background:linear-gradient(180deg,#ffe9a8,#f5c451 55%,#d99b1f);color:#2a1800;border-color:#ffe9a8;box-shadow:0 8px 24px rgba(245,196,81,.4),inset 0 1px 0 rgba(255,255,255,.6)}
.lx-wa{background:linear-gradient(180deg,#38e079,#17b657);border-color:#7dffab;color:#032b13}.lx-ghost{background:var(--glass)}
.lx-big{padding:15px 26px;font-size:.95rem}.lx-link{background:none;border:0;color:var(--gold);cursor:pointer;font:inherit;font-size:.85rem;text-decoration:underline;padding:4px}
.lx-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.lx-cta.c{justify-content:center}
kbd{font:inherit;font-size:.68rem;border:1px solid rgba(255,255,255,.3);border-radius:5px;padding:0 6px;opacity:.75}
.lx-glass{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:20px;padding:18px 20px;backdrop-filter:blur(10px);box-shadow:0 14px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1);margin-top:16px}
/* home */
.lx-hero{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center}
.lx-hero__em .lx-emblem{width:100%;animation:lxfloat 5s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(245,196,81,.5))}
.lx-hero__em .lx-beam{animation:lxbeam 6s ease-in-out infinite}
@keyframes lxfloat{50%{transform:translateY(-10px)}}@keyframes lxbeam{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
.lx-hero__t p{color:var(--dim);max-width:62ch}
.lx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.lx-stat{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}.lx-stat b{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--gold)}.lx-stat span{font-size:.64rem;letter-spacing:.2em;color:var(--dim)}
.lx-ladder__h{display:flex;justify-content:space-between;align-items:end;gap:10px;flex-wrap:wrap}.lx-ladder small{font-size:.66rem;letter-spacing:.2em;color:var(--gold)}
.lx-meter{height:12px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;margin:12px 0 8px}.lx-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--em),var(--gold));box-shadow:0 0 14px rgba(245,196,81,.6);transition:width 1s cubic-bezier(.2,.8,.2,1);animation:lxgrow 1.2s cubic-bezier(.2,.8,.2,1)}
@keyframes lxgrow{from{width:0}}
.lx-steps{display:flex;justify-content:space-between;gap:4px;font-size:.66rem;color:var(--dim);flex-wrap:wrap}.lx-steps span.on{color:var(--gold);font-weight:700}
.lx-sec{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lx-sec small{color:var(--dim);font-family:Inter,sans-serif;font-size:.8rem}
.lx-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.lx-bd{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;opacity:.5;transition:transform .2s}.lx-bd i{display:block;font-style:normal;font-size:1.9rem;filter:grayscale(1)}.lx-bd b{display:block;font-size:.82rem}.lx-bd span{display:block;font-size:.68rem;color:var(--dim)}
.lx-bd.on{opacity:1;border-color:rgba(245,196,81,.6);background:linear-gradient(180deg,rgba(245,196,81,.16),rgba(245,196,81,.04));box-shadow:0 0 22px rgba(245,196,81,.2)}.lx-bd.on i{filter:none;animation:lxpulse 2.6s ease-in-out infinite}.lx-bd:hover{transform:translateY(-3px)}
@keyframes lxpulse{50%{transform:scale(1.12)}}
.lx-lbrow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--glass);margin-bottom:6px;animation:lxrow .5s both}.lx-lbrow b{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lx-lbrow em{font-style:normal;font-family:Georgia,serif;font-size:1.2rem;color:var(--gold)}.lx-lbrow small{color:var(--dim)}.lx-lbrow.me{outline:2px solid var(--gold);background:rgba(245,196,81,.12)}.lx-rk{width:1.8rem;text-align:center;font-weight:800;color:var(--dim)}.lx-medal{font-size:1.3rem}
@keyframes lxrow{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
/* play */
.lx-play{max-width:820px;margin:0 auto}
.lx-hud{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:12px}
.lx-score b{display:block;font-family:Georgia,serif;font-size:2.4rem;color:var(--gold);line-height:1;text-shadow:0 0 20px rgba(245,196,81,.5)}.lx-score span{font-size:.62rem;letter-spacing:.24em;color:var(--dim)}.lx-score b.bump{animation:lxbump .4s}
@keyframes lxbump{40%{transform:scale(1.25)}}
.lx-flame{text-align:center;font-size:.8rem;color:var(--dim);min-height:2.4rem}.lx-flame b{display:block;color:var(--tx);letter-spacing:.14em}.lx-flame .fire{font-style:normal;font-size:1.5rem;display:inline-block;animation:lxfire .5s infinite alternate}.lx-flame.warm b{color:var(--gold)}.lx-flame.hot b{color:#ff8a5c;text-shadow:0 0 14px rgba(255,120,60,.7)}.lx-flame .dim{opacity:.7}.lx-flame span{display:block;font-size:.72rem}
@keyframes lxfire{to{transform:scale(1.25) rotate(6deg)}}
.lx-ring{position:relative;width:62px;height:62px}.lx-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.lx-ring circle{fill:none;stroke-width:5}.lx-ring .bg{stroke:rgba(255,255,255,.12)}.lx-ring .fg{stroke:var(--em);stroke-linecap:round;transition:stroke-dashoffset .1s linear,stroke .3s;filter:drop-shadow(0 0 5px var(--em))}.lx-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800}.lx-ring.mid .fg{stroke:var(--gold)}.lx-ring.hurry .fg{stroke:var(--ruby)}.lx-ring.hurry{animation:lxthrob .5s infinite}
@keyframes lxthrob{50%{transform:scale(1.1)}}
.lx-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:22px;padding:20px 22px;box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.lx-prog{display:flex;gap:5px;margin-bottom:14px}.lx-prog i{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.12);transition:background .3s}.lx-prog i.ok{background:var(--em);box-shadow:0 0 8px var(--em)}.lx-prog i.no{background:var(--ruby)}.lx-prog i.now{background:var(--gold);animation:lxthrob 1.2s infinite}
.lx-q{margin:.5rem 0 1rem!important;font-size:clamp(1.15rem,2.8vw,1.55rem)!important;line-height:1.35!important}
.lx-help{color:var(--dim);font-size:.85rem}
.lx-opts{display:grid;gap:11px}
.lx-opt{display:flex;align-items:center;gap:14px;font:inherit;text-align:left;cursor:pointer;color:var(--tx);background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:14px 16px;font-size:.98rem;transition:transform .15s,border-color .2s,box-shadow .25s,background .2s;animation:lxopt .5s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes lxopt{from{opacity:0;transform:translateX(-26px) scale(.97)}to{opacity:1;transform:none}}
.lx-opt kbd{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:rgba(245,196,81,.15);border:1px solid rgba(245,196,81,.5);color:var(--gold);font-weight:800;opacity:1;font-size:.85rem}
.lx-opt:hover:not(:disabled){transform:translateY(-3px) scale(1.012);border-color:var(--gold);box-shadow:0 10px 26px rgba(245,196,81,.2)}.lx-opt:active:not(:disabled){transform:scale(.985)}
.lx-opt.right{background:linear-gradient(180deg,rgba(25,230,161,.35),rgba(25,230,161,.14));border-color:var(--em);box-shadow:0 0 30px rgba(25,230,161,.45);animation:lxright .6s}.lx-opt.wrong{background:linear-gradient(180deg,rgba(255,77,109,.35),rgba(255,77,109,.12));border-color:var(--ruby);animation:lxshake .45s}.lx-opt.dim{opacity:.4}
@keyframes lxright{40%{transform:scale(1.04)}}@keyframes lxshake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.lx-shake{animation:lxshake .45s}
.lx-why{margin-top:16px;padding:14px 16px;border-radius:16px;border:1px solid;animation:lxin .4s}.lx-why.ok{border-color:rgba(25,230,161,.6);background:linear-gradient(180deg,rgba(25,230,161,.16),rgba(25,230,161,.04))}.lx-why.no{border-color:rgba(255,77,109,.6);background:linear-gradient(180deg,rgba(255,77,109,.16),rgba(255,77,109,.04))}
.lx-why__h{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}.lx-why__h b{font-family:Georgia,serif;font-size:1.2rem}.lx-why__h span{color:var(--gold);font-size:.88rem}.lx-why p{font-size:.92rem}.lx-act{color:var(--dim)!important;font-size:.82rem!important}.lx-act a{color:var(--gold)}
.lx-why .lx-btn{margin-top:8px}
/* pairs & order */
.lx-pairs{display:grid;gap:10px}.lx-row2{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}
.lx-left{background:linear-gradient(180deg,rgba(106,168,255,.25),rgba(106,168,255,.1));border:1px solid rgba(106,168,255,.5);border-radius:14px;padding:12px 14px;font-weight:700;display:flex;align-items:center}
.lx-slot{min-height:50px;border:2px dashed rgba(245,196,81,.5);border-radius:14px;padding:6px 8px;color:var(--dim);font-size:.85rem;display:flex;align-items:center;transition:background .2s,transform .2s}.lx-slot.over{background:rgba(245,196,81,.2);transform:scale(1.02)}.lx-slot.full{border-style:solid;border-color:rgba(255,255,255,.3);color:var(--tx)}
.lx-slot.right,.lx-it.right{border-color:var(--em)!important;background:rgba(25,230,161,.16)!important}.lx-slot.wrong,.lx-it.wrong{border-color:var(--ruby)!important;background:rgba(255,77,109,.16)!important}
.lx-tray{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0;padding:10px;min-height:52px;border:1px dashed rgba(255,255,255,.2);border-radius:14px}
.lx-piece{display:inline-flex;height:auto;cursor:grab;background:linear-gradient(180deg,#8f7bff,#5b45e8);border:1px solid #a899ff;border-radius:11px;padding:8px 12px;font-size:.86rem;box-shadow:0 5px 14px rgba(91,69,232,.4);color:#fff;max-width:none;white-space:normal;font-weight:600}.lx-piece.sel{outline:3px solid var(--gold);transform:translateY(-2px)}.lx-piece.drag{opacity:.4}
.lx-ord{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:9px}.lx-it{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:10px 12px;cursor:grab;transition:transform .15s,box-shadow .2s}.lx-it:hover{transform:translateX(4px)}.lx-it.over{outline:2px dashed var(--gold)}.lx-it.drag{opacity:.4}
.lx-n{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:var(--gold);color:#2a1800}.lx-t{flex:1}.lx-ar{display:flex;gap:5px}.lx-mv{font:inherit;cursor:pointer;color:var(--tx);background:rgba(255,255,255,.12);border:1px solid var(--line);border-radius:8px;width:30px;height:30px}.lx-mv:disabled{opacity:.25}
/* gavel + fx */
.lx-gavel{position:absolute;left:50%;top:44%;width:130px;height:130px;margin:-65px 0 0 -65px;pointer-events:none;opacity:0;z-index:5}.lx-gavel .gv{transform-origin:90% 95%}
.lx-gavel.hit{animation:lxgv .7s ease-out}.lx-gavel.hit .gv{animation:lxgvs .7s ease-out}
@keyframes lxgv{0%{opacity:0}15%{opacity:1}75%{opacity:1}100%{opacity:0}}@keyframes lxgvs{0%{transform:rotate(-60deg)}35%{transform:rotate(8deg)}50%{transform:rotate(-4deg)}100%{transform:rotate(0)}}
.lx-pop{position:absolute;transform:translate(-50%,0);font-family:Georgia,serif;font-weight:700;font-size:2rem;pointer-events:none;animation:lxp 1s ease-out forwards;z-index:30;text-shadow:0 3px 14px #000}.lx-pop.good{color:var(--em)}.lx-pop.bad{color:var(--ruby)}
@keyframes lxp{0%{opacity:0;margin-top:10px;scale:.6}25%{opacity:1;scale:1.2}100%{opacity:0;margin-top:-70px;scale:1}}
.lx-coin{position:fixed;width:20px;height:20px;border-radius:50%;z-index:99998;pointer-events:none;background:radial-gradient(circle at 35% 30%,#fff6c9,#f5c451 55%,#b8862b);box-shadow:0 0 10px rgba(245,196,81,.8);animation:lxcoin 1.3s cubic-bezier(.3,.7,.5,1) forwards}
@keyframes lxcoin{0%{transform:translate(0,0) scale(.5);opacity:1}40%{transform:translate(calc(var(--dx)*.6),var(--dy)) scale(1)}100%{transform:translate(var(--dx),calc(var(--dy) + 260px)) scale(.8) rotateY(540deg);opacity:0}}
.lx-flash{position:absolute;inset:0;pointer-events:none;z-index:4;animation:lxfl .6s ease-out forwards}.lx-flash.good{background:radial-gradient(circle,rgba(25,230,161,.28),transparent 70%)}.lx-flash.bad{background:radial-gradient(circle,rgba(255,77,109,.3),transparent 70%)}
@keyframes lxfl{from{opacity:1}to{opacity:0}}
.lx-toast{position:absolute;top:70px;right:16px;z-index:60;display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:16px;background:linear-gradient(180deg,#2b2377,#171452);border:1px solid var(--gold);box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 30px rgba(245,196,81,.35);transform:translateX(130%);transition:transform .5s cubic-bezier(.2,1.1,.3,1);max-width:320px}.lx-toast.in{transform:none}
.lx-toast .ic{font-size:2.2rem}.lx-toast small{display:block;font-size:.6rem;letter-spacing:.24em;color:var(--gold)}.lx-toast b{display:block}.lx-toast span:not(.ic){font-size:.78rem;color:var(--dim)}
/* modal & overlays */
.lx-ov{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(4,5,18,.78);backdrop-filter:blur(8px);animation:lxfade .25s}.lx-ov[hidden]{display:none}
@keyframes lxfade{from{opacity:0}}
.lx-modal{position:relative;width:min(560px,100%);max-height:90%;overflow:auto;background:linear-gradient(180deg,#1c2166,#0f1340);border:1px solid rgba(245,196,81,.5);border-radius:22px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(245,196,81,.15);animation:lxmod .45s cubic-bezier(.2,1.2,.3,1)}
@keyframes lxmod{from{opacity:0;transform:translateY(24px) scale(.94)}}
.lx-x{position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--tx);font-size:1.3rem;cursor:pointer}
.lx-names{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 6px}.lx-avs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}
.lx-pick{font:inherit;cursor:pointer;color:var(--tx);background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:10px;font-weight:600;font-size:.88rem;transition:transform .15s,border-color .2s}.lx-pick:hover{transform:translateY(-2px)}.lx-pick.on{border-color:var(--gold);background:rgba(245,196,81,.18);box-shadow:0 0 18px rgba(245,196,81,.3)}.lx-avp{font-size:1.5rem;padding:8px}
.lx-row{display:flex;gap:10px;margin-top:14px;justify-content:center}
.lx-tabs{display:flex;gap:8px;margin:12px 0}.lx-tabs button{flex:1;font:inherit;font-weight:700;cursor:pointer;color:var(--dim);background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:9px}.lx-tabs button.on{color:#2a1800;background:linear-gradient(180deg,var(--gold2),var(--gold));border-color:var(--gold2)}
.lx-cd{background:radial-gradient(circle,rgba(30,20,90,.85),rgba(4,5,18,.95))}.lx-cdn{font-family:Georgia,serif;font-size:clamp(5rem,22vw,11rem);font-weight:800;color:var(--gold);text-shadow:0 0 60px rgba(245,196,81,.8);animation:lxcd .9s ease-out infinite}.lx-cdn.go{color:var(--em);text-shadow:0 0 60px rgba(25,230,161,.9);animation:lxgo .5s ease-out}
@keyframes lxcd{0%{transform:scale(2.2);opacity:0}30%{transform:scale(1);opacity:1}100%{transform:scale(.8);opacity:.2}}@keyframes lxgo{from{transform:scale(.5);opacity:0}to{transform:scale(1.2);opacity:1}}
/* result */
.lx-result{max-width:820px;margin:0 auto}.lx-rc{text-align:center;padding:26px 22px}.lx-rank{margin:.3rem 0!important;font-size:clamp(2rem,6vw,3.2rem)!important;background:linear-gradient(90deg,var(--gold2),var(--gold),#ff9d5c);-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:lxrank .9s cubic-bezier(.2,1.3,.3,1)}
@keyframes lxrank{from{transform:scale(.4);opacity:0}}
.lx-stars{font-size:2.8rem;letter-spacing:8px}.lx-stars span{display:inline-block;color:rgba(255,255,255,.15);transform:scale(.5);animation:lxstar .6s forwards;animation-play-state:running}.lx-stars span.on{color:var(--gold);text-shadow:0 0 20px var(--gold)}
@keyframes lxstar{to{transform:scale(1)}}
.lx-bigscore b{font-family:Georgia,serif;font-size:3.8rem;color:var(--tx);text-shadow:0 0 30px rgba(245,196,81,.6)}.lx-bigscore small{display:block;letter-spacing:.3em;color:var(--dim);font-size:.7rem}
.lx-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0}.lx-chips span{background:var(--glass);border:1px solid var(--line);border-radius:99px;padding:5px 14px;font-size:.82rem}.lx-chips .gold{border-color:var(--gold);color:var(--gold)}
.lx-place{min-height:1.6rem;color:var(--dim)}.lx-place b{color:var(--gold);font-size:1.1rem}
.lx-earned{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:stretch;margin:10px 0}.lx-earned h4{width:100%;color:var(--dim);font-family:Inter,sans-serif;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase}.lx-earned .lx-bd{min-width:120px;animation:lxopt .6s both}
.lx-rev summary{cursor:pointer;font-weight:700;color:var(--gold)}.lx-rev ul{list-style:none;margin:12px 0 0;padding:0}.lx-rev li{padding:10px 0;border-top:1px solid var(--line)}.lx-rev li span{display:block;color:var(--gold);font-size:.86rem}.lx-rev li p{font-size:.86rem;color:var(--dim)}
/* duel */
.lx-lobby{max-width:760px;margin:10px auto;text-align:center}.lx-versus{display:flex;align-items:center;justify-content:center;gap:clamp(12px,5vw,44px);margin:20px 0}.lx-pl{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:110px;transition:transform .4s}.lx-pl small{color:var(--dim)}.lx-pl.wait .lx-av.big{border-style:dashed;opacity:.6;animation:lxthrob 1.4s infinite}.lx-pl.join{animation:lxjoin .7s cubic-bezier(.2,1.4,.3,1)}
@keyframes lxjoin{from{transform:translateX(60px) scale(.5);opacity:0}}
.lx-vsb{font-family:Georgia,serif;font-size:2rem;font-weight:800;color:var(--ruby);text-shadow:0 0 20px rgba(255,77,109,.7);animation:lxthrob 1.2s infinite}
.lx-invite{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;text-align:left;margin:10px 0;padding:16px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:18px}.lx-invite.done{opacity:.6}
.lx-qr{background:#fff;border-radius:16px;padding:10px;text-align:center;box-shadow:0 0 30px rgba(245,196,81,.35)}.lx-qr img{display:block;border-radius:6px}.lx-qr small{color:#222;font-weight:700;letter-spacing:.14em;font-size:.65rem}
.lx-code small{display:block;font-size:.62rem;letter-spacing:.24em;color:var(--dim)}.lx-code b{font-family:Georgia,serif;font-size:2.4rem;letter-spacing:.3em;color:var(--gold)}
.lx-link-in{width:100%;font:inherit;font-size:.82rem;color:var(--tx);background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:10px;padding:9px 10px;margin:8px 0}.lx-share{display:flex;flex-wrap:wrap;gap:8px}.lx-share .lx-btn{padding:9px 14px;font-size:.8rem}
.lx-duelbar{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-bottom:12px;padding:10px 14px;background:var(--glass);border:1px solid var(--line);border-radius:16px}.lx-duelbar .lx-vs{font-family:Georgia,serif;font-weight:800;color:var(--ruby)}
.lx-who{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"a n s" "b b b";gap:2px 8px;align-items:center;font-size:.82rem}.lx-who .lx-av{grid-area:a}.lx-who b{grid-area:n;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lx-who em{grid-area:s;font-style:normal;color:var(--gold);font-weight:800}.lx-who i{grid-area:b;display:block;height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.lx-who i s{display:block;height:100%;background:linear-gradient(90deg,var(--sap),var(--em));transition:width .7s;border-radius:99px}.lx-who.opp i s{background:linear-gradient(90deg,var(--ruby),var(--gold))}
.lx-versus.big .lx-pl.winner .lx-av.big{border-color:var(--gold);box-shadow:0 0 50px rgba(245,196,81,.8);animation:lxthrob 1.2s infinite}.lx-pl .crown{position:absolute;top:-34px;font-style:normal;font-size:2rem;animation:lxcrown 1s cubic-bezier(.2,1.5,.3,1)}
@keyframes lxcrown{from{transform:translateY(-40px) scale(.2);opacity:0}}
.lx-pl .lx-bigscore b{font-size:2.4rem}
@media(max-width:700px){.lx-hero{grid-template-columns:1fr;text-align:center}.lx-hero__em{max-width:140px;margin:0 auto}.lx-stats{grid-template-columns:repeat(2,1fr)}.lx-cta{justify-content:center}.lx-invite{grid-template-columns:1fr;text-align:center}.lx-qr{margin:0 auto}.lx-row2{grid-template-columns:1fr}.lx-names{grid-template-columns:1fr}.lx-hud{grid-template-columns:auto 1fr auto;gap:8px}.lx-chip{max-width:120px}.lx-view{padding:16px 12px 24px}.lx-card{padding:16px}.lx-avs{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){.lawx *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* page chrome around the game */
.lawpage .lx-wrap{max-width:1000px;margin:0 auto}.lx-intro{margin:0 0 20px}.lx-note{font-size:.84rem;color:var(--muted,#666);margin-top:14px}
.lx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0}.lx-tile{border:1px solid rgba(120,120,160,.35);border-radius:14px;padding:16px}.lx-tile h3{margin:0 0 .3rem;font-size:1.05rem}.lx-tile p{margin:0;font-size:.92rem}.lx-soon{opacity:.8}
/* readability: body copy inside the games is white, slightly smaller, with more line height */
.lawx .lx-muted,.lawx .lx-hero__t p,.lawx .lx-help,.lawx .lx-why p,.lawx .lx-act,.lawx .lx-rev li p,.lawx .lx-modal p,.lawx .lx-lobby p,.lawx .lx-intro p{color:#fff;font-size:.88rem;line-height:1.75}
.lawx .lx-hero__t p{font-size:.95rem}.lawx .lx-act{opacity:.85}.lawx .lx-act a{color:var(--gold2)}
.lawx .lx-bd span,.lawx .lx-steps,.lawx .lx-ladder .lx-muted{color:#fff;opacity:.85;line-height:1.6}
/* the site's own paragraph colour was winning inside the games: make all game paragraphs white */
.lawx p,.lawx li,.lawx summary+*{color:#fff}
.lawx p.ll-mn{color:var(--gold)}.lawx p.lx-act,.lawx .lx-muted{color:#fff}.lawx .lx-eyebrow{color:var(--gold)}
/* feature banner on the Law page */
.lx-feature{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin:2.2rem 0 0;padding:26px 28px;border-radius:22px;text-decoration:none!important;color:#fff!important;
  background:radial-gradient(700px 260px at 0 0,rgba(143,123,255,.55),transparent 60%),radial-gradient(500px 240px at 100% 100%,rgba(245,196,81,.35),transparent 60%),linear-gradient(135deg,#171a55,#0a0d2e);
  border:1px solid rgba(245,196,81,.55);box-shadow:0 22px 60px rgba(23,26,85,.45),0 0 0 4px rgba(245,196,81,.08),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .25s cubic-bezier(.2,.8,.2,1.2),box-shadow .3s}
.lx-feature:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 30px 70px rgba(23,26,85,.55),0 0 0 4px rgba(245,196,81,.2),0 0 50px rgba(245,196,81,.25)}
.lx-feature__glow{position:absolute;top:-60%;left:-30%;width:40%;height:220%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);animation:lxsweep 5s ease-in-out infinite;pointer-events:none}
@keyframes lxsweep{0%,60%{left:-40%}100%{left:130%}}
.lx-feature__icon{display:flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:24px;color:#2a1800;background:linear-gradient(160deg,#ffe9a8,#f5c451 55%,#d99b1f);box-shadow:0 10px 30px rgba(245,196,81,.45),inset 0 2px 0 rgba(255,255,255,.6);animation:lxfloat 4.5s ease-in-out infinite}
.lx-feature__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.lx-feature__tag{align-self:flex-start;font-size:.68rem;font-weight:800;letter-spacing:.24em;color:#2a1800;background:linear-gradient(180deg,#ffe9a8,#f5c451);border-radius:99px;padding:3px 12px;animation:lxthrob 2s ease-in-out infinite}
.lx-feature strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.1;color:#fff}
.lx-feature__text{color:rgba(255,255,255,.86);font-size:.95rem;line-height:1.65;max-width:62ch}
.lx-feature__steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.lx-feature__steps i{font-style:normal;font-size:.74rem;font-weight:700;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:4px 12px}
.lx-feature__cta{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em;color:#2a1800;background:linear-gradient(180deg,#ffe9a8,#f5c451 55%,#d99b1f);border-radius:16px;padding:15px 24px;box-shadow:0 10px 26px rgba(245,196,81,.45),inset 0 1px 0 rgba(255,255,255,.6);white-space:nowrap}
.lx-feature__cta b{transition:transform .25s}.lx-feature:hover .lx-feature__cta b{transform:translateX(6px)}
@media(max-width:860px){.lx-feature{grid-template-columns:1fr;text-align:center;justify-items:center;padding:24px 20px}.lx-feature__body{align-items:center}.lx-feature__tag{align-self:center}.lx-feature__steps{justify-content:center}}
@media(prefers-reduced-motion:reduce){.lx-feature__glow,.lx-feature__icon,.lx-feature__tag{animation:none}}
/* subject chooser */
.lx-subj{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:18px 0 4px}.lx-subj__l{flex-basis:100%;font-size:.68rem;font-weight:800;letter-spacing:.26em;color:var(--gold)}
.lx-sj{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:132px;padding:10px 14px;font:inherit;text-align:left;color:#fff;cursor:pointer;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:14px;transition:transform .2s,border-color .2s,box-shadow .3s}
.lx-sj i{font-style:normal;font-size:1.4rem}.lx-sj b{font-size:.92rem}.lx-sj small{font-size:.68rem;opacity:.75}.lx-sj:hover{transform:translateY(-3px);border-color:var(--gold)}
.lx-sj.on{border-color:var(--gold);background:linear-gradient(180deg,rgba(245,196,81,.28),rgba(245,196,81,.08));box-shadow:0 0 24px rgba(245,196,81,.35)}
.lx-tabs--sub{margin-top:-4px;flex-wrap:wrap}.lx-tabs--sub button{font-size:.76rem;padding:6px 10px}
/* language switcher and Devanagari text */
.lx-langsw{display:inline-flex;gap:2px;padding:3px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);vertical-align:middle}
.lx-lg{font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#fff;background:none;border:0;border-radius:99px;padding:5px 11px;cursor:pointer;transition:background .2s,color .2s}
.lx-lg:hover:not(:disabled){background:rgba(255,255,255,.18)}.lx-lg.on{background:linear-gradient(180deg,#ffe9a8,#f5c451);color:#2a1800}.lx-lg:disabled{opacity:.45;cursor:not-allowed}
.lx-langpage{margin:10px 0 6px}.lx-langpage .lx-langsw{background:#14174a;border-color:#2d3170}.lx-langpage .lx-lg{font-size:.82rem;padding:6px 14px}
.lx-bar__r .lx-langsw{margin-right:4px}.lx-bar__r .lx-lg{padding:5px 8px}
.lawx:lang(hi),.lawx:lang(hi) *,.lawpage:lang(hi) .lx-tile,.lawpage:lang(hi) .lx-note,.lawpage:lang(hi) h1,.lawpage:lang(hi) h2,.lawpage:lang(hi) p{font-family:"Noto Sans Devanagari","Nirmala UI",Mangal,"Segoe UI",system-ui,sans-serif}
.lawx:lang(hi) h1,.lawx:lang(hi) h2,.lawx:lang(hi) h3,.lawx:lang(hi) .ll-big,.lawx:lang(hi) .ll-mn,.lawx:lang(hi) .lx-q{font-weight:700;letter-spacing:0}
.lawx:lang(hi) .lx-eyebrow,.lawx:lang(hi) kbd{letter-spacing:.04em}
.lawx:lang(hi) .lx-q,.lawx:lang(hi) .ll-big{line-height:1.7}
@media(max-width:700px){.lx-bar__r .lx-lg{padding:4px 6px;font-size:.66rem}}
/* Devanagari: letter-spacing breaks conjuncts, so switch it off everywhere in Hindi mode */
.lawx:lang(hi) *,.lawpage:lang(hi) *,.lx-feature:lang(hi) *{letter-spacing:normal!important;text-transform:none!important}
/* link tiles on the Law landing page */
.lx-link-tile{display:block;text-decoration:none!important;color:inherit;transition:transform .2s,box-shadow .25s,border-color .2s}.lx-link-tile:hover{transform:translateY(-4px);border-color:#5b54d4;box-shadow:0 14px 34px rgba(91,84,212,.2)}.lx-link-tile span{display:inline-block;margin-top:.6rem;font-weight:700;color:#5b54d4;font-size:.9rem}
