:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #020817;
  --lime: #b8ff20;
  --yellow: #f5ed22;
  --violet: #6536ff;
  --blue: #245dff;
  --navy: #020817;
}
* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; background: #020817; }
body { touch-action: none; -webkit-user-select: none; user-select: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
#unity-container { position: fixed; inset: 0; width: 100%; height: 100%; overflow: hidden; background: radial-gradient(circle at 50% 20%, rgba(38, 99, 235, .25), transparent 42%), #020817; }
#unity-canvas { display: block; width: 100%; height: 100%; border: 0; background: #020817; }
#unity-loading { position: absolute; z-index: 100; inset: 0; display: grid; place-items: center; padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom)); background: radial-gradient(circle at 50% 30%, rgba(92, 43, 255, .34), transparent 48%), linear-gradient(180deg, #07183f 0%, #020817 68%); opacity: 1; transition: opacity .35s ease, visibility .35s ease; }
#unity-loading.is-hidden { visibility: hidden; opacity: 0; }
.loading-card { width: min(420px, 88vw); padding: 30px 26px 26px; border: 1px solid rgba(128, 169, 255, .28); border-radius: 28px; background: rgba(3, 14, 41, .9); box-shadow: 0 28px 80px rgba(0, 0, 0, .48); text-align: center; backdrop-filter: blur(18px); }
.eyebrow { color: var(--lime); font-size: 12px; font-weight: 950; letter-spacing: .2em; }
.loading-card h1 { margin: 9px 0 8px; font-size: clamp(28px, 8vw, 46px); font-style: italic; line-height: .95; letter-spacing: -.045em; }
.loading-card p { margin: 14px 0 20px; color: #b9c9e6; font-size: 14px; }
#unity-progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .1); }
#unity-progress-bar { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--lime), var(--yellow)); box-shadow: 0 0 22px rgba(169, 255, 36, .65); transition: width .1s linear; }
#loading-percent { margin-top: 9px; color: #fff; font-size: 12px; font-weight: 900; }

#game-shell { position: absolute; z-index: 20; inset: 0; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
#game-shell.is-ready { opacity: 1; }
.topbar { position: absolute; z-index: 30; top: max(10px, env(safe-area-inset-top)); left: max(10px, env(safe-area-inset-left)); right: max(10px, env(safe-area-inset-right)); height: 62px; display: flex; align-items: center; gap: 10px; padding: 8px; border: 1px solid rgba(139, 173, 244, .2); border-radius: 20px; background: linear-gradient(90deg, rgba(2, 9, 29, .93), rgba(4, 15, 39, .82)); box-shadow: 0 18px 60px rgba(0, 0, 0, .28); backdrop-filter: blur(16px); pointer-events: auto; }
.back-link, #unity-fullscreen, .round-button { border: 1px solid rgba(160, 189, 255, .22); background: rgba(7, 18, 45, .85); color: #e7efff; }
.back-link { height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 0 14px 0 10px; border-radius: 14px; color: #dce8ff; font-size: 11px; text-decoration: none; }
.back-link span { margin-top: -2px; color: var(--lime); font-size: 25px; font-weight: 400; }
.back-link b { letter-spacing: .04em; }
.game-brand { min-width: 0; display: flex; flex-direction: column; margin-right: auto; }
.game-brand span { overflow: hidden; color: #fff; font-size: clamp(14px, 2vw, 20px); font-weight: 950; font-style: italic; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.game-brand small { color: #7e96be; font-size: 8px; font-weight: 850; letter-spacing: .15em; }
.profile-strip { display: flex; align-items: stretch; gap: 7px; }
.profile-strip > span { min-width: 60px; height: 42px; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 0 10px; border: 1px solid rgba(144, 178, 247, .2); border-radius: 13px; background: rgba(3, 12, 31, .78); }
.profile-strip small { color: var(--lime); font-size: 8px; font-weight: 900; }
.profile-strip b { font-size: 13px; }
.profile-strip .coins i { width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 35% 32%, #fff186 0 10%, #f0b516 36%, #9b5c00 72%); color: transparent; box-shadow: 0 0 12px rgba(242, 190, 32, .35); }
#unity-fullscreen { min-width: 120px; height: 42px; padding: 0 14px; border-radius: 13px; font-size: 9px; font-weight: 900; letter-spacing: .05em; cursor: pointer; }
.screen { position: absolute; inset: 0; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .22s ease, visibility .22s ease; }
.screen.is-active { visibility: visible; opacity: 1; }

.hero-card { position: absolute; top: max(92px, calc(env(safe-area-inset-top) + 84px)); left: max(18px, env(safe-area-inset-left)); width: min(360px, calc(100vw - 36px)); padding: 24px; border: 1px solid rgba(129, 167, 244, .24); border-radius: 26px; background: linear-gradient(145deg, rgba(8, 26, 67, .91), rgba(3, 12, 33, .74)); box-shadow: 0 28px 70px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .04); backdrop-filter: blur(18px); pointer-events: auto; }
.hero-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(circle at 88% 0, rgba(79, 58, 255, .34), transparent 38%); }
.hero-card > * { position: relative; z-index: 1; }
.hero-badge { width: fit-content; display: flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: rgba(2, 9, 28, .74); color: #9eb0cf; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.hero-badge i { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 12px var(--lime); }
.hero-kicker { margin: 20px 0 2px; color: var(--lime); font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.hero-card h2 { margin: 0; color: #fff; font-size: clamp(43px, 6vw, 62px); font-style: italic; line-height: .95; letter-spacing: -.06em; }
.hero-copy { max-width: 310px; margin: 13px 0 18px; color: #b6c7e2; font-size: 13px; line-height: 1.48; }
.hero-stats { display: grid; grid-template-columns: 96px 1fr; gap: 8px; }
.hero-stats > div { min-height: 54px; display: flex; flex-direction: column; justify-content: center; padding: 9px 11px; border: 1px solid rgba(142, 176, 239, .16); border-radius: 14px; background: rgba(2, 10, 27, .63); }
.hero-stats small { color: #6f85a8; font-size: 7px; font-weight: 900; letter-spacing: .12em; }
.hero-stats b { overflow: hidden; margin-top: 3px; color: #eaf1ff; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.kit-button { width: 100%; height: 46px; display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding: 0 14px; border: 1px solid rgba(184, 255, 32, .25); border-radius: 14px; background: linear-gradient(100deg, rgba(184, 255, 32, .13), rgba(184, 255, 32, .03)); color: var(--lime); font-size: 10px; font-weight: 900; cursor: pointer; }
.kit-button b { font-size: 20px; }
.mode-panel { position: absolute; z-index: 2; left: 50%; bottom: max(22px, env(safe-area-inset-bottom)); width: min(720px, calc(100vw - 36px)); transform: translateX(-50%); pointer-events: auto; }
.mode-panel > p { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 9px; color: #c4d2e9; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.mode-panel > p span { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 12px var(--lime); }
.mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mode-card { min-height: 96px; display: grid; grid-template-columns: 54px 1fr 24px; align-items: center; gap: 11px; padding: 13px; border: 1px solid rgba(139, 173, 244, .25); border-radius: 22px; background: linear-gradient(135deg, rgba(7, 23, 60, .93), rgba(3, 11, 30, .91)); color: #fff; text-align: left; box-shadow: 0 22px 60px rgba(0, 0, 0, .34); backdrop-filter: blur(16px); cursor: pointer; transition: transform .18s ease, border-color .18s ease; }
.mode-card:hover { transform: translateY(-3px); border-color: rgba(184, 255, 32, .6); }
.mode-card--juggle { background: linear-gradient(135deg, rgba(74, 39, 230, .93), rgba(10, 28, 73, .94)); }
.mode-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 17px; background: linear-gradient(145deg, var(--lime), var(--yellow)); color: #132007; font-size: 27px; font-weight: 900; box-shadow: 0 12px 30px rgba(184, 255, 32, .22); }
.mode-card > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }
.mode-card small { color: var(--lime); font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.mode-card b { margin: 2px 0 3px; font-size: clamp(18px, 2.4vw, 27px); font-style: italic; letter-spacing: -.035em; }
.mode-card em { overflow: hidden; color: #aebed8; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.mode-card > i { color: var(--lime); font-size: 22px; font-style: normal; }

.play-hud { position: absolute; z-index: 4; top: max(88px, calc(env(safe-area-inset-top) + 80px)); left: 50%; width: min(760px, calc(100vw - 28px)); height: 64px; display: grid; grid-template-columns: 46px minmax(160px, 1fr) 86px 86px; align-items: center; gap: 8px; padding: 8px; border: 1px solid rgba(137, 173, 244, .2); border-radius: 20px; background: rgba(2, 10, 29, .82); transform: translateX(-50%); backdrop-filter: blur(16px); pointer-events: auto; }
.round-button { width: 44px; height: 44px; border-radius: 14px; font-size: 24px; cursor: pointer; }
.mode-name { min-width: 0; display: flex; flex-direction: column; }
.mode-name small { color: var(--lime); font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.mode-name b { overflow: hidden; font-size: clamp(14px, 2vw, 20px); font-style: italic; text-overflow: ellipsis; white-space: nowrap; }
.hud-stat { height: 46px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(139, 173, 244, .17); border-radius: 13px; background: rgba(4, 15, 38, .72); }
.hud-stat small { color: #7188ad; font-size: 7px; font-weight: 900; letter-spacing: .1em; }
.hud-stat b { color: var(--lime); font-size: 16px; }
.game-callout { position: absolute; z-index: 3; top: max(166px, calc(env(safe-area-inset-top) + 150px)); right: max(18px, env(safe-area-inset-right)); max-width: min(340px, calc(100vw - 36px)); display: flex; align-items: center; gap: 10px; padding: 12px 17px; border: 1px solid rgba(184, 255, 32, .25); border-radius: 16px; background: rgba(2, 12, 26, .72); color: #eaf5ff; backdrop-filter: blur(12px); pointer-events: none; }
.game-callout.is-popping { animation: callout .36s ease; }
.game-callout b { font-size: 10px; letter-spacing: .06em; white-space: nowrap; }
.pulse-ring { width: 18px; height: 18px; border: 2px solid var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(184, 255, 32, .12); }
.play-actions { position: absolute; z-index: 4; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); width: min(690px, calc(100vw - 28px)); min-height: 58px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 9px; border: 1px solid rgba(137, 173, 244, .18); border-radius: 19px; background: rgba(2, 10, 29, .82); transform: translateX(-50%); backdrop-filter: blur(16px); pointer-events: auto; }
.play-actions button { height: 40px; padding: 0 13px; border: 1px solid rgba(184, 255, 32, .22); border-radius: 12px; background: rgba(184, 255, 32, .09); color: var(--lime); font-size: 9px; font-weight: 900; cursor: pointer; }
.play-actions p { margin: 0; color: #9bb0cf; font-size: 10px; text-align: center; }
#unity-warning { position: absolute; z-index: 120; top: calc(max(78px, env(safe-area-inset-top) + 68px)); left: 50%; width: min(480px, calc(100% - 28px)); transform: translateX(-50%); }
#unity-warning > div { margin-bottom: 8px; padding: 12px 15px; border-radius: 14px; background: rgba(255, 190, 40, .94); color: #171103; font-size: 13px; font-weight: 800; }
#unity-warning > .error { background: rgba(220, 48, 61, .96); color: white; }
@keyframes callout { 0% { opacity: .55; transform: scale(.92); } 55% { opacity: 1; transform: scale(1.04); } 100% { opacity: 1; transform: scale(1); } }

@media (max-width: 760px) {
  .topbar { height: 56px; border-radius: 16px; }
  .back-link { width: 42px; height: 40px; padding: 0; justify-content: center; }
  .back-link b, .game-brand small, #unity-fullscreen { display: none; }
  .game-brand span { font-size: 14px; }
  .profile-strip > span { min-width: 48px; height: 38px; padding: 0 7px; }
  .hero-card { top: auto; bottom: max(165px, calc(env(safe-area-inset-bottom) + 155px)); left: 12px; width: calc(100vw - 24px); padding: 17px; border-radius: 21px; }
  .hero-kicker { margin-top: 12px; }
  .hero-card h2 { font-size: 39px; }
  .hero-copy { display: none; }
  .hero-stats { margin-top: 10px; grid-template-columns: 78px 1fr; }
  .hero-stats > div { min-height: 45px; }
  .kit-button { height: 40px; }
  .mode-panel { bottom: max(10px, env(safe-area-inset-bottom)); width: calc(100vw - 20px); }
  .mode-panel > p { margin-bottom: 6px; }
  .mode-grid { gap: 7px; }
  .mode-card { min-height: 95px; grid-template-columns: 42px 1fr; gap: 8px; padding: 10px; border-radius: 18px; }
  .mode-icon { width: 42px; height: 42px; border-radius: 14px; font-size: 22px; }
  .mode-card b { font-size: 16px; }
  .mode-card em { font-size: 8px; }
  .mode-card > i { display: none; }
  .play-hud { top: max(76px, calc(env(safe-area-inset-top) + 66px)); grid-template-columns: 42px minmax(100px, 1fr) 68px 68px; height: 58px; padding: 7px; gap: 5px; }
  .round-button { width: 40px; height: 40px; }
  .mode-name b { font-size: 13px; }
  .hud-stat { height: 42px; }
  .hud-stat b { font-size: 13px; }
  .game-callout { top: max(142px, calc(env(safe-area-inset-top) + 128px)); right: 10px; max-width: 58vw; padding: 10px 13px; }
  .game-callout b { overflow: hidden; max-width: 74vw; font-size: 9px; text-overflow: ellipsis; }
  .play-actions { bottom: max(10px, env(safe-area-inset-bottom)); grid-template-columns: auto 1fr auto; gap: 6px; padding: 7px; }
  .play-actions button { padding: 0 10px; font-size: 8px; }
  .play-actions p { font-size: 8px; }
}
@media (max-width: 430px) {
  .profile-strip > span:first-child { display: none; }
  .hero-card { bottom: max(181px, calc(env(safe-area-inset-bottom) + 172px)); }
  .mode-grid { grid-template-columns: 1fr; }
  .mode-card { min-height: 70px; }
  .play-actions p { display: none; }
  .play-actions { grid-template-columns: 1fr 1fr; }
}
/* Version 18: cinematic menu, aim feedback and game reactions */
#home-screen { overflow: hidden; isolation: isolate; }
.menu-keyart { position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(2, 8, 23, .18), rgba(2, 8, 23, .03)), url("assets/david-hero-v18.png") center center / cover no-repeat; filter: saturate(1.04) contrast(1.02); transform: none; }
#home-screen::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(2, 8, 23, .18), transparent 32%, rgba(2, 8, 23, .82) 100%), linear-gradient(90deg, rgba(2, 8, 23, .28), transparent 55%); }
.home-section { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; transform: translateY(14px) scale(.985); transition: opacity .24s ease, transform .24s ease, visibility .24s ease; }
.home-section.is-active { visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; transform: translateY(0) scale(1); }
.hero-card.home-section { z-index: 4; top: auto; bottom: 96px; left: clamp(18px, 4vw, 68px); width: min(390px, calc(100vw - 36px)); padding: 22px; background: linear-gradient(140deg, rgba(2, 10, 30, .90), rgba(6, 19, 50, .77)); border-color: rgba(176, 211, 255, .25); }
.hero-card.home-section h2 { font-size: clamp(32px, 4vw, 52px); line-height: .92; }
.hero-card.home-section .hero-copy { margin-bottom: 13px; }
.primary-play { width: 100%; height: 52px; display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding: 0 16px; border: 0; border-radius: 14px; background: linear-gradient(105deg, var(--lime), var(--yellow)); color: #102005; box-shadow: 0 16px 34px rgba(184, 255, 32, .26); font-size: 10px; font-weight: 950; letter-spacing: .04em; cursor: pointer; }
.primary-play b { font-size: 23px; }
.mode-panel.home-section { z-index: 5; bottom: 94px; }
.main-nav { position: absolute; z-index: 8; left: 50%; bottom: max(12px, env(safe-area-inset-bottom)); width: min(680px, calc(100vw - 24px)); min-height: 70px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; padding: 7px; border: 1px solid rgba(132, 173, 250, .22); border-radius: 22px; background: rgba(2, 10, 29, .88); box-shadow: 0 22px 60px rgba(0, 0, 0, .38); transform: translateX(-50%); backdrop-filter: blur(18px); pointer-events: auto; }
.main-nav button { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 0; border-radius: 15px; background: transparent; color: #7890b4; cursor: pointer; transition: .18s ease; }
.main-nav button i { font-size: 20px; font-style: normal; line-height: 1; }
.main-nav button span { font-size: 8px; font-weight: 900; letter-spacing: .05em; }
.main-nav button.is-active { background: linear-gradient(145deg, rgba(92, 46, 255, .96), rgba(41, 87, 255, .93)); color: #fff; box-shadow: 0 10px 26px rgba(79, 54, 255, .36), inset 0 -3px rgba(25, 8, 94, .42); }
.main-nav button.is-active i { color: var(--lime); }
.home-panel { position: absolute; z-index: 5; top: max(112px, calc(env(safe-area-inset-top) + 98px)); left: clamp(18px, 5vw, 80px); width: min(430px, calc(100vw - 36px)); padding: 28px; border: 1px solid rgba(139, 175, 244, .26); border-radius: 27px; background: linear-gradient(145deg, rgba(4, 17, 48, .94), rgba(3, 11, 31, .86)); box-shadow: 0 30px 80px rgba(0, 0, 0, .42); backdrop-filter: blur(20px); }
.home-panel .panel-kicker { color: var(--lime); font-size: 9px; font-weight: 950; letter-spacing: .16em; }
.home-panel h2 { margin: 7px 0 10px; color: #fff; font-size: clamp(28px, 4vw, 46px); font-style: italic; line-height: .95; }
.home-panel > p { margin: 0 0 18px; color: #aebfda; font-size: 12px; line-height: 1.5; }
.profile-card { height: 112px; display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 15px; padding: 12px; border: 1px solid rgba(156, 189, 247, .18); border-radius: 18px; background: linear-gradient(120deg, rgba(82, 44, 242, .55), rgba(17, 45, 96, .42)); }
.profile-number { width: 78px; height: 88px; display: grid; place-items: center; border-radius: 15px; background: linear-gradient(145deg, #2558ff, #5b2bec); color: var(--lime); font-size: 37px; font-weight: 950; font-style: italic; }
.profile-card span { display: flex; flex-direction: column; }
.profile-card small { color: #8ca2c3; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.profile-card b { margin-top: 5px; font-size: 15px; }
.badge-grid { display: grid; gap: 9px; }
.badge-grid > div { min-height: 72px; display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 12px; padding: 10px; border: 1px solid rgba(143, 177, 240, .18); border-radius: 16px; background: rgba(4, 17, 43, .66); }
.badge-grid i { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 14px; background: rgba(184, 255, 32, .12); color: var(--lime); font-size: 24px; font-style: normal; }
.badge-grid span { display: flex; flex-direction: column; }
.badge-grid b { font-size: 11px; }
.badge-grid small { margin-top: 3px; color: #8197b9; font-size: 9px; }

#cinematic-word { position: absolute; z-index: 14; left: 50%; top: 26%; display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; transform: translate(-50%, -50%) scale(.72); pointer-events: none; filter: drop-shadow(0 10px 22px rgba(0,0,0,.42)); }
#cinematic-word b { color: #fff; font-size: clamp(34px, 6vw, 82px); font-weight: 1000; font-style: italic; line-height: .88; letter-spacing: -.055em; text-shadow: 0 3px 0 rgba(23, 38, 75, .82), 0 0 22px currentColor; white-space: nowrap; }
#cinematic-word span { margin-top: 8px; padding: 6px 13px; border: 1px solid currentColor; border-radius: 999px; background: rgba(2, 12, 28, .88); color: var(--lime); font-size: 9px; font-weight: 950; letter-spacing: .11em; }
#cinematic-word.is-showing { animation: impactWord 1.22s cubic-bezier(.18,.8,.2,1) both; }
#cinematic-word.is-goal b, #cinematic-word.is-combo b { color: var(--lime); }
#cinematic-word.is-save b { color: #49cfff; }
#cinematic-word.is-miss b { color: #ff6748; }
@keyframes impactWord { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.62); } 24% { opacity: 1; transform: translate(-50%, -50%) scale(1.04); } 46% { transform: translate(-50%, -50%) scale(1); } 76% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, -62%) scale(.98); } }

#aim-layer { position: absolute; z-index: 9; inset: 0; opacity: 0; pointer-events: none; transition: opacity .12s ease; }
#aim-layer.is-active { opacity: 1; }
#aim-line { position: absolute; left: 0; top: 0; height: 7px; border-radius: 99px; background: linear-gradient(90deg, rgba(184,255,32,.2), var(--lime), #fff); box-shadow: 0 0 18px rgba(184,255,32,.82); transform-origin: 0 50%; }
#aim-line::after { content: ""; position: absolute; right: -3px; top: 50%; width: 16px; height: 16px; border-top: 5px solid #fff; border-right: 5px solid #fff; transform: translateY(-50%) rotate(45deg); }
#aim-target { position: absolute; left: -32px; top: -32px; width: 64px; height: 64px; border: 3px solid var(--lime); border-radius: 50%; box-shadow: 0 0 0 10px rgba(184,255,32,.12), 0 0 28px rgba(184,255,32,.55); }
#aim-target::before, #aim-target::after { content: ""; position: absolute; background: var(--lime); }
#aim-target::before { left: 50%; top: -9px; width: 2px; height: 78px; }
#aim-target::after { top: 50%; left: -9px; width: 78px; height: 2px; }
#aim-target i { position: absolute; inset: 22px; border-radius: 50%; background: #fff; box-shadow: 0 0 12px #fff; }
#aim-readout { position: absolute; left: 50%; bottom: 92px; min-width: 260px; display: flex; justify-content: space-between; gap: 18px; padding: 10px 14px; border: 1px solid rgba(184,255,32,.34); border-radius: 13px; background: rgba(2,12,29,.86); color: #fff; transform: translateX(-50%); backdrop-filter: blur(12px); }
#aim-readout span, #aim-readout b { font-size: 9px; font-weight: 950; letter-spacing: .1em; }
#aim-readout span { color: var(--lime); }
.shot-legend { position: absolute; z-index: 3; left: 50%; bottom: 86px; width: min(620px, calc(100vw - 24px)); display: flex; align-items: center; justify-content: space-between; gap: 10px; color: rgba(219,233,255,.62); transform: translateX(-50%); pointer-events: none; }
.shot-legend span { font-size: 8px; font-weight: 900; }
.shot-legend i { color: var(--lime); font-size: 8px; font-style: normal; font-weight: 950; letter-spacing: .08em; }
body:not([data-mode="penalty"]) .shot-legend { display: none; }

@media (max-width: 760px) {
  .menu-keyart { background-position: 61% center; }
  #home-screen::after { background: linear-gradient(180deg, rgba(2,8,23,.18), rgba(2,8,23,.10) 42%, rgba(2,8,23,.94) 76%); }
  .hero-card.home-section { left: 10px; bottom: max(88px, calc(env(safe-area-inset-bottom) + 78px)); width: calc(100vw - 20px); padding: 15px; }
  .hero-card.home-section h2 { font-size: 31px; }
  .hero-card.home-section .hero-copy { display: block; margin: 8px 0; font-size: 10px; }
  .hero-card.home-section .hero-badge, .hero-card.home-section .hero-kicker { display: none; }
  .hero-card.home-section .hero-stats { display: none; }
  .primary-play { height: 43px; margin-top: 7px; }
  .mode-panel.home-section { bottom: max(88px, calc(env(safe-area-inset-bottom) + 78px)); }
  .main-nav { min-height: 68px; bottom: max(6px, env(safe-area-inset-bottom)); }
  .main-nav button span { font-size: 7px; }
  .home-panel { top: max(78px, calc(env(safe-area-inset-top) + 66px)); left: 10px; width: calc(100vw - 20px); padding: 20px; }
  .home-panel h2 { font-size: 28px; }
  .badge-grid > div { min-height: 62px; }
  #cinematic-word { top: 24%; }
  #cinematic-word b { font-size: clamp(32px, 11vw, 58px); }
  #aim-readout { bottom: 78px; }
  .shot-legend { bottom: 74px; }
  .game-callout { top: max(138px, calc(env(safe-area-inset-top) + 124px)); }
}
@media (max-width: 430px) {
  .menu-keyart { background-position: 67% center; }
  .hero-card.home-section .hero-copy { max-width: 76%; }
  .mode-panel.home-section .mode-grid { grid-template-columns: 1fr; }
  .mode-panel.home-section .mode-card { min-height: 78px; }
  .main-nav { width: calc(100vw - 12px); border-radius: 18px; }
  .main-nav button span { letter-spacing: 0; }
  .shot-legend span { display: none; }
  .shot-legend { justify-content: center; }
}
#home-screen:not(.is-active) .home-section,
#home-screen:not(.is-active) .main-nav { visibility: hidden !important; pointer-events: none !important; }
/* Version 23: restored dashboard, compact reactions and match atmosphere */
.desktop-sidebar, .home-sidecards, .career-card { display: none; }
#goal-flash { position: absolute; z-index: 13; inset: 0; opacity: 0; pointer-events: none; background: radial-gradient(circle at 50% 32%, rgba(184,255,32,.40), rgba(70,47,255,.16) 28%, transparent 58%); mix-blend-mode: screen; }
#goal-flash.is-active { animation: goalFlash 1.05s ease-out both; }
@keyframes goalFlash { 0% { opacity: 0; } 16% { opacity: 1; } 48% { opacity: .42; } 100% { opacity: 0; } }

@media (min-width: 900px) {
  body[data-mode="menu"] .desktop-sidebar { position: absolute; z-index: 45; inset: 0 auto 0 0; width: 210px; display: flex; flex-direction: column; padding: 24px 14px 18px; border-right: 1px solid rgba(130,169,245,.18); background: linear-gradient(180deg, rgba(3,15,41,.98), rgba(2,10,28,.98)); box-shadow: 18px 0 60px rgba(0,0,0,.24); pointer-events: auto; }
  .sidebar-logo { display: flex; align-items: center; gap: 12px; padding: 2px 4px 28px; }
  .sidebar-logo strong { width: 48px; height: 48px; display: grid; place-items: center; border: 2px solid var(--lime); border-radius: 13px; background: linear-gradient(145deg, #235cff, #6433ff); color: #fff; box-shadow: 0 0 0 5px rgba(184,255,32,.08); font-size: 17px; font-style: italic; }
  .sidebar-logo span { color: #fff; font-size: 12px; font-weight: 950; line-height: 1.05; letter-spacing: .11em; }
  .desktop-sidebar nav { display: grid; gap: 7px; }
  .desktop-sidebar nav button { height: 54px; display: grid; grid-template-columns: 32px 1fr 12px; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid transparent; border-radius: 14px; background: transparent; color: #8398b9; text-align: left; cursor: pointer; }
  .desktop-sidebar nav button i { color: #9cb0cd; font-size: 21px; font-style: normal; text-align: center; }
  .desktop-sidebar nav button span { font-size: 10px; font-weight: 900; }
  .desktop-sidebar nav button b { opacity: 0; color: var(--lime); font-size: 18px; }
  .desktop-sidebar nav button.is-active { border-color: rgba(184,255,32,.22); background: linear-gradient(105deg, rgba(38,86,255,.96), rgba(99,48,255,.95)); color: #fff; box-shadow: 0 12px 28px rgba(48,55,255,.28); }
  .desktop-sidebar nav button.is-active i, .desktop-sidebar nav button.is-active b { opacity: 1; color: var(--lime); }
  .sidebar-player { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 9px; margin-top: auto; padding: 12px 6px 0; border-top: 1px solid rgba(134,168,232,.14); }
  .sidebar-player > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--lime); color: #142106; font-size: 18px; font-weight: 950; }
  .sidebar-player div { display: flex; flex-direction: column; }
  .sidebar-player small { color: #657d9f; font-size: 7px; font-weight: 900; letter-spacing: .12em; }
  .sidebar-player b { margin-top: 2px; color: #fff; font-size: 10px; }
  .sidebar-player i { color: #6f86a8; font-size: 10px; font-style: normal; letter-spacing: 2px; }

  body[data-mode="menu"] .topbar { left: 224px; right: 18px; }
  #home-screen { left: 210px; }
  .hero-card.home-section { top: 94px; bottom: auto; left: 28px; width: 430px; padding: 21px; }
  .hero-card.home-section h2 { font-size: clamp(37px, 3.1vw, 51px); }
  .hero-card.home-section .hero-copy { max-width: 360px; }
  .home-panel { top: 94px; left: 28px; width: 430px; }
  .mode-panel.home-section { width: min(820px, calc(100% - 56px)); bottom: 38px; }
  .main-nav { display: none; }
}

@media (min-width: 1180px) and (min-height: 650px) {
  .home-sidecards.home-section { position: absolute; z-index: 5; top: 96px; right: 28px; width: 345px; display: flex; flex-direction: column; gap: 12px; }
  .daily-card, .tasks-card { border: 1px solid rgba(139,175,244,.24); border-radius: 22px; background: linear-gradient(145deg, rgba(4,18,49,.94), rgba(3,12,32,.88)); box-shadow: 0 24px 70px rgba(0,0,0,.28); backdrop-filter: blur(18px); }
  .daily-card { position: relative; padding: 18px; }
  .daily-card > div { display: flex; flex-direction: column; }
  .daily-card > div small, .tasks-card > small, .career-card > div small { color: var(--lime); font-size: 8px; font-weight: 950; letter-spacing: .14em; }
  .daily-card > div b { margin-top: 5px; color: #fff; font-size: 14px; font-style: italic; }
  .daily-card > strong { position: absolute; top: 16px; right: 16px; padding: 6px 10px; border: 1px solid rgba(184,255,32,.25); border-radius: 999px; color: var(--lime); font-size: 10px; }
  .daily-card ol { display: grid; grid-template-columns: repeat(6,1fr); gap: 5px; margin: 15px 0 0; padding: 0; list-style: none; }
  .daily-card li { min-width: 0; height: 61px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid rgba(135,171,239,.14); border-radius: 12px; background: rgba(1,9,28,.55); }
  .daily-card li span { color: #7087aa; font-size: 6px; font-weight: 900; }
  .daily-card li b { font-size: 9px; }
  .daily-card li i { width: 8px; height: 8px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: #162305; font-size: 6px; font-style: normal; }
  .daily-card li.today { border-color: var(--lime); background: rgba(184,255,32,.08); }
  .tasks-card { padding: 18px; }
  .tasks-card h3 { margin: 5px 0 13px; color: #fff; font-size: 18px; font-style: italic; }
  .tasks-card p { min-height: 52px; display: grid; grid-template-columns: 28px 1fr 28px; align-items: center; gap: 9px; margin: 7px 0 0; padding: 9px; border: 1px solid rgba(184,255,32,.18); border-radius: 13px; background: rgba(5,29,47,.72); }
  .tasks-card p > i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: var(--lime); color: #142106; font-size: 12px; font-style: normal; font-weight: 950; }
  .tasks-card p > span { min-width: 0; display: flex; flex-direction: column; }
  .tasks-card p b { color: #eef5ff; font-size: 8px; }
  .tasks-card p small { margin-top: 3px; color: #6680a4; font-size: 6px; font-weight: 900; }
  .tasks-card p em { color: var(--lime); font-style: normal; }
  .tasks-card p > strong { color: #efc13a; font-size: 8px; text-align: center; }

  .career-card.home-section { position: absolute; z-index: 4; right: 395px; bottom: 26px; left: 28px; min-height: 174px; display: block; padding: 18px 20px; border: 1px solid rgba(139,175,244,.22); border-radius: 22px; background: linear-gradient(145deg, rgba(4,18,49,.90), rgba(3,12,32,.86)); box-shadow: 0 24px 70px rgba(0,0,0,.26); backdrop-filter: blur(18px); }
  .career-card h3 { margin: 4px 0 13px; color: #fff; font-size: 16px; font-style: italic; }
  .career-card ol { position: relative; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; gap: 20px; margin: 0; padding: 12px 12px 0; list-style: none; }
  .career-card ol::before { content: ""; position: absolute; z-index: -1; top: 39px; right: 10%; left: 10%; height: 8px; border-radius: 999px; background: repeating-linear-gradient(90deg, #20385d 0 25px, transparent 25px 34px); }
  .career-card li { display: flex; flex-direction: column; align-items: center; gap: 7px; color: #6d84a6; }
  .career-card li b { width: 58px; height: 58px; display: grid; place-items: center; border: 6px solid #193457; border-radius: 50%; background: #07172f; font-size: 15px; font-style: italic; box-shadow: 0 7px 16px rgba(0,0,0,.28); }
  .career-card li span { font-size: 7px; font-weight: 950; text-align: center; letter-spacing: .05em; }
  .career-card li.done b { border-color: #2d63ff; background: #4f39ff; color: #fff; }
  .career-card li.current b { border-color: var(--lime); background: #5a35ff; color: #fff; box-shadow: 0 0 0 7px rgba(184,255,32,.10), 0 0 26px rgba(184,255,32,.28); }
  .career-card li.current span { color: var(--lime); }
  .hero-card.home-section { width: min(430px, calc(100% - 800px)); min-width: 390px; }
}

/* Version 25: keep the complete interface visible in browser fullscreen. */
#unity-container:fullscreen,
#unity-container:-webkit-full-screen {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: #020817;
}
#unity-container:fullscreen #game-shell,
#unity-container:-webkit-full-screen #game-shell {
  display: block;
}


/* Version 60: Real Touch juggling — independent feet, charge, aim and trap feedback. */
.juggle-guide,
.juggle-foot-controls { display: none; }
body[data-mode="juggle"] .game-callout { display: none; }
body[data-mode="juggle"] .juggle-guide {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: max(108px, calc(env(safe-area-inset-bottom) + 98px));
  width: min(680px, calc(100vw - 28px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  align-items: center;
  gap: 18px;
  padding: 11px 15px;
  border: 1px solid rgba(137, 173, 244, .22);
  border-radius: 18px;
  background: linear-gradient(105deg, rgba(2, 10, 29, .91), rgba(7, 22, 45, .88));
  box-shadow: 0 14px 38px rgba(0, 0, 0, .30);
  transform: translateX(-50%);
  backdrop-filter: blur(18px);
  pointer-events: none;
}
.juggle-instruction { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.juggle-instruction small { color: var(--lime); font-size: 8px; font-weight: 950; letter-spacing: .14em; }
.juggle-instruction b { overflow: hidden; color: #f4f8ff; font-size: 11px; font-weight: 950; letter-spacing: .03em; text-overflow: ellipsis; white-space: nowrap; }
.juggle-meter { display: grid; grid-template-columns: minmax(80px, 1fr) auto; align-items: center; gap: 9px; }
.juggle-meter > span { height: 8px; overflow: hidden; border: 1px solid rgba(137,173,244,.20); border-radius: 999px; background: rgba(1,8,23,.72); }
.juggle-meter > span i { width: 58%; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--lime), var(--yellow), #ff744d); box-shadow: 0 0 14px rgba(184,255,32,.30); transition: width .08s linear; }
.juggle-meter b { color: #dce8fa; font-size: 8px; font-weight: 950; letter-spacing: .08em; white-space: nowrap; }
body[data-mode="juggle"] .play-actions {
  width: min(680px, calc(100vw - 28px));
  min-height: 76px;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 7px;
  border-color: rgba(184,255,32,.18);
  background: rgba(2,10,29,.91);
  box-shadow: 0 16px 42px rgba(0,0,0,.34);
}
body[data-mode="juggle"] #reset-ball,
body[data-mode="juggle"] #mode-tip,
body[data-mode="juggle"] #play-kit-button { display: none; }
body[data-mode="juggle"] .juggle-foot-controls {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
body[data-mode="juggle"] .juggle-foot-button {
  --charge: 0%;
  --aim: 0;
  position: relative;
  isolation: isolate;
  min-width: 0;
  width: 100%;
  height: 60px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: 1fr 1fr;
  align-items: center;
  gap: 0 10px;
  overflow: hidden;
  padding: 8px 13px;
  border: 1px solid rgba(137,173,244,.24);
  border-radius: 14px;
  background: linear-gradient(125deg, rgba(17,40,73,.96), rgba(6,20,43,.96));
  color: #edf5ff;
  box-shadow: inset 0 1px rgba(255,255,255,.04);
  text-align: left;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}
.juggle-foot-button > span {
  position: relative;
  z-index: 2;
  grid-row: 1 / 3;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(184,255,32,.45);
  border-radius: 12px;
  background: rgba(184,255,32,.10);
  color: var(--lime);
  font-size: 16px;
  font-weight: 1000;
}
.juggle-foot-button > b,
.juggle-foot-button > small { position: relative; z-index: 2; min-width: 0; }
.juggle-foot-button > b { align-self: end; color: #fff; font-size: 10px; font-weight: 1000; letter-spacing: .07em; }
.juggle-foot-button > small { align-self: start; margin-top: 2px; color: #8298ba; font-size: 6px; font-weight: 900; letter-spacing: .07em; white-space: nowrap; }
.juggle-foot-button > i {
  position: absolute;
  z-index: 0;
  inset: auto auto 0 0;
  width: var(--charge);
  height: 100%;
  background: linear-gradient(90deg, rgba(184,255,32,.36), rgba(255,221,45,.20));
  box-shadow: 0 0 22px rgba(184,255,32,.18);
  transition: width .06s linear;
}
.juggle-foot-button.is-right > i { right: 0; left: auto; background: linear-gradient(270deg, rgba(184,255,32,.36), rgba(255,221,45,.20)); }
.juggle-foot-button::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: calc(50% - (var(--aim) * 34%));
  bottom: 5px;
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: var(--lime);
  opacity: 0;
  box-shadow: 0 0 10px rgba(184,255,32,.65);
  transform: translateX(50%);
}
.juggle-foot-button.is-pressing {
  border-color: rgba(184,255,32,.80);
  background: linear-gradient(125deg, rgba(51,75,36,.98), rgba(12,39,38,.98));
  box-shadow: 0 0 0 2px rgba(184,255,32,.10), 0 12px 30px rgba(0,0,0,.30);
  transform: translateY(-2px);
}
.juggle-foot-button.is-pressing::after { opacity: 1; }
.juggle-foot-button.is-pressing > span,
.juggle-foot-button.is-selected > span { background: var(--lime); color: #112006; box-shadow: 0 0 18px rgba(184,255,32,.40); }
.juggle-foot-button.is-selected { border-color: rgba(184,255,32,.48); }
.juggle-foot-button.is-trapping { animation: footTrap 1.05s ease-in-out infinite alternate; }
body[data-juggle-phase="contact"] .juggle-foot-button,
body[data-juggle-phase="choose"] .juggle-foot-button { border-color: rgba(184,255,32,.38); }
body[data-juggle-phase="drop"] .juggle-foot-button { opacity: .55; }
@keyframes footTrap {
  from { box-shadow: 0 0 0 0 rgba(184,255,32,.10); }
  to { box-shadow: 0 0 0 3px rgba(184,255,32,.16), 0 0 26px rgba(184,255,32,.20); }
}
@media (max-width: 760px) {
  body[data-mode="juggle"] .juggle-guide {
    bottom: max(101px, calc(env(safe-area-inset-bottom) + 91px));
    width: calc(100vw - 18px);
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px 11px;
    border-radius: 15px;
  }
  .juggle-instruction b { font-size: 9px; }
  .juggle-meter { grid-template-columns: 1fr auto; }
  body[data-mode="juggle"] .play-actions {
    bottom: max(7px, env(safe-area-inset-bottom));
    width: calc(100vw - 18px);
    min-height: 78px;
    border-radius: 17px;
  }
  body[data-mode="juggle"] .juggle-foot-button {
    height: 64px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0 7px;
    padding: 7px 8px;
    border-radius: 12px;
  }
  .juggle-foot-button > span { width: 32px; height: 32px; border-radius: 10px; font-size: 14px; }
  .juggle-foot-button > b { font-size: 8px; letter-spacing: .03em; }
  .juggle-foot-button > small { overflow: hidden; font-size: 5px; letter-spacing: 0; text-overflow: ellipsis; }
}
@media (max-width: 390px) {
  .juggle-foot-button > small { display: none; }
  .juggle-foot-button > b { align-self: center; grid-row: 1 / 3; }
}

/* Version 64: Direct-on-character juggling. */
body[data-mode="juggle"] #unity-canvas {
  cursor: crosshair;
  touch-action: none;
}
body[data-mode="juggle"] .play-actions { display: none; }
body[data-mode="juggle"] .juggle-foot-controls { display: none !important; }
body[data-mode="juggle"] .juggle-guide {
  bottom: max(16px, calc(env(safe-area-inset-bottom) + 10px));
  width: min(620px, calc(100vw - 24px));
  grid-template-columns: minmax(0, 1fr) 170px;
  border-color: rgba(184,255,32,.34);
  background: linear-gradient(105deg, rgba(2,10,29,.86), rgba(7,28,36,.84));
}
@media (max-width: 760px) {
  body[data-mode="juggle"] .juggle-guide {
    bottom: max(8px, env(safe-area-inset-bottom));
    width: calc(100vw - 16px);
    grid-template-columns: 1fr;
  }
}

/* Release 67 — full five-a-side match, collectible awards and player attributes. */
.hero-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.secondary-play {
  min-width: 132px;
  border: 1px solid rgba(141, 172, 240, .28);
  border-radius: 15px;
  background: rgba(7, 22, 55, .82);
  color: #dce9ff;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .08em;
  cursor: pointer;
}
.mode-card--match {
  border-color: rgba(184, 255, 32, .44);
  background:
    radial-gradient(circle at 18% 12%, rgba(184,255,32,.18), transparent 34%),
    linear-gradient(135deg, rgba(10, 54, 56, .97), rgba(7, 20, 51, .96));
  box-shadow: 0 18px 50px rgba(10, 40, 50, .35), inset 0 1px rgba(255,255,255,.05);
}
.mode-card--match .mode-icon {
  background: linear-gradient(145deg, #d7ff4b, #65df30);
  color: #09231c;
  box-shadow: 0 0 28px rgba(184,255,32,.30);
}
.player-attributes { display: grid; gap: 8px; margin: 14px 0; }
.player-attributes > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  align-items: center;
  gap: 6px;
}
.player-attributes span { color: #afc0db; font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.player-attributes b { color: #ecf5ff; font-size: 9px; text-align: right; }
.player-attributes i {
  grid-column: 1 / 3;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(120,153,212,.16);
}
.player-attributes i::before {
  content: "";
  width: var(--value);
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, #4b53ff, var(--lime));
  box-shadow: 0 0 12px rgba(184,255,32,.34);
}
.achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: min(52vh, 570px); overflow: auto; padding-right: 3px; }
.achievement-grid .achievement {
  min-width: 0;
  grid-template-columns: 62px minmax(0, 1fr);
  opacity: .74;
  background:
    linear-gradient(120deg, rgba(9,26,60,.96), rgba(3,13,35,.92));
}
.achievement-grid .achievement.is-earned,
.achievement-grid .achievement.is-progress { opacity: 1; }
.achievement-grid .achievement > span { min-width: 0; display: flex; flex-direction: column; }
.achievement-grid .achievement em {
  margin-top: 6px;
  color: #7285a7;
  font-size: 6px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .12em;
}
.achievement-grid .achievement.is-earned em { color: var(--lime); }
.award {
  position: relative;
  isolation: isolate;
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center;
  border: 1px solid rgba(255,255,255,.30) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), rgba(255,255,255,0) 17%),
    conic-gradient(from 210deg, #3440ff, #893dff, #16d7dd, #3440ff) !important;
  box-shadow:
    inset -6px -7px 12px rgba(0,0,0,.32),
    inset 5px 5px 9px rgba(255,255,255,.18),
    0 8px 18px rgba(0,0,0,.35) !important;
  transform: perspective(120px) rotateX(7deg) rotateY(-8deg);
}
.award::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8px;
  border: 2px solid rgba(224,245,255,.72);
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px rgba(3,14,41,.35), 0 0 12px rgba(115,185,255,.26);
}
.award > span { color: #fff; font-size: 16px; font-weight: 1000; font-style: normal; filter: drop-shadow(0 3px 2px rgba(0,0,0,.45)); }
.award--series { background: conic-gradient(from 210deg, #294cff, #6b38ff, #23d4e4, #294cff) !important; }
.award--touch { background: conic-gradient(from 210deg, #20b890, #74df2d, #d7ff38, #20b890) !important; }
.award--target { background: conic-gradient(from 210deg, #cc3cff, #6335ff, #ff3cc7, #cc3cff) !important; }
.award--top { background: conic-gradient(from 210deg, #ed5b16, #ffb21c, #fff068, #ed5b16) !important; }
.award--win, .award--champion { background: conic-gradient(from 210deg, #a36b08, #ffd83d, #fff2a1, #a36b08) !important; }
.award--keeper { background: conic-gradient(from 210deg, #086cc2, #23c5e8, #84f4ff, #086cc2) !important; }

.match-hud,
.match-controls,
.match-result { display: none; }
body[data-mode="match"] .play-hud,
body[data-mode="match"] .game-callout,
body[data-mode="match"] .shot-legend,
body[data-mode="match"] .play-actions,
body[data-mode="match"] .juggle-guide,
body[data-mode="match"] #aim-layer { display: none !important; }
body[data-mode="match"] #unity-canvas { touch-action: none; }
body[data-mode="match"] .match-hud {
  position: absolute;
  z-index: 8;
  top: max(12px, env(safe-area-inset-top));
  left: 50%;
  width: min(530px, calc(100vw - 28px));
  height: 58px;
  display: grid;
  grid-template-columns: 1fr 105px 1fr;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(139,173,244,.24);
  border-radius: 19px;
  background: linear-gradient(110deg, rgba(3,17,46,.93), rgba(4,12,31,.94));
  box-shadow: 0 14px 38px rgba(0,0,0,.32);
  transform: translateX(-50%);
  backdrop-filter: blur(18px);
}
.match-team { min-width: 0; display: flex; align-items: center; gap: 9px; padding: 0 14px; color: #d9e7fa; }
.match-team i { width: 11px; height: 11px; flex: 0 0 auto; border-radius: 4px; background: #3154ff; box-shadow: 0 0 13px rgba(65,105,255,.60); }
.match-team--orange { justify-content: flex-end; }
.match-team--orange i { background: #ff5a19; box-shadow: 0 0 13px rgba(255,95,28,.55); }
.match-team span { overflow: hidden; font-size: 8px; font-weight: 950; letter-spacing: .10em; text-overflow: ellipsis; white-space: nowrap; }
.match-team b { color: #fff; font-size: 24px; font-weight: 1000; }
.match-clock { align-self: stretch; display: grid; place-content: center; border-right: 1px solid rgba(139,173,244,.14); border-left: 1px solid rgba(139,173,244,.14); text-align: center; }
.match-clock small { color: var(--lime); font-size: 6px; font-weight: 950; letter-spacing: .14em; }
.match-clock b { margin-top: 2px; color: #fff; font-size: 16px; font-variant-numeric: tabular-nums; }
body[data-mode="match"] .match-controls {
  position: absolute;
  z-index: 9;
  inset: auto 0 max(10px, env(safe-area-inset-bottom));
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 clamp(14px, 4vw, 52px);
  pointer-events: none;
}
.match-joystick {
  --jx: 0px;
  --jy: 0px;
  position: relative;
  width: clamp(112px, 18vw, 154px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(161,194,255,.28);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(24,54,95,.64) 0 34%, rgba(5,17,43,.72) 35% 66%, rgba(2,9,26,.44) 67%);
  box-shadow: inset 0 0 30px rgba(27,72,134,.34), 0 12px 36px rgba(0,0,0,.25);
  backdrop-filter: blur(7px);
  pointer-events: auto;
  touch-action: none;
}
.match-joystick::before, .match-joystick::after { content:""; position:absolute; background:rgba(150,184,237,.14); }
.match-joystick::before { width: 64%; height: 1px; }
.match-joystick::after { width: 1px; height: 64%; }
.match-joystick > i {
  position: relative;
  z-index: 2;
  width: 44%;
  aspect-ratio: 1;
  border: 1px solid rgba(211,255,111,.58);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #d9ff59, #79dd24 64%, #2d7317);
  box-shadow: 0 0 23px rgba(184,255,32,.24), inset -6px -7px 10px rgba(10,66,20,.30);
  transform: translate(var(--jx), var(--jy));
}
.match-joystick > span { position: absolute; bottom: 10px; color: rgba(220,235,255,.54); font-size: 6px; font-weight: 950; letter-spacing: .13em; }
.match-actions {
  width: clamp(210px, 31vw, 330px);
  min-height: 158px;
  position: relative;
  pointer-events: auto;
}
.match-actions button {
  --charge: 0%;
  position: absolute;
  width: clamp(66px, 9vw, 86px);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  overflow: hidden;
  border: 1px solid rgba(151,185,242,.32);
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(18,43,82,.92), rgba(2,12,34,.94));
  color: #eaf3ff;
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 10px 30px rgba(0,0,0,.30);
  cursor: pointer;
  touch-action: none;
}
.match-actions button::before {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:var(--charge);
  background:linear-gradient(rgba(184,255,32,.30),rgba(184,255,32,.72));
}
.match-actions button > * { position: relative; z-index: 2; }
.match-actions button span { font-size: 10px; font-weight: 1000; letter-spacing: .05em; }
.match-actions button small { margin-top: 2px; color: #849abd; font-size: 6px; font-weight: 900; }
.match-actions button.is-primary {
  right: 0; bottom: 7px;
  width: clamp(82px, 11vw, 104px);
  border-color: rgba(184,255,32,.52);
  background: linear-gradient(145deg, rgba(68,78,255,.96), rgba(88,31,231,.94));
  box-shadow: 0 0 0 3px rgba(184,255,32,.08), 0 12px 35px rgba(57,40,223,.38);
}
.match-actions button[data-match-action="pass"] { right: 34%; top: 0; }
.match-actions button[data-match-action="sprint"] { left: 0; bottom: 3px; }
.match-actions button.is-switch { left: 34%; bottom: 0; width: 54px; border-color: rgba(157,190,245,.22); }
.match-actions button.is-pressing { border-color: var(--lime); transform: scale(.94); box-shadow: 0 0 22px rgba(184,255,32,.28); }
body[data-mode="match"] .match-result.is-visible {
  position: absolute;
  z-index: 20;
  inset: 50% auto auto 50%;
  width: min(440px, calc(100vw - 36px));
  display: grid;
  justify-items: center;
  padding: 28px;
  border: 1px solid rgba(184,255,32,.42);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 0, rgba(94,58,255,.30), transparent 54%),
    rgba(2,12,35,.94);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  transform: translate(-50%,-50%);
  backdrop-filter: blur(20px);
}
.match-result small { color: var(--lime); font-size: 8px; font-weight: 950; letter-spacing: .16em; }
.match-result h2 { margin: 8px 0 12px; color: #fff; font-size: clamp(42px,8vw,72px); font-style: italic; letter-spacing: -.06em; }
.match-result > div { display:grid; justify-items:center; gap:5px; }
.match-result > div b { color:#fff; font-size:28px; }
.match-result > div span { color:#a9bad5; font-size:10px; }
.match-result button { width:100%; height:50px; margin-top:20px; border:0; border-radius:15px; background:linear-gradient(90deg,var(--lime),#efff24); color:#102006; font-size:10px; font-weight:1000; cursor:pointer; }

@media (max-width: 760px) {
  .hero-actions { grid-template-columns: 1fr; }
  .secondary-play { min-height: 42px; }
  .achievement-grid { grid-template-columns: 1fr; max-height: 55vh; }
  body[data-mode="match"] .match-hud { top: max(8px, env(safe-area-inset-top)); height: 52px; grid-template-columns: 1fr 86px 1fr; }
  .match-team { gap: 6px; padding: 0 9px; }
  .match-team span { font-size: 6px; }
  .match-team b { font-size: 20px; }
  .match-clock b { font-size: 14px; }
  body[data-mode="match"] .match-controls { padding: 0 10px; }
  .match-joystick { width: 112px; }
  .match-actions { width: 212px; min-height: 138px; }
  .match-actions button { width: 66px; }
  .match-actions button.is-primary { width: 82px; }
}
@media (max-width: 430px) {
  .match-actions { width: 190px; }
  .match-actions button { width: 60px; }
  .match-actions button.is-primary { width: 76px; }
  .match-joystick { width: 102px; }
  .match-actions button span { font-size: 8px; }
}

/* Release 68 — natural controls, reliable navigation and mobile-first player hub. */
#unity-container { height: 100dvh; }
button { font: inherit; -webkit-tap-highlight-color: transparent; }
.back-link { flex: 0 0 auto; cursor: pointer; }
.back-link span { font-size: 18px; }

.locker-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 0 0 12px;
  padding: 5px;
  border: 1px solid rgba(139,175,244,.18);
  border-radius: 14px;
  background: rgba(1,9,27,.58);
}
.locker-tabs button {
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #7187aa;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .08em;
  cursor: pointer;
}
.locker-tabs button.is-active {
  background: linear-gradient(135deg, #315aff, #6934f3);
  color: #fff;
  box-shadow: 0 8px 22px rgba(55,61,255,.28);
}
.locker-view { display: none; }
.locker-view.is-active { display: block; }
.profile-card em {
  display: block;
  margin-top: 5px;
  color: var(--lime);
  font-size: 6px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
}
.wardrobe-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
  margin-top: 10px;
}
.wardrobe-grid > button {
  min-width: 0;
  min-height: 72px;
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(142,176,239,.19);
  border-radius: 13px;
  background: linear-gradient(135deg,rgba(11,31,68,.92),rgba(3,13,35,.92));
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.wardrobe-grid > button > span { min-width: 0; display: flex; flex-direction: column; }
.wardrobe-grid > button b { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.wardrobe-grid > button small { margin-top: 3px; color: #778dac; font-size: 6px; font-weight: 900; }
.wardrobe-grid > button em {
  grid-column: 1 / 3;
  color: var(--lime);
  font-size: 6px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .08em;
  text-align: right;
}
.wardrobe-grid > button.is-equipped { border-color: var(--lime); box-shadow: 0 0 0 2px rgba(184,255,32,.08); }
.wardrobe-grid > button.is-locked { opacity: .55; }
.kit-preview {
  position: relative;
  width: 42px;
  height: 50px;
  display: block;
  border-radius: 9px 9px 13px 13px;
  background: #27b77f;
  box-shadow: inset -8px -9px 15px rgba(0,0,0,.22), inset 6px 5px 11px rgba(255,255,255,.16), 0 8px 15px rgba(0,0,0,.24);
  transform: perspective(90px) rotateY(-8deg);
}
.kit-preview::before,.kit-preview::after { content:""; position:absolute; top:4px; width:14px; height:22px; border-radius:7px; background:inherit; }
.kit-preview::before { left:-8px; transform:rotate(27deg); }
.kit-preview::after { right:-8px; transform:rotate(-27deg); }
.kit-preview--sky { background: linear-gradient(90deg,#e7f2ff 0 30%,#38a3f2 30% 45%,#e7f2ff 45% 65%,#38a3f2 65% 80%,#e7f2ff 80%); }
.kit-preview--red { background: linear-gradient(105deg,#d51c38,#f4462f 60%,#ffcb36 61% 70%,#bc1530 71%); }
.kit-preview--gold { background: linear-gradient(105deg,#e3ad24,#ffdb53 58%,#162a58 59% 73%,#d09a17 74%); }
.store-balance {
  min-height: 58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  border:1px solid rgba(184,255,32,.22);
  border-radius:14px;
  background:rgba(184,255,32,.08);
}
.store-balance span { color:#9eb1cd; font-size:7px; font-weight:950; letter-spacing:.12em; }
.store-balance b { color:#fff; font-size:15px; }
.store-balance b i { color:#f6bf2d; font-style:normal; }
.store-balance b em { font-style:normal; }
.store-grid { display:grid; gap:8px; margin-top:9px; }
.store-grid article {
  min-height:78px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid rgba(142,176,239,.18);
  border-radius:15px;
  background:linear-gradient(130deg,rgba(12,34,72,.94),rgba(3,14,37,.92));
}
.store-grid article > div { min-width:0; display:flex; flex-direction:column; }
.store-grid article small { color:var(--lime); font-size:6px; font-weight:950; letter-spacing:.10em; }
.store-grid article b { margin-top:3px; font-size:10px; }
.store-grid article span { margin-top:3px; color:#8195b5; font-size:7px; }
.store-grid article button {
  min-width:100px;
  min-height:42px;
  padding:0 10px;
  border:1px solid rgba(184,255,32,.30);
  border-radius:11px;
  background:rgba(184,255,32,.10);
  color:var(--lime);
  font-size:7px;
  font-weight:950;
  cursor:pointer;
}
.store-grid article.is-owned button { background:linear-gradient(100deg,var(--lime),#efff35); color:#112006; }
.store-grid article.is-locked { opacity:.48; }
.boot-preview {
  width:48px;
  height:26px;
  display:block;
  border-radius:70% 16% 32% 24%;
  background:linear-gradient(145deg,#d7ff32,#647217);
  box-shadow:inset -7px -6px 9px rgba(0,0,0,.28),0 8px 14px rgba(0,0,0,.25);
  transform:rotate(-10deg);
}
.store-message { margin:10px 0 0 !important; color:#b7c7df !important; font-size:8px !important; }

@media (min-width: 900px) {
  #locker-panel.home-panel { width:min(600px,calc(100vw - 280px)); max-height:calc(100dvh - 118px); overflow:auto; scrollbar-width:thin; }
}

@media (min-width:1180px) and (min-height:650px) {
  .career-card.home-section { min-height:188px; }
  .career-card .career-map {
    grid-template-columns:1fr .48fr 1.15fr .48fr 1fr .48fr 1fr 1fr;
    gap:8px;
    padding:15px 4px 0;
  }
  .career-card .career-map::before {
    top:44px;
    right:4%;
    left:4%;
    height:10px;
    background:
      radial-gradient(circle at 14% 50%,#456faf 0 4px,transparent 5px),
      radial-gradient(circle at 42% 50%,#456faf 0 4px,transparent 5px),
      radial-gradient(circle at 70% 50%,#2b456f 0 4px,transparent 5px),
      repeating-linear-gradient(90deg,#284870 0 19px,transparent 19px 27px);
    transform:rotate(-1.2deg);
  }
  .career-card .career-map > li:nth-child(3),
  .career-card .career-map > li:nth-child(7) { transform:translateY(-9px); }
  .career-card .career-map > li:nth-child(5),
  .career-card .career-map > li:nth-child(8) { transform:translateY(7px); }
  .career-card li > i {
    position:absolute;
    margin-top:-13px;
    color:#91a8c7;
    font-size:12px;
    font-style:normal;
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.35));
  }
  .career-card li span em { display:block; margin-top:2px; color:#526b91; font-size:5px; font-style:normal; }
  .career-card li.current span em { color:var(--lime); }
  .career-card li.career-reward { gap:3px; transform:translateY(9px); }
  .career-card li.career-reward i {
    position:static;
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    margin:0;
    border:2px solid rgba(184,255,32,.38);
    border-radius:11px;
    background:linear-gradient(145deg,#4d35ff,#1f5cf2);
    font-size:14px;
    box-shadow:0 8px 18px rgba(0,0,0,.28);
  }
  .career-card li.career-reward span { font-size:5px; }
  .career-card li.career-reward.is-locked { opacity:.46; }
}

body[data-mode="match"] .match-hud {
  top:max(82px,calc(env(safe-area-inset-top) + 72px));
  grid-template-columns:1fr 105px 1fr 46px;
  overflow:visible;
}
#match-pause-button {
  width:40px;
  height:40px;
  justify-self:center;
  border:1px solid rgba(148,181,240,.24);
  border-radius:12px;
  background:rgba(5,18,45,.92);
  color:#dce9fb;
  font-size:14px;
  font-weight:950;
  cursor:pointer;
  pointer-events:auto;
}
.match-result-actions { width:100%; display:grid !important; grid-template-columns:1fr 1fr; gap:8px !important; }
.match-result-actions button { margin-top:18px !important; pointer-events:auto; touch-action:manipulation; }
#match-result-home { border:1px solid rgba(154,185,239,.25); background:rgba(10,27,60,.92); color:#dce9ff; }
.match-pause-menu { display:none; }
body[data-mode="match"] .match-pause-menu.is-visible {
  position:absolute;
  z-index:40;
  inset:50% auto auto 50%;
  width:min(390px,calc(100vw - 28px));
  display:grid;
  gap:9px;
  padding:24px;
  border:1px solid rgba(184,255,32,.36);
  border-radius:24px;
  background:radial-gradient(circle at 50% 0,rgba(87,54,255,.28),transparent 58%),rgba(2,12,34,.96);
  box-shadow:0 30px 90px rgba(0,0,0,.58);
  transform:translate(-50%,-50%);
  backdrop-filter:blur(22px);
  pointer-events:auto;
}
.match-pause-menu small { color:var(--lime); font-size:7px; font-weight:950; letter-spacing:.14em; text-align:center; }
.match-pause-menu h2 { margin:0 0 8px; color:#fff; font-size:42px; font-style:italic; text-align:center; }
.match-pause-menu button {
  min-height:48px;
  border:1px solid rgba(143,175,235,.22);
  border-radius:13px;
  background:rgba(10,28,62,.92);
  color:#e7f0ff;
  font-size:9px;
  font-weight:950;
  cursor:pointer;
}
.match-pause-menu button:first-of-type { border:0; background:linear-gradient(90deg,var(--lime),#efff2a); color:#102006; }

@media (max-width:760px) {
  .back-link { width:44px; min-width:44px; }
  .home-panel {
    max-height:calc(100dvh - max(158px,calc(env(safe-area-inset-top) + env(safe-area-inset-bottom) + 130px)));
    overflow:auto;
    overscroll-behavior:contain;
  }
  .home-panel > p { margin-bottom:10px; font-size:10px; }
  .profile-card { height:92px; grid-template-columns:70px 1fr; }
  .profile-number { width:62px; height:68px; font-size:29px; }
  .wardrobe-grid { grid-template-columns:1fr 1fr; }
  .store-grid article { grid-template-columns:46px minmax(0,1fr); }
  .store-grid article > button { grid-column:1 / 3; width:100%; }
  body[data-mode="match"] .match-hud {
    top:max(72px,calc(env(safe-area-inset-top) + 62px));
    width:calc(100vw - 16px);
    height:50px;
    grid-template-columns:1fr 76px 1fr 40px;
  }
  #match-pause-button { width:36px; height:36px; }
  body[data-mode="match"] .match-controls {
    padding-right:max(8px,env(safe-area-inset-right));
    padding-left:max(8px,env(safe-area-inset-left));
  }
  .match-joystick { width:94px; }
  .match-actions { width:178px; min-height:120px; }
  .match-actions button { width:56px; min-width:48px; min-height:48px; }
  .match-actions button.is-primary { width:70px; }
  .match-actions button.is-switch { width:48px; }
  body[data-mode="match"] .match-result.is-visible {
    width:calc(100vw - 24px);
    max-height:calc(100dvh - 110px);
    overflow:auto;
    padding:20px;
    pointer-events:auto;
  }
  .match-result h2 { font-size:42px; }
}

@media (max-width:430px) {
  .game-brand span { font-size:12px; }
  .wardrobe-grid { grid-template-columns:1fr; }
  .match-team span { display:none; }
  body[data-mode="match"] .match-hud { grid-template-columns:1fr 70px 1fr 38px; }
  .match-result-actions { grid-template-columns:1fr; }
  .match-result-actions button { margin-top:6px !important; }
}

@media (max-height:620px) and (orientation:landscape) {
  .topbar {
    top:max(4px,env(safe-area-inset-top));
    height:46px;
    padding:4px;
    border-radius:14px;
  }
  .profile-strip > span { height:36px; }
  body[data-mode="match"] .match-hud {
    top:max(54px,calc(env(safe-area-inset-top) + 50px));
    height:44px;
  }
  body[data-mode="match"] .match-controls { bottom:max(5px,env(safe-area-inset-bottom)); }
  .match-joystick { width:78px; }
  .match-joystick > span { display:none; }
  .match-actions { width:158px; min-height:94px; }
  .match-actions button { width:46px; min-width:44px; min-height:44px; }
  .match-actions button.is-primary { width:58px; }
  .match-actions button.is-switch { width:42px; }
  .match-actions button small { display:none; }
  body[data-mode="juggle"] .juggle-guide { max-width:430px; padding:7px 10px; }
  .juggle-meter { display:none; }
}

.main-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
.career-card.home-section[data-home-section="career"] {
  position:absolute;
  z-index:5;
  top:max(86px,calc(env(safe-area-inset-top) + 76px));
  right:10px;
  bottom:max(88px,calc(env(safe-area-inset-bottom) + 78px));
  left:10px;
  display:block;
  overflow:hidden;
  padding:20px;
  border:1px solid rgba(139,175,244,.24);
  border-radius:24px;
  background:
    radial-gradient(circle at 18% 18%,rgba(69,67,255,.24),transparent 28%),
    radial-gradient(circle at 82% 76%,rgba(184,255,32,.10),transparent 26%),
    linear-gradient(145deg,rgba(4,18,49,.95),rgba(3,12,32,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
}
.career-card > div small { color:var(--lime); font-size:8px; font-weight:950; letter-spacing:.14em; }
.career-card h3 { margin:5px 0 18px; color:#fff; font-size:22px; font-style:italic; }
.career-card .career-map {
  position:relative;
  width:max(760px,100%);
  min-height:210px;
  display:grid;
  grid-template-columns:1fr .5fr 1.2fr .5fr 1fr .5fr 1fr 1fr;
  align-items:center;
  gap:12px;
  margin:0;
  padding:30px 18px 22px;
  list-style:none;
}
.career-card .career-map::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  right:5%;
  left:5%;
  height:12px;
  border-radius:999px;
  background:repeating-linear-gradient(90deg,#294b78 0 22px,transparent 22px 31px);
  transform:translateY(-50%) rotate(-1.5deg);
}
.career-card .career-map > li {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:#7288aa;
}
.career-card .career-map > li:nth-child(3),
.career-card .career-map > li:nth-child(7) { transform:translateY(-28px); }
.career-card .career-map > li:nth-child(5),
.career-card .career-map > li:nth-child(8) { transform:translateY(24px); }
.career-card .career-map li > b {
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border:7px solid #1b395f;
  border-radius:50%;
  background:#07172f;
  color:#8da1c0;
  font-size:17px;
  font-style:italic;
  box-shadow:0 10px 22px rgba(0,0,0,.34);
}
.career-card .career-map li.done > b { border-color:#3265ff; background:#4e39ff; color:#fff; }
.career-card .career-map li.current > b {
  border-color:var(--lime);
  background:#5a35ff;
  color:#fff;
  box-shadow:0 0 0 8px rgba(184,255,32,.10),0 0 30px rgba(184,255,32,.28);
}
.career-card .career-map li > i {
  position:absolute;
  top:-17px;
  color:#9eb2cf;
  font-size:13px;
  font-style:normal;
}
.career-card .career-map li > span { font-size:7px; font-weight:950; text-align:center; letter-spacing:.05em; }
.career-card .career-map li > span em { display:block; margin-top:3px; color:#536d94; font-size:5px; font-style:normal; }
.career-card .career-map li.current > span,.career-card .career-map li.current > span em { color:var(--lime); }
.career-card .career-map li.career-reward { gap:4px; }
.career-card .career-map li.career-reward > i {
  position:static;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:2px solid rgba(184,255,32,.38);
  border-radius:13px;
  background:linear-gradient(145deg,#4d35ff,#1f5cf2);
  box-shadow:0 8px 18px rgba(0,0,0,.30);
}
.career-card .career-map li.career-reward.is-locked { opacity:.45; }

/* Полоса прогресса над картой: сколько пройдено и что дальше. */
.career-progress { margin:0 0 14px; }
.career-progress-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.career-progress-head span { color:#9db3d4; font-size:8px; font-weight:950; letter-spacing:.1em; }
.career-progress-head b { color:var(--lime); font-size:11px; font-style:italic; }
.career-progress-bar { position:relative; height:7px; margin:7px 0 6px; border-radius:999px; background:rgba(20,42,76,.9); overflow:hidden; }
.career-progress-bar i { position:absolute; inset:0 auto 0 0; display:block; border-radius:999px; background:linear-gradient(90deg,#4e39ff,var(--lime)); box-shadow:0 0 14px rgba(184,255,32,.35); }
.career-progress-note { color:#63799d; font-size:7px; font-weight:800; letter-spacing:.04em; }

/* Телефон: карта была шириной 760 пикселей и просто обрезалась краем экрана —
   видно было четыре узла из восьми, а сверху и снизу зияла пустота.
   На узком экране она разворачивается в вертикальную ленту с прокруткой. */
@media (max-width:899px) {
  .career-card.home-section[data-home-section="career"] {
    overflow-y:auto;
    padding:18px 16px max(20px,env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .career-card.home-section[data-home-section="career"]::-webkit-scrollbar { display:none; }
  .career-card h3 { margin:4px 0 12px; font-size:19px; }

  .career-card .career-map {
    width:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:0;
    padding:4px 0 8px;
  }
  /* Дорога — вертикальный пунктир слева, вдоль всех узлов. */
  .career-card .career-map::before {
    top:12px;
    right:auto;
    bottom:12px;
    left:33px;
    width:4px;
    height:auto;
    background:repeating-linear-gradient(180deg,#294b78 0 11px,transparent 11px 20px);
    transform:none;
  }
  .career-card .career-map > li {
    flex-direction:row;
    align-items:center;
    gap:14px;
    padding:9px 0;
    transform:none !important;
  }
  .career-card .career-map li > b {
    flex:0 0 auto;
    width:68px;
    height:68px;
    border-width:5px;
    font-size:18px;
  }
  /* Значок этапа переезжает в угол круга — получается иконка, а не подпись сверху. */
  .career-card .career-map li > i {
    position:absolute;
    top:auto;
    bottom:8px;
    left:48px;
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border:2px solid #0a1a34;
    border-radius:50%;
    background:#16305a;
    color:#cfe0f7;
    font-size:12px;
  }
  .career-card .career-map li.done > i { background:#3265ff; color:#fff; }
  .career-card .career-map li.current > i { background:var(--lime); color:#0a1a34; }
  .career-card .career-map li > span {
    flex:1 1 auto;
    font-size:11px;
    text-align:left;
    letter-spacing:.03em;
    line-height:1.25;
  }
  .career-card .career-map li > span em { margin-top:3px; font-size:8px; }

  /* Награды — компактная плашка на всю ширину между этапами. */
  .career-card .career-map li.career-reward {
    flex-direction:row;
    gap:12px;
    margin:2px 0 2px 10px;
    padding:9px 12px;
    border:1px dashed rgba(184,255,32,.30);
    border-radius:14px;
    background:rgba(78,57,255,.12);
  }
  .career-card .career-map li.career-reward > i {
    position:static;
    width:38px;
    height:38px;
    border-radius:12px;
    font-size:17px;
  }
  .career-card .career-map li.career-reward > span { font-size:10px; }
  .career-card .career-map li.career-reward.is-locked { border-style:solid; border-color:rgba(139,175,244,.16); background:rgba(11,26,52,.5); }
}

@media (min-width:900px) {
  .career-card.home-section[data-home-section="career"] {
    top:94px;
    right:28px;
    bottom:28px;
    left:28px;
    display:grid;
    align-content:center;
    padding:32px;
  }
  .career-card .career-map { min-height:320px; }
  .career-card h3 { font-size:30px; }
}
@media (max-width:760px) {
  .career-card.home-section[data-home-section="career"] { overflow-x:auto; overflow-y:hidden; }
  .career-card .career-map { min-height:calc(100% - 44px); }
  .career-card h3 { margin-bottom:4px; font-size:18px; }
}

/* Release 68 equipment collection */
.coin-medallion,
.profile-strip .coins .coin-medallion,
.store-balance .coin-medallion {
  position:relative;
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-grid;
  border:1px solid #ffe67a;
  border-radius:50%;
  background:
    radial-gradient(circle at 36% 28%,#fffbd2 0 5%,transparent 6%),
    radial-gradient(circle at 50% 50%,#ffd94e 0 30%,#e9a40e 31% 57%,#8d4a00 58% 69%,#ffc82f 70% 100%);
  box-shadow:inset 0 0 0 2px rgba(255,250,160,.38),inset 0 -4px 7px rgba(105,46,0,.34),0 0 13px rgba(255,190,24,.38);
  color:transparent;
}
.coin-medallion::before {
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(108,57,0,.72);
  clip-path:polygon(50% 0,98% 35%,80% 96%,20% 96%,2% 35%);
  transform:rotate(18deg);
}
.coin-medallion::after {
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:#945500;
  box-shadow:0 -5px 0 -3px #945500,4px 3px 0 -3px #945500,-4px 3px 0 -3px #945500;
}
.gear-heading {
  margin:15px 0 7px;
  color:#b9ff28;
  font-size:8px;
  font-weight:950;
  letter-spacing:.18em;
}
.wardrobe-grid--gear { grid-template-columns:repeat(3,minmax(0,1fr)); }
.wardrobe-grid--gear > button {
  grid-template-columns:44px minmax(0,1fr);
  padding:8px;
}
.ball-preview {
  width:42px;
  height:42px;
  display:block;
  border:1px solid rgba(255,255,255,.56);
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 28%,rgba(255,255,255,.95) 0 5%,transparent 6%),
    radial-gradient(circle at 50% 50%,#0a311f 0 17%,transparent 18%),
    conic-gradient(from 15deg,#f3eedc 0 12%,#143825 13% 22%,#f3eedc 23% 38%,#143825 39% 48%,#f3eedc 49% 68%,#143825 69% 78%,#f3eedc 79% 100%);
  box-shadow:inset -7px -9px 12px rgba(0,0,0,.32),0 8px 15px rgba(0,0,0,.34);
}
.ball-preview--sky {
  background:
    radial-gradient(circle at 34% 28%,rgba(255,255,255,.95) 0 5%,transparent 6%),
    radial-gradient(circle at 50% 50%,#245fff 0 17%,transparent 18%),
    conic-gradient(from 15deg,#e8f6ff 0 12%,#1e4fe0 13% 22%,#e8f6ff 23% 38%,#12266b 39% 48%,#e8f6ff 49% 68%,#245fff 69% 78%,#e8f6ff 79% 100%);
}
.ball-preview--neon {
  border-color:#b8ff24;
  background:
    radial-gradient(circle at 34% 28%,rgba(255,255,255,.84) 0 4%,transparent 5%),
    radial-gradient(circle at 50% 50%,#b8ff20 0 17%,transparent 18%),
    conic-gradient(from 15deg,#0b1022 0 12%,#b8ff20 13% 22%,#151b3e 23% 38%,#703cff 39% 48%,#080c18 49% 68%,#b8ff20 69% 78%,#17104a 79% 100%);
  box-shadow:inset -7px -9px 12px rgba(0,0,0,.45),0 0 16px rgba(184,255,32,.30);
}
.boots-preview {
  position:relative;
  width:48px;
  height:42px;
  display:block;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(50,70,118,.32),rgba(4,13,35,.62));
}
.boots-preview::before,
.boots-preview::after {
  content:"";
  position:absolute;
  left:6px;
  width:36px;
  height:13px;
  border-radius:10px 16px 5px 8px;
  background:linear-gradient(155deg,#222b43 0 42%,#070b15 43% 100%);
  clip-path:polygon(0 13%,58% 0,74% 28%,100% 48%,96% 86%,15% 100%,0 68%);
  box-shadow:inset 0 -3px 0 rgba(255,255,255,.12),0 5px 8px rgba(0,0,0,.34);
}
.boots-preview::before { top:7px; transform:rotate(-7deg); }
.boots-preview::after { bottom:6px; transform:scaleX(-1) rotate(-7deg); }
.boots-preview--spark::before,
.boots-preview--spark::after { background:linear-gradient(155deg,#dfff30 0 45%,#546c09 46% 100%); }
.boots-preview--aurora::before,
.boots-preview--aurora::after { background:linear-gradient(155deg,#506dff 0 32%,#823cff 33% 60%,#101a51 61% 100%); }

@media (max-width:700px) {
  .wardrobe-grid--gear { grid-template-columns:1fr; }
}

/* Release 70 — stable child model, touch-assisted juggling and full goalkeeper dives. */
body[data-home-section="locker"] .menu-keyart {
  opacity:0;
  transition:opacity .22s ease;
}
body[data-home-section="locker"] #home-screen::after {
  background:
    radial-gradient(circle at 50% 34%,rgba(42,92,255,.08),transparent 36%),
    linear-gradient(180deg,rgba(2,8,23,.16),rgba(2,8,23,.05) 48%,rgba(2,8,23,.90) 78%);
}
body[data-mode="menu"] #home-screen {
  overflow:clip;
  overscroll-behavior:none;
}
#locker-panel.home-panel {
  top:max(86px,calc(env(safe-area-inset-top) + 76px));
  right:clamp(18px,5vw,80px);
  bottom:max(90px,calc(env(safe-area-inset-bottom) + 80px));
  left:clamp(18px,5vw,80px);
  width:auto;
  max-height:none;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.locker-heading {
  position:absolute;
  z-index:3;
  top:15px;
  left:18px;
  padding:10px 13px;
  border:1px solid rgba(150,184,244,.20);
  border-radius:15px;
  background:rgba(2,11,31,.72);
  box-shadow:0 10px 30px rgba(0,0,0,.26);
  backdrop-filter:blur(14px);
}
.locker-heading h2 { margin:5px 0 0; font-size:clamp(24px,5vw,38px); }
.locker-avatar-stage {
  position:relative;
  flex:0 0 min(43dvh,390px);
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  padding:0 14px 14px;
  color:#eaf4ff;
  pointer-events:none;
}
.locker-avatar-stage::after {
  content:"";
  position:absolute;
  right:12%;
  bottom:8px;
  left:12%;
  height:28px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.42),transparent 70%);
  filter:blur(4px);
}
.locker-avatar-stage span,
.locker-avatar-stage small { position:relative; z-index:1; }
.locker-avatar-stage span { color:var(--lime); font-size:8px; font-weight:950; letter-spacing:.15em; }
.locker-avatar-stage small { margin-top:3px; color:#91a8c8; font-size:7px; font-weight:800; }
.character-picker {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:8px 0 12px;
}
.character-picker button {
  display:flex;
  min-width:0;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 6px;
  border:1px solid rgba(111,151,207,.30);
  border-radius:13px;
  background:rgba(3,18,46,.76);
  color:#91a8c8;
  font:900 8px/1 system-ui,sans-serif;
  letter-spacing:.08em;
}
.character-picker button i {
  display:grid;
  width:25px;
  height:25px;
  place-items:center;
  border-radius:9px;
  background:linear-gradient(145deg,#223d74,#101d3e);
  color:#fff;
  font-style:normal;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.character-picker button.is-active {
  border-color:var(--lime);
  color:#fff;
  box-shadow:0 0 0 1px rgba(183,255,20,.18),0 0 24px rgba(183,255,20,.12);
}
.character-picker button.is-active i {
  background:linear-gradient(145deg,var(--lime),#5fda19);
  color:#07152b;
}
.locker-sheet {
  position:relative;
  z-index:4;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:13px;
  border:1px solid rgba(139,175,244,.24);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(4,17,48,.97),rgba(3,11,31,.96));
  box-shadow:0 -15px 55px rgba(0,0,0,.38);
  scrollbar-width:thin;
}
.locker-sheet .locker-tabs {
  position:sticky;
  z-index:6;
  top:0;
  margin:-2px 0 12px;
  background:rgba(1,9,27,.94);
  backdrop-filter:blur(14px);
}

@media (min-width:900px) {
  #locker-panel.home-panel {
    top:94px;
    right:28px;
    bottom:28px;
    left:238px;
    width:auto;
    max-height:none;
    display:grid;
    grid-template-columns:minmax(360px,1fr) minmax(470px,620px);
    grid-template-rows:1fr;
    gap:18px;
    overflow:hidden;
  }
  .locker-avatar-stage { grid-column:1; grid-row:1; min-height:0; align-self:stretch; }
  .locker-sheet { grid-column:2; grid-row:1; }
  .locker-heading { left:18px; }
}

@media (max-width:760px) {
  #locker-panel.home-panel {
    top:max(76px,calc(env(safe-area-inset-top) + 66px));
    right:max(8px,env(safe-area-inset-right));
    bottom:max(78px,calc(env(safe-area-inset-bottom) + 70px));
    left:max(8px,env(safe-area-inset-left));
    width:auto;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
  }
  #locker-panel.home-panel::-webkit-scrollbar { display:none; }
  .locker-heading { top:8px; left:8px; padding:8px 11px; }
  .locker-heading h2 { font-size:24px; }
  .locker-avatar-stage {
    flex:0 0 min(62dvh,580px);
    min-height:470px;
    padding:0 8px 8px;
  }
  .locker-sheet {
    flex:0 0 auto;
    min-height:420px;
    overflow:visible;
    padding:10px 10px max(22px,env(safe-area-inset-bottom));
    border-radius:19px;
  }
  .locker-sheet .profile-card { height:82px; }
  .locker-sheet .wardrobe-grid { grid-template-columns:1fr; }
  .locker-sheet .wardrobe-grid--gear { grid-template-columns:1fr; }
  .mode-panel.home-section[data-home-section="training"] {
    top:max(82px,calc(env(safe-area-inset-top) + 72px));
    bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px));
    width:calc(100vw - max(18px,env(safe-area-inset-left) + env(safe-area-inset-right)));
    overflow:auto;
    overscroll-behavior:contain;
  }
  .mode-panel.home-section[data-home-section="training"] .mode-grid {
    grid-template-columns:1fr;
    padding-bottom:4px;
  }
  .mode-panel.home-section[data-home-section="training"] .mode-card {
    width:100%;
    min-height:82px;
  }
}

@media (max-width:390px), (max-height:690px) and (orientation:portrait) {
  .locker-avatar-stage { flex-basis:58dvh; min-height:370px; }
  .locker-heading h2 { font-size:20px; }
  .locker-heading .panel-kicker { font-size:7px; }
  .locker-sheet { padding:8px; }
}

/* ---------------------------------------------------------------
   Центрирование панелей вкладок.

   Панель режимов центрируется через left:50% + translateX(-50%),
   а вкладки анимируются тоже через transform. Правило
   .home-section.is-active { transform: translateY(0) scale(1) }
   затирало сдвиг на половину ширины — панель прибивалась левым краем
   к середине экрана и правая половина карточек уходила за край.
   Именно поэтому на телефоне у «ПОЛНЫЙ МАТЧ» и «ЧЕКАНКА» обрезался текст.
   Ниже сдвиг возвращён внутрь обоих состояний анимации.
   --------------------------------------------------------------- */
.mode-panel.home-section {
  transform: translateX(-50%) translateY(14px) scale(.985);
}
.mode-panel.home-section.is-active {
  transform: translateX(-50%) translateY(0) scale(1);
}

@media (max-width:899px) {
  /* Описание режима больше не режется многоточием в одну строку:
     на телефоне есть место на две, и понятно, чем режимы отличаются. */
  .mode-panel.home-section[data-home-section="training"] .mode-card em {
    overflow: visible;
    font-size: 9px;
    line-height: 1.35;
    text-overflow: clip;
    white-space: normal;
  }
  .mode-panel.home-section[data-home-section="training"] .mode-card {
    grid-template-columns: 52px 1fr;
    align-items: start;
    gap: 12px;
    padding: 13px;
  }
  .mode-panel.home-section[data-home-section="training"] .mode-card b {
    margin: 3px 0 4px;
    font-size: 19px;
  }
  .mode-panel.home-section[data-home-section="training"] > p {
    justify-content: flex-start;
    padding: 0 4px;
  }
}
