:root{--bg:#1a1611;--panel:#221d17;--panel2:#2a241c;--line:#fff0d21a;--text:#eee6d6;--muted:#9b917f;--accent:#e0b45c;--danger:#d0583a;--g-F:#8a857c;--g-N:#d9d4c7;--g-R:#4aa8ff;--g-SR:#b65cff;--g-SSR:#ffc83d;--g-UR:#ff6fd8}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Malgun Gothic,Apple SD Gothic Neo,sans-serif;overflow:hidden}button,select,input,textarea{font:inherit;color:inherit}#app{grid-template:"hud hud hud"52px"left stage right"1fr/290px 1fr 360px;height:100%;display:grid}#hud{border-bottom:1px solid var(--line);background:#15120e;grid-area:hud;align-items:center;gap:16px;padding:0 14px;display:flex}#hud .brand{color:var(--accent);letter-spacing:.04em;font-weight:800}[hidden]{display:none!important}#hud .brand small{opacity:.65;letter-spacing:.08em;margin-left:4px;font-size:11px;font-weight:600}#hud .stat b{font-variant-numeric:tabular-nums}#hud .spacer{flex:1}#left,#right{background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}#left{border-right:1px solid var(--line);grid-area:left;padding:10px;overflow-y:auto}#right{border-left:1px solid var(--line);grid-area:right}#stage{grid-area:stage;min-width:0;min-height:0;position:relative;overflow:hidden}#cv{touch-action:none;-webkit-user-select:none;user-select:none;display:block}#tabs{border-bottom:1px solid var(--line);flex-shrink:0;display:flex}#tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:11px 4px;font-weight:700}#tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.mobile-only{display:none}#tabBody,#tabShop{flex:1;min-height:0;padding:10px;overflow-y:auto}.ph{color:var(--muted);margin:2px 0 10px;font-size:15px}.card,.gcard{background:var(--panel2);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;display:flex}.card.off{opacity:.8}.gcard.locked{opacity:.6}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.row.btns{justify-content:flex-start;gap:6px}.lv{color:var(--accent);font-size:13px;font-weight:700}.dim{color:var(--muted);font-size:12.5px}.warn{color:#ff8a6a;font-size:12.5px;font-weight:600}.stats{color:#cfc5b3;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;display:flex}.bar{background:#0006;border-radius:3px;height:5px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.probs{flex-wrap:wrap;gap:4px 10px;font-size:12.5px;display:flex}.ur-text{color:var(--g-UR);font-weight:700}label{color:var(--muted);flex-direction:column;gap:3px;font-size:12.5px;display:flex}label.chk{color:var(--text);flex-direction:row;align-items:center;gap:6px}select,textarea{border:1px solid var(--line);background:#120f0b;border-radius:6px;padding:5px 6px}textarea{resize:vertical;width:100%;font-size:12px}.btn{cursor:pointer;white-space:nowrap;background:#3a3126;border:1px solid #fff0d229;border-radius:8px;padding:6px 12px;font-weight:700}.btn:hover:not(:disabled){border-color:#fff0d266}.btn:disabled{opacity:.4;cursor:default}.btn.sm{padding:4px 9px;font-size:12.5px}.btn.xs{padding:2px 7px;font-size:12px}.btn.icon{padding:5px 10px}.btn.primary{color:#1a1611;background:linear-gradient(#f0c870,#c9953a);border-color:#0000}.btn.danger{background:#5a2a1c;border-color:#8a3a22}kbd{opacity:.6;border:1px solid;border-radius:3px;margin-left:4px;padding:0 3px;font-size:10px}.badge{text-align:center;color:#15120e;background:var(--gc);border-radius:4px;min-width:30px;padding:1px 5px;font-size:11px;font-weight:900;display:inline-block}.g-F{--gc:var(--g-F)}.g-N{--gc:var(--g-N)}.g-R{--gc:var(--g-R)}.g-SR{--gc:var(--g-SR)}.g-SSR{--gc:var(--g-SSR)}.g-UR{--gc:var(--g-UR)}.badge.g-UR,.dot.g-UR{background:linear-gradient(90deg,#ff6f6f,#ffd36f,#6fff9a,#6fd8ff,#b06fff,#ff6fd8) 0 0/300% 100%;animation:2.5s linear infinite rainbow}@keyframes rainbow{to{background-position:300% 0}}.list{flex-direction:column;gap:4px;display:flex}.item{background:var(--panel2);border-radius:7px;align-items:center;gap:6px;padding:5px 8px;font-size:13px;display:flex}.item .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.item .cnt{color:var(--muted);font-variant-numeric:tabular-nums}.item .val{color:#e8cf8a;font-variant-numeric:tabular-nums;font-size:12px}.empty{color:var(--muted);text-align:center;padding:30px 0}.rec{gap:0;padding:0}.rec-h{cursor:pointer;background:0 0;border:none;justify-content:space-between;width:100%;padding:10px 12px;display:flex}.rtab{border-collapse:collapse;width:100%;margin:0 0 8px;font-size:12px}.rtab th{padding:2px;font-weight:400}.rtab th .badge{min-width:0;padding:0 3px;font-size:9px}.rtab td{text-align:center;padding:2px}.rtab td.sn{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:120px;padding-left:12px;overflow:hidden}.dot{color:#15120e;background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.dot[class*=g-]{background:var(--gc)}#resultLayer{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rcard{pointer-events:auto;text-align:center;background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--rc) 22%, transparent), #17130f 72%), #17130f;border:3px solid var(--rc);width:min(92%,270px);box-shadow:0 0 28px color-mix(in srgb, var(--rc) 55%, transparent);border-radius:16px;flex-direction:column;gap:6px;padding:14px 14px 16px;animation:.55s cubic-bezier(.2,1.5,.4,1) both cardIn;display:flex}.rcard.g-UR{border-image:linear-gradient(90deg,#ff6f6f,#ffd36f,#6fff9a,#6fd8ff,#b06fff) 1;border-radius:0}.rcard.failed{box-shadow:none;border-color:#6e6a63;animation:.5s ease-out both failIn}.rcard .rhead{justify-content:center;align-items:center;gap:6px;display:flex}.rcard .rhead .badge{padding:2px 10px;font-size:14px}.rcard .new{color:#1a1611;background:#9fe8ff;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:800}.rcard canvas{width:220px;max-width:100%;height:160px;margin:0 auto}.rcard .name{font-size:19px;font-weight:800}.rcard .desc{color:#cfc5b3;font-size:12px}.rcard .big{color:#a8a39a;font-size:28px;font-weight:900;animation:.4s linear quiver}.rcard .auto{color:#e8cf8a;font-weight:700}.rcard .row.btns{justify-content:center}.rcard .hint{color:#a89f8e;font-size:12px}#resultLayer.on{pointer-events:auto;cursor:pointer}@keyframes cardIn{0%{opacity:0;transform:scale(.3)translateY(40px)}to{opacity:1;transform:none}}@keyframes failIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes quiver{0%,to{transform:none}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}#popup{z-index:20;background:#15120e;border:1px solid #fff0d240;border-radius:10px;min-width:190px;padding:10px;display:none;position:fixed;box-shadow:0 8px 24px #00000080}#popup .row{justify-content:flex-start}#modal{z-index:30;background:#0009;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.mbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(760px,100%);max-height:100%;padding:18px 20px;position:relative;overflow-y:auto}.mbox h2{margin:0 0 8px}.mbox h3{color:var(--muted);margin:14px 0 6px;font-size:14px}.mclose{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:18px;position:absolute;top:10px;right:10px}.grid2{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}.metagrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.metagrid .card{margin:0}.shard{color:#ff9a5a;font-size:18px}.rep{padding-left:18px}#toasts{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%)}.toast{background:#15120ef2;border:1px solid #fff0d233;border-radius:8px;padding:7px 14px;font-weight:700;transition:opacity .4s,transform .4s}.toast.big{color:#ffd0a8;border-color:#ff9a5a;font-size:16px;box-shadow:0 0 24px #ff783c66}.toast.out{opacity:0;transform:translateY(-8px)}.extinction{z-index:35;pointer-events:none;position:fixed;inset:0;overflow:hidden}.extinction .meteor{background:radial-gradient(#fff,#ffb04a 40%,#d0402a 70%,#0000 72%);border-radius:50%;width:60px;height:60px;animation:1.2s ease-in forwards meteor;position:absolute;top:-80px;right:-80px;box-shadow:0 0 60px 30px #ff782899}.extinction .meteor:after{content:"";transform-origin:100%;background:linear-gradient(90deg,#0000,#ffa03ce6);width:400px;height:14px;position:absolute;top:23px;right:30px;transform:rotate(-35deg)}.extinction .whiteout{opacity:0;background:#fff;animation:2.3s ease-out forwards whiteout;position:absolute;inset:0}@keyframes meteor{to{top:60%;right:55%}}@keyframes whiteout{0%,50%{opacity:0}55%{opacity:1}to{opacity:0;background:#000}}.ending{z-index:50;background:0 0;position:fixed;inset:0}.ending canvas{display:block}.ending-text{text-align:center;color:#f0e2bd;padding:0 16px;font-size:18px;position:absolute;bottom:8%;left:0;right:0}.ending-text .fade{animation:1.2s ease-out both failIn}.ending .credits{background:#0a0806bf;border:1px solid #fff0d233;border-radius:14px;padding:18px 26px;display:inline-block}.ending .credits h2{color:var(--accent);margin:0 0 8px}@media (max-width:899px){#app{grid-template:"hud"46px"stage"minmax(300px,55vh)"right"1fr/1fr}#left{display:none}#right{border-left:none;border-top:1px solid var(--line)}.mobile-only{display:block}#hud{gap:10px;padding:0 10px;font-size:13px}#hud .brand{display:none}.grid2{grid-template-columns:1fr}}
