:root{
  --bg:#090b13;--panel:rgba(19,24,38,.78);--panel2:rgba(255,255,255,.06);--text:#f7f7fb;--muted:#a8b0c2;
  --brand:#ffb13b;--brand2:#ff3d77;--cyan:#55e6ff;--good:#56f39a;--bad:#ff5b6d;--line:rgba(255,255,255,.12);
  --cardW:150px;--cardH:218px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,#1a1430 0,#090b13 52%,#05060a 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:inherit;text-decoration:none}.bg-orbs:before,.bg-orbs:after{content:"";position:fixed;inset:auto;z-index:-1;width:360px;height:360px;border-radius:50%;filter:blur(70px);opacity:.3}.bg-orbs:before{background:var(--brand2);left:-90px;top:90px}.bg-orbs:after{background:var(--cyan);right:-110px;bottom:120px}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(14px,4vw,44px);background:rgba(5,7,12,.72);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand2));font-weight:900;box-shadow:0 0 26px rgba(255,61,119,.34)}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:10px}.nav a{padding:9px 12px;border-radius:12px;color:#e8ebf8}.nav a:hover{background:var(--panel2)}.hamb{display:none;background:var(--panel2);border:1px solid var(--line);color:#fff;border-radius:12px;padding:10px 12px}.shell{width:min(1420px,100%);margin:0 auto;padding:24px clamp(12px,3vw,32px) 90px}.footer{padding:24px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:16px;padding:13px 18px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#171018;font-weight:900;cursor:pointer;box-shadow:0 10px 34px rgba(255,61,119,.22);transition:transform .16s,filter .16s}.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.btn.ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line);box-shadow:none}.btn.small{font-size:13px;padding:8px 12px;border-radius:12px}.pulse{animation:pulse 1.6s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(255,177,59,.10),0 10px 34px rgba(255,61,119,.28)}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 14px 50px rgba(0,0,0,.22);backdrop-filter:blur(12px)}.big-panel{display:flex;justify-content:space-between;align-items:center;gap:18px}.compact{padding:12px 16px}.flash{border-radius:16px;margin:12px 0;padding:13px 15px;background:rgba(85,230,255,.12);border:1px solid rgba(85,230,255,.28)}.flash.error{background:rgba(255,91,109,.12);border-color:rgba(255,91,109,.35)}.flash.success{background:rgba(86,243,154,.12);border-color:rgba(86,243,154,.35)}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;padding:34px 0 28px}.hero h1{font-size:clamp(38px,6vw,72px);line-height:.92;margin:14px 0}.hero p{font-size:18px;color:#c5cbda;max-width:780px}.badge{display:inline-flex;border:1px solid rgba(255,177,59,.36);background:rgba(255,177,59,.10);padding:8px 12px;border-radius:999px;color:#ffd79a;font-weight:800}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hero-showcase{min-height:360px;position:relative}.card-preview{position:absolute;width:240px;height:344px;border-radius:30px;padding:18px;overflow:hidden;background:#111827;border:1px solid rgba(255,255,255,.18);box-shadow:0 35px 90px rgba(0,0,0,.5)}.card-preview:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 180deg,var(--brand),var(--brand2),var(--cyan),var(--brand));opacity:.18;animation:spin 7s linear infinite}.card-preview>*{position:relative}.card-preview.legendary{right:50px;top:5px}.card-preview.rare{left:40px;bottom:5px;transform:rotate(-9deg);width:210px;height:310px}.mini-cost{position:absolute;right:16px;top:16px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#111;font-size:24px;font-weight:1000}.mini-art{height:160px;border-radius:22px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:72px;margin-top:42px}.card-preview h3{font-size:24px;margin:16px 0 5px}.card-preview p{font-size:13px}.stats{display:flex;justify-content:space-between;position:absolute;left:18px;right:18px;bottom:18px}.stats b{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.1)}.tilt{animation:float 4.5s ease-in-out infinite}.tilt.delay{animation-delay:.8s}@keyframes float{50%{transform:translateY(-14px) rotate(4deg)}}@keyframes spin{to{transform:rotate(360deg)}}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.auth-card{width:min(460px,100%);margin:42px auto}.form{display:grid;gap:14px}.form label,.deck-name{display:grid;gap:8px;color:#d7dbea;font-weight:800}.form input,.form select,.form textarea,.deck-name input,.qty-control input{width:100%;background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff;border-radius:14px;padding:12px 13px;outline:none}.form textarea{resize:vertical}.stats-row{margin:16px 0}.stat{text-align:center}.stat b,.pack-count b{display:block;font-size:38px}.stat span,.pack-count span{color:var(--muted)}.match-list{display:grid;gap:10px}.match-row{display:flex;justify-content:space-between;align-items:center;padding:14px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.match-row:hover{background:rgba(255,255,255,.1)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:18px}.game-card{position:relative;min-height:250px;border-radius:22px;padding:10px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 34px rgba(0,0,0,.25);overflow:hidden;transition:transform .16s,box-shadow .16s}.game-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.34)}.game-card.common{--rar:#d2d7e4}.game-card.rare{--rar:#55e6ff}.game-card.epic{--rar:#c65cff}.game-card.legendary{--rar:#ffb13b}.game-card:before{content:"";position:absolute;inset:0;border-radius:22px;padding:1px;background:linear-gradient(135deg,transparent,var(--rar),transparent);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.game-card.locked{filter:grayscale(1);opacity:.45}.card-cost{position:absolute;right:9px;top:9px;z-index:2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#151018;font-weight:1000}.card-art{height:112px;border-radius:17px;background:linear-gradient(135deg,rgba(255,177,59,.18),rgba(255,61,119,.16));background-size:cover;background-position:center;display:grid;place-items:center;font-size:48px;margin-bottom:10px}.card-body h3{font-size:17px;margin:4px 0}.card-body p{margin:0 0 6px;color:var(--rar);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.card-body small{color:#c3cad8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.card-bottom b,.card-bottom span{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px 8px;font-size:12px}.pack-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.reveal{opacity:0;transform:translateY(18px) scale(.94);animation:reveal .6s ease forwards}@keyframes reveal{to{opacity:1;transform:translateY(0) scale(1)}}.section-title{margin:26px 0 0}.deck-form{margin-top:16px}.deck-name{margin-bottom:16px}.qty-control{position:absolute;left:10px;right:10px;bottom:48px;display:grid;grid-template-columns:38px 1fr 38px;gap:7px}.qty-control button{border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;font-size:20px;font-weight:1000}.qty-control input{text-align:center;padding:9px}.deck-card{padding-bottom:90px}.sticky-save{position:sticky;bottom:10px;z-index:20;margin-top:18px;display:flex;gap:10px;justify-content:center;padding:10px;border-radius:20px;background:rgba(7,9,16,.72);backdrop-filter:blur(12px);border:1px solid var(--line)}.game-app{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.game-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.status-pill{display:inline-flex;margin-left:8px;border-radius:999px;padding:4px 9px;background:rgba(255,255,255,.1);color:#dce2f2;font-size:12px}.battlefield{min-width:0;display:grid;gap:10px}.player-zone{display:grid;gap:8px}.dojo-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,61,119,.14),rgba(85,230,255,.08));border:1px solid var(--line)}.dojo-card b{font-size:32px}.dojo-card small{color:var(--muted)}.line-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8e97ad;font-weight:900}.board-line,.hand{display:flex;gap:10px;min-height:170px;overflow-x:auto;padding:8px;border-radius:20px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.12);scrollbar-width:thin}.front-line{background:linear-gradient(90deg,rgba(255,177,59,.08),rgba(255,61,119,.07))}.support-line{background:rgba(85,230,255,.04)}.center-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:18px;background:rgba(0,0,0,.24);border:1px solid var(--line);text-align:center}.center-strip span:first-child{font-weight:1000;letter-spacing:.24em;color:#ffd79a}.unit-card,.hand-card{position:relative;flex:0 0 132px;width:132px;min-height:160px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);padding:8px;overflow:hidden;cursor:pointer;transition:transform .15s}.unit-card:hover,.hand-card:hover{transform:translateY(-3px)}.unit-card.selected,.hand-card.selected{outline:2px solid var(--cyan);box-shadow:0 0 0 6px rgba(85,230,255,.12)}.unit-card .art,.hand-card .art{height:66px;border-radius:13px;background:linear-gradient(135deg,rgba(255,177,59,.18),rgba(255,61,119,.16));background-size:cover;background-position:center;display:grid;place-items:center;font-size:32px}.unit-card h4,.hand-card h4{font-size:13px;line-height:1.05;margin:7px 0 4px}.unit-card small,.hand-card small{font-size:10px;color:#aeb7cb}.card-mini-stats{display:flex;justify-content:space-between;align-items:center;position:absolute;left:8px;right:8px;bottom:8px}.card-mini-stats b{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:4px 6px;font-size:12px}.card-mini-cost{position:absolute;right:7px;top:7px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#181019;font-weight:1000}.guard-flag{position:absolute;left:7px;top:7px;border-radius:999px;background:rgba(86,243,154,.18);border:1px solid rgba(86,243,154,.45);font-size:10px;padding:4px 7px}.ready-glow{box-shadow:0 0 0 2px rgba(86,243,154,.35),0 0 28px rgba(86,243,154,.14)}.stunned{filter:grayscale(.5);opacity:.75}.combat-log{max-height:760px;overflow:auto}.combat-log h3{margin-top:0}.combat-log p{margin:0;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#d3d9e8;font-size:13px}.hidden{display:none!important}.admin-table{overflow:auto}.admin-table table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.checks{display:flex;gap:20px;flex-wrap:wrap}.admin-preview{width:160px;border-radius:18px;margin:10px 0;border:1px solid var(--line)}
@media(max-width:980px){:root{--cardW:128px}.hero{grid-template-columns:1fr}.hero-showcase{display:none}.grid3,.pack-actions,.game-app{grid-template-columns:1fr}.combat-log{max-height:220px}.big-panel{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr 1fr}.shell{padding-bottom:120px}.game-top{position:sticky;top:74px;z-index:30}.board-line,.hand{min-height:145px}.unit-card,.hand-card{flex-basis:112px;width:112px;min-height:142px}.unit-card .art,.hand-card .art{height:54px}.center-strip{position:sticky;top:130px;z-index:25}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr))}.game-card{min-height:236px}}
@media(max-width:700px){.hamb{display:block}.nav{display:none;position:absolute;left:12px;right:12px;top:74px;flex-direction:column;align-items:stretch;background:rgba(8,10,18,.96);border:1px solid var(--line);border-radius:18px;padding:10px}.nav-open .nav{display:flex}.nav a{padding:13px}.shell{padding-left:8px;padding-right:8px}.topbar{padding:12px}.brand small{display:none}.hero h1{font-size:42px}.panel{border-radius:20px;padding:15px}.form-grid{grid-template-columns:1fr}.game-app{gap:9px}.game-top{top:69px}.game-actions{display:flex;gap:6px}.battlefield{gap:7px}.dojo-card{padding:9px 11px}.dojo-card b{font-size:26px}.board-line,.hand{gap:7px;padding:6px;min-height:132px}.unit-card,.hand-card{flex-basis:104px;width:104px;min-height:132px;border-radius:15px;padding:6px}.unit-card .art,.hand-card .art{height:48px;border-radius:11px}.unit-card h4,.hand-card h4{font-size:12px}.center-strip{top:119px;padding:8px}.center-strip span:first-child{letter-spacing:.12em}.btn{padding:11px 13px;border-radius:14px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-card{min-height:226px;border-radius:18px}.card-art{height:94px}.sticky-save{left:8px;right:8px}.combat-log{font-size:12px}}
