:root{--bg: #0d1220;--panel: linear-gradient(180deg, #1d3a78 0%, #142a5c 100%);--panel-solid: #17306a;--border: #8fb4ff;--text: #eef3ff;--muted: #a8b6d8;--gold: #ffd84a;--good: #7dff9a;--bad: #ff8a8a;--info: #9ecbff;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(ellipse at top,#1a2550 0%,var(--bg) 60%);color:var(--text);font:15px/1.4 Nunito,system-ui,sans-serif}#app{min-height:100%}a{color:var(--info)}h1,h2,h3,h4,.logo{font-family:Pixelify Sans,Nunito,sans-serif;margin:.3em 0}h4{color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}button{font:inherit;color:var(--text);background:#24458f;border:2px solid var(--border);border-radius:10px;padding:.45em .9em;cursor:pointer;transition:transform .08s,background .15s}button:hover:not([disabled]){background:#2f58b5;transform:translateY(-1px)}button[disabled]{opacity:.45;cursor:not-allowed}button.big{font-weight:900;font-size:1.05rem;padding:.6em 1.3em;background:#2d6be0}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.tiny{padding:.1em .5em;font-size:.8rem;border-radius:6px}input{font:inherit;color:var(--text);background:#0f1d40;border:2px solid #3a5aa8;border-radius:8px;padding:.4em .7em}.panel{background:var(--panel);border:2px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:inset 0 0 0 2px #0b1a3d,0 6px 20px #00000059}.center{text-align:center}.small{font-size:.82rem;color:var(--muted)}.hint{color:var(--muted);max-width:70ch}.mono{font-family:ui-monospace,monospace}.rp{color:var(--gold);font-weight:900}.hub{max-width:640px;margin:0 auto;padding:48px 16px;text-align:center}.logo{font-size:clamp(2rem,7vw,3.4rem);color:var(--gold);text-shadow:0 3px 0 #a0521d,0 6px 18px rgba(0,0,0,.5)}.logo span{color:#fff;margin:0 .25em}.tag{color:var(--muted)}.menu{display:grid;gap:10px;margin:24px auto;max-width:420px}.menu button{display:flex;justify-content:space-between;align-items:center}.stats{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:12px 0}.stats div{background:#12245a;border-radius:10px;padding:8px 14px}.stats b{display:block;font-size:1.3rem;color:var(--gold)}.credits{font-size:.75rem;color:#7f8db0;margin-top:32px}.rom{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;text-align:left;margin:12px auto;max-width:560px;font-size:.9rem}.rom .small{flex-basis:100%}.rom .on{color:var(--good)}.gatebox{max-width:520px;margin:24px auto;display:grid;gap:10px;justify-items:center}.gatebox p{margin:0;color:var(--muted)}.page{max-width:1100px;margin:0 auto;padding:16px;display:grid;gap:14px}.page header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page header h2{flex:1}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row label{min-width:50px;color:var(--muted)}.row.end{justify-content:flex-end}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:.25em .7em;border-radius:999px;font-size:.85rem;background:#172c5e;border-color:#3a5aa8}.chip.on{background:#2d6be0;border-color:var(--gold)}.portrait{width:40px;height:40px;image-rendering:pixelated;border-radius:8px;background:#0e1a3a;flex:none}.portrait.large{width:80px;height:80px}.portrait.boss{width:56px;height:56px;position:absolute;right:10px;top:10px;border:2px solid var(--gold)}.type{display:inline-block;font-size:.68rem;font-weight:900;text-transform:uppercase;padding:0 5px;border-radius:4px;color:#111;margin-right:3px}.starters{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.starter{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#172c5e;position:relative}.starter.leader{border-color:var(--gold);background:#3b3a12}.starter.partner{border-color:var(--rare);background:#123a4e}.starter.locked .portrait{filter:grayscale(1) brightness(.5)}.starter .role{position:absolute;top:4px;right:6px;font-size:.7rem;text-transform:uppercase;color:var(--gold);font-weight:900}.starter .cost{font-size:.75rem;color:var(--gold)}.upgs{display:grid;gap:8px}.upg{display:flex;justify-content:space-between;align-items:center;gap:12px}.lvl{color:var(--gold);letter-spacing:2px}.dexgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px}.dex{width:44px;height:44px;display:grid;place-items:center;background:#0e1a3a;border-radius:8px;color:#3a4a70}.dex.seen .portrait{filter:grayscale(1) opacity(.6)}.dex.rec{outline:2px solid var(--gold)}.hist{width:100%;border-collapse:collapse;font-size:.85rem}.hist td{padding:4px 8px;border-bottom:1px solid #23356a}.campaign{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.dlist{display:grid;gap:10px;max-height:70vh;overflow-y:auto}.chapter{display:grid;gap:2px}.drow{display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border-color:transparent;padding:.3em .6em}.drow.on{background:#2d6be0;border-color:var(--gold)}.drow.cleared .nm{color:var(--muted)}.drow .mark{width:1em;color:var(--gold)}.drow.cleared .mark{color:var(--good)}.drow .nm{flex:1}.drow .new{font-size:.7rem;font-weight:900;color:#222;background:var(--gold);border-radius:4px;padding:0 5px}.ddetail{display:grid;gap:6px;overflow:hidden;position:sticky;top:16px}.ddetail .dbanner{margin:-12px -14px 6px}.ddetail p{margin:0}.cside{display:grid;gap:12px;align-content:start;position:sticky;top:16px}.cside .ddetail{position:static}.cteam{display:grid;gap:6px}.cteam h4{margin:4px 0 0}.kanga{display:grid;gap:6px}.kanga h3,.kanga p{margin:0}.kanga button.item{padding:2px 4px}.kecleon{display:grid;gap:4px;margin-bottom:8px}.kecleon h3,.kecleon h4,.kecleon p{margin:0}.kecleon .benchrow button{margin-left:4px}.kecleon button.item{padding:2px 4px}.rules{margin:0;padding-left:1.2em;font-size:.85rem;color:var(--muted)}.ddetail .bad{color:var(--bad)}.bossline{display:flex;align-items:center;gap:8px}.opened{max-width:420px;margin:0 auto;text-align:left}.opened ul{margin:0;padding-left:1.2em}@media (max-width: 700px){.campaign{grid-template-columns:1fr}.cside{position:static}}.line{flex:0 0 18px;height:2px;background:#3a5aa8}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.card{text-align:left;display:flex;flex-direction:column;gap:4px;padding:14px;min-height:120px;position:relative;background:var(--panel)}.card p{margin:0;color:var(--muted);font-size:.88rem}.card .icon{font-size:2rem}.card.dcard{overflow:hidden}.dbanner{height:36px;margin:-14px -14px 6px;background:repeating-linear-gradient(45deg,var(--floor) 0 12px,var(--wall) 12px 24px);border-bottom:3px solid var(--accent)}.mod{color:var(--gold)!important}.mod.none{color:var(--muted)!important;opacity:.6}.split{display:grid;grid-template-columns:2fr 1fr;gap:12px}.team{display:grid;gap:8px}.member{display:flex;gap:8px;align-items:flex-start}.member.out{opacity:.4;filter:grayscale(1)}.member.lead .portrait{outline:2px solid var(--gold)}.member .info{flex:1;min-width:0}.member .top{display:flex;gap:6px;align-items:baseline}.member .top span{color:var(--muted);font-size:.85rem}.member .held{font-size:1rem}.hpbar{position:relative;height:12px;background:#0b1530;border-radius:6px;overflow:hidden;margin:3px 0}.hpbar div{height:100%;transition:width .2s}.hpbar span{position:absolute;inset:0;font-size:.68rem;line-height:12px;text-align:center;font-weight:900;text-shadow:0 1px 2px #000}.moves{display:flex;flex-wrap:wrap;gap:3px}.mv{font-size:.7rem;border-left:3px solid;background:#0e1d44;padding:0 5px;border-radius:3px}.mv i{color:var(--muted);font-style:normal}.bag{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.item{font-size:1.2rem;position:relative}.item sub{font-size:.65rem;font-weight:900}.benchrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.85rem;margin-top:4px}.benchrow .portrait{width:28px;height:28px}.givers{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.givers button{display:flex;align-items:center;gap:6px}.icon.big{font-size:3rem}.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.shopitem .price{color:var(--gold);font-weight:900;margin-top:auto}.shopitem.sold{opacity:.4}.evo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.evo button{display:flex;align-items:center;gap:6px}.dungeon{display:grid;grid-template-columns:1fr 330px;height:100vh}.mapwrap{position:relative;min-height:0}#map{width:100%;height:100%;display:block}.topbar{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:14px;flex-wrap:wrap;font-size:.9rem;background:#0d1a3cd1;border:2px solid var(--border);border-radius:10px;padding:4px 12px;pointer-events:none}.topbar .wind{color:var(--bad);font-weight:900}.topbar{align-items:center;font-family:Pixelify Sans,Nunito,sans-serif}.pmdfloor,.pmdlv,.pmdhp{font-size:1.15rem;color:#fff;text-shadow:0 2px 0 #000}.pmdhp b{color:#fff}.pmdbar{width:120px;height:9px;background:#4a1010;border:1px solid #000;border-radius:2px;overflow:hidden}.pmdbar i{display:block;height:100%;background:linear-gradient(#7dff9a,#2fbf55)}.msgbox{position:absolute;left:8px;right:8px;bottom:8px;min-height:3.6em;pointer-events:none;font-size:.9rem;background:linear-gradient(180deg,#183078eb,#0e1e50eb);border:2px solid #c8d8ff;border-radius:10px;padding:6px 12px;box-shadow:inset 0 0 0 2px #0b1a3d}.msgbox:empty{display:none}.msgbox .good{color:var(--good)}.msgbox .bad{color:var(--bad)}.msgbox .gold{color:var(--gold)}.msgbox .info{color:var(--info)}.floorcard{position:absolute;inset:0;background:#000;display:grid;place-content:center;text-align:center;gap:8px;font-family:Pixelify Sans,Nunito,sans-serif;opacity:0;pointer-events:none;transition:opacity .35s}.floorcard.show{opacity:1;transition:none}.floorcard .dname{font-size:clamp(1.4rem,4vw,2.2rem);color:#fff}.floorcard .dfloor{font-size:clamp(1.1rem,3vw,1.6rem);color:var(--gold)}.hud{overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px;background:#0f1b3d;border-left:2px solid #2a4590}.controls{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.log{font-size:.8rem;display:flex;flex-direction:column;gap:2px;color:var(--muted);flex:1;justify-content:flex-end;min-height:120px}.log .good{color:var(--good)}.log .bad{color:var(--bad)}.log .gold{color:var(--gold)}.log .info{color:var(--info)}.over{text-align:center;justify-items:center;padding-top:48px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--panel-solid);border:2px solid var(--gold);border-radius:10px;padding:10px 18px;z-index:10;animation:fade 2.2s forwards}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}@media (max-width: 800px){.dungeon{grid-template-columns:1fr;grid-template-rows:55vh auto;height:auto}.hud{border-left:0;border-top:2px solid #2a4590}.split{grid-template-columns:1fr}}.item-icon{width:16px;height:16px;image-rendering:pixelated;vertical-align:-3px}.item-icon.big{width:32px;height:32px}html.pmd-font body,html.pmd-font button,html.pmd-font input,html.pmd-font select,html.pmd-font h1,html.pmd-font h2,html.pmd-font h3,html.pmd-font h4{font-family:PMD,Nunito,system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:none;font-smooth:never}html.pmd-font body{font-size:18px}html.pmd-font h4{letter-spacing:0}html.pmd-window .panel,html.pmd-window .topbar,html.pmd-window .msgbox,html.pmd-window .stats div,html.pmd-window .toast{border:12px solid transparent;border-radius:0;border-image:var(--pmd-window) 8 fill / 12px stretch;image-rendering:pixelated;background:none;box-shadow:none}html.pmd-window .panel{padding:4px 6px}html.pmd-window .topbar,html.pmd-window .msgbox{padding:0 4px}html.pmd-window .card,html.pmd-window .starter{border:12px solid transparent;border-radius:0;border-image:var(--pmd-window) 8 fill / 12px stretch;image-rendering:pixelated;background:none;padding:2px 4px}html.pmd-window .starter.leader,html.pmd-window .starter.partner{filter:drop-shadow(0 0 3px var(--gold))}html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):not(.opt):not(.pick){position:relative;background:transparent;border:0;border-radius:0;padding-left:1.4em}html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):not(.opt):not(.pick):hover:not([disabled]),html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):not(.opt):not(.pick):focus-visible{background:#ffffff1f;transform:none}html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):not(.opt):not(.pick):hover:not([disabled]):before,html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):not(.opt):not(.pick):focus-visible:before{content:"▶";position:absolute;left:.3em;color:#fff}html.pmd-window button.big{color:var(--gold)}html.pmd-window button:hover:not([disabled]){transform:none}.banner{image-rendering:pixelated;height:auto;width:calc(var(--bw) * 2px);max-width:90vw}html.pmd-window .hub{background:linear-gradient(#080e228c,#080e22d9),var(--pmd-title) center / cover no-repeat;image-rendering:pixelated;max-width:none;min-height:100vh}html.pmd-window .hub>*{max-width:640px;margin-left:auto;margin-right:auto}.stage-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000}.stage-wrap .credits{max-width:calc(360 * var(--u));padding:0 16px;text-align:center}.stage{position:relative;width:calc(360 * var(--u));height:calc(240 * var(--u));overflow:hidden;background:#000;font-size:calc(12 * var(--u));line-height:calc(13 * var(--u));image-rendering:pixelated;flex:none}.stage .bg{position:absolute;inset:0;background-repeat:no-repeat;image-rendering:pixelated}.stage .bg.title{background:var(--pmd-title) center / cover no-repeat;filter:brightness(.75)}.stage .bg.dark{background:radial-gradient(ellipse at 50% 40%,#142048,#04060f 75%)}html.pmd-window .stage .win{position:absolute;display:flex;flex-direction:column;overflow:hidden;border:calc(8 * var(--u)) solid transparent;border-image:var(--pmd-window) 8 fill / calc(8 * var(--u)) stretch;padding:0 calc(2 * var(--u));image-rendering:pixelated}.stage .win .head{overflow:hidden;text-overflow:ellipsis;display:flex;gap:calc(4 * var(--u));color:var(--gold);white-space:nowrap;padding-bottom:calc(1 * var(--u))}.stage .win .head.center{justify-content:center}.stage .r{margin-left:auto;text-align:right}.stage .small{font-size:inherit;color:var(--muted)}.stage .gold{color:var(--gold)}.stage .bad{color:var(--bad)}.stage .warn{color:#ffb84a}.stage .name{color:#7fe0ff}.stage .who{color:var(--gold)}.stage .mono{font-family:inherit}.stage .big{font-size:inherit}.stage .scroll{overflow-y:auto;scrollbar-width:none;min-height:0;flex:1}.stage .scroll::-webkit-scrollbar{display:none}.stage .kv{display:flex;gap:calc(4 * var(--u));white-space:nowrap;height:calc(13 * var(--u));flex:none}.stage .kv b{margin-left:auto;font-weight:400}.stage .kv.row.out{opacity:.45}.stage .kv.row:hover{background:#ffffff1a}.stage .portrait{width:calc(40 * var(--u));height:calc(40 * var(--u));border-radius:0;background:none;display:block}.stage .portrait.float{float:right;margin-left:calc(4 * var(--u))}.stage .item-icon{width:calc(16 * var(--u));height:calc(16 * var(--u));vertical-align:calc(-4 * var(--u));margin:calc(-2 * var(--u)) 0}.stage .item-icon.float{float:right;margin:0 0 0 calc(4 * var(--u))}.stage .item-icon.big{width:calc(32 * var(--u));height:calc(32 * var(--u))}.stage .type{font-size:inherit;font-weight:400;text-transform:none;padding:0 calc(2 * var(--u));border-radius:0;line-height:calc(11 * var(--u));color:#fff;text-shadow:calc(1 * var(--u)) calc(1 * var(--u)) 0 rgba(0,0,0,.6);margin-right:calc(2 * var(--u))}.stage .lvl{color:var(--gold);letter-spacing:0;font-size:calc(8 * var(--u));line-height:0}.stage .item sub{font-size:inherit}html.pmd-window .stage button.opt{display:flex;gap:calc(4 * var(--u));align-items:baseline;width:100%;text-align:left;white-space:nowrap;font:inherit;line-height:inherit;color:#fff;background:none;border:0;border-radius:0;padding:0 0 0 calc(9 * var(--u));margin:0;position:relative;transform:none;height:calc(13 * var(--u));flex:none}.stage button.opt .l{overflow:hidden;text-overflow:ellipsis}html.pmd-window .stage button.opt.gold{color:var(--gold)}html.pmd-window .stage button.opt[aria-disabled=true]{color:#8a94b0;cursor:default}.stage button.opt.sold{text-decoration:line-through}html.pmd-window .stage button.opt:hover,html.pmd-window .stage button.opt:focus-visible{background:none;outline:none}html.pmd-window .stage button.opt:hover:before,html.pmd-window .stage button.opt:focus-visible:before{content:"";position:absolute;left:calc(1 * var(--u));top:calc(3 * var(--u));width:calc(5 * var(--u));height:calc(7 * var(--u));background:#fff;clip-path:polygon(0 0,100% 50%,0 100%);filter:drop-shadow(calc(1 * var(--u)) calc(1 * var(--u)) 0 #000)}html.pmd-window .stage button.opt:hover:before{animation:cursor .5s steps(2) infinite}@keyframes cursor{50%{transform:translate(calc(1 * var(--u)))}}.stage .logo-wrap{position:absolute;left:0;right:0;top:calc(16 * var(--u));text-align:center}.stage .banner{width:calc(var(--bw) * var(--u));max-width:none;filter:drop-shadow(calc(2 * var(--u)) calc(2 * var(--u)) 0 rgba(0,0,0,.7))}.stage .logo{font-size:calc(24 * var(--u))}.stage .picks{display:grid;grid-template-columns:repeat(4,calc(40 * var(--u)));gap:calc(2 * var(--u))}html.pmd-window .stage button.pick{position:relative;padding:0;margin:0;border:0;border-radius:0;background:#00000040;cursor:pointer}html.pmd-window .stage button.pick:hover{background:#fff3;transform:none;outline:calc(1 * var(--u)) solid #fff}.stage .pick.leader{outline:calc(1 * var(--u)) solid var(--gold)}.stage .pick.partner{outline:calc(1 * var(--u)) solid #7fe0ff}.stage .pick i{position:absolute;right:calc(1 * var(--u));bottom:0;font-style:normal;color:var(--gold);text-shadow:calc(1 * var(--u)) calc(1 * var(--u)) 0 #000}.stage .pick.partner i{color:#7fe0ff}.stage .slots{display:flex;justify-content:space-around}.stage .slot{display:flex;flex-direction:column;align-items:center}.stage .portrait.empty{background:#0000004d}.stage .dexgrid{display:grid;grid-template-columns:repeat(auto-fill,calc(20 * var(--u)));gap:calc(1 * var(--u));align-content:start}.stage .dex{width:calc(20 * var(--u));height:calc(20 * var(--u));background:#0000004d;border-radius:0}.stage .dex .portrait{width:calc(20 * var(--u));height:calc(20 * var(--u))}.stage .dex.seen .portrait{filter:grayscale(1) opacity(.6)}.stage .dex.rec{outline:0;background:#ffd84a40}.stage .stage .stage .stage .stage .kv.row>span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis}.stage .kv.row>span:nth-child(2){width:calc(24 * var(--u))}.stage .kv.row.sum>span{flex:none;width:auto}.stage .kv.row.sum>span+span{margin-left:auto}.stage .kv.row>b{margin-left:0;min-width:calc(34 * var(--u));text-align:right}html.pmd-window .stage button.opt.on:before{content:"";position:absolute;left:calc(1 * var(--u));top:calc(3 * var(--u));width:calc(5 * var(--u));height:calc(7 * var(--u));background:var(--gold);clip-path:polygon(0 0,100% 50%,0 100%)}html.pmd-window .stage button.opt.on{color:var(--gold)}html.pmd-window .stage button.opt.cleared:not(.on){color:#b8c4e0}.stage .win .head+.head,.stage .opt+.head,.stage .kv+.head{margin-top:calc(3 * var(--u))}
