body[data-page="shooter"]{
  background: var(--t-bg-body);
}

.page-shooter{
  color:#f3f4ff;
  padding:24px 20px 60px;
  min-height:100vh;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
}

[data-theme="light"] .page-shooter,
[data-theme="light"] .page-shooter .shooter-lock-title,
[data-theme="light"] .page-shooter .shooter-lock-subtitle,
[data-theme="light"] .page-shooter .shooter-lock-copy,
[data-theme="light"] .page-shooter .rank-tab{
  color:#000;
}

[data-theme="light"] .page-shooter .yt-stat-gradient{
  background:transparent;
  color:#2563eb;
}

[data-theme="light"] .page-shooter .field-wrap{
  --grid-color: rgba(100, 116, 139, 0.18);
  background-color:#f8fafc;
  border-color:rgba(0,0,0,.08);
}

.page-shooter:not(.shooter-started) .shooter-shell,
.page-shooter:not(.shooter-started) .shooter-leaderboard{
  display:none;
}

.shooter-intro-modal{
  position:relative;
  background:transparent;
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:0;
  pointer-events:auto;
  min-height:60vh;
}

.shooter-intro-modal.hidden{ display:none; }

.shooter-intro-card{
  background:transparent;
  border-radius:0;
  padding:0;
  max-width:760px;
  width:100%;
  text-align:center;
  pointer-events:auto;
  position:relative;
  z-index:1;
}

.shooter-intro-modal::before{
  content:'';
  position:fixed;
  inset:0;
  background: var(--t-bg-body);
  z-index:0;
}

.shooter-lock-title{
  margin:0 0 10px;
  font-size:clamp(2.2rem,4.5vw,3.2rem);
  font-weight:900;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#f8fafc;
}
.shooter-lock-subtitle{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.24em;
  color:rgba(94,160,255,0.75);
  margin-bottom:16px;
}
.shooter-lock-copy{
  color:rgba(210,220,245,0.7);
  margin:0 auto 26px;
  line-height:1.6;
  font-size:15px;
  max-width:560px;
}
.shooter-lock-card{
  display:flex;
  justify-content:center;
  margin:8px 0 26px;
}
.shooter-lock-card-inner{
  width:320px;
  aspect-ratio:1.6/1;
  border-radius:16px;
  background:var(--t-bg-body, #1c1c1b);
  border:1px solid var(--t-border, rgba(255,255,255,.08));
  box-shadow:none;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:left;
  position:relative;
  overflow:hidden;
}

.shooter-intro-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}
.shooter-intro-actions .intro-skip-wrap{
  width:100%;
  display:flex;
  justify-content:center;
}
.shooter-intro-actions .intro-skip-btn{
  background:none;
  border:none;
  padding:0;
  font-size:11px;
  color:var(--t-text-muted, rgba(210,220,245,0.6));
  cursor:pointer;
  opacity:0.75;
}
.shooter-intro-actions .intro-skip-btn:hover{ opacity:1; text-decoration:underline; }

.shooter-card-rain{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0.28;
  filter: blur(0px);
}

.shooter-card-pill{
  position:absolute;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(124,107,255,0.34);
  border:1px solid rgba(167,120,255,0.28);
  color:rgba(240,241,255,0.92);
  font-weight:800;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-size:18px;
  box-shadow:0 10px 30px rgba(124,107,255,0.18);
  opacity:0.28;
  transform: translateY(-40px);
  animation: shooter-pill-fall 9s linear infinite;
}

.shooter-card-pill.pill-1{
  left:18px;
  top:10px;
  transform: translateY(-70px);
  animation-duration: 10s;
  animation-delay: -2s;
}
.shooter-card-pill.pill-2{
  right:18px;
  top:42px;
  padding:12px 22px;
  font-size:20px;
  animation-duration: 11s;
  animation-delay: -6s;
}
.shooter-card-pill.pill-3{
  left:52px;
  top:90px;
  padding:9px 16px;
  font-size:16px;
  opacity:0.22;
  animation-duration: 8.5s;
  animation-delay: -4.2s;
}
.shooter-card-pill.pill-4{
  right:44px;
  top:118px;
  padding:9px 16px;
  font-size:16px;
  opacity:0.2;
  animation-duration: 9.5s;
  animation-delay: -1.5s;
}

@keyframes shooter-pill-fall{
  0% { transform: translateY(-110px); }
  100% { transform: translateY(260px); }
}

