:root{--boxff-bg:#07150f;--boxff-bg2:#0d2118;--boxff-panel:#10281e;--boxff-panel2:#173527;--boxff-line:rgba(255,255,255,.11);--boxff-text:#effff6;--boxff-muted:#9fc6ae;--boxff-green:#6df39a;--boxff-yellow:#ffd56a;--boxff-danger:#ff6f7d}
.boxff-app{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 0%,#173e29 0,transparent 32%),linear-gradient(180deg,var(--boxff-bg),#08100c 72%);color:var(--boxff-text);border-radius:24px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.24);max-width:1240px;margin:24px auto;min-height:780px;border:1px solid rgba(255,255,255,.08)}
.boxff-app *{box-sizing:border-box}.boxff-app button,.boxff-app input,.boxff-app select{font:inherit}.boxff-topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--boxff-line);background:rgba(2,12,7,.6);backdrop-filter:blur(18px)}
.boxff-brand{display:flex;gap:12px;align-items:center}.boxff-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#74ffa2,#d8ff63);display:grid;place-items:center;color:#082713;font-weight:950;box-shadow:0 8px 26px rgba(104,255,145,.25)}.boxff-title{font-size:18px;font-weight:900}.boxff-subtitle{font-size:11px;letter-spacing:.18em;color:var(--boxff-muted);text-transform:uppercase}.boxff-top-actions{display:flex;gap:8px}.boxff-icon-btn,.boxff-modal-close{border:1px solid var(--boxff-line);background:#14271e;color:white;border-radius:12px;width:40px;height:40px;cursor:pointer}.boxff-icon-btn:hover{transform:translateY(-1px);border-color:#6df39a}
.boxff-statusbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--boxff-line);border-bottom:1px solid var(--boxff-line)}.boxff-statusbar>div{background:#0b1d15;padding:12px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.boxff-statusbar span{font-size:20px;grid-row:1/3}.boxff-statusbar strong{font-size:15px}.boxff-statusbar small{font-size:10px;color:var(--boxff-muted);text-transform:uppercase;letter-spacing:.12em}
.boxff-tabs{display:flex;gap:8px;padding:12px 18px;background:#0b1b14;border-bottom:1px solid var(--boxff-line);overflow:auto}.boxff-tabs button{border:0;background:transparent;color:var(--boxff-muted);padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer;white-space:nowrap}.boxff-tabs button.is-active,.boxff-tabs button:hover{background:#1b3a2a;color:white}.boxff-main{padding:22px}.boxff-view{display:none}.boxff-view.is-active{display:block}.boxff-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:28px;align-items:center;padding:30px;background:linear-gradient(135deg,#123d27,#101f19);border:1px solid var(--boxff-line);border-radius:24px;min-height:350px;position:relative;overflow:hidden}.boxff-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#70ff9c;filter:blur(110px);opacity:.12;right:-40px;top:-70px}.boxff-kicker{color:#89fca9;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.boxff-hero h2,.boxff-section-head h2{font-size:clamp(30px,5vw,54px);line-height:1.02;margin:10px 0 14px;letter-spacing:-.04em}.boxff-hero p{max-width:650px;color:#c8e4d2;font-size:17px}.boxff-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.boxff-btn,.boxff-small-btn{border:1px solid var(--boxff-line);background:#193827;color:#fff;border-radius:14px;padding:12px 16px;font-weight:900;cursor:pointer}.boxff-btn-primary{background:linear-gradient(145deg,#72f99b,#cbff61);color:#082615;border-color:transparent}.boxff-btn:hover,.boxff-small-btn:hover{transform:translateY(-1px)}.boxff-small-btn:disabled{opacity:.4;cursor:not-allowed}
.boxff-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.boxff-panel{background:linear-gradient(145deg,#10271d,#0d1e17);border:1px solid var(--boxff-line);border-radius:18px;padding:18px}.boxff-panel-icon{font-size:26px}.boxff-panel h3{margin:10px 0 6px}.boxff-panel p{color:var(--boxff-muted);min-height:42px}.boxff-progress{height:7px;background:#07110c;border-radius:999px;overflow:hidden;margin:12px 0}.boxff-progress span{display:block;height:100%;width:0;background:#6df39a;transition:.3s}
.boxff-featured-card{position:relative;z-index:1}.boxff-game-card{border-radius:20px;padding:12px;background:linear-gradient(155deg,#203c2c,#0b1811);border:1px solid rgba(255,255,255,.15);box-shadow:0 16px 40px rgba(0,0,0,.28);position:relative;overflow:hidden;transition:.18s transform,.18s border-color;min-height:310px}.boxff-game-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.3)}.boxff-game-card.is-locked{filter:saturate(.15);opacity:.62}.boxff-game-card.is-team{outline:2px solid #77ff9d}.boxff-rarity-Common{--rar:#a4b5a9}.boxff-rarity-Uncommon{--rar:#75e392}.boxff-rarity-Rare{--rar:#62c8ff}.boxff-rarity-Epic{--rar:#c989ff}.boxff-rarity-Legendary{--rar:#ffcc55}.boxff-rarity-Mythical{--rar:#ff7399}.boxff-game-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,var(--rar),transparent 34%);opacity:.14;pointer-events:none}.boxff-card-top{display:flex;justify-content:space-between;gap:8px;position:relative}.boxff-rarity{font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:950;color:var(--rar)}.boxff-card-number{font-size:9px;color:#89a492}.boxff-card-art{height:130px;margin:10px 0;border-radius:15px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.02));display:grid;place-items:center;font-size:74px;position:relative;overflow:hidden}.boxff-card-art:after{content:"";position:absolute;width:130px;height:130px;border:1px solid rgba(255,255,255,.1);border-radius:50%}.boxff-card-name{font-size:18px;font-weight:950;line-height:1.05}.boxff-latin{font-size:10px;color:#8fb7a0;font-style:italic;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boxff-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:11px}.boxff-stat{background:rgba(0,0,0,.2);border-radius:9px;padding:6px;text-align:center}.boxff-stat b{display:block;font-size:12px}.boxff-stat small{font-size:8px;color:#9ab7a6}.boxff-card-skill{margin-top:9px;font-size:10px;color:#cce6d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boxff-card-actions{display:flex;gap:6px;margin-top:10px}.boxff-card-actions button{flex:1;border:0;border-radius:10px;background:#1d3e2c;color:white;padding:7px;font-size:10px;font-weight:900;cursor:pointer}.boxff-card-actions button:hover{background:#28543c}.boxff-lock{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;background:rgba(2,7,4,.22);pointer-events:none}
.boxff-section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:16px}.boxff-section-head h2{font-size:38px;margin-bottom:0}.boxff-filter-row{display:flex;gap:8px;flex-wrap:wrap}.boxff-filter-row select,.boxff-filter-row input{background:#10251b;border:1px solid var(--boxff-line);color:white;border-radius:11px;padding:9px 10px}.boxff-team-box{background:#10251b;border:1px solid var(--boxff-line);border-radius:16px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.boxff-team-box>div:first-child{display:flex;flex-direction:column}.boxff-team-box span{font-size:11px;color:var(--boxff-muted)}.boxff-team-slots{display:flex;gap:7px}.boxff-team-slot{width:42px;height:42px;border-radius:12px;border:1px dashed rgba(255,255,255,.24);display:grid;place-items:center;background:#0a1811;font-size:24px}.boxff-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.boxff-pack-area{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center;max-width:850px;margin:20px auto 32px}.boxff-pack-art{min-height:340px;border-radius:28px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.2),transparent 30%),linear-gradient(145deg,#81ff9f,#193f2c 55%,#08140e);box-shadow:0 24px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);transform:rotate(-2deg);font-weight:900;text-align:center}.boxff-pack-logo{font-size:56px;font-weight:1000;letter-spacing:-.08em}.boxff-pack-logo span{color:#fff45d}.boxff-pack-art small{font-size:10px;letter-spacing:.14em}.boxff-pack-info p{color:var(--boxff-muted)}.boxff-odds{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.boxff-odds span{font-size:10px;background:#10271d;padding:7px 8px;border-radius:8px;border:1px solid var(--boxff-line)}.boxff-pack-info .boxff-btn{margin-right:6px;margin-bottom:6px}.boxff-pack-results{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.boxff-edu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.boxff-edu-item{border:1px solid var(--boxff-line);border-radius:16px;padding:14px;background:#10251b;display:flex;gap:14px}.boxff-edu-icon{width:62px;height:62px;border-radius:16px;background:#173727;display:grid;place-items:center;font-size:34px;flex:0 0 auto}.boxff-edu-item h4{margin:0 0 4px}.boxff-edu-item p{margin:0;color:#bcd7c5;font-size:13px}.boxff-edu-item.is-locked{opacity:.45}.boxff-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:18px;z-index:999999}.boxff-modal.is-open{display:flex}.boxff-modal-card{width:min(920px,100%);max-height:90vh;overflow:auto;border-radius:22px;background:#0b1b14;border:1px solid rgba(255,255,255,.14);padding:20px;position:relative;box-shadow:0 35px 100px rgba(0,0,0,.45)}.boxff-modal-close{position:absolute;right:12px;top:12px;font-size:24px;z-index:5}.boxff-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,40px);background:#ecfff2;color:#092817;padding:10px 14px;border-radius:12px;font-weight:900;opacity:0;pointer-events:none;transition:.25s;z-index:1000000}.boxff-toast.show{opacity:1;transform:translate(-50%,0)}
.boxff-battle{display:grid;grid-template-columns:1fr 120px 1fr;gap:12px;align-items:center}.boxff-battle-side h3{text-align:center}.boxff-battle-card{background:#11271d;border:1px solid var(--boxff-line);border-radius:18px;padding:14px;text-align:center}.boxff-battle-card .emoji{font-size:80px}.boxff-hpbar{height:10px;background:#08120d;border-radius:999px;overflow:hidden;margin:8px 0}.boxff-hpbar span{display:block;height:100%;background:#63ef8f;transition:.3s}.boxff-battle-center{text-align:center}.boxff-vs{font-size:34px;font-weight:1000;color:#89fca9}.boxff-turnlog{font-size:11px;color:#a6c6b2;max-height:110px;overflow:auto;margin-top:8px}.boxff-skill-buttons{display:grid;gap:7px;margin-top:12px}.boxff-skill-buttons button{border:1px solid var(--boxff-line);background:#193a29;color:white;border-radius:11px;padding:9px;cursor:pointer;text-align:left}.boxff-skill-buttons button:hover{background:#27543c}.boxff-skill-buttons button:disabled{opacity:.35;cursor:not-allowed}.boxff-team-mini{display:flex;gap:5px;justify-content:center;margin-top:7px}.boxff-team-mini span{padding:5px 7px;border-radius:9px;background:#08150e;font-size:18px;border:1px solid var(--boxff-line)}
.boxff-help h3{margin-top:0}.boxff-help ol{color:#c8e5d2}.boxff-detail{display:grid;grid-template-columns:280px 1fr;gap:20px}.boxff-detail .boxff-game-card{min-height:360px}.boxff-detail h2{font-size:34px;margin:0 0 6px}.boxff-detail p{color:#c6e0d0}.boxff-skill-list{display:grid;gap:8px;margin-top:14px}.boxff-skill-list div{padding:10px;border-radius:12px;background:#10281e;border:1px solid var(--boxff-line)}
@media(max-width:1000px){.boxff-card-grid{grid-template-columns:repeat(4,1fr)}.boxff-pack-results{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.boxff-app{border-radius:0;margin:0;min-height:100vh}.boxff-main{padding:12px}.boxff-statusbar>div{padding:10px 7px}.boxff-statusbar small{display:none}.boxff-hero{grid-template-columns:1fr;padding:20px}.boxff-featured-card{max-width:290px}.boxff-grid-3{grid-template-columns:1fr}.boxff-section-head{display:block}.boxff-filter-row{margin-top:12px}.boxff-team-box{display:block}.boxff-team-slots{margin-top:10px}.boxff-card-grid{grid-template-columns:repeat(2,1fr)}.boxff-pack-area{grid-template-columns:1fr}.boxff-pack-art{min-height:260px}.boxff-pack-results{grid-template-columns:repeat(2,1fr)}.boxff-edu-grid{grid-template-columns:1fr}.boxff-detail{grid-template-columns:1fr}.boxff-battle{grid-template-columns:1fr}.boxff-battle-center{order:2}.boxff-battle-side:last-child{order:3}}
@media(max-width:420px){.boxff-title{font-size:15px}.boxff-subtitle{font-size:9px}.boxff-logo{width:40px;height:40px}.boxff-tabs{padding:8px}.boxff-tabs button{padding:9px 10px}.boxff-card-grid{gap:8px}.boxff-game-card{padding:9px;min-height:280px}.boxff-card-art{height:110px;font-size:60px}.boxff-card-name{font-size:15px}.boxff-stat{padding:4px}.boxff-pack-results{grid-template-columns:1fr 1fr}}

/* ===== BoxFF V2 additions ===== */
.boxff-profilebar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;margin:12px 0;background:rgba(9,17,31,.7)}
.boxff-profilebar>div:first-child{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.boxff-avatar{grid-row:1/3;font-size:28px}.boxff-profilebar strong{font-size:14px}.boxff-profilebar small{opacity:.7}.boxff-rating-chip{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.07);white-space:nowrap}
.boxff-lang{background:#111c2f;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:9px 10px;font-weight:700;max-width:170px}
.boxff-level-badge{display:inline-flex;align-items:center;gap:4px;margin:0 12px 7px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(255,255,255,.09)}
.boxff-xp{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:8px 12px 3px}.boxff-xp span{display:block;height:100%;background:linear-gradient(90deg,#64d7ff,#9e7bff);border-radius:999px}.boxff-game-card>.boxff-xp+small{display:block;text-align:right;padding:0 12px 4px;opacity:.7;font-size:9px}
.mastery-elite{box-shadow:0 0 0 1px rgba(121,219,255,.2),0 8px 28px rgba(20,125,166,.14)}.mastery-master{box-shadow:0 0 0 1px rgba(171,130,255,.28),0 8px 30px rgba(99,55,201,.16)}.mastery-guardian{box-shadow:0 0 0 1px rgba(255,211,96,.36),0 8px 34px rgba(191,144,18,.18)}
.boxff-team-slot{min-width:100px;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.boxff-team-slot.filled span{font-size:28px}.boxff-team-slot.filled b{font-size:10px}.boxff-team-slot.filled small{font-size:9px;max-width:92px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.boxff-login-callout{margin:0 0 14px}.boxff-login-callout>div{padding:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);border-radius:18px}.boxff-login-callout p{margin:7px 0 12px}.boxff-online-ok{font-weight:800}
.boxff-pvp-controls{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:0 0 16px}.boxff-pvp-controls label{display:flex;flex-direction:column;gap:6px;font-size:12px}.boxff-pvp-controls select{background:#111c2f;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 12px}
.boxff-opponents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.boxff-opponent{padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02))}.boxff-opponent-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.boxff-opponent-head>div{display:flex;flex-direction:column;gap:2px}.boxff-opponent-head small{opacity:.7}.boxff-opponent-team{display:flex;gap:8px;margin-top:12px}.boxff-opponent-team span{flex:1;min-width:0;padding:10px 4px;border-radius:14px;background:rgba(255,255,255,.055);display:flex;flex-direction:column;align-items:center;font-size:24px}.boxff-opponent-team b{font-size:9px;margin-top:3px}
.boxff-history{margin-top:22px}.boxff-history h3{margin-bottom:9px}.boxff-history-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.07);align-items:center}.boxff-history-row small{opacity:.55;font-size:9px}
.boxff-leaderboard{border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden}.boxff-leader-head,.boxff-leader-row{display:grid;grid-template-columns:50px 1fr 100px 70px;gap:8px;align-items:center;padding:11px 14px}.boxff-leader-head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.65;background:rgba(255,255,255,.035)}.boxff-leader-row{border-top:1px solid rgba(255,255,255,.06)}.boxff-leader-row.me{background:rgba(83,193,255,.08)}.boxff-leader-row strong{text-align:right}.boxff-leader-row small{text-align:right;opacity:.7}
.boxff-result{text-align:center;padding:24px 12px}.boxff-result-icon{font-size:64px}.boxff-result-team{display:flex;gap:10px;justify-content:center;margin:16px 0}.boxff-result-team span{font-size:34px;background:rgba(255,255,255,.06);border-radius:16px;padding:8px 10px}.boxff-loading,.boxff-empty{text-align:center;padding:30px;opacity:.7}
.boxff-detail{align-items:start}.boxff-detail .boxff-game-card{max-width:310px;margin:auto}
.boxff-statusbar>div small{max-width:92px}
@media(max-width:760px){.boxff-topbar{align-items:flex-start}.boxff-top-actions{flex-wrap:wrap;justify-content:flex-end}.boxff-lang{max-width:145px}.boxff-tabs{overflow-x:auto;justify-content:flex-start}.boxff-tabs button{flex:0 0 auto}.boxff-opponents{grid-template-columns:1fr}.boxff-pvp-controls{align-items:stretch;flex-direction:column}.boxff-leader-head,.boxff-leader-row{grid-template-columns:34px 1fr 70px 50px;padding-left:9px;padding-right:9px}.boxff-profilebar{align-items:flex-start;flex-direction:column}.boxff-rating-chip{align-self:flex-end;margin-top:-42px}.boxff-history-row{grid-template-columns:1fr auto}.boxff-history-row small{grid-column:1/3}.boxff-team-slot{min-width:80px}}

/* ===== BoxFF V2.1: AI Arena + high-contrast accessibility pass ===== */
:root{--boxff-bg:#06120d;--boxff-bg2:#0b2117;--boxff-panel:#10291e;--boxff-panel2:#173a29;--boxff-text:#f7fff9;--boxff-muted:#c8e6d2;--boxff-soft:#a9cfb8;--boxff-green:#79ffa4;--boxff-yellow:#ffe07b;--boxff-danger:#ff8792}
.boxff-app{color:var(--boxff-text);font-size:15px}
.boxff-app h1,.boxff-app h2,.boxff-app h3,.boxff-app h4,.boxff-app h5,.boxff-app h6,.boxff-app strong,.boxff-app b{color:#f8fff9}
.boxff-app p,.boxff-app li,.boxff-app label,.boxff-app .boxff-section-intro{color:#d7eee0}
.boxff-app small{color:#c2dfcc}
.boxff-app a{color:#9dffc0}
.boxff-title{color:#fff!important}.boxff-subtitle{color:#b8ddc6!important}
.boxff-statusbar>div{background:#0b2218}.boxff-statusbar strong{color:#fff!important}.boxff-statusbar small{color:#c2e1ce!important;opacity:1}
.boxff-tabs{background:#091d14}.boxff-tabs button,.boxff-tabs button span{color:#c7e3d1!important}.boxff-tabs button.is-active,.boxff-tabs button.is-active span,.boxff-tabs button:hover,.boxff-tabs button:hover span{color:#fff!important;background:#214d36}
.boxff-hero{background:linear-gradient(135deg,#16482f,#0c2117)}.boxff-hero h2{color:#fff!important}.boxff-hero p{color:#dbf2e3!important}.boxff-kicker{color:#9dffba!important}
.boxff-panel{background:linear-gradient(145deg,#123222,#0b2117)}.boxff-panel h3{color:#fff!important}.boxff-panel p{color:#cfe8d7!important}
.boxff-btn,.boxff-small-btn{background:#204b35;color:#fff!important;border-color:rgba(255,255,255,.22);text-shadow:none}.boxff-btn span,.boxff-small-btn span{color:inherit!important}.boxff-btn:hover,.boxff-small-btn:hover{background:#2b6045;border-color:#a0ffbd}.boxff-btn-primary,.boxff-btn-primary span{background:linear-gradient(145deg,#7dffa7,#dcff71);color:#062414!important;border-color:transparent!important}.boxff-btn-primary:hover{background:linear-gradient(145deg,#94ffb6,#e8ff8b)}
.boxff-icon-btn,.boxff-modal-close{background:#183a29;color:#fff!important;border-color:rgba(255,255,255,.22)}
.boxff-game-card{background:linear-gradient(155deg,#234b35,#0a1d13);border-color:rgba(255,255,255,.24);color:#fff}.boxff-card-name{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.boxff-latin{color:#c0ddcb!important}.boxff-card-number{color:#bad6c4!important}.boxff-card-skill{color:#e3f5e8!important}.boxff-level-badge{background:#102f20;color:#f7fff9!important;border:1px solid rgba(255,255,255,.12)}
.boxff-stats>div,.boxff-stat{background:#07170f;border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:6px;text-align:center}.boxff-stats>div b,.boxff-stat b{display:block;color:#fff!important;font-size:12px}.boxff-stats>div small,.boxff-stat small{color:#cbe5d4!important;font-size:8px;opacity:1}
.boxff-game-card>.boxff-xp+small{color:#d7ecdf!important;opacity:1}.boxff-game-card.is-locked{opacity:.74;filter:saturate(.3)}.boxff-lock{background:rgba(0,0,0,.38)}
.boxff-card-actions button{background:#24543b;color:#fff!important;border:1px solid rgba(255,255,255,.08)}.boxff-card-actions button:hover{background:#33714f}
.boxff-filter-row select,.boxff-filter-row input,.boxff-pvp-controls select,.boxff-lang,.boxff-ai-controls select{background:#0b2418!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important}.boxff-app select option{background:#0b2418!important;color:#fff!important}.boxff-app input::placeholder{color:#b7d5c2!important;opacity:1}
.boxff-team-box{background:#0e2b1d;border-color:rgba(255,255,255,.18)}.boxff-team-box strong{color:#fff!important}.boxff-team-box span{color:#cbe4d4!important}.boxff-team-slot{background:#071b11!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.boxff-pack-info p,.boxff-detail p,.boxff-help ol{color:#d4ebdc!important}.boxff-odds span{background:#123323;color:#effff4;border-color:rgba(255,255,255,.15)}
.boxff-edu-item{background:#0f2c1e;border-color:rgba(255,255,255,.18)}.boxff-edu-item h4{color:#fff!important}.boxff-edu-item p{color:#d2ead9!important}.boxff-edu-item.is-locked{opacity:.62}.boxff-edu-icon{background:#173d2a}
.boxff-modal-card{background:#071b12;color:#f8fff9;border-color:rgba(255,255,255,.22)}.boxff-result h2,.boxff-result p{color:#f8fff9!important}.boxff-result-mode{display:inline-block;margin:4px 0 6px;padding:6px 10px;border-radius:999px;background:#143a28;color:#bfffd2;font-size:11px;font-weight:900;letter-spacing:.04em}.boxff-result-reward{font-size:17px;font-weight:900}.boxff-result-team span{background:#123523;border:1px solid rgba(255,255,255,.12);color:#fff}.boxff-result-team span small{display:block;margin-top:4px;color:#d6ecdd!important;font-size:9px}
.boxff-profilebar{background:#0b2418;border-color:rgba(255,255,255,.18)}.boxff-profilebar strong{color:#fff!important}.boxff-profilebar small{color:#c6e2d0!important;opacity:1}.boxff-rating-chip{background:#173c29;color:#fff!important;border:1px solid rgba(255,255,255,.12)}
.boxff-login-callout>div{background:#0f2e20;border-color:rgba(255,255,255,.18)}.boxff-login-callout p{color:#d3eadb!important}.boxff-online-ok{color:#caffd9!important}
.boxff-opponent{background:linear-gradient(180deg,#113323,#0a2116);border-color:rgba(255,255,255,.18)}.boxff-opponent strong{color:#fff!important}.boxff-opponent-head small{color:#cce5d5!important;opacity:1}.boxff-opponent-team span{background:#0a2116;color:#fff;border:1px solid rgba(255,255,255,.09)}.boxff-history-row span,.boxff-history-row b{color:#eefaf2!important}.boxff-history-row small{color:#bcd8c7!important;opacity:1}
.boxff-leaderboard{border-color:rgba(255,255,255,.18);background:#0a2116}.boxff-leader-head{background:#123624;opacity:1;color:#cff0da}.boxff-leader-row{border-color:rgba(255,255,255,.09);color:#effcf3}.boxff-leader-row span,.boxff-leader-row strong{color:#fff!important}.boxff-leader-row small{color:#c2ddcb!important;opacity:1}.boxff-leader-row.me{background:#1b4932}
.boxff-loading,.boxff-empty{color:#cce6d5!important;opacity:1}

.boxff-ai-layout{display:grid;grid-template-columns:1.25fr .95fr;gap:16px;align-items:stretch}.boxff-ai-card,.boxff-ai-controls,.boxff-ai-tips{border:1px solid rgba(255,255,255,.18);border-radius:20px;background:linear-gradient(145deg,#123624,#0a2116);padding:20px}.boxff-ai-card{display:flex;gap:16px;align-items:center}.boxff-ai-icon{width:86px;height:86px;flex:0 0 86px;display:grid;place-items:center;border-radius:22px;background:#071a10;border:1px solid rgba(255,255,255,.12);font-size:48px}.boxff-ai-card h3{margin:0 0 8px;color:#fff!important}.boxff-ai-card p{margin:0;color:#d2ead9!important}.boxff-ai-controls{display:flex;flex-direction:column;gap:14px}.boxff-ai-controls label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:900;color:#e7f8ec!important}.boxff-ai-controls select{padding:12px 13px;border-radius:12px}.boxff-ai-reward{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:#071d12;border:1px solid rgba(255,255,255,.11)}.boxff-ai-reward>span{font-size:28px}.boxff-ai-reward div{display:flex;flex-direction:column}.boxff-ai-reward strong{font-size:17px;color:#fff!important}.boxff-ai-reward small{font-size:11px;color:#cce8d5!important}.boxff-ai-start{width:100%;font-size:16px;padding:14px 18px}.boxff-ai-tips{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#0b281b}.boxff-ai-tips>div{display:flex;gap:9px;align-items:flex-start;padding:12px;border-radius:14px;background:#071d12}.boxff-ai-tips b{font-size:20px}.boxff-ai-tips span{color:#d8eee0!important;font-size:12px;line-height:1.45}
@media(max-width:760px){.boxff-ai-layout{grid-template-columns:1fr}.boxff-ai-tips{grid-column:auto;grid-template-columns:1fr}.boxff-ai-card{align-items:flex-start}.boxff-ai-icon{width:66px;height:66px;flex-basis:66px;font-size:38px}}
/* V2.1 child-element background normalization */
.boxff-tabs button.is-active span,.boxff-tabs button:hover span{background:transparent!important}
.boxff-btn-primary span,.boxff-small-btn.boxff-btn-primary span{background:transparent!important;color:#062414!important}

/* === BoxFF V2.2 Guest Multiplayer additions === */
#boxff-game{--bg:#07111f;--panel:#10233b;--panel2:#152d49;--text:#f8fbff;--muted:#c5d4e5;--line:#2d4f72;--accent:#7ee787;--accent2:#79c0ff;--danger:#ff7b72;color:var(--text)!important;background:linear-gradient(180deg,#07111f,#0b1830 55%,#08111e)!important}
#boxff-game *{box-sizing:border-box}
#boxff-game h1,#boxff-game h2,#boxff-game h3,#boxff-game h4,#boxff-game strong,#boxff-game b{color:#fff}
#boxff-game p,#boxff-game small,#boxff-game label,#boxff-game span{color:inherit}
#boxff-game input,#boxff-game select{background:#fff!important;color:#142033!important;border:1px solid #b5c5d7!important}
.boxff-profilebar,.boxff-statusbar,.boxff-topbar,.boxff-tabs,.boxff-panel,.boxff-multi-card,.boxff-team-box,.boxff-ai-layout,.boxff-room-stage,.boxff-pack-info,.boxff-edu-card{color:var(--text)!important}
.boxff-playerline{display:flex;align-items:center;gap:10px;min-width:0}.boxff-playerline>div{display:flex;flex-direction:column;min-width:0}.boxff-playerline small{color:#c7dbef!important;font-weight:700;letter-spacing:.05em}
.boxff-top-actions select{border-radius:10px;padding:8px 10px;font-weight:700}
.boxff-onboard{text-align:center;max-width:460px;margin:auto}.boxff-onboard-logo{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;margin:0 auto 14px;background:linear-gradient(135deg,#7ee787,#79c0ff);color:#07111f!important;font-size:28px;font-weight:1000;box-shadow:0 14px 36px rgba(0,0,0,.22)}.boxff-onboard input{width:100%;padding:14px;margin:8px 0;border-radius:12px;font-size:16px}.boxff-onboard .boxff-btn{width:100%;margin:6px 0}.boxff-or{margin:14px 0;color:#8195aa;font-weight:900}
.boxff-recovery-card{text-align:center}.boxff-big-check{font-size:52px}.boxff-codebox,.boxff-room-code-big{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#06101d;color:#fff;border:1px dashed #79c0ff;border-radius:14px;padding:14px 18px;font-size:22px;font-weight:900;letter-spacing:.08em;margin:12px 0;word-break:break-word}
.boxff-profile-modal{text-align:center}.boxff-profile-avatar{font-size:54px}.boxff-code-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;background:#0c2036;border:1px solid #315779;padding:12px;border-radius:12px;margin:14px 0}.boxff-mini-copy{border:0;background:#214a70;color:#fff;border-radius:8px;padding:6px 9px;cursor:pointer}.boxff-danger{background:#672f35!important;border-color:#a94b55!important;color:#fff!important}
.boxff-multi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.boxff-multi-card{background:linear-gradient(180deg,#132c49,#0c1c31);border:1px solid #315779;border-radius:18px;padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.boxff-multi-icon{font-size:34px;margin-bottom:8px}.boxff-multi-card p{color:#d2e1f0!important;min-height:54px}.boxff-multi-card input{width:100%;border-radius:10px;padding:11px;margin:8px 0}.boxff-multi-card .boxff-btn{width:100%}
.boxff-room-stage{margin-top:22px}.boxff-room-wait{text-align:center;background:radial-gradient(circle at top,#153b59,#0a182a);border:1px solid #3c668a;border-radius:22px;padding:28px}.boxff-live-dot{width:14px;height:14px;border-radius:50%;background:#7ee787;margin:0 auto 12px;box-shadow:0 0 0 0 rgba(126,231,135,.5);animation:boxffPulse 1.5s infinite}@keyframes boxffPulse{70%{box-shadow:0 0 0 14px rgba(126,231,135,0)}100%{box-shadow:0 0 0 0 rgba(126,231,135,0)}}
.boxff-room-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#0a1c30;border:1px solid #2c5375;border-radius:15px;padding:12px 15px;margin-bottom:14px}.boxff-room-head>div:first-child{display:flex;flex-direction:column}.boxff-room-head small{color:#9fc1df!important}.boxff-turn{background:#263c51;color:#fff!important;border-radius:999px;padding:8px 13px;font-weight:900}.boxff-turn.mine{background:#145c37;color:#dffff0!important}
.boxff-versus{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:12px}.boxff-vs{text-align:center;font-size:28px;font-weight:1000;color:#f6c85f}.boxff-fighter{background:linear-gradient(180deg,#15314f,#0b1b30);border:1px solid #315779;border-radius:22px;padding:18px;text-align:center;min-width:0}.boxff-fighter.me{border-color:#54aeff;box-shadow:inset 0 0 0 1px rgba(84,174,255,.25)}.boxff-fighter>small{color:#bcd5ec!important}.boxff-fighter-emoji{font-size:72px;line-height:1.1;margin:8px}.boxff-fighter h3{margin:4px 0 9px}.boxff-hp{height:14px;border-radius:999px;background:#351d27;overflow:hidden;border:1px solid #5a3441;margin:9px 0}.boxff-hp i{display:block;height:100%;background:linear-gradient(90deg,#2ea043,#7ee787);transition:width .35s ease}.boxff-team-mini{display:flex;justify-content:center;gap:7px;margin-top:12px}.boxff-team-mini span{background:#091523;border:1px solid #35506c;border-radius:8px;padding:4px;font-size:22px}.boxff-team-mini span.down{filter:grayscale(1);opacity:.28}.boxff-team-mini span.active{outline:2px solid #f6c85f}
.boxff-skill-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.boxff-skill{border:1px solid #3e6688;background:#132e4a;color:#fff;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:3px;align-items:center;cursor:pointer;transition:.16s transform,.16s background}.boxff-skill:hover{transform:translateY(-2px);background:#1a4268}.boxff-skill>span{font-size:26px}.boxff-skill small{color:#bcd4e8!important}.boxff-battle-log{background:#06111f;border:1px solid #213c58;border-radius:14px;padding:10px 12px;max-height:160px;overflow:auto}.boxff-battle-log div{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#d7e6f4}.boxff-room-result{text-align:center;background:#102a42;border:1px solid #315779;border-radius:18px;padding:22px;margin:15px 0}
.boxff-card{color:#172033!important}.boxff-card h3,.boxff-card b,.boxff-card strong{color:#172033!important}.boxff-card small,.boxff-card p,.boxff-card span{color:#34485b!important}.boxff-card.locked{filter:none!important;opacity:.78}.boxff-card.locked .boxff-card-emoji{filter:grayscale(1);opacity:.45}.boxff-card .boxff-small-btn{color:#fff!important}.boxff-card-top .boxff-rarity{color:#172033!important}
.boxff-edu-card{background:#112a44!important;border-color:#315779!important}.boxff-edu-card h3{color:#fff!important}.boxff-edu-card p{color:#d5e4f3!important}.boxff-edu-card small{color:#a9c5df!important}
.boxff-leader-head,.boxff-leader-row{display:grid;grid-template-columns:46px minmax(0,1fr) 90px 70px;gap:8px;align-items:center;padding:11px 13px}.boxff-leader-head{background:#0a1b2e;border-radius:12px 12px 0 0;color:#aac6df;font-weight:900}.boxff-leader-row{background:#102a44;border-top:1px solid #294765}.boxff-leader-row.me{background:#173c58}.boxff-leader-row span{display:flex;flex-direction:column}.boxff-leader-row small{color:#9fc1df!important}.boxff-history-row{color:#edf7ff!important}.boxff-history-row small{color:#a9c5df!important}
.boxff-modal-card{background:#f8fbff!important;color:#172033!important}.boxff-modal-card h2,.boxff-modal-card h3,.boxff-modal-card b,.boxff-modal-card strong{color:#172033!important}.boxff-modal-card p,.boxff-modal-card small,.boxff-modal-card span,.boxff-modal-card li{color:#34485b!important}.boxff-modal-card .boxff-codebox{color:#fff!important}.boxff-modal-card .boxff-btn{color:#102236!important}.boxff-modal-card .boxff-btn-primary,.boxff-modal-card .boxff-danger{color:#fff!important}
.boxff-detail-emoji{font-size:78px;text-align:center}.boxff-skills{display:grid;gap:8px;margin-top:14px}.boxff-skills>div{display:flex;flex-direction:column;background:#e8f1f8;border-radius:10px;padding:10px}.boxff-result{text-align:center}.boxff-result-icon{font-size:60px}.boxff-featured-inner{background:linear-gradient(135deg,#173c5b,#10253c);border:1px solid #315779;border-radius:20px;padding:18px;display:flex;gap:15px;align-items:center}.boxff-featured-emoji{font-size:72px}.boxff-featured-inner small{color:#b6d3ea!important}
.boxff-team-slots,#boxff-team-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.boxff-team-slot{background:#0b1b2d;border:1px dashed #3e6283;border-radius:12px;padding:10px;text-align:center;display:flex;flex-direction:column}.boxff-team-slot span{font-size:25px}.boxff-team-slot small{color:#a9c5df!important}
@media(max-width:980px){.boxff-multi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.boxff-multi-grid{grid-template-columns:1fr}.boxff-versus{grid-template-columns:1fr}.boxff-vs{font-size:20px}.boxff-fighter-emoji{font-size:58px}.boxff-skill-buttons{grid-template-columns:1fr}.boxff-profilebar{gap:8px;flex-wrap:wrap}.boxff-playerline{flex:1 1 100%}.boxff-leader-head,.boxff-leader-row{grid-template-columns:34px minmax(0,1fr) 70px 54px}.boxff-room-code-big{font-size:18px}}
/* V2.2.1 onboarding reliability + starter bonus */
.boxff-starter-gift,.boxff-starter-success{margin:12px 0 14px;padding:12px 14px;border-radius:13px;background:#e9fff0!important;border:1px solid #8dd9a8!important;color:#12472a!important;font-weight:900;line-height:1.45}
.boxff-modal-card .boxff-starter-gift,.boxff-modal-card .boxff-starter-success{color:#12472a!important}
.boxff-onboard button:disabled{opacity:.65;cursor:wait}


/* === V2.2.2 readability fixes for collection cards === */
.boxff-card-grid{align-items:stretch}
.boxff-card{--rar:#79c0ff;position:relative;background:linear-gradient(180deg,#112845 0%,#0c1b2f 100%)!important;border:2px solid #315779!important;border-radius:20px!important;padding:14px!important;min-height:340px!important;display:flex!important;flex-direction:column!important;gap:8px!important;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.boxff-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 10%,color-mix(in srgb, var(--rar) 42%, transparent),transparent 32%);pointer-events:none;opacity:.85}
.boxff-card.rarity-common{--rar:#9fb3c8}.boxff-card.rarity-uncommon{--rar:#6df39a}.boxff-card.rarity-rare{--rar:#63c8ff}.boxff-card.rarity-epic{--rar:#c88bff}.boxff-card.rarity-legendary{--rar:#ffd56a}.boxff-card.rarity-mythical{--rar:#ff88a8}
.boxff-card.owned{filter:none!important;opacity:1!important}.boxff-card.locked{background:linear-gradient(180deg,#233449,#1a2838)!important;border-color:#5a7188!important;opacity:.92!important}
.boxff-card-top{align-items:center;position:relative;z-index:1}.boxff-card-top>span:last-child{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;color:#f4fbff!important}
.boxff-card .boxff-rarity{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.38);font-size:11px;letter-spacing:.13em}
.boxff-card-emoji{font-size:52px;line-height:1;display:grid;place-items:center;height:62px;position:relative;z-index:1}
.boxff-card h3{margin:0;position:relative;z-index:1;font-size:18px;line-height:1.1;color:#ffffff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.boxff-card small,.boxff-card p,.boxff-card span{position:relative;z-index:1}.boxff-card>small{color:#cfe0f1!important;font-size:12px}.boxff-card>small i{color:#cfe0f1!important}
.boxff-stats{display:grid!important;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:4px;position:relative;z-index:1}.boxff-stats span{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:10px;padding:8px 4px;text-align:center;color:#dce9f6!important;font-size:11px;font-weight:700}.boxff-stats b{display:block;color:#fff!important;font-size:15px;line-height:1.1;margin-top:2px}
.boxff-xp{height:9px;border-radius:999px;background:#06101d;border:1px solid #2d4f72;overflow:hidden;position:relative;z-index:1;margin-top:2px}.boxff-xp i{display:block;height:100%;background:linear-gradient(90deg,#7ee787,#baff84);border-radius:999px}
.boxff-small-btn{margin-top:auto}.boxff-card .boxff-small-btn{width:100%;border-radius:12px;padding:12px 10px!important;background:#1f5b3f!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;font-weight:900}.boxff-card .boxff-small-btn.selected{background:linear-gradient(180deg,#8af0a4,#56bf74)!important;color:#082314!important}
.boxff-card-info{position:absolute;right:12px;bottom:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;z-index:2}
.boxff-locked-text{color:#e7f0fa!important;font-weight:900;margin:10px 0 22px}
.boxff-team-box{align-items:flex-start}.boxff-team-slot{min-height:86px!important;justify-content:center;gap:3px;background:linear-gradient(180deg,#13324f,#0e2035)!important;border:1px solid #35587a!important}.boxff-team-slot b{font-size:13px;color:#fff!important}.boxff-team-slot small{font-size:11px;color:#cce0f3!important}.boxff-team-slot span{font-size:24px}
.boxff-pack-results .boxff-card{min-height:320px}


/* === V2.2.3 premium UI & motion polish === */
#boxff-game{background:
 radial-gradient(circle at 15% -10%, rgba(121,192,255,.22), transparent 28%),
 radial-gradient(circle at 90% 10%, rgba(126,231,135,.18), transparent 24%),
 linear-gradient(180deg,#07111f,#0b1830 55%,#08111e)!important}
.boxff-topbar,.boxff-profilebar,.boxff-statusbar>div,.boxff-tabs,.boxff-panel,.boxff-team-box,.boxff-pack-info,.boxff-ai-layout,.boxff-multi-card,.boxff-room-stage,.boxff-edu-card,.boxff-leader-row,.boxff-leader-head{box-shadow:0 10px 24px rgba(0,0,0,.12)}
.boxff-tabs button{position:relative;transition:all .18s ease}.boxff-tabs button.is-active,.boxff-tabs button:hover{background:linear-gradient(180deg,#214365,#183450);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 20px rgba(0,0,0,.12)}
.boxff-hero,.boxff-pack-art,.boxff-room-wait,.boxff-fighter,.boxff-multi-card,.boxff-team-box,.boxff-ai-controls{backdrop-filter:blur(8px)}
.boxff-card{transform:translateY(0) scale(1);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.boxff-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 18px 34px rgba(0,0,0,.26);border-color:color-mix(in srgb, var(--rar) 74%, white)!important}
.boxff-card:after{content:"";position:absolute;top:-40%;left:-70%;width:55%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);transform:rotate(18deg);transition:left .55s ease;pointer-events:none}.boxff-card:hover:after{left:115%}
.boxff-card-emoji{font-size:56px;background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.15), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);border-radius:18px}
.boxff-card .boxff-rarity{display:inline-flex;align-items:center;gap:6px}.boxff-card .boxff-rarity:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rar);box-shadow:0 0 12px var(--rar)}
.boxff-card .boxff-small-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.boxff-card .boxff-small-btn.selected{box-shadow:0 10px 20px rgba(138,240,164,.22)}
.boxff-card-info:hover{background:rgba(255,255,255,.16)}
.boxff-reveal{opacity:0;transform:translateY(18px) scale(.98);animation:boxffReveal .45s ease forwards}@keyframes boxffReveal{to{opacity:1;transform:translateY(0) scale(1)}}
.boxff-featured-inner{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 20px 36px rgba(0,0,0,.16)}
.boxff-featured-emoji{filter:drop-shadow(0 6px 14px rgba(0,0,0,.22))}
.boxff-pack-art{position:relative;overflow:hidden}.boxff-pack-art:after{content:"";position:absolute;inset:-30% auto auto -30%;width:70%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(22deg);animation:boxffPackShine 5s linear infinite}@keyframes boxffPackShine{0%{left:-50%}100%{left:120%}}
.boxff-room-head,.boxff-fighter,.boxff-room-result{box-shadow:0 14px 30px rgba(0,0,0,.16)}
.boxff-turn.mine{animation:boxffGlow 1.4s ease infinite alternate}@keyframes boxffGlow{from{box-shadow:0 0 0 rgba(126,231,135,0)}to{box-shadow:0 0 0 8px rgba(126,231,135,.08)}}
.boxff-hp{position:relative}.boxff-hp i{background:linear-gradient(90deg,#36c56b,#8ef799 40%,#e8ff8c);background-size:220% 100%;animation:boxffHpFlow 3s linear infinite}@keyframes boxffHpFlow{from{background-position:0 0}to{background-position:220% 0}}
.boxff-skill{position:relative;overflow:hidden}.boxff-skill:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 45%);pointer-events:none}.boxff-skill:nth-child(1){background:linear-gradient(180deg,#183652,#132a43)}.boxff-skill:nth-child(2){background:linear-gradient(180deg,#264531,#173625)}.boxff-skill:nth-child(3){background:linear-gradient(180deg,#563322,#392113)}
.boxff-skill:hover{box-shadow:0 12px 24px rgba(0,0,0,.2)}
.boxff-result-icon{display:inline-grid;place-items:center;width:88px;height:88px;border-radius:50%;margin:0 auto 10px;font-size:44px;background:linear-gradient(180deg,#e6f4ff,#cfe8ff);box-shadow:0 14px 30px rgba(0,0,0,.12)}.boxff-result-icon.is-win{background:linear-gradient(180deg,#f5ffd7,#d7ff9f)}.boxff-result-icon.is-lose{background:linear-gradient(180deg,#f1f6fb,#d7e3ef)}
.boxff-statusbar strong,.boxff-rating-chip b{font-size:18px}
.boxff-team-slot{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.boxff-edu-card{display:flex;gap:14px;align-items:flex-start}.boxff-edu-card>span{font-size:36px;line-height:1.1;background:#183a5a;border-radius:16px;padding:10px;min-width:58px;text-align:center}
.boxff-history-row{display:grid;grid-template-columns:1fr auto;gap:10px;background:#102a44;border-top:1px solid #294765;padding:10px 13px}.boxff-history-row small{grid-column:1/-1}
@media(max-width:760px){.boxff-card{min-height:320px!important}.boxff-card-emoji{font-size:48px}.boxff-history-row{grid-template-columns:1fr}.boxff-edu-card{flex-direction:column}.boxff-edu-card>span{width:58px}}

/* === V2.2.4 interactive AI battle === */
#boxff-ai-result{grid-column:1/-1;min-width:0}
.boxff-ai-live{margin-top:6px;background:linear-gradient(180deg,#0d2138,#091727);border:1px solid #315779;border-radius:22px;padding:18px;box-shadow:0 18px 38px rgba(0,0,0,.18)}
.boxff-ai-live .boxff-room-head b{font-size:12px;line-height:1.35;color:#d8e9f8!important;max-width:720px}
.boxff-ai-strategy{display:flex;gap:12px;align-items:flex-start;margin:16px 0 8px;padding:12px 14px;border-radius:14px;background:#102c47;border:1px solid #315779}
.boxff-ai-strategy b{white-space:nowrap;color:#9ff7bc!important}.boxff-ai-strategy span{color:#dceaf7!important;font-size:13px;line-height:1.45}
.boxff-ai-live .boxff-fighter{min-height:270px;display:flex;flex-direction:column;justify-content:center}
.boxff-ai-live .boxff-fighter-emoji{animation:boxffIdle 2.4s ease-in-out infinite;filter:drop-shadow(0 9px 14px rgba(0,0,0,.22))}
.boxff-ai-live .boxff-fighter:nth-child(3) .boxff-fighter-emoji{animation-delay:.5s}
@keyframes boxffIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.boxff-ai-live .boxff-battle-log{margin-top:15px;max-height:220px}.boxff-ai-live .boxff-battle-log h4{margin:2px 0 8px;color:#fff!important}.boxff-ai-live .boxff-battle-log div.latest{color:#fff!important;font-weight:900;background:#123654;margin:0 -6px;padding:8px 6px;border-radius:8px}
.boxff-ai-live .boxff-skill-buttons{margin-top:12px}.boxff-ai-live .boxff-skill:disabled{opacity:.55;cursor:wait;transform:none}
.boxff-ai-live .boxff-room-result{margin-top:16px}.boxff-ai-live .boxff-room-result .boxff-btn{min-width:200px}
@media(max-width:760px){#boxff-ai-result{grid-column:auto}.boxff-ai-strategy{flex-direction:column}.boxff-ai-live{padding:12px}.boxff-ai-live .boxff-fighter{min-height:220px}}

/* === V2.2.5: BoxFF brand logo + robust interactive AI === */
.boxff-logo.boxff-logo-image{overflow:hidden;background:#07111f;padding:0;border:1px solid rgba(255,255,255,.15)}
.boxff-logo.boxff-logo-image img{width:100%;height:100%;display:block;object-fit:cover}
.boxff-hero-logo{width:128px;height:128px;object-fit:cover;border-radius:28px;margin:0 0 14px;box-shadow:0 18px 40px rgba(0,0,0,.28);border:2px solid rgba(255,255,255,.18)}
.boxff-onboard-logo.boxff-onboard-logo-image{width:104px;height:104px;padding:0;overflow:hidden;background:#07111f}
.boxff-onboard-logo.boxff-onboard-logo-image img{width:100%;height:100%;object-fit:cover;display:block}
.boxff-ai-loading{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#0c2944,#091b30);border:1px solid #315779;border-radius:20px;color:#fff}
.boxff-ai-loading span{font-size:38px;animation:boxffSwordPulse .7s ease-in-out infinite alternate}.boxff-ai-loading b{color:#fff!important}
@keyframes boxffSwordPulse{from{transform:translateY(0) rotate(-8deg);opacity:.7}to{transform:translateY(-5px) rotate(8deg);opacity:1}}
.boxff-btn.is-loading,.boxff-skill.is-loading{opacity:.62;cursor:wait!important;transform:none!important}
.boxff-skill:disabled{opacity:.58;cursor:wait}
.boxff-ai-live{animation:boxffArenaIn .28s ease both}@keyframes boxffArenaIn{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.boxff-hero-logo{width:96px;height:96px;border-radius:22px}}

/* === V2.2.6 active pack opening + live quick matchmaking === */
.boxff-pack-opening,.boxff-pack-error{grid-column:1/-1;min-height:180px;border:1px solid #315779;border-radius:20px;background:linear-gradient(180deg,#102a44,#0b1d31);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#f5fbff;padding:24px}
.boxff-pack-opening small{color:#bdd4e8!important}.boxff-pack-spinner{font-size:58px;animation:boxffPackBounce .75s ease-in-out infinite alternate;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}@keyframes boxffPackBounce{from{transform:translateY(3px) rotate(-3deg) scale(.98)}to{transform:translateY(-10px) rotate(3deg) scale(1.05)}}
.boxff-pack-error{color:#ffd6d6;background:linear-gradient(180deg,#48242b,#2b171c);border-color:#8e4652}
[data-action="pack"].is-loading,[data-action="quick-match"].is-loading{opacity:.78;cursor:wait;filter:saturate(.85)}
.boxff-quick-wait{background:radial-gradient(circle at 50% 0%,#17486b,#0b1a2c 62%);min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center}.boxff-quick-wait h3{font-size:28px;margin:8px 0}.boxff-quick-wait p{max-width:620px;color:#d5e5f3!important}.boxff-matchmaking-bars{display:flex;gap:8px;height:44px;align-items:end;margin:12px 0}.boxff-matchmaking-bars i{display:block;width:10px;border-radius:999px;background:linear-gradient(180deg,#8cf5a5,#72c8ff);animation:boxffMatchBars .9s ease-in-out infinite alternate}.boxff-matchmaking-bars i:nth-child(1){height:18px;animation-delay:0s}.boxff-matchmaking-bars i:nth-child(2){height:34px;animation-delay:.15s}.boxff-matchmaking-bars i:nth-child(3){height:24px;animation-delay:.3s}@keyframes boxffMatchBars{to{height:42px;filter:brightness(1.2)}}

/* === V2.3.0 Event Center === */
.boxff-event-points{display:inline-flex;align-items:center;gap:8px;background:#122f24;border:1px solid rgba(255,255,255,.12);padding:10px 14px;border-radius:999px;font-weight:900;color:#fff}.boxff-event-points b{color:#dfff7e!important;font-size:18px}
.boxff-redeem-box{display:grid;grid-template-columns:1fr auto;gap:10px;background:linear-gradient(180deg,#102b22,#0a1f19);border:1px solid rgba(255,255,255,.12);padding:16px;border-radius:18px;margin-bottom:16px}.boxff-redeem-box input{min-width:0;border-radius:12px!important;padding:12px 14px!important;font-weight:800;letter-spacing:.04em}.boxff-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.boxff-event-card{display:flex;gap:14px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#12334a,#0d2535);border:1px solid #365a75;box-shadow:0 14px 30px rgba(0,0,0,.16)}.boxff-event-badge{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;font-size:34px;border-radius:18px;background:linear-gradient(145deg,#234d67,#17374e)}.boxff-event-card small{color:#9ed8ff!important;font-weight:900;letter-spacing:.14em}.boxff-event-card h3{margin:4px 0 8px;color:#fff!important}.boxff-event-card p{color:#d4e7f5!important;margin:0 0 10px}.boxff-event-reward{background:#173c2a;border:1px solid #2e6946;border-radius:10px;padding:9px 11px;color:#e7ffe8!important;font-weight:800;margin:8px 0}.boxff-event-date{color:#aec6da!important;font-size:11px}.boxff-event-empty{padding:28px;border-radius:18px;background:#10283b;border:1px dashed #466983;text-align:center;color:#d8e9f7}.boxff-redeem-success,.boxff-reward-notice{text-align:center}.boxff-reward-notice h3{font-size:28px;margin:10px 0}.boxff-reward-notice p{font-size:15px}
@media(max-width:760px){.boxff-events-grid{grid-template-columns:1fr}.boxff-redeem-box{grid-template-columns:1fr}.boxff-event-card{flex-direction:column}.boxff-event-badge{width:54px;height:54px;flex-basis:54px}}

/* === V2.3.1 Account PIN & Recovery Center === */
.boxff-auth-block{background:#eef5fb;border:1px solid #c6d6e6;border-radius:16px;padding:14px;margin:12px 0;text-align:left}
.boxff-auth-block h3{margin:0 0 8px;color:#172033!important;font-size:16px}.boxff-auth-block p{color:#4b6074!important;font-size:13px;line-height:1.5;margin:6px 0 10px}
.boxff-auth-block input{width:100%;margin:5px 0!important}.boxff-auth-block .boxff-btn{width:100%;margin-top:7px}
.boxff-pin-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.boxff-recovery-block{background:#fff8e8;border-color:#ead49b}
.boxff-account-help{background:#eaf9ef;border:1px solid #a8d8b6;border-radius:13px;padding:11px 13px;color:#214f31!important;font-size:12px;line-height:1.5;text-align:left;margin-top:12px}
.boxff-recovery-warning{background:#fff4cf;border:1px solid #e8c96d;border-radius:12px;padding:10px;color:#604c0a!important;font-weight:800}
.boxff-security-panel{background:#edf5fb;border:1px solid #c4d7e7;border-radius:16px;padding:14px;margin:14px 0;text-align:left}.boxff-security-panel h3{color:#172033!important;margin:0 0 5px}.boxff-security-panel p{color:#425b70!important}.boxff-security-panel input{width:100%;padding:12px;border-radius:10px;border:1px solid #afc2d5;margin:5px 0;background:#fff;color:#172033}.boxff-security-panel .boxff-btn{width:100%;margin-top:8px;color:#fff!important}
.boxff-security-tip{background:#fff8e8;border:1px solid #e8cf8d;border-radius:13px;padding:11px 13px;color:#59480d!important;font-size:12px;line-height:1.5;text-align:left;margin-bottom:14px}
@media(max-width:560px){.boxff-pin-row{grid-template-columns:1fr}}
