: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;--common: #9db2d6;--rare: #5ad1ff;--epic: #d58cff;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}.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}}.steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pip{padding:4px 10px;border-radius:999px;background:#12245a;color:var(--muted);font-size:.85rem}.pip.done{background:#1f5a3a;color:#c8ffd8}.pip.now{background:var(--gold);color:#222;font-weight:900}.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}.boons{display:flex;flex-wrap:wrap;gap:4px}.boon{font-size:.75rem;padding:2px 7px;border-radius:999px;border:1px solid var(--common)}.boon.rare{border-color:var(--rare);color:var(--rare)}.boon.epic{border-color:var(--epic);color:var(--epic)}.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}.boon-card{border-width:3px}.boon-card.rare{border-color:var(--rare)}.boon-card.epic{border-color:var(--epic);box-shadow:0 0 18px #d58cff59}.rarity{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.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){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):hover:not([disabled]),html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):focus-visible{background:#ffffff1f;transform:none}html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):hover:not([disabled]):before,html.pmd-window button:not(.card):not(.starter):not(.chip):not(.tiny):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;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}