@media (prefers-reduced-motion: reduce){
  .shooter-card-pill{ animation:none; }
}
.shooter-lock-card-brand{
  display:flex;
  align-items:center;
  gap:8px;
  opacity:0.5;
  font-size:10px;
  font-weight:900;
  letter-spacing:-0.02em;
  position:relative;
  z-index:2;
  color:#fff;
}
.shooter-lock-card-icon{
  font-size:14px;
}
.shooter-lock-card-body{
  display:flex;
  flex-direction:column;
  gap:6px;
  opacity:0.5;
  position:relative;
  z-index:2;
  color:#fff;
}
.shooter-lock-card-line{
  display:block;
  width:32px;
  height:1px;
  background:rgba(94,160,255,0.4);
}
.shooter-lock-card-label{
  font-size:8px;
  letter-spacing:0.3em;
  text-transform:uppercase;
}
.shooter-lock-card-name{
  font-size:12px;
  font-weight:300;
}
.shooter-lock-card-mark{
  position:absolute;
  inset:auto 14px 14px auto;
  font-size:56px;
  opacity:0.06;
}

.shooter-intro-btn{
  border:none;
  background:#5ea0ff;
  color:#ffffff;
  font-weight:700;
  padding:12px 30px;
  border-radius:999px;
  cursor:pointer;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  transition:transform .12s ease, filter .2s ease;
  box-shadow:none;
}

.shooter-intro-btn:hover{ filter:brightness(1.05); }
.shooter-intro-btn:active{ transform:scale(0.98); }

.shooter-shell{
  max-width:1180px;
  margin:0 auto 40px;
  background:transparent;
  border:none;
  border-radius:28px;
  padding:24px;
  box-shadow:none;
  position:relative;
  overflow:visible; /* allow full-bleed field */
}

