:root{--bg1:#2d333b;--bg2:#3c434c;--card:#111b29;--card-got:#f8fbff;--card-locked:#000000;--text:#eaf6ff;--text-dark:#0b1a2c;--muted:#7fa0c7;--accent:#4de1ff;--metal-light:#eef0f3;--metal-mid:#9ba1aa;--metal-dark:#2e333a}body{margin:0;font-family:Yu Gothic UI,Yu Gothic,Meiryo,Noto Sans JP,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);background:radial-gradient(circle at 50% 40%,rgba(90,100,110,.12),transparent 34%),radial-gradient(circle at 50% 60%,rgba(60,70,80,.1),transparent 40%),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0 1px,transparent 1px 4px),linear-gradient(180deg,#3c434c,#2d333b);background-color:#2d333b;min-height:100vh}.wrap{max-width:1180px;margin:0 auto;padding:30px 24px 60px;position:relative}h1{font-size:20px;margin:0 0 16px;font-weight:800;letter-spacing:.04em;color:var(--text);text-shadow:0 0 14px rgba(77,225,255,.25);position:relative;z-index:2}.machine-shell{position:relative;padding:42px 36px 56px;background:linear-gradient(180deg,#5a6068,#3c4149);border-radius:22px;box-shadow:inset 0 1px #fff6,inset 0 -4px 10px #00000059,0 18px 32px #0000008c,0 0 30px #00000073;overflow:visible}.machine-shell:before,.machine-shell:after{content:"";position:absolute;left:0;right:0;border-radius:18px;pointer-events:none}.machine-shell:before{top:-110px;height:100px;width:68%;margin:0 auto;background:linear-gradient(180deg,#666e78,#4a525c 60%,#353b44);box-shadow:inset 0 1px #ffffff59,inset 0 -3px 8px #0006,0 14px 22px #00000073;border:1px solid rgba(0,0,0,.35)}.machine-shell:after{bottom:-70px;height:68px;width:92%;margin:0 auto;background:linear-gradient(180deg,var(--metal-dark) 0%,#1d2127 100%);box-shadow:inset 0 1px #ffffff40,inset 0 -2px 6px #00000080,0 -6px 12px #00000059;border:1px solid rgba(0,0,0,.45)}.hazard-bar{position:absolute;bottom:-38px;left:50%;transform:translate(-50%);width:320px;height:18px;border-radius:6px;background:repeating-linear-gradient(135deg,#f7c500 0 14px,#22252b 14px 26px);box-shadow:inset 0 1px #fff6,0 4px 10px #00000073;z-index:4}.side-panel{position:absolute;top:30px;bottom:30px;width:72px;background:linear-gradient(180deg,var(--metal-light) 0%,#cfd3d8 45%,var(--metal-mid) 100%);border:1px solid rgba(0,0,0,.35);box-shadow:inset 0 1px #ffffff80,inset 0 -3px 6px #00000059;z-index:1}.side-panel.left{left:-40px;border-radius:18px 0 0 18px}.side-panel.right{right:-40px;border-radius:0 18px 18px 0}.side-window{position:absolute;inset:20px 12px 120px;background:linear-gradient(180deg,#4c525a,#2f343c);border-radius:12px;box-shadow:inset 0 1px #ffffff40,inset 0 -3px 8px #0006}.panel{background:linear-gradient(180deg,#fff,#f0f2f5);border:1px solid rgba(0,0,0,.18);border-radius:14px;padding:20px;box-shadow:inset 0 0 0 1px #ffffff0d,0 18px 32px #0000008c,0 0 22px #ff8c002e;position:relative;overflow:hidden;z-index:3}.panel:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px);mix-blend-mode:screen;opacity:.6;pointer-events:none}.monitor-bar{background:linear-gradient(180deg,#e77722,#c65a0f);border:1px solid rgba(240,150,80,.85);border-radius:12px;padding:12px 14px;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 18px #c86e1e52;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.monitor-btn{position:relative;padding:11px 16px;border:1px solid rgba(245,170,90,.95);background:linear-gradient(180deg,#f18b2c,#d36612);color:var(--text);font-weight:800;letter-spacing:.05em;cursor:pointer;border-radius:10px;box-shadow:0 0 16px #e68c328c,inset 0 1px #ffffff38;text-transform:uppercase;transition:transform .08s ease,box-shadow .08s ease}.monitor-btn:hover{transform:translateY(-1px);box-shadow:0 0 22px #f0963cb3,inset 0 1px #ffffff42}.monitor-btn:active{transform:translateY(0);box-shadow:0 0 14px #d7781c85}.monitor-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:0 0 10px #d7781c52}.monitor-btn.active{background:linear-gradient(180deg,#f59b3a,#e77722);border-color:#fab96ef2;box-shadow:0 0 18px #f2963c99,inset 0 1px #ffffff42}.monitor-btn.inactive{background:linear-gradient(180deg,#b35c16,#7a340b);border-color:#b46e32e6;box-shadow:0 0 12px #a05a1e73,inset 0 1px #ffffff24;color:#f4e7db}.monitor-btn.inactive:hover{transform:translateY(-1px);box-shadow:0 0 16px #b96e288c,inset 0 1px #ffffff2e}.monitor-screen{position:relative;margin-top:16px;padding:18px;border-radius:20px;background:linear-gradient(180deg,#6c747f,#2f333a);box-shadow:inset 0 3px #ffffff59,inset 0 -4px 10px #00000073,0 18px 40px #0000008c;overflow:visible}.monitor-screen:after{content:"";position:absolute;width:60px;height:90px;bottom:0;right:0;background:linear-gradient(180deg,#1b2027,#0e1118);border-radius:0;box-shadow:inset 0 1px #ffffff0d,inset 0 -1px 3px #00000059;z-index:6;pointer-events:none}.monitor-bezel{position:relative;background:linear-gradient(180deg,#1c2028,#0f131a);border-radius:14px;padding:14px 14px 56px;border:2px solid #0c0f15;box-shadow:inset 0 1px #ffffff14,inset 0 -2px 6px #00000080,0 0 0 1px #0006;display:flex;flex-direction:column;gap:0}.monitor-bezel:before,.monitor-bezel:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#9aa5b5 50%,#3a4450 80%);box-shadow:inset 0 1px #fff6}.monitor-bezel:before{top:10px;left:10px}.monitor-bezel:after{top:10px;right:10px}.screen-inner{position:relative;border-radius:10px;background:radial-gradient(circle at 20% 20%,rgba(77,225,255,.08),transparent 45%),radial-gradient(circle at 80% 30%,rgba(136,255,186,.06),transparent 45%),linear-gradient(180deg,#0c141ff2,#0a0f18f5);min-height:420px;box-shadow:inset 0 0 0 1px #ffffff0d,inset 0 0 0 2px #0009;overflow:hidden;border:3px solid #181c24;display:flex;align-items:center;justify-content:center;flex:1 1 auto;width:100%}.screen-noise{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 3px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.12),transparent 42%),radial-gradient(circle at 80% 60%,rgba(255,255,255,.08),transparent 46%);opacity:.72;animation:noiseScroll 1.2s linear infinite}@keyframes noiseScroll{0%{background-position:0 0,0 0,0 0}to{background-position:0 40px,0 12px,0 -24px}}.console{position:absolute;left:14px;right:14px;bottom:12px;height:56px;background:linear-gradient(180deg,#1b2027,#0e1118);border:1px solid rgba(0,0,0,.6);border-radius:0;box-shadow:inset 0 1px #ffffff14,inset 0 -2px 5px #00000080;display:flex;align-items:center;gap:6px;padding:6px 10px;z-index:20;line-height:1}.console .lamp{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,currentColor 55%,#111 100%);box-shadow:0 0 8px currentColor,inset 0 1px 1px #ffffff80}.console .lamp.red{color:#e86a6a}.console .lamp.green{color:#7ee07a}.console .lamp.amber{color:#e6c05e}.console .lamp.blue{color:#63c7ff}.console .lamp.silver{color:#cfd3d8}.console .volume{display:flex;align-items:center;gap:8px;width:190px}.console .volume label{font-size:12px;color:var(--muted)}.console input[type=range]{flex:1;-webkit-appearance:none;height:8px;border-radius:6px;background:linear-gradient(180deg,#d1d6de,#8c94a0);box-shadow:inset 0 1px #fff9,inset 0 -1px 2px #0000004d}.console input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(180deg,#6cc7ff,#2f6b9c);box-shadow:0 2px 4px #0006,inset 0 1px #ffffffb3}.console input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(180deg,#6cc7ff,#2f6b9c);box-shadow:0 2px 4px #0006,inset 0 1px #ffffffb3;border:none}.console .toggle{padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(180deg,#2b313a,#1a1f27);color:var(--text);font-size:12px;cursor:pointer;box-shadow:inset 0 1px #ffffff2e,0 2px 6px #00000059}.result{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:420px;padding:14px;width:100%}.result-grid{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;width:100%;flex-wrap:wrap;transition:padding .35s ease}.result-grid .card{--card-translate: 0;transition:transform .35s ease;transform:translate(var(--card-translate, 0))}.result-grid.show-action{padding-right:200px}.result-grid.show-action .card{--card-translate: -3%}.draw-actions-stack{position:absolute;right:0;bottom:-140px;transform:none;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.result-grid .draw-action{position:static;transform:translate(12px) scale(.98);width:220px;min-height:240px;display:flex;flex-direction:column;align-items:stretch;gap:10px;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none}.result-grid .draw-action.visible{opacity:1;transform:translate(0) scale(1);pointer-events:auto}.draw-multi{width:220px}.draw-empty{width:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.cta-large{padding:18px 24px;min-width:260px;border-radius:14px;border:2px solid rgba(255,140,0,.65);background:radial-gradient(circle at 50% 20%,#ffc87859,#ff8c00d9);color:#2b1a0f;font-weight:900;letter-spacing:.08em;font-size:18px;box-shadow:0 14px 30px #00000059,inset 0 1px #ffffffa6;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.cta-large:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0006,inset 0 1px #fffc}.cta-large:disabled{opacity:1;cursor:not-allowed;transform:none;box-shadow:0 10px 24px #00000040}.cta-large-title{font-size:22px;font-weight:900}.cta-large-sub{font-size:14px;margin-top:6px}.cta-again{padding:14px 18px;border-radius:12px;border:2px solid rgba(77,225,255,.65);background:linear-gradient(180deg,#4de1ff4d,#0c283ce6);color:#eaf6ff;font-weight:900;letter-spacing:.08em;font-size:18px;box-shadow:0 10px 22px #0000004d,inset 0 1px #ffffff59;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;width:100%}.cta-again:hover{transform:translateY(-2px);box-shadow:0 12px 26px #00000059,inset 0 1px #ffffff73}.cta-again:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:0 8px 18px #00000040}.cta-again-main{font-size:20px}.cta-again-sub{font-size:13px;color:#b8ecff}.cta-note{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.04em}.cta-note.warning{color:#ffb347}@media(max-width:760px){.result-grid{flex-direction:column;align-items:stretch}.result-grid .card{transform:none!important}.result-grid{padding-right:0!important}.draw-actions-stack{position:static;transform:none;align-items:stretch;gap:8px}.result-grid .draw-action{position:static;transform:translate(0) scale(1);width:100%;max-width:360px;margin:0 auto;opacity:1;pointer-events:auto}.draw-multi{width:100%;max-width:360px;margin:0 auto;display:flex;justify-content:flex-end}}.card{box-sizing:border-box;width:100%;max-width:720px;padding:14px;border-radius:12px;border:1px solid rgba(77,225,255,.15);background:var(--card);color:var(--text);box-shadow:0 12px 28px #00000040,inset 0 0 0 1px #ffffff0a;transition:box-shadow .15s ease,transform .15s ease}.card.with-image{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch;position:relative;overflow:hidden}@media(min-width:760px){.card.with-image{grid-template-columns:260px 1fr}}.card.got{background:var(--card-got);border-color:#88ffba59;box-shadow:0 12px 30px #0000004d;color:var(--text-dark)}.history .card{position:relative;box-sizing:border-box;width:100%;max-width:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;cursor:pointer}.history .card:hover{transform:translateY(-2px);box-shadow:0 16px 30px #00000059,inset 0 0 0 1px #4de1ff38;border-color:#4de1ff40}.card.locked{background:var(--card-locked);border-color:#ffffff0f;color:#dfe5f0;box-shadow:0 10px 24px #00000059}.thumb{position:relative;border-radius:10px;overflow:visible;background:linear-gradient(145deg,#182330,#0f1824);border:1px solid rgba(77,225,255,.18);display:flex;align-items:center;justify-content:center;padding:6px}.card.got .thumb{background:#fff;border-color:#00000014}.card.locked .thumb{background:#000;border-color:#222835;color:#7fa0c7}.thumb img{width:100%;height:320px;object-fit:contain;display:block}.thumb.small{width:120px;height:120px;padding:5px;margin:0 auto}.thumb.small img{max-height:110px;width:100%;height:100%;object-fit:contain}.item{font-size:16px;font-weight:800;margin:6px 0;letter-spacing:.02em}.item-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.new-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:linear-gradient(135deg,#ffefc2,#ffb347);color:#2b1a0f;font-weight:900;font-size:12px;letter-spacing:.08em;box-shadow:0 6px 14px #00000040,0 0 0 1px #ffffff40;animation:badgePop .45s ease}.new-ribbon{position:absolute;top:10px;left:-6px;padding:6px 14px 6px 18px;background:linear-gradient(135deg,#fff3ce,#ffb347);color:#2b1a0f;font-weight:900;letter-spacing:.08em;font-size:12px;border-radius:999px;box-shadow:0 12px 20px #00000040,inset 0 1px #fff9;transform:rotate(-6deg);animation:badgePop .5s ease,ribbonGlow 1.4s ease;z-index:2}.new-card{box-shadow:0 18px 40px #00000059,0 0 26px #88ffba59;animation:drawPulse .85s ease,newGlow 1.6s ease}.new-card:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 50% 50%,#4de1ff2e,#88ffba00);opacity:0;pointer-events:none;filter:blur(12px);animation:newBloom 1.6s ease forwards}.new-card:after{content:"";position:absolute;inset:-120% -70%;background:linear-gradient(120deg,#fff0,#ffffff8c,#fff0);transform:rotate(14deg);opacity:0;pointer-events:none;animation:newSweep 1.5s ease .05s forwards}.new-thumb{box-shadow:0 16px 28px #0000004d,0 0 0 2px #ffffffbf,0 0 22px #4de1ff59;animation:newThumbPop 1.1s ease}.new-thumb:after{content:"";position:absolute;inset:-10px;border-radius:14px;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 28px #88ffba73;opacity:0;pointer-events:none;animation:newHalo 1.6s ease forwards}.card.locked .item{color:#dfe5f0}.meta{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.dex-monitor{margin-top:22px;background:linear-gradient(180deg,#4a5565,#1a2230);border:10px solid rgba(255,140,0,.55);border-radius:16px;box-shadow:inset 0 3px #ffffff2e,0 18px 40px #0006;position:relative}.dex-header{padding:10px 14px 6px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffb45a33,#1e120a73);display:flex;align-items:flex-end;gap:12px}.tab-bar{display:flex;gap:6px}.tab-btn{position:relative;padding:8px 16px;border:none;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#6d3a12,#3e1f0a);color:#f5d4b0;font-weight:800;letter-spacing:.04em;box-shadow:0 -1px #ffffff14,0 2px 8px #00000059;cursor:pointer}.tab-btn.active{background:linear-gradient(180deg,#d26a1a,#a84e0f);color:#fff6ec;box-shadow:0 -1px #ffffff1f,0 2px 10px #00000073}.tab-btn:hover{color:#eaf6ff}.dex-stats{margin-left:auto;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--muted);text-shadow:0 0 8px rgba(77,225,255,.3)}.dex-monitor .dex-stats{position:absolute;right:14px;bottom:10px}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel#tab-owned{position:relative;padding-top:56px;overflow:visible}.dex-body.owned-no-scroll{overflow:hidden!important}.dex-body.owned-no-scroll::-webkit-scrollbar{display:none}.count-badge{position:absolute;right:10px;bottom:8px;background:#000000a6;color:#fff;font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 6px #00000059}.card.got .count-badge{background:#183246cc;border-color:#4de1ff59}.card.locked .count-badge{background:#000c}.owned-stack{position:relative;min-height:320px;padding:0 12px 12px;display:flex;align-items:flex-end;justify-content:flex-start}.owned-stack .owned-title{position:absolute;top:0;left:20px;right:20px;height:28px;display:flex;align-items:center;color:var(--text);font-weight:800;letter-spacing:.04em;text-shadow:0 0 10px rgba(77,225,255,.25)}.owned-stack .stack-area{position:relative;height:230px;width:100%;overflow-x:auto;overflow-y:hidden;padding:56px 16px 28px;scrollbar-width:thin}.owned-stack .stack-area::-webkit-scrollbar{height:10px}.owned-stack .stack-area::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}.owned-stack .stack-area::-webkit-scrollbar-thumb{background:#4de1ff73;border-radius:999px}.owned-stack .stack-card{position:absolute;top:20px;left:20px;width:160px;height:190px;border-radius:12px;border:1px solid rgba(77,225,255,.18);background:#fff;box-shadow:0 10px 20px #00000052;display:flex;align-items:center;justify-content:center;transition:box-shadow .12s ease;overflow:visible}.owned-stack .stack-card img{max-width:90%;max-height:90%;object-fit:contain;background:#fff}.owned-stack .stack-card:hover{transform:none;box-shadow:0 10px 18px #0000004d,0 0 0 1px #4de1ff33;z-index:9}.owned-stack .stack-card.depleted{filter:grayscale(1);opacity:.55;box-shadow:0 6px 12px #0000002e;background:#f2f2f2}.owned-stack .stack-card.depleted img{opacity:.7}.dex-body{max-height:360px;overflow-y:auto;padding:16px;background:linear-gradient(180deg,#0c141ff2,#0a0f18f5)}.dex-body::-webkit-scrollbar{width:8px}.dex-body::-webkit-scrollbar-thumb{background:#4de1ff59;border-radius:8px}.dex-body::-webkit-scrollbar-track{background:#ffffff0d}.history{margin-top:0;position:relative;z-index:1}.list{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.history-row{position:relative;display:grid;gap:8px;align-items:flex-start}.small{font-size:12px;color:var(--muted)}.card.locked .small{color:#97a4ba}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em}.badge.got{background:#88ffba2e;border:1px solid rgba(136,255,186,.5);color:#0d4224}.badge.locked{background:#4de1ff1f;border:1px solid rgba(77,225,255,.35);color:#c9e8ff}.actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;font-size:12px}.actions a,.actions button{color:#0f6bdc;text-decoration:none;border:1px solid #7ac0ff;padding:6px 10px;border-radius:8px;background:#eef6ff;font-weight:700;box-shadow:inset 0 1px #fff;cursor:pointer}.actions a:hover,.actions button:hover{background:#d9ecff}.stats{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.02em;text-shadow:0 0 8px rgba(77,225,255,.2)}@keyframes drawPulse{0%{transform:translate(var(--card-translate, 0)) scale(.98);box-shadow:0 0 #4de1ff80}40%{transform:translate(var(--card-translate, 0)) scale(1.01);box-shadow:0 0 0 12px #4de1ff00}to{transform:translate(var(--card-translate, 0)) scale(1);box-shadow:0 0 #4de1ff00}}.draw-anim{animation:drawPulse .85s ease}.new-card.draw-anim{animation:drawPulse .85s ease,newGlow 1.6s ease}@keyframes badgePop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes ribbonGlow{0%{box-shadow:0 12px 20px #00000040,inset 0 1px #ffffff80}50%{box-shadow:0 14px 26px #ffb45a59,inset 0 1px #fffc}to{box-shadow:0 12px 20px #00000040,inset 0 1px #ffffff80}}@keyframes newGlow{0%{filter:drop-shadow(0 0 0 rgba(136,255,186,0))}50%{filter:drop-shadow(0 0 26px rgba(136,255,186,.55))}to{filter:drop-shadow(0 0 12px rgba(77,225,255,.3))}}@keyframes newBloom{0%{opacity:0;transform:scale(.9)}40%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes newSweep{0%{opacity:0;transform:translate(-35%) rotate(14deg)}20%{opacity:.85}to{opacity:0;transform:translate(75%) rotate(14deg)}}@keyframes newThumbPop{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes newHalo{0%{opacity:0;transform:scale(.9)}50%{opacity:.9;transform:scale(1.03)}to{opacity:0;transform:scale(1.1)}}.modal{position:fixed;inset:0;background:#0009;display:none;align-items:center;justify-content:center;z-index:999}.modal.show{display:flex;animation:modalIn .25s ease}.modal-content{max-width:min(90vw,900px);max-height:min(90vh,900px);background:#0b0f18;border:2px solid rgba(77,225,255,.4);border-radius:12px;padding:10px;box-shadow:0 16px 40px #0009,0 0 24px #4de1ff40;transform:scale(.96);animation:popIn .25s ease forwards}.modal-content img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}@keyframes popIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes modalIn{0%{background:#0000}to{background:#0009}}.ground{height:120px;background:#fff}@keyframes shakeX{0%{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-6px)}to{transform:translate(0)}}.history .card.shake{animation:shakeX .32s ease}.canvas-blank{width:100%;min-height:420px;background:#fff;border:0;border-radius:14px;box-shadow:none;display:flex;align-items:center;justify-content:center;color:#2b313a;font-weight:800;letter-spacing:.04em}.dex-body,.owned-stack .stack-area{overscroll-behavior:contain}.result.canvas-mode{display:flex;align-items:center;justify-content:center;padding:14px;min-height:420px;height:auto;position:relative;width:100%}.result.canvas-mode .canvas-blank{width:100%;height:auto;min-height:420px;display:flex;align-items:center;justify-content:center;position:relative;padding:0;background:#fff;border:0;box-shadow:none}.screen-inner.canvas-mode{background:#fff;border-color:#d6dce5;box-shadow:inset 0 0 0 1px #0000000a,inset 0 0 0 2px #00000014,0 10px 26px #00000047;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:100%}.screen-inner.canvas-mode .canvas-blank{background:#fff;border:0;box-shadow:none}.canvas-board{position:relative;width:100%;min-height:420px;background:#fff;border-radius:8px;border:0;margin:0 auto}.canvas-item{position:absolute;padding:0;background:transparent;border:none;box-shadow:none;transform:translate(-50%,-50%) scale(var(--scale, 1));transform-origin:center center}.canvas-item img{display:block;width:auto;height:auto;max-width:260px;max-height:260px;object-fit:contain;background:transparent;border-radius:0}.canvas-caption{margin-top:6px;font-size:12px;font-weight:700;color:#2b313a;text-align:center}.canvas-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;color:#5a6575;font-weight:700;letter-spacing:.04em}.canvas-guide{position:absolute;pointer-events:none;opacity:.65;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}.canvas-guide img{display:block;max-width:260px;max-height:260px;object-fit:contain;background:transparent}.canvas-item.selected{outline:2px solid rgba(77,225,255,.8);box-shadow:0 0 12px #4de1ff73}.owned-selected-name{position:absolute;top:0;left:16px;right:16px;padding:4px 8px;font-weight:800;color:var(--text);letter-spacing:.02em;min-height:22px;pointer-events:none}.owned-selected-stats{position:absolute;top:30px;left:16px;right:16px;padding:0 8px;font-size:12px;color:var(--muted);pointer-events:none}.stat-row{display:flex;align-items:center;gap:6px}.stat-led{display:inline-flex;align-items:center;gap:6px;font-weight:700}.stat-led .dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 8px currentColor,inset 0 1px 1px #ffffff80;background:radial-gradient(circle at 30% 30%,#fff,currentColor 55%,#111 100%)}.stat-led.red{color:#e86a6a}.stat-led.orange{color:#e6c05e}.stat-led.green{color:#7ee07a}.stat-led.cyan{color:#63c7ff}.stat-led.silver{color:#cfd3d8}.owned-stack .stack-card:hover:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-30px;height:30px;pointer-events:auto}.battle-mode{background:#fff;border-color:#d6dce5;box-shadow:inset 0 0 0 1px #0000000a,inset 0 0 0 2px #00000014,0 10px 26px #00000047}.battle-wrap{position:relative;width:100%;min-height:420px;display:flex;align-items:center;justify-content:center;color:#2b313a;font-weight:800;letter-spacing:.04em}.battle-text{padding:12px 16px;background:#0000000a;border-radius:12px;box-shadow:inset 0 1px #fff9,0 6px 14px #0003}.battle-preview{position:absolute;left:12px;bottom:12px;width:40%;height:40%;min-width:200px;min-height:200px;border:none;border-radius:4px;overflow:hidden;box-shadow:none;background:#fff}.battle-mini-board{position:relative;width:100%;height:100%;background:#fff;overflow:hidden}.battle-mini-scale{position:absolute;inset:0;width:400%;height:400%;transform:scale(.25);transform-origin:top left}.battle-mini-item{position:absolute;width:auto;height:auto;max-width:260px;max-height:260px;object-fit:contain;transform:translate(-50%,-50%);background:transparent}.battle-mini-scene{position:relative;width:100%;height:100%}.battle-scene{position:relative;width:100%;min-height:420px;height:420px;background:#fff;border-radius:8px;overflow:hidden;margin:0 auto;box-shadow:inset 0 1px #0000000d;display:flex;align-items:center;justify-content:flex-start}.battle-item{position:absolute;padding:0;transform:translate(-50%,-50%) scale(var(--scale, 1));transform-origin:center center}.battle-item img{display:block;max-width:260px;max-height:260px;object-fit:contain;background:transparent}.canvas-item .resize-handle{position:absolute;bottom:-6px;right:-6px;width:14px;height:14px;border-radius:3px;background:#4de1ffe6;border:1px solid #0b1a2c;cursor:se-resize;opacity:0;transition:opacity .12s}.canvas-item.selected .resize-handle{opacity:1}.battle-clip{position:relative;width:100%;height:100%;overflow:hidden;pointer-events:none}.battle-clip:after{content:"";position:absolute;inset:0;border:2px dashed rgba(77,225,255,.6);border-radius:8px;pointer-events:none;box-shadow:0 0 0 1px #00000026;z-index:2}.battle-clip.ally-hit-img .battle-item{animation:allyItemShake .22s ease;z-index:3}.ally-hp.ally-hit{animation:allyHitShake .18s ease}@keyframes allyHitShake{0%{transform:translate(0)}25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-1px)}to{transform:translate(0)}}@keyframes allyItemShake{0%{transform:translate(-50%,-50%) scale(var(--scale,1))}25%{transform:translate(calc(-50% - 2px),calc(-50% - 1px)) scale(var(--scale,1))}50%{transform:translate(calc(-50% + 2px),calc(-50% + 1px)) scale(var(--scale,1))}75%{transform:translate(calc(-50% - 1px),calc(-50% + 1px)) scale(var(--scale,1))}to{transform:translate(-50%,-50%) scale(var(--scale,1))}}.ally-flash{position:absolute;inset:0;background:linear-gradient(90deg,#ff3c3c33,#ff3c3c00,#ff3c3c33);pointer-events:none;animation:allyEdgeFlash .25s ease-out 0s 1 forwards;border-radius:inherit;z-index:4}@keyframes allyEdgeFlash{0%{opacity:.7}80%{opacity:.18}to{opacity:0}}.battle-guide{position:absolute;border:3px solid rgba(255,140,0,.85);border-radius:10px;box-shadow:inset 0 0 0 2px #0c19268c,0 0 0 1px #00000040,0 0 14px #ff8c0059;background:linear-gradient(180deg,#ffc87829,#0c19260d);pointer-events:none;z-index:2}.battle-clip.left-offset{transform:translate(-25%)}.canvas-battle-guide{position:absolute;pointer-events:none;border:2px dashed rgba(77,225,255,.65);border-radius:8px;box-shadow:0 0 0 1px #00000026;inset:auto}.battle-gauges{z-index:6;position:absolute;top:0;right:-8px;left:auto;max-width:45%;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px 8px;background:#141416d9;border-radius:10px;border:1px solid rgba(255,140,0,.6);box-shadow:inset 0 1px #ffffff1f,0 6px 16px #00000059;color:#ffe6c7;pointer-events:none}.gauge-row{display:flex;align-items:center;gap:6px;min-width:100px}.gauge-label{font-size:13px;font-weight:900;color:#ffe6c7;width:78px;text-shadow:0 0 6px rgba(0,0,0,.5)}.gauge-bar{position:relative;flex:1;height:12px;border-radius:999px;background:#ffffff29;overflow:hidden;box-shadow:inset 0 1px 2px #00000059}.gauge-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;box-shadow:0 0 8px currentColor}.gauge-fill.red{background:linear-gradient(90deg,#ff9a9a,#ff4d4d);color:#ff4d4d}.gauge-fill.orange{background:linear-gradient(90deg,#ffc27a,#ff8c1a);color:#ff8c1a}.gauge-fill.green{background:linear-gradient(90deg,#b7f5b7,#41c75c);color:#41c75c}.gauge-fill.cyan{background:linear-gradient(90deg,#b8ecff,#45b7ff);color:#45b7ff}.gauge-val{font-size:13px;font-weight:900;color:#ffe6c7;width:46px;text-align:right;text-shadow:0 0 6px rgba(0,0,0,.5)}.stat-hover-text{min-width:100px;font-size:12px;font-weight:900;color:#ffe6c7;text-shadow:0 0 8px rgba(255,140,0,.45)}.battle-start-btn{position:absolute;right:12px;bottom:12px;padding:10px 16px;border-radius:10px;border:1px solid rgba(255,140,0,.75);background:linear-gradient(180deg,#ffc878e6,#ff8c00b3);color:#2b1a0f;font-weight:900;letter-spacing:.04em;box-shadow:0 6px 14px #00000059,inset 0 1px #ffffff59;cursor:pointer}.battle-start-btn:hover{box-shadow:0 8px 18px #0006,inset 0 1px #ffffff80;transform:translateY(-1px)}.battle-start-btn:active{transform:translateY(0);box-shadow:0 4px 10px #00000059}.battle-enemy{position:absolute;right:12px;bottom:12px;width:140px;height:140px;pointer-events:none}.battle-enemy.hit img{animation:enemyHitShake .16s ease;filter:drop-shadow(0 0 6px rgba(255,140,0,.3))}.battle-enemy img{width:100%;height:100%;object-fit:contain}@keyframes enemyHitShake{0%{transform:translate(0) rotate(0)}25%{transform:translate(-3px,-1px) rotate(-2deg)}50%{transform:translate(2px,1px) rotate(1.5deg)}75%{transform:translate(-2px) rotate(-1deg)}to{transform:translate(0) rotate(0)}}.gauge-row.human-gauge{margin-top:4px}.gauge-row-set{display:flex;gap:6px;flex-wrap:nowrap}.human-meter{display:flex;align-items:center;gap:8px;width:100%;padding:2px 4px}.human-meter.compact{padding:0;flex-wrap:wrap;gap:8px}.human-meter.compact .human-bar{flex:1;min-width:140px}.human-meter.compact .human-val,.human-meter.compact .human-points{font-size:11px}.human-label{font-size:12px;font-weight:900;color:#ffe6c7;text-shadow:0 0 6px rgba(0,0,0,.5)}.human-bar{position:relative;flex:1;height:10px;border-radius:999px;background:#ffffff29;box-shadow:inset 0 1px 2px #00000059;overflow:hidden}.human-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#ffc27a,#ff8c1a);box-shadow:0 0 8px #ff8c1a}.human-val{font-size:12px;font-weight:800;color:#ffe6c7;text-shadow:0 0 6px rgba(0,0,0,.5)}.canvas-count-badge{position:absolute;top:6px;right:10px;padding:4px 10px;border-radius:999px;background:#0f0f12d9;color:#ffe6c7;font-weight:900;font-size:12px;border:1px solid rgba(255,140,0,.7);box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff26;z-index:5}.owned-selected-name{display:flex;flex-direction:column;gap:2px}.owned-rarity{font-size:12px;color:#f5c16c;font-weight:700}.owned-title{font-size:16px;font-weight:700;color:#eaf6ff}.draw-info{display:flex;flex-direction:column;gap:4px}.draw-rare-line{color:#f5c16c;font-weight:700}.skill-line{margin-top:4px}.stat-meta{margin-top:4px;display:flex;flex-direction:column;gap:2px;color:#eaf6ff}.owned-selected-stats{margin-top:8px}.stat-row{margin-top:4px}.ally-extra{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:6px}.ally-action{display:flex;align-items:center;gap:8px}.action-label{font-size:12px;font-weight:800;color:#ffe6c7}.action-progress.ally{flex:1;max-width:none;width:auto;min-width:140px;margin-top:0}.enemy-hp{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin:8px 0}.enemy-hp-main{display:flex;align-items:center;gap:8px}.enemy-hp-bar{position:relative;width:180px;height:10px;border-radius:6px;background:#ffffff14;overflow:hidden}.enemy-hp-back{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#ff78788c,#be28288c);transition:width .35s ease}.enemy-hp-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#ff7b7b,#d12b2b);transition:width .1s linear}.enemy-hp-text{font-size:12px;color:#eaf6ff;font-weight:700}.enemy-hp-main.hit{animation:enemyHpShake .18s ease}@keyframes enemyHpShake{0%{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.floor-label{font-size:18px;font-weight:900;color:#ffe6c7;letter-spacing:.06em;text-shadow:0 0 10px rgba(255,140,0,.55)}.enemy-dmg{color:#ff3b3b;font-size:28px;font-weight:900;text-shadow:0 3px 10px rgba(0,0,0,.5),0 0 6px rgba(0,0,0,.35)}.enemy-dmg-float{position:absolute;left:50%;top:-6px;transform:translate(-50%);pointer-events:none;animation:enemyDamageFloat 1.6s ease-out forwards;z-index:2}@keyframes enemyDamageFloat{0%{opacity:1;transform:translate(-50%,-6px) scale(1)}40%{opacity:1;transform:translate(-50%,-14px) scale(1.05)}to{opacity:0;transform:translate(-50%,-32px) scale(1.08)}}.ally-dmg{color:#ff2b2b;font-size:26px;font-weight:900;text-shadow:0 3px 12px rgba(0,0,0,.75);z-index:12}.ally-dmg-float{position:absolute;left:32%;top:55%;transform:translate(-50%,-50%);pointer-events:none;animation:enemyDamageFloat 1s ease-out forwards}.enemy-hp.hud{position:absolute;top:8px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;background:#00000059;padding:8px 10px;border-radius:8px}.enemy-hp.hud.hud-top{top:8px;right:12px;z-index:5}.enemy-hp.hud{display:flex;flex-direction:column;align-items:flex-end;gap:6px;background:#00000059;padding:8px 10px;border-radius:8px;position:absolute}.enemy-hp.hud.hud-top-out{position:absolute;top:130px;right:12px;z-index:8}.ally-hp.hud{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#00000059;padding:8px 10px;border-radius:8px}.ally-hp.hud.hud-top-left{top:8px;left:12px;z-index:8}.ally-hp-bar{position:relative;width:180px;height:10px;border-radius:6px;background:#ffffff14;overflow:hidden}.ally-hp-back{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#8ce6968c,#3c96508c);transition:width .35s ease}.ally-hp-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#9cf0a0,#3ba55b);transition:width .1s linear}.ally-hp-text{font-size:12px;color:#eaf6ff;font-weight:700}.action-progress{position:relative;width:120px;height:6px;border-radius:4px;background:#ffffff1a;overflow:hidden;margin-top:4px}.action-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#6cc7ff,#2f6b9c)}.action-fill.enemy{background:linear-gradient(90deg,#ffaf7b,#d45a2b)}.battle-hand{position:absolute;left:50%;bottom:-6px;transform:translate(-50%);background:transparent;padding:10px 12px 18px;border-radius:14px;border:none;box-shadow:none;display:flex;flex-direction:column;gap:12px;max-width:95%;z-index:9;align-items:center;overflow:visible}.battle-hand:before{content:"";position:absolute;left:50%;bottom:12px;transform:translate(-50%);width:min(92vw,540px);height:180px;border:1.5px solid rgba(255,140,0,.8);border-bottom:none;border-radius:50% 50% 0 0/90% 90% 0 0;pointer-events:none}.battle-hand .hand-list{position:relative;width:min(92vw,520px);height:200px;overflow:visible;padding-bottom:36px}.battle-hand .hand-card{position:absolute;width:90px;min-height:140px;background:transparent;border:3px solid rgba(255,170,60,.98);border-radius:10px;padding:6px 8px;color:#eaf6ff;font-size:12px;box-shadow:0 8px 16px #00000047;transform:translate(-50%,var(--y, 0px)) rotate(var(--rot, 0deg));transition:transform .12s ease,box-shadow .12s ease;justify-self:center;left:50%;bottom:6px}.battle-hand .hand-card:after{content:"";position:absolute;inset:-4px;border:2px solid rgba(255,200,120,.7);border-radius:12px;box-shadow:0 0 12px #ff8c0059;pointer-events:none}.battle-hand .hand-card:nth-child(1){left:15%;--y:72px;--rot:-12deg}.battle-hand .hand-card:nth-child(2){left:32%;--y:44px;--rot:-6deg}.battle-hand .hand-card:nth-child(3){left:50%;--y:16px;--rot:0deg}.battle-hand .hand-card:nth-child(4){left:68%;--y:44px;--rot:6deg}.battle-hand .hand-card:nth-child(5){left:85%;--y:72px;--rot:12deg}.battle-hand .hand-card.filled{background:#fff;color:#1b1f27;border-color:#ff8c00;box-shadow:0 12px 20px #0006}.battle-hand .hand-card.disabled{background:#e9ecf1;color:#6b7480;border-color:#b4b4b4e6;box-shadow:none;filter:grayscale(.5);opacity:.7;pointer-events:none}.battle-hand .hand-card.disabled:after{border-color:#c8c8c8b3;box-shadow:none}.battle-hand .hand-card:hover{transform:translate(-50%,calc(var(--y, 0px) - 6px)) scale(1.02) rotate(var(--rot, 0deg));box-shadow:0 10px 16px #00000059;z-index:5}.battle-hand .hand-name{font-weight:700;margin-bottom:2px}.battle-hand .hand-skill{font-size:11px;color:#cfe4ff}.battle-hand .hand-card.empty{opacity:0;border:none;box-shadow:none;background:transparent;pointer-events:none}.holo-draw-btn{width:80px;height:80px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.03em;background:radial-gradient(circle at 30% 30%,#ffffff59,#ffb45a47),linear-gradient(180deg,#ffc878e6,#c85a0af2);border:2px solid rgba(255,140,0,.85);box-shadow:0 10px 18px #00000059,inset 0 1px #ffffff40;color:#2b1a0f}.holo-draw-btn:hover{transform:translateY(-2px);box-shadow:0 12px 20px #0006,inset 0 1px #ffffff4d}.holo-draw-btn:active{transform:translateY(0);box-shadow:0 8px 14px #00000059}.holo-draw-btn:disabled{background:linear-gradient(180deg,#b8b8b8,#7a7a7a);border-color:#505050e6;color:#2d2d2d;box-shadow:none;cursor:not-allowed;opacity:.8}.holo-draw-btn.pulse{animation:holoPulse .55s ease}@keyframes holoPulse{0%{box-shadow:0 0 #ff8c008c,inset 0 1px #ffffff4d;transform:translateY(0) scale(1)}60%{box-shadow:0 0 0 14px #ff8c0000;transform:translateY(-1px) scale(1.05)}to{box-shadow:0 0 #ff8c0000;transform:translateY(0) scale(1)}}.skill-note{position:absolute;top:-80px;right:0;min-width:200px;background:#000000bf;border:2px solid #000;border-radius:10px;padding:8px 12px;color:#ffe6c7;font-weight:800;font-size:13px;box-shadow:0 8px 14px #00000073;text-align:right;line-height:1.5;z-index:5}.skill-note.older{opacity:.85}.skill-note.slide-in{animation:skillSlideIn .3s ease}.skill-note:before{content:"";position:absolute;inset:-6px;border:1px dashed rgba(255,255,255,.25);border-radius:12px;pointer-events:none}.skill-note-frame{position:absolute;top:-154px;right:-6px;min-width:212px;height:140px;border:2px solid #000;border-radius:12px;background:transparent;pointer-events:none;z-index:3}@keyframes skillSlideIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.battle-hand .hand-list::-webkit-scrollbar{display:none}.battle-enemy.dying img{opacity:.2;transition:opacity .6s ease}.gameover-overlay,.confirm-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:1200}.gameover-panel,.confirm-panel{min-width:280px;padding:20px 28px;border-radius:12px;background:#0f141c;color:#eaf6ff;box-shadow:0 14px 36px #00000073,0 0 18px #ffffff14;text-align:center}.gameover-overlay{position:absolute}.gameover-title{font-size:22px;font-weight:800;margin-bottom:8px}.gameover-floor{font-size:15px;margin-bottom:6px}.gameover-hint{font-size:13px;color:#9fb7d3}.confirm-text{font-size:15px;font-weight:700;margin-bottom:12px}.confirm-buttons{display:flex;gap:12px;justify-content:center}
