:root{--s: 4;--px: calc(var(--s) * 1px);--fs: 22px;--fs-big: 28px;color-scheme:dark;--c-panel: rgba(12, 10, 16, .82);--c-border: #6b5d48;--c-gold: #ffd36b;--c-text: #ece6d6;--c-dim: #9a927f;--c-ok: #6ee07a;--c-bad: #ff6b6b;--c-blue: #6aa8ff}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#07070a;color:var(--c-text);font-family:Galmuri11,Galmuri9,monospace;font-size:var(--fs);line-height:1.25;overflow:hidden;user-select:none;-webkit-user-select:none}#app{width:100%;height:100%;display:flex;align-items:center;justify-content:center}@media(max-width:600px){#app{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0}}#stage{position:relative;width:calc(480 * var(--px));height:calc(270 * var(--px));background:#000;overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}#hud{position:absolute;inset:0;pointer-events:none}#hud>*{pointer-events:auto}.hidden{display:none!important}.panel{background:var(--c-panel);border:var(--px) solid var(--c-border);box-shadow:inset 0 0 0 var(--px) #ffffff0d,0 calc(2 * var(--px)) 0 #00000080;padding:calc(3 * var(--px)) calc(5 * var(--px))}.btn{font:inherit;color:#f6ecd2;background:#2b2419;border:var(--px) solid #8a7a5a;border-bottom-width:calc(3 * var(--px));padding:calc(3 * var(--px)) calc(7 * var(--px));cursor:pointer;text-shadow:0 var(--px) 0 #000;transition:transform .06s;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(calc(-1 * var(--px)));filter:brightness(1.15)}.btn:active:not(:disabled){transform:translateY(calc(2 * var(--px)));border-bottom-width:var(--px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:#7a2e1a;border-color:#ffb03a;color:#fff3d0}.btn.primary:hover:not(:disabled){background:#9a3a20}.btn.good{background:#1f4a2a;border-color:#6ee07a}.btn.small{padding:calc(1 * var(--px)) calc(4 * var(--px));border-bottom-width:calc(2 * var(--px));font-size:.85em}.gold{color:var(--c-gold)}.ok{color:var(--c-ok)}.bad{color:var(--c-bad)}.dim{color:var(--c-dim)}.blue{color:var(--c-blue)}.big{font-family:Galmuri14,Galmuri11,monospace;font-size:var(--fs-big)}.pop{animation:pop .25s ease-out}@keyframes pop{0%{transform:scale(1.45)}to{transform:scale(1)}}.shakeX{animation:shakeX .3s}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(calc(-2 * var(--px)))}75%{transform:translate(calc(2 * var(--px)))}}.topbar{position:absolute;top:calc(3 * var(--px));left:calc(4 * var(--px));right:calc(4 * var(--px));display:flex;gap:calc(4 * var(--px));align-items:stretch}.topbar .stat{display:flex;align-items:center;gap:calc(3 * var(--px))}.topbar .spacer{flex:1}.heatbar{display:inline-flex;gap:var(--px)}.heatbar i{display:block;width:calc(4 * var(--px));height:calc(7 * var(--px));background:#3a2a22;border:var(--px) solid #5a4030}.heatbar i.on{background:#ff7a1a;border-color:#ffc06a;box-shadow:0 0 calc(3 * var(--px)) #ff7a1a}.infopanel{position:absolute;right:calc(6 * var(--px));top:calc(38 * var(--px));width:calc(150 * var(--px))}.infopanel .sname{font-size:1.05em;margin-bottom:calc(2 * var(--px))}.infopanel .row{display:flex;justify-content:space-between;gap:calc(3 * var(--px))}.infopanel .row b{font-weight:400}.infopanel .row>span:first-child{white-space:nowrap;flex-shrink:0}.infopanel .detail{font-size:.8em;color:var(--c-dim);text-align:right}.leftpanel{position:absolute;left:calc(6 * var(--px));top:calc(38 * var(--px));width:calc(120 * var(--px));display:flex;flex-direction:column;gap:calc(3 * var(--px))}.chips{display:flex;flex-wrap:wrap;gap:calc(2 * var(--px))}.chip{font-size:.8em;padding:calc(1 * var(--px)) calc(3 * var(--px));border:var(--px) solid #555;background:#1c1822;cursor:default}.chip.common{border-color:#cfcfcf}.chip.rare{border-color:#4f8cff}.chip.epic{border-color:#c08cff}.chip.item{border-color:#ffd36b;cursor:pointer}.chip.item:hover{background:#3a3020}.chip.empty{border-style:dashed;color:#555}.chip.keystone{box-shadow:0 0 calc(3 * var(--px)) var(--c-gold);border-color:var(--c-gold)!important}.card.keystone{box-shadow:0 0 calc(6 * var(--px)) #ffd36b99}.tip{position:absolute;z-index:5;max-width:calc(170 * var(--px));background:#0c0a12;border:var(--px) solid #c9a35a;padding:calc(3 * var(--px)) calc(5 * var(--px));font-size:.85em;pointer-events:none;box-shadow:0 calc(2 * var(--px)) 0 #0009}.tip .tip-title{color:var(--c-gold)}.tip .tip-title.rare{color:#4f8cff}.tip .tip-title.epic{color:#c08cff}.btn.hot{background:#5a2a0a;border-color:#ff9a3a;color:#ffe0b0}.btn.shield{background:#16304a;border-color:#6aa8ff;color:#d8e8ff}.btn.shield.armed{background:#2a5a9a;border-color:#fff;box-shadow:0 0 calc(6 * var(--px)) #6aa8ff}.toast.crit{font-size:1.6em;color:#fff3b0;border-color:#ffd36b;background:#3c1e00d9;text-shadow:0 0 calc(6 * var(--px)) #ffb03a,calc(2 * var(--px)) calc(2 * var(--px)) 0 #000;animation:crit 1.4s forwards}@keyframes crit{0%{opacity:0;transform:scale(2.2) rotate(-6deg)}15%{opacity:1;transform:scale(1) rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(calc(-8 * var(--px)))}}.toast.final{font-size:1.2em;color:#fff;border-color:#fff;letter-spacing:calc(1 * var(--px))}.btn.await{background:#3a1a4a;border-color:#fff;color:#fff;animation:await .7s infinite alternate}@keyframes await{0%{filter:brightness(1)}to{filter:brightness(1.45);transform:translateY(calc(-1 * var(--px)))}}.stat.pulse{animation:pulseGold .6s 5 alternate}@keyframes pulseGold{0%{box-shadow:inset 0 0 0 var(--px) #ffd36b00}to{box-shadow:inset 0 0 0 var(--px) #ffd36b,0 0 calc(6 * var(--px)) #ffb03a}}.engrave{position:absolute;left:50%;bottom:calc(52 * var(--px));transform:translate(-50%);font-family:Galmuri14,Galmuri11,monospace;font-size:2.4em;letter-spacing:calc(3 * var(--px));color:#fff6d0;text-shadow:0 0 calc(10 * var(--px)) #ffb03a,calc(2 * var(--px)) calc(2 * var(--px)) 0 #3a1a00;white-space:nowrap;pointer-events:none}.label{font-size:.8em;color:var(--c-dim)}.log{position:absolute;left:calc(6 * var(--px));bottom:calc(44 * var(--px));width:calc(170 * var(--px));font-size:.8em;color:var(--c-dim);pointer-events:none}.log div:last-child{color:var(--c-text)}.bottombar{position:absolute;left:0;right:0;bottom:calc(6 * var(--px));display:flex;justify-content:center;gap:calc(6 * var(--px))}.bottombar .btn.primary{min-width:calc(140 * var(--px));font-size:1.05em}#toasts{position:absolute;top:calc(44 * var(--px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:calc(2 * var(--px));pointer-events:none}.toast{background:#000000b3;border:var(--px) solid #8a7a5a;padding:calc(2 * var(--px)) calc(6 * var(--px));animation:toast 1.8s forwards;white-space:nowrap}@keyframes toast{0%{opacity:0;transform:translateY(calc(4 * var(--px))) scale(1.2)}12%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(calc(-6 * var(--px)))}}.toast.big{font-size:1.3em;border-color:var(--c-gold);color:var(--c-gold)}#modal{position:absolute;inset:0;background:#0000009e;display:flex;align-items:center;justify-content:center;z-index:10}.dialog{background:#141218;border:calc(2 * var(--px)) solid #c9a35a;box-shadow:0 0 0 var(--px) #000,0 calc(4 * var(--px)) 0 #0009;padding:calc(8 * var(--px)) calc(10 * var(--px));min-width:calc(260 * var(--px));max-width:calc(450 * var(--px));max-height:calc(256 * var(--px));overflow:auto}.dialog h2{margin:0 0 calc(4 * var(--px));font-weight:400;font-size:1.2em;color:var(--c-gold)}.dialog h1{margin:0;font-weight:400;font-size:2em;color:var(--c-gold);letter-spacing:calc(1 * var(--px))}.dialog p{margin:calc(2 * var(--px)) 0}.dialog .actions{display:flex;gap:calc(4 * var(--px));flex-wrap:wrap;margin-top:calc(6 * var(--px))}.dialog table{border-collapse:collapse;width:100%}.dialog td{padding:calc(1 * var(--px)) calc(3 * var(--px))}.dialog td:last-child{text-align:right}.cards{display:flex;gap:calc(8 * var(--px));justify-content:center}.card{width:calc(125 * var(--px));background:#1e1a24;border:calc(2 * var(--px)) solid var(--rar, #888);padding:calc(5 * var(--px));cursor:pointer;transition:transform .08s;display:flex;flex-direction:column;gap:calc(2 * var(--px))}.card:hover{transform:translateY(calc(-3 * var(--px))) rotate(-1.2deg);box-shadow:0 calc(4 * var(--px)) 0 #00000080}.card .rar{font-size:.8em;color:var(--rar)}.card .cat{font-size:.75em;color:var(--c-dim)}.card.common{--rar: #cfcfcf}.card.rare{--rar: #4f8cff}.card.epic{--rar: #c08cff}.shoprow{display:flex;justify-content:space-between;align-items:center;gap:calc(6 * var(--px));padding:calc(2 * var(--px)) 0;border-bottom:var(--px) solid #2a2530}.shoprow .desc{font-size:.8em;color:var(--c-dim)}.kv{display:grid;grid-template-columns:auto auto;gap:calc(1 * var(--px)) calc(10 * var(--px))}.kv span:nth-child(2n){text-align:right}.title-art{font-family:Galmuri14,Galmuri11,monospace;font-size:2.2em;color:var(--c-gold);text-shadow:calc(2 * var(--px)) calc(2 * var(--px)) 0 #5a2a10,0 0 calc(8 * var(--px)) #ff7a1a;margin-bottom:calc(2 * var(--px))}.sub{color:var(--c-dim)}.menu{display:flex;flex-direction:column;gap:calc(4 * var(--px));margin-top:calc(6 * var(--px))}.menu .btn{text-align:left}.menu .btn small{color:var(--c-dim);font-size:.8em;margin-left:calc(4 * var(--px))}.toggle{display:flex;justify-content:space-between;align-items:center;gap:calc(10 * var(--px));padding:calc(2 * var(--px)) 0}.board{display:flex;flex-direction:column;gap:calc(1 * var(--px));margin:calc(4 * var(--px)) 0;max-height:calc(120 * var(--px));overflow-y:auto}.boardrow{display:grid;grid-template-columns:calc(14 * var(--px)) 1fr auto auto;gap:calc(6 * var(--px));align-items:baseline;padding:calc(1 * var(--px)) calc(2 * var(--px))}.boardrow.me{background:#ffb03a1f;outline:1px solid rgba(255,176,58,.4)}.boardrow .rank{color:var(--c-dim);text-align:right}.boardrow .nick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.boardrow .score{font-variant-numeric:tabular-nums}.nick-input{font:inherit;background:#0a0a10;color:inherit;border:1px solid var(--c-dim);padding:calc(1 * var(--px)) calc(3 * var(--px));width:calc(90 * var(--px))}.icon{image-rendering:pixelated;image-rendering:crisp-edges;vertical-align:middle;flex:none}.chip{display:inline-flex;align-items:center;gap:calc(1.5 * var(--px))}.card .card-icon{display:block;margin:calc(1 * var(--px)) auto calc(2 * var(--px))}.shoprow .icon{margin-right:calc(1.5 * var(--px))}.tip .tip-title .icon{margin-right:calc(1.5 * var(--px));vertical-align:-.35em}.shoprow .chip .icon{margin-right:0}.card .card-icon{box-sizing:content-box;padding:calc(2 * var(--px));background:#0c0a10;box-shadow:inset 0 0 0 var(--px) #ffffff0f}.icon.ai{image-rendering:auto}.chip.icon-only{padding:calc(1 * var(--px))}.chip.empty.icon-only{min-width:48px;min-height:48px;justify-content:center;box-sizing:border-box}.card{width:calc(110 * var(--px));align-items:center;text-align:center}.card .name{font-size:1.15em;font-weight:700}.card .sub{font-size:.85em}.card .card-icon{margin:calc(3 * var(--px)) auto calc(2 * var(--px));padding:calc(3 * var(--px))}.card.diff{width:calc(150 * var(--px));align-items:stretch;text-align:left}.card.diff .bullets{margin:calc(2 * var(--px)) 0;padding-left:1.2em;font-size:.9em;line-height:1.6}.card.diff .cta{margin-top:auto;text-align:center;color:var(--c-gold);padding-top:calc(3 * var(--px))}.card.diff:focus-visible{outline:calc(1 * var(--px)) solid var(--c-gold)}.dialog.wide{max-width:calc(472 * var(--px))}.umap{display:flex;flex-direction:column;gap:calc(2 * var(--px));margin:calc(4 * var(--px)) 0}.urow{display:grid;grid-template-columns:calc(24 * var(--px)) 1fr;gap:calc(3 * var(--px));align-items:center;border-top:var(--px) solid #2a2433;padding-top:calc(2 * var(--px))}.urow .ulabel{color:var(--c-dim);font-size:.85em}.ucols{display:flex;gap:calc(3 * var(--px));align-items:center}.ucol{display:flex;flex-direction:column;gap:calc(1.5 * var(--px))}.ucol.wrap{flex-direction:row;flex-wrap:wrap}.uarrow{color:#4a4458;flex:none}.unode{display:flex;align-items:center;gap:calc(2 * var(--px));padding:calc(1 * var(--px)) calc(2 * var(--px));border:var(--px) solid #3a3447;background:#0f0d14;width:calc(86 * var(--px));box-sizing:border-box;min-height:calc(14 * var(--px))}.unode .utext{display:flex;flex-direction:column;min-width:0;flex:1}.unode .uname{font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unode .ureq{font-size:.7em;color:var(--c-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unode .utag{font-size:.75em;white-space:nowrap;flex:none}.unode.rare .uname{color:#8fb8ff}.unode.epic .uname{color:#d4b0ff}.unode.owned{border-color:#2f9a4a}.unode.available{border-color:var(--c-gold);cursor:pointer}.unode.available:hover{background:#1c1826;transform:translateY(calc(-1 * var(--px)))}.unode.available.poor{border-color:#6a5a30;cursor:default}.unode.available.poor:hover{background:#0f0d14;transform:none}.unode.locked{opacity:.45}.unode.keystone{box-shadow:0 0 calc(3 * var(--px)) #ffd36b73}.unode .icon{flex:none}#modal:has(.lobby){justify-content:flex-start;align-items:stretch;background:linear-gradient(90deg,#08060cf0,#08060cdb 32%,#08060c00 60%)}.lobby{display:flex;flex-direction:column;justify-content:center;gap:calc(5 * var(--px));padding:calc(14 * var(--px)) calc(20 * var(--px));width:calc(176 * var(--px));box-sizing:border-box}.lobby-title{font-family:Galmuri14,Galmuri11,monospace;font-size:calc(22 * var(--px));color:var(--c-gold);line-height:1;letter-spacing:calc(1 * var(--px));text-shadow:calc(1 * var(--px)) calc(1 * var(--px)) 0 #000,calc(2 * var(--px)) calc(2 * var(--px)) 0 #4a2a10,calc(3 * var(--px)) calc(3 * var(--px)) 0 #000}.lobby-sub{color:var(--c-dim);font-size:.85em;margin-top:calc(-2 * var(--px));letter-spacing:calc(.5 * var(--px))}.lobby-menu{display:flex;flex-direction:column;gap:calc(3 * var(--px));margin-top:calc(6 * var(--px))}.lobby-btn{display:flex;align-items:center;justify-content:space-between;gap:calc(4 * var(--px));font:inherit;font-size:1.15em;color:var(--c-text);background:#141218d9;border:var(--px) solid #3e3550;border-left:calc(3 * var(--px)) solid #3e3550;padding:calc(3 * var(--px)) calc(6 * var(--px));text-align:left;cursor:pointer;transition:transform .08s ease-out}.lobby-btn:hover,.lobby-btn:focus-visible{border-color:var(--c-gold);color:#fff3d0;outline:none;transform:translate(calc(2 * var(--px)));background:#281e18e6}.lobby-btn.primary{border-left-color:var(--c-gold);color:var(--c-gold)}.lobby-btn .lb-tag{font-size:.7em;color:var(--c-dim)}.lobby-btn .lb-dot{color:var(--c-gold);font-size:.6em;margin-left:calc(3 * var(--px));vertical-align:middle;animation:dotPulse .9s infinite alternate}@keyframes dotPulse{0%{opacity:.35}to{opacity:1}}.lobby-ver{position:absolute;left:calc(6 * var(--px));bottom:calc(4 * var(--px));font-size:.7em;opacity:.6}.unode.hidden-node{opacity:.35;border-style:dashed}.unode .uq{width:32px;text-align:center;color:var(--c-dim);font-size:1.2em;flex:none}.urow.nolabel{grid-template-columns:1fr}.card.diff.locked{opacity:.45;cursor:default}.card.diff.locked:hover{transform:none;box-shadow:none}.tabs{display:flex;gap:calc(2 * var(--px));margin-bottom:calc(4 * var(--px))}.btn.tab{background:#141218;border-bottom-width:var(--px);color:var(--c-dim)}.btn.tab.on{color:var(--c-gold);border-color:var(--c-gold);background:#241c14}.recbody{min-height:calc(150 * var(--px))}.dexgrid{display:grid;grid-template-columns:repeat(10,1fr);gap:calc(2 * var(--px))}.dexcell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:calc(52 * var(--px));background:#0c0a10;border:var(--px) solid #3a3447;padding-bottom:calc(1 * var(--px))}.dexcell img{height:calc(38 * var(--px));image-rendering:pixelated}.dexcell.train{border-color:#8d8fa6}.dexcell.trial{border-color:#4f8cff}.dexcell.legend{border-color:#c9502e}.dexcell.myth{border-color:#f6f1e6}.dexcell.unknown{border-color:#2a2433}.dexcell .dexlv{font-size:.7em;color:var(--c-dim)}.dexcell:not(.unknown) .dexlv{color:var(--c-text)}.dexcell .dexstar{position:absolute;top:calc(1 * var(--px));right:calc(2 * var(--px));font-size:.65em;color:var(--c-gold)}.dexcell.cracked:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 46%,rgba(255,75,75,.7) 47%,rgba(255,75,75,.7) 50%,transparent 51%);pointer-events:none}.notelist{display:grid;grid-template-columns:1fr 1fr;gap:calc(1.5 * var(--px)) calc(3 * var(--px));max-height:calc(150 * var(--px));overflow-y:auto;margin-top:calc(3 * var(--px))}.noterow,.achrow{display:flex;align-items:center;gap:calc(2 * var(--px));padding:calc(1 * var(--px)) calc(2 * var(--px));border:var(--px) solid #3a3447;background:#0f0d14}.noterow .utext,.achrow .utext{display:flex;flex-direction:column;min-width:0;flex:1}.noterow .uname,.achrow .uname{font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noterow .ureq,.achrow .ureq{font-size:.7em;color:var(--c-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noterow.rare .uname{color:#8fb8ff}.noterow.epic .uname{color:#d4b0ff}.noterow.unknown{opacity:.35;border-style:dashed}.partners{display:inline-flex;gap:calc(1 * var(--px));flex:none}.achgrid{display:grid;grid-template-columns:1fr 1fr;gap:calc(1.5 * var(--px)) calc(3 * var(--px));margin-bottom:calc(3 * var(--px))}.achrow .seal{width:calc(9 * var(--px));text-align:center;color:#4a4458;font-size:1.1em;flex:none}.achrow.done{border-color:#6a5a30}.achrow.done .seal{color:#ff6b6b;text-shadow:0 0 calc(2 * var(--px)) #b7303a}.achrow .utag{font-size:.75em;flex:none}.lucktable,.recentlist{display:flex;flex-direction:column;gap:calc(.5 * var(--px))}.luckrow{display:grid;grid-template-columns:calc(28 * var(--px)) calc(40 * var(--px)) 1fr 1fr calc(30 * var(--px));gap:calc(3 * var(--px));font-size:.9em}.recentlist{max-height:calc(70 * var(--px));overflow-y:auto}.recentrow{display:grid;grid-template-columns:calc(20 * var(--px)) calc(20 * var(--px)) calc(22 * var(--px)) calc(16 * var(--px)) 1fr calc(18 * var(--px));gap:calc(3 * var(--px));align-items:center;padding:calc(.5 * var(--px)) calc(2 * var(--px));cursor:pointer;font-size:.9em}.recentrow:hover,.recentrow:focus-visible{background:#1c1826;outline:none}.pick-wrap{display:contents}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(8 * var(--px))}.dialog-head .btn.mini{flex:none;padding:calc(1 * var(--px)) calc(5 * var(--px));font-size:.85em}.pick-pill{display:none}#modal.minimized{background:transparent;pointer-events:none}#modal.minimized .dialog{display:none}#modal.minimized .pick-pill{display:flex;flex-direction:column;align-items:center;gap:calc(1 * var(--px));pointer-events:auto;cursor:pointer;position:absolute;left:50%;bottom:calc(22 * var(--px));transform:translate(-50%);background:#141218;border:calc(2 * var(--px)) solid #c9a35a;box-shadow:0 0 0 var(--px) #000,0 calc(3 * var(--px)) 0 #0009;padding:calc(3 * var(--px)) calc(10 * var(--px));animation:pickPill 1.4s ease-in-out infinite}#modal.minimized .pick-pill:hover{background:#241e14}@keyframes pickPill{0%,to{box-shadow:0 0 0 var(--px) #000,0 0 #ffd36b00}50%{box-shadow:0 0 0 var(--px) #000,0 0 calc(6 * var(--px)) #ffd36bb3}}.tip.mtip{z-index:30}.tip .good{color:#7be38a}.tip .bad{color:#ff7b7b}.tip .gold{color:var(--c-gold)}.dexcell.shiny{box-shadow:inset 0 0 0 var(--px) #7ff0e0}.dexcell .dexshiny{position:absolute;left:calc(2 * var(--px));top:calc(1 * var(--px));color:#7ff0e0;font-size:.8em}