.shooter-hud{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.hud-top{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
  align-items:start;
}

.hud-top > .yt-hud-bar{
  grid-column: 1 / -1;
}

.hud-top > .hud-center{
  grid-column: 1;
  justify-self: center;
}

.yt-hud-bar {
  width: 100%;
  background: rgba(255,255,255,.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 20px 60px rgba(2,8,23,.28);
  overflow: hidden;
  border-radius: 28px;
}

.yt-hud-inner {
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: 112px;
  padding: 18px 26px 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
}

.yt-stat {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.yt-stat-mult{
  flex: 0 1 170px;
}

.yt-difficulty{
  flex: 0 1 240px;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.yt-stat-label {
  margin-bottom: 10px;
  color: #6a7d9d;
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  opacity: 0.95;
}

.yt-stat-value {
  font-family: Inter, Arial, sans-serif;
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1.2px;
}

.yt-stat-white {
  color: #f4f8ff;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.04);
}

.yt-stat-blue {
  color: #0f75ff;
  text-shadow: 0 0 14px rgba(15, 117, 255, 0.18);
}

.yt-stat-gradient {
  background: transparent;
  color: #60a5fa;
}

.yt-stat-divider {
  width: 1px;
  height: 54px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: none;
  flex: 0 0 1px;
}

.yt-stat-divider--end{
  height: 66px;
  margin-left: 8px;
  margin-right: 8px;
}

.yt-hearts {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
}

.yt-heart {
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  filter: drop-shadow(0 0 8px rgba(255, 77, 95, 0.18));
}

.yt-heart-active {
  color: #ff4d5f;
}

.yt-heart-inactive {
  color: #2f4568;
  opacity: 0.55;
}

.yt-heart path {
  fill: currentColor;
  stroke: none;
}

.yt-bolts{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
}

.yt-bolt-btn{
  appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  line-height: 0;
}

.yt-bolt{
  width: 26px;
  height: 26px;
  display: block;
  fill: currentColor;
}

.yt-bolt-active{
  color: #fbbf24;
  filter: drop-shadow(0 0 10px rgba(251, 191, 36, 0.22));
}

.yt-bolt-inactive{
  color: #2f4568;
  opacity: 0.55;
  filter: none;
}

.yt-bolt-btn:focus-visible{
  outline: 2px solid rgba(47, 128, 255, 0.85);
  outline-offset: 4px;
  border-radius: 10px;
}

@media (max-width: 900px) {
  .hud-top{
    grid-template-columns: 1fr;
  }

  .hud-top > .yt-hud-bar,
  .hud-top > .hud-center{
    grid-column: 1;
    justify-self: stretch;
  }

  .field-wrap{
    width:calc(100vw - 24px);
    margin-left:calc(50% - 50vw + 12px);
    margin-right:calc(50% - 50vw + 12px);
  }

  .yt-hud-inner {
    gap: 22px;
    padding: 22px 18px;
    min-height: auto;
    flex-wrap: wrap;
    justify-content: center;
  }

  .yt-stat {
    min-width: 130px;
  }

  .yt-stat-value {
    font-size: 34px;
  }

  .yt-heart {
    width: 30px;
    height: 30px;
  }

  .yt-bolt{
    width: 30px;
    height: 30px;
  }

  .yt-stat-divider {
    height: 56px;
  }

  .yt-difficulty{
    flex: 1 1 100%;
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .yt-hud-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 10px;
  }

  .yt-stat-divider {
    display: none;
  }

  .yt-difficulty{
    grid-column: 1 / -1;
  }

  .yt-stat {
    min-width: 0;
  }

  .yt-stat-label {
    font-size: 12px;
  }

  .yt-stat-value {
    font-size: 30px;
  }
}

.hud-bottom{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}

.hud-left,
.hud-right{
  display:flex;
  gap:8px;
  flex-wrap:nowrap;
  justify-content:center;
}

.hud-right{
  padding-right:12px;
}

.hud-left{
  margin-left:auto;
  margin-right:auto;
}

.hud-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}

.stat-card{
  background:transparent;
  border:none;
  border-radius:12px;
  padding:6px 10px;
  min-width:82px;
  height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  box-shadow:none;
}

.stat-label{
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#F5F7FF;
  display:block;
  margin-bottom:4px;
  font-weight:700;
}

.stat-value{
  font-size:18px;
  font-weight:800;
  color:#B58BFF;
}

.ulta-card{
  background:transparent;
  border:none;
  border-radius:12px;
  padding:8px 10px;
  min-width:150px;
  height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:4px;
  box-shadow:none;
}

.ulta-bar{
  position:relative;
  height:8px;
  background:rgba(89,98,180,0.3);
  border-radius:999px;
  overflow:hidden;
  width:100%;
}

.ulta-fill{
  position:absolute;
  inset:0 auto 0 0;
  width:0;
  background:#ffd167;
  transition:width 0.2s ease;
}

.ulta-value{
  font-size:11px;
  color:#B58BFF;
  font-weight:700;
}

.ulta-card{
  align-items:flex-start;
  text-align:left;
}

.ulta-card .stat-label{
  text-align:center;
  margin-top:6px;
  width:100%;
}

.ulta-btn{
  border:none;
  background:#ffb54d;
  color:#16111d;
  border-radius:10px;
  padding:4px 10px;
  font-weight:700;
  cursor:pointer;
  font-size:12px;
  align-self:center;
}

.ulta-btn[disabled]{
  opacity:0.4;
  cursor:not-allowed;
}

.pause-toggle{
  --color:#a5a5b0;
  --size:16px;
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  cursor:pointer;
  font-size:var(--size);
  user-select:none;
  fill:var(--color);
  border:1px solid rgba(135,145,235,0.2);
  background:rgba(24,30,48,0.7);
  border-radius:12px;
  height:40px;
  width:40px;
  transition:transform 0.12s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.pause-toggle .play{
  position:absolute;
  animation:keyframes-fill .5s;
}

.pause-toggle .pause{
  position:absolute;
  display:none;
  animation:keyframes-fill .5s;
}

.pause-toggle input{
  position:absolute;
  opacity:0;
  cursor:pointer;
  height:0;
  width:0;
}

.pause-toggle input:checked ~ .play{
  display:none;
}

.pause-toggle input:checked ~ .pause{
  display:block;
}

.pause-toggle:hover{
  border-color:rgba(122,132,212,0.55);
  background:rgba(34,42,64,0.85);
}

.pause-toggle:active{
  transform:scale(0.98);
}

.pause-toggle.is-disabled{
  opacity:0.5;
  cursor:not-allowed;
}

.stop-btn{
  --color:#a5a5b0;
  --size:16px;
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  cursor:pointer;
  font-size:var(--size);
  user-select:none;
  fill:var(--color);
  border:1px solid rgba(135,145,235,0.2);
  background:rgba(24,30,48,0.7);
  border-radius:12px;
  height:40px;
  width:40px;
  transition:transform 0.12s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
  padding:0;
}

.stop-btn:hover{
  border-color:rgba(122,132,212,0.55);
  background:rgba(34,42,64,0.85);
}

.stop-btn:active{
  transform:scale(0.98);
}

@keyframes keyframes-fill{
  0%{
    transform:rotate(-180deg) scale(0);
    opacity:0;
  }
  50%{
    transform:rotate(-10deg) scale(1.2);
  }
}

.combo-bar{
  width:260px;
}

.combo-bar-track{
  height:10px;
  border-radius:999px;
  background:rgba(110,116,170,0.3);
  overflow:hidden;
}

.combo-bar-fill{
  height:100%;
  width:0%;
  background:#7fffd4;
  transition:width 0.2s ease;
}

.combo-label{
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#d7d8ff;
}

.field-wrap{
  position:relative;
  margin-top:20px;
  width:calc(100vw - 40px);
  margin-left:calc(50% - 50vw + 20px);
  margin-right:calc(50% - 50vw + 20px);
  border-radius:24px;
  --grid-color: rgba(148, 163, 184, 0.18);
  background-color: #1c1c1b;
  background-image:
    linear-gradient(to right, var(--grid-color) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);
  background-size: 40px 40px;
  border:1px solid rgba(255,255,255,.1);
  height:420px;
  overflow:hidden;
}

.pause-toggle-wrap{
  position:absolute;
  left:24px;
  top:28px;
  z-index:6;
}

.controls-wrap{
  position:absolute;
  left:24px;
  top:28px;
  z-index:6;
  display:flex;
  gap:8px;
  align-items:center;
}

.shooter-field{
  position:absolute;
  inset:0;
}

.shooter-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:700;
  background:rgba(6,8,16,0.65);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.2s ease;
}

.shooter-overlay.show{
  opacity:1;
}

.combo-flash{
  position:absolute;
  inset:0;
  background:rgba(140,110,255,0.2);
  opacity:0;
  pointer-events:none;
}

.combo-flash.active{
  animation:flash 0.5s ease;
}

@keyframes flash{
  0%{opacity:0;}
  30%{opacity:1;}
  100%{opacity:0;}
}

.combo-toast{
  position:absolute;
  top:20px;
  right:24px;
  background:rgba(26,28,52,0.9);
  border:1px solid rgba(124,107,255,0.4);
  color:#fff;
  padding:10px 16px;
  border-radius:12px;
  font-weight:700;
  opacity:0;
  transform:translateY(-6px);
}

.combo-toast.show{
  animation:toast 1.4s ease;
}

@keyframes toast{
  0%{opacity:0;transform:translateY(-8px);}
  20%{opacity:1;transform:translateY(0);}
  80%{opacity:1;}
  100%{opacity:0;transform:translateY(-6px);}
}

.typed-hint{
  position:absolute;
  left:24px;
  bottom:18px;
  font-size:12px;
  color:rgba(205,210,255,0.7);
}

.start-btn{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  border:none;
  background:#7a6bff;
  color:#ffffff;
  font-weight:700;
  padding:16px 40px;
  border-radius:999px;
  cursor:pointer;
  font-size:18px;
  z-index:10;
  box-shadow:0 12px 30px rgba(60,30,120,0.35);
  transition:transform 0.12s ease, box-shadow 0.12s ease;
}

.start-btn:hover{
  transform:translate(-50%, -50%) scale(1.05);
  box-shadow:0 16px 40px rgba(60,30,120,0.45);
}

.start-btn:active{
  transform:translate(-50%, -50%) scale(0.98);
}

.start-btn.hidden{
  display:none;
}

.shooter-overlay.show ~ .start-btn:not(.hidden){
  top:calc(50% + 70px);
}

.shooter-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.target{
  position:absolute;
  padding:10px 14px;
  background:rgba(122,107,255,0.75);
  color:#fff;
  border-radius:16px;
  font-weight:700;
  box-shadow:none;
  transition:transform 0.12s ease;
}

.target.bonus{
  background:#ffb353;
}

.target.boss{
  background:#ff5d8f;
}

.target.active{
  transform:scale(1.04);
  box-shadow:0 0 0 2px rgba(255,255,255,0.3);
}

.target-word{
  display:block;
  font-size:18px;
  font-weight:700;
  letter-spacing:0.02em;
}

.target-word .char{
  display:inline-block;
  padding:0 1px;
  color:#f5f6ff;
  transition:color 0.1s ease;
}

.target-word .char.correct{
  color:#bff2c7;
}

.target-word .char.wrong{
  color:#ff9ca2;
}

.target-word .char.active{
  border-left:2px solid rgba(255,255,255,0.7);
  animation:caretBlink 1s steps(1) infinite;
}

.target-word .char.active-end{
  border-right:2px solid rgba(255,255,255,0.7);
}

@keyframes caretBlink{
  0%, 50%{border-left-color:rgba(255,255,255,0.8);}
  51%, 100%{border-left-color:transparent;}
}

.target-timer{
  display:block;
  font-size:11px;
  opacity:0.85;
  margin-top:4px;
}

.shooter-bullet{
  position:absolute;
  width:12px;
  height:12px;
  border-radius:50%;
  pointer-events:none;
  z-index:20;
  will-change:transform, opacity;
}

.shooter-miss-bullet{
  width:10px;
  height:10px;
}

.shooter-bullet-particle{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  pointer-events:none;
  z-index:20;
  will-change:transform, opacity;
}

.shooter-field.shake{
  animation:shake 0.28s ease;
}

@keyframes shake{
  0%{transform:translateX(0);}
  30%{transform:translateX(-6px);}
  60%{transform:translateX(6px);}
  100%{transform:translateX(0);}
}

.shooter-leaderboard{
  max-width:1180px;
  margin:0 auto;
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 60px rgba(2,8,23,.28);
  border-radius:28px;
  padding:24px;
}

.leaderboard-header h2{
  margin:0 0 6px;
}

.leaderboard-note{
  margin:0 0 14px;
  color:rgba(226,232,240,.55);
  font-size:13px;
}

.rank-tabs{
  display:flex;
  gap:8px;
  margin-bottom:16px;
}

.rank-tab{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:#e5e7eb;
  padding:8px 14px;
  border-radius:14px;
  cursor:pointer;
  font-weight:600;
  transition:background .15s, border-color .15s;
}

.rank-tab:hover{
  background:rgba(255,255,255,.06);
}

.rank-tab.active{
  border-color:rgba(59,130,246,.45);
  background:rgba(59,130,246,.12);
  color:#eff6ff;
  font-weight:700;
}

.my-stats{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:16px;
}

.my-stat{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:10px 14px;
  min-width:120px;
}

.my-stat-label{
  display:block;
  font-size:11px;
  color:rgba(226,232,240,.5);
  margin-bottom:4px;
}

.my-stat-value{
  font-weight:700;
}

.table-wrap{
  overflow:auto;
}

.rank-table{
  width:100%;
  border-collapse:collapse;
  min-width:560px;
}

.rank-table th,
.rank-table td{
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.rank-table th{
  font-size:12px;
  text-transform:uppercase;
  color:rgba(226,232,240,.5);
}

.empty-cell{
  text-align:center;
  color:rgba(226,232,240,.5);
  padding:16px;
}

.rewards{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.reward-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px 16px;
  min-width:160px;
}

.reward-title{
  font-weight:700;
  margin-bottom:4px;
}

.reward-desc{
  color:rgba(226,232,240,.5);
  font-size:12px;
}

@media (max-width: 900px){
  .hud-top{
    grid-template-columns:1fr;
  }
  .hud-left,
  .hud-right{
    justify-content:center;
  }
}

body[data-page="shooter"] .page-shooter .shooter-shell,
body[data-page="shooter"] .page-shooter .stat-card,
body[data-page="shooter"] .page-shooter .ulta-card,
body[data-page="shooter"] .page-shooter .pause-toggle,
body[data-page="shooter"] .page-shooter .field-wrap,
body[data-page="shooter"] .page-shooter .combo-toast,
body[data-page="shooter"] .page-shooter .shooter-leaderboard,
body[data-page="shooter"] .page-shooter .reward-card{
  border:none;
}

/* ── Japanese Target Styling ── */
.target.japanese-target{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:8px 12px;
}

.target .target-kana{
  font-size:22px;
  font-weight:700;
  color:#f472b6;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
  line-height:1;
  margin-bottom:4px;
}

.target.japanese-target .target-word{
  font-size:16px;
  font-weight:500;
  letter-spacing:0.05em;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", monospace;
  color:rgba(226,232,240,.95);
}

.target.japanese-target .char.correct{
  color:#60a5fa;
  font-weight:700;
}

.target.japanese-target .char.wrong{
  color:#ef4444;
  text-decoration:underline;
}
