@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111014;--line:#323037;--muted:#a9a5b1;--lime:#d4ff73}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f6f4f9;font:16px 'Space Grotesk',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer;background:#26242b;color:inherit;border:1px solid var(--line);border-radius:8px;padding:12px 19px;transition:transform .15s,background .15s}button:hover{background:#3b3742;transform:translateY(-2px)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}.primary{background:var(--lime);color:#151815;border:none;font-weight:700}.primary:hover{background:#e3ffa7}.brand{font-size:35px;font-weight:700;letter-spacing:-2px;display:flex;align-items:center;gap:16px}.brand span{font-size:9px;letter-spacing:1px;max-width:80px;line-height:1.5}header{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 5%}nav{display:flex;gap:30px;font-size:14px;color:var(--muted)}nav a.active,nav a:hover{color:var(--lime)}main{max-width:1440px;margin:auto;padding:0 5%}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(52px,7.5vw,112px);line-height:.95;letter-spacing:-6px;margin-bottom:27px}h2{font-size:40px;letter-spacing:-1.5px}h3{font-size:24px}p{line-height:1.7;color:var(--muted)}.eyebrow{color:var(--lime);text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:700}.hero{padding:64px 0 0}.hero-top{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:60px}.hero h1 em{color:var(--lime);font-style:normal}.intro{max-width:350px;padding-bottom:30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{position:relative;margin-top:30px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#211e2b}.hero-art img{display:block;width:100%;max-height:470px;object-fit:cover}.art-label{position:absolute;bottom:20px;left:24px;border:1px solid #ffffff40;background:#111014b0;padding:8px 13px;border-radius:30px;font-size:11px}.ticker{display:flex;justify-content:space-between;gap:12px;padding:24px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:2px;color:var(--muted)}section{padding:64px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head h2{margin-bottom:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.filters button{font-size:12px;padding:8px 14px}.filters .selected{background:var(--lime);color:#111}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#1b191f}.portrait{height:260px;background-image:url('../assets/elementals.png');background-size:400% 100%;background-repeat:no-repeat;position:relative}.portrait span{position:absolute;top:16px;left:16px;font-size:10px;padding:6px 9px;background:#15141cbc;border-radius:20px;letter-spacing:1px}.card-body{padding:20px}.card h3{margin:10px 0}.card p{font-size:12px;margin-bottom:16px}.element{font-size:10px;letter-spacing:1.5px;color:var(--tone)}.stats{display:flex;gap:18px;color:var(--muted);font-size:12px;margin-bottom:18px}.stats b{color:white}.card button{width:100%;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:35px}.panel{border:1px solid var(--line);border-radius:16px;padding:30px;background:#1b191f}.panel p{font-size:14px}.notice{border-left:3px solid var(--lime);padding:12px 18px;background:#d4ff7309;font-size:13px;color:var(--muted);margin:24px 0}.empty{padding:50px;text-align:center;border:1px dashed var(--line);border-radius:12px}.page-title{padding-top:60px}.page-title h1{font-size:64px;letter-spacing:-3px}.page-title p{max-width:600px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:14px}input,select{display:block;width:100%;margin-top:8px;background:#111014;border:1px solid var(--line);color:white;border-radius:6px;padding:12px}.battle-grid{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:20px;text-align:center}.battle-grid .portrait{height:310px;border-radius:12px}.hp{height:9px;background:#3a3542;border-radius:10px;overflow:hidden;margin:12px 0}.hp div{height:100%;background:var(--lime);transition:width .4s}.log{height:170px;overflow:auto;background:#111014;border-radius:8px;padding:18px;font-size:13px;color:var(--muted);line-height:1.9;margin:24px 0}.log p{margin:0}.arena-controls{display:flex;gap:12px;flex-wrap:wrap}.tabs{display:flex;gap:12px;margin:24px 0}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px}.admin-row button{font-size:11px;padding:8px}footer{padding:36px 5%;border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;flex-wrap:wrap;color:var(--muted);font-size:12px}footer small{margin-left:auto}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:14px 23px;max-width:90%;background:var(--lime);color:#101010;border-radius:9px;z-index:10;display:none;box-shadow:0 8px 40px #0008}@media(max-width:900px){header{height:auto;padding-top:20px;padding-bottom:20px;flex-wrap:wrap}nav{order:3;width:100%;gap:20px}.hero-top{grid-template-columns:1fr;gap:5px}.intro{max-width:600px}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}h1{letter-spacing:-3px}.ticker{font-size:9px}.hero-art img{min-height:240px}.section-head{align-items:start;flex-direction:column}}@media(max-width:520px){.brand span{display:none}header .primary{font-size:12px}.cards{grid-template-columns:1fr 1fr;gap:10px}.portrait{height:190px}.card-body{padding:12px}.card h3{font-size:19px}.stats{gap:8px;font-size:10px}.battle-grid{grid-template-columns:1fr 25px 1fr;gap:8px}.battle-grid .portrait{height:200px}.panel{padding:18px}.page-title h1{font-size:48px}.ticker{letter-spacing:0}footer small{margin-left:0}}

