:root{--bg: #f6f4ef;--panel: #ffffff;--ink: #1f1d1a;--muted: #6b665d;--own: #e3ece6;--enemy: #efe3e1;--a: #2f6b4f;--b: #9c3b33;--line: #d8d3c8;--accent: #2f6b4f;--sel: #d99a1e;--c1: #7d8590;--c2: #3f8a5c;--c3: #3a6fb0;--c4: #8a4fb0;--c5: #c08a1e}@media (prefers-color-scheme: dark){:root{--bg: #171614;--panel: #201f1c;--ink: #ece8e0;--muted: #a29c90;--own: #1f2b25;--enemy: #2d2120;--a: #6fc39b;--b: #e68a80;--line: #34312c;--accent: #6fc39b}}*{box-sizing:border-box}html,body,#root{height:100%}body{overflow:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}.app{height:100%}h1{font-size:1.1rem;margin:4px 0}h2{font-size:.75rem;color:var(--muted);margin:6px 0 4px;font-weight:600}.sub,.status{color:var(--muted);font-size:.8rem}button{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 10px;cursor:pointer}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.boot-error{padding:24px;color:var(--b)}:root{--W: 100vw;--H: 100vh;--scale: .88}@media (orientation: portrait){:root{--W: 100vh;--H: 100vw}.app{position:fixed;top:0;left:100vw;transform:rotate(90deg);transform-origin:top left}}:root{--SW: calc(var(--W) * var(--scale));--SH: calc(var(--H) * var(--scale));--frame: #d9d3c6}@media (prefers-color-scheme: dark){:root{--frame: #0e0d0c}}.app{width:var(--W);height:var(--H);display:flex;align-items:center;justify-content:center;background:var(--frame);overflow:hidden}.play-area{width:var(--SW);height:var(--SH);background:var(--bg);border-radius:14px;overflow:hidden;position:relative;box-shadow:0 2px 18px #0000002e}.play-area>section{height:100%;overflow-y:auto}.mode-select,.setup,.result{padding:12px 16px;max-width:900px;margin:0 auto}.carousel{display:flex;align-items:center;gap:6px;margin-top:8px}.arrow{font-size:1.4rem;padding:4px 10px}.cards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;flex:1;scrollbar-width:none}.cards::-webkit-scrollbar{display:none}.mode-card{scroll-snap-align:center;flex:0 0 min(32%,240px);min-height:calc(var(--SH) * .52);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;padding:14px;border-radius:12px;border:2px solid var(--accent)}.mode-card.locked{border-color:var(--line)}.mode-name{font-size:1.2rem;font-weight:700}.mode-blurb{font-size:.8rem;color:var(--muted)}.mode-tag{font-size:.75rem;padding:2px 8px;border-radius:99px;background:var(--own)}.mode-card.locked .mode-tag{background:var(--line)}.setup-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choices{display:flex;flex-wrap:wrap;gap:8px}.choice.picked,.item.picked{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel) inset}.setup-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.prepare{height:100%;display:flex;flex-direction:column;position:relative}.prep-top{display:flex;gap:10px;align-items:center;padding:3px 8px;font-size:.8rem}.prep-top .stage{font-weight:700;font-size:.95rem}.prep-top .phase{padding:1px 8px;border-radius:99px;background:var(--own);font-size:.7rem}.prep-top .spacer,.topbar .spacer{flex:1}.prep-top button{padding:4px 12px}.prep-main{flex:1;display:grid;grid-template-columns:7rem 1fr 8.5rem;gap:6px;padding:0 6px;min-height:0}.side-left,.side-right{overflow-y:auto;font-size:.72rem}.trait{display:flex;justify-content:space-between;padding:2px 6px;border-radius:4px;background:var(--panel);margin-bottom:3px;color:var(--muted)}.trait.on{color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.item-bag{display:flex;flex-direction:column;gap:3px}.item{width:100%;font-size:.7rem;padding:3px 6px}.player{display:grid;grid-template-columns:1fr 2.2em;grid-template-rows:auto 4px;column-gap:4px;padding:2px 4px;border-radius:4px;margin-bottom:2px}.player.me{background:var(--own);font-weight:700}.player.out{opacity:.4}.pname{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.phpn{text-align:right;grid-row:1 / span 2;grid-column:2;align-self:center;font-variant-numeric:tabular-nums}.php{grid-column:1;background:var(--line);border-radius:2px;overflow:hidden}.php span{display:block;height:100%;background:var(--a)}.field-area{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:0}.board{display:grid;gap:3px}.prep-board,.bench{width:min(100%,calc((var(--SH) - 128px) * 8 / 5.4))}.bench{display:grid;gap:3px;margin-top:5px}.cell{aspect-ratio:1;border-radius:4px;position:relative}.cell.own{background:var(--own)}.cell.enemy{background:var(--enemy)}.cell.target{outline:1px dashed var(--sel);outline-offset:-2px}.bench-cell{background:var(--panel);border:1px dashed var(--line)}.msg{min-height:1.1em;font-size:.7rem;color:var(--muted);margin:2px 0 0}.prep-bottom{display:grid;grid-template-columns:7rem 1fr 6rem;gap:6px;padding:3px 6px 4px;border-top:1px solid var(--line);align-items:end}.lv-box,.shop-ops{display:flex;flex-direction:column;gap:3px;font-size:.72rem}.lv b{font-size:.95rem}.xp-btn,.reroll-btn,.lock-btn{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;font-size:.75rem}.xp-btn small,.reroll-btn small{color:var(--muted)}.lock-btn.picked,.choice.picked,.item.picked,.topbar .picked{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel) inset}.shop-area{min-width:0}.gold-line{display:flex;justify-content:space-between;align-items:baseline;font-size:.7rem;margin-bottom:2px}.gold{font-weight:700;font-size:.9rem;color:var(--c5)}.odds{color:var(--muted);display:flex;gap:6px}.odd{border-bottom:2px solid var(--c1)}.odd.cost2{border-color:var(--c2)}.odd.cost3{border-color:var(--c3)}.odd.cost4{border-color:var(--c4)}.odd.cost5{border-color:var(--c5)}.shop-row{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;height:52px}.shop-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:3px 5px;font-size:.72rem;border-bottom:4px solid var(--c1);position:relative;min-width:0}.shop-card small{color:var(--muted);font-size:.6rem;overflow:hidden;white-space:nowrap;max-width:100%}.shop-card .scost{position:absolute;right:4px;top:2px;font-weight:700}.shop-card:disabled{border-bottom-color:var(--line)}.shop-card.cost2{border-bottom-color:var(--c2)}.shop-card.cost3{border-bottom-color:var(--c3)}.shop-card.cost4{border-bottom-color:var(--c4)}.shop-card.cost5{border-bottom-color:var(--c5)}.sell-zone{width:100%;height:52px;background:var(--enemy);border:2px dashed var(--b);color:var(--ink);font-weight:700}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:5}.pick-panel{background:var(--bg);border-radius:12px;padding:12px 16px;max-width:90%}.pick-panel h2{font-size:.85rem;color:var(--ink)}.pick-row{display:flex;gap:10px}.pick-card{min-width:7rem;min-height:5rem;font-weight:600}.topbar{display:flex;gap:10px;align-items:center;padding:4px 8px;font-size:.8rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.topbar button{padding:4px 8px;font-size:.8rem}.unit{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:4px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:2px;font-size:clamp(.5rem,calc(var(--SH) * .018),.7rem);line-height:1.1;overflow:hidden}.unit.side0{background:var(--a)}.unit.side1{background:var(--b)}.chip.cost1{background:var(--c1)}.chip.cost2{background:var(--c2)}.chip.cost3{background:var(--c3)}.chip.cost4{background:var(--c4)}.chip.cost5{background:var(--c5)}.chip.selected{outline:3px solid var(--sel);outline-offset:-1px}.stars{font-size:.55rem}.hpbar{height:4px;background:#0000004d;border-radius:2px;overflow:hidden}.hpbar span{display:block;height:100%;background:#fff}.battle{height:100%;display:flex;flex-direction:column}.battle-board{width:min(100% - 16px,calc(var(--SH) - 48px));margin:6px auto}.topbar .picked{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel) inset}.clock{min-width:6.5em;font-variant-numeric:tabular-nums}.topbar .win{color:var(--a)}.topbar .lose{color:var(--b)}.hpbar{position:relative}.shieldbar{position:absolute;left:0;top:0;height:100%;background:#f2e6b8!important;opacity:.9}.status-tag{font-size:.5rem;background:#00000059;border-radius:3px;padding:0 2px;align-self:flex-start}.flash-skill{box-shadow:0 0 0 3px var(--sel)}.flash-summon{box-shadow:0 0 0 3px #fff}.standings{columns:2;font-size:.85rem;padding-left:1.4em}.standings .me{font-weight:700;color:var(--accent)}.standings .out{color:var(--muted);text-decoration:line-through}.warn{color:var(--b)}
