:root{--bg:#2b1d14;--bg2:#3a281b;--wood:#5a3d26;--paper:#f6ead2;--paper2:#ead9b8;--ink:#2a1c12;--ink-soft:#6b5440;--gold:#e3a93b;--gold-dark:#b47a1c;--eco:#3f8a3a;--atk:#b6372a;--ctr:#2f6aa8;--mag:#7a4bb0;--raid:#7a8396;--me:#3f8a3a;--enemy:#b6372a;--radius:10px;color:var(--paper);-webkit-tap-highlight-color:transparent;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;height:100%;margin:0}body{background:radial-gradient(ellipse at top, #4a3322 0%, var(--bg) 70%) fixed}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0}.app{height:100dvh;position:relative;overflow:hidden}.screen{height:100%;padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));flex-direction:column;display:flex}.scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 8px 12px;overflow-y:auto}.rotate-hint{display:none}@media (orientation:portrait) and (width<=820px){.rotate-hint{z-index:1000;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:17px;font-weight:700;display:flex;position:fixed;inset:0}.rotate-icon{font-size:56px;animation:2s ease-in-out infinite rotateHint}}@keyframes rotateHint{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.btn{border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 16px;font-size:15px;font-weight:700;transition:transform 80ms,filter .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:linear-gradient(180deg, #f2bd52, var(--gold-dark));color:#2a1606;box-shadow:0 3px #7c520f}.btn-ghost{background:#f6ead21a;border:1.5px solid #f6ead259}.btn-magic{background:linear-gradient(180deg, #9b6dd1, var(--mag));box-shadow:0 3px #4c2a75}.btn-danger{background:var(--atk)}.btn-big{width:100%;min-height:52px;font-size:17px}.btn-small{min-height:34px;padding:4px 14px;font-size:13px}.btn-icon{background:#f6ead21f;border-radius:8px;flex:none;width:34px;height:34px;font-size:18px}.header{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.header h1{margin:0;font-size:18px}.btn-back{width:40px;height:36px;font-size:30px;line-height:1}.section-label{color:var(--gold);letter-spacing:.05em;margin:12px 0 6px;font-size:13px;font-weight:700}.hint{color:var(--ink-soft);font-size:13px}.title-screen{text-align:center;background-color:#1a120c;background-position:50%;background-size:cover;flex-direction:row;justify-content:flex-end;align-items:center;position:relative}.title-screen:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 40%,#0a06038c 70%,#0a0603bf);position:absolute;inset:0}.title-panel{flex-direction:column;align-items:center;gap:12px;margin-right:max(16px,4vw);display:flex;position:relative}.title-panel .logo{text-shadow:0 3px 0 var(--wood), 0 6px 16px #000c}.title-panel .tagline{text-shadow:0 1px 4px #000000e6;margin-top:4px}.logo-img{flex-direction:column;align-items:center;line-height:0;display:flex}.logo-img .logo-en{letter-spacing:.5em;color:#ffe9b0;text-shadow:0 1px #3a2208,0 0 8px #000000e6;margin-top:2px;padding-left:.5em;font-size:11px;font-weight:800;line-height:1.2}.logo-img img{object-fit:contain;filter:drop-shadow(0 6px 14px #000000bf);width:auto;max-width:42vw;height:min(33dvh,180px);display:block}.title-panel .btn-ghost{background:#140c06b8;border-color:#ffe9b073}.title-panel .version{text-shadow:0 1px 3px #000000e6}.title-dice{justify-content:center;gap:16px;margin-bottom:10px;display:flex}.title-dice .die:first-child{transform:rotate(-12deg)}.title-dice .die:last-child{transform:rotate(10deg)}.logo{color:var(--paper);text-shadow:0 3px 0 var(--wood), 0 6px 14px #00000080;letter-spacing:.04em;margin:0;font-size:34px;line-height:1.15}.logo span{color:var(--gold);font-size:42px}.tagline{color:var(--paper2);margin:10px 0 0;font-size:14px}.title-buttons{flex-direction:column;gap:10px;width:260px;display:flex}.version{opacity:.5;margin:4px 0 0;font-size:12px}.howto{margin:0;padding-left:20px;font-size:14px;line-height:1.7}.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{--cat:var(--ink-soft);text-align:left;color:var(--paper);border-radius:var(--radius);border:2px solid var(--cat);aspect-ratio:1/1.02;background:linear-gradient(#2a2420,#15110e);flex-direction:column;gap:3px;min-width:0;padding:3px;transition:transform 80ms,opacity .15s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e3a93b73,0 2px #00000073}.card:active:not(.is-disabled){transform:scale(.97)}.card.is-disabled{opacity:.5;filter:saturate(.5)}.card.is-selected{box-shadow:0 0 0 3px var(--gold), 0 0 14px #e3a93b99}.cat-economy{--cat:var(--eco)}.cat-attack{--cat:var(--atk)}.cat-counter{--cat:var(--ctr)}.cat-magic{--cat:var(--mag)}.cat-raid{--cat:var(--raid)}.card-top{background:linear-gradient(#3a332d,#1f1a16);border-bottom:1px solid #e3a93b8c;border-radius:6px 6px 2px 2px;align-items:center;gap:4px;min-height:22px;padding:1px 3px;display:flex}.type-icon{background:var(--cat);border-radius:4px;flex:none;width:18px;height:18px;padding:1px;display:grid}.card-name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.02em;color:#f6ead2;text-shadow:0 1px 2px #000c;flex:1;min-width:0;font-size:13.5px;font-weight:800;overflow:hidden}.card-faces{flex:none;align-items:center;gap:2px;display:inline-flex}.faces-label{color:#ff9a88;writing-mode:vertical-rl;font-size:9px;font-weight:800;line-height:1}.mini-die{width:15px;height:15px;display:block}.mini-die rect{fill:#fffaf0;stroke:var(--ink);stroke-width:7px}.mini-die circle{fill:var(--ink)}.mini-die circle.pip-one{fill:#d0201a}.mini-die-enemy rect{stroke:var(--enemy)}.mini-die-enemy circle{fill:var(--enemy)}.card-art{background:#222;border-radius:2px 2px 6px 6px;flex:1;min-height:0;position:relative;overflow:hidden}.card-art>svg,.card-art>.card-img{width:100%;height:100%;display:block;position:absolute;inset:0}.cost{z-index:1;background:radial-gradient(circle at 35% 35%, #ffe08a, var(--gold-dark));color:#3a2205;border:2px solid #fff1c8;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;font-weight:900;display:grid;position:absolute;top:4px;left:4px;box-shadow:0 1px 4px #000000b3}.stock{z-index:1;color:var(--paper);background:#140e0abf;border:1px solid #f6ead259;border-radius:6px;padding:0 5px;font-size:10.5px;font-weight:800;position:absolute;top:4px;right:4px}.stock-out{background:var(--atk);color:#fff}.card-text{z-index:1;color:#fff8e8;text-shadow:0 1px 2px #000000e6;background:linear-gradient(#0a070500,#0a0705c7 45%,#0a0705e6);padding:14px 6px 4px;font-size:11.5px;font-weight:700;line-height:1.3;position:absolute;bottom:0;left:0;right:0}.card-badge{z-index:2;white-space:nowrap;background:var(--gold);color:#3a2205;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:800;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0009}.boss-card{background:linear-gradient(180deg, var(--bg2), #2f2016);border:1.5px solid var(--wood);border-radius:16px;gap:16px;padding:14px;display:flex}.boss-info{flex-direction:column;flex:none;gap:4px;width:220px;display:flex}.boss-info .btn{margin-top:auto}.boss-loadout{flex:1;min-width:0}.boss-loadout .section-label{margin-top:0}.boss-stage{color:var(--gold);font-size:12px;font-weight:700}.boss-name{font-size:24px;font-weight:800}.boss-desc{color:var(--paper2);margin:4px 0 8px;font-size:14px}.boss-stats{flex-direction:column;gap:4px;margin-bottom:12px;font-weight:700;display:flex}.build-screen{flex-direction:row;gap:10px}.build-side{flex-direction:column;flex:none;gap:6px;width:210px;padding-bottom:8px;display:flex}.build-side .section-label{margin:6px 0 0}.build-cards{padding-top:8px}.build-cards>.section-label:first-child{margin-top:0}.vs-line{text-align:center;color:#ffb4a8;background:#b6372a2e;border-radius:8px;padding:5px;font-weight:800}.dice-select{gap:6px;display:flex}.dice-option{background:#f6ead214;border:2px solid #f6ead233;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:6px 4px;font-size:12px;font-weight:700;display:flex}.dice-option.is-selected{border-color:var(--gold);background:#e3a93b2e}.dice-option:disabled{opacity:.45}.dice-faces{opacity:.85;font-family:ui-monospace,monospace;font-size:10.5px}.build-status{justify-content:space-around;margin-top:auto;font-size:14px;font-weight:700;display:flex}.btn-start{min-height:52px;font-size:14px;line-height:1.3}.warn{color:#ff8a7a}.battle{padding-top:max(4px, env(safe-area-inset-top));padding-bottom:max(4px, env(safe-area-inset-bottom));grid-template:"top top""board side"minmax(0,1fr)"bottom bottom"/minmax(0,1fr) 168px;gap:4px 8px;display:grid}.bar{background:#f6ead20f;border:1.5px solid #0000;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:4px 8px;transition:border-color .2s,background .2s;display:flex}.bar-enemy{grid-area:top}.bar-me{grid-area:bottom}.bar-enemy.is-active{border-color:var(--enemy);background:#b6372a26}.bar-me.is-active{border-color:var(--gold);background:#e3a93b1f}.turn-label{color:var(--gold);flex:none;align-items:center;gap:6px;font-size:14px;font-weight:800;display:flex}.long-warn{background:var(--atk);color:#fff;border-radius:6px;padding:1px 6px;font-size:11px}.bar-name{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:120px;font-size:14px;font-weight:800;overflow:hidden}.bar-enemy .bar-name{color:#ffb4a8}.bar-me .bar-name{color:#bfe6a8}.hp-bar{background:#00000073;border-radius:7px;flex:1;min-width:60px;height:14px;overflow:hidden}.hp-fill{background:linear-gradient(#8ae276,#3f8a3a);height:100%;transition:width .45s ease-out}.hp-fill.low{background:linear-gradient(#ef7b67,#b6372a);animation:.9s infinite alternate pulse}.hp-text{font-variant-numeric:tabular-nums;flex:none;min-width:96px;font-size:14px;font-weight:800;position:relative}.coin-badge{background:radial-gradient(circle at 35% 35%, #ffe08a, var(--gold-dark));color:#3a2205;border:2px solid #ffe9b0;border-radius:14px;flex:none;place-items:center;min-width:28px;height:28px;padding:0 6px;font-size:14px;font-weight:900;display:grid;position:relative;box-shadow:0 1px 3px #00000080}.float{pointer-events:none;text-shadow:0 1px 3px #000000e6;white-space:nowrap;font-size:17px;font-weight:900;animation:1.1s ease-out forwards floatUp;position:absolute;top:-10px;right:-4px}.float.neg{color:#ff6b57}.float.pos{color:#8cf07a}.coin-float.pos{color:#ffd877}@keyframes floatUp{0%{opacity:0;transform:translateY(6px)scale(.8)}15%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-20px)scale(1)}}@keyframes pulse{to{filter:brightness(1.5)}}.magic-slots{flex:none;align-items:center;gap:4px;display:flex}.magic-slot{white-space:nowrap;background:#7a4bb08c;border:2px solid #b48ae8;border-radius:6px;align-items:center;min-width:28px;height:30px;padding:0 8px;font-size:11.5px;font-weight:700;display:flex;position:relative}.magic-slot.is-empty{opacity:.6;background:0 0;border-style:dashed;width:28px;padding:0}.magic-left{background:var(--mag);border:1.5px solid #fff;border-radius:8px;place-items:center;min-width:16px;height:16px;font-size:10px;display:grid;position:absolute;top:-7px;right:-7px}.board{background:#00000038;border-radius:10px;grid-area:board;grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.board-cols{pointer-events:none;grid-template-columns:repeat(6,1fr);display:grid;position:absolute;inset:0}.board-col{border-right:1.5px solid #f6ead238;transition:background .25s}.board-col:last-child{border-right:none}.board-col.hit-me{background:linear-gradient(#e3a93b14,#e3a93b52)}.board-col.hit-enemy{background:linear-gradient(#b6372a59,#b6372a14)}.zone{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:24px;grid-auto-flow:dense;gap:3px 0;padding:4px 0;display:grid;position:relative;overflow-y:auto}.zone-me{border-top:1px dashed #f6ead226;align-content:end}.bchip{border:2px solid var(--cat);background:var(--paper);min-width:0;color:var(--cat);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:2px;margin:0 3px;padding:0 4px;font-size:12px;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.zone-enemy .bchip{background:#e8d6c4}.bchip-name{text-overflow:ellipsis;overflow:hidden}.bchip b{color:var(--ink)}.bchip-shield{font-size:10px}.bchip.is-aimed{border-style:dashed;animation:1s infinite pulse;box-shadow:0 0 0 2px #e04a3a,0 0 10px #e04a3acc}.bchip-aim{font-size:10px}.bchip.is-hit{box-shadow:0 0 0 2px var(--gold), 0 0 12px #ffcf4acc;background:#fff7d6;transform:scale(1.04)}.dice-row{background:#00000040;grid-template-columns:repeat(6,1fr);padding:4px 0;display:grid;position:relative}.dice-cell{place-items:center;display:grid}.dice-cell .mini-die{width:26px;height:26px}.side{flex-direction:column;grid-area:side;align-items:center;gap:6px;min-height:0;display:flex}.side-turn{text-align:center;border-radius:8px;width:100%;padding:3px 4px;font-size:13px;font-weight:800}.side-turn.mine{color:#ffd877;background:#e3a93b38}.side-turn.theirs{color:#ffb4a8;background:#b6372a40}.side-turn.win{background:var(--gold);color:#3a2205;font-size:18px}.side-turn.lose{background:#4a3a30;font-size:18px}.side-log{text-align:left;background:#0000004d;border-radius:8px;flex-direction:column;flex:1;justify-content:flex-end;width:100%;min-height:0;padding:4px 6px;font-size:11.5px;line-height:1.35;display:flex;overflow:hidden}.log-line{display:block}.log-line.side-1{color:#ffc7bd}.log-line.side-0{color:#e0f3d2}.log-line.kind-system{color:var(--gold);font-weight:700}.log-line.kind-damage,.log-line.kind-roll{font-weight:700}.side-actions{flex-direction:column;gap:6px;width:100%;display:flex}.btn-deck{border-radius:10px;width:100%;min-height:40px;padding:6px 8px;font-size:15px}.btn-side{border-radius:10px;width:100%;min-height:50px;padding:8px;font-size:17px}.waiting{text-align:center;color:#ffb4a8;padding:8px 0;font-weight:700;animation:.8s infinite alternate pulse}.die{background:linear-gradient(145deg,#fffaf0,#e8d8b8);border-radius:18%;flex:none;place-items:center;display:grid;box-shadow:inset 0 -4px #00000026,0 4px 10px #00000073}.die-pip{fill:var(--ink)}.die-enemy .die-pip{fill:var(--atk)}.die-q{color:var(--ink-soft);font-size:26px;font-weight:900}.die.is-rolling{animation:.14s infinite shake}@keyframes shake{0%{transform:rotate(-14deg)translateY(-3px)}50%{transform:rotate(12deg)translateY(2px)}to{transform:rotate(-14deg)translateY(-3px)}}.market{z-index:10;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#1e140df7;flex-direction:column;gap:8px;animation:.18s fade;display:flex;position:absolute;inset:0}.market-head{align-items:center;gap:10px;display:flex}.market-head .btn-redo{margin-right:10px}.market-title{font-size:16px;font-weight:800}.coins-big{color:#ffd877;flex:1;font-size:19px;font-weight:900}.market-grid{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));width:100%;min-height:0;max-width:min(calc((100dvh - 70px) / 2 * var(--cols,4) * 1.02), calc(320px * var(--cols,4) * 1.02));flex:1;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;max-height:660px;margin:0 auto;display:grid}.market-grid .card{aspect-ratio:auto}.modal-back{z-index:50;background:#0009;justify-content:center;align-items:center;padding:10px;animation:.15s fade;display:flex;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--paper);width:min(600px,100%);max-height:100%;color:var(--ink);border-radius:16px;padding:14px 16px;animation:.18s ease-out pop;overflow-y:auto}.modal .section-label{color:var(--gold-dark);margin-top:4px}.modal .btn-ghost{color:var(--ink);background:#2a1c120f;border-color:#2a1c124d}.modal-title{margin-bottom:8px;font-size:17px;font-weight:800}.modal-close{width:100%;margin-top:12px}.modal .card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.card-detail{width:220px;margin:0 auto}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.face-lines{margin:0;padding-left:18px;font-size:13.5px;line-height:1.55}.face-pick{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.face-pick-btn{background:var(--paper2);text-align:left;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex}.face-pick-lines{flex-direction:column;font-size:11.5px;line-height:1.35;display:flex}.log-full{background:#2a1c12;border-radius:10px;max-height:60dvh;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.menu-buttons{flex-direction:column;gap:10px;display:flex}.toast{color:var(--paper);z-index:60;white-space:nowrap;background:#140c06eb;border-radius:999px;padding:10px 18px;font-weight:700;animation:.15s fade;position:absolute;top:45%;left:50%;transform:translate(-50%)}.result-screen{text-align:center;flex-direction:row;justify-content:center;align-items:center;gap:40px}.result-left{flex-direction:column;align-items:center;display:flex}.result-badge{letter-spacing:.08em;font-size:52px;font-weight:900;animation:.5s cubic-bezier(.3,1.6,.5,1) pop}.is-win .result-badge{color:var(--gold);text-shadow:0 4px #7c520f,0 0 30px #e3a93b99}.is-lose .result-badge{color:#c9b8a5;text-shadow:0 4px #1a100a}@keyframes pop{0%{opacity:0;transform:scale(.3)}}.result-sub{margin:4px 0 12px;font-size:15px}.result-stats{background:#f6ead214;border-radius:14px;width:300px;padding:8px 16px}.result-stats>div{border-bottom:1px solid #f6ead21a;justify-content:space-between;padding:5px 0;display:flex}.result-stats>div:last-of-type{border-bottom:none}.result-stats b{font-size:17px}.result-stats .hint{color:var(--paper2);margin:4px 0 0}@media (height<=420px){.bar{min-height:36px;padding:2px 8px}.zone{grid-auto-rows:22px}.btn-side{min-height:44px;font-size:16px}.btn-deck{min-height:36px;font-size:14px}.card-text{font-size:10.5px}.card-name{font-size:12.5px}}.battle{position:relative}.fx-layer{z-index:30;pointer-events:none;position:absolute;inset:0;overflow:hidden}.big-die{z-index:40;pointer-events:none;background:radial-gradient(circle,#0000008c,#00000040 60%,#0000);place-items:center;animation:.15s fade;display:grid;position:absolute;inset:0}.big-die-inner{flex-direction:column;align-items:center;gap:10px;animation:.45s cubic-bezier(.25,1.6,.5,1) dieLand;display:flex}.big-die .die{box-shadow:0 0 0 4px var(--gold), 0 0 40px #ffcf4ab3, 0 10px 24px #0009}.big-die .die-enemy{box-shadow:0 0 0 4px var(--enemy), 0 0 40px #ff5a3cb3, 0 10px 24px #0009}.big-die-label{text-shadow:0 2px 6px #000000e6;font-size:18px;font-weight:800}.big-die-label b{color:#ffd877;margin-left:4px;font-size:30px}@keyframes dieLand{0%{opacity:0;transform:scale(2.2)rotate(-40deg)}60%{opacity:1;transform:scale(.92)rotate(6deg)}to{transform:scale(1)rotate(0)}}.fx-text{white-space:nowrap;text-shadow:0 2px #0009,0 0 10px #0009;font-weight:900;line-height:1;position:absolute;transform:translate(-50%,-50%)}.fx-text b{font-size:1.25em}.fx-eco{color:#ffe27a}.fx-atk{color:#ffb08a}.fx-raid{color:#ffc58a}.fx-dmg{color:#ff4a34;-webkit-text-stroke:1.5px #fff1e0}.fx-dmg-small{-webkit-text-stroke:1px #fff1e0;opacity:.95}.fx-tally{white-space:nowrap;transform:translate(-50%,-50%)}.fx-ctr{color:#9ad8ff}.fx-zap{color:#7ac8ff;-webkit-text-stroke:1.5px #fff}.fx-heal{color:#9affb0}.fx-coin{background:radial-gradient(circle at 35% 30%,#fff6c0,#f2c94c 45%,#a86a12);border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:0;left:0;box-shadow:0 0 8px #ffd250e6,inset 0 0 0 2px #8a540880}.fx-fireball{background:radial-gradient(circle at 40% 40%,#fffbe0,#ffb02e 40%,#e0381a 75%,#0000);border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:0;left:0;box-shadow:0 0 14px 4px #ff6e28cc}.fx-burst{border-radius:50%;position:absolute}.fx-burst-atk{background:radial-gradient(circle,#fffbe0 0%,#ffb02e 25%,#e0381abf 50%,#e0381a00 70%)}.fx-burst-raid{background:radial-gradient(circle,#fff3d6 0%,#ffa94d 30%,#d2691eb3 52%,#d2691e00 70%)}.fx-burst-ctr{background:radial-gradient(circle,#fff 0%,#9ae6ff 25%,#2f6aa8b3 50%,#2f6aa800 70%)}.fx-flash{position:absolute;inset:0}.fx-flash-red{background:radial-gradient(circle,#ff3c1e33,#c8140abf)}.fx-flash-blue{background:radial-gradient(circle,#78c8ff33,#1e5ac8b3)}.fx-dome{background:radial-gradient(#9ae6ff0d,#5ab4ff59);border:3px solid #9ae6ff;border-radius:50% 50% 18px 18px/70% 70% 18px 18px;position:absolute;box-shadow:0 0 24px #7ad8ffcc,inset 0 0 24px #7ad8ff99}.fx-bolt{filter:drop-shadow(0 0 6px #7ad8ff);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fx-sparkle{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 4px #6aff8a);background:#c8ffd4;width:12px;height:12px;position:absolute}.bchip.fx-pulse-eco,.bchip.fx-pulse-atk,.bchip.fx-pulse-ctr{animation:.6s ease-out chipPulse}.bchip.fx-pulse-eco{--pulse:#ffd250f2}.bchip.fx-pulse-atk{--pulse:#ff5a32f2}.bchip.fx-pulse-ctr{--pulse:#7ac8fff2}@keyframes chipPulse{0%{box-shadow:0 0 0 0 var(--pulse);transform:scale(1)}35%{box-shadow:0 0 0 4px var(--pulse), 0 0 18px var(--pulse);transform:scale(1.18)}to{transform:scale(1);box-shadow:0 0 #0000}}.coin-badge.fx-bump{animation:.35s ease-out bump}@keyframes bump{40%{transform:scale(1.35);box-shadow:0 0 16px #ffd250e6}}.hp-bar.fx-hurt{animation:.45s ease-out hurt}@keyframes hurt{20%{box-shadow:0 0 0 3px #ff5a3a,0 0 18px #ff5a3a}}@media (prefers-reduced-motion:reduce){.big-die-inner,.bchip.fx-pulse-eco,.bchip.fx-pulse-atk,.bchip.fx-pulse-ctr{animation:none}}.fx-spell{white-space:nowrap;color:#fff;text-shadow:0 0 8px #d6a8ff;letter-spacing:.08em;background:linear-gradient(90deg,#7a4bb000,#7a4bb0f2 20% 80%,#7a4bb000);border-radius:999px;padding:4px 16px;font-size:15px;font-weight:900;position:absolute}.fx-mag{color:#e0b8ff}.fx-beam{transform-origin:top;filter:blur(1px);background:linear-gradient(90deg,#fff6c800,#fffce6d9 35%,#fff 50%,#fffce6d9 65%,#fff6c800);width:90px;position:absolute;top:0;box-shadow:0 0 40px #fff0b4b3}.fx-burst-holy{background:radial-gradient(circle,#fff 0%,#fff6c4 25%,#9affb099 50%,#9affb000 70%)}.fx-burst-storm{background:radial-gradient(circle,#ffd0c0 0%,#b41428cc 40%,#3c001400 70%)}.fx-sparkle-water{filter:drop-shadow(0 0 4px #5ac8ff);background:#bff6ff}.hp-bar.fx-healed{animation:.6s ease-out healed}@keyframes healed{30%{box-shadow:0 0 0 3px #9affb0,0 0 20px #9affb0}}.fx-smoke{background:radial-gradient(circle,#462864e6,#1e143299 55%,#1e143200 72%);border-radius:50%;width:36px;height:36px;position:absolute}.fx-dash{background:radial-gradient(#0a0610 30%,#3c1e5ab3 60%,#3c1e5a00 75%);border-radius:50%;width:70px;height:26px;margin:-13px 0 0 -35px;position:absolute;top:0;left:0;box-shadow:0 0 12px #c88cff99}.fx-scroll{color:#3a2205;white-space:nowrap;background:linear-gradient(#fff8e4,#e6cc98);border-top:5px solid #8a5a2a;border-bottom:5px solid #8a5a2a;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;display:flex;position:absolute;box-shadow:0 6px 18px #00000080,0 0 24px #ffd25080}.fx-scroll span{font-size:13px;font-weight:800}.fx-scroll b{color:#a86a12;font-size:22px}.fx-ram{background:linear-gradient(#c48a52,#6b3e1e);border-right:16px solid #3a3d44;border-radius:11px;width:120px;height:22px;position:absolute;top:0;left:0;box-shadow:0 4px 10px #0009}.fx-debris{background:#8a6a44;border:1px solid #3a2a1a;width:9px;height:7px;position:absolute}.bchip.fx-crumble{animation:.8s ease-in forwards crumble}@keyframes crumble{0%{filter:none;transform:none}20%{transform:translate(-3px)rotate(-3deg)}40%{filter:grayscale()brightness(.6);transform:translate(3px)rotate(3deg)}to{opacity:0;filter:grayscale()brightness(.4);transform:translateY(8px)scale(.6)rotate(8deg)}}.fx-sword{background:linear-gradient(#fff,#9aa6b4 70%,#c9a24a 72%,#6b3e1e);border-radius:2px 2px 1px 1px;width:6px;height:22px;margin:-11px 0 0 -3px;position:absolute;top:0;left:0;transform:rotate(180deg);box-shadow:0 0 8px #fffc}.fx-storm{color:#ffd0c0;-webkit-text-stroke:1.5px #7a0a14;letter-spacing:.1em}.fx-flash-storm{background:radial-gradient(circle,#3c00141a,#5a0014d9)}.bchip,.magic-slot{--pulse:transparent}.magic-slot.fx-pulse-mag{--pulse:#d6a8fff2;animation:.6s ease-out chipPulse}.built{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:6px;padding:10px 0 12px;animation:.25s ease-out builtIn;display:flex;position:absolute;left:0;right:0}.built-me{background:linear-gradient(#140c0600,#140c06d9 20% 80%,#140c0600);bottom:50px}.built-enemy{background:linear-gradient(#28080600,#280806d9 20% 80%,#28080600);top:46px}.built-title{letter-spacing:.06em;color:#ffd877;text-shadow:0 2px 6px #000000e6;font-size:18px;font-weight:900}.built-enemy .built-title{color:#ffb4a8}.built-cards{justify-content:center;gap:10px;display:flex}.built-card{width:118px;animation:.4s cubic-bezier(.3,1.6,.5,1) backwards buildPop}.built-card .card{box-shadow:0 0 0 3px var(--gold), 0 0 22px #ffcf4ab3}.built-enemy .built-card .card{box-shadow:0 0 0 3px var(--enemy), 0 0 22px #ff5a3cb3}.built-card .card-text{-webkit-line-clamp:3;font-size:clamp(11px,1.9dvh,15px);line-height:1.35}@keyframes buildPop{0%{opacity:0;transform:translateY(30px)scale(.5)}}@keyframes builtIn{0%{opacity:0}}.card-img{object-fit:cover;object-position:center 55%;-webkit-user-select:none;user-select:none}.mode-btn{flex-direction:column;gap:0;line-height:1.25}.mode-btn small{opacity:.8;font-size:11.5px;font-weight:600}.card-lv{color:#3a2205;background:linear-gradient(180deg, #ffe08a, var(--gold-dark));border-radius:4px;flex:none;padding:0 4px;font-size:10px;font-weight:900;line-height:15px}.cost.cost-changed{color:#fff;background:radial-gradient(circle at 35% 35%,#ff9a7a,#b6372a)}.card-locked .card{filter:grayscale(.85)brightness(.6);opacity:.75}.env-chip{letter-spacing:.04em;color:#f6e8ff;white-space:nowrap;background:#7a4bb099;border:2px solid #c9a3f5;border-radius:999px;flex:none;align-items:center;gap:6px;padding:2px 14px 2px 3px;font-size:15px;font-weight:900;display:inline-flex;box-shadow:0 0 10px #b48ae873}.env-chip-img,.env-chip-icon{object-fit:cover;border:1.5px solid #ffe9b0b3;border-radius:50%;flex:none;width:28px;height:28px}.env-chip-icon{background:#0000004d;place-items:center;font-size:16px;display:grid}.env-box{background:#7a4bb040;border:1.5px solid #b48ae8b3;border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px;font-size:12px;line-height:1.4;display:flex}.env-box b{color:#e8d0ff;font-size:13px}.env-box-light{color:var(--ink);background:#efe4fb}.env-box-light b{color:var(--mag)}.story-map{background:#2a1c12;padding:0;position:relative;overflow:hidden}.map-head{z-index:5;height:50px;padding:0 max(10px, env(safe-area-inset-right)) 0 max(6px, env(safe-area-inset-left));background:linear-gradient(#26180ef5,#1c120aeb);border-bottom:2px solid #b8862e;align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 3px 10px #00000080,inset 0 -1px #ffd8774d}.map-back{color:#f2e6cc;text-shadow:0 2px #5a3a1e;flex:none;width:38px;height:40px;font-size:38px;line-height:1}.map-head h1{letter-spacing:.08em;color:#f6ead2;text-shadow:0 2px #5a3a1e,0 0 10px #0009;flex:none;margin:0 4px 0 0;font-size:22px;font-weight:900}.map-stats{border-left:1px solid #ffd8774d;flex:1;align-items:center;min-width:0;display:flex;overflow:hidden}.map-stat{white-space:nowrap;color:#e8dcc0;border-right:1px solid #ffd87738;align-items:baseline;gap:3px;padding:0 10px;font-size:12px;display:flex}.map-stat i{align-self:center;margin-right:2px;font-size:14px;font-style:normal}.map-stat b{color:#fff3d0;font-size:18px;font-weight:800}.map-stat small{color:#e8dcc0;font-size:12px}.map-upgrade{letter-spacing:.1em;color:#4a2a0c;background:linear-gradient(#ffe7a0,#e8b448 55%,#c48a28);border:2px solid #8a5a18;border-radius:12px;flex:none;height:38px;padding:0 20px;font-size:17px;font-weight:900;position:relative;box-shadow:0 3px #6a4210,0 4px 10px #00000080,inset 0 1px #fff9}.map-upgrade:active{transform:translateY(2px);box-shadow:0 1px #6a4210,inset 0 1px #fff9}.map-gear{color:#f2e6cc;background:radial-gradient(circle at 35% 30%,#6a4a2e,#2e1e12);border:2px solid #b8862e;border-radius:50%;flex:none;width:40px;height:40px;font-size:22px;box-shadow:0 2px 6px #00000080}.upgrade-btn{position:relative}@media (width<=760px){.map-head{gap:6px}.map-head h1{letter-spacing:.02em;font-size:17px}.map-stat{padding:0 6px;font-size:11px}.map-stat i{font-size:12px}.map-stat b{font-size:15px}.map-upgrade{padding:0 12px;font-size:15px}.map-gear{width:36px;height:36px;font-size:19px}}.notify-dot{color:#fff;letter-spacing:0;background:radial-gradient(circle at 35% 30%,#ff6a5a,#c01e14);border:2px solid #fff3d0;border-radius:11px;place-items:center;min-width:22px;height:22px;font-size:12px;font-weight:900;animation:1.2s ease-in-out infinite notify;display:grid;position:absolute;top:-8px;right:-8px}@keyframes notify{50%{transform:scale(1.18)}}.map-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;position:absolute;inset:0;overflow:auto hidden}.map-scroll::-webkit-scrollbar{display:none}.map-scroll.map-paged{scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.map-pages{display:flex}.map-page{scroll-snap-align:start;scroll-snap-stop:always;background:#1a120c;flex:none;position:relative;overflow:hidden}.map-page:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 14px 0 18px -10px #0000008c,inset -14px 0 18px -10px #0000008c}.map-page-bg{object-fit:cover;filter:blur(18px)brightness(.55);width:calc(100% + 60px);height:calc(100% + 60px);position:absolute;inset:-30px}.map-page-img{max-width:none;display:block;position:absolute}.map-page-scenery{position:absolute;inset:0}.map-page-scenery svg{width:100%;height:100%;display:block}.map-world{position:relative}.map-region{position:absolute;top:0;bottom:0;overflow:hidden}.map-region img,.map-region svg{object-fit:cover;width:100%;height:100%;display:block}.map-region img.map-mirror{position:absolute;top:0;transform:scaleX(-1)}.map-region img[style]{flex:none}.map-region.has-seam{-webkit-mask-image:linear-gradient(90deg,#0000,#000 60px);mask-image:linear-gradient(90deg,#0000,#000 60px)}.map-path{position:absolute;top:0;left:0}.road-shadow{fill:none;stroke:#0000004d;stroke-width:30px;stroke-linecap:round;transform:translateY(4px)}.road-edge{fill:none;stroke:#9a7036;stroke-width:26px;stroke-linecap:round}.road{fill:none;stroke:#ecd29a;stroke-width:20px;stroke-linecap:round}.map-deco{pointer-events:none;filter:drop-shadow(0 4px 4px #00000073);position:absolute;transform:translate(-50%,-62%)rotate(-12deg)}.map-deco.deco-chest{transform:translate(-50%,-70%)}.map-start{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.map-start-disc{color:#3a2410;background:radial-gradient(circle at 35% 30%,#fffaf0,#e8d4a8);border:4px solid #b8862e;border-radius:50%;place-items:center;width:62px;height:62px;font-family:Georgia,Times New Roman,serif;font-size:13px;font-weight:900;display:grid;position:relative;box-shadow:0 0 0 2px #6a4818,0 5px 10px #00000080}.map-start-flag{clip-path:polygon(0 0,100% 0,100% 74%,55% 62%,12% 74%,12% 100%,0 100%);background-color:#0000;background-image:linear-gradient(90deg,#6a4a2a 0 3px,#0000 3px),linear-gradient(#24409a,#182c70);background-position:0 0,3px 0;background-repeat:no-repeat;background-size:3px 100%,23px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:26px;height:46px;position:absolute;bottom:44px;left:14px}.node{flex-direction:column;align-items:center;gap:0;display:flex;position:absolute;transform:translate(-50%,-32px)}.node-disc{color:#3a2410;background:radial-gradient(circle at 38% 30%,#fffaf0,#f2e2bc 55%,#d9bf88);border:4px solid #c8963a;border-radius:50%;place-items:center;width:56px;height:56px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:900;transition:transform .15s;display:grid;position:relative;box-shadow:0 0 0 2px #6a4818,inset 0 -3px 6px #78501440,0 5px 10px #00000080}.node:active .node-disc{transform:scale(.94)}.node.is-big .node-disc{color:#fff;text-shadow:0 2px #0006;background:radial-gradient(circle at 38% 30%,#ffd8c8,#d8604a 55%,#8a2a1a);border-color:#ffd877;width:64px;height:64px;font-size:24px}.node.is-locked .node-disc{background:radial-gradient(circle at 38% 30%,#6a6660,#3a3632 60%,#24211e);border-color:#8a8478;box-shadow:0 0 0 2px #1e1c1a,0 5px 10px #00000080}.node.is-current .node-disc{animation:1.4s ease-in-out infinite currentPulse;box-shadow:0 0 0 2px #6a4818,0 0 0 6px #ffd877cc,0 0 24px #ffd877f2}@keyframes currentPulse{50%{transform:scale(1.08)}}.node.just-opened .node-disc{animation:.9s cubic-bezier(.3,1.6,.5,1) .3s backwards nodeOpen,1.4s ease-in-out 1.2s infinite currentPulse}@keyframes nodeOpen{0%{filter:brightness(3);transform:scale(.2)rotate(-90deg)}to{filter:none;transform:scale(1)rotate(0)}}.node-crown{filter:drop-shadow(0 1px 2px #0009);font-size:20px;position:absolute;top:-18px}.node-env{background:linear-gradient(135deg,#e4ccff,#a070e0 50%,#6a3ab0);border:2px solid #f6ecff;border-radius:4px;width:16px;height:16px;position:absolute;top:-4px;right:-4px;transform:rotate(45deg);box-shadow:0 2px 4px #0006}.node-type{color:#fff;text-shadow:-1px -1px #2a1a0c,1px -1px #2a1a0c,-1px 1px #2a1a0c,1px 1px #2a1a0c,0 2px 4px #000c;white-space:nowrap;margin-top:2px;font-size:13px;font-weight:900}.node.is-locked .node-type{color:#e0dcd4}.node-stars{letter-spacing:0;font-size:14px;line-height:1}.node-stars i{color:#1e140a8c;-webkit-text-stroke:.6px #ffe6aa99;font-style:normal}.node-stars i.on{color:#ffd040;-webkit-text-stroke:.6px #6a4210;text-shadow:0 0 4px #ffd877cc}.stage-info{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;display:grid}.stage-info-right .section-label{margin-top:0}.stage-stats{grid-template-columns:auto 1fr;gap:3px 12px;margin:0 0 8px;font-size:14px;display:grid}.stage-stats dt{color:var(--ink-soft)}.stage-stats dd{margin:0;font-weight:800}.sub-list{margin:0;padding:0;font-size:13px;line-height:1.6;list-style:none}.sub-list li.done{color:var(--eco);font-weight:700}.confirm-box p{line-height:1.6}.exp-box{background:#e3a93b2e;border:1.5px solid #e3a93b99;border-radius:10px;justify-content:space-between;align-items:baseline;padding:8px 10px;display:flex}.exp-box b{color:#ffd877;font-size:28px}.hp-box{background:#f6ead20f;border-radius:10px;flex-direction:column;gap:4px;padding:6px 10px 10px;display:flex;position:relative}.hp-box .section-label{margin:0}.hp-now{font-size:22px;font-weight:900}.hp-now small{color:var(--paper2);font-size:12px;font-weight:600}.up-hint{color:var(--paper2);margin-top:auto}.up-empty{color:var(--paper2)}.up-card{flex-direction:column;gap:4px;display:flex;position:relative}.up-buy{width:100%;min-height:32px;padding:2px 6px;font-size:12px}.up-max{text-align:center;color:var(--paper2);padding:6px 0;font-size:12px;font-weight:800}.up-pop{color:#ffd877;text-shadow:0 2px #7c520f,0 0 16px #ffd877e6;pointer-events:none;white-space:nowrap;font-size:24px;font-weight:900;animation:.9s ease-out forwards upPop;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes upPop{0%{opacity:0;transform:translate(-50%,-20%)scale(.5)}25%{opacity:1;transform:translate(-50%,-60%)scale(1.2)}to{opacity:0;transform:translate(-50%,-110%)scale(1)}}.just-upgraded .card,.hp-box.just-upgraded{animation:.9s ease-out upGlow}@keyframes upGlow{0%{box-shadow:0 0 #ffd87700}30%{filter:brightness(1.35);box-shadow:0 0 0 4px #ffd877f2,0 0 30px #ffd877e6}to{box-shadow:0 0 #ffd87700}}.result-stage{color:var(--gold);font-size:14px;font-weight:800}.exp-list>div{animation:.35s ease-out backwards expIn}@keyframes expIn{0%{opacity:0;transform:translate(-16px)}}.exp-list .exp-total{border-top:1.5px solid #e3a93b99;margin-top:4px;padding-top:6px}.exp-total b{color:#ffd877;font-size:22px}.unlock-news{border:1.5px solid var(--gold);background:#e3a93b2e;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;font-size:13px;font-weight:700;animation:.5s cubic-bezier(.3,1.6,.5,1) .4s backwards pop;display:flex}@media (prefers-reduced-motion:reduce){.node.is-current .node-disc,.node.just-opened .node-disc,.notify-dot{animation:none}}.card-locked .card-badge{text-overflow:ellipsis;max-width:94%;color:var(--paper);background:#140e0ad9;font-size:10px;overflow:hidden}.exp-list span{text-align:left}.tut{z-index:90;cursor:pointer;position:absolute;inset:0}.tut-dim{background:#0009;position:absolute;inset:0}.tut-spot{pointer-events:none;border-radius:12px;transition:all .25s ease-out;position:absolute;box-shadow:0 0 0 9999px #0000009e,0 0 0 3px #ffd877,0 0 24px #ffd877cc}.tut-bubble{background:var(--paper);width:min(360px,90%);color:var(--ink);border:2px solid var(--gold);border-radius:14px;padding:12px 14px 10px;animation:.22s ease-out pop;position:absolute;box-shadow:0 8px 24px #0009}.tut-title{color:var(--gold-dark);margin-bottom:4px;font-size:16px;font-weight:900}.tut-text{font-size:14px;line-height:1.55}.tut-foot{color:var(--ink-soft);justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.tut-tap{color:var(--gold-dark);font-weight:800;animation:.9s infinite alternate pulse}.tut-skip{right:max(10px, env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));color:var(--paper);background:#f6ead226;border:1.5px solid #f6ead266;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;position:absolute}.tut-skip-low{top:auto;right:auto;left:max(10px, env(safe-area-inset-left));bottom:max(8px, env(safe-area-inset-bottom))}.env-announce{z-index:85;cursor:pointer;background:radial-gradient(ellipse at 30% 40%, color-mix(in srgb, var(--env) 80%, #fff 20%), var(--env) 45%, #0c0806 100%);place-items:center;animation:.3s fade;display:grid;position:absolute;inset:0}.env-announce-inner{align-items:center;gap:28px;max-width:760px;padding:16px 28px;display:flex}.env-art{background:radial-gradient(circle at 35% 30%,#ffffff59,#ffffff0f 60%,#0000 72%);border:3px solid #ffe9b0b3;border-radius:50%;flex:none;place-items:center;width:190px;height:190px;font-size:96px;animation:.7s cubic-bezier(.3,1.5,.5,1) envArt;display:grid;box-shadow:0 0 40px #ffe9b059,inset 0 0 30px #0000004d}.env-announce-pic{background:#000;overflow:hidden}.env-pic-bg{object-fit:cover;filter:blur(24px)brightness(.45)saturate(1.2);width:calc(100% + 80px);height:calc(100% + 80px);position:absolute;inset:-40px}.env-pic-frame{border:2px solid #ffe9b0b3;border-radius:16px;max-width:calc(100% - 24px);max-height:calc(100% - 20px);animation:.6s cubic-bezier(.2,1.2,.4,1) envPic;position:relative;overflow:hidden;box-shadow:0 10px 40px #000000b3,0 0 40px #ffe9b040}.env-pic{width:auto;max-width:calc(100vw - 28px);height:auto;max-height:calc(100dvh - 24px);display:block}.env-pic-caption{background:linear-gradient(#0000,#0000008c 30%,#000000d9);flex-direction:column;gap:4px;padding:40px 22px 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.env-pic-caption .env-name{font-size:34px}.env-pic-caption .env-desc{font-size:16px}.env-pic-caption .env-detail{padding:6px 10px;font-size:12.5px}.env-pic-caption .env-tap{margin-top:4px}.env-announce-pic.is-portrait .env-pic-frame{background:#0000008c;max-width:min(760px,100% - 24px);display:flex}.env-announce-pic.is-portrait .env-pic{flex:none;max-width:45vw}.env-announce-pic.is-portrait .env-pic-caption{background:0 0;justify-content:center;min-width:0;padding:16px 22px;position:static}@keyframes envPic{0%{opacity:0;transform:scale(.85)}}.env-modal-img{border-radius:10px;width:auto;max-width:100%;height:auto;max-height:min(220px,100dvh - 220px);margin:0 auto 8px;display:block}@keyframes envArt{0%{opacity:0;transform:scale(.3)rotate(-30deg)}}.env-texts{flex-direction:column;gap:6px;min-width:0;display:flex}.env-label{letter-spacing:.2em;color:#ffe9b0;font-size:13px;font-weight:800}.env-name{color:#fff;text-shadow:0 3px #00000080,0 0 24px #ffe9b099;letter-spacing:.06em;font-size:40px;font-weight:900;animation:.6s ease-out .15s backwards envName}@keyframes envName{0%{opacity:0;transform:translate(-30px)}}.env-desc{color:#fff6dc;font-size:17px;font-weight:700}.env-detail{color:#fff;background:#00000059;border:1.5px solid #ffe9b080;border-radius:10px;flex-direction:column;gap:2px;margin-top:4px;padding:8px 10px;font-size:13px;line-height:1.55;display:flex}.env-detail b{color:#ffd877}.env-tap{color:#ffe9b0;margin-top:8px;font-size:13px;font-weight:800;animation:.9s infinite alternate pulse}.battle.has-env{background:radial-gradient(ellipse at 50% 0%, var(--env-bg), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--env-bg) 45%, #1a120c), #1a120c);transition:background .6s}.battle.has-env .board{background:#0000004d}.battle.has-env-img{background:linear-gradient(180deg, #100a06a8, #100a068c 45%, #100a06b8), var(--env-img) center / cover no-repeat, #1a120c}.battle.has-env-img .board{background:#0003}.battle.has-env-img .side-log{background:#0a06048c}.env-select{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.env-select select{min-width:0;font:inherit;color:var(--paper);background:#2a1c12;border:1.5px solid #b48ae8b3;border-radius:8px;flex:1;padding:5px 8px}.env-note{color:#e8d0ff;font-size:11.5px;line-height:1.4}.options{flex-direction:column;gap:8px;display:flex}.opt-row{align-items:center;gap:12px;font-size:14px;font-weight:800;display:flex}.opt-row>span:first-child{flex:none;width:92px}.opt-row input[type=range]{accent-color:var(--gold-dark);flex:1}.opt-row b{text-align:right;font-variant-numeric:tabular-nums;width:32px}.seg{border:1.5px solid #2a1c1259;border-radius:999px;display:inline-flex;overflow:hidden}.seg button{background:#2a1c120f;padding:6px 16px;font-size:13px;font-weight:800}.seg button+button{border-left:1.5px solid #2a1c1240}.seg button.on{background:linear-gradient(180deg, #f2bd52, var(--gold-dark));color:#2a1606}.opt-note{color:var(--ink-soft);margin:-2px 0 4px 104px;font-size:12px}.opt-danger{border-top:1px solid #2a1c1226;margin-top:6px;padding-top:10px}.opt-done{color:var(--eco);font-weight:700}.title-buttons .btn-row .btn{flex:1}@media (prefers-reduced-motion:reduce){.env-art,.env-name,.tut-tap,.env-tap{animation:none}}.up-card>.card,.card-locked>.card{width:100%}.bar-name-btn{background:#b6372a2e;border:1px solid #ffb4a866;border-radius:8px;align-items:center;gap:3px;margin-left:-4px;padding:2px 8px;display:inline-flex}.bar-name-hint{opacity:.8;font-size:9px}.market-enemy{background:#240c0af7}.market-enemy .market-title{color:#ffb4a8}.build-status{flex-direction:column;align-items:center;gap:0;line-height:1.4}.build-status span:last-child{color:var(--paper2);font-size:12px}.market-grid .card-text{font-size:11px}@media (width<=720px){.market-grid{gap:6px}.market-grid .card-text{padding-top:10px;font-size:10px}.market-grid .card-name{font-size:12px}.market-grid .mini-die{width:13px;height:13px}}.zone{grid-auto-rows:30px;gap:2px 0;padding:3px 0}.bchip{border-width:1.5px;font-size:13.5px}@media (height<=420px){.zone{grid-auto-rows:26px}.bchip{font-size:13px}}.built{pointer-events:auto;cursor:pointer;justify-content:center;gap:10px;padding:12px 16px;top:0;bottom:0}.built-me,.built-enemy{top:0;bottom:0}.built-me{background:radial-gradient(#281a0ae0,#140c06f0)}.built-enemy{background:radial-gradient(#3c0e0ae0,#1e0806f0)}.built-cards{grid-template-columns:repeat(var(--n,1), min(132px, calc((100vw - 48px) / var(--n,1) - 8px)));justify-content:center;gap:8px;display:grid}.built-card{width:auto}.built-card .card{width:100%}.built-tap{color:#ffe9b0;font-size:13px;font-weight:800;animation:.9s infinite alternate pulse}.built-card .mini-die{width:12px;height:12px}.built-card .card-faces{gap:1px}.built-card .card-name{font-size:12.5px}.card-faces.many{gap:0}.card .card-faces.many .mini-die{width:11px;height:11px}.boss-name-line{color:var(--atk);margin-bottom:6px;font-size:18px;font-weight:900}.section-unlock{color:#7ae8d0}.up-unlock>.card{box-shadow:0 0 0 3px #7ae8d0,0 0 18px #7ae8d08c}.up-unlock .card-top{background:linear-gradient(#1e6a5c,#0f3a33);border-bottom-color:#7ae8d0}.up-unlock .card-badge{color:#0e3a32;background:#7ae8d0}.up-unlock .up-buy{color:#062a24;background:linear-gradient(#8af0d8,#2a9a86);box-shadow:0 3px #13584c}.fx-proj{pointer-events:none;position:absolute;top:0;left:0}.fx-blade{background:linear-gradient(90deg,#6b3e1e 0 22%,#e0b54a 22% 30%,#dfe6ee 30%,#fff 85%,#c9d2dc);border-radius:1px 4px 4px 1px;width:42px;height:8px;margin:-4px 0 0 -21px;box-shadow:0 0 8px #fffc}.fx-slash{background:linear-gradient(90deg,#0000,#fff 30% 70%,#0000);border-radius:3px;width:92px;height:5px;margin:-2.5px 0 0 -46px;box-shadow:0 0 10px #fff,0 0 20px #ff503ce6}.fx-boulder{background:radial-gradient(circle at 35% 30%,#c4bcb0,#756c61 55%,#3e3832);border-radius:45% 55% 50% 40%/50% 40% 60% 50%;width:30px;height:27px;margin:-13px 0 0 -15px;box-shadow:0 4px 8px #0009,inset -3px -3px #00000040}.fx-dust{background:radial-gradient(circle,#c4a070d9,#8c684000 70%);border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px}.fx-smoke{background:radial-gradient(circle,#d2d2d2d9,#78787800 70%);border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px}.fx-arrow{background:linear-gradient(90deg,#f2ead6 0 20%,#8a5a2a 20% 100%);width:38px;height:3px;margin:-1.5px 0 0 -19px}.fx-arrow:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:10px solid #e6ebf0;position:absolute;top:-4px;right:-9px}.fx-spear{background:linear-gradient(90deg,#5a3418,#a8743f);border-radius:2px;width:64px;height:6px;margin:-3px 0 0 -32px}.fx-spear:after{content:"";filter:drop-shadow(0 0 4px #ffffffe6);border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:16px solid #e6ebf0;position:absolute;top:-5px;right:-15px}.fx-cannonball{background:radial-gradient(circle at 35% 30%,#9aa0aa,#1c1e22 60%);border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;box-shadow:0 0 12px 3px #ff781ebf}.fx-lance{clip-path:polygon(0 40%,18% 40%,20% 4%,27% 26%,100% 50%,27% 74%,20% 96%,18% 60%,0 60%);filter:drop-shadow(0 0 6px #ffd877e6);background:linear-gradient(#fff6d0,#f0c858 45%,#a87c22);width:100px;height:28px;margin:-14px 0 0 -50px}.fx-lance-ghost{filter:blur(2px)}.fx-ring-gold,.fx-ring-fire{border:3px solid #ffd877;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;box-shadow:0 0 12px #ffd877}.fx-ring-fire{border-color:#ff8a3c;box-shadow:0 0 12px #ff5a1f}.fx-burst-steel{background:radial-gradient(circle,#fff 0%,#dfe8f2 25%,#b4c4d699 50%,#b4c4d600 70%)}.fx-burst-muzzle{background:radial-gradient(circle,#fff 0%,#fff1a8 25%,#ff9628cc 50%,#ff962800 70%)}.fx-burst-gold{background:radial-gradient(circle,#fffbe0 0%,#ffd877 30%,#c9a24ab3 55%,#c9a24a00 72%)}@media (hover:hover) and (pointer:fine){.btn:not(:disabled):hover,.map-upgrade:hover,.map-gear:hover,.btn-icon:hover,.env-chip:hover{filter:brightness(1.15)}.btn-back:hover,.map-back:hover{filter:brightness(1.3)}button.card{transition:transform .12s ease-out,box-shadow .12s ease-out}button.card:not(.is-disabled):not([aria-disabled=true]):hover{transform:translateY(-3px);box-shadow:0 8px 16px #00000080,0 0 0 2px #ffd877bf}.node:hover .node-disc{transform:scale(1.08)}.bchip:hover{filter:brightness(1.2)}.side-actions .btn-primary:after,.market-head .btn-primary:after{content:"Space";color:#3a2205bf;border:1px solid #3a220573;border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:800;line-height:16px}}.card-announce{z-index:85;cursor:pointer;background:radial-gradient(ellipse at 35% 50%, color-mix(in srgb, var(--cat) 55%, #2a1a0c), #120b06 70%);place-items:center;animation:.3s fade;display:grid;position:absolute;inset:0;overflow:hidden}.card-announce-rays{pointer-events:none;background:repeating-conic-gradient(#ffe9b021 0deg 8deg,#0000 8deg 20deg);width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;animation:24s linear infinite raysSpin;position:absolute;top:50%;left:35%;-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 55%);mask-image:radial-gradient(circle,#000 10%,#0000 55%)}@keyframes raysSpin{to{transform:rotate(360deg)}}.card-announce-body{align-items:center;gap:28px;max-width:820px;padding:12px 28px;display:flex;position:relative}.card-announce-card{zoom:2;pointer-events:none;flex:none;width:150px;animation:.7s cubic-bezier(.3,1.5,.5,1) cardReveal}.card-announce-card .card{width:100%;box-shadow:0 0 0 2px var(--gold), 0 0 26px #ffcf4abf, 0 8px 24px #0009}@keyframes cardReveal{0%{opacity:0;transform:scale(.4)rotateY(180deg)}}.card-announce-texts{flex-direction:column;gap:6px;min-width:0;display:flex}@media (height>=640px) and (width>=900px){.card-announce-card{width:200px}.card-announce-body{gap:40px;max-width:1100px}.card-announce-texts .env-name{font-size:52px}.card-announce-texts .env-desc{font-size:20px}.card-announce-texts .env-detail{font-size:15px}}@media (height<=430px){.card-announce-card{zoom:1.8;width:min(150px,54.4662dvh - 16.3399px)}.card-announce-texts .env-name{font-size:32px}}@media (aspect-ratio<=1){.card-announce-body{text-align:center;flex-direction:column}}:root[lang=en] .card-name{white-space:normal;-webkit-line-clamp:2;letter-spacing:0;overflow-wrap:normal;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.05;display:-webkit-box}.bchip.is-blocked{opacity:.45;filter:grayscale(.8);text-decoration:line-through}.fx-bolt{background:linear-gradient(90deg,#3a2a1e 0 25%,#6b4a2a 25% 80%,#e6ebf0 80%);border-radius:1px 3px 3px 1px;width:30px;height:5px;margin:-2.5px 0 0 -15px;box-shadow:0 0 6px #fff9}.fx-dagger{background:linear-gradient(90deg,#1a1420 0 30%,#b8c0d0 30%,#f4f6fa);border-radius:1px 6px 6px 1px;width:30px;height:6px;margin:-3px 0 0 -15px;box-shadow:0 0 10px 2px #7850c8b3}.fx-arrow-fire{box-shadow:0 0 10px 3px #ff781ee6}.fx-arrow-fire:before{content:"";background:radial-gradient(circle,#fff3c0,#ff9a2a 50%,#0000 70%);border-radius:50%;width:12px;height:12px;position:absolute;top:-5px;right:-4px}.fx-torchfire{background:radial-gradient(circle at 50% 70%,#fffbe0,#ffb02e 45%,#e0381a 75%,#0000);border-radius:50% 50% 45% 45%/60% 60% 40% 40%;width:16px;height:22px;margin:-11px 0 0 -8px;box-shadow:0 0 14px 4px #ff7828b3}.fx-keg{background:linear-gradient(#0000 18%,#3a3436 18% 26%,#0000 26% 74%,#3a3436 74% 82%,#0000 82%),linear-gradient(90deg,#5a3014,#b77a44 50%,#5a3014);border-radius:40%/18%;width:30px;height:34px;margin:-17px 0 0 -15px;box-shadow:0 4px 8px #0009}.fx-blade-red{box-shadow:0 0 10px 2px #dc281ed9}.fx-burst-shadow{background:radial-gradient(circle,#f0e8ff 0%,#8a5ad0 30%,#281446bf 55%,#28144600 72%)}.fx-burst-spark{background:radial-gradient(circle,#fff 0%,#ffe38a 40%,#ffa02800 70%)}.fx-cutin-dim{background:radial-gradient(at 40%,#00000040,#000000b3);position:absolute;inset:0}.fx-cutin{height:38%;position:absolute;top:31%;left:0;right:0;overflow:visible}.fx-cutin-band{transform-origin:0;background:linear-gradient(90deg,#78140a00,#b6372ae0 18%,#3c0c08f0 70%,#3c0c0800);border-top:2px solid #ffd877;border-bottom:2px solid #ffd877;position:absolute;inset:0}.fx-cutin.is-enemy .fx-cutin-band{transform-origin:100%;background:linear-gradient(270deg,#78140a00,#b6372ae0 18%,#3c0c08f0 70%,#3c0c0800)}.fx-cutin-art{aspect-ratio:230/198;border:3px solid #ffd877;border-radius:10px;height:132%;position:absolute;top:-16%;left:14%;overflow:hidden;box-shadow:0 0 30px #ffcf4acc,0 10px 30px #000000b3}.fx-cutin.is-enemy .fx-cutin-art{left:auto;right:14%}.fx-cutin-art img{object-fit:cover;object-position:center 55%;width:100%;height:100%;display:block}.fx-cutin-text{margin-top:-2.2em;position:absolute;top:50%;left:45%}.fx-cutin.is-enemy .fx-cutin-text{text-align:right;left:auto;right:45%}.fx-cutin-name{color:#fff;letter-spacing:.06em;white-space:nowrap;text-shadow:0 3px #5a1208,0 0 24px #ffb450e6;font-size:clamp(26px,9vh,52px);font-weight:900}.fx-cutin-dmg{color:#ffd877;text-shadow:0 2px #3a0a04;margin-top:2px;font-size:clamp(15px,5vh,24px);font-weight:900}.fx-cutin-speed{background:linear-gradient(90deg,#0000,#fff0d2e6,#0000);height:2px;position:absolute;left:0}.fx-flash-white{background:#fff}.fx-ring-impact{border:4px solid #fff3c0;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;box-shadow:0 0 20px #ffb02e}.magic-cutin{z-index:60;cursor:pointer;background:radial-gradient(#3c14648c,#080410d9);place-items:center;animation:.2s fade;display:grid;position:absolute;inset:0}.magic-cutin-band{background:linear-gradient(90deg,#3c146400,#7a4bb0e6 18%,#280e46f2 70%,#280e4600);border-top:2px solid #d8b0ff;border-bottom:2px solid #d8b0ff;height:56%;animation:.25s cubic-bezier(.2,.9,.3,1) magicBand;position:absolute;top:22%;left:0;right:0;transform:skewY(-3deg)}.magic-cutin.is-enemy .magic-cutin-band{background:linear-gradient(270deg,#5a0a1e00,#8c285ae6 18%,#320a1ef2 70%,#320a1e00);transform:skewY(3deg)}@keyframes magicBand{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.magic-cutin-body{align-items:center;gap:24px;max-width:min(760px,94%);display:flex;position:relative}.magic-cutin.is-enemy .magic-cutin-body{text-align:right;flex-direction:row-reverse}.magic-cutin-art{aspect-ratio:230/198;border:3px solid #d8b0ff;border-radius:12px;flex:none;width:min(34vw,260px);animation:.4s cubic-bezier(.2,.9,.3,1) magicArt;overflow:hidden;transform:rotate(-3deg);box-shadow:0 0 34px #c88cffd9,0 10px 30px #000000b3}.magic-cutin-art img{object-fit:cover;width:100%;height:100%;display:block}@keyframes magicArt{0%{opacity:0;transform:translate(-60px)rotate(-3deg)scale(.85)}}.magic-cutin.is-enemy .magic-cutin-art{animation-name:magicArtEnemy;transform:rotate(3deg)}@keyframes magicArtEnemy{0%{opacity:0;transform:translate(60px)rotate(3deg)scale(.85)}}.magic-cutin-texts{flex-direction:column;gap:6px;min-width:0;animation:.4s cubic-bezier(.2,.9,.3,1) 80ms backwards magicText;display:flex}@keyframes magicText{0%{opacity:0;transform:translate(60px)}}.magic-cutin-who{letter-spacing:.12em;color:#e8d0ff;font-size:13px;font-weight:800}.magic-cutin-name{color:#fff;letter-spacing:.04em;text-shadow:0 3px #2a0a40,0 0 24px #c88cffe6;font-size:clamp(26px,9vh,46px);font-weight:900}.magic-cutin-desc{color:#fff3dc;font-size:clamp(13px,4.2vh,17px);font-weight:700;line-height:1.5}.magic-cutin-tap{color:#d8b0ff;margin-top:6px;font-size:12px;font-weight:800;animation:1.4s infinite pulse}.fx-sprite{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.fx-siege-shadow{pointer-events:none;background:radial-gradient(#050200f2 0%,#0a0500cc 40%,#0a050000 72%);border-radius:50%;width:420px;height:230px;position:absolute}.magic-cutin-artwrap{flex:none;place-items:center;display:grid;position:relative}.magic-cutin-circle{aspect-ratio:1;mix-blend-mode:screen;filter:drop-shadow(0 0 6px #c88cffe6);pointer-events:none;width:175%;animation:9s linear infinite magicSpin,.5s cubic-bezier(.2,.9,.3,1) magicCircleIn;position:absolute;top:50%;left:50%;translate:-50% -50%}.magic-cutin-circle.is-inner{filter:drop-shadow(0 0 6px #ffc864cc);width:125%;animation:7s linear infinite magicSpinRev,.5s cubic-bezier(.2,.9,.3,1) 80ms backwards magicCircleIn}@keyframes magicSpin{to{rotate:360deg}}@keyframes magicSpinRev{to{rotate:-360deg}}@keyframes magicCircleIn{0%{opacity:0;scale:.2}}.title-links{z-index:2;gap:6px;display:flex;position:absolute;top:10px;left:12px}.title-link{color:var(--paper);font:inherit;cursor:pointer;background:#140c06b3;border:1px solid #ffe6b480;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.title-link.is-empty{opacity:.5;cursor:default}.title-link small{opacity:.8;font-size:10px}.notice-list{text-align:left;margin:0;padding-left:20px;font-size:14px;line-height:1.7}.notice-list li+li{margin-top:6px}#splash.is-ready{cursor:pointer}#splash.is-ready .splash-logo,#splash.is-ready .splash-en{width:min(30vw,300px)}#splash .splash-notice{left:max(16px, env(safe-area-inset-left));color:#fff3dc;background:#140c06d1;border:1px solid #ffe6b459;border-radius:12px;width:min(100% - min(30vw,300px) - 64px,680px);max-height:calc(100% - 32px);padding:14px 18px;animation:.4s fade;position:absolute;top:50%;overflow-y:auto;transform:translateY(-50%);box-shadow:0 8px 24px #0009}#splash .splash-notice-title{color:#ffd877;margin-bottom:6px;font-size:20px;font-weight:900}#splash .splash-notice ul{margin:0;padding-left:20px;font-size:15.5px;line-height:1.55}#splash .splash-notice li+li{margin-top:5px}@media (width>=1200px) and (height>=720px){.build-cards{zoom:1.3}.build-side{zoom:1.2}.tut-bubble{width:min(500px,90%);padding:16px 20px}.tut-title{font-size:22px}.tut-text{font-size:18px;line-height:1.65}.tut-foot{font-size:15px}#splash .splash-notice{width:min(100% - min(30vw,300px) - 64px,820px);padding:22px 28px}#splash .splash-notice-title{margin-bottom:10px;font-size:28px}#splash .splash-notice ul{padding-left:24px;font-size:20px;line-height:1.65}#splash .splash-notice li+li{margin-top:8px}#splash .splash-load{font-size:18px}.zone{grid-auto-rows:44px;gap:5px 0}.bchip{border-radius:7px;font-size:18px}.bchip-shield,.bchip-aim{font-size:14px}.title-panel{zoom:1.4}.title-panel .logo-img img{height:min(23.5714dvh,180px)}.title-links{zoom:1.3}}@media (width>=1600px) and (height>=900px){.title-panel{zoom:1.75}.title-panel .logo-img img{height:min(18.8571dvh,180px)}}@media (width>=1200px) and (height>=720px){.battle{grid-template-columns:minmax(0,1fr) 220px}.side-turn{font-size:17px}.btn-deck{min-height:52px;font-size:19px}.btn-side{white-space:nowrap;flex-direction:column;gap:2px;min-height:68px;font-size:21px}.side-actions .btn-primary:after{margin-left:0}.side-log{font-size:14px}.side>.die{width:84px!important;height:84px!important}.side>.die .die-q{font-size:40px}}.built-cards{grid-template-columns:repeat(var(--n,1), min(clamp(150px, 34dvh, 300px), calc((100vw - 48px) / var(--n,1) - 8px)))}.built-title{font-size:clamp(22px,4dvh,36px)}.built-tap{font-size:clamp(13px,2.2dvh,20px)}@media (width>=1200px) and (height>=720px){.built-card .card-name{font-size:18px}.built-card .card-text{font-size:15px}.built-card .mini-die{width:16px;height:16px}}.roll-cta{z-index:30;color:#3a2205;font:inherit;letter-spacing:.06em;white-space:nowrap;cursor:pointer;background:linear-gradient(#ffd877,#d99a22);border:3px solid #ffe9a8;border-radius:999px;flex-direction:column;align-items:center;gap:6px;padding:clamp(14px,3dvh,26px) clamp(30px,6vw,70px);font-size:clamp(22px,5dvh,44px);font-weight:900;animation:.35s cubic-bezier(.2,.9,.3,1.3) rollCtaIn,1.4s ease-in-out .35s infinite alternate rollCtaGlow;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #ffd87740,0 10px 30px #0009}.roll-cta small{opacity:.75;letter-spacing:.02em;font-size:.42em;font-weight:800}.roll-cta:active{transform:translate(-50%,-50%)scale(.96)}@keyframes rollCtaIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}}@keyframes rollCtaGlow{to{box-shadow:0 0 0 12px #ffd8771f,0 0 40px #ffc850b3,0 10px 30px #0009}}@media (prefers-reduced-motion:reduce){.roll-cta{animation:none}}.btn-side{white-space:nowrap;flex-direction:column;gap:1px}.side-actions .btn-primary:after{margin-left:0}
