/* ===== style tag: inline ===== */
:root{
  --bg:#1a1b23;
  --panel:#262837;
  --panel-2:#202232;
  --accent:#42b574;
  --text:#f2f2f5;
  --text-sub:rgba(242,242,245,.62);
  --line:rgba(255,255,255,.12);
  --gw-ui-scale:1;
  --gw-motion-scale:1;
}

/* ===== performance + universal responsive scale ===== */

html,
body{
  text-size-adjust:100%;
}

body{
  font-size:calc(16px * var(--gw-ui-scale));
}

#llsqLoadingScreen{
  position:fixed;
  inset:0;
  z-index:60000;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:clamp(10px,1.4vw,18px);
  padding:
    clamp(22px,4.5vw,56px)
    calc(env(safe-area-inset-right,0px) + clamp(20px,4.8vw,64px))
    calc(env(safe-area-inset-bottom,0px) + clamp(22px,4.8vw,62px))
    clamp(20px,4vw,54px);
  background:
    radial-gradient(circle at 88% 88%,rgba(92,183,245,.13),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f6fcff 100%);
  color:#1174bd;
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  opacity:1;
  pointer-events:auto;
  transition:opacity .46s ease, visibility .46s ease;
}
html.llsq-loading-active:not(.llsq-loading-reveal),
html.llsq-loading-active:not(.llsq-loading-reveal) body{
  background:#f8fcff!important;
}
html.llsq-loading-active body{
  overflow:hidden!important;
}
#llsqLoadingScreen.is-hiding{
  pointer-events:none;
}
#llsqLoadingScreen.is-fading-bg{
  opacity:0;
}
#llsqLoadingScreen.is-hiding .llsq-loading-mark,
#llsqLoadingScreen.is-hiding .llsq-loading-copy{
  opacity:0;
}
html.llsq-loading-active:not(.llsq-loading-reveal) #llSilhouetteLayer,
html.llsq-loading-active:not(.llsq-loading-reveal) .leader-strip-bg,
html.gw-current-prehide #llSilhouetteLayer,
html.gw-current-prehide .leader-strip-bg,
html.gw-current-run #llSilhouetteLayer,
html.gw-current-run .leader-strip-bg{
  opacity:0!important;
}
html.gw-current-done #llSilhouetteLayer{
  opacity:.12!important;
  transition:opacity .55s ease .58s!important;
}
html.gw-current-done .leader-strip-bg{
  opacity:1!important;
  transition:opacity .55s ease .58s!important;
}
.llsq-loading-mark{
  width:clamp(44px,4.125rem,74px);
  height:clamp(44px,4.125rem,74px);
  flex:0 0 clamp(44px,4.125rem,74px);
  color:#1b8bd9;
  opacity:1;
  transition:opacity .34s ease;
  animation:llsqLoadingFloat 1.65s ease-in-out infinite;
}
.llsq-loading-mark svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}
.llsq-note{
  fill:none;
  stroke:currentColor;
  stroke-width:5.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.llsq-star{
  fill:#8ed6ff;
  stroke:#1b8bd9;
  stroke-width:2.4;
  stroke-linejoin:round;
}
.llsq-loading-copy{
  text-align:right;
  transform:translateY(-1px);
  flex:0 0 auto;
  opacity:1;
  transition:opacity .34s ease;
}
.llsq-loading-title{
  color:#1174bd;
  font-size:clamp(1.75rem,4rem,4rem);
  line-height:.92;
  font-weight:950;
  letter-spacing:.02em;
  white-space:nowrap;
  animation:llsqLoadingPulse 1.1s ease-in-out infinite;
}
.llsq-loading-sub{
  margin-top:clamp(6px,.8vw,10px);
  color:rgba(17,116,189,.58);
  font-size:clamp(.68rem,1rem,1rem);
  line-height:1.2;
  font-weight:900;
  letter-spacing:.22em;
}
@keyframes llsqLoadingPulse{
  0%,100%{opacity:.72;transform:translateY(0);}
  50%{opacity:1;transform:translateY(-3px);}
}
@keyframes llsqLoadingFloat{
  0%,100%{transform:translateY(0) rotate(-3deg);}
  50%{transform:translateY(-7px) rotate(2deg);}
}
@media (max-width:600px){
  #llsqLoadingScreen{
    gap:10px;
    padding:
      22px
      calc(env(safe-area-inset-right,0px) + 18px)
      calc(env(safe-area-inset-bottom,0px) + 24px)
      18px;
  }
  .llsq-loading-title{
    font-size:clamp(1.42rem,8.4vw,2.2rem);
  }
  .llsq-loading-sub{
    font-size:clamp(.58rem,3.1vw,.78rem);
    letter-spacing:.18em;
  }
  .llsq-loading-mark{
    width:clamp(38px,11vw,52px);
    height:clamp(38px,11vw,52px);
    flex-basis:clamp(38px,11vw,52px);
  }
}
@media (prefers-reduced-motion:reduce){
  .llsq-loading-title,
  .llsq-loading-mark{
    animation:none!important;
  }
}

#llSilhouetteLayer{
  background:
    radial-gradient(circle at 18% 82%, rgba(255,255,255,.18), transparent 18%),
    radial-gradient(circle at 82% 78%, rgba(126,218,255,.16), transparent 22%),
    linear-gradient(180deg, transparent 42%, rgba(255,255,255,.08) 100%)!important;
  opacity:.12!important;
}
#llSilhouetteLayer img{
  display:none!important;
}

@media (min-width:981px){
  .top-nav,
  #langSelect,
  .sponsor-float-btn,
  .auth-top,
  .site-hero,
  .game-card,
  .round-log-panel,
  #rankPanel,
  .hint,
  .gen-toggle-wrap,
  .info-view-panel,
  .leaderboard-modal,
  .notice-modal,
  .rule-modal,
  .collection-modal,
  .update-modal,
  .achievement-modal,
  .share-modal,
  .auth-modal{
    font-size:calc(1em * var(--gw-ui-scale));
  }
}

@media (max-width:980px){
  body{
    font-size:clamp(13.5px, calc(16px * var(--gw-ui-scale)), 16px)!important;
  }
  .site-hero h1{
    font-size:clamp(2.15rem, calc(3rem * var(--gw-ui-scale)), 3.5rem)!important;
  }
  #questionHeader{
    font-size:clamp(1.45rem, calc(1.9rem * var(--gw-ui-scale)), 2rem)!important;
  }
  .game-card,
  .round-log-panel,
  .answer-row,
  .gen-toggle-wrap,
  .notice-modal,
  .rule-modal,
  .collection-modal,
  .update-modal,
  .leaderboard-modal,
  .achievement-modal,
  .share-modal,
  .auth-modal{
    border-radius:clamp(14px, calc(22px * var(--gw-ui-scale)), 26px)!important;
  }
  .clip-btn,
  .submit,
  .answer-action-btn,
  .top-nav-links button,
  .auth-mini-btn,
  .auth-login-btn,
  .sponsor-float-btn,
  #langSelect{
    min-height:clamp(38px, calc(46px * var(--gw-ui-scale)), 50px)!important;
    font-size:clamp(.82rem, calc(1rem * var(--gw-ui-scale)), 1rem)!important;
  }
  .gen-btn{
    width:clamp(132px, calc(166px * var(--gw-ui-scale)), 180px)!important;
    height:clamp(74px, calc(96px * var(--gw-ui-scale)), 104px)!important;
  }
  .gen-btn img{
    max-width:clamp(104px, calc(132px * var(--gw-ui-scale)), 144px)!important;
    max-height:clamp(42px, calc(58px * var(--gw-ui-scale)), 66px)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  min-height:100vh;
  padding:46px 14px 56px;
  background:var(--bg);
  color:var(--text);
  font-family:'Noto Sans TC',sans-serif;
  display:flex;
  flex-direction:column;
  align-items:center;
  overflow-x:hidden;
}
#langSelect{
  position:absolute;top:16px;right:16px;z-index:20;
  background:var(--panel);color:var(--text);
  border:1px solid #444;border-radius:6px;
  padding:6px 10px;font-size:.95rem;
}
#questionHeader{font-size:2.2rem;font-weight:600;margin-bottom:18px;letter-spacing:.04em;z-index:1}
.clip-btn{
  background:var(--panel);border:none;color:var(--text);
  font-size:1.05rem;padding:10px 24px;border-radius:999px;cursor:pointer;
  display:flex;align-items:center;gap:7px;margin-bottom:14px;z-index:1;
}
.clip-btn:hover{background:#31334a}

.clip-btn .btn-icon{
  width:24px;
  height:24px;
  display:block;
  object-fit:contain;
  flex:0 0 24px;
  margin-left:-3px;
}
.volume-icon{
  width:30px;
  height:30px;
  display:block;
  object-fit:contain;
  flex:0 0 30px;
  opacity:.96;
}
.volume-icon.left{
  transform:translateX(-1px);
}
.volume-icon.right{
  transform:translateX(1px);
}
#info{font-size:.9rem;margin-bottom:14px;color:var(--text-sub);z-index:1}
#volumeWrapper{display:flex;align-items:center;gap:8px;margin-bottom:28px;z-index:1}
#volumeSlider{width:200px}
.answer-row{
  width:min(680px,92vw);
  display:grid!important;
  grid-template-columns:220px 420px;
  gap:12px;
  justify-content:center;align-items:center;
  margin:0 auto 18px!important;
  padding:14px 16px 6px;
  background:rgba(38,40,55,.35);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  position:relative;z-index:10;
}
#groupFilter,#songSelect,.answer-row .select2-container{width:100%!important}
.select2-container--default .select2-selection--single{
  height:48px!important;
  background:rgba(30,32,46,.96)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:9px!important;
  display:flex!important;align-items:center!important;
  color:var(--text)!important;
  padding:0 12px!important;
  font-size:1rem!important;
}
.select2-container--default .select2-selection--single:hover{border-color:rgba(255,255,255,.3)!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px!important;right:10px!important}
.select2-search__field{background:var(--bg)!important;color:var(--text)!important}
.select2-container--open,.select2-dropdown{z-index:9999!important}
.select2-dropdown{background:var(--panel)!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:8px!important;overflow:hidden}
.select2-results__options{max-height:260px!important}
.select2-results__option{background:var(--panel);color:var(--text);white-space:normal;padding:9px 12px;font-size:.95rem}
.select2-results__option b{font-weight:600}
.select2-results__option--highlighted{background:#3a3d54!important}
.group-tag{font-size:.8em;color:var(--text-sub);margin-top:2px}
.submit{
  display:block;margin:8px 0 72px!important;
  background:var(--accent);border:none;border-radius:9px;
  color:#fff;cursor:pointer;font-size:1rem;font-weight:600;
  padding:11px 34px;position:relative;z-index:1;
}
.submit:hover{filter:brightness(1.1)}
.result-msg{margin-top:-58px;margin-bottom:34px;font-size:.95rem;font-weight:600;text-align:center;min-height:24px;opacity:0;transition:opacity .3s}
.result-msg.ok{color:#42b574}.result-msg.bad{color:#e05f5f}.result-msg.warn{color:#f0c75b}
.hint{margin:0 0 34px!important;font-size:.95rem;line-height:1.6;color:var(--text-sub);text-align:center;z-index:1}
.gen-toggle-wrap{
  width:min(1240px,94vw);
  margin-top:0!important;
  display:grid!important;
  grid-template-columns:repeat(6,1fr);
  gap:18px;
  justify-items:center;align-items:end;
  z-index:1;
}
.gen-btn{
  width:170px;height:126px;margin:0!important;
  padding:12px 10px 24px!important;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.14);border-radius:14px;
  box-shadow:0 10px 22px rgba(0,0,0,.16);
  cursor:pointer;display:flex!important;flex-direction:column;
  align-items:center;justify-content:center;
  position:relative!important;top:0!important;left:0!important;
  opacity:0;transform:translateY(20px);
  animation:btnFadeUp .5s ease-out forwards;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease,filter .16s ease,box-shadow .16s ease;
}
.gen-btn:hover{transform:translateY(-2px)}
.gen-btn:active{transform:scale(.97)}
.gen-btn:focus{outline:none}
.gen-btn:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:3px}
.gen-btn:nth-child(1){animation-delay:0s}.gen-btn:nth-child(2){animation-delay:.3s}.gen-btn:nth-child(3){animation-delay:.6s}
.gen-btn:nth-child(4){animation-delay:.9s}.gen-btn:nth-child(5){animation-delay:1.2s}.gen-btn:nth-child(6){animation-delay:1.5s}
@keyframes btnFadeUp{to{opacity:1;transform:translateY(0)}}
.gen-btn img{max-width:152px;max-height:76px;height:auto!important;object-fit:contain;transition:opacity .2s ease,transform .15s ease,filter .16s ease}
.gen-btn[data-gen="蓮ノ空"] img{max-width:160px;max-height:86px}
.gen-btn[data-gen="いきづらい部!"] img{max-width:162px;max-height:58px;margin-top:0!important}

.gen-btn[data-gen="μ's"]:not(.disabled){
  background:linear-gradient(180deg,rgba(229,0,128,.18),rgba(255,255,255,.045));
  border-color:rgba(229,0,128,.62);
  box-shadow:0 0 0 1px rgba(229,0,128,.20),0 12px 28px rgba(229,0,128,.10);
}
.gen-btn[data-gen="Aqours"]:not(.disabled){
  background:linear-gradient(180deg,rgba(25,177,246,.18),rgba(255,255,255,.045));
  border-color:rgba(25,177,246,.62);
  box-shadow:0 0 0 1px rgba(25,177,246,.20),0 12px 28px rgba(25,177,246,.10);
}
.gen-btn[data-gen="虹ヶ咲"]:not(.disabled){
  background:linear-gradient(180deg,rgba(248,213,86,.18),rgba(255,255,255,.045));
  border-color:rgba(248,213,86,.62);
  box-shadow:0 0 0 1px rgba(248,213,86,.20),0 12px 28px rgba(248,213,86,.10);
}
.gen-btn[data-gen="Liella!"]:not(.disabled){
  background:linear-gradient(180deg,rgba(218,87,216,.18),rgba(255,255,255,.045));
  border-color:rgba(218,87,216,.62);
  box-shadow:0 0 0 1px rgba(218,87,216,.20),0 12px 28px rgba(218,87,216,.10);
}
.gen-btn[data-gen="蓮ノ空"]:not(.disabled){
  background:linear-gradient(180deg,rgba(251,170,185,.18),rgba(255,255,255,.045));
  border-color:rgba(251,170,185,.68);
  box-shadow:0 0 0 1px rgba(251,170,185,.22),0 12px 28px rgba(251,170,185,.10);
}
.gen-btn[data-gen="いきづらい部!"]:not(.disabled){
  background:linear-gradient(180deg,rgba(237,109,0,.20),rgba(255,255,255,.045));
  border-color:rgba(237,109,0,.66);
  box-shadow:0 0 0 1px rgba(237,109,0,.22),0 12px 28px rgba(237,109,0,.12);
}
.gen-btn:not(.disabled):hover{
  filter:brightness(1.08);
}

.gen-btn.disabled{
  background:rgba(255,255,255,.026)!important;
  border-color:rgba(255,255,255,.07)!important;
  box-shadow:none!important;
  opacity:.74!important;
}
.gen-btn.disabled img{
  opacity:.58!important;
  filter:grayscale(.65) brightness(.86) saturate(.6);
}
.gen-btn.disabled:hover{
  transform:none;
  background:rgba(255,255,255,.036)!important;
  border-color:rgba(255,255,255,.11)!important;
}
.gen-btn.disabled .gen-count{
  background:#686d78!important;
  color:rgba(255,255,255,.86)!important;
  opacity:.9;
}

.gen-count{
  position:absolute!important;bottom:9px!important;left:50%!important;transform:translateX(-50%)!important;
  margin:0!important;padding:2px 8px!important;border-radius:999px!important;
  color:white;font-weight:600;font-size:.88rem!important;white-space:nowrap;pointer-events:none;
}
.gen-btn[data-gen="μ's"] .gen-count{background:#e50080}.gen-btn[data-gen="Aqours"] .gen-count{background:#19b1f6}
.gen-btn[data-gen="虹ヶ咲"] .gen-count{background:#f8d556}.gen-btn[data-gen="Liella!"] .gen-count{background:#da57d8}
.gen-btn[data-gen="蓮ノ空"] .gen-count{background:#fbaab9}.gen-btn[data-gen="いきづらい部!"] .gen-count{background:#ed6d00}
#rankPanel{
  position:absolute;top:96px;right:18px;width:180px;z-index:1;
  background:var(--panel);color:var(--text);
  padding:12px;border-radius:8px;font-size:.9rem;opacity:.95;
}
#rankPanel h3{font-size:1rem;margin-bottom:6px;text-align:center}#rankList{list-style:none}#rankList li{margin:4px 0}
.corner-sticker{position:fixed;right:0;bottom:0;width:140px;pointer-events:none;user-select:none;z-index:5}
.butterfly{position:fixed;left:0;bottom:-40px;pointer-events:none;animation:flyUp 3s linear forwards;opacity:.9;z-index:9999}
@keyframes flyUp{0%{transform:translateY(0) scale(.8);opacity:1}100%{transform:translateY(-110vh) scale(1.2);opacity:0}}
@media (max-width:980px){
  .gen-toggle-wrap{grid-template-columns:repeat(3,1fr);width:min(700px,94vw);row-gap:30px}
  .gen-btn{width:190px}#rankPanel{display:none!important}
}
@media (max-width:600px){
  body{padding:28px 14px 42px}
  #langSelect{top:10px;right:10px;font-size:.78rem;padding:5px 8px}
  #questionHeader{font-size:1.75rem;margin-bottom:14px}
  .clip-btn{font-size:.95rem;padding:9px 20px;margin-bottom:12px}
  #info{font-size:.82rem;text-align:center;margin-bottom:12px}
  #volumeWrapper{width:100%;justify-content:center;margin-bottom:22px}
  #volumeSlider{width:64vw;max-width:250px}
  .answer-row{grid-template-columns:1fr!important;width:min(390px,94vw);gap:10px;padding:14px 12px 12px;margin-bottom:14px!important;border-radius:14px}
  .select2-container--default .select2-selection--single{height:50px!important;font-size:.95rem!important}
  .select2-results__options{max-height:220px!important}
  .submit{width:min(190px,52vw);margin:6px 0 54px!important;padding:10px 0}
  .result-msg{margin-top:-42px;margin-bottom:24px;font-size:.9rem}
  .hint{width:92vw;font-size:.86rem;line-height:1.55;margin-bottom:26px!important}
  .gen-toggle-wrap{width:min(420px,94vw);grid-template-columns:repeat(2,1fr)!important;gap:28px 14px;align-items:center}
  .gen-btn{width:170px;height:114px;padding:9px 7px 24px!important}
  .gen-btn img{max-width:145px;max-height:66px}.gen-btn[data-gen="蓮ノ空"] img{max-width:152px;max-height:78px}
  .gen-btn[data-gen="いきづらい部!"] img{max-width:152px;max-height:52px}
  .corner-sticker,#rankPanel{display:none!important}
}

.game-card{
  width:min(720px,94vw);
  margin:0 auto 64px;
  padding:30px 34px 28px;
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 0%,rgba(66,181,116,.12),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  z-index:2;
}
.game-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.075),transparent 32%,transparent 68%,rgba(66,181,116,.035));
}
#questionHeader{
  font-size:2.35rem;
  line-height:1;
  margin-bottom:20px;
  text-shadow:0 4px 18px rgba(0,0,0,.35);
}
.clip-btn{
  min-width:154px;
  justify-content:center;
  background:linear-gradient(180deg,rgba(40,95,180,.9),rgba(36,54,91,.95));
  border:1px solid rgba(92,161,255,.32);
  box-shadow:0 10px 24px rgba(0,110,255,.13);
  margin-bottom:18px;
}
.clip-btn:hover{
  background:linear-gradient(180deg,rgba(56,118,210,.95),rgba(42,62,104,.98));
  box-shadow:0 12px 28px rgba(0,110,255,.20);
  transform:translateY(-1px);
}
#info{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:16px;
  color:var(--text);
  font-size:.9rem;
}
#info .hud-pill{
  padding:5px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(242,242,245,.86);
}
#volumeWrapper{
  width:min(310px,72vw);
  justify-content:center;
  padding:8px 12px;
  margin-bottom:22px;
  border-radius:999px;
  background:rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.055);
}
#volumeSlider{
  width:210px;
  accent-color:#2f9cff;
}
.answer-row{
  width:min(650px,100%)!important;
  margin:0 auto 16px!important;
  padding:12px!important;
  background:rgba(18,20,30,.34)!important;
  border-color:rgba(255,255,255,.085)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.submit{
  margin:6px 0 0!important;
  padding:12px 38px;
  border-radius:11px;
  box-shadow:0 12px 28px rgba(66,181,116,.18);
}
.result-msg{
  margin:16px 0 0!important;
}
.hint{
  margin-bottom:30px!important;
  letter-spacing:.02em;
}
#rankPanel{
  width:190px;
  background:linear-gradient(180deg,rgba(38,40,55,.96),rgba(28,30,42,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
#rankPanel h3{
  margin-bottom:-54px;
  color:rgba(242,242,245,.92);
}
#rankList li{
  padding:7px 9px;
  margin:6px 0;
  border-radius:8px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.045);
  font-weight:600;
}
#rankList li.empty-rank{
  color:rgba(242,242,245,.48);
  font-weight:400;
  text-align:center;
}
#langSelect{
  opacity:.72;
  background:rgba(38,40,55,.72);
  backdrop-filter:blur(8px);
}
#langSelect:hover,#langSelect:focus{
  opacity:1;
}
.corner-sticker{
  width:132px;
  opacity:.88;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.25));
  transition:opacity .18s ease, transform .18s ease;
}
.corner-sticker:hover{
  opacity:1;
  transform:translateY(-2px);
}
@media (max-width:980px){
  .game-card{margin-bottom:54px;}
}
@media (max-width:600px){
  .game-card{
    width:min(410px,94vw);
    padding:24px 13px 22px;
    margin:18px auto 46px;
    border-radius:20px;
  }
  .game-card::before{border-radius:20px;}
  #questionHeader{font-size:1.9rem;margin-bottom:16px;}
  .clip-btn{min-width:142px;margin-bottom:14px;}
  #info{gap:8px;font-size:.78rem;margin-bottom:14px;}
  #info .hud-pill{padding:4px 9px;}
  #volumeWrapper{width:min(310px,86vw);margin-bottom:18px;}
  #volumeSlider{width:min(220px,62vw);}
  .answer-row{width:100%!important;padding:11px!important;}
  .submit{margin-top:2px!important;margin-bottom:0!important;}
  .hint{margin-bottom:24px!important;}
  #langSelect{opacity:.82;}
}

.game-card{
  padding:32px 36px 34px;
}
.game-card .answer-row{
  width:min(640px,100%)!important;
  grid-template-columns:220px minmax(0,1fr);
  gap:12px;
  margin:4px auto 22px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.game-card .answer-row .select2-container--default .select2-selection--single{
  border-color:rgba(255,255,255,.13)!important;
  background:rgba(25,27,40,.78)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.015), inset 0 1px 0 rgba(255,255,255,.025);
}
.game-card .answer-row .select2-container--default .select2-selection--single:hover{
  border-color:rgba(255,255,255,.25)!important;
  background:rgba(29,31,47,.86)!important;
}
.game-card .submit{
  margin-top:0!important;
}
.corner-sticker{
  position:fixed!important;
  right:12px!important;
  bottom:0!important;
  width:118px!important;
  opacity:.72!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.32)) saturate(.95)!important;
  pointer-events:none!important;
  user-select:none!important;
  z-index:4!important;
  transition:opacity .18s ease, transform .18s ease, filter .18s ease;
}
.corner-sticker:hover{
  opacity:.9!important;
  transform:translateY(-2px);
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.36)) saturate(1.05)!important;
}
@media (max-width:980px){
  .corner-sticker{display:none!important;}
}
@media (max-width:600px){
  .game-card{
    padding:24px 14px 24px;
  }
  .game-card .answer-row{
    grid-template-columns:1fr!important;
    gap:10px;
    margin:2px auto 18px!important;
  }
}

.answer-actions{
  display:none;
  gap:10px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
}
.answer-action-btn{
  padding:9px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.065);
  color:var(--text);
  cursor:pointer;
  font-weight:600;
  font-size:.92rem;
  transition:transform .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
}
.answer-action-btn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.105);
  border-color:rgba(255,255,255,.24);
}
.answer-action-btn:active{transform:scale(.98)}
.answer-action-btn.primary{
  background:linear-gradient(180deg,rgba(55,115,205,.9),rgba(37,61,104,.96));
  border-color:rgba(92,161,255,.34);
  box-shadow:0 10px 22px rgba(0,110,255,.14);
}
.answer-action-btn.primary.gen-muse{
  background:linear-gradient(180deg,rgba(229,0,128,.95),rgba(114,18,82,.98));
  border-color:rgba(229,0,128,.62);
  box-shadow:0 10px 24px rgba(229,0,128,.20);
}
.answer-action-btn.primary.gen-aqours{
  background:linear-gradient(180deg,rgba(25,177,246,.95),rgba(22,83,135,.98));
  border-color:rgba(25,177,246,.62);
  box-shadow:0 10px 24px rgba(25,177,246,.20);
}
.answer-action-btn.primary.gen-niji{
  background:linear-gradient(180deg,rgba(248,213,86,.95),rgba(142,104,26,.98));
  border-color:rgba(248,213,86,.64);
  box-shadow:0 10px 24px rgba(248,213,86,.18);
}
.answer-action-btn.primary.gen-liella{
  background:linear-gradient(180deg,rgba(218,87,216,.95),rgba(105,46,126,.98));
  border-color:rgba(218,87,216,.62);
  box-shadow:0 10px 24px rgba(218,87,216,.20);
}
.answer-action-btn.primary.gen-hasu{
  background:linear-gradient(180deg,rgba(251,170,185,.95),rgba(157,75,99,.98));
  border-color:rgba(251,170,185,.68);
  box-shadow:0 10px 24px rgba(251,170,185,.18);
}
.answer-action-btn.primary.gen-ikizurai{
  background:linear-gradient(180deg,rgba(237,109,0,.95),rgba(125,62,19,.98));
  border-color:rgba(237,109,0,.66);
  box-shadow:0 10px 24px rgba(237,109,0,.20);
}
.answer-action-btn.primary.gen-mix{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(182,188,202,.96));
  border-color:rgba(255,255,255,.72);
  color:#202232;
  box-shadow:0 10px 24px rgba(255,255,255,.16);
}
.answer-action-btn.retry{
  background:rgba(66,181,116,.16);
  border-color:rgba(66,181,116,.32);
}
.answer-action-btn.share{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.24);
  box-shadow:0 10px 22px rgba(255,255,255,.06);
}
.answer-action-btn.share.copied{
  background:rgba(66,181,116,.22);
  border-color:rgba(66,181,116,.44);
}
.game-card.game-ended .submit{
  opacity:.55;
  pointer-events:none;
}
@media (max-width:600px){
  .answer-actions{margin-top:12px;gap:8px;}
  .answer-action-btn{width:min(180px,78vw);}
}

.answer-action-btn.primary{
  --answer-progress:0%;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.answer-action-btn.primary.playing::after{
  content:"";
  position:absolute;
  inset:0;
  width:var(--answer-progress,0%);
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,.18));
  pointer-events:none;
  z-index:-1;
  transition:width .08s linear;
}
.answer-action-btn.primary.playing{
  filter:brightness(1.08);
}
.answer-action-btn.primary.gen-mix.playing::after{
  background:linear-gradient(90deg,rgba(32,34,50,.24),rgba(32,34,50,.12));
}

.share-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(5,6,12,.62);
  backdrop-filter:blur(10px);
}
.share-modal-backdrop.open{display:flex;}
.share-modal{
  width:min(460px,94vw);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 0%,rgba(66,181,116,.14),transparent 38%),
    linear-gradient(180deg,rgba(38,40,55,.98),rgba(25,27,40,.98));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 26px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
  padding:22px;
  color:var(--text);
  transform:translateY(8px) scale(.98);
  opacity:0;
  animation:sharePop .18s ease-out forwards;
}
@keyframes sharePop{to{transform:translateY(0) scale(1);opacity:1;}}
.share-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.share-modal-head h3{font-size:1.15rem;font-weight:700;letter-spacing:.03em;}
.share-close{
  width:34px;height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
  font-size:1.1rem;
}
.share-score-card{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  min-height:116px;
  margin-bottom:14px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.09);
}
.share-score-num{font-size:3rem;font-weight:800;line-height:1;}
.share-score-label{font-size:.9rem;color:var(--text-sub);}
.share-answer{
  margin-bottom:14px;
  padding:11px 13px;
  border-radius:13px;
  background:rgba(0,0,0,.13);
  border:1px solid rgba(255,255,255,.075);
  font-size:.88rem;
  line-height:1.5;
  color:rgba(242,242,245,.84);
}
.share-text-box{
  width:100%;
  min-height:112px;
  resize:none;
  margin-bottom:14px;
  padding:12px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(15,16,24,.72);
  color:rgba(242,242,245,.92);
  font-family:inherit;
  font-size:.9rem;
  line-height:1.55;
}
.share-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.share-modal-btn{
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:11px 12px;
  color:var(--text);
  background:rgba(255,255,255,.07);
  cursor:pointer;
  font-weight:700;
}
.share-modal-btn:hover{filter:brightness(1.08);}
.share-modal-btn.primary{
  background:linear-gradient(180deg,rgba(66,181,116,.95),rgba(45,133,87,.95));
  border-color:rgba(66,181,116,.46);
  box-shadow:0 10px 22px rgba(66,181,116,.15);
}
.share-modal-btn.secondary{
  background:linear-gradient(180deg,rgba(55,115,205,.9),rgba(37,61,104,.96));
  border-color:rgba(92,161,255,.34);
}
.share-toast{
  min-height:22px;
  margin-top:10px;
  text-align:center;
  font-size:.86rem;
  color:#42b574;
  opacity:0;
  transition:opacity .16s ease;
}
.share-toast.show{opacity:1;}
@media (max-width:600px){
  .share-modal{padding:18px;border-radius:20px;}
  .share-score-num{font-size:2.6rem;}
  .share-modal-actions{grid-template-columns:1fr;}
}

.round-log-panel{
  position:absolute;
  left:max(32px, calc(50% - 680px));
  top:96px;
  width:270px;
  height:440px;
  padding:14px 14px 12px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(38,40,55,.92),rgba(25,27,40,.90));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
  z-index:1;
  color:var(--text);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.round-log-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex:0 0 auto;}
.round-log-head h3{font-size:.98rem;font-weight:700;letter-spacing:.02em;color:rgba(242,242,245,.94);}
.round-log-count{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:rgba(66,181,116,.18);border:1px solid rgba(66,181,116,.30);color:rgba(242,242,245,.88);font-size:.78rem;font-weight:700;}
.round-log-list{flex:1;min-height:0;overflow-y:auto;padding-right:4px;}
.round-log-empty{padding:14px 10px;border-radius:10px;background:rgba(255,255,255,.035);color:rgba(242,242,245,.48);text-align:center;font-size:.86rem;}
.round-log-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:9px 8px;margin-bottom:7px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.045);}
.round-log-no{width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09);color:rgba(242,242,245,.76);font-size:.76rem;font-weight:700;margin-top:1px;}
.round-log-title{font-size:.9rem;font-weight:700;color:rgba(242,242,245,.94);line-height:1.35;word-break:break-word;}
.round-log-groups{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
.round-log-group{display:inline-block;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.075);color:rgba(242,242,245,.68);font-size:.76rem;line-height:1.25;max-width:100%;word-break:break-word;}
.round-log-group.gen-muse{background:rgba(229,0,128,.18);border-color:rgba(229,0,128,.32);color:#ffd6ec;}
.round-log-group.gen-aqours{background:rgba(25,177,246,.18);border-color:rgba(25,177,246,.34);color:#d8f3ff;}
.round-log-group.gen-niji{background:rgba(248,213,86,.20);border-color:rgba(248,213,86,.36);color:#fff2b8;}
.round-log-group.gen-liella{background:rgba(218,87,216,.18);border-color:rgba(218,87,216,.34);color:#ffd9ff;}
.round-log-group.gen-hasu{background:rgba(251,170,185,.18);border-color:rgba(251,170,185,.38);color:#ffe5ea;}
.round-log-group.gen-ikizurai{background:rgba(237,109,0,.20);border-color:rgba(237,109,0,.36);color:#ffe0c0;}
.round-log-group.gen-mix{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.32);color:#fff;}
@media (max-width:1320px){
  .round-log-panel{position:static;order:2;width:min(720px,94vw);height:240px;margin:-38px auto 42px;}
  .game-card{order:1;}
  .hint{order:3;}
  .gen-toggle-wrap{order:4;}
}
@media (max-width:600px){
  .round-log-panel{width:min(410px,94vw);height:200px;margin:-26px auto 34px;padding:12px;border-radius:14px;}
  .round-log-head h3{font-size:.92rem;}
  .round-log-count{font-size:.74rem;}
  .round-log-item{grid-template-columns:22px minmax(0,1fr);gap:7px;padding:8px 7px;}
  .round-log-title{font-size:.86rem;}
  .round-log-group{font-size:.72rem;}
}

.select2-results__options{
  max-height:168px!important;
}
.select2-results__option{
  padding:8px 12px!important;
}
@media (max-width:600px){
  .select2-results__options{
    max-height:150px!important;
  }
  .select2-results__option{
    padding:8px 10px!important;
    font-size:.9rem!important;
  }
}

:root{
  --bg:#0d89d6;
  --panel:rgba(255,255,255,.18);
  --panel-2:rgba(255,255,255,.12);
  --text:#ffffff;
  --text-sub:rgba(255,255,255,.78);
  --line:rgba(255,255,255,.30);
  --accent:#35c878;
  --sky-deep:#0b71c5;
  --sky-soft:#54c7ff;
}
body{
  min-height:100vh;
  padding-top:28px;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.36),transparent 26%),
    radial-gradient(circle at 78% 8%,rgba(255,255,255,.24),transparent 20%),
    radial-gradient(circle at 50% 110%,rgba(46,120,255,.34),transparent 36%),
    linear-gradient(135deg,#79d8ff 0%,#23a7ee 34%,#1485d8 67%,#0e5fb7 100%);
  color:#fff;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(120deg,transparent 0 16%,rgba(255,255,255,.10) 16.4%,transparent 17.2% 48%,rgba(255,255,255,.08) 48.4%,transparent 49.2%),
    radial-gradient(ellipse at 90% 20%,rgba(255,255,255,.22),transparent 15%),
    radial-gradient(ellipse at 8% 72%,rgba(255,255,255,.14),transparent 18%);
  mix-blend-mode:screen;
}
body::after{
  content:"♪   ✦   ♫";
  position:fixed;
  right:38px;
  top:120px;
  color:rgba(255,255,255,.28);
  font-size:42px;
  letter-spacing:22px;
  transform:rotate(-12deg);
  pointer-events:none;
  z-index:0;
}
.site-hero{
  width:min(1180px,92vw);
  margin:2px auto 34px;
  position:relative;
  z-index:2;
  text-align:left;
  color:#fff;
}
.site-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 13px;
  margin-bottom:14px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 10px 30px rgba(0,69,140,.12);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  backdrop-filter:blur(12px);
}
.site-hero h1{
  font-size:clamp(3.2rem,7.4vw,7.2rem);
  line-height:.92;
  letter-spacing:.01em;
  font-weight:800;
  font-family:Georgia,'Times New Roman','Noto Sans TC',serif;
  text-shadow:0 10px 32px rgba(0,72,140,.22);
}
.site-hero p{
  margin-top:14px;
  font-size:clamp(1rem,1.6vw,1.25rem);
  color:rgba(255,255,255,.88);
  font-weight:700;
  letter-spacing:.04em;
  text-shadow:0 4px 16px rgba(0,72,140,.18);
}
#langSelect{
  position:fixed;
  background:rgba(255,255,255,.22)!important;
  border-color:rgba(255,255,255,.34)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,66,130,.12);
}
.game-card{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.24),transparent 44%),
    linear-gradient(180deg,rgba(255,255,255,.23),rgba(255,255,255,.13))!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 24px 70px rgba(0,64,128,.20), inset 0 1px 0 rgba(255,255,255,.22)!important;
  backdrop-filter:blur(18px) saturate(1.15);
}
.game-card::before{
  background:linear-gradient(135deg,rgba(255,255,255,.26),transparent 28%,transparent 70%,rgba(255,255,255,.10))!important;
}
#questionHeader{
  color:#fff;
  text-shadow:0 8px 28px rgba(0,78,150,.26);
}
.clip-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(225,247,255,.88))!important;
  color:#1367ae!important;
  border:1px solid rgba(255,255,255,.7)!important;
  box-shadow:0 14px 34px rgba(0,104,190,.22)!important;
}
.clip-btn:hover{
  background:#fff!important;
  box-shadow:0 18px 42px rgba(0,104,190,.28)!important;
}
#info .hud-pill{
  background:rgba(255,255,255,.22)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 20px rgba(0,86,160,.10);
}
#volumeWrapper{
  background:rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
#volumeSlider{accent-color:#ffffff;}
.game-card .answer-row .select2-container--default .select2-selection--single{
  background:rgba(255,255,255,.88)!important;
  color:#1d6fb2!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 12px 28px rgba(0,89,170,.12)!important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder,
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#1d6fb2!important;
}
.select2-dropdown{
  background:rgba(255,255,255,.95)!important;
  color:#1d5f9f!important;
  border:1px solid rgba(255,255,255,.85)!important;
  box-shadow:0 20px 50px rgba(0,70,140,.22)!important;
}
.select2-search__field{
  background:#fff!important;
  color:#1d5f9f!important;
  border:1px solid rgba(29,95,159,.18)!important;
}
.select2-results__option{
  background:rgba(255,255,255,.95)!important;
  color:#1d5f9f!important;
}
.select2-results__option--highlighted{
  background:#dff5ff!important;
  color:#0a5d9f!important;
}
.group-tag{color:rgba(29,95,159,.62)!important;}
.submit{
  background:linear-gradient(180deg,#42d785,#22af66)!important;
  border:1px solid rgba(255,255,255,.44)!important;
  box-shadow:0 16px 32px rgba(0,132,88,.24)!important;
}
.result-msg.bad{color:#ffe2ea!important;text-shadow:0 2px 10px rgba(115,0,40,.22)}
.result-msg.ok{color:#e8fff3!important;text-shadow:0 2px 10px rgba(0,90,50,.20)}
.result-msg.warn{color:#fff7c9!important;}
.round-log-panel,#rankPanel{
  top:232px;
  background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.13))!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 18px 45px rgba(0,66,130,.16)!important;
  backdrop-filter:blur(16px) saturate(1.1);
}
.round-log-empty,#rankList li,.round-log-item{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.round-log-count{
  background:rgba(255,255,255,.22)!important;
  border-color:rgba(255,255,255,.30)!important;
}
.hint{
  color:rgba(255,255,255,.88)!important;
  font-weight:700;
  text-shadow:0 4px 14px rgba(0,70,130,.18);
}
.gen-btn{
  background:rgba(255,255,255,.20)!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:0 16px 36px rgba(0,66,130,.14), inset 0 1px 0 rgba(255,255,255,.16)!important;
  backdrop-filter:blur(10px);
}
.gen-btn:not(.disabled):hover{
  transform:translateY(-4px);
  filter:brightness(1.08) saturate(1.1);
}
.gen-btn.disabled{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.18)!important;
  opacity:.68!important;
}
.answer-action-btn.primary{
  border-color:rgba(255,255,255,.46)!important;
}
.answer-action-btn.share,
.answer-action-btn.retry{
  background:rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.28)!important;
  color:#fff!important;
}
.share-modal{
  background:linear-gradient(180deg,rgba(95,194,255,.98),rgba(25,129,214,.98))!important;
  border-color:rgba(255,255,255,.38)!important;
}
@media (max-width:1320px){
  .round-log-panel{top:auto;}
}
@media (max-width:980px){
  .site-hero{text-align:center;margin-top:18px;margin-bottom:24px;}
  .site-kicker{justify-content:center;}
  .round-log-panel,#rankPanel{top:auto;}
}
@media (max-width:600px){
  body{padding-top:18px;}
  body::after{display:none;}
  .site-hero{width:min(410px,94vw);margin:36px auto 20px;text-align:center;}
  .site-hero h1{font-size:3rem;line-height:1.02;}
  .site-hero p{font-size:.92rem;line-height:1.6;}
  .site-kicker{font-size:.72rem;margin-bottom:10px;}
  .game-card{margin-top:0!important;}
}

html, body{
  min-height:100vh;
}

body{
  padding-top:18px!important;
  padding-bottom:22px!important;
}

.site-hero{
  margin:0 auto 18px!important;
}

.site-kicker{
  margin-bottom:8px!important;
  padding:4px 11px!important;
  font-size:.78rem!important;
}

.site-hero h1{
  font-size:clamp(3.0rem,6.0vw,5.85rem)!important;
  line-height:.88!important;
}

.site-hero p{
  margin-top:8px!important;
  font-size:clamp(.92rem,1.22vw,1.05rem)!important;
}

.game-card{
  width:min(690px,92vw)!important;
  margin:0 auto 34px!important;
  padding:22px 28px 24px!important;
}

#questionHeader{
  font-size:2.05rem!important;
  margin-bottom:14px!important;
}

.clip-btn{
  margin-bottom:12px!important;
  padding:8px 22px!important;
}

#info{
  margin-bottom:10px!important;
}

#info .hud-pill{
  padding:4px 10px!important;
  font-size:.84rem!important;
}

#volumeWrapper{
  margin-bottom:16px!important;
  padding:6px 10px!important;
}

.game-card .answer-row{
  margin:0 auto 16px!important;
}

.game-card .answer-row .select2-container--default .select2-selection--single{
  height:44px!important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
  height:44px!important;
}

.submit{
  padding:10px 32px!important;
}

.result-msg{
  margin-top:12px!important;
}

.answer-actions{
  margin-top:12px!important;
}

.round-log-panel,
#rankPanel{
  top:190px!important;
}

.hint{
  margin-top:20px!important;
  margin-bottom:20px!important;
  font-size:.9rem!important;
}

.gen-toggle-wrap{
  margin-top:0!important;
  gap:18px!important;
}

.gen-btn{
  width:164px!important;
  height:112px!important;
  padding:10px 10px 24px!important;
}

.gen-btn{
  background:
    linear-gradient(180deg,rgba(4,42,86,.28),rgba(4,38,78,.20)),
    rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:
    0 16px 36px rgba(0,45,105,.20),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 0 0 1px rgba(0,40,90,.10)!important;
}

.gen-btn img{
  filter:drop-shadow(0 2px 4px rgba(0,20,55,.28))!important;
}

.gen-btn[data-gen="μ's"]:not(.disabled){
  background:
    linear-gradient(180deg,rgba(229,0,128,.22),rgba(5,38,78,.24)),
    rgba(255,255,255,.14)!important;
}
.gen-btn[data-gen="Aqours"]:not(.disabled){
  background:
    linear-gradient(180deg,rgba(25,177,246,.24),rgba(4,35,80,.30)),
    rgba(255,255,255,.14)!important;
  border-color:rgba(166,229,255,.78)!important;
}
.gen-btn[data-gen="虹ヶ咲"]:not(.disabled){
  background:
    linear-gradient(180deg,rgba(248,213,86,.24),rgba(4,35,80,.25)),
    rgba(255,255,255,.14)!important;
}
.gen-btn[data-gen="Liella!"]:not(.disabled){
  background:
    linear-gradient(180deg,rgba(218,87,216,.24),rgba(4,35,80,.25)),
    rgba(255,255,255,.14)!important;
}
.gen-btn[data-gen="蓮ノ空"]:not(.disabled){
  background:
    linear-gradient(180deg,rgba(251,170,185,.24),rgba(4,35,80,.25)),
    rgba(255,255,255,.14)!important;
}
.gen-btn[data-gen="いきづらい部!"]:not(.disabled){
  background:
    linear-gradient(180deg,rgba(237,109,0,.27),rgba(4,35,80,.27)),
    rgba(255,255,255,.14)!important;
}

@media (min-width:981px) and (max-height:820px){
  body{padding-top:12px!important;padding-bottom:14px!important;}
  .site-hero{margin-bottom:12px!important;}
  .site-hero h1{font-size:clamp(2.7rem,5.2vw,5.05rem)!important;}
  .site-hero p{font-size:.94rem!important;margin-top:6px!important;}
  .game-card{padding:18px 28px 20px!important;margin-bottom:24px!important;}
  #questionHeader{font-size:1.85rem!important;margin-bottom:10px!important;}
  .clip-btn{padding:7px 20px!important;margin-bottom:10px!important;}
  #info{margin-bottom:8px!important;}
  #volumeWrapper{margin-bottom:12px!important;}
  .game-card .answer-row{margin-bottom:12px!important;}
  .hint{margin-top:14px!important;margin-bottom:14px!important;}
  .gen-btn{height:104px!important;}
  .gen-btn img{max-height:62px!important;}
  .gen-btn[data-gen="蓮ノ空"] img{max-height:72px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-height:48px!important;}
  .round-log-panel,#rankPanel{top:170px!important;}
}

@media (max-width:980px){
  .site-hero{
    width:min(720px,92vw);
    margin:12px auto 22px!important;
    text-align:center;
  }
  .site-hero h1{
    font-size:clamp(2.5rem,10vw,4.2rem)!important;
  }
  .game-card{
    margin-bottom:38px!important;
  }
  .gen-btn{
    width:180px!important;
    height:118px!important;
  }
}

@media (max-width:600px){
  body{
    padding-top:20px!important;
  }
  .site-hero h1{
    font-size:2.65rem!important;
  }
  .site-hero p{
    font-size:.88rem!important;
  }
  .game-card{
    padding:22px 14px 22px!important;
    margin-bottom:34px!important;
  }
  .gen-btn{
    width:168px!important;
    height:112px!important;
  }
}

body{
  background:
    radial-gradient(circle at 16% 14%,rgba(75,205,255,.24),transparent 24%),
    radial-gradient(circle at 76% 10%,rgba(68,170,255,.18),transparent 21%),
    radial-gradient(circle at 50% 110%,rgba(0,78,210,.32),transparent 36%),
    linear-gradient(135deg,#28aeea 0%,#0879d4 36%,#0064bd 68%,#004996 100%)!important;
}

body::before{
  background:
    linear-gradient(120deg,transparent 0 16%,rgba(255,255,255,.055) 16.4%,transparent 17.2% 48%,rgba(255,255,255,.045) 48.4%,transparent 49.2%),
    radial-gradient(ellipse at 90% 20%,rgba(255,255,255,.10),transparent 15%),
    radial-gradient(ellipse at 8% 72%,rgba(255,255,255,.08),transparent 18%)!important;
  mix-blend-mode:screen;
}

.site-hero h1,
.site-hero p,
.site-kicker,
#questionHeader{
  text-shadow:0 8px 28px rgba(0,35,90,.34)!important;
}

.game-card{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.18),transparent 44%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.105))!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:0 24px 70px rgba(0,42,105,.26), inset 0 1px 0 rgba(255,255,255,.18)!important;
}

.round-log-panel,
#rankPanel{
  background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.09))!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 18px 45px rgba(0,36,96,.22)!important;
}

.hint{
  text-shadow:0 4px 14px rgba(0,40,110,.30)!important;
}

.gen-btn{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.14),transparent 48%),
    linear-gradient(180deg,rgba(11,86,154,.66),rgba(5,54,111,.58))!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:
    0 16px 34px rgba(0,39,100,.24),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -18px 28px rgba(0,35,86,.18)!important;
  backdrop-filter:blur(10px) saturate(1.18);
}

.gen-btn img{
  opacity:1!important;
  filter:
    drop-shadow(0 2px 0 rgba(255,255,255,.10))
    drop-shadow(0 5px 8px rgba(0,22,70,.36))!important;
}

.gen-btn[data-gen="μ's"]:not(.disabled){
  background:radial-gradient(circle at 50% 0%,rgba(229,0,128,.16),transparent 44%),
             linear-gradient(180deg,rgba(13,89,160,.68),rgba(5,52,110,.58))!important;
  border-color:rgba(255,88,183,.72)!important;
  box-shadow:0 16px 34px rgba(0,39,100,.22),0 0 0 1px rgba(229,0,128,.20),0 12px 26px rgba(229,0,128,.10),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.gen-btn[data-gen="Aqours"]:not(.disabled){
  background:radial-gradient(circle at 50% 0%,rgba(25,177,246,.20),transparent 46%),
             linear-gradient(180deg,rgba(8,76,150,.72),rgba(3,44,102,.62))!important;
  border-color:rgba(166,232,255,.82)!important;
  box-shadow:0 16px 34px rgba(0,39,100,.24),0 0 0 1px rgba(25,177,246,.24),0 12px 28px rgba(25,177,246,.14),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.gen-btn[data-gen="虹ヶ咲"]:not(.disabled){
  background:radial-gradient(circle at 50% 0%,rgba(248,213,86,.19),transparent 44%),
             linear-gradient(180deg,rgba(12,85,152,.70),rgba(4,50,106,.60))!important;
  border-color:rgba(255,231,112,.72)!important;
  box-shadow:0 16px 34px rgba(0,39,100,.22),0 0 0 1px rgba(248,213,86,.22),0 12px 26px rgba(248,213,86,.10),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.gen-btn[data-gen="Liella!"]:not(.disabled){
  background:radial-gradient(circle at 50% 0%,rgba(218,87,216,.18),transparent 44%),
             linear-gradient(180deg,rgba(13,85,154,.70),rgba(5,50,108,.60))!important;
  border-color:rgba(238,123,237,.72)!important;
  box-shadow:0 16px 34px rgba(0,39,100,.22),0 0 0 1px rgba(218,87,216,.22),0 12px 26px rgba(218,87,216,.10),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.gen-btn[data-gen="蓮ノ空"]:not(.disabled){
  background:radial-gradient(circle at 50% 0%,rgba(251,170,185,.18),transparent 44%),
             linear-gradient(180deg,rgba(12,84,150,.70),rgba(5,50,106,.60))!important;
  border-color:rgba(255,190,202,.74)!important;
  box-shadow:0 16px 34px rgba(0,39,100,.22),0 0 0 1px rgba(251,170,185,.24),0 12px 26px rgba(251,170,185,.10),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.gen-btn[data-gen="いきづらい部!"]:not(.disabled){
  background:radial-gradient(circle at 50% 0%,rgba(237,109,0,.20),transparent 44%),
             linear-gradient(180deg,rgba(12,80,146,.70),rgba(5,48,102,.60))!important;
  border-color:rgba(255,142,44,.74)!important;
  box-shadow:0 16px 34px rgba(0,39,100,.22),0 0 0 1px rgba(237,109,0,.24),0 12px 26px rgba(237,109,0,.11),inset 0 1px 0 rgba(255,255,255,.20)!important;
}

.gen-btn:not(.disabled):hover{
  filter:brightness(1.06) saturate(1.05)!important;
}

.gen-btn.disabled{
  background:linear-gradient(180deg,rgba(7,67,130,.42),rgba(4,45,96,.38))!important;
  border-color:rgba(255,255,255,.18)!important;
  opacity:.78!important;
}
.gen-btn.disabled img{
  opacity:.58!important;
  filter:grayscale(.45) brightness(.82) saturate(.75) drop-shadow(0 4px 7px rgba(0,20,60,.30))!important;
}

.round-log-group{
  font-weight:800!important;
  color:#fff!important;
  text-shadow:0 1px 3px rgba(0,20,60,.42)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 3px 8px rgba(0,30,80,.18)!important;
}

.round-log-group.gen-muse{
  background:linear-gradient(180deg,rgba(255,57,166,.92),rgba(186,0,103,.88))!important;
  border-color:rgba(255,190,225,.72)!important;
  color:#fff!important;
}

.round-log-group.gen-aqours{
  background:linear-gradient(180deg,rgba(0,171,255,.96),rgba(0,95,178,.92))!important;
  border-color:rgba(205,242,255,.80)!important;
  color:#fff!important;
}

.round-log-group.gen-niji{
  background:linear-gradient(180deg,rgba(255,220,70,.96),rgba(214,142,0,.92))!important;
  border-color:rgba(255,244,178,.82)!important;
  color:#fff!important;
}

.round-log-group.gen-liella{
  background:linear-gradient(180deg,rgba(224,89,235,.96),rgba(142,50,180,.92))!important;
  border-color:rgba(255,205,255,.78)!important;
  color:#fff!important;
}

.round-log-group.gen-hasu{
  background:linear-gradient(180deg,rgba(255,171,190,.96),rgba(205,80,118,.92))!important;
  border-color:rgba(255,226,232,.82)!important;
  color:#fff!important;
}

.round-log-group.gen-ikizurai{
  background:linear-gradient(180deg,rgba(255,132,22,.98),rgba(196,75,0,.94))!important;
  border-color:rgba(255,218,178,.82)!important;
  color:#fff!important;
}

.round-log-group.gen-mix{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(204,222,238,.90))!important;
  border-color:rgba(255,255,255,.86)!important;
  color:#155389!important;
  text-shadow:none!important;
}

.top-nav{
  width:min(1180px,92vw);
  position:relative;
  z-index:30;
  margin:0 auto 18px;
  padding:0;
}

.top-nav-inner{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 14px 34px rgba(0,55,120,.16), inset 0 1px 0 rgba(255,255,255,.65);
  backdrop-filter:blur(16px) saturate(1.12);
}

.top-brand{
  display:flex;
  align-items:center;
  gap:9px;
  color:#0f66aa;
  font-weight:900;
  white-space:nowrap;
  letter-spacing:.02em;
}

.brand-mark{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(180deg,#39bfff,#127ed4);
  box-shadow:0 6px 14px rgba(0,90,170,.22);
}

.brand-text{
  font-size:1rem;
}

.top-nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}

.top-nav-links a,
.top-nav-links button{
  appearance:none;
  border:0;
  background:transparent;
  color:#176eae;
  font-family:inherit;
  font-size:.92rem;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  padding:8px 12px;
  border-radius:999px;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}

.top-nav-links a:hover,
.top-nav-links button:hover{
  background:rgba(30,128,205,.12);
  color:#075a9a;
  transform:translateY(-1px);
}

.rule-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10001;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,45,95,.38);
  backdrop-filter:blur(10px);
}

.rule-modal-backdrop.open{
  display:flex;
}

.rule-modal{
  width:min(460px,94vw);
  border-radius:24px;
  padding:22px;
  color:#fff;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.22),transparent 42%),
    linear-gradient(180deg,rgba(17,125,205,.88),rgba(5,80,165,.86));
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 26px 70px rgba(0,40,100,.34), inset 0 1px 0 rgba(255,255,255,.25);
  animation:rulePop .18s ease-out both;
}

@keyframes rulePop{
  from{transform:translateY(10px) scale(.98);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}

.rule-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.rule-modal-head h3{
  font-size:1.2rem;
  font-weight:900;
  letter-spacing:.04em;
}

.rule-close{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.16);
  color:#fff;
  cursor:pointer;
  font-size:1.1rem;
}

.rule-list{
  display:grid;
  gap:10px;
}

.rule-item{
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:start;
  gap:10px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
}

.rule-item span{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#0964ad;
  font-weight:900;
}

.rule-item p{
  margin:2px 0 0;
  line-height:1.55;
  font-size:.94rem;
  font-weight:700;
  color:rgba(255,255,255,.92);
}

@media (max-width:980px){
  .top-nav{
    width:min(720px,94vw);
    margin:0 auto 16px;
  }
  .top-nav-inner{
    border-radius:24px;
    align-items:flex-start;
    flex-direction:column;
    padding:13px 15px;
  }
  .top-nav-links{
    width:100%;
    justify-content:flex-start;
    gap:4px;
  }
  .top-nav-links a,
  .top-nav-links button{
    padding:7px 10px;
    font-size:.86rem;
  }
}

@media (max-width:600px){
  .top-nav{
    margin-top:28px;
  }
  .top-nav-inner{
    border-radius:18px;
  }
  .top-brand{
    font-size:.95rem;
  }
  .brand-mark{
    width:28px;
    height:28px;
  }
  .top-nav-links{
    display:grid;
    grid-template-columns:repeat(2,1fr);
  }
  .top-nav-links a,
  .top-nav-links button{
    width:100%;
    text-align:center;
    background:rgba(30,128,205,.08);
  }
}

.top-nav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  z-index:1000!important;
  padding:0!important;
}

.top-nav-inner{
  width:100%!important;
  min-height:54px!important;
  border-radius:0!important;
  padding:0 28px!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  background:rgba(255,255,255,.88)!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 10px 26px rgba(0,45,120,.13)!important;
  backdrop-filter:blur(16px) saturate(1.12)!important;
}

.top-brand,
.brand-mark,
.brand-text{
  display:none!important;
}

.top-nav-links{
  width:min(760px,92vw)!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:24px!important;
  flex-wrap:nowrap!important;
}

.top-nav-links a,
.top-nav-links button{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#176eae!important;
  font-family:inherit!important;
  font-size:.95rem!important;
  font-weight:900!important;
  text-decoration:none!important;
  cursor:pointer!important;
  padding:10px 4px!important;
  border-radius:0!important;
  white-space:nowrap!important;
  letter-spacing:.02em!important;
}

.top-nav-links a:hover,
.top-nav-links button:hover{
  color:#064d8c!important;
  background:transparent!important;
  transform:none!important;
  text-shadow:0 0 10px rgba(0,130,220,.18)!important;
}

body{
  padding-top:72px!important;
}

#langSelect{
  position:fixed!important;
  top:10px!important;
  right:14px!important;
  z-index:1200!important;
}

.site-hero{
  margin-top:0!important;
  margin-bottom:18px!important;
}

.site-hero h1{
  line-height:.92!important;
}

.round-log-panel,
#rankPanel{
  top:236px!important;
}

#genHint{
  scroll-margin-top:86px!important;
}

#gameTop{
  scroll-margin-top:86px!important;
}

@media (max-width:980px){
  .top-nav-inner{
    min-height:auto!important;
    padding:9px 12px!important;
  }
  .top-nav-links{
    width:100%!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    flex:1 1 auto!important;
    min-width:86px!important;
    padding:8px 8px!important;
    font-size:.86rem!important;
    border-radius:999px!important;
    background:rgba(30,128,205,.08)!important;
  }
  body{
    padding-top:82px!important;
  }
  .site-hero{
    margin-top:0!important;
  }
}

@media (max-width:600px){
  body{
    padding-top:96px!important;
  }
  .top-nav-links{
    display:grid!important;
    grid-template-columns:repeat(2,1fr)!important;
    gap:7px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    min-width:0!important;
    width:100%!important;
    text-align:center!important;
  }
  #langSelect{
    top:8px!important;
    right:8px!important;
    font-size:.75rem!important;
  }
}

.top-nav{
  filter:none!important;
}

.top-nav-inner{
  min-height:58px!important;
  padding:0 34px!important;
  border-radius:0 0 24px 24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(231,248,255,.86))!important;
  border-bottom:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 12px 30px rgba(0,48,120,.15), inset 0 -1px 0 rgba(0,118,200,.06)!important;
}

.top-nav-links{
  width:min(980px,72vw)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(112px,1fr))!important;
  gap:14px!important;
  align-items:center!important;
  justify-content:center!important;
}

.top-nav-links a,
.top-nav-links button{
  position:relative!important;
  text-align:center!important;
  padding:9px 16px!important;
  border-radius:999px!important;
  color:#0964ad!important;
  background:rgba(255,255,255,.42)!important;
  border:1px solid rgba(42,137,210,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58), 0 5px 14px rgba(0,82,150,.06)!important;
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease!important;
}

.top-nav-links a:hover,
.top-nav-links button:hover{
  color:#034f91!important;
  background:rgba(255,255,255,.72)!important;
  transform:translateY(-1px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 8px 18px rgba(0,82,150,.11)!important;
}

.top-nav-links a::after,
.top-nav-links button::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#2aa8f7,transparent);
  opacity:0;
  transition:opacity .16s ease;
}

.top-nav-links a:hover::after,
.top-nav-links button:hover::after{
  opacity:.85;
}

#langSelect{
  background:rgba(255,255,255,.92)!important;
  color:#075c9f!important;
  border:1px solid rgba(20,113,190,.28)!important;
  box-shadow:0 6px 18px rgba(0,72,145,.16)!important;
  font-weight:800!important;
}

#langSelect option{
  color:#075c9f!important;
  background:#fff!important;
}

.collection-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10002;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,42,94,.38);
  backdrop-filter:blur(10px);
}

.collection-modal-backdrop.open{
  display:flex;
}

.collection-modal{
  width:min(640px,94vw);
  border-radius:26px;
  padding:24px;
  color:#fff;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.20),transparent 42%),
    linear-gradient(180deg,rgba(18,128,210,.90),rgba(5,78,165,.88));
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 28px 72px rgba(0,38,100,.36), inset 0 1px 0 rgba(255,255,255,.25);
  animation:collectionPop .18s ease-out both;
}

@keyframes collectionPop{
  from{transform:translateY(10px) scale(.98);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}

.collection-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}

.collection-modal-head h3{
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:.04em;
  margin-bottom:4px;
}

.collection-modal-head p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.92rem;
  line-height:1.5;
  font-weight:700;
}

.collection-note{
  margin-top:8px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.82rem!important;
  line-height:1.6!important;
  font-weight:600!important;
}

.collection-close{
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.16);
  color:#fff;
  cursor:pointer;
  font-size:1.15rem;
  flex:0 0 auto;
}

.collection-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:13px 15px;
  margin-bottom:14px;
  border-radius:16px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-weight:800;
}

.collection-total strong{
  font-size:1.18rem;
}

.collection-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.collection-card{
  min-height:82px;
  padding:13px 12px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.collection-card span{
  font-size:.92rem;
  font-weight:900;
}

.collection-card b{
  align-self:flex-start;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#105fa5;
  font-size:.9rem;
}

.collection-card-status{
  align-self:flex-start;
  padding:4px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.02em;
}

.collection-card-status.complete{
  background:linear-gradient(135deg,rgba(198,255,221,.98),rgba(125,232,170,.95));
  color:#13724a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 2px 8px rgba(72,201,134,.18);
}

.collection-card-status.partial{
  background:rgba(255,214,230,.92);
  color:#c3457a;
}

.collection-card.muse{border-color:rgba(255,88,183,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 1px rgba(229,0,128,.14);}
.collection-card.aqours{border-color:rgba(166,232,255,.70);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 1px rgba(25,177,246,.16);}
.collection-card.niji{border-color:rgba(255,231,112,.68);}
.collection-card.liella{border-color:rgba(238,123,237,.68);}
.collection-card.hasu{border-color:rgba(255,190,202,.70);}
.collection-card.ikizurai{border-color:rgba(255,142,44,.70);}

@media (max-width:980px){
  .top-nav-inner{
    border-radius:0 0 20px 20px!important;
    padding:9px 12px!important;
  }
  .top-nav-links{
    width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    min-width:0!important;
    padding:8px 8px!important;
    font-size:.82rem!important;
  }
}

@media (max-width:600px){
  .top-nav-inner{
    padding:8px 10px!important;
  }
  .top-nav-links{
    grid-template-columns:repeat(2,1fr)!important;
  }
  .collection-modal{
    padding:18px;
    border-radius:22px;
  }
  .collection-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .collection-card{
    min-height:74px;
  }
}

.collection-content{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
}
.collection-main{
  min-width:0;
}
.collection-modal.detail-open{
  width:min(1080px,96vw);
}
.collection-modal.detail-open .collection-content{
  grid-template-columns:minmax(0,590px) minmax(330px,1fr);
}

.collection-detail-toggle{
  width:100%;
  margin:12px 0 0;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.16);
  color:#fff;
  font-family:inherit;
  font-size:.9rem;
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.collection-detail-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:1.05rem;
  line-height:1;
  transition:transform .18s ease, background .18s ease;
}
.collection-detail-toggle[aria-expanded="true"] .collection-detail-arrow{
  transform:rotate(180deg);
  background:rgba(255,255,255,.28);
}
.collection-detail-toggle:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.36);
}
.collection-detail-panel{
  display:none;
  margin-top:0;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
}
.collection-detail-panel.open{display:block;}
.collection-detail-list{
  display:grid;
  gap:8px;
}
.collection-detail-row{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:8px 9px;
  border-radius:12px;
  background:rgba(255,255,255,.105);
  border:1px solid rgba(255,255,255,.12);
}
.collection-detail-row.muse{
  background:linear-gradient(180deg,rgba(229,0,128,.34),rgba(229,0,128,.20));
  border-color:rgba(255,120,198,.58);
}
.collection-detail-row.aqours{
  background:linear-gradient(180deg,rgba(25,177,246,.36),rgba(25,177,246,.20));
  border-color:rgba(166,232,255,.64);
}
.collection-detail-row.niji{
  background:linear-gradient(180deg,rgba(248,213,86,.38),rgba(248,213,86,.20));
  border-color:rgba(255,235,130,.64);
}
.collection-detail-row.liella{
  background:linear-gradient(180deg,rgba(218,87,216,.36),rgba(218,87,216,.20));
  border-color:rgba(245,140,245,.62);
}
.collection-detail-row.hasu{
  background:linear-gradient(180deg,rgba(251,170,185,.40),rgba(251,170,185,.22));
  border-color:rgba(255,210,220,.68);
}
.collection-detail-row.ikizurai{
  background:linear-gradient(180deg,rgba(237,109,0,.38),rgba(237,109,0,.22));
  border-color:rgba(255,160,75,.64);
}
.collection-detail-row strong{
  font-size:.84rem;
  font-weight:900;
  line-height:1.55;
}
.collection-detail-row span{
  color:rgba(255,255,255,.88);
  font-size:.82rem;
  line-height:1.55;
  font-weight:700;
  word-break:break-word;
}
.collection-detail-row.is-off{
  opacity:.52;
  filter:grayscale(.25);
}
@media (max-width:760px){
  .collection-modal.detail-open{
    width:min(640px,94vw);
  }
  .collection-modal.detail-open .collection-content{
    grid-template-columns:1fr;
  }
}
@media (max-width:600px){
  .collection-detail-row{
    grid-template-columns:1fr;
    gap:3px;
  }
}

.collection-card.is-off{
  opacity:.48;
  filter:grayscale(.35);
}
.collection-card.is-off b{
  background:rgba(255,255,255,.62)!important;
}

.top-nav-links{
  width:min(1120px,74vw)!important;
  grid-template-columns:repeat(5,minmax(108px,1fr))!important;
}
.update-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10002;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,45,95,.42);
  backdrop-filter:blur(10px);
}
.update-modal-backdrop.open{display:flex;}
.update-modal{
  width:min(560px,94vw);
  max-height:min(78vh,680px);
  overflow:auto;
  border-radius:26px;
  padding:22px;
  color:#fff;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.24),transparent 42%),
    linear-gradient(180deg,rgba(17,125,205,.92),rgba(5,80,165,.88));
  border:1px solid rgba(255,255,255,.40);
  box-shadow:0 26px 70px rgba(0,40,100,.36), inset 0 1px 0 rgba(255,255,255,.25);
  animation:rulePop .18s ease-out both;
}
.update-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.update-modal-head h3{
  font-size:1.25rem;
  font-weight:900;
  letter-spacing:.04em;
}
.update-modal-head p{
  margin-top:5px;
  color:rgba(255,255,255,.78);
  font-size:.88rem;
  line-height:1.5;
}
.update-close{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(255,255,255,.16);
  color:#fff;
  cursor:pointer;
  font-size:1.1rem;
}
.update-list{
  display:grid;
  gap:12px;
}
.update-entry{
  position:relative;
  display:grid;
  grid-template-columns:96px 1fr;
  gap:14px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.update-date{
  align-self:start;
  display:inline-flex;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#0c65aa;
  font-size:.78rem;
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,60,130,.12);
}
.update-entry h4{
  font-size:1rem;
  margin-bottom:8px;
  font-weight:900;
}
.update-entry ul{
  margin:0;
  padding-left:1.1em;
  color:rgba(255,255,255,.88);
  line-height:1.7;
  font-size:.9rem;
}
.update-entry li::marker{color:rgba(255,255,255,.78);}
.update-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  margin-left:6px;
  border-radius:999px;
  background:linear-gradient(180deg,#42d785,#22af66);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  vertical-align:middle;
}
@media (max-width:980px){
  .top-nav-links{
    width:min(760px,82vw)!important;
    grid-template-columns:repeat(5,minmax(92px,1fr))!important;
    gap:8px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    padding:8px 10px!important;
    font-size:.86rem!important;
  }
}
@media (max-width:600px){
  body{padding-top:134px!important;}
  .top-nav-links{
    grid-template-columns:repeat(2,1fr)!important;
    gap:7px!important;
  }
  .update-modal{
    padding:18px;
    border-radius:22px;
  }
  .update-entry{
    grid-template-columns:1fr;
    gap:10px;
  }
  .update-date{
    justify-self:start;
  }
}

.notice-card{
  width:min(690px,92vw);position:relative;z-index:2;margin:-6px auto 24px;padding:16px 20px 14px;border-radius:22px;color:#fff;
  background:radial-gradient(circle at 15% 0%,rgba(255,255,255,.23),transparent 45%),linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.105));
  border:1px solid rgba(255,255,255,.34);box-shadow:0 18px 42px rgba(0,42,105,.20), inset 0 1px 0 rgba(255,255,255,.20);backdrop-filter:blur(16px) saturate(1.12);
}
.notice-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.notice-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#0b68ad;font-size:.78rem;font-weight:900;box-shadow:0 8px 18px rgba(0,60,130,.12);}
.notice-head h2{font-size:1rem;font-weight:900;letter-spacing:.03em;text-shadow:0 4px 14px rgba(0,35,90,.24);}
.notice-card p{margin:0 0 11px;color:rgba(255,255,255,.86);font-size:.9rem;line-height:1.55;font-weight:700;}
.notice-report{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border-radius:16px;background:rgba(0,60,130,.18);border:1px solid rgba(255,255,255,.18);}
.notice-report span{color:rgba(255,255,255,.78);font-size:.88rem;font-weight:800;}
.notice-report strong{color:#fff;font-size:.96rem;font-weight:900;letter-spacing:.02em;}
.notice-report button{appearance:none;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.90);color:#0b68ad;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(0,60,130,.12);transition:transform .15s ease, filter .15s ease;}
.notice-report button:hover{transform:translateY(-1px);filter:brightness(1.04);}
.notice-copy-msg{min-height:18px;margin-top:7px;color:#e9fff4;font-size:.82rem;font-weight:800;opacity:0;transition:opacity .16s ease;}
.notice-copy-msg.show{opacity:1;}
.top-nav-links{width:min(1260px,78vw)!important;grid-template-columns:repeat(6,minmax(96px,1fr))!important;}
@media (max-width:980px){.top-nav-links{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}.notice-card{width:min(720px,92vw);margin:-2px auto 24px;}}
@media (max-width:600px){body{padding-top:152px!important;}.top-nav-links{grid-template-columns:repeat(2,1fr)!important;}.notice-card{width:min(410px,94vw);margin:0 auto 22px;padding:15px 15px 13px;border-radius:20px;}.notice-head{align-items:flex-start;gap:8px;}.notice-card p{font-size:.84rem;}.notice-report{align-items:flex-start;flex-direction:column;gap:6px;}.notice-report button{width:100%;}}

.notice-card{display:none!important;}

.notice-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10003;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,45,95,.42);
  backdrop-filter:blur(10px);
}
.notice-modal-backdrop.open{display:flex;}
.notice-modal{
  width:min(560px,94vw);
  border-radius:26px;
  padding:22px;
  color:#fff;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.24),transparent 42%),
    linear-gradient(180deg,rgba(17,125,205,.92),rgba(5,80,165,.88));
  border:1px solid rgba(255,255,255,.40);
  box-shadow:0 26px 70px rgba(0,40,100,.36), inset 0 1px 0 rgba(255,255,255,.25);
  animation:rulePop .18s ease-out both;
}
.notice-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.notice-modal-head h3{font-size:1.7rem;font-weight:900;letter-spacing:.02em;line-height:1.1;}
.notice-modal-head p{margin-top:6px;color:rgba(255,255,255,.84);font-size:.92rem;font-weight:700;line-height:1.5;}
.notice-close{
  width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.14);color:#fff;font-size:1.35rem;cursor:pointer;flex:0 0 auto;
}
.notice-modal .notice-entry{
  border-radius:22px;
  padding:18px 18px 14px;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.notice-modal .notice-head{margin-bottom:10px;}
.notice-modal .notice-card p{display:block;}
.notice-modal .notice-body{margin:0 0 12px;color:rgba(255,255,255,.90);font-size:.94rem;line-height:1.65;font-weight:700;}
.notice-modal .notice-report-list{display:flex;flex-direction:column;gap:10px;}
.notice-modal .notice-report{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:16px;
  background:rgba(0,60,130,.18);border:1px solid rgba(255,255,255,.18);
}
.notice-modal .notice-report-text{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;}
.notice-modal .notice-report-label,
.notice-modal .notice-report-platform{color:rgba(255,255,255,.78);font-size:.88rem;font-weight:800;}
.notice-modal .notice-report-id{color:#fff;font-size:.96rem;font-weight:900;letter-spacing:.02em;}
.notice-modal .notice-report button{appearance:none;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.90);color:#0b68ad;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(0,60,130,.12);transition:transform .15s ease, filter .15s ease;flex:0 0 auto;}
.notice-modal .notice-report button:hover{transform:translateY(-1px);filter:brightness(1.04);}
.notice-modal .notice-copy-msg{min-height:18px;margin-top:8px;color:#e9fff4;font-size:.82rem;font-weight:800;opacity:0;transition:opacity .16s ease;}
.notice-modal .notice-copy-msg.show{opacity:1;}
@media (max-width:600px){
  body{padding-top:20px!important;}
  .notice-modal{padding:18px;border-radius:22px;}
  .notice-modal-head h3{font-size:1.45rem;}
  .notice-modal .notice-entry{padding:16px 14px 13px;border-radius:18px;}
  .notice-modal .notice-body{font-size:.88rem;}
  .notice-modal .notice-report{align-items:flex-start;flex-direction:column;gap:8px;}
  .notice-modal .notice-report button{width:auto;}
}

.top-nav-links{
  width:min(1040px,72vw)!important;
  grid-template-columns:repeat(5,minmax(104px,1fr))!important;
}
@media (max-width:980px){
  .top-nav-links{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
}
@media (max-width:600px){
  body{padding-top:112px!important;}
  .top-nav-links{
    grid-template-columns:repeat(2,1fr)!important;
  }
}

.top-nav-links{width:min(1260px,78vw)!important;grid-template-columns:repeat(6,minmax(96px,1fr))!important;}
.achievement-modal-backdrop{position:fixed;inset:0;z-index:10004;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(0,45,95,.42);backdrop-filter:blur(10px);}
.achievement-modal-backdrop.open{display:flex;}
.achievement-modal{width:min(760px,94vw);max-height:min(82vh,760px);overflow:auto;border-radius:26px;padding:22px;color:#fff;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.24),transparent 42%),linear-gradient(180deg,rgba(17,125,205,.92),rgba(5,80,165,.88));border:1px solid rgba(255,255,255,.40);box-shadow:0 26px 70px rgba(0,40,100,.36), inset 0 1px 0 rgba(255,255,255,.25);animation:rulePop .18s ease-out both;}
.achievement-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;}
.achievement-modal-head h3{font-size:1.35rem;font-weight:900;letter-spacing:.04em;}
.achievement-modal-head p{margin-top:5px;color:rgba(255,255,255,.80);font-size:.9rem;line-height:1.55;font-weight:700;}
.achievement-close{flex:0 0 auto;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.16);color:#fff;cursor:pointer;font-size:1.1rem;}
.achievement-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.20);}
.achievement-summary b{font-size:1rem;}
.achievement-summary span{color:rgba(255,255,255,.82);font-weight:800;font-size:.9rem;}
.achievement-list{display:grid;gap:14px;}
.achievement-section{padding:16px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
.achievement-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.achievement-section h4{font-size:1.05rem;font-weight:900;letter-spacing:.03em;margin-bottom:4px;}
.achievement-section p{margin:0;color:rgba(255,255,255,.78);font-size:.86rem;font-weight:700;line-height:1.5;}
.achievement-count-pill{flex:0 0 auto;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.90);color:#0b68ad;font-size:.78rem;font-weight:900;}
.achievement-table{display:grid;gap:7px;}
.achievement-row{display:grid;grid-template-columns:1.1fr 1.45fr auto;gap:12px;align-items:center;min-height:42px;padding:9px 10px;border-radius:13px;background:rgba(0,65,135,.16);border:1px solid rgba(255,255,255,.12);}
.achievement-row.is-unlocked{background:linear-gradient(180deg,rgba(66,215,133,.20),rgba(255,255,255,.08));border-color:rgba(118,255,184,.34);}
.achievement-name{font-weight:900;color:#fff;line-height:1.35;}
.achievement-cond{color:rgba(255,255,255,.82);font-size:.88rem;font-weight:700;line-height:1.45;}
.achievement-status{justify-self:end;white-space:nowrap;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.16);color:rgba(255,255,255,.78);font-size:.76rem;font-weight:900;}
.achievement-row.is-unlocked .achievement-status{background:linear-gradient(180deg,#42d785,#22af66);color:#fff;}
.achievement-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(18px);z-index:10005;min-width:min(360px,88vw);padding:13px 16px;border-radius:999px;background:rgba(255,255,255,.94);color:#0b68ad;border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 42px rgba(0,42,105,.26);font-weight:900;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;}
.achievement-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
@media (max-width:980px){.top-nav-links{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}}
@media (max-width:600px){body{padding-top:152px!important;}.top-nav-links{grid-template-columns:repeat(2,1fr)!important;}.achievement-modal{padding:18px;border-radius:22px;}.achievement-row{grid-template-columns:1fr;gap:5px;align-items:start;}.achievement-status{justify-self:start;}}

.achievement-summary{justify-content:flex-start!important;}
.achievement-modal-head p{display:none!important;}
.achievement-section p{display:none!important;}
.achievement-row{grid-template-columns:1.05fr 1.55fr!important;}
.achievement-status{display:none!important;}
@media (max-width:600px){.achievement-row{grid-template-columns:1fr!important;}}

.achievement-toast{
  left:auto!important;
  right:24px!important;
  bottom:24px!important;
  transform:translateY(18px) scale(.96)!important;
  min-width:0!important;
  width:min(360px,calc(100vw - 32px))!important;
  padding:0!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.42),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(220,245,255,.92))!important;
  color:#0b68ad!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 22px 54px rgba(0,42,105,.30), inset 0 1px 0 rgba(255,255,255,.70)!important;
  text-align:left!important;
  overflow:hidden!important;
  backdrop-filter:blur(16px) saturate(1.12);
}
.achievement-toast.show{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
.achievement-toast-inner{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:14px 16px 14px 14px;
  position:relative;
}
.achievement-toast-inner::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,#42d785,#23a7ee,#f8d556);
}
.achievement-toast-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.55rem;
  background:linear-gradient(180deg,#42d785,#22af66);
  box-shadow:0 10px 22px rgba(34,175,102,.25), inset 0 1px 0 rgba(255,255,255,.30);
}
.achievement-toast-kicker{
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  color:rgba(11,104,173,.70);
  margin-bottom:2px;
}
.achievement-toast-title{
  font-size:1rem;
  font-weight:950;
  color:#075c9d;
  line-height:1.35;
  word-break:break-word;
}
@media (max-width:600px){
  .achievement-toast{
    left:14px!important;
    right:14px!important;
    bottom:18px!important;
    width:auto!important;
  }
}

@media (max-width:600px){
  body{
    padding-top:116px!important;
  }
  .top-nav-inner{
    min-height:auto!important;
    padding:7px 10px 8px!important;
    border-radius:0 0 18px 18px!important;
  }
  .top-nav-links{
    width:calc(100% - 86px)!important;
    margin-right:78px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    min-width:0!important;
    width:100%!important;
    height:34px!important;
    padding:5px 6px!important;
    font-size:.80rem!important;
    line-height:1!important;
    border-radius:999px!important;
    letter-spacing:0!important;
  }
  .top-nav-links a::after,
  .top-nav-links button::after{
    display:none!important;
  }
  #langSelect{
    top:10px!important;
    right:10px!important;
    width:72px!important;
    height:34px!important;
    padding:4px 6px!important;
    font-size:.78rem!important;
    border-radius:8px!important;
    z-index:1300!important;
  }
  .site-hero{
    margin-top:4px!important;
  }
}

@media (max-width:380px){
  body{
    padding-top:110px!important;
  }
  .top-nav-inner{
    padding:6px 8px 7px!important;
  }
  .top-nav-links{
    width:calc(100% - 78px)!important;
    margin-right:72px!important;
    gap:5px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    height:31px!important;
    font-size:.72rem!important;
    padding:4px 4px!important;
  }
  #langSelect{
    width:66px!important;
    height:31px!important;
    font-size:.72rem!important;
  }
}

@media (max-width:600px){
  body{
    padding-top:76px!important;
  }
  .top-nav{
    margin:0 auto 6px!important;
  }
  .top-nav-inner{
    min-height:auto!important;
    padding:5px 8px 6px!important;
    border-radius:0 0 16px 16px!important;
  }
  .top-nav-links{
    width:calc(100% - 72px)!important;
    margin-right:66px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    height:25px!important;
    min-height:25px!important;
    padding:3px 4px!important;
    font-size:.68rem!important;
    line-height:1!important;
    border-radius:999px!important;
    letter-spacing:0!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important;
  }
  .top-nav-links a::after,
  .top-nav-links button::after{
    display:none!important;
  }
  #langSelect{
    top:7px!important;
    right:8px!important;
    width:60px!important;
    height:25px!important;
    min-height:25px!important;
    padding:2px 4px!important;
    font-size:.66rem!important;
    border-radius:7px!important;
    z-index:1300!important;
  }
  .site-hero{
    margin-top:0!important;
  }
  .site-kicker{
    margin-bottom:4px!important;
  }
}
@media (max-width:380px){
  body{padding-top:72px!important;}
  .top-nav-inner{padding:4px 6px 5px!important;}
  .top-nav-links{width:calc(100% - 64px)!important;margin-right:58px!important;gap:3px!important;}
  .top-nav-links a,.top-nav-links button{height:23px!important;min-height:23px!important;font-size:.62rem!important;padding:2px 3px!important;}
  #langSelect{width:54px!important;height:23px!important;min-height:23px!important;font-size:.60rem!important;top:6px!important;right:6px!important;}
}

@media (max-width:600px){
  .site-hero{margin-top:12px!important;margin-bottom:18px!important;}
  .site-kicker{margin-bottom:10px!important;padding:4px 10px!important;font-size:.72rem!important;line-height:1.25!important;position:relative!important;z-index:3!important;}
  .site-hero h1{margin-top:0!important;font-size:2.55rem!important;line-height:1.08!important;letter-spacing:.01em!important;position:relative!important;z-index:2!important;}
  .site-hero p{margin-top:8px!important;font-size:.82rem!important;line-height:1.45!important;}
}
@media (max-width:380px){
  .site-hero{margin-top:10px!important;margin-bottom:16px!important;}
  .site-kicker{font-size:.68rem!important;margin-bottom:8px!important;}
  .site-hero h1{font-size:2.35rem!important;line-height:1.08!important;}
  .site-hero p{font-size:.78rem!important;}
}

.select-gen-option{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding-left:2px;
}
.select-gen-bar{
  width:5px;
  align-self:stretch;
  min-height:38px;
  border-radius:999px;
  flex:0 0 auto;
  background:rgba(29,95,159,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.24) inset;
}
.select-gen-main{
  min-width:0;
  flex:1;
}
.select-gen-title{
  display:block;
  font-weight:900;
  line-height:1.25;
  color:#145c9c;
  word-break:break-word;
}
.select-gen-tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:5px;
}
.select-gen-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:2px 7px;
  border-radius:999px;
  font-size:.74rem;
  line-height:1.25;
  font-weight:900;
  color:#fff;
  text-shadow:0 1px 3px rgba(0,20,60,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 2px 7px rgba(0,30,80,.14);
}
.select2-selection__rendered .select-gen-option{
  gap:7px;
}
.select2-selection__rendered .select-gen-bar{
  min-height:24px;
  width:4px;
}
.select2-selection__rendered .select-gen-tags{
  display:none;
}
.select2-selection__rendered .select-gen-title{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.select-gen-option.gen-muse .select-gen-bar,.select-gen-chip.gen-muse{background:linear-gradient(180deg,#ff3da7,#bf006b);}
.select-gen-option.gen-aqours .select-gen-bar,.select-gen-chip.gen-aqours{background:linear-gradient(180deg,#00baff,#0072d6);}
.select-gen-option.gen-niji .select-gen-bar,.select-gen-chip.gen-niji{background:linear-gradient(180deg,#ffdf48,#d48b00);}
.select-gen-option.gen-liella .select-gen-bar,.select-gen-chip.gen-liella{background:linear-gradient(180deg,#e75ef0,#8e32b4);}
.select-gen-option.gen-hasu .select-gen-bar,.select-gen-chip.gen-hasu{background:linear-gradient(180deg,#ffb1c1,#cd5076);}
.select-gen-option.gen-ikizurai .select-gen-bar,.select-gen-chip.gen-ikizurai{background:linear-gradient(180deg,#ff8516,#c44b00);}
.select-gen-option.gen-mix .select-gen-bar,.select-gen-chip.gen-mix{
  background:linear-gradient(180deg,#ffffff,#c8dfee);
  color:#155389;
  text-shadow:none;
}
.select-gen-option.gen-all .select-gen-bar,.select-gen-chip.gen-all{
  background:linear-gradient(180deg,#4ac7ff,#34d47d);
}
.select-gen-chip.gen-niji,.select-gen-chip.gen-mix{
  color:#155389;
  text-shadow:none;
}
.select2-results__option--highlighted .select-gen-title{
  color:#064f8e!important;
}
@media (max-width:600px){
  .select-gen-chip{font-size:.68rem;padding:2px 6px;}
  .select-gen-title{font-size:.9rem;}
}

.gen-btn.gen-locked{
  cursor:not-allowed!important;
}
.gen-btn.gen-locked:hover{
  transform:none!important;
  filter:none!important;
}
.gen-btn.gen-locked::after{
  content:"LOCK";
  position:absolute;
  top:7px;
  right:8px;
  padding:1px 6px;
  border-radius:999px;
  background:rgba(0,35,80,.42);
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.78);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.04em;
  pointer-events:none;
}
@media (max-width:600px){
  .gen-btn.gen-locked::after{font-size:.56rem;padding:1px 5px;}
}

.game-card .answer-row{
  gap:14px!important;
}

.game-card .answer-row .select2-container{
  transition:transform .18s ease, filter .18s ease;
}

.game-card .answer-row .select2-container:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}

.game-card .answer-row .select2-container--open{
  transform:translateY(-2px);
  filter:brightness(1.06);
}

.game-card .answer-row .select2-container--default .select2-selection--single{
  height:48px!important;
  border-radius:13px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(224,244,255,.88))!important;
  border:1px solid rgba(255,255,255,.95)!important;
  box-shadow:
    0 12px 26px rgba(0,55,130,.14),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(21,98,165,.08)!important;
  transition:box-shadow .18s ease, border-color .18s ease, background .18s ease, transform .18s ease!important;
}

.game-card .answer-row .select2-container--open .select2-selection--single,
.game-card .answer-row .select2-container--default .select2-selection--single:hover{
  border-color:rgba(117,215,255,.95)!important;
  box-shadow:
    0 16px 34px rgba(0,76,160,.20),
    0 0 0 3px rgba(107,205,255,.22),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}

.select2-container.select-feedback-pop .select2-selection--single{
  animation:selectConfirmPop .34s cubic-bezier(.2,1.4,.3,1) both;
}

@keyframes selectConfirmPop{
  0%{transform:scale(1);}
  45%{transform:scale(1.025);}
  100%{transform:scale(1);}
}

.select2-dropdown{
  border-radius:16px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(255,255,255,.90)!important;
  box-shadow:
    0 22px 54px rgba(0,50,120,.28),
    inset 0 1px 0 rgba(255,255,255,.78)!important;
  animation:selectDropdownIn .18s cubic-bezier(.2,.9,.24,1) both;
}

@keyframes selectDropdownIn{
  from{opacity:0;transform:translateY(-8px) scale(.985);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

.select2-search{
  padding:8px 9px 6px!important;
  background:linear-gradient(180deg,rgba(234,248,255,.98),rgba(255,255,255,.96))!important;
}

.select2-search__field{
  height:34px!important;
  border-radius:10px!important;
  padding:5px 10px!important;
  outline:none!important;
  transition:border-color .16s ease, box-shadow .16s ease!important;
}

.select2-search__field:focus{
  border-color:rgba(44,161,232,.55)!important;
  box-shadow:0 0 0 3px rgba(57,190,255,.15)!important;
}

.select2-results__options{
  padding:5px!important;
  scrollbar-width:thin;
}

.select2-results__option{
  margin:3px 0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#145c9c!important;
  transition:
    background .16s ease,
    transform .16s ease,
    box-shadow .16s ease,
    color .16s ease!important;
}

.select2-results__option--highlighted{
  background:linear-gradient(90deg,rgba(218,244,255,.96),rgba(244,252,255,.88))!important;
  color:#064f8e!important;
  box-shadow:0 7px 18px rgba(0,75,150,.10)!important;
  transform:translateX(2px);
}

.select2-results__option[aria-selected="true"]{
  background:linear-gradient(90deg,rgba(199,239,255,.98),rgba(232,250,255,.92))!important;
  box-shadow:inset 0 0 0 1px rgba(73,180,241,.18)!important;
}

.select-gen-option{
  padding:4px 4px!important;
  gap:11px!important;
  transition:transform .16s ease!important;
}

.select2-results__option--highlighted .select-gen-option{
  transform:translateX(3px);
}

.select-gen-bar{
  width:6px!important;
  border-radius:999px!important;
  transition:min-height .16s ease, width .16s ease, box-shadow .16s ease, filter .16s ease!important;
}

.select2-results__option--highlighted .select-gen-bar,
.select2-results__option[aria-selected="true"] .select-gen-bar{
  width:7px!important;
  min-height:42px!important;
  filter:saturate(1.18) brightness(1.08);
  box-shadow:0 0 12px rgba(0,140,255,.22),0 0 0 1px rgba(255,255,255,.34) inset!important;
}

.select-gen-title{
  font-size:.96rem!important;
  letter-spacing:.01em;
  transition:color .16s ease, transform .16s ease!important;
}

.select2-results__option--highlighted .select-gen-title{
  transform:translateX(1px);
}

.select-gen-tags{
  margin-top:6px!important;
}

.select-gen-chip{
  transform:translateY(0);
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease!important;
}

.select2-results__option--highlighted .select-gen-chip{
  transform:translateY(-1px);
  filter:brightness(1.06) saturate(1.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 4px 10px rgba(0,30,80,.18)!important;
}

.select2-selection__rendered .select-gen-option{
  padding:0!important;
}

.select2-selection__rendered .select-gen-bar{
  min-height:26px!important;
  width:5px!important;
  box-shadow:0 0 8px rgba(0,160,255,.18),0 0 0 1px rgba(255,255,255,.28) inset!important;
}

.select2-selection__rendered .select-gen-title{
  font-size:.95rem!important;
  color:#1463a5!important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:#4385ad transparent transparent transparent!important;
  transition:transform .18s ease, border-color .18s ease;
}

.select2-container--open .select2-selection--single .select2-selection__arrow b{
  transform:rotate(180deg);
  border-color:#1689d4 transparent transparent transparent!important;
}

#songSelect + .select2-container .select2-selection--single{
  background:linear-gradient(180deg,rgba(240,250,255,.93),rgba(218,240,255,.88))!important;
}

#songSelect + .select2-container .select2-selection__placeholder{
  color:rgba(20,99,165,.70)!important;
}

@media (max-width:600px){
  .game-card .answer-row .select2-container--default .select2-selection--single{
    height:50px!important;
  }
  .select2-dropdown{border-radius:14px!important;}
  .select-gen-title{font-size:.9rem!important;}
  .select2-results__option--highlighted .select-gen-bar,
  .select2-results__option[aria-selected="true"] .select-gen-bar{
    min-height:38px!important;
  }
}

.leader-strip-bg{
  position:fixed;
  left:0;
  right:0;
  bottom:-14px;
  width:100vw;
  height:366px;
  z-index:0;
  pointer-events:none;
  opacity:.10;
  background-image:url('data:image/webp;base64,UklGRtRpAABXRUJQVlA4WAoAAAAQAAAAjQcA1gEAQUxQSKBaAAABHLVt20iK9t86391110XEBADxPTUivEr2SY4c5dB9sjfJBXkA8FRmawecU5BspwNAyYdQq2G13uCQk9YHwB///6uU+P/3BLvd7n3bva3b3Z3WpjRMUAMD0+d5ztgBroGuGGCiK3Z3d6/dTWMgCAzM4w+YgHPO3dd/74iYAKBA/P1HEZH++P9fJaX//1Xez2z3LsvSS3e3IA1S0t2IUoKkCCIlDQIqpUhJiCiIgJQS0ikhKd3NLuyyHTNz/2POnDlzzpnznE+8ImIC2P/733///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///ffff//9999///3333///fff///FW7z1yMWzP+zQqHygg/S/vYKHn06hfObNn0ZXwv/2fvc2lf/Wq2fz/+k1hMpHAkU/mVj8f3hJRxQl5ASABgvr/88uCRUUXYRszh+r/68uAMOVHJCRUGh97v/dhS0uAXgx4n94+V9ydlYu5Bcu90r5N+79YbdeI2bO6xTyvwwkFHzh5F6gTPAJzvY+5azeZX0qnZ7olvN/FwCo9FIuu5IMUC+Xtylq1GW6+N9P/bxHAfXn/bb1x965/j8yqJogw+FOAMm71Pg8VbRO8hL5NPzqMkm+XtfM//9wlXn1S9T/NYdaSTJnFHiVI7+hynODvEEhg+6Tz/ccySSf9/P3lhQ7dG3Odw3wKm9nYrP/W05CmbsOrAXJ6+TT9af7/53Yt+fvK65x10eVvD5+Q5OYvbt7SIGlSeTDOl4Q/yDg3TQS0QUNXBH/kRkD/i85AIVOOyyD1zn/lKnt8oaFBQcGxYy7/MwV8n4/b0+Lx3y5IA+AiLUkv/bxasQMXLv/6rNXtw/T6e4XwUJbO2lt/X/NwXcTyeSC3qaCo9pBYXSBRtutLjCusncnxzY+HwLZhk/Jv/N7J8IqNe3cucu2VKqoBwufkkxuopJPu2Nxvv93mQRMI7nZ21TjXSiP/OS1K9zn49XpHf9qGOSjNpCnKnoffDt++ccbunE0WPjGTrKpOovINz7/5yC64nsdevXu1rlNo9KR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');
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:115% auto;
  filter:drop-shadow(0 8px 18px rgba(0,40,100,.05));
}
@media (max-width:1400px){
  .leader-strip-bg{
    bottom:-12px;
    height:336px;
    background-size:117% auto;
    opacity:.095;
  }
}
@media (max-width:1200px){
  .leader-strip-bg{
    bottom:-10px;
    height:286px;
    background-size:119% auto;
    opacity:.085;
  }
}
@media (max-width:980px){
  .leader-strip-bg{
    bottom:0;
    height:220px;
    background-size:125% auto;
    opacity:.07;
  }
}
@media (max-width:600px){
  .leader-strip-bg{display:none;}
}

#groupFilter + .select2-container .select2-selection__rendered .select-gen-title{
  font-size:1rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}

#songSelect + .select2-container .select2-selection__placeholder,
#songSelect + .select2-container .select2-selection__rendered{
  font-size:1rem!important;
  font-weight:900!important;
  color:#145c9c!important;
  letter-spacing:.02em!important;
}

@media (max-width:600px){
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-title,
  #songSelect + .select2-container .select2-selection__placeholder,
  #songSelect + .select2-container .select2-selection__rendered{
    font-size:.98rem!important;
  }
}

.clip-btn,
.clip-btn #playLabel{
  font-weight:900!important;
  color:#145c9c!important;
  letter-spacing:.02em!important;
}
.clip-btn{
  font-family:'Noto Sans TC',sans-serif!important;
}

html{
  scrollbar-width:thin;
  scrollbar-color:rgba(226,248,255,.72) rgba(255,255,255,.12);
}
*::-webkit-scrollbar{
  width:8px;
  height:8px;
}
*::-webkit-scrollbar-track{
  background:rgba(255,255,255,.12);
  border:2px solid transparent;
  border-radius:999px;
  background-clip:padding-box;
}
*::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(211,243,255,.72));
  border:2px solid transparent;
  border-radius:999px;
  background-clip:padding-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
*::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(207,245,255,.88));
}
*::-webkit-scrollbar-corner{background:transparent;}
.round-log-list,
.select2-results__options,
.achievement-modal,
.update-modal,
.rule-modal,
.collection-modal{
  scrollbar-width:thin;
  scrollbar-color:rgba(226,248,255,.70) rgba(255,255,255,.08);
}
.round-log-list::-webkit-scrollbar,
.select2-results__options::-webkit-scrollbar,
.achievement-modal::-webkit-scrollbar,
.update-modal::-webkit-scrollbar,
.rule-modal::-webkit-scrollbar,
.collection-modal::-webkit-scrollbar{
  width:6px;
}
.round-log-list::-webkit-scrollbar-track,
.select2-results__options::-webkit-scrollbar-track,
.achievement-modal::-webkit-scrollbar-track,
.update-modal::-webkit-scrollbar-track,
.rule-modal::-webkit-scrollbar-track,
.collection-modal::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08);
  border:2px solid transparent;
  background-clip:padding-box;
}
.round-log-list::-webkit-scrollbar-thumb,
.select2-results__options::-webkit-scrollbar-thumb,
.achievement-modal::-webkit-scrollbar-thumb,
.update-modal::-webkit-scrollbar-thumb,
.rule-modal::-webkit-scrollbar-thumb,
.collection-modal::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(218,247,255,.68));
  border:1px solid transparent;
  background-clip:padding-box;
}
.round-log-list{
  padding-right:8px!important;
  margin-right:2px!important;
}

#rankPanel{
  width:178px!important;
  padding:12px 12px 10px!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
#rankPanel h3{
  margin:0 0 10px!important;
  line-height:1.2!important;
  text-align:center!important;
  font-size:1rem!important;
  color:rgba(255,255,255,.92)!important;
}
#rankList{
  margin:0!important;
  padding:0!important;
}
#rankList li{
  margin:0 0 8px!important;
  padding:8px 10px!important;
  line-height:1.25!important;
}
#rankList li:last-child{
  margin-bottom:0!important;
}
#rankList li.empty-rank{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
}
@media (max-width:980px){
  #rankPanel{display:none!important;}
}

#multiNavBtn.nav-pending-btn{
  opacity:.52!important;
  filter:saturate(.55) brightness(.94)!important;
  cursor:not-allowed!important;
  color:rgba(9,100,173,.68)!important;
  background:rgba(255,255,255,.25)!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
#multiNavBtn.nav-pending-btn:hover{
  transform:none!important;
  background:rgba(255,255,255,.25)!important;
  color:rgba(9,100,173,.68)!important;
  box-shadow:none!important;
}
#multiNavBtn.nav-pending-btn::after{
  display:none!important;
}
.nav-pending-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(9,100,173,.14);
  color:rgba(9,100,173,.86);
  font-size:.62rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.top-nav-links{
  grid-template-columns:repeat(7,minmax(92px,1fr))!important;
  width:min(1340px,82vw)!important;
}
.top-nav-links a,
.top-nav-links button{
  white-space:nowrap!important;
}
@media (max-width:980px){
  .top-nav-links{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
  }
}
@media (max-width:600px){
  .nav-pending-badge{
    display:none;
  }
}

#langSelect{
  position:fixed!important;
  top:12px!important;
  left:16px!important;
  right:auto!important;
  z-index:10020!important;
  min-width:112px!important;
  height:38px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.90)!important;
  color:#176eae!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 10px 24px rgba(0,66,130,.14)!important;
  font-weight:900!important;
  opacity:1!important;
}
.auth-top{
  position:fixed;
  top:10px;
  right:16px;
  z-index:10020;
  display:flex;
  align-items:center;
  gap:8px;
}
.auth-mini-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.78);
  min-width:68px;
  height:36px;
  padding:0 14px;
  border-radius:999px;
  color:#176eae;
  background:rgba(255,255,255,.90);
  box-shadow:0 10px 24px rgba(0,66,130,.12), inset 0 1px 0 rgba(255,255,255,.65);
  font-family:inherit;
  font-size:.82rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .16s ease, filter .16s ease, background .16s ease;
}
.auth-mini-btn:hover{transform:translateY(-1px);filter:brightness(1.04);}
.auth-login-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.78);
  min-width:92px;
  height:40px;
  padding:0 18px;
  border-radius:999px;
  color:#176eae;
  background:rgba(255,255,255,.90);
  box-shadow:0 10px 24px rgba(0,66,130,.14), inset 0 1px 0 rgba(255,255,255,.65);
  font-family:inherit;
  font-size:.92rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .16s ease, filter .16s ease, background .16s ease;
}
.auth-login-btn:hover{transform:translateY(-1px);filter:brightness(1.04);}
.auth-login-btn.is-logged-in{
  min-width:auto;
  max-width:190px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  background:linear-gradient(180deg,rgba(66,216,133,.96),rgba(34,175,102,.94));
  color:#fff;
}
.auth-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,45,95,.42);
  backdrop-filter:blur(10px);
}
.auth-modal-backdrop.open{display:flex;}
.auth-modal{
  width:min(430px,94vw);
  border-radius:24px;
  padding:22px;
  color:#fff;
  background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.24),transparent 42%),linear-gradient(180deg,rgba(17,125,205,.94),rgba(5,80,165,.92));
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 26px 70px rgba(0,40,100,.34), inset 0 1px 0 rgba(255,255,255,.25);
  animation:authPop .18s ease-out both;
}
@keyframes authPop{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.auth-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.auth-modal-head h3{font-size:1.25rem;font-weight:900;letter-spacing:.04em;}
.auth-close{width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.16);color:#fff;cursor:pointer;font-size:1.1rem;}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.auth-tab{appearance:none;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-family:inherit;font-weight:900;padding:9px 12px;cursor:pointer;}
.auth-tab.active{background:rgba(255,255,255,.92);color:#176eae;}
.auth-field{display:grid;gap:6px;margin-bottom:12px;}
.auth-field label{font-size:.86rem;font-weight:900;color:rgba(255,255,255,.88);}
.auth-field input{width:100%;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.54);background:rgba(255,255,255,.92);color:#145c9b;font-family:inherit;font-size:1rem;font-weight:800;padding:0 13px;outline:none;}
.auth-field input:focus{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.20);}
.auth-submit{width:100%;height:44px;border:1px solid rgba(255,255,255,.44);border-radius:14px;background:linear-gradient(180deg,#42d785,#22af66);color:#fff;font-family:inherit;font-size:1rem;font-weight:900;cursor:pointer;box-shadow:0 16px 32px rgba(0,132,88,.22);}
.auth-submit:disabled{opacity:.65;cursor:wait;}
.auth-msg{min-height:22px;margin-top:10px;text-align:center;font-size:.88rem;font-weight:900;color:#e9fff4;}
.auth-msg.bad{color:#ffe2ea;}
.auth-tip{margin:-2px 0 14px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.92);font-size:.86rem;font-weight:800;line-height:1.45;}
.achievement-login-note{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.96);font-size:.82rem;font-weight:900;}
.nav-mobile-only{display:none!important;}
@media (max-width:600px){
  .auth-mini-btn{display:none!important;}
  .nav-mobile-only{display:block!important;}

  #langSelect{top:8px!important;left:8px!important;min-width:96px!important;height:34px!important;font-size:.78rem!important;border-radius:10px!important;}
  .auth-top{top:7px;right:8px;}
  .auth-login-btn{height:36px;min-width:76px;padding:0 12px;font-size:.82rem;}
}

#langSelect{
  z-index:1200!important;
}
.auth-top{
  z-index:1200!important;
}
.auth-modal-backdrop{
  z-index:10050!important;
}

@media (max-width:600px){
  #langSelect{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:10px!important;
    right:auto!important;
    width:98px!important;
    min-width:98px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 10px!important;
    font-size:.82rem!important;
    border-radius:12px!important;
    z-index:1200!important;
  }
  .auth-top{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    right:10px!important;
    z-index:1200!important;
  }
  .auth-login-btn{
    height:36px!important;
    min-width:78px!important;
    max-width:138px!important;
    padding:0 13px!important;
    font-size:.82rem!important;
    border-radius:999px!important;
  }
  .top-nav{
    margin-top:52px!important;
    width:100%!important;
    max-width:none!important;
    z-index:1000!important;
  }
  .top-nav-inner{
    border-radius:0 0 18px 18px!important;
    padding:7px 9px 8px!important;
  }
  .top-nav-links{
    width:100%!important;
    margin-right:0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    height:28px!important;
    min-height:28px!important;
    padding:3px 4px!important;
    font-size:.68rem!important;
    line-height:1!important;
  }
  .site-hero{
    margin-top:8px!important;
  }
  .auth-modal-backdrop{
    z-index:10050!important;
    padding:16px!important;
  }
}
@media (max-width:380px){
  #langSelect{
    left:8px!important;
    width:88px!important;
    min-width:88px!important;
    height:34px!important;
    min-height:34px!important;
    font-size:.76rem!important;
  }
  .auth-top{right:8px!important;}
  .auth-login-btn{
    height:34px!important;
    min-width:72px!important;
    max-width:122px!important;
    padding:0 11px!important;
    font-size:.78rem!important;
  }
  .top-nav{margin-top:49px!important;}
  .top-nav-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;}
  .top-nav-links a,
  .top-nav-links button{font-size:.66rem!important;height:27px!important;min-height:27px!important;}
}

.mobile-menu-toggle{
  display:none;
}
@media (max-width:600px){
  #langSelect{
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:10px!important;
    width:104px!important;
    min-width:104px!important;
    height:38px!important;
    z-index:1200!important;
  }
  .auth-top{
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    right:10px!important;
    z-index:1200!important;
  }
  .auth-login-btn{
    height:38px!important;
    min-width:78px!important;
    font-size:.82rem!important;
  }
  .mobile-menu-toggle{
    display:block!important;
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    z-index:1200!important;
    height:38px!important;
    min-width:96px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.78)!important;
    background:rgba(255,255,255,.88)!important;
    color:#176eae!important;
    font-family:inherit!important;
    font-size:.82rem!important;
    font-weight:900!important;
    box-shadow:0 10px 24px rgba(0,66,130,.14)!important;
  }
  .top-nav{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 54px)!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    z-index:1180!important;
    max-height:0!important;
    opacity:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    transition:max-height .22s ease, opacity .18s ease!important;
  }
  .top-nav.mobile-open{
    max-height:250px!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .top-nav-inner{
    border-radius:18px!important;
    padding:10px!important;
    background:rgba(235,249,255,.94)!important;
    box-shadow:0 16px 36px rgba(0,55,120,.20)!important;
  }
  .top-nav-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    height:34px!important;
    min-height:34px!important;
    padding:5px 6px!important;
    font-size:.78rem!important;
    line-height:1!important;
    background:rgba(255,255,255,.70)!important;
    border:1px solid rgba(40,130,200,.12)!important;
  }
  .site-hero{
    margin-top:62px!important;
  }
  .auth-modal-backdrop,
  .rule-modal-backdrop,
  .collection-modal-backdrop,
  .achievement-modal-backdrop,
  .update-modal-backdrop,
  .notice-modal-backdrop,
  .share-modal-backdrop{
    z-index:10050!important;
  }
}
@media (max-width:380px){
  .mobile-menu-toggle{
    min-width:82px!important;
    padding:0 10px!important;
    font-size:.76rem!important;
  }
  #langSelect{width:90px!important;min-width:90px!important;}
  .auth-login-btn{min-width:70px!important;padding:0 10px!important;font-size:.76rem!important;}
  .top-nav-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
  .top-nav-links a,.top-nav-links button{height:32px!important;min-height:32px!important;font-size:.72rem!important;}
}

.auth-top{align-items:flex-start!important;}
.auth-user-menu{position:absolute;top:calc(100% + 8px);right:0;width:270px;display:none;padding:12px;border-radius:18px;background:rgba(236,249,255,.96);border:1px solid rgba(255,255,255,.82);box-shadow:0 18px 42px rgba(0,55,120,.24), inset 0 1px 0 rgba(255,255,255,.70);color:#176eae;backdrop-filter:blur(14px) saturate(1.12);z-index:1210;}
.auth-user-menu.open{display:block;}
.auth-user-head{padding:6px 6px 10px;border-bottom:1px solid rgba(23,110,174,.14);margin-bottom:10px;}
.auth-user-name{font-size:1rem;font-weight:950;line-height:1.2;word-break:break-word;}
.auth-user-sub{font-size:.76rem;font-weight:900;color:rgba(23,110,174,.62);margin-top:2px;}
.auth-record-box{padding:10px;border-radius:14px;background:rgba(255,255,255,.64);border:1px solid rgba(23,110,174,.12);}
.auth-record-title{font-size:.86rem;font-weight:950;margin-bottom:8px;color:#0d629e;}
.auth-record-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:10px;background:rgba(30,128,205,.09);color:#176eae;font-size:.82rem;font-weight:900;}
.auth-record-row strong{font-size:.86rem;color:#0b5f9d;white-space:nowrap;}
.auth-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;}
.auth-record-mini{display:flex;justify-content:space-between;gap:6px;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid rgba(23,110,174,.10);font-size:.76rem;font-weight:900;}
.auth-record-mini strong{color:#0b5f9d;white-space:nowrap;}
.auth-record-mini.is-muse{background:rgba(255,49,149,.10);border-color:rgba(255,49,149,.34);color:#d81d84;}
.auth-record-mini.is-muse strong{color:#ff2a93;}
.auth-record-mini.is-aqours{background:rgba(56,168,255,.11);border-color:rgba(56,168,255,.32);color:#187bd8;}
.auth-record-mini.is-aqours strong{color:#22a0ff;}
.auth-record-mini.is-niji{background:rgba(243,201,63,.14);border-color:rgba(243,201,63,.34);color:#c98300;}
.auth-record-mini.is-niji strong{color:#e0a100;}
.auth-record-mini.is-liella{background:rgba(227,79,216,.11);border-color:rgba(227,79,216,.34);color:#a845b0;}
.auth-record-mini.is-liella strong{color:#d956d8;}
.auth-record-mini.is-hasu{background:rgba(248,189,205,.16);border-color:rgba(248,189,205,.50);color:#cf6f93;}
.auth-record-mini.is-hasu strong{color:#ea8aae;}
.auth-record-mini.is-ikizurai{background:rgba(255,140,0,.12);border-color:rgba(255,140,0,.34);color:#cf6c00;}
.auth-record-mini.is-ikizurai strong{color:#ff8a00;}
.auth-logout-btn{width:100%;height:38px;margin-top:10px;border-radius:12px;border:1px solid rgba(255,255,255,.58);background:linear-gradient(180deg,rgba(255,112,130,.95),rgba(218,68,96,.94));color:#fff;font-family:inherit;font-weight:950;cursor:pointer;box-shadow:0 10px 22px rgba(180,25,60,.16);}
.auth-logout-btn:hover{filter:brightness(1.04);}
@media (max-width:600px){.auth-user-menu{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 52px)!important;right:10px!important;width:min(292px,calc(100vw - 20px))!important;z-index:1210!important;}.auth-record-grid{grid-template-columns:1fr!important;}}

@media (min-width:981px){
  .top-nav{
    height:54px!important;
  }
  .top-nav-inner{
    position:relative!important;
    height:54px!important;
    min-height:54px!important;
    padding:0!important;
    display:block!important;
  }
  .top-nav-links{
    position:absolute!important;
    left:50%!important;
    top:7px!important;
    transform:translateX(-50%)!important;
    width:auto!important;
    display:grid!important;
    grid-template-columns:repeat(6,180px)!important;
    gap:12px!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0!important;
    flex-wrap:nowrap!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:180px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .nav-mobile-only{
    display:none!important;
  }
}

@media (min-width:981px) and (max-width:1280px){
  .top-nav-links{
    grid-template-columns:repeat(6,145px)!important;
    gap:10px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:145px!important;
    font-size:.82rem!important;
  }
}

@media (min-width:601px){
  #achievementNavBtnMobile{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:absolute!important;
    left:-9999px!important;
    top:auto!important;
    width:0!important;
    min-width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
}

@media (min-width:981px){
  #langSelect{
    position:fixed!important;
    left:16px!important;
    top:7px!important;
    right:auto!important;
    min-width:86px!important;
    width:auto!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 12px!important;
    border-radius:14px!important;
    font-size:.84rem!important;
    line-height:40px!important;
    box-sizing:border-box!important;
  }
  .auth-top{
    top:7px!important;
    right:16px!important;
    align-items:center!important;
    gap:8px!important;
  }
  .auth-mini-btn{
    min-width:60px!important;
    height:34px!important;
    padding:0 12px!important;
    font-size:.78rem!important;
    border-radius:999px!important;
  }
  .auth-login-btn{
    min-width:78px!important;
    height:40px!important;
    padding:0 14px!important;
    font-size:.84rem!important;
    border-radius:16px!important;
  }
  .auth-login-btn.is-logged-in{
    min-width:112px!important;
    padding:0 14px!important;
  }
}

#updateNavBtn.update-has-new::before{
  content:"";
  position:absolute;
  top:6px;
  right:12px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ff3b5f;
  box-shadow:0 0 0 3px rgba(255,59,95,.18),0 0 12px rgba(255,59,95,.55);
  pointer-events:none;
}
#updateNavBtn.update-has-new.is-read::before{
  display:none;
}
@media (max-width:600px){
  #updateNavBtn.update-has-new::before{
    top:5px;
    right:10px;
    width:7px;
    height:7px;
  }
}

@media (max-width:600px){
  .notice-modal-backdrop,
  .collection-modal-backdrop{
    padding:10px!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .notice-modal,
  .collection-modal,
  .collection-modal.detail-open{
    width:min(360px,90vw)!important;
    max-width:90vw!important;
    max-height:72dvh!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px!important;
    border-radius:18px!important;
  }

  .notice-modal-head,
  .collection-modal-head{
    position:sticky!important;
    top:-14px!important;
    z-index:5!important;
    margin:-14px -14px 10px!important;
    padding:14px!important;
    border-radius:18px 18px 0 0!important;
    background:linear-gradient(180deg,rgba(24,137,218,.98),rgba(17,117,202,.92))!important;
    backdrop-filter:blur(12px)!important;
  }

  .notice-modal-head h3,
  .collection-modal-head h3{
    font-size:1.22rem!important;
    line-height:1.18!important;
  }

  .notice-modal-head p,
  .collection-modal-head p,
  .collection-note{
    font-size:.78rem!important;
    line-height:1.45!important;
  }

  .notice-close,
  .collection-close{
    width:30px!important;
    height:30px!important;
    font-size:1.05rem!important;
  }

  .notice-modal .notice-entry{
    padding:12px!important;
    border-radius:15px!important;
  }

  .notice-modal .notice-body{
    font-size:.82rem!important;
    line-height:1.55!important;
    margin-bottom:10px!important;
  }

  .notice-modal .notice-report-list{
    gap:8px!important;
  }

  .notice-modal .notice-report{
    padding:9px 10px!important;
    border-radius:13px!important;
    gap:7px!important;
  }

  .notice-modal .notice-report-label,
  .notice-modal .notice-report-platform{
    font-size:.78rem!important;
  }

  .notice-modal .notice-report-id{
    font-size:.84rem!important;
    overflow-wrap:anywhere!important;
  }

  .notice-modal .notice-report button{
    padding:5px 10px!important;
    font-size:.76rem!important;
  }

  .collection-total{
    padding:10px 12px!important;
    margin-bottom:10px!important;
    border-radius:14px!important;
    font-size:.86rem!important;
  }

  .collection-total strong{
    font-size:1rem!important;
  }

  .collection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .collection-card{
    min-height:66px!important;
    padding:10px!important;
    border-radius:15px!important;
    gap:7px!important;
  }

  .collection-card span{
    font-size:.82rem!important;
  }

  .collection-card b{
    font-size:.8rem!important;
    padding:2px 8px!important;
  }

  .collection-card-status{
    font-size:.68rem!important;
    padding:4px 8px!important;
  }

  .collection-detail-toggle{
    margin-top:10px!important;
    padding:8px 12px!important;
    border-radius:12px!important;
    font-size:.82rem!important;
  }

  .collection-modal.detail-open .collection-content{
    grid-template-columns:1fr!important;
  }

  .collection-detail-panel{
    padding:9px!important;
    border-radius:14px!important;
  }

  .collection-detail-list{
    gap:7px!important;
  }

  .collection-detail-row{
    grid-template-columns:1fr!important;
    gap:3px!important;
    padding:8px!important;
    border-radius:11px!important;
  }

  .collection-detail-row strong{
    font-size:.78rem!important;
  }

  .collection-detail-row span{
    font-size:.76rem!important;
    line-height:1.45!important;
  }
}

@media (max-width:380px){
  .notice-modal,
  .collection-modal,
  .collection-modal.detail-open{
    width:min(340px,92vw)!important;
    max-width:92vw!important;
    max-height:70dvh!important;
  }
}

#groupFilter + .select2-container .select2-selection--single{
  background:linear-gradient(180deg,rgba(240,250,255,.93),rgba(218,240,255,.88))!important;
  color:#145c9c!important;
  border:1px solid rgba(255,255,255,.95)!important;
  box-shadow:
    0 12px 26px rgba(0,55,130,.14),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(21,98,165,.08)!important;
}
#groupFilter + .select2-container .select2-selection__rendered,
#groupFilter + .select2-container .select2-selection__placeholder,
#groupFilter + .select2-container .select-gen-title{
  color:#145c9c!important;
  font-weight:900!important;
}
#groupFilter + .select2-container.select2-container--open .select2-selection--single,
#groupFilter + .select2-container .select2-selection--single:hover,
#groupFilter + .select2-container.select-feedback-pop .select2-selection--single,
#songSelect + .select2-container.select2-container--open .select2-selection--single,
#songSelect + .select2-container .select2-selection--single:hover,
#songSelect + .select2-container.select-feedback-pop .select2-selection--single{
  background:linear-gradient(180deg,rgba(250,254,255,.98),rgba(226,246,255,.92))!important;
  border-color:rgba(117,215,255,.95)!important;
  box-shadow:
    0 16px 34px rgba(0,76,160,.20),
    0 0 0 3px rgba(107,205,255,.22),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}
#groupFilter + .select2-container .select2-selection__rendered .select-gen-option{
  background:transparent!important;
}

.top-nav-links a,
.top-nav-links button,
.auth-mini-btn,
.auth-login-btn,
#langSelect,
.mobile-menu-toggle{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(226,247,255,.90))!important;
  color:#0964ad!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:
    0 10px 24px rgba(0,66,130,.14),
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(42,137,210,.08)!important;
  transition:transform .16s ease, filter .16s ease, background .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease!important;
}
.top-nav-links a:hover,
.top-nav-links button:hover,
.auth-mini-btn:hover,
.auth-login-btn:hover,
#langSelect:hover,
#langSelect:focus,
.mobile-menu-toggle:hover{
  background:linear-gradient(180deg,rgba(255,255,255,1),rgba(238,251,255,.96))!important;
  color:#075a9a!important;
  border-color:rgba(255,255,255,.96)!important;
  box-shadow:
    0 14px 30px rgba(0,76,150,.18),
    0 0 0 3px rgba(107,205,255,.16),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
  transform:translateY(-1px)!important;
  filter:none!important;
}
.top-nav-links a:active,
.top-nav-links button:active,
.auth-mini-btn:active,
.auth-login-btn:active,
.mobile-menu-toggle:active{
  transform:scale(.98)!important;
  box-shadow:
    0 7px 16px rgba(0,66,130,.12),
    inset 0 2px 5px rgba(0,98,170,.10)!important;
}
#langSelect:active{
  box-shadow:
    0 7px 16px rgba(0,66,130,.12),
    inset 0 2px 5px rgba(0,98,170,.10)!important;
}
.top-nav-links a::after,
.top-nav-links button::after{
  display:none!important;
}
#langSelect option{
  color:#0964ad!important;
  background:#fff!important;
}

.top-nav-links a,
.top-nav-links button,
.auth-mini-btn,
.auth-login-btn,
.mobile-menu-toggle{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(226,247,255,.90))!important;
  color:#0964ad!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:
    0 10px 24px rgba(0,66,130,.14),
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(42,137,210,.08)!important;
  transform:none!important;
  filter:none!important;
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease!important;
}
.top-nav-links a:hover,
.top-nav-links button:hover,
.auth-mini-btn:hover,
.auth-login-btn:hover,
.mobile-menu-toggle:hover,
.top-nav-links a:focus-visible,
.top-nav-links button:focus-visible,
.auth-mini-btn:focus-visible,
.auth-login-btn:focus-visible,
.mobile-menu-toggle:focus-visible{
  background:linear-gradient(180deg,rgba(255,255,255,1),rgba(238,251,255,.96))!important;
  color:#075a9a!important;
  border-color:rgba(255,255,255,.96)!important;
  box-shadow:
    0 14px 30px rgba(0,76,150,.18),
    0 0 0 3px rgba(107,205,255,.16),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
  transform:translateY(-1px)!important;
}
.top-nav-links a::after,
.top-nav-links button::after,
.auth-mini-btn::after,
.auth-login-btn::after,
.mobile-menu-toggle::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:5px!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,#2aa8f7,transparent)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .16s ease!important;
}
.top-nav-links a:hover::after,
.top-nav-links button:hover::after,
.auth-mini-btn:hover::after,
.auth-login-btn:hover::after,
.mobile-menu-toggle:hover::after,
.top-nav-links a:focus-visible::after,
.top-nav-links button:focus-visible::after,
.auth-mini-btn:focus-visible::after,
.auth-login-btn:focus-visible::after,
.mobile-menu-toggle:focus-visible::after{
  opacity:.9!important;
}
.top-nav-links a:active,
.top-nav-links button:active,
.auth-mini-btn:active,
.auth-login-btn:active,
.mobile-menu-toggle:active{
  transform:scale(.98)!important;
  box-shadow:
    0 7px 16px rgba(0,66,130,.12),
    inset 0 2px 5px rgba(0,98,170,.10)!important;
}
#langSelect{
  background:
    linear-gradient(90deg,transparent 0 18%,#2aa8f7 50%,transparent 82%) left bottom/100% 2px no-repeat,
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(226,247,255,.90))!important;
  color:#0964ad!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:
    0 10px 24px rgba(0,66,130,.14),
    inset 0 1px 0 rgba(255,255,255,.78)!important;
  font-weight:800!important;
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease!important;
}
#langSelect:hover,
#langSelect:focus{
  background:
    linear-gradient(90deg,transparent 0 18%,#2aa8f7 50%,transparent 82%) left bottom/100% 2px no-repeat,
    linear-gradient(180deg,rgba(255,255,255,1),rgba(238,251,255,.96))!important;
  color:#075a9a!important;
  border-color:rgba(255,255,255,.96)!important;
  box-shadow:
    0 14px 30px rgba(0,76,150,.18),
    0 0 0 3px rgba(107,205,255,.16),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
  transform:translateY(-1px)!important;
}

#langSelect{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(226,247,255,.90))!important;
}
#langSelect:hover,
#langSelect:focus{
  background:
    linear-gradient(90deg,transparent 0 18%,#2aa8f7 50%,transparent 82%) left bottom/100% 2px no-repeat,
    linear-gradient(180deg,rgba(255,255,255,1),rgba(238,251,255,.96))!important;
}
#langSelect:not(:hover):not(:focus){
  transform:none!important;
  box-shadow:
    0 10px 24px rgba(0,66,130,.14),
    inset 0 1px 0 rgba(255,255,255,.78)!important;
}

#langSelect{
  background:linear-gradient(180deg,rgba(240,250,255,.93),rgba(218,240,255,.88))!important;
  color:#145c9c!important;
  border:1px solid rgba(255,255,255,.95)!important;
  box-shadow:
    0 12px 26px rgba(0,55,130,.14),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(21,98,165,.08)!important;
  transform:none!important;
  filter:none!important;
}
#langSelect:hover,
#langSelect:focus{
  background:linear-gradient(180deg,rgba(250,254,255,.98),rgba(226,246,255,.92))!important;
  color:#145c9c!important;
  border-color:rgba(117,215,255,.95)!important;
  box-shadow:
    0 16px 34px rgba(0,76,160,.20),
    0 0 0 3px rgba(107,205,255,.22),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
  transform:none!important;
}
#langSelect:active{
  transform:scale(.99)!important;
}

@media (max-width:600px){
  .mobile-menu-toggle{
    display:block!important;
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    z-index:1200!important;
    height:38px!important;
    min-width:96px!important;
    width:auto!important;
    padding:0 14px!important;
    margin:0!important;
  }
  .mobile-menu-toggle:hover,
  .mobile-menu-toggle:focus-visible{
    transform:translateX(-50%) translateY(-1px)!important;
  }
  .mobile-menu-toggle:active{
    transform:translateX(-50%) scale(.98)!important;
  }
  .top-nav{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 54px)!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    z-index:1180!important;
  }
}
@media (max-width:380px){
  .mobile-menu-toggle{
    min-width:82px!important;
    padding:0 10px!important;
    font-size:.76rem!important;
  }
}


/* reasonable-game-ui-motion */
:root{
  --ui-ease:cubic-bezier(.2,.8,.2,1);
  --ui-fast:.16s;
  --ui-mid:.26s;
}

@media (prefers-reduced-motion:no-preference){
  body{animation:uiPageIn .32s var(--ui-ease) both;}
  .top-nav{animation:uiSlideDown .34s var(--ui-ease) both;}
  .site-hero{animation:uiFadeUp .36s var(--ui-ease) .03s both;}
  .game-card{animation:uiFadeUp .38s var(--ui-ease) .08s both;}
  .round-log-panel,#rankPanel{animation:uiFadeUp .36s var(--ui-ease) .12s both;}
  .hint{animation:uiFadeUp .32s var(--ui-ease) .16s both;}

  @keyframes uiPageIn{from{opacity:0}to{opacity:1}}
  @keyframes uiSlideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
  @keyframes uiFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}

.top-nav-links a,
.top-nav-links button,
.clip-btn,
.submit,
.answer-action-btn,
.share-modal-btn,
.rule-close,
.share-close,
.achievement-close,
.notice-close,
.notice-card button,
.notice-copy-btn,
.gen-btn,
.select2-container--default .select2-selection--single{
  transition:
    transform var(--ui-fast) var(--ui-ease),
    filter var(--ui-fast) var(--ui-ease),
    box-shadow var(--ui-fast) var(--ui-ease),
    background var(--ui-fast) var(--ui-ease),
    border-color var(--ui-fast) var(--ui-ease),
    opacity var(--ui-fast) var(--ui-ease);
}

.clip-btn:hover,
.submit:hover,
.answer-action-btn:hover,
.share-modal-btn:hover,
.notice-card button:hover,
.notice-copy-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}

.clip-btn:active,
.submit:active,
.answer-action-btn:active,
.share-modal-btn:active,
.notice-card button:active,
.notice-copy-btn:active,
.top-nav-links a:active,
.top-nav-links button:active{
  transform:translateY(1px) scale(.985);
  filter:brightness(.98);
}

.gen-btn:not(.disabled):hover{
  transform:translateY(-3px) scale(1.015)!important;
}

.gen-btn:not(.disabled):active{
  transform:translateY(0) scale(.985)!important;
}

.select2-container--default .select2-selection--single:hover{
  transform:translateY(-1px);
}

.select2-dropdown{
  animation:uiDropdownIn .14s var(--ui-ease) both;
  transform-origin:top center;
}

@keyframes uiDropdownIn{
  from{opacity:0;transform:translateY(-6px) scaleY(.98)}
  to{opacity:1;transform:translateY(0) scaleY(1)}
}

.select2-results__option{
  transition:background var(--ui-fast) var(--ui-ease),color var(--ui-fast) var(--ui-ease),padding-left var(--ui-fast) var(--ui-ease);
}

.select2-results__option--highlighted{
  padding-left:16px!important;
}

.rule-modal,
.share-modal,
.achievement-modal,
.notice-modal{
  animation:uiModalIn .22s var(--ui-ease) both;
  transform-origin:center;
}

@keyframes uiModalIn{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.round-log-item{
  transition:background var(--ui-fast) var(--ui-ease),transform var(--ui-fast) var(--ui-ease),border-color var(--ui-fast) var(--ui-ease);
}

.round-log-item:hover{
  transform:translateX(2px);
  background:rgba(255,255,255,.19)!important;
  border-color:rgba(255,255,255,.24)!important;
}

.achievement-toast,
.share-toast{
  animation:uiToastIn .22s var(--ui-ease) both;
}

@keyframes uiToastIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width:600px){
  .gen-btn:not(.disabled):hover,
  .round-log-item:hover{
    transform:none!important;
  }
}


/* premium-game-ui-motion-v2 */
:root{
  --ui-ease-out:cubic-bezier(.16,1,.3,1);
  --ui-ease-snap:cubic-bezier(.34,1.56,.64,1);
  --ui-blue-glow:rgba(126,218,255,.42);
  --ui-white-glow:rgba(255,255,255,.38);
}

.game-card,
.round-log-panel,
#rankPanel,
.rule-modal,
.notice-modal,
.share-modal,
.achievement-modal{
  transform-style:preserve-3d;
}

.game-card::after,
.notice-modal::after,
.rule-modal::after,
.share-modal::after,
.achievement-modal::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(120deg,transparent 0 34%,rgba(255,255,255,.20) 48%,transparent 62% 100%);
  opacity:.22;
  transform:translateX(-38%);
}

@media (prefers-reduced-motion:no-preference){
  .game-card::after,
  .notice-modal::after,
  .rule-modal::after,
  .share-modal::after,
  .achievement-modal::after{
    animation:uiSoftSheen 5.6s ease-in-out infinite;
  }

  .clip-btn,
  .submit,
  .answer-action-btn,
  .notice-copy-btn,
  .notice-card button,
  .share-modal-btn{
    will-change:transform,filter,box-shadow;
  }

  .gen-btn:not(.disabled)::before{
    animation:uiGenIdleGlow 3.8s ease-in-out infinite;
  }
}

@keyframes uiSoftSheen{
  0%,62%{transform:translateX(-58%);opacity:0;}
  72%{opacity:.22;}
  100%{transform:translateX(58%);opacity:0;}
}

@keyframes uiGenIdleGlow{
  0%,100%{opacity:.25;}
  50%{opacity:.55;}
}

.game-card{
  position:relative!important;
  overflow:hidden;
  box-shadow:
    0 28px 70px rgba(0,42,105,.30),
    0 0 0 1px rgba(255,255,255,.18),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
}

.clip-btn,
.submit,
.answer-action-btn,
.notice-copy-btn,
.notice-card button,
.share-modal-btn,
.top-nav-links a,
.top-nav-links button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.clip-btn::after,
.submit::after,
.answer-action-btn::after,
.notice-copy-btn::after,
.notice-card button::after,
.share-modal-btn::after{
  content:"";
  position:absolute;
  inset:-40% -70%;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.42) 48%,transparent 62%);
  transform:translateX(-65%) rotate(8deg);
  opacity:0;
  z-index:-1;
}

.clip-btn:hover::after,
.submit:hover::after,
.answer-action-btn:hover::after,
.notice-copy-btn:hover::after,
.notice-card button:hover::after,
.share-modal-btn:hover::after{
  opacity:.85;
  transform:translateX(65%) rotate(8deg);
  transition:transform .46s var(--ui-ease-out),opacity .18s ease;
}

.clip-btn:hover,
.submit:hover,
.answer-action-btn:hover,
.notice-copy-btn:hover,
.notice-card button:hover,
.share-modal-btn:hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.07) saturate(1.04)!important;
  box-shadow:
    0 16px 34px rgba(0,70,150,.24),
    0 0 18px rgba(255,255,255,.12)!important;
}

.clip-btn:active,
.submit:active,
.answer-action-btn:active,
.notice-copy-btn:active,
.notice-card button:active,
.share-modal-btn:active{
  transform:translateY(1px) scale(.975)!important;
  transition-duration:.08s!important;
}

.ui-ripple{
  position:absolute;
  border-radius:999px;
  width:10px;
  height:10px;
  background:rgba(255,255,255,.42);
  transform:translate(-50%,-50%) scale(0);
  pointer-events:none;
  z-index:2;
  animation:uiRipple .52s ease-out forwards;
}

@keyframes uiRipple{
  to{transform:translate(-50%,-50%) scale(24);opacity:0;}
}

.gen-btn{
  overflow:hidden!important;
}

.gen-btn::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.32),transparent 46%),
    linear-gradient(180deg,rgba(255,255,255,.08),transparent 45%);
  opacity:.32;
  z-index:0;
}

.gen-btn::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:9px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  opacity:0;
  transform:translateX(-45%);
  pointer-events:none;
}

.gen-btn img,
.gen-count{
  position:relative;
  z-index:1;
}

.gen-btn:not(.disabled):hover{
  transform:translateY(-6px) scale(1.025)!important;
  box-shadow:
    0 22px 46px rgba(0,40,110,.32),
    0 0 0 1px rgba(255,255,255,.22),
    inset 0 1px 0 rgba(255,255,255,.25)!important;
}

.gen-btn:not(.disabled):hover::after{
  opacity:.72;
  transform:translateX(45%);
  transition:transform .42s var(--ui-ease-out),opacity .16s ease;
}

.gen-btn:not(.disabled):hover img{
  transform:translateY(-2px) scale(1.035);
  filter:
    drop-shadow(0 2px 0 rgba(255,255,255,.12))
    drop-shadow(0 10px 14px rgba(0,22,70,.42))!important;
}

.top-nav-inner{
  box-shadow:
    0 14px 34px rgba(0,55,120,.18),
    0 0 0 1px rgba(255,255,255,.42),
    inset 0 1px 0 rgba(255,255,255,.76)!important;
}

.top-nav-links a::after,
.top-nav-links button::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#22b9ff,#82efff);
  transform:scaleX(0);
  transform-origin:center;
  opacity:0;
  transition:transform .18s var(--ui-ease-out),opacity .18s ease;
}

.top-nav-links a:hover::after,
.top-nav-links button:hover::after{
  transform:scaleX(1);
  opacity:.85;
}

.select2-container--default .select2-selection--single{
  transition:
    transform .16s var(--ui-ease-out),
    box-shadow .16s var(--ui-ease-out),
    border-color .16s var(--ui-ease-out),
    background .16s var(--ui-ease-out)!important;
}

.select2-container--default .select2-selection--single:hover,
.select2-container--open .select2-selection--single{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.95)!important;
  box-shadow:
    0 14px 30px rgba(0,74,150,.18),
    0 0 0 3px rgba(255,255,255,.16)!important;
}

.select2-dropdown{
  border-radius:16px!important;
  overflow:hidden!important;
  transform-origin:top center;
  animation:uiDropdownPremium .18s var(--ui-ease-out) both!important;
  box-shadow:
    0 24px 48px rgba(0,52,120,.28),
    0 0 0 1px rgba(255,255,255,.38),
    inset 0 1px 0 rgba(255,255,255,.45)!important;
}

@keyframes uiDropdownPremium{
  from{opacity:0;transform:translateY(-8px) scale(.985);filter:blur(2px);}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
}

.select2-results__option{
  transition:
    background .13s var(--ui-ease-out),
    color .13s var(--ui-ease-out),
    transform .13s var(--ui-ease-out),
    padding-left .13s var(--ui-ease-out)!important;
}

.select2-results__option--highlighted{
  transform:translateX(3px);
  padding-left:18px!important;
}

.notice-card,
.notice-item,
.rule-card,
.scope-detail-card,
.achievement-card{
  transition:transform .16s var(--ui-ease-out),box-shadow .16s var(--ui-ease-out),border-color .16s var(--ui-ease-out),background .16s var(--ui-ease-out)!important;
}

.notice-item:hover,
.rule-card:hover,
.scope-detail-card:hover,
.achievement-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:0 12px 26px rgba(0,55,130,.16),inset 0 1px 0 rgba(255,255,255,.14)!important;
}

.result-msg.ok,
.result-msg.bad,
.result-msg.warn{
  animation:uiResultPop .22s var(--ui-ease-snap) both;
}

@keyframes uiResultPop{
  from{transform:translateY(6px) scale(.97);opacity:0;}
  to{transform:translateY(0) scale(1);opacity:1;}
}

.rule-modal-backdrop.open,
.notice-modal-backdrop.open,
.share-modal-backdrop.open,
.achievement-backdrop.open{
  animation:uiBackdropIn .18s ease both;
}

@keyframes uiBackdropIn{
  from{opacity:0;backdrop-filter:blur(0);}
  to{opacity:1;backdrop-filter:blur(10px);}
}

.rule-modal,
.notice-modal,
.share-modal,
.achievement-modal{
  position:relative;
  overflow:hidden;
  animation:uiModalPremium .24s var(--ui-ease-snap) both!important;
}

@keyframes uiModalPremium{
  from{opacity:0;transform:translateY(14px) scale(.965);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

@media (max-width:600px){
  .gen-btn:not(.disabled):hover{
    transform:translateY(-3px) scale(1.012)!important;
  }
  .clip-btn:hover,
  .submit:hover,
  .answer-action-btn:hover,
  .notice-copy-btn:hover,
  .notice-card button:hover,
  .share-modal-btn:hover{
    transform:translateY(-1px)!important;
  }
}


.gen-btn::after,
.gen-btn:not(.disabled):hover::after{
  content:none!important;
  display:none!important;
}


/* v4-fix: restore select dropdown behavior + sync notice timing */
.game-card{
  overflow:visible!important;
}

.game-card::after,
.notice-modal::after,
.rule-modal::after,
.share-modal::after,
.achievement-modal::after{
  pointer-events:none!important;
}

.select2-container--open,
.select2-dropdown{
  z-index:99999!important;
}

.select2-dropdown{
  border-radius:8px!important;
  overflow:hidden!important;
  animation:none!important;
  transform:none!important;
  filter:none!important;
  transform-origin:initial!important;
  box-shadow:0 20px 50px rgba(0,70,140,.22)!important;
}

.select2-results__options{
  max-height:168px!important;
  overflow-y:auto!important;
}

.select2-container--default .select2-selection--single:hover,
.select2-container--open .select2-selection--single{
  transform:none!important;
}

.select2-results__option--highlighted{
  transform:none!important;
  padding-left:12px!important;
}

@media (max-width:600px){
  .select2-results__options{
    max-height:150px!important;
  }
}



/* achievement scroll + session-only current top 5 fix */
.achievement-modal{
  max-height:min(82vh,760px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.achievement-list{
  padding-bottom:10px;
}
.achievement-modal-backdrop.open{
  align-items:center;
}
@media (max-width:600px){
  .achievement-modal{
    max-height:78vh!important;
  }
}


.result-msg{
  opacity:0!important;
  transform:translateY(8px) scale(.98);
  transition:opacity .28s var(--ui-ease-out, ease), transform .28s var(--ui-ease-out, ease);
  will-change:opacity, transform;
}
.result-msg.is-visible{
  opacity:1!important;
  transform:translateY(0) scale(1);
}
.result-msg.is-hiding{
  opacity:0!important;
  transform:translateY(-6px) scale(.98);
}


/* result message: original look + smooth motion */
.result-msg{
  width:auto!important;
  max-width:min(92vw,560px);
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:1.45;
  letter-spacing:.02em;
  opacity:0!important;
  transform:translateY(8px);
  filter:none!important;
  pointer-events:none;
  will-change:opacity,transform;
  transition:none!important;
}
.result-msg.ok{
  color:#42b574!important;
  text-shadow:0 2px 8px rgba(0,80,50,.18)!important;
}
.result-msg.bad{
  color:#e05f5f!important;
  text-shadow:0 2px 8px rgba(120,0,30,.18)!important;
}
.result-msg.warn{
  color:#f0c75b!important;
  text-shadow:0 2px 8px rgba(100,70,0,.18)!important;
}
.result-msg.is-visible{
  opacity:1!important;
  animation:resultTextIn .28s cubic-bezier(.16,1,.3,1) both!important;
}
.result-msg.is-hiding{
  animation:resultTextOut .32s cubic-bezier(.4,0,.2,1) both!important;
}
@keyframes resultTextIn{
  0%{opacity:0;transform:translateY(8px);}
  100%{opacity:1;transform:translateY(0);}
}
@keyframes resultTextOut{
  0%{opacity:1;transform:translateY(0);}
  100%{opacity:0;transform:translateY(-6px);}
}
@media (max-width:600px){
  .result-msg{font-size:.88rem!important;}
}

/* answer replay progress bar */
.answer-action-btn.primary{
  --answer-progress:0%;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.answer-action-btn.primary.playing::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:var(--answer-progress,0%);
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(255,255,255,.36),rgba(255,255,255,.18));
  pointer-events:none;
  z-index:0;
  transition:width .08s linear;
}
.answer-action-btn.primary.playing{
  filter:brightness(1.08);
}
.answer-action-btn.primary.gen-mix.playing::after{
  background:linear-gradient(90deg,rgba(32,34,50,.24),rgba(32,34,50,.12));
}


/* restore result text + answer replay progress to reference version */
.result-msg{
  width:auto!important;
  max-width:none!important;
  margin-top:12px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:.95rem!important;
  font-weight:600!important;
  text-align:center!important;
  min-height:24px!important;
  line-height:normal!important;
  letter-spacing:normal!important;
  opacity:0!important;
  transform:none!important;
  filter:none!important;
  pointer-events:none!important;
  will-change:opacity;
  transition:opacity .3s ease!important;
  animation:none!important;
}
.result-msg.ok{
  color:#e8fff3!important;
  text-shadow:0 2px 10px rgba(0,90,50,.20)!important;
}
.result-msg.bad{
  color:#ffe2ea!important;
  text-shadow:0 2px 10px rgba(115,0,40,.22)!important;
}
.result-msg.warn{
  color:#fff7c9!important;
}
.result-msg.is-visible{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
.result-msg.is-hiding{
  opacity:0!important;
  transform:none!important;
  animation:none!important;
}
@media (max-width:600px){
  .result-msg{
    font-size:.9rem!important;
  }
}

.answer-action-btn.primary{
  --answer-progress:0%;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.answer-action-btn.primary.playing::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:var(--answer-progress,0%)!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,.18))!important;
  pointer-events:none!important;
  z-index:-1!important;
  transition:width .08s linear!important;
}
.answer-action-btn.primary.playing{
  filter:brightness(1.08)!important;
}
.answer-action-btn.primary.gen-mix.playing::after{
  background:linear-gradient(90deg,rgba(32,34,50,.24),rgba(32,34,50,.12))!important;
}



/* final fix: answer replay progress bar must sit above the button background */
.answer-action-btn.primary{
  --answer-progress:0%;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.answer-action-btn.primary.playing::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:var(--answer-progress,0%)!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,.18))!important;
  pointer-events:none!important;
  z-index:0!important;
  transition:width .08s linear!important;
}
.answer-action-btn.primary.playing{
  filter:brightness(1.08)!important;
}
.answer-action-btn.primary.gen-mix.playing::after{
  background:linear-gradient(90deg,rgba(32,34,50,.24),rgba(32,34,50,.12))!important;
}



/* robust answer replay progress fill */
#playAnswerBtn{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
#playAnswerBtn::after{
  display:none!important;
}
#playAnswerBtn .answer-progress-fill{
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:0%;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,.18));
  pointer-events:none;
  z-index:0;
  transition:width .08s linear;
}
#playAnswerBtn.gen-mix .answer-progress-fill{
  background:linear-gradient(90deg,rgba(32,34,50,.24),rgba(32,34,50,.12));
}
#playAnswerBtn .answer-action-label{
  position:relative;
  z-index:1;
}
#playAnswerBtn.playing{
  filter:brightness(1.08)!important;
}

  .volume-icon{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }


/* refined single-color control icons */
.clip-btn .btn-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  object-fit:contain!important;
  margin-left:-2px!important;
  margin-right:2px!important;
  filter:none!important;
}
#volumeWrapper{
  gap:8px!important;
}
.volume-icon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:none!important;
}
.volume-icon.left,
.volume-icon.right{
  transform:none!important;
}

@media (max-width:600px){
  .clip-btn .btn-icon{
    width:17px!important;
    height:17px!important;
    flex-basis:17px!important;
  }
  .volume-icon{
    width:20px!important;
    height:20px!important;
    flex-basis:20px!important;
  }
}


/* upgraded player profile menu */
.auth-user-menu{
  width:288px!important;
  padding:14px!important;
}
.auth-user-head{
  padding:6px 6px 11px!important;
  margin-bottom:10px!important;
}
.auth-player-title{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:4px 9px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(56,168,255,.16),rgba(255,255,255,.46));
  border:1px solid rgba(23,110,174,.16);
  color:#0d629e;
  font-size:.74rem;
  font-weight:950;
}
.auth-record-box{
  margin-top:8px;
}
.auth-record-box:first-of-type{
  margin-top:0;
}
.auth-record-box-main{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(225,247,255,.58))!important;
}
.auth-stat-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-bottom:7px;
}
.auth-stat-card{
  min-height:54px;
  padding:8px 9px;
  border-radius:12px;
  background:rgba(30,128,205,.09);
  border:1px solid rgba(23,110,174,.11);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:4px;
}
.auth-stat-card span{
  color:rgba(23,110,174,.72);
  font-size:.72rem;
  font-weight:950;
}
.auth-stat-card strong{
  color:#0b5f9d;
  font-size:1rem;
  font-weight:950;
  line-height:1.1;
}
.auth-main-gen-row{
  margin-top:0!important;
}
.auth-record-mini{
  position:relative;
  overflow:hidden;
  min-height:34px;
  align-items:center;
}
.auth-record-mini::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:3px;
  width:var(--record-rate,0%);
  border-radius:0 999px 999px 0;
  background:currentColor;
  opacity:.34;
}
.auth-extra-box .auth-record-row{
  background:rgba(255,255,255,.55)!important;
}
.auth-recent-play{
  padding:8px 9px;
  border-radius:10px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(23,110,174,.09);
  color:rgba(23,110,174,.78);
  font-size:.76rem;
  font-weight:900;
  line-height:1.45;
}
.auth-logout-btn{
  height:34px!important;
  margin-top:10px!important;
  border-radius:999px!important;
  font-size:.88rem!important;
}
@media (max-width:600px){
  .auth-user-menu{
    width:min(306px,calc(100vw - 20px))!important;
    max-height:calc(100vh - 70px);
    overflow-y:auto;
  }
  .auth-stat-grid{
    grid-template-columns:1fr 1fr;
  }
}


.auth-player-title{
  max-width:100%;
  word-break:break-word;
}



/* inline title selector */
.auth-player-title{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  max-width:100%;
  margin-top:8px;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(56,168,255,.16),rgba(255,255,255,.46));
  border:1px solid rgba(23,110,174,.16);
  color:#0d629e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44);
}
.auth-player-title-label{
  flex:0 0 auto;
  color:#0d629e;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.02em;
}
.auth-player-title-inline{
  position:relative;
}
.auth-player-title-inline .select2-container{
  flex:1 1 auto;
  min-width:0;
}
.auth-player-title-inline #accountTitleSelect{
  width:100%!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single{
  height:32px!important;
  min-height:32px!important;
  border-radius:999px!important;
  border:1px solid rgba(121,197,247,.62)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(227,245,255,.94))!important;
  box-shadow:0 6px 16px rgba(27,117,180,.12), inset 0 1px 0 rgba(255,255,255,.8)!important;
  display:flex!important;
  align-items:center!important;
  padding:0 30px 0 12px!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single:hover{
  border-color:rgba(57,157,226,.88)!important;
  background:linear-gradient(180deg,rgba(255,255,255,1),rgba(233,248,255,.96))!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding-left:0!important;
  padding-right:0!important;
  line-height:30px!important;
  color:#0d629e!important;
  font-size:.8rem!important;
  font-weight:950!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:32px!important;
  right:8px!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:#1674b3 transparent transparent transparent!important;
  border-width:6px 5px 0 5px!important;
  margin-left:-5px!important;
  margin-top:-2px!important;
}
.auth-title-dropdown.select2-dropdown{
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(121,197,247,.7)!important;
  border-radius:14px!important;
  box-shadow:0 18px 38px rgba(17,90,150,.18)!important;
  overflow:hidden!important;
}
.auth-title-dropdown .select2-results__options{
  max-height:180px!important;
}
.auth-title-dropdown .select2-results__option{
  background:rgba(255,255,255,.97)!important;
  color:#176eae!important;
  padding:9px 12px!important;
  font-size:.82rem!important;
  font-weight:900!important;
}
.auth-title-dropdown .select2-results__option--highlighted{
  background:#dff5ff!important;
  color:#0a5d9f!important;
}
@media (max-width:600px){
  .auth-player-title{
    padding:6px 10px;
  }
  .auth-player-title-inline .select2-container--default .select2-selection--single{
    height:31px!important;
    min-height:31px!important;
  }
  .auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__rendered{
    font-size:.79rem!important;
    line-height:29px!important;
  }
}


/* leaderboard modal */
.leaderboard-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10004;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,45,95,.40);
  backdrop-filter:blur(10px);
}
.leaderboard-modal-backdrop.open{display:flex;}
.leaderboard-modal{
  width:min(560px,94vw);
  max-height:min(760px,84vh);
  overflow:auto;
  border-radius:24px;
  padding:22px;
  color:#fff;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.24),transparent 42%),
    linear-gradient(180deg,rgba(95,194,255,.98),rgba(25,129,214,.98));
  border:1px solid rgba(255,255,255,.40);
  box-shadow:0 26px 70px rgba(0,42,105,.34), inset 0 1px 0 rgba(255,255,255,.30);
}
.leaderboard-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.leaderboard-modal-head h3{
  font-size:1.25rem;
  font-weight:950;
  letter-spacing:.04em;
}
.leaderboard-modal-head p{
  margin-top:5px;
  color:rgba(255,255,255,.84);
  font-size:.84rem;
  font-weight:800;
  line-height:1.5;
}
.leaderboard-close{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.18);
  color:#fff;
  cursor:pointer;
  font-size:1.15rem;
  font-weight:900;
}
.leaderboard-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:10px;
}
.leaderboard-tabs button,
.leaderboard-filter button{
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-family:inherit;
  font-weight:950;
  cursor:pointer;
  padding:8px 10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.leaderboard-tabs button.active,
.leaderboard-filter button.active{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(225,247,255,.90));
  color:#0d629e;
  border-color:rgba(255,255,255,.78);
  box-shadow:0 10px 22px rgba(0,86,160,.14), inset 0 1px 0 rgba(255,255,255,.85);
}
.leaderboard-filter{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:0 0 10px;
}
.leaderboard-filter[hidden]{display:none!important;}
.leaderboard-login-note{
  margin-bottom:10px;
  padding:8px 11px;
  border-radius:14px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.88);
  font-size:.82rem;
  font-weight:850;
}
.leaderboard-list{
  display:grid;
  gap:8px;
}
.leaderboard-row{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:9px 11px;
  border-radius:16px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.leaderboard-row.is-me{
  background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.18));
  border-color:rgba(255,255,255,.46);
}
.leaderboard-rank{
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.20);
  border:1px solid rgba(255,255,255,.26);
  font-weight:950;
}
.leaderboard-name{
  min-width:0;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.leaderboard-meta{
  margin-top:2px;
  color:rgba(255,255,255,.76);
  font-size:.74rem;
  font-weight:800;
}
.leaderboard-score{
  font-size:1.05rem;
  font-weight:950;
  white-space:nowrap;
  color:#fff;
}
.leaderboard-empty{
  padding:18px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.20);
  text-align:center;
  color:rgba(255,255,255,.84);
  font-weight:900;
  line-height:1.6;
}
@media (max-width:600px){
  .leaderboard-modal{
    padding:18px;
    border-radius:22px;
    max-height:80vh;
  }
  .leaderboard-tabs{
    grid-template-columns:repeat(2,1fr);
  }
  .leaderboard-filter{
    grid-template-columns:repeat(2,1fr);
  }
  .leaderboard-row{
    grid-template-columns:34px minmax(0,1fr) auto;
    padding:8px 9px;
  }
}


/* leaderboard polish override */
.auth-top{
  gap:8px!important;
}
#leaderboardNavBtn{
  order:0;
}
#achievementNavBtn{
  order:1;
}
.leaderboard-modal-backdrop{
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
}
.leaderboard-modal-backdrop.open .leaderboard-modal{
  animation:modalSoftPop .22s cubic-bezier(.16,1,.3,1) both!important;
}
@keyframes modalSoftPop{
  from{opacity:0;transform:translateY(12px) scale(.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.leaderboard-modal{
  width:min(620px,94vw)!important;
  max-height:min(760px,84vh)!important;
  overflow:auto!important;
  border-radius:24px!important;
  padding:22px!important;
}
.leaderboard-modal-head{
  margin-bottom:14px!important;
}
.leaderboard-mode-card,
.leaderboard-gen-card{
  padding:12px!important;
  margin-bottom:10px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.leaderboard-section-title{
  margin:0 0 8px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:.82rem!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
}
.leaderboard-tabs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:0!important;
}
.leaderboard-tabs button{
  min-height:42px!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  font-size:.86rem!important;
  line-height:1.2!important;
  transition:transform .16s ease,filter .16s ease,background .16s ease,border-color .16s ease!important;
}
.leaderboard-tabs button:hover,
.leaderboard-gen-grid button:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.05)!important;
}
.leaderboard-gen-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.leaderboard-gen-grid button{
  min-height:40px!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  color:#fff!important;
  font-family:inherit!important;
  font-weight:950!important;
  cursor:pointer!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:0 8px 18px rgba(0,50,120,.12),inset 0 1px 0 rgba(255,255,255,.20)!important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important;
}
.leaderboard-gen-grid button.active{
  box-shadow:0 0 0 3px rgba(255,255,255,.22),0 10px 22px rgba(0,50,120,.18),inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.leaderboard-gen-grid .gen-muse{
  background:linear-gradient(180deg,rgba(255,57,166,.96),rgba(186,0,103,.92))!important;
}
.leaderboard-gen-grid .gen-aqours{
  background:linear-gradient(180deg,rgba(25,177,246,.98),rgba(0,95,178,.94))!important;
}
.leaderboard-gen-grid .gen-niji{
  background:linear-gradient(180deg,rgba(255,220,70,.98),rgba(214,142,0,.94))!important;
}
.leaderboard-gen-grid .gen-liella{
  background:linear-gradient(180deg,rgba(224,89,235,.98),rgba(142,50,180,.94))!important;
}
.leaderboard-gen-grid .gen-hasu{
  background:linear-gradient(180deg,rgba(255,171,190,.98),rgba(205,80,118,.94))!important;
}
.leaderboard-gen-grid .gen-ikizurai{
  background:linear-gradient(180deg,rgba(255,132,22,.98),rgba(196,75,0,.94))!important;
}
.leaderboard-login-note{
  margin-bottom:10px!important;
  padding:9px 12px!important;
  border-radius:14px!important;
}
.leaderboard-current-label{
  margin:0 0 8px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.20)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:950!important;
  text-align:center!important;
}
.leaderboard-list{
  min-height:150px!important;
}
.leaderboard-empty{
  padding:22px 14px!important;
}
@media (max-width:980px){
  .top-nav-links{
    justify-content:center!important;
  }
}
@media (max-width:600px){
  .leaderboard-modal{
    width:min(430px,94vw)!important;
    padding:18px!important;
  }
  .leaderboard-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .leaderboard-gen-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* leaderboard final layout override */
.auth-top{gap:8px!important;}
#leaderboardNavBtn{order:0;}
#achievementNavBtn{order:1;}
#authTopBtn{order:2;}
.leaderboard-modal-backdrop{
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
}
.leaderboard-modal-backdrop.open .leaderboard-modal{
  animation:modalSoftPop .22s cubic-bezier(.16,1,.3,1) both!important;
}
@keyframes modalSoftPop{
  from{opacity:0;transform:translateY(12px) scale(.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.leaderboard-modal{
  width:min(620px,94vw)!important;
  max-height:min(760px,84vh)!important;
  overflow:auto!important;
  border-radius:24px!important;
  padding:22px!important;
}
.leaderboard-modal-head{margin-bottom:14px!important;}
.leaderboard-mode-card,
.leaderboard-gen-card,
.leaderboard-period-card{
  padding:12px!important;
  margin-bottom:10px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.leaderboard-section-title{
  margin:0 0 8px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:.82rem!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
}
.leaderboard-tabs,
.leaderboard-period-tabs{
  display:grid!important;
  gap:8px!important;
  margin-bottom:0!important;
}
.leaderboard-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.leaderboard-period-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.leaderboard-tabs button,
.leaderboard-period-tabs button{
  min-height:42px!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-weight:950!important;
  cursor:pointer!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;
  transition:transform .16s ease,filter .16s ease,background .16s ease,border-color .16s ease!important;
}
.leaderboard-tabs button.active,
.leaderboard-period-tabs button.active{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(225,247,255,.90))!important;
  color:#0d629e!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:0 10px 22px rgba(0,86,160,.14), inset 0 1px 0 rgba(255,255,255,.85)!important;
}
.leaderboard-tabs button:hover,
.leaderboard-period-tabs button:hover,
.leaderboard-gen-grid button:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.05)!important;
}
.leaderboard-gen-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.leaderboard-gen-grid button{
  min-height:40px!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  color:#fff!important;
  font-family:inherit!important;
  font-weight:950!important;
  cursor:pointer!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:0 8px 18px rgba(0,50,120,.12),inset 0 1px 0 rgba(255,255,255,.20)!important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important;
}
.leaderboard-gen-grid button.active{
  box-shadow:0 0 0 3px rgba(255,255,255,.22),0 10px 22px rgba(0,50,120,.18),inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.leaderboard-gen-grid .gen-muse{background:linear-gradient(180deg,rgba(255,57,166,.96),rgba(186,0,103,.92))!important;}
.leaderboard-gen-grid .gen-aqours{background:linear-gradient(180deg,rgba(25,177,246,.98),rgba(0,95,178,.94))!important;}
.leaderboard-gen-grid .gen-niji{background:linear-gradient(180deg,rgba(255,220,70,.98),rgba(214,142,0,.94))!important;}
.leaderboard-gen-grid .gen-liella{background:linear-gradient(180deg,rgba(224,89,235,.98),rgba(142,50,180,.94))!important;}
.leaderboard-gen-grid .gen-hasu{background:linear-gradient(180deg,rgba(255,171,190,.98),rgba(205,80,118,.94))!important;}
.leaderboard-gen-grid .gen-ikizurai{background:linear-gradient(180deg,rgba(255,132,22,.98),rgba(196,75,0,.94))!important;}
.leaderboard-current-label{
  margin:0 0 8px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.20)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:950!important;
  text-align:center!important;
}
.leaderboard-empty{
  padding:24px 14px!important;
  font-size:1.05rem!important;
}
.leaderboard-name{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.leaderboard-nick{
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.leaderboard-id{
  color:rgba(255,255,255,.76)!important;
  font-size:.72rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media (max-width:600px){
  .leaderboard-modal{width:min(430px,94vw)!important;padding:18px!important;}
  .leaderboard-gen-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* leaderboard transition + title badge */
.leaderboard-list{
  transition:opacity .18s ease, transform .18s ease!important;
}
.leaderboard-list.is-switching{
  opacity:0!important;
  transform:translateY(8px)!important;
}
.leaderboard-gen-card{
  transition:opacity .20s ease, transform .20s ease, max-height .22s ease, margin .20s ease, padding .20s ease!important;
  overflow:hidden!important;
}
.leaderboard-gen-card[hidden]{
  display:block!important;
  opacity:0!important;
  transform:translateY(-6px)!important;
  max-height:0!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-width:0!important;
  pointer-events:none!important;
}
.leaderboard-title-badge{
  display:inline-flex;
  align-items:center;
  max-width:130px;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-style:normal;
  font-size:.68rem;
  font-weight:950;
  vertical-align:middle;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* achievement toast auto-hide fix */
.achievement-toast.is-hidden{
  display:none!important;
}


/* achievement toast motion upgrade */
@keyframes achievementToastIn{
  0%{opacity:0;transform:translateY(20px) scale(.94);}
  55%{opacity:1;transform:translateY(-2px) scale(1.015);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes achievementToastOut{
  0%{opacity:1;transform:translateY(0) scale(1);}
  100%{opacity:0;transform:translateY(14px) scale(.97);}
}
.achievement-toast.showing{
  animation:achievementToastIn .34s cubic-bezier(.2,.8,.2,1) forwards;
}
.achievement-toast.leaving{
  animation:achievementToastOut .28s ease forwards;
}

/* achievement title theme system */
.auth-player-title,
.leaderboard-title-badge{
  --title-accent:#4ea9ea;
  --title-accent-2:#82d0ff;
  --title-text:#ffffff;
  --title-bg:linear-gradient(180deg,rgba(85,182,255,.20),rgba(255,255,255,.15));
  --title-border:rgba(255,255,255,.28);
  --title-shadow:rgba(33,110,170,.18);
}
.auth-player-title{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  box-shadow:0 6px 16px var(--title-shadow), inset 0 1px 0 rgba(255,255,255,.44);
}
.auth-player-title .auth-player-title-label{
  color:color-mix(in srgb, var(--title-accent) 68%, #155e96)!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single{
  border-color:color-mix(in srgb, var(--title-accent) 42%, rgba(121,197,247,.62))!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.985),rgba(235,248,255,.95)),
    linear-gradient(90deg,color-mix(in srgb, var(--title-accent) 14%, transparent),transparent)!important;
  box-shadow:0 6px 16px color-mix(in srgb, var(--title-accent) 12%, rgba(27,117,180,.12)), inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:color-mix(in srgb, var(--title-accent) 82%, #0d629e)!important;
}
.auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:color-mix(in srgb, var(--title-accent) 82%, #1674b3) transparent transparent transparent!important;
}
.auth-player-title,
.auth-player-title-inline .select2-container--default .select2-selection--single,
.auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__rendered,
.auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__arrow b{
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease, transform .18s ease, filter .18s ease!important;
}
.auth-player-title.title-change-pulse{
  animation:titleChangePulse .34s ease-out;
}
@keyframes titleChangePulse{
  0%{transform:scale(.985);filter:brightness(1.02) saturate(1.04);}
  45%{transform:scale(1.025);filter:brightness(1.12) saturate(1.12);}
  100%{transform:scale(1);filter:brightness(1) saturate(1);}
}
.auth-player-title.title-change-pulse .select2-container--default .select2-selection--single{
  box-shadow:0 0 0 3px color-mix(in srgb, var(--title-accent) 18%, transparent),0 8px 18px color-mix(in srgb, var(--title-accent) 16%, rgba(27,117,180,.12)), inset 0 1px 0 rgba(255,255,255,.86)!important;
}

.leaderboard-title-badge{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  box-shadow:0 2px 8px var(--title-shadow);
  color:var(--title-text)!important;
}

/* title palette */
.title-theme-default{
  --title-accent:#7db8ea;
  --title-bg:linear-gradient(180deg,rgba(113,186,241,.22),rgba(255,255,255,.14));
  --title-border:rgba(255,255,255,.26);
  --title-shadow:rgba(40,117,184,.16);
}
.title-theme-all{
  --title-accent:#e8eff8;
  --title-bg:linear-gradient(180deg,rgba(255,255,255,.30),rgba(214,226,238,.13));
  --title-border:rgba(255,255,255,.42);
  --title-shadow:rgba(120,145,170,.16);
}
.title-theme-all05{
  --title-accent:#6ba889;
  --title-bg:linear-gradient(180deg,rgba(107,168,137,.24),rgba(255,255,255,.13));
  --title-border:rgba(183,229,197,.36);
  --title-shadow:rgba(67,126,92,.17);
}
.title-theme-score1{
  --title-accent:#48b59d;
  --title-bg:linear-gradient(180deg,rgba(68,182,156,.22),rgba(255,255,255,.14));
  --title-border:rgba(142,231,210,.33);
  --title-shadow:rgba(49,147,125,.15);
}
.title-theme-score2{
  --title-accent:#59b975;
  --title-bg:linear-gradient(180deg,rgba(89,185,117,.22),rgba(255,255,255,.14));
  --title-border:rgba(164,233,176,.34);
  --title-shadow:rgba(56,148,84,.16);
}
.title-theme-score3{
  --title-accent:#8fb648;
  --title-bg:linear-gradient(180deg,rgba(143,182,72,.22),rgba(255,255,255,.14));
  --title-border:rgba(210,235,152,.34);
  --title-shadow:rgba(118,149,44,.16);
}
.title-theme-score4{
  --title-accent:#c69a42;
  --title-bg:linear-gradient(180deg,rgba(198,154,66,.24),rgba(255,255,255,.14));
  --title-border:rgba(239,210,140,.34);
  --title-shadow:rgba(158,120,41,.18);
}
.title-theme-score05{
  --title-accent:#9a79df;
  --title-bg:linear-gradient(180deg,rgba(154,121,223,.22),rgba(255,255,255,.14));
  --title-border:rgba(210,190,255,.34);
  --title-shadow:rgba(119,94,185,.18);
}
.title-theme-muse{
  --title-accent:#ea4b9d;
  --title-bg:linear-gradient(180deg,rgba(234,75,157,.20),rgba(255,255,255,.14));
  --title-border:rgba(255,182,218,.34);
  --title-shadow:rgba(181,53,120,.18);
}
.title-theme-aqours{
  --title-accent:#35a2ee;
  --title-bg:linear-gradient(180deg,rgba(53,162,238,.22),rgba(255,255,255,.14));
  --title-border:rgba(164,223,255,.35);
  --title-shadow:rgba(50,124,185,.17);
}
.title-theme-niji{
  --title-accent:#d8b332;
  --title-bg:linear-gradient(180deg,rgba(216,179,50,.20),rgba(255,255,255,.14));
  --title-border:rgba(247,227,157,.35);
  --title-shadow:rgba(169,136,39,.16);
}
.title-theme-liella{
  --title-accent:#b85adf;
  --title-bg:linear-gradient(180deg,rgba(184,90,223,.20),rgba(255,255,255,.14));
  --title-border:rgba(230,179,251,.34);
  --title-shadow:rgba(145,72,176,.17);
}
.title-theme-hasu{
  --title-accent:#de86b3;
  --title-bg:linear-gradient(180deg,rgba(222,134,179,.20),rgba(255,255,255,.14));
  --title-border:rgba(244,201,221,.35);
  --title-shadow:rgba(164,103,136,.17);
}
.title-theme-ikizurai{
  --title-accent:#e58c34;
  --title-bg:linear-gradient(180deg,rgba(229,140,52,.21),rgba(255,255,255,.14));
  --title-border:rgba(246,210,170,.34);
  --title-shadow:rgba(177,111,45,.16);
}
.title-theme-dream{
  --title-accent:#d7c6ff;
  --title-text:#fff9d7;
  --title-bg:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.34),transparent 20%),
    linear-gradient(135deg,rgba(111,74,180,.52),rgba(58,123,205,.36) 48%,rgba(236,204,123,.30));
  --title-border:rgba(255,248,205,.62);
  --title-shadow:rgba(174,136,255,.30);
}

.title-theme-no10{
  --title-accent:#74a9ff;
  --title-text:#eef5ff;
  --title-bg:
    linear-gradient(180deg,rgba(14,24,45,.96),rgba(22,42,79,.92) 56%,rgba(36,76,138,.78));
  --title-border:rgba(131,181,255,.58);
  --title-shadow:rgba(74,131,224,.22);
}


/* achievement modal title style preview */
.achievement-row{
  position:relative;
  overflow:hidden;
}
.achievement-row::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--title-accent,#70bfff);
  opacity:.75;
}
.achievement-row .achievement-name{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:4px 10px;
  border-radius:999px;
  background:var(--title-bg,linear-gradient(180deg,rgba(85,182,255,.18),rgba(255,255,255,.10)));
  border:1px solid var(--title-border,rgba(255,255,255,.26));
  box-shadow:0 4px 12px var(--title-shadow,rgba(33,110,170,.14)), inset 0 1px 0 rgba(255,255,255,.18);
  color:var(--title-text,#fff)!important;
}
.achievement-row.is-unlocked .achievement-name{
  background:var(--title-bg,linear-gradient(180deg,rgba(66,215,133,.22),rgba(255,255,255,.12)))!important;
  border-color:var(--title-border,rgba(118,255,184,.34))!important;
}
.achievement-row:not(.is-unlocked) .achievement-name{
  opacity:.72;
  filter:saturate(.9) brightness(.96);
}
.achievement-row:not(.is-unlocked)::before{
  opacity:.38;
}
.achievement-row.is-unlocked .achievement-name{
  opacity:1;
  filter:saturate(1.06) brightness(1.02);
}


/* stronger but still soft preview inside achievement modal */
.achievement-section .achievement-row.title-theme-muse .achievement-name{background:linear-gradient(180deg,rgba(234,75,157,.34),rgba(255,255,255,.10))!important;border-color:rgba(255,165,215,.45)!important;}
.achievement-section .achievement-row.title-theme-aqours .achievement-name{background:linear-gradient(180deg,rgba(53,162,238,.34),rgba(255,255,255,.10))!important;border-color:rgba(154,222,255,.48)!important;}
.achievement-section .achievement-row.title-theme-niji .achievement-name{background:linear-gradient(180deg,rgba(216,179,50,.34),rgba(255,255,255,.10))!important;border-color:rgba(245,226,140,.48)!important;}
.achievement-section .achievement-row.title-theme-liella .achievement-name{background:linear-gradient(180deg,rgba(184,90,223,.34),rgba(255,255,255,.10))!important;border-color:rgba(225,176,250,.46)!important;}
.achievement-section .achievement-row.title-theme-hasu .achievement-name{background:linear-gradient(180deg,rgba(222,134,179,.34),rgba(255,255,255,.10))!important;border-color:rgba(245,200,225,.48)!important;}
.achievement-section .achievement-row.title-theme-ikizurai .achievement-name{background:linear-gradient(180deg,rgba(229,140,52,.36),rgba(255,255,255,.10))!important;border-color:rgba(248,210,165,.48)!important;}
.achievement-section .achievement-row.title-theme-all .achievement-name{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(218,228,238,.10))!important;border-color:rgba(255,255,255,.46)!important;}
.achievement-section .achievement-row.title-theme-all05 .achievement-name{background:linear-gradient(180deg,rgba(104,116,255,.30),rgba(255,255,255,.10))!important;border-color:rgba(180,185,255,.42)!important;}
.achievement-section .achievement-row.title-theme-score1 .achievement-name{background:linear-gradient(180deg,rgba(68,182,156,.30),rgba(255,255,255,.10))!important;border-color:rgba(150,232,213,.42)!important;}
.achievement-section .achievement-row.title-theme-score2 .achievement-name{background:linear-gradient(180deg,rgba(89,185,117,.30),rgba(255,255,255,.10))!important;border-color:rgba(170,235,182,.42)!important;}
.achievement-section .achievement-row.title-theme-score3 .achievement-name{background:linear-gradient(180deg,rgba(143,182,72,.30),rgba(255,255,255,.10))!important;border-color:rgba(215,238,150,.42)!important;}
.achievement-section .achievement-row.title-theme-score4 .achievement-name{background:linear-gradient(180deg,rgba(198,154,66,.32),rgba(255,255,255,.10))!important;border-color:rgba(240,215,145,.42)!important;}
.achievement-section .achievement-row.title-theme-score05 .achievement-name{background:linear-gradient(180deg,rgba(154,121,223,.30),rgba(255,255,255,.10))!important;border-color:rgba(212,192,255,.42)!important;}


.achievement-section .achievement-row.title-theme-no10{
  background:
    radial-gradient(circle at 86% 50%,rgba(125,185,255,.10),transparent 12%),
    radial-gradient(circle at 86% 50%,rgba(71,135,229,.12),transparent 24%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px),
    linear-gradient(90deg,rgba(9,18,37,.97),rgba(15,33,67,.95) 46%,rgba(31,71,131,.86) 100%)!important;
  border-color:rgba(122,177,255,.24)!important;
  box-shadow:0 0 18px rgba(69,124,212,.14), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.achievement-section .achievement-row.title-theme-no10::before{
  width:7px;
  background:linear-gradient(180deg,#d8e8ff,#79a9ff,#2f62bf)!important;
  opacity:.96;
  box-shadow:0 0 14px rgba(116,169,255,.42);
}
.achievement-section .achievement-row.title-theme-no10::after{
  content:"10";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%) skewX(-10deg);
  font-size:4.3rem;
  font-weight:900;
  letter-spacing:-.16em;
  line-height:1;
  pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,rgba(255,255,255,0) 1px 6px),
    linear-gradient(180deg,rgba(220,238,255,.40),rgba(116,169,255,.18) 58%,rgba(46,97,188,.32));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1px rgba(164,205,255,.16);
  text-shadow:0 0 14px rgba(115,169,255,.10),0 0 26px rgba(42,95,190,.08);
  opacity:.96;
}
.achievement-section .achievement-row.title-theme-no10 .achievement-name{
  position:relative;
  overflow:hidden;
  color:#eef5ff!important;
  letter-spacing:.025em;
  background:
    linear-gradient(180deg,rgba(14,24,45,.98),rgba(19,38,72,.95) 60%,rgba(29,67,124,.84))!important;
  border-color:rgba(133,184,255,.68)!important;
  box-shadow:0 0 14px rgba(84,141,235,.18),0 0 24px rgba(43,92,179,.10),inset 0 1px 0 rgba(255,255,255,.28)!important;
  text-shadow:0 0 8px rgba(210,231,255,.18);
}
.achievement-section .achievement-row.title-theme-no10 .achievement-name::after{
  content:"";
  position:absolute;
  top:-50%;
  bottom:-50%;
  left:-65%;
  width:46%;
  background:linear-gradient(90deg,transparent,rgba(215,233,255,.42),transparent);
  transform:rotate(18deg);
  animation:no10TitleSweep 5.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes no10TitleSweep{
  0%,70%{left:-68%;opacity:0;}
  79%{opacity:.68;}
  100%{left:128%;opacity:0;}
}
.leaderboard-title-badge.title-theme-no10,
.auth-player-title.title-theme-no10{
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 7px),
    var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px rgba(84,141,235,.18),0 0 24px rgba(43,92,179,.08)!important;
  text-shadow:0 0 8px rgba(210,231,255,.16);
}

.achievement-section .achievement-row.title-theme-dream{
  background:
    radial-gradient(circle at 10% 18%,rgba(255,255,255,.12),transparent 18%),
    radial-gradient(circle at 92% 70%,rgba(255,224,150,.10),transparent 22%),
    linear-gradient(135deg,rgba(32,24,66,.82),rgba(17,38,78,.76))!important;
  border-color:rgba(255,248,205,.24)!important;
  box-shadow:0 0 18px rgba(174,136,255,.18), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.achievement-section .achievement-row.title-theme-dream::before{
  width:7px;
  background:linear-gradient(180deg,#fff7bf,#c7b5ff,#9bdcff)!important;
  opacity:.95;
  box-shadow:0 0 12px rgba(204,184,255,.62);
}
.achievement-section .achievement-row.title-theme-dream .achievement-name{
  position:relative;
  overflow:hidden;
  color:#fff9d7!important;
  letter-spacing:.02em;
  background:
    linear-gradient(135deg,rgba(118,78,190,.52),rgba(79,154,228,.34) 48%,rgba(255,222,150,.28))!important;
  border-color:rgba(255,248,205,.68)!important;
  box-shadow:0 0 16px rgba(184,154,255,.36),0 0 28px rgba(140,205,255,.16),inset 0 1px 0 rgba(255,255,255,.34)!important;
  text-shadow:0 0 10px rgba(255,248,205,.42);
}
.achievement-section .achievement-row.title-theme-dream .achievement-name::after{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  left:-60%;
  width:42%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
  transform:rotate(18deg);
  animation:dreamTitleSweep 4.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes dreamTitleSweep{
  0%,62%{left:-62%;opacity:0;}
  72%{opacity:.78;}
  100%{left:126%;opacity:0;}
}
.leaderboard-title-badge.title-theme-dream,
.auth-player-title.title-theme-dream{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px rgba(184,154,255,.30),0 0 24px rgba(140,205,255,.14)!important;
  text-shadow:0 0 9px rgba(255,248,205,.34);
}



/* Sponsor button & modal */
.sponsor-float-btn{
  position:fixed;
  top:7px;
  left:112px;
  z-index:1200;
  min-width:96px;
  height:40px;
  padding:0 13px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.86);
  background:linear-gradient(180deg,rgba(240,250,255,.93),rgba(218,240,255,.88));
  color:#145c9c;
  font-family:inherit;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,55,130,.14), inset 0 1px 0 rgba(255,255,255,.82), inset 0 -1px 0 rgba(21,98,165,.08);
  backdrop-filter:blur(12px) saturate(1.1);
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.sponsor-float-btn:hover,
.sponsor-float-btn:focus-visible{
  background:linear-gradient(180deg,rgba(250,254,255,.98),rgba(226,246,255,.92));
  color:#145c9c;
  border-color:rgba(117,215,255,.95);
  transform:translateY(-1px);
  filter:none;
  box-shadow:0 16px 34px rgba(0,76,160,.20), 0 0 0 3px rgba(107,205,255,.22), inset 0 1px 0 rgba(255,255,255,.90);
}
.sponsor-float-btn:active{transform:scale(.98);}
.sponsor-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:20000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(3,20,45,.58);
  backdrop-filter:blur(10px);
}
.sponsor-modal-backdrop.open{display:flex;}
.sponsor-modal{
  width:min(430px,94vw);
  max-height:min(92vh,760px);
  overflow:auto;
  padding:22px;
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.50),transparent 42%),
    linear-gradient(180deg,rgba(236,250,255,.98),rgba(204,239,255,.96));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 26px 70px rgba(0,42,105,.34), inset 0 1px 0 rgba(255,255,255,.70);
  color:#0d5f9f;
  transform:translateY(8px) scale(.98);
  opacity:0;
  animation:sponsorPop .18s ease-out forwards;
}
@keyframes sponsorPop{to{transform:translateY(0) scale(1);opacity:1;}}
.sponsor-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.sponsor-modal-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:1.08rem;
  font-weight:900;
  color:#0865aa;
  letter-spacing:.02em;
}
.sponsor-close{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(13,95,159,.16);
  background:rgba(255,255,255,.72);
  color:#0d5f9f;
  cursor:pointer;
  font-size:1.08rem;
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,70,140,.10);
}
.sponsor-copy{
  margin:0 0 15px;
  padding:14px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(255,255,255,.76);
  color:#236fa8;
  font-size:.93rem;
  font-weight:800;
  line-height:1.75;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.60);
}
.sponsor-qr-card{
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.96);
  box-shadow:0 14px 32px rgba(0,70,140,.14);
}
.sponsor-qr-card img{
  width:100%;
  height:auto!important;
  object-fit:contain;
  display:block;
  border-radius:16px;
  background:#fff;
}
.sponsor-note{
  margin-top:12px;
  color:rgba(13,95,159,.66);
  text-align:center;
  font-size:.82rem;
  font-weight:800;
  line-height:1.5;
}
@media (max-width:600px){
  .sponsor-float-btn{
    top:calc(env(safe-area-inset-top,0px) + 8px);
    left:122px;
    min-width:84px;
    height:38px;
    padding:0 10px;
    font-size:.72rem;
    border-radius:12px;
    z-index:1200;
  }
  .sponsor-modal{padding:18px;border-radius:22px;}
  .sponsor-copy{font-size:.88rem;line-height:1.65;}
}
@media (max-width:380px){
  .sponsor-float-btn{
    top:calc(env(safe-area-inset-top,0px) + 8px);
    left:104px;
    min-width:78px;
    height:34px;
    padding:0 9px;
    font-size:.68rem;
    border-radius:10px;
  }
}



/* Sponsor compact layout fix */
.sponsor-float-btn{
  top:18px!important;
  left:126px!important;
  z-index:1100!important;
  height:36px!important;
  min-width:92px!important;
  padding:0 12px!important;
  border-radius:999px!important;
}
.sponsor-copy{
  font-size:.9rem!important;
  line-height:1.62!important;
  padding:13px 15px!important;
  margin-bottom:14px!important;
}
.sponsor-modal{
  width:min(430px,94vw)!important;
  max-height:min(90vh,720px)!important;
}
@media (max-width:600px){
  #langSelect{
    width:96px!important;
    min-width:96px!important;
  }
  .sponsor-float-btn{
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:116px!important;
    width:92px!important;
    min-width:92px!important;
    height:38px!important;
    padding:0 9px!important;
    font-size:.72rem!important;
    z-index:1100!important;
  }
  .sponsor-copy{
    font-size:.84rem!important;
    line-height:1.56!important;
    padding:12px 13px!important;
  }
  .sponsor-modal{
    width:min(410px,94vw)!important;
    max-height:min(90vh,710px)!important;
  }
}
@media (max-width:380px){
  #langSelect{
    width:86px!important;
    min-width:86px!important;
  }
  .sponsor-float-btn{
    left:102px!important;
    width:84px!important;
    min-width:84px!important;
    height:34px!important;
    padding:0 8px!important;
    font-size:.66rem!important;
  }
}



/* === Top bar alignment fix: centered nav + mobile safe layout === */
@media (min-width:981px){
  body{
    padding-top:72px!important;
  }
  .top-nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:56px!important;
    margin:0!important;
    padding:0!important;
    z-index:1000!important;
  }
  .top-nav-inner{
    position:relative!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
    display:block!important;
    border-radius:0!important;
  }
  .top-nav-links{
    position:absolute!important;
    left:50%!important;
    top:8px!important;
    transform:translateX(-50%)!important;
    width:auto!important;
    display:grid!important;
    grid-template-columns:repeat(6,180px)!important;
    gap:12px!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:180px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1!important;
  }
  #langSelect,
  .sponsor-float-btn{
    top:8px!important;
    height:40px!important;
    min-height:40px!important;
    border-radius:14px!important;
    font-size:.84rem!important;
    line-height:40px!important;
    z-index:1100!important;
  }
  #langSelect{
    left:16px!important;
    right:auto!important;
    width:96px!important;
    min-width:96px!important;
    padding:0 12px!important;
  }
  .sponsor-float-btn{
    left:124px!important;
    width:96px!important;
    min-width:96px!important;
    padding:0 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .auth-top{
    top:8px!important;
    right:16px!important;
    height:40px!important;
    align-items:center!important;
    gap:8px!important;
    z-index:1100!important;
  }
  .auth-mini-btn{
    height:36px!important;
    min-height:36px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .auth-login-btn{
    height:40px!important;
    min-height:40px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

@media (min-width:981px) and (max-width:1500px){
  .top-nav-links{
    grid-template-columns:repeat(6,150px)!important;
    gap:10px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:150px!important;
    font-size:.84rem!important;
  }
}

@media (min-width:981px) and (max-width:1240px){
  .top-nav-links{
    grid-template-columns:repeat(6,125px)!important;
    gap:8px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:125px!important;
    font-size:.76rem!important;
    padding:0 8px!important;
  }
  .nav-pending-badge{display:none!important;}
}

@media (max-width:980px) and (min-width:601px){
  body{padding-top:92px!important;}
  #langSelect{
    top:8px!important;
    left:12px!important;
    width:96px!important;
    min-width:96px!important;
    height:38px!important;
    min-height:38px!important;
    z-index:1100!important;
  }
  .sponsor-float-btn{
    top:8px!important;
    left:116px!important;
    width:96px!important;
    min-width:96px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 10px!important;
    font-size:.78rem!important;
    z-index:1100!important;
  }
  .auth-top{
    top:8px!important;
    right:12px!important;
    z-index:1100!important;
    align-items:center!important;
  }
  .top-nav{
    top:54px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
  }
  .top-nav-inner{
    padding:9px!important;
    border-radius:18px!important;
  }
  .top-nav-links{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    height:36px!important;
    min-height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

@media (max-width:600px){
  body{
    padding-top:118px!important;
  }
  #langSelect{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:10px!important;
    width:96px!important;
    min-width:96px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 10px!important;
    font-size:.76rem!important;
    border-radius:12px!important;
    z-index:1100!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:114px!important;
    width:88px!important;
    min-width:88px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 8px!important;
    font-size:.70rem!important;
    border-radius:12px!important;
    line-height:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:1100!important;
  }
  .auth-top{
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    right:10px!important;
    height:38px!important;
    align-items:center!important;
    z-index:1100!important;
  }
  .mobile-menu-toggle{
    top:calc(env(safe-area-inset-top,0px) + 54px)!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    height:38px!important;
    min-height:38px!important;
    z-index:1100!important;
  }
  .top-nav{
    top:calc(env(safe-area-inset-top,0px) + 100px)!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    z-index:1080!important;
  }
  .top-nav.mobile-open{
    max-height:280px!important;
  }
  .top-nav-inner{
    padding:10px!important;
    border-radius:18px!important;
  }
  .top-nav-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    height:34px!important;
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.76rem!important;
    padding:5px 6px!important;
  }
  .site-hero{
    margin-top:20px!important;
  }
}

@media (max-width:380px){
  #langSelect{
    left:8px!important;
    width:86px!important;
    min-width:86px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:.70rem!important;
  }
  .sponsor-float-btn{
    left:100px!important;
    width:76px!important;
    min-width:76px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:.62rem!important;
    padding:0 6px!important;
  }
  .auth-top{right:8px!important;}
  .auth-login-btn{
    min-width:66px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 9px!important;
    font-size:.72rem!important;
  }
  .mobile-menu-toggle{
    top:calc(env(safe-area-inset-top,0px) + 52px)!important;
    min-width:80px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:.72rem!important;
  }
  .top-nav{
    top:calc(env(safe-area-inset-top,0px) + 96px)!important;
  }
}


/* Mobile header final layout: menu back to top, sponsor under language */
@media (max-width:600px){
  #langSelect{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:10px!important;
    right:auto!important;
    width:104px!important;
    min-width:104px!important;
    height:38px!important;
    min-height:38px!important;
    z-index:1200!important;
  }
  .mobile-menu-toggle{
    display:block!important;
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    min-width:96px!important;
    height:38px!important;
    min-height:38px!important;
    z-index:1200!important;
  }
  .auth-top{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    right:10px!important;
    z-index:1200!important;
  }
  .auth-login-btn{
    height:38px!important;
    min-height:38px!important;
    min-width:78px!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 54px)!important;
    left:10px!important;
    width:104px!important;
    min-width:104px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 8px!important;
    font-size:.72rem!important;
    border-radius:12px!important;
    z-index:1100!important;
  }
  .top-nav{
    top:calc(env(safe-area-inset-top,0px) + 54px)!important;
  }
  .site-hero{
    margin-top:86px!important;
  }
}
@media (max-width:380px){
  #langSelect{
    left:8px!important;
    width:90px!important;
    min-width:90px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:.70rem!important;
  }
  .mobile-menu-toggle{
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    min-width:82px!important;
    height:36px!important;
    min-height:36px!important;
    font-size:.72rem!important;
  }
  .auth-top{
    top:calc(env(safe-area-inset-top,0px) + 8px)!important;
    right:8px!important;
  }
  .auth-login-btn{
    min-width:66px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 9px!important;
    font-size:.72rem!important;
  }
  .sponsor-float-btn{
    top:calc(env(safe-area-inset-top,0px) + 50px)!important;
    left:8px!important;
    width:90px!important;
    min-width:90px!important;
    height:34px!important;
    min-height:34px!important;
    font-size:.64rem!important;
    padding:0 6px!important;
  }
  .top-nav{
    top:calc(env(safe-area-inset-top,0px) + 52px)!important;
  }
  .site-hero{
    margin-top:80px!important;
  }
}


/* Mobile menu layer fix only: keep original language select styling */
@media (max-width:600px){
  .sponsor-float-btn{
    z-index:1080!important;
  }
  .top-nav{
    z-index:1250!important;
  }
  .top-nav.mobile-open{
    z-index:1350!important;
    max-height:300px!important;
  }
  .top-nav.mobile-open .top-nav-inner{
    position:relative!important;
    z-index:1351!important;
  }
}
@media (max-width:380px){
  .sponsor-float-btn{z-index:1080!important;}
  .top-nav.mobile-open{z-index:1350!important;}
}

/* Mobile menu arrow size fix */
.mobile-menu-toggle .mobile-menu-arrow{
  display:inline-block;
  font-size:.72em!important;
  line-height:1;
  margin-left:2px;
  transform:translateY(-1px);
  vertical-align:middle;
}
@media (max-width:600px){
  .mobile-menu-toggle .mobile-menu-arrow{
    font-size:.70em!important;
    margin-left:2px;
    transform:translateY(-1px);
  }
}



/* Final fix: use the exact same small arrow for 選單 / 收起 */
.mobile-menu-toggle .mobile-menu-arrow{
  display:inline-flex!important;
  width:.72em!important;
  height:.72em!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:4px!important;
  font-size:.72em!important;
  line-height:1!important;
  transform:translateY(-1px) rotate(0deg)!important;
  transform-origin:50% 50%!important;
  transition:transform .16s ease!important;
}
.mobile-menu-toggle.is-open .mobile-menu-arrow,
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-arrow{
  transform:translateY(-1px) rotate(180deg)!important;
}
@media (max-width:600px){
  .mobile-menu-toggle .mobile-menu-arrow{
    width:.68em!important;
    height:.68em!important;
    font-size:.68em!important;
    margin-left:3px!important;
  }
}

/* Final desktop responsive guard: keep top controls from colliding on different widths */
@media (min-width:1501px){
  .top-nav-links{
    grid-template-columns:repeat(6,180px)!important;
    gap:12px!important;
  }
  .top-nav-links a,
  .top-nav-links button{width:180px!important;}
}
@media (min-width:1281px) and (max-width:1500px){
  .top-nav-links{
    grid-template-columns:repeat(6,126px)!important;
    gap:8px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:126px!important;
    font-size:.78rem!important;
    padding:0 8px!important;
  }
  .nav-pending-badge{display:none!important;}
}
@media (min-width:1101px) and (max-width:1280px){
  .top-nav-links{
    grid-template-columns:repeat(6,104px)!important;
    gap:7px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:104px!important;
    font-size:.70rem!important;
    padding:0 6px!important;
  }
  .nav-pending-badge{display:none!important;}
  #langSelect{left:12px!important;width:86px!important;min-width:86px!important;font-size:.78rem!important;}
  .sponsor-float-btn{left:106px!important;width:86px!important;min-width:86px!important;font-size:.70rem!important;}
  .auth-top{right:12px!important;gap:6px!important;}
  .auth-mini-btn{padding:0 10px!important;font-size:.72rem!important;}
  .auth-login-btn{min-width:76px!important;padding:0 12px!important;font-size:.74rem!important;}
}
@media (min-width:601px) and (max-width:1100px){
  body{padding-top:102px!important;}
  #langSelect{
    position:fixed!important;
    top:8px!important;
    left:12px!important;
    right:auto!important;
    width:96px!important;
    min-width:96px!important;
    height:38px!important;
    min-height:38px!important;
    z-index:1100!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    top:8px!important;
    left:116px!important;
    width:96px!important;
    min-width:96px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 10px!important;
    font-size:.78rem!important;
    z-index:1100!important;
  }
  .auth-top{
    position:fixed!important;
    top:8px!important;
    right:12px!important;
    z-index:1100!important;
    align-items:center!important;
  }
  .top-nav{
    position:fixed!important;
    top:54px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    height:auto!important;
    z-index:1000!important;
  }
  .top-nav-inner{
    height:auto!important;
    min-height:0!important;
    padding:9px!important;
    border-radius:18px!important;
  }
  .top-nav-links{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:100%!important;
    height:36px!important;
    min-height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:.78rem!important;
  }
}


/* 修正：排行榜手機選單按鈕只在手機版出現，電腦版保留右上角原本的排行榜按鈕 */
@media (min-width:601px){
  #leaderboardNavBtnMobile,
  #achievementNavBtnMobile{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
}


/* =========================================================
   RADICAL OFFICIAL SITE TRIAL - experimental layout only
   Desktop only. Mobile keeps the current stable layout.
   ========================================================= */
@media (min-width: 981px){
  :root{
    --r-blue-0:#061c58;
    --r-blue-1:#0737a7;
    --r-blue-2:#00a9ff;
    --r-cyan:#3ef7ff;
    --r-lime:#cbff00;
    --r-white:rgba(255,255,255,.94);
    --r-glass:rgba(255,255,255,.12);
    --r-glass-2:rgba(255,255,255,.22);
    --r-line:rgba(255,255,255,.32);
    --r-shadow:0 28px 80px rgba(0,25,90,.34);
  }

  html,body{
    width:100%;
    min-height:100vh!important;
    height:100vh!important;
    overflow:hidden!important;
  }

  body{
    display:block!important;
    padding:0!important;
    color:#fff!important;
    background:
      radial-gradient(circle at 74% 8%,rgba(88,238,255,.35),transparent 18%),
      radial-gradient(circle at 22% 22%,rgba(84,205,255,.30),transparent 22%),
      radial-gradient(circle at 54% 80%,rgba(161,75,255,.18),transparent 28%),
      linear-gradient(115deg,#04b7f0 0%,#0572d2 40%,#062f97 73%,#031b67 100%)!important;
  }

  body::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(112deg,transparent 0 13%,rgba(255,255,255,.12) 13.15%,transparent 14% 42%,rgba(255,255,255,.08) 42.2%,transparent 43% 100%),
      repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 86px),
      repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 76px),
      radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.20),transparent 42%)!important;
    mix-blend-mode:screen!important;
    opacity:.72!important;
  }

  body::after{
    content:"LL SONG QUIZ"!important;
    position:fixed!important;
    left:255px!important;
    top:42px!important;
    z-index:0!important;
    pointer-events:none!important;
    font-family:Impact,'Arial Black','Noto Sans TC',sans-serif!important;
    font-size:clamp(5rem,12.5vw,15.5rem)!important;
    line-height:.78!important;
    letter-spacing:.02em!important;
    color:rgba(255,255,255,.075)!important;
    text-transform:uppercase!important;
    transform:none!important;
    white-space:nowrap!important;
  }

  .leader-strip-bg{
    position:fixed!important;
    inset:auto 0 0 0!important;
    height:34vh!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(180deg,transparent,rgba(0,38,115,.38)),
      radial-gradient(circle at 34% 50%,rgba(0,240,255,.16),transparent 22%),
      radial-gradient(circle at 70% 45%,rgba(220,0,255,.12),transparent 20%)!important;
    opacity:1!important;
  }

  .leader-strip-bg::before,
  .leader-strip-bg::after{
    content:"";
    position:absolute;
    bottom:0;
    width:360px;
    height:360px;
    border-radius:40% 60% 0 0;
    background:rgba(0,39,115,.25);
    filter:blur(1px);
  }
  .leader-strip-bg::before{left:-80px;clip-path:polygon(0 45%,35% 12%,70% 26%,100% 0,100% 100%,0 100%);} 
  .leader-strip-bg::after{right:10px;clip-path:polygon(0 18%,42% 0,68% 34%,100% 18%,100% 100%,0 100%);} 

  /* left official-style navigation */
  .top-nav{
    position:fixed!important;
    left:22px!important;
    top:96px!important;
    width:218px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    z-index:900!important;
  }
  .top-nav::before{
    content:"MENU";
    display:block;
    margin:0 0 12px 4px;
    color:rgba(255,255,255,.52);
    font-family:Impact,'Arial Black',sans-serif;
    font-size:2rem;
    letter-spacing:.12em;
  }
  .top-nav-inner{
    width:100%!important;
    min-height:0!important;
    padding:12px!important;
    border-radius:28px!important;
    display:block!important;
    background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;
    border:1px solid rgba(255,255,255,.30)!important;
    box-shadow:0 22px 60px rgba(0,40,120,.28),inset 0 1px 0 rgba(255,255,255,.25)!important;
    backdrop-filter:blur(20px) saturate(1.25)!important;
  }
  .top-nav-links{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    justify-content:stretch!important;
    align-items:stretch!important;
  }
  .top-nav-links button,
  .top-nav-links a{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    padding:0 16px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    color:#fff!important;
    background:rgba(5,57,150,.28)!important;
    border:1px solid rgba(255,255,255,.24)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.20)!important;
    font-size:.92rem!important;
    font-weight:950!important;
    letter-spacing:.03em!important;
  }
  .top-nav-links button::after,
  .top-nav-links a::after{
    content:"›";
    font-size:1.1rem;
    opacity:.75;
  }
  .top-nav-links button:hover,
  .top-nav-links a:hover{
    transform:translateX(4px)!important;
    background:rgba(255,255,255,.92)!important;
    color:#045fae!important;
  }
  #multiNavBtn{
    opacity:.48!important;
    pointer-events:none!important;
  }
  .nav-pending-badge{
    margin-left:6px!important;
    padding:2px 5px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.18)!important;
    font-size:.65rem!important;
  }
  #leaderboardNavBtnMobile,
  #achievementNavBtnMobile{display:none!important;}

  /* system buttons */
  #langSelect{
    position:fixed!important;
    left:22px!important;
    top:22px!important;
    z-index:1000!important;
    width:92px!important;
    height:42px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.56)!important;
    background:rgba(255,255,255,.90)!important;
    color:#065fa9!important;
    font-weight:950!important;
    box-shadow:0 14px 30px rgba(0,55,140,.18)!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    left:124px!important;
    top:22px!important;
    z-index:1000!important;
    min-width:106px!important;
    height:42px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.56)!important;
    background:rgba(255,255,255,.88)!important;
    color:#065fa9!important;
    font-weight:950!important;
    box-shadow:0 14px 30px rgba(0,55,140,.18)!important;
  }
  .auth-top{
    position:fixed!important;
    top:22px!important;
    right:24px!important;
    z-index:1000!important;
    display:flex!important;
    gap:10px!important;
  }
  .auth-mini-btn,
  .auth-login-btn{
    height:42px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.56)!important;
    background:rgba(255,255,255,.90)!important;
    color:#065fa9!important;
    font-weight:950!important;
    box-shadow:0 14px 30px rgba(0,55,140,.18)!important;
  }

  /* hero */
  .site-hero{
    position:fixed!important;
    left:270px!important;
    top:58px!important;
    width:min(760px,54vw)!important;
    margin:0!important;
    z-index:4!important;
    text-align:left!important;
  }
  .site-kicker{
    margin:0 0 10px!important;
    padding:7px 14px!important;
    color:#fff!important;
    background:rgba(255,255,255,.16)!important;
    border:1px solid rgba(255,255,255,.36)!important;
    border-radius:999px!important;
    font-size:.82rem!important;
    font-weight:950!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.20)!important;
  }
  .site-hero h1{
    margin:0!important;
    font-family:Georgia,'Times New Roman','Noto Sans TC',serif!important;
    font-size:clamp(4.2rem,6.2vw,7.6rem)!important;
    line-height:.86!important;
    letter-spacing:-.025em!important;
    color:#fff!important;
    text-shadow:0 24px 60px rgba(0,32,115,.38)!important;
  }
  .site-hero p{
    margin-top:12px!important;
    font-size:1.06rem!important;
    font-weight:950!important;
    letter-spacing:.04em!important;
    color:rgba(255,255,255,.92)!important;
  }
  .site-hero::after{
    content:"0.5s CHALLENGE  /  ALL SERIES  /  ONLINE RANKING";
    display:inline-flex;
    margin-top:15px;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.28);
    font-size:.76rem;
    font-weight:950;
    letter-spacing:.09em;
    color:rgba(255,255,255,.88);
  }

  /* main game console */
  .game-card{
    position:fixed!important;
    left:50%!important;
    top:300px!important;
    transform:translateX(-50%)!important;
    width:600px!important;
    min-height:330px!important;
    margin:0!important;
    padding:26px 30px 24px!important;
    z-index:5!important;
    border-radius:36px!important;
    background:
      radial-gradient(circle at 50% 0%,rgba(255,255,255,.30),transparent 42%),
      linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.105))!important;
    border:1px solid rgba(255,255,255,.38)!important;
    box-shadow:0 38px 90px rgba(0,36,130,.34),inset 0 1px 0 rgba(255,255,255,.30)!important;
    backdrop-filter:blur(22px) saturate(1.35)!important;
  }
  .game-card::before{
    border-radius:36px!important;
    background:
      linear-gradient(135deg,rgba(255,255,255,.30),transparent 26%,transparent 70%,rgba(0,245,255,.13)),
      linear-gradient(90deg,rgba(255,255,255,.10),transparent 30%,rgba(255,255,255,.08))!important;
  }
  .game-card::after{
    content:"GAME CONSOLE";
    position:absolute;
    left:26px;
    top:18px;
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.14em;
    color:rgba(255,255,255,.52);
  }
  #questionHeader{
    font-size:2.55rem!important;
    margin:8px 0 14px!important;
    letter-spacing:.08em!important;
    font-weight:950!important;
  }
  .clip-btn{
    min-width:178px!important;
    height:48px!important;
    margin-bottom:16px!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,#fff,#dff6ff)!important;
    color:#0564b0!important;
    font-size:1.05rem!important;
    font-weight:950!important;
    box-shadow:0 18px 42px rgba(0,78,180,.25),inset 0 1px 0 rgba(255,255,255,.90)!important;
  }
  #info{margin-bottom:12px!important;gap:10px!important;}
  #info .hud-pill{
    padding:5px 12px!important;
    background:rgba(255,255,255,.20)!important;
    border:1px solid rgba(255,255,255,.34)!important;
    font-size:.82rem!important;
    font-weight:900!important;
  }
  #volumeWrapper{
    width:300px!important;
    margin-bottom:18px!important;
    padding:6px 12px!important;
    background:rgba(0,80,180,.16)!important;
    border:1px solid rgba(255,255,255,.30)!important;
  }
  .game-card .answer-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:190px 1fr!important;
    gap:12px!important;
    margin:0 0 17px!important;
    padding:0!important;
  }
  .game-card .answer-row .select2-container--default .select2-selection--single{
    height:50px!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(220,242,255,.92))!important;
    border:1px solid rgba(255,255,255,.82)!important;
    color:#095f9d!important;
    box-shadow:0 16px 30px rgba(0,52,140,.13)!important;
    font-weight:950!important;
  }
  .submit{
    height:48px!important;
    min-width:118px!important;
    padding:0 34px!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#42f095,#15b96a)!important;
    border:1px solid rgba(255,255,255,.52)!important;
    font-size:1rem!important;
    font-weight:950!important;
    box-shadow:0 18px 34px rgba(0,126,86,.28)!important;
  }
  .result-msg{margin-top:12px!important;margin-bottom:0!important;}
  .answer-actions{margin-top:12px!important;}

  /* left and right HUD panels */
  .round-log-panel{
    position:fixed!important;
    left:270px!important;
    top:320px!important;
    width:250px!important;
    height:310px!important;
    z-index:4!important;
    border-radius:26px!important;
    padding:16px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.09))!important;
    border:1px solid rgba(255,255,255,.28)!important;
    box-shadow:0 28px 70px rgba(0,36,120,.26),inset 0 1px 0 rgba(255,255,255,.22)!important;
    backdrop-filter:blur(18px) saturate(1.25)!important;
  }
  .round-log-head h3,
  #rankPanel h3{
    font-size:1rem!important;
    font-weight:950!important;
    color:#fff!important;
  }
  .round-log-empty,
  .round-log-item,
  #rankList li{
    background:rgba(255,255,255,.14)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:14px!important;
  }
  #rankPanel{
    position:fixed!important;
    right:34px!important;
    top:260px!important;
    width:250px!important;
    min-height:132px!important;
    z-index:4!important;
    border-radius:26px!important;
    padding:16px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.09))!important;
    border:1px solid rgba(255,255,255,.28)!important;
    box-shadow:0 28px 70px rgba(0,36,120,.26),inset 0 1px 0 rgba(255,255,255,.22)!important;
    backdrop-filter:blur(18px) saturate(1.25)!important;
  }
  #rankList li{
    padding:9px 11px!important;
    font-size:.88rem!important;
  }

  .hint{
    position:fixed!important;
    left:50%!important;
    bottom:150px!important;
    transform:translateX(-50%)!important;
    z-index:4!important;
    width:auto!important;
    margin:0!important;
    padding:7px 16px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.22)!important;
    color:rgba(255,255,255,.90)!important;
    font-size:.88rem!important;
    font-weight:950!important;
    white-space:nowrap!important;
    text-shadow:0 4px 12px rgba(0,36,115,.28)!important;
  }

  /* bottom generation cards */
  .gen-toggle-wrap{
    position:fixed!important;
    left:270px!important;
    right:34px!important;
    bottom:24px!important;
    z-index:5!important;
    width:auto!important;
    height:112px!important;
    margin:0!important;
    padding:12px 16px!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(118px,1fr))!important;
    gap:12px!important;
    align-items:center!important;
    justify-items:center!important;
    border-radius:32px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.075))!important;
    border:1px solid rgba(255,255,255,.26)!important;
    box-shadow:0 28px 70px rgba(0,36,120,.28),inset 0 1px 0 rgba(255,255,255,.18)!important;
    backdrop-filter:blur(18px) saturate(1.25)!important;
  }
  .gen-btn{
    width:100%!important;
    max-width:160px!important;
    height:86px!important;
    border-radius:24px!important;
    padding:8px 8px 24px!important;
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    background:linear-gradient(180deg,rgba(0,83,176,.48),rgba(3,35,104,.48))!important;
    border:1px solid rgba(255,255,255,.34)!important;
    box-shadow:0 18px 38px rgba(0,32,100,.28),inset 0 1px 0 rgba(255,255,255,.20)!important;
    backdrop-filter:none!important;
  }
  .gen-btn:hover{
    transform:translateY(-6px) scale(1.02)!important;
    filter:brightness(1.10) saturate(1.1)!important;
  }
  .gen-btn img{
    max-width:132px!important;
    max-height:48px!important;
  }
  .gen-btn[data-gen="蓮ノ空"] img{max-width:140px!important;max-height:58px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-width:136px!important;max-height:40px!important;}
  .gen-count{bottom:6px!important;font-size:.76rem!important;padding:2px 8px!important;}

  /* modal / dropdown keep above everything */
  .select2-container--open,
  .select2-dropdown{z-index:20000!important;}
  .sponsor-modal-backdrop,
  .auth-modal-backdrop,
  .leaderboard-modal-backdrop,
  .achievement-modal-backdrop,
  .notice-modal-backdrop,
  .rule-modal-backdrop,
  .collection-modal-backdrop,
  .update-modal-backdrop,
  .share-modal-backdrop{
    z-index:30000!important;
  }

  .mobile-menu-toggle{display:none!important;}

  @media (max-width: 1500px){
    .site-hero{left:250px!important;width:52vw!important;top:62px!important;}
    .site-hero h1{font-size:clamp(3.7rem,5.5vw,6.3rem)!important;}
    .top-nav{left:18px!important;width:208px!important;}
    .round-log-panel{left:250px!important;width:230px!important;}
    .game-card{width:560px!important;}
    #rankPanel{width:220px!important;right:24px!important;}
    .gen-toggle-wrap{left:250px!important;right:24px!important;grid-template-columns:repeat(6,minmax(105px,1fr))!important;}
    .gen-btn{max-width:145px!important;}
    .gen-btn img{max-width:118px!important;}
  }

  @media (max-width: 1280px){
    .top-nav{width:190px!important;}
    .top-nav-links button,.top-nav-links a{height:40px!important;font-size:.82rem!important;}
    .site-hero{left:225px!important;width:54vw!important;}
    .site-hero h1{font-size:clamp(3.2rem,5.2vw,5.4rem)!important;}
    .site-hero p{font-size:.92rem!important;}
    .game-card{width:510px!important;top:288px!important;}
    .round-log-panel{left:225px!important;width:205px!important;height:290px!important;top:312px!important;}
    #rankPanel{width:190px!important;right:18px!important;}
    .hint{bottom:136px!important;font-size:.78rem!important;}
    .gen-toggle-wrap{left:225px!important;right:18px!important;height:100px!important;bottom:18px!important;gap:8px!important;padding:10px!important;}
    .gen-btn{height:78px!important;max-width:130px!important;}
    .gen-btn img{max-width:108px!important;max-height:40px!important;}
  }

  @media (max-height: 820px){
    .top-nav{top:82px!important;}
    .top-nav::before{display:none!important;}
    .top-nav-links button,.top-nav-links a{height:38px!important;font-size:.80rem!important;}
    .site-hero{top:54px!important;}
    .site-hero h1{font-size:clamp(3.1rem,5.0vw,5.4rem)!important;}
    .site-hero p{margin-top:7px!important;font-size:.88rem!important;}
    .site-hero::after{margin-top:10px!important;padding:6px 12px!important;font-size:.68rem!important;}
    .game-card{top:240px!important;min-height:300px!important;padding:20px 26px!important;}
    #questionHeader{font-size:2.15rem!important;margin-bottom:10px!important;}
    .clip-btn{height:42px!important;margin-bottom:10px!important;}
    #info{margin-bottom:8px!important;}
    #volumeWrapper{margin-bottom:12px!important;}
    .game-card .answer-row{margin-bottom:12px!important;}
    .submit{height:42px!important;}
    .round-log-panel{top:252px!important;height:278px!important;}
    #rankPanel{top:210px!important;}
    .hint{bottom:126px!important;}
    .gen-toggle-wrap{height:94px!important;bottom:16px!important;}
    .gen-btn{height:72px!important;}
  }
}


/* =========================================================
   RADICAL OFFICIAL SITE TRIAL - polish pass
   Goal: keep the bold official-site direction, fix overlaps.
   ========================================================= */
@media (min-width:981px){
  html,body{
    overflow:hidden!important;
  }

  body::after{
    left:250px!important;
    top:34px!important;
    font-size:clamp(5rem,11.2vw,14rem)!important;
    opacity:1!important;
    color:rgba(255,255,255,.060)!important;
  }

  /* fixed safe zones */
  .top-nav{
    left:22px!important;
    top:104px!important;
    width:210px!important;
  }
  .top-nav::before{
    margin-bottom:10px!important;
    font-size:1.75rem!important;
    line-height:1!important;
  }
  .top-nav-inner{
    padding:11px!important;
    border-radius:26px!important;
  }
  .top-nav-links{
    gap:8px!important;
  }
  .top-nav-links button,
  .top-nav-links a{
    height:40px!important;
    padding:0 15px!important;
    font-size:.86rem!important;
    letter-spacing:.02em!important;
  }

  /* hero: never wrap into broken two-line title */
  .site-hero{
    left:270px!important;
    top:62px!important;
    width:calc(100vw - 610px)!important;
    max-width:960px!important;
    min-width:650px!important;
  }
  .site-kicker{
    margin-bottom:8px!important;
    padding:6px 13px!important;
    font-size:.78rem!important;
  }
  .site-hero h1{
    white-space:nowrap!important;
    font-size:clamp(4.15rem,5.25vw,6.6rem)!important;
    line-height:.88!important;
    letter-spacing:-.035em!important;
  }
  .site-hero p{
    margin-top:10px!important;
    font-size:.98rem!important;
    line-height:1.35!important;
    max-width:780px!important;
    white-space:nowrap!important;
  }
  .site-hero::after{
    margin-top:10px!important;
    padding:6px 13px!important;
    font-size:.70rem!important;
    letter-spacing:.075em!important;
    max-width:max-content!important;
    white-space:nowrap!important;
  }

  /* game console: center it as the main focus, away from side panels */
  .game-card{
    top:292px!important;
    left:calc(50% + 80px)!important;
    transform:translateX(-50%)!important;
    width:590px!important;
    min-height:318px!important;
    padding:24px 28px 22px!important;
    border-radius:34px!important;
  }
  .game-card::after{
    left:24px!important;
    top:16px!important;
    font-size:.62rem!important;
    letter-spacing:.12em!important;
    opacity:.72!important;
  }
  #questionHeader{
    font-size:2.35rem!important;
    margin:8px 0 12px!important;
  }
  .clip-btn{
    height:44px!important;
    min-width:164px!important;
    margin-bottom:13px!important;
    font-size:1rem!important;
  }
  #info{
    margin-bottom:9px!important;
  }
  #info .hud-pill{
    padding:4px 10px!important;
    font-size:.78rem!important;
  }
  #volumeWrapper{
    width:285px!important;
    margin-bottom:16px!important;
    padding:5px 11px!important;
  }
  .game-card .answer-row{
    grid-template-columns:180px minmax(0,1fr)!important;
    gap:12px!important;
    margin-bottom:14px!important;
  }
  .game-card .answer-row .select2-container--default .select2-selection--single{
    height:46px!important;
    border-radius:16px!important;
  }
  .submit{
    height:44px!important;
    min-width:112px!important;
    border-radius:16px!important;
    padding:0 30px!important;
  }

  /* left/right HUD should be clearly separated from hero and console */
  .round-log-panel{
    left:270px!important;
    top:325px!important;
    width:250px!important;
    height:285px!important;
    padding:15px!important;
    border-radius:25px!important;
  }
  .round-log-head{
    margin-bottom:9px!important;
  }
  .round-log-head h3{
    font-size:.95rem!important;
  }
  .round-log-count{
    padding:2px 8px!important;
    font-size:.75rem!important;
  }
  .round-log-empty{
    padding:12px 10px!important;
    font-size:.82rem!important;
  }
  .round-log-item{
    padding:8px 7px!important;
    margin-bottom:6px!important;
  }

  #rankPanel{
    right:34px!important;
    top:260px!important;
    width:240px!important;
    min-height:122px!important;
    padding:15px!important;
    border-radius:25px!important;
  }
  #rankPanel h3{
    font-size:.98rem!important;
    margin-bottom:8px!important;
  }
  #rankList li{
    padding:8px 10px!important;
    margin:5px 0!important;
    font-size:.84rem!important;
  }

  /* hint belongs to generation selector, not the console */
  .hint{
    bottom:142px!important;
    padding:6px 15px!important;
    font-size:.82rem!important;
    max-width:760px!important;
  }

  .gen-toggle-wrap{
    left:270px!important;
    right:34px!important;
    bottom:22px!important;
    height:106px!important;
    padding:11px 14px!important;
    gap:10px!important;
    grid-template-columns:repeat(6,minmax(112px,1fr))!important;
    border-radius:30px!important;
  }
  .gen-btn{
    height:80px!important;
    max-width:154px!important;
    border-radius:22px!important;
    padding:8px 8px 22px!important;
  }
  .gen-btn img{
    max-width:126px!important;
    max-height:45px!important;
  }
  .gen-btn[data-gen="蓮ノ空"] img{max-width:134px!important;max-height:54px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-width:130px!important;max-height:38px!important;}
  .gen-count{bottom:5px!important;font-size:.73rem!important;}

  /* System buttons: same visual group, not too heavy */
  #langSelect,
  .sponsor-float-btn,
  .auth-mini-btn,
  .auth-login-btn{
    height:40px!important;
    box-shadow:0 12px 26px rgba(0,55,140,.16)!important;
  }
  #langSelect{width:90px!important;}
  .sponsor-float-btn{left:122px!important;min-width:104px!important;}
  .auth-top{top:22px!important;right:24px!important;gap:9px!important;}

  /* 1500-ish desktop */
  @media (max-width:1500px){
    .top-nav{left:18px!important;width:198px!important;}
    .top-nav-links button,.top-nav-links a{height:38px!important;font-size:.80rem!important;}
    .site-hero{left:240px!important;width:calc(100vw - 520px)!important;min-width:560px!important;}
    .site-hero h1{font-size:clamp(3.55rem,5vw,5.7rem)!important;}
    .site-hero p{font-size:.90rem!important;}
    .game-card{left:calc(50% + 62px)!important;width:540px!important;top:288px!important;}
    .round-log-panel{left:240px!important;width:220px!important;height:278px!important;top:320px!important;}
    #rankPanel{right:24px!important;width:215px!important;}
    .hint{bottom:132px!important;font-size:.76rem!important;}
    .gen-toggle-wrap{left:240px!important;right:24px!important;height:98px!important;bottom:18px!important;grid-template-columns:repeat(6,minmax(98px,1fr))!important;}
    .gen-btn{height:74px!important;max-width:138px!important;}
    .gen-btn img{max-width:112px!important;max-height:38px!important;}
    .gen-btn[data-gen="蓮ノ空"] img{max-height:48px!important;}
    .gen-btn[data-gen="いきづらい部!"] img{max-height:34px!important;}
  }

  /* 1280-ish / narrow desktop: hide side HUD pressure by compacting, still no overlap */
  @media (max-width:1280px){
    .top-nav{width:176px!important;}
    .top-nav::before{font-size:1.45rem!important;}
    .top-nav-inner{padding:9px!important;border-radius:22px!important;}
    .top-nav-links{gap:7px!important;}
    .top-nav-links button,.top-nav-links a{height:36px!important;font-size:.76rem!important;padding:0 12px!important;}
    .site-hero{left:210px!important;top:58px!important;width:calc(100vw - 430px)!important;min-width:0!important;}
    .site-hero h1{font-size:clamp(3rem,4.8vw,4.8rem)!important;}
    .site-hero p{font-size:.82rem!important;}
    .site-hero::after{font-size:.62rem!important;padding:5px 10px!important;}
    .game-card{left:calc(50% + 50px)!important;width:500px!important;top:280px!important;min-height:300px!important;padding:21px 24px 20px!important;}
    #questionHeader{font-size:2.08rem!important;}
    .round-log-panel{left:210px!important;width:190px!important;height:260px!important;top:314px!important;}
    #rankPanel{right:18px!important;width:178px!important;top:250px!important;}
    .hint{bottom:122px!important;font-size:.70rem!important;padding:5px 10px!important;}
    .gen-toggle-wrap{left:210px!important;right:18px!important;height:90px!important;bottom:16px!important;padding:9px!important;gap:8px!important;grid-template-columns:repeat(6,minmax(86px,1fr))!important;}
    .gen-btn{height:68px!important;border-radius:18px!important;max-width:118px!important;}
    .gen-btn img{max-width:96px!important;max-height:34px!important;}
    .gen-count{font-size:.66rem!important;}
  }

  /* low height screens: reduce vertical sizes before overlap happens */
  @media (max-height:820px){
    .top-nav{top:82px!important;}
    .top-nav::before{display:none!important;}
    .site-hero{top:50px!important;}
    .site-kicker{padding:5px 12px!important;font-size:.72rem!important;}
    .site-hero h1{font-size:clamp(3.2rem,4.7vw,5.2rem)!important;}
    .site-hero p{margin-top:7px!important;font-size:.84rem!important;}
    .site-hero::after{margin-top:8px!important;font-size:.62rem!important;padding:5px 11px!important;}
    .game-card{top:238px!important;min-height:286px!important;padding:18px 24px 18px!important;}
    .game-card::after{display:none!important;}
    #questionHeader{font-size:2rem!important;margin:6px 0 9px!important;}
    .clip-btn{height:40px!important;margin-bottom:8px!important;}
    #info{margin-bottom:7px!important;}
    #info .hud-pill{font-size:.72rem!important;padding:3px 9px!important;}
    #volumeWrapper{margin-bottom:10px!important;}
    .game-card .answer-row{margin-bottom:10px!important;}
    .game-card .answer-row .select2-container--default .select2-selection--single{height:42px!important;}
    .submit{height:40px!important;}
    .round-log-panel{top:250px!important;height:250px!important;}
    #rankPanel{top:206px!important;min-height:112px!important;}
    .hint{bottom:114px!important;}
    .gen-toggle-wrap{height:86px!important;bottom:14px!important;}
    .gen-btn{height:64px!important;}
  }
}


/* ===== style tag: inline ===== */
/* === radical polish v2 overrides === */
.top-nav{top:110px!important;}
.top-nav-inner{
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.top-nav-links{gap:10px!important;}
.top-nav-links button,.top-nav-links a{
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0 18px!important;
}
.top-nav-links button::after,.top-nav-links a::after{margin-left:auto!important;}
.top-nav-links button.active-menu{
  background:rgba(255,255,255,.92)!important;
  color:#055ea8!important;
  box-shadow:0 10px 26px rgba(0,54,140,.18), inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.game-card::after{content:none!important;display:none!important;}
.site-hero{top:44px!important;left:250px!important;width:min(760px,50vw)!important;}
.site-hero h1{line-height:.9!important;}
.round-log-panel{top:280px!important;left:248px!important;height:280px!important;}
#rankPanel{top:245px!important;right:34px!important;}
.game-card{top:250px!important;min-height:300px!important;}
.hint{bottom:118px!important;}
.gen-toggle-wrap{bottom:14px!important;height:96px!important;left:248px!important;right:34px!important;}
.gen-btn{height:76px!important;}
.gen-btn img{max-height:44px!important;}
.gen-count{bottom:5px!important;}
.site-hero::after{margin-top:12px!important;}

/* inline content view instead of floating modal */
.info-view-panel{
  position:fixed!important;
  left:248px!important;
  right:34px!important;
  top:248px!important;
  bottom:126px!important;
  z-index:8!important;
  display:none;
}
body.mode-info .info-view-panel{display:block!important;}
body.mode-info .game-card,
body.mode-info #rankPanel,
body.mode-info .round-log-panel,
body.mode-info .hint,
body.mode-info .gen-toggle-wrap{display:none!important;}
.info-view-shell{
  width:100%;
  height:100%;
  border-radius:34px;
  padding:28px 28px 24px;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 30px 80px rgba(0,36,120,.30), inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(20px) saturate(1.25);
  overflow:hidden;
}
.info-view-head{margin-bottom:18px;}
.info-view-kicker{
  display:inline-flex;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.26);
  color:rgba(255,255,255,.78);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.14em;
  margin-bottom:10px;
}
.info-view-head h2{
  margin:0;
  color:#fff;
  font-size:2rem;
  font-weight:950;
  letter-spacing:.05em;
}
.info-view-body{
  height:calc(100% - 94px);
  overflow:auto;
  padding-right:8px;
}
.info-view-body::-webkit-scrollbar{width:10px;}
.info-view-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px;}
.info-view-body .notice-modal,
.info-view-body .rule-modal,
.info-view-body .collection-modal,
.info-view-body .update-modal,
.info-view-body .share-modal{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.info-view-body .notice-modal-head,
.info-view-body .rule-modal-head,
.info-view-body .collection-modal-head,
.info-view-body .update-modal-head,
.info-view-body .share-modal-head,
.info-view-body .notice-close,
.info-view-body .rule-close,
.info-view-body .collection-close,
.info-view-body .update-close,
.info-view-body .share-close,
.info-view-body .share-toast,
.info-view-body .share-modal-actions{display:none!important;}
.info-view-body .notice-entry,
.info-view-body .rule-list,
.info-view-body .collection-content,
.info-view-body .update-list,
.info-view-body .share-score-card,
.info-view-body .share-answer,
.info-view-body .share-text-box{
  max-height:none!important;
}
.info-view-body .notice-entry,
.info-view-body .rule-list,
.info-view-body .collection-content,
.info-view-body .update-list{
  background:transparent!important;
}
.info-view-body .rule-item,
.info-view-body .notice-contact-row,
.info-view-body .collection-card,
.info-view-body .update-item{
  box-shadow:none!important;
}
.info-view-body .share-text-box{
  width:100%!important;
  min-height:150px!important;
}
body.mode-info .site-hero{width:min(720px,48vw)!important;}

@media (max-width: 1500px){
  .site-hero{left:234px!important;top:48px!important;width:48vw!important;}
  .round-log-panel{left:232px!important;top:286px!important;width:224px!important;height:270px!important;}
  .game-card{top:254px!important;width:560px!important;}
  #rankPanel{top:248px!important;width:224px!important;}
  .info-view-panel{left:232px!important;top:250px!important;right:24px!important;bottom:120px!important;}
  .gen-toggle-wrap{left:232px!important;right:24px!important;bottom:12px!important;height:92px!important;}
}
@media (max-width: 1280px){
  .site-hero{left:220px!important;top:42px!important;width:47vw!important;}
  .round-log-panel{left:218px!important;top:276px!important;width:210px!important;}
  .game-card{top:248px!important;width:500px!important;}
  #rankPanel{right:20px!important;width:210px!important;top:238px!important;}
  .info-view-panel{left:218px!important;right:20px!important;top:238px!important;bottom:112px!important;}
  .gen-toggle-wrap{left:218px!important;right:20px!important;bottom:10px!important;}
}


/* ===== style tag: inline ===== */
/* === switched panel v3 layout overrides === */
.site-hero::after{content:none!important;display:none!important;}
.top-nav{top:104px!important;left:18px!important;width:205px!important;}
.top-nav-links{gap:10px!important;}
.top-nav-links button,.top-nav-links a{
  height:48px!important;
  border-radius:24px!important;
  font-size:1rem!important;
  justify-content:flex-start!important;
  padding:0 18px!important;
}
.top-nav-links button::after,.top-nav-links a::after{display:none!important;}
#multiNavBtn{opacity:.55!important;pointer-events:none!important;}
.leaderboard-top-hidden{display:none!important;}
.auth-top{gap:10px!important;}
.site-hero{left:262px!important;top:40px!important;width:min(760px,46vw)!important;}
.site-hero h1{font-size:clamp(4rem,6vw,7rem)!important;line-height:.88!important;}
.site-hero p{margin-top:12px!important;}
.round-log-panel{left:262px!important;top:238px!important;width:238px!important;height:300px!important;}
#rankPanel{top:228px!important;right:34px!important;width:248px!important;}
.game-card{top:216px!important;width:590px!important;min-height:292px!important;padding-top:24px!important;}
.game-card::after{content:none!important;display:none!important;}
.hint{
  left:50%!important;
  transform:translateX(-50%)!important;
  bottom:126px!important;
  z-index:6!important;
  text-align:center!important;
}
.gen-toggle-wrap{left:262px!important;right:34px!important;bottom:28px!important;height:102px!important;align-items:center!important;}
.gen-btn{height:78px!important;}
.gen-btn img{max-height:46px!important;}
.inline-copy-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:.76rem;font-weight:900;color:#fff;}

.info-view-panel{left:262px!important;right:34px!important;top:214px!important;bottom:156px!important;}
.info-view-shell{padding:26px 26px 22px!important;}
.info-view-head{margin-bottom:14px!important;}
.info-view-body{height:calc(100% - 88px)!important;}
body.mode-info .game-card,
body.mode-info #rankPanel,
body.mode-info .round-log-panel,
body.mode-info .hint,
body.mode-info .gen-toggle-wrap{display:none!important;}

/* inline leaderboard in main content */
body.mode-inline-leaderboard .game-card,
body.mode-inline-leaderboard #rankPanel,
body.mode-inline-leaderboard .round-log-panel,
body.mode-inline-leaderboard .hint,
body.mode-inline-leaderboard .gen-toggle-wrap,
body.mode-inline-leaderboard .info-view-panel{display:none!important;}
body.mode-inline-leaderboard #leaderboardModal{
  display:block!important;
  position:fixed!important;
  left:262px!important;
  right:34px!important;
  top:214px!important;
  bottom:156px!important;
  z-index:9!important;
  background:transparent!important;
  backdrop-filter:none!important;
  pointer-events:none!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
  pointer-events:auto!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  border-radius:34px!important;
  padding:24px 26px 22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 30px 80px rgba(0,36,120,.30), inset 0 1px 0 rgba(255,255,255,.22)!important;
  backdrop-filter:blur(20px) saturate(1.25)!important;
  overflow:auto!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-close{display:none!important;}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal-head{margin-bottom:14px!important;}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-list{max-height:none!important;min-height:0!important;}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-mode-card,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-card,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-card,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-current-label,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-list{box-shadow:none!important;}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal::-webkit-scrollbar{width:10px;}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px;}

@media (max-width:1500px){
  .site-hero{left:244px!important;width:44vw!important;}
  .round-log-panel{left:244px!important;width:226px!important;top:238px!important;height:288px!important;}
  .game-card{width:550px!important;top:220px!important;}
  .info-view-panel{left:244px!important;right:24px!important;top:218px!important;bottom:146px!important;}
  body.mode-inline-leaderboard #leaderboardModal{left:244px!important;right:24px!important;top:218px!important;bottom:146px!important;}
  .gen-toggle-wrap{left:244px!important;right:24px!important;bottom:24px!important;height:98px!important;}
}
@media (max-width:1280px){
  .top-nav{width:192px!important;}
  .site-hero{left:226px!important;width:43vw!important;top:34px!important;}
  .site-hero h1{font-size:clamp(3.6rem,5.7vw,6rem)!important;}
  .round-log-panel{left:226px!important;width:210px!important;top:230px!important;height:276px!important;}
  .game-card{width:500px!important;top:212px!important;}
  #rankPanel{width:220px!important;right:20px!important;top:220px!important;}
  .info-view-panel{left:226px!important;right:20px!important;top:208px!important;bottom:140px!important;}
  body.mode-inline-leaderboard #leaderboardModal{left:226px!important;right:20px!important;top:208px!important;bottom:140px!important;}
  .gen-toggle-wrap{left:226px!important;right:20px!important;bottom:20px!important;height:94px!important;}
  .hint{bottom:118px!important;}
}


/* ===== style tag: inline ===== */
/* === switched panel v4 refinement === */

/* hero badge remove */
.site-hero::after{content:none!important;display:none!important;}

/* left menu: tighter, cleaner */
.top-nav{
  top:94px!important;
  left:18px!important;
  width:196px!important;
}
.top-nav::before{
  margin-bottom:10px!important;
  font-size:1.78rem!important;
}
.top-nav-links{
  gap:8px!important;
}
.top-nav-links button,
.top-nav-links a{
  height:43px!important;
  border-radius:999px!important;
  padding:0 16px!important;
  font-size:.92rem!important;
  letter-spacing:.02em!important;
  transition:
    transform .18s ease,
    background .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    opacity .18s ease!important;
}
.top-nav-links button:hover,
.top-nav-links a:hover{
  transform:translateX(5px)!important;
}
.top-nav-links button.active-menu{
  transform:translateX(7px)!important;
  background:rgba(255,255,255,.94)!important;
  color:#055ea8!important;
  box-shadow:
    0 12px 28px rgba(0,54,140,.20),
    inset 0 1px 0 rgba(255,255,255,.76)!important;
}

/* game area slightly higher and more balanced */
.site-hero{
  left:246px!important;
  top:34px!important;
  width:min(780px,48vw)!important;
}
.game-card{
  top:202px!important;
  width:585px!important;
  min-height:286px!important;
}
.round-log-panel{
  left:246px!important;
  top:226px!important;
  width:230px!important;
  height:292px!important;
}
#rankPanel{
  top:218px!important;
  width:238px!important;
  right:34px!important;
}

/* generation row: move up, title belongs to the row */
.gen-toggle-wrap{
  left:246px!important;
  right:34px!important;
  bottom:72px!important;
  height:96px!important;
  padding:10px 16px!important;
  gap:14px!important;
  overflow:visible!important;
}
.hint{
  left:calc(246px + (100vw - 246px - 34px) / 2)!important;
  right:auto!important;
  width:max-content!important;
  max-width:calc(100vw - 246px - 34px - 24px)!important;
  bottom:178px!important;
  transform:translateX(-50%)!important;
  z-index:7!important;
  margin:0!important;
  text-align:center!important;
  white-space:nowrap!important;
}

/* restore generation entrance animation */
@keyframes radicalGenInV4{
  0%{opacity:0;transform:translateY(22px) scale(.94);filter:blur(3px) brightness(.8);}
  65%{opacity:1;transform:translateY(-5px) scale(1.015);filter:blur(0) brightness(1.08);}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0) brightness(1);}
}
.gen-btn{
  height:74px!important;
  opacity:0!important;
  transform:translateY(22px) scale(.94)!important;
  animation:radicalGenInV4 .62s cubic-bezier(.2,.9,.2,1) forwards!important;
}
.gen-btn:nth-child(1){animation-delay:.04s!important;}
.gen-btn:nth-child(2){animation-delay:.11s!important;}
.gen-btn:nth-child(3){animation-delay:.18s!important;}
.gen-btn:nth-child(4){animation-delay:.25s!important;}
.gen-btn:nth-child(5){animation-delay:.32s!important;}
.gen-btn:nth-child(6){animation-delay:.39s!important;}
.gen-btn:hover{
  transform:translateY(-6px) scale(1.02)!important;
}
.gen-btn img{
  max-height:43px!important;
}
.gen-count{
  bottom:5px!important;
}

/* main information pages: narrower and taller, not giant full-width */
.info-view-panel{
  left:286px!important;
  right:auto!important;
  top:154px!important;
  bottom:64px!important;
  width:min(860px, calc(100vw - 286px - 300px))!important;
  min-width:640px!important;
}
.info-view-shell{
  border-radius:32px!important;
  padding:26px 28px 24px!important;
}
.info-view-body{
  height:calc(100% - 84px)!important;
}

/* inline leaderboard: taller and narrower */
body.mode-inline-leaderboard #leaderboardModal{
  left:286px!important;
  right:auto!important;
  top:142px!important;
  bottom:58px!important;
  width:min(780px, calc(100vw - 286px - 300px))!important;
  min-width:620px!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
  border-radius:32px!important;
  padding:24px 26px 22px!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-mode-card,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-card,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-card{
  margin-bottom:12px!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-list{
  display:grid!important;
  gap:10px!important;
}

/* page-switch animations */
@keyframes viewSlideInV4{
  from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(5px);}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
}
@keyframes gameSlideInV4{
  from{opacity:0;transform:translateX(-50%) translateY(16px) scale(.985);filter:blur(4px);}
  to{opacity:1;transform:translateX(-50%) translateY(0) scale(1);filter:blur(0);}
}
@keyframes sideFadeInV4{
  from{opacity:0;transform:translateY(14px);filter:blur(4px);}
  to{opacity:1;transform:translateY(0);filter:blur(0);}
}
.info-view-shell.view-animate{
  animation:viewSlideInV4 .32s cubic-bezier(.2,.9,.2,1) both!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal.lb-animate{
  animation:viewSlideInV4 .32s cubic-bezier(.2,.9,.2,1) both!important;
}
body.game-animate .game-card{
  animation:gameSlideInV4 .34s cubic-bezier(.2,.9,.2,1) both!important;
}
body.game-animate .round-log-panel,
body.game-animate #rankPanel{
  animation:sideFadeInV4 .34s cubic-bezier(.2,.9,.2,1) both!important;
}

/* desktop responsive */
@media (max-width:1500px){
  .top-nav{width:188px!important;}
  .site-hero{left:230px!important;width:45vw!important;}
  .game-card{top:202px!important;width:545px!important;}
  .round-log-panel{left:230px!important;width:214px!important;top:226px!important;height:280px!important;}
  #rankPanel{right:24px!important;width:218px!important;top:218px!important;}
  .gen-toggle-wrap{left:230px!important;right:24px!important;bottom:64px!important;height:92px!important;}
  .hint{
    left:calc(230px + (100vw - 230px - 24px) / 2)!important;
    bottom:166px!important;
    max-width:calc(100vw - 230px - 24px - 24px)!important;
  }
  .info-view-panel{
    left:260px!important;
    top:150px!important;
    bottom:58px!important;
    width:min(800px, calc(100vw - 260px - 260px))!important;
    min-width:600px!important;
  }
  body.mode-inline-leaderboard #leaderboardModal{
    left:260px!important;
    top:140px!important;
    bottom:54px!important;
    width:min(720px, calc(100vw - 260px - 260px))!important;
    min-width:580px!important;
  }
}
@media (max-width:1280px){
  .top-nav{width:178px!important;top:88px!important;}
  .top-nav-links button,.top-nav-links a{height:39px!important;font-size:.82rem!important;}
  .site-hero{left:214px!important;top:30px!important;width:42vw!important;}
  .site-hero h1{font-size:clamp(3.2rem,5.4vw,5.5rem)!important;}
  .game-card{width:490px!important;top:194px!important;}
  .round-log-panel{left:214px!important;width:198px!important;top:218px!important;height:262px!important;}
  #rankPanel{right:18px!important;width:198px!important;top:210px!important;}
  .gen-toggle-wrap{left:214px!important;right:18px!important;bottom:54px!important;height:88px!important;}
  .hint{
    left:calc(214px + (100vw - 214px - 18px) / 2)!important;
    bottom:151px!important;
    max-width:calc(100vw - 214px - 18px - 20px)!important;
    font-size:.78rem!important;
  }
  .info-view-panel{
    left:224px!important;
    top:142px!important;
    bottom:50px!important;
    width:min(700px, calc(100vw - 224px - 230px))!important;
    min-width:540px!important;
  }
  body.mode-inline-leaderboard #leaderboardModal{
    left:224px!important;
    top:136px!important;
    bottom:48px!important;
    width:min(660px, calc(100vw - 224px - 230px))!important;
    min-width:520px!important;
  }
}


/* ===== style tag: inline ===== */
/* === switched panel v5 emergency layout fix === */

/* keep left menu visible and not cut */
.top-nav{
  position:fixed!important;
  left:28px!important;
  top:96px!important;
  width:220px!important;
  z-index:1200!important;
  overflow:visible!important;
}
.top-nav::before{
  content:"MENU"!important;
  display:block!important;
  margin:0 0 10px 4px!important;
  font-size:1.8rem!important;
  line-height:1!important;
}
.top-nav-inner{
  display:block!important;
  width:100%!important;
  overflow:visible!important;
}
.top-nav-links{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  width:100%!important;
  overflow:visible!important;
}
.top-nav-links button,
.top-nav-links a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  padding:0 17px!important;
  border-radius:999px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  opacity:1!important;
  transform:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.top-nav-links button:hover,
.top-nav-links a:hover{
  transform:none!important;
  background:rgba(255,255,255,.92)!important;
  color:#055ea8!important;
}
.top-nav-links button.active-menu{
  transform:none!important;
  background:rgba(255,255,255,.94)!important;
  color:#055ea8!important;
  box-shadow:0 12px 28px rgba(0,54,140,.20), inset 0 1px 0 rgba(255,255,255,.76)!important;
}
.top-nav-links button::after,
.top-nav-links a::after{
  display:none!important;
  content:none!important;
}

/* push all main desktop content to the right so it won't overlap left menu */
.site-hero{
  left:292px!important;
  top:32px!important;
  width:min(760px,44vw)!important;
  z-index:3!important;
}
.site-hero h1{
  font-size:clamp(3.8rem,5.8vw,6.8rem)!important;
  line-height:.9!important;
}
.site-hero p{
  font-size:1rem!important;
}
.site-hero::after{content:none!important;display:none!important;}

.game-card{
  left:50%!important;
  top:208px!important;
  width:575px!important;
  min-height:286px!important;
  z-index:5!important;
}
.round-log-panel{
  left:292px!important;
  top:236px!important;
  width:230px!important;
  height:286px!important;
  z-index:4!important;
}
#rankPanel{
  right:34px!important;
  top:226px!important;
  width:238px!important;
  z-index:4!important;
}

/* bottom generation row: visible, higher, label tied to row */
.gen-toggle-wrap{
  left:292px!important;
  right:34px!important;
  bottom:58px!important;
  height:96px!important;
  padding:10px 16px!important;
  overflow:visible!important;
  z-index:6!important;
  display:grid!important;
}
.hint{
  position:fixed!important;
  left:calc(292px + (100vw - 292px - 34px) / 2)!important;
  right:auto!important;
  bottom:164px!important;
  transform:translateX(-50%)!important;
  z-index:7!important;
  width:max-content!important;
  max-width:calc(100vw - 292px - 34px - 28px)!important;
  margin:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  opacity:1!important;
}

/* generation buttons: never invisible after animation */
.gen-btn{
  height:74px!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
body.gen-intro .gen-btn{
  animation:genIntroSafeV5 .58s cubic-bezier(.2,.9,.2,1) both!important;
}
body.gen-intro .gen-btn:nth-child(1){animation-delay:.03s!important;}
body.gen-intro .gen-btn:nth-child(2){animation-delay:.09s!important;}
body.gen-intro .gen-btn:nth-child(3){animation-delay:.15s!important;}
body.gen-intro .gen-btn:nth-child(4){animation-delay:.21s!important;}
body.gen-intro .gen-btn:nth-child(5){animation-delay:.27s!important;}
body.gen-intro .gen-btn:nth-child(6){animation-delay:.33s!important;}
@keyframes genIntroSafeV5{
  0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(3px);}
  70%{opacity:1;transform:translateY(-4px) scale(1.01);filter:blur(0);}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
}
.gen-btn:hover{
  transform:translateY(-5px) scale(1.02)!important;
}
.gen-btn img{max-height:43px!important;}
.gen-count{bottom:5px!important;}

/* inline info pages: lower than title and not cut */
.info-view-panel{
  left:292px!important;
  right:auto!important;
  top:172px!important;
  bottom:58px!important;
  width:min(820px, calc(100vw - 292px - 300px))!important;
  min-width:620px!important;
  z-index:8!important;
}
.info-view-shell{
  border-radius:32px!important;
  padding:24px 26px 22px!important;
  animation:none!important;
}
.info-view-body{height:calc(100% - 82px)!important;}

/* inline leaderboard: lower, narrower, taller */
body.mode-inline-leaderboard #leaderboardModal{
  display:block!important;
  position:fixed!important;
  left:292px!important;
  right:auto!important;
  top:164px!important;
  bottom:54px!important;
  width:min(760px, calc(100vw - 292px - 300px))!important;
  min-width:600px!important;
  z-index:9!important;
  background:transparent!important;
  backdrop-filter:none!important;
  pointer-events:none!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
  pointer-events:auto!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  border-radius:32px!important;
  padding:24px 26px 22px!important;
  overflow:auto!important;
  animation:none!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-close{display:none!important;}

/* switch visibility */
body.mode-info .game-card,
body.mode-info #rankPanel,
body.mode-info .round-log-panel,
body.mode-info .hint,
body.mode-info .gen-toggle-wrap,
body.mode-info #leaderboardModal{
  display:none!important;
}
body.mode-inline-leaderboard .game-card,
body.mode-inline-leaderboard #rankPanel,
body.mode-inline-leaderboard .round-log-panel,
body.mode-inline-leaderboard .hint,
body.mode-inline-leaderboard .gen-toggle-wrap,
body.mode-inline-leaderboard .info-view-panel{
  display:none!important;
}

/* gentler, non-broken page transition */
@keyframes panelFadeSafeV5{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
.info-view-shell.view-animate-safe,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal.lb-animate-safe{
  animation:panelFadeSafeV5 .22s ease-out both!important;
}
body.game-animate-safe .game-card{
  animation:gameFadeSafeV5 .22s ease-out both!important;
}
body.game-animate-safe .round-log-panel,
body.game-animate-safe #rankPanel{
  animation:panelFadeSafeV5 .22s ease-out both!important;
}
@keyframes gameFadeSafeV5{
  from{opacity:0;transform:translateX(-50%) translateY(10px);}
  to{opacity:1;transform:translateX(-50%) translateY(0);}
}

/* responsive desktop */
@media (max-width:1500px){
  .top-nav{left:24px!important;width:204px!important;}
  .site-hero{left:260px!important;width:43vw!important;}
  .round-log-panel{left:260px!important;width:214px!important;top:232px!important;height:274px!important;}
  .game-card{top:206px!important;width:540px!important;}
  #rankPanel{right:24px!important;width:218px!important;top:224px!important;}
  .gen-toggle-wrap{left:260px!important;right:24px!important;bottom:54px!important;height:92px!important;}
  .hint{
    left:calc(260px + (100vw - 260px - 24px) / 2)!important;
    bottom:156px!important;
    max-width:calc(100vw - 260px - 24px - 24px)!important;
  }
  .info-view-panel{
    left:260px!important;
    top:164px!important;
    bottom:54px!important;
    width:min(780px, calc(100vw - 260px - 260px))!important;
    min-width:580px!important;
  }
  body.mode-inline-leaderboard #leaderboardModal{
    left:260px!important;
    top:158px!important;
    bottom:50px!important;
    width:min(720px, calc(100vw - 260px - 260px))!important;
    min-width:560px!important;
  }
}
@media (max-width:1280px){
  .top-nav{left:18px!important;width:188px!important;top:86px!important;}
  .top-nav-links button,.top-nav-links a{height:38px!important;font-size:.82rem!important;}
  .site-hero{left:226px!important;top:28px!important;width:42vw!important;}
  .site-hero h1{font-size:clamp(3.1rem,5.2vw,5.4rem)!important;}
  .round-log-panel{left:226px!important;width:196px!important;top:220px!important;height:260px!important;}
  .game-card{top:198px!important;width:490px!important;}
  #rankPanel{right:18px!important;width:198px!important;top:214px!important;}
  .gen-toggle-wrap{left:226px!important;right:18px!important;bottom:48px!important;height:88px!important;}
  .hint{
    left:calc(226px + (100vw - 226px - 18px) / 2)!important;
    bottom:145px!important;
    max-width:calc(100vw - 226px - 18px - 20px)!important;
    font-size:.78rem!important;
  }
  .info-view-panel{
    left:226px!important;
    top:150px!important;
    bottom:46px!important;
    width:min(660px, calc(100vw - 226px - 226px))!important;
    min-width:520px!important;
  }
  body.mode-inline-leaderboard #leaderboardModal{
    left:226px!important;
    top:146px!important;
    bottom:44px!important;
    width:min(640px, calc(100vw - 226px - 226px))!important;
    min-width:500px!important;
  }
}


/* ===== style tag: inline ===== */
/* === radical v6 layout realignment === */

/* restore background silhouettes like original */
#llSilhouetteLayer{
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:.18!important;
  mix-blend-mode:screen!important;
}
#llSilhouetteLayer img{
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:100%!important;
  height:auto!important;
  min-height:36vh!important;
  object-fit:cover!important;
  object-position:center bottom!important;
  filter:saturate(1.2) brightness(1.05)!important;
}

/* only show big title while playing */
body.mode-info .site-hero,
body.mode-inline-leaderboard .site-hero{
  opacity:0!important;
  transform:translateY(-12px)!important;
  pointer-events:none!important;
}
.site-hero{
  transition:opacity .24s ease, transform .24s ease!important;
  z-index:4!important;
}

/* left nav: keep active stretch */
.top-nav{
  left:28px!important;
  top:92px!important;
  width:218px!important;
  z-index:1200!important;
}
.top-nav-links button,
.top-nav-links a{
  transition:
    transform .18s ease,
    width .18s ease,
    background .18s ease,
    color .18s ease,
    box-shadow .18s ease!important;
}
.top-nav-links button.active-menu{
  width:calc(100% + 14px)!important;
  transform:translateX(8px)!important;
}

/* fix play/game layout: use a real center column between left/right panels */
.game-card{
  left:calc((292px + (100vw - 292px - 290px) / 2))!important;
  top:206px!important;
  width:590px!important;
  min-height:292px!important;
  transform:translateX(-50%)!important;
}
.round-log-panel{
  left:292px!important;
  top:236px!important;
  width:230px!important;
  height:286px!important;
}
#rankPanel{
  right:34px!important;
  top:226px!important;
  width:238px!important;
}

/* generation row: higher and label bound to the same row */
.gen-toggle-wrap{
  left:292px!important;
  right:34px!important;
  bottom:62px!important;
  height:96px!important;
  z-index:6!important;
  overflow:visible!important;
}
.hint{
  left:calc(292px + (100vw - 292px - 34px) / 2)!important;
  bottom:168px!important;
  transform:translateX(-50%)!important;
  max-width:calc(100vw - 292px - 34px - 28px)!important;
}

/* safer generation intro animation; visible by default */
.gen-btn{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
body.gen-intro .gen-btn{
  animation:genOriginalLikeV6 .55s ease-out both!important;
}
@keyframes genOriginalLikeV6{
  0%{opacity:0;transform:translateY(20px);}
  100%{opacity:1;transform:translateY(0);}
}
body.gen-intro .gen-btn:nth-child(1){animation-delay:0s!important;}
body.gen-intro .gen-btn:nth-child(2){animation-delay:.16s!important;}
body.gen-intro .gen-btn:nth-child(3){animation-delay:.32s!important;}
body.gen-intro .gen-btn:nth-child(4){animation-delay:.48s!important;}
body.gen-intro .gen-btn:nth-child(5){animation-delay:.64s!important;}
body.gen-intro .gen-btn:nth-child(6){animation-delay:.80s!important;}

/* page transition: simple fade, no broken movement */
.info-view-shell.view-animate-safe,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal.lb-animate-safe{
  animation:viewSoftFadeV6 .22s ease both!important;
}
body.game-animate-safe .game-card,
body.game-animate-safe .round-log-panel,
body.game-animate-safe #rankPanel{
  animation:viewSoftFadeV6 .22s ease both!important;
}
@keyframes viewSoftFadeV6{
  from{opacity:0;}
  to{opacity:1;}
}

/* main information pages: use right side, not wasted blank */
.info-view-panel{
  left:292px!important;
  right:34px!important;
  top:172px!important;
  bottom:58px!important;
  width:auto!important;
  min-width:0!important;
}
.info-view-shell{
  display:grid!important;
  grid-template-columns:270px minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:18px 24px!important;
  padding:26px!important;
}
.info-view-head{
  grid-column:1 / 2!important;
  grid-row:1 / 3!important;
  margin:0!important;
  padding:18px 16px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  align-self:start!important;
}
.info-view-head h2{
  font-size:2.1rem!important;
  line-height:1.15!important;
}
.info-view-body{
  grid-column:2 / 3!important;
  grid-row:1 / 3!important;
  height:100%!important;
  overflow:auto!important;
  padding-right:8px!important;
}

/* leaderboard: left filters, right ranking */
body.mode-inline-leaderboard #leaderboardModal{
  left:292px!important;
  right:34px!important;
  top:164px!important;
  bottom:54px!important;
  width:auto!important;
  min-width:0!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto auto minmax(0,1fr)!important;
  gap:14px 22px!important;
  overflow:hidden!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal-head{
  grid-column:1 / 2!important;
  grid-row:1 / 2!important;
  margin:0!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-mode-card{
  grid-column:1 / 2!important;
  grid-row:2 / 3!important;
  margin:0!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-card{
  grid-column:1 / 2!important;
  grid-row:3 / 4!important;
  margin:0!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-card{
  grid-column:1 / 2!important;
  grid-row:4 / 5!important;
  margin:0!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-current-label{
  grid-column:2 / 3!important;
  grid-row:1 / 2!important;
  margin:0!important;
  align-self:end!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-list{
  grid-column:2 / 3!important;
  grid-row:2 / 6!important;
  overflow:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding-right:8px!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-tabs,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-tabs{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}

/* collection: make detail list always visible and use horizontal space */
body.mode-info .info-view-body .collection-content{
  display:grid!important;
  grid-template-columns:minmax(340px, .92fr) minmax(420px, 1.08fr)!important;
  gap:16px!important;
  align-items:start!important;
}
body.mode-info .info-view-body .collection-grid,
body.mode-info .info-view-body .collection-detail-panel,
body.mode-info .info-view-body .collection-detail-list,
body.mode-info .info-view-body .collection-detail-body{
  display:block!important;
  max-height:none!important;
  height:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
body.mode-info .info-view-body .collection-detail-toggle,
body.mode-info .info-view-body .collection-detail-btn{
  display:none!important;
}
body.mode-info .info-view-body .collection-detail-panel{
  grid-column:2!important;
  margin:0!important;
}
body.mode-info .info-view-body .collection-grid{
  grid-column:1!important;
}

/* lower z-index fix so silhouettes don't cover content */
.top-nav,.site-hero,.game-card,.round-log-panel,#rankPanel,.hint,.gen-toggle-wrap,.info-view-panel,#leaderboardModal,.auth-top,#langSelect,.sponsor-float-btn{
  isolation:isolate;

}

/* responsive */
@media (max-width:1500px){
  .game-card{left:calc((260px + (100vw - 260px - 260px) / 2))!important;width:545px!important;}
  .round-log-panel{left:260px!important;}
  .gen-toggle-wrap{left:260px!important;right:24px!important;bottom:56px!important;}
  .hint{left:calc(260px + (100vw - 260px - 24px) / 2)!important;bottom:158px!important;}
  .info-view-panel{left:260px!important;right:24px!important;}
  body.mode-inline-leaderboard #leaderboardModal{left:260px!important;right:24px!important;}
}
@media (max-width:1280px){
  .game-card{left:calc((226px + (100vw - 226px - 226px) / 2))!important;width:500px!important;top:198px!important;}
  .round-log-panel{left:226px!important;}
  .gen-toggle-wrap{left:226px!important;right:18px!important;bottom:48px!important;}
  .hint{left:calc(226px + (100vw - 226px - 18px) / 2)!important;bottom:146px!important;}
  .info-view-panel{left:226px!important;right:18px!important;top:150px!important;}
  body.mode-inline-leaderboard #leaderboardModal{left:226px!important;right:18px!important;top:146px!important;}
  .info-view-shell{grid-template-columns:220px minmax(0,1fr)!important;}
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{grid-template-columns:245px minmax(0,1fr)!important;}
}


/* ===== style tag: gw-final-patch-20260504 ===== */
/* === ghostwriter final patch v3: refined silhouettes + divider + official intro === */
:root{
  --gw-main-left:292px;
  --gw-main-right:34px;
  --gw-gen-bottom:96px;
  --gw-hint-bottom:202px;
  --gw-divider-x:276px;
}
@media (max-width:1500px){
  :root{
    --gw-main-left:260px;
    --gw-main-right:24px;
    --gw-gen-bottom:86px;
    --gw-hint-bottom:186px;
    --gw-divider-x:258px;
  }
}
@media (max-width:1280px){
  :root{
    --gw-main-left:226px;
    --gw-main-right:18px;
    --gw-gen-bottom:76px;
    --gw-hint-bottom:170px;
    --gw-divider-x:236px;
  }
}

/* keep the hero visible on info / leaderboard pages, but hide the sub line there */
body.mode-info .site-hero,
body.mode-inline-leaderboard .site-hero{
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}
body.mode-info .site-hero p,
body.mode-inline-leaderboard .site-hero p{
  display:none!important;
}

/* center the main play card to the same visual center as the generation row */
.game-card{
  left:calc(var(--gw-main-left) + ((100vw - var(--gw-main-left) - var(--gw-main-right)) / 2))!important;
  transform:translateX(-50%)!important;
}

/* move the generation area clearly upward */
.gen-toggle-wrap{
  left:var(--gw-main-left)!important;
  right:var(--gw-main-right)!important;
  bottom:var(--gw-gen-bottom)!important;
}
.hint{
  left:calc(var(--gw-main-left) + ((100vw - var(--gw-main-left) - var(--gw-main-right)) / 2))!important;
  bottom:var(--gw-hint-bottom)!important;
}

/* leaderboard generation buttons: make all 6 fit into the card */
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-grid button{
  min-height:34px!important;
  padding:6px 8px!important;
  font-size:.88rem!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-card{
  overflow:visible!important;
}

/* background silhouettes: slightly reduced from previous revision */
#llSilhouetteLayer{
  opacity:.095!important;
}
#llSilhouetteLayer img{
  left:-7%!important;
  width:114%!important;
  min-height:46vh!important;
  object-fit:cover!important;
  object-position:center bottom!important;
}

/* remove the dark blocks at the lower corners */
.leader-strip-bg::before,
.leader-strip-bg::after{
  content:none!important;
  display:none!important;
}

/* elegant divider between menu and main page */
.top-nav::after{
  content:""!important;
  position:fixed!important;
  top:18px!important;
  bottom:18px!important;
  left:var(--gw-divider-x)!important;
  width:1px!important;
  background:linear-gradient(180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.30) 7%,
    rgba(180,236,255,.18) 45%,
    rgba(255,255,255,.26) 82%,
    rgba(255,255,255,0) 100%)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04),
    0 0 18px rgba(120,220,255,.18),
    18px 0 34px rgba(255,255,255,.04)!important;
  pointer-events:none!important;
  opacity:.9!important;
}

/* neutralize old odd load animations */
.site-hero,
.game-card,
.round-log-panel,
#rankPanel,
.hint,
.gen-toggle-wrap,
.gen-btn,
.auth-top,
#langSelect,
.sponsor-float-btn,
.top-nav,
.top-nav-links > *,
body.gen-intro .gen-btn,
body.game-animate .game-card,
body.game-animate .round-log-panel,
body.game-animate #rankPanel,
body.game-animate-safe .game-card,
body.game-animate-safe .round-log-panel,
body.game-animate-safe #rankPanel{
  animation:none!important;
}
body.game-animate .game-card,
body.game-animate-safe .game-card{
  transform:translateX(-50%)!important;
}

/* official-style entrance animation system */
body.gw-intro-active{
  overflow:hidden!important;
}

body.gw-intro-active #langSelect,
body.gw-intro-active .sponsor-float-btn,
body.gw-intro-active .auth-top,
body.gw-intro-active .top-nav,
body.gw-intro-active .site-hero,
body.gw-intro-active .round-log-panel,
body.gw-intro-active .game-card,
body.gw-intro-active #rankPanel,
body.gw-intro-active .hint,
body.gw-intro-active .gen-toggle-wrap,
body.gw-intro-active .gen-btn,
body.gw-intro-active .top-nav-links > *{
  will-change:transform,opacity,filter;
}

body.gw-intro-active #langSelect,
body.gw-intro-active .sponsor-float-btn,
body.gw-intro-active .auth-top{
  opacity:0!important;
  animation:gwFadeDown .62s cubic-bezier(.22,.9,.24,1) forwards!important;
}
body.gw-intro-active #langSelect{animation-delay:.05s!important;}
body.gw-intro-active .sponsor-float-btn{animation-delay:.11s!important;}
body.gw-intro-active .auth-top{animation-delay:.17s!important;}

body.gw-intro-active .top-nav{
  opacity:0!important;
  animation:gwSlideRight .72s cubic-bezier(.2,.9,.22,1) .10s forwards!important;
}
body.gw-intro-active .top-nav-links > *{
  opacity:0!important;
  animation:gwNavItem .48s cubic-bezier(.24,.88,.24,1) forwards!important;
}
body.gw-intro-active .top-nav-links > *:nth-child(1){animation-delay:.24s!important;}
body.gw-intro-active .top-nav-links > *:nth-child(2){animation-delay:.30s!important;}
body.gw-intro-active .top-nav-links > *:nth-child(3){animation-delay:.36s!important;}
body.gw-intro-active .top-nav-links > *:nth-child(4){animation-delay:.42s!important;}
body.gw-intro-active .top-nav-links > *:nth-child(5){animation-delay:.48s!important;}
body.gw-intro-active .top-nav-links > *:nth-child(6){animation-delay:.54s!important;}
body.gw-intro-active .top-nav-links > *:nth-child(7){animation-delay:.60s!important;}
body.gw-intro-active .top-nav-links > *:nth-child(8){animation-delay:.66s!important;}

body.gw-intro-active .site-hero{
  opacity:0!important;
  animation:gwHeroIn .82s cubic-bezier(.18,.88,.2,1) .18s forwards!important;
}
body.gw-intro-active .round-log-panel{
  opacity:0!important;
  animation:gwSideInLeft .70s cubic-bezier(.2,.9,.22,1) .38s forwards!important;
}
body.gw-intro-active .game-card{
  opacity:0!important;
  transform:translateX(-50%) translateY(18px) scale(.972)!important;
  animation:gwCardIn .74s cubic-bezier(.18,.9,.2,1) .30s forwards!important;
}
body.gw-intro-active #rankPanel{
  opacity:0!important;
  animation:gwSideInRight .70s cubic-bezier(.2,.9,.22,1) .44s forwards!important;
}
body.gw-intro-active .hint{
  opacity:0!important;
  animation:gwFadeUp .56s cubic-bezier(.22,.88,.24,1) .62s forwards!important;
}
body.gw-intro-active .gen-toggle-wrap{
  opacity:0!important;
  animation:gwGenWrapIn .70s cubic-bezier(.18,.9,.2,1) .68s forwards!important;
}
body.gw-intro-active .gen-btn{
  opacity:0!important;
  transform:translateY(18px) scale(.96)!important;
  animation:gwGenBtnIn .54s cubic-bezier(.22,.88,.24,1) forwards!important;
}
body.gw-intro-active .gen-btn:nth-child(1){animation-delay:.82s!important;}
body.gw-intro-active .gen-btn:nth-child(2){animation-delay:.90s!important;}
body.gw-intro-active .gen-btn:nth-child(3){animation-delay:.98s!important;}
body.gw-intro-active .gen-btn:nth-child(4){animation-delay:1.06s!important;}
body.gw-intro-active .gen-btn:nth-child(5){animation-delay:1.14s!important;}
body.gw-intro-active .gen-btn:nth-child(6){animation-delay:1.22s!important;}

@keyframes gwFadeDown{
  0%{opacity:0;transform:translateY(-12px);filter:blur(5px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}
@keyframes gwSlideRight{
  0%{opacity:0;transform:translateX(-28px);filter:blur(6px);}
  100%{opacity:1;transform:translateX(0);filter:blur(0);}
}
@keyframes gwNavItem{
  0%{opacity:0;transform:translateX(-18px);filter:blur(5px);}
  100%{opacity:1;transform:translateX(0);filter:blur(0);}
}
@keyframes gwHeroIn{
  0%{opacity:0;transform:translateY(18px);filter:blur(7px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}
@keyframes gwSideInLeft{
  0%{opacity:0;transform:translateX(-18px) translateY(8px);filter:blur(6px);}
  100%{opacity:1;transform:translateX(0) translateY(0);filter:blur(0);}
}
@keyframes gwSideInRight{
  0%{opacity:0;transform:translateX(18px) translateY(8px);filter:blur(6px);}
  100%{opacity:1;transform:translateX(0) translateY(0);filter:blur(0);}
}
@keyframes gwCardIn{
  0%{opacity:0;transform:translateX(-50%) translateY(18px) scale(.972);filter:blur(7px);}
  70%{opacity:1;transform:translateX(-50%) translateY(-2px) scale(1.01);filter:blur(0);}
  100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1);filter:blur(0);}
}
@keyframes gwFadeUp{
  0%{opacity:0;transform:translateY(12px);filter:blur(5px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}
@keyframes gwGenWrapIn{
  0%{opacity:0;transform:translateY(20px);filter:blur(6px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}
@keyframes gwGenBtnIn{
  0%{opacity:0;transform:translateY(18px) scale(.96);filter:blur(5px);}
  65%{opacity:1;transform:translateY(-3px) scale(1.01);filter:blur(0);}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
}

/* keep animations gentler on smaller screens */
@media (max-width:900px){
  body.gw-intro-active .top-nav,
  body.gw-intro-active .site-hero,
  body.gw-intro-active .round-log-panel,
  body.gw-intro-active .game-card,
  body.gw-intro-active #rankPanel,
  body.gw-intro-active .hint,
  body.gw-intro-active .gen-toggle-wrap,
  body.gw-intro-active .gen-btn,
  body.gw-intro-active .top-nav-links > *{
    animation-duration:.48s!important;
  }
}


/* ===== style tag: gw-current-clean-intro-v21 ===== */
/* clean current official-like entrance animation; no layout changes */
html.gw-current-prehide body{overflow:hidden!important;}

/* suppress older class-driven intro hooks from earlier revisions */
body.gw-intro-active #langSelect,
body.gw-intro-active .sponsor-float-btn,
body.gw-intro-active .auth-top,
body.gw-intro-active .top-nav,
body.gw-intro-active .top-nav-links > *,
body.gw-intro-active .site-hero,
body.gw-intro-active .round-log-panel,
body.gw-intro-active .game-card,
body.gw-intro-active #rankPanel,
body.gw-intro-active .hint,
body.gw-intro-active .gen-toggle-wrap,
body.gw-intro-active .gen-btn{
  animation:none!important;
}

#langSelect,
.sponsor-float-btn,
.auth-top,
.top-nav,
.top-nav-links > *,
.site-hero,
.round-log-panel,
.game-card,
#rankPanel,
.hint,
.gen-toggle-wrap,
.gen-btn{
  will-change:opacity, transform, filter;
  transition-property:opacity, transform, filter!important;
  transition-timing-function:cubic-bezier(.22,.78,.2,1)!important;
  transition-duration:.72s!important;
}
.top-nav-links > *, .gen-btn{transition-duration:.56s!important;}
.site-hero,.game-card{transition-duration:.82s!important;}

html.gw-current-prehide #langSelect,
html.gw-current-prehide .sponsor-float-btn,
html.gw-current-prehide .auth-top,
html.gw-current-prehide .top-nav,
html.gw-current-prehide .top-nav-links > *,
html.gw-current-prehide .site-hero,
html.gw-current-prehide .round-log-panel,
html.gw-current-prehide .game-card,
html.gw-current-prehide #rankPanel,
html.gw-current-prehide .hint,
html.gw-current-prehide .gen-toggle-wrap,
html.gw-current-prehide .gen-btn{
  opacity:0!important;
  visibility:visible!important;
  filter:blur(5px)!important;
}
html.gw-current-prehide #langSelect,
html.gw-current-prehide .sponsor-float-btn,
html.gw-current-prehide .auth-top{transform:translateY(-12px)!important;}
html.gw-current-prehide .top-nav{transform:translateX(-22px)!important;}
html.gw-current-prehide .top-nav-links > *{transform:translateX(-16px)!important;}
html.gw-current-prehide .site-hero{transform:translateY(18px)!important;}
html.gw-current-prehide .round-log-panel{transform:translateY(12px)!important;}
html.gw-current-prehide .game-card{transform:translateX(-50%) translateY(18px) scale(.985)!important;}
html.gw-current-prehide #rankPanel{transform:translateY(12px)!important;}
html.gw-current-prehide .hint{transform:translateY(10px)!important;}
html.gw-current-prehide .gen-toggle-wrap{transform:translateY(16px)!important;}
html.gw-current-prehide .gen-btn{transform:translateY(12px) scale(.98)!important;}

html.gw-current-run #langSelect{transition-delay:.04s!important;}
html.gw-current-run .sponsor-float-btn{transition-delay:.08s!important;}
html.gw-current-run .auth-top{transition-delay:.12s!important;}
html.gw-current-run .top-nav{transition-delay:.12s!important;}
html.gw-current-run .top-nav-links > *:nth-child(1){transition-delay:.24s!important;}
html.gw-current-run .top-nav-links > *:nth-child(2){transition-delay:.30s!important;}
html.gw-current-run .top-nav-links > *:nth-child(3){transition-delay:.36s!important;}
html.gw-current-run .top-nav-links > *:nth-child(4){transition-delay:.42s!important;}
html.gw-current-run .top-nav-links > *:nth-child(5){transition-delay:.48s!important;}
html.gw-current-run .top-nav-links > *:nth-child(6){transition-delay:.54s!important;}
html.gw-current-run .top-nav-links > *:nth-child(7){transition-delay:.60s!important;}
html.gw-current-run .top-nav-links > *:nth-child(8){transition-delay:.66s!important;}
html.gw-current-run .site-hero{transition-delay:.22s!important;}
html.gw-current-run .game-card{transition-delay:.34s!important;}
html.gw-current-run .round-log-panel{transition-delay:.42s!important;}
html.gw-current-run #rankPanel{transition-delay:.48s!important;}
html.gw-current-run .hint{transition-delay:.70s!important;}
html.gw-current-run .gen-toggle-wrap{transition-delay:.78s!important;}
html.gw-current-run .gen-btn:nth-child(1){transition-delay:.88s!important;}
html.gw-current-run .gen-btn:nth-child(2){transition-delay:.95s!important;}
html.gw-current-run .gen-btn:nth-child(3){transition-delay:1.02s!important;}
html.gw-current-run .gen-btn:nth-child(4){transition-delay:1.09s!important;}
html.gw-current-run .gen-btn:nth-child(5){transition-delay:1.16s!important;}
html.gw-current-run .gen-btn:nth-child(6){transition-delay:1.23s!important;}

html.gw-current-done #langSelect,
html.gw-current-done .sponsor-float-btn,
html.gw-current-done .auth-top,
html.gw-current-done .top-nav,
html.gw-current-done .top-nav-links > *,
html.gw-current-done .site-hero,
html.gw-current-done .round-log-panel,
html.gw-current-done .game-card,
html.gw-current-done #rankPanel,
html.gw-current-done .hint,
html.gw-current-done .gen-toggle-wrap,
html.gw-current-done .gen-btn{
  will-change:auto;
}


/* ===== style tag: gw-round-log-size-shift-v22 ===== */
/* v22: only adjust the current-round correct log panel */
@media (min-width:1321px){
  .round-log-panel{
    left:calc(max(276px, calc(50% - 620px)))!important;
    top:190px!important;
    height:365px!important;
    min-height:365px!important;
    max-height:365px!important;
  }
  .round-log-list,
  #roundLogList{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:8px!important;
  }
}

@media (min-width:1321px) and (max-height:820px){
  .round-log-panel{
    top:170px!important;
    height:340px!important;
    min-height:340px!important;
    max-height:340px!important;
  }
}

@media (min-width:1321px) and (max-width:1500px){
  .round-log-panel{
    left:260px!important;
    height:350px!important;
    min-height:350px!important;
    max-height:350px!important;
  }
}


/* ===== style tag: gw-round-log-down-right-v23 ===== */
/* v23: move current-round log down/right after taller adjustment */
@media (min-width:1321px){
  .round-log-panel{
    left:calc(max(296px, calc(50% - 600px)))!important;
    top:222px!important;
  }
}

@media (min-width:1321px) and (max-height:820px){
  .round-log-panel{
    left:calc(max(292px, calc(50% - 604px)))!important;
    top:204px!important;
  }
}

@media (min-width:1321px) and (max-width:1500px){
  .round-log-panel{
    left:282px!important;
    top:218px!important;
  }
}


/* ===== style tag: gw-round-log-further-right-v25 ===== */
/* v25: push current-round log further right on desktop/tablet widths; keep mobile unchanged */
@media (min-width:1321px){
  .round-log-panel{
    left:clamp(340px, 22vw, 430px)!important;
    top:222px!important;
  }
}

@media (min-width:1321px) and (max-height:820px){
  .round-log-panel{
    left:clamp(336px, 21.5vw, 420px)!important;
    top:204px!important;
  }
}

@media (min-width:1321px) and (max-width:1500px){
  .round-log-panel{
    left:330px!important;
    top:218px!important;
  }
}

@media (min-width:1501px) and (max-width:1650px){
  .round-log-panel{
    left:360px!important;
  }
}

@media (min-width:1651px){
  .round-log-panel{
    left:390px!important;
  }
}


/* ===== style tag: gw-mobile-final-fix-20260504 ===== */
/* final mobile layout reset: stop desktop absolute/fixed layout leaking into phones */
@media (max-width:980px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    min-width:0!important;
    padding:132px 12px 34px!important;
  }
  body::after{display:none!important;content:none!important;}
  #llSilhouetteLayer,.leader-strip-bg{max-width:100vw!important;overflow:hidden!important;}

  #langSelect{
    position:fixed!important;
    top:88px!important;
    left:14px!important;
    right:auto!important;
    width:96px!important;
    height:44px!important;
    z-index:1400!important;
    font-size:.9rem!important;
    border-radius:16px!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    top:142px!important;
    left:14px!important;
    right:auto!important;
    width:116px!important;
    height:44px!important;
    z-index:1400!important;
    border-radius:16px!important;
    font-size:.9rem!important;
  }
  .auth-top{
    position:fixed!important;
    top:88px!important;
    right:14px!important;
    left:auto!important;
    transform:none!important;
    z-index:1400!important;
  }
  .auth-top button,.auth-top .auth-open-btn,#authOpenBtn{
    min-width:94px!important;
    height:44px!important;
    border-radius:18px!important;
    font-size:.92rem!important;
  }
  .top-nav{
    position:fixed!important;
    top:88px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:116px!important;
    max-width:116px!important;
    margin:0!important;
    z-index:1400!important;
  }
  .top-nav-inner{
    width:100%!important;
    min-height:44px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .top-nav-links{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    gap:0!important;
  }
  .top-nav-links button:not(.mobile-menu-toggle):not(.is-mobile-menu-button):not(#mobileMenuBtn){
    display:none!important;
  }
  .top-nav-links button:first-child{
    display:inline-flex!important;
    width:116px!important;
    height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 14px!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(222,246,255,.90))!important;
    color:#166da9!important;
    font-size:.98rem!important;
    font-weight:900!important;
    box-shadow:0 8px 20px rgba(0,58,125,.18), inset 0 1px 0 rgba(255,255,255,.82)!important;
  }
  .top-nav-links button:first-child::before{content:'選單';}
  .top-nav-links button:first-child{font-size:0!important;}
  .top-nav-links button:first-child::after{
    content:'▼'!important;
    display:inline-block!important;
    margin-left:6px!important;
    font-size:.58rem!important;
    opacity:.85!important;
  }
  .top-nav-links button:first-child::before{font-size:.98rem!important;}

  .site-hero{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    min-width:0!important;
    margin:28px auto 24px!important;
    padding:0!important;
    text-align:center!important;
    z-index:2!important;
  }
  .site-kicker{
    max-width:88vw!important;
    margin:0 auto 12px!important;
    justify-content:center!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
  .site-hero h1{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(2.75rem,13vw,4.4rem)!important;
    line-height:.96!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow:visible!important;
  }
  .site-hero p{
    width:100%!important;
    max-width:100%!important;
    margin:12px auto 0!important;
    font-size:.95rem!important;
    line-height:1.55!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  .game-card{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto 24px!important;
    padding:24px 14px 22px!important;
    z-index:2!important;
  }
  #questionHeader{font-size:2.2rem!important;margin-bottom:16px!important;}
  .clip-btn{height:48px!important;margin-bottom:14px!important;}
  #info{justify-content:center!important;gap:8px!important;}
  #volumeWrapper{width:min(340px,88vw)!important;}
  #volumeSlider{width:min(230px,58vw)!important;}
  .game-card .answer-row,
  .answer-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:0 auto 14px!important;
    padding:0!important;
  }
  .game-card .answer-row .select2-container,
  .answer-row .select2-container,
  #groupFilter,#songSelect{width:100%!important;max-width:100%!important;min-width:0!important;}

  .round-log-panel{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    min-width:0!important;
    height:190px!important;
    margin:0 auto 22px!important;
  }
  #rankPanel{display:none!important;}
  .hint{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(430px,92vw)!important;
    max-width:92vw!important;
    min-width:0!important;
    margin:0 auto 12px!important;
    white-space:normal!important;
    line-height:1.45!important;
    text-align:center!important;
  }
  .gen-toggle-wrap{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(440px,94vw)!important;
    max-width:94vw!important;
    min-width:0!important;
    height:auto!important;
    margin:0 auto!important;
    padding:14px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    overflow:visible!important;
  }
  .gen-btn{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:134px!important;
    min-height:134px!important;
    padding:12px 10px 38px!important;
    border-radius:24px!important;
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
  .gen-btn img{
    max-width:158px!important;
    max-height:72px!important;
    margin:0 auto 8px!important;
    object-fit:contain!important;
  }
  .gen-btn[data-gen="蓮ノ空"] img{max-width:162px!important;max-height:82px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-width:158px!important;max-height:62px!important;}
  .gen-count{bottom:12px!important;font-size:.86rem!important;padding:3px 10px!important;}

  .info-view-panel,#leaderboardModal .leaderboard-modal{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    min-width:0!important;
    margin:0 auto 24px!important;
  }
}

@media (max-width:420px){
  .gen-btn{height:126px!important;min-height:126px!important;padding-bottom:36px!important;}
  .gen-btn img{max-width:142px!important;max-height:66px!important;}
  .gen-btn[data-gen="蓮ノ空"] img{max-width:148px!important;max-height:76px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-width:142px!important;max-height:56px!important;}
}

/* desktop: make generation logo buttons taller so logo/count do not collide */
@media (min-width:981px){
  .hint{bottom:166px!important;}
  .gen-toggle-wrap{height:132px!important;bottom:24px!important;align-items:center!important;}
  .gen-btn{height:104px!important;min-height:104px!important;padding:10px 12px 34px!important;}
  .gen-btn img{max-height:58px!important;margin-bottom:6px!important;}
  .gen-btn[data-gen="蓮ノ空"] img{max-height:68px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-height:50px!important;}
  .gen-count{bottom:10px!important;font-size:.82rem!important;}
}


/* ===== style tag: gw-desktop-generation-up-v50 ===== */
/* desktop only: move generation hint + logo selector boldly upward */
@media (min-width:981px){
  .hint{
    bottom:222px!important;
  }
  .gen-toggle-wrap{
    bottom:78px!important;
    height:132px!important;
    align-items:center!important;
  }
}
@media (min-width:981px) and (max-height:820px){
  .hint{
    bottom:202px!important;
  }
  .gen-toggle-wrap{
    bottom:62px!important;
    height:126px!important;
  }
}


/* ===== style tag: gw-mobile-menu-restore-v51 ===== */
/* v51: restore old mobile-style top menu and keep desktop untouched */
@media (max-width:980px){
  html, body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body{
    min-width:0!important;
    padding:118px 12px 34px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  body::after{display:none!important;content:none!important;}

  /* top controls: language / menu / login */
  #langSelect{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    left:14px!important;
    right:auto!important;
    width:104px!important;
    min-width:104px!important;
    height:42px!important;
    min-height:42px!important;
    z-index:1600!important;
    border-radius:16px!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 62px)!important;
    left:14px!important;
    right:auto!important;
    width:124px!important;
    min-width:124px!important;
    height:42px!important;
    min-height:42px!important;
    z-index:1500!important;
    border-radius:16px!important;
  }
  .auth-top{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    right:14px!important;
    left:auto!important;
    transform:none!important;
    z-index:1600!important;
  }
  .auth-login-btn,
  .auth-mini-btn,
  #authTopBtn{
    height:42px!important;
    min-height:42px!important;
    min-width:86px!important;
    border-radius:18px!important;
    font-size:.92rem!important;
  }
  .auth-mini-btn.leaderboard-top-hidden,
  #leaderboardNavBtn.leaderboard-top-hidden{
    display:none!important;
  }

  .mobile-menu-toggle{
    display:inline-flex!important;
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:118px!important;
    min-width:118px!important;
    height:42px!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:1700!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(224,247,255,.91))!important;
    color:#166da9!important;
    border:1px solid rgba(255,255,255,.78)!important;
    box-shadow:0 10px 24px rgba(0,64,130,.18), inset 0 1px 0 rgba(255,255,255,.82)!important;
    font-size:.96rem!important;
    font-weight:950!important;
    padding:0 14px!important;
  }
  .mobile-menu-toggle .mobile-menu-arrow{font-size:.66em!important;margin-left:5px!important;}

  /* old mobile dropdown menu: hidden until 選單 opens */
  .top-nav{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 60px)!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:min(360px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    z-index:1550!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    max-height:0!important;
    overflow:hidden!important;
    transition:opacity .18s ease, max-height .22s ease, visibility .18s ease!important;
  }
  .top-nav.mobile-open,
  .top-nav.is-open,
  body.mobile-menu-open .top-nav{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    max-height:360px!important;
  }
  .top-nav::before{display:none!important;content:none!important;}
  .top-nav-inner{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:12px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(235,249,255,.97),rgba(208,240,255,.93))!important;
    border:1px solid rgba(255,255,255,.86)!important;
    box-shadow:0 18px 42px rgba(0,58,126,.25), inset 0 1px 0 rgba(255,255,255,.76)!important;
    backdrop-filter:blur(16px) saturate(1.12)!important;
  }
  .top-nav-links{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.62)!important;
    color:#126aa8!important;
    border:1px solid rgba(36,132,198,.18)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.62)!important;
    font-size:.76rem!important;
    font-weight:900!important;
    text-align:center!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .top-nav-links a::before,
  .top-nav-links button::before,
  .top-nav-links a::after,
  .top-nav-links button::after{
    content:none!important;
    display:none!important;
  }
  #multiNavBtn{opacity:.55!important;pointer-events:none!important;}

  /* reset hero/game to normal phone flow */
  .site-hero{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    margin:26px auto 24px!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .site-kicker{
    display:inline-flex!important;
    max-width:88vw!important;
    white-space:normal!important;
    line-height:1.25!important;
    margin:0 auto 12px!important;
  }
  .site-hero h1{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(2rem,8vw,3rem)!important;
    line-height:.96!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .site-hero p{
    width:100%!important;
    max-width:100%!important;
    font-size:.95rem!important;
    line-height:1.55!important;
    white-space:normal!important;
    overflow:visible!important;
    margin:12px auto 0!important;
  }

  .game-card{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    min-width:0!important;
    height:auto!important;
    margin:0 auto 24px!important;
    padding:24px 14px 22px!important;
  }
  .game-card .answer-row,
  .answer-row{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:0!important;
    margin:0 auto 14px!important;
  }
  .hint{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    margin:0 auto 14px!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .gen-toggle-wrap{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto 24px!important;
    padding:0 4px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    overflow:visible!important;
  }
  .gen-btn{
    width:100%!important;
    height:142px!important;
    min-height:142px!important;
    padding:12px 10px 42px!important;
    border-radius:24px!important;
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
  .gen-btn img{max-width:164px!important;max-height:76px!important;margin:0 auto 8px!important;object-fit:contain!important;}
  .gen-btn[data-gen="蓮ノ空"] img{max-width:166px!important;max-height:86px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-width:164px!important;max-height:66px!important;}
  .gen-count{bottom:13px!important;font-size:.88rem!important;padding:3px 10px!important;}
}
@media (max-width:380px){
  #langSelect{left:10px!important;width:92px!important;min-width:92px!important;}
  .sponsor-float-btn{left:10px!important;width:104px!important;min-width:104px!important;font-size:.78rem!important;}
  .auth-top{right:10px!important;}
  .auth-login-btn,#authTopBtn{min-width:72px!important;}
  .mobile-menu-toggle{width:100px!important;min-width:100px!important;}
  .top-nav{width:min(340px,calc(100vw - 20px))!important;}
  .top-nav-links a,.top-nav-links button{font-size:.70rem!important;}
  .gen-btn{height:132px!important;min-height:132px!important;}
  .gen-btn img{max-width:146px!important;max-height:68px!important;}
}


/* ===== style tag: gw-v26-log-share-fix ===== */
/* v26: move current-round log further right on desktop; mobile unchanged */
@media (min-width:1321px){
  .round-log-panel{
    left:clamp(390px, 25.5vw, 470px)!important;
  }
}
@media (min-width:1321px) and (max-height:820px){
  .round-log-panel{
    left:clamp(382px, 25vw, 458px)!important;
  }
}
@media (min-width:1321px) and (max-width:1500px){
  .round-log-panel{left:350px!important;}
}
@media (min-width:1501px) and (max-width:1650px){
  .round-log-panel{left:405px!important;}
}
@media (min-width:1651px){
  .round-log-panel{left:455px!important;}
}

.site-share-backdrop{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(5,20,48,.55);
  backdrop-filter:blur(10px);
}
.site-share-backdrop.open{display:flex;}
.site-share-modal{
  width:min(430px,92vw);
  border-radius:22px;
  padding:22px;
  color:#fff;
  background:linear-gradient(180deg,rgba(72,185,255,.96),rgba(22,125,215,.96));
  border:1px solid rgba(255,255,255,.40);
  box-shadow:0 26px 70px rgba(0,32,90,.36), inset 0 1px 0 rgba(255,255,255,.22);
}
.site-share-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.site-share-head h3{font-size:1.08rem;font-weight:900;letter-spacing:.03em;}
.site-share-close{
  width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.16);color:#fff;cursor:pointer;font-weight:900;
}
.site-share-url{
  width:100%;
  border:1px solid rgba(255,255,255,.36);
  background:rgba(255,255,255,.92);
  color:#1268ad;
  border-radius:13px;
  padding:12px;
  font-weight:800;
  font-family:inherit;
  margin:10px 0 14px;
}
.site-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.site-share-actions button{
  border:1px solid rgba(255,255,255,.30);
  border-radius:12px;
  padding:11px 12px;
  color:#fff;
  cursor:pointer;
  font-weight:900;
  font-family:inherit;
}
.site-share-native{background:linear-gradient(180deg,rgba(39,98,190,.96),rgba(31,72,146,.96));}
.site-share-copy{background:linear-gradient(180deg,rgba(62,207,128,.96),rgba(32,157,89,.96));}
.site-share-toast{min-height:20px;margin-top:10px;text-align:center;font-size:.86rem;color:#d7fff0;opacity:0;transition:opacity .15s ease;}
.site-share-toast.show{opacity:1;}
@media (max-width:600px){.site-share-actions{grid-template-columns:1fr;}}


/* ===== style tag: gw-v27-log-taller-only ===== */
/* v27: extend current-round correct log downward; keep mobile unchanged */
@media (min-width:1321px){
  .round-log-panel{
    height:430px!important;
    min-height:430px!important;
    max-height:430px!important;
  }
  .round-log-list,
  #roundLogList{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:8px!important;
  }
}
@media (min-width:1321px) and (max-height:820px){
  .round-log-panel{
    height:390px!important;
    min-height:390px!important;
    max-height:390px!important;
  }
}
@media (min-width:1321px) and (max-width:1500px){
  .round-log-panel{
    height:410px!important;
    min-height:410px!important;
    max-height:410px!important;
  }
}


/* ===== style tag: gw-final-collection-leaderboard-fix-20260504 ===== */
/* 收錄範圍：左邊世代卡、右邊詳細內容，逐列對齊 */
body.mode-info #infoViewBody .gw-collection-fix{
  width:100%;
  display:grid!important;
  grid-template-columns:minmax(260px,360px) minmax(520px,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
body.mode-info #infoViewBody .gw-collection-left,
body.mode-info #infoViewBody .gw-collection-right{
  min-width:0!important;
}
body.mode-info #infoViewBody .gw-collection-right{
  padding-top:65px!important; /* nudge detail column slightly lower for tighter row alignment */
}
body.mode-info #infoViewBody .gw-collection-fix .collection-total{
  margin:0 0 10px!important;
  min-height:48px!important;
}
body.mode-info #infoViewBody .gw-collection-fix .collection-grid,
body.mode-info #infoViewBody .gw-collection-fix .collection-detail-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}
body.mode-info #infoViewBody .gw-collection-fix .collection-card,
body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
  min-height:72px!important;
  height:72px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:13px!important;
}
body.mode-info #infoViewBody .gw-collection-fix .collection-card{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:4px 10px!important;
  padding:11px 14px!important;
}
body.mode-info #infoViewBody .gw-collection-fix .collection-card span{grid-column:1;grid-row:1;font-size:.98rem!important;}
body.mode-info #infoViewBody .gw-collection-fix .collection-card b{grid-column:2;grid-row:1;font-size:.92rem!important;justify-self:end;}
body.mode-info #infoViewBody .gw-collection-fix .collection-card-status{grid-column:1 / -1;grid-row:2;width:max-content!important;}
body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:11px 16px!important;
}
body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row strong{
  font-size:.96rem!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row span{
  font-size:.88rem!important;
  line-height:1.45!important;
  word-break:break-word!important;
}
body.mode-info #infoViewBody .gw-collection-fix .collection-detail-toggle,
body.mode-info #infoViewBody .gw-collection-fix .collection-detail-panel{
  display:none!important;
}
@media (max-width:1100px){
  body.mode-info #infoViewBody .gw-collection-fix{
    grid-template-columns:1fr!important;
  }
  body.mode-info #infoViewBody .gw-collection-right{padding-top:0!important;}
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row,
  body.mode-info #infoViewBody .gw-collection-fix .collection-card{
    height:auto!important;
    min-height:68px!important;
  }
}


/* ===== style tag: mobile menu final overrides retained ===== */
/* ===== style tag: gw-v56-mobile-final-overrides ===== */
@media (max-width:980px){
  /* 手機 LOGO 卡片：再放大一點，但不要貼邊 */
  .gen-btn{
    height:144px!important;
    min-height:144px!important;
    padding:14px 14px 42px!important;
    overflow:hidden!important;
  }
  .gen-btn img,
  .gen-btn[data-gen="μ's"] img,
  .gen-btn[data-gen="Aqours"] img,
  .gen-btn[data-gen="虹ヶ咲"] img,
  .gen-btn[data-gen="Liella!"] img,
  .gen-btn[data-gen="蓮ノ空"] img,
  .gen-btn[data-gen="いきづらい部!"] img{
    display:block!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:auto!important;
    transform:none!important;
  }
  .gen-count{bottom:15px!important;}

  /* 手機選單和彈窗層級：分享/收錄彈窗一定蓋過選單 */
  #topNav.mobile-open,
  body.mobile-menu-open #topNav{z-index:12000!important;}
  .share-modal-backdrop.open,
  .collection-modal-backdrop.open,
  .rule-modal-backdrop.open,
  .notice-modal-backdrop.open,
  .update-modal-backdrop.open,
  .leaderboard-modal-backdrop.open,
  .achievement-modal-backdrop.open{z-index:19000!important;}

  /* 多人模式：整顆按鈕暗掉 */
  #topNav #multiNavBtn{
    opacity:.42!important;
    filter:grayscale(1) saturate(.2)!important;
    background:linear-gradient(180deg,rgba(190,203,210,.72),rgba(150,164,172,.66))!important;
    border-color:rgba(70,90,105,.28)!important;
    color:rgba(40,70,86,.62)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.38)!important;
    cursor:not-allowed!important;
  }

  /* 手機收錄範圍：強制正常卡片式 */
  #collectionModal.open{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:26px 16px 90px!important;
    overflow:auto!important;
  }
  #collectionModal.open .collection-modal{
    width:min(430px,92vw)!important;
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    border-radius:22px!important;
  }
  #collectionModal.open .collection-content,
  #collectionModal.open .gw-collection-fix{
    display:block!important;
    grid-template-columns:1fr!important;
  }
  #collectionModal.open .collection-main,
  #collectionModal.open .gw-collection-left,
  #collectionModal.open .gw-collection-right{
    width:100%!important;
    padding:0!important;
  }
  #collectionModal.open .collection-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #collectionModal.open .collection-card{
    height:auto!important;
    min-height:106px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:8px!important;
    padding:14px!important;
  }
  #collectionModal.open .collection-card b{
    font-size:1rem!important;
  }
  #collectionModal.open .collection-detail-toggle{
    display:flex!important;
    margin-top:14px!important;
  }
  #collectionModal.open .collection-detail-panel.open,
  #collectionModal.open .collection-detail-panel{
    display:block!important;
    margin-top:14px!important;
  }
  #collectionModal.open .collection-detail-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  #collectionModal.open .collection-detail-row{
    height:auto!important;
    min-height:64px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:12px!important;
    align-items:start!important;
  }
}
@media (max-width:380px){
  .gen-btn{height:136px!important;min-height:136px!important;padding:12px 12px 40px!important;}
}


/* ===== style tag: gw-v58-mobile-no-share-collection-scroll-desktop-gap ===== */
/* v58: mobile menu without share button; collection modal scrolls as one sheet; desktop menu gap slightly wider */
@media (max-width:980px){
  /* 手機選單：拔掉分享網站按鈕，剩下按鈕自動重排 */
  #topNav #shareNavBtn,
  body.mobile-menu-open #topNav #shareNavBtn,
  #topNav.mobile-open #shareNavBtn{
    display:none!important;
  }
  body.gw-share-open #topNav{
    display:none!important;
    pointer-events:none!important;
  }
  body.gw-share-open #shareModal.open,
  body.gw-share-open .share-modal-backdrop.open{
    z-index:30000!important;
  }
  body.mobile-menu-open #topNav .top-nav-links,
  #topNav.mobile-open .top-nav-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px 14px!important;
  }
  body.mobile-menu-open #topNav #achievementNavBtnMobile,
  #topNav.mobile-open #achievementNavBtnMobile{
    grid-column:1 / -1!important;
    justify-self:center!important;
    width:48%!important;
    min-width:170px!important;
  }
  /* 多人模式整顆按鈕透明暗掉，不只是文字 */
  body.mobile-menu-open #topNav #multiNavBtn,
  #topNav.mobile-open #multiNavBtn{
    opacity:.42!important;
    filter:grayscale(1)!important;
    background:linear-gradient(180deg,rgba(190,200,205,.72),rgba(150,160,165,.70))!important;
    border-color:rgba(60,80,95,.25)!important;
    color:rgba(35,60,75,.62)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.30)!important;
    pointer-events:none!important;
  }

  /* 手機收錄範圍：不要 sticky header，整張卡一起滑動 */
  #collectionModal.open{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:24px 12px 96px!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #collectionModal.open .collection-modal{
    width:min(430px,92vw)!important;
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    padding:18px!important;
    border-radius:22px!important;
  }
  #collectionModal.open .collection-modal-head{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    margin:0 0 16px!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
  }
  #collectionModal.open .collection-modal-head h3{font-size:1.35rem!important;line-height:1.18!important;}
  #collectionModal.open .collection-modal-head p,
  #collectionModal.open .collection-note{font-size:.92rem!important;line-height:1.55!important;}
  #collectionModal.open .collection-close{
    position:absolute!important;
    right:16px!important;
    top:16px!important;
    z-index:3!important;
  }
  #collectionModal.open .collection-content,
  #collectionModal.open .gw-collection-fix{
    display:block!important;
    grid-template-columns:1fr!important;
  }
  #collectionModal.open .collection-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #collectionModal.open .collection-card{
    min-height:106px!important;
    padding:14px!important;
  }
  #collectionModal.open .collection-detail-panel,
  #collectionModal.open .collection-detail-panel.open{
    position:static!important;
    display:block!important;
    margin-top:14px!important;
    overflow:visible!important;
  }
  #collectionModal.open .collection-detail-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    overflow:visible!important;
  }
  #collectionModal.open .collection-detail-row{
    min-height:66px!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:13px!important;
  }

  /* 手機世代 LOGO 再放大一點，但保留邊界 */
  .gen-btn[data-gen="μ's"] img{max-width:92%!important;max-height:94px!important;}
  .gen-btn[data-gen="Aqours"] img{max-width:95%!important;max-height:92px!important;}
  .gen-btn[data-gen="虹ヶ咲"] img{max-width:98%!important;max-height:94px!important;}
  .gen-btn[data-gen="Liella!"] img{max-width:94%!important;max-height:90px!important;}
  .gen-btn[data-gen="蓮ノ空"] img{max-width:88%!important;max-height:86px!important;}
  .gen-btn[data-gen="いきづらい部!"] img{max-width:97%!important;max-height:82px!important;}
  .gen-btn img{object-fit:contain!important;object-position:center!important;margin:auto!important;}
}

@media (min-width:981px){
  /* 電腦版側邊選單按鈕上下間距稍微開一點 */
  .top-nav-links{
    gap:13px!important;
  }
  .top-nav-inner{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
}


/* ===== style tag: codex-desktop-responsive-final-20260505 ===== */
/* Must stay near the end: several legacy hotfixes above also target desktop. */
@media (min-width:981px){
  :root{
    --codex-nav-reserve:clamp(206px,16vw,292px);
    --codex-page-gap:clamp(14px,1.45vw,26px);
    --codex-side-panel:clamp(190px,15vw,250px);
    --codex-main-card:clamp(500px,39vw,600px);
  }
  html,body{overflow-x:hidden!important;}
  body{
    min-width:0!important;
    min-height:100vh!important;
    padding:clamp(22px,3vh,34px) clamp(18px,2vw,34px) clamp(30px,4vh,56px) calc(var(--codex-nav-reserve) + var(--codex-page-gap))!important;
    display:grid!important;
    grid-template-columns:minmax(0,var(--codex-side-panel)) minmax(440px,var(--codex-main-card)) minmax(0,var(--codex-side-panel))!important;
    grid-template-rows:auto auto auto auto!important;
    gap:clamp(12px,1.6vh,22px) var(--codex-page-gap)!important;
    align-items:start!important;
    justify-content:center!important;
  }
  .site-hero,.round-log-panel,.game-card,#rankPanel,.hint,.gen-toggle-wrap{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    max-width:100%!important;
  }
  .site-hero{
    grid-column:1 / -1!important;
    grid-row:1!important;
    justify-self:center!important;
    width:min(760px,100%)!important;
    text-align:center!important;
    z-index:3!important;
  }
  .site-hero h1{font-size:clamp(3.35rem,5.4vw,6.8rem)!important;}
  .round-log-panel{
    grid-column:1!important;
    grid-row:2!important;
    justify-self:stretch!important;
    width:100%!important;
    height:clamp(250px,38vh,430px)!important;
    min-height:0!important;
    max-height:none!important;
  }
  .game-card{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:center!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:clamp(20px,2.8vh,26px) clamp(22px,2.2vw,30px) clamp(20px,2.8vh,24px)!important;
    z-index:5!important;
  }
  #rankPanel{
    grid-column:3!important;
    grid-row:2!important;
    justify-self:stretch!important;
    display:block!important;
    width:100%!important;
    min-height:132px!important;
    height:auto!important;
  }
  .game-card .answer-row{
    grid-template-columns:minmax(150px,190px) minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
  }
  .game-card .answer-row .select2-container,.answer-row .select2-container,#groupFilter,#songSelect{
    min-width:0!important;
    max-width:100%!important;
  }
  .hint{
    grid-column:1 / -1!important;
    grid-row:3!important;
    justify-self:center!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:normal!important;
    line-height:1.45!important;
    text-align:center!important;
    z-index:4!important;
  }
  .gen-toggle-wrap{
    grid-column:1 / -1!important;
    grid-row:4!important;
    justify-self:stretch!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(10px,1.4vw,16px)!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(92px,1fr))!important;
    gap:clamp(8px,1vw,12px)!important;
    overflow:visible!important;
  }
  .gen-btn{
    width:100%!important;
    max-width:160px!important;
    height:clamp(78px,10vh,104px)!important;
    min-height:78px!important;
    justify-self:center!important;
    padding:8px 8px 26px!important;
    opacity:1!important;
    animation:none!important;
  }
  .info-view-panel,body.mode-inline-leaderboard #leaderboardModal{
    left:calc(var(--codex-nav-reserve) + var(--codex-page-gap))!important;
    right:clamp(18px,2vw,34px)!important;
    top:clamp(130px,17vh,172px)!important;
    bottom:clamp(24px,4vh,58px)!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  body.game-animate .game-card,body.game-animate-safe .game-card,html.gw-current-prehide .game-card{
    transform:translateY(18px) scale(.985)!important;
  }
  html.gw-current-done .game-card{transform:none!important;}
}
@media (min-width:981px) and (max-width:1300px){
  body{grid-template-columns:minmax(0,1fr) minmax(440px,520px) minmax(0,1fr)!important;}
  .round-log-panel{height:clamp(220px,34vh,300px)!important;}
  .site-hero h1{font-size:clamp(3rem,5vw,5.4rem)!important;}
  #questionHeader{font-size:clamp(2rem,3vw,2.35rem)!important;}
  .gen-toggle-wrap{grid-template-columns:repeat(6,minmax(78px,1fr))!important;}
  .gen-btn{max-width:142px!important;}
  .gen-btn img{max-width:112px!important;}
}
@media (min-width:981px) and (max-width:1160px){
  body{
    padding-left:calc(var(--codex-nav-reserve) + 14px)!important;
    grid-template-columns:minmax(0,min(620px,100%))!important;
    justify-content:center!important;
  }
  .site-hero,.game-card,.hint,.gen-toggle-wrap{grid-column:1!important;}
  .round-log-panel,#rankPanel{display:none!important;}
  .gen-toggle-wrap{grid-template-columns:repeat(3,minmax(120px,1fr))!important;}
  .gen-btn{max-width:178px!important;height:96px!important;}
}
@media (min-width:981px) and (max-height:760px){
  body{padding-top:16px!important;padding-bottom:24px!important;row-gap:10px!important;}
  .site-hero h1{font-size:clamp(2.8rem,4.6vw,5.2rem)!important;}
  .site-hero p,.site-hero::after{display:none!important;}
  .game-card{padding:18px 22px!important;}
  .round-log-panel{height:250px!important;}
  .gen-btn{height:78px!important;}
}


/* ===== style tag: codex-info-pages-no-hero-overlap-20260505 ===== */
@media (min-width:981px){
  body.mode-info{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-content:start!important;
    row-gap:clamp(18px,2.4vh,28px)!important;
  }
  body.mode-info .site-hero{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(760px,100%)!important;
    margin:0 auto!important;
    pointer-events:none!important;
    z-index:2!important;
  }
  body.mode-info .site-hero h1{
    font-size:clamp(3.1rem,5.2vw,6.4rem)!important;
    line-height:.9!important;
  }
  body.mode-info .info-view-panel{
    grid-column:1!important;
    grid-row:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(1280px,100%)!important;
    max-width:100%!important;
    min-width:0!important;
    height:min(680px,calc(100vh - 190px))!important;
    min-height:430px!important;
    margin:0 auto!important;
    z-index:5!important;
  }
  body.mode-info .info-view-shell{
    height:100%!important;
    min-height:0!important;
  }
  body.mode-info .info-view-body{
    height:calc(100% - 88px)!important;
    min-height:0!important;
    overflow:auto!important;
  }
}
@media (min-width:981px) and (max-height:760px){
  body.mode-info{
    row-gap:12px!important;
  }
  body.mode-info .site-hero h1{
    font-size:clamp(2.55rem,4.5vw,5rem)!important;
  }
  body.mode-info .info-view-panel{
    height:calc(100vh - 132px)!important;
    min-height:360px!important;
  }
}
@media (min-width:981px) and (max-width:1160px){
  body.mode-info .info-view-panel{
    width:min(760px,100%)!important;
  }
}


/* ===== style tag: codex-uniform-hero-and-update-scroll-20260505 ===== */
@media (min-width:981px){
  :root{
    --codex-hero-title-size:clamp(3.35rem,5.4vw,6.8rem);
  }
  .site-hero h1,
  body.mode-info .site-hero h1,
  body.mode-inline-leaderboard .site-hero h1{
    font-size:var(--codex-hero-title-size)!important;
    line-height:.9!important;
    letter-spacing:0!important;
    margin:0!important;
  }
  body.mode-info .info-view-body{
    padding-bottom:34px!important;
    scroll-padding-bottom:34px!important;
  }
  body.mode-info .info-view-body .update-list{
    padding-bottom:44px!important;
  }
  body.mode-info .info-view-body .update-item:last-child{
    margin-bottom:18px!important;
  }
}
@media (min-width:981px) and (max-width:1300px){
  :root{
    --codex-hero-title-size:clamp(3rem,5vw,5.4rem);
  }
}
@media (min-width:981px) and (max-height:760px){
  :root{
    --codex-hero-title-size:clamp(2.8rem,4.6vw,5.2rem);
  }
  body.mode-info .info-view-body{
    padding-bottom:28px!important;
    scroll-padding-bottom:28px!important;
  }
  body.mode-info .info-view-body .update-list{
    padding-bottom:38px!important;
  }
}


/* ===== style tag: codex-info-panel-fullspace-and-notice-delay-20260505 ===== */
@media (min-width:981px){
  body.mode-info .info-view-shell{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  body.mode-info .info-view-body{
    height:auto!important;
    min-height:0!important;
    padding-bottom:22px!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix{
    height:100%!important;
    min-height:0!important;
    align-items:stretch!important;
  }
  body.mode-info #infoViewBody .gw-collection-left,
  body.mode-info #infoViewBody .gw-collection-right{
    min-height:0!important;
    display:grid!important;
  }
  body.mode-info #infoViewBody .gw-collection-left{
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  body.mode-info #infoViewBody .gw-collection-right{
    padding-top:0!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-grid,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-list{
    height:100%!important;
    min-height:0!important;
    grid-template-rows:repeat(6,minmax(0,1fr))!important;
    align-content:stretch!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
    height:auto!important;
    min-height:0!important;
  }
  body.mode-info .info-view-body .update-list{
    min-height:100%!important;
    padding-bottom:58px!important;
  }
  body.mode-info .info-view-body .update-entry:last-child{
    margin-bottom:28px!important;
  }
}
@media (min-width:981px) and (max-height:760px){
  body.mode-info #infoViewBody .gw-collection-fix .collection-grid,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-list{
    gap:8px!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
}


/* ===== style tag: codex-single-scrollbar-update-info-20260505 ===== */
@media (min-width:981px){
  body.mode-info .info-view-body .update-modal{
    overflow:visible!important;
    max-height:none!important;
    height:auto!important;
  }
  body.mode-info .info-view-body .update-list{
    overflow:visible!important;
    max-height:none!important;
    height:auto!important;
  }
}


/* ===== style tag: codex-taller-round-log-20260505 ===== */
@media (min-width:1161px){
  .round-log-panel{
    height:clamp(340px,48vh,520px)!important;
    max-height:calc(100vh - 380px)!important;
  }
}
@media (min-width:1161px) and (max-width:1300px){
  .round-log-panel{
    height:clamp(320px,45vh,460px)!important;
    max-height:calc(100vh - 360px)!important;
  }
}
@media (min-width:1161px) and (max-height:760px){
  .round-log-panel{
    height:clamp(280px,42vh,340px)!important;
    max-height:calc(100vh - 330px)!important;
  }
}


/* ===== style tag: codex-laptop-desktop-layout-guard-20260505 ===== */
/* Keep desktop/laptop layouts from colliding when the viewport is wide enough
   for desktop UI but not wide enough for the old oversized left menu. */
@media (min-width:981px) and (max-width:2200px){
  :root{
    --codex-laptop-nav:clamp(168px,10.5vw,214px);
    --codex-laptop-gap:clamp(14px,1.4vw,24px);
    --codex-laptop-side:clamp(190px,13vw,238px);
    --codex-laptop-main:clamp(500px,40vw,620px);
  }
  body{
    padding-left:calc(var(--codex-laptop-nav) + var(--codex-laptop-gap) + 18px)!important;
    padding-right:clamp(18px,2vw,34px)!important;
    grid-template-columns:
      minmax(0,var(--codex-laptop-side))
      minmax(460px,var(--codex-laptop-main))
      minmax(0,var(--codex-laptop-side))!important;
    column-gap:var(--codex-laptop-gap)!important;
  }
  .top-nav{
    left:18px!important;
    width:var(--codex-laptop-nav)!important;
    max-width:var(--codex-laptop-nav)!important;
    overflow:visible!important;
  }
  .top-nav-inner,
  .top-nav-links{
    width:100%!important;
    max-width:100%!important;
  }
  .top-nav-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:clamp(7px,1vh,10px)!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:clamp(38px,4.9vh,48px)!important;
    padding:0 clamp(12px,1.2vw,18px)!important;
    font-size:clamp(.78rem,.95vw,1rem)!important;
    white-space:nowrap!important;
  }
  .round-log-panel,
  #rankPanel{
    width:100%!important;
    min-width:0!important;
  }
  .game-card{
    width:100%!important;
    min-width:0!important;
  }
  .gen-toggle-wrap{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:repeat(6,minmax(86px,1fr))!important;
  }
  .gen-btn{
    max-width:clamp(126px,10vw,168px)!important;
  }
}

@media (min-width:981px) and (max-width:1380px){
  body{
    grid-template-columns:minmax(0,1fr) minmax(430px,520px)!important;
  }
  .round-log-panel{
    grid-column:1!important;
    grid-row:2!important;
  }
  .game-card{
    grid-column:2!important;
    grid-row:2!important;
  }
  #rankPanel{
    display:none!important;
  }
  .hint,
  .gen-toggle-wrap{
    grid-column:1 / -1!important;
  }
  .gen-toggle-wrap{
    grid-template-columns:repeat(3,minmax(120px,1fr))!important;
  }
}


/* ===== style tag: codex-fluid-desktop-stage-20260505 ===== */
@media (min-width:981px){
  :root{
    --codex-fit:1;
    --stage-nav:calc(220px * var(--codex-fit));
    --stage-gap:calc(28px * var(--codex-fit));
    --stage-left:calc(280px * var(--codex-fit));
    --stage-main:calc(660px * var(--codex-fit));
    --stage-right:calc(260px * var(--codex-fit));
  }
  html,body{
    overflow-x:hidden!important;
  }
  body:not(.mode-info):not(.mode-inline-leaderboard){
    min-width:0!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    padding:
      calc(24px * var(--codex-fit))
      calc(30px * var(--codex-fit))
      calc(28px * var(--codex-fit))
      calc(var(--stage-nav) + var(--stage-gap))!important;
    display:grid!important;
    grid-template-columns:
      minmax(0,var(--stage-left))
      minmax(0,var(--stage-main))
      minmax(0,var(--stage-right))!important;
    grid-template-rows:auto auto auto auto!important;
    gap:calc(14px * var(--codex-fit)) var(--stage-gap)!important;
    align-items:start!important;
    align-content:start!important;
    justify-content:center!important;
  }
  body.mode-info,
  body.mode-inline-leaderboard{
    min-width:0!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    display:grid!important;
    padding:var(--ui-pad-top,24px) var(--ui-pad-right,30px) var(--ui-pad-bottom,28px) calc(var(--stage-nav,220px) + var(--stage-gap,28px))!important;
    grid-template-columns:minmax(0,var(--stage-info-total,1220px))!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    row-gap:var(--stage-row-gap,14px)!important;
    align-content:start!important;
    justify-content:center!important;
  }
  body.mode-info,
  body.mode-inline-leaderboard{
    min-width:0!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,calc(var(--stage-left,280px) + var(--stage-main,660px) + var(--stage-right,260px) + var(--stage-gap,28px) * 2))!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-content:start!important;
    justify-content:center!important;
    row-gap:var(--stage-row-gap,14px)!important;
    padding:var(--ui-pad-top,24px) var(--ui-pad-right,30px) var(--ui-pad-bottom,28px) calc(var(--stage-nav,220px) + var(--stage-gap,28px))!important;
  }
  .top-nav{
    left:calc(18px * var(--codex-fit))!important;
    top:calc(126px * var(--codex-fit))!important;
    width:calc(190px * var(--codex-fit))!important;
    max-width:calc(190px * var(--codex-fit))!important;
  }
  .top-nav::before{
    font-size:calc(2.25rem * var(--codex-fit))!important;
    margin-bottom:calc(18px * var(--codex-fit))!important;
  }
  .top-nav-inner,
  .top-nav-links{
    width:100%!important;
    max-width:100%!important;
  }
  .top-nav-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:calc(10px * var(--codex-fit))!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:calc(48px * var(--codex-fit))!important;
    min-height:calc(38px * var(--codex-fit))!important;
    padding:0 calc(18px * var(--codex-fit))!important;
    border-radius:calc(24px * var(--codex-fit))!important;
    font-size:calc(1rem * var(--codex-fit))!important;
    white-space:nowrap!important;
  }
  #langSelect{
    width:calc(118px * var(--codex-fit))!important;
    height:calc(48px * var(--codex-fit))!important;
    font-size:calc(.95rem * var(--codex-fit))!important;
  }
  .sponsor-float-btn{
    width:calc(138px * var(--codex-fit))!important;
    height:calc(48px * var(--codex-fit))!important;
    font-size:calc(.9rem * var(--codex-fit))!important;
  }
  .auth-top{
    gap:calc(10px * var(--codex-fit))!important;
  }
  .auth-mini-btn,
  .auth-login-btn,
  #authTopBtn{
    min-width:calc(72px * var(--codex-fit))!important;
    height:calc(48px * var(--codex-fit))!important;
    font-size:calc(.92rem * var(--codex-fit))!important;
  }
  .site-hero,
  .round-log-panel,
  .game-card,
  #rankPanel,
  .hint,
  .gen-toggle-wrap{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    max-width:100%!important;
  }
  .site-hero{
    grid-column:1 / -1!important;
    grid-row:1!important;
    justify-self:center!important;
    width:min(calc(860px * var(--codex-fit)),100%)!important;
    text-align:center!important;
  }
  body.mode-info .site-hero,
  body.mode-inline-leaderboard .site-hero{
    grid-column:1!important;
    grid-row:1!important;
    width:min(var(--ui-hero-w,860px),100%)!important;
  }
  .site-hero h1,
  body.mode-info .site-hero h1,
  body.mode-inline-leaderboard .site-hero h1{
    font-size:calc(92px * var(--codex-fit))!important;
    line-height:.9!important;
    margin:0!important;
    letter-spacing:0!important;
  }
  .site-hero p{
    margin-top:calc(10px * var(--codex-fit))!important;
    font-size:calc(1rem * var(--codex-fit))!important;
    line-height:1.35!important;
  }
  .round-log-panel{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:calc(470px * var(--codex-fit))!important;
    min-height:calc(260px * var(--codex-fit))!important;
    max-height:none!important;
    padding:calc(16px * var(--codex-fit))!important;
    border-radius:calc(26px * var(--codex-fit))!important;
  }
  .game-card{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    min-height:calc(340px * var(--codex-fit))!important;
    padding:calc(26px * var(--codex-fit)) calc(30px * var(--codex-fit))!important;
    border-radius:calc(34px * var(--codex-fit))!important;
  }
  #rankPanel{
    grid-column:3!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:calc(168px * var(--codex-fit))!important;
    padding:calc(16px * var(--codex-fit))!important;
    border-radius:calc(26px * var(--codex-fit))!important;
  }
  #questionHeader{
    font-size:calc(2.55rem * var(--codex-fit))!important;
  }
  .clip-btn{
    height:calc(48px * var(--codex-fit))!important;
    min-width:calc(178px * var(--codex-fit))!important;
    font-size:calc(1.05rem * var(--codex-fit))!important;
  }
  #volumeWrapper{
    width:min(calc(320px * var(--codex-fit)),100%)!important;
  }
  .game-card .answer-row{
    width:100%!important;
    grid-template-columns:minmax(150px,calc(220px * var(--codex-fit))) minmax(0,1fr)!important;
    gap:calc(14px * var(--codex-fit))!important;
  }
  .select2-container--default .select2-selection--single{
    height:calc(50px * var(--codex-fit))!important;
    font-size:calc(1rem * var(--codex-fit))!important;
  }
  .submit{
    height:calc(48px * var(--codex-fit))!important;
    min-width:calc(118px * var(--codex-fit))!important;
    font-size:calc(1rem * var(--codex-fit))!important;
  }
  .hint{
    grid-column:1 / -1!important;
    grid-row:3!important;
    justify-self:center!important;
    width:max-content!important;
    max-width:100%!important;
    padding:calc(7px * var(--codex-fit)) calc(16px * var(--codex-fit))!important;
    font-size:calc(.88rem * var(--codex-fit))!important;
    white-space:normal!important;
  }
  .gen-toggle-wrap{
    grid-column:1 / -1!important;
    grid-row:4!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:calc(12px * var(--codex-fit)) calc(16px * var(--codex-fit))!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:calc(12px * var(--codex-fit))!important;
    align-items:center!important;
    justify-items:center!important;
    overflow:visible!important;
  }
  .gen-btn{
    width:100%!important;
    max-width:calc(166px * var(--codex-fit))!important;
    height:calc(96px * var(--codex-fit))!important;
    min-height:calc(76px * var(--codex-fit))!important;
    padding:calc(8px * var(--codex-fit)) calc(8px * var(--codex-fit)) calc(27px * var(--codex-fit))!important;
    border-radius:calc(24px * var(--codex-fit))!important;
  }
  .gen-btn img{
    max-width:calc(132px * var(--codex-fit))!important;
    max-height:calc(52px * var(--codex-fit))!important;
  }
  .gen-count{
    bottom:calc(6px * var(--codex-fit))!important;
    font-size:calc(.76rem * var(--codex-fit))!important;
  }
}

@media (min-width:981px) and (max-width:1250px){
  body:not(.mode-info):not(.mode-inline-leaderboard){
    grid-template-columns:minmax(0,var(--stage-left)) minmax(0,var(--stage-main))!important;
  }
  #rankPanel{display:none!important;}
  .gen-toggle-wrap{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}


/* ===== style tag: codex-fluid-desktop-stage-valid-vars-20260505 ===== */
@media (min-width:981px){
  html,body{overflow-x:hidden!important;}
  body:not(.mode-info):not(.mode-inline-leaderboard){
    min-width:0!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    display:grid!important;
    padding:var(--ui-pad-top,24px) var(--ui-pad-right,30px) var(--ui-pad-bottom,28px) calc(var(--stage-nav,220px) + var(--stage-gap,28px))!important;
    grid-template-columns:minmax(0,var(--stage-left,280px)) minmax(0,var(--stage-main,660px)) minmax(0,var(--stage-right,260px))!important;
    grid-template-rows:auto auto auto auto!important;
    gap:var(--stage-row-gap,14px) var(--stage-gap,28px)!important;
    align-items:start!important;
    align-content:start!important;
    justify-content:center!important;
  }
  body.mode-info,
  body.mode-inline-leaderboard{
    min-width:0!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    display:grid!important;
    padding:var(--ui-pad-top,24px) var(--ui-pad-right,30px) var(--ui-pad-bottom,28px) calc(var(--stage-nav,220px) + var(--stage-gap,28px))!important;
    grid-template-columns:minmax(0,var(--stage-info-total,1220px))!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    row-gap:var(--stage-row-gap,14px)!important;
    align-content:start!important;
    justify-content:center!important;
  }
  .top-nav{
    left:var(--ui-nav-left,18px)!important;
    top:var(--ui-nav-top,126px)!important;
    width:var(--ui-nav-width,190px)!important;
    max-width:var(--ui-nav-width,190px)!important;
  }
  .top-nav::before{
    font-size:var(--ui-nav-title,36px)!important;
    margin-bottom:var(--ui-nav-title-gap,18px)!important;
  }
  .top-nav-links{gap:var(--ui-nav-gap,10px)!important;}
  .top-nav-inner,
  .top-nav-links{
    width:100%!important;
    max-width:100%!important;
  }
  .top-nav-links{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .top-nav-links a,
  .top-nav-links button{
    height:var(--ui-nav-height,48px)!important;
    min-height:var(--ui-nav-height,48px)!important;
    padding:0 var(--ui-nav-pad,18px)!important;
    border-radius:var(--ui-nav-radius,24px)!important;
    font-size:var(--ui-nav-font,16px)!important;
  }
  #langSelect{
    position:fixed!important;
    left:var(--ui-control-left,18px)!important;
    top:var(--ui-control-top,18px)!important;
    right:auto!important;
    width:var(--ui-control-w,118px)!important;
    min-width:var(--ui-control-w,118px)!important;
    height:var(--ui-control-h,48px)!important;
    font-size:var(--ui-control-font,15px)!important;
    padding:0 var(--ui-control-pad,9px)!important;
    border-radius:var(--ui-control-radius,21px)!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    left:calc(var(--ui-control-left,18px) + var(--ui-control-w,118px) + var(--ui-control-gap,16px))!important;
    top:var(--ui-control-top,18px)!important;
    right:auto!important;
    width:var(--ui-control-wide,138px)!important;
    min-width:var(--ui-control-wide,138px)!important;
    height:var(--ui-control-h,48px)!important;
    font-size:var(--ui-control-font,15px)!important;
    padding:0 var(--ui-control-pad-wide,12px)!important;
    border-radius:var(--ui-control-radius,21px)!important;
  }
  .auth-mini-btn,
  .auth-login-btn,
  #authTopBtn{
    height:var(--ui-control-h,48px)!important;
    font-size:var(--ui-control-font,15px)!important;
  }
  .site-hero{
    grid-column:1 / -1!important;
    grid-row:1!important;
    justify-self:center!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    width:min(var(--ui-hero-w,860px),100%)!important;
    max-width:100%!important;
    text-align:center!important;
  }
  .site-hero h1,
  body.mode-info .site-hero h1,
  body.mode-inline-leaderboard .site-hero h1{
    font-size:var(--ui-hero-font,92px)!important;
  }
  .site-hero p{
    margin-top:var(--ui-hero-gap,10px)!important;
    font-size:var(--ui-hero-sub-font,16px)!important;
  }
  .round-log-panel{
    grid-column:1!important;
    grid-row:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--ui-round-h,470px)!important;
    min-height:0!important;
    padding:var(--ui-panel-pad,16px)!important;
    border-radius:var(--ui-panel-radius,30px)!important;
  }
  .game-card{
    grid-column:2!important;
    grid-row:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:var(--ui-game-min-h,340px)!important;
    padding:var(--ui-game-pad-y,26px) var(--ui-game-pad-x,30px)!important;
    border-radius:var(--ui-panel-radius,30px)!important;
  }
  #rankPanel{
    grid-column:3!important;
    grid-row:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:var(--ui-rank-min-h,168px)!important;
    padding:var(--ui-panel-pad,16px)!important;
    border-radius:var(--ui-panel-radius,30px)!important;
  }
  #questionHeader{font-size:var(--ui-q-font,41px)!important;}
  .clip-btn{
    height:var(--ui-button-h,48px)!important;
    min-width:var(--ui-clip-min-w,178px)!important;
    font-size:var(--ui-game-font,16px)!important;
  }
  #volumeWrapper{width:min(var(--ui-volume-w,320px),100%)!important;}
  .game-card .answer-row{
    grid-template-columns:minmax(150px,var(--ui-answer-col,220px)) minmax(0,1fr)!important;
    gap:var(--ui-answer-gap,14px)!important;
  }
  .select2-container--default .select2-selection--single{
    height:var(--ui-button-h,48px)!important;
    font-size:var(--ui-game-font,16px)!important;
  }
  .submit{
    height:var(--ui-button-h,48px)!important;
    font-size:var(--ui-game-font,16px)!important;
  }
  .hint{
    grid-column:1 / -1!important;
    grid-row:3!important;
    justify-self:center!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    width:max-content!important;
    max-width:100%!important;
    padding:var(--ui-hint-pad-y,7px) var(--ui-hint-pad-x,16px)!important;
    font-size:var(--ui-hint-font,14px)!important;
    white-space:normal!important;
  }
  .gen-toggle-wrap{
    grid-column:1 / -1!important;
    grid-row:4!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    padding:var(--ui-gen-pad-y,12px) var(--ui-gen-pad-x,16px)!important;
    gap:var(--ui-gen-gap,12px)!important;
    align-items:center!important;
    justify-items:center!important;
    overflow:visible!important;
  }
  .gen-btn{
    width:100%!important;
    max-width:var(--ui-gen-btn-w,166px)!important;
    height:var(--ui-gen-btn-h,96px)!important;
    min-height:var(--ui-gen-btn-min-h,76px)!important;
    border-radius:var(--ui-nav-radius,24px)!important;
  }
  .gen-btn img{
    max-width:var(--ui-gen-img-w,132px)!important;
    max-height:var(--ui-gen-img-h,52px)!important;
  }
  .gen-count{
    bottom:var(--ui-gen-count-bottom,6px)!important;
    font-size:var(--ui-gen-count-font,12px)!important;
  }
  body.mode-info .info-view-panel,
  body.mode-inline-leaderboard #leaderboardModal{
    grid-column:1!important;
    grid-row:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:var(--ui-info-h,720px)!important;
    max-height:calc(100vh - var(--ui-pad-top,24px) - var(--ui-pad-bottom,28px) - var(--ui-hero-font,92px) - var(--stage-row-gap,14px) - 42px)!important;
    min-height:var(--ui-info-min-h,430px)!important;
    margin:0!important;
    z-index:5!important;
  }
  body.mode-info .info-view-shell,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    padding:var(--ui-game-pad-y,26px) var(--ui-game-pad-x,30px)!important;
    border-radius:var(--ui-panel-radius,30px)!important;
    overflow:hidden!important;
  }
  body.mode-info .info-view-head{
    margin-bottom:var(--ui-info-head-gap,16px)!important;
  }
  body.mode-info .info-view-head h2{
    font-size:var(--ui-info-title,32px)!important;
  }
  body.mode-info .info-view-kicker{
    font-size:var(--ui-info-kicker-font,12px)!important;
    padding:var(--ui-info-kicker-pad-y,6px) var(--ui-info-kicker-pad-x,12px)!important;
    margin-bottom:var(--ui-info-kicker-gap,10px)!important;
  }
  body.mode-info .info-view-body{
    height:auto!important;
    min-height:0!important;
    overflow:auto!important;
    padding-right:var(--ui-info-body-pr,8px)!important;
    padding-bottom:var(--ui-info-body-pb,28px)!important;
  }
  body.mode-info .info-view-body *,
  body.mode-inline-leaderboard #leaderboardModal *{
    box-sizing:border-box!important;
    max-width:100%;
  }
  body.mode-info #infoViewBody .gw-collection-fix{
    height:100%!important;
    min-height:0!important;
    grid-template-columns:minmax(230px,var(--ui-collection-left,360px)) minmax(0,1fr)!important;
    gap:var(--stage-gap,28px)!important;
    align-items:stretch!important;
  }
  body.mode-info #infoViewBody .gw-collection-left,
  body.mode-info #infoViewBody .gw-collection-right{
    min-height:0!important;
  }
  body.mode-info #infoViewBody .gw-collection-right{
    padding-top:0!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-grid,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-list{
    height:100%!important;
    min-height:0!important;
    grid-template-rows:repeat(6,minmax(0,1fr))!important;
    gap:var(--ui-collection-gap,10px)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
    min-height:0!important;
    height:auto!important;
    padding:var(--ui-collection-pad-y,11px) var(--ui-collection-pad-x,16px)!important;
    border-radius:var(--ui-collection-radius,13px)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
    grid-template-columns:var(--ui-collection-name-col,120px) minmax(0,1fr)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row span,
  body.mode-info .info-view-body .update-entry li,
  body.mode-info .info-view-body .update-entry p,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-row{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  body.mode-info .info-view-body .update-modal,
  body.mode-info .info-view-body .update-list{
    overflow:visible!important;
    max-height:none!important;
    height:auto!important;
  }
  body.mode-info .info-view-body .update-list{
    min-height:100%!important;
    gap:var(--ui-update-gap,12px)!important;
    padding-bottom:var(--ui-update-bottom,58px)!important;
  }
  body.mode-info .info-view-body .update-entry{
    grid-template-columns:var(--ui-update-date-col,112px) minmax(0,1fr)!important;
    gap:var(--ui-update-entry-gap,14px)!important;
    padding:var(--ui-update-pad,14px)!important;
    border-radius:var(--ui-update-radius,18px)!important;
  }
  body.mode-info .info-view-body .update-date{
    font-size:var(--ui-update-date-font,12.5px)!important;
    padding:var(--ui-update-date-pad-y,6px) var(--ui-update-date-pad-x,10px)!important;
  }
  body.mode-info .info-view-body .update-entry h4{
    font-size:var(--ui-update-title-font,16px)!important;
  }
  body.mode-info .info-view-body .update-entry ul{
    font-size:var(--ui-update-body-font,14.4px)!important;
  }
  body.mode-info .info-view-body .rule-item,
  body.mode-info .info-view-body .notice-contact-row{
    padding:var(--ui-rule-pad,14px)!important;
    border-radius:var(--ui-rule-radius,18px)!important;
    font-size:var(--ui-rule-font,16px)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal{
    display:block!important;
    background:transparent!important;
    backdrop-filter:none!important;
    pointer-events:none!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
    pointer-events:auto!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal-head h3{
    font-size:var(--ui-leader-title-font,21.6px)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-tabs button,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-tabs button,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-grid button,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-row{
    font-size:var(--ui-leader-font,14.4px)!important;
  }
}
@media (min-width:981px) and (max-width:1250px){
  body:not(.mode-info):not(.mode-inline-leaderboard){
    grid-template-columns:minmax(0,var(--stage-left,280px)) minmax(0,var(--stage-main,660px))!important;
  }
  #rankPanel{display:none!important;}
  .gen-toggle-wrap{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.mode-info #infoViewBody .gw-collection-fix{
    grid-template-columns:1fr!important;
  }
}


/* ===== style tag: codex-leaderboard-controls-fix-20260505 ===== */
@media (min-width:981px){
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
    grid-template-columns:minmax(230px,var(--ui-leader-filter-col,300px)) minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto minmax(0,1fr)!important;
    gap:var(--stage-row-gap,14px) var(--stage-gap,28px)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
.leaderboard-mode-card,
.leaderboard-gen-card,
.leaderboard-period-card{
  display:grid!important;
  gap:var(--ui-leader-card-gap,10px)!important;
  align-content:start!important;
  overflow:visible!important;
  padding:var(--ui-leader-card-pad,12px)!important;
  border-radius:var(--ui-leader-card-radius,18px)!important;
}
.leaderboard-section-title{
  display:block!important;
  min-height:0!important;
  margin:0!important;
  line-height:1.2!important;
  font-size:var(--ui-info-kicker-font,12px)!important;
}
.leaderboard-tabs,
.leaderboard-period-tabs,
.leaderboard-gen-grid{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  align-items:stretch!important;
}
.leaderboard-tabs,
.leaderboard-period-tabs{
  display:grid!important;
  gap:8px!important;
}
.leaderboard-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.leaderboard-period-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.leaderboard-gen-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.leaderboard-tabs button,
.leaderboard-period-tabs button,
.leaderboard-gen-grid button{
  appearance:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:var(--ui-leader-control-h,40px)!important;
  min-height:var(--ui-leader-control-h,40px)!important;
  padding:0 var(--ui-leader-control-pad-x,10px)!important;
  border-radius:999px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  outline:none!important;
  transform:none!important;
}
.leaderboard-tabs button:focus,
.leaderboard-period-tabs button:focus,
.leaderboard-gen-grid button:focus{
  outline:none!important;
}
.leaderboard-tabs button:focus-visible,
.leaderboard-period-tabs button:focus-visible,
.leaderboard-gen-grid button:focus-visible{
  box-shadow:0 0 0 3px rgba(255,255,255,.24), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.leaderboard-tabs button.active,
.leaderboard-period-tabs button.active{
  border-color:rgba(255,255,255,.74)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(224,247,255,.86))!important;
  color:#075f9f!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 8px 18px rgba(0,74,150,.12)!important;
}
.leaderboard-gen-grid button.active{
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 0 2px rgba(255,255,255,.28),0 8px 18px rgba(0,50,120,.14)!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal-head{
  overflow:hidden!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-mode-card,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-card,
body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-card{
  height:auto!important;
  min-height:0!important;
  align-self:start!important;
  margin:0!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-card[hidden]{
  display:none!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-list{
  align-self:stretch!important;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal.scope-switching .leaderboard-mode-card{
  animation:leaderboardFilterPulse .34s cubic-bezier(.2,.9,.2,1) both;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal.scope-to-gen .leaderboard-gen-card:not([hidden]){
  animation:leaderboardGenReveal .38s cubic-bezier(.2,.9,.2,1) both;
}
body.mode-inline-leaderboard #leaderboardModal .leaderboard-current-label.is-changing{
  animation:leaderboardLabelSwap .34s cubic-bezier(.2,.9,.2,1) both;
}
.leaderboard-list.is-entering{
  opacity:1!important;
  transform:none!important;
}
.leaderboard-list.is-entering .leaderboard-row,
.leaderboard-list.is-entering .leaderboard-empty{
  animation:leaderboardRowEnter .42s cubic-bezier(.18,.82,.22,1) both;
}
.leaderboard-list.is-entering .leaderboard-row:nth-child(1){animation-delay:20ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(2){animation-delay:45ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(3){animation-delay:70ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(4){animation-delay:95ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(5){animation-delay:120ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(6){animation-delay:145ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(7){animation-delay:170ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(8){animation-delay:195ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(9){animation-delay:220ms;}
.leaderboard-list.is-entering .leaderboard-row:nth-child(10){animation-delay:245ms;}
@keyframes leaderboardRowEnter{
  from{opacity:0;transform:translateY(12px) scale(.985);filter:blur(3px);}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
}
@keyframes leaderboardFilterPulse{
  0%{transform:translateY(0);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
  45%{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,80,170,.14),inset 0 1px 0 rgba(255,255,255,.24);}
  100%{transform:translateY(0);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
}
@keyframes leaderboardGenReveal{
  from{opacity:0;transform:translateY(-8px) scale(.985);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes leaderboardLabelSwap{
  0%{opacity:.45;transform:translateY(-5px);}
  100%{opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion:reduce){
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal.scope-switching .leaderboard-mode-card,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal.scope-to-gen .leaderboard-gen-card:not([hidden]),
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-current-label.is-changing,
  .leaderboard-list.is-entering .leaderboard-row,
  .leaderboard-list.is-entering .leaderboard-empty{
    animation:none!important;
  }
}
@media (min-width:981px) and (max-width:1250px){
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
    grid-template-columns:minmax(210px,var(--ui-leader-filter-col,240px)) minmax(0,1fr)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-grid{gap:7px!important;}
}
@media (max-width:980px){
  .leaderboard-modal{
    width:min(620px,94vw)!important;
  }
  .leaderboard-mode-card,
  .leaderboard-gen-card,
  .leaderboard-period-card{
    gap:9px!important;
  }
}


/* ===== style tag: codex-info-leader-content-scale-20260505 ===== */
@media (min-width:981px){
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal-head h3{
    font-size:var(--ui-leader-title-font,21.6px)!important;
    line-height:1.1!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal-head p{
    font-size:var(--ui-info-kicker-font,12px)!important;
    line-height:1.45!important;
    margin-top:var(--ui-info-kicker-gap,10px)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-current-label{
    min-height:var(--ui-leader-control-h,40px)!important;
    padding:0 var(--ui-leader-control-pad-x,10px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:var(--ui-leader-font,14.4px)!important;
    line-height:1.2!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-list{
    display:grid!important;
    gap:var(--ui-leader-card-gap,10px)!important;
    align-content:start!important;
    overflow:auto!important;
    min-height:0!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-row{
    min-height:var(--ui-leader-row-h,54px)!important;
    grid-template-columns:var(--ui-leader-rank-size,34px) minmax(0,1fr) auto!important;
    gap:var(--ui-leader-card-gap,10px)!important;
    padding:var(--ui-leader-row-pad-y,8px) var(--ui-leader-row-pad-x,11px)!important;
    border-radius:var(--ui-collection-radius,13px)!important;
    font-size:var(--ui-leader-name-font,14.5px)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-rank{
    width:var(--ui-leader-rank-size,34px)!important;
    height:var(--ui-leader-rank-size,34px)!important;
    font-size:var(--ui-leader-font,14.4px)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-name{
    min-width:0!important;
    font-size:var(--ui-leader-name-font,14.5px)!important;
    line-height:1.2!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-nick,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-id{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-id,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-meta{
    font-size:var(--ui-leader-meta-font,11.5px)!important;
    line-height:1.25!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-title-badge{
    font-size:var(--ui-leader-meta-font,11.5px)!important;
    padding:2px 7px!important;
    max-width:min(130px,38%)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    vertical-align:middle!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-score{
    font-size:var(--ui-leader-score-font,17px)!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  body.mode-info #infoViewBody .gw-collection-fix{
    min-width:0!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-total{
    min-height:var(--ui-button-h,48px)!important;
    padding:0 var(--ui-collection-pad-x,16px)!important;
    font-size:var(--ui-collection-total-font,17px)!important;
    line-height:1.2!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-total strong{
    font-size:var(--ui-info-title,32px)!important;
    line-height:1!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-grid,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-list{
    grid-template-rows:none!important;
    grid-auto-rows:minmax(var(--ui-collection-detail-row-h,66px),auto)!important;
    align-content:start!important;
    overflow:auto!important;
    min-height:0!important;
    padding-right:4px!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    row-gap:3px!important;
    min-height:var(--ui-collection-detail-row-h,66px)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card span{
    font-size:var(--ui-collection-title-font,18px)!important;
    line-height:1.12!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card b{
    font-size:var(--ui-collection-count-font,16px)!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card-status{
    font-size:var(--ui-collection-status-font,12px)!important;
    line-height:1!important;
    padding:4px 9px!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
    min-height:var(--ui-collection-detail-row-h,66px)!important;
    grid-template-columns:var(--ui-collection-name-col,120px) minmax(0,1fr)!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row strong{
    font-size:var(--ui-collection-detail-title-font,15.2px)!important;
    line-height:1.15!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row span{
    font-size:var(--ui-collection-detail-font,13.6px)!important;
    line-height:1.28!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
}
@media (min-width:981px) and (max-width:1450px){
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
    grid-template-columns:minmax(245px,var(--ui-leader-filter-col,300px)) minmax(0,1fr)!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-row{
    grid-template-columns:var(--ui-leader-rank-size,34px) minmax(0,1fr) minmax(58px,auto)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix{
    grid-template-columns:minmax(260px,var(--ui-collection-left,360px)) minmax(0,1fr)!important;
  }
}
@media (min-width:981px) and (max-width:1250px){
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto auto auto minmax(0,1fr)!important;
    overflow:auto!important;
  }
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-modal-head,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-mode-card,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-gen-card,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-period-card,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-current-label,
  body.mode-inline-leaderboard #leaderboardModal .leaderboard-list{
    grid-column:1!important;
  }
}


/* ===== style tag: codex-select2-global-scale-20260505 ===== */
@media (min-width:981px){
  #groupFilter,
  #songSelect,
  .game-card .answer-row .select2-container,
  .answer-row .select2-container{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:var(--ui-game-font,16px)!important;
  }
  .game-card .answer-row .select2-container--default .select2-selection--single,
  .select2-container--default .select2-selection--single{
    height:var(--ui-button-h,48px)!important;
    min-height:var(--ui-button-h,48px)!important;
    border-radius:var(--ui-select-radius,16px)!important;
    font-size:var(--ui-game-font,16px)!important;
  }
  .select2-container--default .select2-selection--single .select2-selection__rendered,
  .select2-container--default .select2-selection--single .select2-selection__placeholder{
    height:var(--ui-button-h,48px)!important;
    line-height:var(--ui-select-line,48px)!important;
    padding-left:var(--ui-select-option-pad-x,10px)!important;
    padding-right:calc(var(--ui-select-option-pad-x,10px) + 20px)!important;
    font-size:var(--ui-game-font,16px)!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .select2-container--default .select2-selection--single .select2-selection__arrow{
    height:var(--ui-button-h,48px)!important;
    width:var(--ui-button-h,48px)!important;
    right:0!important;
  }
  .select2-container--default .select2-selection--single .select2-selection__arrow b{
    border-width:6px 5px 0 5px!important;
    margin-left:-5px!important;
    margin-top:-2px!important;
  }
  .select2-container--open,
  .select2-dropdown{
    z-index:2147483000!important;
  }
  body.select-menu-open .game-card,
  .game-card:has(.select2-container--open){
    z-index:2147482500!important;
    overflow:visible!important;
    isolation:isolate!important;
  }
  body.select-menu-open .gen-toggle-wrap,
  body.select-menu-open .hint{
    z-index:1!important;
  }
  .select2-dropdown{
    border-radius:var(--ui-select-radius,16px)!important;
    font-size:var(--ui-select-option-font,14.4px)!important;
    overflow:hidden!important;
  }
  .select2-search{
    padding:var(--ui-select-search-pad,9px)!important;
  }
  .select2-search__field{
    height:var(--ui-select-search-h,34px)!important;
    min-height:var(--ui-select-search-h,34px)!important;
    border-radius:var(--ui-select-option-radius,12px)!important;
    padding:0 var(--ui-select-option-pad-x,10px)!important;
    font-size:var(--ui-select-option-font,14.4px)!important;
  }
  .select2-results__options{
    max-height:var(--ui-select-dropdown-max,260px)!important;
    padding:calc(var(--ui-select-search-pad,9px) * .55)!important;
  }
  .select2-results__option{
    min-height:calc(var(--ui-select-gen-bar-h,36px) + var(--ui-select-option-pad-y,8px))!important;
    margin:calc(var(--ui-select-search-pad,9px) * .34) 0!important;
    padding:var(--ui-select-option-pad-y,8px) var(--ui-select-option-pad-x,10px)!important;
    border-radius:var(--ui-select-option-radius,12px)!important;
    font-size:var(--ui-select-option-font,14.4px)!important;
    line-height:1.25!important;
  }
  .select-gen-option{
    display:grid!important;
    grid-template-columns:var(--ui-select-gen-bar-w,6px) minmax(0,1fr)!important;
    align-items:center!important;
    gap:var(--ui-select-option-gap,10px)!important;
    padding:0!important;
    min-width:0!important;
  }
  .select-gen-bar{
    width:var(--ui-select-gen-bar-w,6px)!important;
    min-height:var(--ui-select-gen-bar-h,36px)!important;
    border-radius:999px!important;
  }
  .select-gen-main,
  .select-gen-title,
  .select-gen-tags{
    min-width:0!important;
    max-width:100%!important;
  }
  .select-gen-title{
    font-size:var(--ui-select-gen-title,15.4px)!important;
    line-height:1.18!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .select-gen-tags{
    gap:calc(var(--ui-select-search-pad,9px) * .45)!important;
    margin-top:calc(var(--ui-select-search-pad,9px) * .45)!important;
  }
  .select-gen-chip{
    font-size:var(--ui-select-gen-chip,11.8px)!important;
    padding:2px var(--ui-select-gen-chip-pad-x,7px)!important;
    line-height:1.15!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .select2-selection__rendered .select-gen-option{
    grid-template-columns:4px minmax(0,1fr)!important;
    gap:calc(var(--ui-select-option-gap,10px) * .7)!important;
    align-items:center!important;
  }
  .select2-selection__rendered .select-gen-bar{
    height:var(--ui-select-selected-bar-h,24px)!important;
    min-height:var(--ui-select-selected-bar-h,24px)!important;
    width:4px!important;
    align-self:center!important;
  }
  .select2-selection__rendered .select-gen-title{
    font-size:var(--ui-game-font,16px)!important;
    line-height:var(--ui-select-line,48px)!important;
    white-space:nowrap!important;
  }
  .select2-selection__rendered .select-gen-tags{
    display:none!important;
  }
}
@media (max-width:980px){
  .select2-container--open,
  .select2-dropdown{
    z-index:2147483000!important;
  }
  body.select-menu-open .game-card,
  .game-card:has(.select2-container--open){
    z-index:2147482500!important;
    overflow:visible!important;
  }
  .select2-container--default .select2-selection--single{
    height:clamp(42px,8.5vw,50px)!important;
    min-height:clamp(42px,8.5vw,50px)!important;
    border-radius:clamp(12px,3vw,16px)!important;
    font-size:clamp(.86rem,3vw,1rem)!important;
  }
  .select2-container--default .select2-selection--single .select2-selection__rendered,
  .select2-container--default .select2-selection--single .select2-selection__placeholder{
    line-height:clamp(42px,8.5vw,50px)!important;
    font-size:clamp(.86rem,3vw,1rem)!important;
  }
  .select2-dropdown{
    border-radius:clamp(12px,3vw,16px)!important;
  }
  .select2-search__field{
    height:clamp(32px,7vw,38px)!important;
    font-size:clamp(.82rem,2.8vw,.96rem)!important;
  }
  .select2-results__options{
    max-height:min(46vh,280px)!important;
  }
  .select2-results__option{
    min-height:clamp(42px,9vw,56px)!important;
    padding:clamp(7px,2vw,10px)!important;
    font-size:clamp(.82rem,2.8vw,.96rem)!important;
  }
}


/* ===== style tag: codex-stable-side-divider-css-20260505 ===== */
@media (min-width:981px){
  .top-nav::after{
    content:none!important;
    display:none!important;
  }
  #codexSideDivider{
    position:fixed!important;
    left:var(--ui-divider-x,274px)!important;
    top:var(--ui-divider-y,18px)!important;
    bottom:var(--ui-divider-y,18px)!important;
    width:1px!important;
    z-index:2!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.30) 7%,
      rgba(180,236,255,.18) 45%,
      rgba(255,255,255,.26) 82%,
      rgba(255,255,255,0) 100%)!important;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.04),
      0 0 18px rgba(120,220,255,.18),
      18px 0 34px rgba(255,255,255,.04)!important;
    opacity:.82!important;
    transform:none!important;
    transition:opacity .42s ease!important;
    will-change:opacity;
  }
  html.gw-current-prehide #codexSideDivider,
  html.gw-current-run #codexSideDivider{
    opacity:0!important;
  }
  html.gw-current-done #codexSideDivider{
    opacity:.82!important;
  }
}
@media (max-width:980px){
  #codexSideDivider{display:none!important;}
}


/* ===== style tag: codex-collection-row-align-20260505 ===== */
@media (min-width:1101px){
  body.mode-info #infoViewBody .gw-collection-fix{
    --codex-collection-row-h:clamp(50px,5.45vmin,68px);
    --codex-collection-row-gap:clamp(6px,.78vmin,10px);
    --codex-collection-total-h:clamp(36px,4.15vmin,46px);
    --codex-collection-left-col:minmax(0,.42fr);
    --codex-collection-right-col:minmax(0,.58fr);
    --codex-collection-name-col:clamp(72px,6.4vw,118px);
    --codex-collection-card-title:clamp(13px,1.36vmin,18px);
    --codex-collection-count:clamp(12px,1.18vmin,16px);
    --codex-collection-detail-title:clamp(12px,1.2vmin,16px);
    --codex-collection-detail-font:clamp(10.5px,1.04vmin,13.5px);
  }
  body.mode-info #infoViewBody .gw-collection-fix{
    align-items:start!important;
    grid-template-columns:var(--codex-collection-left-col) var(--codex-collection-right-col)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:clamp(12px,1.4vw,18px)!important;
    overflow:hidden!important;
  }
  body.mode-info #infoViewBody,
  body.mode-info #infoViewBody .gw-collection-left,
  body.mode-info #infoViewBody .gw-collection-right{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.mode-info #infoViewBody .gw-collection-right{
    padding-top:calc(var(--codex-collection-total-h) + var(--codex-collection-row-gap))!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-grid,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:var(--codex-collection-row-h)!important;
    gap:var(--codex-collection-row-gap)!important;
    align-items:stretch!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
    height:var(--codex-collection-row-h)!important;
    min-height:var(--codex-collection-row-h)!important;
    max-height:var(--codex-collection-row-h)!important;
    margin:0!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
    overflow:hidden!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row{
    align-items:center!important;
    grid-template-columns:var(--codex-collection-name-col) minmax(0,1fr)!important;
    padding:clamp(7px,.85vh,9px) clamp(12px,1.1vw,16px)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row strong,
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row span{
    align-self:center!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row span{
    display:block!important;
    font-size:var(--codex-collection-detail-font)!important;
    line-height:1.16!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-detail-row strong{
    font-size:var(--codex-collection-detail-title)!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card{
    padding:clamp(8px,.95vh,11px) clamp(12px,1.1vw,14px)!important;
    align-content:center!important;
    align-items:center!important;
    row-gap:clamp(2px,.35vmin,4px)!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card span{
    font-size:var(--codex-collection-card-title)!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card b{
    font-size:var(--codex-collection-count)!important;
    white-space:nowrap!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-card-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:start!important;
    align-self:center!important;
    width:auto!important;
    min-height:clamp(16px,1.75vmin,22px)!important;
    padding:0 clamp(6px,.65vmin,9px)!important;
    margin:0!important;
    font-size:clamp(10px,.95vmin,12px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  body.mode-info #infoViewBody .gw-collection-fix .collection-total{
    height:var(--codex-collection-total-h)!important;
    min-height:var(--codex-collection-total-h)!important;
    max-height:var(--codex-collection-total-h)!important;
    margin:0 0 var(--codex-collection-row-gap)!important;
    box-sizing:border-box!important;
  }
}
@media (min-width:1101px) and (max-width:1350px){
  body.mode-info #infoViewBody .gw-collection-fix{
    --codex-collection-row-h:clamp(48px,5.1vmin,62px);
    --codex-collection-row-gap:6px;
    --codex-collection-name-col:70px;
    --codex-collection-card-title:13px;
    --codex-collection-count:12px;
    --codex-collection-detail-title:12px;
    --codex-collection-detail-font:10.5px;
  }
}
@media (min-width:1650px){
  body.mode-info #infoViewBody .gw-collection-fix{
    --codex-collection-row-h:clamp(54px,5.35vmin,76px);
    --codex-collection-row-gap:clamp(8px,.78vmin,10px);
    --codex-collection-card-title:clamp(14px,1.22vmin,20px);
    --codex-collection-detail-title:clamp(13px,1.08vmin,18px);
    --codex-collection-detail-font:clamp(11px,.92vmin,14.5px);
  }
}
@media (min-width:1101px) and (max-height:850px){
  body.mode-info #infoViewBody .gw-collection-fix{
    --codex-collection-row-h:clamp(46px,5.55vh,58px);
    --codex-collection-row-gap:6px;
    --codex-collection-total-h:38px;
    --codex-collection-card-title:13px;
    --codex-collection-count:12px;
    --codex-collection-detail-title:12px;
    --codex-collection-detail-font:10.5px;
  }
}
@media (max-width:1100px){
  body.mode-info #infoViewBody .gw-collection-right{
    padding-top:0!important;
  }
}


/* ===== style tag: codex-modal-select-stack-fix-20260505 ===== */
@media (min-width:981px){
  :root{
    --ui-select-dropdown-max:170px!important;
    --ui-select-option-pad-y:6px!important;
    --ui-select-gen-bar-h:30px!important;
    --ui-select-option-gap:8px!important;
    --ui-select-closed-font:clamp(18px,1.45vw,24px)!important;
  }
  .select2-container--open,
  .select2-dropdown{
    z-index:12000!important;
  }
  body.select-menu-open .game-card,
  .game-card:has(.select2-container--open){
    z-index:11000!important;
  }
  .notice-modal-backdrop.open,
  .rule-modal-backdrop.open,
  .update-modal-backdrop.open,
  .collection-modal-backdrop.open,
  .leaderboard-modal-backdrop.open,
  .achievement-modal-backdrop.open,
  .share-modal-backdrop.open,
  .auth-modal-backdrop.open,
  #siteShareModal.open{
    z-index:30000!important;
  }
  .select2-results__options{
    max-height:170px!important;
  }
  .select2-results__option{
    min-height:38px!important;
    padding:6px 10px!important;
    margin:2px 0!important;
  }
  .answer-row .select2-selection__rendered,
  .answer-row .select2-selection__placeholder,
  .answer-row .select2-selection__rendered *,
  #groupFilter + .select2-container .select2-selection__rendered,
  #groupFilter + .select2-container .select2-selection__placeholder,
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-title,
  #songSelect + .select2-container .select2-selection__rendered,
  #songSelect + .select2-container .select2-selection__placeholder,
  #songSelect + .select2-container .select2-selection__rendered .select-gen-title{
    font-size:16px!important;
    line-height:var(--ui-select-line,48px)!important;
    letter-spacing:0!important;
  }
  #groupFilter + .select2-container .select2-selection__rendered,
  #songSelect + .select2-container .select2-selection__rendered,
  #songSelect + .select2-container .select2-selection__placeholder{
    font-weight:800!important;
  }
}

/* Keep the selected "全部" generation mark compact on mobile. */
@media (max-width:980px){
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-option.gen-all{
    display:grid!important;
    grid-template-columns:4px minmax(0,1fr)!important;
    align-items:center!important;
  }
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-option.gen-all .select-gen-bar{
    width:4px!important;
    height:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    align-self:center!important;
  }
}
@media (max-width:980px){
  .select2-container--open,
  .select2-dropdown{
    z-index:12000!important;
  }
  body.select-menu-open .game-card,
  .game-card:has(.select2-container--open){
    z-index:11000!important;
  }
  .notice-modal-backdrop.open,
  .rule-modal-backdrop.open,
  .update-modal-backdrop.open,
  .collection-modal-backdrop.open,
  .leaderboard-modal-backdrop.open,
  .achievement-modal-backdrop.open,
  .share-modal-backdrop.open,
  .auth-modal-backdrop.open,
  #siteShareModal.open{
    z-index:30000!important;
  }
  .select2-results__options{
    max-height:min(34vh,210px)!important;
  }
  .select2-results__option{
    min-height:40px!important;
    padding:7px 10px!important;
    margin:2px 0!important;
  }
  .answer-row .select2-container--default .select2-selection--single,
  #groupFilter + .select2-container .select2-selection--single,
  #songSelect + .select2-container .select2-selection--single{
    display:flex!important;
    align-items:center!important;
    height:46px!important;
    min-height:46px!important;
  }
  .answer-row .select2-container--default .select2-selection__arrow,
  #groupFilter + .select2-container .select2-selection__arrow,
  #songSelect + .select2-container .select2-selection__arrow{
    height:46px!important;
  }
  .answer-row .select2-selection__rendered,
  .answer-row .select2-selection__placeholder,
  .answer-row .select2-selection__rendered *,
  #groupFilter + .select2-container .select2-selection__rendered,
  #groupFilter + .select2-container .select2-selection__placeholder,
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-title,
  #songSelect + .select2-container .select2-selection__rendered,
  #songSelect + .select2-container .select2-selection__placeholder,
  #songSelect + .select2-container .select2-selection__rendered .select-gen-title{
    font-size:16px!important;
    line-height:46px!important;
    letter-spacing:0!important;
  }
  #groupFilter + .select2-container .select2-selection__rendered,
  #songSelect + .select2-container .select2-selection__rendered,
  #songSelect + .select2-container .select2-selection__placeholder{
    font-weight:800!important;
  }
}

/* Player panel title select keeps its compact alignment after global Select2 scaling. */
#authTop .auth-player-title-inline .select2-container{
  width:100%!important;
  min-width:0!important;
}
#authTop .auth-player-title-inline .select2-container--default .select2-selection--single{
  display:flex!important;
  align-items:center!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 30px 0 12px!important;
}
#authTop .auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__rendered{
  display:block!important;
  height:32px!important;
  line-height:32px!important;
  padding:0!important;
  font-size:.8rem!important;
  transform:none!important;
}
#authTop .auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__arrow{
  top:0!important;
  right:8px!important;
  height:32px!important;
}
#authTop .auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__arrow b{
  margin-top:-2px!important;
}
.auth-title-dropdown .select2-results__option{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:7px 12px!important;
  line-height:1.2!important;
}
@media (max-width:600px){
  #authTop .auth-player-title-inline .select2-container--default .select2-selection--single{
    height:31px!important;
    min-height:31px!important;
  }
  #authTop .auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__rendered{
    height:31px!important;
    line-height:31px!important;
    font-size:.79rem!important;
  }
  #authTop .auth-player-title-inline .select2-container--default .select2-selection--single .select2-selection__arrow{
    height:31px!important;
  }
}

/* ===== final performance + universal responsive scale overrides ===== */
:root{--gw-ui-scale:1;}
body{font-size:calc(16px * var(--gw-ui-scale));}
@media (min-width:981px){
  #codexSideDivider{
    left:calc(var(--ui-nav-left,28px) + var(--ui-nav-width,190px) + (var(--stage-gap,28px) * .58))!important;
    top:var(--ui-divider-y,18px)!important;
    bottom:var(--ui-divider-y,18px)!important;
    width:clamp(1px,calc(1.15px * var(--gw-ui-scale,1)),2px)!important;
  }
  #langSelect{
    width:var(--ui-control-w,62px)!important;
    min-width:var(--ui-control-w,62px)!important;
    height:var(--ui-control-h,28px)!important;
    min-height:var(--ui-control-h,28px)!important;
    padding:0 var(--ui-control-pad,7px)!important;
    border-radius:var(--ui-control-radius,14px)!important;
    font-size:var(--ui-control-font,11.5px)!important;
  }
  .sponsor-float-btn{
    left:calc(var(--ui-control-left,14px) + var(--ui-control-w,62px) + var(--ui-control-gap,8px))!important;
    width:var(--ui-control-wide,78px)!important;
    min-width:var(--ui-control-wide,78px)!important;
    height:var(--ui-control-h,28px)!important;
    min-height:var(--ui-control-h,28px)!important;
    padding:0 var(--ui-control-pad-wide,8px)!important;
    border-radius:var(--ui-control-radius,14px)!important;
    font-size:var(--ui-control-font,11.5px)!important;
  }
}
#llSilhouetteLayer{
  background:none!important;
  opacity:.095!important;
}
#llSilhouetteLayer img{
  display:block!important;
  position:absolute!important;
  left:-7%!important;
  bottom:0!important;
  width:114%!important;
  height:auto!important;
  min-height:46vh!important;
  object-fit:cover!important;
  object-position:center bottom!important;
}
@media (max-width:980px){
  body{font-size:clamp(13.5px, calc(16px * var(--gw-ui-scale)), 16px)!important;}
  .site-hero h1{font-size:clamp(2.15rem, calc(3rem * var(--gw-ui-scale)), 3.5rem)!important;}
  #questionHeader{font-size:clamp(1.45rem, calc(1.9rem * var(--gw-ui-scale)), 2rem)!important;}
  .clip-btn,.submit,.answer-action-btn,.top-nav-links button,.auth-mini-btn,.auth-login-btn,.sponsor-float-btn,#langSelect{
    min-height:clamp(38px, calc(46px * var(--gw-ui-scale)), 50px)!important;
    font-size:clamp(.82rem, calc(1rem * var(--gw-ui-scale)), 1rem)!important;
  }
  .gen-btn{
    width:clamp(132px, calc(166px * var(--gw-ui-scale)), 180px)!important;
    height:clamp(74px, calc(96px * var(--gw-ui-scale)), 104px)!important;
  }
  .gen-btn img{
    max-width:clamp(104px, calc(132px * var(--gw-ui-scale)), 144px)!important;
    max-height:clamp(42px, calc(58px * var(--gw-ui-scale)), 66px)!important;
  }
  #langSelect{
    width:58px!important;
    min-width:58px!important;
    height:26px!important;
    min-height:26px!important;
    padding:0 6px!important;
    border-radius:13px!important;
    font-size:10.5px!important;
  }
  .sponsor-float-btn{
    left:80px!important;
    width:74px!important;
    min-width:74px!important;
    height:26px!important;
    min-height:26px!important;
    padding:0 7px!important;
    border-radius:13px!important;
    font-size:10.5px!important;
  }
  .answer-row .select2-selection__rendered .select-gen-option,
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-option,
  #songSelect + .select2-container .select2-selection__rendered .select-gen-option{
    display:grid!important;
    grid-template-columns:4px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    min-height:0!important;
    height:100%!important;
  }
  .answer-row .select2-selection__rendered .select-gen-bar,
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-bar,
  #groupFilter + .select2-container .select2-selection__rendered .select-gen-option.gen-all .select-gen-bar,
  #songSelect + .select2-container .select2-selection__rendered .select-gen-bar,
  #songSelect + .select2-container .select2-selection__rendered .select-gen-option .select-gen-bar{
    width:4px!important;
    height:22px!important;
    min-height:22px!important;
    max-height:22px!important;
    line-height:0!important;
    align-self:center!important;
  }
}
.auth-user-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.auth-inbox-btn{position:relative;flex:0 0 auto;width:34px;height:34px;border-radius:999px;border:1px solid rgba(23,110,174,.20);background:rgba(255,255,255,.70);color:#176eae;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:950;box-shadow:0 6px 14px rgba(0,80,150,.10);transition:transform .14s ease,filter .14s ease,background .14s ease;}
.auth-inbox-btn:hover{transform:translateY(-1px);filter:brightness(1.03);background:#fff;}
.auth-inbox-icon{line-height:1;transform:translateY(-1px);}
.auth-inbox-dot{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:#ff315d;color:#fff;border:2px solid rgba(236,249,255,.96);font-size:.58rem;font-weight:950;line-height:11px;text-align:center;opacity:0;transform:scale(.55);transition:opacity .15s ease,transform .15s ease;}
.auth-inbox-btn.has-unread .auth-inbox-dot{opacity:1;transform:scale(1);}
.inbox-modal-backdrop{position:fixed;inset:0;z-index:10080;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(4,10,22,.52);backdrop-filter:blur(10px);}
.inbox-modal-backdrop.open{display:flex;}
.inbox-modal{width:min(520px,calc(100vw - 24px));max-height:min(76vh,680px);display:flex;flex-direction:column;border-radius:22px;background:linear-gradient(180deg,rgba(248,252,255,.96),rgba(229,244,255,.95));border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 60px rgba(0,45,100,.28), inset 0 1px 0 rgba(255,255,255,.88);color:#176eae;overflow:hidden;}
.inbox-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid rgba(23,110,174,.12);}
.inbox-modal-head h3{margin:0;font-size:1.18rem;font-weight:950;color:#0f5f99;}
.inbox-modal-sub{margin-top:4px;font-size:.82rem;font-weight:800;color:rgba(23,110,174,.58);}
.inbox-close-btn{width:34px;height:34px;border-radius:999px;border:1px solid rgba(23,110,174,.16);background:rgba(255,255,255,.82);color:#176eae;cursor:pointer;font-size:1rem;font-weight:900;box-shadow:0 8px 18px rgba(0,80,150,.10);}
.inbox-close-btn:hover{filter:brightness(1.03);transform:translateY(-1px);}
.inbox-modal-body{padding:14px 18px 10px;overflow:auto;flex:1;min-height:160px;}
.inbox-list{display:flex;flex-direction:column;gap:10px;}
.inbox-empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(23,110,174,.20);border-radius:18px;background:rgba(255,255,255,.56);padding:24px 18px;}
.inbox-empty-icon{width:58px;height:58px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(23,110,174,.10);color:#176eae;font-size:1.45rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.85);}
.inbox-empty-title{margin-top:12px;font-size:1rem;font-weight:950;color:#0f5f99;}
.inbox-empty-text{margin-top:6px;font-size:.86rem;font-weight:800;color:rgba(23,110,174,.58);}
.inbox-message-item{padding:12px 13px;border-radius:15px;background:rgba(255,255,255,.72);border:1px solid rgba(23,110,174,.12);box-shadow:0 10px 24px rgba(0,80,150,.06);}
.inbox-message-item.is-unread{background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(229,245,255,.92));border-color:rgba(41,148,226,.28);}
.inbox-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px;}
.inbox-message-head strong{font-size:.92rem;font-weight:950;color:#0f5f99;}
.inbox-message-head span{font-size:.75rem;font-weight:800;color:rgba(23,110,174,.58);white-space:nowrap;}
.inbox-message-body{font-size:.85rem;line-height:1.65;font-weight:800;color:#176eae;word-break:break-word;}
.inbox-modal-foot{display:flex;justify-content:flex-end;padding:12px 18px 18px;border-top:1px solid rgba(23,110,174,.10);}
.inbox-modal-confirm{min-width:104px;height:40px;padding:0 18px;border-radius:999px;border:1px solid rgba(23,110,174,.28);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(223,238,255,.96));color:#176eae;font-family:inherit;font-weight:950;cursor:pointer;box-shadow:0 10px 22px rgba(0,80,150,.10);}
.inbox-modal-confirm:hover{filter:brightness(1.03);transform:translateY(-1px);}
@media (max-width:600px){.inbox-modal-backdrop{padding:12px;}.inbox-modal{width:100%;max-height:min(82vh,720px);border-radius:18px;}.inbox-modal-head{padding:16px 16px 12px;}.inbox-modal-body{padding:12px 16px 10px;}.inbox-empty-state{min-height:180px;padding:20px 14px;}.inbox-modal-foot{padding:12px 16px 16px;}}


/* === Mobile sponsor layout final fix === */
@media (max-width:980px){
  .sponsor-float-btn{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 62px)!important;
    left:22px!important;
    width:122px!important;
    min-width:122px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    font-size:.78rem!important;
    line-height:1!important;
    z-index:1200!important;
    transform:none!important;
  }
  .sponsor-float-btn:hover,
  .sponsor-float-btn:focus-visible{
    transform:none!important;
  }
}
@media (max-width:380px){
  .sponsor-float-btn{
    top:calc(env(safe-area-inset-top,0px) + 60px)!important;
    left:14px!important;
    width:112px!important;
    min-width:112px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0 10px!important;
    font-size:.72rem!important;
  }
}


/* ===== hotfix: mobile collection detail toggle + achievement content ===== */
@media (max-width:980px){
  #collectionModal.open .collection-detail-panel{
    display:none!important;
    margin-top:14px!important;
  }
  #collectionModal.open .collection-detail-panel.open{
    display:block!important;
  }
  #collectionModal.open .collection-detail-toggle{
    cursor:pointer!important;
    pointer-events:auto!important;
  }
  #achievementModal.open .achievement-modal{
    max-height:82vh!important;
    overflow:auto!important;
  }
  #achievementModal.open .achievement-list{
    display:grid!important;
    gap:14px!important;
  }
  #achievementModal.open .achievement-section,
  #achievementModal.open .achievement-table,
  #achievementModal.open .achievement-row{
    display:block!important;
  }
  #achievementModal.open .achievement-row{
    margin-bottom:8px!important;
  }
}

/* === Hotfix: update log page scrollbar === */
body.mode-info .info-view-shell{
  min-height:0!important;
  overflow:hidden!important;
}
body.mode-info .info-view-body{
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable!important;
  padding-right:14px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar{
  width:10px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08)!important;
  border-radius:999px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.42)!important;
  border-radius:999px!important;
  border:2px solid rgba(255,255,255,.08)!important;
}
body.mode-info .info-view-body .update-modal{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
}
body.mode-info .info-view-body .update-list{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
  padding-bottom:70px!important;
}
@media (max-width:980px){
  body.mode-info .info-view-body{
    overflow-y:auto!important;
    padding-right:8px!important;
  }
  body.mode-info .info-view-body .update-list{
    padding-bottom:52px!important;
  }
}

/* === Hotfix: update log scroll actually works (desktop info panel + mobile modal) === */
body.mode-info .info-view-panel{
  overflow:hidden!important;
}
body.mode-info .info-view-shell{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
body.mode-info .info-view-body{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  padding-right:14px!important;
  padding-bottom:88px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar{
  width:12px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar-track{
  background:rgba(255,255,255,.10)!important;
  border-radius:999px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.50)!important;
  border-radius:999px!important;
  border:3px solid rgba(255,255,255,.10)!important;
}
body.mode-info .info-view-body .update-modal{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
  padding-bottom:0!important;
}
body.mode-info .info-view-body .update-list{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
  padding-bottom:90px!important;
}

#updateModal.open{
  overflow:hidden!important;
}
#updateModal.open .update-modal{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  max-height:min(82vh,720px)!important;
  overflow:hidden!important;
}
#updateModal.open .update-list{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding-right:8px!important;
  padding-bottom:72px!important;
}
#updateModal.open .update-list::-webkit-scrollbar{
  width:10px!important;
}
#updateModal.open .update-list::-webkit-scrollbar-track{
  background:rgba(255,255,255,.10)!important;
  border-radius:999px!important;
}
#updateModal.open .update-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.48)!important;
  border-radius:999px!important;
  border:2px solid rgba(255,255,255,.10)!important;
}

@media (max-width:980px){
  #updateModal.open .update-modal{
    max-height:82vh!important;
  }
  #updateModal.open .update-list{
    padding-right:6px!important;
    padding-bottom:58px!important;
  }
}

/* ===== final mobile sponsor + stable scale + update scrollbar fix 20260506 ===== */
@media (max-width:980px){
  html{--gw-ui-scale:1!important;}
  body{font-size:16px!important;}

  /* 手機左上控制：贊助按鈕要跟語言選項同寬同高，並垂直對齊 */
  #langSelect,
  .sponsor-float-btn{
    position:fixed!important;
    left:14px!important;
    right:auto!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    font-size:.72rem!important;
    line-height:34px!important;
    text-align:center!important;
    z-index:1300!important;
    white-space:nowrap!important;
    transform:none!important;
    transition:background .16s ease,border-color .16s ease,filter .16s ease!important;
  }
  #langSelect{
    top:14px!important;
  }
  .sponsor-float-btn{
    top:56px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* 手機滑動時不要因瀏覽器網址列收放而讓整個 UI 忽大忽小 */
  .site-hero h1{font-size:3rem!important;}
  #questionHeader{font-size:1.9rem!important;}
  .game-card,
  .round-log-panel,
  .answer-row,
  .gen-toggle-wrap,
  .notice-modal,
  .rule-modal,
  .collection-modal,
  .update-modal,
  .leaderboard-modal,
  .achievement-modal,
  .share-modal,
  .auth-modal{border-radius:22px!important;}
  .clip-btn,
  .submit,
  .answer-action-btn,
  .top-nav-links button,
  .auth-mini-btn,
  .auth-login-btn{
    min-height:46px!important;
    font-size:1rem!important;
  }
}

/* 更新紀錄：強制顯示可拖拉的捲軸 */
body.mode-info .info-view-body,
.info-view-body.view-update,
.info-view-body:has(.update-list),
.update-modal,
.update-list{
  overflow-y:scroll!important;
  scrollbar-width:auto!important;
  scrollbar-color:rgba(255,255,255,.72) rgba(255,255,255,.14)!important;
}
body.mode-info .info-view-body{
  padding-right:16px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar,
.info-view-body.view-update::-webkit-scrollbar,
.info-view-body:has(.update-list)::-webkit-scrollbar,
.update-modal::-webkit-scrollbar,
.update-list::-webkit-scrollbar{
  width:14px!important;
  height:14px!important;
}
body.mode-info .info-view-body::-webkit-scrollbar-track,
.info-view-body.view-update::-webkit-scrollbar-track,
.info-view-body:has(.update-list)::-webkit-scrollbar-track,
.update-modal::-webkit-scrollbar-track,
.update-list::-webkit-scrollbar-track{
  background:rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  border:3px solid rgba(0,0,0,0)!important;
  background-clip:padding-box!important;
}
body.mode-info .info-view-body::-webkit-scrollbar-thumb,
.info-view-body.view-update::-webkit-scrollbar-thumb,
.info-view-body:has(.update-list)::-webkit-scrollbar-thumb,
.update-modal::-webkit-scrollbar-thumb,
.update-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.78)!important;
  border-radius:999px!important;
  border:3px solid rgba(0,0,0,0)!important;
  background-clip:padding-box!important;
}
body.mode-info .info-view-body::-webkit-scrollbar-thumb:hover,
.info-view-body.view-update::-webkit-scrollbar-thumb:hover,
.info-view-body:has(.update-list)::-webkit-scrollbar-thumb:hover,
.update-modal::-webkit-scrollbar-thumb:hover,
.update-list::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.95)!important;
  background-clip:padding-box!important;
}

/* === Hotfix 20260506: update log uses its own visible scrollbar like leaderboard === */
body.mode-info #infoViewBody.view-update,
body.mode-info #infoViewBody:has(.update-list){
  overflow:hidden!important;
  padding-right:0!important;
  min-height:0!important;
}
body.mode-info #infoViewBody.view-update .update-modal,
body.mode-info #infoViewBody:has(.update-list) .update-modal{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
}
body.mode-info #infoViewBody.view-update .update-list,
body.mode-info #infoViewBody:has(.update-list) .update-list{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding-right:14px!important;
  padding-bottom:80px!important;
  scrollbar-width:auto!important;
  scrollbar-color:rgba(255,255,255,.82) rgba(255,255,255,.14)!important;
}
body.mode-info #infoViewBody.view-update .update-list::-webkit-scrollbar,
body.mode-info #infoViewBody:has(.update-list) .update-list::-webkit-scrollbar{
  width:14px!important;
}
body.mode-info #infoViewBody.view-update .update-list::-webkit-scrollbar-track,
body.mode-info #infoViewBody:has(.update-list) .update-list::-webkit-scrollbar-track{
  background:rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  border:3px solid rgba(0,0,0,0)!important;
  background-clip:padding-box!important;
}
body.mode-info #infoViewBody.view-update .update-list::-webkit-scrollbar-thumb,
body.mode-info #infoViewBody:has(.update-list) .update-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.82)!important;
  border-radius:999px!important;
  border:3px solid rgba(0,0,0,0)!important;
  background-clip:padding-box!important;
}
body.mode-info #infoViewBody.view-update .update-list::-webkit-scrollbar-button,
body.mode-info #infoViewBody:has(.update-list) .update-list::-webkit-scrollbar-button{
  height:14px!important;
  display:block!important;
  background:rgba(255,255,255,.18)!important;
}
@media (max-width:980px){
  #updateModal.open .update-list,
  body.mode-info #infoViewBody.view-update .update-list,
  body.mode-info #infoViewBody:has(.update-list) .update-list{
    overflow-y:auto!important;
    padding-right:8px!important;
  }
}

/* ===== special achievement order/style refresh ===== */
.title-theme-dream{
  --title-accent:#f7a9cf;
  --title-text:#fff7fb;
  --title-bg:
    radial-gradient(circle at 18% 28%,rgba(255,255,255,.34),transparent 18%),
    radial-gradient(circle at 78% 64%,rgba(126,224,255,.24),transparent 24%),
    linear-gradient(135deg,rgba(246,172,205,.58),rgba(179,216,255,.46) 48%,rgba(255,241,252,.34));
  --title-border:rgba(255,231,244,.72);
  --title-shadow:rgba(246,172,205,.26);
}
.title-theme-yohane{
  --title-accent:#1fe0d2;
  --title-text:#eafffb;
  --title-bg:
    radial-gradient(circle at 82% 50%,rgba(31,224,210,.18),transparent 22%),
    linear-gradient(135deg,rgba(4,32,54,.96),rgba(0,93,105,.84) 56%,rgba(19,187,171,.42));
  --title-border:rgba(84,238,224,.62);
  --title-shadow:rgba(31,224,210,.24);
}

/* 同一組特殊稱號的掃光共用同一個動畫，讓它們同時閃 */
@keyframes specialTitleSweepSync{
  0%,70%{left:-68%;opacity:0;}
  79%{opacity:.72;}
  100%{left:128%;opacity:0;}
}
.achievement-section .achievement-row.title-theme-no10 .achievement-name::after,
.achievement-section .achievement-row.title-theme-yohane .achievement-name::after,
.achievement-section .achievement-row.title-theme-dream .achievement-name::after{
  animation:specialTitleSweepSync 5.8s ease-in-out infinite!important;
  animation-delay:0s!important;
}

/* Dream Believers：參考封面，粉櫻、淡藍、白色光感 */
.achievement-section .achievement-row.title-theme-dream{
  background:
    radial-gradient(circle at 16% 20%,rgba(255,255,255,.18),transparent 16%),
    radial-gradient(circle at 88% 54%,rgba(157,225,255,.20),transparent 24%),
    radial-gradient(circle at 42% 78%,rgba(255,178,214,.18),transparent 28%),
    linear-gradient(135deg,rgba(73,76,142,.82),rgba(137,183,235,.62) 46%,rgba(255,202,226,.42))!important;
  border-color:rgba(255,231,244,.30)!important;
  box-shadow:0 0 18px rgba(246,172,205,.18),0 0 28px rgba(157,225,255,.10),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.achievement-section .achievement-row.title-theme-dream::before{
  width:7px;
  background:linear-gradient(180deg,#fff9fd,#ffacd2,#9fe7ff)!important;
  opacity:.96;
  box-shadow:0 0 13px rgba(255,190,224,.50);
}
.achievement-section .achievement-row.title-theme-dream .achievement-name{
  position:relative;
  overflow:hidden;
  color:#fff7fb!important;
  letter-spacing:.02em;
  background:
    linear-gradient(135deg,rgba(248,178,211,.52),rgba(145,204,246,.42) 48%,rgba(255,247,252,.30))!important;
  border-color:rgba(255,237,247,.76)!important;
  box-shadow:0 0 16px rgba(255,181,218,.30),0 0 28px rgba(157,225,255,.16),inset 0 1px 0 rgba(255,255,255,.38)!important;
  text-shadow:0 0 9px rgba(255,248,252,.34);
}
.achievement-section .achievement-row.title-theme-dream .achievement-name::after{
  content:"";
  position:absolute;
  top:-50%;
  bottom:-50%;
  left:-65%;
  width:46%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);
  transform:rotate(18deg);
  pointer-events:none;
}
.leaderboard-title-badge.title-theme-dream,
.auth-player-title.title-theme-dream{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px rgba(255,181,218,.26),0 0 24px rgba(157,225,255,.12)!important;
  text-shadow:0 0 8px rgba(255,248,252,.24);
}

/* 幻日のヨハネ：參考 LOGO 的深藍綠、青綠發光、月亮浮水印 */
.achievement-section .achievement-row.title-theme-yohane{
  background:
    radial-gradient(circle at 87% 50%,rgba(35,230,215,.14),transparent 16%),
    radial-gradient(circle at 18% 18%,rgba(105,255,235,.12),transparent 20%),
    linear-gradient(135deg,rgba(3,26,48,.94),rgba(0,78,95,.88) 52%,rgba(16,162,153,.66))!important;
  border-color:rgba(84,238,224,.30)!important;
  box-shadow:0 0 18px rgba(31,224,210,.18),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.achievement-section .achievement-row.title-theme-yohane::before{
  width:7px;
  background:linear-gradient(180deg,#a9fff4,#1fe0d2,#087184)!important;
  opacity:.96;
  box-shadow:0 0 14px rgba(31,224,210,.54);
}
.achievement-section .achievement-row.title-theme-yohane::after{
  content:"☽";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%) rotate(-8deg);
  font-size:4.6rem;
  font-weight:900;
  line-height:1;
  pointer-events:none;
  color:rgba(130,255,238,.10);
  text-shadow:0 0 18px rgba(31,224,210,.18),0 0 34px rgba(31,224,210,.10);
}
.achievement-section .achievement-row.title-theme-yohane .achievement-name{
  position:relative;
  overflow:hidden;
  color:#eafffb!important;
  letter-spacing:.025em;
  background:
    linear-gradient(135deg,rgba(5,45,70,.96),rgba(0,116,124,.74) 55%,rgba(36,217,196,.38))!important;
  border-color:rgba(102,255,239,.68)!important;
  box-shadow:0 0 15px rgba(31,224,210,.30),0 0 26px rgba(7,111,140,.14),inset 0 1px 0 rgba(255,255,255,.30)!important;
  text-shadow:0 0 8px rgba(178,255,247,.28);
}
.achievement-section .achievement-row.title-theme-yohane .achievement-name::before{
  content:"✦";
  margin-right:6px;
  font-size:.9em;
  opacity:.95;
  text-shadow:0 0 9px rgba(126,255,241,.65);
}
.achievement-section .achievement-row.title-theme-yohane .achievement-name::after{
  content:"";
  position:absolute;
  top:-50%;
  bottom:-50%;
  left:-65%;
  width:46%;
  background:linear-gradient(90deg,transparent,rgba(186,255,248,.50),transparent);
  transform:rotate(18deg);
  pointer-events:none;
}
.leaderboard-title-badge.title-theme-yohane,
.auth-player-title.title-theme-yohane{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px rgba(31,224,210,.26),0 0 24px rgba(7,111,140,.12)!important;
  text-shadow:0 0 8px rgba(178,255,247,.22);
}

/* ===== special title final polish: fixed No.10 watermark + Dream watermark ===== */
.title-theme-no10{
  --title-accent:#74a9ff;
  --title-text:#eef5ff;
  --title-bg:
    linear-gradient(180deg,rgba(14,24,45,.96),rgba(22,42,79,.92) 56%,rgba(36,76,138,.78));
  --title-border:rgba(131,181,255,.58);
  --title-shadow:rgba(74,131,224,.22);
}

/* No.10：固定浮水印，不參與任何動畫，避免上下抽動 */
.achievement-section .achievement-row.title-theme-no10{
  background:
    radial-gradient(circle at 86% 50%,rgba(125,185,255,.10),transparent 12%),
    radial-gradient(circle at 86% 50%,rgba(71,135,229,.12),transparent 24%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 7px),
    linear-gradient(90deg,rgba(9,18,37,.97),rgba(15,33,67,.95) 46%,rgba(31,71,131,.86) 100%)!important;
  border-color:rgba(122,177,255,.24)!important;
  box-shadow:0 0 18px rgba(69,124,212,.14), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.achievement-section .achievement-row.title-theme-no10::before{
  width:7px;
  background:linear-gradient(180deg,#d8e8ff,#79a9ff,#2f62bf)!important;
  opacity:.96;
  box-shadow:0 0 14px rgba(116,169,255,.42);
}
.achievement-section .achievement-row.title-theme-no10::after{
  content:"10"!important;
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translate3d(0,-50%,0) skewX(-10deg)!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
  font-size:4.3rem!important;
  font-weight:900!important;
  letter-spacing:-.16em!important;
  line-height:1!important;
  pointer-events:none!important;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,rgba(255,255,255,0) 1px 6px),
    linear-gradient(180deg,rgba(220,238,255,.40),rgba(116,169,255,.18) 58%,rgba(46,97,188,.32))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:1px rgba(164,205,255,.16)!important;
  text-shadow:0 0 14px rgba(115,169,255,.10),0 0 26px rgba(42,95,190,.08)!important;
  opacity:.96!important;
}
.achievement-section .achievement-row.title-theme-no10 .achievement-name{
  color:#eef5ff!important;
  background:
    linear-gradient(180deg,rgba(14,24,45,.98),rgba(19,38,72,.95) 60%,rgba(29,67,124,.84))!important;
  border-color:rgba(133,184,255,.68)!important;
  box-shadow:0 0 14px rgba(84,141,235,.18),0 0 24px rgba(43,92,179,.10),inset 0 1px 0 rgba(255,255,255,.28)!important;
  text-shadow:0 0 8px rgba(210,231,255,.18)!important;
}

/* Dream Believers：追加封面感浮水印 */
.achievement-section .achievement-row.title-theme-dream::after{
  content:"Dream"!important;
  position:absolute!important;
  right:18px!important;
  top:50%!important;
  transform:translate3d(0,-50%,0) skewX(-8deg)!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
  font-size:3.1rem!important;
  font-weight:900!important;
  letter-spacing:-.08em!important;
  line-height:1!important;
  pointer-events:none!important;
  color:rgba(255,255,255,.10)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,190,222,.18) 52%,rgba(155,224,255,.24))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:1px rgba(255,245,253,.18)!important;
  text-shadow:0 0 16px rgba(255,205,229,.12),0 0 28px rgba(155,224,255,.10)!important;
  opacity:.88!important;
}
.achievement-section .achievement-row.title-theme-no10 .achievement-name::after,
.achievement-section .achievement-row.title-theme-yohane .achievement-name::after,
.achievement-section .achievement-row.title-theme-dream .achievement-name::after,
.achievement-section .achievement-row.title-theme-aiscream .achievement-name::after{
  animation:specialTitleSweepSyncFinal 5.8s ease-in-out infinite!important;
  animation-delay:0s!important;
}

.leaderboard-title-badge.title-theme-no10,
.auth-player-title.title-theme-no10{
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 7px),
    var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px rgba(84,141,235,.18),0 0 24px rgba(43,92,179,.08)!important;
  text-shadow:0 0 8px rgba(210,231,255,.16)!important;
}


/* ===== AiScReam special achievement: melt style, synced sweep ===== */
.title-theme-aiscream{
  --title-accent:#70cfd0;
  --title-text:#fff8f9;
  --title-bg:
    linear-gradient(135deg,rgba(226,154,184,.64),rgba(112,207,208,.54) 54%,rgba(226,202,176,.52));
  --title-border:rgba(104,67,38,.38);
  --title-shadow:rgba(124,80,45,.16);
}
.achievement-section .achievement-row.title-theme-aiscream{
  background:
    radial-gradient(circle at 13% 20%,rgba(255,255,255,.22),transparent 15%),
    radial-gradient(circle at calc(100% - 38px) 50%,rgba(229,158,188,.36) 0 13px,rgba(112,207,208,.24) 13px 14px,transparent 15px),
    linear-gradient(135deg,rgba(116,205,207,.28),rgba(233,161,190,.28) 52%,rgba(226,202,176,.22))!important;
  border-color:rgba(104,67,38,.20)!important;
  box-shadow:0 0 16px rgba(120,80,48,.10), inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.achievement-section .achievement-row.title-theme-aiscream::before{
  width:7px!important;
  background:linear-gradient(180deg,#70cfd0,#e99ebc,#e3c9ad)!important;
  opacity:.96!important;
  box-shadow:0 0 12px rgba(112,207,208,.25)!important;
}
.achievement-section .achievement-row.title-theme-aiscream::after{
  content:""!important;
  position:absolute!important;
  right:34px!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  border-radius:999px!important;
  pointer-events:none!important;
  background:rgba(232,158,188,.42)!important;
  border:1px solid rgba(104,67,38,.16)!important;
  box-shadow:none!important;
  opacity:.62!important;
  transform:translateY(-50%)!important;
  animation:none!important;
}
.achievement-section .achievement-row.title-theme-aiscream .achievement-name{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  color:#fff8f9!important;
  letter-spacing:.02em!important;
  background:linear-gradient(135deg,rgba(112,207,208,.84),rgba(233,158,188,.84) 48%,rgba(226,202,176,.82))!important;
  border-color:rgba(104,67,38,.54)!important;
  box-shadow:0 0 14px rgba(120,80,48,.12), inset 0 1px 0 rgba(255,255,255,.34)!important;
  text-shadow:0 0 8px rgba(104,67,38,.12)!important;
}
.achievement-section .achievement-row.title-theme-aiscream .achievement-name::before{
  content:""!important;
  z-index:0!important;
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  bottom:-3px!important;
  height:8px!important;
  border-radius:999px!important;
  background:
    radial-gradient(7px 8px at 22% 0%,rgba(255,255,255,.30) 0 52%,transparent 54%),
    radial-gradient(6px 8px at 57% 0%,rgba(255,255,255,.24) 0 52%,transparent 54%),
    linear-gradient(90deg,rgba(110,70,42,.24),rgba(255,255,255,.10),rgba(110,70,42,.18));
  pointer-events:none!important;
}
.achievement-section .achievement-row.title-theme-aiscream .achievement-name::after{
  content:""!important;
  z-index:2!important;
  position:absolute!important;
  top:-50%!important;
  bottom:-50%!important;
  left:-65%!important;
  width:46%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent)!important;
  transform:rotate(18deg)!important;
  animation:specialTitleSweepSyncFinal 5.8s ease-in-out infinite!important;
  animation-delay:0s!important;
  pointer-events:none!important;
}
.leaderboard-title-badge.title-theme-aiscream,
.auth-player-title.title-theme-aiscream{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 10px rgba(120,80,48,.12), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.achievement-section .achievement-row.title-theme-yohane .achievement-name::after{
  content:"";
  position:absolute;
  top:-50%;
  bottom:-50%;
  left:-65%;
  width:46%;
  background:linear-gradient(90deg,transparent,rgba(186,255,248,.50),transparent);
  transform:rotate(18deg);
  pointer-events:none;
  
}
/* ===== Special Achievement FX Patch ===== */
:root{
  --special-pill-shine-duration: 5.8s;
}

/* 四個特殊稱號小膠囊：統一白光掃過 */
.achievement-section .achievement-row.title-theme-no10 .achievement-name,
.achievement-section .achievement-row.title-theme-yohane .achievement-name,
.achievement-section .achievement-row.title-theme-dream .achievement-name,
.achievement-section .achievement-row.title-theme-aiscream .achievement-name{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}

.achievement-section .achievement-row.title-theme-no10 .achievement-name::after,
.achievement-section .achievement-row.title-theme-yohane .achievement-name::after,
.achievement-section .achievement-row.title-theme-dream .achievement-name::after,
.achievement-section .achievement-row.title-theme-aiscream .achievement-name::after{
  content: "" !important;
  position: absolute !important;
  top: -50% !important;
  bottom: -50% !important;
  left: -70% !important;
  width: 42% !important;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 25%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,.10) 75%,
    rgba(255,255,255,0) 100%
  ) !important;
  transform: rotate(18deg) !important;
  animation: specialPillShineSync var(--special-pill-shine-duration) ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 2 !important;
  mix-blend-mode: screen;
}

@keyframes specialPillShineSync{
  0%, 70%{
    left: -70%;
    opacity: 0;
  }
  78%{
    opacity: .9;
  }
  100%{
    left: 130%;
    opacity: 0;
  }
}

/* ===== Theme fine-tuning ===== */

/* No.10 */
.achievement-section .achievement-row.title-theme-no10{
  box-shadow:
    0 0 0 1px rgba(120,160,255,.10),
    0 0 18px rgba(58,105,210,.10),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.achievement-section .achievement-row.title-theme-no10 .achievement-name{
  box-shadow:
    0 0 0 1px rgba(145,185,255,.18),
    0 0 14px rgba(63,109,220,.16),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* 幻日のヨハネ */
.achievement-section .achievement-row.title-theme-yohane{
  box-shadow:
    0 0 0 1px rgba(79,223,213,.10),
    0 0 18px rgba(39,190,184,.12),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.achievement-section .achievement-row.title-theme-yohane .achievement-name{
  box-shadow:
    0 0 0 1px rgba(114,240,226,.20),
    0 0 16px rgba(47,212,196,.18),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* Dream Believers */
.achievement-section .achievement-row.title-theme-dream{
  box-shadow:
    0 0 0 1px rgba(255,214,236,.10),
    0 0 18px rgba(184,164,255,.10),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.achievement-section .achievement-row.title-theme-dream .achievement-name{
  box-shadow:
    0 0 0 1px rgba(255,238,246,.22),
    0 0 16px rgba(198,170,255,.18),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
}

/* 何が好き：散落小圓點 */
.achievement-section .achievement-row.title-theme-aiscream{
  background:
    radial-gradient(circle at 16% 28%, rgba(236,160,191,.34) 0 4px, transparent 5px),
    radial-gradient(circle at 34% 74%, rgba(106,198,201,.30) 0 4px, transparent 5px),
    radial-gradient(circle at 58% 30%, rgba(223,201,177,.30) 0 4px, transparent 5px),
    radial-gradient(circle at 74% 68%, rgba(236,160,191,.28) 0 4px, transparent 5px),
    radial-gradient(circle at 88% 36%, rgba(106,198,201,.28) 0 4px, transparent 5px),
    linear-gradient(90deg, rgba(252,245,247,.10), rgba(255,255,255,.02)) !important;
  box-shadow:
    0 0 0 1px rgba(140,97,67,.08),
    0 0 14px rgba(173,128,97,.08),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.achievement-section .achievement-row.title-theme-aiscream .achievement-name{
  box-shadow:
    0 0 0 1px rgba(159,117,87,.18),
    0 0 12px rgba(191,148,118,.12),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
}
/* ===== 特別成就安全特效：A 小膠囊呼吸光 + C 左側色條脈衝 ===== */

/* A：四個特殊稱號小膠囊呼吸光 */
.achievement-section .achievement-row.title-theme-no10 .achievement-name,
.achievement-section .achievement-row.title-theme-yohane .achievement-name,
.achievement-section .achievement-row.title-theme-dream .achievement-name,
.achievement-section .achievement-row.title-theme-aiscream .achievement-name{
  animation:specialBadgeGlow 3.8s ease-in-out infinite!important;
}

@keyframes specialBadgeGlow{
  0%,100%{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.22),
      0 0 0 rgba(255,255,255,0)!important;
  }
  50%{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.34),
      0 0 20px rgba(255,255,255,.34)!important;
  }
}

/* C：四個特殊成就左側色條脈衝 */
.achievement-section .achievement-row.title-theme-no10::before,
.achievement-section .achievement-row.title-theme-yohane::before,
.achievement-section .achievement-row.title-theme-dream::before,
.achievement-section .achievement-row.title-theme-aiscream::before{
  animation:specialSidePulse 3s ease-in-out infinite!important;
}

@keyframes specialSidePulse{
  0%,100%{
    opacity:.72;
    filter:brightness(1);
  }
  50%{
    opacity:1;
    filter:brightness(1.55);
  }
}
/* 特別成就左側色條調細 */
.achievement-section .achievement-row.title-theme-no10::before,
.achievement-section .achievement-row.title-theme-yohane::before,
.achievement-section .achievement-row.title-theme-dream::before,
.achievement-section .achievement-row.title-theme-aiscream::before{
  width:6px!important;
}

/* Locked special achievements should read as previews, not earned badges. */
.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-yohane,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-dream,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aiscream{
  opacity:.82!important;
  filter:saturate(.82) brightness(.88) contrast(.96)!important;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10::before,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-yohane::before,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-dream::before,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aiscream::before{
  opacity:.62!important;
  filter:none!important;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10::after,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-yohane::after,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-dream::after,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aiscream::after{
  opacity:.42!important;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10 .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-yohane .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-dream .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aiscream .achievement-name{
  opacity:.74!important;
  filter:saturate(.82) brightness(.9)!important;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10 .achievement-name::after,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-yohane .achievement-name::after,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-dream .achievement-name::after,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aiscream .achievement-name::after{
  opacity:.55!important;
}

/* Unlocked special achievements get the premium treatment. */
.achievement-section .achievement-row.is-unlocked.title-theme-no10,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane,
.achievement-section .achievement-row.is-unlocked.title-theme-dream,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream{
  position:relative!important;
  isolation:isolate;
  transform:translateZ(0);
  border-color:rgba(255,255,255,.48)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-no10::before,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane::before,
.achievement-section .achievement-row.is-unlocked.title-theme-dream::before,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream::before{
  opacity:1!important;
  filter:brightness(1.28) saturate(1.2)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-no10::after,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane::after,
.achievement-section .achievement-row.is-unlocked.title-theme-dream::after,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream::after{
  opacity:1!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-no10 .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-dream .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream .achievement-name{
  filter:brightness(1.08) saturate(1.12)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-no10 .achievement-name::after,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane .achievement-name::after,
.achievement-section .achievement-row.is-unlocked.title-theme-dream .achievement-name::after,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream .achievement-name::after{
  opacity:.9!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-no10{
  box-shadow:0 0 0 1px rgba(180,215,255,.20),0 0 22px rgba(90,150,255,.24),0 10px 26px rgba(10,32,85,.20),inset 0 1px 0 rgba(255,255,255,.24)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-yohane{
  box-shadow:0 0 0 1px rgba(136,255,241,.22),0 0 24px rgba(31,224,210,.26),0 10px 26px rgba(0,60,80,.20),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-dream{
  box-shadow:0 0 0 1px rgba(255,238,248,.28),0 0 26px rgba(255,176,220,.28),0 0 34px rgba(157,225,255,.18),0 10px 26px rgba(50,48,125,.18),inset 0 1px 0 rgba(255,255,255,.30)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream{
  box-shadow:0 0 0 1px rgba(255,235,221,.24),0 0 24px rgba(112,207,208,.24),0 0 30px rgba(233,158,188,.18),0 10px 26px rgba(95,62,45,.15),inset 0 1px 0 rgba(255,255,255,.24)!important;
}
/* 修正右上角 成就 / 登入 按鈕移開後反黑 */
.auth-mini-btn,
.auth-login-btn,
.auth-mini-btn:hover,
.auth-login-btn:hover,
.auth-mini-btn:focus,
.auth-login-btn:focus,
.auth-mini-btn:focus-visible,
.auth-login-btn:focus-visible,
.auth-mini-btn:active,
.auth-login-btn:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(226,247,255,.90))!important;
  color:#0964ad!important;
  border:1px solid rgba(255,255,255,.86)!important;
  outline:none!important;
  box-shadow:
    0 10px 24px rgba(0,66,130,.14),
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(42,137,210,.08)!important;
  filter:none!important;
}

.auth-mini-btn:hover,
.auth-login-btn:hover,
.auth-mini-btn:focus-visible,
.auth-login-btn:focus-visible{
  background:linear-gradient(180deg,rgba(255,255,255,1),rgba(238,251,255,.96))!important;
  color:#075a9a!important;
  box-shadow:
    0 14px 30px rgba(0,76,150,.18),
    0 0 0 3px rgba(107,205,255,.16),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}

.auth-mini-btn:active,
.auth-login-btn:active{
  transform:scale(.98)!important;
}

/* 異次元フェス合作：偶像大師角色標籤。不要用死黑，改成偏灰黑。 */
.gen-imas,
.select-gen-chip.gen-imas,
.round-log-group.gen-imas,
.select-gen-option.gen-imas .select-gen-bar{
  background:linear-gradient(180deg,rgba(54,58,70,.92),rgba(32,35,44,.94))!important;
  color:rgba(245,247,252,.94)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.16)!important;
}
.select-gen-option.gen-imas{
  background:rgba(42,45,56,.28)!important;
}


/* ===== special achievement: Aqours CLUB / Liella! CLUB ===== */
.title-theme-aqours-club{
  --title-accent:#7dd5ff;
  --title-text:#eefaff;
  --title-bg:
    linear-gradient(135deg,rgba(255,255,255,.16) 0 14%,transparent 14% 30%,rgba(255,220,60,.18) 30% 44%,transparent 44% 64%,rgba(255,255,255,.14) 64% 76%,transparent 76%),
    linear-gradient(90deg,rgba(62,167,235,.92),rgba(25,127,216,.88));
  --title-border:rgba(201,240,255,.65);
  --title-shadow:rgba(49,149,225,.22);
}
.title-theme-liella-club{
  --title-accent:#e88bc9;
  --title-text:#fff9ff;
  --title-bg:linear-gradient(90deg,rgba(183,129,244,.96),rgba(244,129,198,.92));
  --title-border:rgba(244,201,237,.62);
  --title-shadow:rgba(173,97,205,.24);
}

.achievement-section .achievement-row.title-theme-aqours-club{
  background:
    linear-gradient(135deg,rgba(255,255,255,.10) 0 12%,transparent 12% 22%,rgba(255,225,78,.16) 22% 36%,transparent 36% 54%,rgba(255,255,255,.08) 54% 66%,transparent 66%),
    linear-gradient(90deg,rgba(47,153,232,.94),rgba(23,122,214,.92))!important;
  border-color:rgba(186,232,255,.34)!important;
  box-shadow:0 0 20px rgba(63,162,235,.16), inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.achievement-section .achievement-row.title-theme-aqours-club::before{
  width:5px!important;
  background:linear-gradient(180deg,#d6f6ff,#8fe2ff,#4cb8ef)!important;
  opacity:.98!important;
  box-shadow:0 0 12px rgba(116,212,255,.28);
}
.achievement-section .achievement-row.title-theme-aqours-club .achievement-name{
  position:relative;
  padding-right:40px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08)),
    linear-gradient(90deg,rgba(86,178,224,.82),rgba(66,129,211,.64))!important;
  border-color:rgba(210,243,255,.72)!important;
  box-shadow:0 0 18px rgba(102,200,255,.16), inset 0 1px 0 rgba(255,255,255,.32)!important;
  color:#eefcff!important;
}
.achievement-section .achievement-row.title-theme-aqours-club .achievement-name::after{
  content:"CLUB";
  position:absolute;
  right:7px;
  top:50%;
  transform:translateY(-50%) skewX(-10deg) scale(.82);
  transform-origin:right center;
  padding:0 4px 1px;
  border-radius:999px;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.02em;
  color:#ffd84d;
  background:rgba(33,116,176,.46);
  border:1px solid rgba(255,229,102,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.achievement-section .achievement-row.title-theme-liella-club{
  background:
    radial-gradient(circle at 14% 26%,rgba(255,157,214,.22) 0 6px,transparent 6.4px),
    radial-gradient(circle at 73% 34%,rgba(255,157,214,.18) 0 6px,transparent 6.4px),
    radial-gradient(circle at 86% 70%,rgba(138,154,158,.20) 0 7px,transparent 7.4px),
    repeating-linear-gradient(135deg,rgba(255,166,218,.14) 0 2px,transparent 2px 12px),
    linear-gradient(90deg,rgba(131,113,232,.94),rgba(87,132,232,.88))!important;
  border-color:rgba(236,194,244,.34)!important;
  box-shadow:0 0 22px rgba(167,121,235,.16), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.achievement-section .achievement-row.title-theme-liella-club::before{
  width:5px!important;
  background:linear-gradient(180deg,#ffd6ee,#f099d7,#bf7ef0)!important;
  opacity:.98!important;
  box-shadow:0 0 12px rgba(241,141,214,.26);
}
.achievement-section .achievement-row.title-theme-liella-club .achievement-name{
  position:relative;
  overflow:visible;
  padding-right:40px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08)),
    linear-gradient(90deg,rgba(181,135,242,.88),rgba(122,110,231,.82))!important;
  border-color:rgba(242,206,250,.72)!important;
  box-shadow:0 0 18px rgba(176,121,236,.18), inset 0 1px 0 rgba(255,255,255,.34)!important;
  color:#fff7ff!important;
  text-shadow:0 0 8px rgba(255,255,255,.10);
}
.achievement-section .achievement-row.title-theme-liella-club .achievement-name::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.16) 46%,transparent 50%),
    linear-gradient(180deg,rgba(255,255,255,.08),transparent);
  pointer-events:none;
}
.achievement-section .achievement-row.title-theme-liella-club .achievement-name::after{
  content:"CLUB";
  position:absolute;
  right:7px;
  top:50%;
  transform:translateY(-50%) skewX(-10deg) scale(.82);
  transform-origin:right center;
  padding:0 4px 1px;
  border-radius:999px;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.02em;
  color:#ffd1ea;
  background:rgba(124,92,202,.48);
  border:1px solid rgba(255,207,235,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.achievement-section .achievement-row:not(.is-unlocked).title-theme-aqours-club,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-liella-club{
  filter:saturate(.9) brightness(.96);
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aqours-club::before,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-liella-club::before{
  opacity:.46!important;
}


/* ===== stronger locked/unlocked contrast for special achievements, without changing the base designs ===== */
.achievement-section .achievement-row.title-theme-aqours-club,
.achievement-section .achievement-row.title-theme-liella-club,
.achievement-section .achievement-row.title-theme-no10,
.achievement-section .achievement-row.title-theme-yohane,
.achievement-section .achievement-row.title-theme-dream,
.achievement-section .achievement-row.title-theme-aiscream{
  transition:filter .22s ease, opacity .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.achievement-section .achievement-row:not(.is-unlocked).title-theme-aqours-club,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-liella-club,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-yohane,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-dream,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aiscream{
  opacity:.74!important;
  filter:saturate(.78) brightness(.82) contrast(.96)!important;
  border-color:rgba(255,255,255,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}

.achievement-section .achievement-row:not(.is-unlocked).title-theme-aqours-club .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-liella-club .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10 .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-yohane .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-dream .achievement-name,
.achievement-section .achievement-row:not(.is-unlocked).title-theme-aiscream .achievement-name{
  opacity:.78!important;
  filter:saturate(.86) brightness(.9)!important;
  box-shadow:0 3px 8px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.12)!important;
}

.achievement-section .achievement-row.is-unlocked.title-theme-aqours-club,
.achievement-section .achievement-row.is-unlocked.title-theme-liella-club,
.achievement-section .achievement-row.is-unlocked.title-theme-no10,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane,
.achievement-section .achievement-row.is-unlocked.title-theme-dream,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream{
  opacity:1!important;
  filter:saturate(1.14) brightness(1.08) contrast(1.02)!important;
  border-color:rgba(255,255,255,.70)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.28),
    0 0 18px rgba(255,255,255,.18),
    0 10px 26px rgba(0,45,120,.16),
    inset 0 1px 0 rgba(255,255,255,.28)!important;
}

.achievement-section .achievement-row.is-unlocked.title-theme-aqours-club .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-liella-club .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-no10 .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-dream .achievement-name,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream .achievement-name{
  opacity:1!important;
  filter:saturate(1.16) brightness(1.12)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.20),
    0 0 14px rgba(255,255,255,.24),
    0 5px 14px rgba(0,40,100,.12),
    inset 0 1px 0 rgba(255,255,255,.40)!important;
}

.achievement-section .achievement-row.is-unlocked.title-theme-aqours-club::before,
.achievement-section .achievement-row.is-unlocked.title-theme-liella-club::before,
.achievement-section .achievement-row.is-unlocked.title-theme-no10::before,
.achievement-section .achievement-row.is-unlocked.title-theme-yohane::before,
.achievement-section .achievement-row.is-unlocked.title-theme-dream::before,
.achievement-section .achievement-row.is-unlocked.title-theme-aiscream::before{
  opacity:1!important;
  filter:brightness(1.35) saturate(1.24)!important;
  box-shadow:0 0 14px rgba(255,255,255,.30)!important;
}

/* No.10 special title: Thank you, FRIENDS!! sky palette */
.title-theme-no10{
  --title-accent:#8fe7ff;
  --title-text:#f7fcff;
  --title-bg:
    linear-gradient(180deg,rgba(157,226,255,.96),rgba(69,174,229,.88));
  --title-border:rgba(235,250,255,.82);
  --title-shadow:rgba(94,194,240,.22);
}

.achievement-section .achievement-row.title-theme-no10{
  padding-left:10px!important;
  background:
    radial-gradient(ellipse at 24% -18%,rgba(255,255,255,.46) 0 16%,transparent 48%),
    radial-gradient(ellipse at 78% 122%,rgba(255,213,229,.24) 0 14%,transparent 46%),
    linear-gradient(115deg,transparent 0 24%,rgba(255,255,255,.16) 38%,transparent 54% 100%),
    linear-gradient(165deg,transparent 0 58%,rgba(255,244,176,.14) 70%,transparent 84% 100%),
    linear-gradient(180deg,rgba(255,255,255,.22) 0 1px,transparent 1px 100%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.06)),
    linear-gradient(90deg,rgba(86,183,234,.90),rgba(37,142,218,.86) 52%,rgba(119,205,243,.78) 100%)!important;
  border-color:rgba(238,252,255,.68)!important;
  overflow:hidden!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.28),
    0 0 18px rgba(139,226,255,.20),
    0 10px 26px rgba(42,142,210,.14),
    inset 0 1px 0 rgba(255,255,255,.34)!important;
}

.achievement-section .achievement-row.title-theme-no10::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  height:auto!important;
  transform:none!important;
  display:block!important;
  border-radius:13px 0 0 13px!important;
  background:linear-gradient(180deg,#ffd7e8 0%,#ffffff 42%,#9eeaff 100%)!important;
  border:0!important;
  opacity:.96!important;
  box-shadow:0 0 10px rgba(210,244,255,.36)!important;
  filter:none!important;
}

.achievement-section .achievement-row.title-theme-no10::after{
  content:"10"!important;
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  width:auto!important;
  height:auto!important;
  transform:translate3d(0,-50%,0) skewX(-10deg)!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
  font-size:4.3rem!important;
  font-weight:900!important;
  letter-spacing:-.16em!important;
  line-height:1!important;
  pointer-events:none!important;
  border-radius:0!important;
  color:rgba(255,255,255,.30)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.56),rgba(222,249,255,.25) 54%,rgba(143,222,255,.24))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:1px rgba(255,255,255,.18)!important;
  text-shadow:0 0 14px rgba(255,255,255,.22),0 0 28px rgba(135,223,255,.18)!important;
  opacity:.78!important;
}

.achievement-section .achievement-row.title-theme-no10 .achievement-name{
  color:#f8fdff!important;
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:
    radial-gradient(circle at 14% 30%,rgba(255,255,255,.36) 0 2px,transparent 3px),
    linear-gradient(90deg,rgba(255,214,229,.16),transparent 28%,rgba(255,245,176,.12) 72%,transparent),
    linear-gradient(180deg,rgba(107,202,243,.84),rgba(48,157,219,.76))!important;
  border:1px solid rgba(246,253,255,.72)!important;
  box-shadow:
    0 4px 12px rgba(74,183,232,.18),
    0 0 12px rgba(166,235,255,.22),
    0 5px 14px rgba(36,132,202,.12),
    inset 0 1px 0 rgba(255,255,255,.36)!important;
  text-shadow:0 1px 5px rgba(27,118,184,.26)!important;
}

.achievement-section .achievement-row.title-theme-no10 .achievement-name::after{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.50),transparent)!important;
}

.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10{
  opacity:.72!important;
  filter:saturate(.58) brightness(.72) contrast(.96)!important;
  border-color:rgba(210,232,240,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10::before{
  opacity:.72!important;
  filter:saturate(.78) brightness(.86)!important;
  box-shadow:0 0 6px rgba(190,232,248,.18)!important;
}

.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10::after{
  opacity:.38!important;
}

.achievement-section .achievement-row:not(.is-unlocked).title-theme-no10 .achievement-name{
  opacity:.70!important;
  filter:saturate(.62) brightness(.76)!important;
  box-shadow:0 3px 8px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.16)!important;
}

.achievement-section .achievement-row.is-unlocked.title-theme-no10{
  filter:saturate(1.10) brightness(1.06) contrast(1.01)!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.34),
    0 0 24px rgba(154,232,255,.36),
    0 0 36px rgba(255,211,226,.16),
    0 10px 26px rgba(35,132,205,.15),
    inset 0 1px 0 rgba(255,255,255,.54)!important;
}

.achievement-section .achievement-row.is-unlocked.title-theme-no10::after{
  opacity:.82!important;
}

.achievement-section .achievement-row.title-theme-no10::before,
.achievement-section .achievement-row.title-theme-yohane::before,
.achievement-section .achievement-row.title-theme-dream::before,
.achievement-section .achievement-row.title-theme-aiscream::before,
.achievement-section .achievement-row.title-theme-aqours-club::before,
.achievement-section .achievement-row.title-theme-liella-club::before{
  width:5px!important;
}

.leaderboard-title-badge.title-theme-no10,
.auth-player-title.title-theme-no10{
  background:
    linear-gradient(120deg,rgba(255,255,255,.26),transparent 34%,rgba(255,255,255,.18) 66%,transparent 100%),
    var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 14px rgba(145,229,255,.34), inset 0 1px 0 rgba(255,255,255,.42)!important;
  text-shadow:0 1px 6px rgba(27,118,184,.28),0 0 10px rgba(255,255,255,.24)!important;
}


/* ===== Plugin helper button + modal ===== */
.plugin-float-btn{
  position:fixed!important;
  top:43px!important;
  left:14px!important;
  z-index:1200!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.86)!important;
  background:linear-gradient(180deg,rgba(240,250,255,.93),rgba(218,240,255,.88))!important;
  color:#145c9c!important;
  font-family:inherit!important;
  font-size:.6rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 12px 26px rgba(0,55,130,.14), inset 0 1px 0 rgba(255,255,255,.82), inset 0 -1px 0 rgba(21,98,165,.08)!important;
  backdrop-filter:blur(12px) saturate(1.1)!important;
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease!important;
}
.plugin-float-btn:hover,
.plugin-float-btn:focus-visible{
  background:linear-gradient(180deg,rgba(250,254,255,.98),rgba(226,246,255,.92))!important;
  border-color:rgba(117,215,255,.95)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 16px 34px rgba(0,76,160,.20), 0 0 0 3px rgba(107,205,255,.22), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.plugin-float-btn:active{transform:scale(.98)!important;}

.plugin-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:20000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(3,20,45,.58);
  backdrop-filter:blur(10px);
}
.plugin-modal-backdrop.open{display:flex;}
.plugin-modal{
  width:min(430px,94vw);
  max-height:min(92vh,760px);
  overflow:auto;
  padding:22px;
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.50),transparent 42%),
    linear-gradient(180deg,rgba(236,250,255,.98),rgba(204,239,255,.96));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 26px 70px rgba(0,42,105,.34), inset 0 1px 0 rgba(255,255,255,.70);
  color:#0d5f9f;
  transform:translateY(8px) scale(.98);
  opacity:0;
  animation:sponsorPop .18s ease-out forwards;
}
.plugin-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.plugin-modal-title{
  font-size:1.08rem;
  font-weight:900;
  color:#0865aa;
  letter-spacing:.02em;
}
.plugin-close{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(13,95,159,.16);
  background:rgba(255,255,255,.72);
  color:#0d5f9f;
  cursor:pointer;
  font-size:1.08rem;
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,70,140,.10);
}
.plugin-copy{
  margin:0 0 15px;
  padding:14px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(255,255,255,.76);
  color:#236fa8;
  font-size:.93rem;
  line-height:1.65;
  font-weight:800;
}
.plugin-download-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(232,249,255,.72));
  border:1px solid rgba(20,120,190,.18);
  color:#0d5f9f;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(0,78,145,.08);
}
.plugin-card-main{display:flex;flex-direction:column;gap:4px;min-width:0;}
.plugin-card-title{font-weight:950;color:#0865aa;font-size:.98rem;}
.plugin-card-desc{font-weight:800;color:rgba(35,111,168,.72);font-size:.82rem;line-height:1.45;}
.plugin-download-btn{
  flex:0 0 auto;
  min-width:74px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:linear-gradient(180deg,#39b8ff,#1689d8);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
  font-weight:950;
  box-shadow:0 10px 18px rgba(0,110,190,.18);
}
.plugin-note{
  margin-top:12px;
  text-align:right;
  color:rgba(13,95,159,.62);
  font-size:.78rem;
  font-weight:900;
}

@media (min-width:981px){
  .plugin-float-btn{
    top:calc(7px + var(--ui-control-h,28px) + 8px)!important;
    left:var(--ui-control-left,14px)!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    height:32px!important;
    min-height:32px!important;
    font-size:.6rem!important;
  }
}
@media (max-width:980px){
  .plugin-float-btn{display:none!important;}
}

/* ===== Legal footer links + shared info modal ===== */
.legal-links{
  position:fixed;
  left:var(--ui-control-left,18px);
  bottom:calc(env(safe-area-inset-bottom,0px) + clamp(10px,1.7vh,18px));
  z-index:850;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  max-width:min(var(--ui-nav-width,190px),calc(100vw - 28px));
  padding:3px 5px;
  border-radius:999px;
  background:rgba(8,80,145,.08);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:none;
  backdrop-filter:blur(4px) saturate(1.02);
  -webkit-backdrop-filter:blur(4px) saturate(1.02);
  color:rgba(236,248,255,.52);
  font-size:clamp(.58rem,.62vw,.68rem);
  line-height:1.35;
  font-weight:800;
  opacity:0;
  animation:none;
}
.legal-links button{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  line-height:inherit;
  cursor:pointer;
  padding:1px 2px;
  text-decoration:none;
  white-space:nowrap;
  transition:color .16s ease, text-shadow .16s ease;
}
.legal-links span{
  color:rgba(236,248,255,.26);
  padding:0 2px;
}
.legal-links button:hover,
.legal-links button:focus-visible{
  color:rgba(255,255,255,.96);
  text-shadow:0 0 10px rgba(120,205,255,.34);
  outline:none;
}
@keyframes legalLinksFadeIn{
  from{opacity:0;}
  to{opacity:.82;}
}
html.gw-current-prehide .legal-links,
html.gw-current-run .legal-links{
  opacity:0!important;
  animation:none!important;
  pointer-events:none;
}
html.gw-current-done .legal-links{
  animation:legalLinksFadeIn .32s ease .02s forwards;
}
.legal-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:30020;
  display:none;
  align-items:center;
  justify-content:center;
  padding:clamp(14px,3vw,24px);
  background:rgba(0,45,95,.42);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.legal-modal-backdrop.open{display:flex;}
.legal-modal{
  width:min(560px,94vw);
  max-height:min(78vh,680px);
  overflow:auto;
  border-radius:24px;
  padding:20px;
  color:#fff;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.24),transparent 44%),
    linear-gradient(180deg,rgba(17,125,205,.94),rgba(5,80,165,.90));
  border:1px solid rgba(255,255,255,.40);
  box-shadow:0 26px 70px rgba(0,40,100,.34), inset 0 1px 0 rgba(255,255,255,.25);
  animation:rulePop .18s ease-out both;
}
.legal-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.legal-modal-kicker{
  margin-bottom:5px;
  color:rgba(225,247,255,.76);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.14em;
}
.legal-modal-head h3{
  margin:0;
  font-size:1.45rem;
  font-weight:950;
  letter-spacing:.02em;
  line-height:1.15;
}
.legal-close{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.14);
  color:#fff;
  cursor:pointer;
  font-size:1.25rem;
  font-weight:800;
}
.legal-modal-body{
  display:grid;
  gap:12px;
  padding:15px;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.legal-modal-body p{
  margin:0;
  color:rgba(255,255,255,.90);
  font-size:.94rem;
  line-height:1.75;
  font-weight:750;
}
@media (min-width:981px) and (max-height:760px){
  .legal-links{
    max-width:calc(var(--ui-nav-width,190px) - 8px);
    font-size:clamp(.56rem,.6vw,.64rem);
    padding:3px 5px;
  }
}
@media (max-width:980px){
  body{
    padding-bottom:calc(env(safe-area-inset-bottom,0px) + 82px)!important;
  }
  .legal-links{
    left:clamp(10px,3.4vw,18px);
    right:clamp(10px,3.4vw,18px);
    bottom:calc(env(safe-area-inset-bottom,0px) + 10px);
    width:auto;
    max-width:none;
    justify-content:center;
    padding:4px 8px;
    font-size:clamp(.6rem,2.55vw,.7rem);
    background:rgba(8,80,145,.12);
  }
  .legal-modal{
    width:min(520px,calc(100vw - 24px));
    max-height:min(78vh,680px);
    border-radius:22px;
    padding:18px;
  }
}
@media (max-width:360px){
  .legal-links{
    border-radius:16px;
    row-gap:2px;
  }
  .legal-links span{
    padding:0 2px;
  }
}

/* Update log unread dot */
#updateNavBtn.has-update-dot,
[data-update-nav].has-update-dot,
.update-nav-btn.has-update-dot{
  position:relative!important;
  overflow:visible!important;
}
#updateNavBtn.has-update-dot::after,
[data-update-nav].has-update-dot::after,
.update-nav-btn.has-update-dot::after{
  content:none!important;
  display:none!important;
}
#updateNavBtn .update-dot-visual,
[data-update-nav] .update-dot-visual,
.update-nav-btn .update-dot-visual{
  position:absolute!important;
  top:50%!important;
  right:12px!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  border-radius:999px!important;
  background:#ff3b5c!important;
  border:0!important;
  box-shadow:0 0 10px rgba(255,59,92,.75)!important;
  transform:translateY(-50%)!important;
  opacity:1!important;
  pointer-events:none!important;
  margin:0!important;
  z-index:5!important;
  box-sizing:border-box!important;
}
#updateNavBtn .update-dot-visual::after,
[data-update-nav] .update-dot-visual::after,
.update-nav-btn .update-dot-visual::after{
  content:none!important;
  display:none!important;
}
#updateNavBtn .update-dot-visual[hidden],
[data-update-nav] .update-dot-visual[hidden],
.update-nav-btn .update-dot-visual[hidden]{
  display:none!important;
}
@media (max-width:600px){
  #updateNavBtn .update-dot-visual,
  [data-update-nav] .update-dot-visual,
  .update-nav-btn .update-dot-visual{
    right:10px!important;
    width:7px!important;
    height:7px!important;
    min-width:7px!important;
  }
}

/* ===== Performance pass: early low-end mode + local question animation ===== */
html.low-perf body,
body.low-perf{
  scroll-behavior:auto!important;
}
html.low-perf #llSilhouetteLayer,
html.low-perf .leader-strip-bg,
html.low-perf body::before,
html.low-perf body::after,
body.low-perf #llSilhouetteLayer,
body.low-perf .leader-strip-bg,
body.low-perf::before,
body.low-perf::after{
  display:none!important;
}
html.low-perf *,
html.low-perf *::before,
html.low-perf *::after,
body.low-perf *,
body.low-perf *::before,
body.low-perf *::after{
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  will-change:auto!important;
}
html.low-perf .butterfly,
body.low-perf .butterfly{
  display:none!important;
}
html.low-perf .game-card,
html.low-perf .round-log-panel,
html.low-perf #rankPanel,
html.low-perf .gen-btn,
html.low-perf .top-nav-links button,
html.low-perf .auth-top,
html.low-perf .auth-user-menu,
html.low-perf .auth-mini-btn,
html.low-perf .auth-login-btn,
html.low-perf .auth-inbox-btn,
html.low-perf .sponsor-float-btn,
html.low-perf .plugin-float-btn,
html.low-perf .legal-links,
html.low-perf .notice-modal,
html.low-perf .rule-modal,
html.low-perf .collection-modal,
html.low-perf .update-modal,
html.low-perf .leaderboard-modal,
html.low-perf .achievement-modal,
html.low-perf .share-modal,
html.low-perf .auth-modal,
html.low-perf .sponsor-modal,
html.low-perf .plugin-modal,
html.low-perf .legal-modal,
html.low-perf .inbox-modal,
body.low-perf .game-card,
body.low-perf .round-log-panel,
body.low-perf #rankPanel,
body.low-perf .gen-btn,
body.low-perf .top-nav-links button,
body.low-perf .auth-top,
body.low-perf .auth-user-menu,
body.low-perf .auth-mini-btn,
body.low-perf .auth-login-btn,
body.low-perf .auth-inbox-btn,
body.low-perf .sponsor-float-btn,
body.low-perf .plugin-float-btn,
body.low-perf .legal-links,
body.low-perf .notice-modal,
body.low-perf .rule-modal,
body.low-perf .collection-modal,
body.low-perf .update-modal,
body.low-perf .leaderboard-modal,
body.low-perf .achievement-modal,
body.low-perf .share-modal,
body.low-perf .auth-modal,
body.low-perf .sponsor-modal,
body.low-perf .plugin-modal,
body.low-perf .legal-modal,
body.low-perf .inbox-modal{
  box-shadow:0 8px 18px rgba(0,45,110,.10)!important;
}
html.low-perf .notice-modal-backdrop,
html.low-perf .rule-modal-backdrop,
html.low-perf .collection-modal-backdrop,
html.low-perf .update-modal-backdrop,
html.low-perf .leaderboard-modal-backdrop,
html.low-perf .achievement-modal-backdrop,
html.low-perf .share-modal-backdrop,
html.low-perf .auth-modal-backdrop,
html.low-perf .sponsor-modal-backdrop,
html.low-perf .plugin-modal-backdrop,
html.low-perf .legal-modal-backdrop,
html.low-perf .inbox-modal-backdrop,
body.low-perf .notice-modal-backdrop,
body.low-perf .rule-modal-backdrop,
body.low-perf .collection-modal-backdrop,
body.low-perf .update-modal-backdrop,
body.low-perf .leaderboard-modal-backdrop,
body.low-perf .achievement-modal-backdrop,
body.low-perf .share-modal-backdrop,
body.low-perf .auth-modal-backdrop,
body.low-perf .sponsor-modal-backdrop,
body.low-perf .plugin-modal-backdrop,
body.low-perf .legal-modal-backdrop,
body.low-perf .inbox-modal-backdrop{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(0,45,95,.34)!important;
}
html.low-perf .achievement-row,
html.low-perf .leaderboard-row,
html.low-perf .notice-card,
html.low-perf .collection-card,
html.low-perf .inbox-message-item,
body.low-perf .achievement-row,
body.low-perf .leaderboard-row,
body.low-perf .notice-card,
body.low-perf .collection-card,
body.low-perf .inbox-message-item{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
}
#llsqLoadingScreen{
  transition:opacity .46s ease, visibility .46s ease!important;
}
html.low-perf .llsq-loading-title,
html.low-perf .llsq-loading-mark,
body.low-perf .llsq-loading-title,
body.low-perf .llsq-loading-mark{
  animation:none!important;
}
@media (prefers-reduced-motion:reduce){
  #llsqLoadingScreen{
    transition:opacity .46s ease, visibility .46s ease!important;
  }
  .llsq-loading-title,
  .llsq-loading-mark{
    animation:none!important;
  }
}
.animate__animated{
  animation-duration:.55s;
  animation-fill-mode:both;
}
.animate__fadeInUp{
  animation-name:gwLiteFadeInUp;
}
.animate__bounceInDown{
  animation-name:gwLiteBounceInDown;
}
@keyframes gwLiteFadeInUp{
  from{opacity:0;transform:translate3d(0,12px,0);}
  to{opacity:1;transform:none;}
}
@keyframes gwLiteBounceInDown{
  0%{opacity:0;transform:translate3d(0,-18px,0) scale(.98);}
  60%{opacity:1;transform:translate3d(0,4px,0) scale(1.01);}
  100%{transform:none;}
}

body.gw-intro-active .plugin-float-btn{
  animation:gwTopControlIn .52s cubic-bezier(.2,.9,.2,1) both!important;
  animation-delay:.16s!important;
}
html.gw-current-prehide .plugin-float-btn{
  opacity:0!important;
  transform:translateY(-8px)!important;
}
html.gw-current-run .plugin-float-btn{
  transition:opacity .48s cubic-bezier(.2,.9,.2,1), transform .48s cubic-bezier(.2,.9,.2,1)!important;
  transition-delay:.12s!important;
}
html.gw-current-done .plugin-float-btn{
  opacity:1!important;
  transform:none!important;
}


/* plugin button clipping fix */
.plugin-float-btn{
  box-sizing:border-box!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* ===== Final plugin button layout: same size as language, under language ===== */
@media (min-width:981px){
  .plugin-float-btn{
    position:fixed!important;
    top:48px!important;
    left:14px!important;
    width:var(--ui-control-w,62px)!important;
    min-width:var(--ui-control-w,62px)!important;
    max-width:var(--ui-control-w,62px)!important;
    height:var(--ui-control-h,28px)!important;
    min-height:var(--ui-control-h,28px)!important;
    max-height:var(--ui-control-h,28px)!important;
    padding:0 var(--ui-control-pad,7px)!important;
    border-radius:var(--ui-control-radius,14px)!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .plugin-float-btn:hover,
  .plugin-float-btn:focus-visible{
    transform:translateY(-1px)!important;
  }
  html.gw-current-done .plugin-float-btn{
    transform:none!important;
  }
}
@media (max-width:980px){
  .plugin-float-btn{display:none!important;}
}

/* Final loading/intro gate: keep background silhouettes from leaking before the page intro. */
html.llsq-loading-active:not(.llsq-loading-reveal) #llSilhouetteLayer,
html.llsq-loading-active:not(.llsq-loading-reveal) .leader-strip-bg,
html.llsq-loading-active:not(.llsq-loading-reveal) body::before,
html.llsq-loading-active:not(.llsq-loading-reveal) body::after,
html.gw-current-prehide #llSilhouetteLayer,
html.gw-current-prehide .leader-strip-bg,
html.gw-current-prehide body::before,
html.gw-current-prehide body::after,
html.gw-current-run #llSilhouetteLayer,
html.gw-current-run .leader-strip-bg,
html.gw-current-run body::before,
html.gw-current-run body::after{
  opacity:0!important;
}
html.gw-current-done #llSilhouetteLayer{
  opacity:.095!important;
  transition:opacity .55s ease .58s!important;
}
html.gw-current-done .leader-strip-bg{
  opacity:.10!important;
  transition:opacity .55s ease .58s!important;
}
html.gw-current-done body::before,
html.gw-current-done body::after{
  opacity:1!important;
  transition:opacity .55s ease .58s!important;
}
html.llsq-loading-reveal #llSilhouetteLayer{
  opacity:.095!important;
  transition:opacity .45s ease!important;
}
html.llsq-loading-reveal .leader-strip-bg{
  opacity:.10!important;
  transition:opacity .45s ease!important;
}
html.llsq-loading-reveal body::before,
html.llsq-loading-reveal body::after{
  opacity:1!important;
  transition:opacity .45s ease!important;
}

/* ===== special achievement: Saint Snow ===== */
.title-theme-saint-snow{
  --title-accent:#d92c4c;
  --title-text:#fff7fb;
  --title-bg:
    radial-gradient(circle at 74% 28%,rgba(178,68,255,.20),transparent 24%),
    linear-gradient(135deg,rgba(12,9,18,.98),rgba(45,20,62,.92) 48%,rgba(112,18,38,.82));
  --title-border:rgba(232,102,134,.62);
  --title-shadow:rgba(202,38,78,.24);
}

.achievement-section .achievement-row.title-theme-saint-snow{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.15) 0 1px,transparent 2px),
    radial-gradient(circle at 36% 72%,rgba(255,255,255,.12) 0 1px,transparent 2px),
    radial-gradient(circle at 72% 34%,rgba(225,54,92,.28),transparent 24%),
    linear-gradient(115deg,transparent 0 18%,rgba(255,255,255,.07) 19% 20%,transparent 21% 44%,rgba(190,48,86,.14) 45% 47%,transparent 48%),
    linear-gradient(90deg,rgba(10,8,15,.97),rgba(42,22,62,.94) 54%,rgba(98,18,39,.88))!important;
  border-color:rgba(236,110,142,.34)!important;
  box-shadow:0 0 20px rgba(179,42,88,.16),0 0 28px rgba(118,52,178,.10),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.achievement-section .achievement-row.title-theme-saint-snow::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  border-radius:13px 0 0 13px!important;
  background:linear-gradient(180deg,#f7f1ff,#b12d72 48%,#d9233f)!important;
  opacity:.96!important;
  box-shadow:0 0 14px rgba(216,40,76,.40)!important;
}
.achievement-section .achievement-row.title-theme-saint-snow::after{
  content:"SS"!important;
  position:absolute!important;
  right:16px!important;
  top:50%!important;
  transform:translateY(-50%) skewX(-10deg)!important;
  font-size:4rem!important;
  font-weight:900!important;
  line-height:1!important;
  pointer-events:none!important;
  color:rgba(255,255,255,.10)!important;
  -webkit-text-stroke:1px rgba(255,230,238,.16)!important;
  text-shadow:0 0 18px rgba(222,44,88,.18),0 0 32px rgba(130,68,210,.14)!important;
}
.achievement-section .achievement-row.title-theme-saint-snow .achievement-name{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
  color:#fff7fb!important;
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:4px 12px!important;
  border-radius:999px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.18),transparent 30%),
    linear-gradient(90deg,rgba(19,14,27,.96),rgba(82,29,78,.86) 54%,rgba(176,34,58,.80))!important;
  border:1px solid rgba(248,179,198,.68)!important;
  box-shadow:0 0 14px rgba(219,45,86,.24),0 0 24px rgba(123,60,198,.12),inset 0 1px 0 rgba(255,255,255,.30)!important;
  text-shadow:0 0 8px rgba(255,211,225,.28)!important;
}
.achievement-section .achievement-row.title-theme-saint-snow .achievement-name::before{
  content:""!important;
  width:10px!important;
  height:10px!important;
  margin-right:7px!important;
  flex:0 0 auto!important;
  background:
    linear-gradient(90deg,transparent 42%,rgba(255,246,252,.88) 42% 58%,transparent 58%),
    linear-gradient(0deg,transparent 42%,rgba(255,246,252,.88) 42% 58%,transparent 58%),
    linear-gradient(45deg,transparent 43%,rgba(222,55,91,.82) 43% 57%,transparent 57%),
    linear-gradient(-45deg,transparent 43%,rgba(222,55,91,.82) 43% 57%,transparent 57%)!important;
  filter:drop-shadow(0 0 5px rgba(255,196,214,.46))!important;
}
.achievement-section .achievement-row.title-theme-saint-snow .achievement-name::after{
  content:""!important;
  position:absolute!important;
  top:-50%!important;
  bottom:-50%!important;
  left:-70%!important;
  width:42%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.54),transparent)!important;
  transform:rotate(18deg)!important;
  animation:specialPillShineSync var(--special-pill-shine-duration,5.8s) ease-in-out infinite!important;
  pointer-events:none!important;
  z-index:2!important;
  mix-blend-mode:screen;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-saint-snow{
  opacity:.74!important;
  filter:saturate(.78) brightness(.82) contrast(.96)!important;
  border-color:rgba(255,255,255,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-saint-snow::before{
  opacity:.62!important;
  filter:none!important;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-saint-snow::after{
  opacity:.42!important;
}
.achievement-section .achievement-row:not(.is-unlocked).title-theme-saint-snow .achievement-name{
  opacity:.78!important;
  filter:saturate(.86) brightness(.9)!important;
  box-shadow:0 3px 8px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-saint-snow{
  opacity:1!important;
  filter:saturate(1.14) brightness(1.08) contrast(1.02)!important;
  border-color:rgba(255,226,235,.72)!important;
  box-shadow:0 0 0 1px rgba(255,210,224,.26),0 0 24px rgba(222,45,88,.30),0 0 34px rgba(121,62,198,.18),0 10px 26px rgba(44,10,32,.20),inset 0 1px 0 rgba(255,255,255,.26)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-saint-snow .achievement-name{
  opacity:1!important;
  filter:saturate(1.16) brightness(1.12)!important;
}
.achievement-section .achievement-row.is-unlocked.title-theme-saint-snow::before{
  opacity:1!important;
  filter:brightness(1.35) saturate(1.24)!important;
  box-shadow:0 0 14px rgba(255,210,224,.34)!important;
}
.leaderboard-title-badge.title-theme-saint-snow,
.auth-player-title.title-theme-saint-snow{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px rgba(222,45,88,.24),0 0 22px rgba(121,62,198,.12)!important;
  text-shadow:0 0 8px rgba(255,211,225,.24)!important;
}

/* ===== special achievement sub groups + Nijigasaki oshi titles ===== */
.achievement-section-special .achievement-section-head{
  margin-bottom:10px!important;
}
.achievement-subsection{
  display:grid!important;
  gap:8px!important;
  margin-top:10px!important;
}
.achievement-subsection-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:6px 9px!important;
  border-radius:10px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.06))!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.achievement-subsection-head h5{
  margin:0!important;
  color:rgba(255,255,255,.94)!important;
  font-size:.86rem!important;
  font-weight:950!important;
  letter-spacing:0!important;
}

.title-theme-niji-ayumu{
  --title-accent:#ff8fb7;
  --title-text:#fff8fb;
  --title-bg:linear-gradient(135deg,rgba(255,155,189,.88),rgba(118,205,190,.46));
  --title-border:rgba(255,216,230,.72);
  --niji-row-bg:linear-gradient(90deg,rgba(42,120,145,.52),rgba(255,143,183,.34) 58%,rgba(255,232,241,.18));
  --niji-pill-bg:linear-gradient(90deg,rgba(255,137,178,.92),rgba(255,185,208,.80));
  --niji-pattern:
    radial-gradient(ellipse at 16% 22%,rgba(255,221,233,.36) 0 6px,transparent 7px),
    radial-gradient(ellipse at 78% 76%,rgba(255,207,225,.24) 0 5px,transparent 6px),
    linear-gradient(90deg,rgba(255,232,240,.36) 0 1px,transparent 1px calc(100% - 1px),rgba(255,232,240,.26) calc(100% - 1px)),
    linear-gradient(135deg,transparent 0 62%,rgba(255,190,215,.16) 63% 68%,transparent 69%);
}
.title-theme-niji-kasumi{
  --title-accent:#ffe25d;
  --title-text:#fffdf0;
  --title-bg:linear-gradient(135deg,rgba(255,222,84,.92),rgba(255,176,205,.44));
  --title-border:rgba(255,244,154,.76);
  --niji-row-bg:linear-gradient(90deg,rgba(86,139,164,.50),rgba(255,215,76,.40) 52%,rgba(255,178,210,.18));
  --niji-pill-bg:linear-gradient(90deg,rgba(255,210,60,.94),rgba(255,235,122,.84));
  --niji-pattern:
    radial-gradient(circle at 24% 35%,rgba(255,255,255,.28) 0 3px,transparent 4px),
    radial-gradient(circle at 70% 24%,rgba(255,162,203,.22) 0 4px,transparent 5px),
    linear-gradient(135deg,rgba(255,236,104,.18) 0 10%,transparent 10% 20%,rgba(255,255,255,.13) 20% 30%,transparent 30%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.11) 0 2px,transparent 2px 13px);
}
.title-theme-niji-shizuku{
  --title-accent:#55dcff;
  --title-text:#effcff;
  --title-bg:linear-gradient(135deg,rgba(18,56,92,.96),rgba(44,193,222,.62));
  --title-border:rgba(144,237,255,.70);
  --niji-row-bg:linear-gradient(90deg,rgba(11,42,74,.78),rgba(25,86,120,.58) 48%,rgba(54,190,217,.28));
  --niji-pill-bg:linear-gradient(90deg,rgba(18,83,128,.92),rgba(66,207,230,.74));
  --niji-pattern:
    radial-gradient(ellipse at 76% 72%,transparent 0 18px,rgba(139,231,255,.18) 19px 20px,transparent 21px),
    radial-gradient(ellipse at 72% 72%,transparent 0 30px,rgba(139,231,255,.12) 31px 32px,transparent 33px),
    linear-gradient(100deg,transparent 0 54%,rgba(155,236,255,.16) 55% 58%,transparent 59%),
    repeating-linear-gradient(90deg,rgba(190,246,255,.16) 0 1px,transparent 1px 12px);
}
.title-theme-niji-karin{
  --title-accent:#38cfff;
  --title-text:#eefbff;
  --title-bg:linear-gradient(135deg,rgba(8,23,66,.96),rgba(26,152,228,.62));
  --title-border:rgba(88,216,255,.68);
  --niji-row-bg:linear-gradient(90deg,rgba(8,22,62,.84),rgba(18,57,112,.62) 46%,rgba(28,132,224,.34));
  --niji-pill-bg:linear-gradient(90deg,rgba(12,39,102,.94),rgba(31,178,248,.76));
  --niji-pattern:
    linear-gradient(90deg,transparent 0 64%,rgba(63,220,255,.22) 65% 66%,transparent 67%),
    linear-gradient(115deg,transparent 0 28%,rgba(91,222,255,.24) 29% 30%,transparent 31% 63%,rgba(255,255,255,.10) 64% 65%,transparent 66%),
    repeating-linear-gradient(0deg,rgba(80,218,255,.10) 0 1px,transparent 1px 9px);
}
.title-theme-niji-ai{
  --title-accent:#ff8a38;
  --title-text:#fff8f1;
  --title-bg:linear-gradient(135deg,rgba(255,129,49,.92),rgba(255,210,72,.48));
  --title-border:rgba(255,207,146,.76);
  --niji-row-bg:linear-gradient(90deg,rgba(42,103,150,.48),rgba(255,128,45,.40) 55%,rgba(255,216,77,.22));
  --niji-pill-bg:linear-gradient(90deg,rgba(255,119,42,.94),rgba(255,184,76,.82));
  --niji-pattern:
    radial-gradient(circle at 78% 28%,rgba(255,232,112,.30),transparent 16%),
    radial-gradient(circle at 34% 76%,rgba(255,255,255,.24) 0 2px,transparent 3px),
    radial-gradient(circle at 66% 68%,rgba(255,108,93,.18) 0 5px,transparent 6px),
    linear-gradient(135deg,transparent 0 56%,rgba(255,255,255,.13) 57% 60%,transparent 61%);
}
.title-theme-niji-kanata{
  --title-accent:#c9a2ff;
  --title-text:#fff8ff;
  --title-bg:linear-gradient(135deg,rgba(151,114,226,.82),rgba(255,179,218,.42));
  --title-border:rgba(229,205,255,.74);
  --niji-row-bg:linear-gradient(90deg,rgba(52,55,118,.58),rgba(142,111,205,.42) 50%,rgba(255,199,232,.20));
  --niji-pill-bg:linear-gradient(90deg,rgba(169,126,235,.90),rgba(226,183,255,.78));
  --niji-pattern:
    radial-gradient(circle at 72% 24%,rgba(255,240,180,.24) 0 3px,transparent 4px),
    radial-gradient(ellipse at 82% 64%,rgba(235,213,255,.20) 0 8px,transparent 9px),
    radial-gradient(ellipse at 88% 64%,rgba(235,213,255,.18) 0 8px,transparent 9px),
    linear-gradient(180deg,rgba(255,255,255,.10),transparent 54%);
}
.title-theme-niji-setsuna{
  --title-accent:#ff3142;
  --title-text:#fff5f5;
  --title-bg:linear-gradient(135deg,rgba(38,18,26,.98),rgba(237,43,58,.72));
  --title-border:rgba(255,143,148,.72);
  --niji-row-bg:linear-gradient(90deg,rgba(24,18,28,.88),rgba(96,20,32,.68) 42%,rgba(218,38,52,.38));
  --niji-pill-bg:linear-gradient(90deg,rgba(160,26,40,.96),rgba(255,65,71,.82));
  --niji-pattern:
    linear-gradient(105deg,transparent 0 22%,rgba(255,228,105,.18) 23% 25%,transparent 26% 55%,rgba(255,70,70,.22) 56% 60%,transparent 61%),
    repeating-linear-gradient(112deg,transparent 0 12px,rgba(255,255,255,.10) 12px 14px,transparent 14px 30px),
    radial-gradient(circle at 86% 32%,rgba(255,86,55,.28),transparent 18%);
}
.title-theme-niji-emma{
  --title-accent:#78d96b;
  --title-text:#f7fff5;
  --title-bg:linear-gradient(135deg,rgba(67,175,111,.86),rgba(184,232,118,.42));
  --title-border:rgba(204,246,184,.72);
  --niji-row-bg:linear-gradient(90deg,rgba(25,116,104,.54),rgba(87,182,102,.36) 54%,rgba(210,238,129,.20));
  --niji-pill-bg:linear-gradient(90deg,rgba(70,172,98,.92),rgba(152,222,117,.78));
  --niji-pattern:
    radial-gradient(ellipse at 84% 36%,rgba(238,255,212,.26) 0 5px,transparent 6px),
    radial-gradient(ellipse at 22% 74%,rgba(255,255,255,.22) 0 4px,transparent 5px),
    linear-gradient(120deg,transparent 0 66%,rgba(186,239,148,.16) 67% 72%,transparent 73%),
    repeating-linear-gradient(30deg,rgba(207,255,198,.08) 0 1px,transparent 1px 14px);
}
.title-theme-niji-rina{
  --title-accent:#ff8bd2;
  --title-text:#fff8fd;
  --title-bg:linear-gradient(135deg,rgba(255,112,196,.82),rgba(51,220,204,.44));
  --title-border:rgba(255,199,235,.70);
  --niji-row-bg:linear-gradient(90deg,rgba(45,84,128,.62),rgba(92,96,170,.44) 44%,rgba(255,111,196,.30));
  --niji-pill-bg:linear-gradient(90deg,rgba(232,85,182,.92),rgba(60,214,204,.74));
  --niji-pattern:
    linear-gradient(90deg,transparent 0 58%,rgba(83,246,223,.22) 59% 60%,transparent 61%),
    linear-gradient(0deg,transparent 0 68%,rgba(255,147,216,.18) 69% 70%,transparent 71%),
    repeating-linear-gradient(90deg,rgba(89,241,222,.14) 0 2px,transparent 2px 9px),
    repeating-linear-gradient(0deg,rgba(255,154,219,.10) 0 2px,transparent 2px 9px);
}
.title-theme-niji-shioriko{
  --title-accent:#38d7b3;
  --title-text:#f4fffb;
  --title-bg:linear-gradient(135deg,rgba(13,67,65,.96),rgba(49,198,163,.58));
  --title-border:rgba(139,239,216,.70);
  --niji-row-bg:linear-gradient(90deg,rgba(12,64,70,.76),rgba(24,112,105,.50) 46%,rgba(47,190,151,.28));
  --niji-pill-bg:linear-gradient(90deg,rgba(12,101,95,.94),rgba(51,205,166,.76));
  --niji-pattern:
    linear-gradient(120deg,transparent 0 42%,rgba(190,255,240,.22) 43% 44%,transparent 45%),
    linear-gradient(90deg,rgba(221,255,246,.16) 0 1px,transparent 1px),
    linear-gradient(0deg,rgba(221,255,246,.10) 0 1px,transparent 1px),
    repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 1px,transparent 1px 18px);
}
.title-theme-niji-mia{
  --title-accent:#d7aa55;
  --title-text:#fff9ec;
  --title-bg:linear-gradient(135deg,rgba(10,16,33,.98),rgba(32,91,151,.62));
  --title-border:rgba(231,193,112,.70);
  --niji-row-bg:linear-gradient(90deg,rgba(8,14,30,.86),rgba(20,42,84,.62) 48%,rgba(35,99,160,.28));
  --niji-pill-bg:linear-gradient(90deg,rgba(17,27,52,.96),rgba(204,156,70,.76));
  --niji-pattern:
    radial-gradient(circle at 78% 26%,rgba(255,226,140,.34) 0 2px,transparent 3px),
    radial-gradient(circle at 90% 70%,rgba(255,255,255,.22) 0 1px,transparent 2px),
    linear-gradient(90deg,transparent 0 62%,rgba(223,178,91,.22) 63% 64%,transparent 65%),
    repeating-linear-gradient(0deg,rgba(73,168,255,.10) 0 2px,transparent 2px 10px);
}
.title-theme-niji-lanzhu{
  --title-accent:#f0b85f;
  --title-text:#fff7fb;
  --title-bg:linear-gradient(135deg,rgba(28,12,26,.98),rgba(229,75,154,.58));
  --title-border:rgba(238,190,105,.72);
  --niji-row-bg:linear-gradient(90deg,rgba(27,13,30,.88),rgba(93,28,72,.60) 44%,rgba(212,68,145,.34));
  --niji-pill-bg:linear-gradient(90deg,rgba(35,16,36,.96),rgba(220,74,155,.76));
  --niji-pattern:
    linear-gradient(90deg,transparent 0 72%,rgba(239,190,105,.24) 73% 74%,transparent 75%),
    linear-gradient(110deg,transparent 0 24%,rgba(255,129,196,.16) 25% 29%,transparent 30%),
    radial-gradient(circle at 84% 30%,rgba(255,223,151,.30) 0 2px,transparent 3px),
    repeating-linear-gradient(90deg,rgba(255,213,142,.08) 0 1px,transparent 1px 16px);
}

.achievement-section .achievement-row[class*="title-theme-niji-"]{
  position:relative!important;
  overflow:hidden!important;
  background:
    var(--niji-pattern),
    var(--niji-row-bg)!important;
  border-color:color-mix(in srgb,var(--title-accent) 34%,transparent)!important;
  box-shadow:
    0 0 18px color-mix(in srgb,var(--title-accent) 16%,transparent),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 color-mix(in srgb,var(--title-accent) 18%,transparent)!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"]::before{
  width:5px!important;
  background:linear-gradient(180deg,#ffffff,var(--title-accent))!important;
  opacity:.96!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--title-accent) 42%,transparent)!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"]::after{
  content:none!important;
  display:none!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"] .achievement-name{
  position:relative!important;
  overflow:hidden!important;
  color:var(--title-text)!important;
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:var(--niji-pill-bg)!important;
  border:1px solid var(--title-border)!important;
  box-shadow:0 0 14px color-mix(in srgb,var(--title-accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.34)!important;
  text-shadow:0 1px 5px rgba(0,35,85,.22)!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"] .achievement-name::after{
  content:""!important;
  position:absolute!important;
  top:-50%!important;
  bottom:-50%!important;
  left:-70%!important;
  width:42%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.50),transparent)!important;
  transform:rotate(18deg)!important;
  animation:specialPillShineSync var(--special-pill-shine-duration,5.8s) ease-in-out infinite!important;
  pointer-events:none!important;
}
.achievement-section .achievement-row:not(.is-unlocked)[class*="title-theme-niji-"]{
  opacity:.74!important;
  filter:saturate(.78) brightness(.82) contrast(.96)!important;
  border-color:rgba(255,255,255,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.achievement-section .achievement-row.is-unlocked[class*="title-theme-niji-"]{
  opacity:1!important;
  filter:saturate(1.14) brightness(1.08) contrast(1.02)!important;
  border-color:color-mix(in srgb,var(--title-accent) 62%,white)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.24),0 0 22px color-mix(in srgb,var(--title-accent) 30%,transparent),0 10px 26px rgba(0,45,120,.16),inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.leaderboard-title-badge[class*="title-theme-niji-"],
.auth-player-title[class*="title-theme-niji-"]{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--title-accent) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.22)!important;
  text-shadow:0 1px 5px rgba(0,35,85,.22)!important;
}

/* ===== Nijigasaki oshi achievement final cleanup: color-only rows + member logo pills ===== */
/* 目標：拿掉 row 背景元素，只保留角色色系；角色特色集中在左側稱號膠囊 logo。 */
.title-theme-niji-ayumu{
  --title-accent:#ff8fb7;
  --title-text:#fff8fb;
  --title-bg:linear-gradient(135deg,rgba(255,143,183,.88),rgba(255,196,216,.50));
  --title-border:rgba(255,216,230,.78);
  --niji-row-bg:linear-gradient(90deg,rgba(55,132,176,.38),rgba(255,143,183,.34) 52%,rgba(255,232,241,.16));
  --niji-pill-bg:linear-gradient(90deg,rgba(255,129,174,.94),rgba(255,184,208,.84));
  --niji-icon:url("./niji-icons/ayumu.webp");
}
.title-theme-niji-kasumi{
  --title-accent:#ffe25d;
  --title-text:#fffdf0;
  --title-bg:linear-gradient(135deg,rgba(255,222,84,.92),rgba(255,238,145,.52));
  --title-border:rgba(255,244,154,.82);
  --niji-row-bg:linear-gradient(90deg,rgba(70,143,181,.34),rgba(255,215,76,.36) 52%,rgba(255,238,146,.15));
  --niji-pill-bg:linear-gradient(90deg,rgba(255,207,42,.95),rgba(255,235,119,.86));
  --niji-icon:url("./niji-icons/kasumi.webp");
}
.title-theme-niji-shizuku{
  --title-accent:#55dcff;
  --title-text:#effcff;
  --title-bg:linear-gradient(135deg,rgba(18,56,92,.96),rgba(44,193,222,.62));
  --title-border:rgba(144,237,255,.76);
  --niji-row-bg:linear-gradient(90deg,rgba(11,42,74,.72),rgba(25,86,120,.52) 50%,rgba(78,207,235,.20));
  --niji-pill-bg:linear-gradient(90deg,rgba(17,77,124,.94),rgba(84,209,234,.78));
  --niji-icon:url("./niji-icons/shizuku.webp");
}
.title-theme-niji-karin{
  --title-accent:#5f6db8;
  --title-text:#f3f5ff;
  --title-bg:linear-gradient(135deg,rgba(29,36,99,.96),rgba(86,101,188,.66));
  --title-border:rgba(161,174,255,.74);
  --niji-row-bg:linear-gradient(90deg,rgba(12,31,78,.72),rgba(57,73,154,.50) 50%,rgba(126,141,224,.18));
  --niji-pill-bg:linear-gradient(90deg,rgba(39,51,125,.96),rgba(93,108,190,.80));
  --niji-icon:url("./niji-icons/karin.webp");
}
.title-theme-niji-ai{
  --title-accent:#ff9639;
  --title-text:#fff8f1;
  --title-bg:linear-gradient(135deg,rgba(255,137,48,.92),rgba(255,190,85,.52));
  --title-border:rgba(255,210,150,.80);
  --niji-row-bg:linear-gradient(90deg,rgba(46,120,170,.34),rgba(255,137,48,.36) 52%,rgba(255,205,101,.16));
  --niji-pill-bg:linear-gradient(90deg,rgba(255,122,38,.95),rgba(255,184,75,.86));
  --niji-icon:url("./niji-icons/ai.webp");
}
.title-theme-niji-kanata{
  --title-accent:#bd5aa0;
  --title-text:#fff8ff;
  --title-bg:linear-gradient(135deg,rgba(151,84,146,.88),rgba(217,143,203,.50));
  --title-border:rgba(235,190,226,.78);
  --niji-row-bg:linear-gradient(90deg,rgba(70,72,139,.42),rgba(173,91,158,.38) 52%,rgba(233,181,220,.16));
  --niji-pill-bg:linear-gradient(90deg,rgba(154,74,144,.94),rgba(204,124,190,.82));
  --niji-icon:url("./niji-icons/kanata.webp");
}
.title-theme-niji-setsuna{
  --title-accent:#f04b4f;
  --title-text:#fff5f5;
  --title-bg:linear-gradient(135deg,rgba(54,20,30,.98),rgba(237,65,70,.72));
  --title-border:rgba(255,153,154,.76);
  --niji-row-bg:linear-gradient(90deg,rgba(27,24,40,.76),rgba(116,34,46,.56) 48%,rgba(230,65,70,.22));
  --niji-pill-bg:linear-gradient(90deg,rgba(151,35,46,.96),rgba(255,74,78,.84));
  --niji-icon:url("./niji-icons/setsuna.webp");
}
.title-theme-niji-emma{
  --title-accent:#8cc919;
  --title-text:#f8fff3;
  --title-bg:linear-gradient(135deg,rgba(84,170,72,.86),rgba(158,213,64,.48));
  --title-border:rgba(214,248,172,.76);
  --niji-row-bg:linear-gradient(90deg,rgba(30,125,118,.40),rgba(105,186,67,.34) 52%,rgba(205,234,128,.16));
  --niji-pill-bg:linear-gradient(90deg,rgba(78,169,72,.94),rgba(142,207,61,.82));
  --niji-icon:url("./niji-icons/emma.webp");
}
.title-theme-niji-rina{
  --title-accent:#9ca8ae;
  --title-text:#f8fcff;
  --title-bg:linear-gradient(135deg,rgba(93,111,122,.92),rgba(165,177,183,.54));
  --title-border:rgba(213,225,230,.74);
  --niji-row-bg:linear-gradient(90deg,rgba(42,91,130,.44),rgba(120,139,150,.38) 52%,rgba(217,229,235,.14));
  --niji-pill-bg:linear-gradient(90deg,rgba(83,100,110,.96),rgba(158,171,178,.82));
  --niji-icon:url("./niji-icons/rina.webp");
}
.title-theme-niji-shioriko{
  --title-accent:#38b68f;
  --title-text:#f4fffb;
  --title-bg:linear-gradient(135deg,rgba(14,89,79,.96),rgba(52,190,145,.58));
  --title-border:rgba(139,239,216,.76);
  --niji-row-bg:linear-gradient(90deg,rgba(14,76,83,.60),rgba(34,136,117,.44) 50%,rgba(56,195,151,.18));
  --niji-pill-bg:linear-gradient(90deg,rgba(16,106,93,.96),rgba(55,195,150,.82));
  --niji-icon:url("./niji-icons/shioriko.webp");
}
.title-theme-niji-mia{
  --title-accent:#d7d4c8;
  --title-text:#fffdf3;
  --title-bg:linear-gradient(135deg,rgba(43,45,48,.98),rgba(202,199,186,.54));
  --title-border:rgba(232,229,217,.72);
  --niji-row-bg:linear-gradient(90deg,rgba(13,30,61,.70),rgba(74,78,86,.48) 50%,rgba(213,210,196,.15));
  --niji-pill-bg:linear-gradient(90deg,rgba(35,40,48,.98),rgba(190,187,174,.78));
  --niji-icon:url("./niji-icons/mia.webp");
}
.title-theme-niji-lanzhu{
  --title-accent:#f2b9b0;
  --title-text:#fff8fb;
  --title-bg:linear-gradient(135deg,rgba(63,22,54,.98),rgba(242,153,174,.58));
  --title-border:rgba(255,210,205,.74);
  --niji-row-bg:linear-gradient(90deg,rgba(39,24,59,.72),rgba(121,57,102,.50) 50%,rgba(240,170,183,.18));
  --niji-pill-bg:linear-gradient(90deg,rgba(73,30,68,.98),rgba(236,146,170,.80));
  --niji-icon:url("./niji-icons/lanzhu.webp");
}

.achievement-section .achievement-row[class*="title-theme-niji-"]{
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.12),transparent 34%,rgba(255,255,255,.055) 72%,transparent),
    var(--niji-row-bg)!important;
  border-color:color-mix(in srgb,var(--title-accent) 38%,rgba(255,255,255,.22))!important;
  box-shadow:
    0 0 16px color-mix(in srgb,var(--title-accent) 14%,transparent),
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 -1px 0 color-mix(in srgb,var(--title-accent) 16%,transparent)!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"]::after{
  content:none!important;
  display:none!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"]::before{
  width:5px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),var(--title-accent))!important;
  opacity:.95!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--title-accent) 38%,transparent)!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"] .achievement-name{
  position:relative!important;
  overflow:hidden!important;
  color:var(--title-text)!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:4px 11px 4px 8px!important;
  border-radius:999px!important;
  background:var(--niji-pill-bg)!important;
  border:1px solid var(--title-border)!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--title-accent) 20%,transparent),inset 0 1px 0 rgba(255,255,255,.34)!important;
  text-shadow:0 1px 5px rgba(0,35,85,.22)!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"] .achievement-name::before{
  content:""!important;
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  margin:0!important;
  display:inline-block!important;
  background-image:var(--niji-icon)!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  filter:drop-shadow(0 1px 2px rgba(0,35,85,.24)) brightness(1.08)!important;
}
.achievement-section .achievement-row[class*="title-theme-niji-"] .achievement-name::after{
  content:""!important;
  position:absolute!important;
  top:-50%!important;
  bottom:-50%!important;
  left:-70%!important;
  width:42%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)!important;
  transform:rotate(18deg)!important;
  animation:specialPillShineSync var(--special-pill-shine-duration,5.8s) ease-in-out infinite!important;
  pointer-events:none!important;
}
.achievement-section .achievement-row:not(.is-unlocked)[class*="title-theme-niji-"]{
  opacity:.74!important;
  filter:saturate(.74) brightness(.82) contrast(.96)!important;
  border-color:rgba(255,255,255,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.achievement-section .achievement-row.is-unlocked[class*="title-theme-niji-"]{
  opacity:1!important;
  filter:saturate(1.10) brightness(1.06) contrast(1.02)!important;
  border-color:color-mix(in srgb,var(--title-accent) 58%,white)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 20px color-mix(in srgb,var(--title-accent) 26%,transparent),0 10px 24px rgba(0,45,120,.14),inset 0 1px 0 rgba(255,255,255,.26)!important;
}
.leaderboard-title-badge[class*="title-theme-niji-"],
.auth-player-title[class*="title-theme-niji-"]{
  background:var(--title-bg)!important;
  border-color:var(--title-border)!important;
  color:var(--title-text)!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--title-accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.22)!important;
  text-shadow:0 1px 5px rgba(0,35,85,.22)!important;
}


/* ===== Finale 君勇 special desktop video background ===== */
#finalBgVideoWrap{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  opacity:0;
  pointer-events:none!important;
  overflow:hidden!important;
  transition:opacity .8s ease;
  background:#000;
}
#finalBgVideoWrap.show{
  opacity:1;
}
#finalBgVideo{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:brightness(.46) saturate(1.08);
}
body.final-bg-active{
  background:#05070d!important;
}
body.final-bg-active #llSilhouetteLayer{
  opacity:0!important;
}
body.final-bg-active .site-hero,
body.final-bg-active .top-nav,
body.final-bg-active .game-card,
body.final-bg-active .round-log-panel,
body.final-bg-active .auth-top,
body.final-bg-active .mobile-menu-toggle,
body.final-bg-active .gen-toggle-wrap,
body.final-bg-active .sponsor-float-btn,
body.final-bg-active .plugin-float-btn{
  position:relative;
  z-index:2;
}
@media (max-width:768px){
  #finalBgVideoWrap{
    display:none!important;
  }
}


/* ===== Finale 君勇 special HUD + legal layer fix ===== */
body.final-bg-active .legal-links{
  position:fixed!important;
  z-index:12000!important;
}
body.final-bg-active #finalBgVideoWrap{
  z-index:0!important;
}
#info .hud-pill:first-child{
  transition:
    opacity .22s ease,
    transform .34s cubic-bezier(.2,.9,.22,1.18),
    color .28s ease,
    border-color .34s ease,
    box-shadow .34s ease,
    filter .34s ease,
    text-shadow .34s ease;
  transform-origin:center;
}
body.final-kimiyuu-exit #info .hud-pill:first-child{
  position:relative;
  overflow:hidden;
  opacity:0;
  transform:translateY(7px) scale(.92);
  filter:blur(3px) brightness(1.18);
  border-color:rgba(255,226,132,.42)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10),
    0 0 16px rgba(40,183,255,.24),
    0 0 24px rgba(255,215,104,.16)!important;
}
body.final-kimiyuu-transition #info .hud-pill:first-child{
  position:relative;
  overflow:hidden;
  opacity:0;
  transform:translateY(-2px) scale(.96);
  border-color:rgba(255,226,132,.56)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.13),
    0 0 14px rgba(40,183,255,.34),
    0 0 24px rgba(255,215,104,.20)!important;
  filter:brightness(1.08);
}
body.final-kimiyuu-question #info .hud-pill:first-child{
  position:relative;
  overflow:hidden;
  opacity:1;
  color:#ffffff!important;
  border-color:rgba(255,226,132,.82)!important;
  background:
    radial-gradient(circle at 22% 18%,rgba(255,255,255,.48),transparent 24%),
    linear-gradient(135deg,rgba(38,189,255,.96) 0%,rgba(0,119,214,.94) 46%,rgba(4,67,160,.96) 100%)!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.22),
    0 0 18px rgba(40,183,255,.56),
    0 0 34px rgba(255,215,104,.34),
    inset 0 1px 0 rgba(255,255,255,.42)!important;
  text-shadow:0 1px 7px rgba(0,45,120,.48);
  animation:
    finalHudReveal .52s cubic-bezier(.16,1,.3,1) both,
    finalHudGlow 2.4s ease-in-out .52s infinite;
}
body.final-kimiyuu-question #info .hud-pill:first-child::before{
  content:"FINAL STAGE";
  display:inline-block;
  margin-right:7px;
  padding:1px 6px 2px;
  border-radius:999px;
  color:#083c86;
  background:linear-gradient(180deg,#fff7c9,#ffd66a);
  box-shadow:0 0 10px rgba(255,224,118,.52);
  font-size:.68em;
  font-weight:950;
  letter-spacing:.07em;
  vertical-align:1px;
  opacity:0;
  transform:translateY(4px) scale(.86);
  animation:finalBadgePop .44s cubic-bezier(.2,1.25,.3,1) .18s forwards;
}
body.final-kimiyuu-question #info .hud-pill:first-child::after{
  content:"";
  position:absolute;
  inset:-45% -65%;
  background:
    linear-gradient(110deg,transparent 35%,rgba(255,255,255,.42) 48%,transparent 61%),
    radial-gradient(ellipse at 50% 80%,rgba(255,255,255,.22),transparent 40%);
  transform:translateX(-68%) rotate(8deg);
  opacity:0;
  animation:finalHudShine 2.8s ease-in-out .32s infinite;
  pointer-events:none;
}
@keyframes finalHudReveal{
  0%{opacity:0;transform:translateY(-3px) scale(.94);filter:brightness(1.1) blur(2px);}
  45%{opacity:1;transform:translateY(0) scale(1.075);filter:brightness(1.24) blur(0);}
  100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1);}
}
@keyframes finalBadgePop{
  0%{opacity:0;transform:translateY(5px) scale(.82);}
  70%{opacity:1;transform:translateY(-1px) scale(1.06);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes finalHudGlow{
  0%,100%{filter:brightness(1);}
  50%{filter:brightness(1.12);}
}
@keyframes finalHudShine{
  0%{transform:translateX(-68%) rotate(8deg);opacity:0;}
  18%{opacity:.9;}
  42%{transform:translateX(62%) rotate(8deg);opacity:0;}
  100%{transform:translateX(62%) rotate(8deg);opacity:0;}
}
@media (max-width:768px){
  body.final-kimiyuu-question #info .hud-pill:first-child::before{
    content:"FINAL";
    margin-right:5px;
    padding:1px 5px 2px;
  }
}

/* ===== HARD HOTFIX 20260514: remove light beams + repair real mobile menu ===== */
/* Remove the two diagonal background light beams while keeping the soft glow. */
body::before{
  background:
    radial-gradient(ellipse at 90% 20%,rgba(255,255,255,.10),transparent 15%),
    radial-gradient(ellipse at 8% 72%,rgba(255,255,255,.08),transparent 18%)!important;
  mix-blend-mode:screen!important;
}

@media (max-width:980px){
  /* Top fixed controls */
  #langSelect{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    left:14px!important;
    right:auto!important;
    z-index:21000!important;
  }
  .sponsor-float-btn{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 62px)!important;
    left:14px!important;
    right:auto!important;
    z-index:20900!important;
  }
  .auth-top{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    right:14px!important;
    left:auto!important;
    transform:none!important;
    z-index:21000!important;
  }
  #mobileMenuToggle.mobile-menu-toggle,
  .mobile-menu-toggle{
    display:inline-flex!important;
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 10px)!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    height:44px!important;
    min-height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:21100!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    font-size:.96rem!important;
  }

  /* Closed state: the nav itself is hidden. Do not hide inner buttons individually. */
  #topNav.top-nav{
    display:block!important;
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 62px)!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    opacity:0!important;
    visibility:hidden!important;
    overflow:hidden!important;
    pointer-events:none!important;
    z-index:20800!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  #topNav.top-nav::before,
  #topNav.top-nav::after{
    content:none!important;
    display:none!important;
  }

  /* Open state: show the actual DOM buttons in a dropdown panel. */
  body.mobile-menu-open #topNav.top-nav,
  #topNav.top-nav.mobile-open,
  #topNav.top-nav.is-open{
    max-height:calc(100vh - env(safe-area-inset-top,0px) - 86px)!important;
    opacity:1!important;
    visibility:visible!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    pointer-events:auto!important;
  }
  #topNav.top-nav .top-nav-inner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:12px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(238,250,255,.98),rgba(208,240,255,.94))!important;
    border:1px solid rgba(255,255,255,.86)!important;
    box-shadow:0 18px 42px rgba(0,58,126,.25), inset 0 1px 0 rgba(255,255,255,.76)!important;
  }
  #topNav.top-nav .top-nav-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
    transform:none!important;
  }
  body.mobile-menu-open #topNav.top-nav .top-nav-links > a,
  body.mobile-menu-open #topNav.top-nav .top-nav-links > button,
  #topNav.top-nav.mobile-open .top-nav-links > a,
  #topNav.top-nav.mobile-open .top-nav-links > button,
  #topNav.top-nav.is-open .top-nav-links > a,
  #topNav.top-nav.is-open .top-nav-links > button{
    display:flex!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    margin:0!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.64)!important;
    color:#126aa8!important;
    border:1px solid rgba(36,132,198,.18)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.62)!important;
    font-size:.78rem!important;
    line-height:1.15!important;
    font-weight:900!important;
    text-align:center!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    white-space:nowrap!important;
  }
  #topNav.top-nav .top-nav-links > a::before,
  #topNav.top-nav .top-nav-links > button::before,
  #topNav.top-nav .top-nav-links > a::after,
  #topNav.top-nav .top-nav-links > button::after{
    content:none!important;
    display:none!important;
  }
  body.mobile-menu-open #topNav.top-nav #multiNavBtn,
  #topNav.top-nav.mobile-open #multiNavBtn{
    display:flex!important;
    opacity:.45!important;
    filter:grayscale(1)!important;
    pointer-events:none!important;
  }
  body.mobile-menu-open #topNav.top-nav #achievementNavBtnMobile,
  #topNav.top-nav.mobile-open #achievementNavBtnMobile{
    display:flex!important;
  }
  /* keep share hidden on mobile because the old mobile share flow conflicts with overlays */
  body.mobile-menu-open #topNav.top-nav #shareNavBtn,
  #topNav.top-nav.mobile-open #shareNavBtn{
    display:none!important;
  }
}

/* ===== mobile menu final adjust: achievement alignment + sponsor layering ===== */
@media (max-width:980px){
  /* menu panel must cover floating buttons */
  body.mobile-menu-open #topNav.top-nav,
  #topNav.top-nav.mobile-open,
  #topNav.top-nav.is-open{
    z-index:26000!important;
  }
  body.mobile-menu-open #topNav.top-nav .top-nav-inner,
  #topNav.top-nav.mobile-open .top-nav-inner,
  #topNav.top-nav.is-open .top-nav-inner{
    position:relative!important;
    z-index:26001!important;
  }
  body.mobile-menu-open .sponsor-float-btn,
  body.mobile-menu-open #sponsorBtn,
  body.mobile-menu-open .plugin-float-btn,
  body.mobile-menu-open #pluginBtn{
    z-index:20500!important;
  }

  /* keep 成就 on the right side of 多人模式, same row */
  body.mobile-menu-open #topNav.top-nav #multiNavBtn,
  #topNav.top-nav.mobile-open #multiNavBtn,
  #topNav.top-nav.is-open #multiNavBtn{
    grid-column:1!important;
    grid-row:4!important;
  }
  body.mobile-menu-open #topNav.top-nav #achievementNavBtnMobile,
  #topNav.top-nav.mobile-open #achievementNavBtnMobile,
  #topNav.top-nav.is-open #achievementNavBtnMobile{
    display:flex!important;
    grid-column:2!important;
    grid-row:4!important;
    width:100%!important;
    margin:0!important;
  }
}