html{scroll-behavior:smooth}section,.hero{scroll-margin-top:30px}.wallet-address{overflow-wrap:anywhere;color:var(--lime);font-size:15px!important}#account h2{font-size:30px}#arena .page-title{padding-top:0}#account:empty{display:none}

.admin-heading{padding:28px 0 20px;display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-heading h1{font-size:48px;letter-spacing:-2px;line-height:1.1;margin-bottom:12px}.admin-heading p{margin-bottom:0}.admin-status{font-size:12px;color:var(--lime);white-space:nowrap}.admin-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:32px;flex-wrap:wrap}.admin-tabs button{font-size:14px}.count{font-size:20px;color:var(--muted)}.create-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:30px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stats-inputs{margin-top:26px}textarea{display:block;width:100%;margin-top:8px;background:#111014;border:1px solid var(--line);color:white;border-radius:6px;padding:12px;font:inherit;resize:vertical}.form-status{margin:16px 0 0;font-size:13px}.admin-cards .stats,#nhc-preview .stats{flex-wrap:wrap}.custom-art{background:none!important}.custom-art img{display:block;width:100%;height:auto;max-width:100%;background:transparent}#account:has(.admin-heading){padding-top:20px}#nhc-preview .portrait{height:340px}.create-layout small{color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:850px){.create-layout{grid-template-columns:1fr}.admin-heading{align-items:start;flex-direction:column}.admin-heading h1{font-size:40px}}@media(max-width:520px){.form-grid{gap:10px}.admin-tabs{gap:6px}.admin-tabs button{font-size:12px;padding:10px}.admin-heading h1{font-size:36px}}

.client-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 26px}.client-summary>div{padding:18px 22px;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;align-items:center;background:#1b191f}.client-summary span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.client-summary strong{font-size:30px;color:var(--lime)}.client-empty h3{margin:18px 0 8px}.client-empty p{max-width:480px;margin:0 auto 20px}.collection-note{font-size:12px;margin-top:24px}body[data-page="client"] .card .stats{flex-wrap:wrap}body[data-page="client"] #account{padding-top:20px}body[data-page="client"] #arena .page-title h1{font-size:40px;letter-spacing:-1px;margin-bottom:18px}body[data-page="client"] #arena .page-title p{font-size:14px}body[data-page="client"] #arena section{padding:24px}.operation-row{display:flex;gap:16px;padding:20px 0;align-items:center;border-bottom:1px solid var(--line)}.operation-row:last-child{border-bottom:0}.operation-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.operation-row strong{font-size:14px;overflow-wrap:anywhere}.operation-mark{color:var(--lime);font-size:24px;width:32px;flex-shrink:0;text-align:center}@media(max-width:600px){.client-summary{gap:8px}.client-summary>div{padding:12px;align-items:start;flex-direction:column;gap:8px}.client-summary span{font-size:9px;letter-spacing:.5px}.client-summary strong{font-size:26px}}

.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:26px;align-items:start}.profile-identity{text-align:center}.profile-avatar{margin:0 auto 24px;width:88px;height:88px;border-radius:24px;display:grid;place-items:center;background:var(--lime);color:#171c12;font-size:30px;font-weight:700}.profile-identity h3{overflow-wrap:anywhere}.profile-identity>p{white-space:pre-wrap;overflow-wrap:anywhere}.profile-wallet{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.profile-wallet .wallet-address{font-size:13px!important}.profile-stats{margin-top:24px}.profile-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.profile-stat-grid>div{padding:16px;background:#111014;border-radius:8px}.profile-stat-grid span{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.profile-stat-grid strong{font-size:28px;color:var(--lime)}@media(max-width:750px){.profile-layout{grid-template-columns:1fr}}

.users-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr);gap:20px;margin-bottom:18px}.users-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.users-table{border-collapse:collapse;width:100%;text-align:left;background:#1b191f}.users-table th{padding:18px;font-size:11px;letter-spacing:.5px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);white-space:nowrap}.users-table td{padding:18px;font-size:12px;border-bottom:1px solid var(--line);vertical-align:middle}.users-table tr:last-child td{border-bottom:0}.users-table strong{font-size:15px}.user-address{font-family:monospace;overflow-wrap:anywhere;min-width:210px;max-width:320px}.role-chip{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:11px}.role-chip.is-admin{color:var(--lime);border-color:#d4ff7340}@media(max-width:520px){.users-toolbar{grid-template-columns:1fr;gap:4px}}

.rarity-badge{display:inline-block;border:1px solid #d4ff7340;background:#d4ff730a;border-radius:20px;padding:4px 10px;color:var(--lime);font-size:10px;letter-spacing:.7px;margin:10px 0 0 8px;max-width:100%;overflow-wrap:anywhere}

.ability-name-input{margin-top:24px}.card .ability-label{display:flex;flex-wrap:wrap;gap:6px;align-items:center;line-height:1.5;margin-bottom:14px}.ability-label span{font-size:9px;letter-spacing:1px;color:var(--muted)}.ability-label strong{font-size:12px;font-weight:500;color:var(--lime);overflow-wrap:anywhere}

/* Uploaded artwork keeps its natural proportions in cards, preview and arena. */
.portrait.custom-art,.battle-grid .portrait.custom-art,#nhc-preview .portrait.custom-art{height:auto}

.edit-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-cards .edit-actions button{width:auto;flex:1;padding:11px 10px}.admin-cards .edit-actions button[data-edit]{flex:0 0 66px}

.stats .skill-stat{display:inline-flex;align-items:baseline;gap:4px;flex-wrap:wrap}.stats .skill-name{font-weight:500;color:var(--lime);font-size:inherit;overflow-wrap:anywhere;max-width:100%}

.card .ability-label{display:flex;align-items:baseline;gap:6px;flex-wrap:nowrap;margin-bottom:14px}.card .ability-label span{flex-shrink:0}.card .ability-label strong{min-width:0;overflow-wrap:anywhere}

.admin-cards .edit-actions .danger-button{flex:1 0 100%;color:#ff969e;border-color:#743c45;background:#341f25}.admin-cards .edit-actions .danger-button:hover{background:#4a2730}

.card .nhc-price{color:var(--lime);margin:0 0 12px;font-size:12px;line-height:1.5}.nhc-price strong{font-size:18px;font-weight:600}label>small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:6px}

/* Animated elemental combat */
.b2-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.b2-intro-art{position:relative;min-height:340px;display:flex;flex-direction:column;justify-content:center;padding:42px;overflow:hidden;border:1px solid #48572b;border-radius:16px;background:radial-gradient(ellipse at 70% 40%,#698b2b55,transparent 65%),#141910}.b2-intro-art strong{font-size:clamp(40px,6vw,76px);line-height:.95;color:var(--lime);z-index:1}.b2-intro-art small{margin-top:24px;letter-spacing:3px;z-index:1}.b2-orbit{position:absolute;right:-80px;width:330px;height:330px;border:2px solid #b8ff5b55;border-radius:50%;box-shadow:0 0 0 40px #b8ff5b08,0 0 0 80px #b8ff5b06;animation:b2-spin 18s linear infinite}.b2-orbit:before{content:'';position:absolute;width:22px;height:22px;background:var(--lime);border-radius:50%;top:35px;left:35px;box-shadow:0 0 35px var(--lime)}
.b2-stage{position:relative;isolation:isolate;overflow:hidden;min-height:420px;aspect-ratio:16/9;border:1px solid #536543;border-radius:16px;background:radial-gradient(ellipse at 50% 25%,#376f65,#102327 60%,#080d16);box-shadow:inset 0 0 100px #060811;user-select:none}.b2-sky{position:absolute;inset:0;background:radial-gradient(circle at 15% 45%,#71f4e240 0 2px,transparent 3px),radial-gradient(circle at 75% 30%,#b8ffbd70 0 1px,transparent 2px);background-size:87px 69px,117px 99px;animation:b2-sky 12s linear infinite;opacity:.6}.b2-mountain{position:absolute;inset:25% -4% 18%;background:linear-gradient(140deg,#13252d,#1f403d);clip-path:polygon(0 70%,12% 18%,24% 62%,38% 12%,49% 73%,64% 25%,76% 60%,88% 8%,100% 74%,100% 100%,0 100%)}.b2-floor{position:absolute;inset:75% -10% -15%;background:repeating-linear-gradient(90deg,transparent 0 80px,#81d0a11a 81px 82px),repeating-linear-gradient(0deg,#132320 0 32px,#42685155 33px 34px);transform:perspective(190px) rotateX(25deg);border-top:2px solid #9ae49d66;box-shadow:0 -8px 40px #9ae49d22}.b2-hud{position:absolute;z-index:6;top:24px;left:24px;right:24px;display:grid;grid-template-columns:1fr 90px 1fr;gap:18px}.b2-hud>div:last-child{text-align:right}.b2-hud strong{font-size:20px;color:white}.b2-hud small,.b2-hud span{display:block;font-size:10px;letter-spacing:1px;color:#b8d0c7;margin:5px 0}.b2-health{height:12px;background:#10151ccc;border:1px solid #739c73;border-radius:3px;overflow:hidden}.b2-health i{display:block;height:100%;background:linear-gradient(90deg,#77c657,#d6ff85);transition:width .45s}.b2-hud>div:last-child .b2-health i{margin-left:auto;background:linear-gradient(90deg,#ffbb68,#ff804e)}.b2-vs{text-align:center;color:var(--lime);font-size:26px;font-weight:800}.b2-vs span{font-size:9px}
.b2-fighter{position:absolute;z-index:3;bottom:15%;width:27%;height:54%;}.b2-player{left:13%;--direction:1}.b2-bot{right:13%;--direction:-1}.b2-body{position:absolute;inset:0;z-index:2;animation:b2-idle 2.6s ease-in-out infinite;filter:drop-shadow(0 0 12px var(--element));mask-image:radial-gradient(ellipse 66% 66% at 50% 52%,black 47%,transparent 79%)}.b2-body img,.b2-concept{width:100%;height:100%;object-fit:cover;object-position:center}.b2-concept{background-image:url('../assets/elementals.png');background-size:400% 100%}.b2-aura{position:absolute;inset:22% -12% -10%;border-radius:50%;background:radial-gradient(ellipse,var(--element),transparent 65%);opacity:.25;animation:b2-glow 2s alternate infinite}.b2-shadow{position:absolute;bottom:-9%;left:9%;right:9%;height:13%;border-radius:50%;background:#0009;filter:blur(5px)}.b2-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.b2-controls button{flex:1;min-width:130px}.b2-controls small{display:block;font-size:9px;letter-spacing:1px;opacity:.7;margin-top:6px}.b2-caption{font-size:12px;color:var(--muted);margin:14px 0}.b2-feed{background:#101114;border:1px solid #303338;border-radius:12px;padding:14px 20px;min-height:95px}.b2-feed p{font-size:12px;margin:4px 0;color:#c7d5cd}.b2-hit-number{position:absolute;z-index:8;top:12%;left:25%;font-size:32px;font-weight:900;color:#fff;opacity:0;text-shadow:0 2px 8px #000}.b2-pop{animation:b2-number .7s ease-out}.b2-attacking .b2-body{animation:b2-lunge .65s ease-in-out}.b2-casting .b2-body{animation:b2-cast .7s}.b2-hit .b2-body{animation:b2-hurt .4s}.b2-blocking:after{content:'';position:absolute;z-index:5;inset:-8%;border:4px solid #81e8ff;border-radius:50%;box-shadow:0 0 35px #80eaff,inset 0 0 40px #80eaff66;animation:b2-shield .5s}.b2-body.b2-jumping{animation:b2-jump .65s ease-in-out}.b2-projectile{position:absolute;z-index:5;top:49%;left:29%;width:50px;height:50px;border-radius:50%;opacity:0;background:radial-gradient(circle,#fff 0 10%,var(--element) 40%,transparent 70%);box-shadow:0 0 35px var(--element)}.b2-flying{animation:b2-projectile .5s ease-in forwards}.b2-stage[data-direction=bot] .b2-projectile{left:auto;right:29%}.b2-stage[data-direction=bot] .b2-flying{animation-name:b2-projectile-back}.b2-impact{position:absolute;z-index:4;top:42%;right:20%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#fff9,#bfff6333,transparent 65%);opacity:0}.b2-stage[data-direction=bot] .b2-impact{right:auto;left:20%}.b2-burst{animation:b2-burst .45s}.b2-result{position:absolute;z-index:10;inset:0;background:#0c111cdd;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(6px)}.b2-result h2{font-size:clamp(42px,8vw,80px);color:var(--lime);margin:8px 0}.b2-result p{color:#d6e6d6}.b2-result button{margin-top:16px}
@keyframes b2-idle{50%{transform:translateY(-7px)}}@keyframes b2-glow{to{opacity:.45;transform:scale(1.1)}}@keyframes b2-spin{to{transform:rotate(360deg)}}@keyframes b2-sky{to{background-position:30px -69px,-20px -99px}}@keyframes b2-lunge{40%{transform:translateX(calc(var(--direction)*85px)) rotate(calc(var(--direction)*8deg))}100%{transform:translateX(0)}}@keyframes b2-cast{45%{transform:scale(1.12);filter:drop-shadow(0 0 30px var(--element))}}@keyframes b2-hurt{20%,60%{transform:translateX(calc(var(--direction)*-18px));filter:brightness(2) drop-shadow(0 0 18px #fff)}40%,80%{transform:translateX(0)}}@keyframes b2-number{15%{opacity:1}100%{opacity:0;transform:translateY(-55px)}}@keyframes b2-projectile{10%{opacity:1}100%{opacity:1;left:68%;transform:scale(1.3)}}@keyframes b2-projectile-back{10%{opacity:1}100%{opacity:1;right:68%;transform:scale(1.3)}}@keyframes b2-shield{100%{opacity:0;transform:scale(1.2)}}@keyframes b2-jump{50%{transform:translateY(-65px)}}@keyframes b2-burst{30%{opacity:1;transform:scale(1.4)}100%{opacity:0;transform:scale(.6)}}
@media(max-width:650px){.b2-intro{grid-template-columns:1fr}.b2-intro-art{min-height:230px}.b2-stage{min-height:340px;aspect-ratio:auto}.b2-hud{top:15px;left:12px;right:12px;grid-template-columns:1fr 40px 1fr;gap:8px}.b2-hud strong{font-size:14px}.b2-hud span{font-size:8px}.b2-vs{font-size:18px}.b2-fighter{width:34%;height:48%}.b2-player{left:7%}.b2-bot{right:7%}.b2-controls button{min-width:42%;font-size:12px}.b2-hit-number{font-size:22px}}
@media(prefers-reduced-motion:reduce){.b2-stage *,.b2-intro-art *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}

.animation-studio{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;margin-bottom:46px;padding:22px;border:1px solid #414b30;background:#181b15;border-radius:16px}.as-preview{position:relative;min-height:430px;border:1px solid #3c453b;border-radius:12px;overflow:hidden;background-color:#161a1b;background-image:linear-gradient(45deg,#ffffff06 25%,transparent 25%),linear-gradient(-45deg,#ffffff06 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ffffff06 75%),linear-gradient(-45deg,transparent 75%,#ffffff06 75%);background-size:32px 32px;background-position:0 0,0 16px,16px -16px,-16px 0}.as-preview>img{position:absolute;inset:50px 5% 70px;width:90%;height:calc(100% - 120px);object-fit:contain}.as-preview-top{position:absolute;z-index:2;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;font-size:10px;color:var(--lime);letter-spacing:1px}.as-preview-controls{position:absolute;z-index:2;bottom:20px;left:20px;right:20px;display:flex;gap:10px;justify-content:center}.as-preview-controls button{min-width:105px}.as-preview #as-empty{position:absolute;inset:30% 24px 70px;text-align:center}.as-preview #as-empty strong{font-size:32px;line-height:1.1;color:var(--lime)}.as-preview #as-empty p{font-size:12px;color:var(--muted);margin-top:20px}.as-editor>small{font-size:10px;color:var(--muted);line-height:1.6;display:block;margin-bottom:16px}.as-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:20px}.as-actions button{font-size:11px;padding:12px 8px}.as-actions span{display:inline-block;margin-left:6px;font-size:9px;opacity:.7}.as-timeline{display:flex;gap:8px;overflow-x:auto;min-height:86px;border:1px dashed #4b513a;border-radius:10px;padding:10px;margin:12px 0}.as-timeline button{flex:0 0 62px;padding:5px;border-radius:6px}.as-timeline img{width:50px;height:50px;object-fit:contain}.as-timeline small{display:block;font-size:9px}.as-timeline .selected{border-color:var(--lime)}.as-timeline p{color:var(--muted);font-size:12px;margin:auto}.as-editor>.actions{gap:7px}.as-editor>.actions button{font-size:10px;padding:9px}.as-save{margin-top:20px;border-top:1px solid #3b4132;padding-top:20px}.as-save .actions{margin:14px 0}.as-save #as-status{font-size:11px;color:var(--muted);line-height:1.6}.as-editor label{font-size:11px}.as-editor .form-grid{grid-template-columns:1fr 1fr}
@media(max-width:800px){.animation-studio{grid-template-columns:1fr;padding:16px}.as-preview{min-height:340px}.as-actions{grid-template-columns:repeat(3,1fr)}}

.b2-sprite .b2-body{mask-image:none}.b2-sprite .b2-body img{object-fit:contain}.b2-player .b2-body img{transform:scaleX(-1)}

.royale-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0 24px}.royale-heading h2{font-size:44px;margin:8px 0}.royale-heading p{font-size:13px;color:var(--muted)}.royale-heading .eyebrow{color:var(--lime);font-size:10px}.royale-symbol{font-size:76px;color:var(--lime);text-shadow:0 0 36px #c5ff6533}.royale-modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px}.royale-modes button{padding:22px;text-align:left;border-radius:12px}.royale-modes strong{display:block;font-size:18px}.royale-modes small{display:block;font-size:11px;opacity:.7;margin-top:8px}.royale-online{text-align:center;padding:50px 24px}.royale-online h3{font-size:32px}.royale-online .element{display:inline-block;margin:12px 0}.royale-online button{margin-top:14px}@media(max-width:600px){.royale-heading h2{font-size:34px}.royale-symbol{font-size:50px}.royale-modes button{padding:16px}.royale-modes strong{font-size:16px}.royale-modes small{line-height:1.6}}

.b2-body.b2-emoting{animation:b2-dance 1.2s ease-in-out}.b2-sprite .b2-body{animation:none;filter:none}.b2-sprite.b2-attacking .b2-body,.b2-sprite.b2-casting .b2-body,.b2-sprite.b2-hit .b2-body{animation:none;filter:none}.b2-sprite .b2-body.b2-emoting{animation:b2-dance 1.2s ease-in-out}@keyframes b2-dance{15%{transform:translateX(-12px) rotate(-8deg)}35%{transform:translateX(12px) rotate(8deg)}55%{transform:translateX(-12px) rotate(-8deg)}75%{transform:translateX(12px) rotate(8deg)}100%{transform:translateX(0) rotate(0)}}

.b2-projectile.b2-custom-projectile{width:90px;height:90px;background:none;box-shadow:none}.b2-custom-projectile img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 12px var(--element))}.b2-stage[data-direction=bot] .b2-custom-projectile img{transform:scaleX(-1)}

.b2-stage.b2-coliseum{background:#35535b url('../assets/royale-coliseum.png') center center/cover no-repeat;box-shadow:none;border-color:#807257}.b2-coliseum .b2-sky,.b2-coliseum .b2-mountain,.b2-coliseum .b2-floor{display:none}.b2-coliseum:before{content:'';position:absolute;z-index:1;inset:0 0 auto;height:34%;background:linear-gradient(#0a1523c9,#0a152355,transparent);pointer-events:none}.b2-coliseum .b2-hud strong,.b2-coliseum .b2-hud small,.b2-coliseum .b2-hud span{text-shadow:0 1px 4px #000}.b2-coliseum .b2-shadow{opacity:.65}

/* Projectile travel uses fighter coordinates at release, for every viewport. */
.b2-stage .b2-projectile.b2-flying{right:auto;animation-name:b2-travel;animation-timing-function:linear}
@keyframes b2-travel{from{opacity:1;left:var(--ball-start);transform:translate(-50%,-50%)}to{opacity:1;left:var(--ball-end);transform:translate(-50%,-50%)}}

.royale-showcase{scroll-margin-top:30px}.royale-preview{margin:0;position:relative;border:1px solid #353b32;border-radius:20px;overflow:hidden;background:#13191a}.royale-preview>img{display:block;width:100%;height:auto}.royale-preview figcaption{padding:24px 30px;background:linear-gradient(110deg,#17201b,#141417)}.royale-preview figcaption span{display:block;color:var(--lime);font-size:10px;letter-spacing:2px;margin-bottom:9px}.royale-preview figcaption strong{font-size:28px}.royale-preview figcaption p{color:var(--muted);margin:8px 0 0}.royale-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0}.royale-features article{padding:25px;border:1px solid #303338;border-radius:14px;background:#19191e}.royale-features h3{font-size:21px;margin:14px 0}.royale-features p,.royale-public-modes p{color:var(--muted);font-size:14px;line-height:1.8}.royale-public-modes{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.royale-public-modes h3{font-size:28px;margin:18px 0}.royale-public-modes small{display:block;color:var(--muted);margin-top:16px;line-height:1.6}.royale-coming{display:inline-block;margin-top:12px;padding:12px 18px;border:1px solid #45463c;border-radius:9px;color:var(--lime)}@media(max-width:700px){.royale-features,.royale-public-modes{grid-template-columns:1fr}.royale-preview figcaption{padding:20px}.royale-preview figcaption strong{font-size:23px}}

.online-lobby{display:grid;grid-template-columns:minmax(230px,.85fr) 1.15fr;border:1px solid #363b32;border-radius:20px;overflow:hidden;background:#18191d;margin-top:22px}.online-fighter{position:relative;padding:24px;background:radial-gradient(ellipse at 50% 40%,#334733,#121417 70%);display:flex;flex-direction:column;align-items:center;border-right:1px solid #363b32}.online-fighter>img{width:100%;max-height:320px;object-fit:contain;border-radius:12px;margin:20px 0}.online-fighter-info{width:100%;padding:18px 8px}.online-fighter-info h3{font-size:28px;margin:12px 0}.online-fighter-info .stats{flex-wrap:wrap;gap:16px}.online-lobby-content{padding:40px;align-self:center}.online-lobby-content h3{font-size:clamp(26px,4vw,42px);line-height:1.15;margin:16px 0}.online-lobby-content>p{color:var(--muted);line-height:1.8}.online-steps{display:flex;flex-wrap:wrap;gap:18px;padding:20px 0;color:var(--lime);font-size:10px;letter-spacing:1px}.online-lobby-content label{margin:18px 0}.online-lobby-content #online-search{width:100%;padding:17px}.online-rules{font-size:11px;border-top:1px solid #35383b;padding-top:20px;margin-top:24px}.online-search-status{display:flex;align-items:center;gap:14px;padding:20px;background:#c7ff670b;border:1px solid #c7ff6744;border-radius:12px;margin:20px 0;color:var(--lime)}.online-pulse{width:12px;height:12px;background:var(--lime);border-radius:50%;animation:online-pulse 1.5s ease-in-out infinite}.online-placeholder{font-size:70px;color:var(--lime);padding:70px 0}.online-lobby #online-error{color:#ffbf87;font-size:13px}@keyframes online-pulse{50%{opacity:.35;box-shadow:0 0 0 8px #c7ff6718}}@media(max-width:700px){.online-lobby{grid-template-columns:1fr}.online-fighter{border-right:0;border-bottom:1px solid #363b32}.online-fighter>img{max-height:240px}.online-lobby-content{padding:25px}}@media(prefers-reduced-motion:reduce){.online-pulse{animation:none}}

.pvp-gameplay-window{position:relative;width:100%;aspect-ratio:709/398;overflow:hidden;background:#18211b}.pvp-gameplay-window img{position:absolute;width:270.8%;max-width:none;height:auto;left:-84.06%;top:-93.97%}.pvp-live-badge{display:inline-flex;align-items:center;gap:10px;color:var(--lime);border:1px solid #c7ff6755;border-radius:25px;padding:12px 18px;font-size:11px;letter-spacing:1px;margin-top:15px}.pvp-live-badge span{width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 12px #c7ff6799}

.earnings-summary{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:18px;margin-bottom:25px}.earnings-summary article>strong{display:block;font-size:clamp(28px,4vw,44px);color:var(--lime);margin:16px 0;overflow-wrap:anywhere}.earnings-summary strong small{font-size:16px}.earnings-summary p{color:var(--muted);font-size:12px}.earnings-table-wrap{overflow-x:auto}.earnings-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.earnings-table th{color:var(--muted);font-size:10px;letter-spacing:1px;padding:15px 12px;border-bottom:1px solid #444}.earnings-table td{padding:18px 12px;border-bottom:1px solid #303338;white-space:nowrap}.earnings-table td small{display:block;color:var(--muted);margin-top:6px}.earnings-amount{color:var(--lime);font-weight:700}@media(max-width:700px){.earnings-summary{grid-template-columns:1fr}}
.stream-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:24px 0}.stream-scene{position:relative;background:radial-gradient(ellipse at center,#273023,#101014 70%);min-height:440px;overflow:hidden;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.stream-scene img{width:100%;max-width:400px;height:360px;object-fit:contain}.stream-state{align-self:flex-start;font-size:13px;color:#aaa}.stream-state.is-live{color:#d5ff72}.stream-caption{text-align:center}.stream-caption h3{margin:10px 0}.stream-caption p{font-size:12px;letter-spacing:2px}.stream-controls label{display:block;margin:22px 0 12px}.stream-controls textarea{display:block;width:100%;margin-top:10px;box-sizing:border-box;resize:vertical}.stream-buttons,.stream-connect{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.stream-link{display:inline-flex;align-items:center;color:#d5ff72;gap:8px}.stream-activity ul{list-style:none;padding:0;max-height:340px;overflow:auto}.stream-activity li{display:flex;gap:18px;border-bottom:1px solid #303034;padding:12px 0;overflow-wrap:anywhere}.stream-activity time{color:#9e9ea8;white-space:nowrap;font-size:12px}.stream-controls .notice:empty{display:none}@media(max-width:850px){.stream-grid{grid-template-columns:1fr}.stream-scene{min-height:340px}.stream-scene img{height:280px}}
