:root{
  --grey:#888888;
  --light-orange:#ffaa00;
  --orange:#ff6a00;
  --white:#e8e8e8;
  --bg:#202020;
  --panel:#071014;
  --panel2:#0d1a1f;
  --panel-deep:#05080a;
  --surface-strong:#10171b;
  --brown:#4d321f;
  --brown2:#604027;
  --cyan:#9ee9df;
  --line:#7a3e08;
  --line2:#a75a09;
  --text-secondary:#8fa3b8;
  --border-soft:#37505c;
  --accent-hover-bg:#6b401d;
  --accent-hover-border:#ba6408;
  --presence-online:#2e9bff;
  --presence-ingame:#ff6a00;
}

html[data-theme="dark"]{
  --bg:#14171a;
  --panel:#0a0e11;
  --panel2:#111820;
  --panel-deep:#05080a;
  --surface-strong:#182029;
  --white:#eef2f5;
  --brown:#232a33;
  --brown2:#2c3540;
  --line:#3a4a55;
  --line2:#3a4a55;
  --text-secondary:#93a7b8;
  --border-soft:#2c3d47;
  --accent-hover-bg:#1f3d47;
  --accent-hover-border:#3a7a8c;
  --cyan:#7fd8cc;
}
html[data-theme="light"]{
  --bg:#eef1f2;
  --panel:#ffffff;
  --panel2:#f5f5f5;
  --panel-deep:#eef2f4;
  --surface-strong:#e6e9eb;
  --white:#181818;
  --brown:#d8c9a8;
  --brown2:#e8d9b8;
  --line:#c99a4a;
  --line2:#c9822f;
  --cyan:#0d6d5c;
  --grey:#555555;
  --text-secondary:#46586a;
  --border-soft:#b9c6cf;
  --accent-hover-bg:#f0d9ad;
  --accent-hover-border:#d9a94a;
}

@font-face{
  font-family:'OpenDyslexic';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@latest/latin-400-normal.woff2) format('woff2'),
      url(https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@latest/latin-400-normal.woff) format('woff');
}
html[data-font="dyslexic"],
html[data-font="dyslexic"] body{
  font-family:'OpenDyslexic',"Varela Round",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html[data-font="system"],
html[data-font="system"] body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
*{scrollbar-width:thin;scrollbar-color:rgba(255,170,0,.35) rgba(255,255,255,.04);}
*::-webkit-scrollbar{width:8px;height:8px;}
*::-webkit-scrollbar-thumb{background:rgba(255,170,0,.35);border-radius:0;}
*::-webkit-scrollbar-thumb:hover{background:rgba(255,170,0,.55);}
*::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:0;}
*::-webkit-scrollbar-corner{background:transparent;}
button{cursor:pointer;touch-action:manipulation}

