:root{color-scheme:dark;--bg: #0b0d14;--panel: #12151f;--line: #222736;--fg: #e8eaf2;--muted: #868da6;--accent: #ffd166;--c-C: #6b7280;--c-UC: #4ade80;--c-R: #60a5fa;--c-SR: #c084fc;--c-SSR: #fbbf24;--c-UR: #fb7185;--c-LR: #f0abfc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1100px 500px at 50% -10%,#1a2036 0%,transparent 60%),var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.shell{max-width:980px;margin:0 auto;padding-block:40px 64px;padding-inline:16px}.top h1{margin:0;font-size:clamp(2rem,6vw,3rem);letter-spacing:-.03em}.tagline{margin:4px 0 28px;color:var(--muted)}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.langs{display:flex;gap:6px}.langs button{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.langs button.is-active{border-color:var(--accent);color:var(--accent)}.pull{padding:10px 22px;border:0;border-radius:10px;background:linear-gradient(135deg,#ffd166,#f59e0b);color:#1a1205;font:600 1rem/1 inherit;cursor:pointer}.pull:disabled{opacity:.45;cursor:default}.meta{margin:0;color:var(--muted);font-size:.875rem}.error{color:#fb7185}.fresh{color:var(--accent);font-size:.9rem}.pack{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:28px 0}.pack.is-guaranteed{outline:1px dashed rgba(255,209,102,.35);outline-offset:14px}.card{perspective:1000px;cursor:pointer}.card-inner{position:relative;aspect-ratio:5 / 7;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.card.is-open .card-inner{transform:rotateY(180deg)}.card-back,.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-back{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#161a28 0,#161a28 8px,#12151f 8px,#12151f 16px)}.back-mark{font:700 2rem/1 serif;color:#2c3346}.card-face{transform:rotateY(180deg);display:flex;flex-direction:column;background:var(--panel);border-color:var(--rarity, var(--line));box-shadow:inset 0 0 0 1px #ffffff0a}.card.is-rare .card-face{box-shadow:0 0 22px -6px var(--rarity)}.r-C{--rarity: var(--c-C)}.r-UC{--rarity: var(--c-UC)}.r-R{--rarity: var(--c-R)}.r-SR{--rarity: var(--c-SR)}.r-SSR{--rarity: var(--c-SSR)}.r-UR{--rarity: var(--c-UR)}.r-LR{--rarity: var(--c-LR)}.card-art{position:relative;flex:0 0 46%;min-height:0;background:#0d1017}.card-art img{width:100%;height:100%;object-fit:cover;display:block}.card-art-empty{display:grid;place-items:center;height:100%;font-size:2rem;opacity:.5}.card-rarity{position:absolute;top:6px;left:6px;padding:2px 7px;border-radius:999px;background:#080a10cc;color:var(--rarity);font:700 .7rem/1.4 inherit;letter-spacing:.06em}.card-name{flex:0 0 auto;margin:8px 8px 2px;font-size:.82rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-class{margin:0 8px;color:var(--muted);font-size:.7rem}.card-century{margin-left:6px;opacity:.7}.card-stats{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;margin:auto 8px 6px}.stat{display:flex;justify-content:space-between;font-size:.72rem}.stat dt{color:var(--muted)}.stat dd{margin:0;font-variant-numeric:tabular-nums}.card-source{flex:0 0 auto;display:block;padding:5px 8px;border-top:1px solid var(--line);color:var(--muted);font-size:.62rem;text-decoration:none}.card-source:hover{color:var(--fg)}.collection{margin-top:40px}.collection h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.collection ul{margin:12px 0 0;padding:0;list-style:none}.row{display:grid;grid-template-columns:44px 28px 1fr auto auto 56px;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);font-size:.85rem}.row-rarity{color:var(--rarity);font-weight:700;font-size:.72rem}.row-lang{color:var(--muted);font-size:.7rem;text-transform:uppercase}.row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-count{color:var(--muted);font-size:.75rem}.row-atk{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.row-badge{padding:1px 6px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:.65rem}.row.is-bilingual .row-name{color:var(--accent)}.ad-slots{display:flex;gap:10px;margin:20px 0}.ad-slot{flex:1;padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center;font-size:.8rem}.ad-banner{margin-top:28px}@media(max-width:520px){.pack{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:40px 26px 1fr auto 44px}.row-count{display:none}}.who{margin:4px 0 0;color:var(--muted);font-size:.85rem}.link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.auth{display:grid;place-items:center;padding:40px 0}.auth form{display:flex;flex-direction:column;gap:10px;width:min(320px,100%);padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.auth h2{margin:0 0 6px;font-size:1.1rem}.auth input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#0d1017;color:var(--fg);font:inherit}.auth button[type=submit]{margin-top:4px;padding:10px;border:0;border-radius:8px;background:linear-gradient(135deg,#ffd166,#f59e0b);color:#1a1205;font:600 1rem/1 inherit;cursor:pointer}.auth button[type=submit]:disabled{opacity:.5;cursor:default}.auth .link{margin-top:4px;text-align:center;font-size:.85rem}.tabs{display:flex;gap:8px;margin:20px 0 16px}.tabs button{padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.tabs button.is-active{border-color:var(--accent);color:var(--accent)}.battle h2{margin:0 0 4px}.battle h3{margin:0 0 6px;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.team-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}.team-row.picker{max-height:220px;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:10px}.mini-card{display:flex;flex-direction:column;gap:2px;width:118px;padding:8px 10px;border:1px solid var(--rarity, var(--line));border-radius:8px;background:var(--panel);color:var(--fg);text-align:left;font:inherit;cursor:pointer}.mini-card:disabled{cursor:default;opacity:.55}.mini-card.is-selected{outline:2px solid var(--accent);outline-offset:-2px;background:#ffd1661f}.mini-rarity{font-size:.65rem;font-weight:700;color:var(--rarity)}.mini-name{font-size:.75rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-stats{font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums}.battle-result{margin-top:24px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.outcome{margin:0 0 14px;font-size:1.2rem;font-weight:700}.outcome-win{color:var(--c-UC)}.outcome-lose{color:#fb7185}.outcome-draw{color:var(--muted)}.syn-cols,.hp-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.syn{margin:0 0 4px;font-size:.8rem;color:var(--fg)}.hp-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.8rem}.hp-row span:first-child{width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-row.is-down{opacity:.4;text-decoration:line-through}.hpbar{flex:1;height:8px;border-radius:4px;background:#1c2030;overflow:hidden}.hpbar-fill{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);transition:width .4s ease}.mvp{margin:8px 0 16px;color:var(--accent);font-weight:600}.battle-log{margin:0;padding:0;list-style:none;max-height:260px;overflow-y:auto;font-size:.82rem}.battle-log li{margin-bottom:4px}.log-round{display:inline-block;min-width:34px;margin-right:6px;color:var(--muted);font-variant-numeric:tabular-nums}.battle-log li.from-a{color:var(--fg)}.battle-log li.from-b{color:var(--muted)}@media(max-width:520px){.syn-cols,.hp-cols{grid-template-columns:1fr;gap:10px}.mini-card{width:100px}}
