:root{--navy0: #010a14;--navy1: #051119;--navy2: #0b1c28;--navy3: #12303f;--brass: #c9b689;--brass-dim: #7e6448;--pale: #fef1b7;--cyan: #38bdf8;--cream: #efe6d0;--ink: #161a22;--gold: #e3c98a;--red: #8f2f2f;--purple: #56408f;--blue: #24618f;--green: #2f7a58;--teal: #1f7d84;--orange: #a85a24;--gray: #46525f;--yellow: #c9b689;--display: "EB Garamond", Georgia, serif;--body: "EB Garamond", Georgia, serif;--ui: "Encode Sans Expanded", "Segoe UI", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--glass: #07141dd9;--line: #c9b68947}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(#051119cc,#010a14e6),url(/theme/bg.webp) center / cover fixed,var(--navy1);color:#e9e2cf;font-family:var(--body);font-size:calc(15px * var(--ts))}button{font:500 calc(11.5px * var(--ts))/1.2 var(--ui);letter-spacing:.07em;text-transform:uppercase;background:linear-gradient(#123646,#0b2431);color:var(--pale);border:1px solid var(--brass-dim);border-radius:999px;padding:8px 16px;cursor:pointer;box-shadow:0 1px #000,inset 0 1px #ffffff12;transition:background .15s,border-color .15s}button:hover{background:linear-gradient(#184556,#0e2d3c);border-color:var(--brass)}button:disabled{opacity:.4;cursor:default}button.primary{background:linear-gradient(#f3e3b0,#c9b689);color:var(--ink);border-color:var(--pale);font-weight:600}button.primary:hover{background:linear-gradient(#fff3c8,#d8c494)}button.danger{background:linear-gradient(#a33a3a,#7a2626);border-color:#d98a7f}button.link{background:none;border:none;box-shadow:none;text-decoration:underline;opacity:.8;padding:4px 6px;text-transform:none;letter-spacing:0;font:inherit}button.on{outline:2px solid var(--gold)}input,select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--brass-dim);background:#030d15;color:var(--pale)}input::placeholder{color:#e9e2cf66}input:focus,select:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 2px #c9b68933}label{display:flex;gap:8px;align-items:center;margin:6px 0}code{background:#0006;padding:2px 6px;border-radius:4px}.logo{font-family:var(--display);font-weight:600;font-size:calc(54px * var(--ts));color:var(--pale);text-transform:uppercase;letter-spacing:.12em;text-shadow:0 2px 0 #000,0 0 28px #c9b68955;margin:0}.logo span{color:var(--brass)}.logo.small{font-size:calc(22px * var(--ts))}.logo .emblem{display:inline-block;height:92px;width:auto;margin-bottom:4px;filter:drop-shadow(0 2px 5px #000c) drop-shadow(0 0 16px #c9b68944)}.logo .wordmark{display:block;height:.42em;width:auto;margin:2px auto 6px;filter:drop-shadow(0 2px 4px #000a)}.logo.small .wordmark{display:inline-block;height:.85em;margin:0;align-self:center}.logo.small .emblem{height:1.7em;margin:0;align-self:center;filter:drop-shadow(0 1px 3px #000c)}.logo .world{display:block;font-family:var(--body);font-family:var(--ui);font-size:.22em;font-weight:500;letter-spacing:.6em;text-transform:uppercase;color:var(--cyan);opacity:.95;text-shadow:none;margin-bottom:-.2em}.logo.small{display:inline-flex;align-items:baseline;gap:6px}.logo.small .world{display:inline;font-size:.5em;letter-spacing:.2em;margin:0}.hint{opacity:.75;font-style:italic}.lbl{font-size:calc(11px * var(--ts));text-transform:uppercase;letter-spacing:1px;opacity:.7;margin:6px 0 3px}.row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.row.wrap{flex-wrap:wrap}.join,.lobby{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.join form{display:flex;flex-direction:column;gap:10px;background:var(--glass);padding:22px 28px;border-radius:14px;border:1px solid var(--line);min-width:320px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.join form label{flex-direction:column;align-items:stretch;text-align:left}.join input{font-size:calc(18px * var(--ts));text-align:center}.tag{font-style:italic;opacity:.85;margin:0}.avatar{border-radius:50%;object-fit:cover;border:2px solid var(--gold);background:#15131f;vertical-align:middle;flex:0 0 auto;display:inline-block}.avatar.none{background:#0005;border-style:dashed}.pickhead{margin:14px 0 4px;font-family:var(--display);color:var(--gold);font-size:calc(22px * var(--ts))}.heropicker{display:flex;flex-direction:column;gap:6px;max-width:760px;background:var(--glass);padding:12px 14px;border-radius:14px;border:1px solid var(--line)}.herorow{display:flex;align-items:center;gap:8px}.heroRace{width:74px;text-align:right;font-size:calc(12px * var(--ts));letter-spacing:.08em;text-transform:uppercase;opacity:.75}.herobtn{display:flex;flex-direction:column;align-items:center;gap:3px;width:100px;padding:5px 2px;background:#0004;border:2px solid transparent;border-radius:10px;box-shadow:none;font:500 calc(13px * var(--ts))/1.1 var(--body);letter-spacing:0;text-transform:none;color:#e9e2cf}.herobtn img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid var(--brass-dim)}.herobtn:hover{background:#ffffff14}.herobtn.on{border-color:var(--gold);background:#d8a94a22}.herobtn.on img{border-color:var(--gold)}.seats li{display:flex;align-items:center;gap:8px}.credit{max-width:560px;margin:18px auto 0;font-size:calc(12.5px * var(--ts));line-height:1.4;opacity:.7;text-align:center}.credit a{color:var(--gold)}.roomcode{font-size:calc(22px * var(--ts))}.roomcode b{font-family:var(--display);font-size:calc(36px * var(--ts));color:var(--gold);letter-spacing:4px}.seats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:calc(18px * var(--ts))}.seats .off{opacity:.5}.table{display:grid;height:100vh;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:44px 140px minmax(0,1fr) auto;grid-template-areas:"top top" "opp opp" "center right" "me me";gap:8px;padding:8px}.topbar{grid-area:top;display:flex;align-items:center;gap:16px;padding:0 14px;background:linear-gradient(#0e2a3a,#071a26);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 8px #000a}.topbar .room{opacity:.8}.topbar .turn{font-weight:600}.spacer{flex:1}.opponents{grid-area:opp;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;height:140px;flex:none}.opp{background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:5px 10px;min-width:250px;flex:1;height:132px;overflow:hidden;display:flex;flex-direction:column}.opp .gear{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px;align-content:flex-start;flex:1;overflow:hidden}.opp .oppfoot{margin-top:auto}.chip.item{background:var(--brass-dim);color:#fff}.chip.carried{background:#ffffff14;opacity:.75}.chip.big:before{content:"▮ ";opacity:.7}.opphead .str{font-size:calc(12px * var(--ts));opacity:.85;margin-left:4px}.opphead .str b{color:#7fd48a;font-family:var(--display);font-size:calc(18px * var(--ts))}.opp.turn{border-color:var(--pale);box-shadow:0 0 0 1px var(--pale),0 0 18px #fef1b744}.opp.dead{opacity:.5}.opphead{display:flex;align-items:center;gap:8px}.opphead .lvl{font-family:var(--display);font-size:calc(26px * var(--ts));color:var(--gold);width:30px;text-align:center}.opphead .oname{font-weight:600;font-size:calc(16px * var(--ts))}.opphead .tags{margin-left:auto;font-size:calc(11px * var(--ts));opacity:.8}.minis{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;min-height:30px}.oppfoot{font-size:calc(12px * var(--ts));opacity:.8;margin-top:4px}.chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.chip{font:500 calc(10px * var(--ts))/1.5 var(--ui);letter-spacing:.03em;padding:2px 8px;border-radius:10px;background:#ffffff1c;cursor:pointer;white-space:nowrap}.chip.char{background:var(--blue)}.chip.curse{background:var(--purple)}.chip.enh{background:var(--orange);color:#fff}.chip.muted{opacity:.6;cursor:default}.left{grid-area:left;display:grid;grid-template-columns:1fr 1fr;gap:10px 6px;align-content:start;justify-items:center;padding-top:6px;min-height:0;overflow:hidden}.left .lbl{grid-column:1 / -1;margin:0}.deck{position:relative}.deck .count{position:absolute;bottom:-6px;right:-6px;background:var(--gold);color:var(--ink);border-radius:10px;padding:1px 7px;font-size:calc(11px * var(--ts));font-weight:700}.discards{display:contents}.center{grid-area:center;display:flex;flex-direction:column;gap:8px;min-height:0}.centerscroll{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.right{grid-area:right;display:flex;flex-direction:column;min-height:0;background:var(--glass);border:1px solid var(--line);border-radius:10px;overflow:hidden}.tabs{display:flex}.tabs button{flex:1;border-radius:0;border:none;background:#0005;box-shadow:none}.tabs button.on{background:#0000;color:var(--gold)}.feedwrap{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.tolatest{position:absolute;right:12px;bottom:8px;padding:3px 10px;font-size:calc(11px * var(--ts));border-radius:999px;box-shadow:0 2px 10px #000c}.log{flex:1;min-height:0;overflow-y:auto;padding:8px 10px;font-size:calc(12.5px * var(--ts));line-height:1.4}.log .turnline{color:var(--gold);margin-top:6px}.log .sys{opacity:.7;font-style:italic}.say{display:flex;gap:4px;padding:6px}.say input{flex:1}.me{grid-area:me;display:flex;flex-direction:column;gap:4px}.myarea{display:flex;gap:12px;align-items:flex-start;background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:6px 10px;overflow-x:auto;overflow-y:hidden;height:140px;flex:none}.mystats{min-width:190px}.lvlrow{display:flex;align-items:baseline;gap:12px}.mystats .str{font-size:calc(13px * var(--ts));opacity:.85}.mystats .str b{color:#7fd48a;font-family:var(--display);font-size:calc(26px * var(--ts))}.biglvl{font-family:var(--display);font-size:calc(40px * var(--ts));color:var(--gold);line-height:1}.mname{font-weight:600;font-size:calc(16px * var(--ts))}.gslot{display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;flex:none}.gslot .lbl{margin:0;width:100%}.gslot.wide{margin-left:auto;max-width:40%}.hand{display:flex;justify-content:center;align-items:flex-end;height:204px;padding-top:12px;overflow:visible}.hand .card.md{width:134px;height:190px}.hand .slot{margin:0 -24px;transition:transform .15s;position:relative}.hand .slot:hover{transform:translateY(-12px);z-index:5}.handinfo{text-align:center;font-size:calc(12px * var(--ts));opacity:.7}.card{position:relative;background:var(--cream);color:var(--ink);border-radius:9px;border:2px solid #08131b;box-shadow:0 0 0 1px #c9b68966,0 3px 9px #000b;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;flex:0 0 auto}.card.md{width:146px;height:208px}.card.lg{width:270px;height:388px}.card.lg.tall{height:510px}.card.lg.tall .art{height:300px}.card.sm{width:76px;height:106px}.card .head{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:3px 7px;color:#fff8e6;font-family:var(--display);font-weight:600;font-size:calc(14.5px * var(--ts));line-height:1.05;letter-spacing:.01em;min-height:30px;text-shadow:0 1px 0 #0008}.card.lg .head{font-size:calc(21px * var(--ts));min-height:40px}.card.sm .head{min-height:22px;padding:2px 5px}.card.sm .head .name{font-size:calc(9.5px * var(--ts));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .lvl{background:#0006;border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;font-size:calc(13px * var(--ts));flex:0 0 auto}.t-monster .head{background:var(--red)}.t-curse .head{background:var(--purple)}.t-class .head{background:var(--blue)}.t-race .head{background:var(--green)}.t-item .head{background:var(--brass-dim)}.t-oneShot .head{background:var(--teal)}.t-gual .head{background:var(--yellow);color:var(--ink)}.t-monsterEnhancer .head{background:var(--orange)}.t-special .head{background:var(--gray)}.card .art{flex:0 0 auto;height:46%;background:radial-gradient(ellipse at 50% 38%,#1f4257,#0d2230 60%,#06121a);display:grid;place-items:center;font-size:calc(42px * var(--ts));overflow:hidden}.card.sm .art{height:52%;font-size:calc(22px * var(--ts))}.card.lg .art{font-size:calc(72px * var(--ts));height:47%}.card .art{position:relative}.card .art img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;padding:4px;filter:drop-shadow(0 3px 5px #000c)}.card.lg .art img{padding:8px}.card .art img.cover,.card.lg .art img.cover{object-fit:cover;object-position:50% 0;padding:0;filter:none}.card .art video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.card.lg .text{font-size:calc(13.5px * var(--ts));line-height:1.22}.card .text{flex:1;padding:5px 7px;font-size:calc(11.5px * var(--ts));line-height:1.16;overflow:hidden}.card .text p{margin:0 0 4px}.flavor{font-style:italic;opacity:.75}.card .foot{font:500 calc(8.5px * var(--ts))/1.4 var(--ui);letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;background:#0000000f;border-top:1px solid #0002;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card.sm .foot{font-size:calc(6.5px * var(--ts));padding:2px 4px}.card.lg .foot{font-size:calc(10px * var(--ts))}.card.dim{opacity:1;filter:saturate(.25) brightness(.72)}.card.selected{outline:3px solid var(--gold);box-shadow:0 0 0 5px #fef1b755,0 0 18px #fef1b799;transform:translateY(-6px)}.card.selected:after{content:"✓";position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--ink);font-weight:700;display:grid;place-items:center;font-family:sans-serif;box-shadow:0 1px 4px #000}.options .card{margin:8px}.card.empty{background:#0003;border:2px dashed #ffffff33;box-shadow:none;cursor:default}.card.back{background:radial-gradient(circle at 50% 50%,#5a2a2a,#2b1216 70%),repeating-linear-gradient(45deg,#0000 0,#0000 7px,#c9b68922 7px,#c9b68922 8px);background-blend-mode:normal;border-color:#12080a}.card.back.tre{background:radial-gradient(circle at 50% 50%,#14495a,#08212c 70%)}.backart img{width:66%;height:66%;object-fit:contain;display:block}.backart{margin:auto;font:600 calc(9px * var(--ts)) var(--ui);color:var(--brass);letter-spacing:.25em;border:1px solid #c9b68966;border-radius:50%;width:70%;aspect-ratio:1;display:grid;place-items:center}.badge{position:absolute;top:34px;right:6px;background:var(--gold);color:var(--ink);border-radius:6px;padding:1px 6px;font-size:calc(10px * var(--ts));font-weight:700}.combat{display:flex;gap:20px;align-items:center;justify-content:center;background:var(--glass);border-radius:14px;padding:14px;border:1px solid var(--line);flex-wrap:wrap}.monsters{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.mon{display:flex;flex-direction:column;align-items:center;gap:4px}.enh{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.mstat{font-size:calc(11px * var(--ts));opacity:.8}.vs{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:220px}.total{font-family:var(--display);font-size:calc(48px * var(--ts));line-height:1}.total.win{color:#7fd48a}.total.lose{color:#ff8a7a}.vslabel{font-style:italic;opacity:.7}.who{font-weight:600;margin-top:4px}.mod{font-size:calc(12px * var(--ts));opacity:.85}.lastcall{width:100%;margin-top:8px;background:#0006;border-radius:6px;overflow:hidden;position:relative;height:26px}.lastcall .bar{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#8f2f2f,#c9b689);transition:width .2s linear}.lastcall span{position:relative;display:block;text-align:center;line-height:26px;font-size:calc(12px * var(--ts));font-weight:600;text-shadow:0 1px 2px #000}.idle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;text-align:center;font-size:calc(16px * var(--ts));padding:20px;opacity:.9}.door{font-size:calc(64px * var(--ts));filter:drop-shadow(0 4px 6px #000)}.waiting,.banner{background:var(--glass);border:1px solid var(--brass);border-radius:8px;padding:6px 12px;text-align:center}.flow{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;flex:none;padding:2px 0}.tray{--trayh: calc(388px * var(--tz) + 26px);position:fixed;left:50%;bottom:clamp(8px,calc(100dvh - 8px - var(--trayh)),250px);max-height:calc(100dvh - 16px);overflow-y:auto;transform:translate(-50%);display:flex;gap:14px;background:#06131cf5;border:1px solid var(--brass);border-radius:12px;padding:12px;box-shadow:0 8px 30px #000c;z-index:20;max-width:90vw}.tray:has(.card.lg.tall){--trayh: calc(510px * var(--tz) + 26px)}.trayactions{display:flex;flex-direction:column;gap:6px;min-width:240px;max-height:calc(var(--trayh) - 26px);overflow-y:auto}.trayactions h3{margin:0 0 4px;font-family:var(--display);color:var(--gold)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000a;display:grid;place-items:center;z-index:30;padding:20px}.dialog{background:#06131cf7;border:1px solid var(--brass);border-radius:12px;padding:16px 20px;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #000;min-width:360px}.dialog h3{margin:0 0 10px;font-family:var(--display);color:var(--gold);font-size:calc(22px * var(--ts))}.options{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.toasts{position:fixed;top:54px;right:14px;display:flex;flex-direction:column;gap:6px;z-index:40}.toast{background:var(--red);color:#fff;padding:8px 12px;border-radius:8px;box-shadow:0 2px 8px #000}.offline{position:fixed;bottom:10px;left:10px;background:var(--red);padding:4px 10px;border-radius:6px;z-index:40}@media (max-width: 1100px){.table{grid-template-columns:minmax(0,1fr) 240px}.card.md{width:124px;height:178px}}.tradecols{display:flex;gap:18px;align-items:center}.tradecols .arrow{font-size:calc(40px * var(--ts));color:var(--gold)}.banner.trade{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.banner.trade button{padding:3px 10px}@media (max-height: 820px){.table{grid-template-rows:40px 118px minmax(0,1fr) auto}.opponents{height:118px}.opp{height:110px}.opp .gear{max-height:26px}.left .card.sm,.left .card.sm.empty{width:58px;height:82px}.left .card.sm .head{min-height:18px}.left .card.sm .art{display:none}.myarea{height:124px}.myarea .card.sm{width:64px;height:90px}.biglvl{font-size:calc(32px * var(--ts))}.hand{height:172px}.hand .card.md{width:118px;height:168px}.hand .card.md .text{font-size:calc(9.5px * var(--ts))}}.banner.hold{border-color:#7fd48a;display:flex;gap:10px;justify-content:center;align-items:center}.banner.hold button{padding:3px 10px}.gallery{padding:20px 28px}.gallery h2{font-family:var(--display);color:var(--gold);margin:26px 0 8px}.gallery h2 small{opacity:.6;font-weight:400}.gcard{position:relative}.gcard .qty{position:absolute;top:-8px;left:-8px;background:var(--gold);color:var(--ink);border-radius:10px;padding:1px 8px;font-weight:700;font-size:calc(12px * var(--ts))}.boardwrap{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.board{width:100%;height:100%;max-height:100%;filter:drop-shadow(0 6px 14px #0009)}.standee{transition:transform .9s cubic-bezier(.2,.8,.2,1)}.standee.dead .figure{opacity:.45}.stopname{font-family:var(--ui);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.atlasbtn{cursor:pointer}.atlasbtn:hover rect{fill:#143447}.atlas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#010a14ee;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.atlas img{max-width:96vw;max-height:96vh;border:2px solid var(--brass);border-radius:10px;box-shadow:0 20px 80px #000}.turnring{animation:ring 1.6s ease-in-out infinite}@keyframes ring{0%,to{opacity:.45}50%{opacity:1}}.zone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px}.zone .lbl{margin:0;color:#fff;text-shadow:0 1px 2px #000}.zone .piles{display:flex;gap:10px;align-items:flex-start}.zone .disc .count{background:#f4ead6}.zone .card.sm.empty{border-style:dashed;opacity:.55}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;padding:8px 200px}.overlay>*{pointer-events:auto}.overlaytop{position:absolute;top:10px;left:260px;right:220px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.overlaytop>*{pointer-events:auto}.overlay .combat{background:#06131cf0;border:1px solid var(--brass);box-shadow:0 10px 40px #000c;max-width:100%}.opphead .dot{width:12px;height:12px;border-radius:50%;border:2px solid #1a1208;display:inline-block}@media (max-width: 1500px){.overlay{padding:8px 120px}}.card.back .backimg{width:100%;height:100%;object-fit:cover;display:block}.diceoverlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:12vh;pointer-events:none;z-index:35}.dicecast{display:flex;flex-direction:column;align-items:center;gap:10px;animation:dicein .25s ease-out both}.dicecast.gone{animation:diceout .35s ease-in both}@keyframes dicein{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes diceout{0%{opacity:1}to{opacity:0;transform:translateY(14px) scale(.96)}}.diestage{--size: 96px;--half: calc(var(--size) / 2);position:relative;width:var(--size);height:var(--size);perspective:640px;margin-bottom:26px}.dieshadow{position:absolute;left:50%;bottom:-22px;width:var(--size);height:22px;transform:translate(-50%);background:radial-gradient(ellipse at center,#000c,#0000 70%);animation:shadowland var(--roll, 1.15s) cubic-bezier(.2,.8,.3,1) both}@keyframes shadowland{0%{transform:translate(-50%) scale(.35);opacity:.2}60%{transform:translate(-50%) scale(1.05);opacity:1}75%{transform:translate(-50%) scale(.9)}to{transform:translate(-50%) scale(1);opacity:1}}.dietoss{width:100%;height:100%;animation:toss var(--roll, 1.15s) cubic-bezier(.2,.8,.3,1) both;transform-style:preserve-3d}@keyframes toss{0%{transform:translateY(-190px) scale(1.35)}60%{transform:translateY(0) scale(1)}75%{transform:translateY(-28px) scale(1.02)}to{transform:translateY(0) scale(1)}}.die{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:tumble var(--roll, 1.15s) cubic-bezier(.15,.85,.25,1) both}@keyframes tumble{0%{transform:rotateX(0) rotateY(0)}to{transform:rotateX(calc(var(--rx) + 720deg)) rotateY(calc(var(--ry) + 1080deg))}}.dicecast.loaded .dietoss,.dicecast.loaded .dieshadow{animation:none}.dicecast.loaded .die{animation:turn .65s cubic-bezier(.2,.8,.3,1) both}@keyframes turn{0%{transform:rotateX(0) rotateY(0)}to{transform:rotateX(calc(var(--rx) + 360deg)) rotateY(calc(var(--ry) + 360deg))}}.die .face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;padding:13px;box-sizing:border-box;border-radius:18px;background:linear-gradient(145deg,#fffaf0,#f1e6cc 55%,#dccca6);border:2px solid #b9a273;box-shadow:inset 0 0 14px #5a3a1e33;backface-visibility:hidden}.die .face i{width:17px;height:17px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#4a3a2c,var(--ink) 70%);box-shadow:inset 0 1px 2px #000a}.dicecap{font-family:var(--display);font-size:calc(26px * var(--ts));color:var(--cream);text-shadow:0 2px 0 #000,0 0 18px #000;background:#0009;border:1px solid var(--gold);border-radius:10px;padding:4px 18px}.dicecap b{color:var(--gold)}.diceout{font-family:var(--display);font-size:calc(30px * var(--ts));padding:2px 20px;border-radius:10px;background:#000a;text-shadow:0 2px 0 #000;animation:dicein .2s ease-out both}.diceout.good{color:#7fd48a;border:1px solid #7fd48a}.diceout.bad{color:#ff8a7a;border:1px solid #ff8a7a}@media (prefers-reduced-motion: reduce){.dietoss,.die,.dieshadow,.dicecast{animation-duration:.01s!important}}.dialog h3,.trayactions h3,.gallery h2,.pickhead{text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--pale)}.gallery h2{border-bottom:1px solid var(--line);padding-bottom:6px}.pickhead{font-size:calc(19px * var(--ts))}.roomcode b{color:var(--pale)}.turnline{letter-spacing:.04em}.log .turnline{color:var(--brass)}.lbl,.heroRace,.handinfo,.opphead .tags,.oppfoot,.mstat,.mod{font-family:var(--ui)}.lbl{font-size:calc(9.5px * var(--ts));letter-spacing:.14em}.handinfo,.oppfoot,.mstat,.mod{font-size:calc(10.5px * var(--ts))}.join,.lobby{position:relative}.join:before,.lobby:before{content:"";position:absolute;top:50%;left:50%;width:620px;height:660px;transform:translate(-50%,-62%);background:url(/theme/ornament.webp) center / contain no-repeat;opacity:.16;pointer-events:none}.join>*,.lobby>*{position:relative}.hint{font-size:calc(15px * var(--ts))}.tag{font-size:calc(17px * var(--ts));color:var(--brass)}.opphead .lvl,.biglvl{color:var(--pale)}.opphead .str b,.mystats .str b{color:#8fe0a0}*{scrollbar-width:thin;scrollbar-color:#c9b68955 #0000}::selection{background:#c9b68955}.home .lead{max-width:560px;margin:4px auto 6px;font-size:calc(17px * var(--ts));line-height:1.45}.homebtns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin:6px 0 4px}.homebtns button{font-size:calc(14px * var(--ts));padding:14px 34px;min-width:210px}.langselect{display:inline-flex;align-items:center;gap:8px;font:500 calc(11px * var(--ts))/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}.langselect select{font:500 calc(13px * var(--ts))/1.2 var(--ui);padding:6px 8px;cursor:pointer}.langselect.compact select{font-size:calc(11px * var(--ts));padding:3px 4px;border-radius:6px}.joinbar{display:flex;align-items:center;gap:12px;align-self:stretch;width:100%;max-width:760px;margin:0 auto}.join .joinbar,.lobby .joinbar{position:absolute;top:14px;left:50%;transform:translate(-50%);padding:0 18px}.howto{max-width:760px;margin:0 auto;padding:22px 22px 40px;line-height:1.5;font-size:calc(16.5px * var(--ts));text-align:left}.howto .logo{text-align:center}.howto h2{font-family:var(--display);color:var(--pale);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:calc(26px * var(--ts));text-align:center;margin:14px 0 6px}.howto h3{font-family:var(--display);color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:calc(18px * var(--ts));margin:22px 0 6px;border-bottom:1px solid var(--line);padding-bottom:4px}.howto .lead{font-style:italic;color:var(--brass);text-align:center;font-size:calc(17.5px * var(--ts))}.howto p{margin:8px 0}.howto ol{margin:8px 0;padding-left:24px}.howto li{margin:5px 0}.howto b{color:var(--pale)}.howto .perks{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:10px 0 0;font-size:calc(15px * var(--ts))}.howto .perks dt{font-family:var(--ui);font-size:calc(11px * var(--ts));letter-spacing:.1em;text-transform:uppercase;color:var(--gold);padding-top:4px}.howto .perks dd{margin:0}.langtabs{display:flex;justify-content:center;gap:8px;margin:12px 0 2px}.langtabs button.on{background:linear-gradient(#f3e3b0,#c9b689);color:var(--ink);border-color:var(--pale);outline:none}.row.mid{justify-content:center;margin-top:26px}.helpmodal{place-items:start center;overflow-y:auto}.helpmodal .howto{background:#06131cf7;border:1px solid var(--brass);border-radius:12px;box-shadow:0 10px 40px #000}.helpmodal .howto .logo{display:none}@media (max-width: 560px){.howto .perks{grid-template-columns:1fr;gap:2px}.howto .perks dd{margin-bottom:8px}.homebtns button{min-width:0;width:100%}}:root{--ts: 1;--tz: 1}:root[data-ts=l]{--ts: 1.15;--tz: 1.12}:root[data-ts=xl]{--ts: 1.3;--tz: 1.22}.card,.board{--ts: 1}.tray .card.lg,.gallery .card.lg{zoom:var(--tz)}.opp{overflow-y:auto}.textsize{display:inline-flex;align-items:baseline;gap:1px}.textsize button{background:none;border:1px solid transparent;box-shadow:none;padding:1px 5px;border-radius:6px;font-family:var(--display);text-transform:none;letter-spacing:0;color:var(--brass);line-height:1;opacity:.8}.textsize button:nth-child(1){font-size:12px}.textsize button:nth-child(2){font-size:15px}.textsize button:nth-child(3){font-size:18.5px}.textsize button.on{border-color:var(--brass-dim);color:var(--pale);opacity:1;outline:none}.textsize button:hover{background:#ffffff10}.topbar>*{white-space:nowrap;flex:0 0 auto}.topbar .turn{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar .spacer{flex:1 1 0}:root[data-ts] .topbar{gap:10px}:root[data-ts] .topbar .logo .wordmark,:root[data-ts=xl] .topbar .logo{display:none}.say input{flex:1 1 0;min-width:0}.say button{flex:0 0 auto}.elsewherebar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:40}.dialog.elsewhere{text-align:center;max-width:520px;min-width:0}.dialog.elsewhere .hint{margin:0}.crash .crashmsg{font-family:var(--ui);font-size:calc(11px * var(--ts));opacity:.55;max-width:560px}.flow{position:relative;z-index:8}.overlay .combat{flex-wrap:nowrap;max-width:100%}.combat .side.monsters{display:flex;gap:10px;align-items:flex-start;max-width:100%;overflow-x:auto;flex:0 1 auto;min-width:152px}.combat .mon{flex:0 0 auto}.combat .vs{flex:0 1 auto;min-width:190px;max-width:320px}.combat .vs .mod,.combat .vs .who,.combat .vs .lastcall span{white-space:normal;text-align:center;overflow-wrap:anywhere}.boardwrap{container-type:size}@container (max-height: 330px){.overlay{justify-content:flex-end;padding-left:40px;padding-right:40px}.overlay .combat{zoom:.86;padding:10px;gap:14px}}@container (max-height: 260px){.overlay .combat{zoom:.74}}@container (max-height: 200px){.overlay .combat{zoom:.64}}@container (max-height: 150px){.overlay .combat{zoom:.56}}.dialog .options.named{justify-content:center;margin:4px 0 12px;pointer-events:none}.dialog .options.named .card{cursor:default}@media (max-height: 760px){.dialog .options.named .card.lg{zoom:.72}}@media (max-height: 960px){.table{grid-template-rows:44px 62px minmax(0,1fr) auto;overflow:clip}html:has(.table),body:has(.table){overflow:clip}.opponents{height:62px;overflow:visible;align-items:flex-start}.opp{position:relative;min-width:0;height:58px;padding:3px 10px}.opp .chips{flex-wrap:nowrap;overflow:hidden;margin-top:1px;padding-right:86px}.opp .gear{display:none}.opp .oppfoot{position:absolute;right:10px;bottom:5px;margin:0}.opp:hover{height:auto;min-height:58px;z-index:12;background:#06131cfa;border-color:var(--brass);box-shadow:0 12px 30px #000d;padding-bottom:8px}.opp:hover .chips{flex-wrap:wrap;overflow:visible}.opp:hover .gear{display:flex;flex:none;overflow:visible;padding-right:86px}.me{position:relative}.myarea{zoom:.86}.hand{height:150px;align-items:flex-start}.hand .slot:hover{transform:translateY(-58px);z-index:7}.handinfo{position:absolute;right:14px;bottom:6px;background:#06131cd9;padding:1px 8px;border-radius:8px;z-index:8}}@media (max-height: 780px){.myarea{zoom:.76}.hand{height:108px}.hand .slot:hover{transform:translateY(-100px)}}@media (max-width: 1000px){.topbar{gap:8px;padding:0 10px}.topbar .room,.nophone{display:none}}.phoneonly{display:none}@media (max-width: 640px),(max-height: 460px){.table{height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:40px 66px minmax(0,1fr) auto;grid-template-areas:"top" "opp" "center" "me";gap:6px;padding:6px;overflow:clip}.topbar{gap:6px;padding:0 8px}.topbar .room,.topbar .spacer,.topbar .textsize,.nophone{display:none}.topbar .turn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(13px * var(--ts))}.topbar button.link{padding:6px 4px}.logo.small{font-size:0;gap:0}.logo.small .wordmark{display:none}.logo.small .emblem{height:30px}.phoneonly{display:inline-block}.opponents{height:66px;overflow-x:auto;overflow-y:hidden;gap:6px;scrollbar-width:none}.opp{min-width:118px;flex:1 0 118px;height:62px;padding:3px 6px;cursor:pointer}.opp .chips{margin-top:0}.opp .chip{font-size:calc(9px * var(--ts));padding:1px 6px}.opphead{gap:4px}.opphead .lvl{width:22px;font-size:calc(20px * var(--ts))}.opphead .oname{font-size:calc(12.5px * var(--ts));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.opphead .tags{display:none}.opphead .str{margin-left:auto}.opp .oppfoot{display:none}.opp .chips{padding-right:0;flex-wrap:nowrap;overflow:hidden}.opp .gear{display:none}.opp:hover{height:62px;background:var(--glass);border-color:var(--line);box-shadow:none;padding-bottom:3px}.opp:hover .chips{flex-wrap:nowrap;overflow:hidden}.opp:hover .gear{display:none}.opp.turn:hover{border-color:var(--pale);box-shadow:0 0 0 1px var(--pale),0 0 18px #fef1b744}.opp.open,.opp.open:hover{position:fixed;left:6px;right:6px;top:108px;height:auto;min-height:0;z-index:14;background:#06131cfa;border-color:var(--brass);box-shadow:0 12px 30px #000d;padding:8px 10px}.opp.open .opphead .tags{display:inline}.opp.open .opphead .oname{white-space:normal}.opp.open .chips,.opp.open:hover .chips{flex-wrap:wrap;overflow:visible}.opp.open .gear,.opp.open:hover .gear{display:flex;flex:none;overflow:visible;max-height:none}.opp.open .oppfoot{display:block;position:static}.right{display:none}.right.open{display:flex;position:fixed;left:6px;right:6px;top:52px;bottom:6px;z-index:26;box-shadow:0 12px 40px #000e}.tabs .phoneonly{flex:0 0 44px}.center{gap:4px}.boardwrap{container-type:normal;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;gap:6px}.board{width:100%;height:auto;max-height:none;flex:none}.overlay{position:static;inset:auto;flex:1;padding:0 2px 4px;justify-content:flex-start}.overlaytop{position:static;width:100%}.overlay .combat{flex-wrap:wrap;gap:8px;padding:8px;zoom:.8}.combat .vs{min-width:0}.flow{gap:6px}.flow button{padding:8px 12px}.myarea,.myarea:hover{zoom:.8;height:118px;gap:8px;padding:4px 8px}.mystats{min-width:130px}.biglvl{font-size:calc(30px * var(--ts))}.hand{height:104px;justify-content:flex-start;align-items:flex-start;overflow-x:auto;overflow-y:hidden;padding:6px 0 0 6px;scrollbar-width:none}.hand .slot{flex:none;margin:0 -30px 0 0}.hand .slot:last-child{margin-right:40px}.hand .slot:hover{transform:none}.hand .card.md{width:118px;height:168px}.hand .card.selected{outline:3px solid var(--gold)}.handinfo{right:8px;bottom:4px}.tray{left:6px;right:6px;bottom:6px;transform:none;max-width:none;gap:10px;padding:10px;max-height:80dvh;overflow:auto}.tray .card.lg{zoom:.62;flex:none}.trayactions{min-width:0;flex:1;max-height:none}.modal{padding:6px}.dialog{min-width:0;width:100%;padding:12px;max-height:96dvh}.dialog h3{font-size:calc(18px * var(--ts))}.dialog .options.named .card.lg{zoom:.6}.dialog .options .card.md{zoom:.88}.options{gap:6px}.options .card{margin:4px}.toasts{left:14px}.join,.lobby{padding:12px 10px;overflow:clip}.join .joinbar,.lobby .joinbar{position:static;transform:none;padding:0}.join form{min-width:0;width:100%}.roomcode b{font-size:calc(28px * var(--ts))}.lobby .hint code{overflow-wrap:anywhere}.heropicker{padding:8px 6px;max-width:100%}.herorow{flex-wrap:wrap;gap:4px;justify-content:center}.heroRace{width:100%;text-align:center}.herobtn{width:64px;font-size:calc(11px * var(--ts))}.herobtn img{width:44px;height:44px}}@media (max-height: 460px) and (min-width: 641px){.table{grid-template-rows:40px 66px auto auto;overflow-y:auto;overflow-x:clip}.center,.boardwrap{min-height:auto}.boardwrap{flex:none;flex-direction:row;align-items:flex-start;overflow:visible}.board{width:46%;flex:none}.overlay{min-width:0}}a.link{color:var(--brass);text-decoration:underline;opacity:.85;font:inherit}a.link:hover{opacity:1;color:var(--gold)}a.link.discord{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid #5865f2aa;background:#5865f21f;color:var(--pale);opacity:1}a.link.discord:hover{background:#5865f233;border-color:#5865f2;color:#fff}.hint.signedin{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.hint.signinrow{display:flex;flex-direction:column;align-items:center;gap:8px}.hint.signinrow .why{max-width:42ch;text-align:center;line-height:1.4}.hint.signedin b{color:var(--gold)}.verified{color:#7fd6e6;font-weight:700}.hint .why{opacity:.7;font-size:.9em}.hint.warn{color:#e6a15a}