input,select,textarea{font-size:max(16px,1em)}
html,body{height:100%;margin:0;font-family:"Varela Round",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--white);overflow:hidden;font-size:14px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,select{font:inherit}
#cubeBackground{position:fixed;inset:0;width:100%;height:100%;z-index:0;background:#222}
.app-shell{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--brown) 0 164px,var(--bg) 164px 100%)}
.topbar{height:70px;display:flex;align-items:flex-start;justify-content:space-between;padding:8px 22px 0;border-top:3px solid #1b1b1b}
.brand-block{display:flex;gap:10px;align-items:center}.brand-icon{width:50px;height:50px;object-fit:contain}.brand-title{font-weight:900;font-size:27px;color:var(--light-orange);line-height:25px}.brand-tagline{font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:.3px;line-height:14px}.brand-subtitle{font-size:12px;font-weight:700;color:#ddd;display:none}.top-actions{display:flex;gap:10px;align-items:center}.small{padding:9px 18px;border-radius:0;font-weight:800;font-size:12px}.dark{background:var(--surface-strong);color:var(--white);border:1px solid var(--border-soft)}.orange,.primary{background:var(--orange);color:#080808;border:1px solid #ff8a22}.secondary{background:var(--light-orange);color:#080808;border:1px solid #ffc24a}.account-bubble{width:44px;height:44px;border-radius:50%;border:3px solid var(--orange);background:var(--surface-strong);color:var(--white);display:grid;place-items:center;overflow:hidden}.account-bubble canvas{width:100%!important;height:100%!important}.account-bubble span{font-weight:900;color:var(--light-orange)}
.tabs{height:74px;display:flex;align-items:flex-end;gap:24px;padding:0 0 0 0;border-bottom:2px solid var(--line2);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.tabs::-webkit-scrollbar{display:none}.tab{height:47px;min-width:auto;padding:0 24px;border:1px solid transparent;background:transparent;color:var(--white);font-weight:900;font-size:12px;white-space:nowrap;flex-shrink:0}.tab:hover,.tab.active{background:var(--accent-hover-bg);border-color:var(--accent-hover-border)}.tab.locked::after{content:" LOCKED";color:#aaa;font-size:9px;margin-left:6px}.pages{flex:1;overflow:auto;padding:0 18px 28px}.page{display:none;min-height:100%;padding-top:18px}.page.active{display:block}.page-title,.section-title{color:var(--light-orange);font-size:27px;line-height:1;margin:0 0 16px}.page-subtitle{color:var(--cyan);font-weight:700;margin-top:-8px}.launcher-card{background:color-mix(in srgb, var(--panel) 96%, transparent);border:1px solid var(--line);border-radius:0;box-shadow:0 6px 16px rgba(0,0,0,.55);overflow:hidden}.hero{min-height:232px;background:color-mix(in srgb, var(--brown2) 94%, transparent);display:flex;align-items:center;justify-content:space-between;padding:28px 76px}.hero h1{font-size:54px;margin:0 0 16px;color:var(--light-orange)}.hero h2{font-size:20px;margin:0 0 10px;color:var(--white)}.hero p{font-size:16px;font-weight:800;color:var(--white);margin:0 0 18px}.button-row{display:flex;gap:10px}.button-row button{width:160px;height:45px;border-radius:0;font-weight:900}.hero-avatar-wrap{position:relative;width:360px;height:180px;display:grid;place-items:center}.avatar-render{position:relative;background:transparent}.avatar-render.large{width:320px;height:205px}.avatar-render.editor{width:220px;height:330px}.splash-word{position:absolute;right:30px;top:-6px;color:#d8f300;font-size:17px;font-weight:900;transform:rotate(-15deg);z-index:5}.info-grid{display:grid;gap:10px;margin-top:12px}.info-grid.three{grid-template-columns:repeat(3,1fr)}.info-grid.two{grid-template-columns:repeat(2,1fr)}.mini{padding:14px}.mini h3,.news-grid h3,.launcher-card h3{margin:0 0 8px;color:#eee56c}.mini p{margin:0 0 2px;color:var(--cyan);font-weight:800}.mini small{color:#c8d5d7;font-weight:700}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.news-grid article{min-height:98px;padding:14px}.news-grid p{color:var(--cyan);font-weight:700;margin:0;line-height:1.45}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:980px}.form-card{padding:18px}.form-card label{display:block;margin:12px 0 0;font-weight:800;color:var(--text-secondary)}.form-card input,.settings-card input,.form-card select,.settings-card select{width:100%;height:38px;margin-top:5px;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:0;color:var(--white)}.full{width:100%;height:42px;border-radius:0;font-weight:900;margin-top:14px}.muted{color:var(--text-secondary);font-weight:700}.hidden{display:none!important}.account-home{padding:18px;margin-bottom:10px}.avatar-editor-card{display:grid;grid-template-columns:250px 1fr;min-height:455px}.avatar-side{background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 14px;border-right:1px solid var(--border-soft)}.avatar-side strong{color:var(--light-orange);font-size:12px;margin-top:2px}.editor-main{padding:0 14px 10px}.subtabs{display:flex;height:48px;align-items:center;gap:2px}.subtab{height:32px;padding:0 18px;background:transparent;color:var(--white);border:1px solid transparent;font-weight:900;font-size:12px}.subtab.active{background:var(--accent-hover-bg);border-color:var(--accent-hover-border)}.editor-panel{display:none}.editor-panel.active{display:block}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.color-grid label,.hair-color{display:block;color:#cbd5d8;font-weight:900}.color-grid input[type=color],.hair-color input[type=color]{width:100%;height:31px;background:var(--bg);border:1px solid var(--line);border-radius:0;padding:0}.save-avatar{margin-top:170px}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.asset-grid.wide{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.asset-card{background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:10px;min-height:112px;display:flex;flex-direction:column;gap:8px;position:relative}.asset-card.equipped{border-color:var(--light-orange);box-shadow:0 0 0 1px var(--light-orange) inset}.asset-card.locked{opacity:.65}.asset-thumb{height:70px;background:var(--panel-deep);border-radius:0;display:grid;place-items:center;overflow:hidden}.asset-thumb img{max-width:100%;max-height:100%;object-fit:contain}.asset-thumb .mini-avatar{width:80px;height:70px}.asset-card h3{margin:0;color:var(--white);font-size:14px}.asset-card p{margin:0;color:var(--cyan);font-size:12px;font-weight:800}.asset-card button{margin-top:auto;height:31px;border-radius:0;font-weight:900}.padded{padding:16px}.lock-card{max-width:620px;padding:28px}.lock-card h2{margin:0 0 10px;color:var(--light-orange)}.server-card{padding:18px;max-width:960px}.server-card pre{white-space:pre-wrap;background:var(--panel-deep);border:1px solid var(--border-soft);border-radius:0;padding:14px;color:#bceee7}.settings-card{max-width:820px}.settings-card .settings-save-note{margin-top:14px}.check-row{display:flex!important;gap:10px;align-items:center}.check-row input{width:auto!important;height:auto!important}.toast{position:fixed;right:18px;bottom:70px;z-index:10;background:var(--surface-strong);border:1px solid var(--orange);border-radius:0;padding:12px 16px;color:var(--white);font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.6);display:none}.toast.show{display:block}.rarity-common{color:#eee}.rarity-epic{color:var(--light-orange)}.rarity-legendary{color:#d82121}.locked-note{color:#ffb1a8}.observer-note{color:#b9aaa0}
.search-bar-wrap{display:flex;gap:10px;align-items:center;padding:14px 18px;margin-bottom:14px}.search-input{flex:1;height:42px;padding:0 14px;background:var(--panel2);border:1px solid var(--line);border-radius:0;color:var(--white);font-size:14px;font-weight:700;outline:none}.search-input:focus{border-color:var(--orange)}.search-go-btn{height:42px;padding:0 28px;flex-shrink:0}.search-results-label{color:var(--white);font-size:18px;font-weight:900;margin:0 0 14px}.search-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.search-player-card{background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.search-player-card:hover{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset}.spc-avatar-wrap{width:90px;height:110px;display:flex;align-items:center;justify-content:center}.spc-avatar{width:90px!important;height:110px!important}.spc-name{font-size:14px;font-weight:900;color:var(--light-orange);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.spc-meta{font-size:11px;color:var(--text-secondary);font-weight:700;text-align:center}.search-empty{color:var(--text-secondary);font-weight:700;padding:28px 0;text-align:center}.search-error{color:#ffb1a8;font-weight:700;padding:18px 0}.search-spinner{color:var(--text-secondary);font-weight:700;padding:18px 0;text-align:center}
.profile-content{min-height:100%}.profile-back-btn{background:transparent;border:1px solid var(--border-soft);color:var(--text-secondary);border-radius:0;padding:8px 16px;font-weight:800;cursor:pointer;margin-bottom:18px;font-size:13px}.profile-back-btn:hover{border-color:var(--orange);color:var(--white)}.profile-hero{display:flex;align-items:flex-end;gap:28px;background:color-mix(in srgb, var(--brown2) 70%, transparent);border:1px solid var(--line);border-radius:0;padding:28px 36px;margin-bottom:22px;min-height:220px}.profile-avatar-3d-wrap{position:relative;width:160px;height:220px;flex-shrink:0}.profile-avatar-3d{width:100%;height:100%}.profile-hero-info{flex:1}.profile-username{font-size:42px;font-weight:900;color:var(--light-orange);line-height:1;margin-bottom:6px}.profile-handle{font-size:15px;color:var(--text-secondary);font-weight:700;margin-bottom:10px}.profile-join{font-size:13px;color:var(--cyan);font-weight:700}.profile-last-online{font-size:12px;color:var(--text-secondary);font-weight:700;margin-top:3px}.profile-section-title{font-size:22px;font-weight:900;color:var(--light-orange);margin:0 0 14px}.profile-items-grid{display:flex;gap:12px;flex-wrap:wrap}.profile-item-card{background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:12px;width:140px;display:flex;flex-direction:column;align-items:center;gap:6px}.profile-item-thumb{width:80px;height:80px;background:var(--panel-deep);border-radius:0;display:grid;place-items:center;overflow:hidden}.profile-item-name{font-size:12px;font-weight:900;color:var(--white);text-align:center}.profile-item-rarity{font-size:11px;font-weight:700;text-align:center}

@media(max-width:980px){

  html,body{ overflow:auto; font-size:14px; }
  .app-shell{ min-height:100%; height:auto; }

  .topbar{
    height:auto;
    padding:10px 14px;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
  }
  .brand-icon{ width:38px; height:38px; }
  .brand-title{ font-size:22px; }
  .brand-tagline{ font-size:10px; }
  .top-actions{ gap:8px; }
  .small{ padding:8px 14px; font-size:11px; }

  .tabs{
    height:auto;
    padding:0 0 0 0;
    gap:0;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    flex-shrink:0;
  }
  .tabs::-webkit-scrollbar{ display:none; }
  .tab{
    height:42px;
    min-width:auto;
    padding:0 16px;
    font-size:11px;
    white-space:nowrap;
    flex-shrink:0;
  }

  .pages{ padding:0 12px 28px; }
  .page{ padding-top:14px; }

  .hero{
    padding:22px 18px;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    min-height:auto;
  }
  .hero h1{ font-size:38px; margin-bottom:10px; }
  .hero h2{ font-size:17px; }
  .hero p{ font-size:14px; margin-bottom:14px; }
  .button-row{ flex-wrap:wrap; gap:8px; }
  .button-row button{ width:auto; flex:1; min-width:130px; height:42px; }
  .hero-avatar-wrap{
    width:100%;
    height:auto;
    justify-content:flex-start;
    padding-top:6px;
  }
  .avatar-render.large{ width:200px; height:130px; }
  .splash-word{ right:10px; font-size:14px; }

  .info-grid.three,
  .info-grid.two,
  .news-grid{
    grid-template-columns:1fr;
  }

  .account-grid{ grid-template-columns:1fr; }

  .avatar-editor-card{ grid-template-columns:1fr; }
  .avatar-side{
    flex-direction:row;
    justify-content:center;
    gap:16px;
    padding:12px 14px;
    border-right:none;
    border-bottom:1px solid var(--border-soft);
  }
  .avatar-render.editor{ width:150px; height:220px; }
  .save-avatar{ margin-top:14px; }

  .forum-thread-stats{ display:none; }
  .forum-reply{ padding-left:calc(var(--depth,0)*12px); }

  .profile-hero{
    flex-direction:column;
    align-items:flex-start;
    padding:20px 18px;
    gap:16px;
    min-height:auto;
  }
  .profile-username{ font-size:30px; }
  .profile-avatar-3d-wrap{ width:120px; height:160px; }

  .search-player-grid{ grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); }

  .mp-toolbar{ gap:8px; }
  .mp-search{ width:140px; }
}

@media(max-width:600px){

  .topbar{ padding:8px 12px; }
  .brand-title{ font-size:19px; }
  .brand-tagline{ display:none; }
  .brand-icon{ width:32px; height:32px; }

  #refreshBtn{ padding:8px 10px; font-size:10px; }
  .account-bubble{ width:38px; height:38px; }

  .tab{ height:38px; padding:0 12px; font-size:10px; }

  .pages{ padding:0 10px 24px; }

  .hero{ padding:18px 14px; gap:14px; }
  .hero h1{ font-size:30px; margin-bottom:8px; }
  .hero h2{ font-size:15px; }
  .hero p{ font-size:13px; }
  .button-row button{ height:40px; font-size:13px; }

  .hero-avatar-wrap{ display:none; }

  .download-button-row .download-btn,
  .download-button-row .download-btn-alt{ min-height:44px; font-size:13px; }

  .launcher-card{ border-radius:0; }
  .mini{ padding:12px; }

  .info-grid{ gap:8px; margin-top:8px; }

  .asset-grid{ grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; }
  .asset-grid.wide{ grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); }
  .mp-grid{ grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:10px; }

  .subtabs{ flex-wrap:wrap; height:auto; gap:4px; padding:8px 0; }
  .subtab{ height:30px; padding:0 12px; font-size:11px; }
  .color-grid{ grid-template-columns:1fr 1fr; gap:7px; }
  .avatar-render.editor{ width:130px; height:190px; }
  .avatar-view-toggle{ height:20px; padding:0 7px; font-size:9px; top:4px; right:4px; gap:3px; }
  .avatar-view-toggle-label{ display:none; }
  .avatar-view-hint{ font-size:9px; bottom:4px; }

  .search-bar-wrap{ flex-direction:column; padding:12px; gap:8px; }
  .search-input{ width:100%; }
  .search-go-btn{ width:100%; height:40px; }
  .search-player-grid{ grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; }
  .spc-name{ font-size:12px; max-width:110px; }

  .profile-username{ font-size:24px; }
  .profile-items-grid{ gap:8px; }
  .profile-item-card{ width:120px; }

  .forum-cat-card{ padding:12px 14px; gap:10px; }
  .forum-compose{ padding:12px 14px; }

  .mp-toolbar{ flex-direction:column; align-items:stretch; gap:8px; }
  .mp-filters{ justify-content:center; }
  .mp-right-bar{ justify-content:space-between; }
  .mp-search{ width:100%; flex:1; }

  .toast{ right:10px; bottom:16px; left:10px; right:10px; font-size:13px; }

  .token-display{ padding:4px 10px 4px 6px; font-size:12px; }
  .token-icon-img{ width:20px; height:20px; }

  .lock-card{ padding:20px 16px; }

  .page-title{ font-size:22px; }
  .section-title{ font-size:20px; }
}

@media(max-width:380px){
  .brand-title{ font-size:16px; }
  .hero h1{ font-size:26px; }
  .tab{ padding:0 10px; font-size:9px; }
  .asset-grid{ grid-template-columns:repeat(2,1fr); }
  .mp-grid{ grid-template-columns:repeat(2,1fr); }
  .search-player-grid{ grid-template-columns:repeat(2,1fr); }
}
.avatar-render canvas,
.avatar-canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}
.avatar-preview-wrap{
  position:relative;
  display:inline-block;
  line-height:0;
}
.avatar-view-toggle{
  position:absolute;
  top:6px;
  right:6px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:5px;
  height:24px;
  padding:0 10px;
  border-radius:0;
  background:rgba(8,8,8,.82);
  border:1px solid var(--line2);
  color:#ffaa00;
  font-size:11px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.avatar-view-toggle:hover{
  border-color:var(--light-orange);
  background:rgba(167,90,9,.4);
}
.avatar-view-toggle.is-3d{
  background:rgba(167,90,9,.55);
  border-color:var(--light-orange);
  color:var(--white);
}
.avatar-view-toggle-icon{ font-size:12px; }
.avatar-view-hint{
  position:absolute;
  left:0;
  right:0;
  bottom:6px;
  text-align:center;
  font-size:10px;
  font-weight:800;
  color:var(--text-secondary);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.avatar-preview-wrap.is-3d .avatar-view-hint{ opacity:1; }

#editor-saved{ max-height:400px; overflow-y:auto; padding-right:4px; }
#editor-saved ~ .save-avatar{ margin-top:14px; }
.saved-slots-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
  gap:10px;
}
.saved-slot-card{
  position:relative;
  aspect-ratio:2/3;
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.saved-slot-card.empty{ border-style:dashed; border-color:var(--border-soft); }
.saved-slot-plus{
  width:42px;
  height:42px;
  border-radius:50%;
  border:2px solid var(--line2);
  background:rgba(167,90,9,.15);
  color:#ffaa00;
  font-size:24px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease, border-color .15s ease;
}
.saved-slot-plus:hover{ background:rgba(167,90,9,.4); border-color:var(--light-orange); }
.saved-slot-thumb{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--panel-deep);
}
.saved-slot-thumb img{ width:100%; height:100%; object-fit:contain; display:block; }
.saved-slot-label{
  position:absolute;
  bottom:4px;
  left:0;
  right:0;
  text-align:center;
  font-size:10px;
  font-weight:800;
  color:var(--text-secondary);
  pointer-events:none;
  text-shadow:0 1px 2px rgba(0,0,0,.9);
}
.saved-slot-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:rgba(5,8,10,.74);
  opacity:0;
  transition:opacity .15s ease;
}
.saved-slot-card.filled:hover .saved-slot-overlay,
.saved-slot-card.filled:focus-within .saved-slot-overlay{ opacity:1; }
.saved-slot-action{
  width:82px;
  height:28px;
  border-radius:0;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  border:1px solid;
}
.saved-slot-action.save{ background:rgba(20,20,20,.92); border-color:var(--line2); color:#ffaa00; }
.saved-slot-action.save:hover{ background:rgba(167,90,9,.45); }
.saved-slot-action.load{ background:var(--orange); border-color:#ff8a22; color:#080808; }
.saved-slot-action.load:hover{ background:var(--light-orange); border-color:var(--light-orange); }
@media(max-width:600px){
  .saved-slots-grid{ grid-template-columns:repeat(auto-fill, minmax(96px, 1fr)); gap:8px; }
  #editor-saved{ max-height:340px; }
}
.forum-content{min-height:100%}
.forum-cat-grid{display:flex;flex-direction:column;gap:8px}
.forum-cat-card{display:flex;align-items:center;gap:16px;background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:16px 20px;cursor:pointer;transition:border-color .15s}
.forum-cat-card:hover{border-color:var(--orange)}
.forum-cat-icon{font-size:28px;width:40px;text-align:center;flex-shrink:0}
.forum-cat-info{flex:1}
.forum-cat-name{font-size:16px;font-weight:900;color:var(--light-orange)}
.forum-cat-desc{font-size:12px;color:var(--text-secondary);font-weight:700;margin-top:2px}
.forum-cat-count{font-size:12px;color:var(--text-secondary);font-weight:700;flex-shrink:0}
.forum-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:14px;font-size:13px;font-weight:700;color:var(--text-secondary)}
.forum-bc-link{color:var(--cyan);cursor:pointer}.forum-bc-link:hover{color:var(--orange)}
.forum-bc-sep{color:var(--border-soft)}
.forum-threads-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.forum-new-btn{height:38px;padding:0 20px;font-size:13px}
.forum-thread-list{display:flex;flex-direction:column;gap:6px}
.forum-thread-row{display:flex;align-items:center;gap:16px;background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:12px 16px;cursor:pointer;transition:border-color .15s}
.forum-thread-row:hover{border-color:var(--orange)}.forum-thread-row.pinned{border-color:var(--border-soft)}
.forum-thread-main{flex:1;min-width:0}
.forum-thread-title{font-size:14px;font-weight:900;color:#eee56c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forum-thread-meta{font-size:11px;color:var(--text-secondary);font-weight:700;margin-top:3px}
.forum-thread-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:var(--text-secondary);font-weight:700;flex-shrink:0}
.forum-thread-view{display:flex;flex-direction:column;gap:16px}
.forum-op{background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:18px 20px}
.forum-post-author{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.forum-post-avatar{width:32px!important;height:32px!important;flex-shrink:0;border-radius:0;overflow:hidden}
.forum-reply-avatar{width:26px!important;height:26px!important;flex-shrink:0;border-radius:0;overflow:hidden}
.forum-author-name{font-size:14px;font-weight:900;color:var(--light-orange)}
.forum-author-meta{font-size:11px;color:var(--text-secondary);font-weight:700}
.forum-post-body{font-size:14px;color:var(--white);line-height:1.65;white-space:pre-wrap;word-break:break-word}
.forum-reply-btn{background:transparent;border:none;color:var(--text-secondary);font-weight:800;font-size:12px;cursor:pointer;margin-top:10px;padding:0}
.forum-reply-btn:hover{color:var(--cyan)}
.forum-replies-section{display:flex;flex-direction:column;gap:0}
.forum-replies-title{font-size:16px;font-weight:900;color:var(--light-orange);margin-bottom:12px}
.forum-reply{display:flex;gap:0;margin-top:10px;padding-left:calc(var(--depth,0) * 22px)}
.forum-reply-line{width:2px;background:#1e3040;border-radius:0;margin-right:12px;flex-shrink:0;min-height:100%}
.forum-reply-content{flex:1;background:var(--panel);border:1px solid var(--border-soft);border-radius:0;padding:12px 14px}
.forum-compose{background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:16px 18px}
.forum-compose-label{font-size:13px;font-weight:900;color:var(--cyan);margin-bottom:8px}
.forum-textarea{width:100%;background:var(--panel);border:1px solid var(--border-soft);border-radius:0;color:var(--white);padding:10px;font-size:13px;resize:vertical;font-family:inherit}
.forum-textarea:focus{outline:none;border-color:var(--orange)}
.forum-compose-card{background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:22px}
.forum-label{display:block;font-size:13px;font-weight:900;color:var(--text-secondary)}
.forum-input{width:100%;height:40px;margin-top:5px;padding:0 10px;background:var(--panel);border:1px solid var(--border-soft);border-radius:0;color:var(--white);font-size:13px}
.forum-input:focus{outline:none;border-color:var(--orange)}

.token-display{
  display:flex;
  align-items:center;
  gap:7px;
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:0;
  padding:5px 12px 5px 7px;
  font-weight:900;
  font-size:13px;
  color:var(--light-orange);
  min-height:36px;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.token-icon-img{
  width:25px;
  height:25px;
  object-fit:contain;
  display:block;
  flex-shrink:0;
  image-rendering:auto;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));
}
.token-bal{
  min-width:28px;
  text-align:right;
  color:var(--light-orange);
  letter-spacing:.02em;
}
.token-popup-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.token-popup{
  background:radial-gradient(circle at top,rgba(255,170,0,.16),transparent 42%),var(--panel2);
  border:2px solid var(--orange);
  border-radius:0;
  padding:34px 42px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  min-width:300px;
  box-shadow:0 24px 70px rgba(0,0,0,.6);
}
.token-chest{
  position:relative;
  width:116px;
  height:92px;
  margin-bottom:4px;
  transform-style:preserve-3d;
  transition:transform .4s cubic-bezier(.17,.67,.35,1.4);
}
.token-chest-body{
  position:absolute;
  left:8px;
  right:8px;
  bottom:0;
  height:52px;
  border:4px solid #3b2208;
  border-radius:0;
  background:linear-gradient(180deg,#ffaa00,#d87900);
  box-shadow:inset 0 -8px 0 rgba(0,0,0,.18),0 12px 22px rgba(0,0,0,.28);
}
.token-chest-lid{
  position:absolute;
  left:4px;
  right:4px;
  bottom:48px;
  height:34px;
  border:4px solid #3b2208;
  border-radius:0;
  background:linear-gradient(180deg,#ffd057,#ff9c00);
  transform-origin:50% 100%;
  transition:transform .55s cubic-bezier(.17,.67,.35,1.4);
  box-shadow:inset 0 -7px 0 rgba(0,0,0,.13);
}
.token-chest-lock{
  position:absolute;
  left:50%;
  bottom:37px;
  width:24px;
  height:28px;
  border:4px solid #3b2208;
  border-radius:0;
  background:#ffaa00;
  transform:translateX(-50%);
  z-index:2;
  transition:opacity .25s ease,transform .35s ease;
}
.token-chest-open{
  transform:scale(1.13);
}
.token-chest-open .token-chest-lid{
  transform:rotateX(-68deg) translateY(-3px);
}
.token-chest-open .token-chest-lock{
  opacity:0;
  transform:translateX(-50%) translateY(22px) rotate(18deg);
}
.token-popup-title{
  font-size:24px;
  font-weight:900;
  color:var(--light-orange);
  margin:0;
}
.token-popup-sub{
  font-size:14px;
  color:#9ee9df;
  font-weight:700;
  margin:0;
}
.token-popup-reward{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,170,0,.28);
  border-radius:0;
  background:rgba(255,170,0,.1);
  padding:7px 14px;
  color:var(--light-orange);
  font-size:17px;
  font-weight:900;
}
.token-popup-reward img{
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));
}
.token-claim-btn{
  width:180px;
  height:46px;
  font-size:15px;
  border-radius:0;
}
.token-claim-btn:disabled{
  opacity:.75;
  cursor:not-allowed;
}

.download-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;padding:10px 20px;border-radius:0;font-weight:900;font-size:14px;background:#1a8f3a;color:#fff;border:1px solid #22b34a;text-decoration:none;cursor:pointer;transition:opacity .15s,background .15s;box-sizing:border-box;flex:1 1 0;min-width:0;text-align:center;line-height:1.3}
.download-btn:hover{background:#21aa45;opacity:1}
.download-btn.disabled{background:#2a3a30;color:#5a7a60;border-color:#2a4a30;cursor:not-allowed;pointer-events:none}
.download-version{font-size:11px;font-weight:700;opacity:.75;margin-left:2px}

.download-btn-alt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;padding:10px 18px;border-radius:0;font-weight:900;font-size:12.5px;text-decoration:none;cursor:pointer;transition:opacity .15s,background .15s;box-sizing:border-box;flex:1 1 0;min-width:0;text-align:center;line-height:1.3;background:transparent;color:var(--text-secondary);border:1px solid var(--border-soft)}
.download-btn-alt:hover{background:rgba(255,255,255,.06);color:var(--text-secondary)}
.download-btn-alt.disabled{background:transparent;color:#4a5560;border-color:#2a3540;cursor:not-allowed;pointer-events:none}

.download-button-row{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.download-button-row .download-btn,.download-button-row .download-btn-alt{width:100%;height:100%}

.install-tutorial{
  background:radial-gradient(circle at top,rgba(255,170,0,.16),transparent 42%),var(--panel2);
  border:2px solid var(--orange);
  border-radius:0;
  padding:32px 36px 26px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  width:480px;
  max-width:92vw;
  max-height:88vh;
  overflow-y:auto;
  box-shadow:0 24px 70px rgba(0,0,0,.6);
  position:relative;
  text-align:center;
}
.install-tutorial-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface-strong);color:var(--text-secondary);font-weight:900;font-size:14px;display:grid;place-items:center;cursor:pointer;padding:0}
.install-tutorial-close:hover{border-color:var(--orange);color:var(--white)}
.install-tutorial-step-badge{font-size:11px;font-weight:900;letter-spacing:.5px;color:var(--cyan);text-transform:uppercase}
.install-tutorial-title{font-size:21px;font-weight:900;color:var(--light-orange);margin:0;line-height:1.3}
.install-tutorial-img-wrap{background:var(--panel-deep);border:1px solid var(--line);border-radius:0;padding:14px;display:flex;align-items:center;justify-content:center;min-height:56px;width:100%}
.install-tutorial-img-wrap img{max-width:100%;max-height:64px;object-fit:contain}
.install-tutorial-text{font-size:14px;font-weight:700;color:var(--text-secondary);line-height:1.6;margin:0}
.install-tutorial-note{font-size:12.5px;font-weight:700;color:#ffd089;background:rgba(255,170,0,.08);border:1px solid rgba(255,170,0,.3);border-radius:0;padding:10px 12px;line-height:1.55;text-align:left;width:100%}
.install-tutorial-dots{display:flex;gap:7px;margin-top:2px}
.install-tutorial-dot{width:8px;height:8px;border-radius:50%;background:var(--border-soft);transition:background .15s,transform .15s;cursor:pointer}
.install-tutorial-dot.active{background:var(--orange);transform:scale(1.25)}
.install-tutorial-nav{display:flex;gap:10px;width:100%;margin-top:6px}
.install-tutorial-nav button{flex:1;height:42px;border-radius:0;font-weight:900;font-size:13px}
.install-tutorial-dontshow{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);font-weight:700;margin-top:2px;cursor:pointer}
.install-tutorial-dontshow input{width:auto!important;height:auto!important}

#marketplaceGrid{ display:flex; flex-direction:column; gap:16px; }

.mp-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; justify-content:space-between; padding:12px 16px; background:rgba(10,20,32,.7); border-radius:0; border:1px solid rgba(255,255,255,.07); }
.mp-filters{ display:flex; flex-wrap:wrap; gap:6px; }
.mp-filter-btn{ height:34px; padding:0 16px; border-radius:0; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:var(--text-secondary); font-size:12px; font-weight:700; cursor:pointer; transition:all .15s; }
.mp-filter-btn:hover{ background:rgba(255,255,255,.09); color:var(--text-secondary); }
.mp-filter-btn.active{ background:var(--orange); border-color:var(--orange); color:#0a0e14; }
.mp-right-bar{ display:flex; gap:8px; align-items:center; }
.mp-search{ height:34px; padding:0 12px; border-radius:0; border:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.35); color:var(--text-secondary); font-size:12px; width:180px; outline:none; }
.mp-search:focus{ border-color:var(--orange); }
.mp-sort{ height:34px; padding:0 10px; border-radius:0; border:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.35); color:var(--text-secondary); font-size:12px; cursor:pointer; outline:none; }

.mp-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:14px; }
.mp-empty{ color:var(--text-secondary); font-size:14px; padding:24px 0; text-align:center; }

.mp-card{ background:rgba(10,18,28,.92); border:1px solid rgba(255,255,255,.07); border-radius:0; overflow:hidden; display:flex; flex-direction:column; transition:border-color .15s,transform .12s; cursor:default; }
.mp-card:hover{ border-color:rgba(255,255,255,.18); transform:translateY(-2px); }
.mp-card.mp-sold-out, .mp-card.mp-offsale{ opacity:.6; }

.mp-thumb-wrap{ position:relative; background:rgba(6,12,20,.8); aspect-ratio:1; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.mp-thumb{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.mp-thumb img{ width:80%; height:80%; object-fit:contain; }
.mp-no-item{ font-size:22px; color:#555; }

.mp-badge{ position:absolute; top:6px; left:6px; font-size:9px; font-weight:900; letter-spacing:.04em; padding:3px 7px; border-radius:0; z-index:2; line-height:1.3; }
.limited-badge{ background:#e5a100; color:#0a0600; }
.limitedS-badge{ background:linear-gradient(105deg,#e5a100,#ff4d00); color:#fff; }

.mp-info{ padding:10px 12px 12px; display:flex; flex-direction:column; gap:4px; flex:1; }
.mp-type{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; opacity:.7; }
.mp-name{ font-size:13px; font-weight:800; color:var(--white); line-height:1.3; }
.mp-rarity{ font-size:10px; font-weight:700; text-transform:capitalize; }
.mp-desc{ font-size:11px; color:#7a8fa8; line-height:1.4; margin-top:2px; }

.mp-stock-wrap{ height:4px; background:rgba(255,255,255,.1); border-radius:0; margin-top:6px; overflow:hidden; }
.mp-stock-bar{ height:100%; background:linear-gradient(90deg,#e5a100,#ff6a00); border-radius:0; transition:width .4s; }
.mp-stock-label{ font-size:10px; color:var(--text-secondary); margin-top:2px; }

.mp-serial{ display:inline-block; font-size:10px; font-weight:800; color:#e5a100; background:rgba(229,161,0,.12); border:1px solid rgba(229,161,0,.3); border-radius:0; padding:2px 7px; margin-top:4px; }

.mp-price{ font-size:12px; font-weight:700; color:var(--text-secondary); margin-top:4px; }
.mp-token-sym{ width:14px; height:14px; object-fit:contain; vertical-align:-2px; filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)); }

.mp-btn{ margin-top:auto; width:100%; height:34px; border-radius:0; font-size:12px; font-weight:800; border:none; cursor:pointer; transition:opacity .15s,filter .15s; }
.mp-btn-buy{ background:var(--orange); color:#080808; }
.mp-btn-buy:hover{ filter:brightness(1.1); }
.mp-btn-free{ background:#1a8f3a; color:#fff; }
.mp-btn-free:hover{ filter:brightness(1.12); }
.mp-btn-owned{ background:rgba(255,255,255,.07); color:#5a7a8a; cursor:default; }
.mp-btn-soldout{ background:rgba(180,50,30,.25); color:#c06050; cursor:default; }
.mp-btn-offsale{ background:rgba(255,255,255,.08); color:#8a99a6; cursor:default; }
.mp-btn-muted{ background:rgba(255,255,255,.06); color:#4a6070; cursor:default; }

@keyframes fadeSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0);    }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes toastSlide {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0);    }
}
@keyframes splashWiggle {
  0%,100% { transform: rotate(-15deg) scale(1); }
  25%      { transform: rotate(-18deg) scale(1.07); }
  75%      { transform: rotate(-12deg) scale(1.04); }
}
@keyframes splashChange {
  0%   { opacity: 0; transform: rotate(-15deg) scale(0.75) translateY(-8px); }
  100% { opacity: 1; transform: rotate(-15deg) scale(1)    translateY(0);    }
}
@keyframes legendaryShimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}
@keyframes downloadPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(26,143,58,.5); }
  50%       { box-shadow: 0 0 0 8px rgba(26,143,58,0); }
}
@keyframes cardStagger {
  from { opacity: 0; transform: translateY(14px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1);    }
}
@keyframes tabUnderlineSlide {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
@keyframes tokenPop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.18); }
  70%  { transform: scale(0.92); }
  100% { transform: scale(1); }
}

.page.active {
  animation: fadeSlideIn 0.22s cubic-bezier(.25,.46,.45,.94) both;
}

.toast.show {
  animation: toastSlide 0.22s cubic-bezier(.25,.46,.45,.94) both;
}

.splash-word {
  animation: splashWiggle 3.2s ease-in-out infinite;
  cursor: default;
  user-select: none;
}
.splash-word.changing {
  animation: splashChange 0.28s cubic-bezier(.34,1.56,.64,1) both;
}

.tab {
  position: relative;
  transition: background 0.14s, color 0.14s;
}
.tab.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0; right: 0;
  height: 3px;
  background: var(--orange);
  border-radius:0;
  transform-origin: left;
  animation: tabUnderlineSlide 0.2s ease both;
}

button, .btn {
  transition: opacity 0.12s, filter 0.12s, transform 0.1s, box-shadow 0.12s;
}
button:not(:disabled):active,
.btn:not(.disabled):active {
  transform: scale(0.95);
}
button:not(:disabled):hover,
.btn:not(.disabled):hover {
  filter: brightness(1.08);
}
.primary:hover, .orange:hover {
  box-shadow: 0 0 12px rgba(255,106,0,.4);
}
.secondary:hover {
  box-shadow: 0 0 12px rgba(255,170,0,.35);
}

.download-btn:not(.disabled) {
  animation: downloadPulse 2.4s ease-in-out infinite;
}
.download-btn:not(.disabled):hover {
  animation: none;
  box-shadow: 0 0 18px rgba(26,143,58,.65);
}

.launcher-card {
  transition: box-shadow 0.18s, border-color 0.18s, transform 0.18s;
}
.launcher-card:not(.hero):hover {
  box-shadow: 0 10px 28px rgba(0,0,0,.7);
  transform: translateY(-2px);
}

.asset-card, .mp-card, .search-player-card {
  animation: cardStagger 0.28s cubic-bezier(.25,.46,.45,.94) both;
}
.asset-card:nth-child(1),  .mp-card:nth-child(1),  .search-player-card:nth-child(1)  { animation-delay: 0.00s; }
.asset-card:nth-child(2),  .mp-card:nth-child(2),  .search-player-card:nth-child(2)  { animation-delay: 0.04s; }
.asset-card:nth-child(3),  .mp-card:nth-child(3),  .search-player-card:nth-child(3)  { animation-delay: 0.08s; }
.asset-card:nth-child(4),  .mp-card:nth-child(4),  .search-player-card:nth-child(4)  { animation-delay: 0.12s; }
.asset-card:nth-child(5),  .mp-card:nth-child(5),  .search-player-card:nth-child(5)  { animation-delay: 0.15s; }
.asset-card:nth-child(6),  .mp-card:nth-child(6),  .search-player-card:nth-child(6)  { animation-delay: 0.18s; }
.asset-card:nth-child(n+7),.mp-card:nth-child(n+7),.search-player-card:nth-child(n+7){ animation-delay: 0.20s; }

.rarity-legendary {
  background: linear-gradient(90deg, #d82121, #ff6a20, #ffaa00, #ff6a20, #d82121);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: legendaryShimmer 2.4s linear infinite;
  will-change: background-position;
}

.mp-badge .rarity-legendary,
span.rarity-legendary {
  background: none;
  -webkit-text-fill-color: #d82121;
  color: #d82121;
  animation: none;
}
.asset-card .rarity-legendary,
.mp-card .rarity-legendary {
  -webkit-text-fill-color: transparent;
}

.token-display.updated {
  animation: tokenPop 0.35s cubic-bezier(.34,1.56,.64,1) both;
}

.forum-cat-card, .forum-thread-row, .profile-item-card {
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.forum-cat-card:hover, .forum-thread-row:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 18px rgba(0,0,0,.5);
}

.subtab {
  transition: background 0.14s, border-color 0.14s;
}

.search-input:focus, .forum-input:focus, .forum-textarea:focus,
.form-card input:focus, input[type="text"]:focus, input[type="password"]:focus {
  box-shadow: 0 0 0 2px rgba(255,106,0,.25);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.account-bubble {
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}
.account-bubble:hover {
  border-color: var(--light-orange);
  box-shadow: 0 0 12px rgba(255,170,0,.4);
  transform: scale(1.06);
}

.token-popup-overlay {
  animation: fadeIn 0.18s ease both;
}
.token-popup {
  animation: fadeSlideIn 0.24s cubic-bezier(.34,1.2,.64,1) both;
}

.hero {
  animation: fadeIn 0.35s ease both;
}
.hero h1 {
  animation: fadeSlideIn 0.35s 0.05s cubic-bezier(.25,.46,.45,.94) both;
}
.hero h2, .hero p {
  animation: fadeSlideIn 0.35s 0.10s cubic-bezier(.25,.46,.45,.94) both;
}
.button-row {
  animation: fadeSlideIn 0.35s 0.15s cubic-bezier(.25,.46,.45,.94) both;
}

.mp-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.55);
}

@keyframes equippedGlow {
  0%,100% { box-shadow: 0 0 0 1px var(--light-orange) inset, 0 0 6px rgba(255,170,0,.3); }
  50%      { box-shadow: 0 0 0 1px var(--light-orange) inset, 0 0 14px rgba(255,170,0,.5); }
}
.asset-card.equipped {
  animation: equippedGlow 2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.clothing-thumb-wrap {
  background: var(--panel2);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.clothing-thumb-wrap img {
  max-width: 90%;
  max-height: 90%;
  image-rendering: pixelated;
  object-fit: contain;
}

.vg-preview-loading{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:var(--panel-deep);color:var(--text-secondary);
}
.vg-preview-loading span{
  width:22px;height:22px;border-radius:50%;display:block;
  border:3px solid rgba(143,163,184,.25);border-top-color:#ffaa00;
  animation:vgPreviewSpin .75s linear infinite;
}
@keyframes vgPreviewSpin{to{transform:rotate(360deg)}}

#marketplaceGrid.marketplace-paged,
#inventoryGrid.inventory-paged{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.market-search-box{
  padding:18px 0 22px;
}
.launcher-market-grid,
.inventory-market-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.launcher-mp-card{
  min-height:265px;
  border-color:#3c2a18;
  background:#091017;
  cursor:pointer;
}
.launcher-mp-card:hover{
  border-color:var(--light-orange);
  box-shadow:0 0 0 1px rgba(255,170,0,.4) inset,0 8px 24px rgba(0,0,0,.55);
}
.launcher-mp-card .mp-thumb-wrap{
  aspect-ratio:2.35/1;
  min-height:132px;
  background:var(--panel-deep);
}
.launcher-mp-card .mp-info{
  min-height:130px;
}
.vg-page-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:4px 0 10px;
  color:var(--text-secondary);
  font-weight:900;
  font-size:12px;
}
.vg-page-pager button{
  height:34px;
  min-width:92px;
  border-radius:0;
  font-weight:900;
}
.vg-page-pager button:disabled{
  opacity:.45;
  cursor:not-allowed;
  filter:grayscale(.4);
}
.item-content{min-height:100%;}
.item-detail-card{
  display:grid;
  grid-template-columns:minmax(280px,430px) 1fr;
  gap:26px;
  padding:22px;
  min-height:430px;
}
.item-detail-preview{
  background:var(--panel-deep);
  border:1px solid var(--border-soft);
  border-radius:0;
  display:grid;
  place-items:center;
  min-height:390px;
  overflow:hidden;
}
.item-detail-preview{
  background:var(--panel-deep);
  border:1px solid var(--border-soft);
  border-radius:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:390px;
  overflow:hidden;
  position:relative;
  padding:10px;
}
.item-hero-avatar{
  width:100%;
  height:350px;
  min-height:280px;
}
.item-preview-controls{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:8px 4px 0;
}
.item-tryon-btn{
  height:38px;
  min-width:118px;
  padding:0 18px;
  border-radius:0;
  font-weight:900;
  border:1px solid #ffffff;
  color:#ffffff;
  background:rgba(24,38,46,.92);
  box-shadow:0 0 0 1px rgba(255,255,255,.1) inset;
}
.item-tryon-btn:hover:not(:disabled),
.item-tryon-btn.active{
  background:#ffffff;
  color:#121820;
}
.item-tryon-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.item-preview-hint{
  color:var(--text-secondary);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.avatar-turntable{cursor:grab;}
.avatar-turntable:active{cursor:grabbing;}
.item-detail-info h2{
  margin:8px 0 8px;
  color:var(--light-orange);
  font-size:38px;
  line-height:1.05;
}
.item-detail-rarity{
  font-size:14px;
  font-weight:900;
  text-transform:capitalize;
  margin-bottom:14px;
}
.item-detail-info p{
  color:var(--text-secondary);
  font-weight:700;
  line-height:1.55;
  max-width:680px;
}
.item-detail-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:8px;
  margin:18px 0;
}
.item-detail-meta span,
.item-detail-stock{
  background:var(--panel2);
  border:1px solid var(--border-soft);
  border-radius:0;
  padding:10px 12px;
  color:var(--text-secondary);
  font-weight:800;
}
.item-detail-meta strong,
.item-detail-stock strong{color:var(--white);}
.item-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:12px;
}
.item-action-btn,
.item-vote-btn{
  height:42px;
  padding:0 20px;
  border-radius:0;
  font-weight:900;
  border:1px solid var(--border-soft);
}
.item-action-btn:disabled{opacity:.55;cursor:not-allowed;}
.item-vote-btn{
  background:var(--surface-strong);
  color:var(--text-secondary);
}
.item-vote-btn.active{
  border-color:var(--light-orange);
  color:var(--light-orange);
  box-shadow:0 0 0 1px rgba(255,170,0,.35) inset;
}
.item-vote-btn.dislike.active{
  border-color:#d82121;
  color:#ff8a8a;
}
.rarity-border-common{border-color:var(--line);}
.rarity-border-epic{border-color:var(--light-orange);}
.rarity-border-legendary{border-color:#d82121;}

.crate-banner-wrap{margin-bottom:24px;}
.crate-banner-row{display:flex;flex-direction:column;gap:16px;}
.crate-card{
  --crate-bg: #1b1208;
  --crate-border: var(--light-orange);
  --crate-accent: var(--light-orange);
  --crate-glow: rgba(255,170,0,.35);
  position:relative;
  overflow:hidden;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:14px;
  background:
    repeating-conic-gradient(from 0deg at 50% 30%, rgba(255,255,255,.05) 0deg 5deg, transparent 5deg 18deg),
    radial-gradient(circle at top center, var(--crate-glow), transparent 62%),
    var(--crate-bg);
  border:2px solid var(--crate-border);
  border-radius:0;
  padding:18px 20px 20px;
  box-shadow:0 6px 18px rgba(0,0,0,.4), 0 0 24px var(--crate-glow);
  cursor:pointer;
  transition:transform .15s, box-shadow .15s;
  animation:crateGlowPulse 2.4s ease-in-out infinite;
}
.crate-card:hover{
  transform:translateY(-4px) scale(1.01);
  box-shadow:0 12px 30px rgba(0,0,0,.55), 0 0 38px var(--crate-glow);
}
.crate-card::before{
  content:"";
  position:absolute;
  top:-30%;
  left:-20%;
  width:35%;
  height:160%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.22), transparent);
  transform:rotate(8deg);
  pointer-events:none;
  animation:crateShineSweep 3.6s ease-in-out infinite;
}
@keyframes crateGlowPulse{
  0%,100%{ box-shadow:0 6px 18px rgba(0,0,0,.4), 0 0 22px var(--crate-glow); }
  50%{ box-shadow:0 6px 18px rgba(0,0,0,.4), 0 0 42px var(--crate-glow); }
}
@keyframes crateShineSweep{
  0%{ left:-30%; }
  100%{ left:130%; }
}
@media (prefers-reduced-motion: reduce){
  .crate-card, .crate-card::before, .crate-open-btn{ animation:none !important; }
}

.crate-podium-row-mini{display:flex;align-items:flex-end;justify-content:center;gap:10px;padding:4px 0 0;}
.crate-podium-mini{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 1 120px;min-width:0;}
.crate-podium-mini.crate-podium-center{flex:0 1 148px;}
.crate-podium-mini.crate-podium-side{flex:0 1 112px;margin-bottom:16px;}
.crate-podium-mini.crate-podium-empty{visibility:hidden;}
.crate-podium-thumb-mini{
  width:100%;aspect-ratio:1;background:rgba(0,0,0,.32);border-radius:0;overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 8px 16px rgba(0,0,0,.35);
}
.crate-podium-mini.crate-podium-center .crate-podium-thumb-mini{
  box-shadow:0 0 0 2px var(--crate-accent), 0 0 22px var(--crate-glow), 0 10px 20px rgba(0,0,0,.4);
}
.crate-podium-pedestal-mini{
  width:70%;height:7px;border-radius:0;
  background:linear-gradient(180deg, var(--crate-accent), transparent);opacity:.85;
}

.crate-podium-badge{
  font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 9px;border-radius:0;border:1px solid currentColor;background:rgba(0,0,0,.4);
  white-space:nowrap;
}
.crate-podium-name{
  font-size:12px;font-weight:800;color:var(--text-secondary);text-align:center;line-height:1.25;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

.crate-info{display:flex;align-items:center;gap:10px;}
.crate-info-text{flex:1;min-width:0;}
.crate-icon-small{width:34px;height:34px;border-radius:0;object-fit:contain;background:rgba(0,0,0,.3);flex-shrink:0;}
.crate-name{font-size:17px;font-weight:900;color:var(--crate-accent);line-height:1.2;}
.crate-desc{font-size:12px;color:#b9c6d2;font-weight:600;margin-top:2px;}
.crate-open-btn{
  width:100%;
  max-width:340px;
  margin:0 auto;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--crate-accent), var(--crate-border));
  border:none;
  color:#1a0f00;
  font-size:16px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  border-radius:0;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  animation:crateBtnPulse 1.7s ease-in-out infinite;
}
.crate-open-btn:hover{ filter:brightness(1.08); }
@keyframes crateBtnPulse{
  0%,100%{ transform:scale(1); box-shadow:0 4px 14px rgba(0,0,0,.35), 0 0 0 0 var(--crate-glow); }
  50%{ transform:scale(1.02); box-shadow:0 4px 14px rgba(0,0,0,.35), 0 0 16px 4px var(--crate-glow); }
}

.crate-detail-header-compact{ text-align:center; margin-bottom:8px; }
.crate-detail-title{ font-size:21px; font-weight:900; margin:0 0 4px; }
.crate-detail-desc{ color:#c7d2db; font-size:13px; margin:0; }

.crate-stage-block{
  display:flex;
  flex-direction:column;
  height:calc(100vh - 230px);
  min-height:380px;
}
.crate-stage-viewport{
  flex:1;
  min-height:0;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-radius:0;
  background:
    radial-gradient(circle at 50% 42%, transparent 38%, var(--crate-glow, rgba(255,170,0,.35)) 41%, transparent 47%),
    radial-gradient(circle at 50% 42%, transparent 55%, var(--crate-accent, rgba(255,170,0,.5)) 58%, transparent 64%),
    radial-gradient(circle at 50% 100%, var(--crate-glow, rgba(255,170,0,.18)), transparent 70%),
    var(--crate-bg, var(--panel2));
  border:2px solid var(--crate-border, var(--light-orange));
  box-shadow:0 0 40px var(--crate-glow, transparent), 0 20px 50px rgba(0,0,0,.5);
}
.crate-stage-track{
  --stage-slot-width: 380px;
  display:flex;
  align-items:center;
  height:100%;
  transition:transform .45s cubic-bezier(.22,.9,.32,1);
  will-change:transform;
}
.crate-stage-slot{
  flex:0 0 var(--stage-slot-width);
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px;
  cursor:pointer;
  opacity:.32;
  transform:scale(.6);
  transition:opacity .4s ease, transform .4s ease;
}
.crate-stage-slot.active{ opacity:1; transform:scale(1); cursor:default; }
.crate-stage-media{
  flex:1;
  width:100%;
  min-height:0;
  position:relative;
  border-radius:0;
  overflow:hidden;
  background:rgba(0,0,0,.3);
}
.crate-stage-media img{ filter:drop-shadow(0 16px 26px rgba(0,0,0,.45)); }

.crate-stage-media.crate-aura{
  box-shadow:
    0 0 46px 12px rgba(var(--aura-rgb1, 255,170,0), .55),
    0 0 90px 28px rgba(var(--aura-rgb2, 255,170,0), .28);
  animation:crateAuraPulse 2s ease-in-out infinite;
}
.crate-stage-slot.active .crate-stage-media.crate-aura{
  box-shadow:
    0 0 60px 16px rgba(var(--aura-rgb1, 255,170,0), .65),
    0 0 120px 36px rgba(var(--aura-rgb2, 255,170,0), .35);
}
@keyframes crateAuraPulse{ 0%,100%{ filter:brightness(1); } 50%{ filter:brightness(1.1); } }

.crate-stage-avatar{ width:100%; height:100%; opacity:0; transition:opacity .25s ease; }
.crate-stage-avatar.crate-stage-avatar-ready{ opacity:1; }
.crate-stage-avatar canvas{ cursor:grab; }
.crate-stage-slot-name{
  font-size:15px;font-weight:900;color:var(--white);text-align:center;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  flex:0 0 auto;
}
.crate-stage-slot.active .crate-stage-slot-name{ font-size:19px; text-shadow:0 0 16px var(--crate-glow, transparent); }
.crate-stage-slot-chance{ font-size:11px;font-weight:700;color:var(--text-secondary); opacity:.8; flex:0 0 auto; }

.crate-stage-open-row{ flex:0 0 auto; display:flex; justify-content:center; padding:10px 0 4px; }
.crate-stage-open-row .crate-open-btn{ max-width:340px; }

.crate-selector-row{
  flex:0 0 auto;
  display:flex;
  gap:12px;
  padding:6px 6px 4px;
  overflow-x:auto;
}
.crate-selector-btn{
  flex:0 0 auto;
  width:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:8px 6px;
  border-radius:0;
  border:2px solid transparent;
  background:rgba(0,0,0,.25);
  cursor:pointer;
  transition:border-color .15s, background .15s;
}
.crate-selector-btn.active{
  border-color:var(--crate-accent, var(--light-orange));
  background:rgba(255,170,0,.14);
}
.crate-selector-thumb{
  width:100%;
  aspect-ratio:3/4;
  border-radius:0;
  overflow:hidden;
  background:rgba(0,0,0,.3);
}

.crate-selector-thumb.crate-aura{
  box-shadow:
    0 0 26px 6px rgba(var(--aura-rgb1, 255,170,0), .55),
    0 0 50px 14px rgba(var(--aura-rgb2, 255,170,0), .28);
}
.crate-selector-name{
  font-size:10px;font-weight:800;color:var(--text-secondary);text-align:center;line-height:1.2;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.crate-selector-chance{ font-size:10px;font-weight:900;color:var(--text-secondary); }
@media (prefers-reduced-motion: reduce){
  .crate-stage-media.crate-aura{ animation:none !important; }
  .crate-stage-slot{ transition:none !important; }
  .crate-stage-track{ transition:none !important; }
}
@media(max-width:700px){
  .crate-stage-block{ height:calc(100vh - 200px); min-height:380px; }
  .crate-stage-track{ --stage-slot-width: 260px; }
  .crate-stage-slot.active .crate-stage-slot-name{ font-size:16px; }
  .crate-selector-btn{ width:70px; }
}

.mp-price-original{text-decoration:line-through;color:#6b7a87;font-weight:700;font-size:11px;}
.mp-price-discounted{font-weight:900;}

.crate-result-popup{
  position:relative;
  overflow:visible;
  background:radial-gradient(circle at top, var(--crate-glow, rgba(255,170,0,.16)), transparent 58%), var(--crate-bg, var(--panel2));
  border-color:var(--crate-border, var(--orange));
  box-shadow:0 24px 70px rgba(0,0,0,.6), 0 0 50px var(--crate-glow, transparent);
  animation:crateResultPopIn .4s cubic-bezier(.17,.67,.35,1.4);
}
@keyframes crateResultPopIn{
  0%{ transform:scale(.82); opacity:0; }
  100%{ transform:scale(1); opacity:1; }
}
.crate-result-popup::before,
.crate-result-popup::after{
  content:"";
  position:absolute;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--crate-accent, #fff);
  box-shadow:0 0 10px 3px var(--crate-accent, #fff);
  animation:crateResultSparkle 1.7s ease-in-out infinite;
  pointer-events:none;
}
.crate-result-popup::before{ top:10%; left:8%; animation-delay:.15s; }
.crate-result-popup::after{ top:16%; right:9%; animation-delay:.65s; }
@keyframes crateResultSparkle{
  0%,100%{ opacity:0; transform:scale(.3); }
  50%{ opacity:1; transform:scale(1); }
}
.crate-result-title-win{
  color:var(--crate-accent, var(--light-orange));
  text-shadow:0 0 18px var(--crate-glow, rgba(255,170,0,.5));
  animation:crateResultTitlePulse 1.1s ease-in-out infinite;
}
@keyframes crateResultTitlePulse{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.05); }
}
.crate-result-badge{ margin:0 auto; }
.crate-result-thumb-wrap{
  width:120px;
  height:120px;
  border-radius:0;
  overflow:hidden;
  background:rgba(0,0,0,.35);
  box-shadow:0 0 0 2px var(--crate-accent, var(--light-orange)), 0 0 32px var(--crate-glow, rgba(255,170,0,.35));
  margin:2px auto;
}
.crate-result-thumb-dupe{
  filter:grayscale(.55) brightness(.8);
  box-shadow:0 0 0 2px #6b7a87, 0 0 16px rgba(0,0,0,.4);
}
.crate-result-item-name{ font-size:18px; }
.crate-result-close-btn{
  background:var(--crate-accent, var(--light-orange));
  border-color:var(--crate-accent, var(--light-orange));
  color:#1a0f00;
}
@media (prefers-reduced-motion: reduce){
  .crate-result-popup, .crate-result-popup::before, .crate-result-popup::after, .crate-result-title-win{ animation:none !important; }
}
.crate-result-coupon{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  border:1px solid currentColor;
  border-radius:0;
  padding:14px 22px;
  font-size:22px;
  font-weight:900;
}
.crate-result-coupon-sub{font-size:12px;font-weight:700;opacity:.8;}

.mp-highlight-row{
  display:flex;
  flex-direction:column;
  gap:12px;
  background:rgba(13,26,31,.85);
  border:1px solid var(--line);
  border-radius:0;
  padding:18px 20px 22px;
  box-shadow:0 6px 18px rgba(0,0,0,.4);
}
.mp-highlight-header{display:flex;flex-direction:column;gap:2px;}
.market-search-header{margin:0 0 14px;}
.mp-highlight-subtitle{font-size:12px;color:var(--text-secondary);font-weight:700;margin:0;}
.mp-highlight-title{color:var(--light-orange);font-size:19px;font-weight:900;margin:0;line-height:1;text-shadow:0 0 14px rgba(255,170,0,.35);}
.mp-highlight-track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:4px 4px 12px;}

.mp-card-compact{
  flex:0 0 205px;
  min-height:auto;
  position:relative;
  border-color:rgba(255,170,0,.22);
  background:linear-gradient(165deg,rgba(255,170,0,.07),rgba(10,18,28,.94) 55%);
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.mp-card-compact .mp-thumb-wrap{aspect-ratio:1;min-height:0;}
.mp-card-compact .mp-info{min-height:0;padding:8px 10px 10px;}
.mp-card-compact:hover{
  border-color:var(--light-orange);
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 0 0 1px rgba(255,170,0,.5) inset,0 12px 28px rgba(0,0,0,.55),0 0 20px rgba(255,170,0,.3);
}

.mp-new-ribbon{
  position:absolute;
  top:9px;
  right:-30px;
  width:112px;
  padding:3px 0;
  background:linear-gradient(135deg,#ff4444,#c4001f);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  transform:rotate(40deg);
  box-shadow:0 2px 8px rgba(0,0,0,.45);
  z-index:3;
  pointer-events:none;
}

@media(max-width:600px){
  .mp-card-compact{flex:0 0 165px;}
  .mp-highlight-title{font-size:16px;}
  .mp-new-ribbon{font-size:9px;width:96px;right:-28px;}
}

@media(max-width:980px){
  .launcher-market-grid,.inventory-market-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .item-detail-card{grid-template-columns:1fr;}
  .item-detail-preview{min-height:300px;}
  .item-hero-avatar{height:300px;}
}
@media(max-width:600px){
  .launcher-market-grid,.inventory-market-grid{grid-template-columns:1fr;}
  .launcher-mp-card .mp-thumb-wrap{min-height:150px;}
  .item-detail-info h2{font-size:28px;}
}

.mp-creator,
.item-detail-creator{
  color:var(--text-secondary);
  font-weight:900;
  font-size:12px;
  margin-top:4px;
}
.mp-creator a,
.item-detail-creator a{
  color:var(--cyan);
  text-decoration:none;
  font-weight:900;
}
.mp-creator a:hover,
.item-detail-creator a:hover{
  color:var(--light-orange);
  text-decoration:underline;
}
.item-detail-creator{
  font-size:14px;
  margin:0 0 14px;
}

.rarity-rare,
.asset-card .rarity-rare,
.mp-card .rarity-rare,
.profile-item-card .rarity-rare,
.item-detail-rarity.rarity-rare,
.mp-type.rarity-rare,
.mp-rarity.rarity-rare {
  color: #cc66ff !important;
  -webkit-text-fill-color: #cc66ff !important;
  background: none !important;
  animation: none !important;
}

.rarity-border-rare {
  border-color: #cc66ff !important;
}

.rarity-uncommon,
.asset-card .rarity-uncommon,
.mp-card .rarity-uncommon,
.profile-item-card .rarity-uncommon,
.item-detail-rarity.rarity-uncommon,
.mp-type.rarity-uncommon,
.mp-rarity.rarity-uncommon {
  color: #ffff99 !important;
  -webkit-text-fill-color: #ffff99 !important;
  background: none !important;
  animation: none !important;
}

.rarity-ultra_rare,
.rarity-ultra-rare,
.rarity-ultra,
.asset-card .rarity-ultra_rare,
.asset-card .rarity-ultra-rare,
.mp-card .rarity-ultra_rare,
.mp-card .rarity-ultra-rare,
.profile-item-card .rarity-ultra_rare,
.profile-item-card .rarity-ultra-rare,
.item-detail-rarity.rarity-ultra_rare,
.item-detail-rarity.rarity-ultra-rare,
.mp-type.rarity-ultra_rare,
.mp-type.rarity-ultra-rare,
.mp-rarity.rarity-ultra_rare,
.mp-rarity.rarity-ultra-rare {
  color: #0066cc !important;
  -webkit-text-fill-color: #0066cc !important;
  background: none !important;
  animation: none !important;
}

.rarity-mythical,
.asset-card .rarity-mythical,
.mp-card .rarity-mythical,
.profile-item-card .rarity-mythical,
.item-detail-rarity.rarity-mythical,
.mp-type.rarity-mythical,
.mp-rarity.rarity-mythical {
  background: linear-gradient(90deg, #19d9ff, #0066cc, #003b8f, #0066cc, #19d9ff) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  color: #19d9ff !important;
  animation: legendaryShimmer 2.4s linear infinite !important;
  will-change: background-position !important;
}

.mp-badge .rarity-mythical,
span.rarity-mythical:not(.vg-rarity-cycle-text):not(.vg-rarity-cycle-char) {
  background: none !important;
  -webkit-text-fill-color: #19d9ff !important;
  color: #19d9ff !important;
  animation: none !important;
}

.rarity-border-uncommon { border-color: #ffff99 !important; }
.rarity-border-ultra_rare,
.rarity-border-ultra-rare { border-color: #0066cc !important; }
.rarity-border-mythical { border-color: #19d9ff !important; }

.rarity-exotic,
.asset-card .rarity-exotic,
.mp-card .rarity-exotic,
.profile-item-card .rarity-exotic,
.item-detail-rarity.rarity-exotic,
.mp-type.rarity-exotic,
.mp-rarity.rarity-exotic {
  background: linear-gradient(90deg, #ff0000, #ff9900, #ffee00, #33cc33, #0099ff, #6633ff, #ff00cc, #ff0000) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: legendaryShimmer 2.4s linear infinite !important;
  will-change: background-position !important;
}
.mp-badge .rarity-exotic,
span.rarity-exotic:not(.vg-rarity-cycle-text):not(.vg-rarity-cycle-char) {
  background: none !important;
  -webkit-text-fill-color: #ff00cc !important;
  color: #ff00cc !important;
  animation: none !important;
}

.rarity-seasonal,
.asset-card .rarity-seasonal,
.mp-card .rarity-seasonal,
.profile-item-card .rarity-seasonal,
.item-detail-rarity.rarity-seasonal,
.mp-type.rarity-seasonal,
.mp-rarity.rarity-seasonal {
  background: linear-gradient(90deg, #ff0000, #ff6b70, #ff0000) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: legendaryShimmer 2.4s linear infinite !important;
  will-change: background-position !important;
}
.mp-badge .rarity-seasonal,
span.rarity-seasonal:not(.vg-rarity-cycle-text):not(.vg-rarity-cycle-char) {
  background: none !important;
  -webkit-text-fill-color: #ff0000 !important;
  color: #ff0000 !important;
  animation: none !important;
}

.rarity-border-exotic { border-color: #ff00cc !important; }
.rarity-border-seasonal { border-color: #ff0000 !important; }

@keyframes mythicalShimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}

.mp-name,
.mp-name *,
.profile-item-name,
.profile-item-name *,
.asset-card h3,
.asset-card h3 * {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  animation: none !important;
}
.mp-name,
.mp-name * {
  -webkit-text-fill-color: var(--white) !important;
  color: var(--white) !important;
}
.profile-item-name,
.profile-item-name *,
.asset-card h3,
.asset-card h3 * {
  -webkit-text-fill-color: var(--white) !important;
  color: var(--white) !important;
}

.item-detail-title,
.item-detail-title * {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: var(--light-orange) !important;
  color: var(--light-orange) !important;
  animation: none !important;
}

.rarity-mythical {
  background: linear-gradient(90deg, #19D9FF, #0066CC, #003B8F, #0066CC, #19D9FF) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: mythicalShimmer 2.4s linear infinite !important;
  will-change: background-position !important;
}

.rarity-exotic {
  background: linear-gradient(90deg, #ff0000, #ff9900, #ffee00, #33cc33, #0099ff, #6633ff, #ff00cc, #ff0000) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: legendaryShimmer 2.4s linear infinite !important;
  will-change: background-position !important;
}
.asset-card .rarity-exotic,
.mp-card .rarity-exotic {
  -webkit-text-fill-color: transparent !important;
}

.rarity-seasonal {
  background: linear-gradient(90deg, #ff0000, #ff6b70, #ff0000) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: legendaryShimmer 2.4s linear infinite !important;
  will-change: background-position !important;
}
.asset-card .rarity-seasonal,
.mp-card .rarity-seasonal {
  -webkit-text-fill-color: transparent !important;
}

.asset-card .rarity-mythical,
.mp-card .rarity-mythical {
  -webkit-text-fill-color: transparent !important;
}

.vg-rarity-cycle-text {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  color: var(--text-secondary) !important;
  animation: none !important;
  display: inline-block;
}
.vg-rarity-cycle-text[data-rarity-cycle="mythical"] { color: #19D9FF !important; }
.vg-rarity-cycle-text[data-rarity-cycle="exotic"] { color: #ff00cc !important; }
.vg-rarity-cycle-text[data-rarity-cycle="seasonal"] { color: #ff0000 !important; }

.vg-rarity-cycle-char {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: var(--text-secondary);
  color: var(--text-secondary);
  animation: none !important;
  display: inline-block;
}
.vg-rarity-cycle-text[data-rarity-cycle="mythical"] .vg-rarity-cycle-char {
  -webkit-text-fill-color: #19D9FF;
  color: #19D9FF;
}
.vg-rarity-cycle-text[data-rarity-cycle="exotic"] .vg-rarity-cycle-char {
  -webkit-text-fill-color: #ff00cc;
  color: #ff00cc;
}
.vg-rarity-cycle-text[data-rarity-cycle="seasonal"] .vg-rarity-cycle-char {
  -webkit-text-fill-color: #ff0000;
  color: #ff0000;
}

.mp-badge .rarity-mythical,
span.rarity-mythical:not(.vg-rarity-cycle-text):not(.vg-rarity-cycle-char) {
  background: none !important;
  -webkit-text-fill-color: #19D9FF !important;
  color: #19D9FF !important;
  animation: none !important;
}
.mp-badge .rarity-exotic,
span.rarity-exotic:not(.vg-rarity-cycle-text):not(.vg-rarity-cycle-char) {
  background: none !important;
  -webkit-text-fill-color: #ff00cc !important;
  color: #ff00cc !important;
  animation: none !important;
}
.mp-badge .rarity-seasonal,
span.rarity-seasonal:not(.vg-rarity-cycle-text):not(.vg-rarity-cycle-char) {
  background: none !important;
  -webkit-text-fill-color: #ff0000 !important;
  color: #ff0000 !important;
  animation: none !important;
}

.item-detail-info > .mp-type,
.item-detail-info > .item-detail-rarity {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  clear: both !important;
}

.item-detail-info > .mp-type { margin: 0 0 6px 0 !important; }
.item-detail-info > .item-detail-rarity { margin: 0 0 14px 0 !important; }

.item-detail-info > h2.item-detail-title {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 8px 0 8px 0 !important;
  line-height: 1.05 !important;
  clear: both !important;
}

.mp-name,
.mp-name *,
.item-detail-title,
.item-detail-title *,
.profile-item-name,
.profile-item-name *,
.asset-card h3,
.asset-card h3 *{
  background:none !important;
  background-image:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  animation:none !important;
}
.mp-name,
.mp-name *{
  -webkit-text-fill-color:var(--white) !important;
  color:var(--white) !important;
}
.profile-item-name,
.profile-item-name *,
.asset-card h3,
.asset-card h3 *{
  -webkit-text-fill-color:var(--white) !important;
  color:var(--white) !important;
}
.item-detail-title,
.item-detail-title *{
  -webkit-text-fill-color:var(--light-orange) !important;
  color:var(--light-orange) !important;
}

.mp-rarity.rarity-mythical,
.item-detail-rarity.rarity-mythical,
.profile-item-rarity.rarity-mythical,
.asset-card p.rarity-mythical,
.mp-rarity.rarity-exotic,
.item-detail-rarity.rarity-exotic,
.profile-item-rarity.rarity-exotic,
.asset-card p.rarity-exotic,
.mp-rarity.rarity-seasonal,
.item-detail-rarity.rarity-seasonal,
.profile-item-rarity.rarity-seasonal,
.asset-card p.rarity-seasonal{
  text-transform:none !important;
}

.mp-type.rarity-mythical,
.mp-type.rarity-exotic,
.mp-type.rarity-seasonal{
  text-transform:uppercase !important;
}

.vg-rarity-cycle-text,
.vg-rarity-cycle-char{
  background:none !important;
  background-image:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  animation:none !important;
}
.vg-rarity-cycle-text[data-rarity-cycle="mythical"],
.vg-rarity-cycle-text[data-rarity-cycle="mythical"] .vg-rarity-cycle-char{
  -webkit-text-fill-color:#19D9FF;
  color:#19D9FF;
}
.vg-rarity-cycle-text[data-rarity-cycle="exotic"],
.vg-rarity-cycle-text[data-rarity-cycle="exotic"] .vg-rarity-cycle-char{
  -webkit-text-fill-color:#ff00cc;
  color:#ff00cc;
}
.vg-rarity-cycle-text[data-rarity-cycle="seasonal"],
.vg-rarity-cycle-text[data-rarity-cycle="seasonal"] .vg-rarity-cycle-char{
  -webkit-text-fill-color:#ff0000;
  color:#ff0000;
}

.profile-badges-title{
  margin-top:22px;
}
.profile-badges-grid{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:24px;
}
.profile-badge-card{
  width:150px;
  min-height:182px;
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:0;
  padding:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
}
.profile-badge-icon-wrap{
  width:96px;
  height:96px;
  background:var(--panel-deep);
  border:1px solid #1f3a43;
  border-radius:0;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.profile-badge-icon{
  width:100%;
  height:100%;
  object-fit:contain;
  image-rendering:auto;
  display:block;
}
.profile-badge-card.profile-badge-missing-icon .profile-badge-icon-wrap::before{
  content:"?";
  color:var(--orange);
  font-size:34px;
  font-weight:900;
}
.profile-badge-card.profile-badge-missing-icon .profile-badge-icon{
  display:none;
}
.profile-badge-name{
  color:var(--white);
  font-weight:900;
  font-size:13px;
  text-align:center;
  line-height:1.2;
}
.profile-badge-desc{
  color:var(--text-secondary);
  font-weight:700;
  font-size:11px;
  line-height:1.3;
  text-align:center;
}
.profile-badge-date{
  margin-top:auto;
  color:var(--cyan);
  font-weight:800;
  font-size:10px;
  text-align:center;
}
.profile-badges-empty{
  width:100%;
}

@media(max-width:600px){
  .profile-badge-card{width:132px;min-height:164px;padding:10px}
  .profile-badge-icon-wrap{width:82px;height:82px}
  .profile-badge-name{font-size:12px}
}

.profile-item-link{
  cursor:pointer;
}
.profile-item-link:hover,
.profile-item-link:focus-visible{
  border-color:var(--orange);
  box-shadow:0 0 0 1px var(--orange) inset, 0 4px 18px rgba(0,0,0,.5);
  outline:none;
  transform:translateY(-2px);
}

.account-settings-card{padding:18px;margin-top:10px;margin-bottom:10px}
.account-settings-card h3{margin:0 0 12px;color:#eee56c}
.account-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.account-info-box{background:var(--panel-deep);border:1px solid var(--border-soft);border-radius:0;padding:10px 12px;min-height:58px}
.settings-mini-label{color:var(--text-secondary);font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:5px}
.settings-mini-value{color:var(--cyan);font-size:14px;font-weight:900;word-break:break-word}
.bio-label{display:block;color:var(--text-secondary);font-weight:900;margin-top:10px}
.profile-bio-input{width:100%;min-height:96px;resize:vertical;margin-top:6px;padding:10px;background:var(--bg);border:1px solid var(--line);border-radius:0;color:var(--white);font-family:inherit;line-height:1.35}
.bio-actions-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.bio-actions-row .muted{margin-right:auto}.bio-actions-row button{height:38px;border-radius:0;font-weight:900;padding:0 18px}
.profile-bio-box{background:var(--panel2);border:1px solid var(--line);border-radius:0;padding:16px;margin:-6px 0 22px;color:var(--white);font-weight:700;line-height:1.5;white-space:normal;overflow-wrap:anywhere;max-width:900px}
.profile-bio-empty{color:var(--text-secondary);font-style:italic}
.profile-fullbody-box{
  display:inline-block;
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:0;
  padding:18px;
  margin:-6px 0 22px;
}
.avatar-render.profile-full{ width:260px; height:380px; }
@media(max-width:600px){
  .avatar-render.profile-full{ width:170px; height:250px; }
}
@media (max-width:720px){.account-settings-grid{grid-template-columns:1fr}.bio-actions-row button{width:100%}.bio-actions-row .muted{width:100%;margin-right:0}}

.asset-card.equipped button[disabled]{
  opacity:.72;
  cursor:default;
  filter:saturate(.85);
}

.asset-card.equipped button[data-action^="equip:emote:"]{
  opacity:.72;
  filter:saturate(.85);
}

.friends-widget-card{
  padding:16px 18px;
  margin-bottom:10px;
}
.friends-widget-header h3{
  margin:0 0 12px;
  color:#eee56c;
}
.friends-widget-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.friends-plus-btn{
  flex-shrink:0;
  width:48px;
  height:48px;
  border-radius:0;
  background:var(--orange);
  color:#080808;
  border:1px solid #ff8a22;
  font-size:22px;
  font-weight:900;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.friends-plus-btn:hover{
  filter:brightness(1.08);
}
.friends-widget-list{
  flex:1;
  display:flex;
  align-items:flex-start;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 6px;
  min-height:74px;
}
.friends-empty{
  color:var(--text-secondary);
  font-weight:700;
  padding:14px 4px;
  white-space:nowrap;
}
.friends-widget-more{
  flex-shrink:0;
  width:74px;
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--panel2);
  border:1px dashed var(--line);
  border-radius:0;
  color:var(--text-secondary);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  text-align:center;
  transition:border-color .15s, color .15s;
}
.friends-widget-more:hover{
  border-color:var(--orange);
  color:var(--light-orange);
}

.friend-mini-card{
  position:relative;
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:0;
  padding:8px 6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  cursor:pointer;
  flex-shrink:0;
  width:74px;
  transition:border-color .15s, box-shadow .15s;
}
.friend-mini-card:hover{
  border-color:var(--orange);
  box-shadow:0 0 0 1px var(--orange) inset;
}
.friend-mini-card.large{
  width:110px;
  padding:12px 8px 10px;
}
.fmc-avatar-wrap{
  position:relative;
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.friend-mini-card.large .fmc-avatar-wrap{
  width:88px;
  height:88px;
}
.fmc-avatar{
  width:60px!important;
  height:60px!important;
  border-radius:0;
  overflow:hidden;
  background:var(--panel-deep);
}
.friend-mini-card.large .fmc-avatar{
  width:88px!important;
  height:88px!important;
}

.presence-dot{
  position:absolute;
  top:-2px;
  right:-2px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--presence-online);
  border:2px solid var(--panel2);
  box-shadow:0 0 0 1px rgba(0,0,0,.4);
  z-index:2;
}
.presence-dot.in-game{
  background:var(--presence-ingame);
}
.friend-mini-card.large .presence-dot{
  width:18px;
  height:18px;
  top:-3px;
  right:-3px;
}
.profile-avatar-3d-wrap .presence-dot{
  width:22px;
  height:22px;
  top:-4px;
  right:-4px;
  border-width:3px;
}
.fmc-name{
  font-size:11px;
  font-weight:900;
  color:var(--light-orange);
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.friend-mini-card.large .fmc-name{
  font-size:13px;
}
.fmc-unfriend-btn{
  width:100%;
  margin-top:8px;
  height:26px;
  font-size:11px;
  font-weight:900;
  border-radius:0;
  padding:0;
}
.friend-mini-card.large .fmc-unfriend-btn{
  height:30px;
  font-size:12px;
  margin-top:10px;
}

.friend-tabs{
  display:flex;
  gap:2px;
  margin-bottom:16px;
  border-bottom:2px solid var(--line2);
}
.friend-tab{
  height:38px;
  padding:0 20px;
  background:transparent;
  color:var(--white);
  border:1px solid transparent;
  font-weight:900;
  font-size:12px;
}
.friend-tab:hover,
.friend-tab.active{
  background:var(--accent-hover-bg);
  border-color:var(--accent-hover-border);
}
.friend-req-badge{
  display:inline-block;
  background:var(--orange);
  color:#080808;
  border-radius:0;
  font-size:10px;
  font-weight:900;
  padding:1px 6px;
  margin-left:4px;
  vertical-align:middle;
}
.friends-tab-content{
  max-width:980px;
}
.friend-grid{
  grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
}
.friend-send-box{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:4px;
}
.friend-send-box .search-input{
  flex:1;
}
.friend-requests-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:22px 0 12px;
}
.friend-requests-header h3{
  margin:0;
  color:#eee56c;
}
.friend-requests-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.friend-request-row{
  display:flex;
  align-items:center;
  gap:14px;
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:0;
  padding:10px 14px;
}
.frr-avatar{
  width:52px!important;
  height:52px!important;
  flex-shrink:0;
  border-radius:0;
  overflow:hidden;
  background:var(--panel-deep);
}
.frr-info{
  flex:1;
  min-width:0;
}
.frr-name{
  font-size:14px;
  font-weight:900;
  color:var(--light-orange);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.frr-time{
  font-size:11px;
  color:var(--text-secondary);
  font-weight:700;
  margin-top:2px;
}
.frr-actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
}
.frr-actions button{
  height:34px;
  padding:0 16px;
  border-radius:0;
  font-weight:900;
  font-size:12px;
}

@media(max-width:600px){
  .friends-widget-row{ align-items:flex-start; }
  .friends-plus-btn{ width:40px; height:40px; font-size:18px; }
  .friend-mini-card{ width:64px; }
  .fmc-avatar-wrap, .fmc-avatar{ width:50px!important; height:50px!important; }
  .friend-mini-card.large{ width:96px; }
  .friend-mini-card.large .fmc-avatar-wrap, .friend-mini-card.large .fmc-avatar{ width:76px!important; height:76px!important; }
  .presence-dot{ width:12px; height:12px; }
  .friend-mini-card.large .presence-dot{ width:15px; height:15px; }
  .friend-send-box{ flex-direction:column; align-items:stretch; }
  .friend-requests-header{ flex-direction:column; align-items:flex-start; gap:6px; }
  .friend-request-row{ flex-wrap:wrap; }
  .frr-actions{ width:100%; justify-content:flex-end; }
}

.ambassador-card{
  max-width:640px;
  padding:20px 22px;
}
.ambassador-card p{
  margin:0 0 0;
  line-height:1.5;
}
.ambassador-link-row{
  display:flex;
  gap:10px;
  margin-top:8px;
}
.ambassador-link-row .search-input{
  flex:1;
  font-size:13px;
}
.join-form-card{
  max-width:420px;
  margin:0 auto;
}

@media(max-width:600px){
  .ambassador-link-row{ flex-direction:column; }
}

.avatar-fallback-face{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:var(--text-secondary);
  font-size:18px;
  font-weight:900;
}

.site-footer{
  flex-shrink:0;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 14px;
  background:color-mix(in srgb, var(--panel) 96%, transparent);
  border-top:1px solid var(--line);
  color:var(--text-secondary);
  font-size:12px;
  font-weight:800;
  text-align:center;
  flex-wrap:wrap;
}
.site-footer a{
  color:#ffaa00;
  text-decoration:none;
  text-underline-offset:3px;
}
.site-footer a:hover,
.site-footer a:focus{
  color:#ffc24a;
  text-decoration:underline;
}
.legal-page-wrap{
  max-width:820px;
  margin:0 auto 24px;
}
.legal-card{
  padding:22px 24px;
  color:var(--text-secondary);
  font-size:14px;
  line-height:1.7;
}
.legal-card h3{
  color:#ffaa00;
  margin:18px 0 6px;
}
.legal-card h3:first-child{
  margin-top:0;
}
.legal-card p{
  margin:0 0 12px;
}
.legal-card a{
  color:#ffaa00;
  text-decoration:none;
  text-underline-offset:3px;
}
.legal-card a:hover,
.legal-card a:focus{
  text-decoration:underline;
}

@media(max-width:600px){
  .site-footer{
    gap:6px;
    font-size:11px;
    padding:9px 10px;
  }
  .legal-card{
    padding:18px 16px;
    font-size:13px;
  }
}

.account-grid .form-card{
  display:flex;
  flex-direction:column;
}
.account-grid .form-card > button.full{
  margin-top:auto;
}

.emote-wheel-slots{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.emote-wheel-slot{width:64px;height:64px;border:2px dashed #2a3a52;border-radius:0;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  background:#0d1722;cursor:default;font-size:11px;color:#5a7185;text-align:center;gap:2px}
.emote-wheel-slot.filled{border-style:solid;border-color:#ff6a00;background:#1a2230;
  color:var(--white);cursor:pointer}
.emote-wheel-slot.filled:hover{border-color:#ff9000}
.emote-wheel-slot .ews-icon{font-size:20px;line-height:1}

.pose-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}
.pose-picker-panel{max-width:520px;width:100%;max-height:80vh;overflow:auto;padding:20px}
.pose-picker-panel h3{margin:0 0 4px;color:var(--light-orange)}
.pose-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.pose-picker-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:var(--panel2);border:1px solid var(--line);border-radius:0;color:var(--white);font-weight:800;font-size:12px;cursor:pointer}
.pose-picker-option:hover{border-color:var(--light-orange)}
.pose-picker-option.active{border-color:var(--light-orange);box-shadow:0 0 0 1px var(--light-orange) inset}
.pose-picker-icon{font-size:22px}

.mp-card,
.asset-card,
.profile-item-card,
.search-player-card,
.crate-card,
.launcher-card.mini {
  content-visibility:auto;
  contain-intrinsic-size:160px 220px;
}
.avatar-item-thumb-wrap,
.asset-thumb,
.mp-thumb,
.profile-item-thumb {
  contain:layout paint size;
}

.friend-mini-card{
  content-visibility:visible;
}

.blog-content{max-width:980px;margin:0 auto}
.blog-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 18px}
.blog-filter-chip{height:32px;padding:0 16px;border-radius:0;border:1px solid var(--line);background:transparent;color:var(--text-secondary);font-weight:800;font-size:12px;cursor:pointer}
.blog-filter-chip:hover{border-color:var(--orange)}
.blog-filter-chip.active{background:var(--accent-hover-bg);border-color:var(--orange);color:var(--white)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.blog-card{display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.blog-card:hover,.blog-card:focus-visible{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset;outline:none}
.blog-card-cover{height:150px;background:var(--panel-deep);overflow:hidden}
.blog-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.blog-card-body{padding:16px}
.blog-card-body h3{margin:8px 0 6px;color:#eee56c;font-size:16px;line-height:1.3}
.blog-card-body p{margin:0 0 10px;color:var(--cyan);font-weight:700;font-size:13px;line-height:1.5}
.blog-card-meta{color:var(--text-secondary);font-weight:700;font-size:11.5px}
.blog-category-pill{display:inline-block;background:rgba(255,106,0,.14);border:1px solid var(--line);color:var(--light-orange);font-size:10.5px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:0;max-width:820px;margin:0 auto}
.blog-post-meta{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.blog-post-date{color:var(--text-secondary);font-weight:700;font-size:12.5px}
.blog-post-title{margin:0 0 8px;color:var(--light-orange);font-size:32px;line-height:1.2}
.blog-post-author{color:var(--cyan);font-weight:700;font-size:13px;margin-bottom:26px}
.blog-post-body p{margin:0 0 16px;color:var(--white);font-weight:500;font-size:15.5px;line-height:1.75}
.blog-segment-image{margin:22px 0}
.blog-segment-image img{width:100%;border-radius:0;display:block;border:1px solid var(--line)}
.blog-segment-image figcaption{margin-top:8px;color:var(--text-secondary);font-weight:700;font-size:12.5px;text-align:center}

.featured-sections-wrap{display:flex;flex-direction:column;gap:20px;margin-bottom:24px;}
.fs-section{
  --fs-bg: var(--panel2);
  --fs-border: var(--light-orange);
  --fs-accent: var(--light-orange);
  background:radial-gradient(circle at top left, rgba(255,170,0,.10), transparent 55%), var(--fs-bg);
  border:2px solid var(--fs-border);
  border-radius:0;
  padding:16px 18px 18px;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.fs-section-header{margin-bottom:12px;}
.fs-section-title{font-size:19px;font-weight:900;color:var(--fs-accent);line-height:1.2;}
.fs-section-subtitle{font-size:12px;font-weight:700;color:var(--text-secondary);margin-top:2px;}
.fs-section-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;}
.fs-item-card{
  flex:0 0 140px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.08);
  border-radius:0;
  padding:10px;
  display:flex;flex-direction:column;gap:6px;
  cursor:pointer;
  transition:transform .15s, border-color .15s;
}
.fs-item-card:hover{transform:translateY(-3px);border-color:var(--fs-accent);}
.fs-item-thumb{height:90px;background:rgba(0,0,0,.3);border-radius:0;overflow:hidden;display:grid;place-items:center;}
.fs-item-thumb .bundle-thumb-grid{width:100%;height:100%;}
.fs-item-name{font-size:12px;font-weight:800;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fs-item-price{font-size:12px;font-weight:900;color:var(--light-orange);}
.fs-crate-icon{width:100%;height:100%;object-fit:contain;}
.fs-crate-icon-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--fs-accent),transparent);opacity:.5;}

.bundle-grid-wrap{margin-bottom:24px;}
.bundle-grid-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.bundle-card{
  background:radial-gradient(circle at top center, rgba(255,170,0,.12), transparent 60%), #1b1208;
  border:2px solid var(--light-orange);
  border-radius:0;
  padding:16px;
  display:flex;flex-direction:column;gap:12px;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.4);
  transition:transform .15s, box-shadow .15s;
}
.bundle-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.55);}
.bundle-thumb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;}
.bundle-thumb{aspect-ratio:1;background:rgba(0,0,0,.32);border-radius:0;overflow:hidden;position:relative;}
.bundle-thumb .avatar-item-thumb-wrap{position:absolute;inset:0;}
.bundle-name{font-size:16px;font-weight:900;color:var(--white);}
.bundle-desc{font-size:12px;font-weight:700;color:var(--text-secondary);margin-top:2px;}
.bundle-price{font-size:15px;font-weight:900;color:var(--light-orange);margin-top:6px;}
.bundle-savings{display:inline-block;font-size:11px;font-weight:900;color:#1a8f3a;background:rgba(26,143,58,.15);border:1px solid rgba(26,143,58,.4);border-radius:0;padding:2px 10px;margin-top:4px;width:fit-content;}

.bundle-preview-popup{max-width:520px;min-width:320px;position:relative;}
.popup-close-x{
  position:absolute;top:10px;right:14px;
  background:none;border:none;color:var(--text-secondary);font-size:26px;line-height:1;
  cursor:pointer;padding:4px;
}
.popup-close-x:hover{color:var(--white);}
.bundle-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;width:100%;margin:8px 0;}
.bundle-preview-item{display:flex;flex-direction:column;align-items:center;gap:4px;}
.bundle-preview-item-thumb{width:70px;height:70px;background:rgba(0,0,0,.3);border-radius:0;overflow:hidden;position:relative;}
.bundle-preview-item-thumb .avatar-item-thumb-wrap{position:absolute;inset:0;}
.bundle-preview-item-name{font-size:10px;font-weight:800;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bundle-preview-price{font-size:20px;font-weight:900;color:var(--light-orange);}

.rarity-uncommon{color:#ffff99;}
.rarity-rare{color:#cc66ff;}
.quests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.quest-card{
  background:var(--panel2);
  border:2px solid var(--line);
  border-radius:0;
  padding:14px;
  display:flex;flex-direction:column;gap:8px;
  cursor:pointer;
  transition:transform .15s;
}
.quest-card:hover{transform:translateY(-3px);}
.quest-card.rarity-border-common{border-color:#f2f2f2;}
.quest-card.rarity-border-uncommon{border-color:#ffff99;}
.quest-card.rarity-border-rare{border-color:#cc66ff;}
.quest-rarity-tag{font-size:10px;font-weight:900;letter-spacing:.5px;}
.quest-title{margin:0;color:var(--white);font-size:15px;font-weight:900;}
.quest-desc{margin:0;color:var(--text-secondary);font-weight:700;font-size:11px;}
.quest-progress-track{height:8px;background:rgba(0,0,0,.4);border-radius:0;overflow:hidden;}
.quest-progress-fill{height:100%;border-radius:0;transition:width .2s;}
.quest-progress-label{font-size:10px;color:var(--text-secondary);font-weight:700;}
.quest-reward{font-size:13px;font-weight:900;color:var(--light-orange);}
.quest-claim-btn{height:34px;border-radius:0;font-weight:900;margin-top:auto;}

.quest-tutorial-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.72);
  display:flex;align-items:center;justify-content:center;z-index:970;
}
.quest-tutorial-card{
  background:#0d0d0f;border-radius:0;padding:26px 30px;max-width:440px;width:90%;
  text-align:center;display:flex;flex-direction:column;gap:14px;border:2px solid var(--light-orange);
}
.quest-tutorial-title{font-size:20px;font-weight:900;margin:0;}
.quest-tutorial-text{color:var(--text-secondary);font-weight:700;font-size:13px;line-height:1.5;margin:0;}

.main-quests-grid{display:flex;flex-direction:column;gap:14px;}
.main-quest-card{
  background:var(--panel2);border:2px solid var(--light-orange);border-radius:0;
  padding:16px;
}
.main-quest-title{margin:0 0 4px;color:var(--white);font-size:17px;font-weight:900;}
.main-quest-desc{margin:0 0 12px;color:var(--text-secondary);font-weight:700;font-size:12px;}
.main-quest-steps{display:flex;flex-direction:column;gap:8px;}
.main-quest-step{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:0;
  background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);cursor:pointer;
}
.main-quest-step.step-current{border-color:var(--light-orange);}
.main-quest-step.step-locked{opacity:.45;cursor:default;}
.main-quest-step.step-claimed{opacity:.7;}
.main-quest-step-num{
  width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:900;background:rgba(0,0,0,.4);flex-shrink:0;
}
.main-quest-step-body{flex:1;min-width:0;}
.main-quest-step-title{margin:0;font-size:13px;font-weight:900;color:var(--white);}
.main-quest-step-progress-track{height:6px;background:rgba(0,0,0,.4);border-radius:0;overflow:hidden;margin-top:6px;}
.main-quest-step-progress-fill{height:100%;border-radius:0;}
.main-quest-step-reward{font-size:12px;font-weight:900;color:var(--light-orange);flex-shrink:0;}
.main-quest-step-claim-btn{height:30px;padding:0 14px;border-radius:0;font-weight:900;font-size:11px;flex-shrink:0;}
.main-quest-bonus-row{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:var(--text-secondary);font-weight:700;}

.quests-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.quests-section-header .section-title{margin:0;}
.quest-reset-timer{
  font-size:12px;font-weight:900;color:var(--text-secondary);
  background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:0;
  padding:5px 12px;font-variant-numeric:tabular-nums;
}
/* Body editor (Legs/Arms/Torso/Head nested sub-tabs) */
.body-subtabs {
  height: auto;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--line2);
  padding-bottom: 8px;
}
.body-subtab {
  height: 30px;
  padding: 0 16px;
  background: transparent;
  color: var(--white);
  border: 1px solid transparent;
  font-weight: 900;
  font-size: 11px;
  transition: background 0.14s, border-color 0.14s;
}
.body-subtab.active, .body-subtab:hover {
  background: var(--accent-hover-bg);
  border-color: var(--accent-hover-border);
}
.body-subpanel { display: none; }
.body-subpanel.active { display: block; }

/* Body (legs/arms) slot cards - wider row layout with a real thumbnail,
   instead of the small square icon-only emote-wheel-slot default */
.body-slot-card {
  width: auto;
  height: auto;
  min-width: 200px;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 6px 12px 6px 6px;
  text-align: left;
}
.body-slot-card span:last-child {
  font-size: 12px;
  font-weight: 700;
  white-space: normal;
}
/* ── Username badge icons ─────────────────────────────────────────────── */
.username-badge-icon {
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin-left: 0.28em;
  display: inline-block;
  position: relative;
  top: -0.08em;
  flex-shrink: 0;
}

/* Name badge picker section in account settings */
.name-badge-section { margin: 10px 0 0; }
.name-badge-section-label {
  font-size: 13px;
  color: var(--text-dim, #8fa3b8);
  margin-bottom: 6px;
  font-weight: 600;
}
.name-badge-options { display: flex; flex-wrap: wrap; gap: 8px; }
.name-badge-option {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  background: var(--panel, #131c28);
  border: 2px solid var(--border, #253650);
  border-radius: 0;
  cursor: pointer;
  font-size: 13px;
  color: var(--text, #e6e6e6);
  transition: border-color 0.15s;
}
.name-badge-option:hover { border-color: #ff9900; }
.name-badge-option.active { border-color: #ff9900; background: rgba(255,153,0,0.08); }
.name-badge-option img { width: 20px; height: 20px; }