@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=Cinzel:wght@400;500;600;700&display=swap');
:root{--ink:#e6ded0;--muted:#a29a92;--gold:#c4a46c;--gold-bright:#ead3a3;--line:#ae946644;--font:'Barlow Condensed',Arial,sans-serif;--display:'Cinzel',Georgia,serif;--stone:#17191c;--champ:#b59bff}
*{box-sizing:border-box}html,body,#game-root{margin:0;width:100%;height:100%;overflow:hidden;background:#101115;color:var(--ink);font-family:var(--font)}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}a{color:inherit;text-decoration:none}button{border-radius:0}h1,h2,h3{font-family:var(--display);font-weight:500;margin:0}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sigil{width:32px;height:32px;flex-shrink:0}.hidden{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;outline:none;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#0c0e12ed,transparent 36%,transparent 60%,#0c0e12ed 92%),linear-gradient(0deg,#0a0c10ed,transparent 35%,transparent 78%,#0a0c10da)}body:has(#lobby.hidden) .vignette{background:linear-gradient(0deg,#06080cb0,transparent 23%,transparent 78%,#06080cda)}.screen-grain{position:fixed;inset:0;pointer-events:none;opacity:.045;background-image:url('/art/cabal-basalt-floor.png');background-size:700px;mix-blend-mode:screen;z-index:21}
#header{position:fixed;z-index:3;inset:0 0 auto;height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 3.8%;background:linear-gradient(#0c0e12b0,transparent)}#header:after{content:'';position:absolute;bottom:0;left:3.8%;right:3.8%;height:1px;background:linear-gradient(90deg,var(--line),transparent 35%,transparent 65%,var(--line))}.brand{display:flex;align-items:center;gap:16px;font:28px var(--display);letter-spacing:7px}.brand small{display:block;font:9px var(--font);letter-spacing:5px;color:var(--gold);margin-top:5px}.brandmark{width:48px;height:59px;display:grid;place-items:center;font:44px Georgia;color:var(--gold);border:1px solid var(--line);clip-path:polygon(50% 0,100% 20%,100% 78%,50% 100%,0 78%,0 20%);background:linear-gradient(120deg,#bfa16b30,transparent)}.chapter{font:13px var(--display);letter-spacing:4px;color:#d6c7af;text-align:center;position:absolute;left:50%;transform:translateX(-50%)}.chapter span{display:block;font:9px var(--font);letter-spacing:3px;margin-top:10px;color:#97856b}.text-button{border:0;background:none;font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:14px;color:var(--gold)}.text-button svg{width:27px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--gold)}.roster{position:fixed;left:3.8%;top:143px;width:230px;z-index:2}.roster>.eyebrow{margin-bottom:21px}#champions{display:flex;flex-direction:column;gap:9px}.champ-card{height:78px;display:flex;align-items:center;text-align:left;gap:13px;position:relative;padding:0 12px 0 0;background:linear-gradient(90deg,#23242ab5,#15171a35);border:1px solid #9a897033;border-left:2px solid #9a897044;transition:background .18s,border-color .18s,transform .18s}.champ-card:hover{background:linear-gradient(90deg,#45404b99,#1a1c20aa);transform:translateX(4px)}.champ-card.selected{border-color:#c4a46c88;border-left:2px solid var(--gold-bright);background:linear-gradient(90deg,#5c4b3288,#191b20dd);box-shadow:0 0 25px #c4a46c0c}.champ-card.selected:after{content:'';position:absolute;right:-5px;top:33px;width:9px;height:9px;border:1px solid var(--gold);transform:rotate(45deg);background:#aa8c58}.portrait{display:inline-block;background-image:url('/art/cabal-champion-portraits.png');background-size:500% 100%;background-position:var(--portrait) center;width:57px;height:76px;flex:0 0 57px;box-shadow:inset 0 0 18px #0008}.champ-card strong{font:16px var(--display);font-weight:500;letter-spacing:.6px}.champ-card small{display:block;margin-top:6px;font-size:9px;letter-spacing:1.6px;color:#a49a91}.champ-card>svg{width:22px;height:22px;color:var(--champ);margin-left:auto;opacity:.75}.champ-card>b{position:absolute;top:6px;right:7px;font:8px var(--font);color:#a08c6a}.roster-note{margin-top:24px;font:italic 15px/1.7 Georgia;color:#9a8e7c;border-left:1px solid #9c855252;padding-left:16px}.champion-detail{position:fixed;z-index:2;right:3.8%;top:145px;width:310px}.champion-detail h1{font-size:clamp(40px,4vw,64px);letter-spacing:3px;line-height:1.15;margin-top:8px;color:#e7d7bb;text-shadow:0 3px 20px #000}.subtitle{font:italic 17px/1.5 Georgia;color:#bca98b;margin:6px 0 14px}.champion-detail>svg{width:100%;height:16px;color:var(--gold);opacity:.55}.lore{font:italic 13px/1.6 Georgia;color:#a9a09b;margin:15px 0 19px}.spell-ledger{border-top:1px solid var(--line)}.ledger-row{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #a3907024}.ledger-row>svg{width:31px;color:var(--champ)}.ledger-row>div{flex:1}.ledger-row h3{font-size:13px;color:#dfd5c3;display:flex;align-items:center;gap:9px}.ledger-row p{font-size:13px;color:#aaa19b;line-height:1.4;margin:6px 0 0}.ledger-row kbd{font:10px var(--font);padding:1px 4px;min-width:18px;text-align:center}.champ-traits{display:flex;gap:26px;margin-top:15px;font:20px var(--display);color:#d6c09b}.champ-traits small{font:9px var(--font);letter-spacing:2px;color:#a0927d;margin-left:5px}.summon-caption{position:fixed;left:49%;transform:translateX(-50%);bottom:106px;text-align:center;width:300px;pointer-events:none;color:#ad9878}.summon-caption>span{font:11px var(--display);letter-spacing:3px}.summon-caption>svg{display:block;width:260px;height:22px;margin:12px auto;color:#a88b55;opacity:.55}.summon-caption small{font-size:9px;letter-spacing:3px;color:#83786b}.play-panel{position:fixed;bottom:85px;right:3.8%;width:310px;z-index:2}.play-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:#c0a77c;margin-bottom:12px}.play-heading small{font-size:9px;color:#8f877e;letter-spacing:1px}.btn{border:1px solid #b294605e;background:#15171be6;min-height:46px;padding:0 17px;font-size:11px;letter-spacing:1.7px;display:inline-flex;align-items:center;justify-content:center;gap:12px;position:relative;transition:background .2s,filter .2s}.btn:hover{filter:brightness(1.18)}.btn.primary{background:linear-gradient(115deg,#574321,#967744 45%,#604825);color:#f6e6c5;border:1px solid #c5a263;box-shadow:inset 0 0 0 3px #17130c66,0 5px 25px #0005;text-shadow:0 1px 3px #211506}.btn.primary:before,.btn.primary:after{content:'';position:absolute;width:5px;height:5px;top:calc(50% - 3px);background:#e5c48c;transform:rotate(45deg)}.btn.primary:before{left:7px}.btn.primary:after{right:7px}.btn svg{width:25px;height:25px}.btn.secondary{color:#c6b18d;background:linear-gradient(#26252aee,#15171aee);font-size:10px;padding:0 11px;letter-spacing:1.2px}.btn.secondary svg{width:18px;height:18px}.play-panel>.primary{width:100%;min-height:65px;justify-content:space-between;padding:0 23px}.play-panel>.primary>span{font:14px var(--display);letter-spacing:1px;text-align:left;flex:1}.play-panel>.primary small{display:block;font:12px var(--font);letter-spacing:.4px;color:#d5c4aa;margin-top:5px}.play-panel>.primary>b{font:25px Georgia;font-weight:400}.play-secondary{display:flex;gap:8px;margin-top:9px}.play-secondary>.btn{flex:1}.queue-note{display:block;text-align:center;margin-top:11px;font-size:11px;color:#8d867e;letter-spacing:.8px}footer{position:fixed;bottom:0;height:51px;left:3.8%;right:3.8%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #a38c5d33;font-size:9px;letter-spacing:1.8px;color:#8e8373;z-index:2}footer b{font-weight:400;color:#b3a68f;border-left:1px solid var(--line);padding-left:10px;margin-left:10px;font-size:8px}footer button{background:none;border:0;color:#ae9c7e;font-size:9px;letter-spacing:1.8px}#renderer{font-size:8px;color:#7f796f}#loading{position:fixed;inset:0;z-index:30;background:#101116f5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px}#loading strong{font:13px var(--display);letter-spacing:3px}#loading small{color:var(--muted);font-size:12px}.loading-orbit{width:90px;height:90px;color:var(--gold);animation:orbit 15s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}kbd{font:10px var(--font);color:var(--gold-bright);border:1px solid var(--line);padding:5px 7px;background:#131519}
#hud{position:fixed;inset:0;pointer-events:none}.scoreboard{display:flex;align-items:flex-start;justify-content:center;gap:35px;position:absolute;top:24px;left:9%;right:9%}.fighter{display:flex;align-items:center;gap:14px;width:290px}.fighter>.portrait{width:46px;height:63px;flex-basis:46px;border:1px solid #a78a54;clip-path:polygon(0 0,100% 0,100% 83%,50% 100%,0 83%)}.fighter-body{flex:1}.fighter-name{display:flex;align-items:center;gap:12px;margin-bottom:10px}.fighter-name b{font:17px var(--display);letter-spacing:1px}.fighter-name small{font-size:8px;letter-spacing:1.4px;color:#b5a482}.hp-track{height:9px;background:#080b0fd9;position:relative;border:1px solid #99805b77;transform:skewX(-18deg);padding:1px}.hp-track i{height:100%;display:block;background:linear-gradient(90deg,#49747b,#9dc9c6);transition:width .08s;box-shadow:0 0 10px #79bfc23a}.hp-track span{height:2px;display:block;background:#edcf89;position:absolute;top:-5px}.enemy .hp-track i{background:linear-gradient(90deg,#893f45,#d88876);box-shadow:0 0 10px #d888763a}.hp-text{font-size:10px;letter-spacing:1px;color:#b3aba0;margin-top:7px}.round-panel{text-align:center;min-width:145px}.round-panel>span{font:10px var(--display);letter-spacing:2.5px;color:#d4c29e}.round-panel>strong{display:block;font:14px var(--font);letter-spacing:2px;color:#c2b6a4;font-weight:400;margin-top:6px}#score{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}#score>span{display:flex;gap:8px}#score i{display:block;width:8px;height:8px;transform:rotate(45deg);border:1px solid #ac966b70}#score i.filled{background:#c6b187;border-color:#e7d5ad;box-shadow:0 0 12px #ceb88660}#score i.filled.enemy{background:#b8615b;border-color:#de9681}#score>svg{width:25px;height:25px;color:var(--gold)}.leave{position:absolute;top:30px;right:21px;background:#14151bb0;border:1px solid var(--line);padding:9px;font-size:9px;letter-spacing:1px;pointer-events:auto;color:#b6a786}.ability-dock{position:absolute;bottom:35px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:35px}.movement-hint{font-size:9px;line-height:2.4;color:#8d887f;letter-spacing:1px}.movement-hint span{color:#b6aa94;margin-right:8px}#abilities{display:flex;align-items:center;gap:18px}.ability{--charge:100%;position:relative;width:65px;height:65px;border:0;background:none;padding:0;pointer-events:auto}.ability-face{position:absolute;inset:5px;border:1px solid #ad91654d;border-radius:50%;display:grid;place-items:center;background:radial-gradient(ellipse at 35% 30%,#37313c,#101319 75%);box-shadow:inset 0 0 12px #000,0 3px 18px #000b}.ability-face>.sigil{width:34px;height:34px;color:#d6c8aa;filter:drop-shadow(0 0 6px #c2a67935)}.ability-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#ceb582 var(--charge),#504b4244 var(--charge));mask:radial-gradient(transparent 62%,#000 64%,#000 67%,transparent 69%)}.ability:after{content:'';position:absolute;inset:-2px;border:1px solid #b29a6340;border-radius:50%;pointer-events:none}.ability:hover .ability-face{border-color:var(--gold-bright);background:radial-gradient(#5b4d39,#16171b)}.ability kbd{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);font-size:10px;line-height:1;padding:3px 6px;white-space:nowrap;background:#17191d;border-color:#8d785077;z-index:2}.ability>small{position:absolute;top:81px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#b4a995;letter-spacing:.4px}.ability.on-cooldown .sigil{opacity:.27}.cooldown{position:absolute;inset:0;display:grid;place-items:center;font:22px var(--display);text-shadow:0 2px 8px #000;color:#e6dcc7}.ability.ultimate{width:81px;height:81px;margin-left:8px}.ability.ultimate>small{top:89px;color:#dac08d}.ability.ultimate .sigil{width:44px;height:44px;color:#d5b578}.ability.ultimate:after{inset:-6px;border:1px solid #b6975e6e;border-radius:8px;transform:rotate(45deg)}.ability.ready .ability-face{box-shadow:inset 0 0 18px #d6a9472a,0 0 22px #d9b15d4d;border-color:#b79658}.ability.forbidden .ability-face{background:radial-gradient(#5c2532,#1a101b)}.ability.forbidden.ready:after{border-color:#c97169;box-shadow:0 0 15px #b6414e35}.ability-tooltip{display:none;position:absolute;bottom:100px;left:50%;transform:translateX(-50%);width:235px;padding:16px;background:#16181cf7;border:1px solid #a98d58aa;box-shadow:0 6px 25px #000b;color:#bcb4a8;font:13px/1.5 var(--font);text-align:left;z-index:5;pointer-events:none}.ability-tooltip b{display:block;font:13px var(--display);margin-bottom:9px;color:#ddc598}.ability:hover .ability-tooltip,.ability:focus-visible .ability-tooltip{display:block}.pact-count{display:flex;gap:7px;max-width:130px;flex-wrap:wrap}.pact-count>span{border:1px solid var(--line);background:#15171ccc;transform:rotate(45deg);padding:4px;pointer-events:auto}.pact-count svg{width:19px;height:19px;transform:rotate(-45deg);color:#d6b881}.pact-count>.forbidden{border-color:#a45154}.match-mode{position:absolute;left:23px;bottom:22px;color:#8f8676;font-size:9px;letter-spacing:1.3px}#arena-banner{position:absolute;top:38%;left:0;right:0;text-align:center;font:34px var(--display);color:#e6d0a5;text-shadow:0 3px 20px #000;letter-spacing:6px}#combat-notice{position:absolute;top:125px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:4px;color:#db9586}#ultimate-title{position:absolute;top:21%;left:0;right:0;text-align:center;font:23px var(--display);letter-spacing:4px;color:#f2dcb1;text-shadow:0 2px 20px #000,0 0 25px #e9b45270;opacity:0;transition:opacity .18s;transform:translateY(6px)}#ultimate-title.show{opacity:1;transform:translateY(0)}#ultimate-title.forbidden{color:#f1b49e}.damage-number{position:absolute;font:600 22px var(--display);color:#f2dfb6;text-shadow:0 2px 3px #000,0 0 6px #000;animation:damage .85s ease-out forwards;transform:translate(-50%,-50%)}.damage-number.heavy{font-size:34px;color:#ffe6ae}.damage-number.received{color:#e6a498}.damage-number.heal{color:#acd9af}@keyframes damage{0%{opacity:0;translate:0 10px;scale:.65}15%{opacity:1;scale:1.1}70%{opacity:1}100%{opacity:0;translate:0 -45px;scale:1}}#training-tools{position:absolute;top:120px;left:23px;display:flex;flex-direction:column;gap:7px;pointer-events:auto;width:170px}#training-tools>span{font:10px var(--display);letter-spacing:1.7px;color:#c8b18b;margin-bottom:5px}#training-tools small{display:block;font:11px var(--font);letter-spacing:.3px;color:#8e877f;margin-top:7px}#training-tools button{background:#14171bcb;border:1px solid #9d81544d;color:#c7af85;font-size:9px;letter-spacing:1px;padding:9px 5px}
#overlay{position:fixed;z-index:20;inset:0;background:#090b10dc;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}#overlay h2{font-size:32px;line-height:1.3;color:#e4d4b6}.info-panel,.pact-panel,.small-panel,.queue-panel,.verdict-panel,.end-panel{background:linear-gradient(120deg,#191b21f7,#17181af7),url('/art/cabal-basalt-floor.png');border:1px solid #a48a5959;box-shadow:inset 0 0 0 5px #0f111699,inset 0 0 0 6px #a38b5626,0 25px 100px #000b;position:relative;width:min(1000px,100%);padding:35px 40px}.info-panel:before,.pact-panel:before,.verdict-panel:before{content:'';position:absolute;left:50%;top:-5px;width:9px;height:9px;background:#c0a16a;transform:translateX(-50%) rotate(45deg)}.info-panel>svg{width:320px;max-width:100%;margin:18px 0 2px;color:#b69a6380}.close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:28px;color:#b6a586}.info-panel h2{margin-top:15px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin:10px 0 20px}.info-grid article>b{font:28px var(--display);color:#a28a5b}.info-grid h3{font-size:17px;margin:11px 0}.info-grid p{font-size:14px;line-height:1.6;color:var(--muted)}.control-grid{display:flex;gap:18px;padding:20px 0;border-block:1px solid var(--line);flex-wrap:wrap}.control-grid span{font-size:13px;color:var(--muted)}.settings-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0;font-size:13px;gap:12px}.settings-row input{accent-color:var(--gold)}select{background:#15171c;color:var(--gold);padding:7px;border:1px solid var(--line);margin-left:8px}.honesty{border-left:2px solid #947c53;padding-left:15px;margin:20px 0}.honesty strong{font-size:10px;letter-spacing:1px;color:var(--gold)}.honesty p{font-size:13px;line-height:1.6;color:#a39889}.queue-panel,.small-panel,.verdict-panel,.end-panel{width:min(620px,100%);text-align:center;padding:42px}.queue-sigil{width:85px;height:85px;color:var(--gold);margin-bottom:25px;animation:orbit 24s linear infinite}.queue-panel h2,.small-panel h2{margin:16px 0}.queue-panel p,.small-panel p,.end-panel p{color:var(--muted);font-size:15px;line-height:1.8}.queue-panel>svg:not(.sigil){width:260px;color:#b0925e80}.queue-time{font:43px var(--display);color:#d7bb86;margin:25px}.row{display:flex;gap:15px;justify-content:center;margin-top:25px}#toast{position:fixed;left:50%;bottom:160px;transform:translate(-50%,20px);background:#17191ef5;border:1px solid #a98c58;color:#e2d0af;z-index:50;padding:12px 23px;max-width:600px;font-size:14px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 8px 40px #0008}#toast.show{opacity:1;transform:translate(-50%,0)}
.pact-panel{padding:26px 33px;width:min(1030px,100%)}.pact-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.pact-top h2{margin-top:8px}.pact-top p{font:italic 14px Georgia;color:#b1a38e;margin:9px 0 0}.council-clock{text-align:center;width:120px;border-left:1px solid var(--line);padding-left:20px}.council-clock strong{display:block;font:45px var(--display);color:#dec28c}.council-clock span{font-size:9px;letter-spacing:1.4px;color:#a99a81}.pact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.pact-card{position:relative;border:1px solid #9b865345;background:linear-gradient(145deg,#37322955,#16191cdd);padding:17px 19px 14px;text-align:left;transition:.15s;display:flex;flex-direction:column;align-items:flex-start;min-height:280px;box-shadow:inset 0 0 0 4px #1113177a,inset 0 0 0 5px #a48a4d20;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%,0 12px)}.pact-card:hover{background:linear-gradient(145deg,#5f503755,#1c1d23);border-color:#b59a6b}.pact-card.chosen{border-color:#dcc18c;box-shadow:inset 0 0 0 4px #18171599,inset 0 0 0 5px #c7aa7170;background:linear-gradient(145deg,#64513660,#24231fee)}.pact-card.forbidden{border-color:#a95c5b95;background:radial-gradient(ellipse at 50% 10%,#7833424d,transparent 65%),linear-gradient(145deg,#32202a,#18151d)}.pact-card.forbidden.chosen{border-color:#e7a38c;box-shadow:inset 0 0 0 4px #1b111699,inset 0 0 0 5px #c0776970}.patron{display:flex;justify-content:space-between;width:100%;font-size:9px;letter-spacing:2px;color:#bca67e}.patron span{color:#847963;font-size:9px;letter-spacing:1px}.forbidden .patron,.forbidden .patron span{color:#cc8b80}.gift-seal{width:76px;height:76px;border:1px solid #a78d534f;border-radius:50%;align-self:center;display:grid;place-items:center;margin:17px 0 16px;position:relative;background:radial-gradient(#b4945c17,transparent);color:#d8bf8b}.gift-seal:before{content:'';position:absolute;inset:6px;border:1px solid #b49a6140;transform:rotate(45deg)}.gift-seal svg{width:45px;height:45px}.forbidden .gift-seal{color:#e9a38f;border-color:#c0796859;box-shadow:0 0 32px #c04a5120}.gift-rarity{font-size:8px;letter-spacing:1.5px;color:#a49479}.forbidden .gift-rarity{color:#d29685}.pact-card h3{font-size:20px;line-height:1.3;margin-top:7px;color:#dfceb0}.forbidden h3{color:#e7b9a9}.pact-card p{font-size:13px;color:#b5aa99;line-height:1.45;margin:10px 0 17px;flex:1}.card-foot{width:100%;border-top:1px solid var(--line);padding-top:12px;font-size:8px;letter-spacing:1.2px;color:#9d8a6b;display:flex;justify-content:space-between;align-items:center}.forbidden .card-foot{color:#b47c73;border-color:#a55a4c50}.card-foot i{width:7px;height:7px;border:1px solid #a28c64;transform:rotate(45deg)}.chosen .card-foot i{background:#d2b681;box-shadow:0 0 8px #c6a76477}.petition-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:17px 0 13px}.petition-heading>span:first-child{font:italic 13px/1.5 Georgia;color:#bfaf95}.council-badge{font-size:8px;letter-spacing:1.3px;color:#a99a83;white-space:nowrap;border:1px solid #96805645;padding:6px 9px}.plea-area{display:grid;grid-template-columns:1fr 220px;gap:22px;align-items:center}.plea-area label{font-size:9px;letter-spacing:2px;color:#c0aa84;display:block;margin-bottom:8px}textarea{resize:none;width:100%;height:73px;background:#0e1116db;border:1px solid #8c754542;color:#e0d6c3;font:14px/1.5 var(--font);padding:11px 13px;outline:none}textarea:focus{border-color:#bf9f65}textarea::placeholder{color:#81796d}.plea-foot{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#9f927c;margin-top:6px}.plea-foot>span:last-child{white-space:nowrap}.plea-area>.btn{min-height:62px;letter-spacing:1.2px;padding:0 22px}.evidence{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.evidence>span{font-size:9px;line-height:1.6;letter-spacing:2px;color:#8b7c65}.evidence b{font:22px var(--display);font-weight:400;color:#d6c3a0}.evidence small{display:block;font:8px var(--font);color:#94856c;letter-spacing:1.5px;margin-top:4px}.verdict-symbol{color:var(--gold);margin:28px auto;width:110px;height:110px;display:grid;place-items:center;border:1px solid #b69a5d66;transform:rotate(45deg);background:radial-gradient(#a88a4125,transparent)}.verdict-symbol svg{width:75px;height:75px;transform:rotate(-45deg)}.forbidden .verdict-symbol{color:#e4a18e;border-color:#b375665f;box-shadow:0 0 60px #b54e3927}.verdict-effect{font-size:16px;color:#bfb19a;line-height:1.6}.verdict-panel>svg{width:270px;color:#ac8d555f}.verdict-reason{font:italic 18px/1.6 Georgia;color:#c7b799;margin:20px 0 25px}.next-round{font-size:10px;letter-spacing:2px;margin-top:28px;color:#9e8a6b}.next-round b{color:var(--gold);font-size:16px;margin-left:10px}.victory-sigil{color:var(--gold);margin:26px}.victory-sigil svg{width:88px;height:88px}.end-score{font:55px var(--display);margin:22px;color:#e1c68f}.end-score span{font-size:30px;color:#796b55;margin:0 20px}.end-pacts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0 28px}.end-pacts span{border:1px solid var(--line);padding:7px 10px;color:#b9a887;font-size:12px;display:flex;align-items:center;gap:7px}.end-pacts svg{width:19px;height:19px}
@media(max-width:1100px){.roster{width:200px;left:3%}.champ-card{gap:8px}.champ-card strong{font-size:14px}.champ-card small{font-size:8px}.champ-card>svg{width:18px}.champion-detail,.play-panel{right:3%;width:275px}.champion-detail h1{font-size:45px}.ledger-row{gap:9px;padding:9px 0}.ledger-row p{font-size:12px}.summon-caption{left:47%;width:230px}.summon-caption>svg{width:220px}.summon-caption>span{font-size:9px;letter-spacing:2px}.play-panel>.primary>span{font-size:12px}.play-secondary{gap:6px}.play-secondary .btn{font-size:9px;gap:7px}.scoreboard{gap:22px;left:8%;right:8%}.fighter{width:240px}.leave{top:108px}.pact-card{padding:15px}.pact-card h3{font-size:18px}.pact-options{gap:13px}}
@media(max-height:800px) and (min-width:801px){#header{height:88px}.roster{top:120px}.roster>.eyebrow{margin-bottom:16px}.champ-card{height:70px}.champ-card .portrait{height:68px;width:51px;flex-basis:51px}.roster-note{margin-top:18px}.champion-detail{top:117px}.champion-detail h1{font-size:46px}.subtitle{font-size:15px;margin:3px 0 10px}.lore{margin:10px 0 12px}.ledger-row{padding:8px 0}.ledger-row p{font-size:12px}.champ-traits{margin-top:10px}.play-panel{bottom:76px}.summon-caption{bottom:100px}.pact-panel{padding:22px 28px}.pact-top{margin-bottom:17px}.pact-top h2{font-size:28px!important}.pact-card{min-height:265px;padding-top:13px}.gift-seal{width:63px;height:63px;margin:12px 0}.gift-seal svg{width:39px;height:39px}.pact-card p{margin-bottom:12px}.petition-heading{margin:13px 0 10px}.evidence{margin-top:12px;padding-top:12px}}
@media(max-height:680px) and (min-width:801px){.roster{top:110px}.champ-card{height:61px}.champ-card .portrait{height:59px;width:44px;flex-basis:44px}.champion-detail{top:105px}.lore,.champ-traits{display:none}.champion-detail h1{font-size:38px}.ledger-row{padding:7px 0}.ledger-row h3{font-size:11px}.ledger-row p{font-size:11px}.play-panel{bottom:65px}.play-heading{margin-bottom:8px}.play-panel>.primary{min-height:53px}.play-panel .secondary{min-height:37px}.queue-note{margin-top:7px}.pact-panel,.info-panel{max-height:calc(100vh - 24px);overflow-y:auto}.pact-top h2{font-size:25px!important}.gift-seal{width:46px;height:46px;margin:7px 0}.gift-seal svg{width:30px;height:30px}.pact-card{min-height:225px}.pact-card h3{font-size:17px}.pact-top{margin-bottom:13px}.pact-top p{margin-top:5px}.evidence b{font-size:18px}.plea-area textarea{height:60px}}
@media(max-width:800px){#header{height:80px;padding:0 20px}.brand{font-size:23px;gap:10px}.brandmark{width:36px;height:46px;font-size:33px}.brand small{font-size:7px;letter-spacing:4px}.chapter{display:none}.text-button{font-size:9px;gap:8px}.text-button svg{width:23px}.roster{left:20px;top:104px;width:155px}.roster>.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:14px}.champ-card{height:62px;gap:8px}.champ-card .portrait{width:44px;height:60px;flex-basis:44px}.champ-card>svg,.champ-card>b{display:none}.champ-card strong{font-size:12px}.champ-card small{font-size:7px;letter-spacing:.8px}.roster-note{font-size:12px}.champion-detail{right:20px;top:105px;width:210px}.champion-detail .eyebrow{font-size:8px;letter-spacing:1px}.champion-detail h1{font-size:34px}.subtitle{font-size:13px}.lore{font-size:11px}.ledger-row{gap:8px;padding:9px 0}.ledger-row>svg{width:25px}.ledger-row h3{font-size:10px;gap:7px}.ledger-row p{font-size:11px}.champ-traits{display:none}.play-panel{right:20px;bottom:73px;width:250px}.summon-caption{left:25%;bottom:115px;width:200px}.summon-caption>span{font-size:8px}.summon-caption>svg{width:180px}.summon-caption small{font-size:8px;letter-spacing:1px}footer{left:20px;right:20px;height:48px;font-size:8px}footer b{font-size:7px;margin-left:6px;padding-left:6px}footer button{font-size:8px}#renderer{display:none}.fighter>.portrait{display:none}.fighter-name b{font-size:14px}.fighter-name small{font-size:7px}.scoreboard{gap:16px;left:5%;right:5%;top:22px}.round-panel{min-width:100px}.round-panel>span{font-size:8px}.round-panel>strong{font-size:12px}#score{gap:8px}#score i{width:6px;height:6px}#score>svg{width:18px;height:18px}.fighter{width:210px}.ability-dock{gap:16px;bottom:32px}.movement-hint,.pact-count{display:none}.ability{width:55px;height:55px}.ability-face>.sigil{width:29px;height:29px}.ability.ultimate{width:69px;height:69px}.ability.ultimate .sigil{width:36px;height:36px}#abilities{gap:15px}.ability>small{top:72px;font-size:9px}.ability.ultimate>small{top:80px}.match-mode{bottom:125px;left:15px;font-size:8px}.leave{right:12px}.pact-panel{padding:20px}.pact-top h2{font-size:24px!important}.pact-top p{font-size:12px}.council-clock{width:95px;padding-left:12px}.council-clock strong{font-size:36px}.council-clock span{font-size:8px}.pact-options{gap:9px}.pact-card{padding:13px 11px;min-height:265px}.pact-card h3{font-size:15px}.pact-card p{font-size:12px}.gift-rarity{font-size:7px;letter-spacing:.7px}.patron{font-size:8px;letter-spacing:1px}.patron span{font-size:7px}.card-foot{font-size:7px;letter-spacing:.8px}.petition-heading{gap:12px}.petition-heading>span:first-child{font-size:11px}.council-badge{font-size:7px;letter-spacing:.7px}.plea-area{grid-template-columns:1fr 175px;gap:15px}.plea-area>.btn{font-size:9px;padding:0 13px;gap:8px}.plea-area>.btn svg{width:21px}.plea-foot{font-size:10px}.evidence small{font-size:7px;letter-spacing:1px}.evidence b{font-size:19px}.info-panel{padding:28px}.info-panel h2{font-size:27px!important}.info-grid{gap:18px}.info-grid h3{font-size:15px}.info-grid p{font-size:13px}.control-grid{gap:14px}.pact-panel,.info-panel{max-height:calc(100vh - 24px);overflow-y:auto}#training-tools{left:15px;top:115px;width:145px}}
@media(max-width:580px){.roster{top:auto;bottom:245px;left:16px;right:16px;width:auto}.roster>.eyebrow{margin-bottom:10px}#champions{flex-direction:row;gap:5px}.champ-card{flex:1;min-width:0;height:100px;display:flex;flex-direction:column;gap:4px;padding:0 0 5px}.champ-card .portrait{width:100%;height:67px;flex-basis:67px;background-size:500% 100%}.champ-card small{display:none}.champ-card strong{font-size:10px}.champ-card.selected:after{display:none}.roster-note,.summon-caption{display:none}.champion-detail{right:17px;top:105px;width:175px}.champion-detail h1{font-size:31px}.champion-detail .lore,.spell-ledger,.champion-detail>svg{display:none}.subtitle{font-size:13px;line-height:1.5}.play-panel{left:16px;right:16px;bottom:75px;width:auto}.play-heading{margin-bottom:10px}.chapter{display:none}footer{left:16px;right:16px}footer>span{font-size:7px;letter-spacing:1px}footer button{font-size:7px}.pact-options{grid-template-columns:1fr}.pact-card{min-height:auto;display:grid;grid-template-columns:55px 1fr;column-gap:14px;padding:12px 15px;clip-path:none}.patron{grid-column:1/-1;margin-bottom:10px}.gift-seal{grid-row:2/5;width:52px;height:52px;margin:0}.gift-seal svg{width:32px;height:32px}.pact-card h3{grid-column:2;margin-top:4px}.pact-card p{grid-column:2;margin:6px 0 0;font-size:12px}.card-foot{grid-column:1/-1;margin-top:11px;padding-top:8px}.pact-top{margin-bottom:15px}.pact-top h2{font-size:20px!important}.pact-top p{max-width:205px;font-size:11px}.council-clock{width:75px}.council-clock span{font-size:7px}.pact-panel{padding:19px 15px}.petition-heading{flex-wrap:wrap;margin-top:13px}.plea-area{grid-template-columns:1fr;gap:10px}.plea-area>.btn{min-height:42px}.evidence>span{display:none}.evidence b{font-size:16px}.evidence small{font-size:6px}.plea-foot{font-size:10px}.fighter-name{gap:6px}.fighter-name b{font-size:11px}.fighter-name small{display:none}.fighter{width:130px}.scoreboard{gap:10px;left:4%;right:4%}.round-panel{min-width:85px}.hp-text{font-size:8px}.ability-dock{bottom:34px}.ability{width:46px;height:46px}#abilities{gap:12px}.ability-face>.sigil{width:25px;height:25px}.ability.ultimate{width:58px;height:58px}.ability.ultimate .sigil{width:31px;height:31px}.ability>small{top:65px;font-size:8px}.ability.ultimate>small{top:72px}.ability-tooltip{width:180px;left:0;transform:none;font-size:12px}.ability.ultimate .ability-tooltip{left:auto;right:0}.ability:nth-child(4) .ability-tooltip{left:auto;right:0}.info-grid{grid-template-columns:1fr;gap:5px}.info-grid article>b{float:left;margin-right:13px;font-size:23px}.info-grid h3{margin:4px 0}.info-grid p{margin:10px 0}.settings-row{flex-wrap:wrap;justify-content:flex-start}.queue-panel,.small-panel,.verdict-panel,.end-panel{padding:30px 22px}#overlay h2{font-size:25px}.verdict-reason{font-size:16px}.control-grid{gap:15px}.info-panel{padding:25px 20px}#ultimate-title{font-size:18px;letter-spacing:2px;top:30%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.damage-number{animation-duration:.85s!important}}

.ability.pressed .ability-face{transform:scale(.9);border-color:#ffe4ae;filter:brightness(1.5)}
.shrouded-hero{background:linear-gradient(100deg,#08090e,#15121b88);border-color:#544f5d35;opacity:.7}.shrouded-hero:hover{opacity:1;border-color:#85728d66}.shrouded-hero strong{font-style:italic;color:#807987}.shrouded-hero small{font-size:8px;color:#6e6678;letter-spacing:1px}.shrouded-hero>.sigil{opacity:.25}.shroud-portrait{position:relative;width:57px;height:76px;flex:0 0 57px;overflow:hidden;background:radial-gradient(ellipse at 50% 90%,#33283c88,transparent 65%)}.shroud-portrait:before{content:'';position:absolute;left:13px;top:13px;width:32px;height:49px;background:#010206;border:1px solid #79708855;border-bottom:0;border-radius:55% 55% 18% 18%;box-shadow:0 0 15px #362b4855;transform:perspective(70px) rotateX(15deg)}.shroud-portrait:after{content:'';position:absolute;inset:40px -12px -3px;background:linear-gradient(transparent,#070810 80%);filter:blur(5px)}.shroud-portrait i{position:absolute;left:25px;top:32px;width:8px;height:10px;border:1px solid #6b5b80;border-radius:2px;z-index:1}.shroud-portrait i:before{content:'';position:absolute;left:1px;top:-6px;width:4px;height:5px;border:1px solid #6b5b80;border-radius:5px 5px 0 0}.header-actions{gap:16px}.header-actions button{font-size:10px}.header-actions #account-open{max-width:130px;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap}.chapter{font-size:11px;left:43%}.account-panel{position:relative;text-align:center;max-height:92vh;overflow:auto;background:radial-gradient(ellipse at top,#322333,transparent 65%),#100f13!important}.account-panel .close,.practice-picker .close{position:absolute;right:16px;top:10px}.account-seal{width:42px;height:42px;color:#c8ab7e;margin:12px}.account-panel h2{font-size:30px!important;overflow-wrap:anywhere}.account-panel>p{font-size:13px!important;line-height:1.6!important;color:#b5a9a6!important}.account-panel form{text-align:left;margin-top:20px}.account-panel label{display:block;font-size:9px;letter-spacing:2px;color:#d0b68b;margin:14px 0 7px}.account-panel input{width:100%;box-sizing:border-box;border:1px solid #9a805a4d;background:#08090ea8;color:#e1d3bf;padding:12px 13px;font-size:15px;outline:none}.account-panel input:focus{border-color:#ceb17c;box-shadow:0 0 0 2px #ceb17c22}.account-panel .btn{width:100%;margin-top:10px}.account-switch,#account-signout{margin:22px auto 0;font-size:9px!important;justify-content:center}.account-footnote{font-size:11px!important;margin-top:20px!important}#account-status{font-size:12px;line-height:1.5;color:#dfb89e;min-height:17px;margin-top:12px}.practice-picker{position:relative;max-width:940px}.practice-picker>p{color:#b9aca6;font-size:14px;margin:15px 0 25px}.practice-heroes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.practice-heroes button{padding:0 0 16px;background:linear-gradient(#201d29,#151219);border:1px solid #8f77513d;color:#ddc9ab;cursor:pointer}.practice-heroes button:hover{border-color:var(--champ);box-shadow:0 0 20px #78617b22}.practice-heroes .portrait{width:100%;height:170px;display:block}.practice-heroes strong{display:block;font:20px Georgia;margin:15px 0 7px}.practice-heroes small{font-size:8px;color:#a392a2;letter-spacing:1px}.account-panel:focus-within{scrollbar-width:thin}
@media(max-width:1100px){.chapter{display:none}.header-actions{gap:12px}.practice-heroes .portrait{height:130px}.practice-heroes strong{font-size:17px}}
@media(max-width:650px){.brand{font-size:20px;gap:8px}.brandmark{width:30px;height:40px;font-size:28px}.brand small{font-size:7px;letter-spacing:2px}.header-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:230px}.header-actions button{font-size:8px!important;letter-spacing:1px}.header-actions #nav-codex{display:none}.practice-heroes{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-heroes .portrait{height:110px}.shroud-portrait{height:67px;flex-basis:67px}.shrouded-hero strong{font-size:9px}.account-panel{padding:25px 20px!important}}

.forbidden-access{display:flex;align-items:center;gap:12px;margin-top:13px;max-width:690px;border-left:2px solid #a78b63;padding:4px 0 4px 13px;color:#b7adbe;font-size:12px;line-height:1.5}.forbidden-access>.sigil{width:25px;height:25px;flex:none;color:#c2a573}.forbidden-access strong{display:block;color:#d8c49c;font-size:9px;letter-spacing:1.7px;margin-bottom:3px}.forbidden-access.comeback{border-color:#d99d6e}.forbidden-access.comeback strong{color:#f2bd84}.forbidden-access.sealed{border-color:#706779}.forbidden-access.sealed strong{color:#ada3b5}.match-mode.connection-slow{color:#edb17c}.pact-panel{max-height:calc(100vh - 24px);overflow-y:auto}
@media(max-height:800px){.forbidden-access{font-size:11px;margin-top:8px;line-height:1.4}.forbidden-access strong{font-size:8px}.pact-top{margin-bottom:12px}}

/* The sealed court: roster access and wallet ritual. */
.champion-detail{top:118px;max-height:calc(100vh - 455px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#64543d transparent;padding-right:8px}.practice-pact-panel{scrollbar-width:thin;scrollbar-color:#64543d #17151a}
.header-actions{display:flex;align-items:center;gap:24px}.wallet-trigger{color:#dbc29c!important;border-bottom:1px solid #91734a!important;padding-bottom:6px!important}.sealed-hero:not(.selected){opacity:.65}.sealed-hero.selected{border-color:#927b56}.sealed-hero small{font-size:9px;letter-spacing:.12em}.hero-access-tag{font-size:9px;letter-spacing:.16em;margin:16px 0 12px;color:#c9b286}.hero-access-tag.open{color:#acc1ad}.roster-access{border-top:1px solid #b297672e;padding-top:10px;margin-top:12px;max-width:350px}.roster-access strong{display:block;color:#dcc59e;font-size:9px;letter-spacing:.16em}.roster-access span{display:block;color:#aaa091;font-size:11px;line-height:1.5;margin-top:5px}.hero-unavailable{filter:saturate(.35);opacity:.68}.wallet-panel{position:relative;text-align:center;border-top:2px solid #b8945d!important;background:radial-gradient(ellipse at 50% 0,#302132 0,transparent 65%),#100f13!important;max-height:90vh;overflow:auto}.wallet-panel .close{position:absolute;right:18px;top:12px}.wallet-seal{width:60px;height:60px;color:#c3a1dc;margin:12px auto}.wallet-status{font-size:12px;line-height:1.5;padding:14px;color:#d6c2a4;overflow-wrap:anywhere;border:1px solid #b799642e;margin:16px 0}.wallet-option{width:100%;margin:8px 0;justify-content:center}.wallet-footnote,.wallet-empty{font-size:12px!important;line-height:1.6!important;color:#9c939e!important}.wallet-panel #wallet-disconnect{margin-top:18px}.practice-pact-panel{max-height:90vh;overflow:auto}.practice-pact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.practice-pact{position:relative;background:linear-gradient(145deg,#282029,#17151a);color:#d7c6ac;border:1px solid #7c68483b;padding:16px;text-align:left;cursor:pointer}.practice-pact:hover{border-color:#c1a477}.practice-pact svg{width:24px;height:24px;margin-bottom:10px}.practice-pact strong,.practice-pact span,.practice-pact small{display:block}.practice-pact strong{font-family:Georgia,serif;font-size:17px}.practice-pact span{font-size:11px;color:#b1a8a4;line-height:1.5;margin:9px 0 14px}.practice-pact small{font-size:9px;letter-spacing:.15em;color:#c1a477}.practice-pact.owned{opacity:.45;cursor:default}#training-tools{flex-wrap:wrap;max-width:95vw}
@media(max-width:1100px){.header-actions{gap:12px}.header-actions button{font-size:10px}.practice-pact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-access{max-width:300px}}
@media(max-width:700px){.practice-pact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wallet-trigger{font-size:9px!important}.chapter{display:none}.roster-access span{font-size:10px}}

@media(max-width:580px){.roster{bottom:345px}.champion-detail{top:105px;max-height:calc(100vh - 565px);min-height:120px}.hero-access-tag{font-size:8px;line-height:1.6}.roster-access{max-width:none}}

.account-panel,.end-panel{scrollbar-width:thin;scrollbar-color:#756148 #141217}.end-panel{max-height:90vh;overflow-y:auto}#overlay{scrollbar-width:thin;scrollbar-color:#756148 #141217}
